diff --git a/.venv/lib/python3.11/site-packages/googleapiclient/discovery_cache/documents/adexchangebuyer2.v2beta1.json b/.venv/lib/python3.11/site-packages/googleapiclient/discovery_cache/documents/adexchangebuyer2.v2beta1.json new file mode 100644 index 0000000000000000000000000000000000000000..4ac7434d43fd4b856759f2169dbe3729f4782ea3 --- /dev/null +++ b/.venv/lib/python3.11/site-packages/googleapiclient/discovery_cache/documents/adexchangebuyer2.v2beta1.json @@ -0,0 +1,6692 @@ +{ +"auth": { +"oauth2": { +"scopes": { +"https://www.googleapis.com/auth/adexchange.buyer": { +"description": "Manage your Ad Exchange buyer account configuration" +} +} +} +}, +"basePath": "", +"baseUrl": "https://adexchangebuyer.googleapis.com/", +"batchPath": "batch", +"canonicalName": "AdExchangeBuyerII", +"description": "Accesses the latest features for managing Authorized Buyers accounts, Real-Time Bidding configurations and auction metrics, and Marketplace programmatic deals.", +"discoveryVersion": "v1", +"documentationLink": "https://developers.google.com/authorized-buyers/apis/reference/rest/", +"icons": { +"x16": "http://www.google.com/images/icons/product/search-16.gif", +"x32": "http://www.google.com/images/icons/product/search-32.gif" +}, +"id": "adexchangebuyer2:v2beta1", +"kind": "discovery#restDescription", +"mtlsRootUrl": "https://adexchangebuyer.mtls.googleapis.com/", +"name": "adexchangebuyer2", +"ownerDomain": "google.com", +"ownerName": "Google", +"parameters": { +"$.xgafv": { +"description": "V1 error format.", +"enum": [ +"1", +"2" +], +"enumDescriptions": [ +"v1 error format", +"v2 error format" +], +"location": "query", +"type": "string" +}, +"access_token": { +"description": "OAuth access token.", +"location": "query", +"type": "string" +}, +"alt": { +"default": "json", +"description": "Data format for response.", +"enum": [ +"json", +"media", +"proto" +], +"enumDescriptions": [ +"Responses with Content-Type of application/json", +"Media download with context-dependent Content-Type", +"Responses with Content-Type of application/x-protobuf" +], +"location": "query", +"type": "string" +}, +"callback": { +"description": "JSONP", +"location": "query", +"type": "string" +}, +"fields": { +"description": "Selector specifying which fields to include in a partial response.", +"location": "query", +"type": "string" +}, +"key": { +"description": "API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token.", +"location": "query", +"type": "string" +}, +"oauth_token": { +"description": "OAuth 2.0 token for the current user.", +"location": "query", +"type": "string" +}, +"prettyPrint": { +"default": "true", +"description": "Returns response with indentations and line breaks.", +"location": "query", +"type": "boolean" +}, +"quotaUser": { +"description": "Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters.", +"location": "query", +"type": "string" +}, +"uploadType": { +"description": "Legacy upload protocol for media (e.g. \"media\", \"multipart\").", +"location": "query", +"type": "string" +}, +"upload_protocol": { +"description": "Upload protocol for media (e.g. \"raw\", \"multipart\").", +"location": "query", +"type": "string" +} +}, +"protocol": "rest", +"resources": { +"accounts": { +"resources": { +"clients": { +"methods": { +"create": { +"description": "Creates a new client buyer.", +"flatPath": "v2beta1/accounts/{accountId}/clients", +"httpMethod": "POST", +"id": "adexchangebuyer2.accounts.clients.create", +"parameterOrder": [ +"accountId" +], +"parameters": { +"accountId": { +"description": "Unique numerical account ID for the buyer of which the client buyer is a customer; the sponsor buyer to create a client for. (required)", +"format": "int64", +"location": "path", +"required": true, +"type": "string" +} +}, +"path": "v2beta1/accounts/{accountId}/clients", +"request": { +"$ref": "Client" +}, +"response": { +"$ref": "Client" +}, +"scopes": [ +"https://www.googleapis.com/auth/adexchange.buyer" +] +}, +"get": { +"description": "Gets a client buyer with a given client account ID.", +"flatPath": "v2beta1/accounts/{accountId}/clients/{clientAccountId}", +"httpMethod": "GET", +"id": "adexchangebuyer2.accounts.clients.get", +"parameterOrder": [ +"accountId", +"clientAccountId" +], +"parameters": { +"accountId": { +"description": "Numerical account ID of the client's sponsor buyer. (required)", +"format": "int64", +"location": "path", +"required": true, +"type": "string" +}, +"clientAccountId": { +"description": "Numerical account ID of the client buyer to retrieve. (required)", +"format": "int64", +"location": "path", +"required": true, +"type": "string" +} +}, +"path": "v2beta1/accounts/{accountId}/clients/{clientAccountId}", +"response": { +"$ref": "Client" +}, +"scopes": [ +"https://www.googleapis.com/auth/adexchange.buyer" +] +}, +"list": { +"description": "Lists all the clients for the current sponsor buyer.", +"flatPath": "v2beta1/accounts/{accountId}/clients", +"httpMethod": "GET", +"id": "adexchangebuyer2.accounts.clients.list", +"parameterOrder": [ +"accountId" +], +"parameters": { +"accountId": { +"description": "Unique numerical account ID of the sponsor buyer to list the clients for.", +"format": "int64", +"location": "path", +"required": true, +"type": "string" +}, +"pageSize": { +"description": "Requested page size. The server may return fewer clients than requested. If unspecified, the server will pick an appropriate default.", +"format": "int32", +"location": "query", +"type": "integer" +}, +"pageToken": { +"description": "A token identifying a page of results the server should return. Typically, this is the value of ListClientsResponse.nextPageToken returned from the previous call to the accounts.clients.list method.", +"location": "query", +"type": "string" +}, +"partnerClientId": { +"description": "Optional unique identifier (from the standpoint of an Ad Exchange sponsor buyer partner) of the client to return. If specified, at most one client will be returned in the response.", +"location": "query", +"type": "string" +} +}, +"path": "v2beta1/accounts/{accountId}/clients", +"response": { +"$ref": "ListClientsResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/adexchange.buyer" +] +}, +"update": { +"description": "Updates an existing client buyer.", +"flatPath": "v2beta1/accounts/{accountId}/clients/{clientAccountId}", +"httpMethod": "PUT", +"id": "adexchangebuyer2.accounts.clients.update", +"parameterOrder": [ +"accountId", +"clientAccountId" +], +"parameters": { +"accountId": { +"description": "Unique numerical account ID for the buyer of which the client buyer is a customer; the sponsor buyer to update a client for. (required)", +"format": "int64", +"location": "path", +"required": true, +"type": "string" +}, +"clientAccountId": { +"description": "Unique numerical account ID of the client to update. (required)", +"format": "int64", +"location": "path", +"required": true, +"type": "string" +} +}, +"path": "v2beta1/accounts/{accountId}/clients/{clientAccountId}", +"request": { +"$ref": "Client" +}, +"response": { +"$ref": "Client" +}, +"scopes": [ +"https://www.googleapis.com/auth/adexchange.buyer" +] +} +}, +"resources": { +"invitations": { +"methods": { +"create": { +"description": "Creates and sends out an email invitation to access an Ad Exchange client buyer account.", +"flatPath": "v2beta1/accounts/{accountId}/clients/{clientAccountId}/invitations", +"httpMethod": "POST", +"id": "adexchangebuyer2.accounts.clients.invitations.create", +"parameterOrder": [ +"accountId", +"clientAccountId" +], +"parameters": { +"accountId": { +"description": "Numerical account ID of the client's sponsor buyer. (required)", +"format": "int64", +"location": "path", +"required": true, +"type": "string" +}, +"clientAccountId": { +"description": "Numerical account ID of the client buyer that the user should be associated with. (required)", +"format": "int64", +"location": "path", +"required": true, +"type": "string" +} +}, +"path": "v2beta1/accounts/{accountId}/clients/{clientAccountId}/invitations", +"request": { +"$ref": "ClientUserInvitation" +}, +"response": { +"$ref": "ClientUserInvitation" +}, +"scopes": [ +"https://www.googleapis.com/auth/adexchange.buyer" +] +}, +"get": { +"description": "Retrieves an existing client user invitation.", +"flatPath": "v2beta1/accounts/{accountId}/clients/{clientAccountId}/invitations/{invitationId}", +"httpMethod": "GET", +"id": "adexchangebuyer2.accounts.clients.invitations.get", +"parameterOrder": [ +"accountId", +"clientAccountId", +"invitationId" +], +"parameters": { +"accountId": { +"description": "Numerical account ID of the client's sponsor buyer. (required)", +"format": "int64", +"location": "path", +"required": true, +"type": "string" +}, +"clientAccountId": { +"description": "Numerical account ID of the client buyer that the user invitation to be retrieved is associated with. (required)", +"format": "int64", +"location": "path", +"required": true, +"type": "string" +}, +"invitationId": { +"description": "Numerical identifier of the user invitation to retrieve. (required)", +"format": "int64", +"location": "path", +"required": true, +"type": "string" +} +}, +"path": "v2beta1/accounts/{accountId}/clients/{clientAccountId}/invitations/{invitationId}", +"response": { +"$ref": "ClientUserInvitation" +}, +"scopes": [ +"https://www.googleapis.com/auth/adexchange.buyer" +] +}, +"list": { +"description": "Lists all the client users invitations for a client with a given account ID.", +"flatPath": "v2beta1/accounts/{accountId}/clients/{clientAccountId}/invitations", +"httpMethod": "GET", +"id": "adexchangebuyer2.accounts.clients.invitations.list", +"parameterOrder": [ +"accountId", +"clientAccountId" +], +"parameters": { +"accountId": { +"description": "Numerical account ID of the client's sponsor buyer. (required)", +"format": "int64", +"location": "path", +"required": true, +"type": "string" +}, +"clientAccountId": { +"description": "Numerical account ID of the client buyer to list invitations for. (required) You must either specify a string representation of a numerical account identifier or the `-` character to list all the invitations for all the clients of a given sponsor buyer.", +"location": "path", +"required": true, +"type": "string" +}, +"pageSize": { +"description": "Requested page size. Server may return fewer clients than requested. If unspecified, server will pick an appropriate default.", +"format": "int32", +"location": "query", +"type": "integer" +}, +"pageToken": { +"description": "A token identifying a page of results the server should return. Typically, this is the value of ListClientUserInvitationsResponse.nextPageToken returned from the previous call to the clients.invitations.list method.", +"location": "query", +"type": "string" +} +}, +"path": "v2beta1/accounts/{accountId}/clients/{clientAccountId}/invitations", +"response": { +"$ref": "ListClientUserInvitationsResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/adexchange.buyer" +] +} +} +}, +"users": { +"methods": { +"get": { +"description": "Retrieves an existing client user.", +"flatPath": "v2beta1/accounts/{accountId}/clients/{clientAccountId}/users/{userId}", +"httpMethod": "GET", +"id": "adexchangebuyer2.accounts.clients.users.get", +"parameterOrder": [ +"accountId", +"clientAccountId", +"userId" +], +"parameters": { +"accountId": { +"description": "Numerical account ID of the client's sponsor buyer. (required)", +"format": "int64", +"location": "path", +"required": true, +"type": "string" +}, +"clientAccountId": { +"description": "Numerical account ID of the client buyer that the user to be retrieved is associated with. (required)", +"format": "int64", +"location": "path", +"required": true, +"type": "string" +}, +"userId": { +"description": "Numerical identifier of the user to retrieve. (required)", +"format": "int64", +"location": "path", +"required": true, +"type": "string" +} +}, +"path": "v2beta1/accounts/{accountId}/clients/{clientAccountId}/users/{userId}", +"response": { +"$ref": "ClientUser" +}, +"scopes": [ +"https://www.googleapis.com/auth/adexchange.buyer" +] +}, +"list": { +"description": "Lists all the known client users for a specified sponsor buyer account ID.", +"flatPath": "v2beta1/accounts/{accountId}/clients/{clientAccountId}/users", +"httpMethod": "GET", +"id": "adexchangebuyer2.accounts.clients.users.list", +"parameterOrder": [ +"accountId", +"clientAccountId" +], +"parameters": { +"accountId": { +"description": "Numerical account ID of the sponsor buyer of the client to list users for. (required)", +"format": "int64", +"location": "path", +"required": true, +"type": "string" +}, +"clientAccountId": { +"description": "The account ID of the client buyer to list users for. (required) You must specify either a string representation of a numerical account identifier or the `-` character to list all the client users for all the clients of a given sponsor buyer.", +"location": "path", +"required": true, +"type": "string" +}, +"pageSize": { +"description": "Requested page size. The server may return fewer clients than requested. If unspecified, the server will pick an appropriate default.", +"format": "int32", +"location": "query", +"type": "integer" +}, +"pageToken": { +"description": "A token identifying a page of results the server should return. Typically, this is the value of ListClientUsersResponse.nextPageToken returned from the previous call to the accounts.clients.users.list method.", +"location": "query", +"type": "string" +} +}, +"path": "v2beta1/accounts/{accountId}/clients/{clientAccountId}/users", +"response": { +"$ref": "ListClientUsersResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/adexchange.buyer" +] +}, +"update": { +"description": "Updates an existing client user. Only the user status can be changed on update.", +"flatPath": "v2beta1/accounts/{accountId}/clients/{clientAccountId}/users/{userId}", +"httpMethod": "PUT", +"id": "adexchangebuyer2.accounts.clients.users.update", +"parameterOrder": [ +"accountId", +"clientAccountId", +"userId" +], +"parameters": { +"accountId": { +"description": "Numerical account ID of the client's sponsor buyer. (required)", +"format": "int64", +"location": "path", +"required": true, +"type": "string" +}, +"clientAccountId": { +"description": "Numerical account ID of the client buyer that the user to be retrieved is associated with. (required)", +"format": "int64", +"location": "path", +"required": true, +"type": "string" +}, +"userId": { +"description": "Numerical identifier of the user to retrieve. (required)", +"format": "int64", +"location": "path", +"required": true, +"type": "string" +} +}, +"path": "v2beta1/accounts/{accountId}/clients/{clientAccountId}/users/{userId}", +"request": { +"$ref": "ClientUser" +}, +"response": { +"$ref": "ClientUser" +}, +"scopes": [ +"https://www.googleapis.com/auth/adexchange.buyer" +] +} +} +} +} +}, +"creatives": { +"methods": { +"create": { +"description": "Creates a creative.", +"flatPath": "v2beta1/accounts/{accountId}/creatives", +"httpMethod": "POST", +"id": "adexchangebuyer2.accounts.creatives.create", +"parameterOrder": [ +"accountId" +], +"parameters": { +"accountId": { +"description": "The account that this creative belongs to. Can be used to filter the response of the creatives.list method.", +"location": "path", +"required": true, +"type": "string" +}, +"duplicateIdMode": { +"description": "Indicates if multiple creatives can share an ID or not. Default is NO_DUPLICATES (one ID per creative).", +"enum": [ +"NO_DUPLICATES", +"FORCE_ENABLE_DUPLICATE_IDS" +], +"enumDescriptions": [ +"Recommended. This means that an ID will be unique to a single creative. Multiple creatives will not share an ID.", +"Not recommended. Using this option will allow multiple creatives to share the same ID. Get and Update requests will not be possible for any ID that has more than one creative associated. (List will still function.) This is only intended for backwards compatibility in cases where a single ID is already shared by multiple creatives from previous APIs." +], +"location": "query", +"type": "string" +} +}, +"path": "v2beta1/accounts/{accountId}/creatives", +"request": { +"$ref": "Creative" +}, +"response": { +"$ref": "Creative" +}, +"scopes": [ +"https://www.googleapis.com/auth/adexchange.buyer" +] +}, +"get": { +"description": "Gets a creative.", +"flatPath": "v2beta1/accounts/{accountId}/creatives/{creativeId}", +"httpMethod": "GET", +"id": "adexchangebuyer2.accounts.creatives.get", +"parameterOrder": [ +"accountId", +"creativeId" +], +"parameters": { +"accountId": { +"description": "The account the creative belongs to.", +"location": "path", +"required": true, +"type": "string" +}, +"creativeId": { +"description": "The ID of the creative to retrieve.", +"location": "path", +"required": true, +"type": "string" +} +}, +"path": "v2beta1/accounts/{accountId}/creatives/{creativeId}", +"response": { +"$ref": "Creative" +}, +"scopes": [ +"https://www.googleapis.com/auth/adexchange.buyer" +] +}, +"list": { +"description": "Lists creatives.", +"flatPath": "v2beta1/accounts/{accountId}/creatives", +"httpMethod": "GET", +"id": "adexchangebuyer2.accounts.creatives.list", +"parameterOrder": [ +"accountId" +], +"parameters": { +"accountId": { +"description": "The account to list the creatives from. Specify \"-\" to list all creatives the current user has access to.", +"location": "path", +"required": true, +"type": "string" +}, +"pageSize": { +"description": "Requested page size. The server may return fewer creatives than requested (due to timeout constraint) even if more are available through another call. If unspecified, server will pick an appropriate default. Acceptable values are 1 to 1000, inclusive.", +"format": "int32", +"location": "query", +"type": "integer" +}, +"pageToken": { +"description": "A token identifying a page of results the server should return. Typically, this is the value of ListCreativesResponse.next_page_token returned from the previous call to 'ListCreatives' method.", +"location": "query", +"type": "string" +}, +"query": { +"description": "An optional query string to filter creatives. If no filter is specified, all active creatives will be returned. Supported queries are: - accountId=*account_id_string* - creativeId=*creative_id_string* - dealsStatus: {approved, conditionally_approved, disapproved, not_checked} - openAuctionStatus: {approved, conditionally_approved, disapproved, not_checked} - attribute: {a numeric attribute from the list of attributes} - disapprovalReason: {a reason from DisapprovalReason} Example: 'accountId=12345 AND (dealsStatus:disapproved AND disapprovalReason:unacceptable_content) OR attribute:47'", +"location": "query", +"type": "string" +} +}, +"path": "v2beta1/accounts/{accountId}/creatives", +"response": { +"$ref": "ListCreativesResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/adexchange.buyer" +] +}, +"stopWatching": { +"description": "Stops watching a creative. Will stop push notifications being sent to the topics when the creative changes status.", +"flatPath": "v2beta1/accounts/{accountId}/creatives/{creativeId}:stopWatching", +"httpMethod": "POST", +"id": "adexchangebuyer2.accounts.creatives.stopWatching", +"parameterOrder": [ +"accountId", +"creativeId" +], +"parameters": { +"accountId": { +"description": "The account of the creative to stop notifications for.", +"location": "path", +"required": true, +"type": "string" +}, +"creativeId": { +"description": "The creative ID of the creative to stop notifications for. Specify \"-\" to specify stopping account level notifications.", +"location": "path", +"required": true, +"type": "string" +} +}, +"path": "v2beta1/accounts/{accountId}/creatives/{creativeId}:stopWatching", +"request": { +"$ref": "StopWatchingCreativeRequest" +}, +"response": { +"$ref": "Empty" +}, +"scopes": [ +"https://www.googleapis.com/auth/adexchange.buyer" +] +}, +"update": { +"description": "Updates a creative.", +"flatPath": "v2beta1/accounts/{accountId}/creatives/{creativeId}", +"httpMethod": "PUT", +"id": "adexchangebuyer2.accounts.creatives.update", +"parameterOrder": [ +"accountId", +"creativeId" +], +"parameters": { +"accountId": { +"description": "The account that this creative belongs to. Can be used to filter the response of the creatives.list method.", +"location": "path", +"required": true, +"type": "string" +}, +"creativeId": { +"description": "The buyer-defined creative ID of this creative. Can be used to filter the response of the creatives.list method.", +"location": "path", +"required": true, +"type": "string" +} +}, +"path": "v2beta1/accounts/{accountId}/creatives/{creativeId}", +"request": { +"$ref": "Creative" +}, +"response": { +"$ref": "Creative" +}, +"scopes": [ +"https://www.googleapis.com/auth/adexchange.buyer" +] +}, +"watch": { +"description": "Watches a creative. Will result in push notifications being sent to the topic when the creative changes status.", +"flatPath": "v2beta1/accounts/{accountId}/creatives/{creativeId}:watch", +"httpMethod": "POST", +"id": "adexchangebuyer2.accounts.creatives.watch", +"parameterOrder": [ +"accountId", +"creativeId" +], +"parameters": { +"accountId": { +"description": "The account of the creative to watch.", +"location": "path", +"required": true, +"type": "string" +}, +"creativeId": { +"description": "The creative ID to watch for status changes. Specify \"-\" to watch all creatives under the above account. If both creative-level and account-level notifications are sent, only a single notification will be sent to the creative-level notification topic.", +"location": "path", +"required": true, +"type": "string" +} +}, +"path": "v2beta1/accounts/{accountId}/creatives/{creativeId}:watch", +"request": { +"$ref": "WatchCreativeRequest" +}, +"response": { +"$ref": "Empty" +}, +"scopes": [ +"https://www.googleapis.com/auth/adexchange.buyer" +] +} +}, +"resources": { +"dealAssociations": { +"methods": { +"add": { +"description": "Associate an existing deal with a creative.", +"flatPath": "v2beta1/accounts/{accountId}/creatives/{creativeId}/dealAssociations:add", +"httpMethod": "POST", +"id": "adexchangebuyer2.accounts.creatives.dealAssociations.add", +"parameterOrder": [ +"accountId", +"creativeId" +], +"parameters": { +"accountId": { +"description": "The account the creative belongs to.", +"location": "path", +"required": true, +"type": "string" +}, +"creativeId": { +"description": "The ID of the creative associated with the deal.", +"location": "path", +"required": true, +"type": "string" +} +}, +"path": "v2beta1/accounts/{accountId}/creatives/{creativeId}/dealAssociations:add", +"request": { +"$ref": "AddDealAssociationRequest" +}, +"response": { +"$ref": "Empty" +}, +"scopes": [ +"https://www.googleapis.com/auth/adexchange.buyer" +] +}, +"list": { +"description": "List all creative-deal associations.", +"flatPath": "v2beta1/accounts/{accountId}/creatives/{creativeId}/dealAssociations", +"httpMethod": "GET", +"id": "adexchangebuyer2.accounts.creatives.dealAssociations.list", +"parameterOrder": [ +"accountId", +"creativeId" +], +"parameters": { +"accountId": { +"description": "The account to list the associations from. Specify \"-\" to list all creatives the current user has access to.", +"location": "path", +"required": true, +"type": "string" +}, +"creativeId": { +"description": "The creative ID to list the associations from. Specify \"-\" to list all creatives under the above account.", +"location": "path", +"required": true, +"type": "string" +}, +"pageSize": { +"description": "Requested page size. Server may return fewer associations than requested. If unspecified, server will pick an appropriate default.", +"format": "int32", +"location": "query", +"type": "integer" +}, +"pageToken": { +"description": "A token identifying a page of results the server should return. Typically, this is the value of ListDealAssociationsResponse.next_page_token returned from the previous call to 'ListDealAssociations' method.", +"location": "query", +"type": "string" +}, +"query": { +"description": "An optional query string to filter deal associations. If no filter is specified, all associations will be returned. Supported queries are: - accountId=*account_id_string* - creativeId=*creative_id_string* - dealsId=*deals_id_string* - dealsStatus:{approved, conditionally_approved, disapproved, not_checked} - openAuctionStatus:{approved, conditionally_approved, disapproved, not_checked} Example: 'dealsId=12345 AND dealsStatus:disapproved'", +"location": "query", +"type": "string" +} +}, +"path": "v2beta1/accounts/{accountId}/creatives/{creativeId}/dealAssociations", +"response": { +"$ref": "ListDealAssociationsResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/adexchange.buyer" +] +}, +"remove": { +"description": "Remove the association between a deal and a creative.", +"flatPath": "v2beta1/accounts/{accountId}/creatives/{creativeId}/dealAssociations:remove", +"httpMethod": "POST", +"id": "adexchangebuyer2.accounts.creatives.dealAssociations.remove", +"parameterOrder": [ +"accountId", +"creativeId" +], +"parameters": { +"accountId": { +"description": "The account the creative belongs to.", +"location": "path", +"required": true, +"type": "string" +}, +"creativeId": { +"description": "The ID of the creative associated with the deal.", +"location": "path", +"required": true, +"type": "string" +} +}, +"path": "v2beta1/accounts/{accountId}/creatives/{creativeId}/dealAssociations:remove", +"request": { +"$ref": "RemoveDealAssociationRequest" +}, +"response": { +"$ref": "Empty" +}, +"scopes": [ +"https://www.googleapis.com/auth/adexchange.buyer" +] +} +} +} +} +}, +"finalizedProposals": { +"methods": { +"list": { +"description": "List finalized proposals, regardless if a proposal is being renegotiated. A filter expression (PQL query) may be specified to filter the results. The notes will not be returned.", +"flatPath": "v2beta1/accounts/{accountId}/finalizedProposals", +"httpMethod": "GET", +"id": "adexchangebuyer2.accounts.finalizedProposals.list", +"parameterOrder": [ +"accountId" +], +"parameters": { +"accountId": { +"description": "Account ID of the buyer.", +"location": "path", +"required": true, +"type": "string" +}, +"filter": { +"description": "An optional PQL filter query used to query for proposals. Nested repeated fields, such as proposal.deals.targetingCriterion, cannot be filtered.", +"location": "query", +"type": "string" +}, +"filterSyntax": { +"description": "Syntax the filter is written in. Current implementation defaults to PQL but in the future it will be LIST_FILTER.", +"enum": [ +"FILTER_SYNTAX_UNSPECIFIED", +"PQL", +"LIST_FILTER" +], +"enumDescriptions": [ +"A placeholder for an undefined filter syntax.", +"PQL query syntax. Visit https://developers.google.com/ad-manager/api/pqlreference for PQL documentation and examples.", +"API list filtering syntax. Read about syntax and usage at https://developers.google.com/authorized-buyers/apis/guides/v2/list-filters." +], +"location": "query", +"type": "string" +}, +"pageSize": { +"description": "Requested page size. The server may return fewer results than requested. If unspecified, the server will pick an appropriate default.", +"format": "int32", +"location": "query", +"type": "integer" +}, +"pageToken": { +"description": "The page token as returned from ListProposalsResponse.", +"location": "query", +"type": "string" +} +}, +"path": "v2beta1/accounts/{accountId}/finalizedProposals", +"response": { +"$ref": "ListProposalsResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/adexchange.buyer" +] +}, +"pause": { +"description": "Update given deals to pause serving. This method will set the `DealServingMetadata.DealPauseStatus.has_buyer_paused` bit to true for all listed deals in the request. Currently, this method only applies to PG and PD deals. For PA deals, call accounts.proposals.pause endpoint. It is a no-op to pause already-paused deals. It is an error to call PauseProposalDeals for deals which are not part of the proposal of proposal_id or which are not finalized or renegotiating.", +"flatPath": "v2beta1/accounts/{accountId}/finalizedProposals/{proposalId}:pause", +"httpMethod": "POST", +"id": "adexchangebuyer2.accounts.finalizedProposals.pause", +"parameterOrder": [ +"accountId", +"proposalId" +], +"parameters": { +"accountId": { +"description": "Account ID of the buyer.", +"location": "path", +"required": true, +"type": "string" +}, +"proposalId": { +"description": "The proposal_id of the proposal containing the deals.", +"location": "path", +"required": true, +"type": "string" +} +}, +"path": "v2beta1/accounts/{accountId}/finalizedProposals/{proposalId}:pause", +"request": { +"$ref": "PauseProposalDealsRequest" +}, +"response": { +"$ref": "Proposal" +}, +"scopes": [ +"https://www.googleapis.com/auth/adexchange.buyer" +] +}, +"resume": { +"description": "Update given deals to resume serving. This method will set the `DealServingMetadata.DealPauseStatus.has_buyer_paused` bit to false for all listed deals in the request. Currently, this method only applies to PG and PD deals. For PA deals, call accounts.proposals.resume endpoint. It is a no-op to resume running deals or deals paused by the other party. It is an error to call ResumeProposalDeals for deals which are not part of the proposal of proposal_id or which are not finalized or renegotiating.", +"flatPath": "v2beta1/accounts/{accountId}/finalizedProposals/{proposalId}:resume", +"httpMethod": "POST", +"id": "adexchangebuyer2.accounts.finalizedProposals.resume", +"parameterOrder": [ +"accountId", +"proposalId" +], +"parameters": { +"accountId": { +"description": "Account ID of the buyer.", +"location": "path", +"required": true, +"type": "string" +}, +"proposalId": { +"description": "The proposal_id of the proposal containing the deals.", +"location": "path", +"required": true, +"type": "string" +} +}, +"path": "v2beta1/accounts/{accountId}/finalizedProposals/{proposalId}:resume", +"request": { +"$ref": "ResumeProposalDealsRequest" +}, +"response": { +"$ref": "Proposal" +}, +"scopes": [ +"https://www.googleapis.com/auth/adexchange.buyer" +] +} +} +}, +"products": { +"methods": { +"get": { +"description": "Gets the requested product by ID.", +"flatPath": "v2beta1/accounts/{accountId}/products/{productId}", +"httpMethod": "GET", +"id": "adexchangebuyer2.accounts.products.get", +"parameterOrder": [ +"accountId", +"productId" +], +"parameters": { +"accountId": { +"description": "Account ID of the buyer.", +"location": "path", +"required": true, +"type": "string" +}, +"productId": { +"description": "The ID for the product to get the head revision for.", +"location": "path", +"required": true, +"type": "string" +} +}, +"path": "v2beta1/accounts/{accountId}/products/{productId}", +"response": { +"$ref": "Product" +}, +"scopes": [ +"https://www.googleapis.com/auth/adexchange.buyer" +] +}, +"list": { +"description": "List all products visible to the buyer (optionally filtered by the specified PQL query).", +"flatPath": "v2beta1/accounts/{accountId}/products", +"httpMethod": "GET", +"id": "adexchangebuyer2.accounts.products.list", +"parameterOrder": [ +"accountId" +], +"parameters": { +"accountId": { +"description": "Account ID of the buyer.", +"location": "path", +"required": true, +"type": "string" +}, +"filter": { +"description": "An optional PQL query used to query for products. See https://developers.google.com/ad-manager/docs/pqlreference for documentation about PQL and examples. Nested repeated fields, such as product.targetingCriterion.inclusions, cannot be filtered.", +"location": "query", +"type": "string" +}, +"pageSize": { +"description": "Requested page size. The server may return fewer results than requested. If unspecified, the server will pick an appropriate default.", +"format": "int32", +"location": "query", +"type": "integer" +}, +"pageToken": { +"description": "The page token as returned from ListProductsResponse.", +"location": "query", +"type": "string" +} +}, +"path": "v2beta1/accounts/{accountId}/products", +"response": { +"$ref": "ListProductsResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/adexchange.buyer" +] +} +} +}, +"proposals": { +"methods": { +"accept": { +"description": "Mark the proposal as accepted at the given revision number. If the number does not match the server's revision number an `ABORTED` error message will be returned. This call updates the proposal_state from `PROPOSED` to `BUYER_ACCEPTED`, or from `SELLER_ACCEPTED` to `FINALIZED`. Upon calling this endpoint, the buyer implicitly agrees to the terms and conditions optionally set within the proposal by the publisher.", +"flatPath": "v2beta1/accounts/{accountId}/proposals/{proposalId}:accept", +"httpMethod": "POST", +"id": "adexchangebuyer2.accounts.proposals.accept", +"parameterOrder": [ +"accountId", +"proposalId" +], +"parameters": { +"accountId": { +"description": "Account ID of the buyer.", +"location": "path", +"required": true, +"type": "string" +}, +"proposalId": { +"description": "The ID of the proposal to accept.", +"location": "path", +"required": true, +"type": "string" +} +}, +"path": "v2beta1/accounts/{accountId}/proposals/{proposalId}:accept", +"request": { +"$ref": "AcceptProposalRequest" +}, +"response": { +"$ref": "Proposal" +}, +"scopes": [ +"https://www.googleapis.com/auth/adexchange.buyer" +] +}, +"addNote": { +"description": "Create a new note and attach it to the proposal. The note is assigned a unique ID by the server. The proposal revision number will not increase when associated with a new note.", +"flatPath": "v2beta1/accounts/{accountId}/proposals/{proposalId}:addNote", +"httpMethod": "POST", +"id": "adexchangebuyer2.accounts.proposals.addNote", +"parameterOrder": [ +"accountId", +"proposalId" +], +"parameters": { +"accountId": { +"description": "Account ID of the buyer.", +"location": "path", +"required": true, +"type": "string" +}, +"proposalId": { +"description": "The ID of the proposal to attach the note to.", +"location": "path", +"required": true, +"type": "string" +} +}, +"path": "v2beta1/accounts/{accountId}/proposals/{proposalId}:addNote", +"request": { +"$ref": "AddNoteRequest" +}, +"response": { +"$ref": "Note" +}, +"scopes": [ +"https://www.googleapis.com/auth/adexchange.buyer" +] +}, +"cancelNegotiation": { +"description": "Cancel an ongoing negotiation on a proposal. This does not cancel or end serving for the deals if the proposal has been finalized, but only cancels a negotiation unilaterally.", +"flatPath": "v2beta1/accounts/{accountId}/proposals/{proposalId}:cancelNegotiation", +"httpMethod": "POST", +"id": "adexchangebuyer2.accounts.proposals.cancelNegotiation", +"parameterOrder": [ +"accountId", +"proposalId" +], +"parameters": { +"accountId": { +"description": "Account ID of the buyer.", +"location": "path", +"required": true, +"type": "string" +}, +"proposalId": { +"description": "The ID of the proposal to cancel negotiation for.", +"location": "path", +"required": true, +"type": "string" +} +}, +"path": "v2beta1/accounts/{accountId}/proposals/{proposalId}:cancelNegotiation", +"request": { +"$ref": "CancelNegotiationRequest" +}, +"response": { +"$ref": "Proposal" +}, +"scopes": [ +"https://www.googleapis.com/auth/adexchange.buyer" +] +}, +"completeSetup": { +"description": "You can opt-in to manually update proposals to indicate that setup is complete. By default, proposal setup is automatically completed after their deals are finalized. Contact your Technical Account Manager to opt in. Buyers can call this method when the proposal has been finalized, and all the required creatives have been uploaded using the Creatives API. This call updates the `is_setup_completed` field on the deals in the proposal, and notifies the seller. The server then advances the revision number of the most recent proposal. To mark an individual deal as ready to serve, call `buyers.finalizedDeals.setReadyToServe` in the Marketplace API.", +"flatPath": "v2beta1/accounts/{accountId}/proposals/{proposalId}:completeSetup", +"httpMethod": "POST", +"id": "adexchangebuyer2.accounts.proposals.completeSetup", +"parameterOrder": [ +"accountId", +"proposalId" +], +"parameters": { +"accountId": { +"description": "Account ID of the buyer.", +"location": "path", +"required": true, +"type": "string" +}, +"proposalId": { +"description": "The ID of the proposal to mark as setup completed.", +"location": "path", +"required": true, +"type": "string" +} +}, +"path": "v2beta1/accounts/{accountId}/proposals/{proposalId}:completeSetup", +"request": { +"$ref": "CompleteSetupRequest" +}, +"response": { +"$ref": "Proposal" +}, +"scopes": [ +"https://www.googleapis.com/auth/adexchange.buyer" +] +}, +"create": { +"description": "Create the given proposal. Each created proposal and any deals it contains are assigned a unique ID by the server.", +"flatPath": "v2beta1/accounts/{accountId}/proposals", +"httpMethod": "POST", +"id": "adexchangebuyer2.accounts.proposals.create", +"parameterOrder": [ +"accountId" +], +"parameters": { +"accountId": { +"description": "Account ID of the buyer.", +"location": "path", +"required": true, +"type": "string" +} +}, +"path": "v2beta1/accounts/{accountId}/proposals", +"request": { +"$ref": "Proposal" +}, +"response": { +"$ref": "Proposal" +}, +"scopes": [ +"https://www.googleapis.com/auth/adexchange.buyer" +] +}, +"get": { +"description": "Gets a proposal given its ID. The proposal is returned at its head revision.", +"flatPath": "v2beta1/accounts/{accountId}/proposals/{proposalId}", +"httpMethod": "GET", +"id": "adexchangebuyer2.accounts.proposals.get", +"parameterOrder": [ +"accountId", +"proposalId" +], +"parameters": { +"accountId": { +"description": "Account ID of the buyer.", +"location": "path", +"required": true, +"type": "string" +}, +"proposalId": { +"description": "The unique ID of the proposal", +"location": "path", +"required": true, +"type": "string" +} +}, +"path": "v2beta1/accounts/{accountId}/proposals/{proposalId}", +"response": { +"$ref": "Proposal" +}, +"scopes": [ +"https://www.googleapis.com/auth/adexchange.buyer" +] +}, +"list": { +"description": "List proposals. A filter expression (PQL query) may be specified to filter the results. To retrieve all finalized proposals, regardless if a proposal is being renegotiated, see the FinalizedProposals resource. Note that Bidder/ChildSeat relationships differ from the usual behavior. A Bidder account can only see its child seats' proposals by specifying the ChildSeat's accountId in the request path.", +"flatPath": "v2beta1/accounts/{accountId}/proposals", +"httpMethod": "GET", +"id": "adexchangebuyer2.accounts.proposals.list", +"parameterOrder": [ +"accountId" +], +"parameters": { +"accountId": { +"description": "Account ID of the buyer.", +"location": "path", +"required": true, +"type": "string" +}, +"filter": { +"description": "An optional PQL filter query used to query for proposals. Nested repeated fields, such as proposal.deals.targetingCriterion, cannot be filtered.", +"location": "query", +"type": "string" +}, +"filterSyntax": { +"description": "Syntax the filter is written in. Current implementation defaults to PQL but in the future it will be LIST_FILTER.", +"enum": [ +"FILTER_SYNTAX_UNSPECIFIED", +"PQL", +"LIST_FILTER" +], +"enumDescriptions": [ +"A placeholder for an undefined filter syntax.", +"PQL query syntax. Visit https://developers.google.com/ad-manager/api/pqlreference for PQL documentation and examples.", +"API list filtering syntax. Read about syntax and usage at https://developers.google.com/authorized-buyers/apis/guides/v2/list-filters." +], +"location": "query", +"type": "string" +}, +"pageSize": { +"description": "Requested page size. The server may return fewer results than requested. If unspecified, the server will pick an appropriate default.", +"format": "int32", +"location": "query", +"type": "integer" +}, +"pageToken": { +"description": "The page token as returned from ListProposalsResponse.", +"location": "query", +"type": "string" +} +}, +"path": "v2beta1/accounts/{accountId}/proposals", +"response": { +"$ref": "ListProposalsResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/adexchange.buyer" +] +}, +"pause": { +"description": "Update the given proposal to pause serving. This method will set the `DealServingMetadata.DealPauseStatus.has_buyer_paused` bit to true for all deals in the proposal. It is a no-op to pause an already-paused proposal. It is an error to call PauseProposal for a proposal that is not finalized or renegotiating.", +"flatPath": "v2beta1/accounts/{accountId}/proposals/{proposalId}:pause", +"httpMethod": "POST", +"id": "adexchangebuyer2.accounts.proposals.pause", +"parameterOrder": [ +"accountId", +"proposalId" +], +"parameters": { +"accountId": { +"description": "Account ID of the buyer.", +"location": "path", +"required": true, +"type": "string" +}, +"proposalId": { +"description": "The ID of the proposal to pause.", +"location": "path", +"required": true, +"type": "string" +} +}, +"path": "v2beta1/accounts/{accountId}/proposals/{proposalId}:pause", +"request": { +"$ref": "PauseProposalRequest" +}, +"response": { +"$ref": "Proposal" +}, +"scopes": [ +"https://www.googleapis.com/auth/adexchange.buyer" +] +}, +"resume": { +"description": "Update the given proposal to resume serving. This method will set the `DealServingMetadata.DealPauseStatus.has_buyer_paused` bit to false for all deals in the proposal. Note that if the `has_seller_paused` bit is also set, serving will not resume until the seller also resumes. It is a no-op to resume an already-running proposal. It is an error to call ResumeProposal for a proposal that is not finalized or renegotiating.", +"flatPath": "v2beta1/accounts/{accountId}/proposals/{proposalId}:resume", +"httpMethod": "POST", +"id": "adexchangebuyer2.accounts.proposals.resume", +"parameterOrder": [ +"accountId", +"proposalId" +], +"parameters": { +"accountId": { +"description": "Account ID of the buyer.", +"location": "path", +"required": true, +"type": "string" +}, +"proposalId": { +"description": "The ID of the proposal to resume.", +"location": "path", +"required": true, +"type": "string" +} +}, +"path": "v2beta1/accounts/{accountId}/proposals/{proposalId}:resume", +"request": { +"$ref": "ResumeProposalRequest" +}, +"response": { +"$ref": "Proposal" +}, +"scopes": [ +"https://www.googleapis.com/auth/adexchange.buyer" +] +}, +"update": { +"description": "Update the given proposal at the client known revision number. If the server revision has advanced since the passed-in `proposal.proposal_revision`, an `ABORTED` error message will be returned. Only the buyer-modifiable fields of the proposal will be updated. Note that the deals in the proposal will be updated to match the passed-in copy. If a passed-in deal does not have a `deal_id`, the server will assign a new unique ID and create the deal. If passed-in deal has a `deal_id`, it will be updated to match the passed-in copy. Any existing deals not present in the passed-in proposal will be deleted. It is an error to pass in a deal with a `deal_id` not present at head.", +"flatPath": "v2beta1/accounts/{accountId}/proposals/{proposalId}", +"httpMethod": "PUT", +"id": "adexchangebuyer2.accounts.proposals.update", +"parameterOrder": [ +"accountId", +"proposalId" +], +"parameters": { +"accountId": { +"description": "Account ID of the buyer.", +"location": "path", +"required": true, +"type": "string" +}, +"proposalId": { +"description": "The unique ID of the proposal.", +"location": "path", +"required": true, +"type": "string" +} +}, +"path": "v2beta1/accounts/{accountId}/proposals/{proposalId}", +"request": { +"$ref": "Proposal" +}, +"response": { +"$ref": "Proposal" +}, +"scopes": [ +"https://www.googleapis.com/auth/adexchange.buyer" +] +} +} +}, +"publisherProfiles": { +"methods": { +"get": { +"description": "Gets the requested publisher profile by id.", +"flatPath": "v2beta1/accounts/{accountId}/publisherProfiles/{publisherProfileId}", +"httpMethod": "GET", +"id": "adexchangebuyer2.accounts.publisherProfiles.get", +"parameterOrder": [ +"accountId", +"publisherProfileId" +], +"parameters": { +"accountId": { +"description": "Account ID of the buyer.", +"location": "path", +"required": true, +"type": "string" +}, +"publisherProfileId": { +"description": "The id for the publisher profile to get.", +"location": "path", +"required": true, +"type": "string" +} +}, +"path": "v2beta1/accounts/{accountId}/publisherProfiles/{publisherProfileId}", +"response": { +"$ref": "PublisherProfile" +}, +"scopes": [ +"https://www.googleapis.com/auth/adexchange.buyer" +] +}, +"list": { +"description": "List all publisher profiles visible to the buyer", +"flatPath": "v2beta1/accounts/{accountId}/publisherProfiles", +"httpMethod": "GET", +"id": "adexchangebuyer2.accounts.publisherProfiles.list", +"parameterOrder": [ +"accountId" +], +"parameters": { +"accountId": { +"description": "Account ID of the buyer.", +"location": "path", +"required": true, +"type": "string" +}, +"pageSize": { +"description": "Specify the number of results to include per page.", +"format": "int32", +"location": "query", +"type": "integer" +}, +"pageToken": { +"description": "The page token as return from ListPublisherProfilesResponse.", +"location": "query", +"type": "string" +} +}, +"path": "v2beta1/accounts/{accountId}/publisherProfiles", +"response": { +"$ref": "ListPublisherProfilesResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/adexchange.buyer" +] +} +} +} +} +}, +"bidders": { +"resources": { +"accounts": { +"resources": { +"filterSets": { +"methods": { +"create": { +"description": "Creates the specified filter set for the account with the given account ID.", +"flatPath": "v2beta1/bidders/{biddersId}/accounts/{accountsId}/filterSets", +"httpMethod": "POST", +"id": "adexchangebuyer2.bidders.accounts.filterSets.create", +"parameterOrder": [ +"ownerName" +], +"parameters": { +"isTransient": { +"description": "Whether the filter set is transient, or should be persisted indefinitely. By default, filter sets are not transient. If transient, it will be available for at least 1 hour after creation.", +"location": "query", +"type": "boolean" +}, +"ownerName": { +"description": "Name of the owner (bidder or account) of the filter set to be created. For example: - For a bidder-level filter set for bidder 123: `bidders/123` - For an account-level filter set for the buyer account representing bidder 123: `bidders/123/accounts/123` - For an account-level filter set for the child seat buyer account 456 whose bidder is 123: `bidders/123/accounts/456`", +"location": "path", +"pattern": "^bidders/[^/]+/accounts/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v2beta1/{+ownerName}/filterSets", +"request": { +"$ref": "FilterSet" +}, +"response": { +"$ref": "FilterSet" +}, +"scopes": [ +"https://www.googleapis.com/auth/adexchange.buyer" +] +}, +"delete": { +"description": "Deletes the requested filter set from the account with the given account ID.", +"flatPath": "v2beta1/bidders/{biddersId}/accounts/{accountsId}/filterSets/{filterSetsId}", +"httpMethod": "DELETE", +"id": "adexchangebuyer2.bidders.accounts.filterSets.delete", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Full name of the resource to delete. For example: - For a bidder-level filter set for bidder 123: `bidders/123/filterSets/abc` - For an account-level filter set for the buyer account representing bidder 123: `bidders/123/accounts/123/filterSets/abc` - For an account-level filter set for the child seat buyer account 456 whose bidder is 123: `bidders/123/accounts/456/filterSets/abc`", +"location": "path", +"pattern": "^bidders/[^/]+/accounts/[^/]+/filterSets/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v2beta1/{+name}", +"response": { +"$ref": "Empty" +}, +"scopes": [ +"https://www.googleapis.com/auth/adexchange.buyer" +] +}, +"get": { +"description": "Retrieves the requested filter set for the account with the given account ID.", +"flatPath": "v2beta1/bidders/{biddersId}/accounts/{accountsId}/filterSets/{filterSetsId}", +"httpMethod": "GET", +"id": "adexchangebuyer2.bidders.accounts.filterSets.get", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Full name of the resource being requested. For example: - For a bidder-level filter set for bidder 123: `bidders/123/filterSets/abc` - For an account-level filter set for the buyer account representing bidder 123: `bidders/123/accounts/123/filterSets/abc` - For an account-level filter set for the child seat buyer account 456 whose bidder is 123: `bidders/123/accounts/456/filterSets/abc`", +"location": "path", +"pattern": "^bidders/[^/]+/accounts/[^/]+/filterSets/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v2beta1/{+name}", +"response": { +"$ref": "FilterSet" +}, +"scopes": [ +"https://www.googleapis.com/auth/adexchange.buyer" +] +}, +"list": { +"description": "Lists all filter sets for the account with the given account ID.", +"flatPath": "v2beta1/bidders/{biddersId}/accounts/{accountsId}/filterSets", +"httpMethod": "GET", +"id": "adexchangebuyer2.bidders.accounts.filterSets.list", +"parameterOrder": [ +"ownerName" +], +"parameters": { +"ownerName": { +"description": "Name of the owner (bidder or account) of the filter sets to be listed. For example: - For a bidder-level filter set for bidder 123: `bidders/123` - For an account-level filter set for the buyer account representing bidder 123: `bidders/123/accounts/123` - For an account-level filter set for the child seat buyer account 456 whose bidder is 123: `bidders/123/accounts/456`", +"location": "path", +"pattern": "^bidders/[^/]+/accounts/[^/]+$", +"required": true, +"type": "string" +}, +"pageSize": { +"description": "Requested page size. The server may return fewer results than requested. If unspecified, the server will pick an appropriate default.", +"format": "int32", +"location": "query", +"type": "integer" +}, +"pageToken": { +"description": "A token identifying a page of results the server should return. Typically, this is the value of ListFilterSetsResponse.nextPageToken returned from the previous call to the accounts.filterSets.list method.", +"location": "query", +"type": "string" +} +}, +"path": "v2beta1/{+ownerName}/filterSets", +"response": { +"$ref": "ListFilterSetsResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/adexchange.buyer" +] +} +}, +"resources": { +"bidMetrics": { +"methods": { +"list": { +"description": "Lists all metrics that are measured in terms of number of bids.", +"flatPath": "v2beta1/bidders/{biddersId}/accounts/{accountsId}/filterSets/{filterSetsId}/bidMetrics", +"httpMethod": "GET", +"id": "adexchangebuyer2.bidders.accounts.filterSets.bidMetrics.list", +"parameterOrder": [ +"filterSetName" +], +"parameters": { +"filterSetName": { +"description": "Name of the filter set that should be applied to the requested metrics. For example: - For a bidder-level filter set for bidder 123: `bidders/123/filterSets/abc` - For an account-level filter set for the buyer account representing bidder 123: `bidders/123/accounts/123/filterSets/abc` - For an account-level filter set for the child seat buyer account 456 whose bidder is 123: `bidders/123/accounts/456/filterSets/abc`", +"location": "path", +"pattern": "^bidders/[^/]+/accounts/[^/]+/filterSets/[^/]+$", +"required": true, +"type": "string" +}, +"pageSize": { +"description": "Requested page size. The server may return fewer results than requested. If unspecified, the server will pick an appropriate default.", +"format": "int32", +"location": "query", +"type": "integer" +}, +"pageToken": { +"description": "A token identifying a page of results the server should return. Typically, this is the value of ListBidMetricsResponse.nextPageToken returned from the previous call to the bidMetrics.list method.", +"location": "query", +"type": "string" +} +}, +"path": "v2beta1/{+filterSetName}/bidMetrics", +"response": { +"$ref": "ListBidMetricsResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/adexchange.buyer" +] +} +} +}, +"bidResponseErrors": { +"methods": { +"list": { +"description": "List all errors that occurred in bid responses, with the number of bid responses affected for each reason.", +"flatPath": "v2beta1/bidders/{biddersId}/accounts/{accountsId}/filterSets/{filterSetsId}/bidResponseErrors", +"httpMethod": "GET", +"id": "adexchangebuyer2.bidders.accounts.filterSets.bidResponseErrors.list", +"parameterOrder": [ +"filterSetName" +], +"parameters": { +"filterSetName": { +"description": "Name of the filter set that should be applied to the requested metrics. For example: - For a bidder-level filter set for bidder 123: `bidders/123/filterSets/abc` - For an account-level filter set for the buyer account representing bidder 123: `bidders/123/accounts/123/filterSets/abc` - For an account-level filter set for the child seat buyer account 456 whose bidder is 123: `bidders/123/accounts/456/filterSets/abc`", +"location": "path", +"pattern": "^bidders/[^/]+/accounts/[^/]+/filterSets/[^/]+$", +"required": true, +"type": "string" +}, +"pageSize": { +"description": "Requested page size. The server may return fewer results than requested. If unspecified, the server will pick an appropriate default.", +"format": "int32", +"location": "query", +"type": "integer" +}, +"pageToken": { +"description": "A token identifying a page of results the server should return. Typically, this is the value of ListBidResponseErrorsResponse.nextPageToken returned from the previous call to the bidResponseErrors.list method.", +"location": "query", +"type": "string" +} +}, +"path": "v2beta1/{+filterSetName}/bidResponseErrors", +"response": { +"$ref": "ListBidResponseErrorsResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/adexchange.buyer" +] +} +} +}, +"bidResponsesWithoutBids": { +"methods": { +"list": { +"description": "List all reasons for which bid responses were considered to have no applicable bids, with the number of bid responses affected for each reason.", +"flatPath": "v2beta1/bidders/{biddersId}/accounts/{accountsId}/filterSets/{filterSetsId}/bidResponsesWithoutBids", +"httpMethod": "GET", +"id": "adexchangebuyer2.bidders.accounts.filterSets.bidResponsesWithoutBids.list", +"parameterOrder": [ +"filterSetName" +], +"parameters": { +"filterSetName": { +"description": "Name of the filter set that should be applied to the requested metrics. For example: - For a bidder-level filter set for bidder 123: `bidders/123/filterSets/abc` - For an account-level filter set for the buyer account representing bidder 123: `bidders/123/accounts/123/filterSets/abc` - For an account-level filter set for the child seat buyer account 456 whose bidder is 123: `bidders/123/accounts/456/filterSets/abc`", +"location": "path", +"pattern": "^bidders/[^/]+/accounts/[^/]+/filterSets/[^/]+$", +"required": true, +"type": "string" +}, +"pageSize": { +"description": "Requested page size. The server may return fewer results than requested. If unspecified, the server will pick an appropriate default.", +"format": "int32", +"location": "query", +"type": "integer" +}, +"pageToken": { +"description": "A token identifying a page of results the server should return. Typically, this is the value of ListBidResponsesWithoutBidsResponse.nextPageToken returned from the previous call to the bidResponsesWithoutBids.list method.", +"location": "query", +"type": "string" +} +}, +"path": "v2beta1/{+filterSetName}/bidResponsesWithoutBids", +"response": { +"$ref": "ListBidResponsesWithoutBidsResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/adexchange.buyer" +] +} +} +}, +"filteredBidRequests": { +"methods": { +"list": { +"description": "List all reasons that caused a bid request not to be sent for an impression, with the number of bid requests not sent for each reason.", +"flatPath": "v2beta1/bidders/{biddersId}/accounts/{accountsId}/filterSets/{filterSetsId}/filteredBidRequests", +"httpMethod": "GET", +"id": "adexchangebuyer2.bidders.accounts.filterSets.filteredBidRequests.list", +"parameterOrder": [ +"filterSetName" +], +"parameters": { +"filterSetName": { +"description": "Name of the filter set that should be applied to the requested metrics. For example: - For a bidder-level filter set for bidder 123: `bidders/123/filterSets/abc` - For an account-level filter set for the buyer account representing bidder 123: `bidders/123/accounts/123/filterSets/abc` - For an account-level filter set for the child seat buyer account 456 whose bidder is 123: `bidders/123/accounts/456/filterSets/abc`", +"location": "path", +"pattern": "^bidders/[^/]+/accounts/[^/]+/filterSets/[^/]+$", +"required": true, +"type": "string" +}, +"pageSize": { +"description": "Requested page size. The server may return fewer results than requested. If unspecified, the server will pick an appropriate default.", +"format": "int32", +"location": "query", +"type": "integer" +}, +"pageToken": { +"description": "A token identifying a page of results the server should return. Typically, this is the value of ListFilteredBidRequestsResponse.nextPageToken returned from the previous call to the filteredBidRequests.list method.", +"location": "query", +"type": "string" +} +}, +"path": "v2beta1/{+filterSetName}/filteredBidRequests", +"response": { +"$ref": "ListFilteredBidRequestsResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/adexchange.buyer" +] +} +} +}, +"filteredBids": { +"methods": { +"list": { +"description": "List all reasons for which bids were filtered, with the number of bids filtered for each reason.", +"flatPath": "v2beta1/bidders/{biddersId}/accounts/{accountsId}/filterSets/{filterSetsId}/filteredBids", +"httpMethod": "GET", +"id": "adexchangebuyer2.bidders.accounts.filterSets.filteredBids.list", +"parameterOrder": [ +"filterSetName" +], +"parameters": { +"filterSetName": { +"description": "Name of the filter set that should be applied to the requested metrics. For example: - For a bidder-level filter set for bidder 123: `bidders/123/filterSets/abc` - For an account-level filter set for the buyer account representing bidder 123: `bidders/123/accounts/123/filterSets/abc` - For an account-level filter set for the child seat buyer account 456 whose bidder is 123: `bidders/123/accounts/456/filterSets/abc`", +"location": "path", +"pattern": "^bidders/[^/]+/accounts/[^/]+/filterSets/[^/]+$", +"required": true, +"type": "string" +}, +"pageSize": { +"description": "Requested page size. The server may return fewer results than requested. If unspecified, the server will pick an appropriate default.", +"format": "int32", +"location": "query", +"type": "integer" +}, +"pageToken": { +"description": "A token identifying a page of results the server should return. Typically, this is the value of ListFilteredBidsResponse.nextPageToken returned from the previous call to the filteredBids.list method.", +"location": "query", +"type": "string" +} +}, +"path": "v2beta1/{+filterSetName}/filteredBids", +"response": { +"$ref": "ListFilteredBidsResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/adexchange.buyer" +] +} +}, +"resources": { +"creatives": { +"methods": { +"list": { +"description": "List all creatives associated with a specific reason for which bids were filtered, with the number of bids filtered for each creative.", +"flatPath": "v2beta1/bidders/{biddersId}/accounts/{accountsId}/filterSets/{filterSetsId}/filteredBids/{creativeStatusId}/creatives", +"httpMethod": "GET", +"id": "adexchangebuyer2.bidders.accounts.filterSets.filteredBids.creatives.list", +"parameterOrder": [ +"filterSetName", +"creativeStatusId" +], +"parameters": { +"creativeStatusId": { +"description": "The ID of the creative status for which to retrieve a breakdown by creative. See [creative-status-codes](https://developers.google.com/authorized-buyers/rtb/downloads/creative-status-codes).", +"format": "int32", +"location": "path", +"required": true, +"type": "integer" +}, +"filterSetName": { +"description": "Name of the filter set that should be applied to the requested metrics. For example: - For a bidder-level filter set for bidder 123: `bidders/123/filterSets/abc` - For an account-level filter set for the buyer account representing bidder 123: `bidders/123/accounts/123/filterSets/abc` - For an account-level filter set for the child seat buyer account 456 whose bidder is 123: `bidders/123/accounts/456/filterSets/abc`", +"location": "path", +"pattern": "^bidders/[^/]+/accounts/[^/]+/filterSets/[^/]+$", +"required": true, +"type": "string" +}, +"pageSize": { +"description": "Requested page size. The server may return fewer results than requested. If unspecified, the server will pick an appropriate default.", +"format": "int32", +"location": "query", +"type": "integer" +}, +"pageToken": { +"description": "A token identifying a page of results the server should return. Typically, this is the value of ListCreativeStatusBreakdownByCreativeResponse.nextPageToken returned from the previous call to the filteredBids.creatives.list method.", +"location": "query", +"type": "string" +} +}, +"path": "v2beta1/{+filterSetName}/filteredBids/{creativeStatusId}/creatives", +"response": { +"$ref": "ListCreativeStatusBreakdownByCreativeResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/adexchange.buyer" +] +} +} +}, +"details": { +"methods": { +"list": { +"description": "List all details associated with a specific reason for which bids were filtered, with the number of bids filtered for each detail.", +"flatPath": "v2beta1/bidders/{biddersId}/accounts/{accountsId}/filterSets/{filterSetsId}/filteredBids/{creativeStatusId}/details", +"httpMethod": "GET", +"id": "adexchangebuyer2.bidders.accounts.filterSets.filteredBids.details.list", +"parameterOrder": [ +"filterSetName", +"creativeStatusId" +], +"parameters": { +"creativeStatusId": { +"description": "The ID of the creative status for which to retrieve a breakdown by detail. See [creative-status-codes](https://developers.google.com/authorized-buyers/rtb/downloads/creative-status-codes). Details are only available for statuses 10, 14, 15, 17, 18, 19, 86, and 87.", +"format": "int32", +"location": "path", +"required": true, +"type": "integer" +}, +"filterSetName": { +"description": "Name of the filter set that should be applied to the requested metrics. For example: - For a bidder-level filter set for bidder 123: `bidders/123/filterSets/abc` - For an account-level filter set for the buyer account representing bidder 123: `bidders/123/accounts/123/filterSets/abc` - For an account-level filter set for the child seat buyer account 456 whose bidder is 123: `bidders/123/accounts/456/filterSets/abc`", +"location": "path", +"pattern": "^bidders/[^/]+/accounts/[^/]+/filterSets/[^/]+$", +"required": true, +"type": "string" +}, +"pageSize": { +"description": "Requested page size. The server may return fewer results than requested. If unspecified, the server will pick an appropriate default.", +"format": "int32", +"location": "query", +"type": "integer" +}, +"pageToken": { +"description": "A token identifying a page of results the server should return. Typically, this is the value of ListCreativeStatusBreakdownByDetailResponse.nextPageToken returned from the previous call to the filteredBids.details.list method.", +"location": "query", +"type": "string" +} +}, +"path": "v2beta1/{+filterSetName}/filteredBids/{creativeStatusId}/details", +"response": { +"$ref": "ListCreativeStatusBreakdownByDetailResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/adexchange.buyer" +] +} +} +} +} +}, +"impressionMetrics": { +"methods": { +"list": { +"description": "Lists all metrics that are measured in terms of number of impressions.", +"flatPath": "v2beta1/bidders/{biddersId}/accounts/{accountsId}/filterSets/{filterSetsId}/impressionMetrics", +"httpMethod": "GET", +"id": "adexchangebuyer2.bidders.accounts.filterSets.impressionMetrics.list", +"parameterOrder": [ +"filterSetName" +], +"parameters": { +"filterSetName": { +"description": "Name of the filter set that should be applied to the requested metrics. For example: - For a bidder-level filter set for bidder 123: `bidders/123/filterSets/abc` - For an account-level filter set for the buyer account representing bidder 123: `bidders/123/accounts/123/filterSets/abc` - For an account-level filter set for the child seat buyer account 456 whose bidder is 123: `bidders/123/accounts/456/filterSets/abc`", +"location": "path", +"pattern": "^bidders/[^/]+/accounts/[^/]+/filterSets/[^/]+$", +"required": true, +"type": "string" +}, +"pageSize": { +"description": "Requested page size. The server may return fewer results than requested. If unspecified, the server will pick an appropriate default.", +"format": "int32", +"location": "query", +"type": "integer" +}, +"pageToken": { +"description": "A token identifying a page of results the server should return. Typically, this is the value of ListImpressionMetricsResponse.nextPageToken returned from the previous call to the impressionMetrics.list method.", +"location": "query", +"type": "string" +} +}, +"path": "v2beta1/{+filterSetName}/impressionMetrics", +"response": { +"$ref": "ListImpressionMetricsResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/adexchange.buyer" +] +} +} +}, +"losingBids": { +"methods": { +"list": { +"description": "List all reasons for which bids lost in the auction, with the number of bids that lost for each reason.", +"flatPath": "v2beta1/bidders/{biddersId}/accounts/{accountsId}/filterSets/{filterSetsId}/losingBids", +"httpMethod": "GET", +"id": "adexchangebuyer2.bidders.accounts.filterSets.losingBids.list", +"parameterOrder": [ +"filterSetName" +], +"parameters": { +"filterSetName": { +"description": "Name of the filter set that should be applied to the requested metrics. For example: - For a bidder-level filter set for bidder 123: `bidders/123/filterSets/abc` - For an account-level filter set for the buyer account representing bidder 123: `bidders/123/accounts/123/filterSets/abc` - For an account-level filter set for the child seat buyer account 456 whose bidder is 123: `bidders/123/accounts/456/filterSets/abc`", +"location": "path", +"pattern": "^bidders/[^/]+/accounts/[^/]+/filterSets/[^/]+$", +"required": true, +"type": "string" +}, +"pageSize": { +"description": "Requested page size. The server may return fewer results than requested. If unspecified, the server will pick an appropriate default.", +"format": "int32", +"location": "query", +"type": "integer" +}, +"pageToken": { +"description": "A token identifying a page of results the server should return. Typically, this is the value of ListLosingBidsResponse.nextPageToken returned from the previous call to the losingBids.list method.", +"location": "query", +"type": "string" +} +}, +"path": "v2beta1/{+filterSetName}/losingBids", +"response": { +"$ref": "ListLosingBidsResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/adexchange.buyer" +] +} +} +}, +"nonBillableWinningBids": { +"methods": { +"list": { +"description": "List all reasons for which winning bids were not billable, with the number of bids not billed for each reason.", +"flatPath": "v2beta1/bidders/{biddersId}/accounts/{accountsId}/filterSets/{filterSetsId}/nonBillableWinningBids", +"httpMethod": "GET", +"id": "adexchangebuyer2.bidders.accounts.filterSets.nonBillableWinningBids.list", +"parameterOrder": [ +"filterSetName" +], +"parameters": { +"filterSetName": { +"description": "Name of the filter set that should be applied to the requested metrics. For example: - For a bidder-level filter set for bidder 123: `bidders/123/filterSets/abc` - For an account-level filter set for the buyer account representing bidder 123: `bidders/123/accounts/123/filterSets/abc` - For an account-level filter set for the child seat buyer account 456 whose bidder is 123: `bidders/123/accounts/456/filterSets/abc`", +"location": "path", +"pattern": "^bidders/[^/]+/accounts/[^/]+/filterSets/[^/]+$", +"required": true, +"type": "string" +}, +"pageSize": { +"description": "Requested page size. The server may return fewer results than requested. If unspecified, the server will pick an appropriate default.", +"format": "int32", +"location": "query", +"type": "integer" +}, +"pageToken": { +"description": "A token identifying a page of results the server should return. Typically, this is the value of ListNonBillableWinningBidsResponse.nextPageToken returned from the previous call to the nonBillableWinningBids.list method.", +"location": "query", +"type": "string" +} +}, +"path": "v2beta1/{+filterSetName}/nonBillableWinningBids", +"response": { +"$ref": "ListNonBillableWinningBidsResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/adexchange.buyer" +] +} +} +} +} +} +} +}, +"filterSets": { +"methods": { +"create": { +"description": "Creates the specified filter set for the account with the given account ID.", +"flatPath": "v2beta1/bidders/{biddersId}/filterSets", +"httpMethod": "POST", +"id": "adexchangebuyer2.bidders.filterSets.create", +"parameterOrder": [ +"ownerName" +], +"parameters": { +"isTransient": { +"description": "Whether the filter set is transient, or should be persisted indefinitely. By default, filter sets are not transient. If transient, it will be available for at least 1 hour after creation.", +"location": "query", +"type": "boolean" +}, +"ownerName": { +"description": "Name of the owner (bidder or account) of the filter set to be created. For example: - For a bidder-level filter set for bidder 123: `bidders/123` - For an account-level filter set for the buyer account representing bidder 123: `bidders/123/accounts/123` - For an account-level filter set for the child seat buyer account 456 whose bidder is 123: `bidders/123/accounts/456`", +"location": "path", +"pattern": "^bidders/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v2beta1/{+ownerName}/filterSets", +"request": { +"$ref": "FilterSet" +}, +"response": { +"$ref": "FilterSet" +}, +"scopes": [ +"https://www.googleapis.com/auth/adexchange.buyer" +] +}, +"delete": { +"description": "Deletes the requested filter set from the account with the given account ID.", +"flatPath": "v2beta1/bidders/{biddersId}/filterSets/{filterSetsId}", +"httpMethod": "DELETE", +"id": "adexchangebuyer2.bidders.filterSets.delete", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Full name of the resource to delete. For example: - For a bidder-level filter set for bidder 123: `bidders/123/filterSets/abc` - For an account-level filter set for the buyer account representing bidder 123: `bidders/123/accounts/123/filterSets/abc` - For an account-level filter set for the child seat buyer account 456 whose bidder is 123: `bidders/123/accounts/456/filterSets/abc`", +"location": "path", +"pattern": "^bidders/[^/]+/filterSets/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v2beta1/{+name}", +"response": { +"$ref": "Empty" +}, +"scopes": [ +"https://www.googleapis.com/auth/adexchange.buyer" +] +}, +"get": { +"description": "Retrieves the requested filter set for the account with the given account ID.", +"flatPath": "v2beta1/bidders/{biddersId}/filterSets/{filterSetsId}", +"httpMethod": "GET", +"id": "adexchangebuyer2.bidders.filterSets.get", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Full name of the resource being requested. For example: - For a bidder-level filter set for bidder 123: `bidders/123/filterSets/abc` - For an account-level filter set for the buyer account representing bidder 123: `bidders/123/accounts/123/filterSets/abc` - For an account-level filter set for the child seat buyer account 456 whose bidder is 123: `bidders/123/accounts/456/filterSets/abc`", +"location": "path", +"pattern": "^bidders/[^/]+/filterSets/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v2beta1/{+name}", +"response": { +"$ref": "FilterSet" +}, +"scopes": [ +"https://www.googleapis.com/auth/adexchange.buyer" +] +}, +"list": { +"description": "Lists all filter sets for the account with the given account ID.", +"flatPath": "v2beta1/bidders/{biddersId}/filterSets", +"httpMethod": "GET", +"id": "adexchangebuyer2.bidders.filterSets.list", +"parameterOrder": [ +"ownerName" +], +"parameters": { +"ownerName": { +"description": "Name of the owner (bidder or account) of the filter sets to be listed. For example: - For a bidder-level filter set for bidder 123: `bidders/123` - For an account-level filter set for the buyer account representing bidder 123: `bidders/123/accounts/123` - For an account-level filter set for the child seat buyer account 456 whose bidder is 123: `bidders/123/accounts/456`", +"location": "path", +"pattern": "^bidders/[^/]+$", +"required": true, +"type": "string" +}, +"pageSize": { +"description": "Requested page size. The server may return fewer results than requested. If unspecified, the server will pick an appropriate default.", +"format": "int32", +"location": "query", +"type": "integer" +}, +"pageToken": { +"description": "A token identifying a page of results the server should return. Typically, this is the value of ListFilterSetsResponse.nextPageToken returned from the previous call to the accounts.filterSets.list method.", +"location": "query", +"type": "string" +} +}, +"path": "v2beta1/{+ownerName}/filterSets", +"response": { +"$ref": "ListFilterSetsResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/adexchange.buyer" +] +} +}, +"resources": { +"bidMetrics": { +"methods": { +"list": { +"description": "Lists all metrics that are measured in terms of number of bids.", +"flatPath": "v2beta1/bidders/{biddersId}/filterSets/{filterSetsId}/bidMetrics", +"httpMethod": "GET", +"id": "adexchangebuyer2.bidders.filterSets.bidMetrics.list", +"parameterOrder": [ +"filterSetName" +], +"parameters": { +"filterSetName": { +"description": "Name of the filter set that should be applied to the requested metrics. For example: - For a bidder-level filter set for bidder 123: `bidders/123/filterSets/abc` - For an account-level filter set for the buyer account representing bidder 123: `bidders/123/accounts/123/filterSets/abc` - For an account-level filter set for the child seat buyer account 456 whose bidder is 123: `bidders/123/accounts/456/filterSets/abc`", +"location": "path", +"pattern": "^bidders/[^/]+/filterSets/[^/]+$", +"required": true, +"type": "string" +}, +"pageSize": { +"description": "Requested page size. The server may return fewer results than requested. If unspecified, the server will pick an appropriate default.", +"format": "int32", +"location": "query", +"type": "integer" +}, +"pageToken": { +"description": "A token identifying a page of results the server should return. Typically, this is the value of ListBidMetricsResponse.nextPageToken returned from the previous call to the bidMetrics.list method.", +"location": "query", +"type": "string" +} +}, +"path": "v2beta1/{+filterSetName}/bidMetrics", +"response": { +"$ref": "ListBidMetricsResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/adexchange.buyer" +] +} +} +}, +"bidResponseErrors": { +"methods": { +"list": { +"description": "List all errors that occurred in bid responses, with the number of bid responses affected for each reason.", +"flatPath": "v2beta1/bidders/{biddersId}/filterSets/{filterSetsId}/bidResponseErrors", +"httpMethod": "GET", +"id": "adexchangebuyer2.bidders.filterSets.bidResponseErrors.list", +"parameterOrder": [ +"filterSetName" +], +"parameters": { +"filterSetName": { +"description": "Name of the filter set that should be applied to the requested metrics. For example: - For a bidder-level filter set for bidder 123: `bidders/123/filterSets/abc` - For an account-level filter set for the buyer account representing bidder 123: `bidders/123/accounts/123/filterSets/abc` - For an account-level filter set for the child seat buyer account 456 whose bidder is 123: `bidders/123/accounts/456/filterSets/abc`", +"location": "path", +"pattern": "^bidders/[^/]+/filterSets/[^/]+$", +"required": true, +"type": "string" +}, +"pageSize": { +"description": "Requested page size. The server may return fewer results than requested. If unspecified, the server will pick an appropriate default.", +"format": "int32", +"location": "query", +"type": "integer" +}, +"pageToken": { +"description": "A token identifying a page of results the server should return. Typically, this is the value of ListBidResponseErrorsResponse.nextPageToken returned from the previous call to the bidResponseErrors.list method.", +"location": "query", +"type": "string" +} +}, +"path": "v2beta1/{+filterSetName}/bidResponseErrors", +"response": { +"$ref": "ListBidResponseErrorsResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/adexchange.buyer" +] +} +} +}, +"bidResponsesWithoutBids": { +"methods": { +"list": { +"description": "List all reasons for which bid responses were considered to have no applicable bids, with the number of bid responses affected for each reason.", +"flatPath": "v2beta1/bidders/{biddersId}/filterSets/{filterSetsId}/bidResponsesWithoutBids", +"httpMethod": "GET", +"id": "adexchangebuyer2.bidders.filterSets.bidResponsesWithoutBids.list", +"parameterOrder": [ +"filterSetName" +], +"parameters": { +"filterSetName": { +"description": "Name of the filter set that should be applied to the requested metrics. For example: - For a bidder-level filter set for bidder 123: `bidders/123/filterSets/abc` - For an account-level filter set for the buyer account representing bidder 123: `bidders/123/accounts/123/filterSets/abc` - For an account-level filter set for the child seat buyer account 456 whose bidder is 123: `bidders/123/accounts/456/filterSets/abc`", +"location": "path", +"pattern": "^bidders/[^/]+/filterSets/[^/]+$", +"required": true, +"type": "string" +}, +"pageSize": { +"description": "Requested page size. The server may return fewer results than requested. If unspecified, the server will pick an appropriate default.", +"format": "int32", +"location": "query", +"type": "integer" +}, +"pageToken": { +"description": "A token identifying a page of results the server should return. Typically, this is the value of ListBidResponsesWithoutBidsResponse.nextPageToken returned from the previous call to the bidResponsesWithoutBids.list method.", +"location": "query", +"type": "string" +} +}, +"path": "v2beta1/{+filterSetName}/bidResponsesWithoutBids", +"response": { +"$ref": "ListBidResponsesWithoutBidsResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/adexchange.buyer" +] +} +} +}, +"filteredBidRequests": { +"methods": { +"list": { +"description": "List all reasons that caused a bid request not to be sent for an impression, with the number of bid requests not sent for each reason.", +"flatPath": "v2beta1/bidders/{biddersId}/filterSets/{filterSetsId}/filteredBidRequests", +"httpMethod": "GET", +"id": "adexchangebuyer2.bidders.filterSets.filteredBidRequests.list", +"parameterOrder": [ +"filterSetName" +], +"parameters": { +"filterSetName": { +"description": "Name of the filter set that should be applied to the requested metrics. For example: - For a bidder-level filter set for bidder 123: `bidders/123/filterSets/abc` - For an account-level filter set for the buyer account representing bidder 123: `bidders/123/accounts/123/filterSets/abc` - For an account-level filter set for the child seat buyer account 456 whose bidder is 123: `bidders/123/accounts/456/filterSets/abc`", +"location": "path", +"pattern": "^bidders/[^/]+/filterSets/[^/]+$", +"required": true, +"type": "string" +}, +"pageSize": { +"description": "Requested page size. The server may return fewer results than requested. If unspecified, the server will pick an appropriate default.", +"format": "int32", +"location": "query", +"type": "integer" +}, +"pageToken": { +"description": "A token identifying a page of results the server should return. Typically, this is the value of ListFilteredBidRequestsResponse.nextPageToken returned from the previous call to the filteredBidRequests.list method.", +"location": "query", +"type": "string" +} +}, +"path": "v2beta1/{+filterSetName}/filteredBidRequests", +"response": { +"$ref": "ListFilteredBidRequestsResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/adexchange.buyer" +] +} +} +}, +"filteredBids": { +"methods": { +"list": { +"description": "List all reasons for which bids were filtered, with the number of bids filtered for each reason.", +"flatPath": "v2beta1/bidders/{biddersId}/filterSets/{filterSetsId}/filteredBids", +"httpMethod": "GET", +"id": "adexchangebuyer2.bidders.filterSets.filteredBids.list", +"parameterOrder": [ +"filterSetName" +], +"parameters": { +"filterSetName": { +"description": "Name of the filter set that should be applied to the requested metrics. For example: - For a bidder-level filter set for bidder 123: `bidders/123/filterSets/abc` - For an account-level filter set for the buyer account representing bidder 123: `bidders/123/accounts/123/filterSets/abc` - For an account-level filter set for the child seat buyer account 456 whose bidder is 123: `bidders/123/accounts/456/filterSets/abc`", +"location": "path", +"pattern": "^bidders/[^/]+/filterSets/[^/]+$", +"required": true, +"type": "string" +}, +"pageSize": { +"description": "Requested page size. The server may return fewer results than requested. If unspecified, the server will pick an appropriate default.", +"format": "int32", +"location": "query", +"type": "integer" +}, +"pageToken": { +"description": "A token identifying a page of results the server should return. Typically, this is the value of ListFilteredBidsResponse.nextPageToken returned from the previous call to the filteredBids.list method.", +"location": "query", +"type": "string" +} +}, +"path": "v2beta1/{+filterSetName}/filteredBids", +"response": { +"$ref": "ListFilteredBidsResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/adexchange.buyer" +] +} +}, +"resources": { +"creatives": { +"methods": { +"list": { +"description": "List all creatives associated with a specific reason for which bids were filtered, with the number of bids filtered for each creative.", +"flatPath": "v2beta1/bidders/{biddersId}/filterSets/{filterSetsId}/filteredBids/{creativeStatusId}/creatives", +"httpMethod": "GET", +"id": "adexchangebuyer2.bidders.filterSets.filteredBids.creatives.list", +"parameterOrder": [ +"filterSetName", +"creativeStatusId" +], +"parameters": { +"creativeStatusId": { +"description": "The ID of the creative status for which to retrieve a breakdown by creative. See [creative-status-codes](https://developers.google.com/authorized-buyers/rtb/downloads/creative-status-codes).", +"format": "int32", +"location": "path", +"required": true, +"type": "integer" +}, +"filterSetName": { +"description": "Name of the filter set that should be applied to the requested metrics. For example: - For a bidder-level filter set for bidder 123: `bidders/123/filterSets/abc` - For an account-level filter set for the buyer account representing bidder 123: `bidders/123/accounts/123/filterSets/abc` - For an account-level filter set for the child seat buyer account 456 whose bidder is 123: `bidders/123/accounts/456/filterSets/abc`", +"location": "path", +"pattern": "^bidders/[^/]+/filterSets/[^/]+$", +"required": true, +"type": "string" +}, +"pageSize": { +"description": "Requested page size. The server may return fewer results than requested. If unspecified, the server will pick an appropriate default.", +"format": "int32", +"location": "query", +"type": "integer" +}, +"pageToken": { +"description": "A token identifying a page of results the server should return. Typically, this is the value of ListCreativeStatusBreakdownByCreativeResponse.nextPageToken returned from the previous call to the filteredBids.creatives.list method.", +"location": "query", +"type": "string" +} +}, +"path": "v2beta1/{+filterSetName}/filteredBids/{creativeStatusId}/creatives", +"response": { +"$ref": "ListCreativeStatusBreakdownByCreativeResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/adexchange.buyer" +] +} +} +}, +"details": { +"methods": { +"list": { +"description": "List all details associated with a specific reason for which bids were filtered, with the number of bids filtered for each detail.", +"flatPath": "v2beta1/bidders/{biddersId}/filterSets/{filterSetsId}/filteredBids/{creativeStatusId}/details", +"httpMethod": "GET", +"id": "adexchangebuyer2.bidders.filterSets.filteredBids.details.list", +"parameterOrder": [ +"filterSetName", +"creativeStatusId" +], +"parameters": { +"creativeStatusId": { +"description": "The ID of the creative status for which to retrieve a breakdown by detail. See [creative-status-codes](https://developers.google.com/authorized-buyers/rtb/downloads/creative-status-codes). Details are only available for statuses 10, 14, 15, 17, 18, 19, 86, and 87.", +"format": "int32", +"location": "path", +"required": true, +"type": "integer" +}, +"filterSetName": { +"description": "Name of the filter set that should be applied to the requested metrics. For example: - For a bidder-level filter set for bidder 123: `bidders/123/filterSets/abc` - For an account-level filter set for the buyer account representing bidder 123: `bidders/123/accounts/123/filterSets/abc` - For an account-level filter set for the child seat buyer account 456 whose bidder is 123: `bidders/123/accounts/456/filterSets/abc`", +"location": "path", +"pattern": "^bidders/[^/]+/filterSets/[^/]+$", +"required": true, +"type": "string" +}, +"pageSize": { +"description": "Requested page size. The server may return fewer results than requested. If unspecified, the server will pick an appropriate default.", +"format": "int32", +"location": "query", +"type": "integer" +}, +"pageToken": { +"description": "A token identifying a page of results the server should return. Typically, this is the value of ListCreativeStatusBreakdownByDetailResponse.nextPageToken returned from the previous call to the filteredBids.details.list method.", +"location": "query", +"type": "string" +} +}, +"path": "v2beta1/{+filterSetName}/filteredBids/{creativeStatusId}/details", +"response": { +"$ref": "ListCreativeStatusBreakdownByDetailResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/adexchange.buyer" +] +} +} +} +} +}, +"impressionMetrics": { +"methods": { +"list": { +"description": "Lists all metrics that are measured in terms of number of impressions.", +"flatPath": "v2beta1/bidders/{biddersId}/filterSets/{filterSetsId}/impressionMetrics", +"httpMethod": "GET", +"id": "adexchangebuyer2.bidders.filterSets.impressionMetrics.list", +"parameterOrder": [ +"filterSetName" +], +"parameters": { +"filterSetName": { +"description": "Name of the filter set that should be applied to the requested metrics. For example: - For a bidder-level filter set for bidder 123: `bidders/123/filterSets/abc` - For an account-level filter set for the buyer account representing bidder 123: `bidders/123/accounts/123/filterSets/abc` - For an account-level filter set for the child seat buyer account 456 whose bidder is 123: `bidders/123/accounts/456/filterSets/abc`", +"location": "path", +"pattern": "^bidders/[^/]+/filterSets/[^/]+$", +"required": true, +"type": "string" +}, +"pageSize": { +"description": "Requested page size. The server may return fewer results than requested. If unspecified, the server will pick an appropriate default.", +"format": "int32", +"location": "query", +"type": "integer" +}, +"pageToken": { +"description": "A token identifying a page of results the server should return. Typically, this is the value of ListImpressionMetricsResponse.nextPageToken returned from the previous call to the impressionMetrics.list method.", +"location": "query", +"type": "string" +} +}, +"path": "v2beta1/{+filterSetName}/impressionMetrics", +"response": { +"$ref": "ListImpressionMetricsResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/adexchange.buyer" +] +} +} +}, +"losingBids": { +"methods": { +"list": { +"description": "List all reasons for which bids lost in the auction, with the number of bids that lost for each reason.", +"flatPath": "v2beta1/bidders/{biddersId}/filterSets/{filterSetsId}/losingBids", +"httpMethod": "GET", +"id": "adexchangebuyer2.bidders.filterSets.losingBids.list", +"parameterOrder": [ +"filterSetName" +], +"parameters": { +"filterSetName": { +"description": "Name of the filter set that should be applied to the requested metrics. For example: - For a bidder-level filter set for bidder 123: `bidders/123/filterSets/abc` - For an account-level filter set for the buyer account representing bidder 123: `bidders/123/accounts/123/filterSets/abc` - For an account-level filter set for the child seat buyer account 456 whose bidder is 123: `bidders/123/accounts/456/filterSets/abc`", +"location": "path", +"pattern": "^bidders/[^/]+/filterSets/[^/]+$", +"required": true, +"type": "string" +}, +"pageSize": { +"description": "Requested page size. The server may return fewer results than requested. If unspecified, the server will pick an appropriate default.", +"format": "int32", +"location": "query", +"type": "integer" +}, +"pageToken": { +"description": "A token identifying a page of results the server should return. Typically, this is the value of ListLosingBidsResponse.nextPageToken returned from the previous call to the losingBids.list method.", +"location": "query", +"type": "string" +} +}, +"path": "v2beta1/{+filterSetName}/losingBids", +"response": { +"$ref": "ListLosingBidsResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/adexchange.buyer" +] +} +} +}, +"nonBillableWinningBids": { +"methods": { +"list": { +"description": "List all reasons for which winning bids were not billable, with the number of bids not billed for each reason.", +"flatPath": "v2beta1/bidders/{biddersId}/filterSets/{filterSetsId}/nonBillableWinningBids", +"httpMethod": "GET", +"id": "adexchangebuyer2.bidders.filterSets.nonBillableWinningBids.list", +"parameterOrder": [ +"filterSetName" +], +"parameters": { +"filterSetName": { +"description": "Name of the filter set that should be applied to the requested metrics. For example: - For a bidder-level filter set for bidder 123: `bidders/123/filterSets/abc` - For an account-level filter set for the buyer account representing bidder 123: `bidders/123/accounts/123/filterSets/abc` - For an account-level filter set for the child seat buyer account 456 whose bidder is 123: `bidders/123/accounts/456/filterSets/abc`", +"location": "path", +"pattern": "^bidders/[^/]+/filterSets/[^/]+$", +"required": true, +"type": "string" +}, +"pageSize": { +"description": "Requested page size. The server may return fewer results than requested. If unspecified, the server will pick an appropriate default.", +"format": "int32", +"location": "query", +"type": "integer" +}, +"pageToken": { +"description": "A token identifying a page of results the server should return. Typically, this is the value of ListNonBillableWinningBidsResponse.nextPageToken returned from the previous call to the nonBillableWinningBids.list method.", +"location": "query", +"type": "string" +} +}, +"path": "v2beta1/{+filterSetName}/nonBillableWinningBids", +"response": { +"$ref": "ListNonBillableWinningBidsResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/adexchange.buyer" +] +} +} +} +} +} +} +}, +"buyers": { +"resources": { +"filterSets": { +"methods": { +"create": { +"description": "Creates the specified filter set for the account with the given account ID.", +"flatPath": "v2beta1/buyers/{buyersId}/filterSets", +"httpMethod": "POST", +"id": "adexchangebuyer2.buyers.filterSets.create", +"parameterOrder": [ +"ownerName" +], +"parameters": { +"isTransient": { +"description": "Whether the filter set is transient, or should be persisted indefinitely. By default, filter sets are not transient. If transient, it will be available for at least 1 hour after creation.", +"location": "query", +"type": "boolean" +}, +"ownerName": { +"description": "Name of the owner (bidder or account) of the filter set to be created. For example: - For a bidder-level filter set for bidder 123: `bidders/123` - For an account-level filter set for the buyer account representing bidder 123: `bidders/123/accounts/123` - For an account-level filter set for the child seat buyer account 456 whose bidder is 123: `bidders/123/accounts/456`", +"location": "path", +"pattern": "^buyers/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v2beta1/{+ownerName}/filterSets", +"request": { +"$ref": "FilterSet" +}, +"response": { +"$ref": "FilterSet" +}, +"scopes": [ +"https://www.googleapis.com/auth/adexchange.buyer" +] +}, +"delete": { +"description": "Deletes the requested filter set from the account with the given account ID.", +"flatPath": "v2beta1/buyers/{buyersId}/filterSets/{filterSetsId}", +"httpMethod": "DELETE", +"id": "adexchangebuyer2.buyers.filterSets.delete", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Full name of the resource to delete. For example: - For a bidder-level filter set for bidder 123: `bidders/123/filterSets/abc` - For an account-level filter set for the buyer account representing bidder 123: `bidders/123/accounts/123/filterSets/abc` - For an account-level filter set for the child seat buyer account 456 whose bidder is 123: `bidders/123/accounts/456/filterSets/abc`", +"location": "path", +"pattern": "^buyers/[^/]+/filterSets/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v2beta1/{+name}", +"response": { +"$ref": "Empty" +}, +"scopes": [ +"https://www.googleapis.com/auth/adexchange.buyer" +] +}, +"get": { +"description": "Retrieves the requested filter set for the account with the given account ID.", +"flatPath": "v2beta1/buyers/{buyersId}/filterSets/{filterSetsId}", +"httpMethod": "GET", +"id": "adexchangebuyer2.buyers.filterSets.get", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Full name of the resource being requested. For example: - For a bidder-level filter set for bidder 123: `bidders/123/filterSets/abc` - For an account-level filter set for the buyer account representing bidder 123: `bidders/123/accounts/123/filterSets/abc` - For an account-level filter set for the child seat buyer account 456 whose bidder is 123: `bidders/123/accounts/456/filterSets/abc`", +"location": "path", +"pattern": "^buyers/[^/]+/filterSets/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v2beta1/{+name}", +"response": { +"$ref": "FilterSet" +}, +"scopes": [ +"https://www.googleapis.com/auth/adexchange.buyer" +] +}, +"list": { +"description": "Lists all filter sets for the account with the given account ID.", +"flatPath": "v2beta1/buyers/{buyersId}/filterSets", +"httpMethod": "GET", +"id": "adexchangebuyer2.buyers.filterSets.list", +"parameterOrder": [ +"ownerName" +], +"parameters": { +"ownerName": { +"description": "Name of the owner (bidder or account) of the filter sets to be listed. For example: - For a bidder-level filter set for bidder 123: `bidders/123` - For an account-level filter set for the buyer account representing bidder 123: `bidders/123/accounts/123` - For an account-level filter set for the child seat buyer account 456 whose bidder is 123: `bidders/123/accounts/456`", +"location": "path", +"pattern": "^buyers/[^/]+$", +"required": true, +"type": "string" +}, +"pageSize": { +"description": "Requested page size. The server may return fewer results than requested. If unspecified, the server will pick an appropriate default.", +"format": "int32", +"location": "query", +"type": "integer" +}, +"pageToken": { +"description": "A token identifying a page of results the server should return. Typically, this is the value of ListFilterSetsResponse.nextPageToken returned from the previous call to the accounts.filterSets.list method.", +"location": "query", +"type": "string" +} +}, +"path": "v2beta1/{+ownerName}/filterSets", +"response": { +"$ref": "ListFilterSetsResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/adexchange.buyer" +] +} +}, +"resources": { +"bidMetrics": { +"methods": { +"list": { +"description": "Lists all metrics that are measured in terms of number of bids.", +"flatPath": "v2beta1/buyers/{buyersId}/filterSets/{filterSetsId}/bidMetrics", +"httpMethod": "GET", +"id": "adexchangebuyer2.buyers.filterSets.bidMetrics.list", +"parameterOrder": [ +"filterSetName" +], +"parameters": { +"filterSetName": { +"description": "Name of the filter set that should be applied to the requested metrics. For example: - For a bidder-level filter set for bidder 123: `bidders/123/filterSets/abc` - For an account-level filter set for the buyer account representing bidder 123: `bidders/123/accounts/123/filterSets/abc` - For an account-level filter set for the child seat buyer account 456 whose bidder is 123: `bidders/123/accounts/456/filterSets/abc`", +"location": "path", +"pattern": "^buyers/[^/]+/filterSets/[^/]+$", +"required": true, +"type": "string" +}, +"pageSize": { +"description": "Requested page size. The server may return fewer results than requested. If unspecified, the server will pick an appropriate default.", +"format": "int32", +"location": "query", +"type": "integer" +}, +"pageToken": { +"description": "A token identifying a page of results the server should return. Typically, this is the value of ListBidMetricsResponse.nextPageToken returned from the previous call to the bidMetrics.list method.", +"location": "query", +"type": "string" +} +}, +"path": "v2beta1/{+filterSetName}/bidMetrics", +"response": { +"$ref": "ListBidMetricsResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/adexchange.buyer" +] +} +} +}, +"bidResponseErrors": { +"methods": { +"list": { +"description": "List all errors that occurred in bid responses, with the number of bid responses affected for each reason.", +"flatPath": "v2beta1/buyers/{buyersId}/filterSets/{filterSetsId}/bidResponseErrors", +"httpMethod": "GET", +"id": "adexchangebuyer2.buyers.filterSets.bidResponseErrors.list", +"parameterOrder": [ +"filterSetName" +], +"parameters": { +"filterSetName": { +"description": "Name of the filter set that should be applied to the requested metrics. For example: - For a bidder-level filter set for bidder 123: `bidders/123/filterSets/abc` - For an account-level filter set for the buyer account representing bidder 123: `bidders/123/accounts/123/filterSets/abc` - For an account-level filter set for the child seat buyer account 456 whose bidder is 123: `bidders/123/accounts/456/filterSets/abc`", +"location": "path", +"pattern": "^buyers/[^/]+/filterSets/[^/]+$", +"required": true, +"type": "string" +}, +"pageSize": { +"description": "Requested page size. The server may return fewer results than requested. If unspecified, the server will pick an appropriate default.", +"format": "int32", +"location": "query", +"type": "integer" +}, +"pageToken": { +"description": "A token identifying a page of results the server should return. Typically, this is the value of ListBidResponseErrorsResponse.nextPageToken returned from the previous call to the bidResponseErrors.list method.", +"location": "query", +"type": "string" +} +}, +"path": "v2beta1/{+filterSetName}/bidResponseErrors", +"response": { +"$ref": "ListBidResponseErrorsResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/adexchange.buyer" +] +} +} +}, +"bidResponsesWithoutBids": { +"methods": { +"list": { +"description": "List all reasons for which bid responses were considered to have no applicable bids, with the number of bid responses affected for each reason.", +"flatPath": "v2beta1/buyers/{buyersId}/filterSets/{filterSetsId}/bidResponsesWithoutBids", +"httpMethod": "GET", +"id": "adexchangebuyer2.buyers.filterSets.bidResponsesWithoutBids.list", +"parameterOrder": [ +"filterSetName" +], +"parameters": { +"filterSetName": { +"description": "Name of the filter set that should be applied to the requested metrics. For example: - For a bidder-level filter set for bidder 123: `bidders/123/filterSets/abc` - For an account-level filter set for the buyer account representing bidder 123: `bidders/123/accounts/123/filterSets/abc` - For an account-level filter set for the child seat buyer account 456 whose bidder is 123: `bidders/123/accounts/456/filterSets/abc`", +"location": "path", +"pattern": "^buyers/[^/]+/filterSets/[^/]+$", +"required": true, +"type": "string" +}, +"pageSize": { +"description": "Requested page size. The server may return fewer results than requested. If unspecified, the server will pick an appropriate default.", +"format": "int32", +"location": "query", +"type": "integer" +}, +"pageToken": { +"description": "A token identifying a page of results the server should return. Typically, this is the value of ListBidResponsesWithoutBidsResponse.nextPageToken returned from the previous call to the bidResponsesWithoutBids.list method.", +"location": "query", +"type": "string" +} +}, +"path": "v2beta1/{+filterSetName}/bidResponsesWithoutBids", +"response": { +"$ref": "ListBidResponsesWithoutBidsResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/adexchange.buyer" +] +} +} +}, +"filteredBidRequests": { +"methods": { +"list": { +"description": "List all reasons that caused a bid request not to be sent for an impression, with the number of bid requests not sent for each reason.", +"flatPath": "v2beta1/buyers/{buyersId}/filterSets/{filterSetsId}/filteredBidRequests", +"httpMethod": "GET", +"id": "adexchangebuyer2.buyers.filterSets.filteredBidRequests.list", +"parameterOrder": [ +"filterSetName" +], +"parameters": { +"filterSetName": { +"description": "Name of the filter set that should be applied to the requested metrics. For example: - For a bidder-level filter set for bidder 123: `bidders/123/filterSets/abc` - For an account-level filter set for the buyer account representing bidder 123: `bidders/123/accounts/123/filterSets/abc` - For an account-level filter set for the child seat buyer account 456 whose bidder is 123: `bidders/123/accounts/456/filterSets/abc`", +"location": "path", +"pattern": "^buyers/[^/]+/filterSets/[^/]+$", +"required": true, +"type": "string" +}, +"pageSize": { +"description": "Requested page size. The server may return fewer results than requested. If unspecified, the server will pick an appropriate default.", +"format": "int32", +"location": "query", +"type": "integer" +}, +"pageToken": { +"description": "A token identifying a page of results the server should return. Typically, this is the value of ListFilteredBidRequestsResponse.nextPageToken returned from the previous call to the filteredBidRequests.list method.", +"location": "query", +"type": "string" +} +}, +"path": "v2beta1/{+filterSetName}/filteredBidRequests", +"response": { +"$ref": "ListFilteredBidRequestsResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/adexchange.buyer" +] +} +} +}, +"filteredBids": { +"methods": { +"list": { +"description": "List all reasons for which bids were filtered, with the number of bids filtered for each reason.", +"flatPath": "v2beta1/buyers/{buyersId}/filterSets/{filterSetsId}/filteredBids", +"httpMethod": "GET", +"id": "adexchangebuyer2.buyers.filterSets.filteredBids.list", +"parameterOrder": [ +"filterSetName" +], +"parameters": { +"filterSetName": { +"description": "Name of the filter set that should be applied to the requested metrics. For example: - For a bidder-level filter set for bidder 123: `bidders/123/filterSets/abc` - For an account-level filter set for the buyer account representing bidder 123: `bidders/123/accounts/123/filterSets/abc` - For an account-level filter set for the child seat buyer account 456 whose bidder is 123: `bidders/123/accounts/456/filterSets/abc`", +"location": "path", +"pattern": "^buyers/[^/]+/filterSets/[^/]+$", +"required": true, +"type": "string" +}, +"pageSize": { +"description": "Requested page size. The server may return fewer results than requested. If unspecified, the server will pick an appropriate default.", +"format": "int32", +"location": "query", +"type": "integer" +}, +"pageToken": { +"description": "A token identifying a page of results the server should return. Typically, this is the value of ListFilteredBidsResponse.nextPageToken returned from the previous call to the filteredBids.list method.", +"location": "query", +"type": "string" +} +}, +"path": "v2beta1/{+filterSetName}/filteredBids", +"response": { +"$ref": "ListFilteredBidsResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/adexchange.buyer" +] +} +}, +"resources": { +"creatives": { +"methods": { +"list": { +"description": "List all creatives associated with a specific reason for which bids were filtered, with the number of bids filtered for each creative.", +"flatPath": "v2beta1/buyers/{buyersId}/filterSets/{filterSetsId}/filteredBids/{creativeStatusId}/creatives", +"httpMethod": "GET", +"id": "adexchangebuyer2.buyers.filterSets.filteredBids.creatives.list", +"parameterOrder": [ +"filterSetName", +"creativeStatusId" +], +"parameters": { +"creativeStatusId": { +"description": "The ID of the creative status for which to retrieve a breakdown by creative. See [creative-status-codes](https://developers.google.com/authorized-buyers/rtb/downloads/creative-status-codes).", +"format": "int32", +"location": "path", +"required": true, +"type": "integer" +}, +"filterSetName": { +"description": "Name of the filter set that should be applied to the requested metrics. For example: - For a bidder-level filter set for bidder 123: `bidders/123/filterSets/abc` - For an account-level filter set for the buyer account representing bidder 123: `bidders/123/accounts/123/filterSets/abc` - For an account-level filter set for the child seat buyer account 456 whose bidder is 123: `bidders/123/accounts/456/filterSets/abc`", +"location": "path", +"pattern": "^buyers/[^/]+/filterSets/[^/]+$", +"required": true, +"type": "string" +}, +"pageSize": { +"description": "Requested page size. The server may return fewer results than requested. If unspecified, the server will pick an appropriate default.", +"format": "int32", +"location": "query", +"type": "integer" +}, +"pageToken": { +"description": "A token identifying a page of results the server should return. Typically, this is the value of ListCreativeStatusBreakdownByCreativeResponse.nextPageToken returned from the previous call to the filteredBids.creatives.list method.", +"location": "query", +"type": "string" +} +}, +"path": "v2beta1/{+filterSetName}/filteredBids/{creativeStatusId}/creatives", +"response": { +"$ref": "ListCreativeStatusBreakdownByCreativeResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/adexchange.buyer" +] +} +} +}, +"details": { +"methods": { +"list": { +"description": "List all details associated with a specific reason for which bids were filtered, with the number of bids filtered for each detail.", +"flatPath": "v2beta1/buyers/{buyersId}/filterSets/{filterSetsId}/filteredBids/{creativeStatusId}/details", +"httpMethod": "GET", +"id": "adexchangebuyer2.buyers.filterSets.filteredBids.details.list", +"parameterOrder": [ +"filterSetName", +"creativeStatusId" +], +"parameters": { +"creativeStatusId": { +"description": "The ID of the creative status for which to retrieve a breakdown by detail. See [creative-status-codes](https://developers.google.com/authorized-buyers/rtb/downloads/creative-status-codes). Details are only available for statuses 10, 14, 15, 17, 18, 19, 86, and 87.", +"format": "int32", +"location": "path", +"required": true, +"type": "integer" +}, +"filterSetName": { +"description": "Name of the filter set that should be applied to the requested metrics. For example: - For a bidder-level filter set for bidder 123: `bidders/123/filterSets/abc` - For an account-level filter set for the buyer account representing bidder 123: `bidders/123/accounts/123/filterSets/abc` - For an account-level filter set for the child seat buyer account 456 whose bidder is 123: `bidders/123/accounts/456/filterSets/abc`", +"location": "path", +"pattern": "^buyers/[^/]+/filterSets/[^/]+$", +"required": true, +"type": "string" +}, +"pageSize": { +"description": "Requested page size. The server may return fewer results than requested. If unspecified, the server will pick an appropriate default.", +"format": "int32", +"location": "query", +"type": "integer" +}, +"pageToken": { +"description": "A token identifying a page of results the server should return. Typically, this is the value of ListCreativeStatusBreakdownByDetailResponse.nextPageToken returned from the previous call to the filteredBids.details.list method.", +"location": "query", +"type": "string" +} +}, +"path": "v2beta1/{+filterSetName}/filteredBids/{creativeStatusId}/details", +"response": { +"$ref": "ListCreativeStatusBreakdownByDetailResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/adexchange.buyer" +] +} +} +} +} +}, +"impressionMetrics": { +"methods": { +"list": { +"description": "Lists all metrics that are measured in terms of number of impressions.", +"flatPath": "v2beta1/buyers/{buyersId}/filterSets/{filterSetsId}/impressionMetrics", +"httpMethod": "GET", +"id": "adexchangebuyer2.buyers.filterSets.impressionMetrics.list", +"parameterOrder": [ +"filterSetName" +], +"parameters": { +"filterSetName": { +"description": "Name of the filter set that should be applied to the requested metrics. For example: - For a bidder-level filter set for bidder 123: `bidders/123/filterSets/abc` - For an account-level filter set for the buyer account representing bidder 123: `bidders/123/accounts/123/filterSets/abc` - For an account-level filter set for the child seat buyer account 456 whose bidder is 123: `bidders/123/accounts/456/filterSets/abc`", +"location": "path", +"pattern": "^buyers/[^/]+/filterSets/[^/]+$", +"required": true, +"type": "string" +}, +"pageSize": { +"description": "Requested page size. The server may return fewer results than requested. If unspecified, the server will pick an appropriate default.", +"format": "int32", +"location": "query", +"type": "integer" +}, +"pageToken": { +"description": "A token identifying a page of results the server should return. Typically, this is the value of ListImpressionMetricsResponse.nextPageToken returned from the previous call to the impressionMetrics.list method.", +"location": "query", +"type": "string" +} +}, +"path": "v2beta1/{+filterSetName}/impressionMetrics", +"response": { +"$ref": "ListImpressionMetricsResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/adexchange.buyer" +] +} +} +}, +"losingBids": { +"methods": { +"list": { +"description": "List all reasons for which bids lost in the auction, with the number of bids that lost for each reason.", +"flatPath": "v2beta1/buyers/{buyersId}/filterSets/{filterSetsId}/losingBids", +"httpMethod": "GET", +"id": "adexchangebuyer2.buyers.filterSets.losingBids.list", +"parameterOrder": [ +"filterSetName" +], +"parameters": { +"filterSetName": { +"description": "Name of the filter set that should be applied to the requested metrics. For example: - For a bidder-level filter set for bidder 123: `bidders/123/filterSets/abc` - For an account-level filter set for the buyer account representing bidder 123: `bidders/123/accounts/123/filterSets/abc` - For an account-level filter set for the child seat buyer account 456 whose bidder is 123: `bidders/123/accounts/456/filterSets/abc`", +"location": "path", +"pattern": "^buyers/[^/]+/filterSets/[^/]+$", +"required": true, +"type": "string" +}, +"pageSize": { +"description": "Requested page size. The server may return fewer results than requested. If unspecified, the server will pick an appropriate default.", +"format": "int32", +"location": "query", +"type": "integer" +}, +"pageToken": { +"description": "A token identifying a page of results the server should return. Typically, this is the value of ListLosingBidsResponse.nextPageToken returned from the previous call to the losingBids.list method.", +"location": "query", +"type": "string" +} +}, +"path": "v2beta1/{+filterSetName}/losingBids", +"response": { +"$ref": "ListLosingBidsResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/adexchange.buyer" +] +} +} +}, +"nonBillableWinningBids": { +"methods": { +"list": { +"description": "List all reasons for which winning bids were not billable, with the number of bids not billed for each reason.", +"flatPath": "v2beta1/buyers/{buyersId}/filterSets/{filterSetsId}/nonBillableWinningBids", +"httpMethod": "GET", +"id": "adexchangebuyer2.buyers.filterSets.nonBillableWinningBids.list", +"parameterOrder": [ +"filterSetName" +], +"parameters": { +"filterSetName": { +"description": "Name of the filter set that should be applied to the requested metrics. For example: - For a bidder-level filter set for bidder 123: `bidders/123/filterSets/abc` - For an account-level filter set for the buyer account representing bidder 123: `bidders/123/accounts/123/filterSets/abc` - For an account-level filter set for the child seat buyer account 456 whose bidder is 123: `bidders/123/accounts/456/filterSets/abc`", +"location": "path", +"pattern": "^buyers/[^/]+/filterSets/[^/]+$", +"required": true, +"type": "string" +}, +"pageSize": { +"description": "Requested page size. The server may return fewer results than requested. If unspecified, the server will pick an appropriate default.", +"format": "int32", +"location": "query", +"type": "integer" +}, +"pageToken": { +"description": "A token identifying a page of results the server should return. Typically, this is the value of ListNonBillableWinningBidsResponse.nextPageToken returned from the previous call to the nonBillableWinningBids.list method.", +"location": "query", +"type": "string" +} +}, +"path": "v2beta1/{+filterSetName}/nonBillableWinningBids", +"response": { +"$ref": "ListNonBillableWinningBidsResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/adexchange.buyer" +] +} +} +} +} +} +} +} +}, +"revision": "20241002", +"rootUrl": "https://adexchangebuyer.googleapis.com/", +"schemas": { +"AbsoluteDateRange": { +"description": "An absolute date range, specified by its start date and end date. The supported range of dates begins 30 days before today and ends today. Validity checked upon filter set creation. If a filter set with an absolute date range is run at a later date more than 30 days after start_date, it will fail.", +"id": "AbsoluteDateRange", +"properties": { +"endDate": { +"$ref": "Date", +"description": "The end date of the range (inclusive). Must be within the 30 days leading up to current date, and must be equal to or after start_date." +}, +"startDate": { +"$ref": "Date", +"description": "The start date of the range (inclusive). Must be within the 30 days leading up to current date, and must be equal to or before end_date." +} +}, +"type": "object" +}, +"AcceptProposalRequest": { +"description": "Request to accept a proposal.", +"id": "AcceptProposalRequest", +"properties": { +"proposalRevision": { +"description": "The last known client revision number of the proposal.", +"format": "int64", +"type": "string" +} +}, +"type": "object" +}, +"AdSize": { +"description": "Represents size of a single ad slot, or a creative.", +"id": "AdSize", +"properties": { +"height": { +"description": "The height of the ad slot in pixels. This field will be present only when size type is `PIXEL`.", +"format": "int64", +"type": "string" +}, +"sizeType": { +"description": "The size type of the ad slot.", +"enum": [ +"SIZE_TYPE_UNSPECIFIED", +"PIXEL", +"INTERSTITIAL", +"NATIVE", +"FLUID" +], +"enumDescriptions": [ +"A placeholder for an undefined size type.", +"Ad slot with size specified by height and width in pixels.", +"Special size to describe an interstitial ad slot.", +"Native (mobile) ads rendered by the publisher.", +"Fluid size (for example, responsive size) can be resized automatically with the change of outside environment." +], +"type": "string" +}, +"width": { +"description": "The width of the ad slot in pixels. This field will be present only when size type is `PIXEL`.", +"format": "int64", +"type": "string" +} +}, +"type": "object" +}, +"AdTechnologyProviders": { +"description": "Detected ad technology provider information.", +"id": "AdTechnologyProviders", +"properties": { +"detectedProviderIds": { +"description": "The detected ad technology provider IDs for this creative. See https://storage.googleapis.com/adx-rtb-dictionaries/providers.csv for mapping of provider ID to provided name, a privacy policy URL, and a list of domains which can be attributed to the provider. If the creative contains provider IDs that are outside of those listed in the `BidRequest.adslot.consented_providers_settings.consented_providers` field on the (Google bid protocol)[https://developers.google.com/authorized-buyers/rtb/downloads/realtime-bidding-proto] and the `BidRequest.user.ext.consented_providers_settings.consented_providers` field on the (OpenRTB protocol)[https://developers.google.com/authorized-buyers/rtb/downloads/openrtb-adx-proto], and a bid is submitted with that creative for an impression that will serve to an EEA user, the bid will be filtered before the auction.", +"items": { +"format": "int64", +"type": "string" +}, +"type": "array" +}, +"hasUnidentifiedProvider": { +"description": "Whether the creative contains an unidentified ad technology provider. If true for a given creative, any bid submitted with that creative for an impression that will serve to an EEA user will be filtered before the auction.", +"type": "boolean" +} +}, +"type": "object" +}, +"AddDealAssociationRequest": { +"description": "A request for associating a deal and a creative.", +"id": "AddDealAssociationRequest", +"properties": { +"association": { +"$ref": "CreativeDealAssociation", +"description": "The association between a creative and a deal that should be added." +} +}, +"type": "object" +}, +"AddNoteRequest": { +"description": "Request message for adding a note to a given proposal.", +"id": "AddNoteRequest", +"properties": { +"note": { +"$ref": "Note", +"description": "Details of the note to add." +} +}, +"type": "object" +}, +"AppContext": { +"description": "Output only. The app type the restriction applies to for mobile device.", +"id": "AppContext", +"properties": { +"appTypes": { +"description": "The app types this restriction applies to.", +"items": { +"enum": [ +"NATIVE", +"WEB" +], +"enumDescriptions": [ +"Native app context.", +"Mobile web app context." +], +"type": "string" +}, +"type": "array" +} +}, +"type": "object" +}, +"AuctionContext": { +"description": "Output only. The auction type the restriction applies to.", +"id": "AuctionContext", +"properties": { +"auctionTypes": { +"description": "The auction types this restriction applies to.", +"items": { +"enum": [ +"OPEN_AUCTION", +"DIRECT_DEALS" +], +"enumDescriptions": [ +"The restriction applies to open auction.", +"The restriction applies to direct deals." +], +"type": "string" +}, +"type": "array" +} +}, +"type": "object" +}, +"BidMetricsRow": { +"description": "The set of metrics that are measured in numbers of bids, representing how many bids with the specified dimension values were considered eligible at each stage of the bidding funnel;", +"id": "BidMetricsRow", +"properties": { +"bids": { +"$ref": "MetricValue", +"description": "The number of bids that Ad Exchange received from the buyer." +}, +"bidsInAuction": { +"$ref": "MetricValue", +"description": "The number of bids that were permitted to compete in the auction." +}, +"billedImpressions": { +"$ref": "MetricValue", +"description": "The number of bids for which the buyer was billed. Also called valid impressions as invalid impressions are not billed." +}, +"impressionsWon": { +"$ref": "MetricValue", +"description": "The number of bids that won the auction." +}, +"measurableImpressions": { +"$ref": "MetricValue", +"description": "The number of bids for which the corresponding impression was measurable for viewability (as defined by Active View)." +}, +"reachedQueries": { +"$ref": "MetricValue", +"description": "The number of bids that won the auction and also won the mediation waterfall (if any)." +}, +"rowDimensions": { +"$ref": "RowDimensions", +"description": "The values of all dimensions associated with metric values in this row." +}, +"viewableImpressions": { +"$ref": "MetricValue", +"description": "The number of bids for which the corresponding impression was viewable (as defined by Active View)." +} +}, +"type": "object" +}, +"BidResponseWithoutBidsStatusRow": { +"description": "The number of impressions with the specified dimension values that were considered to have no applicable bids, as described by the specified status.", +"id": "BidResponseWithoutBidsStatusRow", +"properties": { +"impressionCount": { +"$ref": "MetricValue", +"description": "The number of impressions for which there was a bid response with the specified status." +}, +"rowDimensions": { +"$ref": "RowDimensions", +"description": "The values of all dimensions associated with metric values in this row." +}, +"status": { +"description": "The status specifying why the bid responses were considered to have no applicable bids.", +"enum": [ +"STATUS_UNSPECIFIED", +"RESPONSES_WITHOUT_BIDS", +"RESPONSES_WITHOUT_BIDS_FOR_ACCOUNT", +"RESPONSES_WITHOUT_BIDS_FOR_DEAL" +], +"enumDescriptions": [ +"A placeholder for an undefined status. This value will never be returned in responses.", +"The response had no bids.", +"The response had no bids for the specified account, though it may have included bids on behalf of other accounts. Applies if: 1. Request is on behalf of a bidder and an account filter is present. 2. Request is on behalf of a child seat.", +"The response had no bids for the specified deal, though it may have included bids on other deals on behalf of the account to which the deal belongs. If request is on behalf of a bidder and an account filter is not present, this also includes responses that have bids on behalf of accounts other than the account to which the deal belongs." +], +"type": "string" +} +}, +"type": "object" +}, +"Buyer": { +"description": "Represents a buyer of inventory. Each buyer is identified by a unique Authorized Buyers account ID.", +"id": "Buyer", +"properties": { +"accountId": { +"description": "Authorized Buyers account ID of the buyer.", +"type": "string" +} +}, +"type": "object" +}, +"CalloutStatusRow": { +"description": "The number of impressions with the specified dimension values where the corresponding bid request or bid response was not successful, as described by the specified callout status.", +"id": "CalloutStatusRow", +"properties": { +"calloutStatusId": { +"description": "The ID of the callout status. See [callout-status-codes](https://developers.google.com/authorized-buyers/rtb/downloads/callout-status-codes).", +"format": "int32", +"type": "integer" +}, +"impressionCount": { +"$ref": "MetricValue", +"description": "The number of impressions for which there was a bid request or bid response with the specified callout status." +}, +"rowDimensions": { +"$ref": "RowDimensions", +"description": "The values of all dimensions associated with metric values in this row." +} +}, +"type": "object" +}, +"CancelNegotiationRequest": { +"description": "Request to cancel an ongoing negotiation.", +"id": "CancelNegotiationRequest", +"properties": {}, +"type": "object" +}, +"Client": { +"description": "A client resource represents a client buyer\u2014an agency, a brand, or an advertiser customer of the sponsor buyer. Users associated with the client buyer have restricted access to the Marketplace and certain other sections of the Authorized Buyers UI based on the role granted to the client buyer. All fields are required unless otherwise specified.", +"id": "Client", +"properties": { +"clientAccountId": { +"description": "The globally-unique numerical ID of the client. The value of this field is ignored in create and update operations.", +"format": "int64", +"type": "string" +}, +"clientName": { +"description": "Name used to represent this client to publishers. You may have multiple clients that map to the same entity, but for each client the combination of `clientName` and entity must be unique. You can specify this field as empty. Maximum length of 255 characters is allowed.", +"type": "string" +}, +"entityId": { +"description": "Numerical identifier of the client entity. The entity can be an advertiser, a brand, or an agency. This identifier is unique among all the entities with the same type. The value of this field is ignored if the entity type is not provided. A list of all known advertisers with their identifiers is available in the [advertisers.txt](https://storage.googleapis.com/adx-rtb-dictionaries/advertisers.txt) file. A list of all known brands with their identifiers is available in the [brands.txt](https://storage.googleapis.com/adx-rtb-dictionaries/brands.txt) file. A list of all known agencies with their identifiers is available in the [agencies.txt](https://storage.googleapis.com/adx-rtb-dictionaries/agencies.txt) file.", +"format": "int64", +"type": "string" +}, +"entityName": { +"description": "The name of the entity. This field is automatically fetched based on the type and ID. The value of this field is ignored in create and update operations.", +"type": "string" +}, +"entityType": { +"description": "An optional field for specifying the type of the client entity: `ADVERTISER`, `BRAND`, or `AGENCY`.", +"enum": [ +"ENTITY_TYPE_UNSPECIFIED", +"ADVERTISER", +"BRAND", +"AGENCY", +"ENTITY_TYPE_UNCLASSIFIED" +], +"enumDescriptions": [ +"A placeholder for an undefined client entity type. Should not be used.", +"An advertiser.", +"A brand.", +"An advertising agency.", +"An explicit value for a client that was not yet classified as any particular entity." +], +"type": "string" +}, +"partnerClientId": { +"description": "Optional arbitrary unique identifier of this client buyer from the standpoint of its Ad Exchange sponsor buyer. This field can be used to associate a client buyer with the identifier in the namespace of its sponsor buyer, lookup client buyers by that identifier and verify whether an Ad Exchange counterpart of a given client buyer already exists. If present, must be unique among all the client buyers for its Ad Exchange sponsor buyer.", +"type": "string" +}, +"role": { +"description": "The role which is assigned to the client buyer. Each role implies a set of permissions granted to the client. Must be one of `CLIENT_DEAL_VIEWER`, `CLIENT_DEAL_NEGOTIATOR` or `CLIENT_DEAL_APPROVER`.", +"enum": [ +"CLIENT_ROLE_UNSPECIFIED", +"CLIENT_DEAL_VIEWER", +"CLIENT_DEAL_NEGOTIATOR", +"CLIENT_DEAL_APPROVER" +], +"enumDescriptions": [ +"A placeholder for an undefined client role.", +"Users associated with this client can see publisher deal offers in the Marketplace. They can neither negotiate proposals nor approve deals. If this client is visible to publishers, they can send deal proposals to this client.", +"Users associated with this client can respond to deal proposals sent to them by publishers. They can also initiate deal proposals of their own.", +"Users associated with this client can approve eligible deals on your behalf. Some deals may still explicitly require publisher finalization. If this role is not selected, the sponsor buyer will need to manually approve each of their deals." +], +"type": "string" +}, +"status": { +"description": "The status of the client buyer.", +"enum": [ +"CLIENT_STATUS_UNSPECIFIED", +"DISABLED", +"ACTIVE" +], +"enumDescriptions": [ +"A placeholder for an undefined client status.", +"A client that is currently disabled.", +"A client that is currently active." +], +"type": "string" +}, +"visibleToSeller": { +"description": "Whether the client buyer will be visible to sellers.", +"type": "boolean" +} +}, +"type": "object" +}, +"ClientUser": { +"description": "A client user is created under a client buyer and has restricted access to the Marketplace and certain other sections of the Authorized Buyers UI based on the role granted to the associated client buyer. The only way a new client user can be created is through accepting an email invitation (see the accounts.clients.invitations.create method). All fields are required unless otherwise specified.", +"id": "ClientUser", +"properties": { +"clientAccountId": { +"description": "Numerical account ID of the client buyer with which the user is associated; the buyer must be a client of the current sponsor buyer. The value of this field is ignored in an update operation.", +"format": "int64", +"type": "string" +}, +"email": { +"description": "User's email address. The value of this field is ignored in an update operation.", +"type": "string" +}, +"status": { +"description": "The status of the client user.", +"enum": [ +"USER_STATUS_UNSPECIFIED", +"PENDING", +"ACTIVE", +"DISABLED" +], +"enumDescriptions": [ +"A placeholder for an undefined user status.", +"A user who was already created but hasn't accepted the invitation yet.", +"A user that is currently active.", +"A user that is currently disabled." +], +"type": "string" +}, +"userId": { +"description": "The unique numerical ID of the client user that has accepted an invitation. The value of this field is ignored in an update operation.", +"format": "int64", +"type": "string" +} +}, +"type": "object" +}, +"ClientUserInvitation": { +"description": "An invitation for a new client user to get access to the Authorized Buyers UI. All fields are required unless otherwise specified.", +"id": "ClientUserInvitation", +"properties": { +"clientAccountId": { +"description": "Numerical account ID of the client buyer that the invited user is associated with. The value of this field is ignored in create operations.", +"format": "int64", +"type": "string" +}, +"email": { +"description": "The email address to which the invitation is sent. Email addresses should be unique among all client users under each sponsor buyer.", +"type": "string" +}, +"invitationId": { +"description": "The unique numerical ID of the invitation that is sent to the user. The value of this field is ignored in create operations.", +"format": "int64", +"type": "string" +} +}, +"type": "object" +}, +"CompleteSetupRequest": { +"description": "Request message for indicating that the proposal's setup step is complete.", +"id": "CompleteSetupRequest", +"properties": {}, +"type": "object" +}, +"ContactInformation": { +"description": "Contains information on how a buyer or seller can be reached.", +"id": "ContactInformation", +"properties": { +"email": { +"description": "Email address for the contact.", +"type": "string" +}, +"name": { +"description": "The name of the contact.", +"type": "string" +} +}, +"type": "object" +}, +"Correction": { +"description": "Output only. Shows any corrections that were applied to this creative.", +"id": "Correction", +"properties": { +"contexts": { +"description": "The contexts for the correction.", +"items": { +"$ref": "ServingContext" +}, +"type": "array" +}, +"details": { +"description": "Additional details about what was corrected.", +"items": { +"type": "string" +}, +"type": "array" +}, +"type": { +"description": "The type of correction that was applied to the creative.", +"enum": [ +"CORRECTION_TYPE_UNSPECIFIED", +"VENDOR_IDS_ADDED", +"SSL_ATTRIBUTE_REMOVED", +"FLASH_FREE_ATTRIBUTE_REMOVED", +"FLASH_FREE_ATTRIBUTE_ADDED", +"REQUIRED_ATTRIBUTE_ADDED", +"REQUIRED_VENDOR_ADDED", +"SSL_ATTRIBUTE_ADDED", +"IN_BANNER_VIDEO_ATTRIBUTE_ADDED", +"MRAID_ATTRIBUTE_ADDED", +"FLASH_ATTRIBUTE_REMOVED", +"VIDEO_IN_SNIPPET_ATTRIBUTE_ADDED" +], +"enumDescriptions": [ +"The correction type is unknown. Refer to the details for more information.", +"The ad's declared vendors did not match the vendors that were detected. The detected vendors were added.", +"The ad had the SSL attribute declared but was not SSL-compliant. The SSL attribute was removed.", +"The ad was declared as Flash-free but contained Flash, so the Flash-free attribute was removed.", +"The ad was not declared as Flash-free but it did not reference any flash content, so the Flash-free attribute was added.", +"The ad did not declare a required creative attribute. The attribute was added.", +"The ad did not declare a required technology vendor. The technology vendor was added.", +"The ad did not declare the SSL attribute but was SSL-compliant, so the SSL attribute was added.", +"Properties consistent with In-banner video were found, so an In-Banner Video attribute was added.", +"The ad makes calls to the MRAID API so the MRAID attribute was added.", +"The ad unnecessarily declared the Flash attribute, so the Flash attribute was removed.", +"The ad contains video content." +], +"type": "string" +} +}, +"type": "object" +}, +"Creative": { +"description": "A creative and its classification data.", +"id": "Creative", +"properties": { +"accountId": { +"description": "The account that this creative belongs to. Can be used to filter the response of the creatives.list method.", +"type": "string" +}, +"adChoicesDestinationUrl": { +"description": "The link to AdChoices destination page.", +"type": "string" +}, +"adTechnologyProviders": { +"$ref": "AdTechnologyProviders", +"description": "Output only. The detected ad technology providers." +}, +"advertiserName": { +"description": "The name of the company being advertised in the creative.", +"type": "string" +}, +"agencyId": { +"description": "The agency ID for this creative.", +"format": "int64", +"type": "string" +}, +"apiUpdateTime": { +"description": "Output only. The last update timestamp of the creative through the API.", +"format": "google-datetime", +"type": "string" +}, +"attributes": { +"description": "All attributes for the ads that may be shown from this creative. Can be used to filter the response of the creatives.list method.", +"items": { +"enum": [ +"ATTRIBUTE_UNSPECIFIED", +"IMAGE_RICH_MEDIA", +"ADOBE_FLASH_FLV", +"IS_TAGGED", +"IS_COOKIE_TARGETED", +"IS_USER_INTEREST_TARGETED", +"EXPANDING_DIRECTION_NONE", +"EXPANDING_DIRECTION_UP", +"EXPANDING_DIRECTION_DOWN", +"EXPANDING_DIRECTION_LEFT", +"EXPANDING_DIRECTION_RIGHT", +"EXPANDING_DIRECTION_UP_LEFT", +"EXPANDING_DIRECTION_UP_RIGHT", +"EXPANDING_DIRECTION_DOWN_LEFT", +"EXPANDING_DIRECTION_DOWN_RIGHT", +"CREATIVE_TYPE_HTML", +"CREATIVE_TYPE_VAST_VIDEO", +"EXPANDING_DIRECTION_UP_OR_DOWN", +"EXPANDING_DIRECTION_LEFT_OR_RIGHT", +"EXPANDING_DIRECTION_ANY_DIAGONAL", +"EXPANDING_ACTION_ROLLOVER_TO_EXPAND", +"INSTREAM_VAST_VIDEO_TYPE_VPAID_FLASH", +"RICH_MEDIA_CAPABILITY_TYPE_MRAID", +"RICH_MEDIA_CAPABILITY_TYPE_FLASH", +"RICH_MEDIA_CAPABILITY_TYPE_HTML5", +"SKIPPABLE_INSTREAM_VIDEO", +"RICH_MEDIA_CAPABILITY_TYPE_SSL", +"RICH_MEDIA_CAPABILITY_TYPE_NON_SSL", +"RICH_MEDIA_CAPABILITY_TYPE_INTERSTITIAL", +"NON_SKIPPABLE_INSTREAM_VIDEO", +"NATIVE_ELIGIBILITY_ELIGIBLE", +"NON_VPAID", +"NATIVE_ELIGIBILITY_NOT_ELIGIBLE", +"ANY_INTERSTITIAL", +"NON_INTERSTITIAL", +"IN_BANNER_VIDEO", +"RENDERING_SIZELESS_ADX", +"OMSDK_1_0", +"RENDERING_PLAYABLE" +], +"enumDescriptions": [ +"Do not use. This is a placeholder value only.", +"The creative is of type image/rich media. For pretargeting.", +"The creative is of video type Adobe Flash FLV. For pretargeting.", +"The creative is tagged.", +"The creative is cookie targeted.", +"The creative is user interest targeted.", +"The creative does not expand.", +"The creative expands up.", +"The creative expands down.", +"The creative expands left.", +"The creative expands right.", +"The creative expands up and left.", +"The creative expands up and right.", +"The creative expands down and left.", +"The creative expands down and right.", +"The creative type is HTML.", +"The creative type is VAST video.", +"The creative expands up or down.", +"The creative expands left or right.", +"The creative expands on any diagonal.", +"The creative expands when rolled over.", +"The instream vast video type is vpaid flash.", +"The creative is MRAID.", +"The creative is Flash.", +"The creative is HTML5.", +"The creative has an instream VAST video type of skippable instream video. For pretargeting.", +"The creative is SSL.", +"The creative is non-SSL.", +"The creative is an interstitial.", +"The creative has an instream VAST video type of non-skippable instream video. For pretargeting.", +"The creative is eligible for native.", +"The creative has an instream VAST video type of non-VPAID. For pretargeting.", +"The creative is not eligible for native.", +"The creative has an interstitial size of any interstitial. For pretargeting.", +"The creative has an interstitial size of non interstitial. For pretargeting.", +"The video type is in-banner video.", +"The creative can dynamically resize to fill a variety of slot sizes.", +"The open measurement SDK is supported.", +"The creative is considered a playable display creative." +], +"type": "string" +}, +"type": "array" +}, +"clickThroughUrls": { +"description": "The set of destination URLs for the creative.", +"items": { +"type": "string" +}, +"type": "array" +}, +"corrections": { +"deprecated": true, +"description": "Output only. Shows any corrections that were applied to this creative.", +"items": { +"$ref": "Correction" +}, +"type": "array" +}, +"creativeId": { +"description": "The buyer-defined creative ID of this creative. Can be used to filter the response of the creatives.list method.", +"type": "string" +}, +"dealsStatus": { +"description": "Output only. The top-level deals status of this creative. If disapproved, an entry for 'auctionType=DIRECT_DEALS' (or 'ALL') in serving_restrictions will also exist. Note that this may be nuanced with other contextual restrictions, in which case, it may be preferable to read from serving_restrictions directly. Can be used to filter the response of the creatives.list method.", +"enum": [ +"STATUS_UNSPECIFIED", +"NOT_CHECKED", +"CONDITIONALLY_APPROVED", +"APPROVED", +"DISAPPROVED", +"PENDING_REVIEW", +"STATUS_TYPE_UNSPECIFIED" +], +"enumDescriptions": [ +"The status is unknown.", +"The creative has not been checked.", +"The creative has been conditionally approved. See serving_restrictions for details.", +"The creative has been approved.", +"The creative has been disapproved.", +"Placeholder for transition to v1beta1. Currently not used.", +"Placeholder for transition to v1beta1. Currently not used." +], +"type": "string" +}, +"declaredClickThroughUrls": { +"description": "The set of declared destination URLs for the creative.", +"items": { +"type": "string" +}, +"type": "array" +}, +"detectedAdvertiserIds": { +"description": "Output only. Detected advertiser IDs, if any.", +"items": { +"format": "int64", +"type": "string" +}, +"type": "array" +}, +"detectedDomains": { +"description": "Output only. The detected domains for this creative.", +"items": { +"type": "string" +}, +"type": "array" +}, +"detectedLanguages": { +"description": "Output only. The detected languages for this creative. The order is arbitrary. The codes are 2 or 5 characters and are documented at https://developers.google.com/adwords/api/docs/appendix/languagecodes.", +"items": { +"type": "string" +}, +"type": "array" +}, +"detectedProductCategories": { +"description": "Output only. Detected product categories, if any. See the ad-product-categories.txt file in the technical documentation for a list of IDs.", +"items": { +"format": "int32", +"type": "integer" +}, +"type": "array" +}, +"detectedSensitiveCategories": { +"description": "Output only. Detected sensitive categories, if any. See the ad-sensitive-categories.txt file in the technical documentation for a list of IDs. You should use these IDs along with the excluded-sensitive-category field in the bid request to filter your bids.", +"items": { +"format": "int32", +"type": "integer" +}, +"type": "array" +}, +"html": { +"$ref": "HtmlContent", +"description": "An HTML creative." +}, +"impressionTrackingUrls": { +"description": "The set of URLs to be called to record an impression.", +"items": { +"type": "string" +}, +"type": "array" +}, +"native": { +"$ref": "NativeContent", +"description": "A native creative." +}, +"openAuctionStatus": { +"description": "Output only. The top-level open auction status of this creative. If disapproved, an entry for 'auctionType = OPEN_AUCTION' (or 'ALL') in serving_restrictions will also exist. Note that this may be nuanced with other contextual restrictions, in which case, it may be preferable to read from serving_restrictions directly. Can be used to filter the response of the creatives.list method.", +"enum": [ +"STATUS_UNSPECIFIED", +"NOT_CHECKED", +"CONDITIONALLY_APPROVED", +"APPROVED", +"DISAPPROVED", +"PENDING_REVIEW", +"STATUS_TYPE_UNSPECIFIED" +], +"enumDescriptions": [ +"The status is unknown.", +"The creative has not been checked.", +"The creative has been conditionally approved. See serving_restrictions for details.", +"The creative has been approved.", +"The creative has been disapproved.", +"Placeholder for transition to v1beta1. Currently not used.", +"Placeholder for transition to v1beta1. Currently not used." +], +"type": "string" +}, +"restrictedCategories": { +"description": "All restricted categories for the ads that may be shown from this creative.", +"items": { +"enum": [ +"NO_RESTRICTED_CATEGORIES", +"ALCOHOL" +], +"enumDescriptions": [ +"The ad has no restricted categories", +"The alcohol restricted category." +], +"type": "string" +}, +"type": "array" +}, +"servingRestrictions": { +"description": "Output only. The granular status of this ad in specific contexts. A context here relates to where something ultimately serves (for example, a physical location, a platform, an HTTPS versus HTTP request, or the type of auction).", +"items": { +"$ref": "ServingRestriction" +}, +"type": "array" +}, +"vendorIds": { +"description": "All vendor IDs for the ads that may be shown from this creative. See https://storage.googleapis.com/adx-rtb-dictionaries/vendors.txt for possible values.", +"items": { +"format": "int32", +"type": "integer" +}, +"type": "array" +}, +"version": { +"description": "Output only. The version of this creative.", +"format": "int32", +"type": "integer" +}, +"video": { +"$ref": "VideoContent", +"description": "A video creative." +} +}, +"type": "object" +}, +"CreativeDealAssociation": { +"description": "The association between a creative and a deal.", +"id": "CreativeDealAssociation", +"properties": { +"accountId": { +"description": "The account the creative belongs to.", +"type": "string" +}, +"creativeId": { +"description": "The ID of the creative associated with the deal.", +"type": "string" +}, +"dealsId": { +"description": "The externalDealId for the deal associated with the creative.", +"type": "string" +} +}, +"type": "object" +}, +"CreativeRestrictions": { +"description": "Represents creative restrictions associated to Programmatic Guaranteed/ Preferred Deal in Ad Manager. This doesn't apply to Private Auction and AdX Preferred Deals.", +"id": "CreativeRestrictions", +"properties": { +"creativeFormat": { +"description": "The format of the environment that the creatives will be displayed in.", +"enum": [ +"CREATIVE_FORMAT_UNSPECIFIED", +"DISPLAY", +"VIDEO" +], +"enumDescriptions": [ +"A placeholder for an undefined creative format.", +"A creative that will be displayed in environments such as a browser.", +"A video creative that will be displayed in environments such as a video player." +], +"type": "string" +}, +"creativeSpecifications": { +"items": { +"$ref": "CreativeSpecification" +}, +"type": "array" +}, +"skippableAdType": { +"description": "Skippable video ads allow viewers to skip ads after 5 seconds.", +"enum": [ +"SKIPPABLE_AD_TYPE_UNSPECIFIED", +"SKIPPABLE", +"INSTREAM_SELECT", +"NOT_SKIPPABLE" +], +"enumDescriptions": [ +"A placeholder for an undefined skippable ad type.", +"This video ad can be skipped after 5 seconds.", +"This video ad can be skipped after 5 seconds, and is counted as engaged view after 30 seconds. The creative is hosted on YouTube only, and viewcount of the YouTube video increments after the engaged view.", +"This video ad is not skippable." +], +"type": "string" +} +}, +"type": "object" +}, +"CreativeSize": { +"description": "Specifies the size of the creative.", +"id": "CreativeSize", +"properties": { +"allowedFormats": { +"description": "What formats are allowed by the publisher. If this repeated field is empty then all formats are allowed. For example, if this field contains AllowedFormatType.AUDIO then the publisher only allows an audio ad (without any video).", +"items": { +"enum": [ +"UNKNOWN", +"AUDIO" +], +"enumDescriptions": [ +"A placeholder for an undefined allowed format.", +"An audio-only ad (without any video)." +], +"type": "string" +}, +"type": "array" +}, +"companionSizes": { +"description": "For video creatives specifies the sizes of companion ads (if present). Companion sizes may be filled in only when creative_size_type = VIDEO", +"items": { +"$ref": "Size" +}, +"type": "array" +}, +"creativeSizeType": { +"description": "The creative size type.", +"enum": [ +"CREATIVE_SIZE_TYPE_UNSPECIFIED", +"REGULAR", +"INTERSTITIAL", +"VIDEO", +"NATIVE" +], +"enumDescriptions": [ +"A placeholder for an undefined creative size type.", +"The creative is a regular desktop creative.", +"The creative is an interstitial creative.", +"The creative is a video creative.", +"The creative is a native (mobile) creative." +], +"type": "string" +}, +"nativeTemplate": { +"description": "Output only. The native template for this creative. It will have a value only if creative_size_type = CreativeSizeType.NATIVE.", +"enum": [ +"UNKNOWN_NATIVE_TEMPLATE", +"NATIVE_CONTENT_AD", +"NATIVE_APP_INSTALL_AD", +"NATIVE_VIDEO_CONTENT_AD", +"NATIVE_VIDEO_APP_INSTALL_AD" +], +"enumDescriptions": [ +"A placeholder for an undefined native template.", +"The creative is linked to native content ad.", +"The creative is linked to native app install ad.", +"The creative is linked to native video content ad.", +"The creative is linked to native video app install ad." +], +"type": "string" +}, +"size": { +"$ref": "Size", +"description": "For regular or video creative size type, specifies the size of the creative" +}, +"skippableAdType": { +"description": "The type of skippable ad for this creative. It will have a value only if creative_size_type = CreativeSizeType.VIDEO.", +"enum": [ +"SKIPPABLE_AD_TYPE_UNSPECIFIED", +"GENERIC", +"INSTREAM_SELECT", +"NOT_SKIPPABLE" +], +"enumDescriptions": [ +"A placeholder for an undefined skippable ad type.", +"This video ad can be skipped after 5 seconds.", +"This video ad can be skipped after 5 seconds, and count as engaged view after 30 seconds. The creative is hosted on YouTube only, and viewcount of the YouTube video increments after the engaged view.", +"This video ad is not skippable." +], +"type": "string" +} +}, +"type": "object" +}, +"CreativeSpecification": { +"description": "Represents information for a creative that is associated with a Programmatic Guaranteed/Preferred Deal in Ad Manager.", +"id": "CreativeSpecification", +"properties": { +"creativeCompanionSizes": { +"description": "Companion sizes may be filled in only when this is a video creative.", +"items": { +"$ref": "AdSize" +}, +"type": "array" +}, +"creativeSize": { +"$ref": "AdSize", +"description": "The size of the creative." +} +}, +"type": "object" +}, +"CreativeStatusRow": { +"description": "The number of bids with the specified dimension values that did not win the auction (either were filtered pre-auction or lost the auction), as described by the specified creative status.", +"id": "CreativeStatusRow", +"properties": { +"bidCount": { +"$ref": "MetricValue", +"description": "The number of bids with the specified status." +}, +"creativeStatusId": { +"description": "The ID of the creative status. See [creative-status-codes](https://developers.google.com/authorized-buyers/rtb/downloads/creative-status-codes).", +"format": "int32", +"type": "integer" +}, +"rowDimensions": { +"$ref": "RowDimensions", +"description": "The values of all dimensions associated with metric values in this row." +} +}, +"type": "object" +}, +"CriteriaTargeting": { +"description": "Generic targeting used for targeting dimensions that contains a list of included and excluded numeric IDs.", +"id": "CriteriaTargeting", +"properties": { +"excludedCriteriaIds": { +"description": "A list of numeric IDs to be excluded.", +"items": { +"format": "int64", +"type": "string" +}, +"type": "array" +}, +"targetedCriteriaIds": { +"description": "A list of numeric IDs to be included.", +"items": { +"format": "int64", +"type": "string" +}, +"type": "array" +} +}, +"type": "object" +}, +"Date": { +"description": "Represents a whole or partial calendar date, such as a birthday. The time of day and time zone are either specified elsewhere or are insignificant. The date is relative to the Gregorian Calendar. This can represent one of the following: * A full date, with non-zero year, month, and day values. * A month and day, with a zero year (for example, an anniversary). * A year on its own, with a zero month and a zero day. * A year and month, with a zero day (for example, a credit card expiration date). Related types: * google.type.TimeOfDay * google.type.DateTime * google.protobuf.Timestamp", +"id": "Date", +"properties": { +"day": { +"description": "Day of a month. Must be from 1 to 31 and valid for the year and month, or 0 to specify a year by itself or a year and month where the day isn't significant.", +"format": "int32", +"type": "integer" +}, +"month": { +"description": "Month of a year. Must be from 1 to 12, or 0 to specify a year without a month and day.", +"format": "int32", +"type": "integer" +}, +"year": { +"description": "Year of the date. Must be from 1 to 9999, or 0 to specify a date without a year.", +"format": "int32", +"type": "integer" +} +}, +"type": "object" +}, +"DayPart": { +"description": "Daypart targeting message that specifies if the ad can be shown only during certain parts of a day/week.", +"id": "DayPart", +"properties": { +"dayOfWeek": { +"description": "The day of the week to target. If unspecified, applicable to all days.", +"enum": [ +"DAY_OF_WEEK_UNSPECIFIED", +"MONDAY", +"TUESDAY", +"WEDNESDAY", +"THURSDAY", +"FRIDAY", +"SATURDAY", +"SUNDAY" +], +"enumDescriptions": [ +"A placeholder for when the day of the week is not specified.", +"Monday", +"Tuesday", +"Wednesday", +"Thursday", +"Friday", +"Saturday", +"Sunday" +], +"type": "string" +}, +"endTime": { +"$ref": "TimeOfDay", +"description": "The ending time of the day for the ad to show (minute level granularity). The end time is exclusive. This field is not available for filtering in PQL queries." +}, +"startTime": { +"$ref": "TimeOfDay", +"description": "The starting time of day for the ad to show (minute level granularity). The start time is inclusive. This field is not available for filtering in PQL queries." +} +}, +"type": "object" +}, +"DayPartTargeting": { +"description": "Specifies the day part targeting criteria.", +"id": "DayPartTargeting", +"properties": { +"dayParts": { +"description": "A list of day part targeting criterion.", +"items": { +"$ref": "DayPart" +}, +"type": "array" +}, +"timeZoneType": { +"description": "The timezone to use for interpreting the day part targeting.", +"enum": [ +"TIME_ZONE_SOURCE_UNSPECIFIED", +"PUBLISHER", +"USER" +], +"enumDescriptions": [ +"A placeholder for an undefined time zone source.", +"Use publisher's time zone setting.", +"Use the user's time zone setting." +], +"type": "string" +} +}, +"type": "object" +}, +"Deal": { +"description": "A deal represents a segment of inventory for displaying ads on. A proposal can contain multiple deals. A deal contains the terms and targeting information that is used for serving.", +"id": "Deal", +"properties": { +"availableEndTime": { +"description": "Proposed flight end time of the deal. This will generally be stored in a granularity of a second. A value is not required for Private Auction deals or Preferred Deals.", +"format": "google-datetime", +"type": "string" +}, +"availableStartTime": { +"description": "Optional. Proposed flight start time of the deal. This will generally be stored in the granularity of one second since deal serving starts at seconds boundary. Any time specified with more granularity (for example, in milliseconds) will be truncated towards the start of time in seconds.", +"format": "google-datetime", +"type": "string" +}, +"buyerPrivateData": { +"$ref": "PrivateData", +"description": "Buyer private data (hidden from seller)." +}, +"createProductId": { +"description": "The product ID from which this deal was created. Note: This field may be set only when creating the resource. Modifying this field while updating the resource will result in an error.", +"type": "string" +}, +"createProductRevision": { +"description": "Optional. Revision number of the product that the deal was created from. If present on create, and the server `product_revision` has advanced since the passed-in `create_product_revision`, an `ABORTED` error will be returned. Note: This field may be set only when creating the resource. Modifying this field while updating the resource will result in an error.", +"format": "int64", +"type": "string" +}, +"createTime": { +"description": "Output only. The time of the deal creation.", +"format": "google-datetime", +"readOnly": true, +"type": "string" +}, +"creativePreApprovalPolicy": { +"description": "Output only. Specifies the creative pre-approval policy.", +"enum": [ +"CREATIVE_PRE_APPROVAL_POLICY_UNSPECIFIED", +"SELLER_PRE_APPROVAL_REQUIRED", +"SELLER_PRE_APPROVAL_NOT_REQUIRED" +], +"enumDescriptions": [ +"A placeholder for an undefined creative pre-approval policy.", +"The seller needs to approve each creative before it can serve.", +"The seller does not need to approve each creative before it can serve." +], +"readOnly": true, +"type": "string" +}, +"creativeRestrictions": { +"$ref": "CreativeRestrictions", +"description": "Output only. Restricitions about the creatives associated with the deal (for example, size) This is available for Programmatic Guaranteed/Preferred Deals in Ad Manager.", +"readOnly": true +}, +"creativeSafeFrameCompatibility": { +"description": "Output only. Specifies whether the creative is safeFrame compatible.", +"enum": [ +"CREATIVE_SAFE_FRAME_COMPATIBILITY_UNSPECIFIED", +"COMPATIBLE", +"INCOMPATIBLE" +], +"enumDescriptions": [ +"A placeholder for an undefined creative safe-frame compatibility.", +"The creatives need to be compatible with the safe frame option.", +"The creatives can be incompatible with the safe frame option." +], +"readOnly": true, +"type": "string" +}, +"dealId": { +"description": "Output only. A unique deal ID for the deal (server-assigned).", +"readOnly": true, +"type": "string" +}, +"dealServingMetadata": { +"$ref": "DealServingMetadata", +"description": "Output only. Metadata about the serving status of this deal.", +"readOnly": true +}, +"dealTerms": { +"$ref": "DealTerms", +"description": "The negotiable terms of the deal." +}, +"deliveryControl": { +"$ref": "DeliveryControl", +"description": "The set of fields around delivery control that are interesting for a buyer to see but are non-negotiable. These are set by the publisher." +}, +"description": { +"description": "Description for the deal terms.", +"type": "string" +}, +"displayName": { +"description": "The name of the deal.", +"type": "string" +}, +"externalDealId": { +"description": "Output only. The external deal ID assigned to this deal once the deal is finalized. This is the deal ID that shows up in serving/reporting etc.", +"readOnly": true, +"type": "string" +}, +"isSetupComplete": { +"description": "Output only. True, if the buyside inventory setup is complete for this deal.", +"readOnly": true, +"type": "boolean" +}, +"programmaticCreativeSource": { +"description": "Output only. Specifies the creative source for programmatic deals. PUBLISHER means creative is provided by seller and ADVERTISER means creative is provided by buyer.", +"enum": [ +"PROGRAMMATIC_CREATIVE_SOURCE_UNSPECIFIED", +"ADVERTISER", +"PUBLISHER" +], +"enumDescriptions": [ +"A placeholder for an undefined programmatic creative source.", +"The advertiser provides the creatives.", +"The publisher provides the creatives to be served." +], +"readOnly": true, +"type": "string" +}, +"proposalId": { +"description": "Output only. ID of the proposal that this deal is part of.", +"readOnly": true, +"type": "string" +}, +"sellerContacts": { +"description": "Output only. Seller contact information for the deal.", +"items": { +"$ref": "ContactInformation" +}, +"readOnly": true, +"type": "array" +}, +"syndicationProduct": { +"description": "The syndication product associated with the deal. Note: This field may be set only when creating the resource. Modifying this field while updating the resource will result in an error.", +"enum": [ +"SYNDICATION_PRODUCT_UNSPECIFIED", +"CONTENT", +"MOBILE", +"VIDEO", +"GAMES" +], +"enumDescriptions": [ +"A placeholder for an undefined syndication product.", +"This typically represents a web page.", +"This represents a mobile property.", +"This represents video ad formats.", +"This represents ads shown within games." +], +"type": "string" +}, +"targeting": { +"$ref": "MarketplaceTargeting", +"description": "Output only. Specifies the subset of inventory targeted by the deal.", +"readOnly": true +}, +"targetingCriterion": { +"description": "The shared targeting visible to buyers and sellers. Each shared targeting entity is AND'd together.", +"items": { +"$ref": "TargetingCriteria" +}, +"type": "array" +}, +"updateTime": { +"description": "Output only. The time when the deal was last updated.", +"format": "google-datetime", +"readOnly": true, +"type": "string" +}, +"webPropertyCode": { +"description": "The web property code for the seller copied over from the product.", +"type": "string" +} +}, +"type": "object" +}, +"DealPauseStatus": { +"description": "Tracks which parties (if any) have paused a deal. The deal is considered paused if either hasBuyerPaused or hasSellPaused is true.", +"id": "DealPauseStatus", +"properties": { +"buyerPauseReason": { +"description": "The buyer's reason for pausing, if the buyer paused the deal.", +"type": "string" +}, +"firstPausedBy": { +"description": "The role of the person who first paused this deal.", +"enum": [ +"BUYER_SELLER_ROLE_UNSPECIFIED", +"BUYER", +"SELLER" +], +"enumDescriptions": [ +"A placeholder for an undefined buyer/seller role.", +"Specifies the role as buyer.", +"Specifies the role as seller." +], +"type": "string" +}, +"hasBuyerPaused": { +"description": "True, if the buyer has paused the deal unilaterally.", +"type": "boolean" +}, +"hasSellerPaused": { +"description": "True, if the seller has paused the deal unilaterally.", +"type": "boolean" +}, +"sellerPauseReason": { +"description": "The seller's reason for pausing, if the seller paused the deal.", +"type": "string" +} +}, +"type": "object" +}, +"DealServingMetadata": { +"description": "Message captures metadata about the serving status of a deal.", +"id": "DealServingMetadata", +"properties": { +"dealPauseStatus": { +"$ref": "DealPauseStatus", +"description": "Output only. Tracks which parties (if any) have paused a deal.", +"readOnly": true +} +}, +"type": "object" +}, +"DealTerms": { +"description": "The deal terms specify the details of a Product/deal. They specify things like price per buyer, the type of pricing model (for example, fixed price, auction) and expected impressions from the publisher.", +"id": "DealTerms", +"properties": { +"brandingType": { +"description": "Visibility of the URL in bid requests. (default: BRANDED)", +"enum": [ +"BRANDING_TYPE_UNSPECIFIED", +"BRANDED", +"SEMI_TRANSPARENT" +], +"enumDescriptions": [ +"A placeholder for an undefined branding type.", +"Full URL is included in bid requests.", +"A TopLevelDomain or masked URL is sent in bid requests rather than the full one." +], +"type": "string" +}, +"description": { +"description": "Publisher provided description for the terms.", +"type": "string" +}, +"estimatedGrossSpend": { +"$ref": "Price", +"description": "Non-binding estimate of the estimated gross spend for this deal. Can be set by buyer or seller." +}, +"estimatedImpressionsPerDay": { +"description": "Non-binding estimate of the impressions served per day. Can be set by buyer or seller.", +"format": "int64", +"type": "string" +}, +"guaranteedFixedPriceTerms": { +"$ref": "GuaranteedFixedPriceTerms", +"description": "The terms for guaranteed fixed price deals." +}, +"nonGuaranteedAuctionTerms": { +"$ref": "NonGuaranteedAuctionTerms", +"description": "The terms for non-guaranteed auction deals." +}, +"nonGuaranteedFixedPriceTerms": { +"$ref": "NonGuaranteedFixedPriceTerms", +"description": "The terms for non-guaranteed fixed price deals." +}, +"sellerTimeZone": { +"description": "The time zone name. For deals with Cost Per Day billing, defines the time zone used to mark the boundaries of a day. It should be an IANA TZ name, such as \"America/Los_Angeles\". For more information, see https://en.wikipedia.org/wiki/List_of_tz_database_time_zones.", +"type": "string" +} +}, +"type": "object" +}, +"DeliveryControl": { +"description": "Message contains details about how the deals will be paced.", +"id": "DeliveryControl", +"properties": { +"creativeBlockingLevel": { +"description": "Output only. Specified the creative blocking levels to be applied.", +"enum": [ +"CREATIVE_BLOCKING_LEVEL_UNSPECIFIED", +"PUBLISHER_BLOCKING_RULES", +"ADX_POLICY_BLOCKING_ONLY" +], +"enumDescriptions": [ +"A placeholder for an undefined creative blocking level.", +"Publisher blocking rules will be applied.", +"The Ad Exchange policy blocking rules will be applied." +], +"readOnly": true, +"type": "string" +}, +"deliveryRateType": { +"description": "Output only. Specifies how the impression delivery will be paced.", +"enum": [ +"DELIVERY_RATE_TYPE_UNSPECIFIED", +"EVENLY", +"FRONT_LOADED", +"AS_FAST_AS_POSSIBLE" +], +"enumDescriptions": [ +"A placeholder for an undefined delivery rate type.", +"Impressions are served uniformly over the life of the deal.", +"Impressions are served front-loaded.", +"Impressions are served as fast as possible." +], +"readOnly": true, +"type": "string" +}, +"frequencyCaps": { +"description": "Output only. Specifies any frequency caps.", +"items": { +"$ref": "FrequencyCap" +}, +"readOnly": true, +"type": "array" +} +}, +"type": "object" +}, +"Disapproval": { +"description": "Output only. The reason and details for a disapproval.", +"id": "Disapproval", +"properties": { +"details": { +"description": "Additional details about the reason for disapproval.", +"items": { +"type": "string" +}, +"type": "array" +}, +"reason": { +"description": "The categorized reason for disapproval.", +"enum": [ +"LENGTH_OF_IMAGE_ANIMATION", +"BROKEN_URL", +"MEDIA_NOT_FUNCTIONAL", +"INVALID_FOURTH_PARTY_CALL", +"INCORRECT_REMARKETING_DECLARATION", +"LANDING_PAGE_ERROR", +"AD_SIZE_DOES_NOT_MATCH_AD_SLOT", +"NO_BORDER", +"FOURTH_PARTY_BROWSER_COOKIES", +"LSO_OBJECTS", +"BLANK_CREATIVE", +"DESTINATION_URLS_UNDECLARED", +"PROBLEM_WITH_CLICK_MACRO", +"INCORRECT_AD_TECHNOLOGY_DECLARATION", +"INCORRECT_DESTINATION_URL_DECLARATION", +"EXPANDABLE_INCORRECT_DIRECTION", +"EXPANDABLE_DIRECTION_NOT_SUPPORTED", +"EXPANDABLE_INVALID_VENDOR", +"EXPANDABLE_FUNCTIONALITY", +"VIDEO_INVALID_VENDOR", +"VIDEO_UNSUPPORTED_LENGTH", +"VIDEO_UNSUPPORTED_FORMAT", +"VIDEO_FUNCTIONALITY", +"LANDING_PAGE_DISABLED", +"MALWARE_SUSPECTED", +"ADULT_IMAGE_OR_VIDEO", +"INACCURATE_AD_TEXT", +"COUNTERFEIT_DESIGNER_GOODS", +"POP_UP", +"INVALID_RTB_PROTOCOL_USAGE", +"RAW_IP_ADDRESS_IN_SNIPPET", +"UNACCEPTABLE_CONTENT_SOFTWARE", +"UNAUTHORIZED_COOKIE_ON_GOOGLE_DOMAIN", +"UNDECLARED_FLASH_OBJECTS", +"INVALID_SSL_DECLARATION", +"DIRECT_DOWNLOAD_IN_AD", +"MAXIMUM_DOWNLOAD_SIZE_EXCEEDED", +"DESTINATION_URL_SITE_NOT_CRAWLABLE", +"BAD_URL_LEGAL_DISAPPROVAL", +"PHARMA_GAMBLING_ALCOHOL_NOT_ALLOWED", +"DYNAMIC_DNS_AT_DESTINATION_URL", +"POOR_IMAGE_OR_VIDEO_QUALITY", +"UNACCEPTABLE_IMAGE_CONTENT", +"INCORRECT_IMAGE_LAYOUT", +"IRRELEVANT_IMAGE_OR_VIDEO", +"DESTINATION_SITE_DOES_NOT_ALLOW_GOING_BACK", +"MISLEADING_CLAIMS_IN_AD", +"RESTRICTED_PRODUCTS", +"UNACCEPTABLE_CONTENT", +"AUTOMATED_AD_CLICKING", +"INVALID_URL_PROTOCOL", +"UNDECLARED_RESTRICTED_CONTENT", +"INVALID_REMARKETING_LIST_USAGE", +"DESTINATION_SITE_NOT_CRAWLABLE_ROBOTS_TXT", +"CLICK_TO_DOWNLOAD_NOT_AN_APP", +"INACCURATE_REVIEW_EXTENSION", +"SEXUALLY_EXPLICIT_CONTENT", +"GAINING_AN_UNFAIR_ADVANTAGE", +"GAMING_THE_GOOGLE_NETWORK", +"DANGEROUS_PRODUCTS_KNIVES", +"DANGEROUS_PRODUCTS_EXPLOSIVES", +"DANGEROUS_PRODUCTS_GUNS", +"DANGEROUS_PRODUCTS_DRUGS", +"DANGEROUS_PRODUCTS_TOBACCO", +"DANGEROUS_PRODUCTS_WEAPONS", +"UNCLEAR_OR_IRRELEVANT_AD", +"PROFESSIONAL_STANDARDS", +"DYSFUNCTIONAL_PROMOTION", +"INVALID_INTEREST_BASED_AD", +"MISUSE_OF_PERSONAL_INFORMATION", +"OMISSION_OF_RELEVANT_INFORMATION", +"UNAVAILABLE_PROMOTIONS", +"MISLEADING_PROMOTIONS", +"INAPPROPRIATE_CONTENT", +"SENSITIVE_EVENTS", +"SHOCKING_CONTENT", +"ENABLING_DISHONEST_BEHAVIOR", +"TECHNICAL_REQUIREMENTS", +"RESTRICTED_POLITICAL_CONTENT", +"UNSUPPORTED_CONTENT", +"INVALID_BIDDING_METHOD", +"VIDEO_TOO_LONG", +"VIOLATES_JAPANESE_PHARMACY_LAW", +"UNACCREDITED_PET_PHARMACY", +"ABORTION", +"CONTRACEPTIVES", +"NEED_CERTIFICATES_TO_ADVERTISE_IN_CHINA", +"KCDSP_REGISTRATION", +"NOT_FAMILY_SAFE", +"CLINICAL_TRIAL_RECRUITMENT", +"MAXIMUM_NUMBER_OF_HTTP_CALLS_EXCEEDED", +"MAXIMUM_NUMBER_OF_COOKIES_EXCEEDED", +"PERSONAL_LOANS", +"UNSUPPORTED_FLASH_CONTENT", +"MISUSE_BY_OMID_SCRIPT", +"NON_WHITELISTED_OMID_VENDOR", +"DESTINATION_EXPERIENCE", +"UNSUPPORTED_LANGUAGE", +"NON_SSL_COMPLIANT", +"TEMPORARY_PAUSE", +"BAIL_BONDS", +"EXPERIMENTAL_MEDICAL_TREATMENT" +], +"enumDescriptions": [ +"The length of the image animation is longer than allowed.", +"The click through URL doesn't work properly.", +"Something is wrong with the creative itself.", +"The ad makes a fourth party call to an unapproved vendor.", +"The ad targets consumers using remarketing lists and/or collects data for subsequent use in retargeting, but does not correctly declare that use.", +"Clicking on the ad leads to an error page.", +"The ad size when rendered does not match the declaration.", +"Ads with a white background require a border, which was missing.", +"The creative attempts to set cookies from a fourth party that is not certified.", +"The creative sets an LSO object.", +"The ad serves a blank.", +"The ad uses rotation, but not all destination URLs were declared.", +"There is a problem with the way the click macro is used.", +"The ad technology declaration is not accurate.", +"The actual destination URL does not match the declared destination URL.", +"The declared expanding direction does not match the actual direction.", +"The ad does not expand in a supported direction.", +"The ad uses an expandable vendor that is not supported.", +"There was an issue with the expandable ad.", +"The ad uses a video vendor that is not supported.", +"The length of the video ad is not supported.", +"The format of the video ad is not supported.", +"There was an issue with the video ad.", +"The landing page does not conform to Ad Exchange policy.", +"The ad or the landing page may contain malware.", +"The ad contains adult images or video content.", +"The ad contains text that is unclear or inaccurate.", +"The ad promotes counterfeit designer goods.", +"The ad causes a popup window to appear.", +"The creative does not follow policies set for the RTB protocol.", +"The ad contains a URL that uses a numeric IP address for the domain.", +"The ad or landing page contains unacceptable content because it initiated a software or executable download.", +"The ad set an unauthorized cookie on a Google domain.", +"Flash content found when no flash was declared.", +"SSL support declared but not working correctly.", +"Rich Media - Direct Download in Ad (ex. PDF download).", +"Maximum download size exceeded.", +"Bad Destination URL: Site Not Crawlable.", +"Bad URL: Legal disapproval.", +"Pharmaceuticals, Gambling, Alcohol not allowed and at least one was detected.", +"Dynamic DNS at Destination URL.", +"Poor Image / Video Quality.", +"For example, Image Trick to Click.", +"Incorrect Image Layout.", +"Irrelevant Image / Video.", +"Broken back button.", +"Misleading/Inaccurate claims in ads.", +"Restricted Products.", +"Unacceptable content. For example, malware.", +"The ad automatically redirects to the destination site without a click, or reports a click when none were made.", +"The ad uses URL protocols that do not exist or are not allowed on AdX.", +"Restricted content (for example, alcohol) was found in the ad but not declared.", +"Violation of the remarketing list policy.", +"The destination site's robot.txt file prevents it from being crawled.", +"Click to download must link to an app.", +"A review extension must be an accurate review.", +"Sexually explicit content.", +"The ad tries to gain an unfair traffic advantage.", +"The ad tries to circumvent Google's advertising systems.", +"The ad promotes dangerous knives.", +"The ad promotes explosives.", +"The ad promotes guns & parts.", +"The ad promotes recreational drugs/services & related equipment.", +"The ad promotes tobacco products/services & related equipment.", +"The ad promotes weapons.", +"The ad is unclear or irrelevant to the destination site.", +"The ad does not meet professional standards.", +"The promotion is unnecessarily difficult to navigate.", +"Violation of Google's policy for interest-based ads.", +"Misuse of personal information.", +"Omission of relevant information.", +"Unavailable promotions.", +"Misleading or unrealistic promotions.", +"Offensive or inappropriate content.", +"Capitalizing on sensitive events.", +"Shocking content.", +"Products & Services that enable dishonest behavior.", +"The ad does not meet technical requirements.", +"Restricted political content.", +"Unsupported content.", +"Invalid bidding method.", +"Video length exceeds limits.", +"Unacceptable content: Japanese healthcare.", +"Online pharmacy ID required.", +"Unacceptable content: Abortion.", +"Unacceptable content: Birth control.", +"Restricted in China.", +"Unacceptable content: Korean healthcare.", +"Non-family safe or adult content.", +"Clinical trial recruitment.", +"Maximum number of HTTP calls exceeded.", +"Maximum number of cookies exceeded.", +"Financial service ad does not adhere to specifications.", +"Flash content was found in an unsupported context.", +"Misuse by an Open Measurement SDK script.", +"Use of an Open Measurement SDK vendor not on approved vendor list.", +"Unacceptable landing page.", +"Unsupported language.", +"Non-SSL compliant.", +"Temporary pausing of creative.", +"Promotes services related to bail bonds.", +"Promotes speculative and/or experimental medical treatments." +], +"type": "string" +} +}, +"type": "object" +}, +"Empty": { +"description": "A generic empty message that you can re-use to avoid defining duplicated empty messages in your APIs. A typical example is to use it as the request or the response type of an API method. For instance: service Foo { rpc Bar(google.protobuf.Empty) returns (google.protobuf.Empty); }", +"id": "Empty", +"properties": {}, +"type": "object" +}, +"FilterSet": { +"description": "A set of filters that is applied to a request for data. Within a filter set, an AND operation is performed across the filters represented by each field. An OR operation is performed across the filters represented by the multiple values of a repeated field, for example, \"format=VIDEO AND deal_id=12 AND (seller_network_id=34 OR seller_network_id=56)\".", +"id": "FilterSet", +"properties": { +"absoluteDateRange": { +"$ref": "AbsoluteDateRange", +"description": "An absolute date range, defined by a start date and an end date. Interpreted relative to Pacific time zone." +}, +"breakdownDimensions": { +"description": "The set of dimensions along which to break down the response; may be empty. If multiple dimensions are requested, the breakdown is along the Cartesian product of the requested dimensions.", +"items": { +"enum": [ +"BREAKDOWN_DIMENSION_UNSPECIFIED", +"PUBLISHER_IDENTIFIER" +], +"enumDescriptions": [ +"A placeholder for an unspecified dimension; should not be used.", +"The response should be broken down by publisher identifier. This option is available only for Open Bidding buyers." +], +"type": "string" +}, +"type": "array" +}, +"creativeId": { +"description": "The ID of the creative on which to filter; optional. This field may be set only for a filter set that accesses account-level troubleshooting data, for example, one whose name matches the `bidders/*/accounts/*/filterSets/*` pattern.", +"type": "string" +}, +"dealId": { +"description": "The ID of the deal on which to filter; optional. This field may be set only for a filter set that accesses account-level troubleshooting data, for example, one whose name matches the `bidders/*/accounts/*/filterSets/*` pattern.", +"format": "int64", +"type": "string" +}, +"environment": { +"description": "The environment on which to filter; optional.", +"enum": [ +"ENVIRONMENT_UNSPECIFIED", +"WEB", +"APP" +], +"enumDescriptions": [ +"A placeholder for an undefined environment; indicates that no environment filter will be applied.", +"The ad impression appears on the web.", +"The ad impression appears in an app." +], +"type": "string" +}, +"format": { +"description": "Creative format bidded on or allowed to bid on, can be empty.", +"enum": [ +"FORMAT_UNSPECIFIED", +"NATIVE_DISPLAY", +"NATIVE_VIDEO", +"NON_NATIVE_DISPLAY", +"NON_NATIVE_VIDEO" +], +"enumDescriptions": [ +"A placeholder for an undefined format; indicates that no format filter will be applied.", +"The ad impression is a native ad, and display (for example, image) format.", +"The ad impression is a native ad, and video format.", +"The ad impression is not a native ad, and display (for example, image) format.", +"The ad impression is not a native ad, and video format." +], +"type": "string" +}, +"formats": { +"deprecated": true, +"description": "Creative formats bidded on or allowed to bid on, can be empty. Although this field is a list, it can only be populated with a single item. A HTTP 400 bad request error will be returned in the response if you specify multiple items.", +"items": { +"enum": [ +"FORMAT_UNSPECIFIED", +"NATIVE_DISPLAY", +"NATIVE_VIDEO", +"NON_NATIVE_DISPLAY", +"NON_NATIVE_VIDEO" +], +"enumDescriptions": [ +"A placeholder for an undefined format; indicates that no format filter will be applied.", +"The ad impression is a native ad, and display (for example, image) format.", +"The ad impression is a native ad, and video format.", +"The ad impression is not a native ad, and display (for example, image) format.", +"The ad impression is not a native ad, and video format." +], +"type": "string" +}, +"type": "array" +}, +"name": { +"description": "A user-defined name of the filter set. Filter set names must be unique globally and match one of the patterns: - `bidders/*/filterSets/*` (for accessing bidder-level troubleshooting data) - `bidders/*/accounts/*/filterSets/*` (for accessing account-level troubleshooting data) This field is required in create operations.", +"type": "string" +}, +"platforms": { +"description": "The list of platforms on which to filter; may be empty. The filters represented by multiple platforms are ORed together (for example, if non-empty, results must match any one of the platforms).", +"items": { +"enum": [ +"PLATFORM_UNSPECIFIED", +"DESKTOP", +"TABLET", +"MOBILE" +], +"enumDescriptions": [ +"A placeholder for an undefined platform; indicates that no platform filter will be applied.", +"The ad impression appears on a desktop.", +"The ad impression appears on a tablet.", +"The ad impression appears on a mobile device." +], +"type": "string" +}, +"type": "array" +}, +"publisherIdentifiers": { +"description": "For Open Bidding partners only. The list of publisher identifiers on which to filter; may be empty. The filters represented by multiple publisher identifiers are ORed together.", +"items": { +"type": "string" +}, +"type": "array" +}, +"realtimeTimeRange": { +"$ref": "RealtimeTimeRange", +"description": "An open-ended realtime time range, defined by the aggregation start timestamp." +}, +"relativeDateRange": { +"$ref": "RelativeDateRange", +"description": "A relative date range, defined by an offset from today and a duration. Interpreted relative to Pacific time zone." +}, +"sellerNetworkIds": { +"description": "For Authorized Buyers only. The list of IDs of the seller (publisher) networks on which to filter; may be empty. The filters represented by multiple seller network IDs are ORed together (for example, if non-empty, results must match any one of the publisher networks). See [seller-network-ids](https://developers.google.com/authorized-buyers/rtb/downloads/seller-network-ids) file for the set of existing seller network IDs.", +"items": { +"format": "int32", +"type": "integer" +}, +"type": "array" +}, +"timeSeriesGranularity": { +"description": "The granularity of time intervals if a time series breakdown is preferred; optional.", +"enum": [ +"TIME_SERIES_GRANULARITY_UNSPECIFIED", +"HOURLY", +"DAILY" +], +"enumDescriptions": [ +"A placeholder for an unspecified interval; no time series is applied. All rows in response will contain data for the entire requested time range.", +"Indicates that data will be broken down by the hour.", +"Indicates that data will be broken down by the day." +], +"type": "string" +} +}, +"type": "object" +}, +"FilteredBidCreativeRow": { +"description": "The number of filtered bids with the specified dimension values that have the specified creative.", +"id": "FilteredBidCreativeRow", +"properties": { +"bidCount": { +"$ref": "MetricValue", +"description": "The number of bids with the specified creative." +}, +"creativeId": { +"description": "The ID of the creative.", +"type": "string" +}, +"rowDimensions": { +"$ref": "RowDimensions", +"description": "The values of all dimensions associated with metric values in this row." +} +}, +"type": "object" +}, +"FilteredBidDetailRow": { +"description": "The number of filtered bids with the specified dimension values, among those filtered due to the requested filtering reason (for example, creative status), that have the specified detail.", +"id": "FilteredBidDetailRow", +"properties": { +"bidCount": { +"$ref": "MetricValue", +"description": "The number of bids with the specified detail." +}, +"detail": { +"description": "The ID of the detail, can be numeric or text. The associated value can be looked up in the dictionary file corresponding to the DetailType in the response message.", +"type": "string" +}, +"detailId": { +"deprecated": true, +"description": "Note: this field will be deprecated, use \"detail\" field instead. When \"detail\" field represents an integer value, this field is populated as the same integer value \"detail\" field represents, otherwise this field will be 0. The ID of the detail. The associated value can be looked up in the dictionary file corresponding to the DetailType in the response message.", +"format": "int32", +"type": "integer" +}, +"rowDimensions": { +"$ref": "RowDimensions", +"description": "The values of all dimensions associated with metric values in this row." +} +}, +"type": "object" +}, +"FirstPartyMobileApplicationTargeting": { +"description": "Represents a list of targeted and excluded mobile application IDs that publishers own. Mobile application IDs are from App Store and Google Play Store. Android App ID, for example, com.google.android.apps.maps, can be found in Google Play Store URL. iOS App ID (which is a number) can be found at the end of iTunes store URL. First party mobile applications is either included or excluded.", +"id": "FirstPartyMobileApplicationTargeting", +"properties": { +"excludedAppIds": { +"description": "A list of application IDs to be excluded.", +"items": { +"type": "string" +}, +"type": "array" +}, +"targetedAppIds": { +"description": "A list of application IDs to be included.", +"items": { +"type": "string" +}, +"type": "array" +} +}, +"type": "object" +}, +"FrequencyCap": { +"description": "Frequency cap.", +"id": "FrequencyCap", +"properties": { +"maxImpressions": { +"description": "The maximum number of impressions that can be served to a user within the specified time period.", +"format": "int32", +"type": "integer" +}, +"numTimeUnits": { +"description": "The amount of time, in the units specified by time_unit_type. Defines the amount of time over which impressions per user are counted and capped.", +"format": "int32", +"type": "integer" +}, +"timeUnitType": { +"description": "The time unit. Along with num_time_units defines the amount of time over which impressions per user are counted and capped.", +"enum": [ +"TIME_UNIT_TYPE_UNSPECIFIED", +"MINUTE", +"HOUR", +"DAY", +"WEEK", +"MONTH", +"LIFETIME", +"POD", +"STREAM" +], +"enumDescriptions": [ +"A placeholder for an undefined time unit type. This just indicates the variable with this value hasn't been initialized.", +"Minute", +"Hour", +"Day", +"Week", +"Month", +"Lifetime", +"Pod", +"Stream" +], +"type": "string" +} +}, +"type": "object" +}, +"GuaranteedFixedPriceTerms": { +"description": "Terms for Programmatic Guaranteed Deals.", +"id": "GuaranteedFixedPriceTerms", +"properties": { +"fixedPrices": { +"description": "Fixed price for the specified buyer.", +"items": { +"$ref": "PricePerBuyer" +}, +"type": "array" +}, +"guaranteedImpressions": { +"description": "Guaranteed impressions as a percentage. This is the percentage of guaranteed looks that the buyer is guaranteeing to buy.", +"format": "int64", +"type": "string" +}, +"guaranteedLooks": { +"description": "Count of guaranteed looks. Required for deal, optional for product. For CPD deals, buyer changes to guaranteed_looks will be ignored.", +"format": "int64", +"type": "string" +}, +"impressionCap": { +"description": "The lifetime impression cap for CPM sponsorship deals. The deal will stop serving when the cap is reached.", +"format": "int64", +"type": "string" +}, +"minimumDailyLooks": { +"description": "Daily minimum looks for CPD deal types. For CPD deals, buyer should negotiate on this field instead of guaranteed_looks.", +"format": "int64", +"type": "string" +}, +"percentShareOfVoice": { +"description": "For sponsorship deals, this is the percentage of the seller's eligible impressions that the deal will serve until the cap is reached.", +"format": "int64", +"type": "string" +}, +"reservationType": { +"description": "The reservation type for a Programmatic Guaranteed deal. This indicates whether the number of impressions is fixed, or a percent of available impressions. If not specified, the default reservation type is STANDARD.", +"enum": [ +"RESERVATION_TYPE_UNSPECIFIED", +"STANDARD", +"SPONSORSHIP" +], +"enumDescriptions": [ +"An unspecified reservation type.", +"Non-sponsorship deal.", +"Sponsorship deals don't have impression goal (guaranteed_looks) and they are served based on the flight dates. For CPM Sponsorship deals, impression_cap is the lifetime impression limit." +], +"type": "string" +} +}, +"type": "object" +}, +"HtmlContent": { +"description": "HTML content for a creative.", +"id": "HtmlContent", +"properties": { +"height": { +"description": "The height of the HTML snippet in pixels.", +"format": "int32", +"type": "integer" +}, +"snippet": { +"description": "The HTML snippet that displays the ad when inserted in the web page.", +"type": "string" +}, +"width": { +"description": "The width of the HTML snippet in pixels.", +"format": "int32", +"type": "integer" +} +}, +"type": "object" +}, +"Image": { +"description": "An image resource. You may provide a larger image than was requested, so long as the aspect ratio is preserved.", +"id": "Image", +"properties": { +"height": { +"description": "Image height in pixels.", +"format": "int32", +"type": "integer" +}, +"url": { +"description": "The URL of the image.", +"type": "string" +}, +"width": { +"description": "Image width in pixels.", +"format": "int32", +"type": "integer" +} +}, +"type": "object" +}, +"ImpressionMetricsRow": { +"description": "The set of metrics that are measured in numbers of impressions, representing how many impressions with the specified dimension values were considered eligible at each stage of the bidding funnel.", +"id": "ImpressionMetricsRow", +"properties": { +"availableImpressions": { +"$ref": "MetricValue", +"description": "The number of impressions available to the buyer on Ad Exchange. In some cases this value may be unavailable." +}, +"bidRequests": { +"$ref": "MetricValue", +"description": "The number of impressions for which Ad Exchange sent the buyer a bid request." +}, +"inventoryMatches": { +"$ref": "MetricValue", +"description": "The number of impressions that match the buyer's inventory pretargeting." +}, +"responsesWithBids": { +"$ref": "MetricValue", +"description": "The number of impressions for which Ad Exchange received a response from the buyer that contained at least one applicable bid." +}, +"rowDimensions": { +"$ref": "RowDimensions", +"description": "The values of all dimensions associated with metric values in this row." +}, +"successfulResponses": { +"$ref": "MetricValue", +"description": "The number of impressions for which the buyer successfully sent a response to Ad Exchange." +} +}, +"type": "object" +}, +"InventorySizeTargeting": { +"description": "Represents the size of an ad unit that can be targeted on an ad request. It only applies to Private Auction, AdX Preferred Deals and Auction Packages. This targeting does not apply to Programmatic Guaranteed and Preferred Deals in Ad Manager.", +"id": "InventorySizeTargeting", +"properties": { +"excludedInventorySizes": { +"description": "A list of inventory sizes to be excluded.", +"items": { +"$ref": "AdSize" +}, +"type": "array" +}, +"targetedInventorySizes": { +"description": "A list of inventory sizes to be included.", +"items": { +"$ref": "AdSize" +}, +"type": "array" +} +}, +"type": "object" +}, +"ListBidMetricsResponse": { +"description": "Response message for listing the metrics that are measured in number of bids.", +"id": "ListBidMetricsResponse", +"properties": { +"bidMetricsRows": { +"description": "List of rows, each containing a set of bid metrics.", +"items": { +"$ref": "BidMetricsRow" +}, +"type": "array" +}, +"nextPageToken": { +"description": "A token to retrieve the next page of results. Pass this value in the ListBidMetricsRequest.pageToken field in the subsequent call to the bidMetrics.list method to retrieve the next page of results.", +"type": "string" +} +}, +"type": "object" +}, +"ListBidResponseErrorsResponse": { +"description": "Response message for listing all reasons that bid responses resulted in an error.", +"id": "ListBidResponseErrorsResponse", +"properties": { +"calloutStatusRows": { +"description": "List of rows, with counts of bid responses aggregated by callout status.", +"items": { +"$ref": "CalloutStatusRow" +}, +"type": "array" +}, +"nextPageToken": { +"description": "A token to retrieve the next page of results. Pass this value in the ListBidResponseErrorsRequest.pageToken field in the subsequent call to the bidResponseErrors.list method to retrieve the next page of results.", +"type": "string" +} +}, +"type": "object" +}, +"ListBidResponsesWithoutBidsResponse": { +"description": "Response message for listing all reasons that bid responses were considered to have no applicable bids.", +"id": "ListBidResponsesWithoutBidsResponse", +"properties": { +"bidResponseWithoutBidsStatusRows": { +"description": "List of rows, with counts of bid responses without bids aggregated by status.", +"items": { +"$ref": "BidResponseWithoutBidsStatusRow" +}, +"type": "array" +}, +"nextPageToken": { +"description": "A token to retrieve the next page of results. Pass this value in the ListBidResponsesWithoutBidsRequest.pageToken field in the subsequent call to the bidResponsesWithoutBids.list method to retrieve the next page of results.", +"type": "string" +} +}, +"type": "object" +}, +"ListClientUserInvitationsResponse": { +"id": "ListClientUserInvitationsResponse", +"properties": { +"invitations": { +"description": "The returned list of client users.", +"items": { +"$ref": "ClientUserInvitation" +}, +"type": "array" +}, +"nextPageToken": { +"description": "A token to retrieve the next page of results. Pass this value in the ListClientUserInvitationsRequest.pageToken field in the subsequent call to the clients.invitations.list method to retrieve the next page of results.", +"type": "string" +} +}, +"type": "object" +}, +"ListClientUsersResponse": { +"id": "ListClientUsersResponse", +"properties": { +"nextPageToken": { +"description": "A token to retrieve the next page of results. Pass this value in the ListClientUsersRequest.pageToken field in the subsequent call to the clients.invitations.list method to retrieve the next page of results.", +"type": "string" +}, +"users": { +"description": "The returned list of client users.", +"items": { +"$ref": "ClientUser" +}, +"type": "array" +} +}, +"type": "object" +}, +"ListClientsResponse": { +"id": "ListClientsResponse", +"properties": { +"clients": { +"description": "The returned list of clients.", +"items": { +"$ref": "Client" +}, +"type": "array" +}, +"nextPageToken": { +"description": "A token to retrieve the next page of results. Pass this value in the ListClientsRequest.pageToken field in the subsequent call to the accounts.clients.list method to retrieve the next page of results.", +"type": "string" +} +}, +"type": "object" +}, +"ListCreativeStatusBreakdownByCreativeResponse": { +"description": "Response message for listing all creatives associated with a given filtered bid reason.", +"id": "ListCreativeStatusBreakdownByCreativeResponse", +"properties": { +"filteredBidCreativeRows": { +"description": "List of rows, with counts of bids with a given creative status aggregated by creative.", +"items": { +"$ref": "FilteredBidCreativeRow" +}, +"type": "array" +}, +"nextPageToken": { +"description": "A token to retrieve the next page of results. Pass this value in the ListCreativeStatusBreakdownByCreativeRequest.pageToken field in the subsequent call to the filteredBids.creatives.list method to retrieve the next page of results.", +"type": "string" +} +}, +"type": "object" +}, +"ListCreativeStatusBreakdownByDetailResponse": { +"description": "Response message for listing all details associated with a given filtered bid reason.", +"id": "ListCreativeStatusBreakdownByDetailResponse", +"properties": { +"detailType": { +"description": "The type of detail that the detail IDs represent.", +"enum": [ +"DETAIL_TYPE_UNSPECIFIED", +"CREATIVE_ATTRIBUTE", +"VENDOR", +"SENSITIVE_CATEGORY", +"PRODUCT_CATEGORY", +"DISAPPROVAL_REASON", +"POLICY_TOPIC", +"ATP_VENDOR", +"VENDOR_DOMAIN", +"GVL_ID" +], +"enumDescriptions": [ +"A placeholder for an undefined status. This value will never be returned in responses.", +"Indicates that the detail ID refers to a creative attribute; see [publisher-excludable-creative-attributes](https://developers.google.com/authorized-buyers/rtb/downloads/publisher-excludable-creative-attributes).", +"Indicates that the detail ID refers to a vendor; see [vendors](https://developers.google.com/authorized-buyers/rtb/downloads/vendors). This namespace is different from that of the `ATP_VENDOR` detail type.", +"Indicates that the detail ID refers to a sensitive category; see [ad-sensitive-categories](https://developers.google.com/authorized-buyers/rtb/downloads/ad-sensitive-categories).", +"Indicates that the detail ID refers to a product category; see [ad-product-categories](https://developers.google.com/authorized-buyers/rtb/downloads/ad-product-categories).", +"Indicates that the detail ID refers to a disapproval reason; see DisapprovalReason enum in [snippet-status-report-proto](https://developers.google.com/authorized-buyers/rtb/downloads/snippet-status-report-proto).", +"Indicates that the detail ID refers to a policy topic.", +"Indicates that the detail ID refers to an ad technology provider (ATP); see [providers] (https://storage.googleapis.com/adx-rtb-dictionaries/providers.csv). This namespace is different from the `VENDOR` detail type; see [ad technology providers](https://support.google.com/admanager/answer/9012903) for more information.", +"Indicates that the detail string refers the domain of an unknown vendor.", +"Indicates that the detail ID refers an IAB GVL ID which Google did not detect in the latest TCF Vendor List. See [Global Vendor List] (https://vendor-list.consensu.org/v2/vendor-list.json)" +], +"type": "string" +}, +"filteredBidDetailRows": { +"description": "List of rows, with counts of bids with a given creative status aggregated by detail.", +"items": { +"$ref": "FilteredBidDetailRow" +}, +"type": "array" +}, +"nextPageToken": { +"description": "A token to retrieve the next page of results. Pass this value in the ListCreativeStatusBreakdownByDetailRequest.pageToken field in the subsequent call to the filteredBids.details.list method to retrieve the next page of results.", +"type": "string" +} +}, +"type": "object" +}, +"ListCreativesResponse": { +"description": "A response for listing creatives.", +"id": "ListCreativesResponse", +"properties": { +"creatives": { +"description": "The list of creatives.", +"items": { +"$ref": "Creative" +}, +"type": "array" +}, +"nextPageToken": { +"description": "A token to retrieve the next page of results. Pass this value in the ListCreativesRequest.page_token field in the subsequent call to `ListCreatives` method to retrieve the next page of results.", +"type": "string" +} +}, +"type": "object" +}, +"ListDealAssociationsResponse": { +"description": "A response for listing creative and deal associations", +"id": "ListDealAssociationsResponse", +"properties": { +"associations": { +"description": "The list of associations.", +"items": { +"$ref": "CreativeDealAssociation" +}, +"type": "array" +}, +"nextPageToken": { +"description": "A token to retrieve the next page of results. Pass this value in the ListDealAssociationsRequest.page_token field in the subsequent call to 'ListDealAssociation' method to retrieve the next page of results.", +"type": "string" +} +}, +"type": "object" +}, +"ListFilterSetsResponse": { +"description": "Response message for listing filter sets.", +"id": "ListFilterSetsResponse", +"properties": { +"filterSets": { +"description": "The filter sets belonging to the buyer.", +"items": { +"$ref": "FilterSet" +}, +"type": "array" +}, +"nextPageToken": { +"description": "A token to retrieve the next page of results. Pass this value in the ListFilterSetsRequest.pageToken field in the subsequent call to the accounts.filterSets.list method to retrieve the next page of results.", +"type": "string" +} +}, +"type": "object" +}, +"ListFilteredBidRequestsResponse": { +"description": "Response message for listing all reasons that bid requests were filtered and not sent to the buyer.", +"id": "ListFilteredBidRequestsResponse", +"properties": { +"calloutStatusRows": { +"description": "List of rows, with counts of filtered bid requests aggregated by callout status.", +"items": { +"$ref": "CalloutStatusRow" +}, +"type": "array" +}, +"nextPageToken": { +"description": "A token to retrieve the next page of results. Pass this value in the ListFilteredBidRequestsRequest.pageToken field in the subsequent call to the filteredBidRequests.list method to retrieve the next page of results.", +"type": "string" +} +}, +"type": "object" +}, +"ListFilteredBidsResponse": { +"description": "Response message for listing all reasons that bids were filtered from the auction.", +"id": "ListFilteredBidsResponse", +"properties": { +"creativeStatusRows": { +"description": "List of rows, with counts of filtered bids aggregated by filtering reason (for example, creative status).", +"items": { +"$ref": "CreativeStatusRow" +}, +"type": "array" +}, +"nextPageToken": { +"description": "A token to retrieve the next page of results. Pass this value in the ListFilteredBidsRequest.pageToken field in the subsequent call to the filteredBids.list method to retrieve the next page of results.", +"type": "string" +} +}, +"type": "object" +}, +"ListImpressionMetricsResponse": { +"description": "Response message for listing the metrics that are measured in number of impressions.", +"id": "ListImpressionMetricsResponse", +"properties": { +"impressionMetricsRows": { +"description": "List of rows, each containing a set of impression metrics.", +"items": { +"$ref": "ImpressionMetricsRow" +}, +"type": "array" +}, +"nextPageToken": { +"description": "A token to retrieve the next page of results. Pass this value in the ListImpressionMetricsRequest.pageToken field in the subsequent call to the impressionMetrics.list method to retrieve the next page of results.", +"type": "string" +} +}, +"type": "object" +}, +"ListLosingBidsResponse": { +"description": "Response message for listing all reasons that bids lost in the auction.", +"id": "ListLosingBidsResponse", +"properties": { +"creativeStatusRows": { +"description": "List of rows, with counts of losing bids aggregated by loss reason (for example, creative status).", +"items": { +"$ref": "CreativeStatusRow" +}, +"type": "array" +}, +"nextPageToken": { +"description": "A token to retrieve the next page of results. Pass this value in the ListLosingBidsRequest.pageToken field in the subsequent call to the losingBids.list method to retrieve the next page of results.", +"type": "string" +} +}, +"type": "object" +}, +"ListNonBillableWinningBidsResponse": { +"description": "Response message for listing all reasons for which a buyer was not billed for a winning bid.", +"id": "ListNonBillableWinningBidsResponse", +"properties": { +"nextPageToken": { +"description": "A token to retrieve the next page of results. Pass this value in the ListNonBillableWinningBidsRequest.pageToken field in the subsequent call to the nonBillableWinningBids.list method to retrieve the next page of results.", +"type": "string" +}, +"nonBillableWinningBidStatusRows": { +"description": "List of rows, with counts of bids not billed aggregated by reason.", +"items": { +"$ref": "NonBillableWinningBidStatusRow" +}, +"type": "array" +} +}, +"type": "object" +}, +"ListProductsResponse": { +"description": "Response message for listing products visible to the buyer.", +"id": "ListProductsResponse", +"properties": { +"nextPageToken": { +"description": "List pagination support.", +"type": "string" +}, +"products": { +"description": "The list of matching products at their head revision number.", +"items": { +"$ref": "Product" +}, +"type": "array" +} +}, +"type": "object" +}, +"ListProposalsResponse": { +"description": "Response message for listing proposals.", +"id": "ListProposalsResponse", +"properties": { +"nextPageToken": { +"description": "Continuation token for fetching the next page of results.", +"type": "string" +}, +"proposals": { +"description": "The list of proposals.", +"items": { +"$ref": "Proposal" +}, +"type": "array" +} +}, +"type": "object" +}, +"ListPublisherProfilesResponse": { +"description": "Response message for profiles visible to the buyer.", +"id": "ListPublisherProfilesResponse", +"properties": { +"nextPageToken": { +"description": "List pagination support", +"type": "string" +}, +"publisherProfiles": { +"description": "The list of matching publisher profiles.", +"items": { +"$ref": "PublisherProfile" +}, +"type": "array" +} +}, +"type": "object" +}, +"LocationContext": { +"description": "Output only. The Geo criteria the restriction applies to.", +"id": "LocationContext", +"properties": { +"geoCriteriaIds": { +"description": "IDs representing the geo location for this context. Refer to the [geo-table.csv](https://storage.googleapis.com/adx-rtb-dictionaries/geo-table.csv) file for different geo criteria IDs.", +"items": { +"format": "int32", +"type": "integer" +}, +"type": "array" +} +}, +"type": "object" +}, +"MarketplaceTargeting": { +"description": "Targeting represents different criteria that can be used by advertisers to target ad inventory. For example, they can choose to target ad requests only if the user is in the US. Multiple types of targeting are always applied as a logical AND, unless noted otherwise.", +"id": "MarketplaceTargeting", +"properties": { +"geoTargeting": { +"$ref": "CriteriaTargeting", +"description": "Geo criteria IDs to be included/excluded." +}, +"inventorySizeTargeting": { +"$ref": "InventorySizeTargeting", +"description": "Inventory sizes to be included/excluded." +}, +"placementTargeting": { +"$ref": "PlacementTargeting", +"description": "Placement targeting information, for example, URL, mobile applications." +}, +"technologyTargeting": { +"$ref": "TechnologyTargeting", +"description": "Technology targeting information, for example, operating system, device category." +}, +"videoTargeting": { +"$ref": "VideoTargeting", +"description": "Video targeting information." +} +}, +"type": "object" +}, +"MetricValue": { +"description": "A metric value, with an expected value and a variance; represents a count that may be either exact or estimated (for example, when sampled).", +"id": "MetricValue", +"properties": { +"value": { +"description": "The expected value of the metric.", +"format": "int64", +"type": "string" +}, +"variance": { +"description": "The variance (for example, square of the standard deviation) of the metric value. If value is exact, variance is 0. Can be used to calculate margin of error as a percentage of value, using the following formula, where Z is the standard constant that depends on the preferred size of the confidence interval (for example, for 90% confidence interval, use Z = 1.645): marginOfError = 100 * Z * sqrt(variance) / value", +"format": "int64", +"type": "string" +} +}, +"type": "object" +}, +"MobileApplicationTargeting": { +"description": "Mobile application targeting settings.", +"id": "MobileApplicationTargeting", +"properties": { +"firstPartyTargeting": { +"$ref": "FirstPartyMobileApplicationTargeting", +"description": "Publisher owned apps to be targeted or excluded by the publisher to display the ads in." +} +}, +"type": "object" +}, +"Money": { +"description": "Represents an amount of money with its currency type.", +"id": "Money", +"properties": { +"currencyCode": { +"description": "The three-letter currency code defined in ISO 4217.", +"type": "string" +}, +"nanos": { +"description": "Number of nano (10^-9) units of the amount. The value must be between -999,999,999 and +999,999,999 inclusive. If `units` is positive, `nanos` must be positive or zero. If `units` is zero, `nanos` can be positive, zero, or negative. If `units` is negative, `nanos` must be negative or zero. For example $-1.75 is represented as `units`=-1 and `nanos`=-750,000,000.", +"format": "int32", +"type": "integer" +}, +"units": { +"description": "The whole units of the amount. For example if `currencyCode` is `\"USD\"`, then 1 unit is one US dollar.", +"format": "int64", +"type": "string" +} +}, +"type": "object" +}, +"NativeContent": { +"description": "Native content for a creative.", +"id": "NativeContent", +"properties": { +"advertiserName": { +"description": "The name of the advertiser or sponsor, to be displayed in the ad creative.", +"type": "string" +}, +"appIcon": { +"$ref": "Image", +"description": "The app icon, for app download ads." +}, +"body": { +"description": "A long description of the ad.", +"type": "string" +}, +"callToAction": { +"description": "A label for the button that the user is supposed to click.", +"type": "string" +}, +"clickLinkUrl": { +"description": "The URL that the browser/SDK will load when the user clicks the ad.", +"type": "string" +}, +"clickTrackingUrl": { +"description": "The URL to use for click tracking.", +"type": "string" +}, +"headline": { +"description": "A short title for the ad.", +"type": "string" +}, +"image": { +"$ref": "Image", +"description": "A large image." +}, +"logo": { +"$ref": "Image", +"description": "A smaller image, for the advertiser's logo." +}, +"priceDisplayText": { +"description": "The price of the promoted app including currency info.", +"type": "string" +}, +"starRating": { +"description": "The app rating in the app store. Must be in the range [0-5].", +"format": "double", +"type": "number" +}, +"storeUrl": { +"deprecated": true, +"description": "The URL to the app store to purchase/download the promoted app.", +"type": "string" +}, +"videoUrl": { +"description": "The URL to fetch a native video ad.", +"type": "string" +} +}, +"type": "object" +}, +"NonBillableWinningBidStatusRow": { +"description": "The number of winning bids with the specified dimension values for which the buyer was not billed, as described by the specified status.", +"id": "NonBillableWinningBidStatusRow", +"properties": { +"bidCount": { +"$ref": "MetricValue", +"description": "The number of bids with the specified status." +}, +"rowDimensions": { +"$ref": "RowDimensions", +"description": "The values of all dimensions associated with metric values in this row." +}, +"status": { +"description": "The status specifying why the winning bids were not billed.", +"enum": [ +"STATUS_UNSPECIFIED", +"AD_NOT_RENDERED", +"INVALID_IMPRESSION", +"FATAL_VAST_ERROR", +"LOST_IN_MEDIATION" +], +"enumDescriptions": [ +"A placeholder for an undefined status. This value will never be returned in responses.", +"The buyer was not billed because the ad was not rendered by the publisher.", +"The buyer was not billed because the impression won by the bid was determined to be invalid.", +"A video impression was served but a fatal error was reported from the client during playback.", +"The buyer was not billed because the ad was outplaced in the mediation waterfall." +], +"type": "string" +} +}, +"type": "object" +}, +"NonGuaranteedAuctionTerms": { +"description": "Terms for Private Auctions. Note that Private Auctions can be created only by the seller, but they can be returned in a get or list request.", +"id": "NonGuaranteedAuctionTerms", +"properties": { +"autoOptimizePrivateAuction": { +"description": "True if open auction buyers are allowed to compete with invited buyers in this private auction.", +"type": "boolean" +}, +"reservePricesPerBuyer": { +"description": "Reserve price for the specified buyer.", +"items": { +"$ref": "PricePerBuyer" +}, +"type": "array" +} +}, +"type": "object" +}, +"NonGuaranteedFixedPriceTerms": { +"description": "Terms for Preferred Deals.", +"id": "NonGuaranteedFixedPriceTerms", +"properties": { +"fixedPrices": { +"description": "Fixed price for the specified buyer.", +"items": { +"$ref": "PricePerBuyer" +}, +"type": "array" +} +}, +"type": "object" +}, +"Note": { +"description": "A proposal may be associated to several notes.", +"id": "Note", +"properties": { +"createTime": { +"description": "Output only. The timestamp for when this note was created.", +"format": "google-datetime", +"readOnly": true, +"type": "string" +}, +"creatorRole": { +"description": "Output only. The role of the person (buyer/seller) creating the note.", +"enum": [ +"BUYER_SELLER_ROLE_UNSPECIFIED", +"BUYER", +"SELLER" +], +"enumDescriptions": [ +"A placeholder for an undefined buyer/seller role.", +"Specifies the role as buyer.", +"Specifies the role as seller." +], +"readOnly": true, +"type": "string" +}, +"note": { +"description": "The actual note to attach. (max-length: 1024 unicode code units) Note: This field may be set only when creating the resource. Modifying this field while updating the resource will result in an error.", +"type": "string" +}, +"noteId": { +"description": "Output only. The unique ID for the note.", +"readOnly": true, +"type": "string" +}, +"proposalRevision": { +"description": "Output only. The revision number of the proposal when the note is created.", +"format": "int64", +"readOnly": true, +"type": "string" +} +}, +"type": "object" +}, +"OperatingSystemTargeting": { +"description": "Represents targeting information for operating systems.", +"id": "OperatingSystemTargeting", +"properties": { +"operatingSystemCriteria": { +"$ref": "CriteriaTargeting", +"description": "IDs of operating systems to be included/excluded." +}, +"operatingSystemVersionCriteria": { +"$ref": "CriteriaTargeting", +"description": "IDs of operating system versions to be included/excluded." +} +}, +"type": "object" +}, +"PauseProposalDealsRequest": { +"description": "Request message to pause serving for finalized deals.", +"id": "PauseProposalDealsRequest", +"properties": { +"externalDealIds": { +"description": "The external_deal_id's of the deals to be paused. If empty, all the deals in the proposal will be paused.", +"items": { +"type": "string" +}, +"type": "array" +}, +"reason": { +"description": "The reason why the deals are being paused. This human readable message will be displayed in the seller's UI. (Max length: 1000 unicode code units.)", +"type": "string" +} +}, +"type": "object" +}, +"PauseProposalRequest": { +"description": "Request message to pause serving for an already-finalized proposal.", +"id": "PauseProposalRequest", +"properties": { +"reason": { +"description": "The reason why the proposal is being paused. This human readable message will be displayed in the seller's UI. (Max length: 1000 unicode code units.)", +"type": "string" +} +}, +"type": "object" +}, +"PlacementTargeting": { +"description": "Represents targeting about where the ads can appear, for example, certain sites or mobile applications. Different placement targeting types will be logically OR'ed.", +"id": "PlacementTargeting", +"properties": { +"mobileApplicationTargeting": { +"$ref": "MobileApplicationTargeting", +"description": "Mobile application targeting information in a deal. This doesn't apply to Auction Packages." +}, +"urlTargeting": { +"$ref": "UrlTargeting", +"description": "URLs to be included/excluded." +} +}, +"type": "object" +}, +"PlatformContext": { +"description": "Output only. The type of platform the restriction applies to.", +"id": "PlatformContext", +"properties": { +"platforms": { +"description": "The platforms this restriction applies to.", +"items": { +"enum": [ +"DESKTOP", +"ANDROID", +"IOS" +], +"enumDescriptions": [ +"Desktop platform.", +"Android platform.", +"iOS platform." +], +"type": "string" +}, +"type": "array" +} +}, +"type": "object" +}, +"Price": { +"description": "Represents a price and a pricing type for a product / deal.", +"id": "Price", +"properties": { +"amount": { +"$ref": "Money", +"description": "The actual price with currency specified." +}, +"pricingType": { +"description": "The pricing type for the deal/product. (default: CPM)", +"enum": [ +"PRICING_TYPE_UNSPECIFIED", +"COST_PER_MILLE", +"COST_PER_DAY" +], +"enumDescriptions": [ +"A placeholder for an undefined pricing type. If the pricing type is unpsecified, `COST_PER_MILLE` will be used instead.", +"Cost per thousand impressions.", +"Cost per day" +], +"type": "string" +} +}, +"type": "object" +}, +"PricePerBuyer": { +"description": "Used to specify pricing rules for buyers/advertisers. Each PricePerBuyer in a product can become 0 or 1 deals. To check if there is a PricePerBuyer for a particular buyer or buyer/advertiser pair, we look for the most specific matching rule - we first look for a rule matching the buyer and advertiser, next a rule with the buyer but an empty advertiser list, and otherwise look for a matching rule where no buyer is set.", +"id": "PricePerBuyer", +"properties": { +"advertiserIds": { +"description": "The list of advertisers for this price when associated with this buyer. If empty, all advertisers with this buyer pay this price.", +"items": { +"type": "string" +}, +"type": "array" +}, +"buyer": { +"$ref": "Buyer", +"description": "The buyer who will pay this price. If unset, all buyers can pay this price (if the advertisers match, and there's no more specific rule matching the buyer)." +}, +"price": { +"$ref": "Price", +"description": "The specified price." +} +}, +"type": "object" +}, +"PrivateData": { +"description": "Buyers are allowed to store certain types of private data in a proposal/deal.", +"id": "PrivateData", +"properties": { +"referenceId": { +"description": "A buyer or seller specified reference ID. This can be queried in the list operations (max-length: 1024 unicode code units).", +"type": "string" +} +}, +"type": "object" +}, +"Product": { +"description": "A product is a segment of inventory that a seller wants to sell. It is associated with certain terms and targeting information which helps the buyer know more about the inventory.", +"id": "Product", +"properties": { +"availableEndTime": { +"description": "The proposed end time for the deal. The field will be truncated to the order of seconds during serving.", +"format": "google-datetime", +"type": "string" +}, +"availableStartTime": { +"description": "Inventory availability dates. The start time will be truncated to seconds during serving. Thus, a field specified as 3:23:34.456 (HH:mm:ss.SSS) will be truncated to 3:23:34 when serving.", +"format": "google-datetime", +"type": "string" +}, +"createTime": { +"description": "Creation time.", +"format": "google-datetime", +"type": "string" +}, +"creatorContacts": { +"description": "Optional contact information for the creator of this product.", +"items": { +"$ref": "ContactInformation" +}, +"type": "array" +}, +"displayName": { +"description": "The display name for this product as set by the seller.", +"type": "string" +}, +"hasCreatorSignedOff": { +"description": "If the creator has already signed off on the product, then the buyer can finalize the deal by accepting the product as is. When copying to a proposal, if any of the terms are changed, then auto_finalize is automatically set to false.", +"type": "boolean" +}, +"productId": { +"description": "The unique ID for the product.", +"type": "string" +}, +"productRevision": { +"description": "The revision number of the product (auto-assigned by Marketplace).", +"format": "int64", +"type": "string" +}, +"publisherProfileId": { +"description": "An ID which can be used by the Publisher Profile API to get more information about the seller that created this product.", +"type": "string" +}, +"seller": { +"$ref": "Seller", +"description": "Information about the seller that created this product." +}, +"syndicationProduct": { +"description": "The syndication product associated with the deal.", +"enum": [ +"SYNDICATION_PRODUCT_UNSPECIFIED", +"CONTENT", +"MOBILE", +"VIDEO", +"GAMES" +], +"enumDescriptions": [ +"A placeholder for an undefined syndication product.", +"This typically represents a web page.", +"This represents a mobile property.", +"This represents video ad formats.", +"This represents ads shown within games." +], +"type": "string" +}, +"targetingCriterion": { +"description": "Targeting that is shared between the buyer and the seller. Each targeting criterion has a specified key and for each key there is a list of inclusion value or exclusion values.", +"items": { +"$ref": "TargetingCriteria" +}, +"type": "array" +}, +"terms": { +"$ref": "DealTerms", +"description": "The negotiable terms of the deal." +}, +"updateTime": { +"description": "Time of last update.", +"format": "google-datetime", +"type": "string" +}, +"webPropertyCode": { +"description": "The web-property code for the seller. This needs to be copied as is when adding a new deal to a proposal.", +"type": "string" +} +}, +"type": "object" +}, +"Proposal": { +"description": "Represents a proposal in the Marketplace. A proposal is the unit of negotiation between a seller and a buyer and contains deals which are served. Note: You can't update, create, or otherwise modify Private Auction deals through the API. Fields are updatable unless noted otherwise.", +"id": "Proposal", +"properties": { +"billedBuyer": { +"$ref": "Buyer", +"description": "Output only. Reference to the buyer that will get billed for this proposal.", +"readOnly": true +}, +"buyer": { +"$ref": "Buyer", +"description": "Reference to the buyer on the proposal. Note: This field may be set only when creating the resource. Modifying this field while updating the resource will result in an error." +}, +"buyerContacts": { +"description": "Contact information for the buyer.", +"items": { +"$ref": "ContactInformation" +}, +"type": "array" +}, +"buyerPrivateData": { +"$ref": "PrivateData", +"description": "Private data for buyer. (hidden from seller)." +}, +"deals": { +"description": "The deals associated with this proposal. For Private Auction proposals (whose deals have NonGuaranteedAuctionTerms), there will only be one deal.", +"items": { +"$ref": "Deal" +}, +"type": "array" +}, +"displayName": { +"description": "The name for the proposal.", +"type": "string" +}, +"isRenegotiating": { +"description": "Output only. True if the proposal is being renegotiated.", +"readOnly": true, +"type": "boolean" +}, +"isSetupComplete": { +"deprecated": true, +"description": "Output only. True, if the buyside inventory setup is complete for this proposal.", +"readOnly": true, +"type": "boolean" +}, +"lastUpdaterOrCommentorRole": { +"description": "Output only. The role of the last user that either updated the proposal or left a comment.", +"enum": [ +"BUYER_SELLER_ROLE_UNSPECIFIED", +"BUYER", +"SELLER" +], +"enumDescriptions": [ +"A placeholder for an undefined buyer/seller role.", +"Specifies the role as buyer.", +"Specifies the role as seller." +], +"readOnly": true, +"type": "string" +}, +"notes": { +"description": "Output only. The notes associated with this proposal.", +"items": { +"$ref": "Note" +}, +"readOnly": true, +"type": "array" +}, +"originatorRole": { +"description": "Output only. Indicates whether the buyer/seller created the proposal.", +"enum": [ +"BUYER_SELLER_ROLE_UNSPECIFIED", +"BUYER", +"SELLER" +], +"enumDescriptions": [ +"A placeholder for an undefined buyer/seller role.", +"Specifies the role as buyer.", +"Specifies the role as seller." +], +"readOnly": true, +"type": "string" +}, +"privateAuctionId": { +"description": "Output only. Private auction ID if this proposal is a private auction proposal.", +"readOnly": true, +"type": "string" +}, +"proposalId": { +"description": "Output only. The unique ID of the proposal.", +"readOnly": true, +"type": "string" +}, +"proposalRevision": { +"description": "Output only. The revision number for the proposal. Each update to the proposal or the deal causes the proposal revision number to auto-increment. The buyer keeps track of the last revision number they know of and pass it in when making an update. If the head revision number on the server has since incremented, then an ABORTED error is returned during the update operation to let the buyer know that a subsequent update was made.", +"format": "int64", +"readOnly": true, +"type": "string" +}, +"proposalState": { +"description": "Output only. The current state of the proposal.", +"enum": [ +"PROPOSAL_STATE_UNSPECIFIED", +"PROPOSED", +"BUYER_ACCEPTED", +"SELLER_ACCEPTED", +"CANCELED", +"FINALIZED" +], +"enumDescriptions": [ +"A placeholder for an undefined proposal state.", +"The proposal is under negotiation or renegotiation.", +"The proposal has been accepted by the buyer.", +"The proposal has been accepted by the seller.", +"The negotiations on the proposal were canceled and the proposal was never finalized.", +"The proposal is finalized. During renegotiation, the proposal may not be in this state." +], +"readOnly": true, +"type": "string" +}, +"seller": { +"$ref": "Seller", +"description": "Reference to the seller on the proposal. Note: This field may be set only when creating the resource. Modifying this field while updating the resource will result in an error." +}, +"sellerContacts": { +"description": "Output only. Contact information for the seller.", +"items": { +"$ref": "ContactInformation" +}, +"readOnly": true, +"type": "array" +}, +"termsAndConditions": { +"description": "Output only. The terms and conditions set by the publisher for this proposal.", +"readOnly": true, +"type": "string" +}, +"updateTime": { +"description": "Output only. The time when the proposal was last revised.", +"format": "google-datetime", +"readOnly": true, +"type": "string" +} +}, +"type": "object" +}, +"PublisherProfile": { +"description": "Represents a publisher profile (https://support.google.com/admanager/answer/6035806) in Marketplace. All fields are read only. All string fields are free-form text entered by the publisher unless noted otherwise.", +"id": "PublisherProfile", +"properties": { +"audienceDescription": { +"description": "Description on the publisher's audience.", +"type": "string" +}, +"buyerPitchStatement": { +"description": "Statement explaining what's unique about publisher's business, and why buyers should partner with the publisher.", +"type": "string" +}, +"directDealsContact": { +"description": "Contact information for direct reservation deals. This is free text entered by the publisher and may include information like names, phone numbers and email addresses.", +"type": "string" +}, +"displayName": { +"description": "Name of the publisher profile.", +"type": "string" +}, +"domains": { +"description": "The list of domains represented in this publisher profile. Empty if this is a parent profile. These are top private domains, meaning that these will not contain a string like \"photos.google.co.uk/123\", but will instead contain \"google.co.uk\".", +"items": { +"type": "string" +}, +"type": "array" +}, +"googlePlusUrl": { +"description": "URL to publisher's Google+ page.", +"type": "string" +}, +"isParent": { +"description": "Indicates if this profile is the parent profile of the seller. A parent profile represents all the inventory from the seller, as opposed to child profile that is created to brand a portion of inventory. One seller should have only one parent publisher profile, and can have multiple child profiles. Publisher profiles for the same seller will have same value of field google.ads.adexchange.buyer.v2beta1.PublisherProfile.seller. See https://support.google.com/admanager/answer/6035806 for details.", +"type": "boolean" +}, +"logoUrl": { +"description": "A Google public URL to the logo for this publisher profile. The logo is stored as a PNG, JPG, or GIF image.", +"type": "string" +}, +"mediaKitUrl": { +"description": "URL to additional marketing and sales materials.", +"type": "string" +}, +"mobileApps": { +"description": "The list of apps represented in this publisher profile. Empty if this is a parent profile.", +"items": { +"$ref": "PublisherProfileMobileApplication" +}, +"type": "array" +}, +"overview": { +"description": "Overview of the publisher.", +"type": "string" +}, +"programmaticDealsContact": { +"description": "Contact information for programmatic deals. This is free text entered by the publisher and may include information like names, phone numbers and email addresses.", +"type": "string" +}, +"publisherProfileId": { +"description": "Unique ID for publisher profile.", +"type": "string" +}, +"rateCardInfoUrl": { +"description": "URL to a publisher rate card.", +"type": "string" +}, +"samplePageUrl": { +"description": "URL to a sample content page.", +"type": "string" +}, +"seller": { +"$ref": "Seller", +"description": "Seller of the publisher profile." +}, +"topHeadlines": { +"description": "Up to three key metrics and rankings. Max 100 characters each. For example \"#1 Mobile News Site for 20 Straight Months\".", +"items": { +"type": "string" +}, +"type": "array" +} +}, +"type": "object" +}, +"PublisherProfileMobileApplication": { +"description": "A mobile application that contains a external app ID, name, and app store.", +"id": "PublisherProfileMobileApplication", +"properties": { +"appStore": { +"description": "The app store the app belongs to.", +"enum": [ +"APP_STORE_TYPE_UNSPECIFIED", +"APPLE_ITUNES", +"GOOGLE_PLAY", +"ROKU", +"AMAZON_FIRETV", +"PLAYSTATION", +"XBOX", +"SAMSUNG_TV", +"AMAZON", +"OPPO", +"SAMSUNG", +"VIVO", +"XIAOMI", +"LG_TV" +], +"enumDescriptions": [ +"A placeholder for an unknown app store.", +"Apple iTunes", +"Google Play", +"Roku", +"Amazon Fire TV", +"Playstation", +"Xbox", +"Samsung TV", +"Amazon Appstore", +"OPPO App Market", +"Samsung Galaxy Store", +"VIVO App Store", +"Xiaomi GetApps", +"LG TV" +], +"type": "string" +}, +"externalAppId": { +"description": "The external ID for the app from its app store.", +"type": "string" +}, +"name": { +"description": "The name of the app.", +"type": "string" +} +}, +"type": "object" +}, +"RealtimeTimeRange": { +"description": "An open-ended realtime time range specified by the start timestamp. For filter sets that specify a realtime time range RTB metrics continue to be aggregated throughout the lifetime of the filter set.", +"id": "RealtimeTimeRange", +"properties": { +"startTimestamp": { +"description": "The start timestamp of the real-time RTB metrics aggregation.", +"format": "google-datetime", +"type": "string" +} +}, +"type": "object" +}, +"RelativeDateRange": { +"description": "A relative date range, specified by an offset and a duration. The supported range of dates begins 30 days before today and ends today, for example, the limits for these values are: offset_days >= 0 duration_days >= 1 offset_days + duration_days <= 30", +"id": "RelativeDateRange", +"properties": { +"durationDays": { +"description": "The number of days in the requested date range, for example, for a range spanning today: 1. For a range spanning the last 7 days: 7.", +"format": "int32", +"type": "integer" +}, +"offsetDays": { +"description": "The end date of the filter set, specified as the number of days before today, for example, for a range where the last date is today: 0.", +"format": "int32", +"type": "integer" +} +}, +"type": "object" +}, +"RemoveDealAssociationRequest": { +"description": "A request for removing the association between a deal and a creative.", +"id": "RemoveDealAssociationRequest", +"properties": { +"association": { +"$ref": "CreativeDealAssociation", +"description": "The association between a creative and a deal that should be removed." +} +}, +"type": "object" +}, +"ResumeProposalDealsRequest": { +"description": "Request message to resume (unpause) serving for already-finalized deals.", +"id": "ResumeProposalDealsRequest", +"properties": { +"externalDealIds": { +"description": "The external_deal_id's of the deals to resume. If empty, all the deals in the proposal will be resumed.", +"items": { +"type": "string" +}, +"type": "array" +} +}, +"type": "object" +}, +"ResumeProposalRequest": { +"description": "Request message to resume (unpause) serving for an already-finalized proposal.", +"id": "ResumeProposalRequest", +"properties": {}, +"type": "object" +}, +"RowDimensions": { +"description": "A response may include multiple rows, breaking down along various dimensions. Encapsulates the values of all dimensions for a given row.", +"id": "RowDimensions", +"properties": { +"publisherIdentifier": { +"description": "The publisher identifier for this row, if a breakdown by [BreakdownDimension.PUBLISHER_IDENTIFIER](https://developers.google.com/authorized-buyers/apis/reference/rest/v2beta1/bidders.accounts.filterSets#FilterSet.BreakdownDimension) was requested.", +"type": "string" +}, +"timeInterval": { +"$ref": "TimeInterval", +"description": "The time interval that this row represents." +} +}, +"type": "object" +}, +"SecurityContext": { +"deprecated": true, +"description": "Output only. A security context.", +"id": "SecurityContext", +"properties": { +"securities": { +"description": "The security types in this context.", +"items": { +"enum": [ +"INSECURE", +"SSL" +], +"enumDescriptions": [ +"Matches impressions that require insecure compatibility.", +"Matches impressions that require SSL compatibility." +], +"type": "string" +}, +"type": "array" +} +}, +"type": "object" +}, +"Seller": { +"description": "Represents a seller of inventory. Each seller is identified by a unique Ad Manager account ID.", +"id": "Seller", +"properties": { +"accountId": { +"description": "The unique ID for the seller. The seller fills in this field. The seller account ID is then available to buyer in the product.", +"type": "string" +}, +"subAccountId": { +"description": "Output only. Ad manager network code for the seller.", +"readOnly": true, +"type": "string" +} +}, +"type": "object" +}, +"ServingContext": { +"description": "The serving context for this restriction.", +"id": "ServingContext", +"properties": { +"all": { +"description": "Matches all contexts.", +"enum": [ +"SIMPLE_CONTEXT" +], +"enumDescriptions": [ +"A simple context." +], +"type": "string" +}, +"appType": { +"$ref": "AppContext", +"description": "Matches impressions for a particular app type." +}, +"auctionType": { +"$ref": "AuctionContext", +"description": "Matches impressions for a particular auction type." +}, +"location": { +"$ref": "LocationContext", +"description": "Matches impressions coming from users *or* publishers in a specific location." +}, +"platform": { +"$ref": "PlatformContext", +"description": "Matches impressions coming from a particular platform." +}, +"securityType": { +"$ref": "SecurityContext", +"deprecated": true, +"description": "Matches impressions for a particular security type." +} +}, +"type": "object" +}, +"ServingRestriction": { +"description": "Output only. A representation of the status of an ad in a specific context. A context here relates to where something ultimately serves (for example, a user or publisher geo, a platform, an HTTPS versus HTTP request, or the type of auction).", +"id": "ServingRestriction", +"properties": { +"contexts": { +"description": "The contexts for the restriction.", +"items": { +"$ref": "ServingContext" +}, +"type": "array" +}, +"disapproval": { +"$ref": "Disapproval", +"description": "Disapproval bound to this restriction. Only present if status=DISAPPROVED. Can be used to filter the response of the creatives.list method." +}, +"disapprovalReasons": { +"deprecated": true, +"description": "Any disapprovals bound to this restriction. Only present if status=DISAPPROVED. Can be used to filter the response of the creatives.list method. Deprecated; use disapproval field instead.", +"items": { +"$ref": "Disapproval" +}, +"type": "array" +}, +"status": { +"description": "The status of the creative in this context (for example, it has been explicitly disapproved or is pending review).", +"enum": [ +"STATUS_UNSPECIFIED", +"DISAPPROVAL", +"PENDING_REVIEW" +], +"enumDescriptions": [ +"The status is not known.", +"The ad was disapproved in this context.", +"The ad is pending review in this context." +], +"type": "string" +} +}, +"type": "object" +}, +"Size": { +"description": "Message depicting the size of the creative. The units of width and height depend on the type of the targeting.", +"id": "Size", +"properties": { +"height": { +"description": "The height of the creative.", +"format": "int32", +"type": "integer" +}, +"width": { +"description": "The width of the creative", +"format": "int32", +"type": "integer" +} +}, +"type": "object" +}, +"StopWatchingCreativeRequest": { +"description": "A request for stopping notifications for changes to creative Status.", +"id": "StopWatchingCreativeRequest", +"properties": {}, +"type": "object" +}, +"TargetingCriteria": { +"description": "Advertisers can target different attributes of an ad slot. For example, they can choose to show ads only if the user is in the U.S. Such targeting criteria can be specified as part of Shared Targeting.", +"id": "TargetingCriteria", +"properties": { +"exclusions": { +"description": "The list of values to exclude from targeting. Each value is AND'd together.", +"items": { +"$ref": "TargetingValue" +}, +"type": "array" +}, +"inclusions": { +"description": "The list of value to include as part of the targeting. Each value is OR'd together.", +"items": { +"$ref": "TargetingValue" +}, +"type": "array" +}, +"key": { +"description": "The key representing the shared targeting criterion. Targeting criteria defined by Google ad servers will begin with GOOG_. Third parties may define their own keys. A list of permissible keys along with the acceptable values will be provided as part of the external documentation.", +"type": "string" +} +}, +"type": "object" +}, +"TargetingValue": { +"description": "A polymorphic targeting value used as part of Shared Targeting.", +"id": "TargetingValue", +"properties": { +"creativeSizeValue": { +"$ref": "CreativeSize", +"description": "The creative size value to include/exclude. Filled in when key = GOOG_CREATIVE_SIZE" +}, +"dayPartTargetingValue": { +"$ref": "DayPartTargeting", +"description": "The daypart targeting to include / exclude. Filled in when the key is GOOG_DAYPART_TARGETING. The definition of this targeting is derived from the structure used by Ad Manager." +}, +"longValue": { +"description": "The long value to include/exclude.", +"format": "int64", +"type": "string" +}, +"stringValue": { +"description": "The string value to include/exclude.", +"type": "string" +} +}, +"type": "object" +}, +"TechnologyTargeting": { +"description": "Represents targeting about various types of technology.", +"id": "TechnologyTargeting", +"properties": { +"deviceCapabilityTargeting": { +"$ref": "CriteriaTargeting", +"description": "IDs of device capabilities to be included/excluded." +}, +"deviceCategoryTargeting": { +"$ref": "CriteriaTargeting", +"description": "IDs of device categories to be included/excluded." +}, +"operatingSystemTargeting": { +"$ref": "OperatingSystemTargeting", +"description": "Operating system related targeting information." +} +}, +"type": "object" +}, +"TimeInterval": { +"description": "An interval of time, with an absolute start and end.", +"id": "TimeInterval", +"properties": { +"endTime": { +"description": "The timestamp marking the end of the range (exclusive) for which data is included.", +"format": "google-datetime", +"type": "string" +}, +"startTime": { +"description": "The timestamp marking the start of the range (inclusive) for which data is included.", +"format": "google-datetime", +"type": "string" +} +}, +"type": "object" +}, +"TimeOfDay": { +"description": "Represents a time of day. The date and time zone are either not significant or are specified elsewhere. An API may choose to allow leap seconds. Related types are google.type.Date and `google.protobuf.Timestamp`.", +"id": "TimeOfDay", +"properties": { +"hours": { +"description": "Hours of a day in 24 hour format. Must be greater than or equal to 0 and typically must be less than or equal to 23. An API may choose to allow the value \"24:00:00\" for scenarios like business closing time.", +"format": "int32", +"type": "integer" +}, +"minutes": { +"description": "Minutes of an hour. Must be greater than or equal to 0 and less than or equal to 59.", +"format": "int32", +"type": "integer" +}, +"nanos": { +"description": "Fractions of seconds, in nanoseconds. Must be greater than or equal to 0 and less than or equal to 999,999,999.", +"format": "int32", +"type": "integer" +}, +"seconds": { +"description": "Seconds of a minute. Must be greater than or equal to 0 and typically must be less than or equal to 59. An API may allow the value 60 if it allows leap-seconds.", +"format": "int32", +"type": "integer" +} +}, +"type": "object" +}, +"UrlTargeting": { +"description": "Represents a list of targeted and excluded URLs (for example, google.com). For Private Auction and AdX Preferred Deals, URLs are either included or excluded. For Programmatic Guaranteed and Preferred Deals, this doesn't apply.", +"id": "UrlTargeting", +"properties": { +"excludedUrls": { +"description": "A list of URLs to be excluded.", +"items": { +"type": "string" +}, +"type": "array" +}, +"targetedUrls": { +"description": "A list of URLs to be included.", +"items": { +"type": "string" +}, +"type": "array" +} +}, +"type": "object" +}, +"VideoContent": { +"description": "Video content for a creative.", +"id": "VideoContent", +"properties": { +"videoUrl": { +"description": "The URL to fetch a video ad.", +"type": "string" +}, +"videoVastXml": { +"description": "The contents of a VAST document for a video ad. This document should conform to the VAST 2.0 or 3.0 standard.", +"type": "string" +} +}, +"type": "object" +}, +"VideoTargeting": { +"description": "Represents targeting information about video.", +"id": "VideoTargeting", +"properties": { +"excludedPositionTypes": { +"description": "A list of video positions to be excluded. Position types can either be included or excluded (XOR).", +"items": { +"enum": [ +"POSITION_TYPE_UNSPECIFIED", +"PREROLL", +"MIDROLL", +"POSTROLL" +], +"enumDescriptions": [ +"A placeholder for an undefined video position.", +"Ad is played before the video.", +"Ad is played during the video.", +"Ad is played after the video." +], +"type": "string" +}, +"type": "array" +}, +"targetedPositionTypes": { +"description": "A list of video positions to be included. When the included list is present, the excluded list must be empty. When the excluded list is present, the included list must be empty.", +"items": { +"enum": [ +"POSITION_TYPE_UNSPECIFIED", +"PREROLL", +"MIDROLL", +"POSTROLL" +], +"enumDescriptions": [ +"A placeholder for an undefined video position.", +"Ad is played before the video.", +"Ad is played during the video.", +"Ad is played after the video." +], +"type": "string" +}, +"type": "array" +} +}, +"type": "object" +}, +"WatchCreativeRequest": { +"description": "A request for watching changes to creative Status.", +"id": "WatchCreativeRequest", +"properties": { +"topic": { +"description": "The Pub/Sub topic to publish notifications to. This topic must already exist and must give permission to ad-exchange-buyside-reports@google.com to write to the topic. This should be the full resource name in \"projects/{project_id}/topics/{topic_id}\" format.", +"type": "string" +} +}, +"type": "object" +} +}, +"servicePath": "", +"title": "Ad Exchange Buyer API II", +"version": "v2beta1", +"version_module": true +} \ No newline at end of file diff --git a/.venv/lib/python3.11/site-packages/googleapiclient/discovery_cache/documents/admin.datatransferv1.json b/.venv/lib/python3.11/site-packages/googleapiclient/discovery_cache/documents/admin.datatransferv1.json new file mode 100644 index 0000000000000000000000000000000000000000..6b5692623f8994427e700acef37635ce4924fb6a --- /dev/null +++ b/.venv/lib/python3.11/site-packages/googleapiclient/discovery_cache/documents/admin.datatransferv1.json @@ -0,0 +1,453 @@ +{ +"auth": { +"oauth2": { +"scopes": { +"https://www.googleapis.com/auth/admin.datatransfer": { +"description": "View and manage data transfers between users in your organization" +}, +"https://www.googleapis.com/auth/admin.datatransfer.readonly": { +"description": "View data transfers between users in your organization" +} +} +} +}, +"basePath": "", +"baseUrl": "https://admin.googleapis.com/", +"batchPath": "batch", +"canonicalName": "DataTransfer", +"description": "Admin SDK lets administrators of enterprise domains to view and manage resources like user, groups etc. It also provides audit and usage reports of domain.", +"discoveryVersion": "v1", +"documentationLink": "https://developers.google.com/admin-sdk/", +"fullyEncodeReservedExpansion": true, +"icons": { +"x16": "http://www.google.com/images/icons/product/search-16.gif", +"x32": "http://www.google.com/images/icons/product/search-32.gif" +}, +"id": "admin:datatransfer_v1", +"kind": "discovery#restDescription", +"mtlsRootUrl": "https://admin.mtls.googleapis.com/", +"name": "admin", +"ownerDomain": "google.com", +"ownerName": "Google", +"packagePath": "admin", +"parameters": { +"$.xgafv": { +"description": "V1 error format.", +"enum": [ +"1", +"2" +], +"enumDescriptions": [ +"v1 error format", +"v2 error format" +], +"location": "query", +"type": "string" +}, +"access_token": { +"description": "OAuth access token.", +"location": "query", +"type": "string" +}, +"alt": { +"default": "json", +"description": "Data format for response.", +"enum": [ +"json", +"media", +"proto" +], +"enumDescriptions": [ +"Responses with Content-Type of application/json", +"Media download with context-dependent Content-Type", +"Responses with Content-Type of application/x-protobuf" +], +"location": "query", +"type": "string" +}, +"callback": { +"description": "JSONP", +"location": "query", +"type": "string" +}, +"fields": { +"description": "Selector specifying which fields to include in a partial response.", +"location": "query", +"type": "string" +}, +"key": { +"description": "API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token.", +"location": "query", +"type": "string" +}, +"oauth_token": { +"description": "OAuth 2.0 token for the current user.", +"location": "query", +"type": "string" +}, +"prettyPrint": { +"default": "true", +"description": "Returns response with indentations and line breaks.", +"location": "query", +"type": "boolean" +}, +"quotaUser": { +"description": "Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters.", +"location": "query", +"type": "string" +}, +"uploadType": { +"description": "Legacy upload protocol for media (e.g. \"media\", \"multipart\").", +"location": "query", +"type": "string" +}, +"upload_protocol": { +"description": "Upload protocol for media (e.g. \"raw\", \"multipart\").", +"location": "query", +"type": "string" +} +}, +"protocol": "rest", +"resources": { +"applications": { +"methods": { +"get": { +"description": "Retrieves information about an application for the given application ID.", +"flatPath": "admin/datatransfer/v1/applications/{applicationId}", +"httpMethod": "GET", +"id": "datatransfer.applications.get", +"parameterOrder": [ +"applicationId" +], +"parameters": { +"applicationId": { +"description": "ID of the application resource to be retrieved.", +"format": "int64", +"location": "path", +"required": true, +"type": "string" +} +}, +"path": "admin/datatransfer/v1/applications/{applicationId}", +"response": { +"$ref": "Application" +}, +"scopes": [ +"https://www.googleapis.com/auth/admin.datatransfer", +"https://www.googleapis.com/auth/admin.datatransfer.readonly" +] +}, +"list": { +"description": "Lists the applications available for data transfer for a customer.", +"flatPath": "admin/datatransfer/v1/applications", +"httpMethod": "GET", +"id": "datatransfer.applications.list", +"parameterOrder": [], +"parameters": { +"customerId": { +"description": "Immutable ID of the Google Workspace account.", +"location": "query", +"type": "string" +}, +"maxResults": { +"description": "Maximum number of results to return. Default is 100.", +"format": "int32", +"location": "query", +"maximum": "500", +"minimum": "1", +"type": "integer" +}, +"pageToken": { +"description": "Token to specify next page in the list.", +"location": "query", +"type": "string" +} +}, +"path": "admin/datatransfer/v1/applications", +"response": { +"$ref": "ApplicationsListResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/admin.datatransfer", +"https://www.googleapis.com/auth/admin.datatransfer.readonly" +] +} +} +}, +"transfers": { +"methods": { +"get": { +"description": "Retrieves a data transfer request by its resource ID.", +"flatPath": "admin/datatransfer/v1/transfers/{dataTransferId}", +"httpMethod": "GET", +"id": "datatransfer.transfers.get", +"parameterOrder": [ +"dataTransferId" +], +"parameters": { +"dataTransferId": { +"description": "ID of the resource to be retrieved. This is returned in the response from the insert method.", +"location": "path", +"required": true, +"type": "string" +} +}, +"path": "admin/datatransfer/v1/transfers/{dataTransferId}", +"response": { +"$ref": "DataTransfer" +}, +"scopes": [ +"https://www.googleapis.com/auth/admin.datatransfer", +"https://www.googleapis.com/auth/admin.datatransfer.readonly" +] +}, +"insert": { +"description": "Inserts a data transfer request. See the [Transfer parameters](/admin-sdk/data-transfer/v1/parameters) reference for specific application requirements.", +"flatPath": "admin/datatransfer/v1/transfers", +"httpMethod": "POST", +"id": "datatransfer.transfers.insert", +"parameterOrder": [], +"parameters": {}, +"path": "admin/datatransfer/v1/transfers", +"request": { +"$ref": "DataTransfer" +}, +"response": { +"$ref": "DataTransfer" +}, +"scopes": [ +"https://www.googleapis.com/auth/admin.datatransfer" +] +}, +"list": { +"description": "Lists the transfers for a customer by source user, destination user, or status.", +"flatPath": "admin/datatransfer/v1/transfers", +"httpMethod": "GET", +"id": "datatransfer.transfers.list", +"parameterOrder": [], +"parameters": { +"customerId": { +"description": "Immutable ID of the Google Workspace account.", +"location": "query", +"type": "string" +}, +"maxResults": { +"description": "Maximum number of results to return. Default is 100.", +"format": "int32", +"location": "query", +"maximum": "500", +"minimum": "1", +"type": "integer" +}, +"newOwnerUserId": { +"description": "Destination user's profile ID.", +"location": "query", +"type": "string" +}, +"oldOwnerUserId": { +"description": "Source user's profile ID.", +"location": "query", +"type": "string" +}, +"pageToken": { +"description": "Token to specify the next page in the list.", +"location": "query", +"type": "string" +}, +"status": { +"description": "Status of the transfer.", +"location": "query", +"type": "string" +} +}, +"path": "admin/datatransfer/v1/transfers", +"response": { +"$ref": "DataTransfersListResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/admin.datatransfer", +"https://www.googleapis.com/auth/admin.datatransfer.readonly" +] +} +} +} +}, +"revision": "20240618", +"rootUrl": "https://admin.googleapis.com/", +"schemas": { +"Application": { +"description": "Application resources represent applications installed on the domain that support transferring ownership of user data.", +"id": "Application", +"properties": { +"etag": { +"description": "Etag of the resource.", +"type": "string" +}, +"id": { +"description": "The application's ID. Retrievable by using the [`applications.list()`](/admin-sdk/data-transfer/reference/rest/v1/applications/list) method.", +"format": "int64", +"type": "string" +}, +"kind": { +"default": "admin#datatransfer#ApplicationResource", +"description": "Identifies the resource as a DataTransfer Application Resource.", +"type": "string" +}, +"name": { +"description": "The application's name.", +"type": "string" +}, +"transferParams": { +"description": "The list of all possible transfer parameters for this application. These parameters select which categories of the user's data to transfer.", +"items": { +"$ref": "ApplicationTransferParam" +}, +"type": "array" +} +}, +"type": "object" +}, +"ApplicationDataTransfer": { +"description": "Template to map fields of ApplicationDataTransfer resource.", +"id": "ApplicationDataTransfer", +"properties": { +"applicationId": { +"description": "The application's ID.", +"format": "int64", +"type": "string" +}, +"applicationTransferParams": { +"description": "The transfer parameters for the application. These parameters are used to select the data which will get transferred in context of this application. For more information about the specific values available for each application, see the [Transfer parameters](/admin-sdk/data-transfer/v1/parameters) reference.", +"items": { +"$ref": "ApplicationTransferParam" +}, +"type": "array" +}, +"applicationTransferStatus": { +"description": "Read-only. Current status of transfer for this application.", +"type": "string" +} +}, +"type": "object" +}, +"ApplicationTransferParam": { +"description": "Template for application transfer parameters.", +"id": "ApplicationTransferParam", +"properties": { +"key": { +"description": "The type of the transfer parameter, such as `PRIVACY_LEVEL`.", +"type": "string" +}, +"value": { +"description": "The value of the transfer parameter, such as `PRIVATE` or `SHARED`.", +"items": { +"type": "string" +}, +"type": "array" +} +}, +"type": "object" +}, +"ApplicationsListResponse": { +"description": "Template for a collection of Applications.", +"id": "ApplicationsListResponse", +"properties": { +"applications": { +"description": "The list of applications that support data transfer and are also installed for the customer.", +"items": { +"$ref": "Application" +}, +"type": "array" +}, +"etag": { +"description": "ETag of the resource.", +"type": "string" +}, +"kind": { +"default": "admin#datatransfer#applicationsList", +"description": "Identifies the resource as a collection of Applications.", +"type": "string" +}, +"nextPageToken": { +"description": "Token to specify the next page in the list.", +"type": "string" +} +}, +"type": "object" +}, +"DataTransfer": { +"description": "A Transfer resource represents the transfer of the ownership of user data between users.", +"id": "DataTransfer", +"properties": { +"applicationDataTransfers": { +"description": "The list of per-application data transfer resources. It contains details of the applications associated with this transfer resource, and also specifies the applications for which data transfer has to be done at the time of the transfer resource creation.", +"items": { +"$ref": "ApplicationDataTransfer" +}, +"type": "array" +}, +"etag": { +"description": "ETag of the resource.", +"type": "string" +}, +"id": { +"description": "Read-only. The transfer's ID.", +"type": "string" +}, +"kind": { +"default": "admin#datatransfer#DataTransfer", +"description": "Identifies the resource as a DataTransfer request.", +"type": "string" +}, +"newOwnerUserId": { +"description": "ID of the user to whom the data is being transferred.", +"type": "string" +}, +"oldOwnerUserId": { +"description": "ID of the user whose data is being transferred.", +"type": "string" +}, +"overallTransferStatusCode": { +"description": "Read-only. Overall transfer status.", +"type": "string" +}, +"requestTime": { +"description": "Read-only. The time at which the data transfer was requested.", +"format": "date-time", +"type": "string" +} +}, +"type": "object" +}, +"DataTransfersListResponse": { +"description": "Template for a collection of DataTransfer resources.", +"id": "DataTransfersListResponse", +"properties": { +"dataTransfers": { +"description": "List of data transfer requests.", +"items": { +"$ref": "DataTransfer" +}, +"type": "array" +}, +"etag": { +"description": "ETag of the resource.", +"type": "string" +}, +"kind": { +"default": "admin#datatransfer#dataTransfersList", +"description": "Identifies the resource as a collection of data transfer requests.", +"type": "string" +}, +"nextPageToken": { +"description": "Token to specify the next page in the list.", +"type": "string" +} +}, +"type": "object" +} +}, +"servicePath": "", +"title": "Admin SDK API", +"version": "datatransfer_v1" +} \ No newline at end of file diff --git a/.venv/lib/python3.11/site-packages/googleapiclient/discovery_cache/documents/admin.directory_v1.json b/.venv/lib/python3.11/site-packages/googleapiclient/discovery_cache/documents/admin.directory_v1.json new file mode 100644 index 0000000000000000000000000000000000000000..cd2b4fc0f5aba2ef94e5469ba7968d35985cad6d --- /dev/null +++ b/.venv/lib/python3.11/site-packages/googleapiclient/discovery_cache/documents/admin.directory_v1.json @@ -0,0 +1,8729 @@ +{ +"auth": { +"oauth2": { +"scopes": { +"https://www.googleapis.com/auth/admin.chrome.printers": { +"description": "See, add, edit, and permanently delete the printers that your organization can use with Chrome" +}, +"https://www.googleapis.com/auth/admin.chrome.printers.readonly": { +"description": "See the printers that your organization can use with Chrome" +}, +"https://www.googleapis.com/auth/admin.directory.customer": { +"description": "View and manage customer related information" +}, +"https://www.googleapis.com/auth/admin.directory.customer.readonly": { +"description": "View customer related information" +}, +"https://www.googleapis.com/auth/admin.directory.device.chromeos": { +"description": "View and manage your ChromeOS devices' metadata" +}, +"https://www.googleapis.com/auth/admin.directory.device.chromeos.readonly": { +"description": "View your ChromeOS devices' metadata" +}, +"https://www.googleapis.com/auth/admin.directory.device.mobile": { +"description": "View and manage your mobile devices' metadata" +}, +"https://www.googleapis.com/auth/admin.directory.device.mobile.action": { +"description": "Manage your mobile devices by performing administrative tasks" +}, +"https://www.googleapis.com/auth/admin.directory.device.mobile.readonly": { +"description": "View your mobile devices' metadata" +}, +"https://www.googleapis.com/auth/admin.directory.domain": { +"description": "View and manage the provisioning of domains for your customers" +}, +"https://www.googleapis.com/auth/admin.directory.domain.readonly": { +"description": "View domains related to your customers" +}, +"https://www.googleapis.com/auth/admin.directory.group": { +"description": "View and manage the provisioning of groups on your domain" +}, +"https://www.googleapis.com/auth/admin.directory.group.member": { +"description": "View and manage group subscriptions on your domain" +}, +"https://www.googleapis.com/auth/admin.directory.group.member.readonly": { +"description": "View group subscriptions on your domain" +}, +"https://www.googleapis.com/auth/admin.directory.group.readonly": { +"description": "View groups on your domain" +}, +"https://www.googleapis.com/auth/admin.directory.orgunit": { +"description": "View and manage organization units on your domain" +}, +"https://www.googleapis.com/auth/admin.directory.orgunit.readonly": { +"description": "View organization units on your domain" +}, +"https://www.googleapis.com/auth/admin.directory.resource.calendar": { +"description": "View and manage the provisioning of calendar resources on your domain" +}, +"https://www.googleapis.com/auth/admin.directory.resource.calendar.readonly": { +"description": "View calendar resources on your domain" +}, +"https://www.googleapis.com/auth/admin.directory.rolemanagement": { +"description": "Manage delegated admin roles for your domain" +}, +"https://www.googleapis.com/auth/admin.directory.rolemanagement.readonly": { +"description": "View delegated admin roles for your domain" +}, +"https://www.googleapis.com/auth/admin.directory.user": { +"description": "View and manage the provisioning of users on your domain" +}, +"https://www.googleapis.com/auth/admin.directory.user.alias": { +"description": "View and manage user aliases on your domain" +}, +"https://www.googleapis.com/auth/admin.directory.user.alias.readonly": { +"description": "View user aliases on your domain" +}, +"https://www.googleapis.com/auth/admin.directory.user.readonly": { +"description": "See info about users on your domain" +}, +"https://www.googleapis.com/auth/admin.directory.user.security": { +"description": "Manage data access permissions for users on your domain" +}, +"https://www.googleapis.com/auth/admin.directory.userschema": { +"description": "View and manage the provisioning of user schemas on your domain" +}, +"https://www.googleapis.com/auth/admin.directory.userschema.readonly": { +"description": "View user schemas on your domain" +}, +"https://www.googleapis.com/auth/cloud-platform": { +"description": "See, edit, configure, and delete your Google Cloud data and see the email address for your Google Account." +} +} +} +}, +"basePath": "", +"baseUrl": "https://admin.googleapis.com/", +"batchPath": "batch", +"canonicalName": "directory", +"description": "Admin SDK lets administrators of enterprise domains to view and manage resources like user, groups etc. It also provides audit and usage reports of domain.", +"discoveryVersion": "v1", +"documentationLink": "https://developers.google.com/admin-sdk/", +"fullyEncodeReservedExpansion": true, +"icons": { +"x16": "http://www.google.com/images/icons/product/search-16.gif", +"x32": "http://www.google.com/images/icons/product/search-32.gif" +}, +"id": "admin:directory_v1", +"kind": "discovery#restDescription", +"mtlsRootUrl": "https://admin.mtls.googleapis.com/", +"name": "admin", +"ownerDomain": "google.com", +"ownerName": "Google", +"packagePath": "admin", +"parameters": { +"$.xgafv": { +"description": "V1 error format.", +"enum": [ +"1", +"2" +], +"enumDescriptions": [ +"v1 error format", +"v2 error format" +], +"location": "query", +"type": "string" +}, +"access_token": { +"description": "OAuth access token.", +"location": "query", +"type": "string" +}, +"alt": { +"default": "json", +"description": "Data format for response.", +"enum": [ +"json", +"media", +"proto" +], +"enumDescriptions": [ +"Responses with Content-Type of application/json", +"Media download with context-dependent Content-Type", +"Responses with Content-Type of application/x-protobuf" +], +"location": "query", +"type": "string" +}, +"callback": { +"description": "JSONP", +"location": "query", +"type": "string" +}, +"fields": { +"description": "Selector specifying which fields to include in a partial response.", +"location": "query", +"type": "string" +}, +"key": { +"description": "API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token.", +"location": "query", +"type": "string" +}, +"oauth_token": { +"description": "OAuth 2.0 token for the current user.", +"location": "query", +"type": "string" +}, +"prettyPrint": { +"default": "true", +"description": "Returns response with indentations and line breaks.", +"location": "query", +"type": "boolean" +}, +"quotaUser": { +"description": "Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters.", +"location": "query", +"type": "string" +}, +"uploadType": { +"description": "Legacy upload protocol for media (e.g. \"media\", \"multipart\").", +"location": "query", +"type": "string" +}, +"upload_protocol": { +"description": "Upload protocol for media (e.g. \"raw\", \"multipart\").", +"location": "query", +"type": "string" +} +}, +"protocol": "rest", +"resources": { +"asps": { +"methods": { +"delete": { +"description": "Deletes an ASP issued by a user.", +"flatPath": "admin/directory/v1/users/{userKey}/asps/{codeId}", +"httpMethod": "DELETE", +"id": "directory.asps.delete", +"parameterOrder": [ +"userKey", +"codeId" +], +"parameters": { +"codeId": { +"description": "The unique ID of the ASP to be deleted.", +"format": "int32", +"location": "path", +"required": true, +"type": "integer" +}, +"userKey": { +"description": "Identifies the user in the API request. The value can be the user's primary email address, alias email address, or unique user ID.", +"location": "path", +"required": true, +"type": "string" +} +}, +"path": "admin/directory/v1/users/{userKey}/asps/{codeId}", +"scopes": [ +"https://www.googleapis.com/auth/admin.directory.user.security" +] +}, +"get": { +"description": "Gets information about an ASP issued by a user.", +"flatPath": "admin/directory/v1/users/{userKey}/asps/{codeId}", +"httpMethod": "GET", +"id": "directory.asps.get", +"parameterOrder": [ +"userKey", +"codeId" +], +"parameters": { +"codeId": { +"description": "The unique ID of the ASP.", +"format": "int32", +"location": "path", +"required": true, +"type": "integer" +}, +"userKey": { +"description": "Identifies the user in the API request. The value can be the user's primary email address, alias email address, or unique user ID.", +"location": "path", +"required": true, +"type": "string" +} +}, +"path": "admin/directory/v1/users/{userKey}/asps/{codeId}", +"response": { +"$ref": "Asp" +}, +"scopes": [ +"https://www.googleapis.com/auth/admin.directory.user.security" +] +}, +"list": { +"description": "Lists the ASPs issued by a user.", +"flatPath": "admin/directory/v1/users/{userKey}/asps", +"httpMethod": "GET", +"id": "directory.asps.list", +"parameterOrder": [ +"userKey" +], +"parameters": { +"userKey": { +"description": "Identifies the user in the API request. The value can be the user's primary email address, alias email address, or unique user ID.", +"location": "path", +"required": true, +"type": "string" +} +}, +"path": "admin/directory/v1/users/{userKey}/asps", +"response": { +"$ref": "Asps" +}, +"scopes": [ +"https://www.googleapis.com/auth/admin.directory.user.security" +] +} +} +}, +"channels": { +"methods": { +"stop": { +"description": "Stops watching resources through this channel.", +"flatPath": "admin/directory_v1/channels/stop", +"httpMethod": "POST", +"id": "admin.channels.stop", +"parameterOrder": [], +"parameters": {}, +"path": "admin/directory_v1/channels/stop", +"request": { +"$ref": "Channel" +}, +"scopes": [ +"https://www.googleapis.com/auth/admin.directory.user", +"https://www.googleapis.com/auth/admin.directory.user.alias", +"https://www.googleapis.com/auth/admin.directory.user.alias.readonly", +"https://www.googleapis.com/auth/admin.directory.user.readonly", +"https://www.googleapis.com/auth/cloud-platform" +] +} +} +}, +"chromeosdevices": { +"methods": { +"action": { +"deprecated": true, +"description": "Use [BatchChangeChromeOsDeviceStatus](/admin-sdk/directory/reference/rest/v1/customer.devices.chromeos/batchChangeStatus) instead. Takes an action that affects a Chrome OS Device. This includes deprovisioning, disabling, and re-enabling devices. *Warning:* * Deprovisioning a device will stop device policy syncing and remove device-level printers. After a device is deprovisioned, it must be wiped before it can be re-enrolled. * Lost or stolen devices should use the disable action. * Re-enabling a disabled device will consume a device license. If you do not have sufficient licenses available when completing the re-enable action, you will receive an error. For more information about deprovisioning and disabling devices, visit the [help center](https://support.google.com/chrome/a/answer/3523633).", +"flatPath": "admin/directory/v1/customer/{customerId}/devices/chromeos/{resourceId}/action", +"httpMethod": "POST", +"id": "directory.chromeosdevices.action", +"parameterOrder": [ +"customerId", +"resourceId" +], +"parameters": { +"customerId": { +"description": "The unique ID for the customer's Google Workspace account. As an account administrator, you can also use the `my_customer` alias to represent your account's `customerId`. The `customerId` is also returned as part of the [Users resource](/admin-sdk/directory/v1/reference/users).", +"location": "path", +"required": true, +"type": "string" +}, +"resourceId": { +"description": "The unique ID of the device. The `resourceId`s are returned in the response from the [chromeosdevices.list](/admin-sdk/directory/v1/reference/chromeosdevices/list) method.", +"location": "path", +"required": true, +"type": "string" +} +}, +"path": "admin/directory/v1/customer/{customerId}/devices/chromeos/{resourceId}/action", +"request": { +"$ref": "ChromeOsDeviceAction" +}, +"scopes": [ +"https://www.googleapis.com/auth/admin.directory.device.chromeos" +] +}, +"get": { +"description": "Retrieves a Chrome OS device's properties.", +"flatPath": "admin/directory/v1/customer/{customerId}/devices/chromeos/{deviceId}", +"httpMethod": "GET", +"id": "directory.chromeosdevices.get", +"parameterOrder": [ +"customerId", +"deviceId" +], +"parameters": { +"customerId": { +"description": "The unique ID for the customer's Google Workspace account. As an account administrator, you can also use the `my_customer` alias to represent your account's `customerId`. The `customerId` is also returned as part of the [Users resource](/admin-sdk/directory/v1/reference/users).", +"location": "path", +"required": true, +"type": "string" +}, +"deviceId": { +"description": "The unique ID of the device. The `deviceId`s are returned in the response from the [chromeosdevices.list](/admin-sdk/directory/v1/reference/chromeosdevices/list) method.", +"location": "path", +"required": true, +"type": "string" +}, +"projection": { +"description": "Determines whether the response contains the full list of properties or only a subset.", +"enum": [ +"BASIC", +"FULL" +], +"enumDescriptions": [ +"Includes only the basic metadata fields (e.g., deviceId, serialNumber, status, and user)", +"Includes all metadata fields" +], +"location": "query", +"type": "string" +} +}, +"path": "admin/directory/v1/customer/{customerId}/devices/chromeos/{deviceId}", +"response": { +"$ref": "ChromeOsDevice" +}, +"scopes": [ +"https://www.googleapis.com/auth/admin.directory.device.chromeos", +"https://www.googleapis.com/auth/admin.directory.device.chromeos.readonly" +] +}, +"list": { +"description": "Retrieves a paginated list of Chrome OS devices within an account.", +"flatPath": "admin/directory/v1/customer/{customerId}/devices/chromeos", +"httpMethod": "GET", +"id": "directory.chromeosdevices.list", +"parameterOrder": [ +"customerId" +], +"parameters": { +"customerId": { +"description": "The unique ID for the customer's Google Workspace account. As an account administrator, you can also use the `my_customer` alias to represent your account's `customerId`. The `customerId` is also returned as part of the [Users resource](/admin-sdk/directory/v1/reference/users).", +"location": "path", +"required": true, +"type": "string" +}, +"includeChildOrgunits": { +"description": "Return devices from all child orgunits, as well as the specified org unit. If this is set to true, 'orgUnitPath' must be provided.", +"location": "query", +"type": "boolean" +}, +"maxResults": { +"default": "100", +"description": "Maximum number of results to return. Value should not exceed 300.", +"format": "int32", +"location": "query", +"minimum": "1", +"type": "integer" +}, +"orderBy": { +"description": "Device property to use for sorting results.", +"enum": [ +"annotatedLocation", +"annotatedUser", +"lastSync", +"notes", +"serialNumber", +"status" +], +"enumDescriptions": [ +"Chrome device location as annotated by the administrator.", +"Chromebook user as annotated by administrator.", +"The date and time the Chrome device was last synchronized with the policy settings in the Admin console.", +"Chrome device notes as annotated by the administrator.", +"The Chrome device serial number entered when the device was enabled.", +"Chrome device status. For more information, see the 312e3200 TPM 2.0: \"2.0\" -> 322e3000", +"type": "string" +}, +"firmwareVersion": { +"description": "TPM firmware version.", +"type": "string" +}, +"manufacturer": { +"description": "TPM manufacturer code.", +"type": "string" +}, +"specLevel": { +"description": "TPM specification level. See Library Specification for TPM 2.0 and Main Specification for TPM 1.2.", +"type": "string" +}, +"tpmModel": { +"description": "TPM model number.", +"type": "string" +}, +"vendorSpecific": { +"description": "Vendor-specific information such as Vendor ID.", +"type": "string" +} +}, +"type": "object" +}, +"willAutoRenew": { +"description": "Determines if the device will auto renew its support after the support end date. This is a read-only property.", +"type": "boolean" +} +}, +"type": "object" +}, +"ChromeOsDeviceAction": { +"description": "Data about an update to the status of a Chrome OS device.", +"id": "ChromeOsDeviceAction", +"properties": { +"action": { +"annotations": { +"required": [ +"directory.chromeosdevices.action" +] +}, +"description": "Action to be taken on the Chrome OS device.", +"type": "string" +}, +"deprovisionReason": { +"description": "Only used when the action is `deprovision`. With the `deprovision` action, this field is required. *Note*: The deprovision reason is audited because it might have implications on licenses for perpetual subscription customers.", +"type": "string" +} +}, +"type": "object" +}, +"ChromeOsDevices": { +"id": "ChromeOsDevices", +"properties": { +"chromeosdevices": { +"description": "A list of Chrome OS Device objects.", +"items": { +"$ref": "ChromeOsDevice" +}, +"type": "array" +}, +"etag": { +"description": "ETag of the resource.", +"type": "string" +}, +"kind": { +"default": "admin#directory#chromeosdevices", +"description": "Kind of resource this is.", +"type": "string" +}, +"nextPageToken": { +"description": "Token used to access the next page of this result. To access the next page, use this token's value in the `pageToken` query string of this request.", +"type": "string" +} +}, +"type": "object" +}, +"ChromeOsMoveDevicesToOu": { +"id": "ChromeOsMoveDevicesToOu", +"properties": { +"deviceIds": { +"annotations": { +"required": [ +"directory.chromeosdevices.moveDevicesToOu" +] +}, +"description": "Chrome OS devices to be moved to OU", +"items": { +"type": "string" +}, +"type": "array" +} +}, +"type": "object" +}, +"CreatePrintServerRequest": { +"description": "Request for adding a new print server.", +"id": "CreatePrintServerRequest", +"properties": { +"parent": { +"description": "Required. The [unique ID](https://developers.google.com/admin-sdk/directory/reference/rest/v1/customers) of the customer's Google Workspace account. Format: `customers/{id}`", +"type": "string" +}, +"printServer": { +"$ref": "PrintServer", +"description": "Required. A print server to create. If you want to place the print server under a specific organizational unit (OU), then populate the `org_unit_id`. Otherwise the print server is created under the root OU. The `org_unit_id` can be retrieved using the [Directory API](https://developers.google.com/admin-sdk/directory/v1/guides/manage-org-units)." +} +}, +"type": "object" +}, +"CreatePrinterRequest": { +"description": "Request for adding a new printer.", +"id": "CreatePrinterRequest", +"properties": { +"parent": { +"description": "Required. The name of the customer. Format: customers/{customer_id}", +"type": "string" +}, +"printer": { +"$ref": "Printer", +"description": "Required. A printer to create. If you want to place the printer under particular OU then populate printer.org_unit_id filed. Otherwise the printer will be placed under root OU." +} +}, +"type": "object" +}, +"Customer": { +"id": "Customer", +"properties": { +"alternateEmail": { +"description": "The customer's secondary contact email address. This email address cannot be on the same domain as the `customerDomain`", +"type": "string" +}, +"customerCreationTime": { +"description": "The customer's creation time (Readonly)", +"format": "date-time", +"type": "string" +}, +"customerDomain": { +"description": "The customer's primary domain name string. Do not include the `www` prefix when creating a new customer.", +"type": "string" +}, +"etag": { +"description": "ETag of the resource.", +"type": "string" +}, +"id": { +"description": "The unique ID for the customer's Google Workspace account. (Readonly)", +"type": "string" +}, +"kind": { +"default": "admin#directory#customer", +"description": "Identifies the resource as a customer. Value: `admin#directory#customer`", +"type": "string" +}, +"language": { +"description": "The customer's ISO 639-2 language code. See the [Language Codes](/admin-sdk/directory/v1/languages) page for the list of supported codes. Valid language codes outside the supported set will be accepted by the API but may lead to unexpected behavior. The default value is `en`.", +"type": "string" +}, +"phoneNumber": { +"description": "The customer's contact phone number in [E.164](https://en.wikipedia.org/wiki/E.164) format.", +"type": "string" +}, +"postalAddress": { +"$ref": "CustomerPostalAddress", +"description": "The customer's postal address information." +} +}, +"type": "object" +}, +"CustomerPostalAddress": { +"id": "CustomerPostalAddress", +"properties": { +"addressLine1": { +"description": "A customer's physical address. The address can be composed of one to three lines.", +"type": "string" +}, +"addressLine2": { +"description": "Address line 2 of the address.", +"type": "string" +}, +"addressLine3": { +"description": "Address line 3 of the address.", +"type": "string" +}, +"contactName": { +"description": "The customer contact's name.", +"type": "string" +}, +"countryCode": { +"description": "This is a required property. For `countryCode` information see the [ISO 3166 country code elements](https://www.iso.org/iso/country_codes.htm).", +"type": "string" +}, +"locality": { +"description": "Name of the locality. An example of a locality value is the city of `San Francisco`.", +"type": "string" +}, +"organizationName": { +"description": "The company or company division name.", +"type": "string" +}, +"postalCode": { +"description": "The postal code. A postalCode example is a postal zip code such as `10009`. This is in accordance with - http: //portablecontacts.net/draft-spec.html#address_element.", +"type": "string" +}, +"region": { +"description": "Name of the region. An example of a region value is `NY` for the state of New York.", +"type": "string" +} +}, +"type": "object" +}, +"DirectoryChromeosdevicesCommand": { +"description": "Information regarding a command that was issued to a device.", +"id": "DirectoryChromeosdevicesCommand", +"properties": { +"commandExpireTime": { +"description": "The time at which the command will expire. If the device doesn't execute the command within this time the command will become expired.", +"format": "google-datetime", +"type": "string" +}, +"commandId": { +"description": "Unique ID of a device command.", +"format": "int64", +"type": "string" +}, +"commandResult": { +"$ref": "DirectoryChromeosdevicesCommandResult", +"description": "The result of the command execution." +}, +"issueTime": { +"description": "The timestamp when the command was issued by the admin.", +"format": "google-datetime", +"type": "string" +}, +"payload": { +"description": "The payload that the command specified, if any.", +"type": "string" +}, +"state": { +"description": "Indicates the command state.", +"enum": [ +"STATE_UNSPECIFIED", +"PENDING", +"EXPIRED", +"CANCELLED", +"SENT_TO_CLIENT", +"ACKED_BY_CLIENT", +"EXECUTED_BY_CLIENT" +], +"enumDescriptions": [ +"The command status was unspecified.", +"An unexpired command not yet sent to the client.", +"The command didn't get executed by the client within the expected time.", +"The command is cancelled by admin while in PENDING.", +"The command has been sent to the client.", +"The client has responded that it received the command.", +"The client has (un)successfully executed the command." +], +"type": "string" +}, +"type": { +"description": "The type of the command.", +"enum": [ +"COMMAND_TYPE_UNSPECIFIED", +"REBOOT", +"TAKE_A_SCREENSHOT", +"SET_VOLUME", +"WIPE_USERS", +"REMOTE_POWERWASH", +"DEVICE_START_CRD_SESSION", +"CAPTURE_LOGS", +"FETCH_SUPPORT_PACKET" +], +"enumDescriptions": [ +"The command type was unspecified.", +"Reboot the device. Can be issued to Kiosk and managed guest session devices, and regular devices running ChromeOS version 113 or later.", +"Take a screenshot of the device. Only available if the device is in Kiosk Mode.", +"Set the volume of the device. Can only be issued to Kiosk and managed guest session devices.", +"Wipe all the users off of the device. Executing this command in the device will remove all user profile data, but it will keep device policy and enrollment.", +"Wipes the device by performing a power wash. Executing this command in the device will remove all data including user policies, device policies and enrollment policies. Warning: This will revert the device back to a factory state with no enrollment unless the device is subject to forced or auto enrollment. Use with caution, as this is an irreversible action!", +"Starts a Chrome Remote Desktop session.", +"Capture the system logs of a kiosk device. The logs can be downloaded from the downloadUrl link present in `deviceFiles` field of [chromeosdevices](https://developers.google.com/admin-sdk/directory/reference/rest/v1/chromeosdevices)", +"Fetch support packet from a device remotely. Support packet is a zip archive that contains various system logs and debug data from a ChromeOS device. The support packet can be downloaded from the downloadURL link present in the `deviceFiles` field of [`chromeosdevices`](https://developers.google.com/admin-sdk/directory/reference/rest/v1/chromeosdevices)" +], +"type": "string" +} +}, +"type": "object" +}, +"DirectoryChromeosdevicesCommandResult": { +"description": "The result of executing a command.", +"id": "DirectoryChromeosdevicesCommandResult", +"properties": { +"commandResultPayload": { +"description": "The payload for the command result. The following commands respond with a payload: * `DEVICE_START_CRD_SESSION`: Payload is a stringified JSON object in the form: { \"url\": url }. The URL provides a link to the Chrome Remote Desktop session.", +"type": "string" +}, +"errorMessage": { +"description": "The error message with a short explanation as to why the command failed. Only present if the command failed.", +"type": "string" +}, +"executeTime": { +"description": "The time at which the command was executed or failed to execute.", +"format": "google-datetime", +"type": "string" +}, +"result": { +"description": "The result of the command.", +"enum": [ +"COMMAND_RESULT_TYPE_UNSPECIFIED", +"IGNORED", +"FAILURE", +"SUCCESS" +], +"enumDescriptions": [ +"The command result was unspecified.", +"The command was ignored as obsolete.", +"The command could not be executed successfully.", +"The command was successfully executed." +], +"type": "string" +} +}, +"type": "object" +}, +"DirectoryChromeosdevicesIssueCommandRequest": { +"description": "A request for issuing a command.", +"id": "DirectoryChromeosdevicesIssueCommandRequest", +"properties": { +"commandType": { +"description": "The type of command.", +"enum": [ +"COMMAND_TYPE_UNSPECIFIED", +"REBOOT", +"TAKE_A_SCREENSHOT", +"SET_VOLUME", +"WIPE_USERS", +"REMOTE_POWERWASH", +"DEVICE_START_CRD_SESSION", +"CAPTURE_LOGS", +"FETCH_SUPPORT_PACKET" +], +"enumDescriptions": [ +"The command type was unspecified.", +"Reboot the device. Can be issued to Kiosk and managed guest session devices, and regular devices running ChromeOS version 113 or later.", +"Take a screenshot of the device. Only available if the device is in Kiosk Mode.", +"Set the volume of the device. Can only be issued to Kiosk and managed guest session devices.", +"Wipe all the users off of the device. Executing this command in the device will remove all user profile data, but it will keep device policy and enrollment.", +"Wipes the device by performing a power wash. Executing this command in the device will remove all data including user policies, device policies and enrollment policies. Warning: This will revert the device back to a factory state with no enrollment unless the device is subject to forced or auto enrollment. Use with caution, as this is an irreversible action!", +"Starts a Chrome Remote Desktop session.", +"Capture the system logs of a kiosk device. The logs can be downloaded from the downloadUrl link present in `deviceFiles` field of [chromeosdevices](https://developers.google.com/admin-sdk/directory/reference/rest/v1/chromeosdevices)", +"Fetch support packet from a device remotely. Support packet is a zip archive that contains various system logs and debug data from a ChromeOS device. The support packet can be downloaded from the downloadURL link present in the `deviceFiles` field of [`chromeosdevices`](https://developers.google.com/admin-sdk/directory/reference/rest/v1/chromeosdevices)" +], +"type": "string" +}, +"payload": { +"description": "The payload for the command, provide it only if command supports it. The following commands support adding payload: * `SET_VOLUME`: Payload is a stringified JSON object in the form: { \"volume\": 50 }. The volume has to be an integer in the range [0,100]. * `DEVICE_START_CRD_SESSION`: Payload is optionally a stringified JSON object in the form: { \"ackedUserPresence\": true, \"crdSessionType\": string }. `ackedUserPresence` is a boolean. By default, `ackedUserPresence` is set to `false`. To start a Chrome Remote Desktop session for an active device, set `ackedUserPresence` to `true`. `crdSessionType` can only select from values `private` (which grants the remote admin exclusive control of the ChromeOS device) or `shared` (which allows the admin and the local user to share control of the ChromeOS device). If not set, `crdSessionType` defaults to `shared`. * `REBOOT`: Payload is a stringified JSON object in the form: { \"user_session_delay_seconds\": 300 }. The `user_session_delay_seconds` is the amount of seconds to wait before rebooting the device if a user is logged in. It has to be an integer in the range [0,300]. When payload is not present for reboot, 0 delay is the default. Note: This only applies if an actual user is logged in, including a Guest. If the device is in the login screen or in Kiosk mode the value is not respected and the device immediately reboots. * `FETCH_SUPPORT_PACKET`: Payload is optionally a stringified JSON object in the form: {\"supportPacketDetails\":{ \"issueCaseId\": optional_support_case_id_string, \"issueDescription\": optional_issue_description_string, \"requestedDataCollectors\": []}} The list of available `data_collector_enums` are as following: Chrome System Information (1), Crash IDs (2), Memory Details (3), UI Hierarchy (4), Additional ChromeOS Platform Logs (5), Device Event (6), Intel WiFi NICs Debug Dump (7), Touch Events (8), Lacros (9), Lacros System Information (10), ChromeOS Flex Logs (11), DBus Details (12), ChromeOS Network Routes (13), ChromeOS Shill (Connection Manager) Logs (14), Policies (15), ChromeOS System State and Logs (16), ChromeOS System Logs (17), ChromeOS Chrome User Logs (18), ChromeOS Bluetooth (19), ChromeOS Connected Input Devices (20), ChromeOS Traffic Counters (21), ChromeOS Virtual Keyboard (22), ChromeOS Network Health (23). See more details in [help article](https://support.google.com/chrome/a?p=remote-log).", +"type": "string" +} +}, +"type": "object" +}, +"DirectoryChromeosdevicesIssueCommandResponse": { +"description": "A response for issuing a command.", +"id": "DirectoryChromeosdevicesIssueCommandResponse", +"properties": { +"commandId": { +"description": "The unique ID of the issued command, used to retrieve the command status.", +"format": "int64", +"type": "string" +} +}, +"type": "object" +}, +"DomainAlias": { +"id": "DomainAlias", +"properties": { +"creationTime": { +"description": "The creation time of the domain alias. (Read-only).", +"format": "int64", +"type": "string" +}, +"domainAliasName": { +"description": "The domain alias name.", +"type": "string" +}, +"etag": { +"description": "ETag of the resource.", +"type": "string" +}, +"kind": { +"default": "admin#directory#domainAlias", +"description": "Kind of resource this is.", +"type": "string" +}, +"parentDomainName": { +"annotations": { +"required": [ +"directory.domains.insert" +] +}, +"description": "The parent domain name that the domain alias is associated with. This can either be a primary or secondary domain name within a customer.", +"type": "string" +}, +"verified": { +"description": "Indicates the verification state of a domain alias. (Read-only)", +"type": "boolean" +} +}, +"type": "object" +}, +"DomainAliases": { +"id": "DomainAliases", +"properties": { +"domainAliases": { +"description": "A list of domain alias objects.", +"items": { +"$ref": "DomainAlias" +}, +"type": "array" +}, +"etag": { +"description": "ETag of the resource.", +"type": "string" +}, +"kind": { +"default": "admin#directory#domainAliases", +"description": "Kind of resource this is.", +"type": "string" +} +}, +"type": "object" +}, +"Domains": { +"id": "Domains", +"properties": { +"creationTime": { +"description": "Creation time of the domain. Expressed in [Unix time](https://en.wikipedia.org/wiki/Epoch_time) format. (Read-only).", +"format": "int64", +"type": "string" +}, +"domainAliases": { +"description": "A list of domain alias objects. (Read-only)", +"items": { +"$ref": "DomainAlias" +}, +"type": "array" +}, +"domainName": { +"annotations": { +"required": [ +"directory.domains.insert" +] +}, +"description": "The domain name of the customer.", +"type": "string" +}, +"etag": { +"description": "ETag of the resource.", +"type": "string" +}, +"isPrimary": { +"description": "Indicates if the domain is a primary domain (Read-only).", +"type": "boolean" +}, +"kind": { +"default": "admin#directory#domain", +"description": "Kind of resource this is.", +"type": "string" +}, +"verified": { +"description": "Indicates the verification state of a domain. (Read-only).", +"type": "boolean" +} +}, +"type": "object" +}, +"Domains2": { +"id": "Domains2", +"properties": { +"domains": { +"description": "A list of domain objects.", +"items": { +"$ref": "Domains" +}, +"type": "array" +}, +"etag": { +"description": "ETag of the resource.", +"type": "string" +}, +"kind": { +"default": "admin#directory#domains", +"description": "Kind of resource this is.", +"type": "string" +} +}, +"type": "object" +}, +"Empty": { +"description": "A generic empty message that you can re-use to avoid defining duplicated empty messages in your APIs. A typical example is to use it as the request or the response type of an API method. For instance: service Foo { rpc Bar(google.protobuf.Empty) returns (google.protobuf.Empty); }", +"id": "Empty", +"properties": {}, +"type": "object" +}, +"FailureInfo": { +"description": "Info about failures", +"id": "FailureInfo", +"properties": { +"errorCode": { +"description": "Canonical code for why the update failed to apply.", +"enum": [ +"OK", +"CANCELLED", +"UNKNOWN", +"INVALID_ARGUMENT", +"DEADLINE_EXCEEDED", +"NOT_FOUND", +"ALREADY_EXISTS", +"PERMISSION_DENIED", +"UNAUTHENTICATED", +"RESOURCE_EXHAUSTED", +"FAILED_PRECONDITION", +"ABORTED", +"OUT_OF_RANGE", +"UNIMPLEMENTED", +"INTERNAL", +"UNAVAILABLE", +"DATA_LOSS" +], +"enumDescriptions": [ +"Not an error; returned on success. HTTP Mapping: 200 OK", +"The operation was cancelled, typically by the caller. HTTP Mapping: 499 Client Closed Request", +"Unknown error. For example, this error may be returned when a `Status` value received from another address space belongs to an error space that is not known in this address space. Also errors raised by APIs that do not return enough error information may be converted to this error. HTTP Mapping: 500 Internal Server Error", +"The client specified an invalid argument. Note that this differs from `FAILED_PRECONDITION`. `INVALID_ARGUMENT` indicates arguments that are problematic regardless of the state of the system (e.g., a malformed file name). HTTP Mapping: 400 Bad Request", +"The deadline expired before the operation could complete. For operations that change the state of the system, this error may be returned even if the operation has completed successfully. For example, a successful response from a server could have been delayed long enough for the deadline to expire. HTTP Mapping: 504 Gateway Timeout", +"Some requested entity (e.g., file or directory) was not found. Note to server developers: if a request is denied for an entire class of users, such as gradual feature rollout or undocumented allowlist, `NOT_FOUND` may be used. If a request is denied for some users within a class of users, such as user-based access control, `PERMISSION_DENIED` must be used. HTTP Mapping: 404 Not Found", +"The entity that a client attempted to create (e.g., file or directory) already exists. HTTP Mapping: 409 Conflict", +"The caller does not have permission to execute the specified operation. `PERMISSION_DENIED` must not be used for rejections caused by exhausting some resource (use `RESOURCE_EXHAUSTED` instead for those errors). `PERMISSION_DENIED` must not be used if the caller can not be identified (use `UNAUTHENTICATED` instead for those errors). This error code does not imply the request is valid or the requested entity exists or satisfies other pre-conditions. HTTP Mapping: 403 Forbidden", +"The request does not have valid authentication credentials for the operation. HTTP Mapping: 401 Unauthorized", +"Some resource has been exhausted, perhaps a per-user quota, or perhaps the entire file system is out of space. HTTP Mapping: 429 Too Many Requests", +"The operation was rejected because the system is not in a state required for the operation's execution. For example, the directory to be deleted is non-empty, an rmdir operation is applied to a non-directory, etc. Service implementors can use the following guidelines to decide between `FAILED_PRECONDITION`, `ABORTED`, and `UNAVAILABLE`: (a) Use `UNAVAILABLE` if the client can retry just the failing call. (b) Use `ABORTED` if the client should retry at a higher level. For example, when a client-specified test-and-set fails, indicating the client should restart a read-modify-write sequence. (c) Use `FAILED_PRECONDITION` if the client should not retry until the system state has been explicitly fixed. For example, if an \"rmdir\" fails because the directory is non-empty, `FAILED_PRECONDITION` should be returned since the client should not retry unless the files are deleted from the directory. HTTP Mapping: 400 Bad Request", +"The operation was aborted, typically due to a concurrency issue such as a sequencer check failure or transaction abort. See the guidelines above for deciding between `FAILED_PRECONDITION`, `ABORTED`, and `UNAVAILABLE`. HTTP Mapping: 409 Conflict", +"The operation was attempted past the valid range. E.g., seeking or reading past end-of-file. Unlike `INVALID_ARGUMENT`, this error indicates a problem that may be fixed if the system state changes. For example, a 32-bit file system will generate `INVALID_ARGUMENT` if asked to read at an offset that is not in the range [0,2^32-1], but it will generate `OUT_OF_RANGE` if asked to read from an offset past the current file size. There is a fair bit of overlap between `FAILED_PRECONDITION` and `OUT_OF_RANGE`. We recommend using `OUT_OF_RANGE` (the more specific error) when it applies so that callers who are iterating through a space can easily look for an `OUT_OF_RANGE` error to detect when they are done. HTTP Mapping: 400 Bad Request", +"The operation is not implemented or is not supported/enabled in this service. HTTP Mapping: 501 Not Implemented", +"Internal errors. This means that some invariants expected by the underlying system have been broken. This error code is reserved for serious errors. HTTP Mapping: 500 Internal Server Error", +"The service is currently unavailable. This is most likely a transient condition, which can be corrected by retrying with a backoff. Note that it is not always safe to retry non-idempotent operations. See the guidelines above for deciding between `FAILED_PRECONDITION`, `ABORTED`, and `UNAVAILABLE`. HTTP Mapping: 503 Service Unavailable", +"Unrecoverable data loss or corruption. HTTP Mapping: 500 Internal Server Error" +], +"type": "string" +}, +"errorMessage": { +"description": "Failure reason message.", +"type": "string" +}, +"printer": { +"$ref": "Printer", +"description": "Failed printer." +}, +"printerId": { +"description": "Id of a failed printer.", +"type": "string" +} +}, +"type": "object" +}, +"FanInfo": { +"description": "Information about the device's fan.", +"id": "FanInfo", +"properties": { +"speedRpm": { +"description": "Output only. Fan speed in RPM.", +"format": "int32", +"readOnly": true, +"type": "integer" +} +}, +"type": "object" +}, +"Feature": { +"description": "JSON template for Feature object in Directory API.", +"id": "Feature", +"properties": { +"etags": { +"description": "ETag of the resource.", +"type": "string" +}, +"kind": { +"default": "admin#directory#resources#features#Feature", +"description": "Kind of resource this is.", +"type": "string" +}, +"name": { +"annotations": { +"required": [ +"directory.resources.features.insert" +] +}, +"description": "The name of the feature.", +"type": "string" +} +}, +"type": "object" +}, +"FeatureInstance": { +"description": "JSON template for a feature instance.", +"id": "FeatureInstance", +"properties": { +"feature": { +"$ref": "Feature", +"description": "The feature that this is an instance of. A calendar resource may have multiple instances of a feature." +} +}, +"type": "object" +}, +"FeatureRename": { +"id": "FeatureRename", +"properties": { +"newName": { +"annotations": { +"required": [ +"directory.resources.features.rename" +] +}, +"description": "New name of the feature.", +"type": "string" +} +}, +"type": "object" +}, +"Features": { +"description": "Public API: Resources.features", +"id": "Features", +"properties": { +"etag": { +"description": "ETag of the resource.", +"type": "string" +}, +"features": { +"description": "The Features in this page of results.", +"items": { +"$ref": "Feature" +}, +"type": "array" +}, +"kind": { +"default": "admin#directory#resources#features#featuresList", +"description": "Kind of resource this is.", +"type": "string" +}, +"nextPageToken": { +"description": "The continuation token, used to page through large result sets. Provide this value in a subsequent request to return the next page of results.", +"type": "string" +} +}, +"type": "object" +}, +"Group": { +"description": "Google Groups provide your users the ability to send messages to groups of people using the group's email address. For more information about common tasks, see the [Developer's Guide](https://developers.google.com/admin-sdk/directory/v1/guides/manage-groups). For information about other types of groups, see the [Cloud Identity Groups API documentation](https://cloud.google.com/identity/docs/groups). Note: The user calling the API (or being impersonated by a service account) must have an assigned [role](https://developers.google.com/admin-sdk/directory/v1/guides/manage-roles) that includes Admin API Groups permissions, such as Super Admin or Groups Admin.", +"id": "Group", +"properties": { +"adminCreated": { +"description": "Read-only. Value is `true` if this group was created by an administrator rather than a user.", +"type": "boolean" +}, +"aliases": { +"description": "Read-only. The list of a group's alias email addresses. To add, update, or remove a group's aliases, use the `groups.aliases` methods. If edited in a group's POST or PUT request, the edit is ignored.", +"items": { +"type": "string" +}, +"type": "array" +}, +"description": { +"description": "An extended description to help users determine the purpose of a group. For example, you can include information about who should join the group, the types of messages to send to the group, links to FAQs about the group, or related groups. Maximum length is `4,096` characters.", +"type": "string" +}, +"directMembersCount": { +"description": "The number of users that are direct members of the group. If a group is a member (child) of this group (the parent), members of the child group are not counted in the `directMembersCount` property of the parent group.", +"format": "int64", +"type": "string" +}, +"email": { +"annotations": { +"required": [ +"directory.groups.insert" +] +}, +"description": "The group's email address. If your account has multiple domains, select the appropriate domain for the email address. The `email` must be unique. This property is required when creating a group. Group email addresses are subject to the same character usage rules as usernames, see the [help center](https://support.google.com/a/answer/9193374) for details.", +"type": "string" +}, +"etag": { +"description": "ETag of the resource.", +"type": "string" +}, +"id": { +"description": "Read-only. The unique ID of a group. A group `id` can be used as a group request URI's `groupKey`.", +"type": "string" +}, +"kind": { +"default": "admin#directory#group", +"description": "The type of the API resource. For Groups resources, the value is `admin#directory#group`.", +"type": "string" +}, +"name": { +"description": "The group's display name.", +"type": "string" +}, +"nonEditableAliases": { +"description": "Read-only. The list of the group's non-editable alias email addresses that are outside of the account's primary domain or subdomains. These are functioning email addresses used by the group. This is a read-only property returned in the API's response for a group. If edited in a group's POST or PUT request, the edit is ignored.", +"items": { +"type": "string" +}, +"type": "array" +} +}, +"type": "object" +}, +"GroupAlias": { +"description": "The Directory API manages aliases, which are alternative email addresses.", +"id": "GroupAlias", +"properties": { +"alias": { +"description": "The alias email address.", +"type": "string" +}, +"etag": { +"description": "ETag of the resource.", +"type": "string" +}, +"id": { +"description": "The unique ID of the group.", +"type": "string" +}, +"kind": { +"description": "The type of the API resource. For Alias resources, the value is `admin#directory#alias`.", +"type": "string" +}, +"primaryEmail": { +"description": "The primary email address of the group.", +"type": "string" +} +}, +"type": "object" +}, +"Groups": { +"id": "Groups", +"properties": { +"etag": { +"description": "ETag of the resource.", +"type": "string" +}, +"groups": { +"description": "A list of group objects.", +"items": { +"$ref": "Group" +}, +"type": "array" +}, +"kind": { +"default": "admin#directory#groups", +"description": "Kind of resource this is.", +"type": "string" +}, +"nextPageToken": { +"description": "Token used to access next page of this result.", +"type": "string" +} +}, +"type": "object" +}, +"ListPrintServersResponse": { +"id": "ListPrintServersResponse", +"properties": { +"nextPageToken": { +"description": "A token that can be sent as `page_token` in a request to retrieve the next page. If this field is omitted, there are no subsequent pages.", +"type": "string" +}, +"printServers": { +"description": "List of print servers.", +"items": { +"$ref": "PrintServer" +}, +"type": "array" +} +}, +"type": "object" +}, +"ListPrinterModelsResponse": { +"description": "Response for listing allowed printer models.", +"id": "ListPrinterModelsResponse", +"properties": { +"nextPageToken": { +"description": "A token, which can be sent as `page_token` to retrieve the next page. If this field is omitted, there are no subsequent pages.", +"type": "string" +}, +"printerModels": { +"description": "Printer models that are currently allowed to be configured for ChromeOs. Some printers may be added or removed over time.", +"items": { +"$ref": "PrinterModel" +}, +"type": "array" +} +}, +"type": "object" +}, +"ListPrintersResponse": { +"description": "Response for listing printers.", +"id": "ListPrintersResponse", +"properties": { +"nextPageToken": { +"description": "A token, which can be sent as `page_token` to retrieve the next page. If this field is omitted, there are no subsequent pages.", +"type": "string" +}, +"printers": { +"description": "List of printers. If `org_unit_id` was given in the request, then only printers visible for this OU will be returned. If `org_unit_id` was not given in the request, then all printers will be returned.", +"items": { +"$ref": "Printer" +}, +"type": "array" +} +}, +"type": "object" +}, +"Member": { +"description": "A Google Groups member can be a user or another group. This member can be inside or outside of your account's domains. For more information about common group member tasks, see the [Developer's Guide](/admin-sdk/directory/v1/guides/manage-group-members).", +"id": "Member", +"properties": { +"delivery_settings": { +"description": "Defines mail delivery preferences of member. This field is only supported by `insert`, `update`, and `get` methods.", +"type": "string" +}, +"email": { +"description": "The member's email address. A member can be a user or another group. This property is required when adding a member to a group. The `email` must be unique and cannot be an alias of another group. If the email address is changed, the API automatically reflects the email address changes.", +"type": "string" +}, +"etag": { +"description": "ETag of the resource.", +"type": "string" +}, +"id": { +"description": "The unique ID of the group member. A member `id` can be used as a member request URI's `memberKey`.", +"type": "string" +}, +"kind": { +"default": "admin#directory#member", +"description": "The type of the API resource. For Members resources, the value is `admin#directory#member`.", +"type": "string" +}, +"role": { +"description": "The member's role in a group. The API returns an error for cycles in group memberships. For example, if `group1` is a member of `group2`, `group2` cannot be a member of `group1`. For more information about a member's role, see the [administration help center](https://support.google.com/a/answer/167094).", +"type": "string" +}, +"status": { +"description": "Status of member (Immutable)", +"type": "string" +}, +"type": { +"description": "The type of group member.", +"type": "string" +} +}, +"type": "object" +}, +"Members": { +"id": "Members", +"properties": { +"etag": { +"description": "ETag of the resource.", +"type": "string" +}, +"kind": { +"default": "admin#directory#members", +"description": "Kind of resource this is.", +"type": "string" +}, +"members": { +"description": "A list of member objects.", +"items": { +"$ref": "Member" +}, +"type": "array" +}, +"nextPageToken": { +"description": "Token used to access next page of this result.", +"type": "string" +} +}, +"type": "object" +}, +"MembersHasMember": { +"description": "JSON template for Has Member response in Directory API.", +"id": "MembersHasMember", +"properties": { +"isMember": { +"description": "Output only. Identifies whether the given user is a member of the group. Membership can be direct or nested.", +"readOnly": true, +"type": "boolean" +} +}, +"type": "object" +}, +"MobileDevice": { +"description": "Google Workspace Mobile Management includes Android, [Google Sync](https://support.google.com/a/answer/135937), and iOS devices. For more information about common group mobile device API tasks, see the [Developer's Guide](/admin-sdk/directory/v1/guides/manage-mobile-devices.html).", +"id": "MobileDevice", +"properties": { +"adbStatus": { +"description": "Adb (USB debugging) enabled or disabled on device (Read-only)", +"type": "boolean" +}, +"applications": { +"description": "The list of applications installed on an Android mobile device. It is not applicable to Google Sync and iOS devices. The list includes any Android applications that access Google Workspace data. When updating an applications list, it is important to note that updates replace the existing list. If the Android device has two existing applications and the API updates the list with five applications, the is now the updated list of five applications.", +"items": { +"properties": { +"displayName": { +"description": "The application's display name. An example is `Browser`.", +"type": "string" +}, +"packageName": { +"description": "The application's package name. An example is `com.android.browser`.", +"type": "string" +}, +"permission": { +"description": "The list of permissions of this application. These can be either a standard Android permission or one defined by the application, and are found in an application's [Android manifest](https://developer.android.com/guide/topics/manifest/uses-permission-element.html). Examples of a Calendar application's permissions are `READ_CALENDAR`, or `MANAGE_ACCOUNTS`.", +"items": { +"type": "string" +}, +"type": "array" +}, +"versionCode": { +"description": "The application's version code. An example is `13`.", +"format": "int32", +"type": "integer" +}, +"versionName": { +"description": "The application's version name. An example is `3.2-140714`.", +"type": "string" +} +}, +"type": "object" +}, +"type": "array" +}, +"basebandVersion": { +"description": "The device's baseband version.", +"type": "string" +}, +"bootloaderVersion": { +"description": "Mobile Device Bootloader version (Read-only)", +"type": "string" +}, +"brand": { +"description": "Mobile Device Brand (Read-only)", +"type": "string" +}, +"buildNumber": { +"description": "The device's operating system build number.", +"type": "string" +}, +"defaultLanguage": { +"description": "The default locale used on the device.", +"type": "string" +}, +"developerOptionsStatus": { +"description": "Developer options enabled or disabled on device (Read-only)", +"type": "boolean" +}, +"deviceCompromisedStatus": { +"description": "The compromised device status.", +"type": "string" +}, +"deviceId": { +"description": "The serial number for a Google Sync mobile device. For Android and iOS devices, this is a software generated unique identifier.", +"type": "string" +}, +"devicePasswordStatus": { +"description": "DevicePasswordStatus (Read-only)", +"type": "string" +}, +"email": { +"description": "The list of the owner's email addresses. If your application needs the current list of user emails, use the [get](/admin-sdk/directory/v1/reference/mobiledevices/get.html) method. For additional information, see the [retrieve a user](/admin-sdk/directory/v1/guides/manage-users#get_user) method.", +"items": { +"type": "string" +}, +"type": "array" +}, +"encryptionStatus": { +"description": "Mobile Device Encryption Status (Read-only)", +"type": "string" +}, +"etag": { +"description": "ETag of the resource.", +"type": "string" +}, +"firstSync": { +"description": "Date and time the device was first synchronized with the policy settings in the G Suite administrator control panel (Read-only)", +"format": "date-time", +"type": "string" +}, +"hardware": { +"description": "Mobile Device Hardware (Read-only)", +"type": "string" +}, +"hardwareId": { +"description": "The IMEI/MEID unique identifier for Android hardware. It is not applicable to Google Sync devices. When adding an Android mobile device, this is an optional property. When updating one of these devices, this is a read-only property.", +"type": "string" +}, +"imei": { +"description": "The device's IMEI number.", +"type": "string" +}, +"kernelVersion": { +"description": "The device's kernel version.", +"type": "string" +}, +"kind": { +"default": "admin#directory#mobiledevice", +"description": "The type of the API resource. For Mobiledevices resources, the value is `admin#directory#mobiledevice`.", +"type": "string" +}, +"lastSync": { +"description": "Date and time the device was last synchronized with the policy settings in the G Suite administrator control panel (Read-only)", +"format": "date-time", +"type": "string" +}, +"managedAccountIsOnOwnerProfile": { +"description": "Boolean indicating if this account is on owner/primary profile or not.", +"type": "boolean" +}, +"manufacturer": { +"description": "Mobile Device manufacturer (Read-only)", +"type": "string" +}, +"meid": { +"description": "The device's MEID number.", +"type": "string" +}, +"model": { +"description": "The mobile device's model name, for example Nexus S. This property can be [updated](/admin-sdk/directory/v1/reference/mobiledevices/update.html). For more information, see the [Developer's Guide](/admin-sdk/directory/v1/guides/manage-mobile=devices#update_mobile_device).", +"type": "string" +}, +"name": { +"description": "The list of the owner's user names. If your application needs the current list of device owner names, use the [get](/admin-sdk/directory/v1/reference/mobiledevices/get.html) method. For more information about retrieving mobile device user information, see the [Developer's Guide](/admin-sdk/directory/v1/guides/manage-users#get_user).", +"items": { +"type": "string" +}, +"type": "array" +}, +"networkOperator": { +"description": "Mobile Device mobile or network operator (if available) (Read-only)", +"type": "string" +}, +"os": { +"description": "The mobile device's operating system, for example IOS 4.3 or Android 2.3.5. This property can be [updated](/admin-sdk/directory/v1/reference/mobiledevices/update.html). For more information, see the [Developer's Guide](/admin-sdk/directory/v1/guides/manage-mobile-devices#update_mobile_device).", +"type": "string" +}, +"otherAccountsInfo": { +"description": "The list of accounts added on device (Read-only)", +"items": { +"type": "string" +}, +"type": "array" +}, +"privilege": { +"description": "DMAgentPermission (Read-only)", +"type": "string" +}, +"releaseVersion": { +"description": "Mobile Device release version version (Read-only)", +"type": "string" +}, +"resourceId": { +"description": "The unique ID the API service uses to identify the mobile device.", +"type": "string" +}, +"securityPatchLevel": { +"description": "Mobile Device Security patch level (Read-only)", +"format": "int64", +"type": "string" +}, +"serialNumber": { +"description": "The device's serial number.", +"type": "string" +}, +"status": { +"description": "The device's status.", +"type": "string" +}, +"supportsWorkProfile": { +"description": "Work profile supported on device (Read-only)", +"type": "boolean" +}, +"type": { +"description": "The type of mobile device.", +"type": "string" +}, +"unknownSourcesStatus": { +"description": "Unknown sources enabled or disabled on device (Read-only)", +"type": "boolean" +}, +"userAgent": { +"description": "Gives information about the device such as `os` version. This property can be [updated](/admin-sdk/directory/v1/reference/mobiledevices/update.html). For more information, see the [Developer's Guide](/admin-sdk/directory/v1/guides/manage-mobile-devices#update_mobile_device).", +"type": "string" +}, +"wifiMacAddress": { +"description": "The device's MAC address on Wi-Fi networks.", +"type": "string" +} +}, +"type": "object" +}, +"MobileDeviceAction": { +"id": "MobileDeviceAction", +"properties": { +"action": { +"annotations": { +"required": [ +"directory.mobiledevices.action" +] +}, +"description": "The action to be performed on the device.", +"type": "string" +} +}, +"type": "object" +}, +"MobileDevices": { +"id": "MobileDevices", +"properties": { +"etag": { +"description": "ETag of the resource.", +"type": "string" +}, +"kind": { +"default": "admin#directory#mobiledevices", +"description": "Kind of resource this is.", +"type": "string" +}, +"mobiledevices": { +"description": "A list of Mobile Device objects.", +"items": { +"$ref": "MobileDevice" +}, +"type": "array" +}, +"nextPageToken": { +"description": "Token used to access next page of this result.", +"type": "string" +} +}, +"type": "object" +}, +"OrgUnit": { +"description": "Managing your account's organizational units allows you to configure your users' access to services and custom settings. For more information about common organizational unit tasks, see the [Developer's Guide](/admin-sdk/directory/v1/guides/manage-org-units.html). The customer's organizational unit hierarchy is limited to 35 levels of depth.", +"id": "OrgUnit", +"properties": { +"blockInheritance": { +"deprecated": true, +"description": "This field is deprecated and setting its value has no effect.", +"type": "boolean" +}, +"description": { +"description": "Description of the organizational unit.", +"type": "string" +}, +"etag": { +"description": "ETag of the resource.", +"type": "string" +}, +"kind": { +"default": "admin#directory#orgUnit", +"description": "The type of the API resource. For Orgunits resources, the value is `admin#directory#orgUnit`.", +"type": "string" +}, +"name": { +"annotations": { +"required": [ +"directory.orgunits.insert" +] +}, +"description": "The organizational unit's path name. For example, an organizational unit's name within the /corp/support/sales_support parent path is sales_support. Required.", +"type": "string" +}, +"orgUnitId": { +"description": "The unique ID of the organizational unit.", +"type": "string" +}, +"orgUnitPath": { +"description": "The full path to the organizational unit. The `orgUnitPath` is a derived property. When listed, it is derived from `parentOrgunitPath` and organizational unit's `name`. For example, for an organizational unit named 'apps' under parent organization '/engineering', the orgUnitPath is '/engineering/apps'. In order to edit an `orgUnitPath`, either update the name of the organization or the `parentOrgunitPath`. A user's organizational unit determines which Google Workspace services the user has access to. If the user is moved to a new organization, the user's access changes. For more information about organization structures, see the [administration help center](https://support.google.com/a/answer/4352075). For more information about moving a user to a different organization, see [Update a user](/admin-sdk/directory/v1/guides/manage-users.html#update_user).", +"type": "string" +}, +"parentOrgUnitId": { +"description": "The unique ID of the parent organizational unit. Required, unless `parentOrgUnitPath` is set.", +"type": "string" +}, +"parentOrgUnitPath": { +"description": "The organizational unit's parent path. For example, /corp/sales is the parent path for /corp/sales/sales_support organizational unit. Required, unless `parentOrgUnitId` is set.", +"type": "string" +} +}, +"type": "object" +}, +"OrgUnits": { +"id": "OrgUnits", +"properties": { +"etag": { +"description": "ETag of the resource.", +"type": "string" +}, +"kind": { +"default": "admin#directory#orgUnits", +"description": "The type of the API resource. For Org Unit resources, the type is `admin#directory#orgUnits`.", +"type": "string" +}, +"organizationUnits": { +"description": "A list of organizational unit objects.", +"items": { +"$ref": "OrgUnit" +}, +"type": "array" +} +}, +"type": "object" +}, +"OsUpdateStatus": { +"description": "Contains information regarding the current OS update status.", +"id": "OsUpdateStatus", +"properties": { +"rebootTime": { +"description": "Date and time of the last reboot.", +"type": "string" +}, +"state": { +"description": "The update state of an OS update.", +"enum": [ +"updateStateUnspecified", +"updateStateNotStarted", +"updateStateDownloadInProgress", +"updateStateNeedReboot" +], +"enumDescriptions": [ +"The update state is unspecified.", +"There is an update pending but it hasn't started.", +"The pending update is being downloaded.", +"The device is ready to install the update, but must reboot." +], +"type": "string" +}, +"targetKioskAppVersion": { +"description": "New required platform version from the pending updated kiosk app.", +"type": "string" +}, +"targetOsVersion": { +"description": "New platform version of the OS image being downloaded and applied. It is only set when update status is UPDATE_STATUS_DOWNLOAD_IN_PROGRESS or UPDATE_STATUS_NEED_REBOOT. Note this could be a dummy \"0.0.0.0\" for UPDATE_STATUS_NEED_REBOOT for some edge cases, e.g. update engine is restarted without a reboot.", +"type": "string" +}, +"updateCheckTime": { +"description": "Date and time of the last update check.", +"type": "string" +}, +"updateTime": { +"description": "Date and time of the last successful OS update.", +"type": "string" +} +}, +"type": "object" +}, +"PrintServer": { +"description": "Configuration for a print server.", +"id": "PrintServer", +"properties": { +"createTime": { +"description": "Output only. Time when the print server was created.", +"format": "google-datetime", +"readOnly": true, +"type": "string" +}, +"description": { +"description": "Editable. Description of the print server (as shown in the Admin console).", +"type": "string" +}, +"displayName": { +"description": "Editable. Display name of the print server (as shown in the Admin console).", +"type": "string" +}, +"id": { +"description": "Immutable. ID of the print server. Leave empty when creating.", +"type": "string" +}, +"name": { +"description": "Immutable. Resource name of the print server. Leave empty when creating. Format: `customers/{customer.id}/printServers/{print_server.id}`", +"type": "string" +}, +"orgUnitId": { +"description": "ID of the organization unit (OU) that owns this print server. This value can only be set when the print server is initially created. If it's not populated, the print server is placed under the root OU. The `org_unit_id` can be retrieved using the [Directory API](/admin-sdk/directory/reference/rest/v1/orgunits).", +"type": "string" +}, +"uri": { +"description": "Editable. Print server URI.", +"type": "string" +} +}, +"type": "object" +}, +"PrintServerFailureInfo": { +"description": "Info about failures", +"id": "PrintServerFailureInfo", +"properties": { +"errorCode": { +"description": "Canonical code for why the update failed to apply.", +"enum": [ +"OK", +"CANCELLED", +"UNKNOWN", +"INVALID_ARGUMENT", +"DEADLINE_EXCEEDED", +"NOT_FOUND", +"ALREADY_EXISTS", +"PERMISSION_DENIED", +"UNAUTHENTICATED", +"RESOURCE_EXHAUSTED", +"FAILED_PRECONDITION", +"ABORTED", +"OUT_OF_RANGE", +"UNIMPLEMENTED", +"INTERNAL", +"UNAVAILABLE", +"DATA_LOSS" +], +"enumDescriptions": [ +"Not an error; returned on success. HTTP Mapping: 200 OK", +"The operation was cancelled, typically by the caller. HTTP Mapping: 499 Client Closed Request", +"Unknown error. For example, this error may be returned when a `Status` value received from another address space belongs to an error space that is not known in this address space. Also errors raised by APIs that do not return enough error information may be converted to this error. HTTP Mapping: 500 Internal Server Error", +"The client specified an invalid argument. Note that this differs from `FAILED_PRECONDITION`. `INVALID_ARGUMENT` indicates arguments that are problematic regardless of the state of the system (e.g., a malformed file name). HTTP Mapping: 400 Bad Request", +"The deadline expired before the operation could complete. For operations that change the state of the system, this error may be returned even if the operation has completed successfully. For example, a successful response from a server could have been delayed long enough for the deadline to expire. HTTP Mapping: 504 Gateway Timeout", +"Some requested entity (e.g., file or directory) was not found. Note to server developers: if a request is denied for an entire class of users, such as gradual feature rollout or undocumented allowlist, `NOT_FOUND` may be used. If a request is denied for some users within a class of users, such as user-based access control, `PERMISSION_DENIED` must be used. HTTP Mapping: 404 Not Found", +"The entity that a client attempted to create (e.g., file or directory) already exists. HTTP Mapping: 409 Conflict", +"The caller does not have permission to execute the specified operation. `PERMISSION_DENIED` must not be used for rejections caused by exhausting some resource (use `RESOURCE_EXHAUSTED` instead for those errors). `PERMISSION_DENIED` must not be used if the caller can not be identified (use `UNAUTHENTICATED` instead for those errors). This error code does not imply the request is valid or the requested entity exists or satisfies other pre-conditions. HTTP Mapping: 403 Forbidden", +"The request does not have valid authentication credentials for the operation. HTTP Mapping: 401 Unauthorized", +"Some resource has been exhausted, perhaps a per-user quota, or perhaps the entire file system is out of space. HTTP Mapping: 429 Too Many Requests", +"The operation was rejected because the system is not in a state required for the operation's execution. For example, the directory to be deleted is non-empty, an rmdir operation is applied to a non-directory, etc. Service implementors can use the following guidelines to decide between `FAILED_PRECONDITION`, `ABORTED`, and `UNAVAILABLE`: (a) Use `UNAVAILABLE` if the client can retry just the failing call. (b) Use `ABORTED` if the client should retry at a higher level. For example, when a client-specified test-and-set fails, indicating the client should restart a read-modify-write sequence. (c) Use `FAILED_PRECONDITION` if the client should not retry until the system state has been explicitly fixed. For example, if an \"rmdir\" fails because the directory is non-empty, `FAILED_PRECONDITION` should be returned since the client should not retry unless the files are deleted from the directory. HTTP Mapping: 400 Bad Request", +"The operation was aborted, typically due to a concurrency issue such as a sequencer check failure or transaction abort. See the guidelines above for deciding between `FAILED_PRECONDITION`, `ABORTED`, and `UNAVAILABLE`. HTTP Mapping: 409 Conflict", +"The operation was attempted past the valid range. E.g., seeking or reading past end-of-file. Unlike `INVALID_ARGUMENT`, this error indicates a problem that may be fixed if the system state changes. For example, a 32-bit file system will generate `INVALID_ARGUMENT` if asked to read at an offset that is not in the range [0,2^32-1], but it will generate `OUT_OF_RANGE` if asked to read from an offset past the current file size. There is a fair bit of overlap between `FAILED_PRECONDITION` and `OUT_OF_RANGE`. We recommend using `OUT_OF_RANGE` (the more specific error) when it applies so that callers who are iterating through a space can easily look for an `OUT_OF_RANGE` error to detect when they are done. HTTP Mapping: 400 Bad Request", +"The operation is not implemented or is not supported/enabled in this service. HTTP Mapping: 501 Not Implemented", +"Internal errors. This means that some invariants expected by the underlying system have been broken. This error code is reserved for serious errors. HTTP Mapping: 500 Internal Server Error", +"The service is currently unavailable. This is most likely a transient condition, which can be corrected by retrying with a backoff. Note that it is not always safe to retry non-idempotent operations. See the guidelines above for deciding between `FAILED_PRECONDITION`, `ABORTED`, and `UNAVAILABLE`. HTTP Mapping: 503 Service Unavailable", +"Unrecoverable data loss or corruption. HTTP Mapping: 500 Internal Server Error" +], +"type": "string" +}, +"errorMessage": { +"description": "Failure reason message.", +"type": "string" +}, +"printServer": { +"$ref": "PrintServer", +"description": "Failed print server." +}, +"printServerId": { +"description": "ID of a failed print server.", +"type": "string" +} +}, +"type": "object" +}, +"Printer": { +"description": "Printer configuration.", +"id": "Printer", +"properties": { +"auxiliaryMessages": { +"description": "Output only. Auxiliary messages about issues with the printer configuration if any.", +"items": { +"$ref": "AuxiliaryMessage" +}, +"readOnly": true, +"type": "array" +}, +"createTime": { +"description": "Output only. Time when printer was created.", +"format": "google-datetime", +"readOnly": true, +"type": "string" +}, +"description": { +"description": "Editable. Description of printer.", +"type": "string" +}, +"displayName": { +"description": "Editable. Name of printer.", +"type": "string" +}, +"id": { +"description": "Id of the printer. (During printer creation leave empty)", +"type": "string" +}, +"makeAndModel": { +"description": "Editable. Make and model of printer. e.g. Lexmark MS610de Value must be in format as seen in ListPrinterModels response.", +"type": "string" +}, +"name": { +"description": "The resource name of the Printer object, in the format customers/{customer-id}/printers/{printer-id} (During printer creation leave empty)", +"type": "string" +}, +"orgUnitId": { +"description": "Organization Unit that owns this printer (Only can be set during Printer creation)", +"type": "string" +}, +"uri": { +"description": "Editable. Printer URI.", +"type": "string" +}, +"useDriverlessConfig": { +"description": "Editable. flag to use driverless configuration or not. If it's set to be true, make_and_model can be ignored", +"type": "boolean" +} +}, +"type": "object" +}, +"PrinterModel": { +"description": "Printer manufacturer and model", +"id": "PrinterModel", +"properties": { +"displayName": { +"description": "Display name. eq. \"Brother MFC-8840D\"", +"type": "string" +}, +"makeAndModel": { +"description": "Make and model as represented in \"make_and_model\" field in Printer object. eq. \"brother mfc-8840d\"", +"type": "string" +}, +"manufacturer": { +"description": "Manufacturer. eq. \"Brother\"", +"type": "string" +} +}, +"type": "object" +}, +"Privilege": { +"id": "Privilege", +"properties": { +"childPrivileges": { +"description": "A list of child privileges. Privileges for a service form a tree. Each privilege can have a list of child privileges; this list is empty for a leaf privilege.", +"items": { +"$ref": "Privilege" +}, +"type": "array" +}, +"etag": { +"description": "ETag of the resource.", +"type": "string" +}, +"isOuScopable": { +"description": "If the privilege can be restricted to an organization unit.", +"type": "boolean" +}, +"kind": { +"default": "admin#directory#privilege", +"description": "The type of the API resource. This is always `admin#directory#privilege`.", +"type": "string" +}, +"privilegeName": { +"description": "The name of the privilege.", +"type": "string" +}, +"serviceId": { +"description": "The obfuscated ID of the service this privilege is for. This value is returned with [`Privileges.list()`](/admin-sdk/directory/v1/reference/privileges/list).", +"type": "string" +}, +"serviceName": { +"description": "The name of the service this privilege is for.", +"type": "string" +} +}, +"type": "object" +}, +"Privileges": { +"id": "Privileges", +"properties": { +"etag": { +"description": "ETag of the resource.", +"type": "string" +}, +"items": { +"description": "A list of Privilege resources.", +"items": { +"$ref": "Privilege" +}, +"type": "array" +}, +"kind": { +"default": "admin#directory#privileges", +"description": "The type of the API resource. This is always `admin#directory#privileges`.", +"type": "string" +} +}, +"type": "object" +}, +"Role": { +"id": "Role", +"properties": { +"etag": { +"description": "ETag of the resource.", +"type": "string" +}, +"isSuperAdminRole": { +"description": "Returns `true` if the role is a super admin role.", +"type": "boolean" +}, +"isSystemRole": { +"description": "Returns `true` if this is a pre-defined system role.", +"type": "boolean" +}, +"kind": { +"default": "admin#directory#role", +"description": "The type of the API resource. This is always `admin#directory#role`.", +"type": "string" +}, +"roleDescription": { +"description": "A short description of the role.", +"type": "string" +}, +"roleId": { +"description": "ID of the role.", +"format": "int64", +"type": "string" +}, +"roleName": { +"annotations": { +"required": [ +"directory.roles.insert" +] +}, +"description": "Name of the role.", +"type": "string" +}, +"rolePrivileges": { +"annotations": { +"required": [ +"directory.roles.insert" +] +}, +"description": "The set of privileges that are granted to this role.", +"items": { +"properties": { +"privilegeName": { +"description": "The name of the privilege.", +"type": "string" +}, +"serviceId": { +"description": "The obfuscated ID of the service this privilege is for. This value is returned with [`Privileges.list()`](/admin-sdk/directory/v1/reference/privileges/list).", +"type": "string" +} +}, +"type": "object" +}, +"type": "array" +} +}, +"type": "object" +}, +"RoleAssignment": { +"description": "Defines an assignment of a role.", +"id": "RoleAssignment", +"properties": { +"assignedTo": { +"description": "The unique ID of the entity this role is assigned to\u2014either the `user_id` of a user, the `group_id` of a group, or the `uniqueId` of a service account as defined in [Identity and Access Management (IAM)](https://cloud.google.com/iam/docs/reference/rest/v1/projects.serviceAccounts).", +"type": "string" +}, +"assigneeType": { +"description": "Output only. The type of the assignee (`USER` or `GROUP`).", +"enum": [ +"user", +"group" +], +"enumDescriptions": [ +"An individual user within the domain.", +"A group within the domain." +], +"readOnly": true, +"type": "string" +}, +"condition": { +"description": "Optional. The condition associated with this role assignment. Note: Feature is available to Enterprise Standard, Enterprise Plus, Google Workspace for Education Plus and Cloud Identity Premium customers. A `RoleAssignment` with the `condition` field set will only take effect when the resource being accessed meets the condition. If `condition` is empty, the role (`role_id`) is applied to the actor (`assigned_to`) at the scope (`scope_type`) unconditionally. Currently, the following conditions are supported: - To make the `RoleAssignment` only applicable to [Security Groups](https://cloud.google.com/identity/docs/groups#group_types): `api.getAttribute('cloudidentity.googleapis.com/groups.labels', []).hasAny(['groups.security']) && resource.type == 'cloudidentity.googleapis.com/Group'` - To make the `RoleAssignment` not applicable to [Security Groups](https://cloud.google.com/identity/docs/groups#group_types): `!api.getAttribute('cloudidentity.googleapis.com/groups.labels', []).hasAny(['groups.security']) && resource.type == 'cloudidentity.googleapis.com/Group'` Currently, the condition strings have to be verbatim and they only work with the following [pre-built administrator roles](https://support.google.com/a/answer/2405986): - Groups Editor - Groups Reader The condition follows [Cloud IAM condition syntax](https://cloud.google.com/iam/docs/conditions-overview). Additional conditions related to Locked Groups are available under Open Beta. - To make the `RoleAssignment` not applicable to [Locked Groups](https://cloud.google.com/identity/docs/groups#group_types): `!api.getAttribute('cloudidentity.googleapis.com/groups.labels', []).hasAny(['groups.locked']) && resource.type == 'cloudidentity.googleapis.com/Group'` This condition can also be used in conjunction with a Security-related condition.", +"type": "string" +}, +"etag": { +"description": "ETag of the resource.", +"type": "string" +}, +"kind": { +"default": "admin#directory#roleAssignment", +"description": "The type of the API resource. This is always `admin#directory#roleAssignment`.", +"type": "string" +}, +"orgUnitId": { +"description": "If the role is restricted to an organization unit, this contains the ID for the organization unit the exercise of this role is restricted to.", +"type": "string" +}, +"roleAssignmentId": { +"description": "ID of this roleAssignment.", +"format": "int64", +"type": "string" +}, +"roleId": { +"description": "The ID of the role that is assigned.", +"format": "int64", +"type": "string" +}, +"scopeType": { +"description": "The scope in which this role is assigned.", +"type": "string" +} +}, +"type": "object" +}, +"RoleAssignments": { +"id": "RoleAssignments", +"properties": { +"etag": { +"description": "ETag of the resource.", +"type": "string" +}, +"items": { +"description": "A list of RoleAssignment resources.", +"items": { +"$ref": "RoleAssignment" +}, +"type": "array" +}, +"kind": { +"default": "admin#directory#roleAssignments", +"description": "The type of the API resource. This is always `admin#directory#roleAssignments`.", +"type": "string" +}, +"nextPageToken": { +"type": "string" +} +}, +"type": "object" +}, +"Roles": { +"id": "Roles", +"properties": { +"etag": { +"description": "ETag of the resource.", +"type": "string" +}, +"items": { +"description": "A list of Role resources.", +"items": { +"$ref": "Role" +}, +"type": "array" +}, +"kind": { +"default": "admin#directory#roles", +"description": "The type of the API resource. This is always `admin#directory#roles`.", +"type": "string" +}, +"nextPageToken": { +"type": "string" +} +}, +"type": "object" +}, +"Schema": { +"description": "The type of API resource. For Schema resources, this is always `admin#directory#schema`.", +"id": "Schema", +"properties": { +"displayName": { +"annotations": { +"required": [ +"directory.schemas.insert" +] +}, +"description": "Display name for the schema.", +"type": "string" +}, +"etag": { +"description": "The ETag of the resource.", +"type": "string" +}, +"fields": { +"annotations": { +"required": [ +"directory.schemas.insert", +"directory.schemas.update" +] +}, +"description": "A list of fields in the schema.", +"items": { +"$ref": "SchemaFieldSpec" +}, +"type": "array" +}, +"kind": { +"default": "admin#directory#schema", +"description": "Kind of resource this is.", +"type": "string" +}, +"schemaId": { +"description": "The unique identifier of the schema (Read-only)", +"type": "string" +}, +"schemaName": { +"annotations": { +"required": [ +"directory.schemas.insert" +] +}, +"description": "The schema's name. Each `schema_name` must be unique within a customer. Reusing a name results in a `409: Entity already exists` error.", +"type": "string" +} +}, +"type": "object" +}, +"SchemaFieldSpec": { +"description": "You can use schemas to add custom fields to user profiles. You can use these fields to store information such as the projects your users work on, their physical locations, their hire dates, or whatever else fits your business needs. For more information, see [Custom User Fields](/admin-sdk/directory/v1/guides/manage-schemas).", +"id": "SchemaFieldSpec", +"properties": { +"displayName": { +"annotations": { +"required": [ +"directory.schemas.insert", +"directory.schemas.update" +] +}, +"description": "Display Name of the field.", +"type": "string" +}, +"etag": { +"description": "The ETag of the field.", +"type": "string" +}, +"fieldId": { +"description": "The unique identifier of the field (Read-only)", +"type": "string" +}, +"fieldName": { +"annotations": { +"required": [ +"directory.schemas.insert", +"directory.schemas.update" +] +}, +"description": "The name of the field.", +"type": "string" +}, +"fieldType": { +"annotations": { +"required": [ +"directory.schemas.insert", +"directory.schemas.update" +] +}, +"description": "The type of the field.", +"type": "string" +}, +"indexed": { +"default": "true", +"description": "Boolean specifying whether the field is indexed or not. Default: `true`.", +"type": "boolean" +}, +"kind": { +"default": "admin#directory#schema#fieldspec", +"description": "The kind of resource this is. For schema fields this is always `admin#directory#schema#fieldspec`.", +"type": "string" +}, +"multiValued": { +"description": "A boolean specifying whether this is a multi-valued field or not. Default: `false`.", +"type": "boolean" +}, +"numericIndexingSpec": { +"description": "Indexing spec for a numeric field. By default, only exact match queries will be supported for numeric fields. Setting the `numericIndexingSpec` allows range queries to be supported.", +"properties": { +"maxValue": { +"description": "Maximum value of this field. This is meant to be indicative rather than enforced. Values outside this range will still be indexed, but search may not be as performant.", +"format": "double", +"type": "number" +}, +"minValue": { +"description": "Minimum value of this field. This is meant to be indicative rather than enforced. Values outside this range will still be indexed, but search may not be as performant.", +"format": "double", +"type": "number" +} +}, +"type": "object" +}, +"readAccessType": { +"default": "ALL_DOMAIN_USERS", +"description": "Specifies who can view values of this field. See [Retrieve users as a non-administrator](/admin-sdk/directory/v1/guides/manage-users#retrieve_users_non_admin) for more information. Note: It may take up to 24 hours for changes to this field to be reflected.", +"type": "string" +} +}, +"type": "object" +}, +"Schemas": { +"description": "JSON response template for List Schema operation in Directory API.", +"id": "Schemas", +"properties": { +"etag": { +"description": "ETag of the resource.", +"type": "string" +}, +"kind": { +"default": "admin#directory#schemas", +"description": "Kind of resource this is.", +"type": "string" +}, +"schemas": { +"description": "A list of UserSchema objects.", +"items": { +"$ref": "Schema" +}, +"type": "array" +} +}, +"type": "object" +}, +"Status": { +"description": "The `Status` type defines a logical error model that is suitable for different programming environments, including REST APIs and RPC APIs. It is used by [gRPC](https://github.com/grpc). Each `Status` message contains three pieces of data: error code, error message, and error details. You can find out more about this error model and how to work with it in the [API Design Guide](https://cloud.google.com/apis/design/errors).", +"id": "Status", +"properties": { +"code": { +"description": "The status code, which should be an enum value of google.rpc.Code.", +"format": "int32", +"type": "integer" +}, +"details": { +"description": "A list of messages that carry the error details. There is a common set of message types for APIs to use.", +"items": { +"additionalProperties": { +"description": "Properties of the object. Contains field @type with type URL.", +"type": "any" +}, +"type": "object" +}, +"type": "array" +}, +"message": { +"description": "A developer-facing error message, which should be in English. Any user-facing error message should be localized and sent in the google.rpc.Status.details field, or localized by the client.", +"type": "string" +} +}, +"type": "object" +}, +"Token": { +"description": "JSON template for token resource in Directory API.", +"id": "Token", +"properties": { +"anonymous": { +"description": "Whether the application is registered with Google. The value is `true` if the application has an anonymous Client ID.", +"type": "boolean" +}, +"clientId": { +"description": "The Client ID of the application the token is issued to.", +"type": "string" +}, +"displayText": { +"description": "The displayable name of the application the token is issued to.", +"type": "string" +}, +"etag": { +"description": "ETag of the resource.", +"type": "string" +}, +"kind": { +"default": "admin#directory#token", +"description": "The type of the API resource. This is always `admin#directory#token`.", +"type": "string" +}, +"nativeApp": { +"description": "Whether the token is issued to an installed application. The value is `true` if the application is installed to a desktop or mobile device.", +"type": "boolean" +}, +"scopes": { +"description": "A list of authorization scopes the application is granted.", +"items": { +"type": "string" +}, +"type": "array" +}, +"userKey": { +"description": "The unique ID of the user that issued the token.", +"type": "string" +} +}, +"type": "object" +}, +"Tokens": { +"description": "JSON response template for List tokens operation in Directory API.", +"id": "Tokens", +"properties": { +"etag": { +"description": "ETag of the resource.", +"type": "string" +}, +"items": { +"description": "A list of Token resources.", +"items": { +"$ref": "Token" +}, +"type": "array" +}, +"kind": { +"default": "admin#directory#tokenList", +"description": "The type of the API resource. This is always `admin#directory#tokenList`.", +"type": "string" +} +}, +"type": "object" +}, +"User": { +"description": "The Directory API allows you to create and manage your account's users, user aliases, and user Google profile photos. For more information about common tasks, see the [User Accounts Developer's Guide](/admin-sdk/directory/v1/guides/manage-users.html) and the [User Aliases Developer's Guide](/admin-sdk/directory/v1/guides/manage-user-aliases.html).", +"id": "User", +"properties": { +"addresses": { +"description": "The list of the user's addresses. The maximum allowed data size for this field is 10KB.", +"type": "any" +}, +"agreedToTerms": { +"description": "Output only. This property is `true` if the user has completed an initial login and accepted the Terms of Service agreement.", +"readOnly": true, +"type": "boolean" +}, +"aliases": { +"description": "Output only. The list of the user's alias email addresses.", +"items": { +"type": "string" +}, +"readOnly": true, +"type": "array" +}, +"archived": { +"description": "Indicates if user is archived.", +"type": "boolean" +}, +"changePasswordAtNextLogin": { +"description": "Indicates if the user is forced to change their password at next login. This setting doesn't apply when [the user signs in via a third-party identity provider](https://support.google.com/a/answer/60224).", +"type": "boolean" +}, +"creationTime": { +"description": "User's G Suite account creation time. (Read-only)", +"format": "date-time", +"readOnly": true, +"type": "string" +}, +"customSchemas": { +"additionalProperties": { +"$ref": "UserCustomProperties" +}, +"description": "Custom fields of the user. The key is a `schema_name` and its values are `'field_name': 'field_value'`.", +"type": "object" +}, +"customerId": { +"description": "Output only. The customer ID to [retrieve all account users](/admin-sdk/directory/v1/guides/manage-users.html#get_all_users). You can use the alias `my_customer` to represent your account's `customerId`. As a reseller administrator, you can use the resold customer account's `customerId`. To get a `customerId`, use the account's primary domain in the `domain` parameter of a [users.list](/admin-sdk/directory/v1/reference/users/list) request.", +"readOnly": true, +"type": "string" +}, +"deletionTime": { +"format": "date-time", +"readOnly": true, +"type": "string" +}, +"emails": { +"description": "The list of the user's email addresses. The maximum allowed data size for this field is 10KB. This excludes `publicKeyEncryptionCertificates`.", +"type": "any" +}, +"etag": { +"description": "Output only. ETag of the resource.", +"readOnly": true, +"type": "string" +}, +"externalIds": { +"description": "The list of external IDs for the user, such as an employee or network ID. The maximum allowed data size for this field is 2KB.", +"type": "any" +}, +"gender": { +"description": "The user's gender. The maximum allowed data size for this field is 1KB.", +"type": "any" +}, +"hashFunction": { +"description": "Stores the hash format of the `password` property. The following `hashFunction` values are allowed: * `MD5` - Accepts simple hex-encoded values. * `SHA-1` - Accepts simple hex-encoded values. * `crypt` - Compliant with the [C crypt library](https://en.wikipedia.org/wiki/Crypt_%28C%29). Supports the DES, MD5 (hash prefix `$1$`), SHA-256 (hash prefix `$5$`), and SHA-512 (hash prefix `$6$`) hash algorithms. If rounds are specified as part of the prefix, they must be 10,000 or fewer.", +"type": "string" +}, +"id": { +"description": "The unique ID for the user. A user `id` can be used as a user request URI's `userKey`.", +"type": "string" +}, +"ims": { +"description": "The list of the user's Instant Messenger (IM) accounts. A user account can have multiple ims properties. But, only one of these ims properties can be the primary IM contact. The maximum allowed data size for this field is 2KB.", +"type": "any" +}, +"includeInGlobalAddressList": { +"description": "Indicates if the user's profile is visible in the Google Workspace global address list when the contact sharing feature is enabled for the domain. For more information about excluding user profiles, see the [administration help center](https://support.google.com/a/answer/1285988).", +"type": "boolean" +}, +"ipWhitelisted": { +"description": "If `true`, the user's IP address is subject to a deprecated IP address [`allowlist`](https://support.google.com/a/answer/60752) configuration.", +"type": "boolean" +}, +"isAdmin": { +"description": "Output only. Indicates a user with super admininistrator privileges. The `isAdmin` property can only be edited in the [Make a user an administrator](/admin-sdk/directory/v1/guides/manage-users.html#make_admin) operation ( [makeAdmin](/admin-sdk/directory/v1/reference/users/makeAdmin.html) method). If edited in the user [insert](/admin-sdk/directory/v1/reference/users/insert.html) or [update](/admin-sdk/directory/v1/reference/users/update.html) methods, the edit is ignored by the API service.", +"readOnly": true, +"type": "boolean" +}, +"isDelegatedAdmin": { +"description": "Output only. Indicates if the user is a delegated administrator. Delegated administrators are supported by the API but cannot create or undelete users, or make users administrators. These requests are ignored by the API service. Roles and privileges for administrators are assigned using the [Admin console](https://support.google.com/a/answer/33325).", +"readOnly": true, +"type": "boolean" +}, +"isEnforcedIn2Sv": { +"description": "Output only. Is 2-step verification enforced (Read-only)", +"readOnly": true, +"type": "boolean" +}, +"isEnrolledIn2Sv": { +"description": "Output only. Is enrolled in 2-step verification (Read-only)", +"readOnly": true, +"type": "boolean" +}, +"isMailboxSetup": { +"description": "Output only. Indicates if the user's Google mailbox is created. This property is only applicable if the user has been assigned a Gmail license.", +"readOnly": true, +"type": "boolean" +}, +"keywords": { +"description": "The list of the user's keywords. The maximum allowed data size for this field is 1KB.", +"type": "any" +}, +"kind": { +"default": "admin#directory#user", +"description": "Output only. The type of the API resource. For Users resources, the value is `admin#directory#user`.", +"readOnly": true, +"type": "string" +}, +"languages": { +"description": "The user's languages. The maximum allowed data size for this field is 1KB.", +"type": "any" +}, +"lastLoginTime": { +"description": "User's last login time. (Read-only)", +"format": "date-time", +"readOnly": true, +"type": "string" +}, +"locations": { +"description": "The user's locations. The maximum allowed data size for this field is 10KB.", +"type": "any" +}, +"name": { +"$ref": "UserName", +"annotations": { +"required": [ +"directory.users.insert" +] +}, +"description": "Holds the given and family names of the user, and the read-only `fullName` value. The maximum number of characters in the `givenName` and in the `familyName` values is 60. In addition, name values support unicode/UTF-8 characters, and can contain spaces, letters (a-z), numbers (0-9), dashes (-), forward slashes (/), and periods (.). For more information about character usage rules, see the [administration help center](https://support.google.com/a/answer/9193374). Maximum allowed data size for this field is 1KB." +}, +"nonEditableAliases": { +"description": "Output only. The list of the user's non-editable alias email addresses. These are typically outside the account's primary domain or sub-domain.", +"items": { +"type": "string" +}, +"readOnly": true, +"type": "array" +}, +"notes": { +"description": "Notes for the user.", +"type": "any" +}, +"orgUnitPath": { +"description": "The full path of the parent organization associated with the user. If the parent organization is the top-level, it is represented as a forward slash (`/`).", +"type": "string" +}, +"organizations": { +"description": "The list of organizations the user belongs to. The maximum allowed data size for this field is 10KB.", +"type": "any" +}, +"password": { +"annotations": { +"required": [ +"directory.users.insert" +] +}, +"description": "User's password", +"type": "string" +}, +"phones": { +"description": "The list of the user's phone numbers. The maximum allowed data size for this field is 1KB.", +"type": "any" +}, +"posixAccounts": { +"description": "The list of [POSIX](https://www.opengroup.org/austin/papers/posix_faq.html) account information for the user.", +"type": "any" +}, +"primaryEmail": { +"annotations": { +"required": [ +"directory.users.insert" +] +}, +"description": "The user's primary email address. This property is required in a request to create a user account. The `primaryEmail` must be unique and cannot be an alias of another user.", +"type": "string" +}, +"recoveryEmail": { +"description": "Recovery email of the user.", +"type": "string" +}, +"recoveryPhone": { +"description": "Recovery phone of the user. The phone number must be in the E.164 format, starting with the plus sign (+). Example: *+16506661212*.", +"type": "string" +}, +"relations": { +"description": "The list of the user's relationships to other users. The maximum allowed data size for this field is 2KB.", +"type": "any" +}, +"sshPublicKeys": { +"description": "A list of SSH public keys.", +"type": "any" +}, +"suspended": { +"description": "Indicates if user is suspended.", +"type": "boolean" +}, +"suspensionReason": { +"description": "Output only. Has the reason a user account is suspended either by the administrator or by Google at the time of suspension. The property is returned only if the `suspended` property is `true`.", +"readOnly": true, +"type": "string" +}, +"thumbnailPhotoEtag": { +"description": "Output only. ETag of the user's photo (Read-only)", +"readOnly": true, +"type": "string" +}, +"thumbnailPhotoUrl": { +"description": "Output only. The URL of the user's profile photo. The URL might be temporary or private.", +"readOnly": true, +"type": "string" +}, +"websites": { +"description": "The user's websites. The maximum allowed data size for this field is 2KB.", +"type": "any" +} +}, +"type": "object" +}, +"UserAbout": { +"description": "JSON template for About (notes) of a user in Directory API.", +"id": "UserAbout", +"properties": { +"contentType": { +"description": "About entry can have a type which indicates the content type. It can either be plain or html. By default, notes contents are assumed to contain plain text.", +"type": "string" +}, +"value": { +"description": "Actual value of notes.", +"type": "string" +} +}, +"type": "object" +}, +"UserAddress": { +"description": "JSON template for address.", +"id": "UserAddress", +"properties": { +"country": { +"description": "Country.", +"type": "string" +}, +"countryCode": { +"description": "Country code.", +"type": "string" +}, +"customType": { +"description": "Custom type.", +"type": "string" +}, +"extendedAddress": { +"description": "Extended Address.", +"type": "string" +}, +"formatted": { +"description": "Formatted address.", +"type": "string" +}, +"locality": { +"description": "Locality.", +"type": "string" +}, +"poBox": { +"description": "Other parts of address.", +"type": "string" +}, +"postalCode": { +"description": "Postal code.", +"type": "string" +}, +"primary": { +"description": "If this is user's primary address. Only one entry could be marked as primary.", +"type": "boolean" +}, +"region": { +"description": "Region.", +"type": "string" +}, +"sourceIsStructured": { +"description": "User supplied address was structured. Structured addresses are NOT supported at this time. You might be able to write structured addresses but any values will eventually be clobbered.", +"type": "boolean" +}, +"streetAddress": { +"description": "Street.", +"type": "string" +}, +"type": { +"description": "Each entry can have a type which indicates standard values of that entry. For example address could be of home work etc. In addition to the standard type an entry can have a custom type and can take any value. Such type should have the CUSTOM value as type and also have a customType value.", +"type": "string" +} +}, +"type": "object" +}, +"UserAlias": { +"description": "The Directory API manages aliases, which are alternative email addresses.", +"id": "UserAlias", +"properties": { +"alias": { +"description": "The alias email address.", +"type": "string" +}, +"etag": { +"description": "ETag of the resource.", +"type": "string" +}, +"id": { +"description": "The unique ID for the user.", +"type": "string" +}, +"kind": { +"description": "The type of the API resource. For Alias resources, the value is `admin#directory#alias`.", +"type": "string" +}, +"primaryEmail": { +"description": "The user's primary email address.", +"type": "string" +} +}, +"type": "object" +}, +"UserCustomProperties": { +"additionalProperties": { +"type": "any" +}, +"description": "JSON template for a set of custom properties (i.e. all fields in a particular schema)", +"id": "UserCustomProperties", +"type": "object" +}, +"UserEmail": { +"description": "JSON template for an email.", +"id": "UserEmail", +"properties": { +"address": { +"description": "Email id of the user.", +"type": "string" +}, +"customType": { +"description": "Custom Type.", +"type": "string" +}, +"primary": { +"description": "If this is user's primary email. Only one entry could be marked as primary.", +"type": "boolean" +}, +"public_key_encryption_certificates": { +"description": "Public Key Encryption Certificates. Current limit: 1 per email address, and 5 per user.", +"properties": { +"certificate": { +"description": "X.509 encryption certificate in `PEM` format. Must only be an end-entity (leaf) certificate.", +"type": "string" +}, +"is_default": { +"description": "Whether this is the default certificate for the given email address.", +"type": "boolean" +}, +"state": { +"description": "Denotes the certificate's state in its lifecycle. Possible values are `not_yet_validated`, `valid`, `invalid`, `expired`, and `revoked`.", +"type": "string" +} +}, +"type": "object" +}, +"type": { +"description": "Each entry can have a type which indicates standard types of that entry. For example email could be of home, work etc. In addition to the standard type, an entry can have a custom type and can take any value Such types should have the CUSTOM value as type and also have a customType value.", +"type": "string" +} +}, +"type": "object" +}, +"UserExternalId": { +"description": "JSON template for an externalId entry.", +"id": "UserExternalId", +"properties": { +"customType": { +"description": "Custom type.", +"type": "string" +}, +"type": { +"description": "The type of the Id.", +"type": "string" +}, +"value": { +"description": "The value of the id.", +"type": "string" +} +}, +"type": "object" +}, +"UserGender": { +"id": "UserGender", +"properties": { +"addressMeAs": { +"description": "AddressMeAs. A human-readable string containing the proper way to refer to the profile owner by humans for example he/him/his or they/them/their.", +"type": "string" +}, +"customGender": { +"description": "Custom gender.", +"type": "string" +}, +"type": { +"description": "Gender.", +"type": "string" +} +}, +"type": "object" +}, +"UserIm": { +"description": "JSON template for instant messenger of an user.", +"id": "UserIm", +"properties": { +"customProtocol": { +"description": "Custom protocol.", +"type": "string" +}, +"customType": { +"description": "Custom type.", +"type": "string" +}, +"im": { +"description": "Instant messenger id.", +"type": "string" +}, +"primary": { +"description": "If this is user's primary im. Only one entry could be marked as primary.", +"type": "boolean" +}, +"protocol": { +"description": "Protocol used in the instant messenger. It should be one of the values from ImProtocolTypes map. Similar to type it can take a CUSTOM value and specify the custom name in customProtocol field.", +"type": "string" +}, +"type": { +"description": "Each entry can have a type which indicates standard types of that entry. For example instant messengers could be of home work etc. In addition to the standard type an entry can have a custom type and can take any value. Such types should have the CUSTOM value as type and also have a customType value.", +"type": "string" +} +}, +"type": "object" +}, +"UserKeyword": { +"description": "JSON template for a keyword entry.", +"id": "UserKeyword", +"properties": { +"customType": { +"description": "Custom Type.", +"type": "string" +}, +"type": { +"description": "Each entry can have a type which indicates standard type of that entry. For example keyword could be of type occupation or outlook. In addition to the standard type an entry can have a custom type and can give it any name. Such types should have the CUSTOM value as type and also have a customType value.", +"type": "string" +}, +"value": { +"description": "Keyword.", +"type": "string" +} +}, +"type": "object" +}, +"UserLanguage": { +"description": "JSON template for a language entry.", +"id": "UserLanguage", +"properties": { +"customLanguage": { +"description": "Other language. User can provide their own language name if there is no corresponding ISO 639 language code. If this is set, `languageCode` can't be set.", +"type": "string" +}, +"languageCode": { +"description": "ISO 639 string representation of a language. See [Language Codes](/admin-sdk/directory/v1/languages) for the list of supported codes. Valid language codes outside the supported set will be accepted by the API but may lead to unexpected behavior. Illegal values cause `SchemaException`. If this is set, `customLanguage` can't be set.", +"type": "string" +}, +"preference": { +"description": "Optional. If present, controls whether the specified `languageCode` is the user's preferred language. If `customLanguage` is set, this can't be set. Allowed values are `preferred` and `not_preferred`.", +"type": "string" +} +}, +"type": "object" +}, +"UserLocation": { +"description": "JSON template for a location entry.", +"id": "UserLocation", +"properties": { +"area": { +"description": "Textual location. This is most useful for display purposes to concisely describe the location. For example 'Mountain View, CA', 'Near Seattle', 'US-NYC-9TH 9A209A.''", +"type": "string" +}, +"buildingId": { +"description": "Building Identifier.", +"type": "string" +}, +"customType": { +"description": "Custom Type.", +"type": "string" +}, +"deskCode": { +"description": "Most specific textual code of individual desk location.", +"type": "string" +}, +"floorName": { +"description": "Floor name/number.", +"type": "string" +}, +"floorSection": { +"description": "Floor section. More specific location within the floor. For example if a floor is divided into sections 'A', 'B' and 'C' this field would identify one of those values.", +"type": "string" +}, +"type": { +"description": "Each entry can have a type which indicates standard types of that entry. For example location could be of types default and desk. In addition to standard type an entry can have a custom type and can give it any name. Such types should have 'custom' as type and also have a customType value.", +"type": "string" +} +}, +"type": "object" +}, +"UserMakeAdmin": { +"id": "UserMakeAdmin", +"properties": { +"status": { +"annotations": { +"required": [ +"directory.users.makeAdmin" +] +}, +"description": "Indicates the administrator status of the user.", +"type": "boolean" +} +}, +"type": "object" +}, +"UserName": { +"id": "UserName", +"properties": { +"displayName": { +"description": "The user's display name. Limit: 256 characters.", +"type": "string" +}, +"familyName": { +"annotations": { +"required": [ +"directory.users.insert" +] +}, +"description": "The user's last name. Required when creating a user account.", +"type": "string" +}, +"fullName": { +"description": "The user's full name formed by concatenating the first and last name values.", +"type": "string" +}, +"givenName": { +"annotations": { +"required": [ +"directory.users.insert" +] +}, +"description": "The user's first name. Required when creating a user account.", +"type": "string" +} +}, +"type": "object" +}, +"UserOrganization": { +"description": "JSON template for an organization entry.", +"id": "UserOrganization", +"properties": { +"costCenter": { +"description": "The cost center of the users department.", +"type": "string" +}, +"customType": { +"description": "Custom type.", +"type": "string" +}, +"department": { +"description": "Department within the organization.", +"type": "string" +}, +"description": { +"description": "Description of the organization.", +"type": "string" +}, +"domain": { +"description": "The domain to which the organization belongs to.", +"type": "string" +}, +"fullTimeEquivalent": { +"description": "The full-time equivalent millipercent within the organization (100000 = 100%).", +"format": "int32", +"type": "integer" +}, +"location": { +"description": "Location of the organization. This need not be fully qualified address.", +"type": "string" +}, +"name": { +"description": "Name of the organization", +"type": "string" +}, +"primary": { +"description": "If it user's primary organization.", +"type": "boolean" +}, +"symbol": { +"description": "Symbol of the organization.", +"type": "string" +}, +"title": { +"description": "Title (designation) of the user in the organization.", +"type": "string" +}, +"type": { +"description": "Each entry can have a type which indicates standard types of that entry. For example organization could be of school work etc. In addition to the standard type an entry can have a custom type and can give it any name. Such types should have the CUSTOM value as type and also have a CustomType value.", +"type": "string" +} +}, +"type": "object" +}, +"UserPhone": { +"description": "JSON template for a phone entry.", +"id": "UserPhone", +"properties": { +"customType": { +"description": "Custom Type.", +"type": "string" +}, +"primary": { +"description": "If this is user's primary phone or not.", +"type": "boolean" +}, +"type": { +"description": "Each entry can have a type which indicates standard types of that entry. For example phone could be of home_fax work mobile etc. In addition to the standard type an entry can have a custom type and can give it any name. Such types should have the CUSTOM value as type and also have a customType value.", +"type": "string" +}, +"value": { +"description": "Phone number.", +"type": "string" +} +}, +"type": "object" +}, +"UserPhoto": { +"id": "UserPhoto", +"properties": { +"etag": { +"description": "ETag of the resource.", +"type": "string" +}, +"height": { +"description": "Height of the photo in pixels.", +"format": "int32", +"type": "integer" +}, +"id": { +"description": "The ID the API uses to uniquely identify the user.", +"type": "string" +}, +"kind": { +"default": "admin#directory#user#photo", +"description": "The type of the API resource. For Photo resources, this is `admin#directory#user#photo`.", +"type": "string" +}, +"mimeType": { +"description": "The MIME type of the photo. Allowed values are `JPEG`, `PNG`, `GIF`, `BMP`, `TIFF`, and web-safe base64 encoding.", +"type": "string" +}, +"photoData": { +"annotations": { +"required": [ +"directory.users.photos.update" +] +}, +"description": "The user photo's upload data in [web-safe Base64](https://en.wikipedia.org/wiki/Base64#URL_applications) format in bytes. This means: * The slash (/) character is replaced with the underscore (_) character. * The plus sign (+) character is replaced with the hyphen (-) character. * The equals sign (=) character is replaced with the asterisk (*). * For padding, the period (.) character is used instead of the RFC-4648 baseURL definition which uses the equals sign (=) for padding. This is done to simplify URL-parsing. * Whatever the size of the photo being uploaded, the API downsizes it to 96x96 pixels.", +"format": "byte", +"type": "string" +}, +"primaryEmail": { +"description": "The user's primary email address.", +"type": "string" +}, +"width": { +"description": "Width of the photo in pixels.", +"format": "int32", +"type": "integer" +} +}, +"type": "object" +}, +"UserPosixAccount": { +"description": "JSON template for a POSIX account entry.", +"id": "UserPosixAccount", +"properties": { +"accountId": { +"description": "A POSIX account field identifier.", +"type": "string" +}, +"gecos": { +"description": "The GECOS (user information) for this account.", +"type": "string" +}, +"gid": { +"description": "The default group ID.", +"format": "uint64", +"type": "string" +}, +"homeDirectory": { +"description": "The path to the home directory for this account.", +"type": "string" +}, +"operatingSystemType": { +"description": "The operating system type for this account.", +"type": "string" +}, +"primary": { +"description": "If this is user's primary account within the SystemId.", +"type": "boolean" +}, +"shell": { +"description": "The path to the login shell for this account.", +"type": "string" +}, +"systemId": { +"description": "System identifier for which account Username or Uid apply to.", +"type": "string" +}, +"uid": { +"description": "The POSIX compliant user ID.", +"format": "uint64", +"type": "string" +}, +"username": { +"description": "The username of the account.", +"type": "string" +} +}, +"type": "object" +}, +"UserRelation": { +"description": "JSON template for a relation entry.", +"id": "UserRelation", +"properties": { +"customType": { +"description": "Custom Type.", +"type": "string" +}, +"type": { +"description": "The relation of the user. Some of the possible values are mother father sister brother manager assistant partner.", +"type": "string" +}, +"value": { +"description": "The name of the relation.", +"type": "string" +} +}, +"type": "object" +}, +"UserSshPublicKey": { +"description": "JSON template for a POSIX account entry.", +"id": "UserSshPublicKey", +"properties": { +"expirationTimeUsec": { +"description": "An expiration time in microseconds since epoch.", +"format": "int64", +"type": "string" +}, +"fingerprint": { +"description": "A SHA-256 fingerprint of the SSH public key. (Read-only)", +"readOnly": true, +"type": "string" +}, +"key": { +"description": "An SSH public key.", +"type": "string" +} +}, +"type": "object" +}, +"UserUndelete": { +"id": "UserUndelete", +"properties": { +"orgUnitPath": { +"description": "OrgUnit of User", +"type": "string" +} +}, +"type": "object" +}, +"UserWebsite": { +"description": "JSON template for a website entry.", +"id": "UserWebsite", +"properties": { +"customType": { +"description": "Custom Type.", +"type": "string" +}, +"primary": { +"description": "If this is user's primary website or not.", +"type": "boolean" +}, +"type": { +"description": "Each entry can have a type which indicates standard types of that entry. For example website could be of home work blog etc. In addition to the standard type an entry can have a custom type and can give it any name. Such types should have the CUSTOM value as type and also have a customType value.", +"type": "string" +}, +"value": { +"description": "Website.", +"type": "string" +} +}, +"type": "object" +}, +"Users": { +"id": "Users", +"properties": { +"etag": { +"description": "ETag of the resource.", +"type": "string" +}, +"kind": { +"default": "admin#directory#users", +"description": "Kind of resource this is.", +"type": "string" +}, +"nextPageToken": { +"description": "Token used to access next page of this result.", +"type": "string" +}, +"trigger_event": { +"description": "Event that triggered this response (only used in case of Push Response)", +"type": "string" +}, +"users": { +"description": "A list of user objects.", +"items": { +"$ref": "User" +}, +"type": "array" +} +}, +"type": "object" +}, +"VerificationCode": { +"description": "The Directory API allows you to view, generate, and invalidate backup verification codes for a user.", +"id": "VerificationCode", +"properties": { +"etag": { +"description": "ETag of the resource.", +"type": "string" +}, +"kind": { +"default": "admin#directory#verificationCode", +"description": "The type of the resource. This is always `admin#directory#verificationCode`.", +"type": "string" +}, +"userId": { +"description": "The obfuscated unique ID of the user.", +"type": "string" +}, +"verificationCode": { +"description": "A current verification code for the user. Invalidated or used verification codes are not returned as part of the result.", +"type": "string" +} +}, +"type": "object" +}, +"VerificationCodes": { +"description": "JSON response template for list verification codes operation in Directory API.", +"id": "VerificationCodes", +"properties": { +"etag": { +"description": "ETag of the resource.", +"type": "string" +}, +"items": { +"description": "A list of verification code resources.", +"items": { +"$ref": "VerificationCode" +}, +"type": "array" +}, +"kind": { +"default": "admin#directory#verificationCodesList", +"description": "The type of the resource. This is always `admin#directory#verificationCodesList`.", +"type": "string" +} +}, +"type": "object" +} +}, +"servicePath": "", +"title": "Admin SDK API", +"version": "directory_v1" +} \ No newline at end of file diff --git a/.venv/lib/python3.11/site-packages/googleapiclient/discovery_cache/documents/admob.v1.json b/.venv/lib/python3.11/site-packages/googleapiclient/discovery_cache/documents/admob.v1.json new file mode 100644 index 0000000000000000000000000000000000000000..1c72a76f4468dba8a99b548c29efd3f3d5eed992 --- /dev/null +++ b/.venv/lib/python3.11/site-packages/googleapiclient/discovery_cache/documents/admob.v1.json @@ -0,0 +1,1253 @@ +{ +"auth": { +"oauth2": { +"scopes": { +"https://www.googleapis.com/auth/admob.readonly": { +"description": "See your AdMob data" +}, +"https://www.googleapis.com/auth/admob.report": { +"description": "See your AdMob data" +} +} +} +}, +"basePath": "", +"baseUrl": "https://admob.googleapis.com/", +"batchPath": "batch", +"canonicalName": "AdMob", +"description": "The AdMob API allows publishers to programmatically get information about their AdMob account. ", +"discoveryVersion": "v1", +"documentationLink": "https://developers.google.com/admob/api/", +"fullyEncodeReservedExpansion": true, +"icons": { +"x16": "http://www.google.com/images/icons/product/search-16.gif", +"x32": "http://www.google.com/images/icons/product/search-32.gif" +}, +"id": "admob:v1", +"kind": "discovery#restDescription", +"mtlsRootUrl": "https://admob.mtls.googleapis.com/", +"name": "admob", +"ownerDomain": "google.com", +"ownerName": "Google", +"parameters": { +"$.xgafv": { +"description": "V1 error format.", +"enum": [ +"1", +"2" +], +"enumDescriptions": [ +"v1 error format", +"v2 error format" +], +"location": "query", +"type": "string" +}, +"access_token": { +"description": "OAuth access token.", +"location": "query", +"type": "string" +}, +"alt": { +"default": "json", +"description": "Data format for response.", +"enum": [ +"json", +"media", +"proto" +], +"enumDescriptions": [ +"Responses with Content-Type of application/json", +"Media download with context-dependent Content-Type", +"Responses with Content-Type of application/x-protobuf" +], +"location": "query", +"type": "string" +}, +"callback": { +"description": "JSONP", +"location": "query", +"type": "string" +}, +"fields": { +"description": "Selector specifying which fields to include in a partial response.", +"location": "query", +"type": "string" +}, +"key": { +"description": "API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token.", +"location": "query", +"type": "string" +}, +"oauth_token": { +"description": "OAuth 2.0 token for the current user.", +"location": "query", +"type": "string" +}, +"prettyPrint": { +"default": "true", +"description": "Returns response with indentations and line breaks.", +"location": "query", +"type": "boolean" +}, +"quotaUser": { +"description": "Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters.", +"location": "query", +"type": "string" +}, +"uploadType": { +"description": "Legacy upload protocol for media (e.g. \"media\", \"multipart\").", +"location": "query", +"type": "string" +}, +"upload_protocol": { +"description": "Upload protocol for media (e.g. \"raw\", \"multipart\").", +"location": "query", +"type": "string" +} +}, +"protocol": "rest", +"resources": { +"accounts": { +"methods": { +"get": { +"description": "Gets information about the specified AdMob publisher account.", +"flatPath": "v1/accounts/{accountsId}", +"httpMethod": "GET", +"id": "admob.accounts.get", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Resource name of the publisher account to retrieve. Example: accounts/pub-9876543210987654", +"location": "path", +"pattern": "^accounts/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+name}", +"response": { +"$ref": "PublisherAccount" +}, +"scopes": [ +"https://www.googleapis.com/auth/admob.readonly", +"https://www.googleapis.com/auth/admob.report" +], +"streamingType": "NONE" +}, +"list": { +"description": "Lists the AdMob publisher account that was most recently signed in to from the AdMob UI. For more information, see https://support.google.com/admob/answer/10243672.", +"flatPath": "v1/accounts", +"httpMethod": "GET", +"id": "admob.accounts.list", +"parameterOrder": [], +"parameters": { +"pageSize": { +"description": "Maximum number of accounts to return.", +"format": "int32", +"location": "query", +"type": "integer" +}, +"pageToken": { +"description": "The value returned by the last `ListPublisherAccountsResponse`; indicates that this is a continuation of a prior `ListPublisherAccounts` call, and that the system should return the next page of data.", +"location": "query", +"type": "string" +} +}, +"path": "v1/accounts", +"response": { +"$ref": "ListPublisherAccountsResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/admob.readonly", +"https://www.googleapis.com/auth/admob.report" +], +"streamingType": "NONE" +} +}, +"resources": { +"adUnits": { +"methods": { +"list": { +"description": "List the ad units under the specified AdMob account.", +"flatPath": "v1/accounts/{accountsId}/adUnits", +"httpMethod": "GET", +"id": "admob.accounts.adUnits.list", +"parameterOrder": [ +"parent" +], +"parameters": { +"pageSize": { +"description": "The maximum number of ad units to return. If unspecified or 0, at most 10,000 ad units will be returned. The maximum value is 20,000; values above 20,000 will be coerced to 20,000.", +"format": "int32", +"location": "query", +"type": "integer" +}, +"pageToken": { +"description": "The value returned by the last `ListAdUnitsResponse`; indicates that this is a continuation of a prior `ListAdUnits` call, and that the system should return the next page of data.", +"location": "query", +"type": "string" +}, +"parent": { +"description": "Required. Resource name of the account to list ad units for. Example: accounts/pub-9876543210987654", +"location": "path", +"pattern": "^accounts/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+parent}/adUnits", +"response": { +"$ref": "ListAdUnitsResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/admob.readonly" +], +"streamingType": "NONE" +} +} +}, +"apps": { +"methods": { +"list": { +"description": "List the apps under the specified AdMob account.", +"flatPath": "v1/accounts/{accountsId}/apps", +"httpMethod": "GET", +"id": "admob.accounts.apps.list", +"parameterOrder": [ +"parent" +], +"parameters": { +"pageSize": { +"description": "The maximum number of apps to return. If unspecified or 0, at most 10,000 apps will be returned. The maximum value is 20,000; values above 20,000 will be coerced to 20,000.", +"format": "int32", +"location": "query", +"type": "integer" +}, +"pageToken": { +"description": "The value returned by the last `ListAppsResponse`; indicates that this is a continuation of a prior `ListApps` call, and that the system should return the next page of data.", +"location": "query", +"type": "string" +}, +"parent": { +"description": "Required. Resource name of the account to list apps for. Example: accounts/pub-9876543210987654", +"location": "path", +"pattern": "^accounts/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+parent}/apps", +"response": { +"$ref": "ListAppsResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/admob.readonly" +], +"streamingType": "NONE" +} +} +}, +"mediationReport": { +"methods": { +"generate": { +"description": "Generates an AdMob Mediation report based on the provided report specification. Returns result of a server-side streaming RPC. The result is returned in a sequence of responses.", +"flatPath": "v1/accounts/{accountsId}/mediationReport:generate", +"httpMethod": "POST", +"id": "admob.accounts.mediationReport.generate", +"parameterOrder": [ +"parent" +], +"parameters": { +"parent": { +"description": "Resource name of the account to generate the report for. Example: accounts/pub-9876543210987654", +"location": "path", +"pattern": "^accounts/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+parent}/mediationReport:generate", +"request": { +"$ref": "GenerateMediationReportRequest" +}, +"response": { +"$ref": "GenerateMediationReportResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/admob.readonly", +"https://www.googleapis.com/auth/admob.report" +], +"streamingType": "SERVER_SIDE" +} +} +}, +"networkReport": { +"methods": { +"generate": { +"description": "Generates an AdMob Network report based on the provided report specification. Returns result of a server-side streaming RPC. The result is returned in a sequence of responses.", +"flatPath": "v1/accounts/{accountsId}/networkReport:generate", +"httpMethod": "POST", +"id": "admob.accounts.networkReport.generate", +"parameterOrder": [ +"parent" +], +"parameters": { +"parent": { +"description": "Resource name of the account to generate the report for. Example: accounts/pub-9876543210987654", +"location": "path", +"pattern": "^accounts/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+parent}/networkReport:generate", +"request": { +"$ref": "GenerateNetworkReportRequest" +}, +"response": { +"$ref": "GenerateNetworkReportResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/admob.readonly", +"https://www.googleapis.com/auth/admob.report" +], +"streamingType": "SERVER_SIDE" +} +} +} +} +} +}, +"revision": "20240708", +"rootUrl": "https://admob.googleapis.com/", +"schemas": { +"AdUnit": { +"description": "Describes an AdMob ad unit.", +"id": "AdUnit", +"properties": { +"adFormat": { +"description": "AdFormat of the ad unit. Possible values are as follows: \"APP_OPEN\" - App Open ad format. \"BANNER\" - Banner ad format. \"BANNER_INTERSTITIAL\" - Legacy format that can be used as either banner or interstitial. This format can no longer be created but can be targeted by mediation groups. \"INTERSTITIAL\" - A full screen ad. Supported ad types are \"RICH_MEDIA\" and \"VIDEO\". \"NATIVE\" - Native ad format. \"REWARDED\" - An ad that, once viewed, gets a callback verifying the view so that a reward can be given to the user. Supported ad types are \"RICH_MEDIA\" (interactive) and video where video can not be excluded. \"REWARDED_INTERSTITIAL\" - Rewarded Interstitial ad format. Only supports video ad type. See https://support.google.com/admob/answer/9884467.", +"type": "string" +}, +"adTypes": { +"description": "Ad media type supported by this ad unit. Possible values as follows: \"RICH_MEDIA\" - Text, image, and other non-video media. \"VIDEO\" - Video media.", +"items": { +"type": "string" +}, +"type": "array" +}, +"adUnitId": { +"description": "The externally visible ID of the ad unit which can be used to integrate with the AdMob SDK. This is a read only property. Example: ca-app-pub-9876543210987654/0123456789", +"type": "string" +}, +"appId": { +"description": "The externally visible ID of the app this ad unit is associated with. Example: ca-app-pub-9876543210987654~0123456789", +"type": "string" +}, +"displayName": { +"description": "The display name of the ad unit as shown in the AdMob UI, which is provided by the user. The maximum length allowed is 80 characters.", +"type": "string" +}, +"name": { +"description": "Resource name for this ad unit. Format is accounts/{publisher_id}/adUnits/{ad_unit_id_fragment} Example: accounts/pub-9876543210987654/adUnits/0123456789", +"type": "string" +} +}, +"type": "object" +}, +"App": { +"description": "Describes an AdMob app for a specific platform (For example: Android or iOS).", +"id": "App", +"properties": { +"appApprovalState": { +"description": "Output only. The approval state for the app. The field is read-only.", +"enum": [ +"APP_APPROVAL_STATE_UNSPECIFIED", +"ACTION_REQUIRED", +"IN_REVIEW", +"APPROVED" +], +"enumDescriptions": [ +"Default value for an unset field. Do not use.", +"The app requires additional user action to be approved. Please refer to https://support.google.com/admob/answer/10564477 for details and next steps.", +"The app is pending review.", +"The app is approved and can serve ads." +], +"readOnly": true, +"type": "string" +}, +"appId": { +"description": "The externally visible ID of the app which can be used to integrate with the AdMob SDK. This is a read only property. Example: ca-app-pub-9876543210987654~0123456789", +"type": "string" +}, +"linkedAppInfo": { +"$ref": "AppLinkedAppInfo", +"description": "Immutable. The information for an app that is linked to an app store. This field is present if and only if the app is linked to an app store." +}, +"manualAppInfo": { +"$ref": "AppManualAppInfo", +"description": "The information for an app that is not linked to any app store. After an app is linked, this information is still retrivable. If no name is provided for the app upon creation, a placeholder name will be used." +}, +"name": { +"description": "Resource name for this app. Format is accounts/{publisher_id}/apps/{app_id_fragment} Example: accounts/pub-9876543210987654/apps/0123456789", +"type": "string" +}, +"platform": { +"description": "Describes the platform of the app. Limited to \"IOS\" and \"ANDROID\".", +"type": "string" +} +}, +"type": "object" +}, +"AppLinkedAppInfo": { +"description": "Information from the app store if the app is linked to an app store.", +"id": "AppLinkedAppInfo", +"properties": { +"appStoreId": { +"description": "The app store ID of the app; present if and only if the app is linked to an app store. If the app is added to the Google Play store, it will be the application ID of the app. For example: \"com.example.myapp\". See https://developer.android.com/studio/build/application-id. If the app is added to the Apple App Store, it will be app store ID. For example \"105169111\". Note that setting the app store id is considered an irreversible action. Once an app is linked, it cannot be unlinked.", +"type": "string" +}, +"displayName": { +"description": "Output only. Display name of the app as it appears in the app store. This is an output-only field, and may be empty if the app cannot be found in the store.", +"readOnly": true, +"type": "string" +} +}, +"type": "object" +}, +"AppManualAppInfo": { +"description": "Information provided for manual apps which are not linked to an application store (Example: Google Play, App Store).", +"id": "AppManualAppInfo", +"properties": { +"displayName": { +"description": "The display name of the app as shown in the AdMob UI, which is provided by the user. The maximum length allowed is 80 characters.", +"type": "string" +} +}, +"type": "object" +}, +"Date": { +"description": "Represents a whole or partial calendar date, such as a birthday. The time of day and time zone are either specified elsewhere or are insignificant. The date is relative to the Gregorian Calendar. This can represent one of the following: * A full date, with non-zero year, month, and day values. * A month and day, with a zero year (for example, an anniversary). * A year on its own, with a zero month and a zero day. * A year and month, with a zero day (for example, a credit card expiration date). Related types: * google.type.TimeOfDay * google.type.DateTime * google.protobuf.Timestamp", +"id": "Date", +"properties": { +"day": { +"description": "Day of a month. Must be from 1 to 31 and valid for the year and month, or 0 to specify a year by itself or a year and month where the day isn't significant.", +"format": "int32", +"type": "integer" +}, +"month": { +"description": "Month of a year. Must be from 1 to 12, or 0 to specify a year without a month and day.", +"format": "int32", +"type": "integer" +}, +"year": { +"description": "Year of the date. Must be from 1 to 9999, or 0 to specify a date without a year.", +"format": "int32", +"type": "integer" +} +}, +"type": "object" +}, +"DateRange": { +"description": "Specification of a single date range. Both dates are inclusive.", +"id": "DateRange", +"properties": { +"endDate": { +"$ref": "Date", +"description": "End date of the date range, inclusive. Must be greater than or equal to the start date." +}, +"startDate": { +"$ref": "Date", +"description": "Start date of the date range, inclusive. Must be less than or equal to the end date." +} +}, +"type": "object" +}, +"GenerateMediationReportRequest": { +"description": "Request to generate an AdMob Mediation report.", +"id": "GenerateMediationReportRequest", +"properties": { +"reportSpec": { +"$ref": "MediationReportSpec", +"description": "Network report specification." +} +}, +"type": "object" +}, +"GenerateMediationReportResponse": { +"description": "The streaming response for the AdMob Mediation report where the first response contains the report header, then a stream of row responses, and finally a footer as the last response message. For example: [{ \"header\": { \"date_range\": { \"start_date\": {\"year\": 2018, \"month\": 9, \"day\": 1}, \"end_date\": {\"year\": 2018, \"month\": 9, \"day\": 1} }, \"localization_settings\": { \"currency_code\": \"USD\", \"language_code\": \"en-US\" } } }, { \"row\": { \"dimension_values\": { \"DATE\": {\"value\": \"20180918\"}, \"APP\": { \"value\": \"ca-app-pub-8123415297019784~1001342552\", \"display_label\": \"My app name!\" } }, \"metric_values\": { \"ESTIMATED_EARNINGS\": {\"decimal_value\": \"1324746\"} } } }, { \"footer\": {\"matching_row_count\": 1} }]", +"id": "GenerateMediationReportResponse", +"properties": { +"footer": { +"$ref": "ReportFooter", +"description": "Additional information about the generated report, such as warnings about the data." +}, +"header": { +"$ref": "ReportHeader", +"description": "Report generation settings that describes the report contents, such as the report date range and localization settings." +}, +"row": { +"$ref": "ReportRow", +"description": "Actual report data." +} +}, +"type": "object" +}, +"GenerateNetworkReportRequest": { +"description": "Request to generate an AdMob Network report.", +"id": "GenerateNetworkReportRequest", +"properties": { +"reportSpec": { +"$ref": "NetworkReportSpec", +"description": "Network report specification." +} +}, +"type": "object" +}, +"GenerateNetworkReportResponse": { +"description": "The streaming response for the AdMob Network report where the first response contains the report header, then a stream of row responses, and finally a footer as the last response message. For example: [{ \"header\": { \"dateRange\": { \"startDate\": {\"year\": 2018, \"month\": 9, \"day\": 1}, \"endDate\": {\"year\": 2018, \"month\": 9, \"day\": 1} }, \"localizationSettings\": { \"currencyCode\": \"USD\", \"languageCode\": \"en-US\" } } }, { \"row\": { \"dimensionValues\": { \"DATE\": {\"value\": \"20180918\"}, \"APP\": { \"value\": \"ca-app-pub-8123415297019784~1001342552\", displayLabel: \"My app name!\" } }, \"metricValues\": { \"ESTIMATED_EARNINGS\": {\"microsValue\": 6500000} } } }, { \"footer\": {\"matchingRowCount\": 1} }]", +"id": "GenerateNetworkReportResponse", +"properties": { +"footer": { +"$ref": "ReportFooter", +"description": "Additional information about the generated report, such as warnings about the data." +}, +"header": { +"$ref": "ReportHeader", +"description": "Report generation settings that describes the report contents, such as the report date range and localization settings." +}, +"row": { +"$ref": "ReportRow", +"description": "Actual report data." +} +}, +"type": "object" +}, +"ListAdUnitsResponse": { +"description": "Response for the ad units list request.", +"id": "ListAdUnitsResponse", +"properties": { +"adUnits": { +"description": "The resulting ad units for the requested account.", +"items": { +"$ref": "AdUnit" +}, +"type": "array" +}, +"nextPageToken": { +"description": "If not empty, indicates that there may be more ad units for the request; this value should be passed in a new `ListAdUnitsRequest`.", +"type": "string" +} +}, +"type": "object" +}, +"ListAppsResponse": { +"description": "Response for the apps list request.", +"id": "ListAppsResponse", +"properties": { +"apps": { +"description": "The resulting apps for the requested account.", +"items": { +"$ref": "App" +}, +"type": "array" +}, +"nextPageToken": { +"description": "If not empty, indicates that there may be more apps for the request; this value should be passed in a new `ListAppsRequest`.", +"type": "string" +} +}, +"type": "object" +}, +"ListPublisherAccountsResponse": { +"description": "Response for the publisher account list request.", +"id": "ListPublisherAccountsResponse", +"properties": { +"account": { +"description": "Publisher that the client credentials can access.", +"items": { +"$ref": "PublisherAccount" +}, +"type": "array" +}, +"nextPageToken": { +"description": "If not empty, indicates that there might be more accounts for the request; you must pass this value in a new `ListPublisherAccountsRequest`.", +"type": "string" +} +}, +"type": "object" +}, +"LocalizationSettings": { +"description": "Localization settings for reports, such as currency and language. It affects how metrics are calculated.", +"id": "LocalizationSettings", +"properties": { +"currencyCode": { +"description": "Currency code of the earning related metrics, which is the 3-letter code defined in ISO 4217. The daily average rate is used for the currency conversion. Defaults to the account currency code if unspecified.", +"type": "string" +}, +"languageCode": { +"description": "Language used for any localized text, such as some dimension value display labels. The language tag defined in the IETF BCP47. Defaults to 'en-US' if unspecified.", +"type": "string" +} +}, +"type": "object" +}, +"MediationReportSpec": { +"description": "The specification for generating an AdMob Mediation report. For example, the specification to get observed ECPM sliced by ad source and app for the 'US' and 'CN' countries can look like the following example: { \"date_range\": { \"start_date\": {\"year\": 2021, \"month\": 9, \"day\": 1}, \"end_date\": {\"year\": 2021, \"month\": 9, \"day\": 30} }, \"dimensions\": [\"AD_SOURCE\", \"APP\", \"COUNTRY\"], \"metrics\": [\"OBSERVED_ECPM\"], \"dimension_filters\": [ { \"dimension\": \"COUNTRY\", \"matches_any\": {\"values\": [{\"value\": \"US\", \"value\": \"CN\"}]} } ], \"sort_conditions\": [ {\"dimension\":\"APP\", order: \"ASCENDING\"} ], \"localization_settings\": { \"currency_code\": \"USD\", \"language_code\": \"en-US\" } } For a better understanding, you can treat the preceding specification like the following pseudo SQL: SELECT AD_SOURCE, APP, COUNTRY, OBSERVED_ECPM FROM MEDIATION_REPORT WHERE DATE >= '2021-09-01' AND DATE <= '2021-09-30' AND COUNTRY IN ('US', 'CN') GROUP BY AD_SOURCE, APP, COUNTRY ORDER BY APP ASC;", +"id": "MediationReportSpec", +"properties": { +"dateRange": { +"$ref": "DateRange", +"description": "The date range for which the report is generated." +}, +"dimensionFilters": { +"description": "Describes which report rows to match based on their dimension values.", +"items": { +"$ref": "MediationReportSpecDimensionFilter" +}, +"type": "array" +}, +"dimensions": { +"description": "List of dimensions of the report. The value combination of these dimensions determines the row of the report. If no dimensions are specified, the report returns a single row of requested metrics for the entire account.", +"items": { +"enum": [ +"DIMENSION_UNSPECIFIED", +"DATE", +"MONTH", +"WEEK", +"AD_SOURCE", +"AD_SOURCE_INSTANCE", +"AD_UNIT", +"APP", +"MEDIATION_GROUP", +"COUNTRY", +"FORMAT", +"PLATFORM", +"MOBILE_OS_VERSION", +"GMA_SDK_VERSION", +"APP_VERSION_NAME", +"SERVING_RESTRICTION" +], +"enumDescriptions": [ +"Default value for an unset field. Do not use.", +"A date in the YYYYMMDD format (for example, \"20210701\"). Requests can specify at most one time dimension.", +"A month in the YYYYMM format (for example, \"202107\"). Requests can specify at most one time dimension.", +"The date of the first day of a week in the YYYYMMDD format (for example, \"20210701\"). Requests can specify at most one time dimension.", +"The [unique ID of the ad source](/admob/api/v1/ad_sources) (for example, \"5450213213286189855\" and \"AdMob Network\" as label value).", +"The unique ID of the ad source instance (for example, \"ca-app-pub-1234:asi:5678\" and \"AdMob (default)\" as label value).", +"The unique ID of the ad unit (for example, \"ca-app-pub-1234/8790\"). If AD_UNIT dimension is specified, then APP is included automatically.", +"The unique ID of the mobile application (for example, \"ca-app-pub-1234~1234\").", +"The unique ID of the mediation group (for example, \"ca-app-pub-1234:mg:1234\" and \"AdMob (default)\" as label value).", +"CLDR country code of the place where the ad views/clicks occur (for example, \"US\" or \"FR\"). This is a geography dimension.", +"Format of the ad unit (for example, \"banner\", \"native\"), an ad delivery dimension.", +"Mobile OS platform of the app (for example, \"Android\" or \"iOS\").", +"Mobile operating system version, e.g. \"iOS 13.5.1\".", +"GMA SDK version, e.g. \"iOS 7.62.0\".", +"For Android, the app version name can be found in versionName in PackageInfo. For iOS, the app version name can be found in CFBundleShortVersionString.", +"Restriction mode for ads serving (e.g. \"Non-personalized ads\")." +], +"type": "string" +}, +"type": "array" +}, +"localizationSettings": { +"$ref": "LocalizationSettings", +"description": "Localization settings of the report." +}, +"maxReportRows": { +"description": "Maximum number of report data rows to return. If the value is not set, the API returns as many rows as possible, up to 100000. Acceptable values are 1-100000, inclusive. Values larger than 100000 return an error.", +"format": "int32", +"type": "integer" +}, +"metrics": { +"description": "List of metrics of the report. A report must specify at least one metric.", +"items": { +"enum": [ +"METRIC_UNSPECIFIED", +"AD_REQUESTS", +"CLICKS", +"ESTIMATED_EARNINGS", +"IMPRESSIONS", +"IMPRESSION_CTR", +"MATCHED_REQUESTS", +"MATCH_RATE", +"OBSERVED_ECPM" +], +"enumDescriptions": [ +"Default value for an unset field. Do not use.", +"The number of requests. The value is an integer.", +"The number of times a user clicks an ad. The value is an integer.", +"The estimated earnings of the AdMob publisher. The currency unit (USD, EUR, or other) of the earning metrics are determined by the localization setting for currency. The amount is in micros. For example, $6.50 would be represented as 6500000. Estimated earnings per mediation group and per ad source instance level is supported dating back to October 20, 2019. Third-party estimated earnings will show 0 for dates prior to October 20, 2019.", +"The total number of ads shown to users. The value is an integer.", +"The ratio of clicks over impressions. The value is a double precision (approximate) decimal value.", +"The number of times ads are returned in response to a request. The value is an integer.", +"The ratio of matched ad requests over the total ad requests. The value is a double precision (approximate) decimal value.", +"The third-party ad network's estimated average eCPM. The currency unit (USD, EUR, or other) of the earning metrics are determined by the localization setting for currency. The amount is in micros. For example, $2.30 would be represented as 2300000. The estimated average eCPM per mediation group and per ad source instance level is supported dating back to October 20, 2019. Third-party estimated average eCPM will show 0 for dates prior to October 20, 2019." +], +"type": "string" +}, +"type": "array" +}, +"sortConditions": { +"description": "Describes the sorting of report rows. The order of the condition in the list defines its precedence; the earlier the condition, the higher its precedence. If no sort conditions are specified, the row ordering is undefined.", +"items": { +"$ref": "MediationReportSpecSortCondition" +}, +"type": "array" +}, +"timeZone": { +"description": "A report time zone. Accepts an IANA TZ name values, such as \"America/Los_Angeles.\" If no time zone is defined, the account default takes effect. Check default value by the get account action. **Warning:** The \"America/Los_Angeles\" is the only supported value at the moment.", +"type": "string" +} +}, +"type": "object" +}, +"MediationReportSpecDimensionFilter": { +"description": "Describes which report rows to match based on their dimension values.", +"id": "MediationReportSpecDimensionFilter", +"properties": { +"dimension": { +"description": "Applies the filter criterion to the specified dimension.", +"enum": [ +"DIMENSION_UNSPECIFIED", +"DATE", +"MONTH", +"WEEK", +"AD_SOURCE", +"AD_SOURCE_INSTANCE", +"AD_UNIT", +"APP", +"MEDIATION_GROUP", +"COUNTRY", +"FORMAT", +"PLATFORM", +"MOBILE_OS_VERSION", +"GMA_SDK_VERSION", +"APP_VERSION_NAME", +"SERVING_RESTRICTION" +], +"enumDescriptions": [ +"Default value for an unset field. Do not use.", +"A date in the YYYYMMDD format (for example, \"20210701\"). Requests can specify at most one time dimension.", +"A month in the YYYYMM format (for example, \"202107\"). Requests can specify at most one time dimension.", +"The date of the first day of a week in the YYYYMMDD format (for example, \"20210701\"). Requests can specify at most one time dimension.", +"The [unique ID of the ad source](/admob/api/v1/ad_sources) (for example, \"5450213213286189855\" and \"AdMob Network\" as label value).", +"The unique ID of the ad source instance (for example, \"ca-app-pub-1234:asi:5678\" and \"AdMob (default)\" as label value).", +"The unique ID of the ad unit (for example, \"ca-app-pub-1234/8790\"). If AD_UNIT dimension is specified, then APP is included automatically.", +"The unique ID of the mobile application (for example, \"ca-app-pub-1234~1234\").", +"The unique ID of the mediation group (for example, \"ca-app-pub-1234:mg:1234\" and \"AdMob (default)\" as label value).", +"CLDR country code of the place where the ad views/clicks occur (for example, \"US\" or \"FR\"). This is a geography dimension.", +"Format of the ad unit (for example, \"banner\", \"native\"), an ad delivery dimension.", +"Mobile OS platform of the app (for example, \"Android\" or \"iOS\").", +"Mobile operating system version, e.g. \"iOS 13.5.1\".", +"GMA SDK version, e.g. \"iOS 7.62.0\".", +"For Android, the app version name can be found in versionName in PackageInfo. For iOS, the app version name can be found in CFBundleShortVersionString.", +"Restriction mode for ads serving (e.g. \"Non-personalized ads\")." +], +"type": "string" +}, +"matchesAny": { +"$ref": "StringList", +"description": "Matches a row if its value for the specified dimension is in one of the values specified in this condition." +} +}, +"type": "object" +}, +"MediationReportSpecSortCondition": { +"description": "Sorting direction to be applied on a dimension or a metric.", +"id": "MediationReportSpecSortCondition", +"properties": { +"dimension": { +"description": "Sort by the specified dimension.", +"enum": [ +"DIMENSION_UNSPECIFIED", +"DATE", +"MONTH", +"WEEK", +"AD_SOURCE", +"AD_SOURCE_INSTANCE", +"AD_UNIT", +"APP", +"MEDIATION_GROUP", +"COUNTRY", +"FORMAT", +"PLATFORM", +"MOBILE_OS_VERSION", +"GMA_SDK_VERSION", +"APP_VERSION_NAME", +"SERVING_RESTRICTION" +], +"enumDescriptions": [ +"Default value for an unset field. Do not use.", +"A date in the YYYYMMDD format (for example, \"20210701\"). Requests can specify at most one time dimension.", +"A month in the YYYYMM format (for example, \"202107\"). Requests can specify at most one time dimension.", +"The date of the first day of a week in the YYYYMMDD format (for example, \"20210701\"). Requests can specify at most one time dimension.", +"The [unique ID of the ad source](/admob/api/v1/ad_sources) (for example, \"5450213213286189855\" and \"AdMob Network\" as label value).", +"The unique ID of the ad source instance (for example, \"ca-app-pub-1234:asi:5678\" and \"AdMob (default)\" as label value).", +"The unique ID of the ad unit (for example, \"ca-app-pub-1234/8790\"). If AD_UNIT dimension is specified, then APP is included automatically.", +"The unique ID of the mobile application (for example, \"ca-app-pub-1234~1234\").", +"The unique ID of the mediation group (for example, \"ca-app-pub-1234:mg:1234\" and \"AdMob (default)\" as label value).", +"CLDR country code of the place where the ad views/clicks occur (for example, \"US\" or \"FR\"). This is a geography dimension.", +"Format of the ad unit (for example, \"banner\", \"native\"), an ad delivery dimension.", +"Mobile OS platform of the app (for example, \"Android\" or \"iOS\").", +"Mobile operating system version, e.g. \"iOS 13.5.1\".", +"GMA SDK version, e.g. \"iOS 7.62.0\".", +"For Android, the app version name can be found in versionName in PackageInfo. For iOS, the app version name can be found in CFBundleShortVersionString.", +"Restriction mode for ads serving (e.g. \"Non-personalized ads\")." +], +"type": "string" +}, +"metric": { +"description": "Sort by the specified metric.", +"enum": [ +"METRIC_UNSPECIFIED", +"AD_REQUESTS", +"CLICKS", +"ESTIMATED_EARNINGS", +"IMPRESSIONS", +"IMPRESSION_CTR", +"MATCHED_REQUESTS", +"MATCH_RATE", +"OBSERVED_ECPM" +], +"enumDescriptions": [ +"Default value for an unset field. Do not use.", +"The number of requests. The value is an integer.", +"The number of times a user clicks an ad. The value is an integer.", +"The estimated earnings of the AdMob publisher. The currency unit (USD, EUR, or other) of the earning metrics are determined by the localization setting for currency. The amount is in micros. For example, $6.50 would be represented as 6500000. Estimated earnings per mediation group and per ad source instance level is supported dating back to October 20, 2019. Third-party estimated earnings will show 0 for dates prior to October 20, 2019.", +"The total number of ads shown to users. The value is an integer.", +"The ratio of clicks over impressions. The value is a double precision (approximate) decimal value.", +"The number of times ads are returned in response to a request. The value is an integer.", +"The ratio of matched ad requests over the total ad requests. The value is a double precision (approximate) decimal value.", +"The third-party ad network's estimated average eCPM. The currency unit (USD, EUR, or other) of the earning metrics are determined by the localization setting for currency. The amount is in micros. For example, $2.30 would be represented as 2300000. The estimated average eCPM per mediation group and per ad source instance level is supported dating back to October 20, 2019. Third-party estimated average eCPM will show 0 for dates prior to October 20, 2019." +], +"type": "string" +}, +"order": { +"description": "Sorting order of the dimension or metric.", +"enum": [ +"SORT_ORDER_UNSPECIFIED", +"ASCENDING", +"DESCENDING" +], +"enumDescriptions": [ +"Default value for an unset field. Do not use.", +"Sort dimension value or metric value in ascending order.", +"Sort dimension value or metric value in descending order." +], +"type": "string" +} +}, +"type": "object" +}, +"NetworkReportSpec": { +"description": "The specification for generating an AdMob Network report. For example, the specification to get clicks and estimated earnings for only the 'US' and 'CN' countries can look like the following example: { 'date_range': { 'start_date': {'year': 2021, 'month': 9, 'day': 1}, 'end_date': {'year': 2021, 'month': 9, 'day': 30} }, 'dimensions': ['DATE', 'APP', 'COUNTRY'], 'metrics': ['CLICKS', 'ESTIMATED_EARNINGS'], 'dimension_filters': [ { 'dimension': 'COUNTRY', 'matches_any': {'values': [{'value': 'US', 'value': 'CN'}]} } ], 'sort_conditions': [ {'dimension':'APP', order: 'ASCENDING'}, {'metric':'CLICKS', order: 'DESCENDING'} ], 'localization_settings': { 'currency_code': 'USD', 'language_code': 'en-US' } } For a better understanding, you can treat the preceding specification like the following pseudo SQL: SELECT DATE, APP, COUNTRY, CLICKS, ESTIMATED_EARNINGS FROM NETWORK_REPORT WHERE DATE >= '2021-09-01' AND DATE <= '2021-09-30' AND COUNTRY IN ('US', 'CN') GROUP BY DATE, APP, COUNTRY ORDER BY APP ASC, CLICKS DESC;", +"id": "NetworkReportSpec", +"properties": { +"dateRange": { +"$ref": "DateRange", +"description": "The date range for which the report is generated." +}, +"dimensionFilters": { +"description": "Describes which report rows to match based on their dimension values.", +"items": { +"$ref": "NetworkReportSpecDimensionFilter" +}, +"type": "array" +}, +"dimensions": { +"description": "List of dimensions of the report. The value combination of these dimensions determines the row of the report. If no dimensions are specified, the report returns a single row of requested metrics for the entire account.", +"items": { +"enum": [ +"DIMENSION_UNSPECIFIED", +"DATE", +"MONTH", +"WEEK", +"AD_UNIT", +"APP", +"AD_TYPE", +"COUNTRY", +"FORMAT", +"PLATFORM", +"MOBILE_OS_VERSION", +"GMA_SDK_VERSION", +"APP_VERSION_NAME", +"SERVING_RESTRICTION" +], +"enumDescriptions": [ +"Default value for an unset field. Do not use.", +"A date in the YYYYMMDD format (for example, \"20210701\"). Requests can specify at most one time dimension.", +"A month in the YYYYMM format (for example, \"202107\"). Requests can specify at most one time dimension.", +"The date of the first day of a week in the YYYYMMDD format (for example, \"20210701\"). Requests can specify at most one time dimension.", +"The unique ID of the ad unit (for example, \"ca-app-pub-1234/1234\"). If AD_UNIT dimension is specified, then APP is included automatically.", +"The unique ID of the mobile application (for example, \"ca-app-pub-1234~1234\").", +"Type of the ad (for example, \"text\" or \"image\"), an ad delivery dimension. **Warning:** The dimension is incompatible with [AD_REQUESTS](#Metric.ENUM_VALUES.AD_REQUESTS), [MATCH_RATE](#Metric.ENUM_VALUES.MATCH_RATE) and [IMPRESSION_RPM](#Metric.ENUM_VALUES.IMPRESSION_RPM) metrics.", +"CLDR country code of the place where the ad views/clicks occur (for example, \"US\" or \"FR\"). This is a geography dimension.", +"Format of the ad unit (for example, \"banner\", \"native\"), an ad delivery dimension.", +"Mobile OS platform of the app (for example, \"Android\" or \"iOS\").", +"Mobile operating system version, e.g. \"iOS 13.5.1\".", +"GMA SDK version, e.g. \"iOS 7.62.0\".", +"For Android, the app version name can be found in versionName in PackageInfo. For iOS, the app version name can be found in CFBundleShortVersionString.", +"Restriction mode for ads serving (e.g. \"Non-personalized ads\")." +], +"type": "string" +}, +"type": "array" +}, +"localizationSettings": { +"$ref": "LocalizationSettings", +"description": "Localization settings of the report." +}, +"maxReportRows": { +"description": "Maximum number of report data rows to return. If the value is not set, the API returns as many rows as possible, up to 100000. Acceptable values are 1-100000, inclusive. Values larger than 100000 return an error.", +"format": "int32", +"type": "integer" +}, +"metrics": { +"description": "List of metrics of the report. A report must specify at least one metric.", +"items": { +"enum": [ +"METRIC_UNSPECIFIED", +"AD_REQUESTS", +"CLICKS", +"ESTIMATED_EARNINGS", +"IMPRESSIONS", +"IMPRESSION_CTR", +"IMPRESSION_RPM", +"MATCHED_REQUESTS", +"MATCH_RATE", +"SHOW_RATE" +], +"enumDescriptions": [ +"Default value for an unset field. Do not use.", +"The number of ad requests. The value is an integer. **Warning:** The metric is incompatible with [AD_TYPE](#Dimension.ENUM_VALUES.AD_TYPE) dimension.", +"The number of times a user clicks an ad. The value is an integer.", +"The estimated earnings of the AdMob publisher. The currency unit (USD, EUR, or other) of the earning metrics are determined by the localization setting for currency. The amount is in micros. For example, $6.50 would be represented as 6500000.", +"The total number of ads shown to users. The value is an integer.", +"The ratio of clicks over impressions. The value is a double precision (approximate) decimal value.", +"The estimated earnings per thousand ad impressions. The value is in micros. For example, $1.03 would be represented as 1030000. Equivalent to eCPM in the AdMob UI. **Warning:** The metric is incompatible with [AD_TYPE](#Dimension.ENUM_VALUES.AD_TYPE) dimension.", +"The number of times ads are returned in response to a request. The value is an integer.", +"The ratio of matched ad requests over the total ad requests. The value is a double precision (approximate) decimal value. **Warning:** The metric is incompatible with [AD_TYPE](#Dimension.ENUM_VALUES.AD_TYPE) dimension.", +"The ratio of ads that are displayed over ads that are returned, defined as impressions / matched requests. The value is a double precision (approximate) decimal value." +], +"type": "string" +}, +"type": "array" +}, +"sortConditions": { +"description": "Describes the sorting of report rows. The order of the condition in the list defines its precedence; the earlier the condition, the higher its precedence. If no sort conditions are specified, the row ordering is undefined.", +"items": { +"$ref": "NetworkReportSpecSortCondition" +}, +"type": "array" +}, +"timeZone": { +"description": "A report time zone. Accepts an IANA TZ name values, such as \"America/Los_Angeles.\" If no time zone is defined, the account default takes effect. Check default value by the get account action. **Warning:** The \"America/Los_Angeles\" is the only supported value at the moment.", +"type": "string" +} +}, +"type": "object" +}, +"NetworkReportSpecDimensionFilter": { +"description": "Describes which report rows to match based on their dimension values.", +"id": "NetworkReportSpecDimensionFilter", +"properties": { +"dimension": { +"description": "Applies the filter criterion to the specified dimension.", +"enum": [ +"DIMENSION_UNSPECIFIED", +"DATE", +"MONTH", +"WEEK", +"AD_UNIT", +"APP", +"AD_TYPE", +"COUNTRY", +"FORMAT", +"PLATFORM", +"MOBILE_OS_VERSION", +"GMA_SDK_VERSION", +"APP_VERSION_NAME", +"SERVING_RESTRICTION" +], +"enumDescriptions": [ +"Default value for an unset field. Do not use.", +"A date in the YYYYMMDD format (for example, \"20210701\"). Requests can specify at most one time dimension.", +"A month in the YYYYMM format (for example, \"202107\"). Requests can specify at most one time dimension.", +"The date of the first day of a week in the YYYYMMDD format (for example, \"20210701\"). Requests can specify at most one time dimension.", +"The unique ID of the ad unit (for example, \"ca-app-pub-1234/1234\"). If AD_UNIT dimension is specified, then APP is included automatically.", +"The unique ID of the mobile application (for example, \"ca-app-pub-1234~1234\").", +"Type of the ad (for example, \"text\" or \"image\"), an ad delivery dimension. **Warning:** The dimension is incompatible with [AD_REQUESTS](#Metric.ENUM_VALUES.AD_REQUESTS), [MATCH_RATE](#Metric.ENUM_VALUES.MATCH_RATE) and [IMPRESSION_RPM](#Metric.ENUM_VALUES.IMPRESSION_RPM) metrics.", +"CLDR country code of the place where the ad views/clicks occur (for example, \"US\" or \"FR\"). This is a geography dimension.", +"Format of the ad unit (for example, \"banner\", \"native\"), an ad delivery dimension.", +"Mobile OS platform of the app (for example, \"Android\" or \"iOS\").", +"Mobile operating system version, e.g. \"iOS 13.5.1\".", +"GMA SDK version, e.g. \"iOS 7.62.0\".", +"For Android, the app version name can be found in versionName in PackageInfo. For iOS, the app version name can be found in CFBundleShortVersionString.", +"Restriction mode for ads serving (e.g. \"Non-personalized ads\")." +], +"type": "string" +}, +"matchesAny": { +"$ref": "StringList", +"description": "Matches a row if its value for the specified dimension is in one of the values specified in this condition." +} +}, +"type": "object" +}, +"NetworkReportSpecSortCondition": { +"description": "Sorting direction to be applied on a dimension or a metric.", +"id": "NetworkReportSpecSortCondition", +"properties": { +"dimension": { +"description": "Sort by the specified dimension.", +"enum": [ +"DIMENSION_UNSPECIFIED", +"DATE", +"MONTH", +"WEEK", +"AD_UNIT", +"APP", +"AD_TYPE", +"COUNTRY", +"FORMAT", +"PLATFORM", +"MOBILE_OS_VERSION", +"GMA_SDK_VERSION", +"APP_VERSION_NAME", +"SERVING_RESTRICTION" +], +"enumDescriptions": [ +"Default value for an unset field. Do not use.", +"A date in the YYYYMMDD format (for example, \"20210701\"). Requests can specify at most one time dimension.", +"A month in the YYYYMM format (for example, \"202107\"). Requests can specify at most one time dimension.", +"The date of the first day of a week in the YYYYMMDD format (for example, \"20210701\"). Requests can specify at most one time dimension.", +"The unique ID of the ad unit (for example, \"ca-app-pub-1234/1234\"). If AD_UNIT dimension is specified, then APP is included automatically.", +"The unique ID of the mobile application (for example, \"ca-app-pub-1234~1234\").", +"Type of the ad (for example, \"text\" or \"image\"), an ad delivery dimension. **Warning:** The dimension is incompatible with [AD_REQUESTS](#Metric.ENUM_VALUES.AD_REQUESTS), [MATCH_RATE](#Metric.ENUM_VALUES.MATCH_RATE) and [IMPRESSION_RPM](#Metric.ENUM_VALUES.IMPRESSION_RPM) metrics.", +"CLDR country code of the place where the ad views/clicks occur (for example, \"US\" or \"FR\"). This is a geography dimension.", +"Format of the ad unit (for example, \"banner\", \"native\"), an ad delivery dimension.", +"Mobile OS platform of the app (for example, \"Android\" or \"iOS\").", +"Mobile operating system version, e.g. \"iOS 13.5.1\".", +"GMA SDK version, e.g. \"iOS 7.62.0\".", +"For Android, the app version name can be found in versionName in PackageInfo. For iOS, the app version name can be found in CFBundleShortVersionString.", +"Restriction mode for ads serving (e.g. \"Non-personalized ads\")." +], +"type": "string" +}, +"metric": { +"description": "Sort by the specified metric.", +"enum": [ +"METRIC_UNSPECIFIED", +"AD_REQUESTS", +"CLICKS", +"ESTIMATED_EARNINGS", +"IMPRESSIONS", +"IMPRESSION_CTR", +"IMPRESSION_RPM", +"MATCHED_REQUESTS", +"MATCH_RATE", +"SHOW_RATE" +], +"enumDescriptions": [ +"Default value for an unset field. Do not use.", +"The number of ad requests. The value is an integer. **Warning:** The metric is incompatible with [AD_TYPE](#Dimension.ENUM_VALUES.AD_TYPE) dimension.", +"The number of times a user clicks an ad. The value is an integer.", +"The estimated earnings of the AdMob publisher. The currency unit (USD, EUR, or other) of the earning metrics are determined by the localization setting for currency. The amount is in micros. For example, $6.50 would be represented as 6500000.", +"The total number of ads shown to users. The value is an integer.", +"The ratio of clicks over impressions. The value is a double precision (approximate) decimal value.", +"The estimated earnings per thousand ad impressions. The value is in micros. For example, $1.03 would be represented as 1030000. Equivalent to eCPM in the AdMob UI. **Warning:** The metric is incompatible with [AD_TYPE](#Dimension.ENUM_VALUES.AD_TYPE) dimension.", +"The number of times ads are returned in response to a request. The value is an integer.", +"The ratio of matched ad requests over the total ad requests. The value is a double precision (approximate) decimal value. **Warning:** The metric is incompatible with [AD_TYPE](#Dimension.ENUM_VALUES.AD_TYPE) dimension.", +"The ratio of ads that are displayed over ads that are returned, defined as impressions / matched requests. The value is a double precision (approximate) decimal value." +], +"type": "string" +}, +"order": { +"description": "Sorting order of the dimension or metric.", +"enum": [ +"SORT_ORDER_UNSPECIFIED", +"ASCENDING", +"DESCENDING" +], +"enumDescriptions": [ +"Default value for an unset field. Do not use.", +"Sort dimension value or metric value in ascending order.", +"Sort dimension value or metric value in descending order." +], +"type": "string" +} +}, +"type": "object" +}, +"PublisherAccount": { +"description": "A publisher account contains information relevant to the use of this API, such as the time zone used for the reports.", +"id": "PublisherAccount", +"properties": { +"currencyCode": { +"description": "Currency code of the earning-related metrics, which is the 3-letter code defined in ISO 4217. The daily average rate is used for the currency conversion.", +"type": "string" +}, +"name": { +"description": "Resource name of this account. Format is accounts/{publisher_id}.", +"type": "string" +}, +"publisherId": { +"description": "The unique ID by which this publisher account can be identified in the API requests (for example, pub-1234567890).", +"type": "string" +}, +"reportingTimeZone": { +"description": "The time zone that is used in reports that are generated for this account. The value is a time-zone ID as specified by the CLDR project, for example, \"America/Los_Angeles\".", +"type": "string" +} +}, +"type": "object" +}, +"ReportFooter": { +"description": "Groups data available after report generation, for example, warnings and row counts. Always sent as the last message in the stream response.", +"id": "ReportFooter", +"properties": { +"matchingRowCount": { +"description": "Total number of rows that matched the request. Warning: This count does NOT always match the number of rows in the response. Do not make that assumption when processing the response.", +"format": "int64", +"type": "string" +}, +"warnings": { +"description": "Warnings associated with generation of the report.", +"items": { +"$ref": "ReportWarning" +}, +"type": "array" +} +}, +"type": "object" +}, +"ReportHeader": { +"description": "Groups data helps to treat the generated report. Always sent as a first message in the stream response.", +"id": "ReportHeader", +"properties": { +"dateRange": { +"$ref": "DateRange", +"description": "The date range for which the report is generated. This is identical to the range specified in the report request." +}, +"localizationSettings": { +"$ref": "LocalizationSettings", +"description": "Localization settings of the report. This is identical to the settings in the report request." +}, +"reportingTimeZone": { +"description": "The report time zone. The value is a time-zone ID as specified by the CLDR project, for example, \"America/Los_Angeles\".", +"type": "string" +} +}, +"type": "object" +}, +"ReportRow": { +"description": "A row of the returning report.", +"id": "ReportRow", +"properties": { +"dimensionValues": { +"additionalProperties": { +"$ref": "ReportRowDimensionValue" +}, +"description": "Map of dimension values in a row, with keys as enum name of the dimensions.", +"type": "object" +}, +"metricValues": { +"additionalProperties": { +"$ref": "ReportRowMetricValue" +}, +"description": "Map of metric values in a row, with keys as enum name of the metrics. If a metric being requested has no value returned, the map will not include it.", +"type": "object" +} +}, +"type": "object" +}, +"ReportRowDimensionValue": { +"description": "Representation of a dimension value.", +"id": "ReportRowDimensionValue", +"properties": { +"displayLabel": { +"description": "The localized string representation of the value. If unspecified, the display label should be derived from the value.", +"type": "string" +}, +"value": { +"description": "Dimension value in the format specified in the report's spec Dimension enum.", +"type": "string" +} +}, +"type": "object" +}, +"ReportRowMetricValue": { +"description": "Representation of a metric value.", +"id": "ReportRowMetricValue", +"properties": { +"doubleValue": { +"description": "Double precision (approximate) decimal values. Rates are from 0 to 1.", +"format": "double", +"type": "number" +}, +"integerValue": { +"description": "Metric integer value.", +"format": "int64", +"type": "string" +}, +"microsValue": { +"description": "Amount in micros. One million is equivalent to one unit. Currency value is in the unit (USD, EUR or other) specified by the request. For example, $6.50 whould be represented as 6500000 micros.", +"format": "int64", +"type": "string" +} +}, +"type": "object" +}, +"ReportWarning": { +"description": "Warnings associated with generation of the report.", +"id": "ReportWarning", +"properties": { +"description": { +"description": "Describes the details of the warning message, in English.", +"type": "string" +}, +"type": { +"description": "Type of the warning.", +"enum": [ +"TYPE_UNSPECIFIED", +"DATA_BEFORE_ACCOUNT_TIMEZONE_CHANGE", +"DATA_DELAYED", +"OTHER", +"REPORT_CURRENCY_NOT_ACCOUNT_CURRENCY" +], +"enumDescriptions": [ +"Default value for an unset field. Do not use.", +"Some data in this report is aggregated based on a time zone different from the requested time zone. This could happen if a local time-zone report has the start time before the last time this time zone changed. The description field will contain the date of the last time zone change.", +"There is an unusual delay in processing the source data for the requested date range. The report results might be less up to date than usual. AdMob is aware of the issue and is actively working to resolve it.", +"Warnings that are exposed without a specific type. Useful when new warning types are added but the API is not changed yet.", +"The currency being requested is not the account currency. The earning metrics will be based on the requested currency, and thus not a good estimation of the final payment anymore, due to the currency rate fluctuation." +], +"type": "string" +} +}, +"type": "object" +}, +"StringList": { +"description": "List of string values.", +"id": "StringList", +"properties": { +"values": { +"description": "The string values.", +"items": { +"type": "string" +}, +"type": "array" +} +}, +"type": "object" +} +}, +"servicePath": "", +"title": "AdMob API", +"version": "v1", +"version_module": true +} \ No newline at end of file diff --git a/.venv/lib/python3.11/site-packages/googleapiclient/discovery_cache/documents/aiplatform.v1.json b/.venv/lib/python3.11/site-packages/googleapiclient/discovery_cache/documents/aiplatform.v1.json new file mode 100644 index 0000000000000000000000000000000000000000..d227b14d902ed853cec0a7292aa975eac9b165a5 --- /dev/null +++ b/.venv/lib/python3.11/site-packages/googleapiclient/discovery_cache/documents/aiplatform.v1.json @@ -0,0 +1,44764 @@ +{ +"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." +}, +"https://www.googleapis.com/auth/cloud-platform.read-only": { +"description": "View your data across Google Cloud services and see the email address of your Google Account" +} +} +} +}, +"basePath": "", +"baseUrl": "https://aiplatform.googleapis.com/", +"batchPath": "batch", +"canonicalName": "Aiplatform", +"description": "Train high-quality custom machine learning models with minimal machine learning expertise and effort.", +"discoveryVersion": "v1", +"documentationLink": "https://cloud.google.com/vertex-ai/", +"endpoints": [ +{ +"description": "Locational Endpoint", +"endpointUrl": "https://africa-south1-aiplatform.googleapis.com/", +"location": "africa-south1" +}, +{ +"description": "Locational Endpoint", +"endpointUrl": "https://asia-east1-aiplatform.googleapis.com/", +"location": "asia-east1" +}, +{ +"description": "Locational Endpoint", +"endpointUrl": "https://asia-east2-aiplatform.googleapis.com/", +"location": "asia-east2" +}, +{ +"description": "Locational Endpoint", +"endpointUrl": "https://asia-northeast1-aiplatform.googleapis.com/", +"location": "asia-northeast1" +}, +{ +"description": "Locational Endpoint", +"endpointUrl": "https://asia-northeast2-aiplatform.googleapis.com/", +"location": "asia-northeast2" +}, +{ +"description": "Locational Endpoint", +"endpointUrl": "https://asia-northeast3-aiplatform.googleapis.com/", +"location": "asia-northeast3" +}, +{ +"description": "Locational Endpoint", +"endpointUrl": "https://asia-south1-aiplatform.googleapis.com/", +"location": "asia-south1" +}, +{ +"description": "Locational Endpoint", +"endpointUrl": "https://asia-southeast1-aiplatform.googleapis.com/", +"location": "asia-southeast1" +}, +{ +"description": "Locational Endpoint", +"endpointUrl": "https://asia-southeast2-aiplatform.googleapis.com/", +"location": "asia-southeast2" +}, +{ +"description": "Locational Endpoint", +"endpointUrl": "https://australia-southeast1-aiplatform.googleapis.com/", +"location": "australia-southeast1" +}, +{ +"description": "Locational Endpoint", +"endpointUrl": "https://australia-southeast2-aiplatform.googleapis.com/", +"location": "australia-southeast2" +}, +{ +"description": "Locational Endpoint", +"endpointUrl": "https://europe-central2-aiplatform.googleapis.com/", +"location": "europe-central2" +}, +{ +"description": "Locational Endpoint", +"endpointUrl": "https://europe-north1-aiplatform.googleapis.com/", +"location": "europe-north1" +}, +{ +"description": "Locational Endpoint", +"endpointUrl": "https://europe-southwest1-aiplatform.googleapis.com/", +"location": "europe-southwest1" +}, +{ +"description": "Locational Endpoint", +"endpointUrl": "https://europe-west1-aiplatform.googleapis.com/", +"location": "europe-west1" +}, +{ +"description": "Locational Endpoint", +"endpointUrl": "https://europe-west2-aiplatform.googleapis.com/", +"location": "europe-west2" +}, +{ +"description": "Locational Endpoint", +"endpointUrl": "https://europe-west3-aiplatform.googleapis.com/", +"location": "europe-west3" +}, +{ +"description": "Locational Endpoint", +"endpointUrl": "https://europe-west4-aiplatform.googleapis.com/", +"location": "europe-west4" +}, +{ +"description": "Locational Endpoint", +"endpointUrl": "https://europe-west6-aiplatform.googleapis.com/", +"location": "europe-west6" +}, +{ +"description": "Locational Endpoint", +"endpointUrl": "https://europe-west8-aiplatform.googleapis.com/", +"location": "europe-west8" +}, +{ +"description": "Locational Endpoint", +"endpointUrl": "https://europe-west9-aiplatform.googleapis.com/", +"location": "europe-west9" +}, +{ +"description": "Locational Endpoint", +"endpointUrl": "https://europe-west12-aiplatform.googleapis.com/", +"location": "europe-west12" +}, +{ +"description": "Locational Endpoint", +"endpointUrl": "https://me-central1-aiplatform.googleapis.com/", +"location": "me-central1" +}, +{ +"description": "Locational Endpoint", +"endpointUrl": "https://me-central2-aiplatform.googleapis.com/", +"location": "me-central2" +}, +{ +"description": "Locational Endpoint", +"endpointUrl": "https://me-west1-aiplatform.googleapis.com/", +"location": "me-west1" +}, +{ +"description": "Locational Endpoint", +"endpointUrl": "https://northamerica-northeast1-aiplatform.googleapis.com/", +"location": "northamerica-northeast1" +}, +{ +"description": "Locational Endpoint", +"endpointUrl": "https://northamerica-northeast2-aiplatform.googleapis.com/", +"location": "northamerica-northeast2" +}, +{ +"description": "Locational Endpoint", +"endpointUrl": "https://southamerica-east1-aiplatform.googleapis.com/", +"location": "southamerica-east1" +}, +{ +"description": "Locational Endpoint", +"endpointUrl": "https://southamerica-west1-aiplatform.googleapis.com/", +"location": "southamerica-west1" +}, +{ +"description": "Locational Endpoint", +"endpointUrl": "https://us-central1-aiplatform.googleapis.com/", +"location": "us-central1" +}, +{ +"description": "Locational Endpoint", +"endpointUrl": "https://us-central2-aiplatform.googleapis.com/", +"location": "us-central2" +}, +{ +"description": "Locational Endpoint", +"endpointUrl": "https://us-east1-aiplatform.googleapis.com/", +"location": "us-east1" +}, +{ +"description": "Locational Endpoint", +"endpointUrl": "https://us-east4-aiplatform.googleapis.com/", +"location": "us-east4" +}, +{ +"description": "Locational Endpoint", +"endpointUrl": "https://us-east7-aiplatform.googleapis.com/", +"location": "us-east7" +}, +{ +"description": "Locational Endpoint", +"endpointUrl": "https://us-south1-aiplatform.googleapis.com/", +"location": "us-south1" +}, +{ +"description": "Locational Endpoint", +"endpointUrl": "https://us-west1-aiplatform.googleapis.com/", +"location": "us-west1" +}, +{ +"description": "Locational Endpoint", +"endpointUrl": "https://us-west2-aiplatform.googleapis.com/", +"location": "us-west2" +}, +{ +"description": "Locational Endpoint", +"endpointUrl": "https://us-west3-aiplatform.googleapis.com/", +"location": "us-west3" +}, +{ +"description": "Locational Endpoint", +"endpointUrl": "https://us-west4-aiplatform.googleapis.com/", +"location": "us-west4" +}, +{ +"description": "Locational Endpoint", +"endpointUrl": "https://us-east5-aiplatform.googleapis.com/", +"location": "us-east5" +} +], +"fullyEncodeReservedExpansion": true, +"icons": { +"x16": "http://www.google.com/images/icons/product/search-16.gif", +"x32": "http://www.google.com/images/icons/product/search-32.gif" +}, +"id": "aiplatform:v1", +"kind": "discovery#restDescription", +"mtlsRootUrl": "https://aiplatform.mtls.googleapis.com/", +"name": "aiplatform", +"ownerDomain": "google.com", +"ownerName": "Google", +"parameters": { +"$.xgafv": { +"description": "V1 error format.", +"enum": [ +"1", +"2" +], +"enumDescriptions": [ +"v1 error format", +"v2 error format" +], +"location": "query", +"type": "string" +}, +"access_token": { +"description": "OAuth access token.", +"location": "query", +"type": "string" +}, +"alt": { +"default": "json", +"description": "Data format for response.", +"enum": [ +"json", +"media", +"proto" +], +"enumDescriptions": [ +"Responses with Content-Type of application/json", +"Media download with context-dependent Content-Type", +"Responses with Content-Type of application/x-protobuf" +], +"location": "query", +"type": "string" +}, +"callback": { +"description": "JSONP", +"location": "query", +"type": "string" +}, +"fields": { +"description": "Selector specifying which fields to include in a partial response.", +"location": "query", +"type": "string" +}, +"key": { +"description": "API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token.", +"location": "query", +"type": "string" +}, +"oauth_token": { +"description": "OAuth 2.0 token for the current user.", +"location": "query", +"type": "string" +}, +"prettyPrint": { +"default": "true", +"description": "Returns response with indentations and line breaks.", +"location": "query", +"type": "boolean" +}, +"quotaUser": { +"description": "Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters.", +"location": "query", +"type": "string" +}, +"uploadType": { +"description": "Legacy upload protocol for media (e.g. \"media\", \"multipart\").", +"location": "query", +"type": "string" +}, +"upload_protocol": { +"description": "Upload protocol for media (e.g. \"raw\", \"multipart\").", +"location": "query", +"type": "string" +} +}, +"protocol": "rest", +"resources": { +"datasets": { +"methods": { +"create": { +"description": "Creates a Dataset.", +"flatPath": "v1/datasets", +"httpMethod": "POST", +"id": "aiplatform.datasets.create", +"parameterOrder": [], +"parameters": { +"parent": { +"description": "Required. The resource name of the Location to create the Dataset in. Format: `projects/{project}/locations/{location}`", +"location": "query", +"type": "string" +} +}, +"path": "v1/datasets", +"request": { +"$ref": "GoogleCloudAiplatformV1Dataset" +}, +"response": { +"$ref": "GoogleLongrunningOperation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"delete": { +"description": "Deletes a Dataset.", +"flatPath": "v1/datasets/{datasetsId}", +"httpMethod": "DELETE", +"id": "aiplatform.datasets.delete", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. The resource name of the Dataset to delete. Format: `projects/{project}/locations/{location}/datasets/{dataset}`", +"location": "path", +"pattern": "^datasets/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+name}", +"response": { +"$ref": "GoogleLongrunningOperation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"get": { +"description": "Gets a Dataset.", +"flatPath": "v1/datasets/{datasetsId}", +"httpMethod": "GET", +"id": "aiplatform.datasets.get", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. The name of the Dataset resource.", +"location": "path", +"pattern": "^datasets/[^/]+$", +"required": true, +"type": "string" +}, +"readMask": { +"description": "Mask specifying which fields to read.", +"format": "google-fieldmask", +"location": "query", +"type": "string" +} +}, +"path": "v1/{+name}", +"response": { +"$ref": "GoogleCloudAiplatformV1Dataset" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"list": { +"description": "Lists Datasets in a Location.", +"flatPath": "v1/datasets", +"httpMethod": "GET", +"id": "aiplatform.datasets.list", +"parameterOrder": [], +"parameters": { +"filter": { +"description": "An expression for filtering the results of the request. For field names both snake_case and camelCase are supported. * `display_name`: supports = and != * `metadata_schema_uri`: supports = and != * `labels` supports general map functions that is: * `labels.key=value` - key:value equality * `labels.key:* or labels:key - key existence * A key including a space must be quoted. `labels.\"a key\"`. Some examples: * `displayName=\"myDisplayName\"` * `labels.myKey=\"myValue\"`", +"location": "query", +"type": "string" +}, +"orderBy": { +"description": "A comma-separated list of fields to order by, sorted in ascending order. Use \"desc\" after a field name for descending. Supported fields: * `display_name` * `create_time` * `update_time`", +"location": "query", +"type": "string" +}, +"pageSize": { +"description": "The standard list page size.", +"format": "int32", +"location": "query", +"type": "integer" +}, +"pageToken": { +"description": "The standard list page token.", +"location": "query", +"type": "string" +}, +"parent": { +"description": "Required. The name of the Dataset's parent resource. Format: `projects/{project}/locations/{location}`", +"location": "query", +"type": "string" +}, +"readMask": { +"description": "Mask specifying which fields to read.", +"format": "google-fieldmask", +"location": "query", +"type": "string" +} +}, +"path": "v1/datasets", +"response": { +"$ref": "GoogleCloudAiplatformV1ListDatasetsResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"patch": { +"description": "Updates a Dataset.", +"flatPath": "v1/datasets/{datasetsId}", +"httpMethod": "PATCH", +"id": "aiplatform.datasets.patch", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Output only. Identifier. The resource name of the Dataset. Format: `projects/{project}/locations/{location}/datasets/{dataset}`", +"location": "path", +"pattern": "^datasets/[^/]+$", +"required": true, +"type": "string" +}, +"updateMask": { +"description": "Required. The update mask applies to the resource. For the `FieldMask` definition, see google.protobuf.FieldMask. Updatable fields: * `display_name` * `description` * `labels`", +"format": "google-fieldmask", +"location": "query", +"type": "string" +} +}, +"path": "v1/{+name}", +"request": { +"$ref": "GoogleCloudAiplatformV1Dataset" +}, +"response": { +"$ref": "GoogleCloudAiplatformV1Dataset" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +} +}, +"resources": { +"datasetVersions": { +"methods": { +"create": { +"description": "Create a version from a Dataset.", +"flatPath": "v1/datasets/{datasetsId}/datasetVersions", +"httpMethod": "POST", +"id": "aiplatform.datasets.datasetVersions.create", +"parameterOrder": [ +"parent" +], +"parameters": { +"parent": { +"description": "Required. The name of the Dataset resource. Format: `projects/{project}/locations/{location}/datasets/{dataset}`", +"location": "path", +"pattern": "^datasets/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+parent}/datasetVersions", +"request": { +"$ref": "GoogleCloudAiplatformV1DatasetVersion" +}, +"response": { +"$ref": "GoogleLongrunningOperation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"delete": { +"description": "Deletes a Dataset version.", +"flatPath": "v1/datasets/{datasetsId}/datasetVersions/{datasetVersionsId}", +"httpMethod": "DELETE", +"id": "aiplatform.datasets.datasetVersions.delete", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. The resource name of the Dataset version to delete. Format: `projects/{project}/locations/{location}/datasets/{dataset}/datasetVersions/{dataset_version}`", +"location": "path", +"pattern": "^datasets/[^/]+/datasetVersions/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+name}", +"response": { +"$ref": "GoogleLongrunningOperation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"get": { +"description": "Gets a Dataset version.", +"flatPath": "v1/datasets/{datasetsId}/datasetVersions/{datasetVersionsId}", +"httpMethod": "GET", +"id": "aiplatform.datasets.datasetVersions.get", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. The resource name of the Dataset version to delete. Format: `projects/{project}/locations/{location}/datasets/{dataset}/datasetVersions/{dataset_version}`", +"location": "path", +"pattern": "^datasets/[^/]+/datasetVersions/[^/]+$", +"required": true, +"type": "string" +}, +"readMask": { +"description": "Mask specifying which fields to read.", +"format": "google-fieldmask", +"location": "query", +"type": "string" +} +}, +"path": "v1/{+name}", +"response": { +"$ref": "GoogleCloudAiplatformV1DatasetVersion" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"list": { +"description": "Lists DatasetVersions in a Dataset.", +"flatPath": "v1/datasets/{datasetsId}/datasetVersions", +"httpMethod": "GET", +"id": "aiplatform.datasets.datasetVersions.list", +"parameterOrder": [ +"parent" +], +"parameters": { +"filter": { +"description": "Optional. The standard list filter.", +"location": "query", +"type": "string" +}, +"orderBy": { +"description": "Optional. A comma-separated list of fields to order by, sorted in ascending order. Use \"desc\" after a field name for descending.", +"location": "query", +"type": "string" +}, +"pageSize": { +"description": "Optional. The standard list page size.", +"format": "int32", +"location": "query", +"type": "integer" +}, +"pageToken": { +"description": "Optional. The standard list page token.", +"location": "query", +"type": "string" +}, +"parent": { +"description": "Required. The resource name of the Dataset to list DatasetVersions from. Format: `projects/{project}/locations/{location}/datasets/{dataset}`", +"location": "path", +"pattern": "^datasets/[^/]+$", +"required": true, +"type": "string" +}, +"readMask": { +"description": "Optional. Mask specifying which fields to read.", +"format": "google-fieldmask", +"location": "query", +"type": "string" +} +}, +"path": "v1/{+parent}/datasetVersions", +"response": { +"$ref": "GoogleCloudAiplatformV1ListDatasetVersionsResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"patch": { +"description": "Updates a DatasetVersion.", +"flatPath": "v1/datasets/{datasetsId}/datasetVersions/{datasetVersionsId}", +"httpMethod": "PATCH", +"id": "aiplatform.datasets.datasetVersions.patch", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Output only. Identifier. The resource name of the DatasetVersion.", +"location": "path", +"pattern": "^datasets/[^/]+/datasetVersions/[^/]+$", +"required": true, +"type": "string" +}, +"updateMask": { +"description": "Required. The update mask applies to the resource. For the `FieldMask` definition, see google.protobuf.FieldMask. Updatable fields: * `display_name`", +"format": "google-fieldmask", +"location": "query", +"type": "string" +} +}, +"path": "v1/{+name}", +"request": { +"$ref": "GoogleCloudAiplatformV1DatasetVersion" +}, +"response": { +"$ref": "GoogleCloudAiplatformV1DatasetVersion" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"restore": { +"description": "Restores a dataset version.", +"flatPath": "v1/datasets/{datasetsId}/datasetVersions/{datasetVersionsId}:restore", +"httpMethod": "GET", +"id": "aiplatform.datasets.datasetVersions.restore", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. The name of the DatasetVersion resource. Format: `projects/{project}/locations/{location}/datasets/{dataset}/datasetVersions/{dataset_version}`", +"location": "path", +"pattern": "^datasets/[^/]+/datasetVersions/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+name}:restore", +"response": { +"$ref": "GoogleLongrunningOperation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +} +} +} +} +}, +"endpoints": { +"methods": { +"computeTokens": { +"description": "Return a list of tokens based on the input text.", +"flatPath": "v1/endpoints/{endpointsId}:computeTokens", +"httpMethod": "POST", +"id": "aiplatform.endpoints.computeTokens", +"parameterOrder": [ +"endpoint" +], +"parameters": { +"endpoint": { +"description": "Required. The name of the Endpoint requested to get lists of tokens and token ids.", +"location": "path", +"pattern": "^endpoints/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+endpoint}:computeTokens", +"request": { +"$ref": "GoogleCloudAiplatformV1ComputeTokensRequest" +}, +"response": { +"$ref": "GoogleCloudAiplatformV1ComputeTokensResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"countTokens": { +"description": "Perform a token counting.", +"flatPath": "v1/endpoints/{endpointsId}:countTokens", +"httpMethod": "POST", +"id": "aiplatform.endpoints.countTokens", +"parameterOrder": [ +"endpoint" +], +"parameters": { +"endpoint": { +"description": "Required. The name of the Endpoint requested to perform token counting. Format: `projects/{project}/locations/{location}/endpoints/{endpoint}`", +"location": "path", +"pattern": "^endpoints/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+endpoint}:countTokens", +"request": { +"$ref": "GoogleCloudAiplatformV1CountTokensRequest" +}, +"response": { +"$ref": "GoogleCloudAiplatformV1CountTokensResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"generateContent": { +"description": "Generate content with multimodal inputs.", +"flatPath": "v1/endpoints/{endpointsId}:generateContent", +"httpMethod": "POST", +"id": "aiplatform.endpoints.generateContent", +"parameterOrder": [ +"model" +], +"parameters": { +"model": { +"description": "Required. The fully qualified name of the publisher model or tuned model endpoint to use. Publisher model format: `projects/{project}/locations/{location}/publishers/*/models/*` Tuned model endpoint format: `projects/{project}/locations/{location}/endpoints/{endpoint}`", +"location": "path", +"pattern": "^endpoints/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+model}:generateContent", +"request": { +"$ref": "GoogleCloudAiplatformV1GenerateContentRequest" +}, +"response": { +"$ref": "GoogleCloudAiplatformV1GenerateContentResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/cloud-platform.read-only" +] +}, +"streamGenerateContent": { +"description": "Generate content with multimodal inputs with streaming support.", +"flatPath": "v1/endpoints/{endpointsId}:streamGenerateContent", +"httpMethod": "POST", +"id": "aiplatform.endpoints.streamGenerateContent", +"parameterOrder": [ +"model" +], +"parameters": { +"model": { +"description": "Required. The fully qualified name of the publisher model or tuned model endpoint to use. Publisher model format: `projects/{project}/locations/{location}/publishers/*/models/*` Tuned model endpoint format: `projects/{project}/locations/{location}/endpoints/{endpoint}`", +"location": "path", +"pattern": "^endpoints/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+model}:streamGenerateContent", +"request": { +"$ref": "GoogleCloudAiplatformV1GenerateContentRequest" +}, +"response": { +"$ref": "GoogleCloudAiplatformV1GenerateContentResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/cloud-platform.read-only" +] +} +} +}, +"media": { +"methods": { +"upload": { +"description": "Upload a file into a RagCorpus.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/ragCorpora/{ragCorporaId}/ragFiles:upload", +"httpMethod": "POST", +"id": "aiplatform.media.upload", +"mediaUpload": { +"accept": [ +"*/*" +], +"protocols": { +"simple": { +"multipart": true, +"path": "/upload/v1/{+parent}/ragFiles:upload" +} +} +}, +"parameterOrder": [ +"parent" +], +"parameters": { +"parent": { +"description": "Required. The name of the RagCorpus resource into which to upload the file. Format: `projects/{project}/locations/{location}/ragCorpora/{rag_corpus}`", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/ragCorpora/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+parent}/ragFiles:upload", +"request": { +"$ref": "GoogleCloudAiplatformV1UploadRagFileRequest" +}, +"response": { +"$ref": "GoogleCloudAiplatformV1UploadRagFileResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +], +"supportsMediaUpload": true +} +} +}, +"projects": { +"methods": { +"getCacheConfig": { +"description": "Gets a GenAI cache config.", +"flatPath": "v1/projects/{projectsId}/cacheConfig", +"httpMethod": "GET", +"id": "aiplatform.projects.getCacheConfig", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. Name of the cache config. Format: - `projects/{project}/cacheConfig`.", +"location": "path", +"pattern": "^projects/[^/]+/cacheConfig$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+name}", +"response": { +"$ref": "GoogleCloudAiplatformV1CacheConfig" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"updateCacheConfig": { +"description": "Updates a cache config.", +"flatPath": "v1/projects/{projectsId}/cacheConfig", +"httpMethod": "PATCH", +"id": "aiplatform.projects.updateCacheConfig", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Identifier. Name of the cache config. Format: - `projects/{project}/cacheConfig`.", +"location": "path", +"pattern": "^projects/[^/]+/cacheConfig$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+name}", +"request": { +"$ref": "GoogleCloudAiplatformV1CacheConfig" +}, +"response": { +"$ref": "GoogleLongrunningOperation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +} +}, +"resources": { +"locations": { +"methods": { +"augmentPrompt": { +"description": "Given an input prompt, it returns augmented prompt from vertex rag store to guide LLM towards generating grounded responses.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}:augmentPrompt", +"httpMethod": "POST", +"id": "aiplatform.projects.locations.augmentPrompt", +"parameterOrder": [ +"parent" +], +"parameters": { +"parent": { +"description": "Required. The resource name of the Location from which to augment prompt. The users must have permission to make a call in the project. Format: `projects/{project}/locations/{location}`.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+parent}:augmentPrompt", +"request": { +"$ref": "GoogleCloudAiplatformV1AugmentPromptRequest" +}, +"response": { +"$ref": "GoogleCloudAiplatformV1AugmentPromptResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"corroborateContent": { +"description": "Given an input text, it returns a score that evaluates the factuality of the text. It also extracts and returns claims from the text and provides supporting facts.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}:corroborateContent", +"httpMethod": "POST", +"id": "aiplatform.projects.locations.corroborateContent", +"parameterOrder": [ +"parent" +], +"parameters": { +"parent": { +"description": "Required. The resource name of the Location from which to corroborate text. The users must have permission to make a call in the project. Format: `projects/{project}/locations/{location}`.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+parent}:corroborateContent", +"request": { +"$ref": "GoogleCloudAiplatformV1CorroborateContentRequest" +}, +"response": { +"$ref": "GoogleCloudAiplatformV1CorroborateContentResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"evaluateInstances": { +"description": "Evaluates instances based on a given metric.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}:evaluateInstances", +"httpMethod": "POST", +"id": "aiplatform.projects.locations.evaluateInstances", +"parameterOrder": [ +"location" +], +"parameters": { +"location": { +"description": "Required. The resource name of the Location to evaluate the instances. Format: `projects/{project}/locations/{location}`", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+location}:evaluateInstances", +"request": { +"$ref": "GoogleCloudAiplatformV1EvaluateInstancesRequest" +}, +"response": { +"$ref": "GoogleCloudAiplatformV1EvaluateInstancesResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"get": { +"description": "Gets information about a location.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}", +"httpMethod": "GET", +"id": "aiplatform.projects.locations.get", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Resource name for the location.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+name}", +"response": { +"$ref": "GoogleCloudLocationLocation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"list": { +"description": "Lists information about the supported locations for this service.", +"flatPath": "v1/projects/{projectsId}/locations", +"httpMethod": "GET", +"id": "aiplatform.projects.locations.list", +"parameterOrder": [ +"name" +], +"parameters": { +"filter": { +"description": "A filter to narrow down results to a preferred subset. The filtering language accepts strings like `\"displayName=tokyo\"`, and is documented in more detail in [AIP-160](https://google.aip.dev/160).", +"location": "query", +"type": "string" +}, +"name": { +"description": "The resource that owns the locations collection, if applicable.", +"location": "path", +"pattern": "^projects/[^/]+$", +"required": true, +"type": "string" +}, +"pageSize": { +"description": "The maximum number of results to return. If not set, the service selects a default.", +"format": "int32", +"location": "query", +"type": "integer" +}, +"pageToken": { +"description": "A page token received from the `next_page_token` field in the response. Send that page token to receive the subsequent page.", +"location": "query", +"type": "string" +} +}, +"path": "v1/{+name}/locations", +"response": { +"$ref": "GoogleCloudLocationListLocationsResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"retrieveContexts": { +"description": "Retrieves relevant contexts for a query.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}:retrieveContexts", +"httpMethod": "POST", +"id": "aiplatform.projects.locations.retrieveContexts", +"parameterOrder": [ +"parent" +], +"parameters": { +"parent": { +"description": "Required. The resource name of the Location from which to retrieve RagContexts. The users must have permission to make a call in the project. Format: `projects/{project}/locations/{location}`.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+parent}:retrieveContexts", +"request": { +"$ref": "GoogleCloudAiplatformV1RetrieveContextsRequest" +}, +"response": { +"$ref": "GoogleCloudAiplatformV1RetrieveContextsResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +} +}, +"resources": { +"batchPredictionJobs": { +"methods": { +"cancel": { +"description": "Cancels a BatchPredictionJob. Starts asynchronous cancellation on the BatchPredictionJob. The server makes the best effort to cancel the job, but success is not guaranteed. Clients can use JobService.GetBatchPredictionJob or other methods to check whether the cancellation succeeded or whether the job completed despite cancellation. On a successful cancellation, the BatchPredictionJob is not deleted;instead its BatchPredictionJob.state is set to `CANCELLED`. Any files already outputted by the job are not deleted.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/batchPredictionJobs/{batchPredictionJobsId}:cancel", +"httpMethod": "POST", +"id": "aiplatform.projects.locations.batchPredictionJobs.cancel", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. The name of the BatchPredictionJob to cancel. Format: `projects/{project}/locations/{location}/batchPredictionJobs/{batch_prediction_job}`", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/batchPredictionJobs/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+name}:cancel", +"request": { +"$ref": "GoogleCloudAiplatformV1CancelBatchPredictionJobRequest" +}, +"response": { +"$ref": "GoogleProtobufEmpty" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"create": { +"description": "Creates a BatchPredictionJob. A BatchPredictionJob once created will right away be attempted to start.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/batchPredictionJobs", +"httpMethod": "POST", +"id": "aiplatform.projects.locations.batchPredictionJobs.create", +"parameterOrder": [ +"parent" +], +"parameters": { +"parent": { +"description": "Required. The resource name of the Location to create the BatchPredictionJob in. Format: `projects/{project}/locations/{location}`", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+parent}/batchPredictionJobs", +"request": { +"$ref": "GoogleCloudAiplatformV1BatchPredictionJob" +}, +"response": { +"$ref": "GoogleCloudAiplatformV1BatchPredictionJob" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"delete": { +"description": "Deletes a BatchPredictionJob. Can only be called on jobs that already finished.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/batchPredictionJobs/{batchPredictionJobsId}", +"httpMethod": "DELETE", +"id": "aiplatform.projects.locations.batchPredictionJobs.delete", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. The name of the BatchPredictionJob resource to be deleted. Format: `projects/{project}/locations/{location}/batchPredictionJobs/{batch_prediction_job}`", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/batchPredictionJobs/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+name}", +"response": { +"$ref": "GoogleLongrunningOperation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"get": { +"description": "Gets a BatchPredictionJob", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/batchPredictionJobs/{batchPredictionJobsId}", +"httpMethod": "GET", +"id": "aiplatform.projects.locations.batchPredictionJobs.get", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. The name of the BatchPredictionJob resource. Format: `projects/{project}/locations/{location}/batchPredictionJobs/{batch_prediction_job}`", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/batchPredictionJobs/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+name}", +"response": { +"$ref": "GoogleCloudAiplatformV1BatchPredictionJob" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"list": { +"description": "Lists BatchPredictionJobs in a Location.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/batchPredictionJobs", +"httpMethod": "GET", +"id": "aiplatform.projects.locations.batchPredictionJobs.list", +"parameterOrder": [ +"parent" +], +"parameters": { +"filter": { +"description": "The standard list filter. Supported fields: * `display_name` supports `=`, `!=` comparisons, and `:` wildcard. * `model_display_name` supports `=`, `!=` comparisons. * `state` supports `=`, `!=` comparisons. * `create_time` supports `=`, `!=`,`<`, `<=`,`>`, `>=` comparisons. `create_time` must be in RFC 3339 format. * `labels` supports general map functions that is: `labels.key=value` - key:value equality `labels.key:* - key existence Some examples of using the filter are: * `state=\"JOB_STATE_SUCCEEDED\" AND display_name:\"my_job_*\"` * `state!=\"JOB_STATE_FAILED\" OR display_name=\"my_job\"` * `NOT display_name=\"my_job\"` * `create_time>\"2021-05-18T00:00:00Z\"` * `labels.keyA=valueA` * `labels.keyB:*`", +"location": "query", +"type": "string" +}, +"pageSize": { +"description": "The standard list page size.", +"format": "int32", +"location": "query", +"type": "integer" +}, +"pageToken": { +"description": "The standard list page token. Typically obtained via ListBatchPredictionJobsResponse.next_page_token of the previous JobService.ListBatchPredictionJobs call.", +"location": "query", +"type": "string" +}, +"parent": { +"description": "Required. The resource name of the Location to list the BatchPredictionJobs from. Format: `projects/{project}/locations/{location}`", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+$", +"required": true, +"type": "string" +}, +"readMask": { +"description": "Mask specifying which fields to read.", +"format": "google-fieldmask", +"location": "query", +"type": "string" +} +}, +"path": "v1/{+parent}/batchPredictionJobs", +"response": { +"$ref": "GoogleCloudAiplatformV1ListBatchPredictionJobsResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +} +} +}, +"cachedContents": { +"methods": { +"create": { +"description": "Creates cached content, this call will initialize the cached content in the data storage, and users need to pay for the cache data storage.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/cachedContents", +"httpMethod": "POST", +"id": "aiplatform.projects.locations.cachedContents.create", +"parameterOrder": [ +"parent" +], +"parameters": { +"parent": { +"description": "Required. The parent resource where the cached content will be created", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+parent}/cachedContents", +"request": { +"$ref": "GoogleCloudAiplatformV1CachedContent" +}, +"response": { +"$ref": "GoogleCloudAiplatformV1CachedContent" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"delete": { +"description": "Deletes cached content", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/cachedContents/{cachedContentsId}", +"httpMethod": "DELETE", +"id": "aiplatform.projects.locations.cachedContents.delete", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. The resource name referring to the cached content", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/cachedContents/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+name}", +"response": { +"$ref": "GoogleProtobufEmpty" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"get": { +"description": "Gets cached content configurations", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/cachedContents/{cachedContentsId}", +"httpMethod": "GET", +"id": "aiplatform.projects.locations.cachedContents.get", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. The resource name referring to the cached content", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/cachedContents/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+name}", +"response": { +"$ref": "GoogleCloudAiplatformV1CachedContent" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"list": { +"description": "Lists cached contents in a project", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/cachedContents", +"httpMethod": "GET", +"id": "aiplatform.projects.locations.cachedContents.list", +"parameterOrder": [ +"parent" +], +"parameters": { +"pageSize": { +"description": "Optional. The maximum number of cached contents to return. The service may return fewer than this value. If unspecified, some default (under maximum) number of items will be returned. The maximum value is 1000; values above 1000 will be coerced to 1000.", +"format": "int32", +"location": "query", +"type": "integer" +}, +"pageToken": { +"description": "Optional. A page token, received from a previous `ListCachedContents` call. Provide this to retrieve the subsequent page. When paginating, all other parameters provided to `ListCachedContents` must match the call that provided the page token.", +"location": "query", +"type": "string" +}, +"parent": { +"description": "Required. The parent, which owns this collection of cached contents.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+parent}/cachedContents", +"response": { +"$ref": "GoogleCloudAiplatformV1ListCachedContentsResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"patch": { +"description": "Updates cached content configurations", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/cachedContents/{cachedContentsId}", +"httpMethod": "PATCH", +"id": "aiplatform.projects.locations.cachedContents.patch", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Immutable. Identifier. The server-generated resource name of the cached content Format: projects/{project}/locations/{location}/cachedContents/{cached_content}", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/cachedContents/[^/]+$", +"required": true, +"type": "string" +}, +"updateMask": { +"description": "Required. The list of fields to update.", +"format": "google-fieldmask", +"location": "query", +"type": "string" +} +}, +"path": "v1/{+name}", +"request": { +"$ref": "GoogleCloudAiplatformV1CachedContent" +}, +"response": { +"$ref": "GoogleCloudAiplatformV1CachedContent" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +} +} +}, +"customJobs": { +"methods": { +"cancel": { +"description": "Cancels a CustomJob. Starts asynchronous cancellation on the CustomJob. The server makes a best effort to cancel the job, but success is not guaranteed. Clients can use JobService.GetCustomJob or other methods to check whether the cancellation succeeded or whether the job completed despite cancellation. On successful cancellation, the CustomJob is not deleted; instead it becomes a job with a CustomJob.error value with a google.rpc.Status.code of 1, corresponding to `Code.CANCELLED`, and CustomJob.state is set to `CANCELLED`.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/customJobs/{customJobsId}:cancel", +"httpMethod": "POST", +"id": "aiplatform.projects.locations.customJobs.cancel", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. The name of the CustomJob to cancel. Format: `projects/{project}/locations/{location}/customJobs/{custom_job}`", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/customJobs/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+name}:cancel", +"request": { +"$ref": "GoogleCloudAiplatformV1CancelCustomJobRequest" +}, +"response": { +"$ref": "GoogleProtobufEmpty" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"create": { +"description": "Creates a CustomJob. A created CustomJob right away will be attempted to be run.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/customJobs", +"httpMethod": "POST", +"id": "aiplatform.projects.locations.customJobs.create", +"parameterOrder": [ +"parent" +], +"parameters": { +"parent": { +"description": "Required. The resource name of the Location to create the CustomJob in. Format: `projects/{project}/locations/{location}`", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+parent}/customJobs", +"request": { +"$ref": "GoogleCloudAiplatformV1CustomJob" +}, +"response": { +"$ref": "GoogleCloudAiplatformV1CustomJob" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"delete": { +"description": "Deletes a CustomJob.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/customJobs/{customJobsId}", +"httpMethod": "DELETE", +"id": "aiplatform.projects.locations.customJobs.delete", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. The name of the CustomJob resource to be deleted. Format: `projects/{project}/locations/{location}/customJobs/{custom_job}`", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/customJobs/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+name}", +"response": { +"$ref": "GoogleLongrunningOperation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"get": { +"description": "Gets a CustomJob.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/customJobs/{customJobsId}", +"httpMethod": "GET", +"id": "aiplatform.projects.locations.customJobs.get", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. The name of the CustomJob resource. Format: `projects/{project}/locations/{location}/customJobs/{custom_job}`", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/customJobs/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+name}", +"response": { +"$ref": "GoogleCloudAiplatformV1CustomJob" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"list": { +"description": "Lists CustomJobs in a Location.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/customJobs", +"httpMethod": "GET", +"id": "aiplatform.projects.locations.customJobs.list", +"parameterOrder": [ +"parent" +], +"parameters": { +"filter": { +"description": "The standard list filter. Supported fields: * `display_name` supports `=`, `!=` comparisons, and `:` wildcard. * `state` supports `=`, `!=` comparisons. * `create_time` supports `=`, `!=`,`<`, `<=`,`>`, `>=` comparisons. `create_time` must be in RFC 3339 format. * `labels` supports general map functions that is: `labels.key=value` - key:value equality `labels.key:* - key existence Some examples of using the filter are: * `state=\"JOB_STATE_SUCCEEDED\" AND display_name:\"my_job_*\"` * `state!=\"JOB_STATE_FAILED\" OR display_name=\"my_job\"` * `NOT display_name=\"my_job\"` * `create_time>\"2021-05-18T00:00:00Z\"` * `labels.keyA=valueA` * `labels.keyB:*`", +"location": "query", +"type": "string" +}, +"pageSize": { +"description": "The standard list page size.", +"format": "int32", +"location": "query", +"type": "integer" +}, +"pageToken": { +"description": "The standard list page token. Typically obtained via ListCustomJobsResponse.next_page_token of the previous JobService.ListCustomJobs call.", +"location": "query", +"type": "string" +}, +"parent": { +"description": "Required. The resource name of the Location to list the CustomJobs from. Format: `projects/{project}/locations/{location}`", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+$", +"required": true, +"type": "string" +}, +"readMask": { +"description": "Mask specifying which fields to read.", +"format": "google-fieldmask", +"location": "query", +"type": "string" +} +}, +"path": "v1/{+parent}/customJobs", +"response": { +"$ref": "GoogleCloudAiplatformV1ListCustomJobsResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +} +}, +"resources": { +"operations": { +"methods": { +"cancel": { +"description": "Starts asynchronous cancellation on a long-running operation. The server makes a best effort to cancel the operation, but success is not guaranteed. If the server doesn't support this method, it returns `google.rpc.Code.UNIMPLEMENTED`. Clients can use Operations.GetOperation or other methods to check whether the cancellation succeeded or whether the operation completed despite cancellation. On successful cancellation, the operation is not deleted; instead, it becomes an operation with an Operation.error value with a google.rpc.Status.code of `1`, corresponding to `Code.CANCELLED`.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/customJobs/{customJobsId}/operations/{operationsId}:cancel", +"httpMethod": "POST", +"id": "aiplatform.projects.locations.customJobs.operations.cancel", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "The name of the operation resource to be cancelled.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/customJobs/[^/]+/operations/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+name}:cancel", +"response": { +"$ref": "GoogleProtobufEmpty" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"delete": { +"description": "Deletes a long-running operation. This method indicates that the client is no longer interested in the operation result. It does not cancel the operation. If the server doesn't support this method, it returns `google.rpc.Code.UNIMPLEMENTED`.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/customJobs/{customJobsId}/operations/{operationsId}", +"httpMethod": "DELETE", +"id": "aiplatform.projects.locations.customJobs.operations.delete", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "The name of the operation resource to be deleted.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/customJobs/[^/]+/operations/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+name}", +"response": { +"$ref": "GoogleProtobufEmpty" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"get": { +"description": "Gets the latest state of a long-running operation. Clients can use this method to poll the operation result at intervals as recommended by the API service.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/customJobs/{customJobsId}/operations/{operationsId}", +"httpMethod": "GET", +"id": "aiplatform.projects.locations.customJobs.operations.get", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "The name of the operation resource.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/customJobs/[^/]+/operations/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+name}", +"response": { +"$ref": "GoogleLongrunningOperation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"list": { +"description": "Lists operations that match the specified filter in the request. If the server doesn't support this method, it returns `UNIMPLEMENTED`.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/customJobs/{customJobsId}/operations", +"httpMethod": "GET", +"id": "aiplatform.projects.locations.customJobs.operations.list", +"parameterOrder": [ +"name" +], +"parameters": { +"filter": { +"description": "The standard list filter.", +"location": "query", +"type": "string" +}, +"name": { +"description": "The name of the operation's parent resource.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/customJobs/[^/]+$", +"required": true, +"type": "string" +}, +"pageSize": { +"description": "The standard list page size.", +"format": "int32", +"location": "query", +"type": "integer" +}, +"pageToken": { +"description": "The standard list page token.", +"location": "query", +"type": "string" +} +}, +"path": "v1/{+name}/operations", +"response": { +"$ref": "GoogleLongrunningListOperationsResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"wait": { +"description": "Waits until the specified long-running operation is done or reaches at most a specified timeout, returning the latest state. If the operation is already done, the latest state is immediately returned. If the timeout specified is greater than the default HTTP/RPC timeout, the HTTP/RPC timeout is used. If the server does not support this method, it returns `google.rpc.Code.UNIMPLEMENTED`. Note that this method is on a best-effort basis. It may return the latest state before the specified timeout (including immediately), meaning even an immediate response is no guarantee that the operation is done.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/customJobs/{customJobsId}/operations/{operationsId}:wait", +"httpMethod": "POST", +"id": "aiplatform.projects.locations.customJobs.operations.wait", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "The name of the operation resource to wait on.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/customJobs/[^/]+/operations/[^/]+$", +"required": true, +"type": "string" +}, +"timeout": { +"description": "The maximum duration to wait before timing out. If left blank, the wait will be at most the time permitted by the underlying HTTP/RPC protocol. If RPC context deadline is also specified, the shorter one will be used.", +"format": "google-duration", +"location": "query", +"type": "string" +} +}, +"path": "v1/{+name}:wait", +"response": { +"$ref": "GoogleLongrunningOperation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +} +} +} +} +}, +"dataLabelingJobs": { +"methods": { +"cancel": { +"description": "Cancels a DataLabelingJob. Success of cancellation is not guaranteed.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/dataLabelingJobs/{dataLabelingJobsId}:cancel", +"httpMethod": "POST", +"id": "aiplatform.projects.locations.dataLabelingJobs.cancel", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. The name of the DataLabelingJob. Format: `projects/{project}/locations/{location}/dataLabelingJobs/{data_labeling_job}`", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/dataLabelingJobs/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+name}:cancel", +"request": { +"$ref": "GoogleCloudAiplatformV1CancelDataLabelingJobRequest" +}, +"response": { +"$ref": "GoogleProtobufEmpty" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"create": { +"description": "Creates a DataLabelingJob.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/dataLabelingJobs", +"httpMethod": "POST", +"id": "aiplatform.projects.locations.dataLabelingJobs.create", +"parameterOrder": [ +"parent" +], +"parameters": { +"parent": { +"description": "Required. The parent of the DataLabelingJob. Format: `projects/{project}/locations/{location}`", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+parent}/dataLabelingJobs", +"request": { +"$ref": "GoogleCloudAiplatformV1DataLabelingJob" +}, +"response": { +"$ref": "GoogleCloudAiplatformV1DataLabelingJob" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"delete": { +"description": "Deletes a DataLabelingJob.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/dataLabelingJobs/{dataLabelingJobsId}", +"httpMethod": "DELETE", +"id": "aiplatform.projects.locations.dataLabelingJobs.delete", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. The name of the DataLabelingJob to be deleted. Format: `projects/{project}/locations/{location}/dataLabelingJobs/{data_labeling_job}`", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/dataLabelingJobs/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+name}", +"response": { +"$ref": "GoogleLongrunningOperation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"get": { +"description": "Gets a DataLabelingJob.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/dataLabelingJobs/{dataLabelingJobsId}", +"httpMethod": "GET", +"id": "aiplatform.projects.locations.dataLabelingJobs.get", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. The name of the DataLabelingJob. Format: `projects/{project}/locations/{location}/dataLabelingJobs/{data_labeling_job}`", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/dataLabelingJobs/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+name}", +"response": { +"$ref": "GoogleCloudAiplatformV1DataLabelingJob" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"list": { +"description": "Lists DataLabelingJobs in a Location.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/dataLabelingJobs", +"httpMethod": "GET", +"id": "aiplatform.projects.locations.dataLabelingJobs.list", +"parameterOrder": [ +"parent" +], +"parameters": { +"filter": { +"description": "The standard list filter. Supported fields: * `display_name` supports `=`, `!=` comparisons, and `:` wildcard. * `state` supports `=`, `!=` comparisons. * `create_time` supports `=`, `!=`,`<`, `<=`,`>`, `>=` comparisons. `create_time` must be in RFC 3339 format. * `labels` supports general map functions that is: `labels.key=value` - key:value equality `labels.key:* - key existence Some examples of using the filter are: * `state=\"JOB_STATE_SUCCEEDED\" AND display_name:\"my_job_*\"` * `state!=\"JOB_STATE_FAILED\" OR display_name=\"my_job\"` * `NOT display_name=\"my_job\"` * `create_time>\"2021-05-18T00:00:00Z\"` * `labels.keyA=valueA` * `labels.keyB:*`", +"location": "query", +"type": "string" +}, +"orderBy": { +"description": "A comma-separated list of fields to order by, sorted in ascending order by default. Use `desc` after a field name for descending.", +"location": "query", +"type": "string" +}, +"pageSize": { +"description": "The standard list page size.", +"format": "int32", +"location": "query", +"type": "integer" +}, +"pageToken": { +"description": "The standard list page token.", +"location": "query", +"type": "string" +}, +"parent": { +"description": "Required. The parent of the DataLabelingJob. Format: `projects/{project}/locations/{location}`", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+$", +"required": true, +"type": "string" +}, +"readMask": { +"description": "Mask specifying which fields to read. FieldMask represents a set of symbolic field paths. For example, the mask can be `paths: \"name\"`. The \"name\" here is a field in DataLabelingJob. If this field is not set, all fields of the DataLabelingJob are returned.", +"format": "google-fieldmask", +"location": "query", +"type": "string" +} +}, +"path": "v1/{+parent}/dataLabelingJobs", +"response": { +"$ref": "GoogleCloudAiplatformV1ListDataLabelingJobsResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +} +}, +"resources": { +"operations": { +"methods": { +"cancel": { +"description": "Starts asynchronous cancellation on a long-running operation. The server makes a best effort to cancel the operation, but success is not guaranteed. If the server doesn't support this method, it returns `google.rpc.Code.UNIMPLEMENTED`. Clients can use Operations.GetOperation or other methods to check whether the cancellation succeeded or whether the operation completed despite cancellation. On successful cancellation, the operation is not deleted; instead, it becomes an operation with an Operation.error value with a google.rpc.Status.code of `1`, corresponding to `Code.CANCELLED`.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/dataLabelingJobs/{dataLabelingJobsId}/operations/{operationsId}:cancel", +"httpMethod": "POST", +"id": "aiplatform.projects.locations.dataLabelingJobs.operations.cancel", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "The name of the operation resource to be cancelled.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/dataLabelingJobs/[^/]+/operations/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+name}:cancel", +"response": { +"$ref": "GoogleProtobufEmpty" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"delete": { +"description": "Deletes a long-running operation. This method indicates that the client is no longer interested in the operation result. It does not cancel the operation. If the server doesn't support this method, it returns `google.rpc.Code.UNIMPLEMENTED`.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/dataLabelingJobs/{dataLabelingJobsId}/operations/{operationsId}", +"httpMethod": "DELETE", +"id": "aiplatform.projects.locations.dataLabelingJobs.operations.delete", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "The name of the operation resource to be deleted.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/dataLabelingJobs/[^/]+/operations/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+name}", +"response": { +"$ref": "GoogleProtobufEmpty" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"get": { +"description": "Gets the latest state of a long-running operation. Clients can use this method to poll the operation result at intervals as recommended by the API service.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/dataLabelingJobs/{dataLabelingJobsId}/operations/{operationsId}", +"httpMethod": "GET", +"id": "aiplatform.projects.locations.dataLabelingJobs.operations.get", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "The name of the operation resource.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/dataLabelingJobs/[^/]+/operations/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+name}", +"response": { +"$ref": "GoogleLongrunningOperation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"list": { +"description": "Lists operations that match the specified filter in the request. If the server doesn't support this method, it returns `UNIMPLEMENTED`.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/dataLabelingJobs/{dataLabelingJobsId}/operations", +"httpMethod": "GET", +"id": "aiplatform.projects.locations.dataLabelingJobs.operations.list", +"parameterOrder": [ +"name" +], +"parameters": { +"filter": { +"description": "The standard list filter.", +"location": "query", +"type": "string" +}, +"name": { +"description": "The name of the operation's parent resource.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/dataLabelingJobs/[^/]+$", +"required": true, +"type": "string" +}, +"pageSize": { +"description": "The standard list page size.", +"format": "int32", +"location": "query", +"type": "integer" +}, +"pageToken": { +"description": "The standard list page token.", +"location": "query", +"type": "string" +} +}, +"path": "v1/{+name}/operations", +"response": { +"$ref": "GoogleLongrunningListOperationsResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"wait": { +"description": "Waits until the specified long-running operation is done or reaches at most a specified timeout, returning the latest state. If the operation is already done, the latest state is immediately returned. If the timeout specified is greater than the default HTTP/RPC timeout, the HTTP/RPC timeout is used. If the server does not support this method, it returns `google.rpc.Code.UNIMPLEMENTED`. Note that this method is on a best-effort basis. It may return the latest state before the specified timeout (including immediately), meaning even an immediate response is no guarantee that the operation is done.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/dataLabelingJobs/{dataLabelingJobsId}/operations/{operationsId}:wait", +"httpMethod": "POST", +"id": "aiplatform.projects.locations.dataLabelingJobs.operations.wait", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "The name of the operation resource to wait on.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/dataLabelingJobs/[^/]+/operations/[^/]+$", +"required": true, +"type": "string" +}, +"timeout": { +"description": "The maximum duration to wait before timing out. If left blank, the wait will be at most the time permitted by the underlying HTTP/RPC protocol. If RPC context deadline is also specified, the shorter one will be used.", +"format": "google-duration", +"location": "query", +"type": "string" +} +}, +"path": "v1/{+name}:wait", +"response": { +"$ref": "GoogleLongrunningOperation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +} +} +} +} +}, +"datasets": { +"methods": { +"create": { +"description": "Creates a Dataset.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/datasets", +"httpMethod": "POST", +"id": "aiplatform.projects.locations.datasets.create", +"parameterOrder": [ +"parent" +], +"parameters": { +"parent": { +"description": "Required. The resource name of the Location to create the Dataset in. Format: `projects/{project}/locations/{location}`", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+parent}/datasets", +"request": { +"$ref": "GoogleCloudAiplatformV1Dataset" +}, +"response": { +"$ref": "GoogleLongrunningOperation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"delete": { +"description": "Deletes a Dataset.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}", +"httpMethod": "DELETE", +"id": "aiplatform.projects.locations.datasets.delete", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. The resource name of the Dataset to delete. Format: `projects/{project}/locations/{location}/datasets/{dataset}`", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/datasets/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+name}", +"response": { +"$ref": "GoogleLongrunningOperation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"export": { +"description": "Exports data from a Dataset.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}:export", +"httpMethod": "POST", +"id": "aiplatform.projects.locations.datasets.export", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. The name of the Dataset resource. Format: `projects/{project}/locations/{location}/datasets/{dataset}`", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/datasets/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+name}:export", +"request": { +"$ref": "GoogleCloudAiplatformV1ExportDataRequest" +}, +"response": { +"$ref": "GoogleLongrunningOperation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"get": { +"description": "Gets a Dataset.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}", +"httpMethod": "GET", +"id": "aiplatform.projects.locations.datasets.get", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. The name of the Dataset resource.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/datasets/[^/]+$", +"required": true, +"type": "string" +}, +"readMask": { +"description": "Mask specifying which fields to read.", +"format": "google-fieldmask", +"location": "query", +"type": "string" +} +}, +"path": "v1/{+name}", +"response": { +"$ref": "GoogleCloudAiplatformV1Dataset" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"import": { +"description": "Imports data into a Dataset.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}:import", +"httpMethod": "POST", +"id": "aiplatform.projects.locations.datasets.import", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. The name of the Dataset resource. Format: `projects/{project}/locations/{location}/datasets/{dataset}`", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/datasets/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+name}:import", +"request": { +"$ref": "GoogleCloudAiplatformV1ImportDataRequest" +}, +"response": { +"$ref": "GoogleLongrunningOperation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"list": { +"description": "Lists Datasets in a Location.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/datasets", +"httpMethod": "GET", +"id": "aiplatform.projects.locations.datasets.list", +"parameterOrder": [ +"parent" +], +"parameters": { +"filter": { +"description": "An expression for filtering the results of the request. For field names both snake_case and camelCase are supported. * `display_name`: supports = and != * `metadata_schema_uri`: supports = and != * `labels` supports general map functions that is: * `labels.key=value` - key:value equality * `labels.key:* or labels:key - key existence * A key including a space must be quoted. `labels.\"a key\"`. Some examples: * `displayName=\"myDisplayName\"` * `labels.myKey=\"myValue\"`", +"location": "query", +"type": "string" +}, +"orderBy": { +"description": "A comma-separated list of fields to order by, sorted in ascending order. Use \"desc\" after a field name for descending. Supported fields: * `display_name` * `create_time` * `update_time`", +"location": "query", +"type": "string" +}, +"pageSize": { +"description": "The standard list page size.", +"format": "int32", +"location": "query", +"type": "integer" +}, +"pageToken": { +"description": "The standard list page token.", +"location": "query", +"type": "string" +}, +"parent": { +"description": "Required. The name of the Dataset's parent resource. Format: `projects/{project}/locations/{location}`", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+$", +"required": true, +"type": "string" +}, +"readMask": { +"description": "Mask specifying which fields to read.", +"format": "google-fieldmask", +"location": "query", +"type": "string" +} +}, +"path": "v1/{+parent}/datasets", +"response": { +"$ref": "GoogleCloudAiplatformV1ListDatasetsResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"patch": { +"description": "Updates a Dataset.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}", +"httpMethod": "PATCH", +"id": "aiplatform.projects.locations.datasets.patch", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Output only. Identifier. The resource name of the Dataset. Format: `projects/{project}/locations/{location}/datasets/{dataset}`", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/datasets/[^/]+$", +"required": true, +"type": "string" +}, +"updateMask": { +"description": "Required. The update mask applies to the resource. For the `FieldMask` definition, see google.protobuf.FieldMask. Updatable fields: * `display_name` * `description` * `labels`", +"format": "google-fieldmask", +"location": "query", +"type": "string" +} +}, +"path": "v1/{+name}", +"request": { +"$ref": "GoogleCloudAiplatformV1Dataset" +}, +"response": { +"$ref": "GoogleCloudAiplatformV1Dataset" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"searchDataItems": { +"description": "Searches DataItems in a Dataset.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}:searchDataItems", +"httpMethod": "GET", +"id": "aiplatform.projects.locations.datasets.searchDataItems", +"parameterOrder": [ +"dataset" +], +"parameters": { +"annotationFilters": { +"description": "An expression that specifies what Annotations will be returned per DataItem. Annotations satisfied either of the conditions will be returned. * `annotation_spec_id` - for = or !=. Must specify `saved_query_id=` - saved query id that annotations should belong to.", +"location": "query", +"repeated": true, +"type": "string" +}, +"annotationsFilter": { +"deprecated": true, +"description": "An expression for filtering the Annotations that will be returned per DataItem. * `annotation_spec_id` - for = or !=.", +"location": "query", +"type": "string" +}, +"annotationsLimit": { +"description": "If set, only up to this many of Annotations will be returned per DataItemView. The maximum value is 1000. If not set, the maximum value will be used.", +"format": "int32", +"location": "query", +"type": "integer" +}, +"dataItemFilter": { +"description": "An expression for filtering the DataItem that will be returned. * `data_item_id` - for = or !=. * `labeled` - for = or !=. * `has_annotation(ANNOTATION_SPEC_ID)` - true only for DataItem that have at least one annotation with annotation_spec_id = `ANNOTATION_SPEC_ID` in the context of SavedQuery or DataLabelingJob. For example: * `data_item=1` * `has_annotation(5)`", +"location": "query", +"type": "string" +}, +"dataLabelingJob": { +"description": "The resource name of a DataLabelingJob. Format: `projects/{project}/locations/{location}/dataLabelingJobs/{data_labeling_job}` If this field is set, all of the search will be done in the context of this DataLabelingJob.", +"location": "query", +"type": "string" +}, +"dataset": { +"description": "Required. The resource name of the Dataset from which to search DataItems. Format: `projects/{project}/locations/{location}/datasets/{dataset}`", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/datasets/[^/]+$", +"required": true, +"type": "string" +}, +"fieldMask": { +"description": "Mask specifying which fields of DataItemView to read.", +"format": "google-fieldmask", +"location": "query", +"type": "string" +}, +"orderBy": { +"deprecated": true, +"description": "A comma-separated list of fields to order by, sorted in ascending order. Use \"desc\" after a field name for descending.", +"location": "query", +"type": "string" +}, +"orderByAnnotation.orderBy": { +"description": "A comma-separated list of annotation fields to order by, sorted in ascending order. Use \"desc\" after a field name for descending. Must also specify saved_query.", +"location": "query", +"type": "string" +}, +"orderByAnnotation.savedQuery": { +"description": "Required. Saved query of the Annotation. Only Annotations belong to this saved query will be considered for ordering.", +"location": "query", +"type": "string" +}, +"orderByDataItem": { +"description": "A comma-separated list of data item fields to order by, sorted in ascending order. Use \"desc\" after a field name for descending.", +"location": "query", +"type": "string" +}, +"pageSize": { +"description": "Requested page size. Server may return fewer results than requested. Default and maximum page size is 100.", +"format": "int32", +"location": "query", +"type": "integer" +}, +"pageToken": { +"description": "A token identifying a page of results for the server to return Typically obtained via SearchDataItemsResponse.next_page_token of the previous DatasetService.SearchDataItems call.", +"location": "query", +"type": "string" +}, +"savedQuery": { +"deprecated": true, +"description": "The resource name of a SavedQuery(annotation set in UI). Format: `projects/{project}/locations/{location}/datasets/{dataset}/savedQueries/{saved_query}` All of the search will be done in the context of this SavedQuery.", +"location": "query", +"type": "string" +} +}, +"path": "v1/{+dataset}:searchDataItems", +"response": { +"$ref": "GoogleCloudAiplatformV1SearchDataItemsResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +} +}, +"resources": { +"annotationSpecs": { +"methods": { +"get": { +"description": "Gets an AnnotationSpec.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}/annotationSpecs/{annotationSpecsId}", +"httpMethod": "GET", +"id": "aiplatform.projects.locations.datasets.annotationSpecs.get", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. The name of the AnnotationSpec resource. Format: `projects/{project}/locations/{location}/datasets/{dataset}/annotationSpecs/{annotation_spec}`", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/datasets/[^/]+/annotationSpecs/[^/]+$", +"required": true, +"type": "string" +}, +"readMask": { +"description": "Mask specifying which fields to read.", +"format": "google-fieldmask", +"location": "query", +"type": "string" +} +}, +"path": "v1/{+name}", +"response": { +"$ref": "GoogleCloudAiplatformV1AnnotationSpec" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +} +}, +"resources": { +"operations": { +"methods": { +"cancel": { +"description": "Starts asynchronous cancellation on a long-running operation. The server makes a best effort to cancel the operation, but success is not guaranteed. If the server doesn't support this method, it returns `google.rpc.Code.UNIMPLEMENTED`. Clients can use Operations.GetOperation or other methods to check whether the cancellation succeeded or whether the operation completed despite cancellation. On successful cancellation, the operation is not deleted; instead, it becomes an operation with an Operation.error value with a google.rpc.Status.code of `1`, corresponding to `Code.CANCELLED`.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}/annotationSpecs/{annotationSpecsId}/operations/{operationsId}:cancel", +"httpMethod": "POST", +"id": "aiplatform.projects.locations.datasets.annotationSpecs.operations.cancel", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "The name of the operation resource to be cancelled.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/datasets/[^/]+/annotationSpecs/[^/]+/operations/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+name}:cancel", +"response": { +"$ref": "GoogleProtobufEmpty" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"delete": { +"description": "Deletes a long-running operation. This method indicates that the client is no longer interested in the operation result. It does not cancel the operation. If the server doesn't support this method, it returns `google.rpc.Code.UNIMPLEMENTED`.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}/annotationSpecs/{annotationSpecsId}/operations/{operationsId}", +"httpMethod": "DELETE", +"id": "aiplatform.projects.locations.datasets.annotationSpecs.operations.delete", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "The name of the operation resource to be deleted.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/datasets/[^/]+/annotationSpecs/[^/]+/operations/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+name}", +"response": { +"$ref": "GoogleProtobufEmpty" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"get": { +"description": "Gets the latest state of a long-running operation. Clients can use this method to poll the operation result at intervals as recommended by the API service.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}/annotationSpecs/{annotationSpecsId}/operations/{operationsId}", +"httpMethod": "GET", +"id": "aiplatform.projects.locations.datasets.annotationSpecs.operations.get", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "The name of the operation resource.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/datasets/[^/]+/annotationSpecs/[^/]+/operations/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+name}", +"response": { +"$ref": "GoogleLongrunningOperation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"list": { +"description": "Lists operations that match the specified filter in the request. If the server doesn't support this method, it returns `UNIMPLEMENTED`.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}/annotationSpecs/{annotationSpecsId}/operations", +"httpMethod": "GET", +"id": "aiplatform.projects.locations.datasets.annotationSpecs.operations.list", +"parameterOrder": [ +"name" +], +"parameters": { +"filter": { +"description": "The standard list filter.", +"location": "query", +"type": "string" +}, +"name": { +"description": "The name of the operation's parent resource.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/datasets/[^/]+/annotationSpecs/[^/]+$", +"required": true, +"type": "string" +}, +"pageSize": { +"description": "The standard list page size.", +"format": "int32", +"location": "query", +"type": "integer" +}, +"pageToken": { +"description": "The standard list page token.", +"location": "query", +"type": "string" +} +}, +"path": "v1/{+name}/operations", +"response": { +"$ref": "GoogleLongrunningListOperationsResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"wait": { +"description": "Waits until the specified long-running operation is done or reaches at most a specified timeout, returning the latest state. If the operation is already done, the latest state is immediately returned. If the timeout specified is greater than the default HTTP/RPC timeout, the HTTP/RPC timeout is used. If the server does not support this method, it returns `google.rpc.Code.UNIMPLEMENTED`. Note that this method is on a best-effort basis. It may return the latest state before the specified timeout (including immediately), meaning even an immediate response is no guarantee that the operation is done.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}/annotationSpecs/{annotationSpecsId}/operations/{operationsId}:wait", +"httpMethod": "POST", +"id": "aiplatform.projects.locations.datasets.annotationSpecs.operations.wait", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "The name of the operation resource to wait on.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/datasets/[^/]+/annotationSpecs/[^/]+/operations/[^/]+$", +"required": true, +"type": "string" +}, +"timeout": { +"description": "The maximum duration to wait before timing out. If left blank, the wait will be at most the time permitted by the underlying HTTP/RPC protocol. If RPC context deadline is also specified, the shorter one will be used.", +"format": "google-duration", +"location": "query", +"type": "string" +} +}, +"path": "v1/{+name}:wait", +"response": { +"$ref": "GoogleLongrunningOperation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +} +} +} +} +}, +"dataItems": { +"methods": { +"list": { +"description": "Lists DataItems in a Dataset.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}/dataItems", +"httpMethod": "GET", +"id": "aiplatform.projects.locations.datasets.dataItems.list", +"parameterOrder": [ +"parent" +], +"parameters": { +"filter": { +"description": "The standard list filter.", +"location": "query", +"type": "string" +}, +"orderBy": { +"description": "A comma-separated list of fields to order by, sorted in ascending order. Use \"desc\" after a field name for descending.", +"location": "query", +"type": "string" +}, +"pageSize": { +"description": "The standard list page size.", +"format": "int32", +"location": "query", +"type": "integer" +}, +"pageToken": { +"description": "The standard list page token.", +"location": "query", +"type": "string" +}, +"parent": { +"description": "Required. The resource name of the Dataset to list DataItems from. Format: `projects/{project}/locations/{location}/datasets/{dataset}`", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/datasets/[^/]+$", +"required": true, +"type": "string" +}, +"readMask": { +"description": "Mask specifying which fields to read.", +"format": "google-fieldmask", +"location": "query", +"type": "string" +} +}, +"path": "v1/{+parent}/dataItems", +"response": { +"$ref": "GoogleCloudAiplatformV1ListDataItemsResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +} +}, +"resources": { +"annotations": { +"methods": { +"list": { +"description": "Lists Annotations belongs to a dataitem This RPC is only available in InternalDatasetService. It is only used for exporting conversation data to CCAI Insights.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}/dataItems/{dataItemsId}/annotations", +"httpMethod": "GET", +"id": "aiplatform.projects.locations.datasets.dataItems.annotations.list", +"parameterOrder": [ +"parent" +], +"parameters": { +"filter": { +"description": "The standard list filter.", +"location": "query", +"type": "string" +}, +"orderBy": { +"description": "A comma-separated list of fields to order by, sorted in ascending order. Use \"desc\" after a field name for descending.", +"location": "query", +"type": "string" +}, +"pageSize": { +"description": "The standard list page size.", +"format": "int32", +"location": "query", +"type": "integer" +}, +"pageToken": { +"description": "The standard list page token.", +"location": "query", +"type": "string" +}, +"parent": { +"description": "Required. The resource name of the DataItem to list Annotations from. Format: `projects/{project}/locations/{location}/datasets/{dataset}/dataItems/{data_item}`", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/datasets/[^/]+/dataItems/[^/]+$", +"required": true, +"type": "string" +}, +"readMask": { +"description": "Mask specifying which fields to read.", +"format": "google-fieldmask", +"location": "query", +"type": "string" +} +}, +"path": "v1/{+parent}/annotations", +"response": { +"$ref": "GoogleCloudAiplatformV1ListAnnotationsResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +} +}, +"resources": { +"operations": { +"methods": { +"cancel": { +"description": "Starts asynchronous cancellation on a long-running operation. The server makes a best effort to cancel the operation, but success is not guaranteed. If the server doesn't support this method, it returns `google.rpc.Code.UNIMPLEMENTED`. Clients can use Operations.GetOperation or other methods to check whether the cancellation succeeded or whether the operation completed despite cancellation. On successful cancellation, the operation is not deleted; instead, it becomes an operation with an Operation.error value with a google.rpc.Status.code of `1`, corresponding to `Code.CANCELLED`.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}/dataItems/{dataItemsId}/annotations/{annotationsId}/operations/{operationsId}:cancel", +"httpMethod": "POST", +"id": "aiplatform.projects.locations.datasets.dataItems.annotations.operations.cancel", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "The name of the operation resource to be cancelled.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/datasets/[^/]+/dataItems/[^/]+/annotations/[^/]+/operations/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+name}:cancel", +"response": { +"$ref": "GoogleProtobufEmpty" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"delete": { +"description": "Deletes a long-running operation. This method indicates that the client is no longer interested in the operation result. It does not cancel the operation. If the server doesn't support this method, it returns `google.rpc.Code.UNIMPLEMENTED`.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}/dataItems/{dataItemsId}/annotations/{annotationsId}/operations/{operationsId}", +"httpMethod": "DELETE", +"id": "aiplatform.projects.locations.datasets.dataItems.annotations.operations.delete", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "The name of the operation resource to be deleted.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/datasets/[^/]+/dataItems/[^/]+/annotations/[^/]+/operations/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+name}", +"response": { +"$ref": "GoogleProtobufEmpty" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"get": { +"description": "Gets the latest state of a long-running operation. Clients can use this method to poll the operation result at intervals as recommended by the API service.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}/dataItems/{dataItemsId}/annotations/{annotationsId}/operations/{operationsId}", +"httpMethod": "GET", +"id": "aiplatform.projects.locations.datasets.dataItems.annotations.operations.get", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "The name of the operation resource.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/datasets/[^/]+/dataItems/[^/]+/annotations/[^/]+/operations/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+name}", +"response": { +"$ref": "GoogleLongrunningOperation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"list": { +"description": "Lists operations that match the specified filter in the request. If the server doesn't support this method, it returns `UNIMPLEMENTED`.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}/dataItems/{dataItemsId}/annotations/{annotationsId}/operations", +"httpMethod": "GET", +"id": "aiplatform.projects.locations.datasets.dataItems.annotations.operations.list", +"parameterOrder": [ +"name" +], +"parameters": { +"filter": { +"description": "The standard list filter.", +"location": "query", +"type": "string" +}, +"name": { +"description": "The name of the operation's parent resource.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/datasets/[^/]+/dataItems/[^/]+/annotations/[^/]+$", +"required": true, +"type": "string" +}, +"pageSize": { +"description": "The standard list page size.", +"format": "int32", +"location": "query", +"type": "integer" +}, +"pageToken": { +"description": "The standard list page token.", +"location": "query", +"type": "string" +} +}, +"path": "v1/{+name}/operations", +"response": { +"$ref": "GoogleLongrunningListOperationsResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"wait": { +"description": "Waits until the specified long-running operation is done or reaches at most a specified timeout, returning the latest state. If the operation is already done, the latest state is immediately returned. If the timeout specified is greater than the default HTTP/RPC timeout, the HTTP/RPC timeout is used. If the server does not support this method, it returns `google.rpc.Code.UNIMPLEMENTED`. Note that this method is on a best-effort basis. It may return the latest state before the specified timeout (including immediately), meaning even an immediate response is no guarantee that the operation is done.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}/dataItems/{dataItemsId}/annotations/{annotationsId}/operations/{operationsId}:wait", +"httpMethod": "POST", +"id": "aiplatform.projects.locations.datasets.dataItems.annotations.operations.wait", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "The name of the operation resource to wait on.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/datasets/[^/]+/dataItems/[^/]+/annotations/[^/]+/operations/[^/]+$", +"required": true, +"type": "string" +}, +"timeout": { +"description": "The maximum duration to wait before timing out. If left blank, the wait will be at most the time permitted by the underlying HTTP/RPC protocol. If RPC context deadline is also specified, the shorter one will be used.", +"format": "google-duration", +"location": "query", +"type": "string" +} +}, +"path": "v1/{+name}:wait", +"response": { +"$ref": "GoogleLongrunningOperation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +} +} +} +} +}, +"operations": { +"methods": { +"cancel": { +"description": "Starts asynchronous cancellation on a long-running operation. The server makes a best effort to cancel the operation, but success is not guaranteed. If the server doesn't support this method, it returns `google.rpc.Code.UNIMPLEMENTED`. Clients can use Operations.GetOperation or other methods to check whether the cancellation succeeded or whether the operation completed despite cancellation. On successful cancellation, the operation is not deleted; instead, it becomes an operation with an Operation.error value with a google.rpc.Status.code of `1`, corresponding to `Code.CANCELLED`.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}/dataItems/{dataItemsId}/operations/{operationsId}:cancel", +"httpMethod": "POST", +"id": "aiplatform.projects.locations.datasets.dataItems.operations.cancel", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "The name of the operation resource to be cancelled.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/datasets/[^/]+/dataItems/[^/]+/operations/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+name}:cancel", +"response": { +"$ref": "GoogleProtobufEmpty" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"delete": { +"description": "Deletes a long-running operation. This method indicates that the client is no longer interested in the operation result. It does not cancel the operation. If the server doesn't support this method, it returns `google.rpc.Code.UNIMPLEMENTED`.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}/dataItems/{dataItemsId}/operations/{operationsId}", +"httpMethod": "DELETE", +"id": "aiplatform.projects.locations.datasets.dataItems.operations.delete", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "The name of the operation resource to be deleted.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/datasets/[^/]+/dataItems/[^/]+/operations/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+name}", +"response": { +"$ref": "GoogleProtobufEmpty" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"get": { +"description": "Gets the latest state of a long-running operation. Clients can use this method to poll the operation result at intervals as recommended by the API service.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}/dataItems/{dataItemsId}/operations/{operationsId}", +"httpMethod": "GET", +"id": "aiplatform.projects.locations.datasets.dataItems.operations.get", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "The name of the operation resource.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/datasets/[^/]+/dataItems/[^/]+/operations/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+name}", +"response": { +"$ref": "GoogleLongrunningOperation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"list": { +"description": "Lists operations that match the specified filter in the request. If the server doesn't support this method, it returns `UNIMPLEMENTED`.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}/dataItems/{dataItemsId}/operations", +"httpMethod": "GET", +"id": "aiplatform.projects.locations.datasets.dataItems.operations.list", +"parameterOrder": [ +"name" +], +"parameters": { +"filter": { +"description": "The standard list filter.", +"location": "query", +"type": "string" +}, +"name": { +"description": "The name of the operation's parent resource.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/datasets/[^/]+/dataItems/[^/]+$", +"required": true, +"type": "string" +}, +"pageSize": { +"description": "The standard list page size.", +"format": "int32", +"location": "query", +"type": "integer" +}, +"pageToken": { +"description": "The standard list page token.", +"location": "query", +"type": "string" +} +}, +"path": "v1/{+name}/operations", +"response": { +"$ref": "GoogleLongrunningListOperationsResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"wait": { +"description": "Waits until the specified long-running operation is done or reaches at most a specified timeout, returning the latest state. If the operation is already done, the latest state is immediately returned. If the timeout specified is greater than the default HTTP/RPC timeout, the HTTP/RPC timeout is used. If the server does not support this method, it returns `google.rpc.Code.UNIMPLEMENTED`. Note that this method is on a best-effort basis. It may return the latest state before the specified timeout (including immediately), meaning even an immediate response is no guarantee that the operation is done.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}/dataItems/{dataItemsId}/operations/{operationsId}:wait", +"httpMethod": "POST", +"id": "aiplatform.projects.locations.datasets.dataItems.operations.wait", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "The name of the operation resource to wait on.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/datasets/[^/]+/dataItems/[^/]+/operations/[^/]+$", +"required": true, +"type": "string" +}, +"timeout": { +"description": "The maximum duration to wait before timing out. If left blank, the wait will be at most the time permitted by the underlying HTTP/RPC protocol. If RPC context deadline is also specified, the shorter one will be used.", +"format": "google-duration", +"location": "query", +"type": "string" +} +}, +"path": "v1/{+name}:wait", +"response": { +"$ref": "GoogleLongrunningOperation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +} +} +} +} +}, +"datasetVersions": { +"methods": { +"create": { +"description": "Create a version from a Dataset.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}/datasetVersions", +"httpMethod": "POST", +"id": "aiplatform.projects.locations.datasets.datasetVersions.create", +"parameterOrder": [ +"parent" +], +"parameters": { +"parent": { +"description": "Required. The name of the Dataset resource. Format: `projects/{project}/locations/{location}/datasets/{dataset}`", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/datasets/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+parent}/datasetVersions", +"request": { +"$ref": "GoogleCloudAiplatformV1DatasetVersion" +}, +"response": { +"$ref": "GoogleLongrunningOperation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"delete": { +"description": "Deletes a Dataset version.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}/datasetVersions/{datasetVersionsId}", +"httpMethod": "DELETE", +"id": "aiplatform.projects.locations.datasets.datasetVersions.delete", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. The resource name of the Dataset version to delete. Format: `projects/{project}/locations/{location}/datasets/{dataset}/datasetVersions/{dataset_version}`", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/datasets/[^/]+/datasetVersions/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+name}", +"response": { +"$ref": "GoogleLongrunningOperation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"get": { +"description": "Gets a Dataset version.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}/datasetVersions/{datasetVersionsId}", +"httpMethod": "GET", +"id": "aiplatform.projects.locations.datasets.datasetVersions.get", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. The resource name of the Dataset version to delete. Format: `projects/{project}/locations/{location}/datasets/{dataset}/datasetVersions/{dataset_version}`", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/datasets/[^/]+/datasetVersions/[^/]+$", +"required": true, +"type": "string" +}, +"readMask": { +"description": "Mask specifying which fields to read.", +"format": "google-fieldmask", +"location": "query", +"type": "string" +} +}, +"path": "v1/{+name}", +"response": { +"$ref": "GoogleCloudAiplatformV1DatasetVersion" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"list": { +"description": "Lists DatasetVersions in a Dataset.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}/datasetVersions", +"httpMethod": "GET", +"id": "aiplatform.projects.locations.datasets.datasetVersions.list", +"parameterOrder": [ +"parent" +], +"parameters": { +"filter": { +"description": "Optional. The standard list filter.", +"location": "query", +"type": "string" +}, +"orderBy": { +"description": "Optional. A comma-separated list of fields to order by, sorted in ascending order. Use \"desc\" after a field name for descending.", +"location": "query", +"type": "string" +}, +"pageSize": { +"description": "Optional. The standard list page size.", +"format": "int32", +"location": "query", +"type": "integer" +}, +"pageToken": { +"description": "Optional. The standard list page token.", +"location": "query", +"type": "string" +}, +"parent": { +"description": "Required. The resource name of the Dataset to list DatasetVersions from. Format: `projects/{project}/locations/{location}/datasets/{dataset}`", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/datasets/[^/]+$", +"required": true, +"type": "string" +}, +"readMask": { +"description": "Optional. Mask specifying which fields to read.", +"format": "google-fieldmask", +"location": "query", +"type": "string" +} +}, +"path": "v1/{+parent}/datasetVersions", +"response": { +"$ref": "GoogleCloudAiplatformV1ListDatasetVersionsResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"patch": { +"description": "Updates a DatasetVersion.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}/datasetVersions/{datasetVersionsId}", +"httpMethod": "PATCH", +"id": "aiplatform.projects.locations.datasets.datasetVersions.patch", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Output only. Identifier. The resource name of the DatasetVersion.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/datasets/[^/]+/datasetVersions/[^/]+$", +"required": true, +"type": "string" +}, +"updateMask": { +"description": "Required. The update mask applies to the resource. For the `FieldMask` definition, see google.protobuf.FieldMask. Updatable fields: * `display_name`", +"format": "google-fieldmask", +"location": "query", +"type": "string" +} +}, +"path": "v1/{+name}", +"request": { +"$ref": "GoogleCloudAiplatformV1DatasetVersion" +}, +"response": { +"$ref": "GoogleCloudAiplatformV1DatasetVersion" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"restore": { +"description": "Restores a dataset version.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}/datasetVersions/{datasetVersionsId}:restore", +"httpMethod": "GET", +"id": "aiplatform.projects.locations.datasets.datasetVersions.restore", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. The name of the DatasetVersion resource. Format: `projects/{project}/locations/{location}/datasets/{dataset}/datasetVersions/{dataset_version}`", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/datasets/[^/]+/datasetVersions/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+name}:restore", +"response": { +"$ref": "GoogleLongrunningOperation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +} +} +}, +"operations": { +"methods": { +"cancel": { +"description": "Starts asynchronous cancellation on a long-running operation. The server makes a best effort to cancel the operation, but success is not guaranteed. If the server doesn't support this method, it returns `google.rpc.Code.UNIMPLEMENTED`. Clients can use Operations.GetOperation or other methods to check whether the cancellation succeeded or whether the operation completed despite cancellation. On successful cancellation, the operation is not deleted; instead, it becomes an operation with an Operation.error value with a google.rpc.Status.code of `1`, corresponding to `Code.CANCELLED`.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}/operations/{operationsId}:cancel", +"httpMethod": "POST", +"id": "aiplatform.projects.locations.datasets.operations.cancel", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "The name of the operation resource to be cancelled.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/datasets/[^/]+/operations/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+name}:cancel", +"response": { +"$ref": "GoogleProtobufEmpty" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"delete": { +"description": "Deletes a long-running operation. This method indicates that the client is no longer interested in the operation result. It does not cancel the operation. If the server doesn't support this method, it returns `google.rpc.Code.UNIMPLEMENTED`.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}/operations/{operationsId}", +"httpMethod": "DELETE", +"id": "aiplatform.projects.locations.datasets.operations.delete", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "The name of the operation resource to be deleted.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/datasets/[^/]+/operations/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+name}", +"response": { +"$ref": "GoogleProtobufEmpty" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"get": { +"description": "Gets the latest state of a long-running operation. Clients can use this method to poll the operation result at intervals as recommended by the API service.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}/operations/{operationsId}", +"httpMethod": "GET", +"id": "aiplatform.projects.locations.datasets.operations.get", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "The name of the operation resource.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/datasets/[^/]+/operations/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+name}", +"response": { +"$ref": "GoogleLongrunningOperation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"list": { +"description": "Lists operations that match the specified filter in the request. If the server doesn't support this method, it returns `UNIMPLEMENTED`.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}/operations", +"httpMethod": "GET", +"id": "aiplatform.projects.locations.datasets.operations.list", +"parameterOrder": [ +"name" +], +"parameters": { +"filter": { +"description": "The standard list filter.", +"location": "query", +"type": "string" +}, +"name": { +"description": "The name of the operation's parent resource.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/datasets/[^/]+$", +"required": true, +"type": "string" +}, +"pageSize": { +"description": "The standard list page size.", +"format": "int32", +"location": "query", +"type": "integer" +}, +"pageToken": { +"description": "The standard list page token.", +"location": "query", +"type": "string" +} +}, +"path": "v1/{+name}/operations", +"response": { +"$ref": "GoogleLongrunningListOperationsResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"wait": { +"description": "Waits until the specified long-running operation is done or reaches at most a specified timeout, returning the latest state. If the operation is already done, the latest state is immediately returned. If the timeout specified is greater than the default HTTP/RPC timeout, the HTTP/RPC timeout is used. If the server does not support this method, it returns `google.rpc.Code.UNIMPLEMENTED`. Note that this method is on a best-effort basis. It may return the latest state before the specified timeout (including immediately), meaning even an immediate response is no guarantee that the operation is done.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}/operations/{operationsId}:wait", +"httpMethod": "POST", +"id": "aiplatform.projects.locations.datasets.operations.wait", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "The name of the operation resource to wait on.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/datasets/[^/]+/operations/[^/]+$", +"required": true, +"type": "string" +}, +"timeout": { +"description": "The maximum duration to wait before timing out. If left blank, the wait will be at most the time permitted by the underlying HTTP/RPC protocol. If RPC context deadline is also specified, the shorter one will be used.", +"format": "google-duration", +"location": "query", +"type": "string" +} +}, +"path": "v1/{+name}:wait", +"response": { +"$ref": "GoogleLongrunningOperation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +} +} +}, +"savedQueries": { +"methods": { +"delete": { +"description": "Deletes a SavedQuery.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}/savedQueries/{savedQueriesId}", +"httpMethod": "DELETE", +"id": "aiplatform.projects.locations.datasets.savedQueries.delete", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. The resource name of the SavedQuery to delete. Format: `projects/{project}/locations/{location}/datasets/{dataset}/savedQueries/{saved_query}`", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/datasets/[^/]+/savedQueries/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+name}", +"response": { +"$ref": "GoogleLongrunningOperation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"list": { +"description": "Lists SavedQueries in a Dataset.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}/savedQueries", +"httpMethod": "GET", +"id": "aiplatform.projects.locations.datasets.savedQueries.list", +"parameterOrder": [ +"parent" +], +"parameters": { +"filter": { +"description": "The standard list filter.", +"location": "query", +"type": "string" +}, +"orderBy": { +"description": "A comma-separated list of fields to order by, sorted in ascending order. Use \"desc\" after a field name for descending.", +"location": "query", +"type": "string" +}, +"pageSize": { +"description": "The standard list page size.", +"format": "int32", +"location": "query", +"type": "integer" +}, +"pageToken": { +"description": "The standard list page token.", +"location": "query", +"type": "string" +}, +"parent": { +"description": "Required. The resource name of the Dataset to list SavedQueries from. Format: `projects/{project}/locations/{location}/datasets/{dataset}`", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/datasets/[^/]+$", +"required": true, +"type": "string" +}, +"readMask": { +"description": "Mask specifying which fields to read.", +"format": "google-fieldmask", +"location": "query", +"type": "string" +} +}, +"path": "v1/{+parent}/savedQueries", +"response": { +"$ref": "GoogleCloudAiplatformV1ListSavedQueriesResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +} +}, +"resources": { +"operations": { +"methods": { +"cancel": { +"description": "Starts asynchronous cancellation on a long-running operation. The server makes a best effort to cancel the operation, but success is not guaranteed. If the server doesn't support this method, it returns `google.rpc.Code.UNIMPLEMENTED`. Clients can use Operations.GetOperation or other methods to check whether the cancellation succeeded or whether the operation completed despite cancellation. On successful cancellation, the operation is not deleted; instead, it becomes an operation with an Operation.error value with a google.rpc.Status.code of `1`, corresponding to `Code.CANCELLED`.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}/savedQueries/{savedQueriesId}/operations/{operationsId}:cancel", +"httpMethod": "POST", +"id": "aiplatform.projects.locations.datasets.savedQueries.operations.cancel", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "The name of the operation resource to be cancelled.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/datasets/[^/]+/savedQueries/[^/]+/operations/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+name}:cancel", +"response": { +"$ref": "GoogleProtobufEmpty" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"delete": { +"description": "Deletes a long-running operation. This method indicates that the client is no longer interested in the operation result. It does not cancel the operation. If the server doesn't support this method, it returns `google.rpc.Code.UNIMPLEMENTED`.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}/savedQueries/{savedQueriesId}/operations/{operationsId}", +"httpMethod": "DELETE", +"id": "aiplatform.projects.locations.datasets.savedQueries.operations.delete", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "The name of the operation resource to be deleted.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/datasets/[^/]+/savedQueries/[^/]+/operations/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+name}", +"response": { +"$ref": "GoogleProtobufEmpty" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"get": { +"description": "Gets the latest state of a long-running operation. Clients can use this method to poll the operation result at intervals as recommended by the API service.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}/savedQueries/{savedQueriesId}/operations/{operationsId}", +"httpMethod": "GET", +"id": "aiplatform.projects.locations.datasets.savedQueries.operations.get", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "The name of the operation resource.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/datasets/[^/]+/savedQueries/[^/]+/operations/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+name}", +"response": { +"$ref": "GoogleLongrunningOperation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"list": { +"description": "Lists operations that match the specified filter in the request. If the server doesn't support this method, it returns `UNIMPLEMENTED`.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}/savedQueries/{savedQueriesId}/operations", +"httpMethod": "GET", +"id": "aiplatform.projects.locations.datasets.savedQueries.operations.list", +"parameterOrder": [ +"name" +], +"parameters": { +"filter": { +"description": "The standard list filter.", +"location": "query", +"type": "string" +}, +"name": { +"description": "The name of the operation's parent resource.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/datasets/[^/]+/savedQueries/[^/]+$", +"required": true, +"type": "string" +}, +"pageSize": { +"description": "The standard list page size.", +"format": "int32", +"location": "query", +"type": "integer" +}, +"pageToken": { +"description": "The standard list page token.", +"location": "query", +"type": "string" +} +}, +"path": "v1/{+name}/operations", +"response": { +"$ref": "GoogleLongrunningListOperationsResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"wait": { +"description": "Waits until the specified long-running operation is done or reaches at most a specified timeout, returning the latest state. If the operation is already done, the latest state is immediately returned. If the timeout specified is greater than the default HTTP/RPC timeout, the HTTP/RPC timeout is used. If the server does not support this method, it returns `google.rpc.Code.UNIMPLEMENTED`. Note that this method is on a best-effort basis. It may return the latest state before the specified timeout (including immediately), meaning even an immediate response is no guarantee that the operation is done.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}/savedQueries/{savedQueriesId}/operations/{operationsId}:wait", +"httpMethod": "POST", +"id": "aiplatform.projects.locations.datasets.savedQueries.operations.wait", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "The name of the operation resource to wait on.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/datasets/[^/]+/savedQueries/[^/]+/operations/[^/]+$", +"required": true, +"type": "string" +}, +"timeout": { +"description": "The maximum duration to wait before timing out. If left blank, the wait will be at most the time permitted by the underlying HTTP/RPC protocol. If RPC context deadline is also specified, the shorter one will be used.", +"format": "google-duration", +"location": "query", +"type": "string" +} +}, +"path": "v1/{+name}:wait", +"response": { +"$ref": "GoogleLongrunningOperation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +} +} +} +} +} +} +}, +"deploymentResourcePools": { +"methods": { +"create": { +"description": "Create a DeploymentResourcePool.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/deploymentResourcePools", +"httpMethod": "POST", +"id": "aiplatform.projects.locations.deploymentResourcePools.create", +"parameterOrder": [ +"parent" +], +"parameters": { +"parent": { +"description": "Required. The parent location resource where this DeploymentResourcePool will be created. Format: `projects/{project}/locations/{location}`", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+parent}/deploymentResourcePools", +"request": { +"$ref": "GoogleCloudAiplatformV1CreateDeploymentResourcePoolRequest" +}, +"response": { +"$ref": "GoogleLongrunningOperation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"delete": { +"description": "Delete a DeploymentResourcePool.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/deploymentResourcePools/{deploymentResourcePoolsId}", +"httpMethod": "DELETE", +"id": "aiplatform.projects.locations.deploymentResourcePools.delete", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. The name of the DeploymentResourcePool to delete. Format: `projects/{project}/locations/{location}/deploymentResourcePools/{deployment_resource_pool}`", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/deploymentResourcePools/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+name}", +"response": { +"$ref": "GoogleLongrunningOperation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"get": { +"description": "Get a DeploymentResourcePool.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/deploymentResourcePools/{deploymentResourcePoolsId}", +"httpMethod": "GET", +"id": "aiplatform.projects.locations.deploymentResourcePools.get", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. The name of the DeploymentResourcePool to retrieve. Format: `projects/{project}/locations/{location}/deploymentResourcePools/{deployment_resource_pool}`", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/deploymentResourcePools/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+name}", +"response": { +"$ref": "GoogleCloudAiplatformV1DeploymentResourcePool" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"list": { +"description": "List DeploymentResourcePools in a location.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/deploymentResourcePools", +"httpMethod": "GET", +"id": "aiplatform.projects.locations.deploymentResourcePools.list", +"parameterOrder": [ +"parent" +], +"parameters": { +"pageSize": { +"description": "The maximum number of DeploymentResourcePools to return. The service may return fewer than this value.", +"format": "int32", +"location": "query", +"type": "integer" +}, +"pageToken": { +"description": "A page token, received from a previous `ListDeploymentResourcePools` call. Provide this to retrieve the subsequent page. When paginating, all other parameters provided to `ListDeploymentResourcePools` must match the call that provided the page token.", +"location": "query", +"type": "string" +}, +"parent": { +"description": "Required. The parent Location which owns this collection of DeploymentResourcePools. Format: `projects/{project}/locations/{location}`", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+parent}/deploymentResourcePools", +"response": { +"$ref": "GoogleCloudAiplatformV1ListDeploymentResourcePoolsResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"patch": { +"description": "Update a DeploymentResourcePool.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/deploymentResourcePools/{deploymentResourcePoolsId}", +"httpMethod": "PATCH", +"id": "aiplatform.projects.locations.deploymentResourcePools.patch", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Immutable. The resource name of the DeploymentResourcePool. Format: `projects/{project}/locations/{location}/deploymentResourcePools/{deployment_resource_pool}`", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/deploymentResourcePools/[^/]+$", +"required": true, +"type": "string" +}, +"updateMask": { +"description": "Required. The list of fields to update.", +"format": "google-fieldmask", +"location": "query", +"type": "string" +} +}, +"path": "v1/{+name}", +"request": { +"$ref": "GoogleCloudAiplatformV1DeploymentResourcePool" +}, +"response": { +"$ref": "GoogleLongrunningOperation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"queryDeployedModels": { +"description": "List DeployedModels that have been deployed on this DeploymentResourcePool.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/deploymentResourcePools/{deploymentResourcePoolsId}:queryDeployedModels", +"httpMethod": "GET", +"id": "aiplatform.projects.locations.deploymentResourcePools.queryDeployedModels", +"parameterOrder": [ +"deploymentResourcePool" +], +"parameters": { +"deploymentResourcePool": { +"description": "Required. The name of the target DeploymentResourcePool to query. Format: `projects/{project}/locations/{location}/deploymentResourcePools/{deployment_resource_pool}`", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/deploymentResourcePools/[^/]+$", +"required": true, +"type": "string" +}, +"pageSize": { +"description": "The maximum number of DeployedModels to return. The service may return fewer than this value.", +"format": "int32", +"location": "query", +"type": "integer" +}, +"pageToken": { +"description": "A page token, received from a previous `QueryDeployedModels` call. Provide this to retrieve the subsequent page. When paginating, all other parameters provided to `QueryDeployedModels` must match the call that provided the page token.", +"location": "query", +"type": "string" +} +}, +"path": "v1/{+deploymentResourcePool}:queryDeployedModels", +"response": { +"$ref": "GoogleCloudAiplatformV1QueryDeployedModelsResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +} +}, +"resources": { +"operations": { +"methods": { +"cancel": { +"description": "Starts asynchronous cancellation on a long-running operation. The server makes a best effort to cancel the operation, but success is not guaranteed. If the server doesn't support this method, it returns `google.rpc.Code.UNIMPLEMENTED`. Clients can use Operations.GetOperation or other methods to check whether the cancellation succeeded or whether the operation completed despite cancellation. On successful cancellation, the operation is not deleted; instead, it becomes an operation with an Operation.error value with a google.rpc.Status.code of `1`, corresponding to `Code.CANCELLED`.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/deploymentResourcePools/{deploymentResourcePoolsId}/operations/{operationsId}:cancel", +"httpMethod": "POST", +"id": "aiplatform.projects.locations.deploymentResourcePools.operations.cancel", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "The name of the operation resource to be cancelled.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/deploymentResourcePools/[^/]+/operations/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+name}:cancel", +"response": { +"$ref": "GoogleProtobufEmpty" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"delete": { +"description": "Deletes a long-running operation. This method indicates that the client is no longer interested in the operation result. It does not cancel the operation. If the server doesn't support this method, it returns `google.rpc.Code.UNIMPLEMENTED`.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/deploymentResourcePools/{deploymentResourcePoolsId}/operations/{operationsId}", +"httpMethod": "DELETE", +"id": "aiplatform.projects.locations.deploymentResourcePools.operations.delete", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "The name of the operation resource to be deleted.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/deploymentResourcePools/[^/]+/operations/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+name}", +"response": { +"$ref": "GoogleProtobufEmpty" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"get": { +"description": "Gets the latest state of a long-running operation. Clients can use this method to poll the operation result at intervals as recommended by the API service.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/deploymentResourcePools/{deploymentResourcePoolsId}/operations/{operationsId}", +"httpMethod": "GET", +"id": "aiplatform.projects.locations.deploymentResourcePools.operations.get", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "The name of the operation resource.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/deploymentResourcePools/[^/]+/operations/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+name}", +"response": { +"$ref": "GoogleLongrunningOperation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"list": { +"description": "Lists operations that match the specified filter in the request. If the server doesn't support this method, it returns `UNIMPLEMENTED`.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/deploymentResourcePools/{deploymentResourcePoolsId}/operations", +"httpMethod": "GET", +"id": "aiplatform.projects.locations.deploymentResourcePools.operations.list", +"parameterOrder": [ +"name" +], +"parameters": { +"filter": { +"description": "The standard list filter.", +"location": "query", +"type": "string" +}, +"name": { +"description": "The name of the operation's parent resource.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/deploymentResourcePools/[^/]+$", +"required": true, +"type": "string" +}, +"pageSize": { +"description": "The standard list page size.", +"format": "int32", +"location": "query", +"type": "integer" +}, +"pageToken": { +"description": "The standard list page token.", +"location": "query", +"type": "string" +} +}, +"path": "v1/{+name}/operations", +"response": { +"$ref": "GoogleLongrunningListOperationsResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"wait": { +"description": "Waits until the specified long-running operation is done or reaches at most a specified timeout, returning the latest state. If the operation is already done, the latest state is immediately returned. If the timeout specified is greater than the default HTTP/RPC timeout, the HTTP/RPC timeout is used. If the server does not support this method, it returns `google.rpc.Code.UNIMPLEMENTED`. Note that this method is on a best-effort basis. It may return the latest state before the specified timeout (including immediately), meaning even an immediate response is no guarantee that the operation is done.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/deploymentResourcePools/{deploymentResourcePoolsId}/operations/{operationsId}:wait", +"httpMethod": "POST", +"id": "aiplatform.projects.locations.deploymentResourcePools.operations.wait", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "The name of the operation resource to wait on.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/deploymentResourcePools/[^/]+/operations/[^/]+$", +"required": true, +"type": "string" +}, +"timeout": { +"description": "The maximum duration to wait before timing out. If left blank, the wait will be at most the time permitted by the underlying HTTP/RPC protocol. If RPC context deadline is also specified, the shorter one will be used.", +"format": "google-duration", +"location": "query", +"type": "string" +} +}, +"path": "v1/{+name}:wait", +"response": { +"$ref": "GoogleLongrunningOperation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +} +} +} +} +}, +"endpoints": { +"methods": { +"computeTokens": { +"description": "Return a list of tokens based on the input text.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/endpoints/{endpointsId}:computeTokens", +"httpMethod": "POST", +"id": "aiplatform.projects.locations.endpoints.computeTokens", +"parameterOrder": [ +"endpoint" +], +"parameters": { +"endpoint": { +"description": "Required. The name of the Endpoint requested to get lists of tokens and token ids.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/endpoints/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+endpoint}:computeTokens", +"request": { +"$ref": "GoogleCloudAiplatformV1ComputeTokensRequest" +}, +"response": { +"$ref": "GoogleCloudAiplatformV1ComputeTokensResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"countTokens": { +"description": "Perform a token counting.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/endpoints/{endpointsId}:countTokens", +"httpMethod": "POST", +"id": "aiplatform.projects.locations.endpoints.countTokens", +"parameterOrder": [ +"endpoint" +], +"parameters": { +"endpoint": { +"description": "Required. The name of the Endpoint requested to perform token counting. Format: `projects/{project}/locations/{location}/endpoints/{endpoint}`", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/endpoints/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+endpoint}:countTokens", +"request": { +"$ref": "GoogleCloudAiplatformV1CountTokensRequest" +}, +"response": { +"$ref": "GoogleCloudAiplatformV1CountTokensResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"create": { +"description": "Creates an Endpoint.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/endpoints", +"httpMethod": "POST", +"id": "aiplatform.projects.locations.endpoints.create", +"parameterOrder": [ +"parent" +], +"parameters": { +"endpointId": { +"description": "Immutable. The ID to use for endpoint, which will become the final component of the endpoint resource name. If not provided, Vertex AI will generate a value for this ID. If the first character is a letter, this value may be up to 63 characters, and valid characters are `[a-z0-9-]`. The last character must be a letter or number. If the first character is a number, this value may be up to 9 characters, and valid characters are `[0-9]` with no leading zeros. When using HTTP/JSON, this field is populated based on a query string argument, such as `?endpoint_id=12345`. This is the fallback for fields that are not included in either the URI or the body.", +"location": "query", +"type": "string" +}, +"parent": { +"description": "Required. The resource name of the Location to create the Endpoint in. Format: `projects/{project}/locations/{location}`", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+parent}/endpoints", +"request": { +"$ref": "GoogleCloudAiplatformV1Endpoint" +}, +"response": { +"$ref": "GoogleLongrunningOperation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"delete": { +"description": "Deletes an Endpoint.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/endpoints/{endpointsId}", +"httpMethod": "DELETE", +"id": "aiplatform.projects.locations.endpoints.delete", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. The name of the Endpoint resource to be deleted. Format: `projects/{project}/locations/{location}/endpoints/{endpoint}`", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/endpoints/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+name}", +"response": { +"$ref": "GoogleLongrunningOperation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"deployModel": { +"description": "Deploys a Model into this Endpoint, creating a DeployedModel within it.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/endpoints/{endpointsId}:deployModel", +"httpMethod": "POST", +"id": "aiplatform.projects.locations.endpoints.deployModel", +"parameterOrder": [ +"endpoint" +], +"parameters": { +"endpoint": { +"description": "Required. The name of the Endpoint resource into which to deploy a Model. Format: `projects/{project}/locations/{location}/endpoints/{endpoint}`", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/endpoints/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+endpoint}:deployModel", +"request": { +"$ref": "GoogleCloudAiplatformV1DeployModelRequest" +}, +"response": { +"$ref": "GoogleLongrunningOperation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"directPredict": { +"description": "Perform an unary online prediction request to a gRPC model server for Vertex first-party products and frameworks.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/endpoints/{endpointsId}:directPredict", +"httpMethod": "POST", +"id": "aiplatform.projects.locations.endpoints.directPredict", +"parameterOrder": [ +"endpoint" +], +"parameters": { +"endpoint": { +"description": "Required. The name of the Endpoint requested to serve the prediction. Format: `projects/{project}/locations/{location}/endpoints/{endpoint}`", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/endpoints/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+endpoint}:directPredict", +"request": { +"$ref": "GoogleCloudAiplatformV1DirectPredictRequest" +}, +"response": { +"$ref": "GoogleCloudAiplatformV1DirectPredictResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/cloud-platform.read-only" +] +}, +"directRawPredict": { +"description": "Perform an unary online prediction request to a gRPC model server for custom containers.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/endpoints/{endpointsId}:directRawPredict", +"httpMethod": "POST", +"id": "aiplatform.projects.locations.endpoints.directRawPredict", +"parameterOrder": [ +"endpoint" +], +"parameters": { +"endpoint": { +"description": "Required. The name of the Endpoint requested to serve the prediction. Format: `projects/{project}/locations/{location}/endpoints/{endpoint}`", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/endpoints/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+endpoint}:directRawPredict", +"request": { +"$ref": "GoogleCloudAiplatformV1DirectRawPredictRequest" +}, +"response": { +"$ref": "GoogleCloudAiplatformV1DirectRawPredictResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/cloud-platform.read-only" +] +}, +"explain": { +"description": "Perform an online explanation. If deployed_model_id is specified, the corresponding DeployModel must have explanation_spec populated. If deployed_model_id is not specified, all DeployedModels must have explanation_spec populated.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/endpoints/{endpointsId}:explain", +"httpMethod": "POST", +"id": "aiplatform.projects.locations.endpoints.explain", +"parameterOrder": [ +"endpoint" +], +"parameters": { +"endpoint": { +"description": "Required. The name of the Endpoint requested to serve the explanation. Format: `projects/{project}/locations/{location}/endpoints/{endpoint}`", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/endpoints/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+endpoint}:explain", +"request": { +"$ref": "GoogleCloudAiplatformV1ExplainRequest" +}, +"response": { +"$ref": "GoogleCloudAiplatformV1ExplainResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/cloud-platform.read-only" +] +}, +"fetchPredictOperation": { +"description": "Fetch an asynchronous online prediction operation.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/endpoints/{endpointsId}:fetchPredictOperation", +"httpMethod": "POST", +"id": "aiplatform.projects.locations.endpoints.fetchPredictOperation", +"parameterOrder": [ +"endpoint" +], +"parameters": { +"endpoint": { +"description": "Required. The name of the Endpoint requested to serve the prediction. Format: `projects/{project}/locations/{location}/endpoints/{endpoint}` or `projects/{project}/locations/{location}/publishers/{publisher}/models/{model}`", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/endpoints/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+endpoint}:fetchPredictOperation", +"request": { +"$ref": "GoogleCloudAiplatformV1FetchPredictOperationRequest" +}, +"response": { +"$ref": "GoogleLongrunningOperation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/cloud-platform.read-only" +] +}, +"generateContent": { +"description": "Generate content with multimodal inputs.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/endpoints/{endpointsId}:generateContent", +"httpMethod": "POST", +"id": "aiplatform.projects.locations.endpoints.generateContent", +"parameterOrder": [ +"model" +], +"parameters": { +"model": { +"description": "Required. The fully qualified name of the publisher model or tuned model endpoint to use. Publisher model format: `projects/{project}/locations/{location}/publishers/*/models/*` Tuned model endpoint format: `projects/{project}/locations/{location}/endpoints/{endpoint}`", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/endpoints/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+model}:generateContent", +"request": { +"$ref": "GoogleCloudAiplatformV1GenerateContentRequest" +}, +"response": { +"$ref": "GoogleCloudAiplatformV1GenerateContentResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/cloud-platform.read-only" +] +}, +"get": { +"description": "Gets an Endpoint.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/endpoints/{endpointsId}", +"httpMethod": "GET", +"id": "aiplatform.projects.locations.endpoints.get", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. The name of the Endpoint resource. Format: `projects/{project}/locations/{location}/endpoints/{endpoint}`", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/endpoints/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+name}", +"response": { +"$ref": "GoogleCloudAiplatformV1Endpoint" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"list": { +"description": "Lists Endpoints in a Location.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/endpoints", +"httpMethod": "GET", +"id": "aiplatform.projects.locations.endpoints.list", +"parameterOrder": [ +"parent" +], +"parameters": { +"filter": { +"description": "Optional. An expression for filtering the results of the request. For field names both snake_case and camelCase are supported. * `endpoint` supports `=` and `!=`. `endpoint` represents the Endpoint ID, i.e. the last segment of the Endpoint's resource name. * `display_name` supports `=` and `!=`. * `labels` supports general map functions that is: * `labels.key=value` - key:value equality * `labels.key:*` or `labels:key` - key existence * A key including a space must be quoted. `labels.\"a key\"`. * `base_model_name` only supports `=`. Some examples: * `endpoint=1` * `displayName=\"myDisplayName\"` * `labels.myKey=\"myValue\"` * `baseModelName=\"text-bison\"`", +"location": "query", +"type": "string" +}, +"orderBy": { +"description": "A comma-separated list of fields to order by, sorted in ascending order. Use \"desc\" after a field name for descending. Supported fields: * `display_name` * `create_time` * `update_time` Example: `display_name, create_time desc`.", +"location": "query", +"type": "string" +}, +"pageSize": { +"description": "Optional. The standard list page size.", +"format": "int32", +"location": "query", +"type": "integer" +}, +"pageToken": { +"description": "Optional. The standard list page token. Typically obtained via ListEndpointsResponse.next_page_token of the previous EndpointService.ListEndpoints call.", +"location": "query", +"type": "string" +}, +"parent": { +"description": "Required. The resource name of the Location from which to list the Endpoints. Format: `projects/{project}/locations/{location}`", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+$", +"required": true, +"type": "string" +}, +"readMask": { +"description": "Optional. Mask specifying which fields to read.", +"format": "google-fieldmask", +"location": "query", +"type": "string" +} +}, +"path": "v1/{+parent}/endpoints", +"response": { +"$ref": "GoogleCloudAiplatformV1ListEndpointsResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"mutateDeployedModel": { +"description": "Updates an existing deployed model. Updatable fields include `min_replica_count`, `max_replica_count`, `autoscaling_metric_specs`, `disable_container_logging` (v1 only), and `enable_container_logging` (v1beta1 only).", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/endpoints/{endpointsId}:mutateDeployedModel", +"httpMethod": "POST", +"id": "aiplatform.projects.locations.endpoints.mutateDeployedModel", +"parameterOrder": [ +"endpoint" +], +"parameters": { +"endpoint": { +"description": "Required. The name of the Endpoint resource into which to mutate a DeployedModel. Format: `projects/{project}/locations/{location}/endpoints/{endpoint}`", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/endpoints/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+endpoint}:mutateDeployedModel", +"request": { +"$ref": "GoogleCloudAiplatformV1MutateDeployedModelRequest" +}, +"response": { +"$ref": "GoogleLongrunningOperation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"patch": { +"description": "Updates an Endpoint.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/endpoints/{endpointsId}", +"httpMethod": "PATCH", +"id": "aiplatform.projects.locations.endpoints.patch", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Output only. The resource name of the Endpoint.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/endpoints/[^/]+$", +"required": true, +"type": "string" +}, +"updateMask": { +"description": "Required. The update mask applies to the resource. See google.protobuf.FieldMask.", +"format": "google-fieldmask", +"location": "query", +"type": "string" +} +}, +"path": "v1/{+name}", +"request": { +"$ref": "GoogleCloudAiplatformV1Endpoint" +}, +"response": { +"$ref": "GoogleCloudAiplatformV1Endpoint" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"predict": { +"description": "Perform an online prediction.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/endpoints/{endpointsId}:predict", +"httpMethod": "POST", +"id": "aiplatform.projects.locations.endpoints.predict", +"parameterOrder": [ +"endpoint" +], +"parameters": { +"endpoint": { +"description": "Required. The name of the Endpoint requested to serve the prediction. Format: `projects/{project}/locations/{location}/endpoints/{endpoint}`", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/endpoints/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+endpoint}:predict", +"request": { +"$ref": "GoogleCloudAiplatformV1PredictRequest" +}, +"response": { +"$ref": "GoogleCloudAiplatformV1PredictResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/cloud-platform.read-only" +] +}, +"predictLongRunning": { +"description": "", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/endpoints/{endpointsId}:predictLongRunning", +"httpMethod": "POST", +"id": "aiplatform.projects.locations.endpoints.predictLongRunning", +"parameterOrder": [ +"endpoint" +], +"parameters": { +"endpoint": { +"description": "Required. The name of the Endpoint requested to serve the prediction. Format: `projects/{project}/locations/{location}/endpoints/{endpoint}` or `projects/{project}/locations/{location}/publishers/{publisher}/models/{model}`", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/endpoints/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+endpoint}:predictLongRunning", +"request": { +"$ref": "GoogleCloudAiplatformV1PredictLongRunningRequest" +}, +"response": { +"$ref": "GoogleLongrunningOperation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/cloud-platform.read-only" +] +}, +"rawPredict": { +"description": "Perform an online prediction with an arbitrary HTTP payload. The response includes the following HTTP headers: * `X-Vertex-AI-Endpoint-Id`: ID of the Endpoint that served this prediction. * `X-Vertex-AI-Deployed-Model-Id`: ID of the Endpoint's DeployedModel that served this prediction.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/endpoints/{endpointsId}:rawPredict", +"httpMethod": "POST", +"id": "aiplatform.projects.locations.endpoints.rawPredict", +"parameterOrder": [ +"endpoint" +], +"parameters": { +"endpoint": { +"description": "Required. The name of the Endpoint requested to serve the prediction. Format: `projects/{project}/locations/{location}/endpoints/{endpoint}`", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/endpoints/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+endpoint}:rawPredict", +"request": { +"$ref": "GoogleCloudAiplatformV1RawPredictRequest" +}, +"response": { +"$ref": "GoogleApiHttpBody" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/cloud-platform.read-only" +] +}, +"serverStreamingPredict": { +"description": "Perform a server-side streaming online prediction request for Vertex LLM streaming.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/endpoints/{endpointsId}:serverStreamingPredict", +"httpMethod": "POST", +"id": "aiplatform.projects.locations.endpoints.serverStreamingPredict", +"parameterOrder": [ +"endpoint" +], +"parameters": { +"endpoint": { +"description": "Required. The name of the Endpoint requested to serve the prediction. Format: `projects/{project}/locations/{location}/endpoints/{endpoint}`", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/endpoints/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+endpoint}:serverStreamingPredict", +"request": { +"$ref": "GoogleCloudAiplatformV1StreamingPredictRequest" +}, +"response": { +"$ref": "GoogleCloudAiplatformV1StreamingPredictResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/cloud-platform.read-only" +] +}, +"streamGenerateContent": { +"description": "Generate content with multimodal inputs with streaming support.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/endpoints/{endpointsId}:streamGenerateContent", +"httpMethod": "POST", +"id": "aiplatform.projects.locations.endpoints.streamGenerateContent", +"parameterOrder": [ +"model" +], +"parameters": { +"model": { +"description": "Required. The fully qualified name of the publisher model or tuned model endpoint to use. Publisher model format: `projects/{project}/locations/{location}/publishers/*/models/*` Tuned model endpoint format: `projects/{project}/locations/{location}/endpoints/{endpoint}`", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/endpoints/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+model}:streamGenerateContent", +"request": { +"$ref": "GoogleCloudAiplatformV1GenerateContentRequest" +}, +"response": { +"$ref": "GoogleCloudAiplatformV1GenerateContentResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/cloud-platform.read-only" +] +}, +"streamRawPredict": { +"description": "Perform a streaming online prediction with an arbitrary HTTP payload.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/endpoints/{endpointsId}:streamRawPredict", +"httpMethod": "POST", +"id": "aiplatform.projects.locations.endpoints.streamRawPredict", +"parameterOrder": [ +"endpoint" +], +"parameters": { +"endpoint": { +"description": "Required. The name of the Endpoint requested to serve the prediction. Format: `projects/{project}/locations/{location}/endpoints/{endpoint}`", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/endpoints/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+endpoint}:streamRawPredict", +"request": { +"$ref": "GoogleCloudAiplatformV1StreamRawPredictRequest" +}, +"response": { +"$ref": "GoogleApiHttpBody" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/cloud-platform.read-only" +] +}, +"undeployModel": { +"description": "Undeploys a Model from an Endpoint, removing a DeployedModel from it, and freeing all resources it's using.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/endpoints/{endpointsId}:undeployModel", +"httpMethod": "POST", +"id": "aiplatform.projects.locations.endpoints.undeployModel", +"parameterOrder": [ +"endpoint" +], +"parameters": { +"endpoint": { +"description": "Required. The name of the Endpoint resource from which to undeploy a Model. Format: `projects/{project}/locations/{location}/endpoints/{endpoint}`", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/endpoints/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+endpoint}:undeployModel", +"request": { +"$ref": "GoogleCloudAiplatformV1UndeployModelRequest" +}, +"response": { +"$ref": "GoogleLongrunningOperation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"update": { +"description": "Updates an Endpoint with a long running operation.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/endpoints/{endpointsId}:update", +"httpMethod": "POST", +"id": "aiplatform.projects.locations.endpoints.update", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Output only. The resource name of the Endpoint.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/endpoints/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+name}:update", +"request": { +"$ref": "GoogleCloudAiplatformV1UpdateEndpointLongRunningRequest" +}, +"response": { +"$ref": "GoogleLongrunningOperation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +} +}, +"resources": { +"chat": { +"methods": { +"completions": { +"description": "Exposes an OpenAI-compatible endpoint for chat completions.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/endpoints/{endpointsId}/chat/completions", +"httpMethod": "POST", +"id": "aiplatform.projects.locations.endpoints.chat.completions", +"parameterOrder": [ +"endpoint" +], +"parameters": { +"endpoint": { +"description": "Required. The name of the endpoint requested to serve the prediction. Format: `projects/{project}/locations/{location}/endpoints/{endpoint}`", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/endpoints/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+endpoint}/chat/completions", +"request": { +"$ref": "GoogleApiHttpBody" +}, +"response": { +"$ref": "GoogleApiHttpBody" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/cloud-platform.read-only" +] +} +} +}, +"operations": { +"methods": { +"cancel": { +"description": "Starts asynchronous cancellation on a long-running operation. The server makes a best effort to cancel the operation, but success is not guaranteed. If the server doesn't support this method, it returns `google.rpc.Code.UNIMPLEMENTED`. Clients can use Operations.GetOperation or other methods to check whether the cancellation succeeded or whether the operation completed despite cancellation. On successful cancellation, the operation is not deleted; instead, it becomes an operation with an Operation.error value with a google.rpc.Status.code of `1`, corresponding to `Code.CANCELLED`.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/endpoints/{endpointsId}/operations/{operationsId}:cancel", +"httpMethod": "POST", +"id": "aiplatform.projects.locations.endpoints.operations.cancel", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "The name of the operation resource to be cancelled.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/endpoints/[^/]+/operations/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+name}:cancel", +"response": { +"$ref": "GoogleProtobufEmpty" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"delete": { +"description": "Deletes a long-running operation. This method indicates that the client is no longer interested in the operation result. It does not cancel the operation. If the server doesn't support this method, it returns `google.rpc.Code.UNIMPLEMENTED`.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/endpoints/{endpointsId}/operations/{operationsId}", +"httpMethod": "DELETE", +"id": "aiplatform.projects.locations.endpoints.operations.delete", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "The name of the operation resource to be deleted.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/endpoints/[^/]+/operations/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+name}", +"response": { +"$ref": "GoogleProtobufEmpty" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"get": { +"description": "Gets the latest state of a long-running operation. Clients can use this method to poll the operation result at intervals as recommended by the API service.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/endpoints/{endpointsId}/operations/{operationsId}", +"httpMethod": "GET", +"id": "aiplatform.projects.locations.endpoints.operations.get", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "The name of the operation resource.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/endpoints/[^/]+/operations/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+name}", +"response": { +"$ref": "GoogleLongrunningOperation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"list": { +"description": "Lists operations that match the specified filter in the request. If the server doesn't support this method, it returns `UNIMPLEMENTED`.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/endpoints/{endpointsId}/operations", +"httpMethod": "GET", +"id": "aiplatform.projects.locations.endpoints.operations.list", +"parameterOrder": [ +"name" +], +"parameters": { +"filter": { +"description": "The standard list filter.", +"location": "query", +"type": "string" +}, +"name": { +"description": "The name of the operation's parent resource.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/endpoints/[^/]+$", +"required": true, +"type": "string" +}, +"pageSize": { +"description": "The standard list page size.", +"format": "int32", +"location": "query", +"type": "integer" +}, +"pageToken": { +"description": "The standard list page token.", +"location": "query", +"type": "string" +} +}, +"path": "v1/{+name}/operations", +"response": { +"$ref": "GoogleLongrunningListOperationsResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"wait": { +"description": "Waits until the specified long-running operation is done or reaches at most a specified timeout, returning the latest state. If the operation is already done, the latest state is immediately returned. If the timeout specified is greater than the default HTTP/RPC timeout, the HTTP/RPC timeout is used. If the server does not support this method, it returns `google.rpc.Code.UNIMPLEMENTED`. Note that this method is on a best-effort basis. It may return the latest state before the specified timeout (including immediately), meaning even an immediate response is no guarantee that the operation is done.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/endpoints/{endpointsId}/operations/{operationsId}:wait", +"httpMethod": "POST", +"id": "aiplatform.projects.locations.endpoints.operations.wait", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "The name of the operation resource to wait on.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/endpoints/[^/]+/operations/[^/]+$", +"required": true, +"type": "string" +}, +"timeout": { +"description": "The maximum duration to wait before timing out. If left blank, the wait will be at most the time permitted by the underlying HTTP/RPC protocol. If RPC context deadline is also specified, the shorter one will be used.", +"format": "google-duration", +"location": "query", +"type": "string" +} +}, +"path": "v1/{+name}:wait", +"response": { +"$ref": "GoogleLongrunningOperation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +} +} +} +} +}, +"featureGroups": { +"methods": { +"create": { +"description": "Creates a new FeatureGroup in a given project and location.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/featureGroups", +"httpMethod": "POST", +"id": "aiplatform.projects.locations.featureGroups.create", +"parameterOrder": [ +"parent" +], +"parameters": { +"featureGroupId": { +"description": "Required. The ID to use for this FeatureGroup, which will become the final component of the FeatureGroup's resource name. This value may be up to 128 characters, and valid characters are `[a-z0-9_]`. The first character cannot be a number. The value must be unique within the project and location.", +"location": "query", +"type": "string" +}, +"parent": { +"description": "Required. The resource name of the Location to create FeatureGroups. Format: `projects/{project}/locations/{location}`", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+parent}/featureGroups", +"request": { +"$ref": "GoogleCloudAiplatformV1FeatureGroup" +}, +"response": { +"$ref": "GoogleLongrunningOperation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"delete": { +"description": "Deletes a single FeatureGroup.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/featureGroups/{featureGroupsId}", +"httpMethod": "DELETE", +"id": "aiplatform.projects.locations.featureGroups.delete", +"parameterOrder": [ +"name" +], +"parameters": { +"force": { +"description": "If set to true, any Features under this FeatureGroup will also be deleted. (Otherwise, the request will only work if the FeatureGroup has no Features.)", +"location": "query", +"type": "boolean" +}, +"name": { +"description": "Required. The name of the FeatureGroup to be deleted. Format: `projects/{project}/locations/{location}/featureGroups/{feature_group}`", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/featureGroups/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+name}", +"response": { +"$ref": "GoogleLongrunningOperation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"get": { +"description": "Gets details of a single FeatureGroup.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/featureGroups/{featureGroupsId}", +"httpMethod": "GET", +"id": "aiplatform.projects.locations.featureGroups.get", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. The name of the FeatureGroup resource.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/featureGroups/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+name}", +"response": { +"$ref": "GoogleCloudAiplatformV1FeatureGroup" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"list": { +"description": "Lists FeatureGroups in a given project and location.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/featureGroups", +"httpMethod": "GET", +"id": "aiplatform.projects.locations.featureGroups.list", +"parameterOrder": [ +"parent" +], +"parameters": { +"filter": { +"description": "Lists the FeatureGroups that match the filter expression. The following fields are supported: * `create_time`: Supports `=`, `!=`, `<`, `>`, `<=`, and `>=` comparisons. Values must be in RFC 3339 format. * `update_time`: Supports `=`, `!=`, `<`, `>`, `<=`, and `>=` comparisons. Values must be in RFC 3339 format. * `labels`: Supports key-value equality and key presence. Examples: * `create_time > \"2020-01-01\" OR update_time > \"2020-01-01\"` FeatureGroups created or updated after 2020-01-01. * `labels.env = \"prod\"` FeatureGroups with label \"env\" set to \"prod\".", +"location": "query", +"type": "string" +}, +"orderBy": { +"description": "A comma-separated list of fields to order by, sorted in ascending order. Use \"desc\" after a field name for descending. Supported Fields: * `create_time` * `update_time`", +"location": "query", +"type": "string" +}, +"pageSize": { +"description": "The maximum number of FeatureGroups to return. The service may return fewer than this value. If unspecified, at most 100 FeatureGroups will be returned. The maximum value is 100; any value greater than 100 will be coerced to 100.", +"format": "int32", +"location": "query", +"type": "integer" +}, +"pageToken": { +"description": "A page token, received from a previous FeatureRegistryService.ListFeatureGroups call. Provide this to retrieve the subsequent page. When paginating, all other parameters provided to FeatureRegistryService.ListFeatureGroups must match the call that provided the page token.", +"location": "query", +"type": "string" +}, +"parent": { +"description": "Required. The resource name of the Location to list FeatureGroups. Format: `projects/{project}/locations/{location}`", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+parent}/featureGroups", +"response": { +"$ref": "GoogleCloudAiplatformV1ListFeatureGroupsResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"patch": { +"description": "Updates the parameters of a single FeatureGroup.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/featureGroups/{featureGroupsId}", +"httpMethod": "PATCH", +"id": "aiplatform.projects.locations.featureGroups.patch", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Identifier. Name of the FeatureGroup. Format: `projects/{project}/locations/{location}/featureGroups/{featureGroup}`", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/featureGroups/[^/]+$", +"required": true, +"type": "string" +}, +"updateMask": { +"description": "Field mask is used to specify the fields to be overwritten in the FeatureGroup resource by the update. The fields specified in the update_mask are relative to the resource, not the full request. A field will be overwritten if it is in the mask. If the user does not provide a mask then only the non-empty fields present in the request will be overwritten. Set the update_mask to `*` to override all fields. Updatable fields: * `labels` * `description` * `big_query` * `big_query.entity_id_columns`", +"format": "google-fieldmask", +"location": "query", +"type": "string" +} +}, +"path": "v1/{+name}", +"request": { +"$ref": "GoogleCloudAiplatformV1FeatureGroup" +}, +"response": { +"$ref": "GoogleLongrunningOperation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +} +}, +"resources": { +"features": { +"methods": { +"batchCreate": { +"description": "Creates a batch of Features in a given FeatureGroup.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/featureGroups/{featureGroupsId}/features:batchCreate", +"httpMethod": "POST", +"id": "aiplatform.projects.locations.featureGroups.features.batchCreate", +"parameterOrder": [ +"parent" +], +"parameters": { +"parent": { +"description": "Required. The resource name of the EntityType/FeatureGroup to create the batch of Features under. Format: `projects/{project}/locations/{location}/featurestores/{featurestore}/entityTypes/{entity_type}` `projects/{project}/locations/{location}/featureGroups/{feature_group}`", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/featureGroups/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+parent}/features:batchCreate", +"request": { +"$ref": "GoogleCloudAiplatformV1BatchCreateFeaturesRequest" +}, +"response": { +"$ref": "GoogleLongrunningOperation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"create": { +"description": "Creates a new Feature in a given FeatureGroup.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/featureGroups/{featureGroupsId}/features", +"httpMethod": "POST", +"id": "aiplatform.projects.locations.featureGroups.features.create", +"parameterOrder": [ +"parent" +], +"parameters": { +"featureId": { +"description": "Required. The ID to use for the Feature, which will become the final component of the Feature's resource name. This value may be up to 128 characters, and valid characters are `[a-z0-9_]`. The first character cannot be a number. The value must be unique within an EntityType/FeatureGroup.", +"location": "query", +"type": "string" +}, +"parent": { +"description": "Required. The resource name of the EntityType or FeatureGroup to create a Feature. Format for entity_type as parent: `projects/{project}/locations/{location}/featurestores/{featurestore}/entityTypes/{entity_type}` Format for feature_group as parent: `projects/{project}/locations/{location}/featureGroups/{feature_group}`", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/featureGroups/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+parent}/features", +"request": { +"$ref": "GoogleCloudAiplatformV1Feature" +}, +"response": { +"$ref": "GoogleLongrunningOperation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"delete": { +"description": "Deletes a single Feature.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/featureGroups/{featureGroupsId}/features/{featuresId}", +"httpMethod": "DELETE", +"id": "aiplatform.projects.locations.featureGroups.features.delete", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. The name of the Features to be deleted. Format: `projects/{project}/locations/{location}/featurestores/{featurestore}/entityTypes/{entity_type}/features/{feature}` `projects/{project}/locations/{location}/featureGroups/{feature_group}/features/{feature}`", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/featureGroups/[^/]+/features/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+name}", +"response": { +"$ref": "GoogleLongrunningOperation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"get": { +"description": "Gets details of a single Feature.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/featureGroups/{featureGroupsId}/features/{featuresId}", +"httpMethod": "GET", +"id": "aiplatform.projects.locations.featureGroups.features.get", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. The name of the Feature resource. Format for entity_type as parent: `projects/{project}/locations/{location}/featurestores/{featurestore}/entityTypes/{entity_type}` Format for feature_group as parent: `projects/{project}/locations/{location}/featureGroups/{feature_group}`", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/featureGroups/[^/]+/features/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+name}", +"response": { +"$ref": "GoogleCloudAiplatformV1Feature" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"list": { +"description": "Lists Features in a given FeatureGroup.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/featureGroups/{featureGroupsId}/features", +"httpMethod": "GET", +"id": "aiplatform.projects.locations.featureGroups.features.list", +"parameterOrder": [ +"parent" +], +"parameters": { +"filter": { +"description": "Lists the Features that match the filter expression. The following filters are supported: * `value_type`: Supports = and != comparisons. * `create_time`: Supports =, !=, <, >, >=, and <= comparisons. Values must be in RFC 3339 format. * `update_time`: Supports =, !=, <, >, >=, and <= comparisons. Values must be in RFC 3339 format. * `labels`: Supports key-value equality as well as key presence. Examples: * `value_type = DOUBLE` --> Features whose type is DOUBLE. * `create_time > \\\"2020-01-31T15:30:00.000000Z\\\" OR update_time > \\\"2020-01-31T15:30:00.000000Z\\\"` --> EntityTypes created or updated after 2020-01-31T15:30:00.000000Z. * `labels.active = yes AND labels.env = prod` --> Features having both (active: yes) and (env: prod) labels. * `labels.env: *` --> Any Feature which has a label with 'env' as the key.", +"location": "query", +"type": "string" +}, +"latestStatsCount": { +"description": "Only applicable for Vertex AI Feature Store (Legacy). If set, return the most recent ListFeaturesRequest.latest_stats_count of stats for each Feature in response. Valid value is [0, 10]. If number of stats exists < ListFeaturesRequest.latest_stats_count, return all existing stats.", +"format": "int32", +"location": "query", +"type": "integer" +}, +"orderBy": { +"description": "A comma-separated list of fields to order by, sorted in ascending order. Use \"desc\" after a field name for descending. Supported fields: * `feature_id` * `value_type` (Not supported for FeatureRegistry Feature) * `create_time` * `update_time`", +"location": "query", +"type": "string" +}, +"pageSize": { +"description": "The maximum number of Features to return. The service may return fewer than this value. If unspecified, at most 1000 Features will be returned. The maximum value is 1000; any value greater than 1000 will be coerced to 1000.", +"format": "int32", +"location": "query", +"type": "integer" +}, +"pageToken": { +"description": "A page token, received from a previous FeaturestoreService.ListFeatures call or FeatureRegistryService.ListFeatures call. Provide this to retrieve the subsequent page. When paginating, all other parameters provided to FeaturestoreService.ListFeatures or FeatureRegistryService.ListFeatures must match the call that provided the page token.", +"location": "query", +"type": "string" +}, +"parent": { +"description": "Required. The resource name of the Location to list Features. Format for entity_type as parent: `projects/{project}/locations/{location}/featurestores/{featurestore}/entityTypes/{entity_type}` Format for feature_group as parent: `projects/{project}/locations/{location}/featureGroups/{feature_group}`", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/featureGroups/[^/]+$", +"required": true, +"type": "string" +}, +"readMask": { +"description": "Mask specifying which fields to read.", +"format": "google-fieldmask", +"location": "query", +"type": "string" +} +}, +"path": "v1/{+parent}/features", +"response": { +"$ref": "GoogleCloudAiplatformV1ListFeaturesResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"patch": { +"description": "Updates the parameters of a single Feature.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/featureGroups/{featureGroupsId}/features/{featuresId}", +"httpMethod": "PATCH", +"id": "aiplatform.projects.locations.featureGroups.features.patch", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Immutable. Name of the Feature. Format: `projects/{project}/locations/{location}/featurestores/{featurestore}/entityTypes/{entity_type}/features/{feature}` `projects/{project}/locations/{location}/featureGroups/{feature_group}/features/{feature}` The last part feature is assigned by the client. The feature can be up to 64 characters long and can consist only of ASCII Latin letters A-Z and a-z, underscore(_), and ASCII digits 0-9 starting with a letter. The value will be unique given an entity type.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/featureGroups/[^/]+/features/[^/]+$", +"required": true, +"type": "string" +}, +"updateMask": { +"description": "Field mask is used to specify the fields to be overwritten in the Features resource by the update. The fields specified in the update_mask are relative to the resource, not the full request. A field will be overwritten if it is in the mask. If the user does not provide a mask then only the non-empty fields present in the request will be overwritten. Set the update_mask to `*` to override all fields. Updatable fields: * `description` * `labels` * `disable_monitoring` (Not supported for FeatureRegistryService Feature) * `point_of_contact` (Not supported for FeaturestoreService FeatureStore)", +"format": "google-fieldmask", +"location": "query", +"type": "string" +} +}, +"path": "v1/{+name}", +"request": { +"$ref": "GoogleCloudAiplatformV1Feature" +}, +"response": { +"$ref": "GoogleLongrunningOperation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +} +}, +"resources": { +"operations": { +"methods": { +"delete": { +"description": "Deletes a long-running operation. This method indicates that the client is no longer interested in the operation result. It does not cancel the operation. If the server doesn't support this method, it returns `google.rpc.Code.UNIMPLEMENTED`.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/featureGroups/{featureGroupsId}/features/{featuresId}/operations/{operationsId}", +"httpMethod": "DELETE", +"id": "aiplatform.projects.locations.featureGroups.features.operations.delete", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "The name of the operation resource to be deleted.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/featureGroups/[^/]+/features/[^/]+/operations/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+name}", +"response": { +"$ref": "GoogleProtobufEmpty" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"get": { +"description": "Gets the latest state of a long-running operation. Clients can use this method to poll the operation result at intervals as recommended by the API service.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/featureGroups/{featureGroupsId}/features/{featuresId}/operations/{operationsId}", +"httpMethod": "GET", +"id": "aiplatform.projects.locations.featureGroups.features.operations.get", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "The name of the operation resource.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/featureGroups/[^/]+/features/[^/]+/operations/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+name}", +"response": { +"$ref": "GoogleLongrunningOperation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"listWait": { +"description": "Lists operations that match the specified filter in the request. If the server doesn't support this method, it returns `UNIMPLEMENTED`.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/featureGroups/{featureGroupsId}/features/{featuresId}/operations/{operationsId}:wait", +"httpMethod": "GET", +"id": "aiplatform.projects.locations.featureGroups.features.operations.listWait", +"parameterOrder": [ +"name" +], +"parameters": { +"filter": { +"description": "The standard list filter.", +"location": "query", +"type": "string" +}, +"name": { +"description": "The name of the operation's parent resource.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/featureGroups/[^/]+/features/[^/]+/operations/[^/]+$", +"required": true, +"type": "string" +}, +"pageSize": { +"description": "The standard list page size.", +"format": "int32", +"location": "query", +"type": "integer" +}, +"pageToken": { +"description": "The standard list page token.", +"location": "query", +"type": "string" +} +}, +"path": "v1/{+name}:wait", +"response": { +"$ref": "GoogleLongrunningListOperationsResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"wait": { +"description": "Waits until the specified long-running operation is done or reaches at most a specified timeout, returning the latest state. If the operation is already done, the latest state is immediately returned. If the timeout specified is greater than the default HTTP/RPC timeout, the HTTP/RPC timeout is used. If the server does not support this method, it returns `google.rpc.Code.UNIMPLEMENTED`. Note that this method is on a best-effort basis. It may return the latest state before the specified timeout (including immediately), meaning even an immediate response is no guarantee that the operation is done.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/featureGroups/{featureGroupsId}/features/{featuresId}/operations/{operationsId}:wait", +"httpMethod": "POST", +"id": "aiplatform.projects.locations.featureGroups.features.operations.wait", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "The name of the operation resource to wait on.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/featureGroups/[^/]+/features/[^/]+/operations/[^/]+$", +"required": true, +"type": "string" +}, +"timeout": { +"description": "The maximum duration to wait before timing out. If left blank, the wait will be at most the time permitted by the underlying HTTP/RPC protocol. If RPC context deadline is also specified, the shorter one will be used.", +"format": "google-duration", +"location": "query", +"type": "string" +} +}, +"path": "v1/{+name}:wait", +"response": { +"$ref": "GoogleLongrunningOperation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +} +} +} +} +}, +"operations": { +"methods": { +"delete": { +"description": "Deletes a long-running operation. This method indicates that the client is no longer interested in the operation result. It does not cancel the operation. If the server doesn't support this method, it returns `google.rpc.Code.UNIMPLEMENTED`.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/featureGroups/{featureGroupsId}/operations/{operationsId}", +"httpMethod": "DELETE", +"id": "aiplatform.projects.locations.featureGroups.operations.delete", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "The name of the operation resource to be deleted.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/featureGroups/[^/]+/operations/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+name}", +"response": { +"$ref": "GoogleProtobufEmpty" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"get": { +"description": "Gets the latest state of a long-running operation. Clients can use this method to poll the operation result at intervals as recommended by the API service.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/featureGroups/{featureGroupsId}/operations/{operationsId}", +"httpMethod": "GET", +"id": "aiplatform.projects.locations.featureGroups.operations.get", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "The name of the operation resource.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/featureGroups/[^/]+/operations/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+name}", +"response": { +"$ref": "GoogleLongrunningOperation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"listWait": { +"description": "Lists operations that match the specified filter in the request. If the server doesn't support this method, it returns `UNIMPLEMENTED`.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/featureGroups/{featureGroupsId}/operations/{operationsId}:wait", +"httpMethod": "GET", +"id": "aiplatform.projects.locations.featureGroups.operations.listWait", +"parameterOrder": [ +"name" +], +"parameters": { +"filter": { +"description": "The standard list filter.", +"location": "query", +"type": "string" +}, +"name": { +"description": "The name of the operation's parent resource.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/featureGroups/[^/]+/operations/[^/]+$", +"required": true, +"type": "string" +}, +"pageSize": { +"description": "The standard list page size.", +"format": "int32", +"location": "query", +"type": "integer" +}, +"pageToken": { +"description": "The standard list page token.", +"location": "query", +"type": "string" +} +}, +"path": "v1/{+name}:wait", +"response": { +"$ref": "GoogleLongrunningListOperationsResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"wait": { +"description": "Waits until the specified long-running operation is done or reaches at most a specified timeout, returning the latest state. If the operation is already done, the latest state is immediately returned. If the timeout specified is greater than the default HTTP/RPC timeout, the HTTP/RPC timeout is used. If the server does not support this method, it returns `google.rpc.Code.UNIMPLEMENTED`. Note that this method is on a best-effort basis. It may return the latest state before the specified timeout (including immediately), meaning even an immediate response is no guarantee that the operation is done.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/featureGroups/{featureGroupsId}/operations/{operationsId}:wait", +"httpMethod": "POST", +"id": "aiplatform.projects.locations.featureGroups.operations.wait", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "The name of the operation resource to wait on.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/featureGroups/[^/]+/operations/[^/]+$", +"required": true, +"type": "string" +}, +"timeout": { +"description": "The maximum duration to wait before timing out. If left blank, the wait will be at most the time permitted by the underlying HTTP/RPC protocol. If RPC context deadline is also specified, the shorter one will be used.", +"format": "google-duration", +"location": "query", +"type": "string" +} +}, +"path": "v1/{+name}:wait", +"response": { +"$ref": "GoogleLongrunningOperation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +} +} +} +} +}, +"featureOnlineStores": { +"methods": { +"create": { +"description": "Creates a new FeatureOnlineStore in a given project and location.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/featureOnlineStores", +"httpMethod": "POST", +"id": "aiplatform.projects.locations.featureOnlineStores.create", +"parameterOrder": [ +"parent" +], +"parameters": { +"featureOnlineStoreId": { +"description": "Required. The ID to use for this FeatureOnlineStore, which will become the final component of the FeatureOnlineStore's resource name. This value may be up to 60 characters, and valid characters are `[a-z0-9_]`. The first character cannot be a number. The value must be unique within the project and location.", +"location": "query", +"type": "string" +}, +"parent": { +"description": "Required. The resource name of the Location to create FeatureOnlineStores. Format: `projects/{project}/locations/{location}`", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+parent}/featureOnlineStores", +"request": { +"$ref": "GoogleCloudAiplatformV1FeatureOnlineStore" +}, +"response": { +"$ref": "GoogleLongrunningOperation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"delete": { +"description": "Deletes a single FeatureOnlineStore. The FeatureOnlineStore must not contain any FeatureViews.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/featureOnlineStores/{featureOnlineStoresId}", +"httpMethod": "DELETE", +"id": "aiplatform.projects.locations.featureOnlineStores.delete", +"parameterOrder": [ +"name" +], +"parameters": { +"force": { +"description": "If set to true, any FeatureViews and Features for this FeatureOnlineStore will also be deleted. (Otherwise, the request will only work if the FeatureOnlineStore has no FeatureViews.)", +"location": "query", +"type": "boolean" +}, +"name": { +"description": "Required. The name of the FeatureOnlineStore to be deleted. Format: `projects/{project}/locations/{location}/featureOnlineStores/{feature_online_store}`", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/featureOnlineStores/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+name}", +"response": { +"$ref": "GoogleLongrunningOperation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"get": { +"description": "Gets details of a single FeatureOnlineStore.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/featureOnlineStores/{featureOnlineStoresId}", +"httpMethod": "GET", +"id": "aiplatform.projects.locations.featureOnlineStores.get", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. The name of the FeatureOnlineStore resource.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/featureOnlineStores/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+name}", +"response": { +"$ref": "GoogleCloudAiplatformV1FeatureOnlineStore" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"getIamPolicy": { +"description": "Gets the access control policy for a resource. Returns an empty policy if the resource exists and does not have a policy set.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/featureOnlineStores/{featureOnlineStoresId}:getIamPolicy", +"httpMethod": "POST", +"id": "aiplatform.projects.locations.featureOnlineStores.getIamPolicy", +"parameterOrder": [ +"resource" +], +"parameters": { +"options.requestedPolicyVersion": { +"description": "Optional. The maximum policy version that will be used to format the policy. Valid values are 0, 1, and 3. Requests specifying an invalid value will be rejected. Requests for policies with any conditional role bindings must specify version 3. Policies with no conditional role bindings may specify any valid value or leave the field unset. The policy in the response might use the policy version that you specified, or it might use a lower policy version. For example, if you specify version 3, but the policy has no conditional role bindings, the response uses version 1. To learn which resources support conditions in their IAM policies, see the [IAM documentation](https://cloud.google.com/iam/help/conditions/resource-policies).", +"format": "int32", +"location": "query", +"type": "integer" +}, +"resource": { +"description": "REQUIRED: The resource for which the policy is being requested. See [Resource names](https://cloud.google.com/apis/design/resource_names) for the appropriate value for this field.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/featureOnlineStores/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+resource}:getIamPolicy", +"response": { +"$ref": "GoogleIamV1Policy" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"list": { +"description": "Lists FeatureOnlineStores in a given project and location.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/featureOnlineStores", +"httpMethod": "GET", +"id": "aiplatform.projects.locations.featureOnlineStores.list", +"parameterOrder": [ +"parent" +], +"parameters": { +"filter": { +"description": "Lists the FeatureOnlineStores that match the filter expression. The following fields are supported: * `create_time`: Supports `=`, `!=`, `<`, `>`, `<=`, and `>=` comparisons. Values must be in RFC 3339 format. * `update_time`: Supports `=`, `!=`, `<`, `>`, `<=`, and `>=` comparisons. Values must be in RFC 3339 format. * `labels`: Supports key-value equality and key presence. Examples: * `create_time > \"2020-01-01\" OR update_time > \"2020-01-01\"` FeatureOnlineStores created or updated after 2020-01-01. * `labels.env = \"prod\"` FeatureOnlineStores with label \"env\" set to \"prod\".", +"location": "query", +"type": "string" +}, +"orderBy": { +"description": "A comma-separated list of fields to order by, sorted in ascending order. Use \"desc\" after a field name for descending. Supported Fields: * `create_time` * `update_time`", +"location": "query", +"type": "string" +}, +"pageSize": { +"description": "The maximum number of FeatureOnlineStores to return. The service may return fewer than this value. If unspecified, at most 100 FeatureOnlineStores will be returned. The maximum value is 100; any value greater than 100 will be coerced to 100.", +"format": "int32", +"location": "query", +"type": "integer" +}, +"pageToken": { +"description": "A page token, received from a previous FeatureOnlineStoreAdminService.ListFeatureOnlineStores call. Provide this to retrieve the subsequent page. When paginating, all other parameters provided to FeatureOnlineStoreAdminService.ListFeatureOnlineStores must match the call that provided the page token.", +"location": "query", +"type": "string" +}, +"parent": { +"description": "Required. The resource name of the Location to list FeatureOnlineStores. Format: `projects/{project}/locations/{location}`", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+parent}/featureOnlineStores", +"response": { +"$ref": "GoogleCloudAiplatformV1ListFeatureOnlineStoresResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"patch": { +"description": "Updates the parameters of a single FeatureOnlineStore.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/featureOnlineStores/{featureOnlineStoresId}", +"httpMethod": "PATCH", +"id": "aiplatform.projects.locations.featureOnlineStores.patch", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Identifier. Name of the FeatureOnlineStore. Format: `projects/{project}/locations/{location}/featureOnlineStores/{featureOnlineStore}`", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/featureOnlineStores/[^/]+$", +"required": true, +"type": "string" +}, +"updateMask": { +"description": "Field mask is used to specify the fields to be overwritten in the FeatureOnlineStore resource by the update. The fields specified in the update_mask are relative to the resource, not the full request. A field will be overwritten if it is in the mask. If the user does not provide a mask then only the non-empty fields present in the request will be overwritten. Set the update_mask to `*` to override all fields. Updatable fields: * `labels` * `description` * `bigtable` * `bigtable.auto_scaling` * `bigtable.enable_multi_region_replica`", +"format": "google-fieldmask", +"location": "query", +"type": "string" +} +}, +"path": "v1/{+name}", +"request": { +"$ref": "GoogleCloudAiplatformV1FeatureOnlineStore" +}, +"response": { +"$ref": "GoogleLongrunningOperation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"setIamPolicy": { +"description": "Sets the access control policy on the specified resource. Replaces any existing policy. Can return `NOT_FOUND`, `INVALID_ARGUMENT`, and `PERMISSION_DENIED` errors.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/featureOnlineStores/{featureOnlineStoresId}:setIamPolicy", +"httpMethod": "POST", +"id": "aiplatform.projects.locations.featureOnlineStores.setIamPolicy", +"parameterOrder": [ +"resource" +], +"parameters": { +"resource": { +"description": "REQUIRED: The resource for which the policy is being specified. See [Resource names](https://cloud.google.com/apis/design/resource_names) for the appropriate value for this field.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/featureOnlineStores/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+resource}:setIamPolicy", +"request": { +"$ref": "GoogleIamV1SetIamPolicyRequest" +}, +"response": { +"$ref": "GoogleIamV1Policy" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"testIamPermissions": { +"description": "Returns permissions that a caller has on the specified resource. If the resource does not exist, this will return an empty set of permissions, not a `NOT_FOUND` error. Note: This operation is designed to be used for building permission-aware UIs and command-line tools, not for authorization checking. This operation may \"fail open\" without warning.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/featureOnlineStores/{featureOnlineStoresId}:testIamPermissions", +"httpMethod": "POST", +"id": "aiplatform.projects.locations.featureOnlineStores.testIamPermissions", +"parameterOrder": [ +"resource" +], +"parameters": { +"permissions": { +"description": "The set of permissions to check for the `resource`. Permissions with wildcards (such as `*` or `storage.*`) are not allowed. For more information see [IAM Overview](https://cloud.google.com/iam/docs/overview#permissions).", +"location": "query", +"repeated": true, +"type": "string" +}, +"resource": { +"description": "REQUIRED: The resource for which the policy detail is being requested. See [Resource names](https://cloud.google.com/apis/design/resource_names) for the appropriate value for this field.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/featureOnlineStores/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+resource}:testIamPermissions", +"response": { +"$ref": "GoogleIamV1TestIamPermissionsResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +} +}, +"resources": { +"featureViews": { +"methods": { +"create": { +"description": "Creates a new FeatureView in a given FeatureOnlineStore.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/featureOnlineStores/{featureOnlineStoresId}/featureViews", +"httpMethod": "POST", +"id": "aiplatform.projects.locations.featureOnlineStores.featureViews.create", +"parameterOrder": [ +"parent" +], +"parameters": { +"featureViewId": { +"description": "Required. The ID to use for the FeatureView, which will become the final component of the FeatureView's resource name. This value may be up to 60 characters, and valid characters are `[a-z0-9_]`. The first character cannot be a number. The value must be unique within a FeatureOnlineStore.", +"location": "query", +"type": "string" +}, +"parent": { +"description": "Required. The resource name of the FeatureOnlineStore to create FeatureViews. Format: `projects/{project}/locations/{location}/featureOnlineStores/{feature_online_store}`", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/featureOnlineStores/[^/]+$", +"required": true, +"type": "string" +}, +"runSyncImmediately": { +"description": "Immutable. If set to true, one on demand sync will be run immediately, regardless whether the FeatureView.sync_config is configured or not.", +"location": "query", +"type": "boolean" +} +}, +"path": "v1/{+parent}/featureViews", +"request": { +"$ref": "GoogleCloudAiplatformV1FeatureView" +}, +"response": { +"$ref": "GoogleLongrunningOperation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"delete": { +"description": "Deletes a single FeatureView.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/featureOnlineStores/{featureOnlineStoresId}/featureViews/{featureViewsId}", +"httpMethod": "DELETE", +"id": "aiplatform.projects.locations.featureOnlineStores.featureViews.delete", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. The name of the FeatureView to be deleted. Format: `projects/{project}/locations/{location}/featureOnlineStores/{feature_online_store}/featureViews/{feature_view}`", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/featureOnlineStores/[^/]+/featureViews/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+name}", +"response": { +"$ref": "GoogleLongrunningOperation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"fetchFeatureValues": { +"description": "Fetch feature values under a FeatureView.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/featureOnlineStores/{featureOnlineStoresId}/featureViews/{featureViewsId}:fetchFeatureValues", +"httpMethod": "POST", +"id": "aiplatform.projects.locations.featureOnlineStores.featureViews.fetchFeatureValues", +"parameterOrder": [ +"featureView" +], +"parameters": { +"featureView": { +"description": "Required. FeatureView resource format `projects/{project}/locations/{location}/featureOnlineStores/{featureOnlineStore}/featureViews/{featureView}`", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/featureOnlineStores/[^/]+/featureViews/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+featureView}:fetchFeatureValues", +"request": { +"$ref": "GoogleCloudAiplatformV1FetchFeatureValuesRequest" +}, +"response": { +"$ref": "GoogleCloudAiplatformV1FetchFeatureValuesResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"get": { +"description": "Gets details of a single FeatureView.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/featureOnlineStores/{featureOnlineStoresId}/featureViews/{featureViewsId}", +"httpMethod": "GET", +"id": "aiplatform.projects.locations.featureOnlineStores.featureViews.get", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. The name of the FeatureView resource. Format: `projects/{project}/locations/{location}/featureOnlineStores/{feature_online_store}/featureViews/{feature_view}`", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/featureOnlineStores/[^/]+/featureViews/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+name}", +"response": { +"$ref": "GoogleCloudAiplatformV1FeatureView" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"getIamPolicy": { +"description": "Gets the access control policy for a resource. Returns an empty policy if the resource exists and does not have a policy set.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/featureOnlineStores/{featureOnlineStoresId}/featureViews/{featureViewsId}:getIamPolicy", +"httpMethod": "POST", +"id": "aiplatform.projects.locations.featureOnlineStores.featureViews.getIamPolicy", +"parameterOrder": [ +"resource" +], +"parameters": { +"options.requestedPolicyVersion": { +"description": "Optional. The maximum policy version that will be used to format the policy. Valid values are 0, 1, and 3. Requests specifying an invalid value will be rejected. Requests for policies with any conditional role bindings must specify version 3. Policies with no conditional role bindings may specify any valid value or leave the field unset. The policy in the response might use the policy version that you specified, or it might use a lower policy version. For example, if you specify version 3, but the policy has no conditional role bindings, the response uses version 1. To learn which resources support conditions in their IAM policies, see the [IAM documentation](https://cloud.google.com/iam/help/conditions/resource-policies).", +"format": "int32", +"location": "query", +"type": "integer" +}, +"resource": { +"description": "REQUIRED: The resource for which the policy is being requested. See [Resource names](https://cloud.google.com/apis/design/resource_names) for the appropriate value for this field.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/featureOnlineStores/[^/]+/featureViews/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+resource}:getIamPolicy", +"response": { +"$ref": "GoogleIamV1Policy" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"list": { +"description": "Lists FeatureViews in a given FeatureOnlineStore.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/featureOnlineStores/{featureOnlineStoresId}/featureViews", +"httpMethod": "GET", +"id": "aiplatform.projects.locations.featureOnlineStores.featureViews.list", +"parameterOrder": [ +"parent" +], +"parameters": { +"filter": { +"description": "Lists the FeatureViews that match the filter expression. The following filters are supported: * `create_time`: Supports `=`, `!=`, `<`, `>`, `>=`, and `<=` comparisons. Values must be in RFC 3339 format. * `update_time`: Supports `=`, `!=`, `<`, `>`, `>=`, and `<=` comparisons. Values must be in RFC 3339 format. * `labels`: Supports key-value equality as well as key presence. Examples: * `create_time > \\\"2020-01-31T15:30:00.000000Z\\\" OR update_time > \\\"2020-01-31T15:30:00.000000Z\\\"` --> FeatureViews created or updated after 2020-01-31T15:30:00.000000Z. * `labels.active = yes AND labels.env = prod` --> FeatureViews having both (active: yes) and (env: prod) labels. * `labels.env: *` --> Any FeatureView which has a label with 'env' as the key.", +"location": "query", +"type": "string" +}, +"orderBy": { +"description": "A comma-separated list of fields to order by, sorted in ascending order. Use \"desc\" after a field name for descending. Supported fields: * `feature_view_id` * `create_time` * `update_time`", +"location": "query", +"type": "string" +}, +"pageSize": { +"description": "The maximum number of FeatureViews to return. The service may return fewer than this value. If unspecified, at most 1000 FeatureViews will be returned. The maximum value is 1000; any value greater than 1000 will be coerced to 1000.", +"format": "int32", +"location": "query", +"type": "integer" +}, +"pageToken": { +"description": "A page token, received from a previous FeatureOnlineStoreAdminService.ListFeatureViews call. Provide this to retrieve the subsequent page. When paginating, all other parameters provided to FeatureOnlineStoreAdminService.ListFeatureViews must match the call that provided the page token.", +"location": "query", +"type": "string" +}, +"parent": { +"description": "Required. The resource name of the FeatureOnlineStore to list FeatureViews. Format: `projects/{project}/locations/{location}/featureOnlineStores/{feature_online_store}`", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/featureOnlineStores/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+parent}/featureViews", +"response": { +"$ref": "GoogleCloudAiplatformV1ListFeatureViewsResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"patch": { +"description": "Updates the parameters of a single FeatureView.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/featureOnlineStores/{featureOnlineStoresId}/featureViews/{featureViewsId}", +"httpMethod": "PATCH", +"id": "aiplatform.projects.locations.featureOnlineStores.featureViews.patch", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Identifier. Name of the FeatureView. Format: `projects/{project}/locations/{location}/featureOnlineStores/{feature_online_store}/featureViews/{feature_view}`", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/featureOnlineStores/[^/]+/featureViews/[^/]+$", +"required": true, +"type": "string" +}, +"updateMask": { +"description": "Field mask is used to specify the fields to be overwritten in the FeatureView resource by the update. The fields specified in the update_mask are relative to the resource, not the full request. A field will be overwritten if it is in the mask. If the user does not provide a mask then only the non-empty fields present in the request will be overwritten. Set the update_mask to `*` to override all fields. Updatable fields: * `labels` * `service_agent_type` * `big_query_source` * `big_query_source.uri` * `big_query_source.entity_id_columns` * `feature_registry_source` * `feature_registry_source.feature_groups` * `sync_config` * `sync_config.cron` * `optimized_config.automatic_resources`", +"format": "google-fieldmask", +"location": "query", +"type": "string" +} +}, +"path": "v1/{+name}", +"request": { +"$ref": "GoogleCloudAiplatformV1FeatureView" +}, +"response": { +"$ref": "GoogleLongrunningOperation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"searchNearestEntities": { +"description": "Search the nearest entities under a FeatureView. Search only works for indexable feature view; if a feature view isn't indexable, returns Invalid argument response.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/featureOnlineStores/{featureOnlineStoresId}/featureViews/{featureViewsId}:searchNearestEntities", +"httpMethod": "POST", +"id": "aiplatform.projects.locations.featureOnlineStores.featureViews.searchNearestEntities", +"parameterOrder": [ +"featureView" +], +"parameters": { +"featureView": { +"description": "Required. FeatureView resource format `projects/{project}/locations/{location}/featureOnlineStores/{featureOnlineStore}/featureViews/{featureView}`", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/featureOnlineStores/[^/]+/featureViews/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+featureView}:searchNearestEntities", +"request": { +"$ref": "GoogleCloudAiplatformV1SearchNearestEntitiesRequest" +}, +"response": { +"$ref": "GoogleCloudAiplatformV1SearchNearestEntitiesResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"setIamPolicy": { +"description": "Sets the access control policy on the specified resource. Replaces any existing policy. Can return `NOT_FOUND`, `INVALID_ARGUMENT`, and `PERMISSION_DENIED` errors.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/featureOnlineStores/{featureOnlineStoresId}/featureViews/{featureViewsId}:setIamPolicy", +"httpMethod": "POST", +"id": "aiplatform.projects.locations.featureOnlineStores.featureViews.setIamPolicy", +"parameterOrder": [ +"resource" +], +"parameters": { +"resource": { +"description": "REQUIRED: The resource for which the policy is being specified. See [Resource names](https://cloud.google.com/apis/design/resource_names) for the appropriate value for this field.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/featureOnlineStores/[^/]+/featureViews/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+resource}:setIamPolicy", +"request": { +"$ref": "GoogleIamV1SetIamPolicyRequest" +}, +"response": { +"$ref": "GoogleIamV1Policy" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"sync": { +"description": "Triggers on-demand sync for the FeatureView.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/featureOnlineStores/{featureOnlineStoresId}/featureViews/{featureViewsId}:sync", +"httpMethod": "POST", +"id": "aiplatform.projects.locations.featureOnlineStores.featureViews.sync", +"parameterOrder": [ +"featureView" +], +"parameters": { +"featureView": { +"description": "Required. Format: `projects/{project}/locations/{location}/featureOnlineStores/{feature_online_store}/featureViews/{feature_view}`", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/featureOnlineStores/[^/]+/featureViews/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+featureView}:sync", +"request": { +"$ref": "GoogleCloudAiplatformV1SyncFeatureViewRequest" +}, +"response": { +"$ref": "GoogleCloudAiplatformV1SyncFeatureViewResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"testIamPermissions": { +"description": "Returns permissions that a caller has on the specified resource. If the resource does not exist, this will return an empty set of permissions, not a `NOT_FOUND` error. Note: This operation is designed to be used for building permission-aware UIs and command-line tools, not for authorization checking. This operation may \"fail open\" without warning.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/featureOnlineStores/{featureOnlineStoresId}/featureViews/{featureViewsId}:testIamPermissions", +"httpMethod": "POST", +"id": "aiplatform.projects.locations.featureOnlineStores.featureViews.testIamPermissions", +"parameterOrder": [ +"resource" +], +"parameters": { +"permissions": { +"description": "The set of permissions to check for the `resource`. Permissions with wildcards (such as `*` or `storage.*`) are not allowed. For more information see [IAM Overview](https://cloud.google.com/iam/docs/overview#permissions).", +"location": "query", +"repeated": true, +"type": "string" +}, +"resource": { +"description": "REQUIRED: The resource for which the policy detail is being requested. See [Resource names](https://cloud.google.com/apis/design/resource_names) for the appropriate value for this field.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/featureOnlineStores/[^/]+/featureViews/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+resource}:testIamPermissions", +"response": { +"$ref": "GoogleIamV1TestIamPermissionsResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +} +}, +"resources": { +"featureViewSyncs": { +"methods": { +"get": { +"description": "Gets details of a single FeatureViewSync.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/featureOnlineStores/{featureOnlineStoresId}/featureViews/{featureViewsId}/featureViewSyncs/{featureViewSyncsId}", +"httpMethod": "GET", +"id": "aiplatform.projects.locations.featureOnlineStores.featureViews.featureViewSyncs.get", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. The name of the FeatureViewSync resource. Format: `projects/{project}/locations/{location}/featureOnlineStores/{feature_online_store}/featureViews/{feature_view}/featureViewSyncs/{feature_view_sync}`", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/featureOnlineStores/[^/]+/featureViews/[^/]+/featureViewSyncs/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+name}", +"response": { +"$ref": "GoogleCloudAiplatformV1FeatureViewSync" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"list": { +"description": "Lists FeatureViewSyncs in a given FeatureView.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/featureOnlineStores/{featureOnlineStoresId}/featureViews/{featureViewsId}/featureViewSyncs", +"httpMethod": "GET", +"id": "aiplatform.projects.locations.featureOnlineStores.featureViews.featureViewSyncs.list", +"parameterOrder": [ +"parent" +], +"parameters": { +"filter": { +"description": "Lists the FeatureViewSyncs that match the filter expression. The following filters are supported: * `create_time`: Supports `=`, `!=`, `<`, `>`, `>=`, and `<=` comparisons. Values must be in RFC 3339 format. Examples: * `create_time > \\\"2020-01-31T15:30:00.000000Z\\\"` --> FeatureViewSyncs created after 2020-01-31T15:30:00.000000Z.", +"location": "query", +"type": "string" +}, +"orderBy": { +"description": "A comma-separated list of fields to order by, sorted in ascending order. Use \"desc\" after a field name for descending. Supported fields: * `create_time`", +"location": "query", +"type": "string" +}, +"pageSize": { +"description": "The maximum number of FeatureViewSyncs to return. The service may return fewer than this value. If unspecified, at most 1000 FeatureViewSyncs will be returned. The maximum value is 1000; any value greater than 1000 will be coerced to 1000.", +"format": "int32", +"location": "query", +"type": "integer" +}, +"pageToken": { +"description": "A page token, received from a previous FeatureOnlineStoreAdminService.ListFeatureViewSyncs call. Provide this to retrieve the subsequent page. When paginating, all other parameters provided to FeatureOnlineStoreAdminService.ListFeatureViewSyncs must match the call that provided the page token.", +"location": "query", +"type": "string" +}, +"parent": { +"description": "Required. The resource name of the FeatureView to list FeatureViewSyncs. Format: `projects/{project}/locations/{location}/featureOnlineStores/{feature_online_store}/featureViews/{feature_view}`", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/featureOnlineStores/[^/]+/featureViews/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+parent}/featureViewSyncs", +"response": { +"$ref": "GoogleCloudAiplatformV1ListFeatureViewSyncsResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +} +} +}, +"operations": { +"methods": { +"delete": { +"description": "Deletes a long-running operation. This method indicates that the client is no longer interested in the operation result. It does not cancel the operation. If the server doesn't support this method, it returns `google.rpc.Code.UNIMPLEMENTED`.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/featureOnlineStores/{featureOnlineStoresId}/featureViews/{featureViewsId}/operations/{operationsId}", +"httpMethod": "DELETE", +"id": "aiplatform.projects.locations.featureOnlineStores.featureViews.operations.delete", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "The name of the operation resource to be deleted.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/featureOnlineStores/[^/]+/featureViews/[^/]+/operations/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+name}", +"response": { +"$ref": "GoogleProtobufEmpty" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"get": { +"description": "Gets the latest state of a long-running operation. Clients can use this method to poll the operation result at intervals as recommended by the API service.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/featureOnlineStores/{featureOnlineStoresId}/featureViews/{featureViewsId}/operations/{operationsId}", +"httpMethod": "GET", +"id": "aiplatform.projects.locations.featureOnlineStores.featureViews.operations.get", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "The name of the operation resource.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/featureOnlineStores/[^/]+/featureViews/[^/]+/operations/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+name}", +"response": { +"$ref": "GoogleLongrunningOperation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"listWait": { +"description": "Lists operations that match the specified filter in the request. If the server doesn't support this method, it returns `UNIMPLEMENTED`.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/featureOnlineStores/{featureOnlineStoresId}/featureViews/{featureViewsId}/operations/{operationsId}:wait", +"httpMethod": "GET", +"id": "aiplatform.projects.locations.featureOnlineStores.featureViews.operations.listWait", +"parameterOrder": [ +"name" +], +"parameters": { +"filter": { +"description": "The standard list filter.", +"location": "query", +"type": "string" +}, +"name": { +"description": "The name of the operation's parent resource.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/featureOnlineStores/[^/]+/featureViews/[^/]+/operations/[^/]+$", +"required": true, +"type": "string" +}, +"pageSize": { +"description": "The standard list page size.", +"format": "int32", +"location": "query", +"type": "integer" +}, +"pageToken": { +"description": "The standard list page token.", +"location": "query", +"type": "string" +} +}, +"path": "v1/{+name}:wait", +"response": { +"$ref": "GoogleLongrunningListOperationsResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"wait": { +"description": "Waits until the specified long-running operation is done or reaches at most a specified timeout, returning the latest state. If the operation is already done, the latest state is immediately returned. If the timeout specified is greater than the default HTTP/RPC timeout, the HTTP/RPC timeout is used. If the server does not support this method, it returns `google.rpc.Code.UNIMPLEMENTED`. Note that this method is on a best-effort basis. It may return the latest state before the specified timeout (including immediately), meaning even an immediate response is no guarantee that the operation is done.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/featureOnlineStores/{featureOnlineStoresId}/featureViews/{featureViewsId}/operations/{operationsId}:wait", +"httpMethod": "POST", +"id": "aiplatform.projects.locations.featureOnlineStores.featureViews.operations.wait", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "The name of the operation resource to wait on.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/featureOnlineStores/[^/]+/featureViews/[^/]+/operations/[^/]+$", +"required": true, +"type": "string" +}, +"timeout": { +"description": "The maximum duration to wait before timing out. If left blank, the wait will be at most the time permitted by the underlying HTTP/RPC protocol. If RPC context deadline is also specified, the shorter one will be used.", +"format": "google-duration", +"location": "query", +"type": "string" +} +}, +"path": "v1/{+name}:wait", +"response": { +"$ref": "GoogleLongrunningOperation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +} +} +} +} +}, +"operations": { +"methods": { +"delete": { +"description": "Deletes a long-running operation. This method indicates that the client is no longer interested in the operation result. It does not cancel the operation. If the server doesn't support this method, it returns `google.rpc.Code.UNIMPLEMENTED`.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/featureOnlineStores/{featureOnlineStoresId}/operations/{operationsId}", +"httpMethod": "DELETE", +"id": "aiplatform.projects.locations.featureOnlineStores.operations.delete", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "The name of the operation resource to be deleted.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/featureOnlineStores/[^/]+/operations/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+name}", +"response": { +"$ref": "GoogleProtobufEmpty" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"get": { +"description": "Gets the latest state of a long-running operation. Clients can use this method to poll the operation result at intervals as recommended by the API service.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/featureOnlineStores/{featureOnlineStoresId}/operations/{operationsId}", +"httpMethod": "GET", +"id": "aiplatform.projects.locations.featureOnlineStores.operations.get", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "The name of the operation resource.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/featureOnlineStores/[^/]+/operations/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+name}", +"response": { +"$ref": "GoogleLongrunningOperation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"listWait": { +"description": "Lists operations that match the specified filter in the request. If the server doesn't support this method, it returns `UNIMPLEMENTED`.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/featureOnlineStores/{featureOnlineStoresId}/operations/{operationsId}:wait", +"httpMethod": "GET", +"id": "aiplatform.projects.locations.featureOnlineStores.operations.listWait", +"parameterOrder": [ +"name" +], +"parameters": { +"filter": { +"description": "The standard list filter.", +"location": "query", +"type": "string" +}, +"name": { +"description": "The name of the operation's parent resource.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/featureOnlineStores/[^/]+/operations/[^/]+$", +"required": true, +"type": "string" +}, +"pageSize": { +"description": "The standard list page size.", +"format": "int32", +"location": "query", +"type": "integer" +}, +"pageToken": { +"description": "The standard list page token.", +"location": "query", +"type": "string" +} +}, +"path": "v1/{+name}:wait", +"response": { +"$ref": "GoogleLongrunningListOperationsResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"wait": { +"description": "Waits until the specified long-running operation is done or reaches at most a specified timeout, returning the latest state. If the operation is already done, the latest state is immediately returned. If the timeout specified is greater than the default HTTP/RPC timeout, the HTTP/RPC timeout is used. If the server does not support this method, it returns `google.rpc.Code.UNIMPLEMENTED`. Note that this method is on a best-effort basis. It may return the latest state before the specified timeout (including immediately), meaning even an immediate response is no guarantee that the operation is done.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/featureOnlineStores/{featureOnlineStoresId}/operations/{operationsId}:wait", +"httpMethod": "POST", +"id": "aiplatform.projects.locations.featureOnlineStores.operations.wait", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "The name of the operation resource to wait on.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/featureOnlineStores/[^/]+/operations/[^/]+$", +"required": true, +"type": "string" +}, +"timeout": { +"description": "The maximum duration to wait before timing out. If left blank, the wait will be at most the time permitted by the underlying HTTP/RPC protocol. If RPC context deadline is also specified, the shorter one will be used.", +"format": "google-duration", +"location": "query", +"type": "string" +} +}, +"path": "v1/{+name}:wait", +"response": { +"$ref": "GoogleLongrunningOperation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +} +} +} +} +}, +"featurestores": { +"methods": { +"batchReadFeatureValues": { +"description": "Batch reads Feature values from a Featurestore. This API enables batch reading Feature values, where each read instance in the batch may read Feature values of entities from one or more EntityTypes. Point-in-time correctness is guaranteed for Feature values of each read instance as of each instance's read timestamp.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/featurestores/{featurestoresId}:batchReadFeatureValues", +"httpMethod": "POST", +"id": "aiplatform.projects.locations.featurestores.batchReadFeatureValues", +"parameterOrder": [ +"featurestore" +], +"parameters": { +"featurestore": { +"description": "Required. The resource name of the Featurestore from which to query Feature values. Format: `projects/{project}/locations/{location}/featurestores/{featurestore}`", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/featurestores/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+featurestore}:batchReadFeatureValues", +"request": { +"$ref": "GoogleCloudAiplatformV1BatchReadFeatureValuesRequest" +}, +"response": { +"$ref": "GoogleLongrunningOperation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"create": { +"description": "Creates a new Featurestore in a given project and location.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/featurestores", +"httpMethod": "POST", +"id": "aiplatform.projects.locations.featurestores.create", +"parameterOrder": [ +"parent" +], +"parameters": { +"featurestoreId": { +"description": "Required. The ID to use for this Featurestore, which will become the final component of the Featurestore's resource name. This value may be up to 60 characters, and valid characters are `[a-z0-9_]`. The first character cannot be a number. The value must be unique within the project and location.", +"location": "query", +"type": "string" +}, +"parent": { +"description": "Required. The resource name of the Location to create Featurestores. Format: `projects/{project}/locations/{location}`", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+parent}/featurestores", +"request": { +"$ref": "GoogleCloudAiplatformV1Featurestore" +}, +"response": { +"$ref": "GoogleLongrunningOperation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"delete": { +"description": "Deletes a single Featurestore. The Featurestore must not contain any EntityTypes or `force` must be set to true for the request to succeed.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/featurestores/{featurestoresId}", +"httpMethod": "DELETE", +"id": "aiplatform.projects.locations.featurestores.delete", +"parameterOrder": [ +"name" +], +"parameters": { +"force": { +"description": "If set to true, any EntityTypes and Features for this Featurestore will also be deleted. (Otherwise, the request will only work if the Featurestore has no EntityTypes.)", +"location": "query", +"type": "boolean" +}, +"name": { +"description": "Required. The name of the Featurestore to be deleted. Format: `projects/{project}/locations/{location}/featurestores/{featurestore}`", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/featurestores/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+name}", +"response": { +"$ref": "GoogleLongrunningOperation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"get": { +"description": "Gets details of a single Featurestore.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/featurestores/{featurestoresId}", +"httpMethod": "GET", +"id": "aiplatform.projects.locations.featurestores.get", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. The name of the Featurestore resource.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/featurestores/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+name}", +"response": { +"$ref": "GoogleCloudAiplatformV1Featurestore" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"getIamPolicy": { +"description": "Gets the access control policy for a resource. Returns an empty policy if the resource exists and does not have a policy set.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/featurestores/{featurestoresId}:getIamPolicy", +"httpMethod": "POST", +"id": "aiplatform.projects.locations.featurestores.getIamPolicy", +"parameterOrder": [ +"resource" +], +"parameters": { +"options.requestedPolicyVersion": { +"description": "Optional. The maximum policy version that will be used to format the policy. Valid values are 0, 1, and 3. Requests specifying an invalid value will be rejected. Requests for policies with any conditional role bindings must specify version 3. Policies with no conditional role bindings may specify any valid value or leave the field unset. The policy in the response might use the policy version that you specified, or it might use a lower policy version. For example, if you specify version 3, but the policy has no conditional role bindings, the response uses version 1. To learn which resources support conditions in their IAM policies, see the [IAM documentation](https://cloud.google.com/iam/help/conditions/resource-policies).", +"format": "int32", +"location": "query", +"type": "integer" +}, +"resource": { +"description": "REQUIRED: The resource for which the policy is being requested. See [Resource names](https://cloud.google.com/apis/design/resource_names) for the appropriate value for this field.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/featurestores/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+resource}:getIamPolicy", +"response": { +"$ref": "GoogleIamV1Policy" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"list": { +"description": "Lists Featurestores in a given project and location.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/featurestores", +"httpMethod": "GET", +"id": "aiplatform.projects.locations.featurestores.list", +"parameterOrder": [ +"parent" +], +"parameters": { +"filter": { +"description": "Lists the featurestores that match the filter expression. The following fields are supported: * `create_time`: Supports `=`, `!=`, `<`, `>`, `<=`, and `>=` comparisons. Values must be in RFC 3339 format. * `update_time`: Supports `=`, `!=`, `<`, `>`, `<=`, and `>=` comparisons. Values must be in RFC 3339 format. * `online_serving_config.fixed_node_count`: Supports `=`, `!=`, `<`, `>`, `<=`, and `>=` comparisons. * `labels`: Supports key-value equality and key presence. Examples: * `create_time > \"2020-01-01\" OR update_time > \"2020-01-01\"` Featurestores created or updated after 2020-01-01. * `labels.env = \"prod\"` Featurestores with label \"env\" set to \"prod\".", +"location": "query", +"type": "string" +}, +"orderBy": { +"description": "A comma-separated list of fields to order by, sorted in ascending order. Use \"desc\" after a field name for descending. Supported Fields: * `create_time` * `update_time` * `online_serving_config.fixed_node_count`", +"location": "query", +"type": "string" +}, +"pageSize": { +"description": "The maximum number of Featurestores to return. The service may return fewer than this value. If unspecified, at most 100 Featurestores will be returned. The maximum value is 100; any value greater than 100 will be coerced to 100.", +"format": "int32", +"location": "query", +"type": "integer" +}, +"pageToken": { +"description": "A page token, received from a previous FeaturestoreService.ListFeaturestores call. Provide this to retrieve the subsequent page. When paginating, all other parameters provided to FeaturestoreService.ListFeaturestores must match the call that provided the page token.", +"location": "query", +"type": "string" +}, +"parent": { +"description": "Required. The resource name of the Location to list Featurestores. Format: `projects/{project}/locations/{location}`", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+$", +"required": true, +"type": "string" +}, +"readMask": { +"description": "Mask specifying which fields to read.", +"format": "google-fieldmask", +"location": "query", +"type": "string" +} +}, +"path": "v1/{+parent}/featurestores", +"response": { +"$ref": "GoogleCloudAiplatformV1ListFeaturestoresResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"patch": { +"description": "Updates the parameters of a single Featurestore.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/featurestores/{featurestoresId}", +"httpMethod": "PATCH", +"id": "aiplatform.projects.locations.featurestores.patch", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Output only. Name of the Featurestore. Format: `projects/{project}/locations/{location}/featurestores/{featurestore}`", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/featurestores/[^/]+$", +"required": true, +"type": "string" +}, +"updateMask": { +"description": "Field mask is used to specify the fields to be overwritten in the Featurestore resource by the update. The fields specified in the update_mask are relative to the resource, not the full request. A field will be overwritten if it is in the mask. If the user does not provide a mask then only the non-empty fields present in the request will be overwritten. Set the update_mask to `*` to override all fields. Updatable fields: * `labels` * `online_serving_config.fixed_node_count` * `online_serving_config.scaling` * `online_storage_ttl_days`", +"format": "google-fieldmask", +"location": "query", +"type": "string" +} +}, +"path": "v1/{+name}", +"request": { +"$ref": "GoogleCloudAiplatformV1Featurestore" +}, +"response": { +"$ref": "GoogleLongrunningOperation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"searchFeatures": { +"description": "Searches Features matching a query in a given project.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/featurestores:searchFeatures", +"httpMethod": "GET", +"id": "aiplatform.projects.locations.featurestores.searchFeatures", +"parameterOrder": [ +"location" +], +"parameters": { +"location": { +"description": "Required. The resource name of the Location to search Features. Format: `projects/{project}/locations/{location}`", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+$", +"required": true, +"type": "string" +}, +"pageSize": { +"description": "The maximum number of Features to return. The service may return fewer than this value. If unspecified, at most 100 Features will be returned. The maximum value is 100; any value greater than 100 will be coerced to 100.", +"format": "int32", +"location": "query", +"type": "integer" +}, +"pageToken": { +"description": "A page token, received from a previous FeaturestoreService.SearchFeatures call. Provide this to retrieve the subsequent page. When paginating, all other parameters provided to FeaturestoreService.SearchFeatures, except `page_size`, must match the call that provided the page token.", +"location": "query", +"type": "string" +}, +"query": { +"description": "Query string that is a conjunction of field-restricted queries and/or field-restricted filters. Field-restricted queries and filters can be combined using `AND` to form a conjunction. A field query is in the form FIELD:QUERY. This implicitly checks if QUERY exists as a substring within Feature's FIELD. The QUERY and the FIELD are converted to a sequence of words (i.e. tokens) for comparison. This is done by: * Removing leading/trailing whitespace and tokenizing the search value. Characters that are not one of alphanumeric `[a-zA-Z0-9]`, underscore `_`, or asterisk `*` are treated as delimiters for tokens. `*` is treated as a wildcard that matches characters within a token. * Ignoring case. * Prepending an asterisk to the first and appending an asterisk to the last token in QUERY. A QUERY must be either a singular token or a phrase. A phrase is one or multiple words enclosed in double quotation marks (\"). With phrases, the order of the words is important. Words in the phrase must be matching in order and consecutively. Supported FIELDs for field-restricted queries: * `feature_id` * `description` * `entity_type_id` Examples: * `feature_id: foo` --> Matches a Feature with ID containing the substring `foo` (eg. `foo`, `foofeature`, `barfoo`). * `feature_id: foo*feature` --> Matches a Feature with ID containing the substring `foo*feature` (eg. `foobarfeature`). * `feature_id: foo AND description: bar` --> Matches a Feature with ID containing the substring `foo` and description containing the substring `bar`. Besides field queries, the following exact-match filters are supported. The exact-match filters do not support wildcards. Unlike field-restricted queries, exact-match filters are case-sensitive. * `feature_id`: Supports = comparisons. * `description`: Supports = comparisons. Multi-token filters should be enclosed in quotes. * `entity_type_id`: Supports = comparisons. * `value_type`: Supports = and != comparisons. * `labels`: Supports key-value equality as well as key presence. * `featurestore_id`: Supports = comparisons. Examples: * `description = \"foo bar\"` --> Any Feature with description exactly equal to `foo bar` * `value_type = DOUBLE` --> Features whose type is DOUBLE. * `labels.active = yes AND labels.env = prod` --> Features having both (active: yes) and (env: prod) labels. * `labels.env: *` --> Any Feature which has a label with `env` as the key.", +"location": "query", +"type": "string" +} +}, +"path": "v1/{+location}/featurestores:searchFeatures", +"response": { +"$ref": "GoogleCloudAiplatformV1SearchFeaturesResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"setIamPolicy": { +"description": "Sets the access control policy on the specified resource. Replaces any existing policy. Can return `NOT_FOUND`, `INVALID_ARGUMENT`, and `PERMISSION_DENIED` errors.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/featurestores/{featurestoresId}:setIamPolicy", +"httpMethod": "POST", +"id": "aiplatform.projects.locations.featurestores.setIamPolicy", +"parameterOrder": [ +"resource" +], +"parameters": { +"resource": { +"description": "REQUIRED: The resource for which the policy is being specified. See [Resource names](https://cloud.google.com/apis/design/resource_names) for the appropriate value for this field.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/featurestores/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+resource}:setIamPolicy", +"request": { +"$ref": "GoogleIamV1SetIamPolicyRequest" +}, +"response": { +"$ref": "GoogleIamV1Policy" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"testIamPermissions": { +"description": "Returns permissions that a caller has on the specified resource. If the resource does not exist, this will return an empty set of permissions, not a `NOT_FOUND` error. Note: This operation is designed to be used for building permission-aware UIs and command-line tools, not for authorization checking. This operation may \"fail open\" without warning.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/featurestores/{featurestoresId}:testIamPermissions", +"httpMethod": "POST", +"id": "aiplatform.projects.locations.featurestores.testIamPermissions", +"parameterOrder": [ +"resource" +], +"parameters": { +"permissions": { +"description": "The set of permissions to check for the `resource`. Permissions with wildcards (such as `*` or `storage.*`) are not allowed. For more information see [IAM Overview](https://cloud.google.com/iam/docs/overview#permissions).", +"location": "query", +"repeated": true, +"type": "string" +}, +"resource": { +"description": "REQUIRED: The resource for which the policy detail is being requested. See [Resource names](https://cloud.google.com/apis/design/resource_names) for the appropriate value for this field.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/featurestores/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+resource}:testIamPermissions", +"response": { +"$ref": "GoogleIamV1TestIamPermissionsResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +} +}, +"resources": { +"entityTypes": { +"methods": { +"create": { +"description": "Creates a new EntityType in a given Featurestore.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/featurestores/{featurestoresId}/entityTypes", +"httpMethod": "POST", +"id": "aiplatform.projects.locations.featurestores.entityTypes.create", +"parameterOrder": [ +"parent" +], +"parameters": { +"entityTypeId": { +"description": "Required. The ID to use for the EntityType, which will become the final component of the EntityType's resource name. This value may be up to 60 characters, and valid characters are `[a-z0-9_]`. The first character cannot be a number. The value must be unique within a featurestore.", +"location": "query", +"type": "string" +}, +"parent": { +"description": "Required. The resource name of the Featurestore to create EntityTypes. Format: `projects/{project}/locations/{location}/featurestores/{featurestore}`", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/featurestores/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+parent}/entityTypes", +"request": { +"$ref": "GoogleCloudAiplatformV1EntityType" +}, +"response": { +"$ref": "GoogleLongrunningOperation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"delete": { +"description": "Deletes a single EntityType. The EntityType must not have any Features or `force` must be set to true for the request to succeed.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/featurestores/{featurestoresId}/entityTypes/{entityTypesId}", +"httpMethod": "DELETE", +"id": "aiplatform.projects.locations.featurestores.entityTypes.delete", +"parameterOrder": [ +"name" +], +"parameters": { +"force": { +"description": "If set to true, any Features for this EntityType will also be deleted. (Otherwise, the request will only work if the EntityType has no Features.)", +"location": "query", +"type": "boolean" +}, +"name": { +"description": "Required. The name of the EntityType to be deleted. Format: `projects/{project}/locations/{location}/featurestores/{featurestore}/entityTypes/{entity_type}`", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/featurestores/[^/]+/entityTypes/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+name}", +"response": { +"$ref": "GoogleLongrunningOperation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"deleteFeatureValues": { +"description": "Delete Feature values from Featurestore. The progress of the deletion is tracked by the returned operation. The deleted feature values are guaranteed to be invisible to subsequent read operations after the operation is marked as successfully done. If a delete feature values operation fails, the feature values returned from reads and exports may be inconsistent. If consistency is required, the caller must retry the same delete request again and wait till the new operation returned is marked as successfully done.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/featurestores/{featurestoresId}/entityTypes/{entityTypesId}:deleteFeatureValues", +"httpMethod": "POST", +"id": "aiplatform.projects.locations.featurestores.entityTypes.deleteFeatureValues", +"parameterOrder": [ +"entityType" +], +"parameters": { +"entityType": { +"description": "Required. The resource name of the EntityType grouping the Features for which values are being deleted from. Format: `projects/{project}/locations/{location}/featurestores/{featurestore}/entityTypes/{entityType}`", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/featurestores/[^/]+/entityTypes/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+entityType}:deleteFeatureValues", +"request": { +"$ref": "GoogleCloudAiplatformV1DeleteFeatureValuesRequest" +}, +"response": { +"$ref": "GoogleLongrunningOperation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"exportFeatureValues": { +"description": "Exports Feature values from all the entities of a target EntityType.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/featurestores/{featurestoresId}/entityTypes/{entityTypesId}:exportFeatureValues", +"httpMethod": "POST", +"id": "aiplatform.projects.locations.featurestores.entityTypes.exportFeatureValues", +"parameterOrder": [ +"entityType" +], +"parameters": { +"entityType": { +"description": "Required. The resource name of the EntityType from which to export Feature values. Format: `projects/{project}/locations/{location}/featurestores/{featurestore}/entityTypes/{entity_type}`", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/featurestores/[^/]+/entityTypes/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+entityType}:exportFeatureValues", +"request": { +"$ref": "GoogleCloudAiplatformV1ExportFeatureValuesRequest" +}, +"response": { +"$ref": "GoogleLongrunningOperation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"get": { +"description": "Gets details of a single EntityType.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/featurestores/{featurestoresId}/entityTypes/{entityTypesId}", +"httpMethod": "GET", +"id": "aiplatform.projects.locations.featurestores.entityTypes.get", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. The name of the EntityType resource. Format: `projects/{project}/locations/{location}/featurestores/{featurestore}/entityTypes/{entity_type}`", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/featurestores/[^/]+/entityTypes/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+name}", +"response": { +"$ref": "GoogleCloudAiplatformV1EntityType" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"getIamPolicy": { +"description": "Gets the access control policy for a resource. Returns an empty policy if the resource exists and does not have a policy set.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/featurestores/{featurestoresId}/entityTypes/{entityTypesId}:getIamPolicy", +"httpMethod": "POST", +"id": "aiplatform.projects.locations.featurestores.entityTypes.getIamPolicy", +"parameterOrder": [ +"resource" +], +"parameters": { +"options.requestedPolicyVersion": { +"description": "Optional. The maximum policy version that will be used to format the policy. Valid values are 0, 1, and 3. Requests specifying an invalid value will be rejected. Requests for policies with any conditional role bindings must specify version 3. Policies with no conditional role bindings may specify any valid value or leave the field unset. The policy in the response might use the policy version that you specified, or it might use a lower policy version. For example, if you specify version 3, but the policy has no conditional role bindings, the response uses version 1. To learn which resources support conditions in their IAM policies, see the [IAM documentation](https://cloud.google.com/iam/help/conditions/resource-policies).", +"format": "int32", +"location": "query", +"type": "integer" +}, +"resource": { +"description": "REQUIRED: The resource for which the policy is being requested. See [Resource names](https://cloud.google.com/apis/design/resource_names) for the appropriate value for this field.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/featurestores/[^/]+/entityTypes/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+resource}:getIamPolicy", +"response": { +"$ref": "GoogleIamV1Policy" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"importFeatureValues": { +"description": "Imports Feature values into the Featurestore from a source storage. The progress of the import is tracked by the returned operation. The imported features are guaranteed to be visible to subsequent read operations after the operation is marked as successfully done. If an import operation fails, the Feature values returned from reads and exports may be inconsistent. If consistency is required, the caller must retry the same import request again and wait till the new operation returned is marked as successfully done. There are also scenarios where the caller can cause inconsistency. - Source data for import contains multiple distinct Feature values for the same entity ID and timestamp. - Source is modified during an import. This includes adding, updating, or removing source data and/or metadata. Examples of updating metadata include but are not limited to changing storage location, storage class, or retention policy. - Online serving cluster is under-provisioned.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/featurestores/{featurestoresId}/entityTypes/{entityTypesId}:importFeatureValues", +"httpMethod": "POST", +"id": "aiplatform.projects.locations.featurestores.entityTypes.importFeatureValues", +"parameterOrder": [ +"entityType" +], +"parameters": { +"entityType": { +"description": "Required. The resource name of the EntityType grouping the Features for which values are being imported. Format: `projects/{project}/locations/{location}/featurestores/{featurestore}/entityTypes/{entityType}`", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/featurestores/[^/]+/entityTypes/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+entityType}:importFeatureValues", +"request": { +"$ref": "GoogleCloudAiplatformV1ImportFeatureValuesRequest" +}, +"response": { +"$ref": "GoogleLongrunningOperation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"list": { +"description": "Lists EntityTypes in a given Featurestore.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/featurestores/{featurestoresId}/entityTypes", +"httpMethod": "GET", +"id": "aiplatform.projects.locations.featurestores.entityTypes.list", +"parameterOrder": [ +"parent" +], +"parameters": { +"filter": { +"description": "Lists the EntityTypes that match the filter expression. The following filters are supported: * `create_time`: Supports `=`, `!=`, `<`, `>`, `>=`, and `<=` comparisons. Values must be in RFC 3339 format. * `update_time`: Supports `=`, `!=`, `<`, `>`, `>=`, and `<=` comparisons. Values must be in RFC 3339 format. * `labels`: Supports key-value equality as well as key presence. Examples: * `create_time > \\\"2020-01-31T15:30:00.000000Z\\\" OR update_time > \\\"2020-01-31T15:30:00.000000Z\\\"` --> EntityTypes created or updated after 2020-01-31T15:30:00.000000Z. * `labels.active = yes AND labels.env = prod` --> EntityTypes having both (active: yes) and (env: prod) labels. * `labels.env: *` --> Any EntityType which has a label with 'env' as the key.", +"location": "query", +"type": "string" +}, +"orderBy": { +"description": "A comma-separated list of fields to order by, sorted in ascending order. Use \"desc\" after a field name for descending. Supported fields: * `entity_type_id` * `create_time` * `update_time`", +"location": "query", +"type": "string" +}, +"pageSize": { +"description": "The maximum number of EntityTypes to return. The service may return fewer than this value. If unspecified, at most 1000 EntityTypes will be returned. The maximum value is 1000; any value greater than 1000 will be coerced to 1000.", +"format": "int32", +"location": "query", +"type": "integer" +}, +"pageToken": { +"description": "A page token, received from a previous FeaturestoreService.ListEntityTypes call. Provide this to retrieve the subsequent page. When paginating, all other parameters provided to FeaturestoreService.ListEntityTypes must match the call that provided the page token.", +"location": "query", +"type": "string" +}, +"parent": { +"description": "Required. The resource name of the Featurestore to list EntityTypes. Format: `projects/{project}/locations/{location}/featurestores/{featurestore}`", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/featurestores/[^/]+$", +"required": true, +"type": "string" +}, +"readMask": { +"description": "Mask specifying which fields to read.", +"format": "google-fieldmask", +"location": "query", +"type": "string" +} +}, +"path": "v1/{+parent}/entityTypes", +"response": { +"$ref": "GoogleCloudAiplatformV1ListEntityTypesResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"patch": { +"description": "Updates the parameters of a single EntityType.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/featurestores/{featurestoresId}/entityTypes/{entityTypesId}", +"httpMethod": "PATCH", +"id": "aiplatform.projects.locations.featurestores.entityTypes.patch", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Immutable. Name of the EntityType. Format: `projects/{project}/locations/{location}/featurestores/{featurestore}/entityTypes/{entity_type}` The last part entity_type is assigned by the client. The entity_type can be up to 64 characters long and can consist only of ASCII Latin letters A-Z and a-z and underscore(_), and ASCII digits 0-9 starting with a letter. The value will be unique given a featurestore.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/featurestores/[^/]+/entityTypes/[^/]+$", +"required": true, +"type": "string" +}, +"updateMask": { +"description": "Field mask is used to specify the fields to be overwritten in the EntityType resource by the update. The fields specified in the update_mask are relative to the resource, not the full request. A field will be overwritten if it is in the mask. If the user does not provide a mask then only the non-empty fields present in the request will be overwritten. Set the update_mask to `*` to override all fields. Updatable fields: * `description` * `labels` * `monitoring_config.snapshot_analysis.disabled` * `monitoring_config.snapshot_analysis.monitoring_interval_days` * `monitoring_config.snapshot_analysis.staleness_days` * `monitoring_config.import_features_analysis.state` * `monitoring_config.import_features_analysis.anomaly_detection_baseline` * `monitoring_config.numerical_threshold_config.value` * `monitoring_config.categorical_threshold_config.value` * `offline_storage_ttl_days`", +"format": "google-fieldmask", +"location": "query", +"type": "string" +} +}, +"path": "v1/{+name}", +"request": { +"$ref": "GoogleCloudAiplatformV1EntityType" +}, +"response": { +"$ref": "GoogleCloudAiplatformV1EntityType" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"readFeatureValues": { +"description": "Reads Feature values of a specific entity of an EntityType. For reading feature values of multiple entities of an EntityType, please use StreamingReadFeatureValues.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/featurestores/{featurestoresId}/entityTypes/{entityTypesId}:readFeatureValues", +"httpMethod": "POST", +"id": "aiplatform.projects.locations.featurestores.entityTypes.readFeatureValues", +"parameterOrder": [ +"entityType" +], +"parameters": { +"entityType": { +"description": "Required. The resource name of the EntityType for the entity being read. Value format: `projects/{project}/locations/{location}/featurestores/{featurestore}/entityTypes/{entityType}`. For example, for a machine learning model predicting user clicks on a website, an EntityType ID could be `user`.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/featurestores/[^/]+/entityTypes/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+entityType}:readFeatureValues", +"request": { +"$ref": "GoogleCloudAiplatformV1ReadFeatureValuesRequest" +}, +"response": { +"$ref": "GoogleCloudAiplatformV1ReadFeatureValuesResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"setIamPolicy": { +"description": "Sets the access control policy on the specified resource. Replaces any existing policy. Can return `NOT_FOUND`, `INVALID_ARGUMENT`, and `PERMISSION_DENIED` errors.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/featurestores/{featurestoresId}/entityTypes/{entityTypesId}:setIamPolicy", +"httpMethod": "POST", +"id": "aiplatform.projects.locations.featurestores.entityTypes.setIamPolicy", +"parameterOrder": [ +"resource" +], +"parameters": { +"resource": { +"description": "REQUIRED: The resource for which the policy is being specified. See [Resource names](https://cloud.google.com/apis/design/resource_names) for the appropriate value for this field.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/featurestores/[^/]+/entityTypes/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+resource}:setIamPolicy", +"request": { +"$ref": "GoogleIamV1SetIamPolicyRequest" +}, +"response": { +"$ref": "GoogleIamV1Policy" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"streamingReadFeatureValues": { +"description": "Reads Feature values for multiple entities. Depending on their size, data for different entities may be broken up across multiple responses.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/featurestores/{featurestoresId}/entityTypes/{entityTypesId}:streamingReadFeatureValues", +"httpMethod": "POST", +"id": "aiplatform.projects.locations.featurestores.entityTypes.streamingReadFeatureValues", +"parameterOrder": [ +"entityType" +], +"parameters": { +"entityType": { +"description": "Required. The resource name of the entities' type. Value format: `projects/{project}/locations/{location}/featurestores/{featurestore}/entityTypes/{entityType}`. For example, for a machine learning model predicting user clicks on a website, an EntityType ID could be `user`.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/featurestores/[^/]+/entityTypes/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+entityType}:streamingReadFeatureValues", +"request": { +"$ref": "GoogleCloudAiplatformV1StreamingReadFeatureValuesRequest" +}, +"response": { +"$ref": "GoogleCloudAiplatformV1ReadFeatureValuesResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"testIamPermissions": { +"description": "Returns permissions that a caller has on the specified resource. If the resource does not exist, this will return an empty set of permissions, not a `NOT_FOUND` error. Note: This operation is designed to be used for building permission-aware UIs and command-line tools, not for authorization checking. This operation may \"fail open\" without warning.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/featurestores/{featurestoresId}/entityTypes/{entityTypesId}:testIamPermissions", +"httpMethod": "POST", +"id": "aiplatform.projects.locations.featurestores.entityTypes.testIamPermissions", +"parameterOrder": [ +"resource" +], +"parameters": { +"permissions": { +"description": "The set of permissions to check for the `resource`. Permissions with wildcards (such as `*` or `storage.*`) are not allowed. For more information see [IAM Overview](https://cloud.google.com/iam/docs/overview#permissions).", +"location": "query", +"repeated": true, +"type": "string" +}, +"resource": { +"description": "REQUIRED: The resource for which the policy detail is being requested. See [Resource names](https://cloud.google.com/apis/design/resource_names) for the appropriate value for this field.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/featurestores/[^/]+/entityTypes/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+resource}:testIamPermissions", +"response": { +"$ref": "GoogleIamV1TestIamPermissionsResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"writeFeatureValues": { +"description": "Writes Feature values of one or more entities of an EntityType. The Feature values are merged into existing entities if any. The Feature values to be written must have timestamp within the online storage retention.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/featurestores/{featurestoresId}/entityTypes/{entityTypesId}:writeFeatureValues", +"httpMethod": "POST", +"id": "aiplatform.projects.locations.featurestores.entityTypes.writeFeatureValues", +"parameterOrder": [ +"entityType" +], +"parameters": { +"entityType": { +"description": "Required. The resource name of the EntityType for the entities being written. Value format: `projects/{project}/locations/{location}/featurestores/ {featurestore}/entityTypes/{entityType}`. For example, for a machine learning model predicting user clicks on a website, an EntityType ID could be `user`.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/featurestores/[^/]+/entityTypes/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+entityType}:writeFeatureValues", +"request": { +"$ref": "GoogleCloudAiplatformV1WriteFeatureValuesRequest" +}, +"response": { +"$ref": "GoogleCloudAiplatformV1WriteFeatureValuesResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +} +}, +"resources": { +"features": { +"methods": { +"batchCreate": { +"description": "Creates a batch of Features in a given EntityType.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/featurestores/{featurestoresId}/entityTypes/{entityTypesId}/features:batchCreate", +"httpMethod": "POST", +"id": "aiplatform.projects.locations.featurestores.entityTypes.features.batchCreate", +"parameterOrder": [ +"parent" +], +"parameters": { +"parent": { +"description": "Required. The resource name of the EntityType/FeatureGroup to create the batch of Features under. Format: `projects/{project}/locations/{location}/featurestores/{featurestore}/entityTypes/{entity_type}` `projects/{project}/locations/{location}/featureGroups/{feature_group}`", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/featurestores/[^/]+/entityTypes/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+parent}/features:batchCreate", +"request": { +"$ref": "GoogleCloudAiplatformV1BatchCreateFeaturesRequest" +}, +"response": { +"$ref": "GoogleLongrunningOperation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"create": { +"description": "Creates a new Feature in a given EntityType.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/featurestores/{featurestoresId}/entityTypes/{entityTypesId}/features", +"httpMethod": "POST", +"id": "aiplatform.projects.locations.featurestores.entityTypes.features.create", +"parameterOrder": [ +"parent" +], +"parameters": { +"featureId": { +"description": "Required. The ID to use for the Feature, which will become the final component of the Feature's resource name. This value may be up to 128 characters, and valid characters are `[a-z0-9_]`. The first character cannot be a number. The value must be unique within an EntityType/FeatureGroup.", +"location": "query", +"type": "string" +}, +"parent": { +"description": "Required. The resource name of the EntityType or FeatureGroup to create a Feature. Format for entity_type as parent: `projects/{project}/locations/{location}/featurestores/{featurestore}/entityTypes/{entity_type}` Format for feature_group as parent: `projects/{project}/locations/{location}/featureGroups/{feature_group}`", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/featurestores/[^/]+/entityTypes/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+parent}/features", +"request": { +"$ref": "GoogleCloudAiplatformV1Feature" +}, +"response": { +"$ref": "GoogleLongrunningOperation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"delete": { +"description": "Deletes a single Feature.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/featurestores/{featurestoresId}/entityTypes/{entityTypesId}/features/{featuresId}", +"httpMethod": "DELETE", +"id": "aiplatform.projects.locations.featurestores.entityTypes.features.delete", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. The name of the Features to be deleted. Format: `projects/{project}/locations/{location}/featurestores/{featurestore}/entityTypes/{entity_type}/features/{feature}` `projects/{project}/locations/{location}/featureGroups/{feature_group}/features/{feature}`", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/featurestores/[^/]+/entityTypes/[^/]+/features/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+name}", +"response": { +"$ref": "GoogleLongrunningOperation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"get": { +"description": "Gets details of a single Feature.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/featurestores/{featurestoresId}/entityTypes/{entityTypesId}/features/{featuresId}", +"httpMethod": "GET", +"id": "aiplatform.projects.locations.featurestores.entityTypes.features.get", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. The name of the Feature resource. Format for entity_type as parent: `projects/{project}/locations/{location}/featurestores/{featurestore}/entityTypes/{entity_type}` Format for feature_group as parent: `projects/{project}/locations/{location}/featureGroups/{feature_group}`", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/featurestores/[^/]+/entityTypes/[^/]+/features/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+name}", +"response": { +"$ref": "GoogleCloudAiplatformV1Feature" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"list": { +"description": "Lists Features in a given EntityType.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/featurestores/{featurestoresId}/entityTypes/{entityTypesId}/features", +"httpMethod": "GET", +"id": "aiplatform.projects.locations.featurestores.entityTypes.features.list", +"parameterOrder": [ +"parent" +], +"parameters": { +"filter": { +"description": "Lists the Features that match the filter expression. The following filters are supported: * `value_type`: Supports = and != comparisons. * `create_time`: Supports =, !=, <, >, >=, and <= comparisons. Values must be in RFC 3339 format. * `update_time`: Supports =, !=, <, >, >=, and <= comparisons. Values must be in RFC 3339 format. * `labels`: Supports key-value equality as well as key presence. Examples: * `value_type = DOUBLE` --> Features whose type is DOUBLE. * `create_time > \\\"2020-01-31T15:30:00.000000Z\\\" OR update_time > \\\"2020-01-31T15:30:00.000000Z\\\"` --> EntityTypes created or updated after 2020-01-31T15:30:00.000000Z. * `labels.active = yes AND labels.env = prod` --> Features having both (active: yes) and (env: prod) labels. * `labels.env: *` --> Any Feature which has a label with 'env' as the key.", +"location": "query", +"type": "string" +}, +"latestStatsCount": { +"description": "Only applicable for Vertex AI Feature Store (Legacy). If set, return the most recent ListFeaturesRequest.latest_stats_count of stats for each Feature in response. Valid value is [0, 10]. If number of stats exists < ListFeaturesRequest.latest_stats_count, return all existing stats.", +"format": "int32", +"location": "query", +"type": "integer" +}, +"orderBy": { +"description": "A comma-separated list of fields to order by, sorted in ascending order. Use \"desc\" after a field name for descending. Supported fields: * `feature_id` * `value_type` (Not supported for FeatureRegistry Feature) * `create_time` * `update_time`", +"location": "query", +"type": "string" +}, +"pageSize": { +"description": "The maximum number of Features to return. The service may return fewer than this value. If unspecified, at most 1000 Features will be returned. The maximum value is 1000; any value greater than 1000 will be coerced to 1000.", +"format": "int32", +"location": "query", +"type": "integer" +}, +"pageToken": { +"description": "A page token, received from a previous FeaturestoreService.ListFeatures call or FeatureRegistryService.ListFeatures call. Provide this to retrieve the subsequent page. When paginating, all other parameters provided to FeaturestoreService.ListFeatures or FeatureRegistryService.ListFeatures must match the call that provided the page token.", +"location": "query", +"type": "string" +}, +"parent": { +"description": "Required. The resource name of the Location to list Features. Format for entity_type as parent: `projects/{project}/locations/{location}/featurestores/{featurestore}/entityTypes/{entity_type}` Format for feature_group as parent: `projects/{project}/locations/{location}/featureGroups/{feature_group}`", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/featurestores/[^/]+/entityTypes/[^/]+$", +"required": true, +"type": "string" +}, +"readMask": { +"description": "Mask specifying which fields to read.", +"format": "google-fieldmask", +"location": "query", +"type": "string" +} +}, +"path": "v1/{+parent}/features", +"response": { +"$ref": "GoogleCloudAiplatformV1ListFeaturesResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"patch": { +"description": "Updates the parameters of a single Feature.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/featurestores/{featurestoresId}/entityTypes/{entityTypesId}/features/{featuresId}", +"httpMethod": "PATCH", +"id": "aiplatform.projects.locations.featurestores.entityTypes.features.patch", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Immutable. Name of the Feature. Format: `projects/{project}/locations/{location}/featurestores/{featurestore}/entityTypes/{entity_type}/features/{feature}` `projects/{project}/locations/{location}/featureGroups/{feature_group}/features/{feature}` The last part feature is assigned by the client. The feature can be up to 64 characters long and can consist only of ASCII Latin letters A-Z and a-z, underscore(_), and ASCII digits 0-9 starting with a letter. The value will be unique given an entity type.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/featurestores/[^/]+/entityTypes/[^/]+/features/[^/]+$", +"required": true, +"type": "string" +}, +"updateMask": { +"description": "Field mask is used to specify the fields to be overwritten in the Features resource by the update. The fields specified in the update_mask are relative to the resource, not the full request. A field will be overwritten if it is in the mask. If the user does not provide a mask then only the non-empty fields present in the request will be overwritten. Set the update_mask to `*` to override all fields. Updatable fields: * `description` * `labels` * `disable_monitoring` (Not supported for FeatureRegistryService Feature) * `point_of_contact` (Not supported for FeaturestoreService FeatureStore)", +"format": "google-fieldmask", +"location": "query", +"type": "string" +} +}, +"path": "v1/{+name}", +"request": { +"$ref": "GoogleCloudAiplatformV1Feature" +}, +"response": { +"$ref": "GoogleCloudAiplatformV1Feature" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +} +}, +"resources": { +"operations": { +"methods": { +"cancel": { +"description": "Starts asynchronous cancellation on a long-running operation. The server makes a best effort to cancel the operation, but success is not guaranteed. If the server doesn't support this method, it returns `google.rpc.Code.UNIMPLEMENTED`. Clients can use Operations.GetOperation or other methods to check whether the cancellation succeeded or whether the operation completed despite cancellation. On successful cancellation, the operation is not deleted; instead, it becomes an operation with an Operation.error value with a google.rpc.Status.code of `1`, corresponding to `Code.CANCELLED`.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/featurestores/{featurestoresId}/entityTypes/{entityTypesId}/features/{featuresId}/operations/{operationsId}:cancel", +"httpMethod": "POST", +"id": "aiplatform.projects.locations.featurestores.entityTypes.features.operations.cancel", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "The name of the operation resource to be cancelled.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/featurestores/[^/]+/entityTypes/[^/]+/features/[^/]+/operations/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+name}:cancel", +"response": { +"$ref": "GoogleProtobufEmpty" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"delete": { +"description": "Deletes a long-running operation. This method indicates that the client is no longer interested in the operation result. It does not cancel the operation. If the server doesn't support this method, it returns `google.rpc.Code.UNIMPLEMENTED`.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/featurestores/{featurestoresId}/entityTypes/{entityTypesId}/features/{featuresId}/operations/{operationsId}", +"httpMethod": "DELETE", +"id": "aiplatform.projects.locations.featurestores.entityTypes.features.operations.delete", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "The name of the operation resource to be deleted.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/featurestores/[^/]+/entityTypes/[^/]+/features/[^/]+/operations/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+name}", +"response": { +"$ref": "GoogleProtobufEmpty" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"get": { +"description": "Gets the latest state of a long-running operation. Clients can use this method to poll the operation result at intervals as recommended by the API service.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/featurestores/{featurestoresId}/entityTypes/{entityTypesId}/features/{featuresId}/operations/{operationsId}", +"httpMethod": "GET", +"id": "aiplatform.projects.locations.featurestores.entityTypes.features.operations.get", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "The name of the operation resource.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/featurestores/[^/]+/entityTypes/[^/]+/features/[^/]+/operations/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+name}", +"response": { +"$ref": "GoogleLongrunningOperation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"list": { +"description": "Lists operations that match the specified filter in the request. If the server doesn't support this method, it returns `UNIMPLEMENTED`.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/featurestores/{featurestoresId}/entityTypes/{entityTypesId}/features/{featuresId}/operations", +"httpMethod": "GET", +"id": "aiplatform.projects.locations.featurestores.entityTypes.features.operations.list", +"parameterOrder": [ +"name" +], +"parameters": { +"filter": { +"description": "The standard list filter.", +"location": "query", +"type": "string" +}, +"name": { +"description": "The name of the operation's parent resource.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/featurestores/[^/]+/entityTypes/[^/]+/features/[^/]+$", +"required": true, +"type": "string" +}, +"pageSize": { +"description": "The standard list page size.", +"format": "int32", +"location": "query", +"type": "integer" +}, +"pageToken": { +"description": "The standard list page token.", +"location": "query", +"type": "string" +} +}, +"path": "v1/{+name}/operations", +"response": { +"$ref": "GoogleLongrunningListOperationsResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"wait": { +"description": "Waits until the specified long-running operation is done or reaches at most a specified timeout, returning the latest state. If the operation is already done, the latest state is immediately returned. If the timeout specified is greater than the default HTTP/RPC timeout, the HTTP/RPC timeout is used. If the server does not support this method, it returns `google.rpc.Code.UNIMPLEMENTED`. Note that this method is on a best-effort basis. It may return the latest state before the specified timeout (including immediately), meaning even an immediate response is no guarantee that the operation is done.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/featurestores/{featurestoresId}/entityTypes/{entityTypesId}/features/{featuresId}/operations/{operationsId}:wait", +"httpMethod": "POST", +"id": "aiplatform.projects.locations.featurestores.entityTypes.features.operations.wait", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "The name of the operation resource to wait on.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/featurestores/[^/]+/entityTypes/[^/]+/features/[^/]+/operations/[^/]+$", +"required": true, +"type": "string" +}, +"timeout": { +"description": "The maximum duration to wait before timing out. If left blank, the wait will be at most the time permitted by the underlying HTTP/RPC protocol. If RPC context deadline is also specified, the shorter one will be used.", +"format": "google-duration", +"location": "query", +"type": "string" +} +}, +"path": "v1/{+name}:wait", +"response": { +"$ref": "GoogleLongrunningOperation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +} +} +} +} +}, +"operations": { +"methods": { +"cancel": { +"description": "Starts asynchronous cancellation on a long-running operation. The server makes a best effort to cancel the operation, but success is not guaranteed. If the server doesn't support this method, it returns `google.rpc.Code.UNIMPLEMENTED`. Clients can use Operations.GetOperation or other methods to check whether the cancellation succeeded or whether the operation completed despite cancellation. On successful cancellation, the operation is not deleted; instead, it becomes an operation with an Operation.error value with a google.rpc.Status.code of `1`, corresponding to `Code.CANCELLED`.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/featurestores/{featurestoresId}/entityTypes/{entityTypesId}/operations/{operationsId}:cancel", +"httpMethod": "POST", +"id": "aiplatform.projects.locations.featurestores.entityTypes.operations.cancel", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "The name of the operation resource to be cancelled.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/featurestores/[^/]+/entityTypes/[^/]+/operations/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+name}:cancel", +"response": { +"$ref": "GoogleProtobufEmpty" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"delete": { +"description": "Deletes a long-running operation. This method indicates that the client is no longer interested in the operation result. It does not cancel the operation. If the server doesn't support this method, it returns `google.rpc.Code.UNIMPLEMENTED`.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/featurestores/{featurestoresId}/entityTypes/{entityTypesId}/operations/{operationsId}", +"httpMethod": "DELETE", +"id": "aiplatform.projects.locations.featurestores.entityTypes.operations.delete", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "The name of the operation resource to be deleted.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/featurestores/[^/]+/entityTypes/[^/]+/operations/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+name}", +"response": { +"$ref": "GoogleProtobufEmpty" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"get": { +"description": "Gets the latest state of a long-running operation. Clients can use this method to poll the operation result at intervals as recommended by the API service.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/featurestores/{featurestoresId}/entityTypes/{entityTypesId}/operations/{operationsId}", +"httpMethod": "GET", +"id": "aiplatform.projects.locations.featurestores.entityTypes.operations.get", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "The name of the operation resource.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/featurestores/[^/]+/entityTypes/[^/]+/operations/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+name}", +"response": { +"$ref": "GoogleLongrunningOperation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"list": { +"description": "Lists operations that match the specified filter in the request. If the server doesn't support this method, it returns `UNIMPLEMENTED`.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/featurestores/{featurestoresId}/entityTypes/{entityTypesId}/operations", +"httpMethod": "GET", +"id": "aiplatform.projects.locations.featurestores.entityTypes.operations.list", +"parameterOrder": [ +"name" +], +"parameters": { +"filter": { +"description": "The standard list filter.", +"location": "query", +"type": "string" +}, +"name": { +"description": "The name of the operation's parent resource.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/featurestores/[^/]+/entityTypes/[^/]+$", +"required": true, +"type": "string" +}, +"pageSize": { +"description": "The standard list page size.", +"format": "int32", +"location": "query", +"type": "integer" +}, +"pageToken": { +"description": "The standard list page token.", +"location": "query", +"type": "string" +} +}, +"path": "v1/{+name}/operations", +"response": { +"$ref": "GoogleLongrunningListOperationsResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"wait": { +"description": "Waits until the specified long-running operation is done or reaches at most a specified timeout, returning the latest state. If the operation is already done, the latest state is immediately returned. If the timeout specified is greater than the default HTTP/RPC timeout, the HTTP/RPC timeout is used. If the server does not support this method, it returns `google.rpc.Code.UNIMPLEMENTED`. Note that this method is on a best-effort basis. It may return the latest state before the specified timeout (including immediately), meaning even an immediate response is no guarantee that the operation is done.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/featurestores/{featurestoresId}/entityTypes/{entityTypesId}/operations/{operationsId}:wait", +"httpMethod": "POST", +"id": "aiplatform.projects.locations.featurestores.entityTypes.operations.wait", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "The name of the operation resource to wait on.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/featurestores/[^/]+/entityTypes/[^/]+/operations/[^/]+$", +"required": true, +"type": "string" +}, +"timeout": { +"description": "The maximum duration to wait before timing out. If left blank, the wait will be at most the time permitted by the underlying HTTP/RPC protocol. If RPC context deadline is also specified, the shorter one will be used.", +"format": "google-duration", +"location": "query", +"type": "string" +} +}, +"path": "v1/{+name}:wait", +"response": { +"$ref": "GoogleLongrunningOperation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +} +} +} +} +}, +"operations": { +"methods": { +"cancel": { +"description": "Starts asynchronous cancellation on a long-running operation. The server makes a best effort to cancel the operation, but success is not guaranteed. If the server doesn't support this method, it returns `google.rpc.Code.UNIMPLEMENTED`. Clients can use Operations.GetOperation or other methods to check whether the cancellation succeeded or whether the operation completed despite cancellation. On successful cancellation, the operation is not deleted; instead, it becomes an operation with an Operation.error value with a google.rpc.Status.code of `1`, corresponding to `Code.CANCELLED`.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/featurestores/{featurestoresId}/operations/{operationsId}:cancel", +"httpMethod": "POST", +"id": "aiplatform.projects.locations.featurestores.operations.cancel", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "The name of the operation resource to be cancelled.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/featurestores/[^/]+/operations/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+name}:cancel", +"response": { +"$ref": "GoogleProtobufEmpty" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"delete": { +"description": "Deletes a long-running operation. This method indicates that the client is no longer interested in the operation result. It does not cancel the operation. If the server doesn't support this method, it returns `google.rpc.Code.UNIMPLEMENTED`.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/featurestores/{featurestoresId}/operations/{operationsId}", +"httpMethod": "DELETE", +"id": "aiplatform.projects.locations.featurestores.operations.delete", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "The name of the operation resource to be deleted.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/featurestores/[^/]+/operations/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+name}", +"response": { +"$ref": "GoogleProtobufEmpty" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"get": { +"description": "Gets the latest state of a long-running operation. Clients can use this method to poll the operation result at intervals as recommended by the API service.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/featurestores/{featurestoresId}/operations/{operationsId}", +"httpMethod": "GET", +"id": "aiplatform.projects.locations.featurestores.operations.get", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "The name of the operation resource.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/featurestores/[^/]+/operations/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+name}", +"response": { +"$ref": "GoogleLongrunningOperation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"list": { +"description": "Lists operations that match the specified filter in the request. If the server doesn't support this method, it returns `UNIMPLEMENTED`.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/featurestores/{featurestoresId}/operations", +"httpMethod": "GET", +"id": "aiplatform.projects.locations.featurestores.operations.list", +"parameterOrder": [ +"name" +], +"parameters": { +"filter": { +"description": "The standard list filter.", +"location": "query", +"type": "string" +}, +"name": { +"description": "The name of the operation's parent resource.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/featurestores/[^/]+$", +"required": true, +"type": "string" +}, +"pageSize": { +"description": "The standard list page size.", +"format": "int32", +"location": "query", +"type": "integer" +}, +"pageToken": { +"description": "The standard list page token.", +"location": "query", +"type": "string" +} +}, +"path": "v1/{+name}/operations", +"response": { +"$ref": "GoogleLongrunningListOperationsResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"wait": { +"description": "Waits until the specified long-running operation is done or reaches at most a specified timeout, returning the latest state. If the operation is already done, the latest state is immediately returned. If the timeout specified is greater than the default HTTP/RPC timeout, the HTTP/RPC timeout is used. If the server does not support this method, it returns `google.rpc.Code.UNIMPLEMENTED`. Note that this method is on a best-effort basis. It may return the latest state before the specified timeout (including immediately), meaning even an immediate response is no guarantee that the operation is done.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/featurestores/{featurestoresId}/operations/{operationsId}:wait", +"httpMethod": "POST", +"id": "aiplatform.projects.locations.featurestores.operations.wait", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "The name of the operation resource to wait on.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/featurestores/[^/]+/operations/[^/]+$", +"required": true, +"type": "string" +}, +"timeout": { +"description": "The maximum duration to wait before timing out. If left blank, the wait will be at most the time permitted by the underlying HTTP/RPC protocol. If RPC context deadline is also specified, the shorter one will be used.", +"format": "google-duration", +"location": "query", +"type": "string" +} +}, +"path": "v1/{+name}:wait", +"response": { +"$ref": "GoogleLongrunningOperation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +} +} +} +} +}, +"hyperparameterTuningJobs": { +"methods": { +"cancel": { +"description": "Cancels a HyperparameterTuningJob. Starts asynchronous cancellation on the HyperparameterTuningJob. The server makes a best effort to cancel the job, but success is not guaranteed. Clients can use JobService.GetHyperparameterTuningJob or other methods to check whether the cancellation succeeded or whether the job completed despite cancellation. On successful cancellation, the HyperparameterTuningJob is not deleted; instead it becomes a job with a HyperparameterTuningJob.error value with a google.rpc.Status.code of 1, corresponding to `Code.CANCELLED`, and HyperparameterTuningJob.state is set to `CANCELLED`.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/hyperparameterTuningJobs/{hyperparameterTuningJobsId}:cancel", +"httpMethod": "POST", +"id": "aiplatform.projects.locations.hyperparameterTuningJobs.cancel", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. The name of the HyperparameterTuningJob to cancel. Format: `projects/{project}/locations/{location}/hyperparameterTuningJobs/{hyperparameter_tuning_job}`", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/hyperparameterTuningJobs/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+name}:cancel", +"request": { +"$ref": "GoogleCloudAiplatformV1CancelHyperparameterTuningJobRequest" +}, +"response": { +"$ref": "GoogleProtobufEmpty" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"create": { +"description": "Creates a HyperparameterTuningJob", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/hyperparameterTuningJobs", +"httpMethod": "POST", +"id": "aiplatform.projects.locations.hyperparameterTuningJobs.create", +"parameterOrder": [ +"parent" +], +"parameters": { +"parent": { +"description": "Required. The resource name of the Location to create the HyperparameterTuningJob in. Format: `projects/{project}/locations/{location}`", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+parent}/hyperparameterTuningJobs", +"request": { +"$ref": "GoogleCloudAiplatformV1HyperparameterTuningJob" +}, +"response": { +"$ref": "GoogleCloudAiplatformV1HyperparameterTuningJob" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"delete": { +"description": "Deletes a HyperparameterTuningJob.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/hyperparameterTuningJobs/{hyperparameterTuningJobsId}", +"httpMethod": "DELETE", +"id": "aiplatform.projects.locations.hyperparameterTuningJobs.delete", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. The name of the HyperparameterTuningJob resource to be deleted. Format: `projects/{project}/locations/{location}/hyperparameterTuningJobs/{hyperparameter_tuning_job}`", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/hyperparameterTuningJobs/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+name}", +"response": { +"$ref": "GoogleLongrunningOperation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"get": { +"description": "Gets a HyperparameterTuningJob", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/hyperparameterTuningJobs/{hyperparameterTuningJobsId}", +"httpMethod": "GET", +"id": "aiplatform.projects.locations.hyperparameterTuningJobs.get", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. The name of the HyperparameterTuningJob resource. Format: `projects/{project}/locations/{location}/hyperparameterTuningJobs/{hyperparameter_tuning_job}`", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/hyperparameterTuningJobs/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+name}", +"response": { +"$ref": "GoogleCloudAiplatformV1HyperparameterTuningJob" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"list": { +"description": "Lists HyperparameterTuningJobs in a Location.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/hyperparameterTuningJobs", +"httpMethod": "GET", +"id": "aiplatform.projects.locations.hyperparameterTuningJobs.list", +"parameterOrder": [ +"parent" +], +"parameters": { +"filter": { +"description": "The standard list filter. Supported fields: * `display_name` supports `=`, `!=` comparisons, and `:` wildcard. * `state` supports `=`, `!=` comparisons. * `create_time` supports `=`, `!=`,`<`, `<=`,`>`, `>=` comparisons. `create_time` must be in RFC 3339 format. * `labels` supports general map functions that is: `labels.key=value` - key:value equality `labels.key:* - key existence Some examples of using the filter are: * `state=\"JOB_STATE_SUCCEEDED\" AND display_name:\"my_job_*\"` * `state!=\"JOB_STATE_FAILED\" OR display_name=\"my_job\"` * `NOT display_name=\"my_job\"` * `create_time>\"2021-05-18T00:00:00Z\"` * `labels.keyA=valueA` * `labels.keyB:*`", +"location": "query", +"type": "string" +}, +"pageSize": { +"description": "The standard list page size.", +"format": "int32", +"location": "query", +"type": "integer" +}, +"pageToken": { +"description": "The standard list page token. Typically obtained via ListHyperparameterTuningJobsResponse.next_page_token of the previous JobService.ListHyperparameterTuningJobs call.", +"location": "query", +"type": "string" +}, +"parent": { +"description": "Required. The resource name of the Location to list the HyperparameterTuningJobs from. Format: `projects/{project}/locations/{location}`", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+$", +"required": true, +"type": "string" +}, +"readMask": { +"description": "Mask specifying which fields to read.", +"format": "google-fieldmask", +"location": "query", +"type": "string" +} +}, +"path": "v1/{+parent}/hyperparameterTuningJobs", +"response": { +"$ref": "GoogleCloudAiplatformV1ListHyperparameterTuningJobsResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +} +}, +"resources": { +"operations": { +"methods": { +"cancel": { +"description": "Starts asynchronous cancellation on a long-running operation. The server makes a best effort to cancel the operation, but success is not guaranteed. If the server doesn't support this method, it returns `google.rpc.Code.UNIMPLEMENTED`. Clients can use Operations.GetOperation or other methods to check whether the cancellation succeeded or whether the operation completed despite cancellation. On successful cancellation, the operation is not deleted; instead, it becomes an operation with an Operation.error value with a google.rpc.Status.code of `1`, corresponding to `Code.CANCELLED`.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/hyperparameterTuningJobs/{hyperparameterTuningJobsId}/operations/{operationsId}:cancel", +"httpMethod": "POST", +"id": "aiplatform.projects.locations.hyperparameterTuningJobs.operations.cancel", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "The name of the operation resource to be cancelled.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/hyperparameterTuningJobs/[^/]+/operations/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+name}:cancel", +"response": { +"$ref": "GoogleProtobufEmpty" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"delete": { +"description": "Deletes a long-running operation. This method indicates that the client is no longer interested in the operation result. It does not cancel the operation. If the server doesn't support this method, it returns `google.rpc.Code.UNIMPLEMENTED`.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/hyperparameterTuningJobs/{hyperparameterTuningJobsId}/operations/{operationsId}", +"httpMethod": "DELETE", +"id": "aiplatform.projects.locations.hyperparameterTuningJobs.operations.delete", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "The name of the operation resource to be deleted.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/hyperparameterTuningJobs/[^/]+/operations/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+name}", +"response": { +"$ref": "GoogleProtobufEmpty" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"get": { +"description": "Gets the latest state of a long-running operation. Clients can use this method to poll the operation result at intervals as recommended by the API service.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/hyperparameterTuningJobs/{hyperparameterTuningJobsId}/operations/{operationsId}", +"httpMethod": "GET", +"id": "aiplatform.projects.locations.hyperparameterTuningJobs.operations.get", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "The name of the operation resource.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/hyperparameterTuningJobs/[^/]+/operations/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+name}", +"response": { +"$ref": "GoogleLongrunningOperation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"list": { +"description": "Lists operations that match the specified filter in the request. If the server doesn't support this method, it returns `UNIMPLEMENTED`.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/hyperparameterTuningJobs/{hyperparameterTuningJobsId}/operations", +"httpMethod": "GET", +"id": "aiplatform.projects.locations.hyperparameterTuningJobs.operations.list", +"parameterOrder": [ +"name" +], +"parameters": { +"filter": { +"description": "The standard list filter.", +"location": "query", +"type": "string" +}, +"name": { +"description": "The name of the operation's parent resource.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/hyperparameterTuningJobs/[^/]+$", +"required": true, +"type": "string" +}, +"pageSize": { +"description": "The standard list page size.", +"format": "int32", +"location": "query", +"type": "integer" +}, +"pageToken": { +"description": "The standard list page token.", +"location": "query", +"type": "string" +} +}, +"path": "v1/{+name}/operations", +"response": { +"$ref": "GoogleLongrunningListOperationsResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"wait": { +"description": "Waits until the specified long-running operation is done or reaches at most a specified timeout, returning the latest state. If the operation is already done, the latest state is immediately returned. If the timeout specified is greater than the default HTTP/RPC timeout, the HTTP/RPC timeout is used. If the server does not support this method, it returns `google.rpc.Code.UNIMPLEMENTED`. Note that this method is on a best-effort basis. It may return the latest state before the specified timeout (including immediately), meaning even an immediate response is no guarantee that the operation is done.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/hyperparameterTuningJobs/{hyperparameterTuningJobsId}/operations/{operationsId}:wait", +"httpMethod": "POST", +"id": "aiplatform.projects.locations.hyperparameterTuningJobs.operations.wait", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "The name of the operation resource to wait on.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/hyperparameterTuningJobs/[^/]+/operations/[^/]+$", +"required": true, +"type": "string" +}, +"timeout": { +"description": "The maximum duration to wait before timing out. If left blank, the wait will be at most the time permitted by the underlying HTTP/RPC protocol. If RPC context deadline is also specified, the shorter one will be used.", +"format": "google-duration", +"location": "query", +"type": "string" +} +}, +"path": "v1/{+name}:wait", +"response": { +"$ref": "GoogleLongrunningOperation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +} +} +} +} +}, +"indexEndpoints": { +"methods": { +"create": { +"description": "Creates an IndexEndpoint.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/indexEndpoints", +"httpMethod": "POST", +"id": "aiplatform.projects.locations.indexEndpoints.create", +"parameterOrder": [ +"parent" +], +"parameters": { +"parent": { +"description": "Required. The resource name of the Location to create the IndexEndpoint in. Format: `projects/{project}/locations/{location}`", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+parent}/indexEndpoints", +"request": { +"$ref": "GoogleCloudAiplatformV1IndexEndpoint" +}, +"response": { +"$ref": "GoogleLongrunningOperation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"delete": { +"description": "Deletes an IndexEndpoint.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/indexEndpoints/{indexEndpointsId}", +"httpMethod": "DELETE", +"id": "aiplatform.projects.locations.indexEndpoints.delete", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. The name of the IndexEndpoint resource to be deleted. Format: `projects/{project}/locations/{location}/indexEndpoints/{index_endpoint}`", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/indexEndpoints/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+name}", +"response": { +"$ref": "GoogleLongrunningOperation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"deployIndex": { +"description": "Deploys an Index into this IndexEndpoint, creating a DeployedIndex within it. Only non-empty Indexes can be deployed.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/indexEndpoints/{indexEndpointsId}:deployIndex", +"httpMethod": "POST", +"id": "aiplatform.projects.locations.indexEndpoints.deployIndex", +"parameterOrder": [ +"indexEndpoint" +], +"parameters": { +"indexEndpoint": { +"description": "Required. The name of the IndexEndpoint resource into which to deploy an Index. Format: `projects/{project}/locations/{location}/indexEndpoints/{index_endpoint}`", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/indexEndpoints/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+indexEndpoint}:deployIndex", +"request": { +"$ref": "GoogleCloudAiplatformV1DeployIndexRequest" +}, +"response": { +"$ref": "GoogleLongrunningOperation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"findNeighbors": { +"description": "Finds the nearest neighbors of each vector within the request.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/indexEndpoints/{indexEndpointsId}:findNeighbors", +"httpMethod": "POST", +"id": "aiplatform.projects.locations.indexEndpoints.findNeighbors", +"parameterOrder": [ +"indexEndpoint" +], +"parameters": { +"indexEndpoint": { +"description": "Required. The name of the index endpoint. Format: `projects/{project}/locations/{location}/indexEndpoints/{index_endpoint}`", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/indexEndpoints/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+indexEndpoint}:findNeighbors", +"request": { +"$ref": "GoogleCloudAiplatformV1FindNeighborsRequest" +}, +"response": { +"$ref": "GoogleCloudAiplatformV1FindNeighborsResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"get": { +"description": "Gets an IndexEndpoint.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/indexEndpoints/{indexEndpointsId}", +"httpMethod": "GET", +"id": "aiplatform.projects.locations.indexEndpoints.get", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. The name of the IndexEndpoint resource. Format: `projects/{project}/locations/{location}/indexEndpoints/{index_endpoint}`", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/indexEndpoints/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+name}", +"response": { +"$ref": "GoogleCloudAiplatformV1IndexEndpoint" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"list": { +"description": "Lists IndexEndpoints in a Location.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/indexEndpoints", +"httpMethod": "GET", +"id": "aiplatform.projects.locations.indexEndpoints.list", +"parameterOrder": [ +"parent" +], +"parameters": { +"filter": { +"description": "Optional. An expression for filtering the results of the request. For field names both snake_case and camelCase are supported. * `index_endpoint` supports = and !=. `index_endpoint` represents the IndexEndpoint ID, ie. the last segment of the IndexEndpoint's resourcename. * `display_name` supports =, != and regex() (uses [re2](https://github.com/google/re2/wiki/Syntax) syntax) * `labels` supports general map functions that is: `labels.key=value` - key:value equality `labels.key:* or labels:key - key existence A key including a space must be quoted. `labels.\"a key\"`. Some examples: * `index_endpoint=\"1\"` * `display_name=\"myDisplayName\"` * `regex(display_name, \"^A\") -> The display name starts with an A. * `labels.myKey=\"myValue\"`", +"location": "query", +"type": "string" +}, +"pageSize": { +"description": "Optional. The standard list page size.", +"format": "int32", +"location": "query", +"type": "integer" +}, +"pageToken": { +"description": "Optional. The standard list page token. Typically obtained via ListIndexEndpointsResponse.next_page_token of the previous IndexEndpointService.ListIndexEndpoints call.", +"location": "query", +"type": "string" +}, +"parent": { +"description": "Required. The resource name of the Location from which to list the IndexEndpoints. Format: `projects/{project}/locations/{location}`", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+$", +"required": true, +"type": "string" +}, +"readMask": { +"description": "Optional. Mask specifying which fields to read.", +"format": "google-fieldmask", +"location": "query", +"type": "string" +} +}, +"path": "v1/{+parent}/indexEndpoints", +"response": { +"$ref": "GoogleCloudAiplatformV1ListIndexEndpointsResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"mutateDeployedIndex": { +"description": "Update an existing DeployedIndex under an IndexEndpoint.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/indexEndpoints/{indexEndpointsId}:mutateDeployedIndex", +"httpMethod": "POST", +"id": "aiplatform.projects.locations.indexEndpoints.mutateDeployedIndex", +"parameterOrder": [ +"indexEndpoint" +], +"parameters": { +"indexEndpoint": { +"description": "Required. The name of the IndexEndpoint resource into which to deploy an Index. Format: `projects/{project}/locations/{location}/indexEndpoints/{index_endpoint}`", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/indexEndpoints/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+indexEndpoint}:mutateDeployedIndex", +"request": { +"$ref": "GoogleCloudAiplatformV1DeployedIndex" +}, +"response": { +"$ref": "GoogleLongrunningOperation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"patch": { +"description": "Updates an IndexEndpoint.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/indexEndpoints/{indexEndpointsId}", +"httpMethod": "PATCH", +"id": "aiplatform.projects.locations.indexEndpoints.patch", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Output only. The resource name of the IndexEndpoint.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/indexEndpoints/[^/]+$", +"required": true, +"type": "string" +}, +"updateMask": { +"description": "Required. The update mask applies to the resource. See google.protobuf.FieldMask.", +"format": "google-fieldmask", +"location": "query", +"type": "string" +} +}, +"path": "v1/{+name}", +"request": { +"$ref": "GoogleCloudAiplatformV1IndexEndpoint" +}, +"response": { +"$ref": "GoogleCloudAiplatformV1IndexEndpoint" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"readIndexDatapoints": { +"description": "Reads the datapoints/vectors of the given IDs. A maximum of 1000 datapoints can be retrieved in a batch.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/indexEndpoints/{indexEndpointsId}:readIndexDatapoints", +"httpMethod": "POST", +"id": "aiplatform.projects.locations.indexEndpoints.readIndexDatapoints", +"parameterOrder": [ +"indexEndpoint" +], +"parameters": { +"indexEndpoint": { +"description": "Required. The name of the index endpoint. Format: `projects/{project}/locations/{location}/indexEndpoints/{index_endpoint}`", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/indexEndpoints/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+indexEndpoint}:readIndexDatapoints", +"request": { +"$ref": "GoogleCloudAiplatformV1ReadIndexDatapointsRequest" +}, +"response": { +"$ref": "GoogleCloudAiplatformV1ReadIndexDatapointsResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"undeployIndex": { +"description": "Undeploys an Index from an IndexEndpoint, removing a DeployedIndex from it, and freeing all resources it's using.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/indexEndpoints/{indexEndpointsId}:undeployIndex", +"httpMethod": "POST", +"id": "aiplatform.projects.locations.indexEndpoints.undeployIndex", +"parameterOrder": [ +"indexEndpoint" +], +"parameters": { +"indexEndpoint": { +"description": "Required. The name of the IndexEndpoint resource from which to undeploy an Index. Format: `projects/{project}/locations/{location}/indexEndpoints/{index_endpoint}`", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/indexEndpoints/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+indexEndpoint}:undeployIndex", +"request": { +"$ref": "GoogleCloudAiplatformV1UndeployIndexRequest" +}, +"response": { +"$ref": "GoogleLongrunningOperation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +} +}, +"resources": { +"operations": { +"methods": { +"cancel": { +"description": "Starts asynchronous cancellation on a long-running operation. The server makes a best effort to cancel the operation, but success is not guaranteed. If the server doesn't support this method, it returns `google.rpc.Code.UNIMPLEMENTED`. Clients can use Operations.GetOperation or other methods to check whether the cancellation succeeded or whether the operation completed despite cancellation. On successful cancellation, the operation is not deleted; instead, it becomes an operation with an Operation.error value with a google.rpc.Status.code of `1`, corresponding to `Code.CANCELLED`.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/indexEndpoints/{indexEndpointsId}/operations/{operationsId}:cancel", +"httpMethod": "POST", +"id": "aiplatform.projects.locations.indexEndpoints.operations.cancel", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "The name of the operation resource to be cancelled.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/indexEndpoints/[^/]+/operations/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+name}:cancel", +"response": { +"$ref": "GoogleProtobufEmpty" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"delete": { +"description": "Deletes a long-running operation. This method indicates that the client is no longer interested in the operation result. It does not cancel the operation. If the server doesn't support this method, it returns `google.rpc.Code.UNIMPLEMENTED`.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/indexEndpoints/{indexEndpointsId}/operations/{operationsId}", +"httpMethod": "DELETE", +"id": "aiplatform.projects.locations.indexEndpoints.operations.delete", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "The name of the operation resource to be deleted.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/indexEndpoints/[^/]+/operations/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+name}", +"response": { +"$ref": "GoogleProtobufEmpty" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"get": { +"description": "Gets the latest state of a long-running operation. Clients can use this method to poll the operation result at intervals as recommended by the API service.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/indexEndpoints/{indexEndpointsId}/operations/{operationsId}", +"httpMethod": "GET", +"id": "aiplatform.projects.locations.indexEndpoints.operations.get", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "The name of the operation resource.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/indexEndpoints/[^/]+/operations/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+name}", +"response": { +"$ref": "GoogleLongrunningOperation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"list": { +"description": "Lists operations that match the specified filter in the request. If the server doesn't support this method, it returns `UNIMPLEMENTED`.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/indexEndpoints/{indexEndpointsId}/operations", +"httpMethod": "GET", +"id": "aiplatform.projects.locations.indexEndpoints.operations.list", +"parameterOrder": [ +"name" +], +"parameters": { +"filter": { +"description": "The standard list filter.", +"location": "query", +"type": "string" +}, +"name": { +"description": "The name of the operation's parent resource.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/indexEndpoints/[^/]+$", +"required": true, +"type": "string" +}, +"pageSize": { +"description": "The standard list page size.", +"format": "int32", +"location": "query", +"type": "integer" +}, +"pageToken": { +"description": "The standard list page token.", +"location": "query", +"type": "string" +} +}, +"path": "v1/{+name}/operations", +"response": { +"$ref": "GoogleLongrunningListOperationsResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"wait": { +"description": "Waits until the specified long-running operation is done or reaches at most a specified timeout, returning the latest state. If the operation is already done, the latest state is immediately returned. If the timeout specified is greater than the default HTTP/RPC timeout, the HTTP/RPC timeout is used. If the server does not support this method, it returns `google.rpc.Code.UNIMPLEMENTED`. Note that this method is on a best-effort basis. It may return the latest state before the specified timeout (including immediately), meaning even an immediate response is no guarantee that the operation is done.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/indexEndpoints/{indexEndpointsId}/operations/{operationsId}:wait", +"httpMethod": "POST", +"id": "aiplatform.projects.locations.indexEndpoints.operations.wait", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "The name of the operation resource to wait on.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/indexEndpoints/[^/]+/operations/[^/]+$", +"required": true, +"type": "string" +}, +"timeout": { +"description": "The maximum duration to wait before timing out. If left blank, the wait will be at most the time permitted by the underlying HTTP/RPC protocol. If RPC context deadline is also specified, the shorter one will be used.", +"format": "google-duration", +"location": "query", +"type": "string" +} +}, +"path": "v1/{+name}:wait", +"response": { +"$ref": "GoogleLongrunningOperation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +} +} +} +} +}, +"indexes": { +"methods": { +"create": { +"description": "Creates an Index.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/indexes", +"httpMethod": "POST", +"id": "aiplatform.projects.locations.indexes.create", +"parameterOrder": [ +"parent" +], +"parameters": { +"parent": { +"description": "Required. The resource name of the Location to create the Index in. Format: `projects/{project}/locations/{location}`", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+parent}/indexes", +"request": { +"$ref": "GoogleCloudAiplatformV1Index" +}, +"response": { +"$ref": "GoogleLongrunningOperation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"delete": { +"description": "Deletes an Index. An Index can only be deleted when all its DeployedIndexes had been undeployed.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/indexes/{indexesId}", +"httpMethod": "DELETE", +"id": "aiplatform.projects.locations.indexes.delete", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. The name of the Index resource to be deleted. Format: `projects/{project}/locations/{location}/indexes/{index}`", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/indexes/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+name}", +"response": { +"$ref": "GoogleLongrunningOperation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"get": { +"description": "Gets an Index.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/indexes/{indexesId}", +"httpMethod": "GET", +"id": "aiplatform.projects.locations.indexes.get", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. The name of the Index resource. Format: `projects/{project}/locations/{location}/indexes/{index}`", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/indexes/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+name}", +"response": { +"$ref": "GoogleCloudAiplatformV1Index" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"list": { +"description": "Lists Indexes in a Location.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/indexes", +"httpMethod": "GET", +"id": "aiplatform.projects.locations.indexes.list", +"parameterOrder": [ +"parent" +], +"parameters": { +"filter": { +"description": "The standard list filter.", +"location": "query", +"type": "string" +}, +"pageSize": { +"description": "The standard list page size.", +"format": "int32", +"location": "query", +"type": "integer" +}, +"pageToken": { +"description": "The standard list page token. Typically obtained via ListIndexesResponse.next_page_token of the previous IndexService.ListIndexes call.", +"location": "query", +"type": "string" +}, +"parent": { +"description": "Required. The resource name of the Location from which to list the Indexes. Format: `projects/{project}/locations/{location}`", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+$", +"required": true, +"type": "string" +}, +"readMask": { +"description": "Mask specifying which fields to read.", +"format": "google-fieldmask", +"location": "query", +"type": "string" +} +}, +"path": "v1/{+parent}/indexes", +"response": { +"$ref": "GoogleCloudAiplatformV1ListIndexesResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"patch": { +"description": "Updates an Index.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/indexes/{indexesId}", +"httpMethod": "PATCH", +"id": "aiplatform.projects.locations.indexes.patch", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Output only. The resource name of the Index.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/indexes/[^/]+$", +"required": true, +"type": "string" +}, +"updateMask": { +"description": "The update mask applies to the resource. For the `FieldMask` definition, see google.protobuf.FieldMask.", +"format": "google-fieldmask", +"location": "query", +"type": "string" +} +}, +"path": "v1/{+name}", +"request": { +"$ref": "GoogleCloudAiplatformV1Index" +}, +"response": { +"$ref": "GoogleLongrunningOperation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"removeDatapoints": { +"description": "Remove Datapoints from an Index.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/indexes/{indexesId}:removeDatapoints", +"httpMethod": "POST", +"id": "aiplatform.projects.locations.indexes.removeDatapoints", +"parameterOrder": [ +"index" +], +"parameters": { +"index": { +"description": "Required. The name of the Index resource to be updated. Format: `projects/{project}/locations/{location}/indexes/{index}`", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/indexes/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+index}:removeDatapoints", +"request": { +"$ref": "GoogleCloudAiplatformV1RemoveDatapointsRequest" +}, +"response": { +"$ref": "GoogleCloudAiplatformV1RemoveDatapointsResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"upsertDatapoints": { +"description": "Add/update Datapoints into an Index.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/indexes/{indexesId}:upsertDatapoints", +"httpMethod": "POST", +"id": "aiplatform.projects.locations.indexes.upsertDatapoints", +"parameterOrder": [ +"index" +], +"parameters": { +"index": { +"description": "Required. The name of the Index resource to be updated. Format: `projects/{project}/locations/{location}/indexes/{index}`", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/indexes/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+index}:upsertDatapoints", +"request": { +"$ref": "GoogleCloudAiplatformV1UpsertDatapointsRequest" +}, +"response": { +"$ref": "GoogleCloudAiplatformV1UpsertDatapointsResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +} +}, +"resources": { +"operations": { +"methods": { +"cancel": { +"description": "Starts asynchronous cancellation on a long-running operation. The server makes a best effort to cancel the operation, but success is not guaranteed. If the server doesn't support this method, it returns `google.rpc.Code.UNIMPLEMENTED`. Clients can use Operations.GetOperation or other methods to check whether the cancellation succeeded or whether the operation completed despite cancellation. On successful cancellation, the operation is not deleted; instead, it becomes an operation with an Operation.error value with a google.rpc.Status.code of `1`, corresponding to `Code.CANCELLED`.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/indexes/{indexesId}/operations/{operationsId}:cancel", +"httpMethod": "POST", +"id": "aiplatform.projects.locations.indexes.operations.cancel", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "The name of the operation resource to be cancelled.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/indexes/[^/]+/operations/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+name}:cancel", +"response": { +"$ref": "GoogleProtobufEmpty" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"delete": { +"description": "Deletes a long-running operation. This method indicates that the client is no longer interested in the operation result. It does not cancel the operation. If the server doesn't support this method, it returns `google.rpc.Code.UNIMPLEMENTED`.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/indexes/{indexesId}/operations/{operationsId}", +"httpMethod": "DELETE", +"id": "aiplatform.projects.locations.indexes.operations.delete", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "The name of the operation resource to be deleted.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/indexes/[^/]+/operations/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+name}", +"response": { +"$ref": "GoogleProtobufEmpty" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"get": { +"description": "Gets the latest state of a long-running operation. Clients can use this method to poll the operation result at intervals as recommended by the API service.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/indexes/{indexesId}/operations/{operationsId}", +"httpMethod": "GET", +"id": "aiplatform.projects.locations.indexes.operations.get", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "The name of the operation resource.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/indexes/[^/]+/operations/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+name}", +"response": { +"$ref": "GoogleLongrunningOperation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"list": { +"description": "Lists operations that match the specified filter in the request. If the server doesn't support this method, it returns `UNIMPLEMENTED`.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/indexes/{indexesId}/operations", +"httpMethod": "GET", +"id": "aiplatform.projects.locations.indexes.operations.list", +"parameterOrder": [ +"name" +], +"parameters": { +"filter": { +"description": "The standard list filter.", +"location": "query", +"type": "string" +}, +"name": { +"description": "The name of the operation's parent resource.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/indexes/[^/]+$", +"required": true, +"type": "string" +}, +"pageSize": { +"description": "The standard list page size.", +"format": "int32", +"location": "query", +"type": "integer" +}, +"pageToken": { +"description": "The standard list page token.", +"location": "query", +"type": "string" +} +}, +"path": "v1/{+name}/operations", +"response": { +"$ref": "GoogleLongrunningListOperationsResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"wait": { +"description": "Waits until the specified long-running operation is done or reaches at most a specified timeout, returning the latest state. If the operation is already done, the latest state is immediately returned. If the timeout specified is greater than the default HTTP/RPC timeout, the HTTP/RPC timeout is used. If the server does not support this method, it returns `google.rpc.Code.UNIMPLEMENTED`. Note that this method is on a best-effort basis. It may return the latest state before the specified timeout (including immediately), meaning even an immediate response is no guarantee that the operation is done.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/indexes/{indexesId}/operations/{operationsId}:wait", +"httpMethod": "POST", +"id": "aiplatform.projects.locations.indexes.operations.wait", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "The name of the operation resource to wait on.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/indexes/[^/]+/operations/[^/]+$", +"required": true, +"type": "string" +}, +"timeout": { +"description": "The maximum duration to wait before timing out. If left blank, the wait will be at most the time permitted by the underlying HTTP/RPC protocol. If RPC context deadline is also specified, the shorter one will be used.", +"format": "google-duration", +"location": "query", +"type": "string" +} +}, +"path": "v1/{+name}:wait", +"response": { +"$ref": "GoogleLongrunningOperation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +} +} +} +} +}, +"metadataStores": { +"methods": { +"create": { +"description": "Initializes a MetadataStore, including allocation of resources.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/metadataStores", +"httpMethod": "POST", +"id": "aiplatform.projects.locations.metadataStores.create", +"parameterOrder": [ +"parent" +], +"parameters": { +"metadataStoreId": { +"description": "The {metadatastore} portion of the resource name with the format: `projects/{project}/locations/{location}/metadataStores/{metadatastore}` If not provided, the MetadataStore's ID will be a UUID generated by the service. Must be 4-128 characters in length. Valid characters are `/a-z-/`. Must be unique across all MetadataStores in the parent Location. (Otherwise the request will fail with ALREADY_EXISTS, or PERMISSION_DENIED if the caller can't view the preexisting MetadataStore.)", +"location": "query", +"type": "string" +}, +"parent": { +"description": "Required. The resource name of the Location where the MetadataStore should be created. Format: `projects/{project}/locations/{location}/`", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+parent}/metadataStores", +"request": { +"$ref": "GoogleCloudAiplatformV1MetadataStore" +}, +"response": { +"$ref": "GoogleLongrunningOperation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"delete": { +"description": "Deletes a single MetadataStore and all its child resources (Artifacts, Executions, and Contexts).", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/metadataStores/{metadataStoresId}", +"httpMethod": "DELETE", +"id": "aiplatform.projects.locations.metadataStores.delete", +"parameterOrder": [ +"name" +], +"parameters": { +"force": { +"deprecated": true, +"description": "Deprecated: Field is no longer supported.", +"location": "query", +"type": "boolean" +}, +"name": { +"description": "Required. The resource name of the MetadataStore to delete. Format: `projects/{project}/locations/{location}/metadataStores/{metadatastore}`", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/metadataStores/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+name}", +"response": { +"$ref": "GoogleLongrunningOperation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"get": { +"description": "Retrieves a specific MetadataStore.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/metadataStores/{metadataStoresId}", +"httpMethod": "GET", +"id": "aiplatform.projects.locations.metadataStores.get", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. The resource name of the MetadataStore to retrieve. Format: `projects/{project}/locations/{location}/metadataStores/{metadatastore}`", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/metadataStores/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+name}", +"response": { +"$ref": "GoogleCloudAiplatformV1MetadataStore" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"list": { +"description": "Lists MetadataStores for a Location.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/metadataStores", +"httpMethod": "GET", +"id": "aiplatform.projects.locations.metadataStores.list", +"parameterOrder": [ +"parent" +], +"parameters": { +"pageSize": { +"description": "The maximum number of Metadata Stores to return. The service may return fewer. Must be in range 1-1000, inclusive. Defaults to 100.", +"format": "int32", +"location": "query", +"type": "integer" +}, +"pageToken": { +"description": "A page token, received from a previous MetadataService.ListMetadataStores call. Provide this to retrieve the subsequent page. When paginating, all other provided parameters must match the call that provided the page token. (Otherwise the request will fail with INVALID_ARGUMENT error.)", +"location": "query", +"type": "string" +}, +"parent": { +"description": "Required. The Location whose MetadataStores should be listed. Format: `projects/{project}/locations/{location}`", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+parent}/metadataStores", +"response": { +"$ref": "GoogleCloudAiplatformV1ListMetadataStoresResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +} +}, +"resources": { +"artifacts": { +"methods": { +"create": { +"description": "Creates an Artifact associated with a MetadataStore.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/metadataStores/{metadataStoresId}/artifacts", +"httpMethod": "POST", +"id": "aiplatform.projects.locations.metadataStores.artifacts.create", +"parameterOrder": [ +"parent" +], +"parameters": { +"artifactId": { +"description": "The {artifact} portion of the resource name with the format: `projects/{project}/locations/{location}/metadataStores/{metadatastore}/artifacts/{artifact}` If not provided, the Artifact's ID will be a UUID generated by the service. Must be 4-128 characters in length. Valid characters are `/a-z-/`. Must be unique across all Artifacts in the parent MetadataStore. (Otherwise the request will fail with ALREADY_EXISTS, or PERMISSION_DENIED if the caller can't view the preexisting Artifact.)", +"location": "query", +"type": "string" +}, +"parent": { +"description": "Required. The resource name of the MetadataStore where the Artifact should be created. Format: `projects/{project}/locations/{location}/metadataStores/{metadatastore}`", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/metadataStores/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+parent}/artifacts", +"request": { +"$ref": "GoogleCloudAiplatformV1Artifact" +}, +"response": { +"$ref": "GoogleCloudAiplatformV1Artifact" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"delete": { +"description": "Deletes an Artifact.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/metadataStores/{metadataStoresId}/artifacts/{artifactsId}", +"httpMethod": "DELETE", +"id": "aiplatform.projects.locations.metadataStores.artifacts.delete", +"parameterOrder": [ +"name" +], +"parameters": { +"etag": { +"description": "Optional. The etag of the Artifact to delete. If this is provided, it must match the server's etag. Otherwise, the request will fail with a FAILED_PRECONDITION.", +"location": "query", +"type": "string" +}, +"name": { +"description": "Required. The resource name of the Artifact to delete. Format: `projects/{project}/locations/{location}/metadataStores/{metadatastore}/artifacts/{artifact}`", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/metadataStores/[^/]+/artifacts/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+name}", +"response": { +"$ref": "GoogleLongrunningOperation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"get": { +"description": "Retrieves a specific Artifact.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/metadataStores/{metadataStoresId}/artifacts/{artifactsId}", +"httpMethod": "GET", +"id": "aiplatform.projects.locations.metadataStores.artifacts.get", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. The resource name of the Artifact to retrieve. Format: `projects/{project}/locations/{location}/metadataStores/{metadatastore}/artifacts/{artifact}`", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/metadataStores/[^/]+/artifacts/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+name}", +"response": { +"$ref": "GoogleCloudAiplatformV1Artifact" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"list": { +"description": "Lists Artifacts in the MetadataStore.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/metadataStores/{metadataStoresId}/artifacts", +"httpMethod": "GET", +"id": "aiplatform.projects.locations.metadataStores.artifacts.list", +"parameterOrder": [ +"parent" +], +"parameters": { +"filter": { +"description": "Filter specifying the boolean condition for the Artifacts to satisfy in order to be part of the result set. The syntax to define filter query is based on https://google.aip.dev/160. The supported set of filters include the following: * **Attribute filtering**: For example: `display_name = \"test\"`. Supported fields include: `name`, `display_name`, `uri`, `state`, `schema_title`, `create_time`, and `update_time`. Time fields, such as `create_time` and `update_time`, require values specified in RFC-3339 format. For example: `create_time = \"2020-11-19T11:30:00-04:00\"` * **Metadata field**: To filter on metadata fields use traversal operation as follows: `metadata..`. For example: `metadata.field_1.number_value = 10.0` In case the field name contains special characters (such as colon), one can embed it inside double quote. For example: `metadata.\"field:1\".number_value = 10.0` * **Context based filtering**: To filter Artifacts based on the contexts to which they belong, use the function operator with the full resource name `in_context()`. For example: `in_context(\"projects//locations//metadataStores//contexts/\")` Each of the above supported filter types can be combined together using logical operators (`AND` & `OR`). Maximum nested expression depth allowed is 5. For example: `display_name = \"test\" AND metadata.field1.bool_value = true`.", +"location": "query", +"type": "string" +}, +"orderBy": { +"description": "How the list of messages is ordered. Specify the values to order by and an ordering operation. The default sorting order is ascending. To specify descending order for a field, users append a \" desc\" suffix; for example: \"foo desc, bar\". Subfields are specified with a `.` character, such as foo.bar. see https://google.aip.dev/132#ordering for more details.", +"location": "query", +"type": "string" +}, +"pageSize": { +"description": "The maximum number of Artifacts to return. The service may return fewer. Must be in range 1-1000, inclusive. Defaults to 100.", +"format": "int32", +"location": "query", +"type": "integer" +}, +"pageToken": { +"description": "A page token, received from a previous MetadataService.ListArtifacts call. Provide this to retrieve the subsequent page. When paginating, all other provided parameters must match the call that provided the page token. (Otherwise the request will fail with INVALID_ARGUMENT error.)", +"location": "query", +"type": "string" +}, +"parent": { +"description": "Required. The MetadataStore whose Artifacts should be listed. Format: `projects/{project}/locations/{location}/metadataStores/{metadatastore}`", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/metadataStores/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+parent}/artifacts", +"response": { +"$ref": "GoogleCloudAiplatformV1ListArtifactsResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"patch": { +"description": "Updates a stored Artifact.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/metadataStores/{metadataStoresId}/artifacts/{artifactsId}", +"httpMethod": "PATCH", +"id": "aiplatform.projects.locations.metadataStores.artifacts.patch", +"parameterOrder": [ +"name" +], +"parameters": { +"allowMissing": { +"description": "If set to true, and the Artifact is not found, a new Artifact is created.", +"location": "query", +"type": "boolean" +}, +"name": { +"description": "Output only. The resource name of the Artifact.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/metadataStores/[^/]+/artifacts/[^/]+$", +"required": true, +"type": "string" +}, +"updateMask": { +"description": "Optional. A FieldMask indicating which fields should be updated.", +"format": "google-fieldmask", +"location": "query", +"type": "string" +} +}, +"path": "v1/{+name}", +"request": { +"$ref": "GoogleCloudAiplatformV1Artifact" +}, +"response": { +"$ref": "GoogleCloudAiplatformV1Artifact" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"purge": { +"description": "Purges Artifacts.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/metadataStores/{metadataStoresId}/artifacts:purge", +"httpMethod": "POST", +"id": "aiplatform.projects.locations.metadataStores.artifacts.purge", +"parameterOrder": [ +"parent" +], +"parameters": { +"parent": { +"description": "Required. The metadata store to purge Artifacts from. Format: `projects/{project}/locations/{location}/metadataStores/{metadatastore}`", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/metadataStores/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+parent}/artifacts:purge", +"request": { +"$ref": "GoogleCloudAiplatformV1PurgeArtifactsRequest" +}, +"response": { +"$ref": "GoogleLongrunningOperation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"queryArtifactLineageSubgraph": { +"description": "Retrieves lineage of an Artifact represented through Artifacts and Executions connected by Event edges and returned as a LineageSubgraph.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/metadataStores/{metadataStoresId}/artifacts/{artifactsId}:queryArtifactLineageSubgraph", +"httpMethod": "GET", +"id": "aiplatform.projects.locations.metadataStores.artifacts.queryArtifactLineageSubgraph", +"parameterOrder": [ +"artifact" +], +"parameters": { +"artifact": { +"description": "Required. The resource name of the Artifact whose Lineage needs to be retrieved as a LineageSubgraph. Format: `projects/{project}/locations/{location}/metadataStores/{metadatastore}/artifacts/{artifact}` The request may error with FAILED_PRECONDITION if the number of Artifacts, the number of Executions, or the number of Events that would be returned for the Context exceeds 1000.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/metadataStores/[^/]+/artifacts/[^/]+$", +"required": true, +"type": "string" +}, +"filter": { +"description": "Filter specifying the boolean condition for the Artifacts to satisfy in order to be part of the Lineage Subgraph. The syntax to define filter query is based on https://google.aip.dev/160. The supported set of filters include the following: * **Attribute filtering**: For example: `display_name = \"test\"` Supported fields include: `name`, `display_name`, `uri`, `state`, `schema_title`, `create_time`, and `update_time`. Time fields, such as `create_time` and `update_time`, require values specified in RFC-3339 format. For example: `create_time = \"2020-11-19T11:30:00-04:00\"` * **Metadata field**: To filter on metadata fields use traversal operation as follows: `metadata..`. For example: `metadata.field_1.number_value = 10.0` In case the field name contains special characters (such as colon), one can embed it inside double quote. For example: `metadata.\"field:1\".number_value = 10.0` Each of the above supported filter types can be combined together using logical operators (`AND` & `OR`). Maximum nested expression depth allowed is 5. For example: `display_name = \"test\" AND metadata.field1.bool_value = true`.", +"location": "query", +"type": "string" +}, +"maxHops": { +"description": "Specifies the size of the lineage graph in terms of number of hops from the specified artifact. Negative Value: INVALID_ARGUMENT error is returned 0: Only input artifact is returned. No value: Transitive closure is performed to return the complete graph.", +"format": "int32", +"location": "query", +"type": "integer" +} +}, +"path": "v1/{+artifact}:queryArtifactLineageSubgraph", +"response": { +"$ref": "GoogleCloudAiplatformV1LineageSubgraph" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +} +}, +"resources": { +"operations": { +"methods": { +"cancel": { +"description": "Starts asynchronous cancellation on a long-running operation. The server makes a best effort to cancel the operation, but success is not guaranteed. If the server doesn't support this method, it returns `google.rpc.Code.UNIMPLEMENTED`. Clients can use Operations.GetOperation or other methods to check whether the cancellation succeeded or whether the operation completed despite cancellation. On successful cancellation, the operation is not deleted; instead, it becomes an operation with an Operation.error value with a google.rpc.Status.code of `1`, corresponding to `Code.CANCELLED`.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/metadataStores/{metadataStoresId}/artifacts/{artifactsId}/operations/{operationsId}:cancel", +"httpMethod": "POST", +"id": "aiplatform.projects.locations.metadataStores.artifacts.operations.cancel", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "The name of the operation resource to be cancelled.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/metadataStores/[^/]+/artifacts/[^/]+/operations/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+name}:cancel", +"response": { +"$ref": "GoogleProtobufEmpty" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"delete": { +"description": "Deletes a long-running operation. This method indicates that the client is no longer interested in the operation result. It does not cancel the operation. If the server doesn't support this method, it returns `google.rpc.Code.UNIMPLEMENTED`.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/metadataStores/{metadataStoresId}/artifacts/{artifactsId}/operations/{operationsId}", +"httpMethod": "DELETE", +"id": "aiplatform.projects.locations.metadataStores.artifacts.operations.delete", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "The name of the operation resource to be deleted.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/metadataStores/[^/]+/artifacts/[^/]+/operations/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+name}", +"response": { +"$ref": "GoogleProtobufEmpty" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"get": { +"description": "Gets the latest state of a long-running operation. Clients can use this method to poll the operation result at intervals as recommended by the API service.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/metadataStores/{metadataStoresId}/artifacts/{artifactsId}/operations/{operationsId}", +"httpMethod": "GET", +"id": "aiplatform.projects.locations.metadataStores.artifacts.operations.get", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "The name of the operation resource.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/metadataStores/[^/]+/artifacts/[^/]+/operations/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+name}", +"response": { +"$ref": "GoogleLongrunningOperation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"list": { +"description": "Lists operations that match the specified filter in the request. If the server doesn't support this method, it returns `UNIMPLEMENTED`.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/metadataStores/{metadataStoresId}/artifacts/{artifactsId}/operations", +"httpMethod": "GET", +"id": "aiplatform.projects.locations.metadataStores.artifacts.operations.list", +"parameterOrder": [ +"name" +], +"parameters": { +"filter": { +"description": "The standard list filter.", +"location": "query", +"type": "string" +}, +"name": { +"description": "The name of the operation's parent resource.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/metadataStores/[^/]+/artifacts/[^/]+$", +"required": true, +"type": "string" +}, +"pageSize": { +"description": "The standard list page size.", +"format": "int32", +"location": "query", +"type": "integer" +}, +"pageToken": { +"description": "The standard list page token.", +"location": "query", +"type": "string" +} +}, +"path": "v1/{+name}/operations", +"response": { +"$ref": "GoogleLongrunningListOperationsResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"wait": { +"description": "Waits until the specified long-running operation is done or reaches at most a specified timeout, returning the latest state. If the operation is already done, the latest state is immediately returned. If the timeout specified is greater than the default HTTP/RPC timeout, the HTTP/RPC timeout is used. If the server does not support this method, it returns `google.rpc.Code.UNIMPLEMENTED`. Note that this method is on a best-effort basis. It may return the latest state before the specified timeout (including immediately), meaning even an immediate response is no guarantee that the operation is done.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/metadataStores/{metadataStoresId}/artifacts/{artifactsId}/operations/{operationsId}:wait", +"httpMethod": "POST", +"id": "aiplatform.projects.locations.metadataStores.artifacts.operations.wait", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "The name of the operation resource to wait on.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/metadataStores/[^/]+/artifacts/[^/]+/operations/[^/]+$", +"required": true, +"type": "string" +}, +"timeout": { +"description": "The maximum duration to wait before timing out. If left blank, the wait will be at most the time permitted by the underlying HTTP/RPC protocol. If RPC context deadline is also specified, the shorter one will be used.", +"format": "google-duration", +"location": "query", +"type": "string" +} +}, +"path": "v1/{+name}:wait", +"response": { +"$ref": "GoogleLongrunningOperation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +} +} +} +} +}, +"contexts": { +"methods": { +"addContextArtifactsAndExecutions": { +"description": "Adds a set of Artifacts and Executions to a Context. If any of the Artifacts or Executions have already been added to a Context, they are simply skipped.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/metadataStores/{metadataStoresId}/contexts/{contextsId}:addContextArtifactsAndExecutions", +"httpMethod": "POST", +"id": "aiplatform.projects.locations.metadataStores.contexts.addContextArtifactsAndExecutions", +"parameterOrder": [ +"context" +], +"parameters": { +"context": { +"description": "Required. The resource name of the Context that the Artifacts and Executions belong to. Format: `projects/{project}/locations/{location}/metadataStores/{metadatastore}/contexts/{context}`", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/metadataStores/[^/]+/contexts/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+context}:addContextArtifactsAndExecutions", +"request": { +"$ref": "GoogleCloudAiplatformV1AddContextArtifactsAndExecutionsRequest" +}, +"response": { +"$ref": "GoogleCloudAiplatformV1AddContextArtifactsAndExecutionsResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"addContextChildren": { +"description": "Adds a set of Contexts as children to a parent Context. If any of the child Contexts have already been added to the parent Context, they are simply skipped. If this call would create a cycle or cause any Context to have more than 10 parents, the request will fail with an INVALID_ARGUMENT error.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/metadataStores/{metadataStoresId}/contexts/{contextsId}:addContextChildren", +"httpMethod": "POST", +"id": "aiplatform.projects.locations.metadataStores.contexts.addContextChildren", +"parameterOrder": [ +"context" +], +"parameters": { +"context": { +"description": "Required. The resource name of the parent Context. Format: `projects/{project}/locations/{location}/metadataStores/{metadatastore}/contexts/{context}`", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/metadataStores/[^/]+/contexts/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+context}:addContextChildren", +"request": { +"$ref": "GoogleCloudAiplatformV1AddContextChildrenRequest" +}, +"response": { +"$ref": "GoogleCloudAiplatformV1AddContextChildrenResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"create": { +"description": "Creates a Context associated with a MetadataStore.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/metadataStores/{metadataStoresId}/contexts", +"httpMethod": "POST", +"id": "aiplatform.projects.locations.metadataStores.contexts.create", +"parameterOrder": [ +"parent" +], +"parameters": { +"contextId": { +"description": "The {context} portion of the resource name with the format: `projects/{project}/locations/{location}/metadataStores/{metadatastore}/contexts/{context}`. If not provided, the Context's ID will be a UUID generated by the service. Must be 4-128 characters in length. Valid characters are `/a-z-/`. Must be unique across all Contexts in the parent MetadataStore. (Otherwise the request will fail with ALREADY_EXISTS, or PERMISSION_DENIED if the caller can't view the preexisting Context.)", +"location": "query", +"type": "string" +}, +"parent": { +"description": "Required. The resource name of the MetadataStore where the Context should be created. Format: `projects/{project}/locations/{location}/metadataStores/{metadatastore}`", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/metadataStores/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+parent}/contexts", +"request": { +"$ref": "GoogleCloudAiplatformV1Context" +}, +"response": { +"$ref": "GoogleCloudAiplatformV1Context" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"delete": { +"description": "Deletes a stored Context.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/metadataStores/{metadataStoresId}/contexts/{contextsId}", +"httpMethod": "DELETE", +"id": "aiplatform.projects.locations.metadataStores.contexts.delete", +"parameterOrder": [ +"name" +], +"parameters": { +"etag": { +"description": "Optional. The etag of the Context to delete. If this is provided, it must match the server's etag. Otherwise, the request will fail with a FAILED_PRECONDITION.", +"location": "query", +"type": "string" +}, +"force": { +"description": "The force deletion semantics is still undefined. Users should not use this field.", +"location": "query", +"type": "boolean" +}, +"name": { +"description": "Required. The resource name of the Context to delete. Format: `projects/{project}/locations/{location}/metadataStores/{metadatastore}/contexts/{context}`", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/metadataStores/[^/]+/contexts/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+name}", +"response": { +"$ref": "GoogleLongrunningOperation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"get": { +"description": "Retrieves a specific Context.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/metadataStores/{metadataStoresId}/contexts/{contextsId}", +"httpMethod": "GET", +"id": "aiplatform.projects.locations.metadataStores.contexts.get", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. The resource name of the Context to retrieve. Format: `projects/{project}/locations/{location}/metadataStores/{metadatastore}/contexts/{context}`", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/metadataStores/[^/]+/contexts/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+name}", +"response": { +"$ref": "GoogleCloudAiplatformV1Context" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"list": { +"description": "Lists Contexts on the MetadataStore.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/metadataStores/{metadataStoresId}/contexts", +"httpMethod": "GET", +"id": "aiplatform.projects.locations.metadataStores.contexts.list", +"parameterOrder": [ +"parent" +], +"parameters": { +"filter": { +"description": "Filter specifying the boolean condition for the Contexts to satisfy in order to be part of the result set. The syntax to define filter query is based on https://google.aip.dev/160. Following are the supported set of filters: * **Attribute filtering**: For example: `display_name = \"test\"`. Supported fields include: `name`, `display_name`, `schema_title`, `create_time`, and `update_time`. Time fields, such as `create_time` and `update_time`, require values specified in RFC-3339 format. For example: `create_time = \"2020-11-19T11:30:00-04:00\"`. * **Metadata field**: To filter on metadata fields use traversal operation as follows: `metadata..`. For example: `metadata.field_1.number_value = 10.0`. In case the field name contains special characters (such as colon), one can embed it inside double quote. For example: `metadata.\"field:1\".number_value = 10.0` * **Parent Child filtering**: To filter Contexts based on parent-child relationship use the HAS operator as follows: ``` parent_contexts: \"projects//locations//metadataStores//contexts/\" child_contexts: \"projects//locations//metadataStores//contexts/\" ``` Each of the above supported filters can be combined together using logical operators (`AND` & `OR`). Maximum nested expression depth allowed is 5. For example: `display_name = \"test\" AND metadata.field1.bool_value = true`.", +"location": "query", +"type": "string" +}, +"orderBy": { +"description": "How the list of messages is ordered. Specify the values to order by and an ordering operation. The default sorting order is ascending. To specify descending order for a field, users append a \" desc\" suffix; for example: \"foo desc, bar\". Subfields are specified with a `.` character, such as foo.bar. see https://google.aip.dev/132#ordering for more details.", +"location": "query", +"type": "string" +}, +"pageSize": { +"description": "The maximum number of Contexts to return. The service may return fewer. Must be in range 1-1000, inclusive. Defaults to 100.", +"format": "int32", +"location": "query", +"type": "integer" +}, +"pageToken": { +"description": "A page token, received from a previous MetadataService.ListContexts call. Provide this to retrieve the subsequent page. When paginating, all other provided parameters must match the call that provided the page token. (Otherwise the request will fail with INVALID_ARGUMENT error.)", +"location": "query", +"type": "string" +}, +"parent": { +"description": "Required. The MetadataStore whose Contexts should be listed. Format: `projects/{project}/locations/{location}/metadataStores/{metadatastore}`", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/metadataStores/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+parent}/contexts", +"response": { +"$ref": "GoogleCloudAiplatformV1ListContextsResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"patch": { +"description": "Updates a stored Context.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/metadataStores/{metadataStoresId}/contexts/{contextsId}", +"httpMethod": "PATCH", +"id": "aiplatform.projects.locations.metadataStores.contexts.patch", +"parameterOrder": [ +"name" +], +"parameters": { +"allowMissing": { +"description": "If set to true, and the Context is not found, a new Context is created.", +"location": "query", +"type": "boolean" +}, +"name": { +"description": "Immutable. The resource name of the Context.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/metadataStores/[^/]+/contexts/[^/]+$", +"required": true, +"type": "string" +}, +"updateMask": { +"description": "Optional. A FieldMask indicating which fields should be updated.", +"format": "google-fieldmask", +"location": "query", +"type": "string" +} +}, +"path": "v1/{+name}", +"request": { +"$ref": "GoogleCloudAiplatformV1Context" +}, +"response": { +"$ref": "GoogleCloudAiplatformV1Context" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"purge": { +"description": "Purges Contexts.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/metadataStores/{metadataStoresId}/contexts:purge", +"httpMethod": "POST", +"id": "aiplatform.projects.locations.metadataStores.contexts.purge", +"parameterOrder": [ +"parent" +], +"parameters": { +"parent": { +"description": "Required. The metadata store to purge Contexts from. Format: `projects/{project}/locations/{location}/metadataStores/{metadatastore}`", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/metadataStores/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+parent}/contexts:purge", +"request": { +"$ref": "GoogleCloudAiplatformV1PurgeContextsRequest" +}, +"response": { +"$ref": "GoogleLongrunningOperation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"queryContextLineageSubgraph": { +"description": "Retrieves Artifacts and Executions within the specified Context, connected by Event edges and returned as a LineageSubgraph.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/metadataStores/{metadataStoresId}/contexts/{contextsId}:queryContextLineageSubgraph", +"httpMethod": "GET", +"id": "aiplatform.projects.locations.metadataStores.contexts.queryContextLineageSubgraph", +"parameterOrder": [ +"context" +], +"parameters": { +"context": { +"description": "Required. The resource name of the Context whose Artifacts and Executions should be retrieved as a LineageSubgraph. Format: `projects/{project}/locations/{location}/metadataStores/{metadatastore}/contexts/{context}` The request may error with FAILED_PRECONDITION if the number of Artifacts, the number of Executions, or the number of Events that would be returned for the Context exceeds 1000.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/metadataStores/[^/]+/contexts/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+context}:queryContextLineageSubgraph", +"response": { +"$ref": "GoogleCloudAiplatformV1LineageSubgraph" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"removeContextChildren": { +"description": "Remove a set of children contexts from a parent Context. If any of the child Contexts were NOT added to the parent Context, they are simply skipped.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/metadataStores/{metadataStoresId}/contexts/{contextsId}:removeContextChildren", +"httpMethod": "POST", +"id": "aiplatform.projects.locations.metadataStores.contexts.removeContextChildren", +"parameterOrder": [ +"context" +], +"parameters": { +"context": { +"description": "Required. The resource name of the parent Context. Format: `projects/{project}/locations/{location}/metadataStores/{metadatastore}/contexts/{context}`", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/metadataStores/[^/]+/contexts/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+context}:removeContextChildren", +"request": { +"$ref": "GoogleCloudAiplatformV1RemoveContextChildrenRequest" +}, +"response": { +"$ref": "GoogleCloudAiplatformV1RemoveContextChildrenResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +} +}, +"resources": { +"operations": { +"methods": { +"cancel": { +"description": "Starts asynchronous cancellation on a long-running operation. The server makes a best effort to cancel the operation, but success is not guaranteed. If the server doesn't support this method, it returns `google.rpc.Code.UNIMPLEMENTED`. Clients can use Operations.GetOperation or other methods to check whether the cancellation succeeded or whether the operation completed despite cancellation. On successful cancellation, the operation is not deleted; instead, it becomes an operation with an Operation.error value with a google.rpc.Status.code of `1`, corresponding to `Code.CANCELLED`.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/metadataStores/{metadataStoresId}/contexts/{contextsId}/operations/{operationsId}:cancel", +"httpMethod": "POST", +"id": "aiplatform.projects.locations.metadataStores.contexts.operations.cancel", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "The name of the operation resource to be cancelled.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/metadataStores/[^/]+/contexts/[^/]+/operations/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+name}:cancel", +"response": { +"$ref": "GoogleProtobufEmpty" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"delete": { +"description": "Deletes a long-running operation. This method indicates that the client is no longer interested in the operation result. It does not cancel the operation. If the server doesn't support this method, it returns `google.rpc.Code.UNIMPLEMENTED`.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/metadataStores/{metadataStoresId}/contexts/{contextsId}/operations/{operationsId}", +"httpMethod": "DELETE", +"id": "aiplatform.projects.locations.metadataStores.contexts.operations.delete", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "The name of the operation resource to be deleted.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/metadataStores/[^/]+/contexts/[^/]+/operations/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+name}", +"response": { +"$ref": "GoogleProtobufEmpty" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"get": { +"description": "Gets the latest state of a long-running operation. Clients can use this method to poll the operation result at intervals as recommended by the API service.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/metadataStores/{metadataStoresId}/contexts/{contextsId}/operations/{operationsId}", +"httpMethod": "GET", +"id": "aiplatform.projects.locations.metadataStores.contexts.operations.get", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "The name of the operation resource.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/metadataStores/[^/]+/contexts/[^/]+/operations/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+name}", +"response": { +"$ref": "GoogleLongrunningOperation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"list": { +"description": "Lists operations that match the specified filter in the request. If the server doesn't support this method, it returns `UNIMPLEMENTED`.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/metadataStores/{metadataStoresId}/contexts/{contextsId}/operations", +"httpMethod": "GET", +"id": "aiplatform.projects.locations.metadataStores.contexts.operations.list", +"parameterOrder": [ +"name" +], +"parameters": { +"filter": { +"description": "The standard list filter.", +"location": "query", +"type": "string" +}, +"name": { +"description": "The name of the operation's parent resource.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/metadataStores/[^/]+/contexts/[^/]+$", +"required": true, +"type": "string" +}, +"pageSize": { +"description": "The standard list page size.", +"format": "int32", +"location": "query", +"type": "integer" +}, +"pageToken": { +"description": "The standard list page token.", +"location": "query", +"type": "string" +} +}, +"path": "v1/{+name}/operations", +"response": { +"$ref": "GoogleLongrunningListOperationsResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"wait": { +"description": "Waits until the specified long-running operation is done or reaches at most a specified timeout, returning the latest state. If the operation is already done, the latest state is immediately returned. If the timeout specified is greater than the default HTTP/RPC timeout, the HTTP/RPC timeout is used. If the server does not support this method, it returns `google.rpc.Code.UNIMPLEMENTED`. Note that this method is on a best-effort basis. It may return the latest state before the specified timeout (including immediately), meaning even an immediate response is no guarantee that the operation is done.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/metadataStores/{metadataStoresId}/contexts/{contextsId}/operations/{operationsId}:wait", +"httpMethod": "POST", +"id": "aiplatform.projects.locations.metadataStores.contexts.operations.wait", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "The name of the operation resource to wait on.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/metadataStores/[^/]+/contexts/[^/]+/operations/[^/]+$", +"required": true, +"type": "string" +}, +"timeout": { +"description": "The maximum duration to wait before timing out. If left blank, the wait will be at most the time permitted by the underlying HTTP/RPC protocol. If RPC context deadline is also specified, the shorter one will be used.", +"format": "google-duration", +"location": "query", +"type": "string" +} +}, +"path": "v1/{+name}:wait", +"response": { +"$ref": "GoogleLongrunningOperation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +} +} +} +} +}, +"executions": { +"methods": { +"addExecutionEvents": { +"description": "Adds Events to the specified Execution. An Event indicates whether an Artifact was used as an input or output for an Execution. If an Event already exists between the Execution and the Artifact, the Event is skipped.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/metadataStores/{metadataStoresId}/executions/{executionsId}:addExecutionEvents", +"httpMethod": "POST", +"id": "aiplatform.projects.locations.metadataStores.executions.addExecutionEvents", +"parameterOrder": [ +"execution" +], +"parameters": { +"execution": { +"description": "Required. The resource name of the Execution that the Events connect Artifacts with. Format: `projects/{project}/locations/{location}/metadataStores/{metadatastore}/executions/{execution}`", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/metadataStores/[^/]+/executions/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+execution}:addExecutionEvents", +"request": { +"$ref": "GoogleCloudAiplatformV1AddExecutionEventsRequest" +}, +"response": { +"$ref": "GoogleCloudAiplatformV1AddExecutionEventsResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"create": { +"description": "Creates an Execution associated with a MetadataStore.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/metadataStores/{metadataStoresId}/executions", +"httpMethod": "POST", +"id": "aiplatform.projects.locations.metadataStores.executions.create", +"parameterOrder": [ +"parent" +], +"parameters": { +"executionId": { +"description": "The {execution} portion of the resource name with the format: `projects/{project}/locations/{location}/metadataStores/{metadatastore}/executions/{execution}` If not provided, the Execution's ID will be a UUID generated by the service. Must be 4-128 characters in length. Valid characters are `/a-z-/`. Must be unique across all Executions in the parent MetadataStore. (Otherwise the request will fail with ALREADY_EXISTS, or PERMISSION_DENIED if the caller can't view the preexisting Execution.)", +"location": "query", +"type": "string" +}, +"parent": { +"description": "Required. The resource name of the MetadataStore where the Execution should be created. Format: `projects/{project}/locations/{location}/metadataStores/{metadatastore}`", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/metadataStores/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+parent}/executions", +"request": { +"$ref": "GoogleCloudAiplatformV1Execution" +}, +"response": { +"$ref": "GoogleCloudAiplatformV1Execution" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"delete": { +"description": "Deletes an Execution.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/metadataStores/{metadataStoresId}/executions/{executionsId}", +"httpMethod": "DELETE", +"id": "aiplatform.projects.locations.metadataStores.executions.delete", +"parameterOrder": [ +"name" +], +"parameters": { +"etag": { +"description": "Optional. The etag of the Execution to delete. If this is provided, it must match the server's etag. Otherwise, the request will fail with a FAILED_PRECONDITION.", +"location": "query", +"type": "string" +}, +"name": { +"description": "Required. The resource name of the Execution to delete. Format: `projects/{project}/locations/{location}/metadataStores/{metadatastore}/executions/{execution}`", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/metadataStores/[^/]+/executions/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+name}", +"response": { +"$ref": "GoogleLongrunningOperation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"get": { +"description": "Retrieves a specific Execution.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/metadataStores/{metadataStoresId}/executions/{executionsId}", +"httpMethod": "GET", +"id": "aiplatform.projects.locations.metadataStores.executions.get", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. The resource name of the Execution to retrieve. Format: `projects/{project}/locations/{location}/metadataStores/{metadatastore}/executions/{execution}`", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/metadataStores/[^/]+/executions/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+name}", +"response": { +"$ref": "GoogleCloudAiplatformV1Execution" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"list": { +"description": "Lists Executions in the MetadataStore.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/metadataStores/{metadataStoresId}/executions", +"httpMethod": "GET", +"id": "aiplatform.projects.locations.metadataStores.executions.list", +"parameterOrder": [ +"parent" +], +"parameters": { +"filter": { +"description": "Filter specifying the boolean condition for the Executions to satisfy in order to be part of the result set. The syntax to define filter query is based on https://google.aip.dev/160. Following are the supported set of filters: * **Attribute filtering**: For example: `display_name = \"test\"`. Supported fields include: `name`, `display_name`, `state`, `schema_title`, `create_time`, and `update_time`. Time fields, such as `create_time` and `update_time`, require values specified in RFC-3339 format. For example: `create_time = \"2020-11-19T11:30:00-04:00\"`. * **Metadata field**: To filter on metadata fields use traversal operation as follows: `metadata..` For example: `metadata.field_1.number_value = 10.0` In case the field name contains special characters (such as colon), one can embed it inside double quote. For example: `metadata.\"field:1\".number_value = 10.0` * **Context based filtering**: To filter Executions based on the contexts to which they belong use the function operator with the full resource name: `in_context()`. For example: `in_context(\"projects//locations//metadataStores//contexts/\")` Each of the above supported filters can be combined together using logical operators (`AND` & `OR`). Maximum nested expression depth allowed is 5. For example: `display_name = \"test\" AND metadata.field1.bool_value = true`.", +"location": "query", +"type": "string" +}, +"orderBy": { +"description": "How the list of messages is ordered. Specify the values to order by and an ordering operation. The default sorting order is ascending. To specify descending order for a field, users append a \" desc\" suffix; for example: \"foo desc, bar\". Subfields are specified with a `.` character, such as foo.bar. see https://google.aip.dev/132#ordering for more details.", +"location": "query", +"type": "string" +}, +"pageSize": { +"description": "The maximum number of Executions to return. The service may return fewer. Must be in range 1-1000, inclusive. Defaults to 100.", +"format": "int32", +"location": "query", +"type": "integer" +}, +"pageToken": { +"description": "A page token, received from a previous MetadataService.ListExecutions call. Provide this to retrieve the subsequent page. When paginating, all other provided parameters must match the call that provided the page token. (Otherwise the request will fail with an INVALID_ARGUMENT error.)", +"location": "query", +"type": "string" +}, +"parent": { +"description": "Required. The MetadataStore whose Executions should be listed. Format: `projects/{project}/locations/{location}/metadataStores/{metadatastore}`", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/metadataStores/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+parent}/executions", +"response": { +"$ref": "GoogleCloudAiplatformV1ListExecutionsResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"patch": { +"description": "Updates a stored Execution.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/metadataStores/{metadataStoresId}/executions/{executionsId}", +"httpMethod": "PATCH", +"id": "aiplatform.projects.locations.metadataStores.executions.patch", +"parameterOrder": [ +"name" +], +"parameters": { +"allowMissing": { +"description": "If set to true, and the Execution is not found, a new Execution is created.", +"location": "query", +"type": "boolean" +}, +"name": { +"description": "Output only. The resource name of the Execution.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/metadataStores/[^/]+/executions/[^/]+$", +"required": true, +"type": "string" +}, +"updateMask": { +"description": "Optional. A FieldMask indicating which fields should be updated.", +"format": "google-fieldmask", +"location": "query", +"type": "string" +} +}, +"path": "v1/{+name}", +"request": { +"$ref": "GoogleCloudAiplatformV1Execution" +}, +"response": { +"$ref": "GoogleCloudAiplatformV1Execution" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"purge": { +"description": "Purges Executions.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/metadataStores/{metadataStoresId}/executions:purge", +"httpMethod": "POST", +"id": "aiplatform.projects.locations.metadataStores.executions.purge", +"parameterOrder": [ +"parent" +], +"parameters": { +"parent": { +"description": "Required. The metadata store to purge Executions from. Format: `projects/{project}/locations/{location}/metadataStores/{metadatastore}`", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/metadataStores/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+parent}/executions:purge", +"request": { +"$ref": "GoogleCloudAiplatformV1PurgeExecutionsRequest" +}, +"response": { +"$ref": "GoogleLongrunningOperation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"queryExecutionInputsAndOutputs": { +"description": "Obtains the set of input and output Artifacts for this Execution, in the form of LineageSubgraph that also contains the Execution and connecting Events.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/metadataStores/{metadataStoresId}/executions/{executionsId}:queryExecutionInputsAndOutputs", +"httpMethod": "GET", +"id": "aiplatform.projects.locations.metadataStores.executions.queryExecutionInputsAndOutputs", +"parameterOrder": [ +"execution" +], +"parameters": { +"execution": { +"description": "Required. The resource name of the Execution whose input and output Artifacts should be retrieved as a LineageSubgraph. Format: `projects/{project}/locations/{location}/metadataStores/{metadatastore}/executions/{execution}`", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/metadataStores/[^/]+/executions/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+execution}:queryExecutionInputsAndOutputs", +"response": { +"$ref": "GoogleCloudAiplatformV1LineageSubgraph" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +} +}, +"resources": { +"operations": { +"methods": { +"cancel": { +"description": "Starts asynchronous cancellation on a long-running operation. The server makes a best effort to cancel the operation, but success is not guaranteed. If the server doesn't support this method, it returns `google.rpc.Code.UNIMPLEMENTED`. Clients can use Operations.GetOperation or other methods to check whether the cancellation succeeded or whether the operation completed despite cancellation. On successful cancellation, the operation is not deleted; instead, it becomes an operation with an Operation.error value with a google.rpc.Status.code of `1`, corresponding to `Code.CANCELLED`.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/metadataStores/{metadataStoresId}/executions/{executionsId}/operations/{operationsId}:cancel", +"httpMethod": "POST", +"id": "aiplatform.projects.locations.metadataStores.executions.operations.cancel", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "The name of the operation resource to be cancelled.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/metadataStores/[^/]+/executions/[^/]+/operations/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+name}:cancel", +"response": { +"$ref": "GoogleProtobufEmpty" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"delete": { +"description": "Deletes a long-running operation. This method indicates that the client is no longer interested in the operation result. It does not cancel the operation. If the server doesn't support this method, it returns `google.rpc.Code.UNIMPLEMENTED`.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/metadataStores/{metadataStoresId}/executions/{executionsId}/operations/{operationsId}", +"httpMethod": "DELETE", +"id": "aiplatform.projects.locations.metadataStores.executions.operations.delete", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "The name of the operation resource to be deleted.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/metadataStores/[^/]+/executions/[^/]+/operations/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+name}", +"response": { +"$ref": "GoogleProtobufEmpty" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"get": { +"description": "Gets the latest state of a long-running operation. Clients can use this method to poll the operation result at intervals as recommended by the API service.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/metadataStores/{metadataStoresId}/executions/{executionsId}/operations/{operationsId}", +"httpMethod": "GET", +"id": "aiplatform.projects.locations.metadataStores.executions.operations.get", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "The name of the operation resource.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/metadataStores/[^/]+/executions/[^/]+/operations/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+name}", +"response": { +"$ref": "GoogleLongrunningOperation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"list": { +"description": "Lists operations that match the specified filter in the request. If the server doesn't support this method, it returns `UNIMPLEMENTED`.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/metadataStores/{metadataStoresId}/executions/{executionsId}/operations", +"httpMethod": "GET", +"id": "aiplatform.projects.locations.metadataStores.executions.operations.list", +"parameterOrder": [ +"name" +], +"parameters": { +"filter": { +"description": "The standard list filter.", +"location": "query", +"type": "string" +}, +"name": { +"description": "The name of the operation's parent resource.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/metadataStores/[^/]+/executions/[^/]+$", +"required": true, +"type": "string" +}, +"pageSize": { +"description": "The standard list page size.", +"format": "int32", +"location": "query", +"type": "integer" +}, +"pageToken": { +"description": "The standard list page token.", +"location": "query", +"type": "string" +} +}, +"path": "v1/{+name}/operations", +"response": { +"$ref": "GoogleLongrunningListOperationsResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"wait": { +"description": "Waits until the specified long-running operation is done or reaches at most a specified timeout, returning the latest state. If the operation is already done, the latest state is immediately returned. If the timeout specified is greater than the default HTTP/RPC timeout, the HTTP/RPC timeout is used. If the server does not support this method, it returns `google.rpc.Code.UNIMPLEMENTED`. Note that this method is on a best-effort basis. It may return the latest state before the specified timeout (including immediately), meaning even an immediate response is no guarantee that the operation is done.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/metadataStores/{metadataStoresId}/executions/{executionsId}/operations/{operationsId}:wait", +"httpMethod": "POST", +"id": "aiplatform.projects.locations.metadataStores.executions.operations.wait", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "The name of the operation resource to wait on.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/metadataStores/[^/]+/executions/[^/]+/operations/[^/]+$", +"required": true, +"type": "string" +}, +"timeout": { +"description": "The maximum duration to wait before timing out. If left blank, the wait will be at most the time permitted by the underlying HTTP/RPC protocol. If RPC context deadline is also specified, the shorter one will be used.", +"format": "google-duration", +"location": "query", +"type": "string" +} +}, +"path": "v1/{+name}:wait", +"response": { +"$ref": "GoogleLongrunningOperation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +} +} +} +} +}, +"metadataSchemas": { +"methods": { +"create": { +"description": "Creates a MetadataSchema.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/metadataStores/{metadataStoresId}/metadataSchemas", +"httpMethod": "POST", +"id": "aiplatform.projects.locations.metadataStores.metadataSchemas.create", +"parameterOrder": [ +"parent" +], +"parameters": { +"metadataSchemaId": { +"description": "The {metadata_schema} portion of the resource name with the format: `projects/{project}/locations/{location}/metadataStores/{metadatastore}/metadataSchemas/{metadataschema}` If not provided, the MetadataStore's ID will be a UUID generated by the service. Must be 4-128 characters in length. Valid characters are `/a-z-/`. Must be unique across all MetadataSchemas in the parent Location. (Otherwise the request will fail with ALREADY_EXISTS, or PERMISSION_DENIED if the caller can't view the preexisting MetadataSchema.)", +"location": "query", +"type": "string" +}, +"parent": { +"description": "Required. The resource name of the MetadataStore where the MetadataSchema should be created. Format: `projects/{project}/locations/{location}/metadataStores/{metadatastore}`", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/metadataStores/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+parent}/metadataSchemas", +"request": { +"$ref": "GoogleCloudAiplatformV1MetadataSchema" +}, +"response": { +"$ref": "GoogleCloudAiplatformV1MetadataSchema" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"get": { +"description": "Retrieves a specific MetadataSchema.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/metadataStores/{metadataStoresId}/metadataSchemas/{metadataSchemasId}", +"httpMethod": "GET", +"id": "aiplatform.projects.locations.metadataStores.metadataSchemas.get", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. The resource name of the MetadataSchema to retrieve. Format: `projects/{project}/locations/{location}/metadataStores/{metadatastore}/metadataSchemas/{metadataschema}`", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/metadataStores/[^/]+/metadataSchemas/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+name}", +"response": { +"$ref": "GoogleCloudAiplatformV1MetadataSchema" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"list": { +"description": "Lists MetadataSchemas.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/metadataStores/{metadataStoresId}/metadataSchemas", +"httpMethod": "GET", +"id": "aiplatform.projects.locations.metadataStores.metadataSchemas.list", +"parameterOrder": [ +"parent" +], +"parameters": { +"filter": { +"description": "A query to filter available MetadataSchemas for matching results.", +"location": "query", +"type": "string" +}, +"pageSize": { +"description": "The maximum number of MetadataSchemas to return. The service may return fewer. Must be in range 1-1000, inclusive. Defaults to 100.", +"format": "int32", +"location": "query", +"type": "integer" +}, +"pageToken": { +"description": "A page token, received from a previous MetadataService.ListMetadataSchemas call. Provide this to retrieve the next page. When paginating, all other provided parameters must match the call that provided the page token. (Otherwise the request will fail with INVALID_ARGUMENT error.)", +"location": "query", +"type": "string" +}, +"parent": { +"description": "Required. The MetadataStore whose MetadataSchemas should be listed. Format: `projects/{project}/locations/{location}/metadataStores/{metadatastore}`", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/metadataStores/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+parent}/metadataSchemas", +"response": { +"$ref": "GoogleCloudAiplatformV1ListMetadataSchemasResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +} +} +}, +"operations": { +"methods": { +"cancel": { +"description": "Starts asynchronous cancellation on a long-running operation. The server makes a best effort to cancel the operation, but success is not guaranteed. If the server doesn't support this method, it returns `google.rpc.Code.UNIMPLEMENTED`. Clients can use Operations.GetOperation or other methods to check whether the cancellation succeeded or whether the operation completed despite cancellation. On successful cancellation, the operation is not deleted; instead, it becomes an operation with an Operation.error value with a google.rpc.Status.code of `1`, corresponding to `Code.CANCELLED`.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/metadataStores/{metadataStoresId}/operations/{operationsId}:cancel", +"httpMethod": "POST", +"id": "aiplatform.projects.locations.metadataStores.operations.cancel", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "The name of the operation resource to be cancelled.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/metadataStores/[^/]+/operations/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+name}:cancel", +"response": { +"$ref": "GoogleProtobufEmpty" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"delete": { +"description": "Deletes a long-running operation. This method indicates that the client is no longer interested in the operation result. It does not cancel the operation. If the server doesn't support this method, it returns `google.rpc.Code.UNIMPLEMENTED`.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/metadataStores/{metadataStoresId}/operations/{operationsId}", +"httpMethod": "DELETE", +"id": "aiplatform.projects.locations.metadataStores.operations.delete", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "The name of the operation resource to be deleted.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/metadataStores/[^/]+/operations/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+name}", +"response": { +"$ref": "GoogleProtobufEmpty" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"get": { +"description": "Gets the latest state of a long-running operation. Clients can use this method to poll the operation result at intervals as recommended by the API service.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/metadataStores/{metadataStoresId}/operations/{operationsId}", +"httpMethod": "GET", +"id": "aiplatform.projects.locations.metadataStores.operations.get", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "The name of the operation resource.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/metadataStores/[^/]+/operations/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+name}", +"response": { +"$ref": "GoogleLongrunningOperation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"list": { +"description": "Lists operations that match the specified filter in the request. If the server doesn't support this method, it returns `UNIMPLEMENTED`.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/metadataStores/{metadataStoresId}/operations", +"httpMethod": "GET", +"id": "aiplatform.projects.locations.metadataStores.operations.list", +"parameterOrder": [ +"name" +], +"parameters": { +"filter": { +"description": "The standard list filter.", +"location": "query", +"type": "string" +}, +"name": { +"description": "The name of the operation's parent resource.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/metadataStores/[^/]+$", +"required": true, +"type": "string" +}, +"pageSize": { +"description": "The standard list page size.", +"format": "int32", +"location": "query", +"type": "integer" +}, +"pageToken": { +"description": "The standard list page token.", +"location": "query", +"type": "string" +} +}, +"path": "v1/{+name}/operations", +"response": { +"$ref": "GoogleLongrunningListOperationsResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"wait": { +"description": "Waits until the specified long-running operation is done or reaches at most a specified timeout, returning the latest state. If the operation is already done, the latest state is immediately returned. If the timeout specified is greater than the default HTTP/RPC timeout, the HTTP/RPC timeout is used. If the server does not support this method, it returns `google.rpc.Code.UNIMPLEMENTED`. Note that this method is on a best-effort basis. It may return the latest state before the specified timeout (including immediately), meaning even an immediate response is no guarantee that the operation is done.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/metadataStores/{metadataStoresId}/operations/{operationsId}:wait", +"httpMethod": "POST", +"id": "aiplatform.projects.locations.metadataStores.operations.wait", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "The name of the operation resource to wait on.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/metadataStores/[^/]+/operations/[^/]+$", +"required": true, +"type": "string" +}, +"timeout": { +"description": "The maximum duration to wait before timing out. If left blank, the wait will be at most the time permitted by the underlying HTTP/RPC protocol. If RPC context deadline is also specified, the shorter one will be used.", +"format": "google-duration", +"location": "query", +"type": "string" +} +}, +"path": "v1/{+name}:wait", +"response": { +"$ref": "GoogleLongrunningOperation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +} +} +} +} +}, +"migratableResources": { +"methods": { +"batchMigrate": { +"description": "Batch migrates resources from ml.googleapis.com, automl.googleapis.com, and datalabeling.googleapis.com to Vertex AI.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/migratableResources:batchMigrate", +"httpMethod": "POST", +"id": "aiplatform.projects.locations.migratableResources.batchMigrate", +"parameterOrder": [ +"parent" +], +"parameters": { +"parent": { +"description": "Required. The location of the migrated resource will live in. Format: `projects/{project}/locations/{location}`", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+parent}/migratableResources:batchMigrate", +"request": { +"$ref": "GoogleCloudAiplatformV1BatchMigrateResourcesRequest" +}, +"response": { +"$ref": "GoogleLongrunningOperation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"search": { +"description": "Searches all of the resources in automl.googleapis.com, datalabeling.googleapis.com and ml.googleapis.com that can be migrated to Vertex AI's given location.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/migratableResources:search", +"httpMethod": "POST", +"id": "aiplatform.projects.locations.migratableResources.search", +"parameterOrder": [ +"parent" +], +"parameters": { +"parent": { +"description": "Required. The location that the migratable resources should be searched from. It's the Vertex AI location that the resources can be migrated to, not the resources' original location. Format: `projects/{project}/locations/{location}`", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+parent}/migratableResources:search", +"request": { +"$ref": "GoogleCloudAiplatformV1SearchMigratableResourcesRequest" +}, +"response": { +"$ref": "GoogleCloudAiplatformV1SearchMigratableResourcesResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +} +}, +"resources": { +"operations": { +"methods": { +"cancel": { +"description": "Starts asynchronous cancellation on a long-running operation. The server makes a best effort to cancel the operation, but success is not guaranteed. If the server doesn't support this method, it returns `google.rpc.Code.UNIMPLEMENTED`. Clients can use Operations.GetOperation or other methods to check whether the cancellation succeeded or whether the operation completed despite cancellation. On successful cancellation, the operation is not deleted; instead, it becomes an operation with an Operation.error value with a google.rpc.Status.code of `1`, corresponding to `Code.CANCELLED`.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/migratableResources/{migratableResourcesId}/operations/{operationsId}:cancel", +"httpMethod": "POST", +"id": "aiplatform.projects.locations.migratableResources.operations.cancel", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "The name of the operation resource to be cancelled.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/migratableResources/[^/]+/operations/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+name}:cancel", +"response": { +"$ref": "GoogleProtobufEmpty" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"delete": { +"description": "Deletes a long-running operation. This method indicates that the client is no longer interested in the operation result. It does not cancel the operation. If the server doesn't support this method, it returns `google.rpc.Code.UNIMPLEMENTED`.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/migratableResources/{migratableResourcesId}/operations/{operationsId}", +"httpMethod": "DELETE", +"id": "aiplatform.projects.locations.migratableResources.operations.delete", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "The name of the operation resource to be deleted.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/migratableResources/[^/]+/operations/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+name}", +"response": { +"$ref": "GoogleProtobufEmpty" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"get": { +"description": "Gets the latest state of a long-running operation. Clients can use this method to poll the operation result at intervals as recommended by the API service.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/migratableResources/{migratableResourcesId}/operations/{operationsId}", +"httpMethod": "GET", +"id": "aiplatform.projects.locations.migratableResources.operations.get", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "The name of the operation resource.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/migratableResources/[^/]+/operations/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+name}", +"response": { +"$ref": "GoogleLongrunningOperation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"list": { +"description": "Lists operations that match the specified filter in the request. If the server doesn't support this method, it returns `UNIMPLEMENTED`.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/migratableResources/{migratableResourcesId}/operations", +"httpMethod": "GET", +"id": "aiplatform.projects.locations.migratableResources.operations.list", +"parameterOrder": [ +"name" +], +"parameters": { +"filter": { +"description": "The standard list filter.", +"location": "query", +"type": "string" +}, +"name": { +"description": "The name of the operation's parent resource.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/migratableResources/[^/]+$", +"required": true, +"type": "string" +}, +"pageSize": { +"description": "The standard list page size.", +"format": "int32", +"location": "query", +"type": "integer" +}, +"pageToken": { +"description": "The standard list page token.", +"location": "query", +"type": "string" +} +}, +"path": "v1/{+name}/operations", +"response": { +"$ref": "GoogleLongrunningListOperationsResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"wait": { +"description": "Waits until the specified long-running operation is done or reaches at most a specified timeout, returning the latest state. If the operation is already done, the latest state is immediately returned. If the timeout specified is greater than the default HTTP/RPC timeout, the HTTP/RPC timeout is used. If the server does not support this method, it returns `google.rpc.Code.UNIMPLEMENTED`. Note that this method is on a best-effort basis. It may return the latest state before the specified timeout (including immediately), meaning even an immediate response is no guarantee that the operation is done.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/migratableResources/{migratableResourcesId}/operations/{operationsId}:wait", +"httpMethod": "POST", +"id": "aiplatform.projects.locations.migratableResources.operations.wait", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "The name of the operation resource to wait on.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/migratableResources/[^/]+/operations/[^/]+$", +"required": true, +"type": "string" +}, +"timeout": { +"description": "The maximum duration to wait before timing out. If left blank, the wait will be at most the time permitted by the underlying HTTP/RPC protocol. If RPC context deadline is also specified, the shorter one will be used.", +"format": "google-duration", +"location": "query", +"type": "string" +} +}, +"path": "v1/{+name}:wait", +"response": { +"$ref": "GoogleLongrunningOperation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +} +} +} +} +}, +"modelDeploymentMonitoringJobs": { +"methods": { +"create": { +"description": "Creates a ModelDeploymentMonitoringJob. It will run periodically on a configured interval.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/modelDeploymentMonitoringJobs", +"httpMethod": "POST", +"id": "aiplatform.projects.locations.modelDeploymentMonitoringJobs.create", +"parameterOrder": [ +"parent" +], +"parameters": { +"parent": { +"description": "Required. The parent of the ModelDeploymentMonitoringJob. Format: `projects/{project}/locations/{location}`", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+parent}/modelDeploymentMonitoringJobs", +"request": { +"$ref": "GoogleCloudAiplatformV1ModelDeploymentMonitoringJob" +}, +"response": { +"$ref": "GoogleCloudAiplatformV1ModelDeploymentMonitoringJob" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"delete": { +"description": "Deletes a ModelDeploymentMonitoringJob.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/modelDeploymentMonitoringJobs/{modelDeploymentMonitoringJobsId}", +"httpMethod": "DELETE", +"id": "aiplatform.projects.locations.modelDeploymentMonitoringJobs.delete", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. The resource name of the model monitoring job to delete. Format: `projects/{project}/locations/{location}/modelDeploymentMonitoringJobs/{model_deployment_monitoring_job}`", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/modelDeploymentMonitoringJobs/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+name}", +"response": { +"$ref": "GoogleLongrunningOperation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"get": { +"description": "Gets a ModelDeploymentMonitoringJob.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/modelDeploymentMonitoringJobs/{modelDeploymentMonitoringJobsId}", +"httpMethod": "GET", +"id": "aiplatform.projects.locations.modelDeploymentMonitoringJobs.get", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. The resource name of the ModelDeploymentMonitoringJob. Format: `projects/{project}/locations/{location}/modelDeploymentMonitoringJobs/{model_deployment_monitoring_job}`", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/modelDeploymentMonitoringJobs/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+name}", +"response": { +"$ref": "GoogleCloudAiplatformV1ModelDeploymentMonitoringJob" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"list": { +"description": "Lists ModelDeploymentMonitoringJobs in a Location.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/modelDeploymentMonitoringJobs", +"httpMethod": "GET", +"id": "aiplatform.projects.locations.modelDeploymentMonitoringJobs.list", +"parameterOrder": [ +"parent" +], +"parameters": { +"filter": { +"description": "The standard list filter. Supported fields: * `display_name` supports `=`, `!=` comparisons, and `:` wildcard. * `state` supports `=`, `!=` comparisons. * `create_time` supports `=`, `!=`,`<`, `<=`,`>`, `>=` comparisons. `create_time` must be in RFC 3339 format. * `labels` supports general map functions that is: `labels.key=value` - key:value equality `labels.key:* - key existence Some examples of using the filter are: * `state=\"JOB_STATE_SUCCEEDED\" AND display_name:\"my_job_*\"` * `state!=\"JOB_STATE_FAILED\" OR display_name=\"my_job\"` * `NOT display_name=\"my_job\"` * `create_time>\"2021-05-18T00:00:00Z\"` * `labels.keyA=valueA` * `labels.keyB:*`", +"location": "query", +"type": "string" +}, +"pageSize": { +"description": "The standard list page size.", +"format": "int32", +"location": "query", +"type": "integer" +}, +"pageToken": { +"description": "The standard list page token.", +"location": "query", +"type": "string" +}, +"parent": { +"description": "Required. The parent of the ModelDeploymentMonitoringJob. Format: `projects/{project}/locations/{location}`", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+$", +"required": true, +"type": "string" +}, +"readMask": { +"description": "Mask specifying which fields to read", +"format": "google-fieldmask", +"location": "query", +"type": "string" +} +}, +"path": "v1/{+parent}/modelDeploymentMonitoringJobs", +"response": { +"$ref": "GoogleCloudAiplatformV1ListModelDeploymentMonitoringJobsResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"patch": { +"description": "Updates a ModelDeploymentMonitoringJob.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/modelDeploymentMonitoringJobs/{modelDeploymentMonitoringJobsId}", +"httpMethod": "PATCH", +"id": "aiplatform.projects.locations.modelDeploymentMonitoringJobs.patch", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Output only. Resource name of a ModelDeploymentMonitoringJob.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/modelDeploymentMonitoringJobs/[^/]+$", +"required": true, +"type": "string" +}, +"updateMask": { +"description": "Required. The update mask is used to specify the fields to be overwritten in the ModelDeploymentMonitoringJob resource by the update. The fields specified in the update_mask are relative to the resource, not the full request. A field will be overwritten if it is in the mask. If the user does not provide a mask then only the non-empty fields present in the request will be overwritten. Set the update_mask to `*` to override all fields. For the objective config, the user can either provide the update mask for model_deployment_monitoring_objective_configs or any combination of its nested fields, such as: model_deployment_monitoring_objective_configs.objective_config.training_dataset. Updatable fields: * `display_name` * `model_deployment_monitoring_schedule_config` * `model_monitoring_alert_config` * `logging_sampling_strategy` * `labels` * `log_ttl` * `enable_monitoring_pipeline_logs` . and * `model_deployment_monitoring_objective_configs` . or * `model_deployment_monitoring_objective_configs.objective_config.training_dataset` * `model_deployment_monitoring_objective_configs.objective_config.training_prediction_skew_detection_config` * `model_deployment_monitoring_objective_configs.objective_config.prediction_drift_detection_config`", +"format": "google-fieldmask", +"location": "query", +"type": "string" +} +}, +"path": "v1/{+name}", +"request": { +"$ref": "GoogleCloudAiplatformV1ModelDeploymentMonitoringJob" +}, +"response": { +"$ref": "GoogleLongrunningOperation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"pause": { +"description": "Pauses a ModelDeploymentMonitoringJob. If the job is running, the server makes a best effort to cancel the job. Will mark ModelDeploymentMonitoringJob.state to 'PAUSED'.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/modelDeploymentMonitoringJobs/{modelDeploymentMonitoringJobsId}:pause", +"httpMethod": "POST", +"id": "aiplatform.projects.locations.modelDeploymentMonitoringJobs.pause", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. The resource name of the ModelDeploymentMonitoringJob to pause. Format: `projects/{project}/locations/{location}/modelDeploymentMonitoringJobs/{model_deployment_monitoring_job}`", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/modelDeploymentMonitoringJobs/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+name}:pause", +"request": { +"$ref": "GoogleCloudAiplatformV1PauseModelDeploymentMonitoringJobRequest" +}, +"response": { +"$ref": "GoogleProtobufEmpty" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"resume": { +"description": "Resumes a paused ModelDeploymentMonitoringJob. It will start to run from next scheduled time. A deleted ModelDeploymentMonitoringJob can't be resumed.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/modelDeploymentMonitoringJobs/{modelDeploymentMonitoringJobsId}:resume", +"httpMethod": "POST", +"id": "aiplatform.projects.locations.modelDeploymentMonitoringJobs.resume", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. The resource name of the ModelDeploymentMonitoringJob to resume. Format: `projects/{project}/locations/{location}/modelDeploymentMonitoringJobs/{model_deployment_monitoring_job}`", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/modelDeploymentMonitoringJobs/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+name}:resume", +"request": { +"$ref": "GoogleCloudAiplatformV1ResumeModelDeploymentMonitoringJobRequest" +}, +"response": { +"$ref": "GoogleProtobufEmpty" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"searchModelDeploymentMonitoringStatsAnomalies": { +"description": "Searches Model Monitoring Statistics generated within a given time window.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/modelDeploymentMonitoringJobs/{modelDeploymentMonitoringJobsId}:searchModelDeploymentMonitoringStatsAnomalies", +"httpMethod": "POST", +"id": "aiplatform.projects.locations.modelDeploymentMonitoringJobs.searchModelDeploymentMonitoringStatsAnomalies", +"parameterOrder": [ +"modelDeploymentMonitoringJob" +], +"parameters": { +"modelDeploymentMonitoringJob": { +"description": "Required. ModelDeploymentMonitoring Job resource name. Format: `projects/{project}/locations/{location}/modelDeploymentMonitoringJobs/{model_deployment_monitoring_job}`", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/modelDeploymentMonitoringJobs/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+modelDeploymentMonitoringJob}:searchModelDeploymentMonitoringStatsAnomalies", +"request": { +"$ref": "GoogleCloudAiplatformV1SearchModelDeploymentMonitoringStatsAnomaliesRequest" +}, +"response": { +"$ref": "GoogleCloudAiplatformV1SearchModelDeploymentMonitoringStatsAnomaliesResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +} +}, +"resources": { +"operations": { +"methods": { +"cancel": { +"description": "Starts asynchronous cancellation on a long-running operation. The server makes a best effort to cancel the operation, but success is not guaranteed. If the server doesn't support this method, it returns `google.rpc.Code.UNIMPLEMENTED`. Clients can use Operations.GetOperation or other methods to check whether the cancellation succeeded or whether the operation completed despite cancellation. On successful cancellation, the operation is not deleted; instead, it becomes an operation with an Operation.error value with a google.rpc.Status.code of `1`, corresponding to `Code.CANCELLED`.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/modelDeploymentMonitoringJobs/{modelDeploymentMonitoringJobsId}/operations/{operationsId}:cancel", +"httpMethod": "POST", +"id": "aiplatform.projects.locations.modelDeploymentMonitoringJobs.operations.cancel", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "The name of the operation resource to be cancelled.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/modelDeploymentMonitoringJobs/[^/]+/operations/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+name}:cancel", +"response": { +"$ref": "GoogleProtobufEmpty" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"delete": { +"description": "Deletes a long-running operation. This method indicates that the client is no longer interested in the operation result. It does not cancel the operation. If the server doesn't support this method, it returns `google.rpc.Code.UNIMPLEMENTED`.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/modelDeploymentMonitoringJobs/{modelDeploymentMonitoringJobsId}/operations/{operationsId}", +"httpMethod": "DELETE", +"id": "aiplatform.projects.locations.modelDeploymentMonitoringJobs.operations.delete", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "The name of the operation resource to be deleted.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/modelDeploymentMonitoringJobs/[^/]+/operations/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+name}", +"response": { +"$ref": "GoogleProtobufEmpty" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"get": { +"description": "Gets the latest state of a long-running operation. Clients can use this method to poll the operation result at intervals as recommended by the API service.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/modelDeploymentMonitoringJobs/{modelDeploymentMonitoringJobsId}/operations/{operationsId}", +"httpMethod": "GET", +"id": "aiplatform.projects.locations.modelDeploymentMonitoringJobs.operations.get", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "The name of the operation resource.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/modelDeploymentMonitoringJobs/[^/]+/operations/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+name}", +"response": { +"$ref": "GoogleLongrunningOperation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"list": { +"description": "Lists operations that match the specified filter in the request. If the server doesn't support this method, it returns `UNIMPLEMENTED`.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/modelDeploymentMonitoringJobs/{modelDeploymentMonitoringJobsId}/operations", +"httpMethod": "GET", +"id": "aiplatform.projects.locations.modelDeploymentMonitoringJobs.operations.list", +"parameterOrder": [ +"name" +], +"parameters": { +"filter": { +"description": "The standard list filter.", +"location": "query", +"type": "string" +}, +"name": { +"description": "The name of the operation's parent resource.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/modelDeploymentMonitoringJobs/[^/]+$", +"required": true, +"type": "string" +}, +"pageSize": { +"description": "The standard list page size.", +"format": "int32", +"location": "query", +"type": "integer" +}, +"pageToken": { +"description": "The standard list page token.", +"location": "query", +"type": "string" +} +}, +"path": "v1/{+name}/operations", +"response": { +"$ref": "GoogleLongrunningListOperationsResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"wait": { +"description": "Waits until the specified long-running operation is done or reaches at most a specified timeout, returning the latest state. If the operation is already done, the latest state is immediately returned. If the timeout specified is greater than the default HTTP/RPC timeout, the HTTP/RPC timeout is used. If the server does not support this method, it returns `google.rpc.Code.UNIMPLEMENTED`. Note that this method is on a best-effort basis. It may return the latest state before the specified timeout (including immediately), meaning even an immediate response is no guarantee that the operation is done.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/modelDeploymentMonitoringJobs/{modelDeploymentMonitoringJobsId}/operations/{operationsId}:wait", +"httpMethod": "POST", +"id": "aiplatform.projects.locations.modelDeploymentMonitoringJobs.operations.wait", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "The name of the operation resource to wait on.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/modelDeploymentMonitoringJobs/[^/]+/operations/[^/]+$", +"required": true, +"type": "string" +}, +"timeout": { +"description": "The maximum duration to wait before timing out. If left blank, the wait will be at most the time permitted by the underlying HTTP/RPC protocol. If RPC context deadline is also specified, the shorter one will be used.", +"format": "google-duration", +"location": "query", +"type": "string" +} +}, +"path": "v1/{+name}:wait", +"response": { +"$ref": "GoogleLongrunningOperation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +} +} +} +} +}, +"models": { +"methods": { +"copy": { +"description": "Copies an already existing Vertex AI Model into the specified Location. The source Model must exist in the same Project. When copying custom Models, the users themselves are responsible for Model.metadata content to be region-agnostic, as well as making sure that any resources (e.g. files) it depends on remain accessible.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/models:copy", +"httpMethod": "POST", +"id": "aiplatform.projects.locations.models.copy", +"parameterOrder": [ +"parent" +], +"parameters": { +"parent": { +"description": "Required. The resource name of the Location into which to copy the Model. Format: `projects/{project}/locations/{location}`", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+parent}/models:copy", +"request": { +"$ref": "GoogleCloudAiplatformV1CopyModelRequest" +}, +"response": { +"$ref": "GoogleLongrunningOperation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"delete": { +"description": "Deletes a Model. A model cannot be deleted if any Endpoint resource has a DeployedModel based on the model in its deployed_models field.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/models/{modelsId}", +"httpMethod": "DELETE", +"id": "aiplatform.projects.locations.models.delete", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. The name of the Model resource to be deleted. Format: `projects/{project}/locations/{location}/models/{model}`", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/models/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+name}", +"response": { +"$ref": "GoogleLongrunningOperation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"deleteVersion": { +"description": "Deletes a Model version. Model version can only be deleted if there are no DeployedModels created from it. Deleting the only version in the Model is not allowed. Use DeleteModel for deleting the Model instead.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/models/{modelsId}:deleteVersion", +"httpMethod": "DELETE", +"id": "aiplatform.projects.locations.models.deleteVersion", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. The name of the model version to be deleted, with a version ID explicitly included. Example: `projects/{project}/locations/{location}/models/{model}@1234`", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/models/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+name}:deleteVersion", +"response": { +"$ref": "GoogleLongrunningOperation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"export": { +"description": "Exports a trained, exportable Model to a location specified by the user. A Model is considered to be exportable if it has at least one supported export format.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/models/{modelsId}:export", +"httpMethod": "POST", +"id": "aiplatform.projects.locations.models.export", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. The resource name of the Model to export. The resource name may contain version id or version alias to specify the version, if no version is specified, the default version will be exported.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/models/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+name}:export", +"request": { +"$ref": "GoogleCloudAiplatformV1ExportModelRequest" +}, +"response": { +"$ref": "GoogleLongrunningOperation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"get": { +"description": "Gets a Model.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/models/{modelsId}", +"httpMethod": "GET", +"id": "aiplatform.projects.locations.models.get", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. The name of the Model resource. Format: `projects/{project}/locations/{location}/models/{model}` In order to retrieve a specific version of the model, also provide the version ID or version alias. Example: `projects/{project}/locations/{location}/models/{model}@2` or `projects/{project}/locations/{location}/models/{model}@golden` If no version ID or alias is specified, the \"default\" version will be returned. The \"default\" version alias is created for the first version of the model, and can be moved to other versions later on. There will be exactly one default version.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/models/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+name}", +"response": { +"$ref": "GoogleCloudAiplatformV1Model" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"getIamPolicy": { +"description": "Gets the access control policy for a resource. Returns an empty policy if the resource exists and does not have a policy set.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/models/{modelsId}:getIamPolicy", +"httpMethod": "POST", +"id": "aiplatform.projects.locations.models.getIamPolicy", +"parameterOrder": [ +"resource" +], +"parameters": { +"options.requestedPolicyVersion": { +"description": "Optional. The maximum policy version that will be used to format the policy. Valid values are 0, 1, and 3. Requests specifying an invalid value will be rejected. Requests for policies with any conditional role bindings must specify version 3. Policies with no conditional role bindings may specify any valid value or leave the field unset. The policy in the response might use the policy version that you specified, or it might use a lower policy version. For example, if you specify version 3, but the policy has no conditional role bindings, the response uses version 1. To learn which resources support conditions in their IAM policies, see the [IAM documentation](https://cloud.google.com/iam/help/conditions/resource-policies).", +"format": "int32", +"location": "query", +"type": "integer" +}, +"resource": { +"description": "REQUIRED: The resource for which the policy is being requested. See [Resource names](https://cloud.google.com/apis/design/resource_names) for the appropriate value for this field.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/models/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+resource}:getIamPolicy", +"response": { +"$ref": "GoogleIamV1Policy" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"list": { +"description": "Lists Models in a Location.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/models", +"httpMethod": "GET", +"id": "aiplatform.projects.locations.models.list", +"parameterOrder": [ +"parent" +], +"parameters": { +"filter": { +"description": "An expression for filtering the results of the request. For field names both snake_case and camelCase are supported. * `model` supports = and !=. `model` represents the Model ID, i.e. the last segment of the Model's resource name. * `display_name` supports = and != * `labels` supports general map functions that is: * `labels.key=value` - key:value equality * `labels.key:* or labels:key - key existence * A key including a space must be quoted. `labels.\"a key\"`. * `base_model_name` only supports = Some examples: * `model=1234` * `displayName=\"myDisplayName\"` * `labels.myKey=\"myValue\"` * `baseModelName=\"text-bison\"`", +"location": "query", +"type": "string" +}, +"orderBy": { +"description": "A comma-separated list of fields to order by, sorted in ascending order. Use \"desc\" after a field name for descending. Supported fields: * `display_name` * `create_time` * `update_time` Example: `display_name, create_time desc`.", +"location": "query", +"type": "string" +}, +"pageSize": { +"description": "The standard list page size.", +"format": "int32", +"location": "query", +"type": "integer" +}, +"pageToken": { +"description": "The standard list page token. Typically obtained via ListModelsResponse.next_page_token of the previous ModelService.ListModels call.", +"location": "query", +"type": "string" +}, +"parent": { +"description": "Required. The resource name of the Location to list the Models from. Format: `projects/{project}/locations/{location}`", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+$", +"required": true, +"type": "string" +}, +"readMask": { +"description": "Mask specifying which fields to read.", +"format": "google-fieldmask", +"location": "query", +"type": "string" +} +}, +"path": "v1/{+parent}/models", +"response": { +"$ref": "GoogleCloudAiplatformV1ListModelsResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"listVersions": { +"description": "Lists versions of the specified model.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/models/{modelsId}:listVersions", +"httpMethod": "GET", +"id": "aiplatform.projects.locations.models.listVersions", +"parameterOrder": [ +"name" +], +"parameters": { +"filter": { +"description": "An expression for filtering the results of the request. For field names both snake_case and camelCase are supported. * `labels` supports general map functions that is: * `labels.key=value` - key:value equality * `labels.key:* or labels:key - key existence * A key including a space must be quoted. `labels.\"a key\"`. Some examples: * `labels.myKey=\"myValue\"`", +"location": "query", +"type": "string" +}, +"name": { +"description": "Required. The name of the model to list versions for.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/models/[^/]+$", +"required": true, +"type": "string" +}, +"orderBy": { +"description": "A comma-separated list of fields to order by, sorted in ascending order. Use \"desc\" after a field name for descending. Supported fields: * `create_time` * `update_time` Example: `update_time asc, create_time desc`.", +"location": "query", +"type": "string" +}, +"pageSize": { +"description": "The standard list page size.", +"format": "int32", +"location": "query", +"type": "integer" +}, +"pageToken": { +"description": "The standard list page token. Typically obtained via next_page_token of the previous ListModelVersions call.", +"location": "query", +"type": "string" +}, +"readMask": { +"description": "Mask specifying which fields to read.", +"format": "google-fieldmask", +"location": "query", +"type": "string" +} +}, +"path": "v1/{+name}:listVersions", +"response": { +"$ref": "GoogleCloudAiplatformV1ListModelVersionsResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"mergeVersionAliases": { +"description": "Merges a set of aliases for a Model version.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/models/{modelsId}:mergeVersionAliases", +"httpMethod": "POST", +"id": "aiplatform.projects.locations.models.mergeVersionAliases", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. The name of the model version to merge aliases, with a version ID explicitly included. Example: `projects/{project}/locations/{location}/models/{model}@1234`", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/models/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+name}:mergeVersionAliases", +"request": { +"$ref": "GoogleCloudAiplatformV1MergeVersionAliasesRequest" +}, +"response": { +"$ref": "GoogleCloudAiplatformV1Model" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"patch": { +"description": "Updates a Model.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/models/{modelsId}", +"httpMethod": "PATCH", +"id": "aiplatform.projects.locations.models.patch", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "The resource name of the Model.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/models/[^/]+$", +"required": true, +"type": "string" +}, +"updateMask": { +"description": "Required. The update mask applies to the resource. For the `FieldMask` definition, see google.protobuf.FieldMask.", +"format": "google-fieldmask", +"location": "query", +"type": "string" +} +}, +"path": "v1/{+name}", +"request": { +"$ref": "GoogleCloudAiplatformV1Model" +}, +"response": { +"$ref": "GoogleCloudAiplatformV1Model" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"setIamPolicy": { +"description": "Sets the access control policy on the specified resource. Replaces any existing policy. Can return `NOT_FOUND`, `INVALID_ARGUMENT`, and `PERMISSION_DENIED` errors.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/models/{modelsId}:setIamPolicy", +"httpMethod": "POST", +"id": "aiplatform.projects.locations.models.setIamPolicy", +"parameterOrder": [ +"resource" +], +"parameters": { +"resource": { +"description": "REQUIRED: The resource for which the policy is being specified. See [Resource names](https://cloud.google.com/apis/design/resource_names) for the appropriate value for this field.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/models/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+resource}:setIamPolicy", +"request": { +"$ref": "GoogleIamV1SetIamPolicyRequest" +}, +"response": { +"$ref": "GoogleIamV1Policy" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"testIamPermissions": { +"description": "Returns permissions that a caller has on the specified resource. If the resource does not exist, this will return an empty set of permissions, not a `NOT_FOUND` error. Note: This operation is designed to be used for building permission-aware UIs and command-line tools, not for authorization checking. This operation may \"fail open\" without warning.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/models/{modelsId}:testIamPermissions", +"httpMethod": "POST", +"id": "aiplatform.projects.locations.models.testIamPermissions", +"parameterOrder": [ +"resource" +], +"parameters": { +"permissions": { +"description": "The set of permissions to check for the `resource`. Permissions with wildcards (such as `*` or `storage.*`) are not allowed. For more information see [IAM Overview](https://cloud.google.com/iam/docs/overview#permissions).", +"location": "query", +"repeated": true, +"type": "string" +}, +"resource": { +"description": "REQUIRED: The resource for which the policy detail is being requested. See [Resource names](https://cloud.google.com/apis/design/resource_names) for the appropriate value for this field.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/models/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+resource}:testIamPermissions", +"response": { +"$ref": "GoogleIamV1TestIamPermissionsResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"updateExplanationDataset": { +"description": "Incrementally update the dataset used for an examples model.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/models/{modelsId}:updateExplanationDataset", +"httpMethod": "POST", +"id": "aiplatform.projects.locations.models.updateExplanationDataset", +"parameterOrder": [ +"model" +], +"parameters": { +"model": { +"description": "Required. The resource name of the Model to update. Format: `projects/{project}/locations/{location}/models/{model}`", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/models/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+model}:updateExplanationDataset", +"request": { +"$ref": "GoogleCloudAiplatformV1UpdateExplanationDatasetRequest" +}, +"response": { +"$ref": "GoogleLongrunningOperation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"upload": { +"description": "Uploads a Model artifact into Vertex AI.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/models:upload", +"httpMethod": "POST", +"id": "aiplatform.projects.locations.models.upload", +"parameterOrder": [ +"parent" +], +"parameters": { +"parent": { +"description": "Required. The resource name of the Location into which to upload the Model. Format: `projects/{project}/locations/{location}`", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+parent}/models:upload", +"request": { +"$ref": "GoogleCloudAiplatformV1UploadModelRequest" +}, +"response": { +"$ref": "GoogleLongrunningOperation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +} +}, +"resources": { +"evaluations": { +"methods": { +"get": { +"description": "Gets a ModelEvaluation.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/models/{modelsId}/evaluations/{evaluationsId}", +"httpMethod": "GET", +"id": "aiplatform.projects.locations.models.evaluations.get", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. The name of the ModelEvaluation resource. Format: `projects/{project}/locations/{location}/models/{model}/evaluations/{evaluation}`", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/models/[^/]+/evaluations/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+name}", +"response": { +"$ref": "GoogleCloudAiplatformV1ModelEvaluation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"import": { +"description": "Imports an externally generated ModelEvaluation.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/models/{modelsId}/evaluations:import", +"httpMethod": "POST", +"id": "aiplatform.projects.locations.models.evaluations.import", +"parameterOrder": [ +"parent" +], +"parameters": { +"parent": { +"description": "Required. The name of the parent model resource. Format: `projects/{project}/locations/{location}/models/{model}`", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/models/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+parent}/evaluations:import", +"request": { +"$ref": "GoogleCloudAiplatformV1ImportModelEvaluationRequest" +}, +"response": { +"$ref": "GoogleCloudAiplatformV1ModelEvaluation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"list": { +"description": "Lists ModelEvaluations in a Model.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/models/{modelsId}/evaluations", +"httpMethod": "GET", +"id": "aiplatform.projects.locations.models.evaluations.list", +"parameterOrder": [ +"parent" +], +"parameters": { +"filter": { +"description": "The standard list filter.", +"location": "query", +"type": "string" +}, +"pageSize": { +"description": "The standard list page size.", +"format": "int32", +"location": "query", +"type": "integer" +}, +"pageToken": { +"description": "The standard list page token. Typically obtained via ListModelEvaluationsResponse.next_page_token of the previous ModelService.ListModelEvaluations call.", +"location": "query", +"type": "string" +}, +"parent": { +"description": "Required. The resource name of the Model to list the ModelEvaluations from. Format: `projects/{project}/locations/{location}/models/{model}`", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/models/[^/]+$", +"required": true, +"type": "string" +}, +"readMask": { +"description": "Mask specifying which fields to read.", +"format": "google-fieldmask", +"location": "query", +"type": "string" +} +}, +"path": "v1/{+parent}/evaluations", +"response": { +"$ref": "GoogleCloudAiplatformV1ListModelEvaluationsResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +} +}, +"resources": { +"operations": { +"methods": { +"cancel": { +"description": "Starts asynchronous cancellation on a long-running operation. The server makes a best effort to cancel the operation, but success is not guaranteed. If the server doesn't support this method, it returns `google.rpc.Code.UNIMPLEMENTED`. Clients can use Operations.GetOperation or other methods to check whether the cancellation succeeded or whether the operation completed despite cancellation. On successful cancellation, the operation is not deleted; instead, it becomes an operation with an Operation.error value with a google.rpc.Status.code of `1`, corresponding to `Code.CANCELLED`.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/models/{modelsId}/evaluations/{evaluationsId}/operations/{operationsId}:cancel", +"httpMethod": "POST", +"id": "aiplatform.projects.locations.models.evaluations.operations.cancel", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "The name of the operation resource to be cancelled.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/models/[^/]+/evaluations/[^/]+/operations/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+name}:cancel", +"response": { +"$ref": "GoogleProtobufEmpty" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"delete": { +"description": "Deletes a long-running operation. This method indicates that the client is no longer interested in the operation result. It does not cancel the operation. If the server doesn't support this method, it returns `google.rpc.Code.UNIMPLEMENTED`.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/models/{modelsId}/evaluations/{evaluationsId}/operations/{operationsId}", +"httpMethod": "DELETE", +"id": "aiplatform.projects.locations.models.evaluations.operations.delete", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "The name of the operation resource to be deleted.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/models/[^/]+/evaluations/[^/]+/operations/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+name}", +"response": { +"$ref": "GoogleProtobufEmpty" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"get": { +"description": "Gets the latest state of a long-running operation. Clients can use this method to poll the operation result at intervals as recommended by the API service.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/models/{modelsId}/evaluations/{evaluationsId}/operations/{operationsId}", +"httpMethod": "GET", +"id": "aiplatform.projects.locations.models.evaluations.operations.get", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "The name of the operation resource.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/models/[^/]+/evaluations/[^/]+/operations/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+name}", +"response": { +"$ref": "GoogleLongrunningOperation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"list": { +"description": "Lists operations that match the specified filter in the request. If the server doesn't support this method, it returns `UNIMPLEMENTED`.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/models/{modelsId}/evaluations/{evaluationsId}/operations", +"httpMethod": "GET", +"id": "aiplatform.projects.locations.models.evaluations.operations.list", +"parameterOrder": [ +"name" +], +"parameters": { +"filter": { +"description": "The standard list filter.", +"location": "query", +"type": "string" +}, +"name": { +"description": "The name of the operation's parent resource.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/models/[^/]+/evaluations/[^/]+$", +"required": true, +"type": "string" +}, +"pageSize": { +"description": "The standard list page size.", +"format": "int32", +"location": "query", +"type": "integer" +}, +"pageToken": { +"description": "The standard list page token.", +"location": "query", +"type": "string" +} +}, +"path": "v1/{+name}/operations", +"response": { +"$ref": "GoogleLongrunningListOperationsResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"wait": { +"description": "Waits until the specified long-running operation is done or reaches at most a specified timeout, returning the latest state. If the operation is already done, the latest state is immediately returned. If the timeout specified is greater than the default HTTP/RPC timeout, the HTTP/RPC timeout is used. If the server does not support this method, it returns `google.rpc.Code.UNIMPLEMENTED`. Note that this method is on a best-effort basis. It may return the latest state before the specified timeout (including immediately), meaning even an immediate response is no guarantee that the operation is done.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/models/{modelsId}/evaluations/{evaluationsId}/operations/{operationsId}:wait", +"httpMethod": "POST", +"id": "aiplatform.projects.locations.models.evaluations.operations.wait", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "The name of the operation resource to wait on.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/models/[^/]+/evaluations/[^/]+/operations/[^/]+$", +"required": true, +"type": "string" +}, +"timeout": { +"description": "The maximum duration to wait before timing out. If left blank, the wait will be at most the time permitted by the underlying HTTP/RPC protocol. If RPC context deadline is also specified, the shorter one will be used.", +"format": "google-duration", +"location": "query", +"type": "string" +} +}, +"path": "v1/{+name}:wait", +"response": { +"$ref": "GoogleLongrunningOperation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +} +} +}, +"slices": { +"methods": { +"batchImport": { +"description": "Imports a list of externally generated EvaluatedAnnotations.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/models/{modelsId}/evaluations/{evaluationsId}/slices/{slicesId}:batchImport", +"httpMethod": "POST", +"id": "aiplatform.projects.locations.models.evaluations.slices.batchImport", +"parameterOrder": [ +"parent" +], +"parameters": { +"parent": { +"description": "Required. The name of the parent ModelEvaluationSlice resource. Format: `projects/{project}/locations/{location}/models/{model}/evaluations/{evaluation}/slices/{slice}`", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/models/[^/]+/evaluations/[^/]+/slices/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+parent}:batchImport", +"request": { +"$ref": "GoogleCloudAiplatformV1BatchImportEvaluatedAnnotationsRequest" +}, +"response": { +"$ref": "GoogleCloudAiplatformV1BatchImportEvaluatedAnnotationsResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"get": { +"description": "Gets a ModelEvaluationSlice.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/models/{modelsId}/evaluations/{evaluationsId}/slices/{slicesId}", +"httpMethod": "GET", +"id": "aiplatform.projects.locations.models.evaluations.slices.get", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. The name of the ModelEvaluationSlice resource. Format: `projects/{project}/locations/{location}/models/{model}/evaluations/{evaluation}/slices/{slice}`", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/models/[^/]+/evaluations/[^/]+/slices/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+name}", +"response": { +"$ref": "GoogleCloudAiplatformV1ModelEvaluationSlice" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"list": { +"description": "Lists ModelEvaluationSlices in a ModelEvaluation.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/models/{modelsId}/evaluations/{evaluationsId}/slices", +"httpMethod": "GET", +"id": "aiplatform.projects.locations.models.evaluations.slices.list", +"parameterOrder": [ +"parent" +], +"parameters": { +"filter": { +"description": "The standard list filter. * `slice.dimension` - for =.", +"location": "query", +"type": "string" +}, +"pageSize": { +"description": "The standard list page size.", +"format": "int32", +"location": "query", +"type": "integer" +}, +"pageToken": { +"description": "The standard list page token. Typically obtained via ListModelEvaluationSlicesResponse.next_page_token of the previous ModelService.ListModelEvaluationSlices call.", +"location": "query", +"type": "string" +}, +"parent": { +"description": "Required. The resource name of the ModelEvaluation to list the ModelEvaluationSlices from. Format: `projects/{project}/locations/{location}/models/{model}/evaluations/{evaluation}`", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/models/[^/]+/evaluations/[^/]+$", +"required": true, +"type": "string" +}, +"readMask": { +"description": "Mask specifying which fields to read.", +"format": "google-fieldmask", +"location": "query", +"type": "string" +} +}, +"path": "v1/{+parent}/slices", +"response": { +"$ref": "GoogleCloudAiplatformV1ListModelEvaluationSlicesResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +} +} +} +} +}, +"operations": { +"methods": { +"cancel": { +"description": "Starts asynchronous cancellation on a long-running operation. The server makes a best effort to cancel the operation, but success is not guaranteed. If the server doesn't support this method, it returns `google.rpc.Code.UNIMPLEMENTED`. Clients can use Operations.GetOperation or other methods to check whether the cancellation succeeded or whether the operation completed despite cancellation. On successful cancellation, the operation is not deleted; instead, it becomes an operation with an Operation.error value with a google.rpc.Status.code of `1`, corresponding to `Code.CANCELLED`.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/models/{modelsId}/operations/{operationsId}:cancel", +"httpMethod": "POST", +"id": "aiplatform.projects.locations.models.operations.cancel", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "The name of the operation resource to be cancelled.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/models/[^/]+/operations/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+name}:cancel", +"response": { +"$ref": "GoogleProtobufEmpty" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"delete": { +"description": "Deletes a long-running operation. This method indicates that the client is no longer interested in the operation result. It does not cancel the operation. If the server doesn't support this method, it returns `google.rpc.Code.UNIMPLEMENTED`.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/models/{modelsId}/operations/{operationsId}", +"httpMethod": "DELETE", +"id": "aiplatform.projects.locations.models.operations.delete", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "The name of the operation resource to be deleted.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/models/[^/]+/operations/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+name}", +"response": { +"$ref": "GoogleProtobufEmpty" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"get": { +"description": "Gets the latest state of a long-running operation. Clients can use this method to poll the operation result at intervals as recommended by the API service.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/models/{modelsId}/operations/{operationsId}", +"httpMethod": "GET", +"id": "aiplatform.projects.locations.models.operations.get", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "The name of the operation resource.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/models/[^/]+/operations/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+name}", +"response": { +"$ref": "GoogleLongrunningOperation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"list": { +"description": "Lists operations that match the specified filter in the request. If the server doesn't support this method, it returns `UNIMPLEMENTED`.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/models/{modelsId}/operations", +"httpMethod": "GET", +"id": "aiplatform.projects.locations.models.operations.list", +"parameterOrder": [ +"name" +], +"parameters": { +"filter": { +"description": "The standard list filter.", +"location": "query", +"type": "string" +}, +"name": { +"description": "The name of the operation's parent resource.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/models/[^/]+$", +"required": true, +"type": "string" +}, +"pageSize": { +"description": "The standard list page size.", +"format": "int32", +"location": "query", +"type": "integer" +}, +"pageToken": { +"description": "The standard list page token.", +"location": "query", +"type": "string" +} +}, +"path": "v1/{+name}/operations", +"response": { +"$ref": "GoogleLongrunningListOperationsResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"wait": { +"description": "Waits until the specified long-running operation is done or reaches at most a specified timeout, returning the latest state. If the operation is already done, the latest state is immediately returned. If the timeout specified is greater than the default HTTP/RPC timeout, the HTTP/RPC timeout is used. If the server does not support this method, it returns `google.rpc.Code.UNIMPLEMENTED`. Note that this method is on a best-effort basis. It may return the latest state before the specified timeout (including immediately), meaning even an immediate response is no guarantee that the operation is done.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/models/{modelsId}/operations/{operationsId}:wait", +"httpMethod": "POST", +"id": "aiplatform.projects.locations.models.operations.wait", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "The name of the operation resource to wait on.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/models/[^/]+/operations/[^/]+$", +"required": true, +"type": "string" +}, +"timeout": { +"description": "The maximum duration to wait before timing out. If left blank, the wait will be at most the time permitted by the underlying HTTP/RPC protocol. If RPC context deadline is also specified, the shorter one will be used.", +"format": "google-duration", +"location": "query", +"type": "string" +} +}, +"path": "v1/{+name}:wait", +"response": { +"$ref": "GoogleLongrunningOperation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +} +} +} +} +}, +"nasJobs": { +"methods": { +"cancel": { +"description": "Cancels a NasJob. Starts asynchronous cancellation on the NasJob. The server makes a best effort to cancel the job, but success is not guaranteed. Clients can use JobService.GetNasJob or other methods to check whether the cancellation succeeded or whether the job completed despite cancellation. On successful cancellation, the NasJob is not deleted; instead it becomes a job with a NasJob.error value with a google.rpc.Status.code of 1, corresponding to `Code.CANCELLED`, and NasJob.state is set to `CANCELLED`.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/nasJobs/{nasJobsId}:cancel", +"httpMethod": "POST", +"id": "aiplatform.projects.locations.nasJobs.cancel", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. The name of the NasJob to cancel. Format: `projects/{project}/locations/{location}/nasJobs/{nas_job}`", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/nasJobs/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+name}:cancel", +"request": { +"$ref": "GoogleCloudAiplatformV1CancelNasJobRequest" +}, +"response": { +"$ref": "GoogleProtobufEmpty" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"create": { +"description": "Creates a NasJob", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/nasJobs", +"httpMethod": "POST", +"id": "aiplatform.projects.locations.nasJobs.create", +"parameterOrder": [ +"parent" +], +"parameters": { +"parent": { +"description": "Required. The resource name of the Location to create the NasJob in. Format: `projects/{project}/locations/{location}`", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+parent}/nasJobs", +"request": { +"$ref": "GoogleCloudAiplatformV1NasJob" +}, +"response": { +"$ref": "GoogleCloudAiplatformV1NasJob" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"delete": { +"description": "Deletes a NasJob.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/nasJobs/{nasJobsId}", +"httpMethod": "DELETE", +"id": "aiplatform.projects.locations.nasJobs.delete", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. The name of the NasJob resource to be deleted. Format: `projects/{project}/locations/{location}/nasJobs/{nas_job}`", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/nasJobs/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+name}", +"response": { +"$ref": "GoogleLongrunningOperation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"get": { +"description": "Gets a NasJob", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/nasJobs/{nasJobsId}", +"httpMethod": "GET", +"id": "aiplatform.projects.locations.nasJobs.get", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. The name of the NasJob resource. Format: `projects/{project}/locations/{location}/nasJobs/{nas_job}`", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/nasJobs/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+name}", +"response": { +"$ref": "GoogleCloudAiplatformV1NasJob" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/cloud-platform.read-only" +] +}, +"list": { +"description": "Lists NasJobs in a Location.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/nasJobs", +"httpMethod": "GET", +"id": "aiplatform.projects.locations.nasJobs.list", +"parameterOrder": [ +"parent" +], +"parameters": { +"filter": { +"description": "The standard list filter. Supported fields: * `display_name` supports `=`, `!=` comparisons, and `:` wildcard. * `state` supports `=`, `!=` comparisons. * `create_time` supports `=`, `!=`,`<`, `<=`,`>`, `>=` comparisons. `create_time` must be in RFC 3339 format. * `labels` supports general map functions that is: `labels.key=value` - key:value equality `labels.key:* - key existence Some examples of using the filter are: * `state=\"JOB_STATE_SUCCEEDED\" AND display_name:\"my_job_*\"` * `state!=\"JOB_STATE_FAILED\" OR display_name=\"my_job\"` * `NOT display_name=\"my_job\"` * `create_time>\"2021-05-18T00:00:00Z\"` * `labels.keyA=valueA` * `labels.keyB:*`", +"location": "query", +"type": "string" +}, +"pageSize": { +"description": "The standard list page size.", +"format": "int32", +"location": "query", +"type": "integer" +}, +"pageToken": { +"description": "The standard list page token. Typically obtained via ListNasJobsResponse.next_page_token of the previous JobService.ListNasJobs call.", +"location": "query", +"type": "string" +}, +"parent": { +"description": "Required. The resource name of the Location to list the NasJobs from. Format: `projects/{project}/locations/{location}`", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+$", +"required": true, +"type": "string" +}, +"readMask": { +"description": "Mask specifying which fields to read.", +"format": "google-fieldmask", +"location": "query", +"type": "string" +} +}, +"path": "v1/{+parent}/nasJobs", +"response": { +"$ref": "GoogleCloudAiplatformV1ListNasJobsResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +} +}, +"resources": { +"nasTrialDetails": { +"methods": { +"get": { +"description": "Gets a NasTrialDetail.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/nasJobs/{nasJobsId}/nasTrialDetails/{nasTrialDetailsId}", +"httpMethod": "GET", +"id": "aiplatform.projects.locations.nasJobs.nasTrialDetails.get", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. The name of the NasTrialDetail resource. Format: `projects/{project}/locations/{location}/nasJobs/{nas_job}/nasTrialDetails/{nas_trial_detail}`", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/nasJobs/[^/]+/nasTrialDetails/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+name}", +"response": { +"$ref": "GoogleCloudAiplatformV1NasTrialDetail" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"list": { +"description": "List top NasTrialDetails of a NasJob.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/nasJobs/{nasJobsId}/nasTrialDetails", +"httpMethod": "GET", +"id": "aiplatform.projects.locations.nasJobs.nasTrialDetails.list", +"parameterOrder": [ +"parent" +], +"parameters": { +"pageSize": { +"description": "The standard list page size.", +"format": "int32", +"location": "query", +"type": "integer" +}, +"pageToken": { +"description": "The standard list page token. Typically obtained via ListNasTrialDetailsResponse.next_page_token of the previous JobService.ListNasTrialDetails call.", +"location": "query", +"type": "string" +}, +"parent": { +"description": "Required. The name of the NasJob resource. Format: `projects/{project}/locations/{location}/nasJobs/{nas_job}`", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/nasJobs/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+parent}/nasTrialDetails", +"response": { +"$ref": "GoogleCloudAiplatformV1ListNasTrialDetailsResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +} +} +} +} +}, +"notebookExecutionJobs": { +"methods": { +"create": { +"description": "Creates a NotebookExecutionJob.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/notebookExecutionJobs", +"httpMethod": "POST", +"id": "aiplatform.projects.locations.notebookExecutionJobs.create", +"parameterOrder": [ +"parent" +], +"parameters": { +"notebookExecutionJobId": { +"description": "Optional. User specified ID for the NotebookExecutionJob.", +"location": "query", +"type": "string" +}, +"parent": { +"description": "Required. The resource name of the Location to create the NotebookExecutionJob. Format: `projects/{project}/locations/{location}`", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+parent}/notebookExecutionJobs", +"request": { +"$ref": "GoogleCloudAiplatformV1NotebookExecutionJob" +}, +"response": { +"$ref": "GoogleLongrunningOperation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"delete": { +"description": "Deletes a NotebookExecutionJob.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/notebookExecutionJobs/{notebookExecutionJobsId}", +"httpMethod": "DELETE", +"id": "aiplatform.projects.locations.notebookExecutionJobs.delete", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. The name of the NotebookExecutionJob resource to be deleted.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/notebookExecutionJobs/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+name}", +"response": { +"$ref": "GoogleLongrunningOperation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"get": { +"description": "Gets a NotebookExecutionJob.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/notebookExecutionJobs/{notebookExecutionJobsId}", +"httpMethod": "GET", +"id": "aiplatform.projects.locations.notebookExecutionJobs.get", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. The name of the NotebookExecutionJob resource.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/notebookExecutionJobs/[^/]+$", +"required": true, +"type": "string" +}, +"view": { +"description": "Optional. The NotebookExecutionJob view. Defaults to BASIC.", +"enum": [ +"NOTEBOOK_EXECUTION_JOB_VIEW_UNSPECIFIED", +"NOTEBOOK_EXECUTION_JOB_VIEW_BASIC", +"NOTEBOOK_EXECUTION_JOB_VIEW_FULL" +], +"enumDescriptions": [ +"When unspecified, the API defaults to the BASIC view.", +"Includes all fields except for direct notebook inputs.", +"Includes all fields." +], +"location": "query", +"type": "string" +} +}, +"path": "v1/{+name}", +"response": { +"$ref": "GoogleCloudAiplatformV1NotebookExecutionJob" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"list": { +"description": "Lists NotebookExecutionJobs in a Location.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/notebookExecutionJobs", +"httpMethod": "GET", +"id": "aiplatform.projects.locations.notebookExecutionJobs.list", +"parameterOrder": [ +"parent" +], +"parameters": { +"filter": { +"description": "Optional. An expression for filtering the results of the request. For field names both snake_case and camelCase are supported. * `notebookExecutionJob` supports = and !=. `notebookExecutionJob` represents the NotebookExecutionJob ID. * `displayName` supports = and != and regex. * `schedule` supports = and != and regex. Some examples: * `notebookExecutionJob=\"123\"` * `notebookExecutionJob=\"my-execution-job\"` * `displayName=\"myDisplayName\"` and `displayName=~\"myDisplayNameRegex\"`", +"location": "query", +"type": "string" +}, +"orderBy": { +"description": "Optional. A comma-separated list of fields to order by, sorted in ascending order. Use \"desc\" after a field name for descending. Supported fields: * `display_name` * `create_time` * `update_time` Example: `display_name, create_time desc`.", +"location": "query", +"type": "string" +}, +"pageSize": { +"description": "Optional. The standard list page size.", +"format": "int32", +"location": "query", +"type": "integer" +}, +"pageToken": { +"description": "Optional. The standard list page token. Typically obtained via ListNotebookExecutionJobsResponse.next_page_token of the previous NotebookService.ListNotebookExecutionJobs call.", +"location": "query", +"type": "string" +}, +"parent": { +"description": "Required. The resource name of the Location from which to list the NotebookExecutionJobs. Format: `projects/{project}/locations/{location}`", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+$", +"required": true, +"type": "string" +}, +"view": { +"description": "Optional. The NotebookExecutionJob view. Defaults to BASIC.", +"enum": [ +"NOTEBOOK_EXECUTION_JOB_VIEW_UNSPECIFIED", +"NOTEBOOK_EXECUTION_JOB_VIEW_BASIC", +"NOTEBOOK_EXECUTION_JOB_VIEW_FULL" +], +"enumDescriptions": [ +"When unspecified, the API defaults to the BASIC view.", +"Includes all fields except for direct notebook inputs.", +"Includes all fields." +], +"location": "query", +"type": "string" +} +}, +"path": "v1/{+parent}/notebookExecutionJobs", +"response": { +"$ref": "GoogleCloudAiplatformV1ListNotebookExecutionJobsResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +} +}, +"resources": { +"operations": { +"methods": { +"cancel": { +"description": "Starts asynchronous cancellation on a long-running operation. The server makes a best effort to cancel the operation, but success is not guaranteed. If the server doesn't support this method, it returns `google.rpc.Code.UNIMPLEMENTED`. Clients can use Operations.GetOperation or other methods to check whether the cancellation succeeded or whether the operation completed despite cancellation. On successful cancellation, the operation is not deleted; instead, it becomes an operation with an Operation.error value with a google.rpc.Status.code of `1`, corresponding to `Code.CANCELLED`.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/notebookExecutionJobs/{notebookExecutionJobsId}/operations/{operationsId}:cancel", +"httpMethod": "POST", +"id": "aiplatform.projects.locations.notebookExecutionJobs.operations.cancel", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "The name of the operation resource to be cancelled.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/notebookExecutionJobs/[^/]+/operations/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+name}:cancel", +"response": { +"$ref": "GoogleProtobufEmpty" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"delete": { +"description": "Deletes a long-running operation. This method indicates that the client is no longer interested in the operation result. It does not cancel the operation. If the server doesn't support this method, it returns `google.rpc.Code.UNIMPLEMENTED`.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/notebookExecutionJobs/{notebookExecutionJobsId}/operations/{operationsId}", +"httpMethod": "DELETE", +"id": "aiplatform.projects.locations.notebookExecutionJobs.operations.delete", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "The name of the operation resource to be deleted.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/notebookExecutionJobs/[^/]+/operations/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+name}", +"response": { +"$ref": "GoogleProtobufEmpty" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"get": { +"description": "Gets the latest state of a long-running operation. Clients can use this method to poll the operation result at intervals as recommended by the API service.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/notebookExecutionJobs/{notebookExecutionJobsId}/operations/{operationsId}", +"httpMethod": "GET", +"id": "aiplatform.projects.locations.notebookExecutionJobs.operations.get", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "The name of the operation resource.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/notebookExecutionJobs/[^/]+/operations/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+name}", +"response": { +"$ref": "GoogleLongrunningOperation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"list": { +"description": "Lists operations that match the specified filter in the request. If the server doesn't support this method, it returns `UNIMPLEMENTED`.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/notebookExecutionJobs/{notebookExecutionJobsId}/operations", +"httpMethod": "GET", +"id": "aiplatform.projects.locations.notebookExecutionJobs.operations.list", +"parameterOrder": [ +"name" +], +"parameters": { +"filter": { +"description": "The standard list filter.", +"location": "query", +"type": "string" +}, +"name": { +"description": "The name of the operation's parent resource.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/notebookExecutionJobs/[^/]+$", +"required": true, +"type": "string" +}, +"pageSize": { +"description": "The standard list page size.", +"format": "int32", +"location": "query", +"type": "integer" +}, +"pageToken": { +"description": "The standard list page token.", +"location": "query", +"type": "string" +} +}, +"path": "v1/{+name}/operations", +"response": { +"$ref": "GoogleLongrunningListOperationsResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"wait": { +"description": "Waits until the specified long-running operation is done or reaches at most a specified timeout, returning the latest state. If the operation is already done, the latest state is immediately returned. If the timeout specified is greater than the default HTTP/RPC timeout, the HTTP/RPC timeout is used. If the server does not support this method, it returns `google.rpc.Code.UNIMPLEMENTED`. Note that this method is on a best-effort basis. It may return the latest state before the specified timeout (including immediately), meaning even an immediate response is no guarantee that the operation is done.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/notebookExecutionJobs/{notebookExecutionJobsId}/operations/{operationsId}:wait", +"httpMethod": "POST", +"id": "aiplatform.projects.locations.notebookExecutionJobs.operations.wait", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "The name of the operation resource to wait on.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/notebookExecutionJobs/[^/]+/operations/[^/]+$", +"required": true, +"type": "string" +}, +"timeout": { +"description": "The maximum duration to wait before timing out. If left blank, the wait will be at most the time permitted by the underlying HTTP/RPC protocol. If RPC context deadline is also specified, the shorter one will be used.", +"format": "google-duration", +"location": "query", +"type": "string" +} +}, +"path": "v1/{+name}:wait", +"response": { +"$ref": "GoogleLongrunningOperation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +} +} +} +} +}, +"notebookRuntimeTemplates": { +"methods": { +"create": { +"description": "Creates a NotebookRuntimeTemplate.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/notebookRuntimeTemplates", +"httpMethod": "POST", +"id": "aiplatform.projects.locations.notebookRuntimeTemplates.create", +"parameterOrder": [ +"parent" +], +"parameters": { +"notebookRuntimeTemplateId": { +"description": "Optional. User specified ID for the notebook runtime template.", +"location": "query", +"type": "string" +}, +"parent": { +"description": "Required. The resource name of the Location to create the NotebookRuntimeTemplate. Format: `projects/{project}/locations/{location}`", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+parent}/notebookRuntimeTemplates", +"request": { +"$ref": "GoogleCloudAiplatformV1NotebookRuntimeTemplate" +}, +"response": { +"$ref": "GoogleLongrunningOperation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"delete": { +"description": "Deletes a NotebookRuntimeTemplate.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/notebookRuntimeTemplates/{notebookRuntimeTemplatesId}", +"httpMethod": "DELETE", +"id": "aiplatform.projects.locations.notebookRuntimeTemplates.delete", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. The name of the NotebookRuntimeTemplate resource to be deleted. Format: `projects/{project}/locations/{location}/notebookRuntimeTemplates/{notebook_runtime_template}`", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/notebookRuntimeTemplates/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+name}", +"response": { +"$ref": "GoogleLongrunningOperation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"get": { +"description": "Gets a NotebookRuntimeTemplate.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/notebookRuntimeTemplates/{notebookRuntimeTemplatesId}", +"httpMethod": "GET", +"id": "aiplatform.projects.locations.notebookRuntimeTemplates.get", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. The name of the NotebookRuntimeTemplate resource. Format: `projects/{project}/locations/{location}/notebookRuntimeTemplates/{notebook_runtime_template}`", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/notebookRuntimeTemplates/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+name}", +"response": { +"$ref": "GoogleCloudAiplatformV1NotebookRuntimeTemplate" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"getIamPolicy": { +"description": "Gets the access control policy for a resource. Returns an empty policy if the resource exists and does not have a policy set.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/notebookRuntimeTemplates/{notebookRuntimeTemplatesId}:getIamPolicy", +"httpMethod": "POST", +"id": "aiplatform.projects.locations.notebookRuntimeTemplates.getIamPolicy", +"parameterOrder": [ +"resource" +], +"parameters": { +"options.requestedPolicyVersion": { +"description": "Optional. The maximum policy version that will be used to format the policy. Valid values are 0, 1, and 3. Requests specifying an invalid value will be rejected. Requests for policies with any conditional role bindings must specify version 3. Policies with no conditional role bindings may specify any valid value or leave the field unset. The policy in the response might use the policy version that you specified, or it might use a lower policy version. For example, if you specify version 3, but the policy has no conditional role bindings, the response uses version 1. To learn which resources support conditions in their IAM policies, see the [IAM documentation](https://cloud.google.com/iam/help/conditions/resource-policies).", +"format": "int32", +"location": "query", +"type": "integer" +}, +"resource": { +"description": "REQUIRED: The resource for which the policy is being requested. See [Resource names](https://cloud.google.com/apis/design/resource_names) for the appropriate value for this field.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/notebookRuntimeTemplates/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+resource}:getIamPolicy", +"response": { +"$ref": "GoogleIamV1Policy" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"list": { +"description": "Lists NotebookRuntimeTemplates in a Location.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/notebookRuntimeTemplates", +"httpMethod": "GET", +"id": "aiplatform.projects.locations.notebookRuntimeTemplates.list", +"parameterOrder": [ +"parent" +], +"parameters": { +"filter": { +"description": "Optional. An expression for filtering the results of the request. For field names both snake_case and camelCase are supported. * `notebookRuntimeTemplate` supports = and !=. `notebookRuntimeTemplate` represents the NotebookRuntimeTemplate ID, i.e. the last segment of the NotebookRuntimeTemplate's resource name. * `display_name` supports = and != * `labels` supports general map functions that is: * `labels.key=value` - key:value equality * `labels.key:* or labels:key - key existence * A key including a space must be quoted. `labels.\"a key\"`. * `notebookRuntimeType` supports = and !=. notebookRuntimeType enum: [USER_DEFINED, ONE_CLICK]. * `machineType` supports = and !=. * `acceleratorType` supports = and !=. Some examples: * `notebookRuntimeTemplate=notebookRuntimeTemplate123` * `displayName=\"myDisplayName\"` * `labels.myKey=\"myValue\"` * `notebookRuntimeType=USER_DEFINED` * `machineType=e2-standard-4` * `acceleratorType=NVIDIA_TESLA_T4`", +"location": "query", +"type": "string" +}, +"orderBy": { +"description": "Optional. A comma-separated list of fields to order by, sorted in ascending order. Use \"desc\" after a field name for descending. Supported fields: * `display_name` * `create_time` * `update_time` Example: `display_name, create_time desc`.", +"location": "query", +"type": "string" +}, +"pageSize": { +"description": "Optional. The standard list page size.", +"format": "int32", +"location": "query", +"type": "integer" +}, +"pageToken": { +"description": "Optional. The standard list page token. Typically obtained via ListNotebookRuntimeTemplatesResponse.next_page_token of the previous NotebookService.ListNotebookRuntimeTemplates call.", +"location": "query", +"type": "string" +}, +"parent": { +"description": "Required. The resource name of the Location from which to list the NotebookRuntimeTemplates. Format: `projects/{project}/locations/{location}`", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+$", +"required": true, +"type": "string" +}, +"readMask": { +"description": "Optional. Mask specifying which fields to read.", +"format": "google-fieldmask", +"location": "query", +"type": "string" +} +}, +"path": "v1/{+parent}/notebookRuntimeTemplates", +"response": { +"$ref": "GoogleCloudAiplatformV1ListNotebookRuntimeTemplatesResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"patch": { +"description": "Updates a NotebookRuntimeTemplate.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/notebookRuntimeTemplates/{notebookRuntimeTemplatesId}", +"httpMethod": "PATCH", +"id": "aiplatform.projects.locations.notebookRuntimeTemplates.patch", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "The resource name of the NotebookRuntimeTemplate.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/notebookRuntimeTemplates/[^/]+$", +"required": true, +"type": "string" +}, +"updateMask": { +"description": "Required. The update mask applies to the resource. For the `FieldMask` definition, see google.protobuf.FieldMask. Input format: `{paths: \"${updated_filed}\"}` Updatable fields: * `encryption_spec.kms_key_name`", +"format": "google-fieldmask", +"location": "query", +"type": "string" +} +}, +"path": "v1/{+name}", +"request": { +"$ref": "GoogleCloudAiplatformV1NotebookRuntimeTemplate" +}, +"response": { +"$ref": "GoogleCloudAiplatformV1NotebookRuntimeTemplate" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"setIamPolicy": { +"description": "Sets the access control policy on the specified resource. Replaces any existing policy. Can return `NOT_FOUND`, `INVALID_ARGUMENT`, and `PERMISSION_DENIED` errors.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/notebookRuntimeTemplates/{notebookRuntimeTemplatesId}:setIamPolicy", +"httpMethod": "POST", +"id": "aiplatform.projects.locations.notebookRuntimeTemplates.setIamPolicy", +"parameterOrder": [ +"resource" +], +"parameters": { +"resource": { +"description": "REQUIRED: The resource for which the policy is being specified. See [Resource names](https://cloud.google.com/apis/design/resource_names) for the appropriate value for this field.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/notebookRuntimeTemplates/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+resource}:setIamPolicy", +"request": { +"$ref": "GoogleIamV1SetIamPolicyRequest" +}, +"response": { +"$ref": "GoogleIamV1Policy" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"testIamPermissions": { +"description": "Returns permissions that a caller has on the specified resource. If the resource does not exist, this will return an empty set of permissions, not a `NOT_FOUND` error. Note: This operation is designed to be used for building permission-aware UIs and command-line tools, not for authorization checking. This operation may \"fail open\" without warning.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/notebookRuntimeTemplates/{notebookRuntimeTemplatesId}:testIamPermissions", +"httpMethod": "POST", +"id": "aiplatform.projects.locations.notebookRuntimeTemplates.testIamPermissions", +"parameterOrder": [ +"resource" +], +"parameters": { +"permissions": { +"description": "The set of permissions to check for the `resource`. Permissions with wildcards (such as `*` or `storage.*`) are not allowed. For more information see [IAM Overview](https://cloud.google.com/iam/docs/overview#permissions).", +"location": "query", +"repeated": true, +"type": "string" +}, +"resource": { +"description": "REQUIRED: The resource for which the policy detail is being requested. See [Resource names](https://cloud.google.com/apis/design/resource_names) for the appropriate value for this field.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/notebookRuntimeTemplates/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+resource}:testIamPermissions", +"response": { +"$ref": "GoogleIamV1TestIamPermissionsResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +} +}, +"resources": { +"operations": { +"methods": { +"cancel": { +"description": "Starts asynchronous cancellation on a long-running operation. The server makes a best effort to cancel the operation, but success is not guaranteed. If the server doesn't support this method, it returns `google.rpc.Code.UNIMPLEMENTED`. Clients can use Operations.GetOperation or other methods to check whether the cancellation succeeded or whether the operation completed despite cancellation. On successful cancellation, the operation is not deleted; instead, it becomes an operation with an Operation.error value with a google.rpc.Status.code of `1`, corresponding to `Code.CANCELLED`.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/notebookRuntimeTemplates/{notebookRuntimeTemplatesId}/operations/{operationsId}:cancel", +"httpMethod": "POST", +"id": "aiplatform.projects.locations.notebookRuntimeTemplates.operations.cancel", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "The name of the operation resource to be cancelled.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/notebookRuntimeTemplates/[^/]+/operations/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+name}:cancel", +"response": { +"$ref": "GoogleProtobufEmpty" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"delete": { +"description": "Deletes a long-running operation. This method indicates that the client is no longer interested in the operation result. It does not cancel the operation. If the server doesn't support this method, it returns `google.rpc.Code.UNIMPLEMENTED`.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/notebookRuntimeTemplates/{notebookRuntimeTemplatesId}/operations/{operationsId}", +"httpMethod": "DELETE", +"id": "aiplatform.projects.locations.notebookRuntimeTemplates.operations.delete", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "The name of the operation resource to be deleted.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/notebookRuntimeTemplates/[^/]+/operations/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+name}", +"response": { +"$ref": "GoogleProtobufEmpty" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"get": { +"description": "Gets the latest state of a long-running operation. Clients can use this method to poll the operation result at intervals as recommended by the API service.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/notebookRuntimeTemplates/{notebookRuntimeTemplatesId}/operations/{operationsId}", +"httpMethod": "GET", +"id": "aiplatform.projects.locations.notebookRuntimeTemplates.operations.get", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "The name of the operation resource.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/notebookRuntimeTemplates/[^/]+/operations/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+name}", +"response": { +"$ref": "GoogleLongrunningOperation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"list": { +"description": "Lists operations that match the specified filter in the request. If the server doesn't support this method, it returns `UNIMPLEMENTED`.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/notebookRuntimeTemplates/{notebookRuntimeTemplatesId}/operations", +"httpMethod": "GET", +"id": "aiplatform.projects.locations.notebookRuntimeTemplates.operations.list", +"parameterOrder": [ +"name" +], +"parameters": { +"filter": { +"description": "The standard list filter.", +"location": "query", +"type": "string" +}, +"name": { +"description": "The name of the operation's parent resource.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/notebookRuntimeTemplates/[^/]+$", +"required": true, +"type": "string" +}, +"pageSize": { +"description": "The standard list page size.", +"format": "int32", +"location": "query", +"type": "integer" +}, +"pageToken": { +"description": "The standard list page token.", +"location": "query", +"type": "string" +} +}, +"path": "v1/{+name}/operations", +"response": { +"$ref": "GoogleLongrunningListOperationsResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"wait": { +"description": "Waits until the specified long-running operation is done or reaches at most a specified timeout, returning the latest state. If the operation is already done, the latest state is immediately returned. If the timeout specified is greater than the default HTTP/RPC timeout, the HTTP/RPC timeout is used. If the server does not support this method, it returns `google.rpc.Code.UNIMPLEMENTED`. Note that this method is on a best-effort basis. It may return the latest state before the specified timeout (including immediately), meaning even an immediate response is no guarantee that the operation is done.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/notebookRuntimeTemplates/{notebookRuntimeTemplatesId}/operations/{operationsId}:wait", +"httpMethod": "POST", +"id": "aiplatform.projects.locations.notebookRuntimeTemplates.operations.wait", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "The name of the operation resource to wait on.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/notebookRuntimeTemplates/[^/]+/operations/[^/]+$", +"required": true, +"type": "string" +}, +"timeout": { +"description": "The maximum duration to wait before timing out. If left blank, the wait will be at most the time permitted by the underlying HTTP/RPC protocol. If RPC context deadline is also specified, the shorter one will be used.", +"format": "google-duration", +"location": "query", +"type": "string" +} +}, +"path": "v1/{+name}:wait", +"response": { +"$ref": "GoogleLongrunningOperation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +} +} +} +} +}, +"notebookRuntimes": { +"methods": { +"assign": { +"description": "Assigns a NotebookRuntime to a user for a particular Notebook file. This method will either returns an existing assignment or generates a new one.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/notebookRuntimes:assign", +"httpMethod": "POST", +"id": "aiplatform.projects.locations.notebookRuntimes.assign", +"parameterOrder": [ +"parent" +], +"parameters": { +"parent": { +"description": "Required. The resource name of the Location to get the NotebookRuntime assignment. Format: `projects/{project}/locations/{location}`", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+parent}/notebookRuntimes:assign", +"request": { +"$ref": "GoogleCloudAiplatformV1AssignNotebookRuntimeRequest" +}, +"response": { +"$ref": "GoogleLongrunningOperation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"delete": { +"description": "Deletes a NotebookRuntime.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/notebookRuntimes/{notebookRuntimesId}", +"httpMethod": "DELETE", +"id": "aiplatform.projects.locations.notebookRuntimes.delete", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. The name of the NotebookRuntime resource to be deleted. Instead of checking whether the name is in valid NotebookRuntime resource name format, directly throw NotFound exception if there is no such NotebookRuntime in spanner.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/notebookRuntimes/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+name}", +"response": { +"$ref": "GoogleLongrunningOperation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"get": { +"description": "Gets a NotebookRuntime.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/notebookRuntimes/{notebookRuntimesId}", +"httpMethod": "GET", +"id": "aiplatform.projects.locations.notebookRuntimes.get", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. The name of the NotebookRuntime resource. Instead of checking whether the name is in valid NotebookRuntime resource name format, directly throw NotFound exception if there is no such NotebookRuntime in spanner.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/notebookRuntimes/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+name}", +"response": { +"$ref": "GoogleCloudAiplatformV1NotebookRuntime" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"list": { +"description": "Lists NotebookRuntimes in a Location.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/notebookRuntimes", +"httpMethod": "GET", +"id": "aiplatform.projects.locations.notebookRuntimes.list", +"parameterOrder": [ +"parent" +], +"parameters": { +"filter": { +"description": "Optional. An expression for filtering the results of the request. For field names both snake_case and camelCase are supported. * `notebookRuntime` supports = and !=. `notebookRuntime` represents the NotebookRuntime ID, i.e. the last segment of the NotebookRuntime's resource name. * `displayName` supports = and != and regex. * `notebookRuntimeTemplate` supports = and !=. `notebookRuntimeTemplate` represents the NotebookRuntimeTemplate ID, i.e. the last segment of the NotebookRuntimeTemplate's resource name. * `healthState` supports = and !=. healthState enum: [HEALTHY, UNHEALTHY, HEALTH_STATE_UNSPECIFIED]. * `runtimeState` supports = and !=. runtimeState enum: [RUNTIME_STATE_UNSPECIFIED, RUNNING, BEING_STARTED, BEING_STOPPED, STOPPED, BEING_UPGRADED, ERROR, INVALID]. * `runtimeUser` supports = and !=. * API version is UI only: `uiState` supports = and !=. uiState enum: [UI_RESOURCE_STATE_UNSPECIFIED, UI_RESOURCE_STATE_BEING_CREATED, UI_RESOURCE_STATE_ACTIVE, UI_RESOURCE_STATE_BEING_DELETED, UI_RESOURCE_STATE_CREATION_FAILED]. * `notebookRuntimeType` supports = and !=. notebookRuntimeType enum: [USER_DEFINED, ONE_CLICK]. * `machineType` supports = and !=. * `acceleratorType` supports = and !=. Some examples: * `notebookRuntime=\"notebookRuntime123\"` * `displayName=\"myDisplayName\"` and `displayName=~\"myDisplayNameRegex\"` * `notebookRuntimeTemplate=\"notebookRuntimeTemplate321\"` * `healthState=HEALTHY` * `runtimeState=RUNNING` * `runtimeUser=\"test@google.com\"` * `uiState=UI_RESOURCE_STATE_BEING_DELETED` * `notebookRuntimeType=USER_DEFINED` * `machineType=e2-standard-4` * `acceleratorType=NVIDIA_TESLA_T4`", +"location": "query", +"type": "string" +}, +"orderBy": { +"description": "Optional. A comma-separated list of fields to order by, sorted in ascending order. Use \"desc\" after a field name for descending. Supported fields: * `display_name` * `create_time` * `update_time` Example: `display_name, create_time desc`.", +"location": "query", +"type": "string" +}, +"pageSize": { +"description": "Optional. The standard list page size.", +"format": "int32", +"location": "query", +"type": "integer" +}, +"pageToken": { +"description": "Optional. The standard list page token. Typically obtained via ListNotebookRuntimesResponse.next_page_token of the previous NotebookService.ListNotebookRuntimes call.", +"location": "query", +"type": "string" +}, +"parent": { +"description": "Required. The resource name of the Location from which to list the NotebookRuntimes. Format: `projects/{project}/locations/{location}`", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+$", +"required": true, +"type": "string" +}, +"readMask": { +"description": "Optional. Mask specifying which fields to read.", +"format": "google-fieldmask", +"location": "query", +"type": "string" +} +}, +"path": "v1/{+parent}/notebookRuntimes", +"response": { +"$ref": "GoogleCloudAiplatformV1ListNotebookRuntimesResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"start": { +"description": "Starts a NotebookRuntime.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/notebookRuntimes/{notebookRuntimesId}:start", +"httpMethod": "POST", +"id": "aiplatform.projects.locations.notebookRuntimes.start", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. The name of the NotebookRuntime resource to be started. Instead of checking whether the name is in valid NotebookRuntime resource name format, directly throw NotFound exception if there is no such NotebookRuntime in spanner.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/notebookRuntimes/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+name}:start", +"request": { +"$ref": "GoogleCloudAiplatformV1StartNotebookRuntimeRequest" +}, +"response": { +"$ref": "GoogleLongrunningOperation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"stop": { +"description": "Stops a NotebookRuntime.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/notebookRuntimes/{notebookRuntimesId}:stop", +"httpMethod": "POST", +"id": "aiplatform.projects.locations.notebookRuntimes.stop", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. The name of the NotebookRuntime resource to be stopped. Instead of checking whether the name is in valid NotebookRuntime resource name format, directly throw NotFound exception if there is no such NotebookRuntime in spanner.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/notebookRuntimes/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+name}:stop", +"request": { +"$ref": "GoogleCloudAiplatformV1StopNotebookRuntimeRequest" +}, +"response": { +"$ref": "GoogleLongrunningOperation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"upgrade": { +"description": "Upgrades a NotebookRuntime.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/notebookRuntimes/{notebookRuntimesId}:upgrade", +"httpMethod": "POST", +"id": "aiplatform.projects.locations.notebookRuntimes.upgrade", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. The name of the NotebookRuntime resource to be upgrade. Instead of checking whether the name is in valid NotebookRuntime resource name format, directly throw NotFound exception if there is no such NotebookRuntime in spanner.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/notebookRuntimes/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+name}:upgrade", +"request": { +"$ref": "GoogleCloudAiplatformV1UpgradeNotebookRuntimeRequest" +}, +"response": { +"$ref": "GoogleLongrunningOperation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +} +}, +"resources": { +"operations": { +"methods": { +"cancel": { +"description": "Starts asynchronous cancellation on a long-running operation. The server makes a best effort to cancel the operation, but success is not guaranteed. If the server doesn't support this method, it returns `google.rpc.Code.UNIMPLEMENTED`. Clients can use Operations.GetOperation or other methods to check whether the cancellation succeeded or whether the operation completed despite cancellation. On successful cancellation, the operation is not deleted; instead, it becomes an operation with an Operation.error value with a google.rpc.Status.code of `1`, corresponding to `Code.CANCELLED`.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/notebookRuntimes/{notebookRuntimesId}/operations/{operationsId}:cancel", +"httpMethod": "POST", +"id": "aiplatform.projects.locations.notebookRuntimes.operations.cancel", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "The name of the operation resource to be cancelled.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/notebookRuntimes/[^/]+/operations/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+name}:cancel", +"response": { +"$ref": "GoogleProtobufEmpty" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"delete": { +"description": "Deletes a long-running operation. This method indicates that the client is no longer interested in the operation result. It does not cancel the operation. If the server doesn't support this method, it returns `google.rpc.Code.UNIMPLEMENTED`.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/notebookRuntimes/{notebookRuntimesId}/operations/{operationsId}", +"httpMethod": "DELETE", +"id": "aiplatform.projects.locations.notebookRuntimes.operations.delete", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "The name of the operation resource to be deleted.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/notebookRuntimes/[^/]+/operations/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+name}", +"response": { +"$ref": "GoogleProtobufEmpty" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"get": { +"description": "Gets the latest state of a long-running operation. Clients can use this method to poll the operation result at intervals as recommended by the API service.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/notebookRuntimes/{notebookRuntimesId}/operations/{operationsId}", +"httpMethod": "GET", +"id": "aiplatform.projects.locations.notebookRuntimes.operations.get", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "The name of the operation resource.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/notebookRuntimes/[^/]+/operations/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+name}", +"response": { +"$ref": "GoogleLongrunningOperation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"list": { +"description": "Lists operations that match the specified filter in the request. If the server doesn't support this method, it returns `UNIMPLEMENTED`.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/notebookRuntimes/{notebookRuntimesId}/operations", +"httpMethod": "GET", +"id": "aiplatform.projects.locations.notebookRuntimes.operations.list", +"parameterOrder": [ +"name" +], +"parameters": { +"filter": { +"description": "The standard list filter.", +"location": "query", +"type": "string" +}, +"name": { +"description": "The name of the operation's parent resource.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/notebookRuntimes/[^/]+$", +"required": true, +"type": "string" +}, +"pageSize": { +"description": "The standard list page size.", +"format": "int32", +"location": "query", +"type": "integer" +}, +"pageToken": { +"description": "The standard list page token.", +"location": "query", +"type": "string" +} +}, +"path": "v1/{+name}/operations", +"response": { +"$ref": "GoogleLongrunningListOperationsResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"wait": { +"description": "Waits until the specified long-running operation is done or reaches at most a specified timeout, returning the latest state. If the operation is already done, the latest state is immediately returned. If the timeout specified is greater than the default HTTP/RPC timeout, the HTTP/RPC timeout is used. If the server does not support this method, it returns `google.rpc.Code.UNIMPLEMENTED`. Note that this method is on a best-effort basis. It may return the latest state before the specified timeout (including immediately), meaning even an immediate response is no guarantee that the operation is done.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/notebookRuntimes/{notebookRuntimesId}/operations/{operationsId}:wait", +"httpMethod": "POST", +"id": "aiplatform.projects.locations.notebookRuntimes.operations.wait", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "The name of the operation resource to wait on.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/notebookRuntimes/[^/]+/operations/[^/]+$", +"required": true, +"type": "string" +}, +"timeout": { +"description": "The maximum duration to wait before timing out. If left blank, the wait will be at most the time permitted by the underlying HTTP/RPC protocol. If RPC context deadline is also specified, the shorter one will be used.", +"format": "google-duration", +"location": "query", +"type": "string" +} +}, +"path": "v1/{+name}:wait", +"response": { +"$ref": "GoogleLongrunningOperation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +} +} +} +} +}, +"operations": { +"methods": { +"cancel": { +"description": "Starts asynchronous cancellation on a long-running operation. The server makes a best effort to cancel the operation, but success is not guaranteed. If the server doesn't support this method, it returns `google.rpc.Code.UNIMPLEMENTED`. Clients can use Operations.GetOperation or other methods to check whether the cancellation succeeded or whether the operation completed despite cancellation. On successful cancellation, the operation is not deleted; instead, it becomes an operation with an Operation.error value with a google.rpc.Status.code of `1`, corresponding to `Code.CANCELLED`.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/operations/{operationsId}:cancel", +"httpMethod": "POST", +"id": "aiplatform.projects.locations.operations.cancel", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "The name of the operation resource to be cancelled.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/operations/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+name}:cancel", +"response": { +"$ref": "GoogleProtobufEmpty" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"delete": { +"description": "Deletes a long-running operation. This method indicates that the client is no longer interested in the operation result. It does not cancel the operation. If the server doesn't support this method, it returns `google.rpc.Code.UNIMPLEMENTED`.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/operations/{operationsId}", +"httpMethod": "DELETE", +"id": "aiplatform.projects.locations.operations.delete", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "The name of the operation resource to be deleted.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/operations/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+name}", +"response": { +"$ref": "GoogleProtobufEmpty" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"get": { +"description": "Gets the latest state of a long-running operation. Clients can use this method to poll the operation result at intervals as recommended by the API service.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/operations/{operationsId}", +"httpMethod": "GET", +"id": "aiplatform.projects.locations.operations.get", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "The name of the operation resource.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/operations/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+name}", +"response": { +"$ref": "GoogleLongrunningOperation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"list": { +"description": "Lists operations that match the specified filter in the request. If the server doesn't support this method, it returns `UNIMPLEMENTED`.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/operations", +"httpMethod": "GET", +"id": "aiplatform.projects.locations.operations.list", +"parameterOrder": [ +"name" +], +"parameters": { +"filter": { +"description": "The standard list filter.", +"location": "query", +"type": "string" +}, +"name": { +"description": "The name of the operation's parent resource.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+$", +"required": true, +"type": "string" +}, +"pageSize": { +"description": "The standard list page size.", +"format": "int32", +"location": "query", +"type": "integer" +}, +"pageToken": { +"description": "The standard list page token.", +"location": "query", +"type": "string" +} +}, +"path": "v1/{+name}/operations", +"response": { +"$ref": "GoogleLongrunningListOperationsResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"wait": { +"description": "Waits until the specified long-running operation is done or reaches at most a specified timeout, returning the latest state. If the operation is already done, the latest state is immediately returned. If the timeout specified is greater than the default HTTP/RPC timeout, the HTTP/RPC timeout is used. If the server does not support this method, it returns `google.rpc.Code.UNIMPLEMENTED`. Note that this method is on a best-effort basis. It may return the latest state before the specified timeout (including immediately), meaning even an immediate response is no guarantee that the operation is done.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/operations/{operationsId}:wait", +"httpMethod": "POST", +"id": "aiplatform.projects.locations.operations.wait", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "The name of the operation resource to wait on.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/operations/[^/]+$", +"required": true, +"type": "string" +}, +"timeout": { +"description": "The maximum duration to wait before timing out. If left blank, the wait will be at most the time permitted by the underlying HTTP/RPC protocol. If RPC context deadline is also specified, the shorter one will be used.", +"format": "google-duration", +"location": "query", +"type": "string" +} +}, +"path": "v1/{+name}:wait", +"response": { +"$ref": "GoogleLongrunningOperation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +} +} +}, +"persistentResources": { +"methods": { +"create": { +"description": "Creates a PersistentResource.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/persistentResources", +"httpMethod": "POST", +"id": "aiplatform.projects.locations.persistentResources.create", +"parameterOrder": [ +"parent" +], +"parameters": { +"parent": { +"description": "Required. The resource name of the Location to create the PersistentResource in. Format: `projects/{project}/locations/{location}`", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+$", +"required": true, +"type": "string" +}, +"persistentResourceId": { +"description": "Required. The ID to use for the PersistentResource, which become the final component of the PersistentResource's resource name. The maximum length is 63 characters, and valid characters are `/^[a-z]([a-z0-9-]{0,61}[a-z0-9])?$/`.", +"location": "query", +"type": "string" +} +}, +"path": "v1/{+parent}/persistentResources", +"request": { +"$ref": "GoogleCloudAiplatformV1PersistentResource" +}, +"response": { +"$ref": "GoogleLongrunningOperation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"delete": { +"description": "Deletes a PersistentResource.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/persistentResources/{persistentResourcesId}", +"httpMethod": "DELETE", +"id": "aiplatform.projects.locations.persistentResources.delete", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. The name of the PersistentResource to be deleted. Format: `projects/{project}/locations/{location}/persistentResources/{persistent_resource}`", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/persistentResources/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+name}", +"response": { +"$ref": "GoogleLongrunningOperation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"get": { +"description": "Gets a PersistentResource.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/persistentResources/{persistentResourcesId}", +"httpMethod": "GET", +"id": "aiplatform.projects.locations.persistentResources.get", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. The name of the PersistentResource resource. Format: `projects/{project_id_or_number}/locations/{location_id}/persistentResources/{persistent_resource_id}`", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/persistentResources/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+name}", +"response": { +"$ref": "GoogleCloudAiplatformV1PersistentResource" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"list": { +"description": "Lists PersistentResources in a Location.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/persistentResources", +"httpMethod": "GET", +"id": "aiplatform.projects.locations.persistentResources.list", +"parameterOrder": [ +"parent" +], +"parameters": { +"pageSize": { +"description": "Optional. The standard list page size.", +"format": "int32", +"location": "query", +"type": "integer" +}, +"pageToken": { +"description": "Optional. The standard list page token. Typically obtained via ListPersistentResourcesResponse.next_page_token of the previous PersistentResourceService.ListPersistentResource call.", +"location": "query", +"type": "string" +}, +"parent": { +"description": "Required. The resource name of the Location to list the PersistentResources from. Format: `projects/{project}/locations/{location}`", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+parent}/persistentResources", +"response": { +"$ref": "GoogleCloudAiplatformV1ListPersistentResourcesResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"patch": { +"description": "Updates a PersistentResource.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/persistentResources/{persistentResourcesId}", +"httpMethod": "PATCH", +"id": "aiplatform.projects.locations.persistentResources.patch", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Immutable. Resource name of a PersistentResource.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/persistentResources/[^/]+$", +"required": true, +"type": "string" +}, +"updateMask": { +"description": "Required. Specify the fields to be overwritten in the PersistentResource by the update method.", +"format": "google-fieldmask", +"location": "query", +"type": "string" +} +}, +"path": "v1/{+name}", +"request": { +"$ref": "GoogleCloudAiplatformV1PersistentResource" +}, +"response": { +"$ref": "GoogleLongrunningOperation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"reboot": { +"description": "Reboots a PersistentResource.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/persistentResources/{persistentResourcesId}:reboot", +"httpMethod": "POST", +"id": "aiplatform.projects.locations.persistentResources.reboot", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. The name of the PersistentResource resource. Format: `projects/{project_id_or_number}/locations/{location_id}/persistentResources/{persistent_resource_id}`", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/persistentResources/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+name}:reboot", +"request": { +"$ref": "GoogleCloudAiplatformV1RebootPersistentResourceRequest" +}, +"response": { +"$ref": "GoogleLongrunningOperation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +} +}, +"resources": { +"operations": { +"methods": { +"cancel": { +"description": "Starts asynchronous cancellation on a long-running operation. The server makes a best effort to cancel the operation, but success is not guaranteed. If the server doesn't support this method, it returns `google.rpc.Code.UNIMPLEMENTED`. Clients can use Operations.GetOperation or other methods to check whether the cancellation succeeded or whether the operation completed despite cancellation. On successful cancellation, the operation is not deleted; instead, it becomes an operation with an Operation.error value with a google.rpc.Status.code of `1`, corresponding to `Code.CANCELLED`.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/persistentResources/{persistentResourcesId}/operations/{operationsId}:cancel", +"httpMethod": "POST", +"id": "aiplatform.projects.locations.persistentResources.operations.cancel", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "The name of the operation resource to be cancelled.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/persistentResources/[^/]+/operations/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+name}:cancel", +"response": { +"$ref": "GoogleProtobufEmpty" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"delete": { +"description": "Deletes a long-running operation. This method indicates that the client is no longer interested in the operation result. It does not cancel the operation. If the server doesn't support this method, it returns `google.rpc.Code.UNIMPLEMENTED`.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/persistentResources/{persistentResourcesId}/operations/{operationsId}", +"httpMethod": "DELETE", +"id": "aiplatform.projects.locations.persistentResources.operations.delete", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "The name of the operation resource to be deleted.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/persistentResources/[^/]+/operations/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+name}", +"response": { +"$ref": "GoogleProtobufEmpty" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"get": { +"description": "Gets the latest state of a long-running operation. Clients can use this method to poll the operation result at intervals as recommended by the API service.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/persistentResources/{persistentResourcesId}/operations/{operationsId}", +"httpMethod": "GET", +"id": "aiplatform.projects.locations.persistentResources.operations.get", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "The name of the operation resource.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/persistentResources/[^/]+/operations/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+name}", +"response": { +"$ref": "GoogleLongrunningOperation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"list": { +"description": "Lists operations that match the specified filter in the request. If the server doesn't support this method, it returns `UNIMPLEMENTED`.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/persistentResources/{persistentResourcesId}/operations", +"httpMethod": "GET", +"id": "aiplatform.projects.locations.persistentResources.operations.list", +"parameterOrder": [ +"name" +], +"parameters": { +"filter": { +"description": "The standard list filter.", +"location": "query", +"type": "string" +}, +"name": { +"description": "The name of the operation's parent resource.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/persistentResources/[^/]+$", +"required": true, +"type": "string" +}, +"pageSize": { +"description": "The standard list page size.", +"format": "int32", +"location": "query", +"type": "integer" +}, +"pageToken": { +"description": "The standard list page token.", +"location": "query", +"type": "string" +} +}, +"path": "v1/{+name}/operations", +"response": { +"$ref": "GoogleLongrunningListOperationsResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"wait": { +"description": "Waits until the specified long-running operation is done or reaches at most a specified timeout, returning the latest state. If the operation is already done, the latest state is immediately returned. If the timeout specified is greater than the default HTTP/RPC timeout, the HTTP/RPC timeout is used. If the server does not support this method, it returns `google.rpc.Code.UNIMPLEMENTED`. Note that this method is on a best-effort basis. It may return the latest state before the specified timeout (including immediately), meaning even an immediate response is no guarantee that the operation is done.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/persistentResources/{persistentResourcesId}/operations/{operationsId}:wait", +"httpMethod": "POST", +"id": "aiplatform.projects.locations.persistentResources.operations.wait", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "The name of the operation resource to wait on.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/persistentResources/[^/]+/operations/[^/]+$", +"required": true, +"type": "string" +}, +"timeout": { +"description": "The maximum duration to wait before timing out. If left blank, the wait will be at most the time permitted by the underlying HTTP/RPC protocol. If RPC context deadline is also specified, the shorter one will be used.", +"format": "google-duration", +"location": "query", +"type": "string" +} +}, +"path": "v1/{+name}:wait", +"response": { +"$ref": "GoogleLongrunningOperation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +} +} +} +} +}, +"pipelineJobs": { +"methods": { +"batchCancel": { +"description": "Batch cancel PipelineJobs. Firstly the server will check if all the jobs are in non-terminal states, and skip the jobs that are already terminated. If the operation failed, none of the pipeline jobs are cancelled. The server will poll the states of all the pipeline jobs periodically to check the cancellation status. This operation will return an LRO.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/pipelineJobs:batchCancel", +"httpMethod": "POST", +"id": "aiplatform.projects.locations.pipelineJobs.batchCancel", +"parameterOrder": [ +"parent" +], +"parameters": { +"parent": { +"description": "Required. The name of the PipelineJobs' parent resource. Format: `projects/{project}/locations/{location}`", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+parent}/pipelineJobs:batchCancel", +"request": { +"$ref": "GoogleCloudAiplatformV1BatchCancelPipelineJobsRequest" +}, +"response": { +"$ref": "GoogleLongrunningOperation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"batchDelete": { +"description": "Batch deletes PipelineJobs The Operation is atomic. If it fails, none of the PipelineJobs are deleted. If it succeeds, all of the PipelineJobs are deleted.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/pipelineJobs:batchDelete", +"httpMethod": "POST", +"id": "aiplatform.projects.locations.pipelineJobs.batchDelete", +"parameterOrder": [ +"parent" +], +"parameters": { +"parent": { +"description": "Required. The name of the PipelineJobs' parent resource. Format: `projects/{project}/locations/{location}`", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+parent}/pipelineJobs:batchDelete", +"request": { +"$ref": "GoogleCloudAiplatformV1BatchDeletePipelineJobsRequest" +}, +"response": { +"$ref": "GoogleLongrunningOperation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"cancel": { +"description": "Cancels a PipelineJob. Starts asynchronous cancellation on the PipelineJob. The server makes a best effort to cancel the pipeline, but success is not guaranteed. Clients can use PipelineService.GetPipelineJob or other methods to check whether the cancellation succeeded or whether the pipeline completed despite cancellation. On successful cancellation, the PipelineJob is not deleted; instead it becomes a pipeline with a PipelineJob.error value with a google.rpc.Status.code of 1, corresponding to `Code.CANCELLED`, and PipelineJob.state is set to `CANCELLED`.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/pipelineJobs/{pipelineJobsId}:cancel", +"httpMethod": "POST", +"id": "aiplatform.projects.locations.pipelineJobs.cancel", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. The name of the PipelineJob to cancel. Format: `projects/{project}/locations/{location}/pipelineJobs/{pipeline_job}`", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/pipelineJobs/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+name}:cancel", +"request": { +"$ref": "GoogleCloudAiplatformV1CancelPipelineJobRequest" +}, +"response": { +"$ref": "GoogleProtobufEmpty" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"create": { +"description": "Creates a PipelineJob. A PipelineJob will run immediately when created.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/pipelineJobs", +"httpMethod": "POST", +"id": "aiplatform.projects.locations.pipelineJobs.create", +"parameterOrder": [ +"parent" +], +"parameters": { +"parent": { +"description": "Required. The resource name of the Location to create the PipelineJob in. Format: `projects/{project}/locations/{location}`", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+$", +"required": true, +"type": "string" +}, +"pipelineJobId": { +"description": "The ID to use for the PipelineJob, which will become the final component of the PipelineJob name. If not provided, an ID will be automatically generated. This value should be less than 128 characters, and valid characters are `/a-z-/`.", +"location": "query", +"type": "string" +} +}, +"path": "v1/{+parent}/pipelineJobs", +"request": { +"$ref": "GoogleCloudAiplatformV1PipelineJob" +}, +"response": { +"$ref": "GoogleCloudAiplatformV1PipelineJob" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"delete": { +"description": "Deletes a PipelineJob.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/pipelineJobs/{pipelineJobsId}", +"httpMethod": "DELETE", +"id": "aiplatform.projects.locations.pipelineJobs.delete", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. The name of the PipelineJob resource to be deleted. Format: `projects/{project}/locations/{location}/pipelineJobs/{pipeline_job}`", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/pipelineJobs/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+name}", +"response": { +"$ref": "GoogleLongrunningOperation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"get": { +"description": "Gets a PipelineJob.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/pipelineJobs/{pipelineJobsId}", +"httpMethod": "GET", +"id": "aiplatform.projects.locations.pipelineJobs.get", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. The name of the PipelineJob resource. Format: `projects/{project}/locations/{location}/pipelineJobs/{pipeline_job}`", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/pipelineJobs/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+name}", +"response": { +"$ref": "GoogleCloudAiplatformV1PipelineJob" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"list": { +"description": "Lists PipelineJobs in a Location.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/pipelineJobs", +"httpMethod": "GET", +"id": "aiplatform.projects.locations.pipelineJobs.list", +"parameterOrder": [ +"parent" +], +"parameters": { +"filter": { +"description": "Lists the PipelineJobs that match the filter expression. The following fields are supported: * `pipeline_name`: Supports `=` and `!=` comparisons. * `display_name`: Supports `=`, `!=` comparisons, and `:` wildcard. * `pipeline_job_user_id`: Supports `=`, `!=` comparisons, and `:` wildcard. for example, can check if pipeline's display_name contains *step* by doing display_name:\\\"*step*\\\" * `state`: Supports `=` and `!=` comparisons. * `create_time`: Supports `=`, `!=`, `<`, `>`, `<=`, and `>=` comparisons. Values must be in RFC 3339 format. * `update_time`: Supports `=`, `!=`, `<`, `>`, `<=`, and `>=` comparisons. Values must be in RFC 3339 format. * `end_time`: Supports `=`, `!=`, `<`, `>`, `<=`, and `>=` comparisons. Values must be in RFC 3339 format. * `labels`: Supports key-value equality and key presence. * `template_uri`: Supports `=`, `!=` comparisons, and `:` wildcard. * `template_metadata.version`: Supports `=`, `!=` comparisons, and `:` wildcard. Filter expressions can be combined together using logical operators (`AND` & `OR`). For example: `pipeline_name=\"test\" AND create_time>\"2020-05-18T13:30:00Z\"`. The syntax to define filter expression is based on https://google.aip.dev/160. Examples: * `create_time>\"2021-05-18T00:00:00Z\" OR update_time>\"2020-05-18T00:00:00Z\"` PipelineJobs created or updated after 2020-05-18 00:00:00 UTC. * `labels.env = \"prod\"` PipelineJobs with label \"env\" set to \"prod\".", +"location": "query", +"type": "string" +}, +"orderBy": { +"description": "A comma-separated list of fields to order by. The default sort order is in ascending order. Use \"desc\" after a field name for descending. You can have multiple order_by fields provided e.g. \"create_time desc, end_time\", \"end_time, start_time, update_time\" For example, using \"create_time desc, end_time\" will order results by create time in descending order, and if there are multiple jobs having the same create time, order them by the end time in ascending order. if order_by is not specified, it will order by default order is create time in descending order. Supported fields: * `create_time` * `update_time` * `end_time` * `start_time`", +"location": "query", +"type": "string" +}, +"pageSize": { +"description": "The standard list page size.", +"format": "int32", +"location": "query", +"type": "integer" +}, +"pageToken": { +"description": "The standard list page token. Typically obtained via ListPipelineJobsResponse.next_page_token of the previous PipelineService.ListPipelineJobs call.", +"location": "query", +"type": "string" +}, +"parent": { +"description": "Required. The resource name of the Location to list the PipelineJobs from. Format: `projects/{project}/locations/{location}`", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+$", +"required": true, +"type": "string" +}, +"readMask": { +"description": "Mask specifying which fields to read.", +"format": "google-fieldmask", +"location": "query", +"type": "string" +} +}, +"path": "v1/{+parent}/pipelineJobs", +"response": { +"$ref": "GoogleCloudAiplatformV1ListPipelineJobsResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +} +}, +"resources": { +"operations": { +"methods": { +"cancel": { +"description": "Starts asynchronous cancellation on a long-running operation. The server makes a best effort to cancel the operation, but success is not guaranteed. If the server doesn't support this method, it returns `google.rpc.Code.UNIMPLEMENTED`. Clients can use Operations.GetOperation or other methods to check whether the cancellation succeeded or whether the operation completed despite cancellation. On successful cancellation, the operation is not deleted; instead, it becomes an operation with an Operation.error value with a google.rpc.Status.code of `1`, corresponding to `Code.CANCELLED`.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/pipelineJobs/{pipelineJobsId}/operations/{operationsId}:cancel", +"httpMethod": "POST", +"id": "aiplatform.projects.locations.pipelineJobs.operations.cancel", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "The name of the operation resource to be cancelled.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/pipelineJobs/[^/]+/operations/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+name}:cancel", +"response": { +"$ref": "GoogleProtobufEmpty" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"delete": { +"description": "Deletes a long-running operation. This method indicates that the client is no longer interested in the operation result. It does not cancel the operation. If the server doesn't support this method, it returns `google.rpc.Code.UNIMPLEMENTED`.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/pipelineJobs/{pipelineJobsId}/operations/{operationsId}", +"httpMethod": "DELETE", +"id": "aiplatform.projects.locations.pipelineJobs.operations.delete", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "The name of the operation resource to be deleted.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/pipelineJobs/[^/]+/operations/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+name}", +"response": { +"$ref": "GoogleProtobufEmpty" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"get": { +"description": "Gets the latest state of a long-running operation. Clients can use this method to poll the operation result at intervals as recommended by the API service.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/pipelineJobs/{pipelineJobsId}/operations/{operationsId}", +"httpMethod": "GET", +"id": "aiplatform.projects.locations.pipelineJobs.operations.get", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "The name of the operation resource.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/pipelineJobs/[^/]+/operations/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+name}", +"response": { +"$ref": "GoogleLongrunningOperation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"list": { +"description": "Lists operations that match the specified filter in the request. If the server doesn't support this method, it returns `UNIMPLEMENTED`.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/pipelineJobs/{pipelineJobsId}/operations", +"httpMethod": "GET", +"id": "aiplatform.projects.locations.pipelineJobs.operations.list", +"parameterOrder": [ +"name" +], +"parameters": { +"filter": { +"description": "The standard list filter.", +"location": "query", +"type": "string" +}, +"name": { +"description": "The name of the operation's parent resource.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/pipelineJobs/[^/]+$", +"required": true, +"type": "string" +}, +"pageSize": { +"description": "The standard list page size.", +"format": "int32", +"location": "query", +"type": "integer" +}, +"pageToken": { +"description": "The standard list page token.", +"location": "query", +"type": "string" +} +}, +"path": "v1/{+name}/operations", +"response": { +"$ref": "GoogleLongrunningListOperationsResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"wait": { +"description": "Waits until the specified long-running operation is done or reaches at most a specified timeout, returning the latest state. If the operation is already done, the latest state is immediately returned. If the timeout specified is greater than the default HTTP/RPC timeout, the HTTP/RPC timeout is used. If the server does not support this method, it returns `google.rpc.Code.UNIMPLEMENTED`. Note that this method is on a best-effort basis. It may return the latest state before the specified timeout (including immediately), meaning even an immediate response is no guarantee that the operation is done.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/pipelineJobs/{pipelineJobsId}/operations/{operationsId}:wait", +"httpMethod": "POST", +"id": "aiplatform.projects.locations.pipelineJobs.operations.wait", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "The name of the operation resource to wait on.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/pipelineJobs/[^/]+/operations/[^/]+$", +"required": true, +"type": "string" +}, +"timeout": { +"description": "The maximum duration to wait before timing out. If left blank, the wait will be at most the time permitted by the underlying HTTP/RPC protocol. If RPC context deadline is also specified, the shorter one will be used.", +"format": "google-duration", +"location": "query", +"type": "string" +} +}, +"path": "v1/{+name}:wait", +"response": { +"$ref": "GoogleLongrunningOperation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +} +} +} +} +}, +"publishers": { +"resources": { +"models": { +"methods": { +"computeTokens": { +"description": "Return a list of tokens based on the input text.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/publishers/{publishersId}/models/{modelsId}:computeTokens", +"httpMethod": "POST", +"id": "aiplatform.projects.locations.publishers.models.computeTokens", +"parameterOrder": [ +"endpoint" +], +"parameters": { +"endpoint": { +"description": "Required. The name of the Endpoint requested to get lists of tokens and token ids.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/publishers/[^/]+/models/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+endpoint}:computeTokens", +"request": { +"$ref": "GoogleCloudAiplatformV1ComputeTokensRequest" +}, +"response": { +"$ref": "GoogleCloudAiplatformV1ComputeTokensResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"countTokens": { +"description": "Perform a token counting.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/publishers/{publishersId}/models/{modelsId}:countTokens", +"httpMethod": "POST", +"id": "aiplatform.projects.locations.publishers.models.countTokens", +"parameterOrder": [ +"endpoint" +], +"parameters": { +"endpoint": { +"description": "Required. The name of the Endpoint requested to perform token counting. Format: `projects/{project}/locations/{location}/endpoints/{endpoint}`", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/publishers/[^/]+/models/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+endpoint}:countTokens", +"request": { +"$ref": "GoogleCloudAiplatformV1CountTokensRequest" +}, +"response": { +"$ref": "GoogleCloudAiplatformV1CountTokensResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"fetchPredictOperation": { +"description": "Fetch an asynchronous online prediction operation.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/publishers/{publishersId}/models/{modelsId}:fetchPredictOperation", +"httpMethod": "POST", +"id": "aiplatform.projects.locations.publishers.models.fetchPredictOperation", +"parameterOrder": [ +"endpoint" +], +"parameters": { +"endpoint": { +"description": "Required. The name of the Endpoint requested to serve the prediction. Format: `projects/{project}/locations/{location}/endpoints/{endpoint}` or `projects/{project}/locations/{location}/publishers/{publisher}/models/{model}`", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/publishers/[^/]+/models/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+endpoint}:fetchPredictOperation", +"request": { +"$ref": "GoogleCloudAiplatformV1FetchPredictOperationRequest" +}, +"response": { +"$ref": "GoogleLongrunningOperation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/cloud-platform.read-only" +] +}, +"generateContent": { +"description": "Generate content with multimodal inputs.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/publishers/{publishersId}/models/{modelsId}:generateContent", +"httpMethod": "POST", +"id": "aiplatform.projects.locations.publishers.models.generateContent", +"parameterOrder": [ +"model" +], +"parameters": { +"model": { +"description": "Required. The fully qualified name of the publisher model or tuned model endpoint to use. Publisher model format: `projects/{project}/locations/{location}/publishers/*/models/*` Tuned model endpoint format: `projects/{project}/locations/{location}/endpoints/{endpoint}`", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/publishers/[^/]+/models/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+model}:generateContent", +"request": { +"$ref": "GoogleCloudAiplatformV1GenerateContentRequest" +}, +"response": { +"$ref": "GoogleCloudAiplatformV1GenerateContentResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/cloud-platform.read-only" +] +}, +"predict": { +"description": "Perform an online prediction.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/publishers/{publishersId}/models/{modelsId}:predict", +"httpMethod": "POST", +"id": "aiplatform.projects.locations.publishers.models.predict", +"parameterOrder": [ +"endpoint" +], +"parameters": { +"endpoint": { +"description": "Required. The name of the Endpoint requested to serve the prediction. Format: `projects/{project}/locations/{location}/endpoints/{endpoint}`", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/publishers/[^/]+/models/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+endpoint}:predict", +"request": { +"$ref": "GoogleCloudAiplatformV1PredictRequest" +}, +"response": { +"$ref": "GoogleCloudAiplatformV1PredictResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/cloud-platform.read-only" +] +}, +"predictLongRunning": { +"description": "", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/publishers/{publishersId}/models/{modelsId}:predictLongRunning", +"httpMethod": "POST", +"id": "aiplatform.projects.locations.publishers.models.predictLongRunning", +"parameterOrder": [ +"endpoint" +], +"parameters": { +"endpoint": { +"description": "Required. The name of the Endpoint requested to serve the prediction. Format: `projects/{project}/locations/{location}/endpoints/{endpoint}` or `projects/{project}/locations/{location}/publishers/{publisher}/models/{model}`", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/publishers/[^/]+/models/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+endpoint}:predictLongRunning", +"request": { +"$ref": "GoogleCloudAiplatformV1PredictLongRunningRequest" +}, +"response": { +"$ref": "GoogleLongrunningOperation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/cloud-platform.read-only" +] +}, +"rawPredict": { +"description": "Perform an online prediction with an arbitrary HTTP payload. The response includes the following HTTP headers: * `X-Vertex-AI-Endpoint-Id`: ID of the Endpoint that served this prediction. * `X-Vertex-AI-Deployed-Model-Id`: ID of the Endpoint's DeployedModel that served this prediction.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/publishers/{publishersId}/models/{modelsId}:rawPredict", +"httpMethod": "POST", +"id": "aiplatform.projects.locations.publishers.models.rawPredict", +"parameterOrder": [ +"endpoint" +], +"parameters": { +"endpoint": { +"description": "Required. The name of the Endpoint requested to serve the prediction. Format: `projects/{project}/locations/{location}/endpoints/{endpoint}`", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/publishers/[^/]+/models/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+endpoint}:rawPredict", +"request": { +"$ref": "GoogleCloudAiplatformV1RawPredictRequest" +}, +"response": { +"$ref": "GoogleApiHttpBody" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/cloud-platform.read-only" +] +}, +"serverStreamingPredict": { +"description": "Perform a server-side streaming online prediction request for Vertex LLM streaming.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/publishers/{publishersId}/models/{modelsId}:serverStreamingPredict", +"httpMethod": "POST", +"id": "aiplatform.projects.locations.publishers.models.serverStreamingPredict", +"parameterOrder": [ +"endpoint" +], +"parameters": { +"endpoint": { +"description": "Required. The name of the Endpoint requested to serve the prediction. Format: `projects/{project}/locations/{location}/endpoints/{endpoint}`", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/publishers/[^/]+/models/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+endpoint}:serverStreamingPredict", +"request": { +"$ref": "GoogleCloudAiplatformV1StreamingPredictRequest" +}, +"response": { +"$ref": "GoogleCloudAiplatformV1StreamingPredictResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/cloud-platform.read-only" +] +}, +"streamGenerateContent": { +"description": "Generate content with multimodal inputs with streaming support.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/publishers/{publishersId}/models/{modelsId}:streamGenerateContent", +"httpMethod": "POST", +"id": "aiplatform.projects.locations.publishers.models.streamGenerateContent", +"parameterOrder": [ +"model" +], +"parameters": { +"model": { +"description": "Required. The fully qualified name of the publisher model or tuned model endpoint to use. Publisher model format: `projects/{project}/locations/{location}/publishers/*/models/*` Tuned model endpoint format: `projects/{project}/locations/{location}/endpoints/{endpoint}`", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/publishers/[^/]+/models/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+model}:streamGenerateContent", +"request": { +"$ref": "GoogleCloudAiplatformV1GenerateContentRequest" +}, +"response": { +"$ref": "GoogleCloudAiplatformV1GenerateContentResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/cloud-platform.read-only" +] +}, +"streamRawPredict": { +"description": "Perform a streaming online prediction with an arbitrary HTTP payload.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/publishers/{publishersId}/models/{modelsId}:streamRawPredict", +"httpMethod": "POST", +"id": "aiplatform.projects.locations.publishers.models.streamRawPredict", +"parameterOrder": [ +"endpoint" +], +"parameters": { +"endpoint": { +"description": "Required. The name of the Endpoint requested to serve the prediction. Format: `projects/{project}/locations/{location}/endpoints/{endpoint}`", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/publishers/[^/]+/models/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+endpoint}:streamRawPredict", +"request": { +"$ref": "GoogleCloudAiplatformV1StreamRawPredictRequest" +}, +"response": { +"$ref": "GoogleApiHttpBody" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/cloud-platform.read-only" +] +} +} +} +} +}, +"ragCorpora": { +"methods": { +"create": { +"description": "Creates a RagCorpus.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/ragCorpora", +"httpMethod": "POST", +"id": "aiplatform.projects.locations.ragCorpora.create", +"parameterOrder": [ +"parent" +], +"parameters": { +"parent": { +"description": "Required. The resource name of the Location to create the RagCorpus in. Format: `projects/{project}/locations/{location}`", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+parent}/ragCorpora", +"request": { +"$ref": "GoogleCloudAiplatformV1RagCorpus" +}, +"response": { +"$ref": "GoogleLongrunningOperation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"delete": { +"description": "Deletes a RagCorpus.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/ragCorpora/{ragCorporaId}", +"httpMethod": "DELETE", +"id": "aiplatform.projects.locations.ragCorpora.delete", +"parameterOrder": [ +"name" +], +"parameters": { +"force": { +"description": "Optional. If set to true, any RagFiles in this RagCorpus will also be deleted. Otherwise, the request will only work if the RagCorpus has no RagFiles.", +"location": "query", +"type": "boolean" +}, +"name": { +"description": "Required. The name of the RagCorpus resource to be deleted. Format: `projects/{project}/locations/{location}/ragCorpora/{rag_corpus}`", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/ragCorpora/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+name}", +"response": { +"$ref": "GoogleLongrunningOperation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"get": { +"description": "Gets a RagCorpus.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/ragCorpora/{ragCorporaId}", +"httpMethod": "GET", +"id": "aiplatform.projects.locations.ragCorpora.get", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. The name of the RagCorpus resource. Format: `projects/{project}/locations/{location}/ragCorpora/{rag_corpus}`", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/ragCorpora/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+name}", +"response": { +"$ref": "GoogleCloudAiplatformV1RagCorpus" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"list": { +"description": "Lists RagCorpora in a Location.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/ragCorpora", +"httpMethod": "GET", +"id": "aiplatform.projects.locations.ragCorpora.list", +"parameterOrder": [ +"parent" +], +"parameters": { +"pageSize": { +"description": "Optional. The standard list page size.", +"format": "int32", +"location": "query", +"type": "integer" +}, +"pageToken": { +"description": "Optional. The standard list page token. Typically obtained via ListRagCorporaResponse.next_page_token of the previous VertexRagDataService.ListRagCorpora call.", +"location": "query", +"type": "string" +}, +"parent": { +"description": "Required. The resource name of the Location from which to list the RagCorpora. Format: `projects/{project}/locations/{location}`", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+parent}/ragCorpora", +"response": { +"$ref": "GoogleCloudAiplatformV1ListRagCorporaResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"patch": { +"description": "Updates a RagCorpus.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/ragCorpora/{ragCorporaId}", +"httpMethod": "PATCH", +"id": "aiplatform.projects.locations.ragCorpora.patch", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Output only. The resource name of the RagCorpus.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/ragCorpora/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+name}", +"request": { +"$ref": "GoogleCloudAiplatformV1RagCorpus" +}, +"response": { +"$ref": "GoogleLongrunningOperation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +} +}, +"resources": { +"operations": { +"methods": { +"cancel": { +"description": "Starts asynchronous cancellation on a long-running operation. The server makes a best effort to cancel the operation, but success is not guaranteed. If the server doesn't support this method, it returns `google.rpc.Code.UNIMPLEMENTED`. Clients can use Operations.GetOperation or other methods to check whether the cancellation succeeded or whether the operation completed despite cancellation. On successful cancellation, the operation is not deleted; instead, it becomes an operation with an Operation.error value with a google.rpc.Status.code of `1`, corresponding to `Code.CANCELLED`.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/ragCorpora/{ragCorporaId}/operations/{operationsId}:cancel", +"httpMethod": "POST", +"id": "aiplatform.projects.locations.ragCorpora.operations.cancel", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "The name of the operation resource to be cancelled.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/ragCorpora/[^/]+/operations/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+name}:cancel", +"response": { +"$ref": "GoogleProtobufEmpty" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"delete": { +"description": "Deletes a long-running operation. This method indicates that the client is no longer interested in the operation result. It does not cancel the operation. If the server doesn't support this method, it returns `google.rpc.Code.UNIMPLEMENTED`.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/ragCorpora/{ragCorporaId}/operations/{operationsId}", +"httpMethod": "DELETE", +"id": "aiplatform.projects.locations.ragCorpora.operations.delete", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "The name of the operation resource to be deleted.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/ragCorpora/[^/]+/operations/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+name}", +"response": { +"$ref": "GoogleProtobufEmpty" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"get": { +"description": "Gets the latest state of a long-running operation. Clients can use this method to poll the operation result at intervals as recommended by the API service.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/ragCorpora/{ragCorporaId}/operations/{operationsId}", +"httpMethod": "GET", +"id": "aiplatform.projects.locations.ragCorpora.operations.get", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "The name of the operation resource.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/ragCorpora/[^/]+/operations/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+name}", +"response": { +"$ref": "GoogleLongrunningOperation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"list": { +"description": "Lists operations that match the specified filter in the request. If the server doesn't support this method, it returns `UNIMPLEMENTED`.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/ragCorpora/{ragCorporaId}/operations", +"httpMethod": "GET", +"id": "aiplatform.projects.locations.ragCorpora.operations.list", +"parameterOrder": [ +"name" +], +"parameters": { +"filter": { +"description": "The standard list filter.", +"location": "query", +"type": "string" +}, +"name": { +"description": "The name of the operation's parent resource.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/ragCorpora/[^/]+$", +"required": true, +"type": "string" +}, +"pageSize": { +"description": "The standard list page size.", +"format": "int32", +"location": "query", +"type": "integer" +}, +"pageToken": { +"description": "The standard list page token.", +"location": "query", +"type": "string" +} +}, +"path": "v1/{+name}/operations", +"response": { +"$ref": "GoogleLongrunningListOperationsResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"wait": { +"description": "Waits until the specified long-running operation is done or reaches at most a specified timeout, returning the latest state. If the operation is already done, the latest state is immediately returned. If the timeout specified is greater than the default HTTP/RPC timeout, the HTTP/RPC timeout is used. If the server does not support this method, it returns `google.rpc.Code.UNIMPLEMENTED`. Note that this method is on a best-effort basis. It may return the latest state before the specified timeout (including immediately), meaning even an immediate response is no guarantee that the operation is done.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/ragCorpora/{ragCorporaId}/operations/{operationsId}:wait", +"httpMethod": "POST", +"id": "aiplatform.projects.locations.ragCorpora.operations.wait", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "The name of the operation resource to wait on.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/ragCorpora/[^/]+/operations/[^/]+$", +"required": true, +"type": "string" +}, +"timeout": { +"description": "The maximum duration to wait before timing out. If left blank, the wait will be at most the time permitted by the underlying HTTP/RPC protocol. If RPC context deadline is also specified, the shorter one will be used.", +"format": "google-duration", +"location": "query", +"type": "string" +} +}, +"path": "v1/{+name}:wait", +"response": { +"$ref": "GoogleLongrunningOperation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +} +} +}, +"ragFiles": { +"methods": { +"delete": { +"description": "Deletes a RagFile.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/ragCorpora/{ragCorporaId}/ragFiles/{ragFilesId}", +"httpMethod": "DELETE", +"id": "aiplatform.projects.locations.ragCorpora.ragFiles.delete", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. The name of the RagFile resource to be deleted. Format: `projects/{project}/locations/{location}/ragCorpora/{rag_corpus}/ragFiles/{rag_file}`", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/ragCorpora/[^/]+/ragFiles/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+name}", +"response": { +"$ref": "GoogleLongrunningOperation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"get": { +"description": "Gets a RagFile.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/ragCorpora/{ragCorporaId}/ragFiles/{ragFilesId}", +"httpMethod": "GET", +"id": "aiplatform.projects.locations.ragCorpora.ragFiles.get", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. The name of the RagFile resource. Format: `projects/{project}/locations/{location}/ragCorpora/{rag_corpus}/ragFiles/{rag_file}`", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/ragCorpora/[^/]+/ragFiles/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+name}", +"response": { +"$ref": "GoogleCloudAiplatformV1RagFile" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"import": { +"description": "Import files from Google Cloud Storage or Google Drive into a RagCorpus.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/ragCorpora/{ragCorporaId}/ragFiles:import", +"httpMethod": "POST", +"id": "aiplatform.projects.locations.ragCorpora.ragFiles.import", +"parameterOrder": [ +"parent" +], +"parameters": { +"parent": { +"description": "Required. The name of the RagCorpus resource into which to import files. Format: `projects/{project}/locations/{location}/ragCorpora/{rag_corpus}`", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/ragCorpora/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+parent}/ragFiles:import", +"request": { +"$ref": "GoogleCloudAiplatformV1ImportRagFilesRequest" +}, +"response": { +"$ref": "GoogleLongrunningOperation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"list": { +"description": "Lists RagFiles in a RagCorpus.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/ragCorpora/{ragCorporaId}/ragFiles", +"httpMethod": "GET", +"id": "aiplatform.projects.locations.ragCorpora.ragFiles.list", +"parameterOrder": [ +"parent" +], +"parameters": { +"pageSize": { +"description": "Optional. The standard list page size.", +"format": "int32", +"location": "query", +"type": "integer" +}, +"pageToken": { +"description": "Optional. The standard list page token. Typically obtained via ListRagFilesResponse.next_page_token of the previous VertexRagDataService.ListRagFiles call.", +"location": "query", +"type": "string" +}, +"parent": { +"description": "Required. The resource name of the RagCorpus from which to list the RagFiles. Format: `projects/{project}/locations/{location}/ragCorpora/{rag_corpus}`", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/ragCorpora/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+parent}/ragFiles", +"response": { +"$ref": "GoogleCloudAiplatformV1ListRagFilesResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +} +}, +"resources": { +"operations": { +"methods": { +"cancel": { +"description": "Starts asynchronous cancellation on a long-running operation. The server makes a best effort to cancel the operation, but success is not guaranteed. If the server doesn't support this method, it returns `google.rpc.Code.UNIMPLEMENTED`. Clients can use Operations.GetOperation or other methods to check whether the cancellation succeeded or whether the operation completed despite cancellation. On successful cancellation, the operation is not deleted; instead, it becomes an operation with an Operation.error value with a google.rpc.Status.code of `1`, corresponding to `Code.CANCELLED`.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/ragCorpora/{ragCorporaId}/ragFiles/{ragFilesId}/operations/{operationsId}:cancel", +"httpMethod": "POST", +"id": "aiplatform.projects.locations.ragCorpora.ragFiles.operations.cancel", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "The name of the operation resource to be cancelled.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/ragCorpora/[^/]+/ragFiles/[^/]+/operations/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+name}:cancel", +"response": { +"$ref": "GoogleProtobufEmpty" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"delete": { +"description": "Deletes a long-running operation. This method indicates that the client is no longer interested in the operation result. It does not cancel the operation. If the server doesn't support this method, it returns `google.rpc.Code.UNIMPLEMENTED`.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/ragCorpora/{ragCorporaId}/ragFiles/{ragFilesId}/operations/{operationsId}", +"httpMethod": "DELETE", +"id": "aiplatform.projects.locations.ragCorpora.ragFiles.operations.delete", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "The name of the operation resource to be deleted.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/ragCorpora/[^/]+/ragFiles/[^/]+/operations/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+name}", +"response": { +"$ref": "GoogleProtobufEmpty" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"get": { +"description": "Gets the latest state of a long-running operation. Clients can use this method to poll the operation result at intervals as recommended by the API service.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/ragCorpora/{ragCorporaId}/ragFiles/{ragFilesId}/operations/{operationsId}", +"httpMethod": "GET", +"id": "aiplatform.projects.locations.ragCorpora.ragFiles.operations.get", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "The name of the operation resource.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/ragCorpora/[^/]+/ragFiles/[^/]+/operations/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+name}", +"response": { +"$ref": "GoogleLongrunningOperation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"list": { +"description": "Lists operations that match the specified filter in the request. If the server doesn't support this method, it returns `UNIMPLEMENTED`.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/ragCorpora/{ragCorporaId}/ragFiles/{ragFilesId}/operations", +"httpMethod": "GET", +"id": "aiplatform.projects.locations.ragCorpora.ragFiles.operations.list", +"parameterOrder": [ +"name" +], +"parameters": { +"filter": { +"description": "The standard list filter.", +"location": "query", +"type": "string" +}, +"name": { +"description": "The name of the operation's parent resource.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/ragCorpora/[^/]+/ragFiles/[^/]+$", +"required": true, +"type": "string" +}, +"pageSize": { +"description": "The standard list page size.", +"format": "int32", +"location": "query", +"type": "integer" +}, +"pageToken": { +"description": "The standard list page token.", +"location": "query", +"type": "string" +} +}, +"path": "v1/{+name}/operations", +"response": { +"$ref": "GoogleLongrunningListOperationsResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"wait": { +"description": "Waits until the specified long-running operation is done or reaches at most a specified timeout, returning the latest state. If the operation is already done, the latest state is immediately returned. If the timeout specified is greater than the default HTTP/RPC timeout, the HTTP/RPC timeout is used. If the server does not support this method, it returns `google.rpc.Code.UNIMPLEMENTED`. Note that this method is on a best-effort basis. It may return the latest state before the specified timeout (including immediately), meaning even an immediate response is no guarantee that the operation is done.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/ragCorpora/{ragCorporaId}/ragFiles/{ragFilesId}/operations/{operationsId}:wait", +"httpMethod": "POST", +"id": "aiplatform.projects.locations.ragCorpora.ragFiles.operations.wait", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "The name of the operation resource to wait on.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/ragCorpora/[^/]+/ragFiles/[^/]+/operations/[^/]+$", +"required": true, +"type": "string" +}, +"timeout": { +"description": "The maximum duration to wait before timing out. If left blank, the wait will be at most the time permitted by the underlying HTTP/RPC protocol. If RPC context deadline is also specified, the shorter one will be used.", +"format": "google-duration", +"location": "query", +"type": "string" +} +}, +"path": "v1/{+name}:wait", +"response": { +"$ref": "GoogleLongrunningOperation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +} +} +} +} +} +} +}, +"reasoningEngines": { +"methods": { +"create": { +"description": "Creates a reasoning engine.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/reasoningEngines", +"httpMethod": "POST", +"id": "aiplatform.projects.locations.reasoningEngines.create", +"parameterOrder": [ +"parent" +], +"parameters": { +"parent": { +"description": "Required. The resource name of the Location to create the ReasoningEngine in. Format: `projects/{project}/locations/{location}`", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+parent}/reasoningEngines", +"request": { +"$ref": "GoogleCloudAiplatformV1ReasoningEngine" +}, +"response": { +"$ref": "GoogleLongrunningOperation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"delete": { +"description": "Deletes a reasoning engine.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/reasoningEngines/{reasoningEnginesId}", +"httpMethod": "DELETE", +"id": "aiplatform.projects.locations.reasoningEngines.delete", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. The name of the ReasoningEngine resource to be deleted. Format: `projects/{project}/locations/{location}/reasoningEngines/{reasoning_engine}`", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/reasoningEngines/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+name}", +"response": { +"$ref": "GoogleLongrunningOperation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"get": { +"description": "Gets a reasoning engine.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/reasoningEngines/{reasoningEnginesId}", +"httpMethod": "GET", +"id": "aiplatform.projects.locations.reasoningEngines.get", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. The name of the ReasoningEngine resource. Format: `projects/{project}/locations/{location}/reasoningEngines/{reasoning_engine}`", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/reasoningEngines/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+name}", +"response": { +"$ref": "GoogleCloudAiplatformV1ReasoningEngine" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"list": { +"description": "Lists reasoning engines in a location.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/reasoningEngines", +"httpMethod": "GET", +"id": "aiplatform.projects.locations.reasoningEngines.list", +"parameterOrder": [ +"parent" +], +"parameters": { +"filter": { +"description": "Optional. The standard list filter. More detail in [AIP-160](https://google.aip.dev/160).", +"location": "query", +"type": "string" +}, +"pageSize": { +"description": "Optional. The standard list page size.", +"format": "int32", +"location": "query", +"type": "integer" +}, +"pageToken": { +"description": "Optional. The standard list page token.", +"location": "query", +"type": "string" +}, +"parent": { +"description": "Required. The resource name of the Location to list the ReasoningEngines from. Format: `projects/{project}/locations/{location}`", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+parent}/reasoningEngines", +"response": { +"$ref": "GoogleCloudAiplatformV1ListReasoningEnginesResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"patch": { +"description": "Updates a reasoning engine.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/reasoningEngines/{reasoningEnginesId}", +"httpMethod": "PATCH", +"id": "aiplatform.projects.locations.reasoningEngines.patch", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Identifier. The resource name of the ReasoningEngine.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/reasoningEngines/[^/]+$", +"required": true, +"type": "string" +}, +"updateMask": { +"description": "Optional. Mask specifying which fields to update.", +"format": "google-fieldmask", +"location": "query", +"type": "string" +} +}, +"path": "v1/{+name}", +"request": { +"$ref": "GoogleCloudAiplatformV1ReasoningEngine" +}, +"response": { +"$ref": "GoogleLongrunningOperation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"query": { +"description": "Queries using a reasoning engine.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/reasoningEngines/{reasoningEnginesId}:query", +"httpMethod": "POST", +"id": "aiplatform.projects.locations.reasoningEngines.query", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. The name of the ReasoningEngine resource to use. Format: `projects/{project}/locations/{location}/reasoningEngines/{reasoning_engine}`", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/reasoningEngines/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+name}:query", +"request": { +"$ref": "GoogleCloudAiplatformV1QueryReasoningEngineRequest" +}, +"response": { +"$ref": "GoogleCloudAiplatformV1QueryReasoningEngineResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"streamQuery": { +"description": "Streams queries using a reasoning engine.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/reasoningEngines/{reasoningEnginesId}:streamQuery", +"httpMethod": "POST", +"id": "aiplatform.projects.locations.reasoningEngines.streamQuery", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. The name of the ReasoningEngine resource to use. Format: `projects/{project}/locations/{location}/reasoningEngines/{reasoning_engine}`", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/reasoningEngines/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+name}:streamQuery", +"request": { +"$ref": "GoogleCloudAiplatformV1StreamQueryReasoningEngineRequest" +}, +"response": { +"$ref": "GoogleApiHttpBody" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +} +}, +"resources": { +"operations": { +"methods": { +"cancel": { +"description": "Starts asynchronous cancellation on a long-running operation. The server makes a best effort to cancel the operation, but success is not guaranteed. If the server doesn't support this method, it returns `google.rpc.Code.UNIMPLEMENTED`. Clients can use Operations.GetOperation or other methods to check whether the cancellation succeeded or whether the operation completed despite cancellation. On successful cancellation, the operation is not deleted; instead, it becomes an operation with an Operation.error value with a google.rpc.Status.code of `1`, corresponding to `Code.CANCELLED`.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/reasoningEngines/{reasoningEnginesId}/operations/{operationsId}:cancel", +"httpMethod": "POST", +"id": "aiplatform.projects.locations.reasoningEngines.operations.cancel", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "The name of the operation resource to be cancelled.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/reasoningEngines/[^/]+/operations/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+name}:cancel", +"response": { +"$ref": "GoogleProtobufEmpty" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"delete": { +"description": "Deletes a long-running operation. This method indicates that the client is no longer interested in the operation result. It does not cancel the operation. If the server doesn't support this method, it returns `google.rpc.Code.UNIMPLEMENTED`.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/reasoningEngines/{reasoningEnginesId}/operations/{operationsId}", +"httpMethod": "DELETE", +"id": "aiplatform.projects.locations.reasoningEngines.operations.delete", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "The name of the operation resource to be deleted.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/reasoningEngines/[^/]+/operations/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+name}", +"response": { +"$ref": "GoogleProtobufEmpty" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"get": { +"description": "Gets the latest state of a long-running operation. Clients can use this method to poll the operation result at intervals as recommended by the API service.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/reasoningEngines/{reasoningEnginesId}/operations/{operationsId}", +"httpMethod": "GET", +"id": "aiplatform.projects.locations.reasoningEngines.operations.get", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "The name of the operation resource.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/reasoningEngines/[^/]+/operations/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+name}", +"response": { +"$ref": "GoogleLongrunningOperation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"list": { +"description": "Lists operations that match the specified filter in the request. If the server doesn't support this method, it returns `UNIMPLEMENTED`.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/reasoningEngines/{reasoningEnginesId}/operations", +"httpMethod": "GET", +"id": "aiplatform.projects.locations.reasoningEngines.operations.list", +"parameterOrder": [ +"name" +], +"parameters": { +"filter": { +"description": "The standard list filter.", +"location": "query", +"type": "string" +}, +"name": { +"description": "The name of the operation's parent resource.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/reasoningEngines/[^/]+$", +"required": true, +"type": "string" +}, +"pageSize": { +"description": "The standard list page size.", +"format": "int32", +"location": "query", +"type": "integer" +}, +"pageToken": { +"description": "The standard list page token.", +"location": "query", +"type": "string" +} +}, +"path": "v1/{+name}/operations", +"response": { +"$ref": "GoogleLongrunningListOperationsResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"wait": { +"description": "Waits until the specified long-running operation is done or reaches at most a specified timeout, returning the latest state. If the operation is already done, the latest state is immediately returned. If the timeout specified is greater than the default HTTP/RPC timeout, the HTTP/RPC timeout is used. If the server does not support this method, it returns `google.rpc.Code.UNIMPLEMENTED`. Note that this method is on a best-effort basis. It may return the latest state before the specified timeout (including immediately), meaning even an immediate response is no guarantee that the operation is done.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/reasoningEngines/{reasoningEnginesId}/operations/{operationsId}:wait", +"httpMethod": "POST", +"id": "aiplatform.projects.locations.reasoningEngines.operations.wait", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "The name of the operation resource to wait on.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/reasoningEngines/[^/]+/operations/[^/]+$", +"required": true, +"type": "string" +}, +"timeout": { +"description": "The maximum duration to wait before timing out. If left blank, the wait will be at most the time permitted by the underlying HTTP/RPC protocol. If RPC context deadline is also specified, the shorter one will be used.", +"format": "google-duration", +"location": "query", +"type": "string" +} +}, +"path": "v1/{+name}:wait", +"response": { +"$ref": "GoogleLongrunningOperation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +} +} +} +} +}, +"schedules": { +"methods": { +"create": { +"description": "Creates a Schedule.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/schedules", +"httpMethod": "POST", +"id": "aiplatform.projects.locations.schedules.create", +"parameterOrder": [ +"parent" +], +"parameters": { +"parent": { +"description": "Required. The resource name of the Location to create the Schedule in. Format: `projects/{project}/locations/{location}`", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+parent}/schedules", +"request": { +"$ref": "GoogleCloudAiplatformV1Schedule" +}, +"response": { +"$ref": "GoogleCloudAiplatformV1Schedule" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"delete": { +"description": "Deletes a Schedule.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/schedules/{schedulesId}", +"httpMethod": "DELETE", +"id": "aiplatform.projects.locations.schedules.delete", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. The name of the Schedule resource to be deleted. Format: `projects/{project}/locations/{location}/schedules/{schedule}`", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/schedules/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+name}", +"response": { +"$ref": "GoogleLongrunningOperation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"get": { +"description": "Gets a Schedule.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/schedules/{schedulesId}", +"httpMethod": "GET", +"id": "aiplatform.projects.locations.schedules.get", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. The name of the Schedule resource. Format: `projects/{project}/locations/{location}/schedules/{schedule}`", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/schedules/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+name}", +"response": { +"$ref": "GoogleCloudAiplatformV1Schedule" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"list": { +"description": "Lists Schedules in a Location.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/schedules", +"httpMethod": "GET", +"id": "aiplatform.projects.locations.schedules.list", +"parameterOrder": [ +"parent" +], +"parameters": { +"filter": { +"description": "Lists the Schedules that match the filter expression. The following fields are supported: * `display_name`: Supports `=`, `!=` comparisons, and `:` wildcard. * `state`: Supports `=` and `!=` comparisons. * `request`: Supports existence of the check. (e.g. `create_pipeline_job_request:*` --> Schedule has create_pipeline_job_request). * `create_time`: Supports `=`, `!=`, `<`, `>`, `<=`, and `>=` comparisons. Values must be in RFC 3339 format. * `start_time`: Supports `=`, `!=`, `<`, `>`, `<=`, and `>=` comparisons. Values must be in RFC 3339 format. * `end_time`: Supports `=`, `!=`, `<`, `>`, `<=`, `>=` comparisons and `:*` existence check. Values must be in RFC 3339 format. * `next_run_time`: Supports `=`, `!=`, `<`, `>`, `<=`, and `>=` comparisons. Values must be in RFC 3339 format. Filter expressions can be combined together using logical operators (`NOT`, `AND` & `OR`). The syntax to define filter expression is based on https://google.aip.dev/160. Examples: * `state=\"ACTIVE\" AND display_name:\"my_schedule_*\"` * `NOT display_name=\"my_schedule\"` * `create_time>\"2021-05-18T00:00:00Z\"` * `end_time>\"2021-05-18T00:00:00Z\" OR NOT end_time:*` * `create_pipeline_job_request:*`", +"location": "query", +"type": "string" +}, +"orderBy": { +"description": "A comma-separated list of fields to order by. The default sort order is in ascending order. Use \"desc\" after a field name for descending. You can have multiple order_by fields provided. For example, using \"create_time desc, end_time\" will order results by create time in descending order, and if there are multiple schedules having the same create time, order them by the end time in ascending order. If order_by is not specified, it will order by default with create_time in descending order. Supported fields: * `create_time` * `start_time` * `end_time` * `next_run_time`", +"location": "query", +"type": "string" +}, +"pageSize": { +"description": "The standard list page size. Default to 100 if not specified.", +"format": "int32", +"location": "query", +"type": "integer" +}, +"pageToken": { +"description": "The standard list page token. Typically obtained via ListSchedulesResponse.next_page_token of the previous ScheduleService.ListSchedules call.", +"location": "query", +"type": "string" +}, +"parent": { +"description": "Required. The resource name of the Location to list the Schedules from. Format: `projects/{project}/locations/{location}`", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+parent}/schedules", +"response": { +"$ref": "GoogleCloudAiplatformV1ListSchedulesResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"patch": { +"description": "Updates an active or paused Schedule. When the Schedule is updated, new runs will be scheduled starting from the updated next execution time after the update time based on the time_specification in the updated Schedule. All unstarted runs before the update time will be skipped while already created runs will NOT be paused or canceled.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/schedules/{schedulesId}", +"httpMethod": "PATCH", +"id": "aiplatform.projects.locations.schedules.patch", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Immutable. The resource name of the Schedule.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/schedules/[^/]+$", +"required": true, +"type": "string" +}, +"updateMask": { +"description": "Required. The update mask applies to the resource. See google.protobuf.FieldMask.", +"format": "google-fieldmask", +"location": "query", +"type": "string" +} +}, +"path": "v1/{+name}", +"request": { +"$ref": "GoogleCloudAiplatformV1Schedule" +}, +"response": { +"$ref": "GoogleCloudAiplatformV1Schedule" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"pause": { +"description": "Pauses a Schedule. Will mark Schedule.state to 'PAUSED'. If the schedule is paused, no new runs will be created. Already created runs will NOT be paused or canceled.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/schedules/{schedulesId}:pause", +"httpMethod": "POST", +"id": "aiplatform.projects.locations.schedules.pause", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. The name of the Schedule resource to be paused. Format: `projects/{project}/locations/{location}/schedules/{schedule}`", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/schedules/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+name}:pause", +"request": { +"$ref": "GoogleCloudAiplatformV1PauseScheduleRequest" +}, +"response": { +"$ref": "GoogleProtobufEmpty" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"resume": { +"description": "Resumes a paused Schedule to start scheduling new runs. Will mark Schedule.state to 'ACTIVE'. Only paused Schedule can be resumed. When the Schedule is resumed, new runs will be scheduled starting from the next execution time after the current time based on the time_specification in the Schedule. If Schedule.catch_up is set up true, all missed runs will be scheduled for backfill first.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/schedules/{schedulesId}:resume", +"httpMethod": "POST", +"id": "aiplatform.projects.locations.schedules.resume", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. The name of the Schedule resource to be resumed. Format: `projects/{project}/locations/{location}/schedules/{schedule}`", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/schedules/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+name}:resume", +"request": { +"$ref": "GoogleCloudAiplatformV1ResumeScheduleRequest" +}, +"response": { +"$ref": "GoogleProtobufEmpty" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +} +}, +"resources": { +"operations": { +"methods": { +"cancel": { +"description": "Starts asynchronous cancellation on a long-running operation. The server makes a best effort to cancel the operation, but success is not guaranteed. If the server doesn't support this method, it returns `google.rpc.Code.UNIMPLEMENTED`. Clients can use Operations.GetOperation or other methods to check whether the cancellation succeeded or whether the operation completed despite cancellation. On successful cancellation, the operation is not deleted; instead, it becomes an operation with an Operation.error value with a google.rpc.Status.code of `1`, corresponding to `Code.CANCELLED`.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/schedules/{schedulesId}/operations/{operationsId}:cancel", +"httpMethod": "POST", +"id": "aiplatform.projects.locations.schedules.operations.cancel", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "The name of the operation resource to be cancelled.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/schedules/[^/]+/operations/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+name}:cancel", +"response": { +"$ref": "GoogleProtobufEmpty" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"delete": { +"description": "Deletes a long-running operation. This method indicates that the client is no longer interested in the operation result. It does not cancel the operation. If the server doesn't support this method, it returns `google.rpc.Code.UNIMPLEMENTED`.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/schedules/{schedulesId}/operations/{operationsId}", +"httpMethod": "DELETE", +"id": "aiplatform.projects.locations.schedules.operations.delete", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "The name of the operation resource to be deleted.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/schedules/[^/]+/operations/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+name}", +"response": { +"$ref": "GoogleProtobufEmpty" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"get": { +"description": "Gets the latest state of a long-running operation. Clients can use this method to poll the operation result at intervals as recommended by the API service.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/schedules/{schedulesId}/operations/{operationsId}", +"httpMethod": "GET", +"id": "aiplatform.projects.locations.schedules.operations.get", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "The name of the operation resource.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/schedules/[^/]+/operations/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+name}", +"response": { +"$ref": "GoogleLongrunningOperation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"list": { +"description": "Lists operations that match the specified filter in the request. If the server doesn't support this method, it returns `UNIMPLEMENTED`.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/schedules/{schedulesId}/operations", +"httpMethod": "GET", +"id": "aiplatform.projects.locations.schedules.operations.list", +"parameterOrder": [ +"name" +], +"parameters": { +"filter": { +"description": "The standard list filter.", +"location": "query", +"type": "string" +}, +"name": { +"description": "The name of the operation's parent resource.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/schedules/[^/]+$", +"required": true, +"type": "string" +}, +"pageSize": { +"description": "The standard list page size.", +"format": "int32", +"location": "query", +"type": "integer" +}, +"pageToken": { +"description": "The standard list page token.", +"location": "query", +"type": "string" +} +}, +"path": "v1/{+name}/operations", +"response": { +"$ref": "GoogleLongrunningListOperationsResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"wait": { +"description": "Waits until the specified long-running operation is done or reaches at most a specified timeout, returning the latest state. If the operation is already done, the latest state is immediately returned. If the timeout specified is greater than the default HTTP/RPC timeout, the HTTP/RPC timeout is used. If the server does not support this method, it returns `google.rpc.Code.UNIMPLEMENTED`. Note that this method is on a best-effort basis. It may return the latest state before the specified timeout (including immediately), meaning even an immediate response is no guarantee that the operation is done.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/schedules/{schedulesId}/operations/{operationsId}:wait", +"httpMethod": "POST", +"id": "aiplatform.projects.locations.schedules.operations.wait", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "The name of the operation resource to wait on.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/schedules/[^/]+/operations/[^/]+$", +"required": true, +"type": "string" +}, +"timeout": { +"description": "The maximum duration to wait before timing out. If left blank, the wait will be at most the time permitted by the underlying HTTP/RPC protocol. If RPC context deadline is also specified, the shorter one will be used.", +"format": "google-duration", +"location": "query", +"type": "string" +} +}, +"path": "v1/{+name}:wait", +"response": { +"$ref": "GoogleLongrunningOperation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +} +} +} +} +}, +"specialistPools": { +"methods": { +"create": { +"description": "Creates a SpecialistPool.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/specialistPools", +"httpMethod": "POST", +"id": "aiplatform.projects.locations.specialistPools.create", +"parameterOrder": [ +"parent" +], +"parameters": { +"parent": { +"description": "Required. The parent Project name for the new SpecialistPool. The form is `projects/{project}/locations/{location}`.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+parent}/specialistPools", +"request": { +"$ref": "GoogleCloudAiplatformV1SpecialistPool" +}, +"response": { +"$ref": "GoogleLongrunningOperation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"delete": { +"description": "Deletes a SpecialistPool as well as all Specialists in the pool.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/specialistPools/{specialistPoolsId}", +"httpMethod": "DELETE", +"id": "aiplatform.projects.locations.specialistPools.delete", +"parameterOrder": [ +"name" +], +"parameters": { +"force": { +"description": "If set to true, any specialist managers in this SpecialistPool will also be deleted. (Otherwise, the request will only work if the SpecialistPool has no specialist managers.)", +"location": "query", +"type": "boolean" +}, +"name": { +"description": "Required. The resource name of the SpecialistPool to delete. Format: `projects/{project}/locations/{location}/specialistPools/{specialist_pool}`", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/specialistPools/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+name}", +"response": { +"$ref": "GoogleLongrunningOperation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"get": { +"description": "Gets a SpecialistPool.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/specialistPools/{specialistPoolsId}", +"httpMethod": "GET", +"id": "aiplatform.projects.locations.specialistPools.get", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. The name of the SpecialistPool resource. The form is `projects/{project}/locations/{location}/specialistPools/{specialist_pool}`.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/specialistPools/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+name}", +"response": { +"$ref": "GoogleCloudAiplatformV1SpecialistPool" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"list": { +"description": "Lists SpecialistPools in a Location.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/specialistPools", +"httpMethod": "GET", +"id": "aiplatform.projects.locations.specialistPools.list", +"parameterOrder": [ +"parent" +], +"parameters": { +"pageSize": { +"description": "The standard list page size.", +"format": "int32", +"location": "query", +"type": "integer" +}, +"pageToken": { +"description": "The standard list page token. Typically obtained by ListSpecialistPoolsResponse.next_page_token of the previous SpecialistPoolService.ListSpecialistPools call. Return first page if empty.", +"location": "query", +"type": "string" +}, +"parent": { +"description": "Required. The name of the SpecialistPool's parent resource. Format: `projects/{project}/locations/{location}`", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+$", +"required": true, +"type": "string" +}, +"readMask": { +"description": "Mask specifying which fields to read. FieldMask represents a set of", +"format": "google-fieldmask", +"location": "query", +"type": "string" +} +}, +"path": "v1/{+parent}/specialistPools", +"response": { +"$ref": "GoogleCloudAiplatformV1ListSpecialistPoolsResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"patch": { +"description": "Updates a SpecialistPool.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/specialistPools/{specialistPoolsId}", +"httpMethod": "PATCH", +"id": "aiplatform.projects.locations.specialistPools.patch", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. The resource name of the SpecialistPool.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/specialistPools/[^/]+$", +"required": true, +"type": "string" +}, +"updateMask": { +"description": "Required. The update mask applies to the resource.", +"format": "google-fieldmask", +"location": "query", +"type": "string" +} +}, +"path": "v1/{+name}", +"request": { +"$ref": "GoogleCloudAiplatformV1SpecialistPool" +}, +"response": { +"$ref": "GoogleLongrunningOperation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +} +}, +"resources": { +"operations": { +"methods": { +"cancel": { +"description": "Starts asynchronous cancellation on a long-running operation. The server makes a best effort to cancel the operation, but success is not guaranteed. If the server doesn't support this method, it returns `google.rpc.Code.UNIMPLEMENTED`. Clients can use Operations.GetOperation or other methods to check whether the cancellation succeeded or whether the operation completed despite cancellation. On successful cancellation, the operation is not deleted; instead, it becomes an operation with an Operation.error value with a google.rpc.Status.code of `1`, corresponding to `Code.CANCELLED`.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/specialistPools/{specialistPoolsId}/operations/{operationsId}:cancel", +"httpMethod": "POST", +"id": "aiplatform.projects.locations.specialistPools.operations.cancel", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "The name of the operation resource to be cancelled.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/specialistPools/[^/]+/operations/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+name}:cancel", +"response": { +"$ref": "GoogleProtobufEmpty" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"delete": { +"description": "Deletes a long-running operation. This method indicates that the client is no longer interested in the operation result. It does not cancel the operation. If the server doesn't support this method, it returns `google.rpc.Code.UNIMPLEMENTED`.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/specialistPools/{specialistPoolsId}/operations/{operationsId}", +"httpMethod": "DELETE", +"id": "aiplatform.projects.locations.specialistPools.operations.delete", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "The name of the operation resource to be deleted.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/specialistPools/[^/]+/operations/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+name}", +"response": { +"$ref": "GoogleProtobufEmpty" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"get": { +"description": "Gets the latest state of a long-running operation. Clients can use this method to poll the operation result at intervals as recommended by the API service.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/specialistPools/{specialistPoolsId}/operations/{operationsId}", +"httpMethod": "GET", +"id": "aiplatform.projects.locations.specialistPools.operations.get", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "The name of the operation resource.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/specialistPools/[^/]+/operations/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+name}", +"response": { +"$ref": "GoogleLongrunningOperation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"list": { +"description": "Lists operations that match the specified filter in the request. If the server doesn't support this method, it returns `UNIMPLEMENTED`.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/specialistPools/{specialistPoolsId}/operations", +"httpMethod": "GET", +"id": "aiplatform.projects.locations.specialistPools.operations.list", +"parameterOrder": [ +"name" +], +"parameters": { +"filter": { +"description": "The standard list filter.", +"location": "query", +"type": "string" +}, +"name": { +"description": "The name of the operation's parent resource.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/specialistPools/[^/]+$", +"required": true, +"type": "string" +}, +"pageSize": { +"description": "The standard list page size.", +"format": "int32", +"location": "query", +"type": "integer" +}, +"pageToken": { +"description": "The standard list page token.", +"location": "query", +"type": "string" +} +}, +"path": "v1/{+name}/operations", +"response": { +"$ref": "GoogleLongrunningListOperationsResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"wait": { +"description": "Waits until the specified long-running operation is done or reaches at most a specified timeout, returning the latest state. If the operation is already done, the latest state is immediately returned. If the timeout specified is greater than the default HTTP/RPC timeout, the HTTP/RPC timeout is used. If the server does not support this method, it returns `google.rpc.Code.UNIMPLEMENTED`. Note that this method is on a best-effort basis. It may return the latest state before the specified timeout (including immediately), meaning even an immediate response is no guarantee that the operation is done.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/specialistPools/{specialistPoolsId}/operations/{operationsId}:wait", +"httpMethod": "POST", +"id": "aiplatform.projects.locations.specialistPools.operations.wait", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "The name of the operation resource to wait on.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/specialistPools/[^/]+/operations/[^/]+$", +"required": true, +"type": "string" +}, +"timeout": { +"description": "The maximum duration to wait before timing out. If left blank, the wait will be at most the time permitted by the underlying HTTP/RPC protocol. If RPC context deadline is also specified, the shorter one will be used.", +"format": "google-duration", +"location": "query", +"type": "string" +} +}, +"path": "v1/{+name}:wait", +"response": { +"$ref": "GoogleLongrunningOperation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +} +} +} +} +}, +"studies": { +"methods": { +"create": { +"description": "Creates a Study. A resource name will be generated after creation of the Study.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/studies", +"httpMethod": "POST", +"id": "aiplatform.projects.locations.studies.create", +"parameterOrder": [ +"parent" +], +"parameters": { +"parent": { +"description": "Required. The resource name of the Location to create the CustomJob in. Format: `projects/{project}/locations/{location}`", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+parent}/studies", +"request": { +"$ref": "GoogleCloudAiplatformV1Study" +}, +"response": { +"$ref": "GoogleCloudAiplatformV1Study" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"delete": { +"description": "Deletes a Study.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/studies/{studiesId}", +"httpMethod": "DELETE", +"id": "aiplatform.projects.locations.studies.delete", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. The name of the Study resource to be deleted. Format: `projects/{project}/locations/{location}/studies/{study}`", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/studies/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+name}", +"response": { +"$ref": "GoogleProtobufEmpty" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"get": { +"description": "Gets a Study by name.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/studies/{studiesId}", +"httpMethod": "GET", +"id": "aiplatform.projects.locations.studies.get", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. The name of the Study resource. Format: `projects/{project}/locations/{location}/studies/{study}`", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/studies/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+name}", +"response": { +"$ref": "GoogleCloudAiplatformV1Study" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"list": { +"description": "Lists all the studies in a region for an associated project.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/studies", +"httpMethod": "GET", +"id": "aiplatform.projects.locations.studies.list", +"parameterOrder": [ +"parent" +], +"parameters": { +"pageSize": { +"description": "Optional. The maximum number of studies to return per \"page\" of results. If unspecified, service will pick an appropriate default.", +"format": "int32", +"location": "query", +"type": "integer" +}, +"pageToken": { +"description": "Optional. A page token to request the next page of results. If unspecified, there are no subsequent pages.", +"location": "query", +"type": "string" +}, +"parent": { +"description": "Required. The resource name of the Location to list the Study from. Format: `projects/{project}/locations/{location}`", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+parent}/studies", +"response": { +"$ref": "GoogleCloudAiplatformV1ListStudiesResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"lookup": { +"description": "Looks a study up using the user-defined display_name field instead of the fully qualified resource name.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/studies:lookup", +"httpMethod": "POST", +"id": "aiplatform.projects.locations.studies.lookup", +"parameterOrder": [ +"parent" +], +"parameters": { +"parent": { +"description": "Required. The resource name of the Location to get the Study from. Format: `projects/{project}/locations/{location}`", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+parent}/studies:lookup", +"request": { +"$ref": "GoogleCloudAiplatformV1LookupStudyRequest" +}, +"response": { +"$ref": "GoogleCloudAiplatformV1Study" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +} +}, +"resources": { +"operations": { +"methods": { +"cancel": { +"description": "Starts asynchronous cancellation on a long-running operation. The server makes a best effort to cancel the operation, but success is not guaranteed. If the server doesn't support this method, it returns `google.rpc.Code.UNIMPLEMENTED`. Clients can use Operations.GetOperation or other methods to check whether the cancellation succeeded or whether the operation completed despite cancellation. On successful cancellation, the operation is not deleted; instead, it becomes an operation with an Operation.error value with a google.rpc.Status.code of `1`, corresponding to `Code.CANCELLED`.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/studies/{studiesId}/operations/{operationsId}:cancel", +"httpMethod": "POST", +"id": "aiplatform.projects.locations.studies.operations.cancel", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "The name of the operation resource to be cancelled.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/studies/[^/]+/operations/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+name}:cancel", +"response": { +"$ref": "GoogleProtobufEmpty" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"delete": { +"description": "Deletes a long-running operation. This method indicates that the client is no longer interested in the operation result. It does not cancel the operation. If the server doesn't support this method, it returns `google.rpc.Code.UNIMPLEMENTED`.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/studies/{studiesId}/operations/{operationsId}", +"httpMethod": "DELETE", +"id": "aiplatform.projects.locations.studies.operations.delete", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "The name of the operation resource to be deleted.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/studies/[^/]+/operations/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+name}", +"response": { +"$ref": "GoogleProtobufEmpty" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"get": { +"description": "Gets the latest state of a long-running operation. Clients can use this method to poll the operation result at intervals as recommended by the API service.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/studies/{studiesId}/operations/{operationsId}", +"httpMethod": "GET", +"id": "aiplatform.projects.locations.studies.operations.get", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "The name of the operation resource.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/studies/[^/]+/operations/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+name}", +"response": { +"$ref": "GoogleLongrunningOperation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"list": { +"description": "Lists operations that match the specified filter in the request. If the server doesn't support this method, it returns `UNIMPLEMENTED`.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/studies/{studiesId}/operations", +"httpMethod": "GET", +"id": "aiplatform.projects.locations.studies.operations.list", +"parameterOrder": [ +"name" +], +"parameters": { +"filter": { +"description": "The standard list filter.", +"location": "query", +"type": "string" +}, +"name": { +"description": "The name of the operation's parent resource.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/studies/[^/]+$", +"required": true, +"type": "string" +}, +"pageSize": { +"description": "The standard list page size.", +"format": "int32", +"location": "query", +"type": "integer" +}, +"pageToken": { +"description": "The standard list page token.", +"location": "query", +"type": "string" +} +}, +"path": "v1/{+name}/operations", +"response": { +"$ref": "GoogleLongrunningListOperationsResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"wait": { +"description": "Waits until the specified long-running operation is done or reaches at most a specified timeout, returning the latest state. If the operation is already done, the latest state is immediately returned. If the timeout specified is greater than the default HTTP/RPC timeout, the HTTP/RPC timeout is used. If the server does not support this method, it returns `google.rpc.Code.UNIMPLEMENTED`. Note that this method is on a best-effort basis. It may return the latest state before the specified timeout (including immediately), meaning even an immediate response is no guarantee that the operation is done.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/studies/{studiesId}/operations/{operationsId}:wait", +"httpMethod": "POST", +"id": "aiplatform.projects.locations.studies.operations.wait", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "The name of the operation resource to wait on.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/studies/[^/]+/operations/[^/]+$", +"required": true, +"type": "string" +}, +"timeout": { +"description": "The maximum duration to wait before timing out. If left blank, the wait will be at most the time permitted by the underlying HTTP/RPC protocol. If RPC context deadline is also specified, the shorter one will be used.", +"format": "google-duration", +"location": "query", +"type": "string" +} +}, +"path": "v1/{+name}:wait", +"response": { +"$ref": "GoogleLongrunningOperation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +} +} +}, +"trials": { +"methods": { +"addTrialMeasurement": { +"description": "Adds a measurement of the objective metrics to a Trial. This measurement is assumed to have been taken before the Trial is complete.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/studies/{studiesId}/trials/{trialsId}:addTrialMeasurement", +"httpMethod": "POST", +"id": "aiplatform.projects.locations.studies.trials.addTrialMeasurement", +"parameterOrder": [ +"trialName" +], +"parameters": { +"trialName": { +"description": "Required. The name of the trial to add measurement. Format: `projects/{project}/locations/{location}/studies/{study}/trials/{trial}`", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/studies/[^/]+/trials/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+trialName}:addTrialMeasurement", +"request": { +"$ref": "GoogleCloudAiplatformV1AddTrialMeasurementRequest" +}, +"response": { +"$ref": "GoogleCloudAiplatformV1Trial" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"checkTrialEarlyStoppingState": { +"description": "Checks whether a Trial should stop or not. Returns a long-running operation. When the operation is successful, it will contain a CheckTrialEarlyStoppingStateResponse.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/studies/{studiesId}/trials/{trialsId}:checkTrialEarlyStoppingState", +"httpMethod": "POST", +"id": "aiplatform.projects.locations.studies.trials.checkTrialEarlyStoppingState", +"parameterOrder": [ +"trialName" +], +"parameters": { +"trialName": { +"description": "Required. The Trial's name. Format: `projects/{project}/locations/{location}/studies/{study}/trials/{trial}`", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/studies/[^/]+/trials/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+trialName}:checkTrialEarlyStoppingState", +"request": { +"$ref": "GoogleCloudAiplatformV1CheckTrialEarlyStoppingStateRequest" +}, +"response": { +"$ref": "GoogleLongrunningOperation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"complete": { +"description": "Marks a Trial as complete.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/studies/{studiesId}/trials/{trialsId}:complete", +"httpMethod": "POST", +"id": "aiplatform.projects.locations.studies.trials.complete", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. The Trial's name. Format: `projects/{project}/locations/{location}/studies/{study}/trials/{trial}`", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/studies/[^/]+/trials/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+name}:complete", +"request": { +"$ref": "GoogleCloudAiplatformV1CompleteTrialRequest" +}, +"response": { +"$ref": "GoogleCloudAiplatformV1Trial" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"create": { +"description": "Adds a user provided Trial to a Study.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/studies/{studiesId}/trials", +"httpMethod": "POST", +"id": "aiplatform.projects.locations.studies.trials.create", +"parameterOrder": [ +"parent" +], +"parameters": { +"parent": { +"description": "Required. The resource name of the Study to create the Trial in. Format: `projects/{project}/locations/{location}/studies/{study}`", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/studies/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+parent}/trials", +"request": { +"$ref": "GoogleCloudAiplatformV1Trial" +}, +"response": { +"$ref": "GoogleCloudAiplatformV1Trial" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"delete": { +"description": "Deletes a Trial.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/studies/{studiesId}/trials/{trialsId}", +"httpMethod": "DELETE", +"id": "aiplatform.projects.locations.studies.trials.delete", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. The Trial's name. Format: `projects/{project}/locations/{location}/studies/{study}/trials/{trial}`", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/studies/[^/]+/trials/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+name}", +"response": { +"$ref": "GoogleProtobufEmpty" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"get": { +"description": "Gets a Trial.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/studies/{studiesId}/trials/{trialsId}", +"httpMethod": "GET", +"id": "aiplatform.projects.locations.studies.trials.get", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. The name of the Trial resource. Format: `projects/{project}/locations/{location}/studies/{study}/trials/{trial}`", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/studies/[^/]+/trials/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+name}", +"response": { +"$ref": "GoogleCloudAiplatformV1Trial" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"list": { +"description": "Lists the Trials associated with a Study.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/studies/{studiesId}/trials", +"httpMethod": "GET", +"id": "aiplatform.projects.locations.studies.trials.list", +"parameterOrder": [ +"parent" +], +"parameters": { +"pageSize": { +"description": "Optional. The number of Trials to retrieve per \"page\" of results. If unspecified, the service will pick an appropriate default.", +"format": "int32", +"location": "query", +"type": "integer" +}, +"pageToken": { +"description": "Optional. A page token to request the next page of results. If unspecified, there are no subsequent pages.", +"location": "query", +"type": "string" +}, +"parent": { +"description": "Required. The resource name of the Study to list the Trial from. Format: `projects/{project}/locations/{location}/studies/{study}`", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/studies/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+parent}/trials", +"response": { +"$ref": "GoogleCloudAiplatformV1ListTrialsResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"listOptimalTrials": { +"description": "Lists the pareto-optimal Trials for multi-objective Study or the optimal Trials for single-objective Study. The definition of pareto-optimal can be checked in wiki page. https://en.wikipedia.org/wiki/Pareto_efficiency", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/studies/{studiesId}/trials:listOptimalTrials", +"httpMethod": "POST", +"id": "aiplatform.projects.locations.studies.trials.listOptimalTrials", +"parameterOrder": [ +"parent" +], +"parameters": { +"parent": { +"description": "Required. The name of the Study that the optimal Trial belongs to.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/studies/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+parent}/trials:listOptimalTrials", +"request": { +"$ref": "GoogleCloudAiplatformV1ListOptimalTrialsRequest" +}, +"response": { +"$ref": "GoogleCloudAiplatformV1ListOptimalTrialsResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"stop": { +"description": "Stops a Trial.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/studies/{studiesId}/trials/{trialsId}:stop", +"httpMethod": "POST", +"id": "aiplatform.projects.locations.studies.trials.stop", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. The Trial's name. Format: `projects/{project}/locations/{location}/studies/{study}/trials/{trial}`", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/studies/[^/]+/trials/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+name}:stop", +"request": { +"$ref": "GoogleCloudAiplatformV1StopTrialRequest" +}, +"response": { +"$ref": "GoogleCloudAiplatformV1Trial" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"suggest": { +"description": "Adds one or more Trials to a Study, with parameter values suggested by Vertex AI Vizier. Returns a long-running operation associated with the generation of Trial suggestions. When this long-running operation succeeds, it will contain a SuggestTrialsResponse.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/studies/{studiesId}/trials:suggest", +"httpMethod": "POST", +"id": "aiplatform.projects.locations.studies.trials.suggest", +"parameterOrder": [ +"parent" +], +"parameters": { +"parent": { +"description": "Required. The project and location that the Study belongs to. Format: `projects/{project}/locations/{location}/studies/{study}`", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/studies/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+parent}/trials:suggest", +"request": { +"$ref": "GoogleCloudAiplatformV1SuggestTrialsRequest" +}, +"response": { +"$ref": "GoogleLongrunningOperation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +} +}, +"resources": { +"operations": { +"methods": { +"cancel": { +"description": "Starts asynchronous cancellation on a long-running operation. The server makes a best effort to cancel the operation, but success is not guaranteed. If the server doesn't support this method, it returns `google.rpc.Code.UNIMPLEMENTED`. Clients can use Operations.GetOperation or other methods to check whether the cancellation succeeded or whether the operation completed despite cancellation. On successful cancellation, the operation is not deleted; instead, it becomes an operation with an Operation.error value with a google.rpc.Status.code of `1`, corresponding to `Code.CANCELLED`.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/studies/{studiesId}/trials/{trialsId}/operations/{operationsId}:cancel", +"httpMethod": "POST", +"id": "aiplatform.projects.locations.studies.trials.operations.cancel", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "The name of the operation resource to be cancelled.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/studies/[^/]+/trials/[^/]+/operations/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+name}:cancel", +"response": { +"$ref": "GoogleProtobufEmpty" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"delete": { +"description": "Deletes a long-running operation. This method indicates that the client is no longer interested in the operation result. It does not cancel the operation. If the server doesn't support this method, it returns `google.rpc.Code.UNIMPLEMENTED`.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/studies/{studiesId}/trials/{trialsId}/operations/{operationsId}", +"httpMethod": "DELETE", +"id": "aiplatform.projects.locations.studies.trials.operations.delete", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "The name of the operation resource to be deleted.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/studies/[^/]+/trials/[^/]+/operations/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+name}", +"response": { +"$ref": "GoogleProtobufEmpty" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"get": { +"description": "Gets the latest state of a long-running operation. Clients can use this method to poll the operation result at intervals as recommended by the API service.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/studies/{studiesId}/trials/{trialsId}/operations/{operationsId}", +"httpMethod": "GET", +"id": "aiplatform.projects.locations.studies.trials.operations.get", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "The name of the operation resource.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/studies/[^/]+/trials/[^/]+/operations/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+name}", +"response": { +"$ref": "GoogleLongrunningOperation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"list": { +"description": "Lists operations that match the specified filter in the request. If the server doesn't support this method, it returns `UNIMPLEMENTED`.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/studies/{studiesId}/trials/{trialsId}/operations", +"httpMethod": "GET", +"id": "aiplatform.projects.locations.studies.trials.operations.list", +"parameterOrder": [ +"name" +], +"parameters": { +"filter": { +"description": "The standard list filter.", +"location": "query", +"type": "string" +}, +"name": { +"description": "The name of the operation's parent resource.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/studies/[^/]+/trials/[^/]+$", +"required": true, +"type": "string" +}, +"pageSize": { +"description": "The standard list page size.", +"format": "int32", +"location": "query", +"type": "integer" +}, +"pageToken": { +"description": "The standard list page token.", +"location": "query", +"type": "string" +} +}, +"path": "v1/{+name}/operations", +"response": { +"$ref": "GoogleLongrunningListOperationsResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"wait": { +"description": "Waits until the specified long-running operation is done or reaches at most a specified timeout, returning the latest state. If the operation is already done, the latest state is immediately returned. If the timeout specified is greater than the default HTTP/RPC timeout, the HTTP/RPC timeout is used. If the server does not support this method, it returns `google.rpc.Code.UNIMPLEMENTED`. Note that this method is on a best-effort basis. It may return the latest state before the specified timeout (including immediately), meaning even an immediate response is no guarantee that the operation is done.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/studies/{studiesId}/trials/{trialsId}/operations/{operationsId}:wait", +"httpMethod": "POST", +"id": "aiplatform.projects.locations.studies.trials.operations.wait", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "The name of the operation resource to wait on.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/studies/[^/]+/trials/[^/]+/operations/[^/]+$", +"required": true, +"type": "string" +}, +"timeout": { +"description": "The maximum duration to wait before timing out. If left blank, the wait will be at most the time permitted by the underlying HTTP/RPC protocol. If RPC context deadline is also specified, the shorter one will be used.", +"format": "google-duration", +"location": "query", +"type": "string" +} +}, +"path": "v1/{+name}:wait", +"response": { +"$ref": "GoogleLongrunningOperation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +} +} +} +} +} +} +}, +"tensorboards": { +"methods": { +"batchRead": { +"description": "Reads multiple TensorboardTimeSeries' data. The data point number limit is 1000 for scalars, 100 for tensors and blob references. If the number of data points stored is less than the limit, all data is returned. Otherwise, the number limit of data points is randomly selected from this time series and returned.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/tensorboards/{tensorboardsId}:batchRead", +"httpMethod": "GET", +"id": "aiplatform.projects.locations.tensorboards.batchRead", +"parameterOrder": [ +"tensorboard" +], +"parameters": { +"tensorboard": { +"description": "Required. The resource name of the Tensorboard containing TensorboardTimeSeries to read data from. Format: `projects/{project}/locations/{location}/tensorboards/{tensorboard}`. The TensorboardTimeSeries referenced by time_series must be sub resources of this Tensorboard.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/tensorboards/[^/]+$", +"required": true, +"type": "string" +}, +"timeSeries": { +"description": "Required. The resource names of the TensorboardTimeSeries to read data from. Format: `projects/{project}/locations/{location}/tensorboards/{tensorboard}/experiments/{experiment}/runs/{run}/timeSeries/{time_series}`", +"location": "query", +"repeated": true, +"type": "string" +} +}, +"path": "v1/{+tensorboard}:batchRead", +"response": { +"$ref": "GoogleCloudAiplatformV1BatchReadTensorboardTimeSeriesDataResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"create": { +"description": "Creates a Tensorboard.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/tensorboards", +"httpMethod": "POST", +"id": "aiplatform.projects.locations.tensorboards.create", +"parameterOrder": [ +"parent" +], +"parameters": { +"parent": { +"description": "Required. The resource name of the Location to create the Tensorboard in. Format: `projects/{project}/locations/{location}`", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+parent}/tensorboards", +"request": { +"$ref": "GoogleCloudAiplatformV1Tensorboard" +}, +"response": { +"$ref": "GoogleLongrunningOperation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"delete": { +"description": "Deletes a Tensorboard.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/tensorboards/{tensorboardsId}", +"httpMethod": "DELETE", +"id": "aiplatform.projects.locations.tensorboards.delete", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. The name of the Tensorboard to be deleted. Format: `projects/{project}/locations/{location}/tensorboards/{tensorboard}`", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/tensorboards/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+name}", +"response": { +"$ref": "GoogleLongrunningOperation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"get": { +"description": "Gets a Tensorboard.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/tensorboards/{tensorboardsId}", +"httpMethod": "GET", +"id": "aiplatform.projects.locations.tensorboards.get", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. The name of the Tensorboard resource. Format: `projects/{project}/locations/{location}/tensorboards/{tensorboard}`", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/tensorboards/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+name}", +"response": { +"$ref": "GoogleCloudAiplatformV1Tensorboard" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/cloud-platform.read-only" +] +}, +"list": { +"description": "Lists Tensorboards in a Location.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/tensorboards", +"httpMethod": "GET", +"id": "aiplatform.projects.locations.tensorboards.list", +"parameterOrder": [ +"parent" +], +"parameters": { +"filter": { +"description": "Lists the Tensorboards that match the filter expression.", +"location": "query", +"type": "string" +}, +"orderBy": { +"description": "Field to use to sort the list.", +"location": "query", +"type": "string" +}, +"pageSize": { +"description": "The maximum number of Tensorboards to return. The service may return fewer than this value. If unspecified, at most 100 Tensorboards are returned. The maximum value is 100; values above 100 are coerced to 100.", +"format": "int32", +"location": "query", +"type": "integer" +}, +"pageToken": { +"description": "A page token, received from a previous TensorboardService.ListTensorboards call. Provide this to retrieve the subsequent page. When paginating, all other parameters provided to TensorboardService.ListTensorboards must match the call that provided the page token.", +"location": "query", +"type": "string" +}, +"parent": { +"description": "Required. The resource name of the Location to list Tensorboards. Format: `projects/{project}/locations/{location}`", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+$", +"required": true, +"type": "string" +}, +"readMask": { +"description": "Mask specifying which fields to read.", +"format": "google-fieldmask", +"location": "query", +"type": "string" +} +}, +"path": "v1/{+parent}/tensorboards", +"response": { +"$ref": "GoogleCloudAiplatformV1ListTensorboardsResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/cloud-platform.read-only" +] +}, +"patch": { +"description": "Updates a Tensorboard.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/tensorboards/{tensorboardsId}", +"httpMethod": "PATCH", +"id": "aiplatform.projects.locations.tensorboards.patch", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Output only. Name of the Tensorboard. Format: `projects/{project}/locations/{location}/tensorboards/{tensorboard}`", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/tensorboards/[^/]+$", +"required": true, +"type": "string" +}, +"updateMask": { +"description": "Required. Field mask is used to specify the fields to be overwritten in the Tensorboard resource by the update. The fields specified in the update_mask are relative to the resource, not the full request. A field is overwritten if it's in the mask. If the user does not provide a mask then all fields are overwritten if new values are specified.", +"format": "google-fieldmask", +"location": "query", +"type": "string" +} +}, +"path": "v1/{+name}", +"request": { +"$ref": "GoogleCloudAiplatformV1Tensorboard" +}, +"response": { +"$ref": "GoogleLongrunningOperation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"readSize": { +"description": "Returns the storage size for a given TensorBoard instance.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/tensorboards/{tensorboardsId}:readSize", +"httpMethod": "GET", +"id": "aiplatform.projects.locations.tensorboards.readSize", +"parameterOrder": [ +"tensorboard" +], +"parameters": { +"tensorboard": { +"description": "Required. The name of the Tensorboard resource. Format: `projects/{project}/locations/{location}/tensorboards/{tensorboard}`", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/tensorboards/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+tensorboard}:readSize", +"response": { +"$ref": "GoogleCloudAiplatformV1ReadTensorboardSizeResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"readUsage": { +"description": "Returns a list of monthly active users for a given TensorBoard instance.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/tensorboards/{tensorboardsId}:readUsage", +"httpMethod": "GET", +"id": "aiplatform.projects.locations.tensorboards.readUsage", +"parameterOrder": [ +"tensorboard" +], +"parameters": { +"tensorboard": { +"description": "Required. The name of the Tensorboard resource. Format: `projects/{project}/locations/{location}/tensorboards/{tensorboard}`", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/tensorboards/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+tensorboard}:readUsage", +"response": { +"$ref": "GoogleCloudAiplatformV1ReadTensorboardUsageResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +} +}, +"resources": { +"experiments": { +"methods": { +"batchCreate": { +"description": "Batch create TensorboardTimeSeries that belong to a TensorboardExperiment.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/tensorboards/{tensorboardsId}/experiments/{experimentsId}:batchCreate", +"httpMethod": "POST", +"id": "aiplatform.projects.locations.tensorboards.experiments.batchCreate", +"parameterOrder": [ +"parent" +], +"parameters": { +"parent": { +"description": "Required. The resource name of the TensorboardExperiment to create the TensorboardTimeSeries in. Format: `projects/{project}/locations/{location}/tensorboards/{tensorboard}/experiments/{experiment}` The TensorboardRuns referenced by the parent fields in the CreateTensorboardTimeSeriesRequest messages must be sub resources of this TensorboardExperiment.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/tensorboards/[^/]+/experiments/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+parent}:batchCreate", +"request": { +"$ref": "GoogleCloudAiplatformV1BatchCreateTensorboardTimeSeriesRequest" +}, +"response": { +"$ref": "GoogleCloudAiplatformV1BatchCreateTensorboardTimeSeriesResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"create": { +"description": "Creates a TensorboardExperiment.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/tensorboards/{tensorboardsId}/experiments", +"httpMethod": "POST", +"id": "aiplatform.projects.locations.tensorboards.experiments.create", +"parameterOrder": [ +"parent" +], +"parameters": { +"parent": { +"description": "Required. The resource name of the Tensorboard to create the TensorboardExperiment in. Format: `projects/{project}/locations/{location}/tensorboards/{tensorboard}`", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/tensorboards/[^/]+$", +"required": true, +"type": "string" +}, +"tensorboardExperimentId": { +"description": "Required. The ID to use for the Tensorboard experiment, which becomes the final component of the Tensorboard experiment's resource name. This value should be 1-128 characters, and valid characters are `/a-z-/`.", +"location": "query", +"type": "string" +} +}, +"path": "v1/{+parent}/experiments", +"request": { +"$ref": "GoogleCloudAiplatformV1TensorboardExperiment" +}, +"response": { +"$ref": "GoogleCloudAiplatformV1TensorboardExperiment" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"delete": { +"description": "Deletes a TensorboardExperiment.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/tensorboards/{tensorboardsId}/experiments/{experimentsId}", +"httpMethod": "DELETE", +"id": "aiplatform.projects.locations.tensorboards.experiments.delete", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. The name of the TensorboardExperiment to be deleted. Format: `projects/{project}/locations/{location}/tensorboards/{tensorboard}/experiments/{experiment}`", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/tensorboards/[^/]+/experiments/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+name}", +"response": { +"$ref": "GoogleLongrunningOperation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"get": { +"description": "Gets a TensorboardExperiment.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/tensorboards/{tensorboardsId}/experiments/{experimentsId}", +"httpMethod": "GET", +"id": "aiplatform.projects.locations.tensorboards.experiments.get", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. The name of the TensorboardExperiment resource. Format: `projects/{project}/locations/{location}/tensorboards/{tensorboard}/experiments/{experiment}`", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/tensorboards/[^/]+/experiments/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+name}", +"response": { +"$ref": "GoogleCloudAiplatformV1TensorboardExperiment" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/cloud-platform.read-only" +] +}, +"list": { +"description": "Lists TensorboardExperiments in a Location.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/tensorboards/{tensorboardsId}/experiments", +"httpMethod": "GET", +"id": "aiplatform.projects.locations.tensorboards.experiments.list", +"parameterOrder": [ +"parent" +], +"parameters": { +"filter": { +"description": "Lists the TensorboardExperiments that match the filter expression.", +"location": "query", +"type": "string" +}, +"orderBy": { +"description": "Field to use to sort the list.", +"location": "query", +"type": "string" +}, +"pageSize": { +"description": "The maximum number of TensorboardExperiments to return. The service may return fewer than this value. If unspecified, at most 50 TensorboardExperiments are returned. The maximum value is 1000; values above 1000 are coerced to 1000.", +"format": "int32", +"location": "query", +"type": "integer" +}, +"pageToken": { +"description": "A page token, received from a previous TensorboardService.ListTensorboardExperiments call. Provide this to retrieve the subsequent page. When paginating, all other parameters provided to TensorboardService.ListTensorboardExperiments must match the call that provided the page token.", +"location": "query", +"type": "string" +}, +"parent": { +"description": "Required. The resource name of the Tensorboard to list TensorboardExperiments. Format: `projects/{project}/locations/{location}/tensorboards/{tensorboard}`", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/tensorboards/[^/]+$", +"required": true, +"type": "string" +}, +"readMask": { +"description": "Mask specifying which fields to read.", +"format": "google-fieldmask", +"location": "query", +"type": "string" +} +}, +"path": "v1/{+parent}/experiments", +"response": { +"$ref": "GoogleCloudAiplatformV1ListTensorboardExperimentsResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/cloud-platform.read-only" +] +}, +"patch": { +"description": "Updates a TensorboardExperiment.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/tensorboards/{tensorboardsId}/experiments/{experimentsId}", +"httpMethod": "PATCH", +"id": "aiplatform.projects.locations.tensorboards.experiments.patch", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Output only. Name of the TensorboardExperiment. Format: `projects/{project}/locations/{location}/tensorboards/{tensorboard}/experiments/{experiment}`", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/tensorboards/[^/]+/experiments/[^/]+$", +"required": true, +"type": "string" +}, +"updateMask": { +"description": "Required. Field mask is used to specify the fields to be overwritten in the TensorboardExperiment resource by the update. The fields specified in the update_mask are relative to the resource, not the full request. A field is overwritten if it's in the mask. If the user does not provide a mask then all fields are overwritten if new values are specified.", +"format": "google-fieldmask", +"location": "query", +"type": "string" +} +}, +"path": "v1/{+name}", +"request": { +"$ref": "GoogleCloudAiplatformV1TensorboardExperiment" +}, +"response": { +"$ref": "GoogleCloudAiplatformV1TensorboardExperiment" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"write": { +"description": "Write time series data points of multiple TensorboardTimeSeries in multiple TensorboardRun's. If any data fail to be ingested, an error is returned.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/tensorboards/{tensorboardsId}/experiments/{experimentsId}:write", +"httpMethod": "POST", +"id": "aiplatform.projects.locations.tensorboards.experiments.write", +"parameterOrder": [ +"tensorboardExperiment" +], +"parameters": { +"tensorboardExperiment": { +"description": "Required. The resource name of the TensorboardExperiment to write data to. Format: `projects/{project}/locations/{location}/tensorboards/{tensorboard}/experiments/{experiment}`", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/tensorboards/[^/]+/experiments/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+tensorboardExperiment}:write", +"request": { +"$ref": "GoogleCloudAiplatformV1WriteTensorboardExperimentDataRequest" +}, +"response": { +"$ref": "GoogleCloudAiplatformV1WriteTensorboardExperimentDataResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +} +}, +"resources": { +"operations": { +"methods": { +"cancel": { +"description": "Starts asynchronous cancellation on a long-running operation. The server makes a best effort to cancel the operation, but success is not guaranteed. If the server doesn't support this method, it returns `google.rpc.Code.UNIMPLEMENTED`. Clients can use Operations.GetOperation or other methods to check whether the cancellation succeeded or whether the operation completed despite cancellation. On successful cancellation, the operation is not deleted; instead, it becomes an operation with an Operation.error value with a google.rpc.Status.code of `1`, corresponding to `Code.CANCELLED`.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/tensorboards/{tensorboardsId}/experiments/{experimentsId}/operations/{operationsId}:cancel", +"httpMethod": "POST", +"id": "aiplatform.projects.locations.tensorboards.experiments.operations.cancel", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "The name of the operation resource to be cancelled.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/tensorboards/[^/]+/experiments/[^/]+/operations/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+name}:cancel", +"response": { +"$ref": "GoogleProtobufEmpty" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"delete": { +"description": "Deletes a long-running operation. This method indicates that the client is no longer interested in the operation result. It does not cancel the operation. If the server doesn't support this method, it returns `google.rpc.Code.UNIMPLEMENTED`.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/tensorboards/{tensorboardsId}/experiments/{experimentsId}/operations/{operationsId}", +"httpMethod": "DELETE", +"id": "aiplatform.projects.locations.tensorboards.experiments.operations.delete", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "The name of the operation resource to be deleted.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/tensorboards/[^/]+/experiments/[^/]+/operations/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+name}", +"response": { +"$ref": "GoogleProtobufEmpty" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"get": { +"description": "Gets the latest state of a long-running operation. Clients can use this method to poll the operation result at intervals as recommended by the API service.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/tensorboards/{tensorboardsId}/experiments/{experimentsId}/operations/{operationsId}", +"httpMethod": "GET", +"id": "aiplatform.projects.locations.tensorboards.experiments.operations.get", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "The name of the operation resource.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/tensorboards/[^/]+/experiments/[^/]+/operations/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+name}", +"response": { +"$ref": "GoogleLongrunningOperation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"list": { +"description": "Lists operations that match the specified filter in the request. If the server doesn't support this method, it returns `UNIMPLEMENTED`.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/tensorboards/{tensorboardsId}/experiments/{experimentsId}/operations", +"httpMethod": "GET", +"id": "aiplatform.projects.locations.tensorboards.experiments.operations.list", +"parameterOrder": [ +"name" +], +"parameters": { +"filter": { +"description": "The standard list filter.", +"location": "query", +"type": "string" +}, +"name": { +"description": "The name of the operation's parent resource.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/tensorboards/[^/]+/experiments/[^/]+$", +"required": true, +"type": "string" +}, +"pageSize": { +"description": "The standard list page size.", +"format": "int32", +"location": "query", +"type": "integer" +}, +"pageToken": { +"description": "The standard list page token.", +"location": "query", +"type": "string" +} +}, +"path": "v1/{+name}/operations", +"response": { +"$ref": "GoogleLongrunningListOperationsResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"wait": { +"description": "Waits until the specified long-running operation is done or reaches at most a specified timeout, returning the latest state. If the operation is already done, the latest state is immediately returned. If the timeout specified is greater than the default HTTP/RPC timeout, the HTTP/RPC timeout is used. If the server does not support this method, it returns `google.rpc.Code.UNIMPLEMENTED`. Note that this method is on a best-effort basis. It may return the latest state before the specified timeout (including immediately), meaning even an immediate response is no guarantee that the operation is done.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/tensorboards/{tensorboardsId}/experiments/{experimentsId}/operations/{operationsId}:wait", +"httpMethod": "POST", +"id": "aiplatform.projects.locations.tensorboards.experiments.operations.wait", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "The name of the operation resource to wait on.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/tensorboards/[^/]+/experiments/[^/]+/operations/[^/]+$", +"required": true, +"type": "string" +}, +"timeout": { +"description": "The maximum duration to wait before timing out. If left blank, the wait will be at most the time permitted by the underlying HTTP/RPC protocol. If RPC context deadline is also specified, the shorter one will be used.", +"format": "google-duration", +"location": "query", +"type": "string" +} +}, +"path": "v1/{+name}:wait", +"response": { +"$ref": "GoogleLongrunningOperation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +} +} +}, +"runs": { +"methods": { +"batchCreate": { +"description": "Batch create TensorboardRuns.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/tensorboards/{tensorboardsId}/experiments/{experimentsId}/runs:batchCreate", +"httpMethod": "POST", +"id": "aiplatform.projects.locations.tensorboards.experiments.runs.batchCreate", +"parameterOrder": [ +"parent" +], +"parameters": { +"parent": { +"description": "Required. The resource name of the TensorboardExperiment to create the TensorboardRuns in. Format: `projects/{project}/locations/{location}/tensorboards/{tensorboard}/experiments/{experiment}` The parent field in the CreateTensorboardRunRequest messages must match this field.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/tensorboards/[^/]+/experiments/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+parent}/runs:batchCreate", +"request": { +"$ref": "GoogleCloudAiplatformV1BatchCreateTensorboardRunsRequest" +}, +"response": { +"$ref": "GoogleCloudAiplatformV1BatchCreateTensorboardRunsResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"create": { +"description": "Creates a TensorboardRun.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/tensorboards/{tensorboardsId}/experiments/{experimentsId}/runs", +"httpMethod": "POST", +"id": "aiplatform.projects.locations.tensorboards.experiments.runs.create", +"parameterOrder": [ +"parent" +], +"parameters": { +"parent": { +"description": "Required. The resource name of the TensorboardExperiment to create the TensorboardRun in. Format: `projects/{project}/locations/{location}/tensorboards/{tensorboard}/experiments/{experiment}`", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/tensorboards/[^/]+/experiments/[^/]+$", +"required": true, +"type": "string" +}, +"tensorboardRunId": { +"description": "Required. The ID to use for the Tensorboard run, which becomes the final component of the Tensorboard run's resource name. This value should be 1-128 characters, and valid characters are `/a-z-/`.", +"location": "query", +"type": "string" +} +}, +"path": "v1/{+parent}/runs", +"request": { +"$ref": "GoogleCloudAiplatformV1TensorboardRun" +}, +"response": { +"$ref": "GoogleCloudAiplatformV1TensorboardRun" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"delete": { +"description": "Deletes a TensorboardRun.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/tensorboards/{tensorboardsId}/experiments/{experimentsId}/runs/{runsId}", +"httpMethod": "DELETE", +"id": "aiplatform.projects.locations.tensorboards.experiments.runs.delete", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. The name of the TensorboardRun to be deleted. Format: `projects/{project}/locations/{location}/tensorboards/{tensorboard}/experiments/{experiment}/runs/{run}`", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/tensorboards/[^/]+/experiments/[^/]+/runs/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+name}", +"response": { +"$ref": "GoogleLongrunningOperation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"get": { +"description": "Gets a TensorboardRun.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/tensorboards/{tensorboardsId}/experiments/{experimentsId}/runs/{runsId}", +"httpMethod": "GET", +"id": "aiplatform.projects.locations.tensorboards.experiments.runs.get", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. The name of the TensorboardRun resource. Format: `projects/{project}/locations/{location}/tensorboards/{tensorboard}/experiments/{experiment}/runs/{run}`", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/tensorboards/[^/]+/experiments/[^/]+/runs/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+name}", +"response": { +"$ref": "GoogleCloudAiplatformV1TensorboardRun" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/cloud-platform.read-only" +] +}, +"list": { +"description": "Lists TensorboardRuns in a Location.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/tensorboards/{tensorboardsId}/experiments/{experimentsId}/runs", +"httpMethod": "GET", +"id": "aiplatform.projects.locations.tensorboards.experiments.runs.list", +"parameterOrder": [ +"parent" +], +"parameters": { +"filter": { +"description": "Lists the TensorboardRuns that match the filter expression.", +"location": "query", +"type": "string" +}, +"orderBy": { +"description": "Field to use to sort the list.", +"location": "query", +"type": "string" +}, +"pageSize": { +"description": "The maximum number of TensorboardRuns to return. The service may return fewer than this value. If unspecified, at most 50 TensorboardRuns are returned. The maximum value is 1000; values above 1000 are coerced to 1000.", +"format": "int32", +"location": "query", +"type": "integer" +}, +"pageToken": { +"description": "A page token, received from a previous TensorboardService.ListTensorboardRuns call. Provide this to retrieve the subsequent page. When paginating, all other parameters provided to TensorboardService.ListTensorboardRuns must match the call that provided the page token.", +"location": "query", +"type": "string" +}, +"parent": { +"description": "Required. The resource name of the TensorboardExperiment to list TensorboardRuns. Format: `projects/{project}/locations/{location}/tensorboards/{tensorboard}/experiments/{experiment}`", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/tensorboards/[^/]+/experiments/[^/]+$", +"required": true, +"type": "string" +}, +"readMask": { +"description": "Mask specifying which fields to read.", +"format": "google-fieldmask", +"location": "query", +"type": "string" +} +}, +"path": "v1/{+parent}/runs", +"response": { +"$ref": "GoogleCloudAiplatformV1ListTensorboardRunsResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/cloud-platform.read-only" +] +}, +"patch": { +"description": "Updates a TensorboardRun.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/tensorboards/{tensorboardsId}/experiments/{experimentsId}/runs/{runsId}", +"httpMethod": "PATCH", +"id": "aiplatform.projects.locations.tensorboards.experiments.runs.patch", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Output only. Name of the TensorboardRun. Format: `projects/{project}/locations/{location}/tensorboards/{tensorboard}/experiments/{experiment}/runs/{run}`", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/tensorboards/[^/]+/experiments/[^/]+/runs/[^/]+$", +"required": true, +"type": "string" +}, +"updateMask": { +"description": "Required. Field mask is used to specify the fields to be overwritten in the TensorboardRun resource by the update. The fields specified in the update_mask are relative to the resource, not the full request. A field is overwritten if it's in the mask. If the user does not provide a mask then all fields are overwritten if new values are specified.", +"format": "google-fieldmask", +"location": "query", +"type": "string" +} +}, +"path": "v1/{+name}", +"request": { +"$ref": "GoogleCloudAiplatformV1TensorboardRun" +}, +"response": { +"$ref": "GoogleCloudAiplatformV1TensorboardRun" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"write": { +"description": "Write time series data points into multiple TensorboardTimeSeries under a TensorboardRun. If any data fail to be ingested, an error is returned.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/tensorboards/{tensorboardsId}/experiments/{experimentsId}/runs/{runsId}:write", +"httpMethod": "POST", +"id": "aiplatform.projects.locations.tensorboards.experiments.runs.write", +"parameterOrder": [ +"tensorboardRun" +], +"parameters": { +"tensorboardRun": { +"description": "Required. The resource name of the TensorboardRun to write data to. Format: `projects/{project}/locations/{location}/tensorboards/{tensorboard}/experiments/{experiment}/runs/{run}`", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/tensorboards/[^/]+/experiments/[^/]+/runs/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+tensorboardRun}:write", +"request": { +"$ref": "GoogleCloudAiplatformV1WriteTensorboardRunDataRequest" +}, +"response": { +"$ref": "GoogleCloudAiplatformV1WriteTensorboardRunDataResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +} +}, +"resources": { +"operations": { +"methods": { +"cancel": { +"description": "Starts asynchronous cancellation on a long-running operation. The server makes a best effort to cancel the operation, but success is not guaranteed. If the server doesn't support this method, it returns `google.rpc.Code.UNIMPLEMENTED`. Clients can use Operations.GetOperation or other methods to check whether the cancellation succeeded or whether the operation completed despite cancellation. On successful cancellation, the operation is not deleted; instead, it becomes an operation with an Operation.error value with a google.rpc.Status.code of `1`, corresponding to `Code.CANCELLED`.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/tensorboards/{tensorboardsId}/experiments/{experimentsId}/runs/{runsId}/operations/{operationsId}:cancel", +"httpMethod": "POST", +"id": "aiplatform.projects.locations.tensorboards.experiments.runs.operations.cancel", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "The name of the operation resource to be cancelled.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/tensorboards/[^/]+/experiments/[^/]+/runs/[^/]+/operations/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+name}:cancel", +"response": { +"$ref": "GoogleProtobufEmpty" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"delete": { +"description": "Deletes a long-running operation. This method indicates that the client is no longer interested in the operation result. It does not cancel the operation. If the server doesn't support this method, it returns `google.rpc.Code.UNIMPLEMENTED`.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/tensorboards/{tensorboardsId}/experiments/{experimentsId}/runs/{runsId}/operations/{operationsId}", +"httpMethod": "DELETE", +"id": "aiplatform.projects.locations.tensorboards.experiments.runs.operations.delete", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "The name of the operation resource to be deleted.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/tensorboards/[^/]+/experiments/[^/]+/runs/[^/]+/operations/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+name}", +"response": { +"$ref": "GoogleProtobufEmpty" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"get": { +"description": "Gets the latest state of a long-running operation. Clients can use this method to poll the operation result at intervals as recommended by the API service.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/tensorboards/{tensorboardsId}/experiments/{experimentsId}/runs/{runsId}/operations/{operationsId}", +"httpMethod": "GET", +"id": "aiplatform.projects.locations.tensorboards.experiments.runs.operations.get", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "The name of the operation resource.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/tensorboards/[^/]+/experiments/[^/]+/runs/[^/]+/operations/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+name}", +"response": { +"$ref": "GoogleLongrunningOperation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"list": { +"description": "Lists operations that match the specified filter in the request. If the server doesn't support this method, it returns `UNIMPLEMENTED`.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/tensorboards/{tensorboardsId}/experiments/{experimentsId}/runs/{runsId}/operations", +"httpMethod": "GET", +"id": "aiplatform.projects.locations.tensorboards.experiments.runs.operations.list", +"parameterOrder": [ +"name" +], +"parameters": { +"filter": { +"description": "The standard list filter.", +"location": "query", +"type": "string" +}, +"name": { +"description": "The name of the operation's parent resource.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/tensorboards/[^/]+/experiments/[^/]+/runs/[^/]+$", +"required": true, +"type": "string" +}, +"pageSize": { +"description": "The standard list page size.", +"format": "int32", +"location": "query", +"type": "integer" +}, +"pageToken": { +"description": "The standard list page token.", +"location": "query", +"type": "string" +} +}, +"path": "v1/{+name}/operations", +"response": { +"$ref": "GoogleLongrunningListOperationsResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"wait": { +"description": "Waits until the specified long-running operation is done or reaches at most a specified timeout, returning the latest state. If the operation is already done, the latest state is immediately returned. If the timeout specified is greater than the default HTTP/RPC timeout, the HTTP/RPC timeout is used. If the server does not support this method, it returns `google.rpc.Code.UNIMPLEMENTED`. Note that this method is on a best-effort basis. It may return the latest state before the specified timeout (including immediately), meaning even an immediate response is no guarantee that the operation is done.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/tensorboards/{tensorboardsId}/experiments/{experimentsId}/runs/{runsId}/operations/{operationsId}:wait", +"httpMethod": "POST", +"id": "aiplatform.projects.locations.tensorboards.experiments.runs.operations.wait", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "The name of the operation resource to wait on.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/tensorboards/[^/]+/experiments/[^/]+/runs/[^/]+/operations/[^/]+$", +"required": true, +"type": "string" +}, +"timeout": { +"description": "The maximum duration to wait before timing out. If left blank, the wait will be at most the time permitted by the underlying HTTP/RPC protocol. If RPC context deadline is also specified, the shorter one will be used.", +"format": "google-duration", +"location": "query", +"type": "string" +} +}, +"path": "v1/{+name}:wait", +"response": { +"$ref": "GoogleLongrunningOperation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +} +} +}, +"timeSeries": { +"methods": { +"create": { +"description": "Creates a TensorboardTimeSeries.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/tensorboards/{tensorboardsId}/experiments/{experimentsId}/runs/{runsId}/timeSeries", +"httpMethod": "POST", +"id": "aiplatform.projects.locations.tensorboards.experiments.runs.timeSeries.create", +"parameterOrder": [ +"parent" +], +"parameters": { +"parent": { +"description": "Required. The resource name of the TensorboardRun to create the TensorboardTimeSeries in. Format: `projects/{project}/locations/{location}/tensorboards/{tensorboard}/experiments/{experiment}/runs/{run}`", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/tensorboards/[^/]+/experiments/[^/]+/runs/[^/]+$", +"required": true, +"type": "string" +}, +"tensorboardTimeSeriesId": { +"description": "Optional. The user specified unique ID to use for the TensorboardTimeSeries, which becomes the final component of the TensorboardTimeSeries's resource name. This value should match \"a-z0-9{0, 127}\"", +"location": "query", +"type": "string" +} +}, +"path": "v1/{+parent}/timeSeries", +"request": { +"$ref": "GoogleCloudAiplatformV1TensorboardTimeSeries" +}, +"response": { +"$ref": "GoogleCloudAiplatformV1TensorboardTimeSeries" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"delete": { +"description": "Deletes a TensorboardTimeSeries.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/tensorboards/{tensorboardsId}/experiments/{experimentsId}/runs/{runsId}/timeSeries/{timeSeriesId}", +"httpMethod": "DELETE", +"id": "aiplatform.projects.locations.tensorboards.experiments.runs.timeSeries.delete", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. The name of the TensorboardTimeSeries to be deleted. Format: `projects/{project}/locations/{location}/tensorboards/{tensorboard}/experiments/{experiment}/runs/{run}/timeSeries/{time_series}`", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/tensorboards/[^/]+/experiments/[^/]+/runs/[^/]+/timeSeries/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+name}", +"response": { +"$ref": "GoogleLongrunningOperation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"exportTensorboardTimeSeries": { +"description": "Exports a TensorboardTimeSeries' data. Data is returned in paginated responses.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/tensorboards/{tensorboardsId}/experiments/{experimentsId}/runs/{runsId}/timeSeries/{timeSeriesId}:exportTensorboardTimeSeries", +"httpMethod": "POST", +"id": "aiplatform.projects.locations.tensorboards.experiments.runs.timeSeries.exportTensorboardTimeSeries", +"parameterOrder": [ +"tensorboardTimeSeries" +], +"parameters": { +"tensorboardTimeSeries": { +"description": "Required. The resource name of the TensorboardTimeSeries to export data from. Format: `projects/{project}/locations/{location}/tensorboards/{tensorboard}/experiments/{experiment}/runs/{run}/timeSeries/{time_series}`", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/tensorboards/[^/]+/experiments/[^/]+/runs/[^/]+/timeSeries/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+tensorboardTimeSeries}:exportTensorboardTimeSeries", +"request": { +"$ref": "GoogleCloudAiplatformV1ExportTensorboardTimeSeriesDataRequest" +}, +"response": { +"$ref": "GoogleCloudAiplatformV1ExportTensorboardTimeSeriesDataResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"get": { +"description": "Gets a TensorboardTimeSeries.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/tensorboards/{tensorboardsId}/experiments/{experimentsId}/runs/{runsId}/timeSeries/{timeSeriesId}", +"httpMethod": "GET", +"id": "aiplatform.projects.locations.tensorboards.experiments.runs.timeSeries.get", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. The name of the TensorboardTimeSeries resource. Format: `projects/{project}/locations/{location}/tensorboards/{tensorboard}/experiments/{experiment}/runs/{run}/timeSeries/{time_series}`", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/tensorboards/[^/]+/experiments/[^/]+/runs/[^/]+/timeSeries/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+name}", +"response": { +"$ref": "GoogleCloudAiplatformV1TensorboardTimeSeries" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/cloud-platform.read-only" +] +}, +"list": { +"description": "Lists TensorboardTimeSeries in a Location.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/tensorboards/{tensorboardsId}/experiments/{experimentsId}/runs/{runsId}/timeSeries", +"httpMethod": "GET", +"id": "aiplatform.projects.locations.tensorboards.experiments.runs.timeSeries.list", +"parameterOrder": [ +"parent" +], +"parameters": { +"filter": { +"description": "Lists the TensorboardTimeSeries that match the filter expression.", +"location": "query", +"type": "string" +}, +"orderBy": { +"description": "Field to use to sort the list.", +"location": "query", +"type": "string" +}, +"pageSize": { +"description": "The maximum number of TensorboardTimeSeries to return. The service may return fewer than this value. If unspecified, at most 50 TensorboardTimeSeries are returned. The maximum value is 1000; values above 1000 are coerced to 1000.", +"format": "int32", +"location": "query", +"type": "integer" +}, +"pageToken": { +"description": "A page token, received from a previous TensorboardService.ListTensorboardTimeSeries call. Provide this to retrieve the subsequent page. When paginating, all other parameters provided to TensorboardService.ListTensorboardTimeSeries must match the call that provided the page token.", +"location": "query", +"type": "string" +}, +"parent": { +"description": "Required. The resource name of the TensorboardRun to list TensorboardTimeSeries. Format: `projects/{project}/locations/{location}/tensorboards/{tensorboard}/experiments/{experiment}/runs/{run}`", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/tensorboards/[^/]+/experiments/[^/]+/runs/[^/]+$", +"required": true, +"type": "string" +}, +"readMask": { +"description": "Mask specifying which fields to read.", +"format": "google-fieldmask", +"location": "query", +"type": "string" +} +}, +"path": "v1/{+parent}/timeSeries", +"response": { +"$ref": "GoogleCloudAiplatformV1ListTensorboardTimeSeriesResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/cloud-platform.read-only" +] +}, +"patch": { +"description": "Updates a TensorboardTimeSeries.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/tensorboards/{tensorboardsId}/experiments/{experimentsId}/runs/{runsId}/timeSeries/{timeSeriesId}", +"httpMethod": "PATCH", +"id": "aiplatform.projects.locations.tensorboards.experiments.runs.timeSeries.patch", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Output only. Name of the TensorboardTimeSeries.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/tensorboards/[^/]+/experiments/[^/]+/runs/[^/]+/timeSeries/[^/]+$", +"required": true, +"type": "string" +}, +"updateMask": { +"description": "Required. Field mask is used to specify the fields to be overwritten in the TensorboardTimeSeries resource by the update. The fields specified in the update_mask are relative to the resource, not the full request. A field is overwritten if it's in the mask. If the user does not provide a mask then all fields are overwritten if new values are specified.", +"format": "google-fieldmask", +"location": "query", +"type": "string" +} +}, +"path": "v1/{+name}", +"request": { +"$ref": "GoogleCloudAiplatformV1TensorboardTimeSeries" +}, +"response": { +"$ref": "GoogleCloudAiplatformV1TensorboardTimeSeries" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"read": { +"description": "Reads a TensorboardTimeSeries' data. By default, if the number of data points stored is less than 1000, all data is returned. Otherwise, 1000 data points is randomly selected from this time series and returned. This value can be changed by changing max_data_points, which can't be greater than 10k.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/tensorboards/{tensorboardsId}/experiments/{experimentsId}/runs/{runsId}/timeSeries/{timeSeriesId}:read", +"httpMethod": "GET", +"id": "aiplatform.projects.locations.tensorboards.experiments.runs.timeSeries.read", +"parameterOrder": [ +"tensorboardTimeSeries" +], +"parameters": { +"filter": { +"description": "Reads the TensorboardTimeSeries' data that match the filter expression.", +"location": "query", +"type": "string" +}, +"maxDataPoints": { +"description": "The maximum number of TensorboardTimeSeries' data to return. This value should be a positive integer. This value can be set to -1 to return all data.", +"format": "int32", +"location": "query", +"type": "integer" +}, +"tensorboardTimeSeries": { +"description": "Required. The resource name of the TensorboardTimeSeries to read data from. Format: `projects/{project}/locations/{location}/tensorboards/{tensorboard}/experiments/{experiment}/runs/{run}/timeSeries/{time_series}`", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/tensorboards/[^/]+/experiments/[^/]+/runs/[^/]+/timeSeries/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+tensorboardTimeSeries}:read", +"response": { +"$ref": "GoogleCloudAiplatformV1ReadTensorboardTimeSeriesDataResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/cloud-platform.read-only" +] +}, +"readBlobData": { +"description": "Gets bytes of TensorboardBlobs. This is to allow reading blob data stored in consumer project's Cloud Storage bucket without users having to obtain Cloud Storage access permission.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/tensorboards/{tensorboardsId}/experiments/{experimentsId}/runs/{runsId}/timeSeries/{timeSeriesId}:readBlobData", +"httpMethod": "GET", +"id": "aiplatform.projects.locations.tensorboards.experiments.runs.timeSeries.readBlobData", +"parameterOrder": [ +"timeSeries" +], +"parameters": { +"blobIds": { +"description": "IDs of the blobs to read.", +"location": "query", +"repeated": true, +"type": "string" +}, +"timeSeries": { +"description": "Required. The resource name of the TensorboardTimeSeries to list Blobs. Format: `projects/{project}/locations/{location}/tensorboards/{tensorboard}/experiments/{experiment}/runs/{run}/timeSeries/{time_series}`", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/tensorboards/[^/]+/experiments/[^/]+/runs/[^/]+/timeSeries/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+timeSeries}:readBlobData", +"response": { +"$ref": "GoogleCloudAiplatformV1ReadTensorboardBlobDataResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/cloud-platform.read-only" +] +} +}, +"resources": { +"operations": { +"methods": { +"cancel": { +"description": "Starts asynchronous cancellation on a long-running operation. The server makes a best effort to cancel the operation, but success is not guaranteed. If the server doesn't support this method, it returns `google.rpc.Code.UNIMPLEMENTED`. Clients can use Operations.GetOperation or other methods to check whether the cancellation succeeded or whether the operation completed despite cancellation. On successful cancellation, the operation is not deleted; instead, it becomes an operation with an Operation.error value with a google.rpc.Status.code of `1`, corresponding to `Code.CANCELLED`.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/tensorboards/{tensorboardsId}/experiments/{experimentsId}/runs/{runsId}/timeSeries/{timeSeriesId}/operations/{operationsId}:cancel", +"httpMethod": "POST", +"id": "aiplatform.projects.locations.tensorboards.experiments.runs.timeSeries.operations.cancel", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "The name of the operation resource to be cancelled.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/tensorboards/[^/]+/experiments/[^/]+/runs/[^/]+/timeSeries/[^/]+/operations/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+name}:cancel", +"response": { +"$ref": "GoogleProtobufEmpty" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"delete": { +"description": "Deletes a long-running operation. This method indicates that the client is no longer interested in the operation result. It does not cancel the operation. If the server doesn't support this method, it returns `google.rpc.Code.UNIMPLEMENTED`.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/tensorboards/{tensorboardsId}/experiments/{experimentsId}/runs/{runsId}/timeSeries/{timeSeriesId}/operations/{operationsId}", +"httpMethod": "DELETE", +"id": "aiplatform.projects.locations.tensorboards.experiments.runs.timeSeries.operations.delete", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "The name of the operation resource to be deleted.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/tensorboards/[^/]+/experiments/[^/]+/runs/[^/]+/timeSeries/[^/]+/operations/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+name}", +"response": { +"$ref": "GoogleProtobufEmpty" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"get": { +"description": "Gets the latest state of a long-running operation. Clients can use this method to poll the operation result at intervals as recommended by the API service.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/tensorboards/{tensorboardsId}/experiments/{experimentsId}/runs/{runsId}/timeSeries/{timeSeriesId}/operations/{operationsId}", +"httpMethod": "GET", +"id": "aiplatform.projects.locations.tensorboards.experiments.runs.timeSeries.operations.get", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "The name of the operation resource.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/tensorboards/[^/]+/experiments/[^/]+/runs/[^/]+/timeSeries/[^/]+/operations/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+name}", +"response": { +"$ref": "GoogleLongrunningOperation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"list": { +"description": "Lists operations that match the specified filter in the request. If the server doesn't support this method, it returns `UNIMPLEMENTED`.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/tensorboards/{tensorboardsId}/experiments/{experimentsId}/runs/{runsId}/timeSeries/{timeSeriesId}/operations", +"httpMethod": "GET", +"id": "aiplatform.projects.locations.tensorboards.experiments.runs.timeSeries.operations.list", +"parameterOrder": [ +"name" +], +"parameters": { +"filter": { +"description": "The standard list filter.", +"location": "query", +"type": "string" +}, +"name": { +"description": "The name of the operation's parent resource.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/tensorboards/[^/]+/experiments/[^/]+/runs/[^/]+/timeSeries/[^/]+$", +"required": true, +"type": "string" +}, +"pageSize": { +"description": "The standard list page size.", +"format": "int32", +"location": "query", +"type": "integer" +}, +"pageToken": { +"description": "The standard list page token.", +"location": "query", +"type": "string" +} +}, +"path": "v1/{+name}/operations", +"response": { +"$ref": "GoogleLongrunningListOperationsResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"wait": { +"description": "Waits until the specified long-running operation is done or reaches at most a specified timeout, returning the latest state. If the operation is already done, the latest state is immediately returned. If the timeout specified is greater than the default HTTP/RPC timeout, the HTTP/RPC timeout is used. If the server does not support this method, it returns `google.rpc.Code.UNIMPLEMENTED`. Note that this method is on a best-effort basis. It may return the latest state before the specified timeout (including immediately), meaning even an immediate response is no guarantee that the operation is done.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/tensorboards/{tensorboardsId}/experiments/{experimentsId}/runs/{runsId}/timeSeries/{timeSeriesId}/operations/{operationsId}:wait", +"httpMethod": "POST", +"id": "aiplatform.projects.locations.tensorboards.experiments.runs.timeSeries.operations.wait", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "The name of the operation resource to wait on.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/tensorboards/[^/]+/experiments/[^/]+/runs/[^/]+/timeSeries/[^/]+/operations/[^/]+$", +"required": true, +"type": "string" +}, +"timeout": { +"description": "The maximum duration to wait before timing out. If left blank, the wait will be at most the time permitted by the underlying HTTP/RPC protocol. If RPC context deadline is also specified, the shorter one will be used.", +"format": "google-duration", +"location": "query", +"type": "string" +} +}, +"path": "v1/{+name}:wait", +"response": { +"$ref": "GoogleLongrunningOperation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +} +} +} +} +} +} +} +} +}, +"operations": { +"methods": { +"cancel": { +"description": "Starts asynchronous cancellation on a long-running operation. The server makes a best effort to cancel the operation, but success is not guaranteed. If the server doesn't support this method, it returns `google.rpc.Code.UNIMPLEMENTED`. Clients can use Operations.GetOperation or other methods to check whether the cancellation succeeded or whether the operation completed despite cancellation. On successful cancellation, the operation is not deleted; instead, it becomes an operation with an Operation.error value with a google.rpc.Status.code of `1`, corresponding to `Code.CANCELLED`.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/tensorboards/{tensorboardsId}/operations/{operationsId}:cancel", +"httpMethod": "POST", +"id": "aiplatform.projects.locations.tensorboards.operations.cancel", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "The name of the operation resource to be cancelled.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/tensorboards/[^/]+/operations/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+name}:cancel", +"response": { +"$ref": "GoogleProtobufEmpty" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"delete": { +"description": "Deletes a long-running operation. This method indicates that the client is no longer interested in the operation result. It does not cancel the operation. If the server doesn't support this method, it returns `google.rpc.Code.UNIMPLEMENTED`.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/tensorboards/{tensorboardsId}/operations/{operationsId}", +"httpMethod": "DELETE", +"id": "aiplatform.projects.locations.tensorboards.operations.delete", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "The name of the operation resource to be deleted.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/tensorboards/[^/]+/operations/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+name}", +"response": { +"$ref": "GoogleProtobufEmpty" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"get": { +"description": "Gets the latest state of a long-running operation. Clients can use this method to poll the operation result at intervals as recommended by the API service.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/tensorboards/{tensorboardsId}/operations/{operationsId}", +"httpMethod": "GET", +"id": "aiplatform.projects.locations.tensorboards.operations.get", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "The name of the operation resource.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/tensorboards/[^/]+/operations/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+name}", +"response": { +"$ref": "GoogleLongrunningOperation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"list": { +"description": "Lists operations that match the specified filter in the request. If the server doesn't support this method, it returns `UNIMPLEMENTED`.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/tensorboards/{tensorboardsId}/operations", +"httpMethod": "GET", +"id": "aiplatform.projects.locations.tensorboards.operations.list", +"parameterOrder": [ +"name" +], +"parameters": { +"filter": { +"description": "The standard list filter.", +"location": "query", +"type": "string" +}, +"name": { +"description": "The name of the operation's parent resource.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/tensorboards/[^/]+$", +"required": true, +"type": "string" +}, +"pageSize": { +"description": "The standard list page size.", +"format": "int32", +"location": "query", +"type": "integer" +}, +"pageToken": { +"description": "The standard list page token.", +"location": "query", +"type": "string" +} +}, +"path": "v1/{+name}/operations", +"response": { +"$ref": "GoogleLongrunningListOperationsResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"wait": { +"description": "Waits until the specified long-running operation is done or reaches at most a specified timeout, returning the latest state. If the operation is already done, the latest state is immediately returned. If the timeout specified is greater than the default HTTP/RPC timeout, the HTTP/RPC timeout is used. If the server does not support this method, it returns `google.rpc.Code.UNIMPLEMENTED`. Note that this method is on a best-effort basis. It may return the latest state before the specified timeout (including immediately), meaning even an immediate response is no guarantee that the operation is done.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/tensorboards/{tensorboardsId}/operations/{operationsId}:wait", +"httpMethod": "POST", +"id": "aiplatform.projects.locations.tensorboards.operations.wait", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "The name of the operation resource to wait on.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/tensorboards/[^/]+/operations/[^/]+$", +"required": true, +"type": "string" +}, +"timeout": { +"description": "The maximum duration to wait before timing out. If left blank, the wait will be at most the time permitted by the underlying HTTP/RPC protocol. If RPC context deadline is also specified, the shorter one will be used.", +"format": "google-duration", +"location": "query", +"type": "string" +} +}, +"path": "v1/{+name}:wait", +"response": { +"$ref": "GoogleLongrunningOperation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +} +} +} +} +}, +"trainingPipelines": { +"methods": { +"cancel": { +"description": "Cancels a TrainingPipeline. Starts asynchronous cancellation on the TrainingPipeline. The server makes a best effort to cancel the pipeline, but success is not guaranteed. Clients can use PipelineService.GetTrainingPipeline or other methods to check whether the cancellation succeeded or whether the pipeline completed despite cancellation. On successful cancellation, the TrainingPipeline is not deleted; instead it becomes a pipeline with a TrainingPipeline.error value with a google.rpc.Status.code of 1, corresponding to `Code.CANCELLED`, and TrainingPipeline.state is set to `CANCELLED`.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/trainingPipelines/{trainingPipelinesId}:cancel", +"httpMethod": "POST", +"id": "aiplatform.projects.locations.trainingPipelines.cancel", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. The name of the TrainingPipeline to cancel. Format: `projects/{project}/locations/{location}/trainingPipelines/{training_pipeline}`", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/trainingPipelines/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+name}:cancel", +"request": { +"$ref": "GoogleCloudAiplatformV1CancelTrainingPipelineRequest" +}, +"response": { +"$ref": "GoogleProtobufEmpty" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"create": { +"description": "Creates a TrainingPipeline. A created TrainingPipeline right away will be attempted to be run.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/trainingPipelines", +"httpMethod": "POST", +"id": "aiplatform.projects.locations.trainingPipelines.create", +"parameterOrder": [ +"parent" +], +"parameters": { +"parent": { +"description": "Required. The resource name of the Location to create the TrainingPipeline in. Format: `projects/{project}/locations/{location}`", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+parent}/trainingPipelines", +"request": { +"$ref": "GoogleCloudAiplatformV1TrainingPipeline" +}, +"response": { +"$ref": "GoogleCloudAiplatformV1TrainingPipeline" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"delete": { +"description": "Deletes a TrainingPipeline.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/trainingPipelines/{trainingPipelinesId}", +"httpMethod": "DELETE", +"id": "aiplatform.projects.locations.trainingPipelines.delete", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. The name of the TrainingPipeline resource to be deleted. Format: `projects/{project}/locations/{location}/trainingPipelines/{training_pipeline}`", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/trainingPipelines/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+name}", +"response": { +"$ref": "GoogleLongrunningOperation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"get": { +"description": "Gets a TrainingPipeline.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/trainingPipelines/{trainingPipelinesId}", +"httpMethod": "GET", +"id": "aiplatform.projects.locations.trainingPipelines.get", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. The name of the TrainingPipeline resource. Format: `projects/{project}/locations/{location}/trainingPipelines/{training_pipeline}`", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/trainingPipelines/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+name}", +"response": { +"$ref": "GoogleCloudAiplatformV1TrainingPipeline" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"list": { +"description": "Lists TrainingPipelines in a Location.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/trainingPipelines", +"httpMethod": "GET", +"id": "aiplatform.projects.locations.trainingPipelines.list", +"parameterOrder": [ +"parent" +], +"parameters": { +"filter": { +"description": "The standard list filter. Supported fields: * `display_name` supports `=`, `!=` comparisons, and `:` wildcard. * `state` supports `=`, `!=` comparisons. * `training_task_definition` `=`, `!=` comparisons, and `:` wildcard. * `create_time` supports `=`, `!=`,`<`, `<=`,`>`, `>=` comparisons. `create_time` must be in RFC 3339 format. * `labels` supports general map functions that is: `labels.key=value` - key:value equality `labels.key:* - key existence Some examples of using the filter are: * `state=\"PIPELINE_STATE_SUCCEEDED\" AND display_name:\"my_pipeline_*\"` * `state!=\"PIPELINE_STATE_FAILED\" OR display_name=\"my_pipeline\"` * `NOT display_name=\"my_pipeline\"` * `create_time>\"2021-05-18T00:00:00Z\"` * `training_task_definition:\"*automl_text_classification*\"`", +"location": "query", +"type": "string" +}, +"pageSize": { +"description": "The standard list page size.", +"format": "int32", +"location": "query", +"type": "integer" +}, +"pageToken": { +"description": "The standard list page token. Typically obtained via ListTrainingPipelinesResponse.next_page_token of the previous PipelineService.ListTrainingPipelines call.", +"location": "query", +"type": "string" +}, +"parent": { +"description": "Required. The resource name of the Location to list the TrainingPipelines from. Format: `projects/{project}/locations/{location}`", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+$", +"required": true, +"type": "string" +}, +"readMask": { +"description": "Mask specifying which fields to read.", +"format": "google-fieldmask", +"location": "query", +"type": "string" +} +}, +"path": "v1/{+parent}/trainingPipelines", +"response": { +"$ref": "GoogleCloudAiplatformV1ListTrainingPipelinesResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +} +}, +"resources": { +"operations": { +"methods": { +"cancel": { +"description": "Starts asynchronous cancellation on a long-running operation. The server makes a best effort to cancel the operation, but success is not guaranteed. If the server doesn't support this method, it returns `google.rpc.Code.UNIMPLEMENTED`. Clients can use Operations.GetOperation or other methods to check whether the cancellation succeeded or whether the operation completed despite cancellation. On successful cancellation, the operation is not deleted; instead, it becomes an operation with an Operation.error value with a google.rpc.Status.code of `1`, corresponding to `Code.CANCELLED`.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/trainingPipelines/{trainingPipelinesId}/operations/{operationsId}:cancel", +"httpMethod": "POST", +"id": "aiplatform.projects.locations.trainingPipelines.operations.cancel", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "The name of the operation resource to be cancelled.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/trainingPipelines/[^/]+/operations/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+name}:cancel", +"response": { +"$ref": "GoogleProtobufEmpty" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"delete": { +"description": "Deletes a long-running operation. This method indicates that the client is no longer interested in the operation result. It does not cancel the operation. If the server doesn't support this method, it returns `google.rpc.Code.UNIMPLEMENTED`.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/trainingPipelines/{trainingPipelinesId}/operations/{operationsId}", +"httpMethod": "DELETE", +"id": "aiplatform.projects.locations.trainingPipelines.operations.delete", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "The name of the operation resource to be deleted.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/trainingPipelines/[^/]+/operations/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+name}", +"response": { +"$ref": "GoogleProtobufEmpty" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"get": { +"description": "Gets the latest state of a long-running operation. Clients can use this method to poll the operation result at intervals as recommended by the API service.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/trainingPipelines/{trainingPipelinesId}/operations/{operationsId}", +"httpMethod": "GET", +"id": "aiplatform.projects.locations.trainingPipelines.operations.get", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "The name of the operation resource.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/trainingPipelines/[^/]+/operations/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+name}", +"response": { +"$ref": "GoogleLongrunningOperation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"list": { +"description": "Lists operations that match the specified filter in the request. If the server doesn't support this method, it returns `UNIMPLEMENTED`.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/trainingPipelines/{trainingPipelinesId}/operations", +"httpMethod": "GET", +"id": "aiplatform.projects.locations.trainingPipelines.operations.list", +"parameterOrder": [ +"name" +], +"parameters": { +"filter": { +"description": "The standard list filter.", +"location": "query", +"type": "string" +}, +"name": { +"description": "The name of the operation's parent resource.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/trainingPipelines/[^/]+$", +"required": true, +"type": "string" +}, +"pageSize": { +"description": "The standard list page size.", +"format": "int32", +"location": "query", +"type": "integer" +}, +"pageToken": { +"description": "The standard list page token.", +"location": "query", +"type": "string" +} +}, +"path": "v1/{+name}/operations", +"response": { +"$ref": "GoogleLongrunningListOperationsResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"wait": { +"description": "Waits until the specified long-running operation is done or reaches at most a specified timeout, returning the latest state. If the operation is already done, the latest state is immediately returned. If the timeout specified is greater than the default HTTP/RPC timeout, the HTTP/RPC timeout is used. If the server does not support this method, it returns `google.rpc.Code.UNIMPLEMENTED`. Note that this method is on a best-effort basis. It may return the latest state before the specified timeout (including immediately), meaning even an immediate response is no guarantee that the operation is done.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/trainingPipelines/{trainingPipelinesId}/operations/{operationsId}:wait", +"httpMethod": "POST", +"id": "aiplatform.projects.locations.trainingPipelines.operations.wait", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "The name of the operation resource to wait on.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/trainingPipelines/[^/]+/operations/[^/]+$", +"required": true, +"type": "string" +}, +"timeout": { +"description": "The maximum duration to wait before timing out. If left blank, the wait will be at most the time permitted by the underlying HTTP/RPC protocol. If RPC context deadline is also specified, the shorter one will be used.", +"format": "google-duration", +"location": "query", +"type": "string" +} +}, +"path": "v1/{+name}:wait", +"response": { +"$ref": "GoogleLongrunningOperation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +} +} +} +} +}, +"tuningJobs": { +"methods": { +"cancel": { +"description": "Cancels a TuningJob. Starts asynchronous cancellation on the TuningJob. The server makes a best effort to cancel the job, but success is not guaranteed. Clients can use GenAiTuningService.GetTuningJob or other methods to check whether the cancellation succeeded or whether the job completed despite cancellation. On successful cancellation, the TuningJob is not deleted; instead it becomes a job with a TuningJob.error value with a google.rpc.Status.code of 1, corresponding to `Code.CANCELLED`, and TuningJob.state is set to `CANCELLED`.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/tuningJobs/{tuningJobsId}:cancel", +"httpMethod": "POST", +"id": "aiplatform.projects.locations.tuningJobs.cancel", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. The name of the TuningJob to cancel. Format: `projects/{project}/locations/{location}/tuningJobs/{tuning_job}`", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/tuningJobs/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+name}:cancel", +"request": { +"$ref": "GoogleCloudAiplatformV1CancelTuningJobRequest" +}, +"response": { +"$ref": "GoogleProtobufEmpty" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"create": { +"description": "Creates a TuningJob. A created TuningJob right away will be attempted to be run.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/tuningJobs", +"httpMethod": "POST", +"id": "aiplatform.projects.locations.tuningJobs.create", +"parameterOrder": [ +"parent" +], +"parameters": { +"parent": { +"description": "Required. The resource name of the Location to create the TuningJob in. Format: `projects/{project}/locations/{location}`", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+parent}/tuningJobs", +"request": { +"$ref": "GoogleCloudAiplatformV1TuningJob" +}, +"response": { +"$ref": "GoogleCloudAiplatformV1TuningJob" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"get": { +"description": "Gets a TuningJob.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/tuningJobs/{tuningJobsId}", +"httpMethod": "GET", +"id": "aiplatform.projects.locations.tuningJobs.get", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. The name of the TuningJob resource. Format: `projects/{project}/locations/{location}/tuningJobs/{tuning_job}`", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/tuningJobs/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+name}", +"response": { +"$ref": "GoogleCloudAiplatformV1TuningJob" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"list": { +"description": "Lists TuningJobs in a Location.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/tuningJobs", +"httpMethod": "GET", +"id": "aiplatform.projects.locations.tuningJobs.list", +"parameterOrder": [ +"parent" +], +"parameters": { +"filter": { +"description": "Optional. The standard list filter.", +"location": "query", +"type": "string" +}, +"pageSize": { +"description": "Optional. The standard list page size.", +"format": "int32", +"location": "query", +"type": "integer" +}, +"pageToken": { +"description": "Optional. The standard list page token. Typically obtained via ListTuningJobsResponse.next_page_token of the previous GenAiTuningService.ListTuningJob][] call.", +"location": "query", +"type": "string" +}, +"parent": { +"description": "Required. The resource name of the Location to list the TuningJobs from. Format: `projects/{project}/locations/{location}`", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+parent}/tuningJobs", +"response": { +"$ref": "GoogleCloudAiplatformV1ListTuningJobsResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"rebaseTunedModel": { +"description": "Rebase a TunedModel.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/tuningJobs:rebaseTunedModel", +"httpMethod": "POST", +"id": "aiplatform.projects.locations.tuningJobs.rebaseTunedModel", +"parameterOrder": [ +"parent" +], +"parameters": { +"parent": { +"description": "Required. The resource name of the Location into which to rebase the Model. Format: `projects/{project}/locations/{location}`", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+parent}/tuningJobs:rebaseTunedModel", +"request": { +"$ref": "GoogleCloudAiplatformV1RebaseTunedModelRequest" +}, +"response": { +"$ref": "GoogleLongrunningOperation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +} +}, +"resources": { +"operations": { +"methods": { +"cancel": { +"description": "Starts asynchronous cancellation on a long-running operation. The server makes a best effort to cancel the operation, but success is not guaranteed. If the server doesn't support this method, it returns `google.rpc.Code.UNIMPLEMENTED`. Clients can use Operations.GetOperation or other methods to check whether the cancellation succeeded or whether the operation completed despite cancellation. On successful cancellation, the operation is not deleted; instead, it becomes an operation with an Operation.error value with a google.rpc.Status.code of `1`, corresponding to `Code.CANCELLED`.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/tuningJobs/{tuningJobsId}/operations/{operationsId}:cancel", +"httpMethod": "POST", +"id": "aiplatform.projects.locations.tuningJobs.operations.cancel", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "The name of the operation resource to be cancelled.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/tuningJobs/[^/]+/operations/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+name}:cancel", +"response": { +"$ref": "GoogleProtobufEmpty" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"delete": { +"description": "Deletes a long-running operation. This method indicates that the client is no longer interested in the operation result. It does not cancel the operation. If the server doesn't support this method, it returns `google.rpc.Code.UNIMPLEMENTED`.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/tuningJobs/{tuningJobsId}/operations/{operationsId}", +"httpMethod": "DELETE", +"id": "aiplatform.projects.locations.tuningJobs.operations.delete", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "The name of the operation resource to be deleted.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/tuningJobs/[^/]+/operations/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+name}", +"response": { +"$ref": "GoogleProtobufEmpty" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"get": { +"description": "Gets the latest state of a long-running operation. Clients can use this method to poll the operation result at intervals as recommended by the API service.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/tuningJobs/{tuningJobsId}/operations/{operationsId}", +"httpMethod": "GET", +"id": "aiplatform.projects.locations.tuningJobs.operations.get", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "The name of the operation resource.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/tuningJobs/[^/]+/operations/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+name}", +"response": { +"$ref": "GoogleLongrunningOperation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"list": { +"description": "Lists operations that match the specified filter in the request. If the server doesn't support this method, it returns `UNIMPLEMENTED`.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/tuningJobs/{tuningJobsId}/operations", +"httpMethod": "GET", +"id": "aiplatform.projects.locations.tuningJobs.operations.list", +"parameterOrder": [ +"name" +], +"parameters": { +"filter": { +"description": "The standard list filter.", +"location": "query", +"type": "string" +}, +"name": { +"description": "The name of the operation's parent resource.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/tuningJobs/[^/]+$", +"required": true, +"type": "string" +}, +"pageSize": { +"description": "The standard list page size.", +"format": "int32", +"location": "query", +"type": "integer" +}, +"pageToken": { +"description": "The standard list page token.", +"location": "query", +"type": "string" +} +}, +"path": "v1/{+name}/operations", +"response": { +"$ref": "GoogleLongrunningListOperationsResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +} +} +} +} +} +} +} +} +}, +"publishers": { +"resources": { +"models": { +"methods": { +"computeTokens": { +"description": "Return a list of tokens based on the input text.", +"flatPath": "v1/publishers/{publishersId}/models/{modelsId}:computeTokens", +"httpMethod": "POST", +"id": "aiplatform.publishers.models.computeTokens", +"parameterOrder": [ +"endpoint" +], +"parameters": { +"endpoint": { +"description": "Required. The name of the Endpoint requested to get lists of tokens and token ids.", +"location": "path", +"pattern": "^publishers/[^/]+/models/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+endpoint}:computeTokens", +"request": { +"$ref": "GoogleCloudAiplatformV1ComputeTokensRequest" +}, +"response": { +"$ref": "GoogleCloudAiplatformV1ComputeTokensResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"countTokens": { +"description": "Perform a token counting.", +"flatPath": "v1/publishers/{publishersId}/models/{modelsId}:countTokens", +"httpMethod": "POST", +"id": "aiplatform.publishers.models.countTokens", +"parameterOrder": [ +"endpoint" +], +"parameters": { +"endpoint": { +"description": "Required. The name of the Endpoint requested to perform token counting. Format: `projects/{project}/locations/{location}/endpoints/{endpoint}`", +"location": "path", +"pattern": "^publishers/[^/]+/models/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+endpoint}:countTokens", +"request": { +"$ref": "GoogleCloudAiplatformV1CountTokensRequest" +}, +"response": { +"$ref": "GoogleCloudAiplatformV1CountTokensResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"generateContent": { +"description": "Generate content with multimodal inputs.", +"flatPath": "v1/publishers/{publishersId}/models/{modelsId}:generateContent", +"httpMethod": "POST", +"id": "aiplatform.publishers.models.generateContent", +"parameterOrder": [ +"model" +], +"parameters": { +"model": { +"description": "Required. The fully qualified name of the publisher model or tuned model endpoint to use. Publisher model format: `projects/{project}/locations/{location}/publishers/*/models/*` Tuned model endpoint format: `projects/{project}/locations/{location}/endpoints/{endpoint}`", +"location": "path", +"pattern": "^publishers/[^/]+/models/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+model}:generateContent", +"request": { +"$ref": "GoogleCloudAiplatformV1GenerateContentRequest" +}, +"response": { +"$ref": "GoogleCloudAiplatformV1GenerateContentResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/cloud-platform.read-only" +] +}, +"get": { +"description": "Gets a Model Garden publisher model.", +"flatPath": "v1/publishers/{publishersId}/models/{modelsId}", +"httpMethod": "GET", +"id": "aiplatform.publishers.models.get", +"parameterOrder": [ +"name" +], +"parameters": { +"huggingFaceToken": { +"description": "Optional. Token used to access Hugging Face gated models.", +"location": "query", +"type": "string" +}, +"isHuggingFaceModel": { +"description": "Optional. Boolean indicates whether the requested model is a Hugging Face model.", +"location": "query", +"type": "boolean" +}, +"languageCode": { +"description": "Optional. The IETF BCP-47 language code representing the language in which the publisher model's text information should be written in.", +"location": "query", +"type": "string" +}, +"name": { +"description": "Required. The name of the PublisherModel resource. Format: `publishers/{publisher}/models/{publisher_model}`", +"location": "path", +"pattern": "^publishers/[^/]+/models/[^/]+$", +"required": true, +"type": "string" +}, +"view": { +"description": "Optional. PublisherModel view specifying which fields to read.", +"enum": [ +"PUBLISHER_MODEL_VIEW_UNSPECIFIED", +"PUBLISHER_MODEL_VIEW_BASIC", +"PUBLISHER_MODEL_VIEW_FULL", +"PUBLISHER_MODEL_VERSION_VIEW_BASIC" +], +"enumDescriptions": [ +"The default / unset value. The API will default to the BASIC view.", +"Include basic metadata about the publisher model, but not the full contents.", +"Include everything.", +"Include: VersionId, ModelVersionExternalName, and SupportedActions." +], +"location": "query", +"type": "string" +} +}, +"path": "v1/{+name}", +"response": { +"$ref": "GoogleCloudAiplatformV1PublisherModel" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"streamGenerateContent": { +"description": "Generate content with multimodal inputs with streaming support.", +"flatPath": "v1/publishers/{publishersId}/models/{modelsId}:streamGenerateContent", +"httpMethod": "POST", +"id": "aiplatform.publishers.models.streamGenerateContent", +"parameterOrder": [ +"model" +], +"parameters": { +"model": { +"description": "Required. The fully qualified name of the publisher model or tuned model endpoint to use. Publisher model format: `projects/{project}/locations/{location}/publishers/*/models/*` Tuned model endpoint format: `projects/{project}/locations/{location}/endpoints/{endpoint}`", +"location": "path", +"pattern": "^publishers/[^/]+/models/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+model}:streamGenerateContent", +"request": { +"$ref": "GoogleCloudAiplatformV1GenerateContentRequest" +}, +"response": { +"$ref": "GoogleCloudAiplatformV1GenerateContentResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/cloud-platform.read-only" +] +} +} +} +} +} +}, +"revision": "20241214", +"rootUrl": "https://aiplatform.googleapis.com/", +"schemas": { +"CloudAiLargeModelsVisionGenerateVideoResponse": { +"description": "Generate video response.", +"id": "CloudAiLargeModelsVisionGenerateVideoResponse", +"properties": { +"generatedSamples": { +"description": "The generates samples.", +"items": { +"$ref": "CloudAiLargeModelsVisionMedia" +}, +"type": "array" +}, +"raiMediaFilteredCount": { +"description": "Returns if any videos were filtered due to RAI policies.", +"format": "int32", +"type": "integer" +}, +"raiMediaFilteredReasons": { +"description": "Returns rai failure reasons if any.", +"items": { +"type": "string" +}, +"type": "array" +} +}, +"type": "object" +}, +"CloudAiLargeModelsVisionImage": { +"description": "Image.", +"id": "CloudAiLargeModelsVisionImage", +"properties": { +"encoding": { +"description": "Image encoding, encoded as \"image/png\" or \"image/jpg\".", +"type": "string" +}, +"generationSeed": { +"description": "Generation seed for the sampled image. This parameter is exposed to the user only if one of the following is true: 1. The user specified per-example seeds in the request. 2. The user doesn't specify the generation seed in the request.", +"format": "int32", +"type": "integer" +}, +"image": { +"description": "Raw bytes.", +"format": "byte", +"type": "string" +}, +"imageRaiScores": { +"$ref": "CloudAiLargeModelsVisionImageRAIScores", +"description": "RAI scores for generated image." +}, +"imageSize": { +"$ref": "CloudAiLargeModelsVisionImageImageSize", +"description": "Image size. The size of the image. Can be self reported, or computed from the image bytes." +}, +"raiInfo": { +"$ref": "CloudAiLargeModelsVisionRaiInfo", +"description": "RAI info for image." +}, +"semanticFilterResponse": { +"$ref": "CloudAiLargeModelsVisionSemanticFilterResponse", +"description": "Semantic filter info for image." +}, +"text": { +"description": "Text/Expanded text input for imagen.", +"type": "string" +}, +"uri": { +"description": "Path to another storage (typically Google Cloud Storage).", +"type": "string" +} +}, +"type": "object" +}, +"CloudAiLargeModelsVisionImageImageSize": { +"description": "Image size.", +"id": "CloudAiLargeModelsVisionImageImageSize", +"properties": { +"channels": { +"format": "int32", +"type": "integer" +}, +"height": { +"format": "int32", +"type": "integer" +}, +"width": { +"format": "int32", +"type": "integer" +} +}, +"type": "object" +}, +"CloudAiLargeModelsVisionImageRAIScores": { +"description": "RAI scores for generated image returned.", +"id": "CloudAiLargeModelsVisionImageRAIScores", +"properties": { +"agileWatermarkDetectionScore": { +"description": "Agile watermark score for image.", +"format": "double", +"type": "number" +} +}, +"type": "object" +}, +"CloudAiLargeModelsVisionMedia": { +"description": "Media.", +"id": "CloudAiLargeModelsVisionMedia", +"properties": { +"image": { +"$ref": "CloudAiLargeModelsVisionImage", +"description": "Image." +}, +"video": { +"$ref": "CloudAiLargeModelsVisionVideo", +"description": "Video" +} +}, +"type": "object" +}, +"CloudAiLargeModelsVisionNamedBoundingBox": { +"id": "CloudAiLargeModelsVisionNamedBoundingBox", +"properties": { +"classes": { +"items": { +"type": "string" +}, +"type": "array" +}, +"entities": { +"items": { +"type": "string" +}, +"type": "array" +}, +"scores": { +"items": { +"format": "float", +"type": "number" +}, +"type": "array" +}, +"x1": { +"format": "float", +"type": "number" +}, +"x2": { +"format": "float", +"type": "number" +}, +"y1": { +"format": "float", +"type": "number" +}, +"y2": { +"format": "float", +"type": "number" +} +}, +"type": "object" +}, +"CloudAiLargeModelsVisionRaiInfo": { +"description": "Next ID: 6", +"id": "CloudAiLargeModelsVisionRaiInfo", +"properties": { +"blockedEntities": { +"description": "List of blocked entities from the blocklist if it is detected.", +"items": { +"type": "string" +}, +"type": "array" +}, +"detectedLabels": { +"description": "The list of detected labels for different rai categories.", +"items": { +"$ref": "CloudAiLargeModelsVisionRaiInfoDetectedLabels" +}, +"type": "array" +}, +"modelName": { +"description": "The model name used to indexing into the RaiFilterConfig map. Would either be one of imagegeneration@002-006, imagen-3.0-... api endpoint names, or internal names used for mapping to different filter configs (genselfie, ai_watermark) than its api endpoint.", +"type": "string" +}, +"raiCategories": { +"description": "List of rai categories' information to return", +"items": { +"type": "string" +}, +"type": "array" +}, +"scores": { +"description": "List of rai scores mapping to the rai categories. Rounded to 1 decimal place.", +"items": { +"format": "float", +"type": "number" +}, +"type": "array" +} +}, +"type": "object" +}, +"CloudAiLargeModelsVisionRaiInfoDetectedLabels": { +"description": "Filters returning list of deteceted labels, scores, and bounding boxes.", +"id": "CloudAiLargeModelsVisionRaiInfoDetectedLabels", +"properties": { +"entities": { +"description": "The list of detected entities for the rai signal.", +"items": { +"$ref": "CloudAiLargeModelsVisionRaiInfoDetectedLabelsEntity" +}, +"type": "array" +}, +"raiCategory": { +"description": "The RAI category for the deteceted labels.", +"type": "string" +} +}, +"type": "object" +}, +"CloudAiLargeModelsVisionRaiInfoDetectedLabelsBoundingBox": { +"description": "An integer bounding box of original pixels of the image for the detected labels.", +"id": "CloudAiLargeModelsVisionRaiInfoDetectedLabelsBoundingBox", +"properties": { +"x1": { +"description": "The X coordinate of the top-left corner, in pixels.", +"format": "int32", +"type": "integer" +}, +"x2": { +"description": "The X coordinate of the bottom-right corner, in pixels.", +"format": "int32", +"type": "integer" +}, +"y1": { +"description": "The Y coordinate of the top-left corner, in pixels.", +"format": "int32", +"type": "integer" +}, +"y2": { +"description": "The Y coordinate of the bottom-right corner, in pixels.", +"format": "int32", +"type": "integer" +} +}, +"type": "object" +}, +"CloudAiLargeModelsVisionRaiInfoDetectedLabelsEntity": { +"description": "The properties for a detected entity from the rai signal.", +"id": "CloudAiLargeModelsVisionRaiInfoDetectedLabelsEntity", +"properties": { +"boundingBox": { +"$ref": "CloudAiLargeModelsVisionRaiInfoDetectedLabelsBoundingBox", +"description": "Bounding box of the label" +}, +"description": { +"description": "Description of the label", +"type": "string" +}, +"iouScore": { +"description": "The intersection ratio between the detection bounding box and the mask.", +"format": "float", +"type": "number" +}, +"mid": { +"description": "MID of the label", +"type": "string" +}, +"score": { +"description": "Confidence score of the label", +"format": "float", +"type": "number" +} +}, +"type": "object" +}, +"CloudAiLargeModelsVisionSemanticFilterResponse": { +"id": "CloudAiLargeModelsVisionSemanticFilterResponse", +"properties": { +"namedBoundingBoxes": { +"description": "Class labels of the bounding boxes that failed the semantic filtering. Bounding box coordinates.", +"items": { +"$ref": "CloudAiLargeModelsVisionNamedBoundingBox" +}, +"type": "array" +}, +"passedSemanticFilter": { +"description": "This response is added when semantic filter config is turned on in EditConfig. It reports if this image is passed semantic filter response. If passed_semantic_filter is false, the bounding box information will be populated for user to check what caused the semantic filter to fail.", +"type": "boolean" +} +}, +"type": "object" +}, +"CloudAiLargeModelsVisionVideo": { +"description": "Video", +"id": "CloudAiLargeModelsVisionVideo", +"properties": { +"encodedVideo": { +"description": "Base 64 encoded video bytes.", +"type": "string" +}, +"encoding": { +"description": "Video encoding, for example \"video/mp4\".", +"type": "string" +}, +"uri": { +"description": "Path to another storage (typically Google Cloud Storage).", +"type": "string" +}, +"video": { +"description": "Raw bytes.", +"format": "byte", +"type": "string" +} +}, +"type": "object" +}, +"CloudAiPlatformCommonCreatePipelineJobApiErrorDetail": { +"description": "Create API error message for Vertex Pipeline. Next Id: 3.", +"id": "CloudAiPlatformCommonCreatePipelineJobApiErrorDetail", +"properties": { +"errorCause": { +"description": "The error root cause returned by CreatePipelineJob API.", +"enum": [ +"ERROR_CAUSE_UNSPECIFIED", +"INVALID_PIPELINE_SPEC_FORMAT", +"INVALID_PIPELINE_SPEC", +"INVALID_DEPLOYMENT_CONFIG", +"INVALID_DEPLOYMENT_SPEC", +"INVALID_INSTANCE_SCHEMA", +"INVALID_CUSTOM_JOB", +"INVALID_CONTAINER_SPEC", +"INVALID_NOTIFICATION_EMAIL_SETUP", +"INVALID_SERVICE_ACCOUNT_SETUP", +"INVALID_KMS_SETUP", +"INVALID_NETWORK_SETUP", +"INVALID_PIPELINE_TASK_SPEC", +"INVALID_PIPELINE_TASK_ARTIFACT", +"INVALID_IMPORTER_SPEC", +"INVALID_RESOLVER_SPEC", +"INVALID_RUNTIME_PARAMETERS", +"CLOUD_API_NOT_ENABLED", +"INVALID_GCS_INPUT_URI", +"INVALID_GCS_OUTPUT_URI", +"INVALID_COMPONENT_SPEC", +"INVALID_DAG_OUTPUTS_SPEC", +"INVALID_DAG_SPEC", +"INSUFFICIENT_QUOTA", +"INTERNAL" +], +"enumDescriptions": [ +"Should never be used.", +"IR Pipeline Spec can not been parsed to yaml or json format.", +"A pipeline spec is invalid.", +"A deployment config is invalid.", +"A deployment spec is invalid.", +"An instance schema is invalid.", +"A custom job is invalid.", +"A container spec is invalid.", +"Notification email setup is invalid.", +"Service account setup is invalid.", +"KMS setup is invalid.", +"Network setup is invalid.", +"Task spec is invalid.", +"Task artifact is invalid.", +"Importer spec is invalid.", +"Resolver spec is invalid.", +"Runtime Parameters are invalid.", +"Cloud API not enabled.", +"Invalid GCS input uri", +"Invalid GCS output uri", +"Component spec of pipeline is invalid.", +"DagOutputsSpec is invalid.", +"DagSpec is invalid.", +"Project does not have enough quota.", +"An internal error with unknown cause." +], +"type": "string" +}, +"publicMessage": { +"description": "Public messages contains actionable items for the error cause.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleApiHttpBody": { +"description": "Message that represents an arbitrary HTTP body. It should only be used for payload formats that can't be represented as JSON, such as raw binary or an HTML page. This message can be used both in streaming and non-streaming API methods in the request as well as the response. It can be used as a top-level request field, which is convenient if one wants to extract parameters from either the URL or HTTP template into the request fields and also want access to the raw HTTP body. Example: message GetResourceRequest { // A unique request id. string request_id = 1; // The raw HTTP body is bound to this field. google.api.HttpBody http_body = 2; } service ResourceService { rpc GetResource(GetResourceRequest) returns (google.api.HttpBody); rpc UpdateResource(google.api.HttpBody) returns (google.protobuf.Empty); } Example with streaming methods: service CaldavService { rpc GetCalendar(stream google.api.HttpBody) returns (stream google.api.HttpBody); rpc UpdateCalendar(stream google.api.HttpBody) returns (stream google.api.HttpBody); } Use of this type only changes how the request and response bodies are handled, all other features will continue to work unchanged.", +"id": "GoogleApiHttpBody", +"properties": { +"contentType": { +"description": "The HTTP Content-Type header value specifying the content type of the body.", +"type": "string" +}, +"data": { +"description": "The HTTP request/response body as raw binary.", +"format": "byte", +"type": "string" +}, +"extensions": { +"description": "Application specific response metadata. Must be set in the first response for streaming APIs.", +"items": { +"additionalProperties": { +"description": "Properties of the object. Contains field @type with type URL.", +"type": "any" +}, +"type": "object" +}, +"type": "array" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1ActiveLearningConfig": { +"description": "Parameters that configure the active learning pipeline. Active learning will label the data incrementally by several iterations. For every iteration, it will select a batch of data based on the sampling strategy.", +"id": "GoogleCloudAiplatformV1ActiveLearningConfig", +"properties": { +"maxDataItemCount": { +"description": "Max number of human labeled DataItems.", +"format": "int64", +"type": "string" +}, +"maxDataItemPercentage": { +"description": "Max percent of total DataItems for human labeling.", +"format": "int32", +"type": "integer" +}, +"sampleConfig": { +"$ref": "GoogleCloudAiplatformV1SampleConfig", +"description": "Active learning data sampling config. For every active learning labeling iteration, it will select a batch of data based on the sampling strategy." +}, +"trainingConfig": { +"$ref": "GoogleCloudAiplatformV1TrainingConfig", +"description": "CMLE training config. For every active learning labeling iteration, system will train a machine learning model on CMLE. The trained model will be used by data sampling algorithm to select DataItems." +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1AddContextArtifactsAndExecutionsRequest": { +"description": "Request message for MetadataService.AddContextArtifactsAndExecutions.", +"id": "GoogleCloudAiplatformV1AddContextArtifactsAndExecutionsRequest", +"properties": { +"artifacts": { +"description": "The resource names of the Artifacts to attribute to the Context. Format: `projects/{project}/locations/{location}/metadataStores/{metadatastore}/artifacts/{artifact}`", +"items": { +"type": "string" +}, +"type": "array" +}, +"executions": { +"description": "The resource names of the Executions to associate with the Context. Format: `projects/{project}/locations/{location}/metadataStores/{metadatastore}/executions/{execution}`", +"items": { +"type": "string" +}, +"type": "array" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1AddContextArtifactsAndExecutionsResponse": { +"description": "Response message for MetadataService.AddContextArtifactsAndExecutions.", +"id": "GoogleCloudAiplatformV1AddContextArtifactsAndExecutionsResponse", +"properties": {}, +"type": "object" +}, +"GoogleCloudAiplatformV1AddContextChildrenRequest": { +"description": "Request message for MetadataService.AddContextChildren.", +"id": "GoogleCloudAiplatformV1AddContextChildrenRequest", +"properties": { +"childContexts": { +"description": "The resource names of the child Contexts.", +"items": { +"type": "string" +}, +"type": "array" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1AddContextChildrenResponse": { +"description": "Response message for MetadataService.AddContextChildren.", +"id": "GoogleCloudAiplatformV1AddContextChildrenResponse", +"properties": {}, +"type": "object" +}, +"GoogleCloudAiplatformV1AddExecutionEventsRequest": { +"description": "Request message for MetadataService.AddExecutionEvents.", +"id": "GoogleCloudAiplatformV1AddExecutionEventsRequest", +"properties": { +"events": { +"description": "The Events to create and add.", +"items": { +"$ref": "GoogleCloudAiplatformV1Event" +}, +"type": "array" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1AddExecutionEventsResponse": { +"description": "Response message for MetadataService.AddExecutionEvents.", +"id": "GoogleCloudAiplatformV1AddExecutionEventsResponse", +"properties": {}, +"type": "object" +}, +"GoogleCloudAiplatformV1AddTrialMeasurementRequest": { +"description": "Request message for VizierService.AddTrialMeasurement.", +"id": "GoogleCloudAiplatformV1AddTrialMeasurementRequest", +"properties": { +"measurement": { +"$ref": "GoogleCloudAiplatformV1Measurement", +"description": "Required. The measurement to be added to a Trial." +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1Annotation": { +"description": "Used to assign specific AnnotationSpec to a particular area of a DataItem or the whole part of the DataItem.", +"id": "GoogleCloudAiplatformV1Annotation", +"properties": { +"annotationSource": { +"$ref": "GoogleCloudAiplatformV1UserActionReference", +"description": "Output only. The source of the Annotation.", +"readOnly": true +}, +"createTime": { +"description": "Output only. Timestamp when this Annotation was created.", +"format": "google-datetime", +"readOnly": true, +"type": "string" +}, +"etag": { +"description": "Optional. Used to perform consistent read-modify-write updates. If not set, a blind \"overwrite\" update happens.", +"type": "string" +}, +"labels": { +"additionalProperties": { +"type": "string" +}, +"description": "Optional. The labels with user-defined metadata to organize your Annotations. Label keys and values can be no longer than 64 characters (Unicode codepoints), can only contain lowercase letters, numeric characters, underscores and dashes. International characters are allowed. No more than 64 user labels can be associated with one Annotation(System labels are excluded). See https://goo.gl/xmQnxf for more information and examples of labels. System reserved label keys are prefixed with \"aiplatform.googleapis.com/\" and are immutable. Following system labels exist for each Annotation: * \"aiplatform.googleapis.com/annotation_set_name\": optional, name of the UI's annotation set this Annotation belongs to. If not set, the Annotation is not visible in the UI. * \"aiplatform.googleapis.com/payload_schema\": output only, its value is the payload_schema's title.", +"type": "object" +}, +"name": { +"description": "Output only. Resource name of the Annotation.", +"readOnly": true, +"type": "string" +}, +"payload": { +"description": "Required. The schema of the payload can be found in payload_schema.", +"type": "any" +}, +"payloadSchemaUri": { +"description": "Required. Google Cloud Storage URI points to a YAML file describing payload. The schema is defined as an [OpenAPI 3.0.2 Schema Object](https://github.com/OAI/OpenAPI-Specification/blob/main/versions/3.0.2.md#schemaObject). The schema files that can be used here are found in gs://google-cloud-aiplatform/schema/dataset/annotation/, note that the chosen schema must be consistent with the parent Dataset's metadata.", +"type": "string" +}, +"updateTime": { +"description": "Output only. Timestamp when this Annotation was last updated.", +"format": "google-datetime", +"readOnly": true, +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1AnnotationSpec": { +"description": "Identifies a concept with which DataItems may be annotated with.", +"id": "GoogleCloudAiplatformV1AnnotationSpec", +"properties": { +"createTime": { +"description": "Output only. Timestamp when this AnnotationSpec was created.", +"format": "google-datetime", +"readOnly": true, +"type": "string" +}, +"displayName": { +"description": "Required. The user-defined name of the AnnotationSpec. The name can be up to 128 characters long and can consist of any UTF-8 characters.", +"type": "string" +}, +"etag": { +"description": "Optional. Used to perform consistent read-modify-write updates. If not set, a blind \"overwrite\" update happens.", +"type": "string" +}, +"name": { +"description": "Output only. Resource name of the AnnotationSpec.", +"readOnly": true, +"type": "string" +}, +"updateTime": { +"description": "Output only. Timestamp when AnnotationSpec was last updated.", +"format": "google-datetime", +"readOnly": true, +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1ApiAuth": { +"description": "The generic reusable api auth config.", +"id": "GoogleCloudAiplatformV1ApiAuth", +"properties": { +"apiKeyConfig": { +"$ref": "GoogleCloudAiplatformV1ApiAuthApiKeyConfig", +"description": "The API secret." +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1ApiAuthApiKeyConfig": { +"description": "The API secret.", +"id": "GoogleCloudAiplatformV1ApiAuthApiKeyConfig", +"properties": { +"apiKeySecretVersion": { +"description": "Required. The SecretManager secret version resource name storing API key. e.g. projects/{project}/secrets/{secret}/versions/{version}", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1Artifact": { +"description": "Instance of a general artifact.", +"id": "GoogleCloudAiplatformV1Artifact", +"properties": { +"createTime": { +"description": "Output only. Timestamp when this Artifact was created.", +"format": "google-datetime", +"readOnly": true, +"type": "string" +}, +"description": { +"description": "Description of the Artifact", +"type": "string" +}, +"displayName": { +"description": "User provided display name of the Artifact. May be up to 128 Unicode characters.", +"type": "string" +}, +"etag": { +"description": "An eTag used to perform consistent read-modify-write updates. If not set, a blind \"overwrite\" update happens.", +"type": "string" +}, +"labels": { +"additionalProperties": { +"type": "string" +}, +"description": "The labels with user-defined metadata to organize your Artifacts. Label keys and values can be no longer than 64 characters (Unicode codepoints), can only contain lowercase letters, numeric characters, underscores and dashes. International characters are allowed. No more than 64 user labels can be associated with one Artifact (System labels are excluded).", +"type": "object" +}, +"metadata": { +"additionalProperties": { +"description": "Properties of the object.", +"type": "any" +}, +"description": "Properties of the Artifact. Top level metadata keys' heading and trailing spaces will be trimmed. The size of this field should not exceed 200KB.", +"type": "object" +}, +"name": { +"description": "Output only. The resource name of the Artifact.", +"readOnly": true, +"type": "string" +}, +"schemaTitle": { +"description": "The title of the schema describing the metadata. Schema title and version is expected to be registered in earlier Create Schema calls. And both are used together as unique identifiers to identify schemas within the local metadata store.", +"type": "string" +}, +"schemaVersion": { +"description": "The version of the schema in schema_name to use. Schema title and version is expected to be registered in earlier Create Schema calls. And both are used together as unique identifiers to identify schemas within the local metadata store.", +"type": "string" +}, +"state": { +"description": "The state of this Artifact. This is a property of the Artifact, and does not imply or capture any ongoing process. This property is managed by clients (such as Vertex AI Pipelines), and the system does not prescribe or check the validity of state transitions.", +"enum": [ +"STATE_UNSPECIFIED", +"PENDING", +"LIVE" +], +"enumDescriptions": [ +"Unspecified state for the Artifact.", +"A state used by systems like Vertex AI Pipelines to indicate that the underlying data item represented by this Artifact is being created.", +"A state indicating that the Artifact should exist, unless something external to the system deletes it." +], +"type": "string" +}, +"updateTime": { +"description": "Output only. Timestamp when this Artifact was last updated.", +"format": "google-datetime", +"readOnly": true, +"type": "string" +}, +"uri": { +"description": "The uniform resource identifier of the artifact file. May be empty if there is no actual artifact file.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1AssignNotebookRuntimeOperationMetadata": { +"description": "Metadata information for NotebookService.AssignNotebookRuntime.", +"id": "GoogleCloudAiplatformV1AssignNotebookRuntimeOperationMetadata", +"properties": { +"genericMetadata": { +"$ref": "GoogleCloudAiplatformV1GenericOperationMetadata", +"description": "The operation generic information." +}, +"progressMessage": { +"description": "A human-readable message that shows the intermediate progress details of NotebookRuntime.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1AssignNotebookRuntimeRequest": { +"description": "Request message for NotebookService.AssignNotebookRuntime.", +"id": "GoogleCloudAiplatformV1AssignNotebookRuntimeRequest", +"properties": { +"notebookRuntime": { +"$ref": "GoogleCloudAiplatformV1NotebookRuntime", +"description": "Required. Provide runtime specific information (e.g. runtime owner, notebook id) used for NotebookRuntime assignment." +}, +"notebookRuntimeId": { +"description": "Optional. User specified ID for the notebook runtime.", +"type": "string" +}, +"notebookRuntimeTemplate": { +"description": "Required. The resource name of the NotebookRuntimeTemplate based on which a NotebookRuntime will be assigned (reuse or create a new one).", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1Attribution": { +"description": "Attribution that explains a particular prediction output.", +"id": "GoogleCloudAiplatformV1Attribution", +"properties": { +"approximationError": { +"description": "Output only. Error of feature_attributions caused by approximation used in the explanation method. Lower value means more precise attributions. * For Sampled Shapley attribution, increasing path_count might reduce the error. * For Integrated Gradients attribution, increasing step_count might reduce the error. * For XRAI attribution, increasing step_count might reduce the error. See [this introduction](/vertex-ai/docs/explainable-ai/overview) for more information.", +"format": "double", +"readOnly": true, +"type": "number" +}, +"baselineOutputValue": { +"description": "Output only. Model predicted output if the input instance is constructed from the baselines of all the features defined in ExplanationMetadata.inputs. The field name of the output is determined by the key in ExplanationMetadata.outputs. If the Model's predicted output has multiple dimensions (rank > 1), this is the value in the output located by output_index. If there are multiple baselines, their output values are averaged.", +"format": "double", +"readOnly": true, +"type": "number" +}, +"featureAttributions": { +"description": "Output only. Attributions of each explained feature. Features are extracted from the prediction instances according to explanation metadata for inputs. The value is a struct, whose keys are the name of the feature. The values are how much the feature in the instance contributed to the predicted result. The format of the value is determined by the feature's input format: * If the feature is a scalar value, the attribution value is a floating number. * If the feature is an array of scalar values, the attribution value is an array. * If the feature is a struct, the attribution value is a struct. The keys in the attribution value struct are the same as the keys in the feature struct. The formats of the values in the attribution struct are determined by the formats of the values in the feature struct. The ExplanationMetadata.feature_attributions_schema_uri field, pointed to by the ExplanationSpec field of the Endpoint.deployed_models object, points to the schema file that describes the features and their attribution values (if it is populated).", +"readOnly": true, +"type": "any" +}, +"instanceOutputValue": { +"description": "Output only. Model predicted output on the corresponding explanation instance. The field name of the output is determined by the key in ExplanationMetadata.outputs. If the Model predicted output has multiple dimensions, this is the value in the output located by output_index.", +"format": "double", +"readOnly": true, +"type": "number" +}, +"outputDisplayName": { +"description": "Output only. The display name of the output identified by output_index. For example, the predicted class name by a multi-classification Model. This field is only populated iff the Model predicts display names as a separate field along with the explained output. The predicted display name must has the same shape of the explained output, and can be located using output_index.", +"readOnly": true, +"type": "string" +}, +"outputIndex": { +"description": "Output only. The index that locates the explained prediction output. If the prediction output is a scalar value, output_index is not populated. If the prediction output has multiple dimensions, the length of the output_index list is the same as the number of dimensions of the output. The i-th element in output_index is the element index of the i-th dimension of the output vector. Indices start from 0.", +"items": { +"format": "int32", +"type": "integer" +}, +"readOnly": true, +"type": "array" +}, +"outputName": { +"description": "Output only. Name of the explain output. Specified as the key in ExplanationMetadata.outputs.", +"readOnly": true, +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1AugmentPromptRequest": { +"description": "Request message for AugmentPrompt.", +"id": "GoogleCloudAiplatformV1AugmentPromptRequest", +"properties": { +"contents": { +"description": "Optional. Input content to augment, only text format is supported for now.", +"items": { +"$ref": "GoogleCloudAiplatformV1Content" +}, +"type": "array" +}, +"model": { +"$ref": "GoogleCloudAiplatformV1AugmentPromptRequestModel", +"description": "Optional. Metadata of the backend deployed model." +}, +"vertexRagStore": { +"$ref": "GoogleCloudAiplatformV1VertexRagStore", +"description": "Optional. Retrieves contexts from the Vertex RagStore." +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1AugmentPromptRequestModel": { +"description": "Metadata of the backend deployed model.", +"id": "GoogleCloudAiplatformV1AugmentPromptRequestModel", +"properties": { +"model": { +"description": "Optional. The model that the user will send the augmented prompt for content generation.", +"type": "string" +}, +"modelVersion": { +"description": "Optional. The model version of the backend deployed model.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1AugmentPromptResponse": { +"description": "Response message for AugmentPrompt.", +"id": "GoogleCloudAiplatformV1AugmentPromptResponse", +"properties": { +"augmentedPrompt": { +"description": "Augmented prompt, only text format is supported for now.", +"items": { +"$ref": "GoogleCloudAiplatformV1Content" +}, +"type": "array" +}, +"facts": { +"description": "Retrieved facts from RAG data sources.", +"items": { +"$ref": "GoogleCloudAiplatformV1Fact" +}, +"type": "array" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1AutomaticResources": { +"description": "A description of resources that to large degree are decided by Vertex AI, and require only a modest additional configuration. Each Model supporting these resources documents its specific guidelines.", +"id": "GoogleCloudAiplatformV1AutomaticResources", +"properties": { +"maxReplicaCount": { +"description": "Immutable. The maximum number of replicas this DeployedModel may be deployed on when the traffic against it increases. If the requested value is too large, the deployment will error, but if deployment succeeds then the ability to scale the model to that many replicas is guaranteed (barring service outages). If traffic against the DeployedModel increases beyond what its replicas at maximum may handle, a portion of the traffic will be dropped. If this value is not provided, a no upper bound for scaling under heavy traffic will be assume, though Vertex AI may be unable to scale beyond certain replica number.", +"format": "int32", +"type": "integer" +}, +"minReplicaCount": { +"description": "Immutable. The minimum number of replicas this DeployedModel will be always deployed on. If traffic against it increases, it may dynamically be deployed onto more replicas up to max_replica_count, and as traffic decreases, some of these extra replicas may be freed. If the requested value is too large, the deployment will error.", +"format": "int32", +"type": "integer" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1AutoscalingMetricSpec": { +"description": "The metric specification that defines the target resource utilization (CPU utilization, accelerator's duty cycle, and so on) for calculating the desired replica count.", +"id": "GoogleCloudAiplatformV1AutoscalingMetricSpec", +"properties": { +"metricName": { +"description": "Required. The resource metric name. Supported metrics: * For Online Prediction: * `aiplatform.googleapis.com/prediction/online/accelerator/duty_cycle` * `aiplatform.googleapis.com/prediction/online/cpu/utilization`", +"type": "string" +}, +"target": { +"description": "The target resource utilization in percentage (1% - 100%) for the given metric; once the real usage deviates from the target by a certain percentage, the machine replicas change. The default value is 60 (representing 60%) if not provided.", +"format": "int32", +"type": "integer" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1AvroSource": { +"description": "The storage details for Avro input content.", +"id": "GoogleCloudAiplatformV1AvroSource", +"properties": { +"gcsSource": { +"$ref": "GoogleCloudAiplatformV1GcsSource", +"description": "Required. Google Cloud Storage location." +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1BatchCancelPipelineJobsRequest": { +"description": "Request message for PipelineService.BatchCancelPipelineJobs.", +"id": "GoogleCloudAiplatformV1BatchCancelPipelineJobsRequest", +"properties": { +"names": { +"description": "Required. The names of the PipelineJobs to cancel. A maximum of 32 PipelineJobs can be cancelled in a batch. Format: `projects/{project}/locations/{location}/pipelineJobs/{pipelineJob}`", +"items": { +"type": "string" +}, +"type": "array" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1BatchCreateFeaturesOperationMetadata": { +"description": "Details of operations that perform batch create Features.", +"id": "GoogleCloudAiplatformV1BatchCreateFeaturesOperationMetadata", +"properties": { +"genericMetadata": { +"$ref": "GoogleCloudAiplatformV1GenericOperationMetadata", +"description": "Operation metadata for Feature." +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1BatchCreateFeaturesRequest": { +"description": "Request message for FeaturestoreService.BatchCreateFeatures. Request message for FeatureRegistryService.BatchCreateFeatures.", +"id": "GoogleCloudAiplatformV1BatchCreateFeaturesRequest", +"properties": { +"requests": { +"description": "Required. The request message specifying the Features to create. All Features must be created under the same parent EntityType / FeatureGroup. The `parent` field in each child request message can be omitted. If `parent` is set in a child request, then the value must match the `parent` value in this request message.", +"items": { +"$ref": "GoogleCloudAiplatformV1CreateFeatureRequest" +}, +"type": "array" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1BatchCreateFeaturesResponse": { +"description": "Response message for FeaturestoreService.BatchCreateFeatures.", +"id": "GoogleCloudAiplatformV1BatchCreateFeaturesResponse", +"properties": { +"features": { +"description": "The Features created.", +"items": { +"$ref": "GoogleCloudAiplatformV1Feature" +}, +"type": "array" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1BatchCreateTensorboardRunsRequest": { +"description": "Request message for TensorboardService.BatchCreateTensorboardRuns.", +"id": "GoogleCloudAiplatformV1BatchCreateTensorboardRunsRequest", +"properties": { +"requests": { +"description": "Required. The request message specifying the TensorboardRuns to create. A maximum of 1000 TensorboardRuns can be created in a batch.", +"items": { +"$ref": "GoogleCloudAiplatformV1CreateTensorboardRunRequest" +}, +"type": "array" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1BatchCreateTensorboardRunsResponse": { +"description": "Response message for TensorboardService.BatchCreateTensorboardRuns.", +"id": "GoogleCloudAiplatformV1BatchCreateTensorboardRunsResponse", +"properties": { +"tensorboardRuns": { +"description": "The created TensorboardRuns.", +"items": { +"$ref": "GoogleCloudAiplatformV1TensorboardRun" +}, +"type": "array" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1BatchCreateTensorboardTimeSeriesRequest": { +"description": "Request message for TensorboardService.BatchCreateTensorboardTimeSeries.", +"id": "GoogleCloudAiplatformV1BatchCreateTensorboardTimeSeriesRequest", +"properties": { +"requests": { +"description": "Required. The request message specifying the TensorboardTimeSeries to create. A maximum of 1000 TensorboardTimeSeries can be created in a batch.", +"items": { +"$ref": "GoogleCloudAiplatformV1CreateTensorboardTimeSeriesRequest" +}, +"type": "array" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1BatchCreateTensorboardTimeSeriesResponse": { +"description": "Response message for TensorboardService.BatchCreateTensorboardTimeSeries.", +"id": "GoogleCloudAiplatformV1BatchCreateTensorboardTimeSeriesResponse", +"properties": { +"tensorboardTimeSeries": { +"description": "The created TensorboardTimeSeries.", +"items": { +"$ref": "GoogleCloudAiplatformV1TensorboardTimeSeries" +}, +"type": "array" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1BatchDedicatedResources": { +"description": "A description of resources that are used for performing batch operations, are dedicated to a Model, and need manual configuration.", +"id": "GoogleCloudAiplatformV1BatchDedicatedResources", +"properties": { +"machineSpec": { +"$ref": "GoogleCloudAiplatformV1MachineSpec", +"description": "Required. Immutable. The specification of a single machine." +}, +"maxReplicaCount": { +"description": "Immutable. The maximum number of machine replicas the batch operation may be scaled to. The default value is 10.", +"format": "int32", +"type": "integer" +}, +"startingReplicaCount": { +"description": "Immutable. The number of machine replicas used at the start of the batch operation. If not set, Vertex AI decides starting number, not greater than max_replica_count", +"format": "int32", +"type": "integer" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1BatchDeletePipelineJobsRequest": { +"description": "Request message for PipelineService.BatchDeletePipelineJobs.", +"id": "GoogleCloudAiplatformV1BatchDeletePipelineJobsRequest", +"properties": { +"names": { +"description": "Required. The names of the PipelineJobs to delete. A maximum of 32 PipelineJobs can be deleted in a batch. Format: `projects/{project}/locations/{location}/pipelineJobs/{pipelineJob}`", +"items": { +"type": "string" +}, +"type": "array" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1BatchImportEvaluatedAnnotationsRequest": { +"description": "Request message for ModelService.BatchImportEvaluatedAnnotations", +"id": "GoogleCloudAiplatformV1BatchImportEvaluatedAnnotationsRequest", +"properties": { +"evaluatedAnnotations": { +"description": "Required. Evaluated annotations resource to be imported.", +"items": { +"$ref": "GoogleCloudAiplatformV1EvaluatedAnnotation" +}, +"type": "array" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1BatchImportEvaluatedAnnotationsResponse": { +"description": "Response message for ModelService.BatchImportEvaluatedAnnotations", +"id": "GoogleCloudAiplatformV1BatchImportEvaluatedAnnotationsResponse", +"properties": { +"importedEvaluatedAnnotationsCount": { +"description": "Output only. Number of EvaluatedAnnotations imported.", +"format": "int32", +"readOnly": true, +"type": "integer" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1BatchImportModelEvaluationSlicesRequest": { +"description": "Request message for ModelService.BatchImportModelEvaluationSlices", +"id": "GoogleCloudAiplatformV1BatchImportModelEvaluationSlicesRequest", +"properties": { +"modelEvaluationSlices": { +"description": "Required. Model evaluation slice resource to be imported.", +"items": { +"$ref": "GoogleCloudAiplatformV1ModelEvaluationSlice" +}, +"type": "array" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1BatchImportModelEvaluationSlicesResponse": { +"description": "Response message for ModelService.BatchImportModelEvaluationSlices", +"id": "GoogleCloudAiplatformV1BatchImportModelEvaluationSlicesResponse", +"properties": { +"importedModelEvaluationSlices": { +"description": "Output only. List of imported ModelEvaluationSlice.name.", +"items": { +"type": "string" +}, +"readOnly": true, +"type": "array" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1BatchMigrateResourcesOperationMetadata": { +"description": "Runtime operation information for MigrationService.BatchMigrateResources.", +"id": "GoogleCloudAiplatformV1BatchMigrateResourcesOperationMetadata", +"properties": { +"genericMetadata": { +"$ref": "GoogleCloudAiplatformV1GenericOperationMetadata", +"description": "The common part of the operation metadata." +}, +"partialResults": { +"description": "Partial results that reflect the latest migration operation progress.", +"items": { +"$ref": "GoogleCloudAiplatformV1BatchMigrateResourcesOperationMetadataPartialResult" +}, +"type": "array" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1BatchMigrateResourcesOperationMetadataPartialResult": { +"description": "Represents a partial result in batch migration operation for one MigrateResourceRequest.", +"id": "GoogleCloudAiplatformV1BatchMigrateResourcesOperationMetadataPartialResult", +"properties": { +"dataset": { +"description": "Migrated dataset resource name.", +"type": "string" +}, +"error": { +"$ref": "GoogleRpcStatus", +"description": "The error result of the migration request in case of failure." +}, +"model": { +"description": "Migrated model resource name.", +"type": "string" +}, +"request": { +"$ref": "GoogleCloudAiplatformV1MigrateResourceRequest", +"description": "It's the same as the value in BatchMigrateResourcesRequest.migrate_resource_requests." +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1BatchMigrateResourcesRequest": { +"description": "Request message for MigrationService.BatchMigrateResources.", +"id": "GoogleCloudAiplatformV1BatchMigrateResourcesRequest", +"properties": { +"migrateResourceRequests": { +"description": "Required. The request messages specifying the resources to migrate. They must be in the same location as the destination. Up to 50 resources can be migrated in one batch.", +"items": { +"$ref": "GoogleCloudAiplatformV1MigrateResourceRequest" +}, +"type": "array" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1BatchMigrateResourcesResponse": { +"description": "Response message for MigrationService.BatchMigrateResources.", +"id": "GoogleCloudAiplatformV1BatchMigrateResourcesResponse", +"properties": { +"migrateResourceResponses": { +"description": "Successfully migrated resources.", +"items": { +"$ref": "GoogleCloudAiplatformV1MigrateResourceResponse" +}, +"type": "array" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1BatchPredictionJob": { +"description": "A job that uses a Model to produce predictions on multiple input instances. If predictions for significant portion of the instances fail, the job may finish without attempting predictions for all remaining instances.", +"id": "GoogleCloudAiplatformV1BatchPredictionJob", +"properties": { +"completionStats": { +"$ref": "GoogleCloudAiplatformV1CompletionStats", +"description": "Output only. Statistics on completed and failed prediction instances.", +"readOnly": true +}, +"createTime": { +"description": "Output only. Time when the BatchPredictionJob was created.", +"format": "google-datetime", +"readOnly": true, +"type": "string" +}, +"dedicatedResources": { +"$ref": "GoogleCloudAiplatformV1BatchDedicatedResources", +"description": "The config of resources used by the Model during the batch prediction. If the Model supports DEDICATED_RESOURCES this config may be provided (and the job will use these resources), if the Model doesn't support AUTOMATIC_RESOURCES, this config must be provided." +}, +"disableContainerLogging": { +"description": "For custom-trained Models and AutoML Tabular Models, the container of the DeployedModel instances will send `stderr` and `stdout` streams to Cloud Logging by default. Please note that the logs incur cost, which are subject to [Cloud Logging pricing](https://cloud.google.com/logging/pricing). User can disable container logging by setting this flag to true.", +"type": "boolean" +}, +"displayName": { +"description": "Required. The user-defined name of this BatchPredictionJob.", +"type": "string" +}, +"encryptionSpec": { +"$ref": "GoogleCloudAiplatformV1EncryptionSpec", +"description": "Customer-managed encryption key options for a BatchPredictionJob. If this is set, then all resources created by the BatchPredictionJob will be encrypted with the provided encryption key." +}, +"endTime": { +"description": "Output only. Time when the BatchPredictionJob entered any of the following states: `JOB_STATE_SUCCEEDED`, `JOB_STATE_FAILED`, `JOB_STATE_CANCELLED`.", +"format": "google-datetime", +"readOnly": true, +"type": "string" +}, +"error": { +"$ref": "GoogleRpcStatus", +"description": "Output only. Only populated when the job's state is JOB_STATE_FAILED or JOB_STATE_CANCELLED.", +"readOnly": true +}, +"explanationSpec": { +"$ref": "GoogleCloudAiplatformV1ExplanationSpec", +"description": "Explanation configuration for this BatchPredictionJob. Can be specified only if generate_explanation is set to `true`. This value overrides the value of Model.explanation_spec. All fields of explanation_spec are optional in the request. If a field of the explanation_spec object is not populated, the corresponding field of the Model.explanation_spec object is inherited." +}, +"generateExplanation": { +"description": "Generate explanation with the batch prediction results. When set to `true`, the batch prediction output changes based on the `predictions_format` field of the BatchPredictionJob.output_config object: * `bigquery`: output includes a column named `explanation`. The value is a struct that conforms to the Explanation object. * `jsonl`: The JSON objects on each line include an additional entry keyed `explanation`. The value of the entry is a JSON object that conforms to the Explanation object. * `csv`: Generating explanations for CSV format is not supported. If this field is set to true, either the Model.explanation_spec or explanation_spec must be populated.", +"type": "boolean" +}, +"inputConfig": { +"$ref": "GoogleCloudAiplatformV1BatchPredictionJobInputConfig", +"description": "Required. Input configuration of the instances on which predictions are performed. The schema of any single instance may be specified via the Model's PredictSchemata's instance_schema_uri." +}, +"instanceConfig": { +"$ref": "GoogleCloudAiplatformV1BatchPredictionJobInstanceConfig", +"description": "Configuration for how to convert batch prediction input instances to the prediction instances that are sent to the Model." +}, +"labels": { +"additionalProperties": { +"type": "string" +}, +"description": "The labels with user-defined metadata to organize BatchPredictionJobs. Label keys and values can be no longer than 64 characters (Unicode codepoints), can only contain lowercase letters, numeric characters, underscores and dashes. International characters are allowed. See https://goo.gl/xmQnxf for more information and examples of labels.", +"type": "object" +}, +"manualBatchTuningParameters": { +"$ref": "GoogleCloudAiplatformV1ManualBatchTuningParameters", +"description": "Immutable. Parameters configuring the batch behavior. Currently only applicable when dedicated_resources are used (in other cases Vertex AI does the tuning itself)." +}, +"model": { +"description": "The name of the Model resource that produces the predictions via this job, must share the same ancestor Location. Starting this job has no impact on any existing deployments of the Model and their resources. Exactly one of model and unmanaged_container_model must be set. The model resource name may contain version id or version alias to specify the version. Example: `projects/{project}/locations/{location}/models/{model}@2` or `projects/{project}/locations/{location}/models/{model}@golden` if no version is specified, the default version will be deployed. The model resource could also be a publisher model. Example: `publishers/{publisher}/models/{model}` or `projects/{project}/locations/{location}/publishers/{publisher}/models/{model}`", +"type": "string" +}, +"modelParameters": { +"description": "The parameters that govern the predictions. The schema of the parameters may be specified via the Model's PredictSchemata's parameters_schema_uri.", +"type": "any" +}, +"modelVersionId": { +"description": "Output only. The version ID of the Model that produces the predictions via this job.", +"readOnly": true, +"type": "string" +}, +"name": { +"description": "Output only. Resource name of the BatchPredictionJob.", +"readOnly": true, +"type": "string" +}, +"outputConfig": { +"$ref": "GoogleCloudAiplatformV1BatchPredictionJobOutputConfig", +"description": "Required. The Configuration specifying where output predictions should be written. The schema of any single prediction may be specified as a concatenation of Model's PredictSchemata's instance_schema_uri and prediction_schema_uri." +}, +"outputInfo": { +"$ref": "GoogleCloudAiplatformV1BatchPredictionJobOutputInfo", +"description": "Output only. Information further describing the output of this job.", +"readOnly": true +}, +"partialFailures": { +"description": "Output only. Partial failures encountered. For example, single files that can't be read. This field never exceeds 20 entries. Status details fields contain standard Google Cloud error details.", +"items": { +"$ref": "GoogleRpcStatus" +}, +"readOnly": true, +"type": "array" +}, +"resourcesConsumed": { +"$ref": "GoogleCloudAiplatformV1ResourcesConsumed", +"description": "Output only. Information about resources that had been consumed by this job. Provided in real time at best effort basis, as well as a final value once the job completes. Note: This field currently may be not populated for batch predictions that use AutoML Models.", +"readOnly": true +}, +"satisfiesPzi": { +"description": "Output only. Reserved for future use.", +"readOnly": true, +"type": "boolean" +}, +"satisfiesPzs": { +"description": "Output only. Reserved for future use.", +"readOnly": true, +"type": "boolean" +}, +"serviceAccount": { +"description": "The service account that the DeployedModel's container runs as. If not specified, a system generated one will be used, which has minimal permissions and the custom container, if used, may not have enough permission to access other Google Cloud resources. Users deploying the Model must have the `iam.serviceAccounts.actAs` permission on this service account.", +"type": "string" +}, +"startTime": { +"description": "Output only. Time when the BatchPredictionJob for the first time entered the `JOB_STATE_RUNNING` state.", +"format": "google-datetime", +"readOnly": true, +"type": "string" +}, +"state": { +"description": "Output only. The detailed state of the job.", +"enum": [ +"JOB_STATE_UNSPECIFIED", +"JOB_STATE_QUEUED", +"JOB_STATE_PENDING", +"JOB_STATE_RUNNING", +"JOB_STATE_SUCCEEDED", +"JOB_STATE_FAILED", +"JOB_STATE_CANCELLING", +"JOB_STATE_CANCELLED", +"JOB_STATE_PAUSED", +"JOB_STATE_EXPIRED", +"JOB_STATE_UPDATING", +"JOB_STATE_PARTIALLY_SUCCEEDED" +], +"enumDescriptions": [ +"The job state is unspecified.", +"The job has been just created or resumed and processing has not yet begun.", +"The service is preparing to run the job.", +"The job is in progress.", +"The job completed successfully.", +"The job failed.", +"The job is being cancelled. From this state the job may only go to either `JOB_STATE_SUCCEEDED`, `JOB_STATE_FAILED` or `JOB_STATE_CANCELLED`.", +"The job has been cancelled.", +"The job has been stopped, and can be resumed.", +"The job has expired.", +"The job is being updated. Only jobs in the `RUNNING` state can be updated. After updating, the job goes back to the `RUNNING` state.", +"The job is partially succeeded, some results may be missing due to errors." +], +"readOnly": true, +"type": "string" +}, +"unmanagedContainerModel": { +"$ref": "GoogleCloudAiplatformV1UnmanagedContainerModel", +"description": "Contains model information necessary to perform batch prediction without requiring uploading to model registry. Exactly one of model and unmanaged_container_model must be set." +}, +"updateTime": { +"description": "Output only. Time when the BatchPredictionJob was most recently updated.", +"format": "google-datetime", +"readOnly": true, +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1BatchPredictionJobInputConfig": { +"description": "Configures the input to BatchPredictionJob. See Model.supported_input_storage_formats for Model's supported input formats, and how instances should be expressed via any of them.", +"id": "GoogleCloudAiplatformV1BatchPredictionJobInputConfig", +"properties": { +"bigquerySource": { +"$ref": "GoogleCloudAiplatformV1BigQuerySource", +"description": "The BigQuery location of the input table. The schema of the table should be in the format described by the given context OpenAPI Schema, if one is provided. The table may contain additional columns that are not described by the schema, and they will be ignored." +}, +"gcsSource": { +"$ref": "GoogleCloudAiplatformV1GcsSource", +"description": "The Cloud Storage location for the input instances." +}, +"instancesFormat": { +"description": "Required. The format in which instances are given, must be one of the Model's supported_input_storage_formats.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1BatchPredictionJobInstanceConfig": { +"description": "Configuration defining how to transform batch prediction input instances to the instances that the Model accepts.", +"id": "GoogleCloudAiplatformV1BatchPredictionJobInstanceConfig", +"properties": { +"excludedFields": { +"description": "Fields that will be excluded in the prediction instance that is sent to the Model. Excluded will be attached to the batch prediction output if key_field is not specified. When excluded_fields is populated, included_fields must be empty. The input must be JSONL with objects at each line, BigQuery or TfRecord.", +"items": { +"type": "string" +}, +"type": "array" +}, +"includedFields": { +"description": "Fields that will be included in the prediction instance that is sent to the Model. If instance_type is `array`, the order of field names in included_fields also determines the order of the values in the array. When included_fields is populated, excluded_fields must be empty. The input must be JSONL with objects at each line, BigQuery or TfRecord.", +"items": { +"type": "string" +}, +"type": "array" +}, +"instanceType": { +"description": "The format of the instance that the Model accepts. Vertex AI will convert compatible batch prediction input instance formats to the specified format. Supported values are: * `object`: Each input is converted to JSON object format. * For `bigquery`, each row is converted to an object. * For `jsonl`, each line of the JSONL input must be an object. * Does not apply to `csv`, `file-list`, `tf-record`, or `tf-record-gzip`. * `array`: Each input is converted to JSON array format. * For `bigquery`, each row is converted to an array. The order of columns is determined by the BigQuery column order, unless included_fields is populated. included_fields must be populated for specifying field orders. * For `jsonl`, if each line of the JSONL input is an object, included_fields must be populated for specifying field orders. * Does not apply to `csv`, `file-list`, `tf-record`, or `tf-record-gzip`. If not specified, Vertex AI converts the batch prediction input as follows: * For `bigquery` and `csv`, the behavior is the same as `array`. The order of columns is the same as defined in the file or table, unless included_fields is populated. * For `jsonl`, the prediction instance format is determined by each line of the input. * For `tf-record`/`tf-record-gzip`, each record will be converted to an object in the format of `{\"b64\": }`, where `` is the Base64-encoded string of the content of the record. * For `file-list`, each file in the list will be converted to an object in the format of `{\"b64\": }`, where `` is the Base64-encoded string of the content of the file.", +"type": "string" +}, +"keyField": { +"description": "The name of the field that is considered as a key. The values identified by the key field is not included in the transformed instances that is sent to the Model. This is similar to specifying this name of the field in excluded_fields. In addition, the batch prediction output will not include the instances. Instead the output will only include the value of the key field, in a field named `key` in the output: * For `jsonl` output format, the output will have a `key` field instead of the `instance` field. * For `csv`/`bigquery` output format, the output will have have a `key` column instead of the instance feature columns. The input must be JSONL with objects at each line, CSV, BigQuery or TfRecord.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1BatchPredictionJobOutputConfig": { +"description": "Configures the output of BatchPredictionJob. See Model.supported_output_storage_formats for supported output formats, and how predictions are expressed via any of them.", +"id": "GoogleCloudAiplatformV1BatchPredictionJobOutputConfig", +"properties": { +"bigqueryDestination": { +"$ref": "GoogleCloudAiplatformV1BigQueryDestination", +"description": "The BigQuery project or dataset location where the output is to be written to. If project is provided, a new dataset is created with name `prediction__` where is made BigQuery-dataset-name compatible (for example, most special characters become underscores), and timestamp is in YYYY_MM_DDThh_mm_ss_sssZ \"based on ISO-8601\" format. In the dataset two tables will be created, `predictions`, and `errors`. If the Model has both instance and prediction schemata defined then the tables have columns as follows: The `predictions` table contains instances for which the prediction succeeded, it has columns as per a concatenation of the Model's instance and prediction schemata. The `errors` table contains rows for which the prediction has failed, it has instance columns, as per the instance schema, followed by a single \"errors\" column, which as values has google.rpc.Status represented as a STRUCT, and containing only `code` and `message`." +}, +"gcsDestination": { +"$ref": "GoogleCloudAiplatformV1GcsDestination", +"description": "The Cloud Storage location of the directory where the output is to be written to. In the given directory a new directory is created. Its name is `prediction--`, where timestamp is in YYYY-MM-DDThh:mm:ss.sssZ ISO-8601 format. Inside of it files `predictions_0001.`, `predictions_0002.`, ..., `predictions_N.` are created where `` depends on chosen predictions_format, and N may equal 0001 and depends on the total number of successfully predicted instances. If the Model has both instance and prediction schemata defined then each such file contains predictions as per the predictions_format. If prediction for any instance failed (partially or completely), then an additional `errors_0001.`, `errors_0002.`,..., `errors_N.` files are created (N depends on total number of failed predictions). These files contain the failed instances, as per their schema, followed by an additional `error` field which as value has google.rpc.Status containing only `code` and `message` fields." +}, +"predictionsFormat": { +"description": "Required. The format in which Vertex AI gives the predictions, must be one of the Model's supported_output_storage_formats.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1BatchPredictionJobOutputInfo": { +"description": "Further describes this job's output. Supplements output_config.", +"id": "GoogleCloudAiplatformV1BatchPredictionJobOutputInfo", +"properties": { +"bigqueryOutputDataset": { +"description": "Output only. The path of the BigQuery dataset created, in `bq://projectId.bqDatasetId` format, into which the prediction output is written.", +"readOnly": true, +"type": "string" +}, +"bigqueryOutputTable": { +"description": "Output only. The name of the BigQuery table created, in `predictions_` format, into which the prediction output is written. Can be used by UI to generate the BigQuery output path, for example.", +"readOnly": true, +"type": "string" +}, +"gcsOutputDirectory": { +"description": "Output only. The full path of the Cloud Storage directory created, into which the prediction output is written.", +"readOnly": true, +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1BatchReadFeatureValuesOperationMetadata": { +"description": "Details of operations that batch reads Feature values.", +"id": "GoogleCloudAiplatformV1BatchReadFeatureValuesOperationMetadata", +"properties": { +"genericMetadata": { +"$ref": "GoogleCloudAiplatformV1GenericOperationMetadata", +"description": "Operation metadata for Featurestore batch read Features values." +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1BatchReadFeatureValuesRequest": { +"description": "Request message for FeaturestoreService.BatchReadFeatureValues.", +"id": "GoogleCloudAiplatformV1BatchReadFeatureValuesRequest", +"properties": { +"bigqueryReadInstances": { +"$ref": "GoogleCloudAiplatformV1BigQuerySource", +"description": "Similar to csv_read_instances, but from BigQuery source." +}, +"csvReadInstances": { +"$ref": "GoogleCloudAiplatformV1CsvSource", +"description": "Each read instance consists of exactly one read timestamp and one or more entity IDs identifying entities of the corresponding EntityTypes whose Features are requested. Each output instance contains Feature values of requested entities concatenated together as of the read time. An example read instance may be `foo_entity_id, bar_entity_id, 2020-01-01T10:00:00.123Z`. An example output instance may be `foo_entity_id, bar_entity_id, 2020-01-01T10:00:00.123Z, foo_entity_feature1_value, bar_entity_feature2_value`. Timestamp in each read instance must be millisecond-aligned. `csv_read_instances` are read instances stored in a plain-text CSV file. The header should be: [ENTITY_TYPE_ID1], [ENTITY_TYPE_ID2], ..., timestamp The columns can be in any order. Values in the timestamp column must use the RFC 3339 format, e.g. `2012-07-30T10:43:17.123Z`." +}, +"destination": { +"$ref": "GoogleCloudAiplatformV1FeatureValueDestination", +"description": "Required. Specifies output location and format." +}, +"entityTypeSpecs": { +"description": "Required. Specifies EntityType grouping Features to read values of and settings.", +"items": { +"$ref": "GoogleCloudAiplatformV1BatchReadFeatureValuesRequestEntityTypeSpec" +}, +"type": "array" +}, +"passThroughFields": { +"description": "When not empty, the specified fields in the *_read_instances source will be joined as-is in the output, in addition to those fields from the Featurestore Entity. For BigQuery source, the type of the pass-through values will be automatically inferred. For CSV source, the pass-through values will be passed as opaque bytes.", +"items": { +"$ref": "GoogleCloudAiplatformV1BatchReadFeatureValuesRequestPassThroughField" +}, +"type": "array" +}, +"startTime": { +"description": "Optional. Excludes Feature values with feature generation timestamp before this timestamp. If not set, retrieve oldest values kept in Feature Store. Timestamp, if present, must not have higher than millisecond precision.", +"format": "google-datetime", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1BatchReadFeatureValuesRequestEntityTypeSpec": { +"description": "Selects Features of an EntityType to read values of and specifies read settings.", +"id": "GoogleCloudAiplatformV1BatchReadFeatureValuesRequestEntityTypeSpec", +"properties": { +"entityTypeId": { +"description": "Required. ID of the EntityType to select Features. The EntityType id is the entity_type_id specified during EntityType creation.", +"type": "string" +}, +"featureSelector": { +"$ref": "GoogleCloudAiplatformV1FeatureSelector", +"description": "Required. Selectors choosing which Feature values to read from the EntityType." +}, +"settings": { +"description": "Per-Feature settings for the batch read.", +"items": { +"$ref": "GoogleCloudAiplatformV1DestinationFeatureSetting" +}, +"type": "array" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1BatchReadFeatureValuesRequestPassThroughField": { +"description": "Describe pass-through fields in read_instance source.", +"id": "GoogleCloudAiplatformV1BatchReadFeatureValuesRequestPassThroughField", +"properties": { +"fieldName": { +"description": "Required. The name of the field in the CSV header or the name of the column in BigQuery table. The naming restriction is the same as Feature.name.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1BatchReadFeatureValuesResponse": { +"description": "Response message for FeaturestoreService.BatchReadFeatureValues.", +"id": "GoogleCloudAiplatformV1BatchReadFeatureValuesResponse", +"properties": {}, +"type": "object" +}, +"GoogleCloudAiplatformV1BatchReadTensorboardTimeSeriesDataResponse": { +"description": "Response message for TensorboardService.BatchReadTensorboardTimeSeriesData.", +"id": "GoogleCloudAiplatformV1BatchReadTensorboardTimeSeriesDataResponse", +"properties": { +"timeSeriesData": { +"description": "The returned time series data.", +"items": { +"$ref": "GoogleCloudAiplatformV1TimeSeriesData" +}, +"type": "array" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1BigQueryDestination": { +"description": "The BigQuery location for the output content.", +"id": "GoogleCloudAiplatformV1BigQueryDestination", +"properties": { +"outputUri": { +"description": "Required. BigQuery URI to a project or table, up to 2000 characters long. When only the project is specified, the Dataset and Table is created. When the full table reference is specified, the Dataset must exist and table must not exist. Accepted forms: * BigQuery path. For example: `bq://projectId` or `bq://projectId.bqDatasetId` or `bq://projectId.bqDatasetId.bqTableId`.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1BigQuerySource": { +"description": "The BigQuery location for the input content.", +"id": "GoogleCloudAiplatformV1BigQuerySource", +"properties": { +"inputUri": { +"description": "Required. BigQuery URI to a table, up to 2000 characters long. Accepted forms: * BigQuery path. For example: `bq://projectId.bqDatasetId.bqTableId`.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1BleuInput": { +"description": "Input for bleu metric.", +"id": "GoogleCloudAiplatformV1BleuInput", +"properties": { +"instances": { +"description": "Required. Repeated bleu instances.", +"items": { +"$ref": "GoogleCloudAiplatformV1BleuInstance" +}, +"type": "array" +}, +"metricSpec": { +"$ref": "GoogleCloudAiplatformV1BleuSpec", +"description": "Required. Spec for bleu score metric." +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1BleuInstance": { +"description": "Spec for bleu instance.", +"id": "GoogleCloudAiplatformV1BleuInstance", +"properties": { +"prediction": { +"description": "Required. Output of the evaluated model.", +"type": "string" +}, +"reference": { +"description": "Required. Ground truth used to compare against the prediction.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1BleuMetricValue": { +"description": "Bleu metric value for an instance.", +"id": "GoogleCloudAiplatformV1BleuMetricValue", +"properties": { +"score": { +"description": "Output only. Bleu score.", +"format": "float", +"readOnly": true, +"type": "number" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1BleuResults": { +"description": "Results for bleu metric.", +"id": "GoogleCloudAiplatformV1BleuResults", +"properties": { +"bleuMetricValues": { +"description": "Output only. Bleu metric values.", +"items": { +"$ref": "GoogleCloudAiplatformV1BleuMetricValue" +}, +"readOnly": true, +"type": "array" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1BleuSpec": { +"description": "Spec for bleu score metric - calculates the precision of n-grams in the prediction as compared to reference - returns a score ranging between 0 to 1.", +"id": "GoogleCloudAiplatformV1BleuSpec", +"properties": { +"useEffectiveOrder": { +"description": "Optional. Whether to use_effective_order to compute bleu score.", +"type": "boolean" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1Blob": { +"description": "Content blob.", +"id": "GoogleCloudAiplatformV1Blob", +"properties": { +"data": { +"description": "Required. Raw bytes.", +"format": "byte", +"type": "string" +}, +"mimeType": { +"description": "Required. The IANA standard MIME type of the source data.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1BlurBaselineConfig": { +"description": "Config for blur baseline. When enabled, a linear path from the maximally blurred image to the input image is created. Using a blurred baseline instead of zero (black image) is motivated by the BlurIG approach explained here: https://arxiv.org/abs/2004.03383", +"id": "GoogleCloudAiplatformV1BlurBaselineConfig", +"properties": { +"maxBlurSigma": { +"description": "The standard deviation of the blur kernel for the blurred baseline. The same blurring parameter is used for both the height and the width dimension. If not set, the method defaults to the zero (i.e. black for images) baseline.", +"format": "float", +"type": "number" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1BoolArray": { +"description": "A list of boolean values.", +"id": "GoogleCloudAiplatformV1BoolArray", +"properties": { +"values": { +"description": "A list of bool values.", +"items": { +"type": "boolean" +}, +"type": "array" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1CacheConfig": { +"description": "Config of GenAI caching features. This is a singleton resource.", +"id": "GoogleCloudAiplatformV1CacheConfig", +"properties": { +"disableCache": { +"description": "If set to true, disables GenAI caching. Otherwise caching is enabled.", +"type": "boolean" +}, +"name": { +"description": "Identifier. Name of the cache config. Format: - `projects/{project}/cacheConfig`.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1CachedContent": { +"description": "A resource used in LLM queries for users to explicitly specify what to cache and how to cache.", +"id": "GoogleCloudAiplatformV1CachedContent", +"properties": { +"contents": { +"description": "Optional. Input only. Immutable. The content to cache", +"items": { +"$ref": "GoogleCloudAiplatformV1Content" +}, +"type": "array" +}, +"createTime": { +"description": "Output only. Creatation time of the cache entry.", +"format": "google-datetime", +"readOnly": true, +"type": "string" +}, +"displayName": { +"description": "Optional. Immutable. The user-generated meaningful display name of the cached content.", +"type": "string" +}, +"expireTime": { +"description": "Timestamp of when this resource is considered expired. This is *always* provided on output, regardless of what was sent on input.", +"format": "google-datetime", +"type": "string" +}, +"model": { +"description": "Immutable. The name of the publisher model to use for cached content. Format: projects/{project}/locations/{location}/publishers/{publisher}/models/{model}", +"type": "string" +}, +"name": { +"description": "Immutable. Identifier. The server-generated resource name of the cached content Format: projects/{project}/locations/{location}/cachedContents/{cached_content}", +"type": "string" +}, +"systemInstruction": { +"$ref": "GoogleCloudAiplatformV1Content", +"description": "Optional. Input only. Immutable. Developer set system instruction. Currently, text only" +}, +"toolConfig": { +"$ref": "GoogleCloudAiplatformV1ToolConfig", +"description": "Optional. Input only. Immutable. Tool config. This config is shared for all tools" +}, +"tools": { +"description": "Optional. Input only. Immutable. A list of `Tools` the model may use to generate the next response", +"items": { +"$ref": "GoogleCloudAiplatformV1Tool" +}, +"type": "array" +}, +"ttl": { +"description": "Input only. The TTL for this resource. The expiration time is computed: now + TTL.", +"format": "google-duration", +"type": "string" +}, +"updateTime": { +"description": "Output only. When the cache entry was last updated in UTC time.", +"format": "google-datetime", +"readOnly": true, +"type": "string" +}, +"usageMetadata": { +"$ref": "GoogleCloudAiplatformV1CachedContentUsageMetadata", +"description": "Output only. Metadata on the usage of the cached content.", +"readOnly": true +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1CachedContentUsageMetadata": { +"description": "Metadata on the usage of the cached content.", +"id": "GoogleCloudAiplatformV1CachedContentUsageMetadata", +"properties": { +"audioDurationSeconds": { +"description": "Duration of audio in seconds.", +"format": "int32", +"type": "integer" +}, +"imageCount": { +"description": "Number of images.", +"format": "int32", +"type": "integer" +}, +"textCount": { +"description": "Number of text characters.", +"format": "int32", +"type": "integer" +}, +"totalTokenCount": { +"description": "Total number of tokens that the cached content consumes.", +"format": "int32", +"type": "integer" +}, +"videoDurationSeconds": { +"description": "Duration of video in seconds.", +"format": "int32", +"type": "integer" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1CancelBatchPredictionJobRequest": { +"description": "Request message for JobService.CancelBatchPredictionJob.", +"id": "GoogleCloudAiplatformV1CancelBatchPredictionJobRequest", +"properties": {}, +"type": "object" +}, +"GoogleCloudAiplatformV1CancelCustomJobRequest": { +"description": "Request message for JobService.CancelCustomJob.", +"id": "GoogleCloudAiplatformV1CancelCustomJobRequest", +"properties": {}, +"type": "object" +}, +"GoogleCloudAiplatformV1CancelDataLabelingJobRequest": { +"description": "Request message for JobService.CancelDataLabelingJob.", +"id": "GoogleCloudAiplatformV1CancelDataLabelingJobRequest", +"properties": {}, +"type": "object" +}, +"GoogleCloudAiplatformV1CancelHyperparameterTuningJobRequest": { +"description": "Request message for JobService.CancelHyperparameterTuningJob.", +"id": "GoogleCloudAiplatformV1CancelHyperparameterTuningJobRequest", +"properties": {}, +"type": "object" +}, +"GoogleCloudAiplatformV1CancelNasJobRequest": { +"description": "Request message for JobService.CancelNasJob.", +"id": "GoogleCloudAiplatformV1CancelNasJobRequest", +"properties": {}, +"type": "object" +}, +"GoogleCloudAiplatformV1CancelPipelineJobRequest": { +"description": "Request message for PipelineService.CancelPipelineJob.", +"id": "GoogleCloudAiplatformV1CancelPipelineJobRequest", +"properties": {}, +"type": "object" +}, +"GoogleCloudAiplatformV1CancelTrainingPipelineRequest": { +"description": "Request message for PipelineService.CancelTrainingPipeline.", +"id": "GoogleCloudAiplatformV1CancelTrainingPipelineRequest", +"properties": {}, +"type": "object" +}, +"GoogleCloudAiplatformV1CancelTuningJobRequest": { +"description": "Request message for GenAiTuningService.CancelTuningJob.", +"id": "GoogleCloudAiplatformV1CancelTuningJobRequest", +"properties": {}, +"type": "object" +}, +"GoogleCloudAiplatformV1Candidate": { +"description": "A response candidate generated from the model.", +"id": "GoogleCloudAiplatformV1Candidate", +"properties": { +"avgLogprobs": { +"description": "Output only. Average log probability score of the candidate.", +"format": "double", +"readOnly": true, +"type": "number" +}, +"citationMetadata": { +"$ref": "GoogleCloudAiplatformV1CitationMetadata", +"description": "Output only. Source attribution of the generated content.", +"readOnly": true +}, +"content": { +"$ref": "GoogleCloudAiplatformV1Content", +"description": "Output only. Content parts of the candidate.", +"readOnly": true +}, +"finishMessage": { +"description": "Output only. Describes the reason the mode stopped generating tokens in more detail. This is only filled when `finish_reason` is set.", +"readOnly": true, +"type": "string" +}, +"finishReason": { +"description": "Output only. The reason why the model stopped generating tokens. If empty, the model has not stopped generating the tokens.", +"enum": [ +"FINISH_REASON_UNSPECIFIED", +"STOP", +"MAX_TOKENS", +"SAFETY", +"RECITATION", +"OTHER", +"BLOCKLIST", +"PROHIBITED_CONTENT", +"SPII", +"MALFORMED_FUNCTION_CALL" +], +"enumDescriptions": [ +"The finish reason is unspecified.", +"Token generation reached a natural stopping point or a configured stop sequence.", +"Token generation reached the configured maximum output tokens.", +"Token generation stopped because the content potentially contains safety violations. NOTE: When streaming, content is empty if content filters blocks the output.", +"The token generation stopped because of potential recitation.", +"All other reasons that stopped the token generation.", +"Token generation stopped because the content contains forbidden terms.", +"Token generation stopped for potentially containing prohibited content.", +"Token generation stopped because the content potentially contains Sensitive Personally Identifiable Information (SPII).", +"The function call generated by the model is invalid." +], +"readOnly": true, +"type": "string" +}, +"groundingMetadata": { +"$ref": "GoogleCloudAiplatformV1GroundingMetadata", +"description": "Output only. Metadata specifies sources used to ground generated content.", +"readOnly": true +}, +"index": { +"description": "Output only. Index of the candidate.", +"format": "int32", +"readOnly": true, +"type": "integer" +}, +"logprobsResult": { +"$ref": "GoogleCloudAiplatformV1LogprobsResult", +"description": "Output only. Log-likelihood scores for the response tokens and top tokens", +"readOnly": true +}, +"safetyRatings": { +"description": "Output only. List of ratings for the safety of a response candidate. There is at most one rating per category.", +"items": { +"$ref": "GoogleCloudAiplatformV1SafetyRating" +}, +"readOnly": true, +"type": "array" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1CheckTrialEarlyStoppingStateMetatdata": { +"description": "This message will be placed in the metadata field of a google.longrunning.Operation associated with a CheckTrialEarlyStoppingState request.", +"id": "GoogleCloudAiplatformV1CheckTrialEarlyStoppingStateMetatdata", +"properties": { +"genericMetadata": { +"$ref": "GoogleCloudAiplatformV1GenericOperationMetadata", +"description": "Operation metadata for suggesting Trials." +}, +"study": { +"description": "The name of the Study that the Trial belongs to.", +"type": "string" +}, +"trial": { +"description": "The Trial name.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1CheckTrialEarlyStoppingStateRequest": { +"description": "Request message for VizierService.CheckTrialEarlyStoppingState.", +"id": "GoogleCloudAiplatformV1CheckTrialEarlyStoppingStateRequest", +"properties": {}, +"type": "object" +}, +"GoogleCloudAiplatformV1CheckTrialEarlyStoppingStateResponse": { +"description": "Response message for VizierService.CheckTrialEarlyStoppingState.", +"id": "GoogleCloudAiplatformV1CheckTrialEarlyStoppingStateResponse", +"properties": { +"shouldStop": { +"description": "True if the Trial should stop.", +"type": "boolean" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1Citation": { +"description": "Source attributions for content.", +"id": "GoogleCloudAiplatformV1Citation", +"properties": { +"endIndex": { +"description": "Output only. End index into the content.", +"format": "int32", +"readOnly": true, +"type": "integer" +}, +"license": { +"description": "Output only. License of the attribution.", +"readOnly": true, +"type": "string" +}, +"publicationDate": { +"$ref": "GoogleTypeDate", +"description": "Output only. Publication date of the attribution.", +"readOnly": true +}, +"startIndex": { +"description": "Output only. Start index into the content.", +"format": "int32", +"readOnly": true, +"type": "integer" +}, +"title": { +"description": "Output only. Title of the attribution.", +"readOnly": true, +"type": "string" +}, +"uri": { +"description": "Output only. Url reference of the attribution.", +"readOnly": true, +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1CitationMetadata": { +"description": "A collection of source attributions for a piece of content.", +"id": "GoogleCloudAiplatformV1CitationMetadata", +"properties": { +"citations": { +"description": "Output only. List of citations.", +"items": { +"$ref": "GoogleCloudAiplatformV1Citation" +}, +"readOnly": true, +"type": "array" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1Claim": { +"description": "Claim that is extracted from the input text and facts that support it.", +"id": "GoogleCloudAiplatformV1Claim", +"properties": { +"endIndex": { +"description": "Index in the input text where the claim ends (exclusive).", +"format": "int32", +"type": "integer" +}, +"factIndexes": { +"description": "Indexes of the facts supporting this claim.", +"items": { +"format": "int32", +"type": "integer" +}, +"type": "array" +}, +"score": { +"description": "Confidence score of this corroboration.", +"format": "float", +"type": "number" +}, +"startIndex": { +"description": "Index in the input text where the claim starts (inclusive).", +"format": "int32", +"type": "integer" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1ClientConnectionConfig": { +"description": "Configurations (e.g. inference timeout) that are applied on your endpoints.", +"id": "GoogleCloudAiplatformV1ClientConnectionConfig", +"properties": { +"inferenceTimeout": { +"description": "Customizable online prediction request timeout.", +"format": "google-duration", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1CoherenceInput": { +"description": "Input for coherence metric.", +"id": "GoogleCloudAiplatformV1CoherenceInput", +"properties": { +"instance": { +"$ref": "GoogleCloudAiplatformV1CoherenceInstance", +"description": "Required. Coherence instance." +}, +"metricSpec": { +"$ref": "GoogleCloudAiplatformV1CoherenceSpec", +"description": "Required. Spec for coherence score metric." +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1CoherenceInstance": { +"description": "Spec for coherence instance.", +"id": "GoogleCloudAiplatformV1CoherenceInstance", +"properties": { +"prediction": { +"description": "Required. Output of the evaluated model.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1CoherenceResult": { +"description": "Spec for coherence result.", +"id": "GoogleCloudAiplatformV1CoherenceResult", +"properties": { +"confidence": { +"description": "Output only. Confidence for coherence score.", +"format": "float", +"readOnly": true, +"type": "number" +}, +"explanation": { +"description": "Output only. Explanation for coherence score.", +"readOnly": true, +"type": "string" +}, +"score": { +"description": "Output only. Coherence score.", +"format": "float", +"readOnly": true, +"type": "number" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1CoherenceSpec": { +"description": "Spec for coherence score metric.", +"id": "GoogleCloudAiplatformV1CoherenceSpec", +"properties": { +"version": { +"description": "Optional. Which version to use for evaluation.", +"format": "int32", +"type": "integer" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1CometInput": { +"description": "Input for Comet metric.", +"id": "GoogleCloudAiplatformV1CometInput", +"properties": { +"instance": { +"$ref": "GoogleCloudAiplatformV1CometInstance", +"description": "Required. Comet instance." +}, +"metricSpec": { +"$ref": "GoogleCloudAiplatformV1CometSpec", +"description": "Required. Spec for comet metric." +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1CometInstance": { +"description": "Spec for Comet instance - The fields used for evaluation are dependent on the comet version.", +"id": "GoogleCloudAiplatformV1CometInstance", +"properties": { +"prediction": { +"description": "Required. Output of the evaluated model.", +"type": "string" +}, +"reference": { +"description": "Optional. Ground truth used to compare against the prediction.", +"type": "string" +}, +"source": { +"description": "Optional. Source text in original language.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1CometResult": { +"description": "Spec for Comet result - calculates the comet score for the given instance using the version specified in the spec.", +"id": "GoogleCloudAiplatformV1CometResult", +"properties": { +"score": { +"description": "Output only. Comet score. Range depends on version.", +"format": "float", +"readOnly": true, +"type": "number" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1CometSpec": { +"description": "Spec for Comet metric.", +"id": "GoogleCloudAiplatformV1CometSpec", +"properties": { +"sourceLanguage": { +"description": "Optional. Source language in BCP-47 format.", +"type": "string" +}, +"targetLanguage": { +"description": "Optional. Target language in BCP-47 format. Covers both prediction and reference.", +"type": "string" +}, +"version": { +"description": "Required. Which version to use for evaluation.", +"enum": [ +"COMET_VERSION_UNSPECIFIED", +"COMET_22_SRC_REF" +], +"enumDescriptions": [ +"Comet version unspecified.", +"Comet 22 for translation + source + reference (source-reference-combined)." +], +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1CompleteTrialRequest": { +"description": "Request message for VizierService.CompleteTrial.", +"id": "GoogleCloudAiplatformV1CompleteTrialRequest", +"properties": { +"finalMeasurement": { +"$ref": "GoogleCloudAiplatformV1Measurement", +"description": "Optional. If provided, it will be used as the completed Trial's final_measurement; Otherwise, the service will auto-select a previously reported measurement as the final-measurement" +}, +"infeasibleReason": { +"description": "Optional. A human readable reason why the trial was infeasible. This should only be provided if `trial_infeasible` is true.", +"type": "string" +}, +"trialInfeasible": { +"description": "Optional. True if the Trial cannot be run with the given Parameter, and final_measurement will be ignored.", +"type": "boolean" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1CompletionStats": { +"description": "Success and error statistics of processing multiple entities (for example, DataItems or structured data rows) in batch.", +"id": "GoogleCloudAiplatformV1CompletionStats", +"properties": { +"failedCount": { +"description": "Output only. The number of entities for which any error was encountered.", +"format": "int64", +"readOnly": true, +"type": "string" +}, +"incompleteCount": { +"description": "Output only. In cases when enough errors are encountered a job, pipeline, or operation may be failed as a whole. Below is the number of entities for which the processing had not been finished (either in successful or failed state). Set to -1 if the number is unknown (for example, the operation failed before the total entity number could be collected).", +"format": "int64", +"readOnly": true, +"type": "string" +}, +"successfulCount": { +"description": "Output only. The number of entities that had been processed successfully.", +"format": "int64", +"readOnly": true, +"type": "string" +}, +"successfulForecastPointCount": { +"description": "Output only. The number of the successful forecast points that are generated by the forecasting model. This is ONLY used by the forecasting batch prediction.", +"format": "int64", +"readOnly": true, +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1ComputeTokensRequest": { +"description": "Request message for ComputeTokens RPC call.", +"id": "GoogleCloudAiplatformV1ComputeTokensRequest", +"properties": { +"contents": { +"description": "Optional. Input content.", +"items": { +"$ref": "GoogleCloudAiplatformV1Content" +}, +"type": "array" +}, +"instances": { +"description": "Optional. The instances that are the input to token computing API call. Schema is identical to the prediction schema of the text model, even for the non-text models, like chat models, or Codey models.", +"items": { +"type": "any" +}, +"type": "array" +}, +"model": { +"description": "Optional. The name of the publisher model requested to serve the prediction. Format: projects/{project}/locations/{location}/publishers/*/models/*", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1ComputeTokensResponse": { +"description": "Response message for ComputeTokens RPC call.", +"id": "GoogleCloudAiplatformV1ComputeTokensResponse", +"properties": { +"tokensInfo": { +"description": "Lists of tokens info from the input. A ComputeTokensRequest could have multiple instances with a prompt in each instance. We also need to return lists of tokens info for the request with multiple instances.", +"items": { +"$ref": "GoogleCloudAiplatformV1TokensInfo" +}, +"type": "array" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1ContainerRegistryDestination": { +"description": "The Container Registry location for the container image.", +"id": "GoogleCloudAiplatformV1ContainerRegistryDestination", +"properties": { +"outputUri": { +"description": "Required. Container Registry URI of a container image. Only Google Container Registry and Artifact Registry are supported now. Accepted forms: * Google Container Registry path. For example: `gcr.io/projectId/imageName:tag`. * Artifact Registry path. For example: `us-central1-docker.pkg.dev/projectId/repoName/imageName:tag`. If a tag is not specified, \"latest\" will be used as the default tag.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1ContainerSpec": { +"description": "The spec of a Container.", +"id": "GoogleCloudAiplatformV1ContainerSpec", +"properties": { +"args": { +"description": "The arguments to be passed when starting the container.", +"items": { +"type": "string" +}, +"type": "array" +}, +"command": { +"description": "The command to be invoked when the container is started. It overrides the entrypoint instruction in Dockerfile when provided.", +"items": { +"type": "string" +}, +"type": "array" +}, +"env": { +"description": "Environment variables to be passed to the container. Maximum limit is 100.", +"items": { +"$ref": "GoogleCloudAiplatformV1EnvVar" +}, +"type": "array" +}, +"imageUri": { +"description": "Required. The URI of a container image in the Container Registry that is to be run on each worker replica.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1Content": { +"description": "The base structured datatype containing multi-part content of a message. A `Content` includes a `role` field designating the producer of the `Content` and a `parts` field containing multi-part data that contains the content of the message turn.", +"id": "GoogleCloudAiplatformV1Content", +"properties": { +"parts": { +"description": "Required. Ordered `Parts` that constitute a single message. Parts may have different IANA MIME types.", +"items": { +"$ref": "GoogleCloudAiplatformV1Part" +}, +"type": "array" +}, +"role": { +"description": "Optional. The producer of the content. Must be either 'user' or 'model'. Useful to set for multi-turn conversations, otherwise can be left blank or unset.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1Context": { +"description": "Instance of a general context.", +"id": "GoogleCloudAiplatformV1Context", +"properties": { +"createTime": { +"description": "Output only. Timestamp when this Context was created.", +"format": "google-datetime", +"readOnly": true, +"type": "string" +}, +"description": { +"description": "Description of the Context", +"type": "string" +}, +"displayName": { +"description": "User provided display name of the Context. May be up to 128 Unicode characters.", +"type": "string" +}, +"etag": { +"description": "An eTag used to perform consistent read-modify-write updates. If not set, a blind \"overwrite\" update happens.", +"type": "string" +}, +"labels": { +"additionalProperties": { +"type": "string" +}, +"description": "The labels with user-defined metadata to organize your Contexts. Label keys and values can be no longer than 64 characters (Unicode codepoints), can only contain lowercase letters, numeric characters, underscores and dashes. International characters are allowed. No more than 64 user labels can be associated with one Context (System labels are excluded).", +"type": "object" +}, +"metadata": { +"additionalProperties": { +"description": "Properties of the object.", +"type": "any" +}, +"description": "Properties of the Context. Top level metadata keys' heading and trailing spaces will be trimmed. The size of this field should not exceed 200KB.", +"type": "object" +}, +"name": { +"description": "Immutable. The resource name of the Context.", +"type": "string" +}, +"parentContexts": { +"description": "Output only. A list of resource names of Contexts that are parents of this Context. A Context may have at most 10 parent_contexts.", +"items": { +"type": "string" +}, +"readOnly": true, +"type": "array" +}, +"schemaTitle": { +"description": "The title of the schema describing the metadata. Schema title and version is expected to be registered in earlier Create Schema calls. And both are used together as unique identifiers to identify schemas within the local metadata store.", +"type": "string" +}, +"schemaVersion": { +"description": "The version of the schema in schema_name to use. Schema title and version is expected to be registered in earlier Create Schema calls. And both are used together as unique identifiers to identify schemas within the local metadata store.", +"type": "string" +}, +"updateTime": { +"description": "Output only. Timestamp when this Context was last updated.", +"format": "google-datetime", +"readOnly": true, +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1CopyModelOperationMetadata": { +"description": "Details of ModelService.CopyModel operation.", +"id": "GoogleCloudAiplatformV1CopyModelOperationMetadata", +"properties": { +"genericMetadata": { +"$ref": "GoogleCloudAiplatformV1GenericOperationMetadata", +"description": "The common part of the operation metadata." +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1CopyModelRequest": { +"description": "Request message for ModelService.CopyModel.", +"id": "GoogleCloudAiplatformV1CopyModelRequest", +"properties": { +"encryptionSpec": { +"$ref": "GoogleCloudAiplatformV1EncryptionSpec", +"description": "Customer-managed encryption key options. If this is set, then the Model copy will be encrypted with the provided encryption key." +}, +"modelId": { +"description": "Optional. Copy source_model into a new Model with this ID. The ID will become the final component of the model resource name. This value may be up to 63 characters, and valid characters are `[a-z0-9_-]`. The first character cannot be a number or hyphen.", +"type": "string" +}, +"parentModel": { +"description": "Optional. Specify this field to copy source_model into this existing Model as a new version. Format: `projects/{project}/locations/{location}/models/{model}`", +"type": "string" +}, +"sourceModel": { +"description": "Required. The resource name of the Model to copy. That Model must be in the same Project. Format: `projects/{project}/locations/{location}/models/{model}`", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1CopyModelResponse": { +"description": "Response message of ModelService.CopyModel operation.", +"id": "GoogleCloudAiplatformV1CopyModelResponse", +"properties": { +"model": { +"description": "The name of the copied Model resource. Format: `projects/{project}/locations/{location}/models/{model}`", +"type": "string" +}, +"modelVersionId": { +"description": "Output only. The version ID of the model that is copied.", +"readOnly": true, +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1CorpusStatus": { +"description": "RagCorpus status.", +"id": "GoogleCloudAiplatformV1CorpusStatus", +"properties": { +"errorStatus": { +"description": "Output only. Only when the `state` field is ERROR.", +"readOnly": true, +"type": "string" +}, +"state": { +"description": "Output only. RagCorpus life state.", +"enum": [ +"UNKNOWN", +"INITIALIZED", +"ACTIVE", +"ERROR" +], +"enumDescriptions": [ +"This state is not supposed to happen.", +"RagCorpus resource entry is initialized, but hasn't done validation.", +"RagCorpus is provisioned successfully and is ready to serve.", +"RagCorpus is in a problematic situation. See `error_message` field for details." +], +"readOnly": true, +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1CorroborateContentRequest": { +"description": "Request message for CorroborateContent.", +"id": "GoogleCloudAiplatformV1CorroborateContentRequest", +"properties": { +"content": { +"$ref": "GoogleCloudAiplatformV1Content", +"description": "Optional. Input content to corroborate, only text format is supported for now." +}, +"facts": { +"description": "Optional. Facts used to generate the text can also be used to corroborate the text.", +"items": { +"$ref": "GoogleCloudAiplatformV1Fact" +}, +"type": "array" +}, +"parameters": { +"$ref": "GoogleCloudAiplatformV1CorroborateContentRequestParameters", +"description": "Optional. Parameters that can be set to override default settings per request." +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1CorroborateContentRequestParameters": { +"description": "Parameters that can be overrided per request.", +"id": "GoogleCloudAiplatformV1CorroborateContentRequestParameters", +"properties": { +"citationThreshold": { +"description": "Optional. Only return claims with citation score larger than the threshold.", +"format": "double", +"type": "number" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1CorroborateContentResponse": { +"description": "Response message for CorroborateContent.", +"id": "GoogleCloudAiplatformV1CorroborateContentResponse", +"properties": { +"claims": { +"description": "Claims that are extracted from the input content and facts that support the claims.", +"items": { +"$ref": "GoogleCloudAiplatformV1Claim" +}, +"type": "array" +}, +"corroborationScore": { +"description": "Confidence score of corroborating content. Value is [0,1] with 1 is the most confidence.", +"format": "float", +"type": "number" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1CountTokensRequest": { +"description": "Request message for PredictionService.CountTokens.", +"id": "GoogleCloudAiplatformV1CountTokensRequest", +"properties": { +"contents": { +"description": "Optional. Input content.", +"items": { +"$ref": "GoogleCloudAiplatformV1Content" +}, +"type": "array" +}, +"generationConfig": { +"$ref": "GoogleCloudAiplatformV1GenerationConfig", +"description": "Optional. Generation config that the model will use to generate the response." +}, +"instances": { +"description": "Optional. The instances that are the input to token counting call. Schema is identical to the prediction schema of the underlying model.", +"items": { +"type": "any" +}, +"type": "array" +}, +"model": { +"description": "Optional. The name of the publisher model requested to serve the prediction. Format: `projects/{project}/locations/{location}/publishers/*/models/*`", +"type": "string" +}, +"systemInstruction": { +"$ref": "GoogleCloudAiplatformV1Content", +"description": "Optional. The user provided system instructions for the model. Note: only text should be used in parts and content in each part will be in a separate paragraph." +}, +"tools": { +"description": "Optional. A list of `Tools` the model may use to generate the next response. A `Tool` is a piece of code that enables the system to interact with external systems to perform an action, or set of actions, outside of knowledge and scope of the model.", +"items": { +"$ref": "GoogleCloudAiplatformV1Tool" +}, +"type": "array" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1CountTokensResponse": { +"description": "Response message for PredictionService.CountTokens.", +"id": "GoogleCloudAiplatformV1CountTokensResponse", +"properties": { +"totalBillableCharacters": { +"description": "The total number of billable characters counted across all instances from the request.", +"format": "int32", +"type": "integer" +}, +"totalTokens": { +"description": "The total number of tokens counted across all instances from the request.", +"format": "int32", +"type": "integer" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1CreateDatasetOperationMetadata": { +"description": "Runtime operation information for DatasetService.CreateDataset.", +"id": "GoogleCloudAiplatformV1CreateDatasetOperationMetadata", +"properties": { +"genericMetadata": { +"$ref": "GoogleCloudAiplatformV1GenericOperationMetadata", +"description": "The operation generic information." +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1CreateDatasetVersionOperationMetadata": { +"description": "Runtime operation information for DatasetService.CreateDatasetVersion.", +"id": "GoogleCloudAiplatformV1CreateDatasetVersionOperationMetadata", +"properties": { +"genericMetadata": { +"$ref": "GoogleCloudAiplatformV1GenericOperationMetadata", +"description": "The common part of the operation metadata." +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1CreateDeploymentResourcePoolOperationMetadata": { +"description": "Runtime operation information for CreateDeploymentResourcePool method.", +"id": "GoogleCloudAiplatformV1CreateDeploymentResourcePoolOperationMetadata", +"properties": { +"genericMetadata": { +"$ref": "GoogleCloudAiplatformV1GenericOperationMetadata", +"description": "The operation generic information." +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1CreateDeploymentResourcePoolRequest": { +"description": "Request message for CreateDeploymentResourcePool method.", +"id": "GoogleCloudAiplatformV1CreateDeploymentResourcePoolRequest", +"properties": { +"deploymentResourcePool": { +"$ref": "GoogleCloudAiplatformV1DeploymentResourcePool", +"description": "Required. The DeploymentResourcePool to create." +}, +"deploymentResourcePoolId": { +"description": "Required. The ID to use for the DeploymentResourcePool, which will become the final component of the DeploymentResourcePool's resource name. The maximum length is 63 characters, and valid characters are `/^[a-z]([a-z0-9-]{0,61}[a-z0-9])?$/`.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1CreateEndpointOperationMetadata": { +"description": "Runtime operation information for EndpointService.CreateEndpoint.", +"id": "GoogleCloudAiplatformV1CreateEndpointOperationMetadata", +"properties": { +"genericMetadata": { +"$ref": "GoogleCloudAiplatformV1GenericOperationMetadata", +"description": "The operation generic information." +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1CreateEntityTypeOperationMetadata": { +"description": "Details of operations that perform create EntityType.", +"id": "GoogleCloudAiplatformV1CreateEntityTypeOperationMetadata", +"properties": { +"genericMetadata": { +"$ref": "GoogleCloudAiplatformV1GenericOperationMetadata", +"description": "Operation metadata for EntityType." +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1CreateFeatureGroupOperationMetadata": { +"description": "Details of operations that perform create FeatureGroup.", +"id": "GoogleCloudAiplatformV1CreateFeatureGroupOperationMetadata", +"properties": { +"genericMetadata": { +"$ref": "GoogleCloudAiplatformV1GenericOperationMetadata", +"description": "Operation metadata for FeatureGroup." +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1CreateFeatureOnlineStoreOperationMetadata": { +"description": "Details of operations that perform create FeatureOnlineStore.", +"id": "GoogleCloudAiplatformV1CreateFeatureOnlineStoreOperationMetadata", +"properties": { +"genericMetadata": { +"$ref": "GoogleCloudAiplatformV1GenericOperationMetadata", +"description": "Operation metadata for FeatureOnlineStore." +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1CreateFeatureOperationMetadata": { +"description": "Details of operations that perform create Feature.", +"id": "GoogleCloudAiplatformV1CreateFeatureOperationMetadata", +"properties": { +"genericMetadata": { +"$ref": "GoogleCloudAiplatformV1GenericOperationMetadata", +"description": "Operation metadata for Feature." +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1CreateFeatureRequest": { +"description": "Request message for FeaturestoreService.CreateFeature. Request message for FeatureRegistryService.CreateFeature.", +"id": "GoogleCloudAiplatformV1CreateFeatureRequest", +"properties": { +"feature": { +"$ref": "GoogleCloudAiplatformV1Feature", +"description": "Required. The Feature to create." +}, +"featureId": { +"description": "Required. The ID to use for the Feature, which will become the final component of the Feature's resource name. This value may be up to 128 characters, and valid characters are `[a-z0-9_]`. The first character cannot be a number. The value must be unique within an EntityType/FeatureGroup.", +"type": "string" +}, +"parent": { +"description": "Required. The resource name of the EntityType or FeatureGroup to create a Feature. Format for entity_type as parent: `projects/{project}/locations/{location}/featurestores/{featurestore}/entityTypes/{entity_type}` Format for feature_group as parent: `projects/{project}/locations/{location}/featureGroups/{feature_group}`", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1CreateFeatureViewOperationMetadata": { +"description": "Details of operations that perform create FeatureView.", +"id": "GoogleCloudAiplatformV1CreateFeatureViewOperationMetadata", +"properties": { +"genericMetadata": { +"$ref": "GoogleCloudAiplatformV1GenericOperationMetadata", +"description": "Operation metadata for FeatureView Create." +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1CreateFeaturestoreOperationMetadata": { +"description": "Details of operations that perform create Featurestore.", +"id": "GoogleCloudAiplatformV1CreateFeaturestoreOperationMetadata", +"properties": { +"genericMetadata": { +"$ref": "GoogleCloudAiplatformV1GenericOperationMetadata", +"description": "Operation metadata for Featurestore." +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1CreateIndexEndpointOperationMetadata": { +"description": "Runtime operation information for IndexEndpointService.CreateIndexEndpoint.", +"id": "GoogleCloudAiplatformV1CreateIndexEndpointOperationMetadata", +"properties": { +"genericMetadata": { +"$ref": "GoogleCloudAiplatformV1GenericOperationMetadata", +"description": "The operation generic information." +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1CreateIndexOperationMetadata": { +"description": "Runtime operation information for IndexService.CreateIndex.", +"id": "GoogleCloudAiplatformV1CreateIndexOperationMetadata", +"properties": { +"genericMetadata": { +"$ref": "GoogleCloudAiplatformV1GenericOperationMetadata", +"description": "The operation generic information." +}, +"nearestNeighborSearchOperationMetadata": { +"$ref": "GoogleCloudAiplatformV1NearestNeighborSearchOperationMetadata", +"description": "The operation metadata with regard to Matching Engine Index operation." +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1CreateMetadataStoreOperationMetadata": { +"description": "Details of operations that perform MetadataService.CreateMetadataStore.", +"id": "GoogleCloudAiplatformV1CreateMetadataStoreOperationMetadata", +"properties": { +"genericMetadata": { +"$ref": "GoogleCloudAiplatformV1GenericOperationMetadata", +"description": "Operation metadata for creating a MetadataStore." +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1CreateNotebookExecutionJobOperationMetadata": { +"description": "Metadata information for NotebookService.CreateNotebookExecutionJob.", +"id": "GoogleCloudAiplatformV1CreateNotebookExecutionJobOperationMetadata", +"properties": { +"genericMetadata": { +"$ref": "GoogleCloudAiplatformV1GenericOperationMetadata", +"description": "The operation generic information." +}, +"progressMessage": { +"description": "A human-readable message that shows the intermediate progress details of NotebookRuntime.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1CreateNotebookExecutionJobRequest": { +"description": "Request message for [NotebookService.CreateNotebookExecutionJob]", +"id": "GoogleCloudAiplatformV1CreateNotebookExecutionJobRequest", +"properties": { +"notebookExecutionJob": { +"$ref": "GoogleCloudAiplatformV1NotebookExecutionJob", +"description": "Required. The NotebookExecutionJob to create." +}, +"notebookExecutionJobId": { +"description": "Optional. User specified ID for the NotebookExecutionJob.", +"type": "string" +}, +"parent": { +"description": "Required. The resource name of the Location to create the NotebookExecutionJob. Format: `projects/{project}/locations/{location}`", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1CreateNotebookRuntimeTemplateOperationMetadata": { +"description": "Metadata information for NotebookService.CreateNotebookRuntimeTemplate.", +"id": "GoogleCloudAiplatformV1CreateNotebookRuntimeTemplateOperationMetadata", +"properties": { +"genericMetadata": { +"$ref": "GoogleCloudAiplatformV1GenericOperationMetadata", +"description": "The operation generic information." +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1CreatePersistentResourceOperationMetadata": { +"description": "Details of operations that perform create PersistentResource.", +"id": "GoogleCloudAiplatformV1CreatePersistentResourceOperationMetadata", +"properties": { +"genericMetadata": { +"$ref": "GoogleCloudAiplatformV1GenericOperationMetadata", +"description": "Operation metadata for PersistentResource." +}, +"progressMessage": { +"description": "Progress Message for Create LRO", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1CreatePipelineJobRequest": { +"description": "Request message for PipelineService.CreatePipelineJob.", +"id": "GoogleCloudAiplatformV1CreatePipelineJobRequest", +"properties": { +"parent": { +"description": "Required. The resource name of the Location to create the PipelineJob in. Format: `projects/{project}/locations/{location}`", +"type": "string" +}, +"pipelineJob": { +"$ref": "GoogleCloudAiplatformV1PipelineJob", +"description": "Required. The PipelineJob to create." +}, +"pipelineJobId": { +"description": "The ID to use for the PipelineJob, which will become the final component of the PipelineJob name. If not provided, an ID will be automatically generated. This value should be less than 128 characters, and valid characters are `/a-z-/`.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1CreateRegistryFeatureOperationMetadata": { +"description": "Details of operations that perform create FeatureGroup.", +"id": "GoogleCloudAiplatformV1CreateRegistryFeatureOperationMetadata", +"properties": { +"genericMetadata": { +"$ref": "GoogleCloudAiplatformV1GenericOperationMetadata", +"description": "Operation metadata for Feature." +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1CreateSpecialistPoolOperationMetadata": { +"description": "Runtime operation information for SpecialistPoolService.CreateSpecialistPool.", +"id": "GoogleCloudAiplatformV1CreateSpecialistPoolOperationMetadata", +"properties": { +"genericMetadata": { +"$ref": "GoogleCloudAiplatformV1GenericOperationMetadata", +"description": "The operation generic information." +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1CreateTensorboardOperationMetadata": { +"description": "Details of operations that perform create Tensorboard.", +"id": "GoogleCloudAiplatformV1CreateTensorboardOperationMetadata", +"properties": { +"genericMetadata": { +"$ref": "GoogleCloudAiplatformV1GenericOperationMetadata", +"description": "Operation metadata for Tensorboard." +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1CreateTensorboardRunRequest": { +"description": "Request message for TensorboardService.CreateTensorboardRun.", +"id": "GoogleCloudAiplatformV1CreateTensorboardRunRequest", +"properties": { +"parent": { +"description": "Required. The resource name of the TensorboardExperiment to create the TensorboardRun in. Format: `projects/{project}/locations/{location}/tensorboards/{tensorboard}/experiments/{experiment}`", +"type": "string" +}, +"tensorboardRun": { +"$ref": "GoogleCloudAiplatformV1TensorboardRun", +"description": "Required. The TensorboardRun to create." +}, +"tensorboardRunId": { +"description": "Required. The ID to use for the Tensorboard run, which becomes the final component of the Tensorboard run's resource name. This value should be 1-128 characters, and valid characters are `/a-z-/`.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1CreateTensorboardTimeSeriesRequest": { +"description": "Request message for TensorboardService.CreateTensorboardTimeSeries.", +"id": "GoogleCloudAiplatformV1CreateTensorboardTimeSeriesRequest", +"properties": { +"parent": { +"description": "Required. The resource name of the TensorboardRun to create the TensorboardTimeSeries in. Format: `projects/{project}/locations/{location}/tensorboards/{tensorboard}/experiments/{experiment}/runs/{run}`", +"type": "string" +}, +"tensorboardTimeSeries": { +"$ref": "GoogleCloudAiplatformV1TensorboardTimeSeries", +"description": "Required. The TensorboardTimeSeries to create." +}, +"tensorboardTimeSeriesId": { +"description": "Optional. The user specified unique ID to use for the TensorboardTimeSeries, which becomes the final component of the TensorboardTimeSeries's resource name. This value should match \"a-z0-9{0, 127}\"", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1CsvDestination": { +"description": "The storage details for CSV output content.", +"id": "GoogleCloudAiplatformV1CsvDestination", +"properties": { +"gcsDestination": { +"$ref": "GoogleCloudAiplatformV1GcsDestination", +"description": "Required. Google Cloud Storage location." +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1CsvSource": { +"description": "The storage details for CSV input content.", +"id": "GoogleCloudAiplatformV1CsvSource", +"properties": { +"gcsSource": { +"$ref": "GoogleCloudAiplatformV1GcsSource", +"description": "Required. Google Cloud Storage location." +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1CustomJob": { +"description": "Represents a job that runs custom workloads such as a Docker container or a Python package. A CustomJob can have multiple worker pools and each worker pool can have its own machine and input spec. A CustomJob will be cleaned up once the job enters terminal state (failed or succeeded).", +"id": "GoogleCloudAiplatformV1CustomJob", +"properties": { +"createTime": { +"description": "Output only. Time when the CustomJob was created.", +"format": "google-datetime", +"readOnly": true, +"type": "string" +}, +"displayName": { +"description": "Required. The display name of the CustomJob. The name can be up to 128 characters long and can consist of any UTF-8 characters.", +"type": "string" +}, +"encryptionSpec": { +"$ref": "GoogleCloudAiplatformV1EncryptionSpec", +"description": "Customer-managed encryption key options for a CustomJob. If this is set, then all resources created by the CustomJob will be encrypted with the provided encryption key." +}, +"endTime": { +"description": "Output only. Time when the CustomJob entered any of the following states: `JOB_STATE_SUCCEEDED`, `JOB_STATE_FAILED`, `JOB_STATE_CANCELLED`.", +"format": "google-datetime", +"readOnly": true, +"type": "string" +}, +"error": { +"$ref": "GoogleRpcStatus", +"description": "Output only. Only populated when job's state is `JOB_STATE_FAILED` or `JOB_STATE_CANCELLED`.", +"readOnly": true +}, +"jobSpec": { +"$ref": "GoogleCloudAiplatformV1CustomJobSpec", +"description": "Required. Job spec." +}, +"labels": { +"additionalProperties": { +"type": "string" +}, +"description": "The labels with user-defined metadata to organize CustomJobs. Label keys and values can be no longer than 64 characters (Unicode codepoints), can only contain lowercase letters, numeric characters, underscores and dashes. International characters are allowed. See https://goo.gl/xmQnxf for more information and examples of labels.", +"type": "object" +}, +"name": { +"description": "Output only. Resource name of a CustomJob.", +"readOnly": true, +"type": "string" +}, +"satisfiesPzi": { +"description": "Output only. Reserved for future use.", +"readOnly": true, +"type": "boolean" +}, +"satisfiesPzs": { +"description": "Output only. Reserved for future use.", +"readOnly": true, +"type": "boolean" +}, +"startTime": { +"description": "Output only. Time when the CustomJob for the first time entered the `JOB_STATE_RUNNING` state.", +"format": "google-datetime", +"readOnly": true, +"type": "string" +}, +"state": { +"description": "Output only. The detailed state of the job.", +"enum": [ +"JOB_STATE_UNSPECIFIED", +"JOB_STATE_QUEUED", +"JOB_STATE_PENDING", +"JOB_STATE_RUNNING", +"JOB_STATE_SUCCEEDED", +"JOB_STATE_FAILED", +"JOB_STATE_CANCELLING", +"JOB_STATE_CANCELLED", +"JOB_STATE_PAUSED", +"JOB_STATE_EXPIRED", +"JOB_STATE_UPDATING", +"JOB_STATE_PARTIALLY_SUCCEEDED" +], +"enumDescriptions": [ +"The job state is unspecified.", +"The job has been just created or resumed and processing has not yet begun.", +"The service is preparing to run the job.", +"The job is in progress.", +"The job completed successfully.", +"The job failed.", +"The job is being cancelled. From this state the job may only go to either `JOB_STATE_SUCCEEDED`, `JOB_STATE_FAILED` or `JOB_STATE_CANCELLED`.", +"The job has been cancelled.", +"The job has been stopped, and can be resumed.", +"The job has expired.", +"The job is being updated. Only jobs in the `RUNNING` state can be updated. After updating, the job goes back to the `RUNNING` state.", +"The job is partially succeeded, some results may be missing due to errors." +], +"readOnly": true, +"type": "string" +}, +"updateTime": { +"description": "Output only. Time when the CustomJob was most recently updated.", +"format": "google-datetime", +"readOnly": true, +"type": "string" +}, +"webAccessUris": { +"additionalProperties": { +"type": "string" +}, +"description": "Output only. URIs for accessing [interactive shells](https://cloud.google.com/vertex-ai/docs/training/monitor-debug-interactive-shell) (one URI for each training node). Only available if job_spec.enable_web_access is `true`. The keys are names of each node in the training job; for example, `workerpool0-0` for the primary node, `workerpool1-0` for the first node in the second worker pool, and `workerpool1-1` for the second node in the second worker pool. The values are the URIs for each node's interactive shell.", +"readOnly": true, +"type": "object" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1CustomJobSpec": { +"description": "Represents the spec of a CustomJob.", +"id": "GoogleCloudAiplatformV1CustomJobSpec", +"properties": { +"baseOutputDirectory": { +"$ref": "GoogleCloudAiplatformV1GcsDestination", +"description": "The Cloud Storage location to store the output of this CustomJob or HyperparameterTuningJob. For HyperparameterTuningJob, the baseOutputDirectory of each child CustomJob backing a Trial is set to a subdirectory of name id under its parent HyperparameterTuningJob's baseOutputDirectory. The following Vertex AI environment variables will be passed to containers or python modules when this field is set: For CustomJob: * AIP_MODEL_DIR = `/model/` * AIP_CHECKPOINT_DIR = `/checkpoints/` * AIP_TENSORBOARD_LOG_DIR = `/logs/` For CustomJob backing a Trial of HyperparameterTuningJob: * AIP_MODEL_DIR = `//model/` * AIP_CHECKPOINT_DIR = `//checkpoints/` * AIP_TENSORBOARD_LOG_DIR = `//logs/`" +}, +"enableDashboardAccess": { +"description": "Optional. Whether you want Vertex AI to enable access to the customized dashboard in training chief container. If set to `true`, you can access the dashboard at the URIs given by CustomJob.web_access_uris or Trial.web_access_uris (within HyperparameterTuningJob.trials).", +"type": "boolean" +}, +"enableWebAccess": { +"description": "Optional. Whether you want Vertex AI to enable [interactive shell access](https://cloud.google.com/vertex-ai/docs/training/monitor-debug-interactive-shell) to training containers. If set to `true`, you can access interactive shells at the URIs given by CustomJob.web_access_uris or Trial.web_access_uris (within HyperparameterTuningJob.trials).", +"type": "boolean" +}, +"experiment": { +"description": "Optional. The Experiment associated with this job. Format: `projects/{project}/locations/{location}/metadataStores/{metadataStores}/contexts/{experiment-name}`", +"type": "string" +}, +"experimentRun": { +"description": "Optional. The Experiment Run associated with this job. Format: `projects/{project}/locations/{location}/metadataStores/{metadataStores}/contexts/{experiment-name}-{experiment-run-name}`", +"type": "string" +}, +"models": { +"description": "Optional. The name of the Model resources for which to generate a mapping to artifact URIs. Applicable only to some of the Google-provided custom jobs. Format: `projects/{project}/locations/{location}/models/{model}` In order to retrieve a specific version of the model, also provide the version ID or version alias. Example: `projects/{project}/locations/{location}/models/{model}@2` or `projects/{project}/locations/{location}/models/{model}@golden` If no version ID or alias is specified, the \"default\" version will be returned. The \"default\" version alias is created for the first version of the model, and can be moved to other versions later on. There will be exactly one default version.", +"items": { +"type": "string" +}, +"type": "array" +}, +"network": { +"description": "Optional. The full name of the Compute Engine [network](/compute/docs/networks-and-firewalls#networks) to which the Job should be peered. For example, `projects/12345/global/networks/myVPC`. [Format](/compute/docs/reference/rest/v1/networks/insert) is of the form `projects/{project}/global/networks/{network}`. Where {project} is a project number, as in `12345`, and {network} is a network name. To specify this field, you must have already [configured VPC Network Peering for Vertex AI](https://cloud.google.com/vertex-ai/docs/general/vpc-peering). If this field is left unspecified, the job is not peered with any network.", +"type": "string" +}, +"persistentResourceId": { +"description": "Optional. The ID of the PersistentResource in the same Project and Location which to run If this is specified, the job will be run on existing machines held by the PersistentResource instead of on-demand short-live machines. The network and CMEK configs on the job should be consistent with those on the PersistentResource, otherwise, the job will be rejected.", +"type": "string" +}, +"protectedArtifactLocationId": { +"description": "The ID of the location to store protected artifacts. e.g. us-central1. Populate only when the location is different than CustomJob location. List of supported locations: https://cloud.google.com/vertex-ai/docs/general/locations", +"type": "string" +}, +"reservedIpRanges": { +"description": "Optional. A list of names for the reserved ip ranges under the VPC network that can be used for this job. If set, we will deploy the job within the provided ip ranges. Otherwise, the job will be deployed to any ip ranges under the provided VPC network. Example: ['vertex-ai-ip-range'].", +"items": { +"type": "string" +}, +"type": "array" +}, +"scheduling": { +"$ref": "GoogleCloudAiplatformV1Scheduling", +"description": "Scheduling options for a CustomJob." +}, +"serviceAccount": { +"description": "Specifies the service account for workload run-as account. Users submitting jobs must have act-as permission on this run-as account. If unspecified, the [Vertex AI Custom Code Service Agent](https://cloud.google.com/vertex-ai/docs/general/access-control#service-agents) for the CustomJob's project is used.", +"type": "string" +}, +"tensorboard": { +"description": "Optional. The name of a Vertex AI Tensorboard resource to which this CustomJob will upload Tensorboard logs. Format: `projects/{project}/locations/{location}/tensorboards/{tensorboard}`", +"type": "string" +}, +"workerPoolSpecs": { +"description": "Required. The spec of the worker pools including machine type and Docker image. All worker pools except the first one are optional and can be skipped by providing an empty value.", +"items": { +"$ref": "GoogleCloudAiplatformV1WorkerPoolSpec" +}, +"type": "array" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1DataItem": { +"description": "A piece of data in a Dataset. Could be an image, a video, a document or plain text.", +"id": "GoogleCloudAiplatformV1DataItem", +"properties": { +"createTime": { +"description": "Output only. Timestamp when this DataItem was created.", +"format": "google-datetime", +"readOnly": true, +"type": "string" +}, +"etag": { +"description": "Optional. Used to perform consistent read-modify-write updates. If not set, a blind \"overwrite\" update happens.", +"type": "string" +}, +"labels": { +"additionalProperties": { +"type": "string" +}, +"description": "Optional. The labels with user-defined metadata to organize your DataItems. Label keys and values can be no longer than 64 characters (Unicode codepoints), can only contain lowercase letters, numeric characters, underscores and dashes. International characters are allowed. No more than 64 user labels can be associated with one DataItem(System labels are excluded). See https://goo.gl/xmQnxf for more information and examples of labels. System reserved label keys are prefixed with \"aiplatform.googleapis.com/\" and are immutable.", +"type": "object" +}, +"name": { +"description": "Output only. The resource name of the DataItem.", +"readOnly": true, +"type": "string" +}, +"payload": { +"description": "Required. The data that the DataItem represents (for example, an image or a text snippet). The schema of the payload is stored in the parent Dataset's metadata schema's dataItemSchemaUri field.", +"type": "any" +}, +"satisfiesPzi": { +"description": "Output only. Reserved for future use.", +"readOnly": true, +"type": "boolean" +}, +"satisfiesPzs": { +"description": "Output only. Reserved for future use.", +"readOnly": true, +"type": "boolean" +}, +"updateTime": { +"description": "Output only. Timestamp when this DataItem was last updated.", +"format": "google-datetime", +"readOnly": true, +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1DataItemView": { +"description": "A container for a single DataItem and Annotations on it.", +"id": "GoogleCloudAiplatformV1DataItemView", +"properties": { +"annotations": { +"description": "The Annotations on the DataItem. If too many Annotations should be returned for the DataItem, this field will be truncated per annotations_limit in request. If it was, then the has_truncated_annotations will be set to true.", +"items": { +"$ref": "GoogleCloudAiplatformV1Annotation" +}, +"type": "array" +}, +"dataItem": { +"$ref": "GoogleCloudAiplatformV1DataItem", +"description": "The DataItem." +}, +"hasTruncatedAnnotations": { +"description": "True if and only if the Annotations field has been truncated. It happens if more Annotations for this DataItem met the request's annotation_filter than are allowed to be returned by annotations_limit. Note that if Annotations field is not being returned due to field mask, then this field will not be set to true no matter how many Annotations are there.", +"type": "boolean" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1DataLabelingJob": { +"description": "DataLabelingJob is used to trigger a human labeling job on unlabeled data from the following Dataset:", +"id": "GoogleCloudAiplatformV1DataLabelingJob", +"properties": { +"activeLearningConfig": { +"$ref": "GoogleCloudAiplatformV1ActiveLearningConfig", +"description": "Parameters that configure the active learning pipeline. Active learning will label the data incrementally via several iterations. For every iteration, it will select a batch of data based on the sampling strategy." +}, +"annotationLabels": { +"additionalProperties": { +"type": "string" +}, +"description": "Labels to assign to annotations generated by this DataLabelingJob. Label keys and values can be no longer than 64 characters (Unicode codepoints), can only contain lowercase letters, numeric characters, underscores and dashes. International characters are allowed. See https://goo.gl/xmQnxf for more information and examples of labels. System reserved label keys are prefixed with \"aiplatform.googleapis.com/\" and are immutable.", +"type": "object" +}, +"createTime": { +"description": "Output only. Timestamp when this DataLabelingJob was created.", +"format": "google-datetime", +"readOnly": true, +"type": "string" +}, +"currentSpend": { +"$ref": "GoogleTypeMoney", +"description": "Output only. Estimated cost(in US dollars) that the DataLabelingJob has incurred to date.", +"readOnly": true +}, +"datasets": { +"description": "Required. Dataset resource names. Right now we only support labeling from a single Dataset. Format: `projects/{project}/locations/{location}/datasets/{dataset}`", +"items": { +"type": "string" +}, +"type": "array" +}, +"displayName": { +"description": "Required. The user-defined name of the DataLabelingJob. The name can be up to 128 characters long and can consist of any UTF-8 characters. Display name of a DataLabelingJob.", +"type": "string" +}, +"encryptionSpec": { +"$ref": "GoogleCloudAiplatformV1EncryptionSpec", +"description": "Customer-managed encryption key spec for a DataLabelingJob. If set, this DataLabelingJob will be secured by this key. Note: Annotations created in the DataLabelingJob are associated with the EncryptionSpec of the Dataset they are exported to." +}, +"error": { +"$ref": "GoogleRpcStatus", +"description": "Output only. DataLabelingJob errors. It is only populated when job's state is `JOB_STATE_FAILED` or `JOB_STATE_CANCELLED`.", +"readOnly": true +}, +"inputs": { +"description": "Required. Input config parameters for the DataLabelingJob.", +"type": "any" +}, +"inputsSchemaUri": { +"description": "Required. Points to a YAML file stored on Google Cloud Storage describing the config for a specific type of DataLabelingJob. The schema files that can be used here are found in the https://storage.googleapis.com/google-cloud-aiplatform bucket in the /schema/datalabelingjob/inputs/ folder.", +"type": "string" +}, +"instructionUri": { +"description": "Required. The Google Cloud Storage location of the instruction pdf. This pdf is shared with labelers, and provides detailed description on how to label DataItems in Datasets.", +"type": "string" +}, +"labelerCount": { +"description": "Required. Number of labelers to work on each DataItem.", +"format": "int32", +"type": "integer" +}, +"labelingProgress": { +"description": "Output only. Current labeling job progress percentage scaled in interval [0, 100], indicating the percentage of DataItems that has been finished.", +"format": "int32", +"readOnly": true, +"type": "integer" +}, +"labels": { +"additionalProperties": { +"type": "string" +}, +"description": "The labels with user-defined metadata to organize your DataLabelingJobs. Label keys and values can be no longer than 64 characters (Unicode codepoints), can only contain lowercase letters, numeric characters, underscores and dashes. International characters are allowed. See https://goo.gl/xmQnxf for more information and examples of labels. System reserved label keys are prefixed with \"aiplatform.googleapis.com/\" and are immutable. Following system labels exist for each DataLabelingJob: * \"aiplatform.googleapis.com/schema\": output only, its value is the inputs_schema's title.", +"type": "object" +}, +"name": { +"description": "Output only. Resource name of the DataLabelingJob.", +"readOnly": true, +"type": "string" +}, +"specialistPools": { +"description": "The SpecialistPools' resource names associated with this job.", +"items": { +"type": "string" +}, +"type": "array" +}, +"state": { +"description": "Output only. The detailed state of the job.", +"enum": [ +"JOB_STATE_UNSPECIFIED", +"JOB_STATE_QUEUED", +"JOB_STATE_PENDING", +"JOB_STATE_RUNNING", +"JOB_STATE_SUCCEEDED", +"JOB_STATE_FAILED", +"JOB_STATE_CANCELLING", +"JOB_STATE_CANCELLED", +"JOB_STATE_PAUSED", +"JOB_STATE_EXPIRED", +"JOB_STATE_UPDATING", +"JOB_STATE_PARTIALLY_SUCCEEDED" +], +"enumDescriptions": [ +"The job state is unspecified.", +"The job has been just created or resumed and processing has not yet begun.", +"The service is preparing to run the job.", +"The job is in progress.", +"The job completed successfully.", +"The job failed.", +"The job is being cancelled. From this state the job may only go to either `JOB_STATE_SUCCEEDED`, `JOB_STATE_FAILED` or `JOB_STATE_CANCELLED`.", +"The job has been cancelled.", +"The job has been stopped, and can be resumed.", +"The job has expired.", +"The job is being updated. Only jobs in the `RUNNING` state can be updated. After updating, the job goes back to the `RUNNING` state.", +"The job is partially succeeded, some results may be missing due to errors." +], +"readOnly": true, +"type": "string" +}, +"updateTime": { +"description": "Output only. Timestamp when this DataLabelingJob was updated most recently.", +"format": "google-datetime", +"readOnly": true, +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1Dataset": { +"description": "A collection of DataItems and Annotations on them.", +"id": "GoogleCloudAiplatformV1Dataset", +"properties": { +"createTime": { +"description": "Output only. Timestamp when this Dataset was created.", +"format": "google-datetime", +"readOnly": true, +"type": "string" +}, +"dataItemCount": { +"description": "Output only. The number of DataItems in this Dataset. Only apply for non-structured Dataset.", +"format": "int64", +"readOnly": true, +"type": "string" +}, +"description": { +"description": "The description of the Dataset.", +"type": "string" +}, +"displayName": { +"description": "Required. The user-defined name of the Dataset. The name can be up to 128 characters long and can consist of any UTF-8 characters.", +"type": "string" +}, +"encryptionSpec": { +"$ref": "GoogleCloudAiplatformV1EncryptionSpec", +"description": "Customer-managed encryption key spec for a Dataset. If set, this Dataset and all sub-resources of this Dataset will be secured by this key." +}, +"etag": { +"description": "Used to perform consistent read-modify-write updates. If not set, a blind \"overwrite\" update happens.", +"type": "string" +}, +"labels": { +"additionalProperties": { +"type": "string" +}, +"description": "The labels with user-defined metadata to organize your Datasets. Label keys and values can be no longer than 64 characters (Unicode codepoints), can only contain lowercase letters, numeric characters, underscores and dashes. International characters are allowed. No more than 64 user labels can be associated with one Dataset (System labels are excluded). See https://goo.gl/xmQnxf for more information and examples of labels. System reserved label keys are prefixed with \"aiplatform.googleapis.com/\" and are immutable. Following system labels exist for each Dataset: * \"aiplatform.googleapis.com/dataset_metadata_schema\": output only, its value is the metadata_schema's title.", +"type": "object" +}, +"metadata": { +"description": "Required. Additional information about the Dataset.", +"type": "any" +}, +"metadataArtifact": { +"description": "Output only. The resource name of the Artifact that was created in MetadataStore when creating the Dataset. The Artifact resource name pattern is `projects/{project}/locations/{location}/metadataStores/{metadata_store}/artifacts/{artifact}`.", +"readOnly": true, +"type": "string" +}, +"metadataSchemaUri": { +"description": "Required. Points to a YAML file stored on Google Cloud Storage describing additional information about the Dataset. The schema is defined as an OpenAPI 3.0.2 Schema Object. The schema files that can be used here are found in gs://google-cloud-aiplatform/schema/dataset/metadata/.", +"type": "string" +}, +"modelReference": { +"description": "Optional. Reference to the public base model last used by the dataset. Only set for prompt datasets.", +"type": "string" +}, +"name": { +"description": "Output only. Identifier. The resource name of the Dataset. Format: `projects/{project}/locations/{location}/datasets/{dataset}`", +"readOnly": true, +"type": "string" +}, +"satisfiesPzi": { +"description": "Output only. Reserved for future use.", +"readOnly": true, +"type": "boolean" +}, +"satisfiesPzs": { +"description": "Output only. Reserved for future use.", +"readOnly": true, +"type": "boolean" +}, +"savedQueries": { +"description": "All SavedQueries belong to the Dataset will be returned in List/Get Dataset response. The annotation_specs field will not be populated except for UI cases which will only use annotation_spec_count. In CreateDataset request, a SavedQuery is created together if this field is set, up to one SavedQuery can be set in CreateDatasetRequest. The SavedQuery should not contain any AnnotationSpec.", +"items": { +"$ref": "GoogleCloudAiplatformV1SavedQuery" +}, +"type": "array" +}, +"updateTime": { +"description": "Output only. Timestamp when this Dataset was last updated.", +"format": "google-datetime", +"readOnly": true, +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1DatasetVersion": { +"description": "Describes the dataset version.", +"id": "GoogleCloudAiplatformV1DatasetVersion", +"properties": { +"bigQueryDatasetName": { +"description": "Output only. Name of the associated BigQuery dataset.", +"readOnly": true, +"type": "string" +}, +"createTime": { +"description": "Output only. Timestamp when this DatasetVersion was created.", +"format": "google-datetime", +"readOnly": true, +"type": "string" +}, +"displayName": { +"description": "The user-defined name of the DatasetVersion. The name can be up to 128 characters long and can consist of any UTF-8 characters.", +"type": "string" +}, +"etag": { +"description": "Used to perform consistent read-modify-write updates. If not set, a blind \"overwrite\" update happens.", +"type": "string" +}, +"metadata": { +"description": "Required. Output only. Additional information about the DatasetVersion.", +"readOnly": true, +"type": "any" +}, +"modelReference": { +"description": "Output only. Reference to the public base model last used by the dataset version. Only set for prompt dataset versions.", +"readOnly": true, +"type": "string" +}, +"name": { +"description": "Output only. Identifier. The resource name of the DatasetVersion.", +"readOnly": true, +"type": "string" +}, +"satisfiesPzi": { +"description": "Output only. Reserved for future use.", +"readOnly": true, +"type": "boolean" +}, +"satisfiesPzs": { +"description": "Output only. Reserved for future use.", +"readOnly": true, +"type": "boolean" +}, +"updateTime": { +"description": "Output only. Timestamp when this DatasetVersion was last updated.", +"format": "google-datetime", +"readOnly": true, +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1DedicatedResources": { +"description": "A description of resources that are dedicated to a DeployedModel, and that need a higher degree of manual configuration.", +"id": "GoogleCloudAiplatformV1DedicatedResources", +"properties": { +"autoscalingMetricSpecs": { +"description": "Immutable. The metric specifications that overrides a resource utilization metric (CPU utilization, accelerator's duty cycle, and so on) target value (default to 60 if not set). At most one entry is allowed per metric. If machine_spec.accelerator_count is above 0, the autoscaling will be based on both CPU utilization and accelerator's duty cycle metrics and scale up when either metrics exceeds its target value while scale down if both metrics are under their target value. The default target value is 60 for both metrics. If machine_spec.accelerator_count is 0, the autoscaling will be based on CPU utilization metric only with default target value 60 if not explicitly set. For example, in the case of Online Prediction, if you want to override target CPU utilization to 80, you should set autoscaling_metric_specs.metric_name to `aiplatform.googleapis.com/prediction/online/cpu/utilization` and autoscaling_metric_specs.target to `80`.", +"items": { +"$ref": "GoogleCloudAiplatformV1AutoscalingMetricSpec" +}, +"type": "array" +}, +"machineSpec": { +"$ref": "GoogleCloudAiplatformV1MachineSpec", +"description": "Required. Immutable. The specification of a single machine used by the prediction." +}, +"maxReplicaCount": { +"description": "Immutable. The maximum number of replicas this DeployedModel may be deployed on when the traffic against it increases. If the requested value is too large, the deployment will error, but if deployment succeeds then the ability to scale the model to that many replicas is guaranteed (barring service outages). If traffic against the DeployedModel increases beyond what its replicas at maximum may handle, a portion of the traffic will be dropped. If this value is not provided, will use min_replica_count as the default value. The value of this field impacts the charge against Vertex CPU and GPU quotas. Specifically, you will be charged for (max_replica_count * number of cores in the selected machine type) and (max_replica_count * number of GPUs per replica in the selected machine type).", +"format": "int32", +"type": "integer" +}, +"minReplicaCount": { +"description": "Required. Immutable. The minimum number of machine replicas this DeployedModel will be always deployed on. This value must be greater than or equal to 1. If traffic against the DeployedModel increases, it may dynamically be deployed onto more replicas, and as traffic decreases, some of these extra replicas may be freed.", +"format": "int32", +"type": "integer" +}, +"requiredReplicaCount": { +"description": "Optional. Number of required available replicas for the deployment to succeed. This field is only needed when partial model deployment/mutation is desired. If set, the model deploy/mutate operation will succeed once available_replica_count reaches required_replica_count, and the rest of the replicas will be retried. If not set, the default required_replica_count will be min_replica_count.", +"format": "int32", +"type": "integer" +}, +"spot": { +"description": "Optional. If true, schedule the deployment workload on [spot VMs](https://cloud.google.com/kubernetes-engine/docs/concepts/spot-vms).", +"type": "boolean" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1DeleteFeatureValuesOperationMetadata": { +"description": "Details of operations that delete Feature values.", +"id": "GoogleCloudAiplatformV1DeleteFeatureValuesOperationMetadata", +"properties": { +"genericMetadata": { +"$ref": "GoogleCloudAiplatformV1GenericOperationMetadata", +"description": "Operation metadata for Featurestore delete Features values." +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1DeleteFeatureValuesRequest": { +"description": "Request message for FeaturestoreService.DeleteFeatureValues.", +"id": "GoogleCloudAiplatformV1DeleteFeatureValuesRequest", +"properties": { +"selectEntity": { +"$ref": "GoogleCloudAiplatformV1DeleteFeatureValuesRequestSelectEntity", +"description": "Select feature values to be deleted by specifying entities." +}, +"selectTimeRangeAndFeature": { +"$ref": "GoogleCloudAiplatformV1DeleteFeatureValuesRequestSelectTimeRangeAndFeature", +"description": "Select feature values to be deleted by specifying time range and features." +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1DeleteFeatureValuesRequestSelectEntity": { +"description": "Message to select entity. If an entity id is selected, all the feature values corresponding to the entity id will be deleted, including the entityId.", +"id": "GoogleCloudAiplatformV1DeleteFeatureValuesRequestSelectEntity", +"properties": { +"entityIdSelector": { +"$ref": "GoogleCloudAiplatformV1EntityIdSelector", +"description": "Required. Selectors choosing feature values of which entity id to be deleted from the EntityType." +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1DeleteFeatureValuesRequestSelectTimeRangeAndFeature": { +"description": "Message to select time range and feature. Values of the selected feature generated within an inclusive time range will be deleted. Using this option permanently deletes the feature values from the specified feature IDs within the specified time range. This might include data from the online storage. If you want to retain any deleted historical data in the online storage, you must re-ingest it.", +"id": "GoogleCloudAiplatformV1DeleteFeatureValuesRequestSelectTimeRangeAndFeature", +"properties": { +"featureSelector": { +"$ref": "GoogleCloudAiplatformV1FeatureSelector", +"description": "Required. Selectors choosing which feature values to be deleted from the EntityType." +}, +"skipOnlineStorageDelete": { +"description": "If set, data will not be deleted from online storage. When time range is older than the data in online storage, setting this to be true will make the deletion have no impact on online serving.", +"type": "boolean" +}, +"timeRange": { +"$ref": "GoogleTypeInterval", +"description": "Required. Select feature generated within a half-inclusive time range. The time range is lower inclusive and upper exclusive." +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1DeleteFeatureValuesResponse": { +"description": "Response message for FeaturestoreService.DeleteFeatureValues.", +"id": "GoogleCloudAiplatformV1DeleteFeatureValuesResponse", +"properties": { +"selectEntity": { +"$ref": "GoogleCloudAiplatformV1DeleteFeatureValuesResponseSelectEntity", +"description": "Response for request specifying the entities to delete" +}, +"selectTimeRangeAndFeature": { +"$ref": "GoogleCloudAiplatformV1DeleteFeatureValuesResponseSelectTimeRangeAndFeature", +"description": "Response for request specifying time range and feature" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1DeleteFeatureValuesResponseSelectEntity": { +"description": "Response message if the request uses the SelectEntity option.", +"id": "GoogleCloudAiplatformV1DeleteFeatureValuesResponseSelectEntity", +"properties": { +"offlineStorageDeletedEntityRowCount": { +"description": "The count of deleted entity rows in the offline storage. Each row corresponds to the combination of an entity ID and a timestamp. One entity ID can have multiple rows in the offline storage.", +"format": "int64", +"type": "string" +}, +"onlineStorageDeletedEntityCount": { +"description": "The count of deleted entities in the online storage. Each entity ID corresponds to one entity.", +"format": "int64", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1DeleteFeatureValuesResponseSelectTimeRangeAndFeature": { +"description": "Response message if the request uses the SelectTimeRangeAndFeature option.", +"id": "GoogleCloudAiplatformV1DeleteFeatureValuesResponseSelectTimeRangeAndFeature", +"properties": { +"impactedFeatureCount": { +"description": "The count of the features or columns impacted. This is the same as the feature count in the request.", +"format": "int64", +"type": "string" +}, +"offlineStorageModifiedEntityRowCount": { +"description": "The count of modified entity rows in the offline storage. Each row corresponds to the combination of an entity ID and a timestamp. One entity ID can have multiple rows in the offline storage. Within each row, only the features specified in the request are deleted.", +"format": "int64", +"type": "string" +}, +"onlineStorageModifiedEntityCount": { +"description": "The count of modified entities in the online storage. Each entity ID corresponds to one entity. Within each entity, only the features specified in the request are deleted.", +"format": "int64", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1DeleteMetadataStoreOperationMetadata": { +"description": "Details of operations that perform MetadataService.DeleteMetadataStore.", +"id": "GoogleCloudAiplatformV1DeleteMetadataStoreOperationMetadata", +"properties": { +"genericMetadata": { +"$ref": "GoogleCloudAiplatformV1GenericOperationMetadata", +"description": "Operation metadata for deleting a MetadataStore." +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1DeleteOperationMetadata": { +"description": "Details of operations that perform deletes of any entities.", +"id": "GoogleCloudAiplatformV1DeleteOperationMetadata", +"properties": { +"genericMetadata": { +"$ref": "GoogleCloudAiplatformV1GenericOperationMetadata", +"description": "The common part of the operation metadata." +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1DeployIndexOperationMetadata": { +"description": "Runtime operation information for IndexEndpointService.DeployIndex.", +"id": "GoogleCloudAiplatformV1DeployIndexOperationMetadata", +"properties": { +"deployedIndexId": { +"description": "The unique index id specified by user", +"type": "string" +}, +"genericMetadata": { +"$ref": "GoogleCloudAiplatformV1GenericOperationMetadata", +"description": "The operation generic information." +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1DeployIndexRequest": { +"description": "Request message for IndexEndpointService.DeployIndex.", +"id": "GoogleCloudAiplatformV1DeployIndexRequest", +"properties": { +"deployedIndex": { +"$ref": "GoogleCloudAiplatformV1DeployedIndex", +"description": "Required. The DeployedIndex to be created within the IndexEndpoint." +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1DeployIndexResponse": { +"description": "Response message for IndexEndpointService.DeployIndex.", +"id": "GoogleCloudAiplatformV1DeployIndexResponse", +"properties": { +"deployedIndex": { +"$ref": "GoogleCloudAiplatformV1DeployedIndex", +"description": "The DeployedIndex that had been deployed in the IndexEndpoint." +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1DeployModelOperationMetadata": { +"description": "Runtime operation information for EndpointService.DeployModel.", +"id": "GoogleCloudAiplatformV1DeployModelOperationMetadata", +"properties": { +"genericMetadata": { +"$ref": "GoogleCloudAiplatformV1GenericOperationMetadata", +"description": "The operation generic information." +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1DeployModelRequest": { +"description": "Request message for EndpointService.DeployModel.", +"id": "GoogleCloudAiplatformV1DeployModelRequest", +"properties": { +"deployedModel": { +"$ref": "GoogleCloudAiplatformV1DeployedModel", +"description": "Required. The DeployedModel to be created within the Endpoint. Note that Endpoint.traffic_split must be updated for the DeployedModel to start receiving traffic, either as part of this call, or via EndpointService.UpdateEndpoint." +}, +"trafficSplit": { +"additionalProperties": { +"format": "int32", +"type": "integer" +}, +"description": "A map from a DeployedModel's ID to the percentage of this Endpoint's traffic that should be forwarded to that DeployedModel. If this field is non-empty, then the Endpoint's traffic_split will be overwritten with it. To refer to the ID of the just being deployed Model, a \"0\" should be used, and the actual ID of the new DeployedModel will be filled in its place by this method. The traffic percentage values must add up to 100. If this field is empty, then the Endpoint's traffic_split is not updated.", +"type": "object" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1DeployModelResponse": { +"description": "Response message for EndpointService.DeployModel.", +"id": "GoogleCloudAiplatformV1DeployModelResponse", +"properties": { +"deployedModel": { +"$ref": "GoogleCloudAiplatformV1DeployedModel", +"description": "The DeployedModel that had been deployed in the Endpoint." +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1DeployedIndex": { +"description": "A deployment of an Index. IndexEndpoints contain one or more DeployedIndexes.", +"id": "GoogleCloudAiplatformV1DeployedIndex", +"properties": { +"automaticResources": { +"$ref": "GoogleCloudAiplatformV1AutomaticResources", +"description": "Optional. A description of resources that the DeployedIndex uses, which to large degree are decided by Vertex AI, and optionally allows only a modest additional configuration. If min_replica_count is not set, the default value is 2 (we don't provide SLA when min_replica_count=1). If max_replica_count is not set, the default value is min_replica_count. The max allowed replica count is 1000." +}, +"createTime": { +"description": "Output only. Timestamp when the DeployedIndex was created.", +"format": "google-datetime", +"readOnly": true, +"type": "string" +}, +"dedicatedResources": { +"$ref": "GoogleCloudAiplatformV1DedicatedResources", +"description": "Optional. A description of resources that are dedicated to the DeployedIndex, and that need a higher degree of manual configuration. The field min_replica_count must be set to a value strictly greater than 0, or else validation will fail. We don't provide SLA when min_replica_count=1. If max_replica_count is not set, the default value is min_replica_count. The max allowed replica count is 1000. Available machine types for SMALL shard: e2-standard-2 and all machine types available for MEDIUM and LARGE shard. Available machine types for MEDIUM shard: e2-standard-16 and all machine types available for LARGE shard. Available machine types for LARGE shard: e2-highmem-16, n2d-standard-32. n1-standard-16 and n1-standard-32 are still available, but we recommend e2-standard-16 and e2-highmem-16 for cost efficiency." +}, +"deployedIndexAuthConfig": { +"$ref": "GoogleCloudAiplatformV1DeployedIndexAuthConfig", +"description": "Optional. If set, the authentication is enabled for the private endpoint." +}, +"deploymentGroup": { +"description": "Optional. The deployment group can be no longer than 64 characters (eg: 'test', 'prod'). If not set, we will use the 'default' deployment group. Creating `deployment_groups` with `reserved_ip_ranges` is a recommended practice when the peered network has multiple peering ranges. This creates your deployments from predictable IP spaces for easier traffic administration. Also, one deployment_group (except 'default') can only be used with the same reserved_ip_ranges which means if the deployment_group has been used with reserved_ip_ranges: [a, b, c], using it with [a, b] or [d, e] is disallowed. Note: we only support up to 5 deployment groups(not including 'default').", +"type": "string" +}, +"displayName": { +"description": "The display name of the DeployedIndex. If not provided upon creation, the Index's display_name is used.", +"type": "string" +}, +"enableAccessLogging": { +"description": "Optional. If true, private endpoint's access logs are sent to Cloud Logging. These logs are like standard server access logs, containing information like timestamp and latency for each MatchRequest. Note that logs may incur a cost, especially if the deployed index receives a high queries per second rate (QPS). Estimate your costs before enabling this option.", +"type": "boolean" +}, +"id": { +"description": "Required. The user specified ID of the DeployedIndex. The ID can be up to 128 characters long and must start with a letter and only contain letters, numbers, and underscores. The ID must be unique within the project it is created in.", +"type": "string" +}, +"index": { +"description": "Required. The name of the Index this is the deployment of. We may refer to this Index as the DeployedIndex's \"original\" Index.", +"type": "string" +}, +"indexSyncTime": { +"description": "Output only. The DeployedIndex may depend on various data on its original Index. Additionally when certain changes to the original Index are being done (e.g. when what the Index contains is being changed) the DeployedIndex may be asynchronously updated in the background to reflect these changes. If this timestamp's value is at least the Index.update_time of the original Index, it means that this DeployedIndex and the original Index are in sync. If this timestamp is older, then to see which updates this DeployedIndex already contains (and which it does not), one must list the operations that are running on the original Index. Only the successfully completed Operations with update_time equal or before this sync time are contained in this DeployedIndex.", +"format": "google-datetime", +"readOnly": true, +"type": "string" +}, +"privateEndpoints": { +"$ref": "GoogleCloudAiplatformV1IndexPrivateEndpoints", +"description": "Output only. Provides paths for users to send requests directly to the deployed index services running on Cloud via private services access. This field is populated if network is configured.", +"readOnly": true +}, +"pscAutomationConfigs": { +"description": "Optional. If set for PSC deployed index, PSC connection will be automatically created after deployment is done and the endpoint information is populated in private_endpoints.psc_automated_endpoints.", +"items": { +"$ref": "GoogleCloudAiplatformV1PSCAutomationConfig" +}, +"type": "array" +}, +"reservedIpRanges": { +"description": "Optional. A list of reserved ip ranges under the VPC network that can be used for this DeployedIndex. If set, we will deploy the index within the provided ip ranges. Otherwise, the index might be deployed to any ip ranges under the provided VPC network. The value should be the name of the address (https://cloud.google.com/compute/docs/reference/rest/v1/addresses) Example: ['vertex-ai-ip-range']. For more information about subnets and network IP ranges, please see https://cloud.google.com/vpc/docs/subnets#manually_created_subnet_ip_ranges.", +"items": { +"type": "string" +}, +"type": "array" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1DeployedIndexAuthConfig": { +"description": "Used to set up the auth on the DeployedIndex's private endpoint.", +"id": "GoogleCloudAiplatformV1DeployedIndexAuthConfig", +"properties": { +"authProvider": { +"$ref": "GoogleCloudAiplatformV1DeployedIndexAuthConfigAuthProvider", +"description": "Defines the authentication provider that the DeployedIndex uses." +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1DeployedIndexAuthConfigAuthProvider": { +"description": "Configuration for an authentication provider, including support for [JSON Web Token (JWT)](https://tools.ietf.org/html/draft-ietf-oauth-json-web-token-32).", +"id": "GoogleCloudAiplatformV1DeployedIndexAuthConfigAuthProvider", +"properties": { +"allowedIssuers": { +"description": "A list of allowed JWT issuers. Each entry must be a valid Google service account, in the following format: `service-account-name@project-id.iam.gserviceaccount.com`", +"items": { +"type": "string" +}, +"type": "array" +}, +"audiences": { +"description": "The list of JWT [audiences](https://tools.ietf.org/html/draft-ietf-oauth-json-web-token-32#section-4.1.3). that are allowed to access. A JWT containing any of these audiences will be accepted.", +"items": { +"type": "string" +}, +"type": "array" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1DeployedIndexRef": { +"description": "Points to a DeployedIndex.", +"id": "GoogleCloudAiplatformV1DeployedIndexRef", +"properties": { +"deployedIndexId": { +"description": "Immutable. The ID of the DeployedIndex in the above IndexEndpoint.", +"type": "string" +}, +"displayName": { +"description": "Output only. The display name of the DeployedIndex.", +"readOnly": true, +"type": "string" +}, +"indexEndpoint": { +"description": "Immutable. A resource name of the IndexEndpoint.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1DeployedModel": { +"description": "A deployment of a Model. Endpoints contain one or more DeployedModels.", +"id": "GoogleCloudAiplatformV1DeployedModel", +"properties": { +"automaticResources": { +"$ref": "GoogleCloudAiplatformV1AutomaticResources", +"description": "A description of resources that to large degree are decided by Vertex AI, and require only a modest additional configuration." +}, +"createTime": { +"description": "Output only. Timestamp when the DeployedModel was created.", +"format": "google-datetime", +"readOnly": true, +"type": "string" +}, +"dedicatedResources": { +"$ref": "GoogleCloudAiplatformV1DedicatedResources", +"description": "A description of resources that are dedicated to the DeployedModel, and that need a higher degree of manual configuration." +}, +"disableContainerLogging": { +"description": "For custom-trained Models and AutoML Tabular Models, the container of the DeployedModel instances will send `stderr` and `stdout` streams to Cloud Logging by default. Please note that the logs incur cost, which are subject to [Cloud Logging pricing](https://cloud.google.com/logging/pricing). User can disable container logging by setting this flag to true.", +"type": "boolean" +}, +"disableExplanations": { +"description": "If true, deploy the model without explainable feature, regardless the existence of Model.explanation_spec or explanation_spec.", +"type": "boolean" +}, +"displayName": { +"description": "The display name of the DeployedModel. If not provided upon creation, the Model's display_name is used.", +"type": "string" +}, +"enableAccessLogging": { +"description": "If true, online prediction access logs are sent to Cloud Logging. These logs are like standard server access logs, containing information like timestamp and latency for each prediction request. Note that logs may incur a cost, especially if your project receives prediction requests at a high queries per second rate (QPS). Estimate your costs before enabling this option.", +"type": "boolean" +}, +"explanationSpec": { +"$ref": "GoogleCloudAiplatformV1ExplanationSpec", +"description": "Explanation configuration for this DeployedModel. When deploying a Model using EndpointService.DeployModel, this value overrides the value of Model.explanation_spec. All fields of explanation_spec are optional in the request. If a field of explanation_spec is not populated, the value of the same field of Model.explanation_spec is inherited. If the corresponding Model.explanation_spec is not populated, all fields of the explanation_spec will be used for the explanation configuration." +}, +"fasterDeploymentConfig": { +"$ref": "GoogleCloudAiplatformV1FasterDeploymentConfig", +"description": "Configuration for faster model deployment." +}, +"id": { +"description": "Immutable. The ID of the DeployedModel. If not provided upon deployment, Vertex AI will generate a value for this ID. This value should be 1-10 characters, and valid characters are `/[0-9]/`.", +"type": "string" +}, +"model": { +"description": "Required. The resource name of the Model that this is the deployment of. Note that the Model may be in a different location than the DeployedModel's Endpoint. The resource name may contain version id or version alias to specify the version. Example: `projects/{project}/locations/{location}/models/{model}@2` or `projects/{project}/locations/{location}/models/{model}@golden` if no version is specified, the default version will be deployed.", +"type": "string" +}, +"modelVersionId": { +"description": "Output only. The version ID of the model that is deployed.", +"readOnly": true, +"type": "string" +}, +"privateEndpoints": { +"$ref": "GoogleCloudAiplatformV1PrivateEndpoints", +"description": "Output only. Provide paths for users to send predict/explain/health requests directly to the deployed model services running on Cloud via private services access. This field is populated if network is configured.", +"readOnly": true +}, +"serviceAccount": { +"description": "The service account that the DeployedModel's container runs as. Specify the email address of the service account. If this service account is not specified, the container runs as a service account that doesn't have access to the resource project. Users deploying the Model must have the `iam.serviceAccounts.actAs` permission on this service account.", +"type": "string" +}, +"sharedResources": { +"description": "The resource name of the shared DeploymentResourcePool to deploy on. Format: `projects/{project}/locations/{location}/deploymentResourcePools/{deployment_resource_pool}`", +"type": "string" +}, +"status": { +"$ref": "GoogleCloudAiplatformV1DeployedModelStatus", +"description": "Output only. Runtime status of the deployed model.", +"readOnly": true +}, +"systemLabels": { +"additionalProperties": { +"type": "string" +}, +"description": "System labels to apply to Model Garden deployments. System labels are managed by Google for internal use only.", +"type": "object" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1DeployedModelRef": { +"description": "Points to a DeployedModel.", +"id": "GoogleCloudAiplatformV1DeployedModelRef", +"properties": { +"deployedModelId": { +"description": "Immutable. An ID of a DeployedModel in the above Endpoint.", +"type": "string" +}, +"endpoint": { +"description": "Immutable. A resource name of an Endpoint.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1DeployedModelStatus": { +"description": "Runtime status of the deployed model.", +"id": "GoogleCloudAiplatformV1DeployedModelStatus", +"properties": { +"availableReplicaCount": { +"description": "Output only. The number of available replicas of the deployed model.", +"format": "int32", +"readOnly": true, +"type": "integer" +}, +"lastUpdateTime": { +"description": "Output only. The time at which the status was last updated.", +"format": "google-datetime", +"readOnly": true, +"type": "string" +}, +"message": { +"description": "Output only. The latest deployed model's status message (if any).", +"readOnly": true, +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1DeploymentResourcePool": { +"description": "A description of resources that can be shared by multiple DeployedModels, whose underlying specification consists of a DedicatedResources.", +"id": "GoogleCloudAiplatformV1DeploymentResourcePool", +"properties": { +"createTime": { +"description": "Output only. Timestamp when this DeploymentResourcePool was created.", +"format": "google-datetime", +"readOnly": true, +"type": "string" +}, +"dedicatedResources": { +"$ref": "GoogleCloudAiplatformV1DedicatedResources", +"description": "Required. The underlying DedicatedResources that the DeploymentResourcePool uses." +}, +"disableContainerLogging": { +"description": "If the DeploymentResourcePool is deployed with custom-trained Models or AutoML Tabular Models, the container(s) of the DeploymentResourcePool will send `stderr` and `stdout` streams to Cloud Logging by default. Please note that the logs incur cost, which are subject to [Cloud Logging pricing](https://cloud.google.com/logging/pricing). User can disable container logging by setting this flag to true.", +"type": "boolean" +}, +"encryptionSpec": { +"$ref": "GoogleCloudAiplatformV1EncryptionSpec", +"description": "Customer-managed encryption key spec for a DeploymentResourcePool. If set, this DeploymentResourcePool will be secured by this key. Endpoints and the DeploymentResourcePool they deploy in need to have the same EncryptionSpec." +}, +"name": { +"description": "Immutable. The resource name of the DeploymentResourcePool. Format: `projects/{project}/locations/{location}/deploymentResourcePools/{deployment_resource_pool}`", +"type": "string" +}, +"satisfiesPzi": { +"description": "Output only. Reserved for future use.", +"readOnly": true, +"type": "boolean" +}, +"satisfiesPzs": { +"description": "Output only. Reserved for future use.", +"readOnly": true, +"type": "boolean" +}, +"serviceAccount": { +"description": "The service account that the DeploymentResourcePool's container(s) run as. Specify the email address of the service account. If this service account is not specified, the container(s) run as a service account that doesn't have access to the resource project. Users deploying the Models to this DeploymentResourcePool must have the `iam.serviceAccounts.actAs` permission on this service account.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1DestinationFeatureSetting": { +"id": "GoogleCloudAiplatformV1DestinationFeatureSetting", +"properties": { +"destinationField": { +"description": "Specify the field name in the export destination. If not specified, Feature ID is used.", +"type": "string" +}, +"featureId": { +"description": "Required. The ID of the Feature to apply the setting to.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1DirectPredictRequest": { +"description": "Request message for PredictionService.DirectPredict.", +"id": "GoogleCloudAiplatformV1DirectPredictRequest", +"properties": { +"inputs": { +"description": "The prediction input.", +"items": { +"$ref": "GoogleCloudAiplatformV1Tensor" +}, +"type": "array" +}, +"parameters": { +"$ref": "GoogleCloudAiplatformV1Tensor", +"description": "The parameters that govern the prediction." +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1DirectPredictResponse": { +"description": "Response message for PredictionService.DirectPredict.", +"id": "GoogleCloudAiplatformV1DirectPredictResponse", +"properties": { +"outputs": { +"description": "The prediction output.", +"items": { +"$ref": "GoogleCloudAiplatformV1Tensor" +}, +"type": "array" +}, +"parameters": { +"$ref": "GoogleCloudAiplatformV1Tensor", +"description": "The parameters that govern the prediction." +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1DirectRawPredictRequest": { +"description": "Request message for PredictionService.DirectRawPredict.", +"id": "GoogleCloudAiplatformV1DirectRawPredictRequest", +"properties": { +"input": { +"description": "The prediction input.", +"format": "byte", +"type": "string" +}, +"methodName": { +"description": "Fully qualified name of the API method being invoked to perform predictions. Format: `/namespace.Service/Method/` Example: `/tensorflow.serving.PredictionService/Predict`", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1DirectRawPredictResponse": { +"description": "Response message for PredictionService.DirectRawPredict.", +"id": "GoogleCloudAiplatformV1DirectRawPredictResponse", +"properties": { +"output": { +"description": "The prediction output.", +"format": "byte", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1DirectUploadSource": { +"description": "The input content is encapsulated and uploaded in the request.", +"id": "GoogleCloudAiplatformV1DirectUploadSource", +"properties": {}, +"type": "object" +}, +"GoogleCloudAiplatformV1DiskSpec": { +"description": "Represents the spec of disk options.", +"id": "GoogleCloudAiplatformV1DiskSpec", +"properties": { +"bootDiskSizeGb": { +"description": "Size in GB of the boot disk (default is 100GB).", +"format": "int32", +"type": "integer" +}, +"bootDiskType": { +"description": "Type of the boot disk (default is \"pd-ssd\"). Valid values: \"pd-ssd\" (Persistent Disk Solid State Drive) or \"pd-standard\" (Persistent Disk Hard Disk Drive).", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1DoubleArray": { +"description": "A list of double values.", +"id": "GoogleCloudAiplatformV1DoubleArray", +"properties": { +"values": { +"description": "A list of double values.", +"items": { +"format": "double", +"type": "number" +}, +"type": "array" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1DynamicRetrievalConfig": { +"description": "Describes the options to customize dynamic retrieval.", +"id": "GoogleCloudAiplatformV1DynamicRetrievalConfig", +"properties": { +"dynamicThreshold": { +"description": "Optional. The threshold to be used in dynamic retrieval. If not set, a system default value is used.", +"format": "float", +"type": "number" +}, +"mode": { +"description": "The mode of the predictor to be used in dynamic retrieval.", +"enum": [ +"MODE_UNSPECIFIED", +"MODE_DYNAMIC" +], +"enumDescriptions": [ +"Always trigger retrieval.", +"Run retrieval only when system decides it is necessary." +], +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1EncryptionSpec": { +"description": "Represents a customer-managed encryption key spec that can be applied to a top-level resource.", +"id": "GoogleCloudAiplatformV1EncryptionSpec", +"properties": { +"kmsKeyName": { +"description": "Required. The Cloud KMS resource identifier of the customer managed encryption key used to protect a resource. Has the form: `projects/my-project/locations/my-region/keyRings/my-kr/cryptoKeys/my-key`. The key needs to be in the same region as where the compute resource is created.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1Endpoint": { +"description": "Models are deployed into it, and afterwards Endpoint is called to obtain predictions and explanations.", +"id": "GoogleCloudAiplatformV1Endpoint", +"properties": { +"clientConnectionConfig": { +"$ref": "GoogleCloudAiplatformV1ClientConnectionConfig", +"description": "Configurations that are applied to the endpoint for online prediction." +}, +"createTime": { +"description": "Output only. Timestamp when this Endpoint was created.", +"format": "google-datetime", +"readOnly": true, +"type": "string" +}, +"dedicatedEndpointDns": { +"description": "Output only. DNS of the dedicated endpoint. Will only be populated if dedicated_endpoint_enabled is true. Format: `https://{endpoint_id}.{region}-{project_number}.prediction.vertexai.goog`.", +"readOnly": true, +"type": "string" +}, +"dedicatedEndpointEnabled": { +"description": "If true, the endpoint will be exposed through a dedicated DNS [Endpoint.dedicated_endpoint_dns]. Your request to the dedicated DNS will be isolated from other users' traffic and will have better performance and reliability. Note: Once you enabled dedicated endpoint, you won't be able to send request to the shared DNS {region}-aiplatform.googleapis.com. The limitation will be removed soon.", +"type": "boolean" +}, +"deployedModels": { +"description": "Output only. The models deployed in this Endpoint. To add or remove DeployedModels use EndpointService.DeployModel and EndpointService.UndeployModel respectively.", +"items": { +"$ref": "GoogleCloudAiplatformV1DeployedModel" +}, +"readOnly": true, +"type": "array" +}, +"description": { +"description": "The description of the Endpoint.", +"type": "string" +}, +"displayName": { +"description": "Required. The display name of the Endpoint. The name can be up to 128 characters long and can consist of any UTF-8 characters.", +"type": "string" +}, +"enablePrivateServiceConnect": { +"deprecated": true, +"description": "Deprecated: If true, expose the Endpoint via private service connect. Only one of the fields, network or enable_private_service_connect, can be set.", +"type": "boolean" +}, +"encryptionSpec": { +"$ref": "GoogleCloudAiplatformV1EncryptionSpec", +"description": "Customer-managed encryption key spec for an Endpoint. If set, this Endpoint and all sub-resources of this Endpoint will be secured by this key." +}, +"etag": { +"description": "Used to perform consistent read-modify-write updates. If not set, a blind \"overwrite\" update happens.", +"type": "string" +}, +"labels": { +"additionalProperties": { +"type": "string" +}, +"description": "The labels with user-defined metadata to organize your Endpoints. Label keys and values can be no longer than 64 characters (Unicode codepoints), can only contain lowercase letters, numeric characters, underscores and dashes. International characters are allowed. See https://goo.gl/xmQnxf for more information and examples of labels.", +"type": "object" +}, +"modelDeploymentMonitoringJob": { +"description": "Output only. Resource name of the Model Monitoring job associated with this Endpoint if monitoring is enabled by JobService.CreateModelDeploymentMonitoringJob. Format: `projects/{project}/locations/{location}/modelDeploymentMonitoringJobs/{model_deployment_monitoring_job}`", +"readOnly": true, +"type": "string" +}, +"name": { +"description": "Output only. The resource name of the Endpoint.", +"readOnly": true, +"type": "string" +}, +"network": { +"description": "Optional. The full name of the Google Compute Engine [network](https://cloud.google.com//compute/docs/networks-and-firewalls#networks) to which the Endpoint should be peered. Private services access must already be configured for the network. If left unspecified, the Endpoint is not peered with any network. Only one of the fields, network or enable_private_service_connect, can be set. [Format](https://cloud.google.com/compute/docs/reference/rest/v1/networks/insert): `projects/{project}/global/networks/{network}`. Where `{project}` is a project number, as in `12345`, and `{network}` is network name.", +"type": "string" +}, +"predictRequestResponseLoggingConfig": { +"$ref": "GoogleCloudAiplatformV1PredictRequestResponseLoggingConfig", +"description": "Configures the request-response logging for online prediction." +}, +"privateServiceConnectConfig": { +"$ref": "GoogleCloudAiplatformV1PrivateServiceConnectConfig", +"description": "Optional. Configuration for private service connect. network and private_service_connect_config are mutually exclusive." +}, +"satisfiesPzi": { +"description": "Output only. Reserved for future use.", +"readOnly": true, +"type": "boolean" +}, +"satisfiesPzs": { +"description": "Output only. Reserved for future use.", +"readOnly": true, +"type": "boolean" +}, +"trafficSplit": { +"additionalProperties": { +"format": "int32", +"type": "integer" +}, +"description": "A map from a DeployedModel's ID to the percentage of this Endpoint's traffic that should be forwarded to that DeployedModel. If a DeployedModel's ID is not listed in this map, then it receives no traffic. The traffic percentage values must add up to 100, or map must be empty if the Endpoint is to not accept any traffic at a moment.", +"type": "object" +}, +"updateTime": { +"description": "Output only. Timestamp when this Endpoint was last updated.", +"format": "google-datetime", +"readOnly": true, +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1EntityIdSelector": { +"description": "Selector for entityId. Getting ids from the given source.", +"id": "GoogleCloudAiplatformV1EntityIdSelector", +"properties": { +"csvSource": { +"$ref": "GoogleCloudAiplatformV1CsvSource", +"description": "Source of Csv" +}, +"entityIdField": { +"description": "Source column that holds entity IDs. If not provided, entity IDs are extracted from the column named entity_id.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1EntityType": { +"description": "An entity type is a type of object in a system that needs to be modeled and have stored information about. For example, driver is an entity type, and driver0 is an instance of an entity type driver.", +"id": "GoogleCloudAiplatformV1EntityType", +"properties": { +"createTime": { +"description": "Output only. Timestamp when this EntityType was created.", +"format": "google-datetime", +"readOnly": true, +"type": "string" +}, +"description": { +"description": "Optional. Description of the EntityType.", +"type": "string" +}, +"etag": { +"description": "Optional. Used to perform a consistent read-modify-write updates. If not set, a blind \"overwrite\" update happens.", +"type": "string" +}, +"labels": { +"additionalProperties": { +"type": "string" +}, +"description": "Optional. The labels with user-defined metadata to organize your EntityTypes. Label keys and values can be no longer than 64 characters (Unicode codepoints), can only contain lowercase letters, numeric characters, underscores and dashes. International characters are allowed. See https://goo.gl/xmQnxf for more information on and examples of labels. No more than 64 user labels can be associated with one EntityType (System labels are excluded).\" System reserved label keys are prefixed with \"aiplatform.googleapis.com/\" and are immutable.", +"type": "object" +}, +"monitoringConfig": { +"$ref": "GoogleCloudAiplatformV1FeaturestoreMonitoringConfig", +"description": "Optional. The default monitoring configuration for all Features with value type (Feature.ValueType) BOOL, STRING, DOUBLE or INT64 under this EntityType. If this is populated with [FeaturestoreMonitoringConfig.monitoring_interval] specified, snapshot analysis monitoring is enabled. Otherwise, snapshot analysis monitoring is disabled." +}, +"name": { +"description": "Immutable. Name of the EntityType. Format: `projects/{project}/locations/{location}/featurestores/{featurestore}/entityTypes/{entity_type}` The last part entity_type is assigned by the client. The entity_type can be up to 64 characters long and can consist only of ASCII Latin letters A-Z and a-z and underscore(_), and ASCII digits 0-9 starting with a letter. The value will be unique given a featurestore.", +"type": "string" +}, +"offlineStorageTtlDays": { +"description": "Optional. Config for data retention policy in offline storage. TTL in days for feature values that will be stored in offline storage. The Feature Store offline storage periodically removes obsolete feature values older than `offline_storage_ttl_days` since the feature generation time. If unset (or explicitly set to 0), default to 4000 days TTL.", +"format": "int32", +"type": "integer" +}, +"satisfiesPzi": { +"description": "Output only. Reserved for future use.", +"readOnly": true, +"type": "boolean" +}, +"satisfiesPzs": { +"description": "Output only. Reserved for future use.", +"readOnly": true, +"type": "boolean" +}, +"updateTime": { +"description": "Output only. Timestamp when this EntityType was most recently updated.", +"format": "google-datetime", +"readOnly": true, +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1EnvVar": { +"description": "Represents an environment variable present in a Container or Python Module.", +"id": "GoogleCloudAiplatformV1EnvVar", +"properties": { +"name": { +"description": "Required. Name of the environment variable. Must be a valid C identifier.", +"type": "string" +}, +"value": { +"description": "Required. Variables that reference a $(VAR_NAME) are expanded using the previous defined environment variables in the container and any service environment variables. If a variable cannot be resolved, the reference in the input string will be unchanged. The $(VAR_NAME) syntax can be escaped with a double $$, ie: $$(VAR_NAME). Escaped references will never be expanded, regardless of whether the variable exists or not.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1ErrorAnalysisAnnotation": { +"description": "Model error analysis for each annotation.", +"id": "GoogleCloudAiplatformV1ErrorAnalysisAnnotation", +"properties": { +"attributedItems": { +"description": "Attributed items for a given annotation, typically representing neighbors from the training sets constrained by the query type.", +"items": { +"$ref": "GoogleCloudAiplatformV1ErrorAnalysisAnnotationAttributedItem" +}, +"type": "array" +}, +"outlierScore": { +"description": "The outlier score of this annotated item. Usually defined as the min of all distances from attributed items.", +"format": "double", +"type": "number" +}, +"outlierThreshold": { +"description": "The threshold used to determine if this annotation is an outlier or not.", +"format": "double", +"type": "number" +}, +"queryType": { +"description": "The query type used for finding the attributed items.", +"enum": [ +"QUERY_TYPE_UNSPECIFIED", +"ALL_SIMILAR", +"SAME_CLASS_SIMILAR", +"SAME_CLASS_DISSIMILAR" +], +"enumDescriptions": [ +"Unspecified query type for model error analysis.", +"Query similar samples across all classes in the dataset.", +"Query similar samples from the same class of the input sample.", +"Query dissimilar samples from the same class of the input sample." +], +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1ErrorAnalysisAnnotationAttributedItem": { +"description": "Attributed items for a given annotation, typically representing neighbors from the training sets constrained by the query type.", +"id": "GoogleCloudAiplatformV1ErrorAnalysisAnnotationAttributedItem", +"properties": { +"annotationResourceName": { +"description": "The unique ID for each annotation. Used by FE to allocate the annotation in DB.", +"type": "string" +}, +"distance": { +"description": "The distance of this item to the annotation.", +"format": "double", +"type": "number" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1EvaluateInstancesRequest": { +"description": "Request message for EvaluationService.EvaluateInstances.", +"id": "GoogleCloudAiplatformV1EvaluateInstancesRequest", +"properties": { +"bleuInput": { +"$ref": "GoogleCloudAiplatformV1BleuInput", +"description": "Instances and metric spec for bleu metric." +}, +"coherenceInput": { +"$ref": "GoogleCloudAiplatformV1CoherenceInput", +"description": "Input for coherence metric." +}, +"cometInput": { +"$ref": "GoogleCloudAiplatformV1CometInput", +"description": "Translation metrics. Input for Comet metric." +}, +"exactMatchInput": { +"$ref": "GoogleCloudAiplatformV1ExactMatchInput", +"description": "Auto metric instances. Instances and metric spec for exact match metric." +}, +"fluencyInput": { +"$ref": "GoogleCloudAiplatformV1FluencyInput", +"description": "LLM-based metric instance. General text generation metrics, applicable to other categories. Input for fluency metric." +}, +"fulfillmentInput": { +"$ref": "GoogleCloudAiplatformV1FulfillmentInput", +"description": "Input for fulfillment metric." +}, +"groundednessInput": { +"$ref": "GoogleCloudAiplatformV1GroundednessInput", +"description": "Input for groundedness metric." +}, +"metricxInput": { +"$ref": "GoogleCloudAiplatformV1MetricxInput", +"description": "Input for Metricx metric." +}, +"pairwiseMetricInput": { +"$ref": "GoogleCloudAiplatformV1PairwiseMetricInput", +"description": "Input for pairwise metric." +}, +"pairwiseQuestionAnsweringQualityInput": { +"$ref": "GoogleCloudAiplatformV1PairwiseQuestionAnsweringQualityInput", +"description": "Input for pairwise question answering quality metric." +}, +"pairwiseSummarizationQualityInput": { +"$ref": "GoogleCloudAiplatformV1PairwiseSummarizationQualityInput", +"description": "Input for pairwise summarization quality metric." +}, +"pointwiseMetricInput": { +"$ref": "GoogleCloudAiplatformV1PointwiseMetricInput", +"description": "Input for pointwise metric." +}, +"questionAnsweringCorrectnessInput": { +"$ref": "GoogleCloudAiplatformV1QuestionAnsweringCorrectnessInput", +"description": "Input for question answering correctness metric." +}, +"questionAnsweringHelpfulnessInput": { +"$ref": "GoogleCloudAiplatformV1QuestionAnsweringHelpfulnessInput", +"description": "Input for question answering helpfulness metric." +}, +"questionAnsweringQualityInput": { +"$ref": "GoogleCloudAiplatformV1QuestionAnsweringQualityInput", +"description": "Input for question answering quality metric." +}, +"questionAnsweringRelevanceInput": { +"$ref": "GoogleCloudAiplatformV1QuestionAnsweringRelevanceInput", +"description": "Input for question answering relevance metric." +}, +"rougeInput": { +"$ref": "GoogleCloudAiplatformV1RougeInput", +"description": "Instances and metric spec for rouge metric." +}, +"safetyInput": { +"$ref": "GoogleCloudAiplatformV1SafetyInput", +"description": "Input for safety metric." +}, +"summarizationHelpfulnessInput": { +"$ref": "GoogleCloudAiplatformV1SummarizationHelpfulnessInput", +"description": "Input for summarization helpfulness metric." +}, +"summarizationQualityInput": { +"$ref": "GoogleCloudAiplatformV1SummarizationQualityInput", +"description": "Input for summarization quality metric." +}, +"summarizationVerbosityInput": { +"$ref": "GoogleCloudAiplatformV1SummarizationVerbosityInput", +"description": "Input for summarization verbosity metric." +}, +"toolCallValidInput": { +"$ref": "GoogleCloudAiplatformV1ToolCallValidInput", +"description": "Tool call metric instances. Input for tool call valid metric." +}, +"toolNameMatchInput": { +"$ref": "GoogleCloudAiplatformV1ToolNameMatchInput", +"description": "Input for tool name match metric." +}, +"toolParameterKeyMatchInput": { +"$ref": "GoogleCloudAiplatformV1ToolParameterKeyMatchInput", +"description": "Input for tool parameter key match metric." +}, +"toolParameterKvMatchInput": { +"$ref": "GoogleCloudAiplatformV1ToolParameterKVMatchInput", +"description": "Input for tool parameter key value match metric." +}, +"trajectoryAnyOrderMatchInput": { +"$ref": "GoogleCloudAiplatformV1TrajectoryAnyOrderMatchInput", +"description": "Input for trajectory match any order metric." +}, +"trajectoryExactMatchInput": { +"$ref": "GoogleCloudAiplatformV1TrajectoryExactMatchInput", +"description": "Input for trajectory exact match metric." +}, +"trajectoryInOrderMatchInput": { +"$ref": "GoogleCloudAiplatformV1TrajectoryInOrderMatchInput", +"description": "Input for trajectory in order match metric." +}, +"trajectoryPrecisionInput": { +"$ref": "GoogleCloudAiplatformV1TrajectoryPrecisionInput", +"description": "Input for trajectory precision metric." +}, +"trajectoryRecallInput": { +"$ref": "GoogleCloudAiplatformV1TrajectoryRecallInput", +"description": "Input for trajectory recall metric." +}, +"trajectorySingleToolUseInput": { +"$ref": "GoogleCloudAiplatformV1TrajectorySingleToolUseInput", +"description": "Input for trajectory single tool use metric." +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1EvaluateInstancesResponse": { +"description": "Response message for EvaluationService.EvaluateInstances.", +"id": "GoogleCloudAiplatformV1EvaluateInstancesResponse", +"properties": { +"bleuResults": { +"$ref": "GoogleCloudAiplatformV1BleuResults", +"description": "Results for bleu metric." +}, +"coherenceResult": { +"$ref": "GoogleCloudAiplatformV1CoherenceResult", +"description": "Result for coherence metric." +}, +"cometResult": { +"$ref": "GoogleCloudAiplatformV1CometResult", +"description": "Translation metrics. Result for Comet metric." +}, +"exactMatchResults": { +"$ref": "GoogleCloudAiplatformV1ExactMatchResults", +"description": "Auto metric evaluation results. Results for exact match metric." +}, +"fluencyResult": { +"$ref": "GoogleCloudAiplatformV1FluencyResult", +"description": "LLM-based metric evaluation result. General text generation metrics, applicable to other categories. Result for fluency metric." +}, +"fulfillmentResult": { +"$ref": "GoogleCloudAiplatformV1FulfillmentResult", +"description": "Result for fulfillment metric." +}, +"groundednessResult": { +"$ref": "GoogleCloudAiplatformV1GroundednessResult", +"description": "Result for groundedness metric." +}, +"metricxResult": { +"$ref": "GoogleCloudAiplatformV1MetricxResult", +"description": "Result for Metricx metric." +}, +"pairwiseMetricResult": { +"$ref": "GoogleCloudAiplatformV1PairwiseMetricResult", +"description": "Result for pairwise metric." +}, +"pairwiseQuestionAnsweringQualityResult": { +"$ref": "GoogleCloudAiplatformV1PairwiseQuestionAnsweringQualityResult", +"description": "Result for pairwise question answering quality metric." +}, +"pairwiseSummarizationQualityResult": { +"$ref": "GoogleCloudAiplatformV1PairwiseSummarizationQualityResult", +"description": "Result for pairwise summarization quality metric." +}, +"pointwiseMetricResult": { +"$ref": "GoogleCloudAiplatformV1PointwiseMetricResult", +"description": "Generic metrics. Result for pointwise metric." +}, +"questionAnsweringCorrectnessResult": { +"$ref": "GoogleCloudAiplatformV1QuestionAnsweringCorrectnessResult", +"description": "Result for question answering correctness metric." +}, +"questionAnsweringHelpfulnessResult": { +"$ref": "GoogleCloudAiplatformV1QuestionAnsweringHelpfulnessResult", +"description": "Result for question answering helpfulness metric." +}, +"questionAnsweringQualityResult": { +"$ref": "GoogleCloudAiplatformV1QuestionAnsweringQualityResult", +"description": "Question answering only metrics. Result for question answering quality metric." +}, +"questionAnsweringRelevanceResult": { +"$ref": "GoogleCloudAiplatformV1QuestionAnsweringRelevanceResult", +"description": "Result for question answering relevance metric." +}, +"rougeResults": { +"$ref": "GoogleCloudAiplatformV1RougeResults", +"description": "Results for rouge metric." +}, +"safetyResult": { +"$ref": "GoogleCloudAiplatformV1SafetyResult", +"description": "Result for safety metric." +}, +"summarizationHelpfulnessResult": { +"$ref": "GoogleCloudAiplatformV1SummarizationHelpfulnessResult", +"description": "Result for summarization helpfulness metric." +}, +"summarizationQualityResult": { +"$ref": "GoogleCloudAiplatformV1SummarizationQualityResult", +"description": "Summarization only metrics. Result for summarization quality metric." +}, +"summarizationVerbosityResult": { +"$ref": "GoogleCloudAiplatformV1SummarizationVerbosityResult", +"description": "Result for summarization verbosity metric." +}, +"toolCallValidResults": { +"$ref": "GoogleCloudAiplatformV1ToolCallValidResults", +"description": "Tool call metrics. Results for tool call valid metric." +}, +"toolNameMatchResults": { +"$ref": "GoogleCloudAiplatformV1ToolNameMatchResults", +"description": "Results for tool name match metric." +}, +"toolParameterKeyMatchResults": { +"$ref": "GoogleCloudAiplatformV1ToolParameterKeyMatchResults", +"description": "Results for tool parameter key match metric." +}, +"toolParameterKvMatchResults": { +"$ref": "GoogleCloudAiplatformV1ToolParameterKVMatchResults", +"description": "Results for tool parameter key value match metric." +}, +"trajectoryAnyOrderMatchResults": { +"$ref": "GoogleCloudAiplatformV1TrajectoryAnyOrderMatchResults", +"description": "Result for trajectory any order match metric." +}, +"trajectoryExactMatchResults": { +"$ref": "GoogleCloudAiplatformV1TrajectoryExactMatchResults", +"description": "Result for trajectory exact match metric." +}, +"trajectoryInOrderMatchResults": { +"$ref": "GoogleCloudAiplatformV1TrajectoryInOrderMatchResults", +"description": "Result for trajectory in order match metric." +}, +"trajectoryPrecisionResults": { +"$ref": "GoogleCloudAiplatformV1TrajectoryPrecisionResults", +"description": "Result for trajectory precision metric." +}, +"trajectoryRecallResults": { +"$ref": "GoogleCloudAiplatformV1TrajectoryRecallResults", +"description": "Results for trajectory recall metric." +}, +"trajectorySingleToolUseResults": { +"$ref": "GoogleCloudAiplatformV1TrajectorySingleToolUseResults", +"description": "Results for trajectory single tool use metric." +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1EvaluatedAnnotation": { +"description": "True positive, false positive, or false negative. EvaluatedAnnotation is only available under ModelEvaluationSlice with slice of `annotationSpec` dimension.", +"id": "GoogleCloudAiplatformV1EvaluatedAnnotation", +"properties": { +"dataItemPayload": { +"description": "Output only. The data item payload that the Model predicted this EvaluatedAnnotation on.", +"readOnly": true, +"type": "any" +}, +"errorAnalysisAnnotations": { +"description": "Annotations of model error analysis results.", +"items": { +"$ref": "GoogleCloudAiplatformV1ErrorAnalysisAnnotation" +}, +"type": "array" +}, +"evaluatedDataItemViewId": { +"description": "Output only. ID of the EvaluatedDataItemView under the same ancestor ModelEvaluation. The EvaluatedDataItemView consists of all ground truths and predictions on data_item_payload.", +"readOnly": true, +"type": "string" +}, +"explanations": { +"description": "Explanations of predictions. Each element of the explanations indicates the explanation for one explanation Method. The attributions list in the EvaluatedAnnotationExplanation.explanation object corresponds to the predictions list. For example, the second element in the attributions list explains the second element in the predictions list.", +"items": { +"$ref": "GoogleCloudAiplatformV1EvaluatedAnnotationExplanation" +}, +"type": "array" +}, +"groundTruths": { +"description": "Output only. The ground truth Annotations, i.e. the Annotations that exist in the test data the Model is evaluated on. For true positive, there is one and only one ground truth annotation, which matches the only prediction in predictions. For false positive, there are zero or more ground truth annotations that are similar to the only prediction in predictions, but not enough for a match. For false negative, there is one and only one ground truth annotation, which doesn't match any predictions created by the model. The schema of the ground truth is stored in ModelEvaluation.annotation_schema_uri", +"items": { +"type": "any" +}, +"readOnly": true, +"type": "array" +}, +"predictions": { +"description": "Output only. The model predicted annotations. For true positive, there is one and only one prediction, which matches the only one ground truth annotation in ground_truths. For false positive, there is one and only one prediction, which doesn't match any ground truth annotation of the corresponding data_item_view_id. For false negative, there are zero or more predictions which are similar to the only ground truth annotation in ground_truths but not enough for a match. The schema of the prediction is stored in ModelEvaluation.annotation_schema_uri", +"items": { +"type": "any" +}, +"readOnly": true, +"type": "array" +}, +"type": { +"description": "Output only. Type of the EvaluatedAnnotation.", +"enum": [ +"EVALUATED_ANNOTATION_TYPE_UNSPECIFIED", +"TRUE_POSITIVE", +"FALSE_POSITIVE", +"FALSE_NEGATIVE" +], +"enumDescriptions": [ +"Invalid value.", +"The EvaluatedAnnotation is a true positive. It has a prediction created by the Model and a ground truth Annotation which the prediction matches.", +"The EvaluatedAnnotation is false positive. It has a prediction created by the Model which does not match any ground truth annotation.", +"The EvaluatedAnnotation is false negative. It has a ground truth annotation which is not matched by any of the model created predictions." +], +"readOnly": true, +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1EvaluatedAnnotationExplanation": { +"description": "Explanation result of the prediction produced by the Model.", +"id": "GoogleCloudAiplatformV1EvaluatedAnnotationExplanation", +"properties": { +"explanation": { +"$ref": "GoogleCloudAiplatformV1Explanation", +"description": "Explanation attribution response details." +}, +"explanationType": { +"description": "Explanation type. For AutoML Image Classification models, possible values are: * `image-integrated-gradients` * `image-xrai`", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1Event": { +"description": "An edge describing the relationship between an Artifact and an Execution in a lineage graph.", +"id": "GoogleCloudAiplatformV1Event", +"properties": { +"artifact": { +"description": "Required. The relative resource name of the Artifact in the Event.", +"type": "string" +}, +"eventTime": { +"description": "Output only. Time the Event occurred.", +"format": "google-datetime", +"readOnly": true, +"type": "string" +}, +"execution": { +"description": "Output only. The relative resource name of the Execution in the Event.", +"readOnly": true, +"type": "string" +}, +"labels": { +"additionalProperties": { +"type": "string" +}, +"description": "The labels with user-defined metadata to annotate Events. Label keys and values can be no longer than 64 characters (Unicode codepoints), can only contain lowercase letters, numeric characters, underscores and dashes. International characters are allowed. No more than 64 user labels can be associated with one Event (System labels are excluded). See https://goo.gl/xmQnxf for more information and examples of labels. System reserved label keys are prefixed with \"aiplatform.googleapis.com/\" and are immutable.", +"type": "object" +}, +"type": { +"description": "Required. The type of the Event.", +"enum": [ +"TYPE_UNSPECIFIED", +"INPUT", +"OUTPUT" +], +"enumDescriptions": [ +"Unspecified whether input or output of the Execution.", +"An input of the Execution.", +"An output of the Execution." +], +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1ExactMatchInput": { +"description": "Input for exact match metric.", +"id": "GoogleCloudAiplatformV1ExactMatchInput", +"properties": { +"instances": { +"description": "Required. Repeated exact match instances.", +"items": { +"$ref": "GoogleCloudAiplatformV1ExactMatchInstance" +}, +"type": "array" +}, +"metricSpec": { +"$ref": "GoogleCloudAiplatformV1ExactMatchSpec", +"description": "Required. Spec for exact match metric." +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1ExactMatchInstance": { +"description": "Spec for exact match instance.", +"id": "GoogleCloudAiplatformV1ExactMatchInstance", +"properties": { +"prediction": { +"description": "Required. Output of the evaluated model.", +"type": "string" +}, +"reference": { +"description": "Required. Ground truth used to compare against the prediction.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1ExactMatchMetricValue": { +"description": "Exact match metric value for an instance.", +"id": "GoogleCloudAiplatformV1ExactMatchMetricValue", +"properties": { +"score": { +"description": "Output only. Exact match score.", +"format": "float", +"readOnly": true, +"type": "number" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1ExactMatchResults": { +"description": "Results for exact match metric.", +"id": "GoogleCloudAiplatformV1ExactMatchResults", +"properties": { +"exactMatchMetricValues": { +"description": "Output only. Exact match metric values.", +"items": { +"$ref": "GoogleCloudAiplatformV1ExactMatchMetricValue" +}, +"readOnly": true, +"type": "array" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1ExactMatchSpec": { +"description": "Spec for exact match metric - returns 1 if prediction and reference exactly matches, otherwise 0.", +"id": "GoogleCloudAiplatformV1ExactMatchSpec", +"properties": {}, +"type": "object" +}, +"GoogleCloudAiplatformV1Examples": { +"description": "Example-based explainability that returns the nearest neighbors from the provided dataset.", +"id": "GoogleCloudAiplatformV1Examples", +"properties": { +"exampleGcsSource": { +"$ref": "GoogleCloudAiplatformV1ExamplesExampleGcsSource", +"description": "The Cloud Storage input instances." +}, +"nearestNeighborSearchConfig": { +"description": "The full configuration for the generated index, the semantics are the same as metadata and should match [NearestNeighborSearchConfig](https://cloud.google.com/vertex-ai/docs/explainable-ai/configuring-explanations-example-based#nearest-neighbor-search-config).", +"type": "any" +}, +"neighborCount": { +"description": "The number of neighbors to return when querying for examples.", +"format": "int32", +"type": "integer" +}, +"presets": { +"$ref": "GoogleCloudAiplatformV1Presets", +"description": "Simplified preset configuration, which automatically sets configuration values based on the desired query speed-precision trade-off and modality." +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1ExamplesExampleGcsSource": { +"description": "The Cloud Storage input instances.", +"id": "GoogleCloudAiplatformV1ExamplesExampleGcsSource", +"properties": { +"dataFormat": { +"description": "The format in which instances are given, if not specified, assume it's JSONL format. Currently only JSONL format is supported.", +"enum": [ +"DATA_FORMAT_UNSPECIFIED", +"JSONL" +], +"enumDescriptions": [ +"Format unspecified, used when unset.", +"Examples are stored in JSONL files." +], +"type": "string" +}, +"gcsSource": { +"$ref": "GoogleCloudAiplatformV1GcsSource", +"description": "The Cloud Storage location for the input instances." +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1ExamplesOverride": { +"description": "Overrides for example-based explanations.", +"id": "GoogleCloudAiplatformV1ExamplesOverride", +"properties": { +"crowdingCount": { +"description": "The number of neighbors to return that have the same crowding tag.", +"format": "int32", +"type": "integer" +}, +"dataFormat": { +"description": "The format of the data being provided with each call.", +"enum": [ +"DATA_FORMAT_UNSPECIFIED", +"INSTANCES", +"EMBEDDINGS" +], +"enumDescriptions": [ +"Unspecified format. Must not be used.", +"Provided data is a set of model inputs.", +"Provided data is a set of embeddings." +], +"type": "string" +}, +"neighborCount": { +"description": "The number of neighbors to return.", +"format": "int32", +"type": "integer" +}, +"restrictions": { +"description": "Restrict the resulting nearest neighbors to respect these constraints.", +"items": { +"$ref": "GoogleCloudAiplatformV1ExamplesRestrictionsNamespace" +}, +"type": "array" +}, +"returnEmbeddings": { +"description": "If true, return the embeddings instead of neighbors.", +"type": "boolean" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1ExamplesRestrictionsNamespace": { +"description": "Restrictions namespace for example-based explanations overrides.", +"id": "GoogleCloudAiplatformV1ExamplesRestrictionsNamespace", +"properties": { +"allow": { +"description": "The list of allowed tags.", +"items": { +"type": "string" +}, +"type": "array" +}, +"deny": { +"description": "The list of deny tags.", +"items": { +"type": "string" +}, +"type": "array" +}, +"namespaceName": { +"description": "The namespace name.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1Execution": { +"description": "Instance of a general execution.", +"id": "GoogleCloudAiplatformV1Execution", +"properties": { +"createTime": { +"description": "Output only. Timestamp when this Execution was created.", +"format": "google-datetime", +"readOnly": true, +"type": "string" +}, +"description": { +"description": "Description of the Execution", +"type": "string" +}, +"displayName": { +"description": "User provided display name of the Execution. May be up to 128 Unicode characters.", +"type": "string" +}, +"etag": { +"description": "An eTag used to perform consistent read-modify-write updates. If not set, a blind \"overwrite\" update happens.", +"type": "string" +}, +"labels": { +"additionalProperties": { +"type": "string" +}, +"description": "The labels with user-defined metadata to organize your Executions. Label keys and values can be no longer than 64 characters (Unicode codepoints), can only contain lowercase letters, numeric characters, underscores and dashes. International characters are allowed. No more than 64 user labels can be associated with one Execution (System labels are excluded).", +"type": "object" +}, +"metadata": { +"additionalProperties": { +"description": "Properties of the object.", +"type": "any" +}, +"description": "Properties of the Execution. Top level metadata keys' heading and trailing spaces will be trimmed. The size of this field should not exceed 200KB.", +"type": "object" +}, +"name": { +"description": "Output only. The resource name of the Execution.", +"readOnly": true, +"type": "string" +}, +"schemaTitle": { +"description": "The title of the schema describing the metadata. Schema title and version is expected to be registered in earlier Create Schema calls. And both are used together as unique identifiers to identify schemas within the local metadata store.", +"type": "string" +}, +"schemaVersion": { +"description": "The version of the schema in `schema_title` to use. Schema title and version is expected to be registered in earlier Create Schema calls. And both are used together as unique identifiers to identify schemas within the local metadata store.", +"type": "string" +}, +"state": { +"description": "The state of this Execution. This is a property of the Execution, and does not imply or capture any ongoing process. This property is managed by clients (such as Vertex AI Pipelines) and the system does not prescribe or check the validity of state transitions.", +"enum": [ +"STATE_UNSPECIFIED", +"NEW", +"RUNNING", +"COMPLETE", +"FAILED", +"CACHED", +"CANCELLED" +], +"enumDescriptions": [ +"Unspecified Execution state", +"The Execution is new", +"The Execution is running", +"The Execution has finished running", +"The Execution has failed", +"The Execution completed through Cache hit.", +"The Execution was cancelled." +], +"type": "string" +}, +"updateTime": { +"description": "Output only. Timestamp when this Execution was last updated.", +"format": "google-datetime", +"readOnly": true, +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1ExplainRequest": { +"description": "Request message for PredictionService.Explain.", +"id": "GoogleCloudAiplatformV1ExplainRequest", +"properties": { +"deployedModelId": { +"description": "If specified, this ExplainRequest will be served by the chosen DeployedModel, overriding Endpoint.traffic_split.", +"type": "string" +}, +"explanationSpecOverride": { +"$ref": "GoogleCloudAiplatformV1ExplanationSpecOverride", +"description": "If specified, overrides the explanation_spec of the DeployedModel. Can be used for explaining prediction results with different configurations, such as: - Explaining top-5 predictions results as opposed to top-1; - Increasing path count or step count of the attribution methods to reduce approximate errors; - Using different baselines for explaining the prediction results." +}, +"instances": { +"description": "Required. The instances that are the input to the explanation call. A DeployedModel may have an upper limit on the number of instances it supports per request, and when it is exceeded the explanation call errors in case of AutoML Models, or, in case of customer created Models, the behaviour is as documented by that Model. The schema of any single instance may be specified via Endpoint's DeployedModels' Model's PredictSchemata's instance_schema_uri.", +"items": { +"type": "any" +}, +"type": "array" +}, +"parameters": { +"description": "The parameters that govern the prediction. The schema of the parameters may be specified via Endpoint's DeployedModels' Model's PredictSchemata's parameters_schema_uri.", +"type": "any" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1ExplainResponse": { +"description": "Response message for PredictionService.Explain.", +"id": "GoogleCloudAiplatformV1ExplainResponse", +"properties": { +"deployedModelId": { +"description": "ID of the Endpoint's DeployedModel that served this explanation.", +"type": "string" +}, +"explanations": { +"description": "The explanations of the Model's PredictResponse.predictions. It has the same number of elements as instances to be explained.", +"items": { +"$ref": "GoogleCloudAiplatformV1Explanation" +}, +"type": "array" +}, +"predictions": { +"description": "The predictions that are the output of the predictions call. Same as PredictResponse.predictions.", +"items": { +"type": "any" +}, +"type": "array" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1Explanation": { +"description": "Explanation of a prediction (provided in PredictResponse.predictions) produced by the Model on a given instance.", +"id": "GoogleCloudAiplatformV1Explanation", +"properties": { +"attributions": { +"description": "Output only. Feature attributions grouped by predicted outputs. For Models that predict only one output, such as regression Models that predict only one score, there is only one attibution that explains the predicted output. For Models that predict multiple outputs, such as multiclass Models that predict multiple classes, each element explains one specific item. Attribution.output_index can be used to identify which output this attribution is explaining. By default, we provide Shapley values for the predicted class. However, you can configure the explanation request to generate Shapley values for any other classes too. For example, if a model predicts a probability of `0.4` for approving a loan application, the model's decision is to reject the application since `p(reject) = 0.6 > p(approve) = 0.4`, and the default Shapley values would be computed for rejection decision and not approval, even though the latter might be the positive class. If users set ExplanationParameters.top_k, the attributions are sorted by instance_output_value in descending order. If ExplanationParameters.output_indices is specified, the attributions are stored by Attribution.output_index in the same order as they appear in the output_indices.", +"items": { +"$ref": "GoogleCloudAiplatformV1Attribution" +}, +"readOnly": true, +"type": "array" +}, +"neighbors": { +"description": "Output only. List of the nearest neighbors for example-based explanations. For models deployed with the examples explanations feature enabled, the attributions field is empty and instead the neighbors field is populated.", +"items": { +"$ref": "GoogleCloudAiplatformV1Neighbor" +}, +"readOnly": true, +"type": "array" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1ExplanationMetadata": { +"description": "Metadata describing the Model's input and output for explanation.", +"id": "GoogleCloudAiplatformV1ExplanationMetadata", +"properties": { +"featureAttributionsSchemaUri": { +"description": "Points to a YAML file stored on Google Cloud Storage describing the format of the feature attributions. The schema is defined as an OpenAPI 3.0.2 [Schema Object](https://github.com/OAI/OpenAPI-Specification/blob/main/versions/3.0.2.md#schemaObject). AutoML tabular Models always have this field populated by Vertex AI. Note: The URI given on output may be different, including the URI scheme, than the one given on input. The output URI will point to a location where the user only has a read access.", +"type": "string" +}, +"inputs": { +"additionalProperties": { +"$ref": "GoogleCloudAiplatformV1ExplanationMetadataInputMetadata" +}, +"description": "Required. Map from feature names to feature input metadata. Keys are the name of the features. Values are the specification of the feature. An empty InputMetadata is valid. It describes a text feature which has the name specified as the key in ExplanationMetadata.inputs. The baseline of the empty feature is chosen by Vertex AI. For Vertex AI-provided Tensorflow images, the key can be any friendly name of the feature. Once specified, featureAttributions are keyed by this key (if not grouped with another feature). For custom images, the key must match with the key in instance.", +"type": "object" +}, +"latentSpaceSource": { +"description": "Name of the source to generate embeddings for example based explanations.", +"type": "string" +}, +"outputs": { +"additionalProperties": { +"$ref": "GoogleCloudAiplatformV1ExplanationMetadataOutputMetadata" +}, +"description": "Required. Map from output names to output metadata. For Vertex AI-provided Tensorflow images, keys can be any user defined string that consists of any UTF-8 characters. For custom images, keys are the name of the output field in the prediction to be explained. Currently only one key is allowed.", +"type": "object" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1ExplanationMetadataInputMetadata": { +"description": "Metadata of the input of a feature. Fields other than InputMetadata.input_baselines are applicable only for Models that are using Vertex AI-provided images for Tensorflow.", +"id": "GoogleCloudAiplatformV1ExplanationMetadataInputMetadata", +"properties": { +"denseShapeTensorName": { +"description": "Specifies the shape of the values of the input if the input is a sparse representation. Refer to Tensorflow documentation for more details: https://www.tensorflow.org/api_docs/python/tf/sparse/SparseTensor.", +"type": "string" +}, +"encodedBaselines": { +"description": "A list of baselines for the encoded tensor. The shape of each baseline should match the shape of the encoded tensor. If a scalar is provided, Vertex AI broadcasts to the same shape as the encoded tensor.", +"items": { +"type": "any" +}, +"type": "array" +}, +"encodedTensorName": { +"description": "Encoded tensor is a transformation of the input tensor. Must be provided if choosing Integrated Gradients attribution or XRAI attribution and the input tensor is not differentiable. An encoded tensor is generated if the input tensor is encoded by a lookup table.", +"type": "string" +}, +"encoding": { +"description": "Defines how the feature is encoded into the input tensor. Defaults to IDENTITY.", +"enum": [ +"ENCODING_UNSPECIFIED", +"IDENTITY", +"BAG_OF_FEATURES", +"BAG_OF_FEATURES_SPARSE", +"INDICATOR", +"COMBINED_EMBEDDING", +"CONCAT_EMBEDDING" +], +"enumDescriptions": [ +"Default value. This is the same as IDENTITY.", +"The tensor represents one feature.", +"The tensor represents a bag of features where each index maps to a feature. InputMetadata.index_feature_mapping must be provided for this encoding. For example: ``` input = [27, 6.0, 150] index_feature_mapping = [\"age\", \"height\", \"weight\"] ```", +"The tensor represents a bag of features where each index maps to a feature. Zero values in the tensor indicates feature being non-existent. InputMetadata.index_feature_mapping must be provided for this encoding. For example: ``` input = [2, 0, 5, 0, 1] index_feature_mapping = [\"a\", \"b\", \"c\", \"d\", \"e\"] ```", +"The tensor is a list of binaries representing whether a feature exists or not (1 indicates existence). InputMetadata.index_feature_mapping must be provided for this encoding. For example: ``` input = [1, 0, 1, 0, 1] index_feature_mapping = [\"a\", \"b\", \"c\", \"d\", \"e\"] ```", +"The tensor is encoded into a 1-dimensional array represented by an encoded tensor. InputMetadata.encoded_tensor_name must be provided for this encoding. For example: ``` input = [\"This\", \"is\", \"a\", \"test\", \".\"] encoded = [0.1, 0.2, 0.3, 0.4, 0.5] ```", +"Select this encoding when the input tensor is encoded into a 2-dimensional array represented by an encoded tensor. InputMetadata.encoded_tensor_name must be provided for this encoding. The first dimension of the encoded tensor's shape is the same as the input tensor's shape. For example: ``` input = [\"This\", \"is\", \"a\", \"test\", \".\"] encoded = [[0.1, 0.2, 0.3, 0.4, 0.5], [0.2, 0.1, 0.4, 0.3, 0.5], [0.5, 0.1, 0.3, 0.5, 0.4], [0.5, 0.3, 0.1, 0.2, 0.4], [0.4, 0.3, 0.2, 0.5, 0.1]] ```" +], +"type": "string" +}, +"featureValueDomain": { +"$ref": "GoogleCloudAiplatformV1ExplanationMetadataInputMetadataFeatureValueDomain", +"description": "The domain details of the input feature value. Like min/max, original mean or standard deviation if normalized." +}, +"groupName": { +"description": "Name of the group that the input belongs to. Features with the same group name will be treated as one feature when computing attributions. Features grouped together can have different shapes in value. If provided, there will be one single attribution generated in Attribution.feature_attributions, keyed by the group name.", +"type": "string" +}, +"indexFeatureMapping": { +"description": "A list of feature names for each index in the input tensor. Required when the input InputMetadata.encoding is BAG_OF_FEATURES, BAG_OF_FEATURES_SPARSE, INDICATOR.", +"items": { +"type": "string" +}, +"type": "array" +}, +"indicesTensorName": { +"description": "Specifies the index of the values of the input tensor. Required when the input tensor is a sparse representation. Refer to Tensorflow documentation for more details: https://www.tensorflow.org/api_docs/python/tf/sparse/SparseTensor.", +"type": "string" +}, +"inputBaselines": { +"description": "Baseline inputs for this feature. If no baseline is specified, Vertex AI chooses the baseline for this feature. If multiple baselines are specified, Vertex AI returns the average attributions across them in Attribution.feature_attributions. For Vertex AI-provided Tensorflow images (both 1.x and 2.x), the shape of each baseline must match the shape of the input tensor. If a scalar is provided, we broadcast to the same shape as the input tensor. For custom images, the element of the baselines must be in the same format as the feature's input in the instance[]. The schema of any single instance may be specified via Endpoint's DeployedModels' Model's PredictSchemata's instance_schema_uri.", +"items": { +"type": "any" +}, +"type": "array" +}, +"inputTensorName": { +"description": "Name of the input tensor for this feature. Required and is only applicable to Vertex AI-provided images for Tensorflow.", +"type": "string" +}, +"modality": { +"description": "Modality of the feature. Valid values are: numeric, image. Defaults to numeric.", +"type": "string" +}, +"visualization": { +"$ref": "GoogleCloudAiplatformV1ExplanationMetadataInputMetadataVisualization", +"description": "Visualization configurations for image explanation." +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1ExplanationMetadataInputMetadataFeatureValueDomain": { +"description": "Domain details of the input feature value. Provides numeric information about the feature, such as its range (min, max). If the feature has been pre-processed, for example with z-scoring, then it provides information about how to recover the original feature. For example, if the input feature is an image and it has been pre-processed to obtain 0-mean and stddev = 1 values, then original_mean, and original_stddev refer to the mean and stddev of the original feature (e.g. image tensor) from which input feature (with mean = 0 and stddev = 1) was obtained.", +"id": "GoogleCloudAiplatformV1ExplanationMetadataInputMetadataFeatureValueDomain", +"properties": { +"maxValue": { +"description": "The maximum permissible value for this feature.", +"format": "float", +"type": "number" +}, +"minValue": { +"description": "The minimum permissible value for this feature.", +"format": "float", +"type": "number" +}, +"originalMean": { +"description": "If this input feature has been normalized to a mean value of 0, the original_mean specifies the mean value of the domain prior to normalization.", +"format": "float", +"type": "number" +}, +"originalStddev": { +"description": "If this input feature has been normalized to a standard deviation of 1.0, the original_stddev specifies the standard deviation of the domain prior to normalization.", +"format": "float", +"type": "number" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1ExplanationMetadataInputMetadataVisualization": { +"description": "Visualization configurations for image explanation.", +"id": "GoogleCloudAiplatformV1ExplanationMetadataInputMetadataVisualization", +"properties": { +"clipPercentLowerbound": { +"description": "Excludes attributions below the specified percentile, from the highlighted areas. Defaults to 62.", +"format": "float", +"type": "number" +}, +"clipPercentUpperbound": { +"description": "Excludes attributions above the specified percentile from the highlighted areas. Using the clip_percent_upperbound and clip_percent_lowerbound together can be useful for filtering out noise and making it easier to see areas of strong attribution. Defaults to 99.9.", +"format": "float", +"type": "number" +}, +"colorMap": { +"description": "The color scheme used for the highlighted areas. Defaults to PINK_GREEN for Integrated Gradients attribution, which shows positive attributions in green and negative in pink. Defaults to VIRIDIS for XRAI attribution, which highlights the most influential regions in yellow and the least influential in blue.", +"enum": [ +"COLOR_MAP_UNSPECIFIED", +"PINK_GREEN", +"VIRIDIS", +"RED", +"GREEN", +"RED_GREEN", +"PINK_WHITE_GREEN" +], +"enumDescriptions": [ +"Should not be used.", +"Positive: green. Negative: pink.", +"Viridis color map: A perceptually uniform color mapping which is easier to see by those with colorblindness and progresses from yellow to green to blue. Positive: yellow. Negative: blue.", +"Positive: red. Negative: red.", +"Positive: green. Negative: green.", +"Positive: green. Negative: red.", +"PiYG palette." +], +"type": "string" +}, +"overlayType": { +"description": "How the original image is displayed in the visualization. Adjusting the overlay can help increase visual clarity if the original image makes it difficult to view the visualization. Defaults to NONE.", +"enum": [ +"OVERLAY_TYPE_UNSPECIFIED", +"NONE", +"ORIGINAL", +"GRAYSCALE", +"MASK_BLACK" +], +"enumDescriptions": [ +"Default value. This is the same as NONE.", +"No overlay.", +"The attributions are shown on top of the original image.", +"The attributions are shown on top of grayscaled version of the original image.", +"The attributions are used as a mask to reveal predictive parts of the image and hide the un-predictive parts." +], +"type": "string" +}, +"polarity": { +"description": "Whether to only highlight pixels with positive contributions, negative or both. Defaults to POSITIVE.", +"enum": [ +"POLARITY_UNSPECIFIED", +"POSITIVE", +"NEGATIVE", +"BOTH" +], +"enumDescriptions": [ +"Default value. This is the same as POSITIVE.", +"Highlights the pixels/outlines that were most influential to the model's prediction.", +"Setting polarity to negative highlights areas that does not lead to the models's current prediction.", +"Shows both positive and negative attributions." +], +"type": "string" +}, +"type": { +"description": "Type of the image visualization. Only applicable to Integrated Gradients attribution. OUTLINES shows regions of attribution, while PIXELS shows per-pixel attribution. Defaults to OUTLINES.", +"enum": [ +"TYPE_UNSPECIFIED", +"PIXELS", +"OUTLINES" +], +"enumDescriptions": [ +"Should not be used.", +"Shows which pixel contributed to the image prediction.", +"Shows which region contributed to the image prediction by outlining the region." +], +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1ExplanationMetadataOutputMetadata": { +"description": "Metadata of the prediction output to be explained.", +"id": "GoogleCloudAiplatformV1ExplanationMetadataOutputMetadata", +"properties": { +"displayNameMappingKey": { +"description": "Specify a field name in the prediction to look for the display name. Use this if the prediction contains the display names for the outputs. The display names in the prediction must have the same shape of the outputs, so that it can be located by Attribution.output_index for a specific output.", +"type": "string" +}, +"indexDisplayNameMapping": { +"description": "Static mapping between the index and display name. Use this if the outputs are a deterministic n-dimensional array, e.g. a list of scores of all the classes in a pre-defined order for a multi-classification Model. It's not feasible if the outputs are non-deterministic, e.g. the Model produces top-k classes or sort the outputs by their values. The shape of the value must be an n-dimensional array of strings. The number of dimensions must match that of the outputs to be explained. The Attribution.output_display_name is populated by locating in the mapping with Attribution.output_index.", +"type": "any" +}, +"outputTensorName": { +"description": "Name of the output tensor. Required and is only applicable to Vertex AI provided images for Tensorflow.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1ExplanationMetadataOverride": { +"description": "The ExplanationMetadata entries that can be overridden at online explanation time.", +"id": "GoogleCloudAiplatformV1ExplanationMetadataOverride", +"properties": { +"inputs": { +"additionalProperties": { +"$ref": "GoogleCloudAiplatformV1ExplanationMetadataOverrideInputMetadataOverride" +}, +"description": "Required. Overrides the input metadata of the features. The key is the name of the feature to be overridden. The keys specified here must exist in the input metadata to be overridden. If a feature is not specified here, the corresponding feature's input metadata is not overridden.", +"type": "object" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1ExplanationMetadataOverrideInputMetadataOverride": { +"description": "The input metadata entries to be overridden.", +"id": "GoogleCloudAiplatformV1ExplanationMetadataOverrideInputMetadataOverride", +"properties": { +"inputBaselines": { +"description": "Baseline inputs for this feature. This overrides the `input_baseline` field of the ExplanationMetadata.InputMetadata object of the corresponding feature's input metadata. If it's not specified, the original baselines are not overridden.", +"items": { +"type": "any" +}, +"type": "array" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1ExplanationParameters": { +"description": "Parameters to configure explaining for Model's predictions.", +"id": "GoogleCloudAiplatformV1ExplanationParameters", +"properties": { +"examples": { +"$ref": "GoogleCloudAiplatformV1Examples", +"description": "Example-based explanations that returns the nearest neighbors from the provided dataset." +}, +"integratedGradientsAttribution": { +"$ref": "GoogleCloudAiplatformV1IntegratedGradientsAttribution", +"description": "An attribution method that computes Aumann-Shapley values taking advantage of the model's fully differentiable structure. Refer to this paper for more details: https://arxiv.org/abs/1703.01365" +}, +"outputIndices": { +"description": "If populated, only returns attributions that have output_index contained in output_indices. It must be an ndarray of integers, with the same shape of the output it's explaining. If not populated, returns attributions for top_k indices of outputs. If neither top_k nor output_indices is populated, returns the argmax index of the outputs. Only applicable to Models that predict multiple outputs (e,g, multi-class Models that predict multiple classes).", +"items": { +"type": "any" +}, +"type": "array" +}, +"sampledShapleyAttribution": { +"$ref": "GoogleCloudAiplatformV1SampledShapleyAttribution", +"description": "An attribution method that approximates Shapley values for features that contribute to the label being predicted. A sampling strategy is used to approximate the value rather than considering all subsets of features. Refer to this paper for model details: https://arxiv.org/abs/1306.4265." +}, +"topK": { +"description": "If populated, returns attributions for top K indices of outputs (defaults to 1). Only applies to Models that predicts more than one outputs (e,g, multi-class Models). When set to -1, returns explanations for all outputs.", +"format": "int32", +"type": "integer" +}, +"xraiAttribution": { +"$ref": "GoogleCloudAiplatformV1XraiAttribution", +"description": "An attribution method that redistributes Integrated Gradients attribution to segmented regions, taking advantage of the model's fully differentiable structure. Refer to this paper for more details: https://arxiv.org/abs/1906.02825 XRAI currently performs better on natural images, like a picture of a house or an animal. If the images are taken in artificial environments, like a lab or manufacturing line, or from diagnostic equipment, like x-rays or quality-control cameras, use Integrated Gradients instead." +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1ExplanationSpec": { +"description": "Specification of Model explanation.", +"id": "GoogleCloudAiplatformV1ExplanationSpec", +"properties": { +"metadata": { +"$ref": "GoogleCloudAiplatformV1ExplanationMetadata", +"description": "Optional. Metadata describing the Model's input and output for explanation." +}, +"parameters": { +"$ref": "GoogleCloudAiplatformV1ExplanationParameters", +"description": "Required. Parameters that configure explaining of the Model's predictions." +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1ExplanationSpecOverride": { +"description": "The ExplanationSpec entries that can be overridden at online explanation time.", +"id": "GoogleCloudAiplatformV1ExplanationSpecOverride", +"properties": { +"examplesOverride": { +"$ref": "GoogleCloudAiplatformV1ExamplesOverride", +"description": "The example-based explanations parameter overrides." +}, +"metadata": { +"$ref": "GoogleCloudAiplatformV1ExplanationMetadataOverride", +"description": "The metadata to be overridden. If not specified, no metadata is overridden." +}, +"parameters": { +"$ref": "GoogleCloudAiplatformV1ExplanationParameters", +"description": "The parameters to be overridden. Note that the attribution method cannot be changed. If not specified, no parameter is overridden." +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1ExportDataConfig": { +"description": "Describes what part of the Dataset is to be exported, the destination of the export and how to export.", +"id": "GoogleCloudAiplatformV1ExportDataConfig", +"properties": { +"annotationSchemaUri": { +"description": "The Cloud Storage URI that points to a YAML file describing the annotation schema. The schema is defined as an OpenAPI 3.0.2 [Schema Object](https://github.com/OAI/OpenAPI-Specification/blob/main/versions/3.0.2.md#schemaObject). The schema files that can be used here are found in gs://google-cloud-aiplatform/schema/dataset/annotation/, note that the chosen schema must be consistent with metadata of the Dataset specified by ExportDataRequest.name. Only used for custom training data export use cases. Only applicable to Datasets that have DataItems and Annotations. Only Annotations that both match this schema and belong to DataItems not ignored by the split method are used in respectively training, validation or test role, depending on the role of the DataItem they are on. When used in conjunction with annotations_filter, the Annotations used for training are filtered by both annotations_filter and annotation_schema_uri.", +"type": "string" +}, +"annotationsFilter": { +"description": "An expression for filtering what part of the Dataset is to be exported. Only Annotations that match this filter will be exported. The filter syntax is the same as in ListAnnotations.", +"type": "string" +}, +"exportUse": { +"description": "Indicates the usage of the exported files.", +"enum": [ +"EXPORT_USE_UNSPECIFIED", +"CUSTOM_CODE_TRAINING" +], +"enumDescriptions": [ +"Regular user export.", +"Export for custom code training." +], +"type": "string" +}, +"filterSplit": { +"$ref": "GoogleCloudAiplatformV1ExportFilterSplit", +"description": "Split based on the provided filters for each set." +}, +"fractionSplit": { +"$ref": "GoogleCloudAiplatformV1ExportFractionSplit", +"description": "Split based on fractions defining the size of each set." +}, +"gcsDestination": { +"$ref": "GoogleCloudAiplatformV1GcsDestination", +"description": "The Google Cloud Storage location where the output is to be written to. In the given directory a new directory will be created with name: `export-data--` where timestamp is in YYYY-MM-DDThh:mm:ss.sssZ ISO-8601 format. All export output will be written into that directory. Inside that directory, annotations with the same schema will be grouped into sub directories which are named with the corresponding annotations' schema title. Inside these sub directories, a schema.yaml will be created to describe the output format." +}, +"savedQueryId": { +"description": "The ID of a SavedQuery (annotation set) under the Dataset specified by ExportDataRequest.name used for filtering Annotations for training. Only used for custom training data export use cases. Only applicable to Datasets that have SavedQueries. Only Annotations that are associated with this SavedQuery are used in respectively training. When used in conjunction with annotations_filter, the Annotations used for training are filtered by both saved_query_id and annotations_filter. Only one of saved_query_id and annotation_schema_uri should be specified as both of them represent the same thing: problem type.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1ExportDataOperationMetadata": { +"description": "Runtime operation information for DatasetService.ExportData.", +"id": "GoogleCloudAiplatformV1ExportDataOperationMetadata", +"properties": { +"gcsOutputDirectory": { +"description": "A Google Cloud Storage directory which path ends with '/'. The exported data is stored in the directory.", +"type": "string" +}, +"genericMetadata": { +"$ref": "GoogleCloudAiplatformV1GenericOperationMetadata", +"description": "The common part of the operation metadata." +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1ExportDataRequest": { +"description": "Request message for DatasetService.ExportData.", +"id": "GoogleCloudAiplatformV1ExportDataRequest", +"properties": { +"exportConfig": { +"$ref": "GoogleCloudAiplatformV1ExportDataConfig", +"description": "Required. The desired output location." +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1ExportDataResponse": { +"description": "Response message for DatasetService.ExportData.", +"id": "GoogleCloudAiplatformV1ExportDataResponse", +"properties": { +"dataStats": { +"$ref": "GoogleCloudAiplatformV1ModelDataStats", +"description": "Only present for custom code training export use case. Records data stats, i.e., train/validation/test item/annotation counts calculated during the export operation." +}, +"exportedFiles": { +"description": "All of the files that are exported in this export operation. For custom code training export, only three (training, validation and test) Cloud Storage paths in wildcard format are populated (for example, gs://.../training-*).", +"items": { +"type": "string" +}, +"type": "array" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1ExportFeatureValuesOperationMetadata": { +"description": "Details of operations that exports Features values.", +"id": "GoogleCloudAiplatformV1ExportFeatureValuesOperationMetadata", +"properties": { +"genericMetadata": { +"$ref": "GoogleCloudAiplatformV1GenericOperationMetadata", +"description": "Operation metadata for Featurestore export Feature values." +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1ExportFeatureValuesRequest": { +"description": "Request message for FeaturestoreService.ExportFeatureValues.", +"id": "GoogleCloudAiplatformV1ExportFeatureValuesRequest", +"properties": { +"destination": { +"$ref": "GoogleCloudAiplatformV1FeatureValueDestination", +"description": "Required. Specifies destination location and format." +}, +"featureSelector": { +"$ref": "GoogleCloudAiplatformV1FeatureSelector", +"description": "Required. Selects Features to export values of." +}, +"fullExport": { +"$ref": "GoogleCloudAiplatformV1ExportFeatureValuesRequestFullExport", +"description": "Exports all historical values of all entities of the EntityType within a time range" +}, +"settings": { +"description": "Per-Feature export settings.", +"items": { +"$ref": "GoogleCloudAiplatformV1DestinationFeatureSetting" +}, +"type": "array" +}, +"snapshotExport": { +"$ref": "GoogleCloudAiplatformV1ExportFeatureValuesRequestSnapshotExport", +"description": "Exports the latest Feature values of all entities of the EntityType within a time range." +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1ExportFeatureValuesRequestFullExport": { +"description": "Describes exporting all historical Feature values of all entities of the EntityType between [start_time, end_time].", +"id": "GoogleCloudAiplatformV1ExportFeatureValuesRequestFullExport", +"properties": { +"endTime": { +"description": "Exports Feature values as of this timestamp. If not set, retrieve values as of now. Timestamp, if present, must not have higher than millisecond precision.", +"format": "google-datetime", +"type": "string" +}, +"startTime": { +"description": "Excludes Feature values with feature generation timestamp before this timestamp. If not set, retrieve oldest values kept in Feature Store. Timestamp, if present, must not have higher than millisecond precision.", +"format": "google-datetime", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1ExportFeatureValuesRequestSnapshotExport": { +"description": "Describes exporting the latest Feature values of all entities of the EntityType between [start_time, snapshot_time].", +"id": "GoogleCloudAiplatformV1ExportFeatureValuesRequestSnapshotExport", +"properties": { +"snapshotTime": { +"description": "Exports Feature values as of this timestamp. If not set, retrieve values as of now. Timestamp, if present, must not have higher than millisecond precision.", +"format": "google-datetime", +"type": "string" +}, +"startTime": { +"description": "Excludes Feature values with feature generation timestamp before this timestamp. If not set, retrieve oldest values kept in Feature Store. Timestamp, if present, must not have higher than millisecond precision.", +"format": "google-datetime", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1ExportFeatureValuesResponse": { +"description": "Response message for FeaturestoreService.ExportFeatureValues.", +"id": "GoogleCloudAiplatformV1ExportFeatureValuesResponse", +"properties": {}, +"type": "object" +}, +"GoogleCloudAiplatformV1ExportFilterSplit": { +"description": "Assigns input data to training, validation, and test sets based on the given filters, data pieces not matched by any filter are ignored. Currently only supported for Datasets containing DataItems. If any of the filters in this message are to match nothing, then they can be set as '-' (the minus sign). Supported only for unstructured Datasets.", +"id": "GoogleCloudAiplatformV1ExportFilterSplit", +"properties": { +"testFilter": { +"description": "Required. A filter on DataItems of the Dataset. DataItems that match this filter are used to test the Model. A filter with same syntax as the one used in DatasetService.ListDataItems may be used. If a single DataItem is matched by more than one of the FilterSplit filters, then it is assigned to the first set that applies to it in the training, validation, test order.", +"type": "string" +}, +"trainingFilter": { +"description": "Required. A filter on DataItems of the Dataset. DataItems that match this filter are used to train the Model. A filter with same syntax as the one used in DatasetService.ListDataItems may be used. If a single DataItem is matched by more than one of the FilterSplit filters, then it is assigned to the first set that applies to it in the training, validation, test order.", +"type": "string" +}, +"validationFilter": { +"description": "Required. A filter on DataItems of the Dataset. DataItems that match this filter are used to validate the Model. A filter with same syntax as the one used in DatasetService.ListDataItems may be used. If a single DataItem is matched by more than one of the FilterSplit filters, then it is assigned to the first set that applies to it in the training, validation, test order.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1ExportFractionSplit": { +"description": "Assigns the input data to training, validation, and test sets as per the given fractions. Any of `training_fraction`, `validation_fraction` and `test_fraction` may optionally be provided, they must sum to up to 1. If the provided ones sum to less than 1, the remainder is assigned to sets as decided by Vertex AI. If none of the fractions are set, by default roughly 80% of data is used for training, 10% for validation, and 10% for test.", +"id": "GoogleCloudAiplatformV1ExportFractionSplit", +"properties": { +"testFraction": { +"description": "The fraction of the input data that is to be used to evaluate the Model.", +"format": "double", +"type": "number" +}, +"trainingFraction": { +"description": "The fraction of the input data that is to be used to train the Model.", +"format": "double", +"type": "number" +}, +"validationFraction": { +"description": "The fraction of the input data that is to be used to validate the Model.", +"format": "double", +"type": "number" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1ExportModelOperationMetadata": { +"description": "Details of ModelService.ExportModel operation.", +"id": "GoogleCloudAiplatformV1ExportModelOperationMetadata", +"properties": { +"genericMetadata": { +"$ref": "GoogleCloudAiplatformV1GenericOperationMetadata", +"description": "The common part of the operation metadata." +}, +"outputInfo": { +"$ref": "GoogleCloudAiplatformV1ExportModelOperationMetadataOutputInfo", +"description": "Output only. Information further describing the output of this Model export.", +"readOnly": true +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1ExportModelOperationMetadataOutputInfo": { +"description": "Further describes the output of the ExportModel. Supplements ExportModelRequest.OutputConfig.", +"id": "GoogleCloudAiplatformV1ExportModelOperationMetadataOutputInfo", +"properties": { +"artifactOutputUri": { +"description": "Output only. If the Model artifact is being exported to Google Cloud Storage this is the full path of the directory created, into which the Model files are being written to.", +"readOnly": true, +"type": "string" +}, +"imageOutputUri": { +"description": "Output only. If the Model image is being exported to Google Container Registry or Artifact Registry this is the full path of the image created.", +"readOnly": true, +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1ExportModelRequest": { +"description": "Request message for ModelService.ExportModel.", +"id": "GoogleCloudAiplatformV1ExportModelRequest", +"properties": { +"outputConfig": { +"$ref": "GoogleCloudAiplatformV1ExportModelRequestOutputConfig", +"description": "Required. The desired output location and configuration." +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1ExportModelRequestOutputConfig": { +"description": "Output configuration for the Model export.", +"id": "GoogleCloudAiplatformV1ExportModelRequestOutputConfig", +"properties": { +"artifactDestination": { +"$ref": "GoogleCloudAiplatformV1GcsDestination", +"description": "The Cloud Storage location where the Model artifact is to be written to. Under the directory given as the destination a new one with name \"`model-export--`\", where timestamp is in YYYY-MM-DDThh:mm:ss.sssZ ISO-8601 format, will be created. Inside, the Model and any of its supporting files will be written. This field should only be set when the `exportableContent` field of the [Model.supported_export_formats] object contains `ARTIFACT`." +}, +"exportFormatId": { +"description": "The ID of the format in which the Model must be exported. Each Model lists the export formats it supports. If no value is provided here, then the first from the list of the Model's supported formats is used by default.", +"type": "string" +}, +"imageDestination": { +"$ref": "GoogleCloudAiplatformV1ContainerRegistryDestination", +"description": "The Google Container Registry or Artifact Registry uri where the Model container image will be copied to. This field should only be set when the `exportableContent` field of the [Model.supported_export_formats] object contains `IMAGE`." +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1ExportModelResponse": { +"description": "Response message of ModelService.ExportModel operation.", +"id": "GoogleCloudAiplatformV1ExportModelResponse", +"properties": {}, +"type": "object" +}, +"GoogleCloudAiplatformV1ExportTensorboardTimeSeriesDataRequest": { +"description": "Request message for TensorboardService.ExportTensorboardTimeSeriesData.", +"id": "GoogleCloudAiplatformV1ExportTensorboardTimeSeriesDataRequest", +"properties": { +"filter": { +"description": "Exports the TensorboardTimeSeries' data that match the filter expression.", +"type": "string" +}, +"orderBy": { +"description": "Field to use to sort the TensorboardTimeSeries' data. By default, TensorboardTimeSeries' data is returned in a pseudo random order.", +"type": "string" +}, +"pageSize": { +"description": "The maximum number of data points to return per page. The default page_size is 1000. Values must be between 1 and 10000. Values above 10000 are coerced to 10000.", +"format": "int32", +"type": "integer" +}, +"pageToken": { +"description": "A page token, received from a previous ExportTensorboardTimeSeriesData call. Provide this to retrieve the subsequent page. When paginating, all other parameters provided to ExportTensorboardTimeSeriesData must match the call that provided the page token.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1ExportTensorboardTimeSeriesDataResponse": { +"description": "Response message for TensorboardService.ExportTensorboardTimeSeriesData.", +"id": "GoogleCloudAiplatformV1ExportTensorboardTimeSeriesDataResponse", +"properties": { +"nextPageToken": { +"description": "A token, which can be sent as page_token to retrieve the next page. If this field is omitted, there are no subsequent pages.", +"type": "string" +}, +"timeSeriesDataPoints": { +"description": "The returned time series data points.", +"items": { +"$ref": "GoogleCloudAiplatformV1TimeSeriesDataPoint" +}, +"type": "array" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1Fact": { +"description": "The fact used in grounding.", +"id": "GoogleCloudAiplatformV1Fact", +"properties": { +"query": { +"description": "Query that is used to retrieve this fact.", +"type": "string" +}, +"score": { +"description": "If present, according to the underlying Vector DB and the selected metric type, the score can be either the distance or the similarity between the query and the fact and its range depends on the metric type. For example, if the metric type is COSINE_DISTANCE, it represents the distance between the query and the fact. The larger the distance, the less relevant the fact is to the query. The range is [0, 2], while 0 means the most relevant and 2 means the least relevant.", +"format": "double", +"type": "number" +}, +"summary": { +"description": "If present, the summary/snippet of the fact.", +"type": "string" +}, +"title": { +"description": "If present, it refers to the title of this fact.", +"type": "string" +}, +"uri": { +"description": "If present, this uri links to the source of the fact.", +"type": "string" +}, +"vectorDistance": { +"deprecated": true, +"description": "If present, the distance between the query vector and this fact vector.", +"format": "double", +"type": "number" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1FasterDeploymentConfig": { +"description": "Configuration for faster model deployment.", +"id": "GoogleCloudAiplatformV1FasterDeploymentConfig", +"properties": { +"fastTryoutEnabled": { +"description": "If true, enable fast tryout feature for this deployed model.", +"type": "boolean" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1Feature": { +"description": "Feature Metadata information. For example, color is a feature that describes an apple.", +"id": "GoogleCloudAiplatformV1Feature", +"properties": { +"createTime": { +"description": "Output only. Only applicable for Vertex AI Feature Store (Legacy). Timestamp when this EntityType was created.", +"format": "google-datetime", +"readOnly": true, +"type": "string" +}, +"description": { +"description": "Description of the Feature.", +"type": "string" +}, +"disableMonitoring": { +"description": "Optional. Only applicable for Vertex AI Feature Store (Legacy). If not set, use the monitoring_config defined for the EntityType this Feature belongs to. Only Features with type (Feature.ValueType) BOOL, STRING, DOUBLE or INT64 can enable monitoring. If set to true, all types of data monitoring are disabled despite the config on EntityType.", +"type": "boolean" +}, +"etag": { +"description": "Used to perform a consistent read-modify-write updates. If not set, a blind \"overwrite\" update happens.", +"type": "string" +}, +"labels": { +"additionalProperties": { +"type": "string" +}, +"description": "Optional. The labels with user-defined metadata to organize your Features. Label keys and values can be no longer than 64 characters (Unicode codepoints), can only contain lowercase letters, numeric characters, underscores and dashes. International characters are allowed. See https://goo.gl/xmQnxf for more information on and examples of labels. No more than 64 user labels can be associated with one Feature (System labels are excluded).\" System reserved label keys are prefixed with \"aiplatform.googleapis.com/\" and are immutable.", +"type": "object" +}, +"monitoringStatsAnomalies": { +"description": "Output only. Only applicable for Vertex AI Feature Store (Legacy). The list of historical stats and anomalies with specified objectives.", +"items": { +"$ref": "GoogleCloudAiplatformV1FeatureMonitoringStatsAnomaly" +}, +"readOnly": true, +"type": "array" +}, +"name": { +"description": "Immutable. Name of the Feature. Format: `projects/{project}/locations/{location}/featurestores/{featurestore}/entityTypes/{entity_type}/features/{feature}` `projects/{project}/locations/{location}/featureGroups/{feature_group}/features/{feature}` The last part feature is assigned by the client. The feature can be up to 64 characters long and can consist only of ASCII Latin letters A-Z and a-z, underscore(_), and ASCII digits 0-9 starting with a letter. The value will be unique given an entity type.", +"type": "string" +}, +"pointOfContact": { +"description": "Entity responsible for maintaining this feature. Can be comma separated list of email addresses or URIs.", +"type": "string" +}, +"updateTime": { +"description": "Output only. Only applicable for Vertex AI Feature Store (Legacy). Timestamp when this EntityType was most recently updated.", +"format": "google-datetime", +"readOnly": true, +"type": "string" +}, +"valueType": { +"description": "Immutable. Only applicable for Vertex AI Feature Store (Legacy). Type of Feature value.", +"enum": [ +"VALUE_TYPE_UNSPECIFIED", +"BOOL", +"BOOL_ARRAY", +"DOUBLE", +"DOUBLE_ARRAY", +"INT64", +"INT64_ARRAY", +"STRING", +"STRING_ARRAY", +"BYTES", +"STRUCT" +], +"enumDescriptions": [ +"The value type is unspecified.", +"Used for Feature that is a boolean.", +"Used for Feature that is a list of boolean.", +"Used for Feature that is double.", +"Used for Feature that is a list of double.", +"Used for Feature that is INT64.", +"Used for Feature that is a list of INT64.", +"Used for Feature that is string.", +"Used for Feature that is a list of String.", +"Used for Feature that is bytes.", +"Used for Feature that is struct." +], +"type": "string" +}, +"versionColumnName": { +"description": "Only applicable for Vertex AI Feature Store. The name of the BigQuery Table/View column hosting data for this version. If no value is provided, will use feature_id.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1FeatureGroup": { +"description": "Vertex AI Feature Group.", +"id": "GoogleCloudAiplatformV1FeatureGroup", +"properties": { +"bigQuery": { +"$ref": "GoogleCloudAiplatformV1FeatureGroupBigQuery", +"description": "Indicates that features for this group come from BigQuery Table/View. By default treats the source as a sparse time series source. The BigQuery source table or view must have at least one entity ID column and a column named `feature_timestamp`." +}, +"createTime": { +"description": "Output only. Timestamp when this FeatureGroup was created.", +"format": "google-datetime", +"readOnly": true, +"type": "string" +}, +"description": { +"description": "Optional. Description of the FeatureGroup.", +"type": "string" +}, +"etag": { +"description": "Optional. Used to perform consistent read-modify-write updates. If not set, a blind \"overwrite\" update happens.", +"type": "string" +}, +"labels": { +"additionalProperties": { +"type": "string" +}, +"description": "Optional. The labels with user-defined metadata to organize your FeatureGroup. Label keys and values can be no longer than 64 characters (Unicode codepoints), can only contain lowercase letters, numeric characters, underscores and dashes. International characters are allowed. See https://goo.gl/xmQnxf for more information on and examples of labels. No more than 64 user labels can be associated with one FeatureGroup(System labels are excluded).\" System reserved label keys are prefixed with \"aiplatform.googleapis.com/\" and are immutable.", +"type": "object" +}, +"name": { +"description": "Identifier. Name of the FeatureGroup. Format: `projects/{project}/locations/{location}/featureGroups/{featureGroup}`", +"type": "string" +}, +"updateTime": { +"description": "Output only. Timestamp when this FeatureGroup was last updated.", +"format": "google-datetime", +"readOnly": true, +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1FeatureGroupBigQuery": { +"description": "Input source type for BigQuery Tables and Views.", +"id": "GoogleCloudAiplatformV1FeatureGroupBigQuery", +"properties": { +"bigQuerySource": { +"$ref": "GoogleCloudAiplatformV1BigQuerySource", +"description": "Required. Immutable. The BigQuery source URI that points to either a BigQuery Table or View." +}, +"dense": { +"description": "Optional. If set, all feature values will be fetched from a single row per unique entityId including nulls. If not set, will collapse all rows for each unique entityId into a singe row with any non-null values if present, if no non-null values are present will sync null. ex: If source has schema `(entity_id, feature_timestamp, f0, f1)` and the following rows: `(e1, 2020-01-01T10:00:00.123Z, 10, 15)` `(e1, 2020-02-01T10:00:00.123Z, 20, null)` If dense is set, `(e1, 20, null)` is synced to online stores. If dense is not set, `(e1, 20, 15)` is synced to online stores.", +"type": "boolean" +}, +"entityIdColumns": { +"description": "Optional. Columns to construct entity_id / row keys. If not provided defaults to `entity_id`.", +"items": { +"type": "string" +}, +"type": "array" +}, +"staticDataSource": { +"description": "Optional. Set if the data source is not a time-series.", +"type": "boolean" +}, +"timeSeries": { +"$ref": "GoogleCloudAiplatformV1FeatureGroupBigQueryTimeSeries", +"description": "Optional. If the source is a time-series source, this can be set to control how downstream sources (ex: FeatureView ) will treat time-series sources. If not set, will treat the source as a time-series source with `feature_timestamp` as timestamp column and no scan boundary." +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1FeatureGroupBigQueryTimeSeries": { +"id": "GoogleCloudAiplatformV1FeatureGroupBigQueryTimeSeries", +"properties": { +"timestampColumn": { +"description": "Optional. Column hosting timestamp values for a time-series source. Will be used to determine the latest `feature_values` for each entity. Optional. If not provided, column named `feature_timestamp` of type `TIMESTAMP` will be used.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1FeatureMonitoringStatsAnomaly": { +"description": "A list of historical SnapshotAnalysis or ImportFeaturesAnalysis stats requested by user, sorted by FeatureStatsAnomaly.start_time descending.", +"id": "GoogleCloudAiplatformV1FeatureMonitoringStatsAnomaly", +"properties": { +"featureStatsAnomaly": { +"$ref": "GoogleCloudAiplatformV1FeatureStatsAnomaly", +"description": "Output only. The stats and anomalies generated at specific timestamp.", +"readOnly": true +}, +"objective": { +"description": "Output only. The objective for each stats.", +"enum": [ +"OBJECTIVE_UNSPECIFIED", +"IMPORT_FEATURE_ANALYSIS", +"SNAPSHOT_ANALYSIS" +], +"enumDescriptions": [ +"If it's OBJECTIVE_UNSPECIFIED, monitoring_stats will be empty.", +"Stats are generated by Import Feature Analysis.", +"Stats are generated by Snapshot Analysis." +], +"readOnly": true, +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1FeatureNoiseSigma": { +"description": "Noise sigma by features. Noise sigma represents the standard deviation of the gaussian kernel that will be used to add noise to interpolated inputs prior to computing gradients.", +"id": "GoogleCloudAiplatformV1FeatureNoiseSigma", +"properties": { +"noiseSigma": { +"description": "Noise sigma per feature. No noise is added to features that are not set.", +"items": { +"$ref": "GoogleCloudAiplatformV1FeatureNoiseSigmaNoiseSigmaForFeature" +}, +"type": "array" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1FeatureNoiseSigmaNoiseSigmaForFeature": { +"description": "Noise sigma for a single feature.", +"id": "GoogleCloudAiplatformV1FeatureNoiseSigmaNoiseSigmaForFeature", +"properties": { +"name": { +"description": "The name of the input feature for which noise sigma is provided. The features are defined in explanation metadata inputs.", +"type": "string" +}, +"sigma": { +"description": "This represents the standard deviation of the Gaussian kernel that will be used to add noise to the feature prior to computing gradients. Similar to noise_sigma but represents the noise added to the current feature. Defaults to 0.1.", +"format": "float", +"type": "number" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1FeatureOnlineStore": { +"description": "Vertex AI Feature Online Store provides a centralized repository for serving ML features and embedding indexes at low latency. The Feature Online Store is a top-level container.", +"id": "GoogleCloudAiplatformV1FeatureOnlineStore", +"properties": { +"bigtable": { +"$ref": "GoogleCloudAiplatformV1FeatureOnlineStoreBigtable", +"description": "Contains settings for the Cloud Bigtable instance that will be created to serve featureValues for all FeatureViews under this FeatureOnlineStore." +}, +"createTime": { +"description": "Output only. Timestamp when this FeatureOnlineStore was created.", +"format": "google-datetime", +"readOnly": true, +"type": "string" +}, +"dedicatedServingEndpoint": { +"$ref": "GoogleCloudAiplatformV1FeatureOnlineStoreDedicatedServingEndpoint", +"description": "Optional. The dedicated serving endpoint for this FeatureOnlineStore, which is different from common Vertex service endpoint." +}, +"encryptionSpec": { +"$ref": "GoogleCloudAiplatformV1EncryptionSpec", +"description": "Optional. Customer-managed encryption key spec for data storage. If set, online store will be secured by this key." +}, +"etag": { +"description": "Optional. Used to perform consistent read-modify-write updates. If not set, a blind \"overwrite\" update happens.", +"type": "string" +}, +"labels": { +"additionalProperties": { +"type": "string" +}, +"description": "Optional. The labels with user-defined metadata to organize your FeatureOnlineStore. Label keys and values can be no longer than 64 characters (Unicode codepoints), can only contain lowercase letters, numeric characters, underscores and dashes. International characters are allowed. See https://goo.gl/xmQnxf for more information on and examples of labels. No more than 64 user labels can be associated with one FeatureOnlineStore(System labels are excluded).\" System reserved label keys are prefixed with \"aiplatform.googleapis.com/\" and are immutable.", +"type": "object" +}, +"name": { +"description": "Identifier. Name of the FeatureOnlineStore. Format: `projects/{project}/locations/{location}/featureOnlineStores/{featureOnlineStore}`", +"type": "string" +}, +"optimized": { +"$ref": "GoogleCloudAiplatformV1FeatureOnlineStoreOptimized", +"description": "Contains settings for the Optimized store that will be created to serve featureValues for all FeatureViews under this FeatureOnlineStore. When choose Optimized storage type, need to set PrivateServiceConnectConfig.enable_private_service_connect to use private endpoint. Otherwise will use public endpoint by default." +}, +"satisfiesPzi": { +"description": "Output only. Reserved for future use.", +"readOnly": true, +"type": "boolean" +}, +"satisfiesPzs": { +"description": "Output only. Reserved for future use.", +"readOnly": true, +"type": "boolean" +}, +"state": { +"description": "Output only. State of the featureOnlineStore.", +"enum": [ +"STATE_UNSPECIFIED", +"STABLE", +"UPDATING" +], +"enumDescriptions": [ +"Default value. This value is unused.", +"State when the featureOnlineStore configuration is not being updated and the fields reflect the current configuration of the featureOnlineStore. The featureOnlineStore is usable in this state.", +"The state of the featureOnlineStore configuration when it is being updated. During an update, the fields reflect either the original configuration or the updated configuration of the featureOnlineStore. The featureOnlineStore is still usable in this state." +], +"readOnly": true, +"type": "string" +}, +"updateTime": { +"description": "Output only. Timestamp when this FeatureOnlineStore was last updated.", +"format": "google-datetime", +"readOnly": true, +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1FeatureOnlineStoreBigtable": { +"id": "GoogleCloudAiplatformV1FeatureOnlineStoreBigtable", +"properties": { +"autoScaling": { +"$ref": "GoogleCloudAiplatformV1FeatureOnlineStoreBigtableAutoScaling", +"description": "Required. Autoscaling config applied to Bigtable Instance." +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1FeatureOnlineStoreBigtableAutoScaling": { +"id": "GoogleCloudAiplatformV1FeatureOnlineStoreBigtableAutoScaling", +"properties": { +"cpuUtilizationTarget": { +"description": "Optional. A percentage of the cluster's CPU capacity. Can be from 10% to 80%. When a cluster's CPU utilization exceeds the target that you have set, Bigtable immediately adds nodes to the cluster. When CPU utilization is substantially lower than the target, Bigtable removes nodes. If not set will default to 50%.", +"format": "int32", +"type": "integer" +}, +"maxNodeCount": { +"description": "Required. The maximum number of nodes to scale up to. Must be greater than or equal to min_node_count, and less than or equal to 10 times of 'min_node_count'.", +"format": "int32", +"type": "integer" +}, +"minNodeCount": { +"description": "Required. The minimum number of nodes to scale down to. Must be greater than or equal to 1.", +"format": "int32", +"type": "integer" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1FeatureOnlineStoreDedicatedServingEndpoint": { +"description": "The dedicated serving endpoint for this FeatureOnlineStore. Only need to set when you choose Optimized storage type. Public endpoint is provisioned by default.", +"id": "GoogleCloudAiplatformV1FeatureOnlineStoreDedicatedServingEndpoint", +"properties": { +"privateServiceConnectConfig": { +"$ref": "GoogleCloudAiplatformV1PrivateServiceConnectConfig", +"description": "Optional. Private service connect config. The private service connection is available only for Optimized storage type, not for embedding management now. If PrivateServiceConnectConfig.enable_private_service_connect set to true, customers will use private service connection to send request. Otherwise, the connection will set to public endpoint." +}, +"publicEndpointDomainName": { +"description": "Output only. This field will be populated with the domain name to use for this FeatureOnlineStore", +"readOnly": true, +"type": "string" +}, +"serviceAttachment": { +"description": "Output only. The name of the service attachment resource. Populated if private service connect is enabled and after FeatureViewSync is created.", +"readOnly": true, +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1FeatureOnlineStoreOptimized": { +"description": "Optimized storage type", +"id": "GoogleCloudAiplatformV1FeatureOnlineStoreOptimized", +"properties": {}, +"type": "object" +}, +"GoogleCloudAiplatformV1FeatureSelector": { +"description": "Selector for Features of an EntityType.", +"id": "GoogleCloudAiplatformV1FeatureSelector", +"properties": { +"idMatcher": { +"$ref": "GoogleCloudAiplatformV1IdMatcher", +"description": "Required. Matches Features based on ID." +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1FeatureStatsAnomaly": { +"description": "Stats and Anomaly generated at specific timestamp for specific Feature. The start_time and end_time are used to define the time range of the dataset that current stats belongs to, e.g. prediction traffic is bucketed into prediction datasets by time window. If the Dataset is not defined by time window, start_time = end_time. Timestamp of the stats and anomalies always refers to end_time. Raw stats and anomalies are stored in stats_uri or anomaly_uri in the tensorflow defined protos. Field data_stats contains almost identical information with the raw stats in Vertex AI defined proto, for UI to display.", +"id": "GoogleCloudAiplatformV1FeatureStatsAnomaly", +"properties": { +"anomalyDetectionThreshold": { +"description": "This is the threshold used when detecting anomalies. The threshold can be changed by user, so this one might be different from ThresholdConfig.value.", +"format": "double", +"type": "number" +}, +"anomalyUri": { +"description": "Path of the anomaly file for current feature values in Cloud Storage bucket. Format: gs:////anomalies. Example: gs://monitoring_bucket/feature_name/anomalies. Stats are stored as binary format with Protobuf message Anoamlies are stored as binary format with Protobuf message [tensorflow.metadata.v0.AnomalyInfo] (https://github.com/tensorflow/metadata/blob/master/tensorflow_metadata/proto/v0/anomalies.proto).", +"type": "string" +}, +"distributionDeviation": { +"description": "Deviation from the current stats to baseline stats. 1. For categorical feature, the distribution distance is calculated by L-inifinity norm. 2. For numerical feature, the distribution distance is calculated by Jensen\u2013Shannon divergence.", +"format": "double", +"type": "number" +}, +"endTime": { +"description": "The end timestamp of window where stats were generated. For objectives where time window doesn't make sense (e.g. Featurestore Snapshot Monitoring), end_time indicates the timestamp of the data used to generate stats (e.g. timestamp we take snapshots for feature values).", +"format": "google-datetime", +"type": "string" +}, +"score": { +"description": "Feature importance score, only populated when cross-feature monitoring is enabled. For now only used to represent feature attribution score within range [0, 1] for ModelDeploymentMonitoringObjectiveType.FEATURE_ATTRIBUTION_SKEW and ModelDeploymentMonitoringObjectiveType.FEATURE_ATTRIBUTION_DRIFT.", +"format": "double", +"type": "number" +}, +"startTime": { +"description": "The start timestamp of window where stats were generated. For objectives where time window doesn't make sense (e.g. Featurestore Snapshot Monitoring), start_time is only used to indicate the monitoring intervals, so it always equals to (end_time - monitoring_interval).", +"format": "google-datetime", +"type": "string" +}, +"statsUri": { +"description": "Path of the stats file for current feature values in Cloud Storage bucket. Format: gs:////stats. Example: gs://monitoring_bucket/feature_name/stats. Stats are stored as binary format with Protobuf message [tensorflow.metadata.v0.FeatureNameStatistics](https://github.com/tensorflow/metadata/blob/master/tensorflow_metadata/proto/v0/statistics.proto).", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1FeatureValue": { +"description": "Value for a feature.", +"id": "GoogleCloudAiplatformV1FeatureValue", +"properties": { +"boolArrayValue": { +"$ref": "GoogleCloudAiplatformV1BoolArray", +"description": "A list of bool type feature value." +}, +"boolValue": { +"description": "Bool type feature value.", +"type": "boolean" +}, +"bytesValue": { +"description": "Bytes feature value.", +"format": "byte", +"type": "string" +}, +"doubleArrayValue": { +"$ref": "GoogleCloudAiplatformV1DoubleArray", +"description": "A list of double type feature value." +}, +"doubleValue": { +"description": "Double type feature value.", +"format": "double", +"type": "number" +}, +"int64ArrayValue": { +"$ref": "GoogleCloudAiplatformV1Int64Array", +"description": "A list of int64 type feature value." +}, +"int64Value": { +"description": "Int64 feature value.", +"format": "int64", +"type": "string" +}, +"metadata": { +"$ref": "GoogleCloudAiplatformV1FeatureValueMetadata", +"description": "Metadata of feature value." +}, +"stringArrayValue": { +"$ref": "GoogleCloudAiplatformV1StringArray", +"description": "A list of string type feature value." +}, +"stringValue": { +"description": "String feature value.", +"type": "string" +}, +"structValue": { +"$ref": "GoogleCloudAiplatformV1StructValue", +"description": "A struct type feature value." +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1FeatureValueDestination": { +"description": "A destination location for Feature values and format.", +"id": "GoogleCloudAiplatformV1FeatureValueDestination", +"properties": { +"bigqueryDestination": { +"$ref": "GoogleCloudAiplatformV1BigQueryDestination", +"description": "Output in BigQuery format. BigQueryDestination.output_uri in FeatureValueDestination.bigquery_destination must refer to a table." +}, +"csvDestination": { +"$ref": "GoogleCloudAiplatformV1CsvDestination", +"description": "Output in CSV format. Array Feature value types are not allowed in CSV format." +}, +"tfrecordDestination": { +"$ref": "GoogleCloudAiplatformV1TFRecordDestination", +"description": "Output in TFRecord format. Below are the mapping from Feature value type in Featurestore to Feature value type in TFRecord: Value type in Featurestore | Value type in TFRecord DOUBLE, DOUBLE_ARRAY | FLOAT_LIST INT64, INT64_ARRAY | INT64_LIST STRING, STRING_ARRAY, BYTES | BYTES_LIST true -> byte_string(\"true\"), false -> byte_string(\"false\") BOOL, BOOL_ARRAY (true, false) | BYTES_LIST" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1FeatureValueList": { +"description": "Container for list of values.", +"id": "GoogleCloudAiplatformV1FeatureValueList", +"properties": { +"values": { +"description": "A list of feature values. All of them should be the same data type.", +"items": { +"$ref": "GoogleCloudAiplatformV1FeatureValue" +}, +"type": "array" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1FeatureValueMetadata": { +"description": "Metadata of feature value.", +"id": "GoogleCloudAiplatformV1FeatureValueMetadata", +"properties": { +"generateTime": { +"description": "Feature generation timestamp. Typically, it is provided by user at feature ingestion time. If not, feature store will use the system timestamp when the data is ingested into feature store. For streaming ingestion, the time, aligned by days, must be no older than five years (1825 days) and no later than one year (366 days) in the future.", +"format": "google-datetime", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1FeatureView": { +"description": "FeatureView is representation of values that the FeatureOnlineStore will serve based on its syncConfig.", +"id": "GoogleCloudAiplatformV1FeatureView", +"properties": { +"bigQuerySource": { +"$ref": "GoogleCloudAiplatformV1FeatureViewBigQuerySource", +"description": "Optional. Configures how data is supposed to be extracted from a BigQuery source to be loaded onto the FeatureOnlineStore." +}, +"createTime": { +"description": "Output only. Timestamp when this FeatureView was created.", +"format": "google-datetime", +"readOnly": true, +"type": "string" +}, +"etag": { +"description": "Optional. Used to perform consistent read-modify-write updates. If not set, a blind \"overwrite\" update happens.", +"type": "string" +}, +"featureRegistrySource": { +"$ref": "GoogleCloudAiplatformV1FeatureViewFeatureRegistrySource", +"description": "Optional. Configures the features from a Feature Registry source that need to be loaded onto the FeatureOnlineStore." +}, +"indexConfig": { +"$ref": "GoogleCloudAiplatformV1FeatureViewIndexConfig", +"description": "Optional. Configuration for index preparation for vector search. It contains the required configurations to create an index from source data, so that approximate nearest neighbor (a.k.a ANN) algorithms search can be performed during online serving." +}, +"labels": { +"additionalProperties": { +"type": "string" +}, +"description": "Optional. The labels with user-defined metadata to organize your FeatureViews. Label keys and values can be no longer than 64 characters (Unicode codepoints), can only contain lowercase letters, numeric characters, underscores and dashes. International characters are allowed. See https://goo.gl/xmQnxf for more information on and examples of labels. No more than 64 user labels can be associated with one FeatureOnlineStore(System labels are excluded).\" System reserved label keys are prefixed with \"aiplatform.googleapis.com/\" and are immutable.", +"type": "object" +}, +"name": { +"description": "Identifier. Name of the FeatureView. Format: `projects/{project}/locations/{location}/featureOnlineStores/{feature_online_store}/featureViews/{feature_view}`", +"type": "string" +}, +"optimizedConfig": { +"$ref": "GoogleCloudAiplatformV1FeatureViewOptimizedConfig", +"description": "Optional. Configuration for FeatureView created under Optimized FeatureOnlineStore." +}, +"satisfiesPzi": { +"description": "Output only. Reserved for future use.", +"readOnly": true, +"type": "boolean" +}, +"satisfiesPzs": { +"description": "Output only. Reserved for future use.", +"readOnly": true, +"type": "boolean" +}, +"syncConfig": { +"$ref": "GoogleCloudAiplatformV1FeatureViewSyncConfig", +"description": "Configures when data is to be synced/updated for this FeatureView. At the end of the sync the latest featureValues for each entityId of this FeatureView are made ready for online serving." +}, +"updateTime": { +"description": "Output only. Timestamp when this FeatureView was last updated.", +"format": "google-datetime", +"readOnly": true, +"type": "string" +}, +"vertexRagSource": { +"$ref": "GoogleCloudAiplatformV1FeatureViewVertexRagSource", +"description": "Optional. The Vertex RAG Source that the FeatureView is linked to." +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1FeatureViewBigQuerySource": { +"id": "GoogleCloudAiplatformV1FeatureViewBigQuerySource", +"properties": { +"entityIdColumns": { +"description": "Required. Columns to construct entity_id / row keys.", +"items": { +"type": "string" +}, +"type": "array" +}, +"uri": { +"description": "Required. The BigQuery view URI that will be materialized on each sync trigger based on FeatureView.SyncConfig.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1FeatureViewDataKey": { +"description": "Lookup key for a feature view.", +"id": "GoogleCloudAiplatformV1FeatureViewDataKey", +"properties": { +"compositeKey": { +"$ref": "GoogleCloudAiplatformV1FeatureViewDataKeyCompositeKey", +"description": "The actual Entity ID will be composed from this struct. This should match with the way ID is defined in the FeatureView spec." +}, +"key": { +"description": "String key to use for lookup.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1FeatureViewDataKeyCompositeKey": { +"description": "ID that is comprised from several parts (columns).", +"id": "GoogleCloudAiplatformV1FeatureViewDataKeyCompositeKey", +"properties": { +"parts": { +"description": "Parts to construct Entity ID. Should match with the same ID columns as defined in FeatureView in the same order.", +"items": { +"type": "string" +}, +"type": "array" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1FeatureViewFeatureRegistrySource": { +"description": "A Feature Registry source for features that need to be synced to Online Store.", +"id": "GoogleCloudAiplatformV1FeatureViewFeatureRegistrySource", +"properties": { +"featureGroups": { +"description": "Required. List of features that need to be synced to Online Store.", +"items": { +"$ref": "GoogleCloudAiplatformV1FeatureViewFeatureRegistrySourceFeatureGroup" +}, +"type": "array" +}, +"projectNumber": { +"description": "Optional. The project number of the parent project of the Feature Groups.", +"format": "int64", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1FeatureViewFeatureRegistrySourceFeatureGroup": { +"description": "Features belonging to a single feature group that will be synced to Online Store.", +"id": "GoogleCloudAiplatformV1FeatureViewFeatureRegistrySourceFeatureGroup", +"properties": { +"featureGroupId": { +"description": "Required. Identifier of the feature group.", +"type": "string" +}, +"featureIds": { +"description": "Required. Identifiers of features under the feature group.", +"items": { +"type": "string" +}, +"type": "array" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1FeatureViewIndexConfig": { +"description": "Configuration for vector indexing.", +"id": "GoogleCloudAiplatformV1FeatureViewIndexConfig", +"properties": { +"bruteForceConfig": { +"$ref": "GoogleCloudAiplatformV1FeatureViewIndexConfigBruteForceConfig", +"description": "Optional. Configuration options for using brute force search, which simply implements the standard linear search in the database for each query. It is primarily meant for benchmarking and to generate the ground truth for approximate search." +}, +"crowdingColumn": { +"description": "Optional. Column of crowding. This column contains crowding attribute which is a constraint on a neighbor list produced by FeatureOnlineStoreService.SearchNearestEntities to diversify search results. If NearestNeighborQuery.per_crowding_attribute_neighbor_count is set to K in SearchNearestEntitiesRequest, it's guaranteed that no more than K entities of the same crowding attribute are returned in the response.", +"type": "string" +}, +"distanceMeasureType": { +"description": "Optional. The distance measure used in nearest neighbor search.", +"enum": [ +"DISTANCE_MEASURE_TYPE_UNSPECIFIED", +"SQUARED_L2_DISTANCE", +"COSINE_DISTANCE", +"DOT_PRODUCT_DISTANCE" +], +"enumDescriptions": [ +"Should not be set.", +"Euclidean (L_2) Distance.", +"Cosine Distance. Defined as 1 - cosine similarity. We strongly suggest using DOT_PRODUCT_DISTANCE + UNIT_L2_NORM instead of COSINE distance. Our algorithms have been more optimized for DOT_PRODUCT distance which, when combined with UNIT_L2_NORM, is mathematically equivalent to COSINE distance and results in the same ranking.", +"Dot Product Distance. Defined as a negative of the dot product." +], +"type": "string" +}, +"embeddingColumn": { +"description": "Optional. Column of embedding. This column contains the source data to create index for vector search. embedding_column must be set when using vector search.", +"type": "string" +}, +"embeddingDimension": { +"description": "Optional. The number of dimensions of the input embedding.", +"format": "int32", +"type": "integer" +}, +"filterColumns": { +"description": "Optional. Columns of features that're used to filter vector search results.", +"items": { +"type": "string" +}, +"type": "array" +}, +"treeAhConfig": { +"$ref": "GoogleCloudAiplatformV1FeatureViewIndexConfigTreeAHConfig", +"description": "Optional. Configuration options for the tree-AH algorithm (Shallow tree + Asymmetric Hashing). Please refer to this paper for more details: https://arxiv.org/abs/1908.10396" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1FeatureViewIndexConfigBruteForceConfig": { +"description": "Configuration options for using brute force search.", +"id": "GoogleCloudAiplatformV1FeatureViewIndexConfigBruteForceConfig", +"properties": {}, +"type": "object" +}, +"GoogleCloudAiplatformV1FeatureViewIndexConfigTreeAHConfig": { +"description": "Configuration options for the tree-AH algorithm.", +"id": "GoogleCloudAiplatformV1FeatureViewIndexConfigTreeAHConfig", +"properties": { +"leafNodeEmbeddingCount": { +"description": "Optional. Number of embeddings on each leaf node. The default value is 1000 if not set.", +"format": "int64", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1FeatureViewOptimizedConfig": { +"description": "Configuration for FeatureViews created in Optimized FeatureOnlineStore.", +"id": "GoogleCloudAiplatformV1FeatureViewOptimizedConfig", +"properties": { +"automaticResources": { +"$ref": "GoogleCloudAiplatformV1AutomaticResources", +"description": "Optional. A description of resources that the FeatureView uses, which to large degree are decided by Vertex AI, and optionally allows only a modest additional configuration. If min_replica_count is not set, the default value is 2. If max_replica_count is not set, the default value is 6. The max allowed replica count is 1000." +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1FeatureViewSync": { +"description": "FeatureViewSync is a representation of sync operation which copies data from data source to Feature View in Online Store.", +"id": "GoogleCloudAiplatformV1FeatureViewSync", +"properties": { +"createTime": { +"description": "Output only. Time when this FeatureViewSync is created. Creation of a FeatureViewSync means that the job is pending / waiting for sufficient resources but may not have started the actual data transfer yet.", +"format": "google-datetime", +"readOnly": true, +"type": "string" +}, +"finalStatus": { +"$ref": "GoogleRpcStatus", +"description": "Output only. Final status of the FeatureViewSync.", +"readOnly": true +}, +"name": { +"description": "Identifier. Name of the FeatureViewSync. Format: `projects/{project}/locations/{location}/featureOnlineStores/{feature_online_store}/featureViews/{feature_view}/featureViewSyncs/{feature_view_sync}`", +"type": "string" +}, +"runTime": { +"$ref": "GoogleTypeInterval", +"description": "Output only. Time when this FeatureViewSync is finished.", +"readOnly": true +}, +"satisfiesPzi": { +"description": "Output only. Reserved for future use.", +"readOnly": true, +"type": "boolean" +}, +"satisfiesPzs": { +"description": "Output only. Reserved for future use.", +"readOnly": true, +"type": "boolean" +}, +"syncSummary": { +"$ref": "GoogleCloudAiplatformV1FeatureViewSyncSyncSummary", +"description": "Output only. Summary of the sync job.", +"readOnly": true +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1FeatureViewSyncConfig": { +"description": "Configuration for Sync. Only one option is set.", +"id": "GoogleCloudAiplatformV1FeatureViewSyncConfig", +"properties": { +"continuous": { +"description": "Optional. If true, syncs the FeatureView in a continuous manner to Online Store.", +"type": "boolean" +}, +"cron": { +"description": "Cron schedule (https://en.wikipedia.org/wiki/Cron) to launch scheduled runs. To explicitly set a timezone to the cron tab, apply a prefix in the cron tab: \"CRON_TZ=${IANA_TIME_ZONE}\" or \"TZ=${IANA_TIME_ZONE}\". The ${IANA_TIME_ZONE} may only be a valid string from IANA time zone database. For example, \"CRON_TZ=America/New_York 1 * * * *\", or \"TZ=America/New_York 1 * * * *\".", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1FeatureViewSyncSyncSummary": { +"description": "Summary from the Sync job. For continuous syncs, the summary is updated periodically. For batch syncs, it gets updated on completion of the sync.", +"id": "GoogleCloudAiplatformV1FeatureViewSyncSyncSummary", +"properties": { +"rowSynced": { +"description": "Output only. Total number of rows synced.", +"format": "int64", +"readOnly": true, +"type": "string" +}, +"systemWatermarkTime": { +"description": "Lower bound of the system time watermark for the sync job. This is only set for continuously syncing feature views.", +"format": "google-datetime", +"type": "string" +}, +"totalSlot": { +"description": "Output only. BigQuery slot milliseconds consumed for the sync job.", +"format": "int64", +"readOnly": true, +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1FeatureViewVertexRagSource": { +"description": "A Vertex Rag source for features that need to be synced to Online Store.", +"id": "GoogleCloudAiplatformV1FeatureViewVertexRagSource", +"properties": { +"ragCorpusId": { +"description": "Optional. The RAG corpus id corresponding to this FeatureView.", +"format": "int64", +"type": "string" +}, +"uri": { +"description": "Required. The BigQuery view/table URI that will be materialized on each manual sync trigger. The table/view is expected to have the following columns and types at least: - `corpus_id` (STRING, NULLABLE/REQUIRED) - `file_id` (STRING, NULLABLE/REQUIRED) - `chunk_id` (STRING, NULLABLE/REQUIRED) - `chunk_data_type` (STRING, NULLABLE/REQUIRED) - `chunk_data` (STRING, NULLABLE/REQUIRED) - `embeddings` (FLOAT, REPEATED) - `file_original_uri` (STRING, NULLABLE/REQUIRED)", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1Featurestore": { +"description": "Vertex AI Feature Store provides a centralized repository for organizing, storing, and serving ML features. The Featurestore is a top-level container for your features and their values.", +"id": "GoogleCloudAiplatformV1Featurestore", +"properties": { +"createTime": { +"description": "Output only. Timestamp when this Featurestore was created.", +"format": "google-datetime", +"readOnly": true, +"type": "string" +}, +"encryptionSpec": { +"$ref": "GoogleCloudAiplatformV1EncryptionSpec", +"description": "Optional. Customer-managed encryption key spec for data storage. If set, both of the online and offline data storage will be secured by this key." +}, +"etag": { +"description": "Optional. Used to perform consistent read-modify-write updates. If not set, a blind \"overwrite\" update happens.", +"type": "string" +}, +"labels": { +"additionalProperties": { +"type": "string" +}, +"description": "Optional. The labels with user-defined metadata to organize your Featurestore. Label keys and values can be no longer than 64 characters (Unicode codepoints), can only contain lowercase letters, numeric characters, underscores and dashes. International characters are allowed. See https://goo.gl/xmQnxf for more information on and examples of labels. No more than 64 user labels can be associated with one Featurestore(System labels are excluded).\" System reserved label keys are prefixed with \"aiplatform.googleapis.com/\" and are immutable.", +"type": "object" +}, +"name": { +"description": "Output only. Name of the Featurestore. Format: `projects/{project}/locations/{location}/featurestores/{featurestore}`", +"readOnly": true, +"type": "string" +}, +"onlineServingConfig": { +"$ref": "GoogleCloudAiplatformV1FeaturestoreOnlineServingConfig", +"description": "Optional. Config for online storage resources. The field should not co-exist with the field of `OnlineStoreReplicationConfig`. If both of it and OnlineStoreReplicationConfig are unset, the feature store will not have an online store and cannot be used for online serving." +}, +"onlineStorageTtlDays": { +"description": "Optional. TTL in days for feature values that will be stored in online serving storage. The Feature Store online storage periodically removes obsolete feature values older than `online_storage_ttl_days` since the feature generation time. Note that `online_storage_ttl_days` should be less than or equal to `offline_storage_ttl_days` for each EntityType under a featurestore. If not set, default to 4000 days", +"format": "int32", +"type": "integer" +}, +"satisfiesPzi": { +"description": "Output only. Reserved for future use.", +"readOnly": true, +"type": "boolean" +}, +"satisfiesPzs": { +"description": "Output only. Reserved for future use.", +"readOnly": true, +"type": "boolean" +}, +"state": { +"description": "Output only. State of the featurestore.", +"enum": [ +"STATE_UNSPECIFIED", +"STABLE", +"UPDATING" +], +"enumDescriptions": [ +"Default value. This value is unused.", +"State when the featurestore configuration is not being updated and the fields reflect the current configuration of the featurestore. The featurestore is usable in this state.", +"The state of the featurestore configuration when it is being updated. During an update, the fields reflect either the original configuration or the updated configuration of the featurestore. For example, `online_serving_config.fixed_node_count` can take minutes to update. While the update is in progress, the featurestore is in the UPDATING state, and the value of `fixed_node_count` can be the original value or the updated value, depending on the progress of the operation. Until the update completes, the actual number of nodes can still be the original value of `fixed_node_count`. The featurestore is still usable in this state." +], +"readOnly": true, +"type": "string" +}, +"updateTime": { +"description": "Output only. Timestamp when this Featurestore was last updated.", +"format": "google-datetime", +"readOnly": true, +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1FeaturestoreMonitoringConfig": { +"description": "Configuration of how features in Featurestore are monitored.", +"id": "GoogleCloudAiplatformV1FeaturestoreMonitoringConfig", +"properties": { +"categoricalThresholdConfig": { +"$ref": "GoogleCloudAiplatformV1FeaturestoreMonitoringConfigThresholdConfig", +"description": "Threshold for categorical features of anomaly detection. This is shared by all types of Featurestore Monitoring for categorical features (i.e. Features with type (Feature.ValueType) BOOL or STRING)." +}, +"importFeaturesAnalysis": { +"$ref": "GoogleCloudAiplatformV1FeaturestoreMonitoringConfigImportFeaturesAnalysis", +"description": "The config for ImportFeatures Analysis Based Feature Monitoring." +}, +"numericalThresholdConfig": { +"$ref": "GoogleCloudAiplatformV1FeaturestoreMonitoringConfigThresholdConfig", +"description": "Threshold for numerical features of anomaly detection. This is shared by all objectives of Featurestore Monitoring for numerical features (i.e. Features with type (Feature.ValueType) DOUBLE or INT64)." +}, +"snapshotAnalysis": { +"$ref": "GoogleCloudAiplatformV1FeaturestoreMonitoringConfigSnapshotAnalysis", +"description": "The config for Snapshot Analysis Based Feature Monitoring." +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1FeaturestoreMonitoringConfigImportFeaturesAnalysis": { +"description": "Configuration of the Featurestore's ImportFeature Analysis Based Monitoring. This type of analysis generates statistics for values of each Feature imported by every ImportFeatureValues operation.", +"id": "GoogleCloudAiplatformV1FeaturestoreMonitoringConfigImportFeaturesAnalysis", +"properties": { +"anomalyDetectionBaseline": { +"description": "The baseline used to do anomaly detection for the statistics generated by import features analysis.", +"enum": [ +"BASELINE_UNSPECIFIED", +"LATEST_STATS", +"MOST_RECENT_SNAPSHOT_STATS", +"PREVIOUS_IMPORT_FEATURES_STATS" +], +"enumDescriptions": [ +"Should not be used.", +"Choose the later one statistics generated by either most recent snapshot analysis or previous import features analysis. If non of them exists, skip anomaly detection and only generate a statistics.", +"Use the statistics generated by the most recent snapshot analysis if exists.", +"Use the statistics generated by the previous import features analysis if exists." +], +"type": "string" +}, +"state": { +"description": "Whether to enable / disable / inherite default hebavior for import features analysis.", +"enum": [ +"STATE_UNSPECIFIED", +"DEFAULT", +"ENABLED", +"DISABLED" +], +"enumDescriptions": [ +"Should not be used.", +"The default behavior of whether to enable the monitoring. EntityType-level config: disabled. Feature-level config: inherited from the configuration of EntityType this Feature belongs to.", +"Explicitly enables import features analysis. EntityType-level config: by default enables import features analysis for all Features under it. Feature-level config: enables import features analysis regardless of the EntityType-level config.", +"Explicitly disables import features analysis. EntityType-level config: by default disables import features analysis for all Features under it. Feature-level config: disables import features analysis regardless of the EntityType-level config." +], +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1FeaturestoreMonitoringConfigSnapshotAnalysis": { +"description": "Configuration of the Featurestore's Snapshot Analysis Based Monitoring. This type of analysis generates statistics for each Feature based on a snapshot of the latest feature value of each entities every monitoring_interval.", +"id": "GoogleCloudAiplatformV1FeaturestoreMonitoringConfigSnapshotAnalysis", +"properties": { +"disabled": { +"description": "The monitoring schedule for snapshot analysis. For EntityType-level config: unset / disabled = true indicates disabled by default for Features under it; otherwise by default enable snapshot analysis monitoring with monitoring_interval for Features under it. Feature-level config: disabled = true indicates disabled regardless of the EntityType-level config; unset monitoring_interval indicates going with EntityType-level config; otherwise run snapshot analysis monitoring with monitoring_interval regardless of the EntityType-level config. Explicitly Disable the snapshot analysis based monitoring.", +"type": "boolean" +}, +"monitoringIntervalDays": { +"description": "Configuration of the snapshot analysis based monitoring pipeline running interval. The value indicates number of days.", +"format": "int32", +"type": "integer" +}, +"stalenessDays": { +"description": "Customized export features time window for snapshot analysis. Unit is one day. Default value is 3 weeks. Minimum value is 1 day. Maximum value is 4000 days.", +"format": "int32", +"type": "integer" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1FeaturestoreMonitoringConfigThresholdConfig": { +"description": "The config for Featurestore Monitoring threshold.", +"id": "GoogleCloudAiplatformV1FeaturestoreMonitoringConfigThresholdConfig", +"properties": { +"value": { +"description": "Specify a threshold value that can trigger the alert. 1. For categorical feature, the distribution distance is calculated by L-inifinity norm. 2. For numerical feature, the distribution distance is calculated by Jensen\u2013Shannon divergence. Each feature must have a non-zero threshold if they need to be monitored. Otherwise no alert will be triggered for that feature.", +"format": "double", +"type": "number" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1FeaturestoreOnlineServingConfig": { +"description": "OnlineServingConfig specifies the details for provisioning online serving resources.", +"id": "GoogleCloudAiplatformV1FeaturestoreOnlineServingConfig", +"properties": { +"fixedNodeCount": { +"description": "The number of nodes for the online store. The number of nodes doesn't scale automatically, but you can manually update the number of nodes. If set to 0, the featurestore will not have an online store and cannot be used for online serving.", +"format": "int32", +"type": "integer" +}, +"scaling": { +"$ref": "GoogleCloudAiplatformV1FeaturestoreOnlineServingConfigScaling", +"description": "Online serving scaling configuration. Only one of `fixed_node_count` and `scaling` can be set. Setting one will reset the other." +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1FeaturestoreOnlineServingConfigScaling": { +"description": "Online serving scaling configuration. If min_node_count and max_node_count are set to the same value, the cluster will be configured with the fixed number of node (no auto-scaling).", +"id": "GoogleCloudAiplatformV1FeaturestoreOnlineServingConfigScaling", +"properties": { +"cpuUtilizationTarget": { +"description": "Optional. The cpu utilization that the Autoscaler should be trying to achieve. This number is on a scale from 0 (no utilization) to 100 (total utilization), and is limited between 10 and 80. When a cluster's CPU utilization exceeds the target that you have set, Bigtable immediately adds nodes to the cluster. When CPU utilization is substantially lower than the target, Bigtable removes nodes. If not set or set to 0, default to 50.", +"format": "int32", +"type": "integer" +}, +"maxNodeCount": { +"description": "The maximum number of nodes to scale up to. Must be greater than min_node_count, and less than or equal to 10 times of 'min_node_count'.", +"format": "int32", +"type": "integer" +}, +"minNodeCount": { +"description": "Required. The minimum number of nodes to scale down to. Must be greater than or equal to 1.", +"format": "int32", +"type": "integer" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1FetchFeatureValuesRequest": { +"description": "Request message for FeatureOnlineStoreService.FetchFeatureValues. All the features under the requested feature view will be returned.", +"id": "GoogleCloudAiplatformV1FetchFeatureValuesRequest", +"properties": { +"dataFormat": { +"description": "Optional. Response data format. If not set, FeatureViewDataFormat.KEY_VALUE will be used.", +"enum": [ +"FEATURE_VIEW_DATA_FORMAT_UNSPECIFIED", +"KEY_VALUE", +"PROTO_STRUCT" +], +"enumDescriptions": [ +"Not set. Will be treated as the KeyValue format.", +"Return response data in key-value format.", +"Return response data in proto Struct format." +], +"type": "string" +}, +"dataKey": { +"$ref": "GoogleCloudAiplatformV1FeatureViewDataKey", +"description": "Optional. The request key to fetch feature values for." +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1FetchFeatureValuesResponse": { +"description": "Response message for FeatureOnlineStoreService.FetchFeatureValues", +"id": "GoogleCloudAiplatformV1FetchFeatureValuesResponse", +"properties": { +"dataKey": { +"$ref": "GoogleCloudAiplatformV1FeatureViewDataKey", +"description": "The data key associated with this response. Will only be populated for FeatureOnlineStoreService.StreamingFetchFeatureValues RPCs." +}, +"keyValues": { +"$ref": "GoogleCloudAiplatformV1FetchFeatureValuesResponseFeatureNameValuePairList", +"description": "Feature values in KeyValue format." +}, +"protoStruct": { +"additionalProperties": { +"description": "Properties of the object.", +"type": "any" +}, +"description": "Feature values in proto Struct format.", +"type": "object" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1FetchFeatureValuesResponseFeatureNameValuePairList": { +"description": "Response structure in the format of key (feature name) and (feature) value pair.", +"id": "GoogleCloudAiplatformV1FetchFeatureValuesResponseFeatureNameValuePairList", +"properties": { +"features": { +"description": "List of feature names and values.", +"items": { +"$ref": "GoogleCloudAiplatformV1FetchFeatureValuesResponseFeatureNameValuePairListFeatureNameValuePair" +}, +"type": "array" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1FetchFeatureValuesResponseFeatureNameValuePairListFeatureNameValuePair": { +"description": "Feature name & value pair.", +"id": "GoogleCloudAiplatformV1FetchFeatureValuesResponseFeatureNameValuePairListFeatureNameValuePair", +"properties": { +"name": { +"description": "Feature short name.", +"type": "string" +}, +"value": { +"$ref": "GoogleCloudAiplatformV1FeatureValue", +"description": "Feature value." +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1FetchPredictOperationRequest": { +"description": "Request message for PredictionService.FetchPredictOperation.", +"id": "GoogleCloudAiplatformV1FetchPredictOperationRequest", +"properties": { +"operationName": { +"description": "Required. The server-assigned name for the operation.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1FileData": { +"description": "URI based data.", +"id": "GoogleCloudAiplatformV1FileData", +"properties": { +"fileUri": { +"description": "Required. URI.", +"type": "string" +}, +"mimeType": { +"description": "Required. The IANA standard MIME type of the source data.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1FileStatus": { +"description": "RagFile status.", +"id": "GoogleCloudAiplatformV1FileStatus", +"properties": { +"errorStatus": { +"description": "Output only. Only when the `state` field is ERROR.", +"readOnly": true, +"type": "string" +}, +"state": { +"description": "Output only. RagFile state.", +"enum": [ +"STATE_UNSPECIFIED", +"ACTIVE", +"ERROR" +], +"enumDescriptions": [ +"RagFile state is unspecified.", +"RagFile resource has been created and indexed successfully.", +"RagFile resource is in a problematic state. See `error_message` field for details." +], +"readOnly": true, +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1FilterSplit": { +"description": "Assigns input data to training, validation, and test sets based on the given filters, data pieces not matched by any filter are ignored. Currently only supported for Datasets containing DataItems. If any of the filters in this message are to match nothing, then they can be set as '-' (the minus sign). Supported only for unstructured Datasets. ", +"id": "GoogleCloudAiplatformV1FilterSplit", +"properties": { +"testFilter": { +"description": "Required. A filter on DataItems of the Dataset. DataItems that match this filter are used to test the Model. A filter with same syntax as the one used in DatasetService.ListDataItems may be used. If a single DataItem is matched by more than one of the FilterSplit filters, then it is assigned to the first set that applies to it in the training, validation, test order.", +"type": "string" +}, +"trainingFilter": { +"description": "Required. A filter on DataItems of the Dataset. DataItems that match this filter are used to train the Model. A filter with same syntax as the one used in DatasetService.ListDataItems may be used. If a single DataItem is matched by more than one of the FilterSplit filters, then it is assigned to the first set that applies to it in the training, validation, test order.", +"type": "string" +}, +"validationFilter": { +"description": "Required. A filter on DataItems of the Dataset. DataItems that match this filter are used to validate the Model. A filter with same syntax as the one used in DatasetService.ListDataItems may be used. If a single DataItem is matched by more than one of the FilterSplit filters, then it is assigned to the first set that applies to it in the training, validation, test order.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1FindNeighborsRequest": { +"description": "The request message for MatchService.FindNeighbors.", +"id": "GoogleCloudAiplatformV1FindNeighborsRequest", +"properties": { +"deployedIndexId": { +"description": "The ID of the DeployedIndex that will serve the request. This request is sent to a specific IndexEndpoint, as per the IndexEndpoint.network. That IndexEndpoint also has IndexEndpoint.deployed_indexes, and each such index has a DeployedIndex.id field. The value of the field below must equal one of the DeployedIndex.id fields of the IndexEndpoint that is being called for this request.", +"type": "string" +}, +"queries": { +"description": "The list of queries.", +"items": { +"$ref": "GoogleCloudAiplatformV1FindNeighborsRequestQuery" +}, +"type": "array" +}, +"returnFullDatapoint": { +"description": "If set to true, the full datapoints (including all vector values and restricts) of the nearest neighbors are returned. Note that returning full datapoint will significantly increase the latency and cost of the query.", +"type": "boolean" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1FindNeighborsRequestQuery": { +"description": "A query to find a number of the nearest neighbors (most similar vectors) of a vector.", +"id": "GoogleCloudAiplatformV1FindNeighborsRequestQuery", +"properties": { +"approximateNeighborCount": { +"description": "The number of neighbors to find via approximate search before exact reordering is performed. If not set, the default value from scam config is used; if set, this value must be > 0.", +"format": "int32", +"type": "integer" +}, +"datapoint": { +"$ref": "GoogleCloudAiplatformV1IndexDatapoint", +"description": "Required. The datapoint/vector whose nearest neighbors should be searched for." +}, +"fractionLeafNodesToSearchOverride": { +"description": "The fraction of the number of leaves to search, set at query time allows user to tune search performance. This value increase result in both search accuracy and latency increase. The value should be between 0.0 and 1.0. If not set or set to 0.0, query uses the default value specified in NearestNeighborSearchConfig.TreeAHConfig.fraction_leaf_nodes_to_search.", +"format": "double", +"type": "number" +}, +"neighborCount": { +"description": "The number of nearest neighbors to be retrieved from database for each query. If not set, will use the default from the service configuration (https://cloud.google.com/vertex-ai/docs/matching-engine/configuring-indexes#nearest-neighbor-search-config).", +"format": "int32", +"type": "integer" +}, +"perCrowdingAttributeNeighborCount": { +"description": "Crowding is a constraint on a neighbor list produced by nearest neighbor search requiring that no more than some value k' of the k neighbors returned have the same value of crowding_attribute. It's used for improving result diversity. This field is the maximum number of matches with the same crowding tag.", +"format": "int32", +"type": "integer" +}, +"rrf": { +"$ref": "GoogleCloudAiplatformV1FindNeighborsRequestQueryRRF", +"description": "Optional. Represents RRF algorithm that combines search results." +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1FindNeighborsRequestQueryRRF": { +"description": "Parameters for RRF algorithm that combines search results.", +"id": "GoogleCloudAiplatformV1FindNeighborsRequestQueryRRF", +"properties": { +"alpha": { +"description": "Required. Users can provide an alpha value to give more weight to dense vs sparse results. For example, if the alpha is 0, we only return sparse and if the alpha is 1, we only return dense.", +"format": "float", +"type": "number" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1FindNeighborsResponse": { +"description": "The response message for MatchService.FindNeighbors.", +"id": "GoogleCloudAiplatformV1FindNeighborsResponse", +"properties": { +"nearestNeighbors": { +"description": "The nearest neighbors of the query datapoints.", +"items": { +"$ref": "GoogleCloudAiplatformV1FindNeighborsResponseNearestNeighbors" +}, +"type": "array" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1FindNeighborsResponseNearestNeighbors": { +"description": "Nearest neighbors for one query.", +"id": "GoogleCloudAiplatformV1FindNeighborsResponseNearestNeighbors", +"properties": { +"id": { +"description": "The ID of the query datapoint.", +"type": "string" +}, +"neighbors": { +"description": "All its neighbors.", +"items": { +"$ref": "GoogleCloudAiplatformV1FindNeighborsResponseNeighbor" +}, +"type": "array" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1FindNeighborsResponseNeighbor": { +"description": "A neighbor of the query vector.", +"id": "GoogleCloudAiplatformV1FindNeighborsResponseNeighbor", +"properties": { +"datapoint": { +"$ref": "GoogleCloudAiplatformV1IndexDatapoint", +"description": "The datapoint of the neighbor. Note that full datapoints are returned only when \"return_full_datapoint\" is set to true. Otherwise, only the \"datapoint_id\" and \"crowding_tag\" fields are populated." +}, +"distance": { +"description": "The distance between the neighbor and the dense embedding query.", +"format": "double", +"type": "number" +}, +"sparseDistance": { +"description": "The distance between the neighbor and the query sparse_embedding.", +"format": "double", +"type": "number" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1FluencyInput": { +"description": "Input for fluency metric.", +"id": "GoogleCloudAiplatformV1FluencyInput", +"properties": { +"instance": { +"$ref": "GoogleCloudAiplatformV1FluencyInstance", +"description": "Required. Fluency instance." +}, +"metricSpec": { +"$ref": "GoogleCloudAiplatformV1FluencySpec", +"description": "Required. Spec for fluency score metric." +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1FluencyInstance": { +"description": "Spec for fluency instance.", +"id": "GoogleCloudAiplatformV1FluencyInstance", +"properties": { +"prediction": { +"description": "Required. Output of the evaluated model.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1FluencyResult": { +"description": "Spec for fluency result.", +"id": "GoogleCloudAiplatformV1FluencyResult", +"properties": { +"confidence": { +"description": "Output only. Confidence for fluency score.", +"format": "float", +"readOnly": true, +"type": "number" +}, +"explanation": { +"description": "Output only. Explanation for fluency score.", +"readOnly": true, +"type": "string" +}, +"score": { +"description": "Output only. Fluency score.", +"format": "float", +"readOnly": true, +"type": "number" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1FluencySpec": { +"description": "Spec for fluency score metric.", +"id": "GoogleCloudAiplatformV1FluencySpec", +"properties": { +"version": { +"description": "Optional. Which version to use for evaluation.", +"format": "int32", +"type": "integer" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1FractionSplit": { +"description": "Assigns the input data to training, validation, and test sets as per the given fractions. Any of `training_fraction`, `validation_fraction` and `test_fraction` may optionally be provided, they must sum to up to 1. If the provided ones sum to less than 1, the remainder is assigned to sets as decided by Vertex AI. If none of the fractions are set, by default roughly 80% of data is used for training, 10% for validation, and 10% for test.", +"id": "GoogleCloudAiplatformV1FractionSplit", +"properties": { +"testFraction": { +"description": "The fraction of the input data that is to be used to evaluate the Model.", +"format": "double", +"type": "number" +}, +"trainingFraction": { +"description": "The fraction of the input data that is to be used to train the Model.", +"format": "double", +"type": "number" +}, +"validationFraction": { +"description": "The fraction of the input data that is to be used to validate the Model.", +"format": "double", +"type": "number" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1FulfillmentInput": { +"description": "Input for fulfillment metric.", +"id": "GoogleCloudAiplatformV1FulfillmentInput", +"properties": { +"instance": { +"$ref": "GoogleCloudAiplatformV1FulfillmentInstance", +"description": "Required. Fulfillment instance." +}, +"metricSpec": { +"$ref": "GoogleCloudAiplatformV1FulfillmentSpec", +"description": "Required. Spec for fulfillment score metric." +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1FulfillmentInstance": { +"description": "Spec for fulfillment instance.", +"id": "GoogleCloudAiplatformV1FulfillmentInstance", +"properties": { +"instruction": { +"description": "Required. Inference instruction prompt to compare prediction with.", +"type": "string" +}, +"prediction": { +"description": "Required. Output of the evaluated model.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1FulfillmentResult": { +"description": "Spec for fulfillment result.", +"id": "GoogleCloudAiplatformV1FulfillmentResult", +"properties": { +"confidence": { +"description": "Output only. Confidence for fulfillment score.", +"format": "float", +"readOnly": true, +"type": "number" +}, +"explanation": { +"description": "Output only. Explanation for fulfillment score.", +"readOnly": true, +"type": "string" +}, +"score": { +"description": "Output only. Fulfillment score.", +"format": "float", +"readOnly": true, +"type": "number" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1FulfillmentSpec": { +"description": "Spec for fulfillment metric.", +"id": "GoogleCloudAiplatformV1FulfillmentSpec", +"properties": { +"version": { +"description": "Optional. Which version to use for evaluation.", +"format": "int32", +"type": "integer" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1FunctionCall": { +"description": "A predicted [FunctionCall] returned from the model that contains a string representing the [FunctionDeclaration.name] and a structured JSON object containing the parameters and their values.", +"id": "GoogleCloudAiplatformV1FunctionCall", +"properties": { +"args": { +"additionalProperties": { +"description": "Properties of the object.", +"type": "any" +}, +"description": "Optional. Required. The function parameters and values in JSON object format. See [FunctionDeclaration.parameters] for parameter details.", +"type": "object" +}, +"name": { +"description": "Required. The name of the function to call. Matches [FunctionDeclaration.name].", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1FunctionCallingConfig": { +"description": "Function calling config.", +"id": "GoogleCloudAiplatformV1FunctionCallingConfig", +"properties": { +"allowedFunctionNames": { +"description": "Optional. Function names to call. Only set when the Mode is ANY. Function names should match [FunctionDeclaration.name]. With mode set to ANY, model will predict a function call from the set of function names provided.", +"items": { +"type": "string" +}, +"type": "array" +}, +"mode": { +"description": "Optional. Function calling mode.", +"enum": [ +"MODE_UNSPECIFIED", +"AUTO", +"ANY", +"NONE" +], +"enumDescriptions": [ +"Unspecified function calling mode. This value should not be used.", +"Default model behavior, model decides to predict either function calls or natural language response.", +"Model is constrained to always predicting function calls only. If \"allowed_function_names\" are set, the predicted function calls will be limited to any one of \"allowed_function_names\", else the predicted function calls will be any one of the provided \"function_declarations\".", +"Model will not predict any function calls. Model behavior is same as when not passing any function declarations." +], +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1FunctionDeclaration": { +"description": "Structured representation of a function declaration as defined by the [OpenAPI 3.0 specification](https://spec.openapis.org/oas/v3.0.3). Included in this declaration are the function name, description, parameters and response type. This FunctionDeclaration is a representation of a block of code that can be used as a `Tool` by the model and executed by the client.", +"id": "GoogleCloudAiplatformV1FunctionDeclaration", +"properties": { +"description": { +"description": "Optional. Description and purpose of the function. Model uses it to decide how and whether to call the function.", +"type": "string" +}, +"name": { +"description": "Required. The name of the function to call. Must start with a letter or an underscore. Must be a-z, A-Z, 0-9, or contain underscores, dots and dashes, with a maximum length of 64.", +"type": "string" +}, +"parameters": { +"$ref": "GoogleCloudAiplatformV1Schema", +"description": "Optional. Describes the parameters to this function in JSON Schema Object format. Reflects the Open API 3.03 Parameter Object. string Key: the name of the parameter. Parameter names are case sensitive. Schema Value: the Schema defining the type used for the parameter. For function with no parameters, this can be left unset. Parameter names must start with a letter or an underscore and must only contain chars a-z, A-Z, 0-9, or underscores with a maximum length of 64. Example with 1 required and 1 optional parameter: type: OBJECT properties: param1: type: STRING param2: type: INTEGER required: - param1" +}, +"response": { +"$ref": "GoogleCloudAiplatformV1Schema", +"description": "Optional. Describes the output from this function in JSON Schema format. Reflects the Open API 3.03 Response Object. The Schema defines the type used for the response value of the function." +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1FunctionResponse": { +"description": "The result output from a [FunctionCall] that contains a string representing the [FunctionDeclaration.name] and a structured JSON object containing any output from the function is used as context to the model. This should contain the result of a [FunctionCall] made based on model prediction.", +"id": "GoogleCloudAiplatformV1FunctionResponse", +"properties": { +"name": { +"description": "Required. The name of the function to call. Matches [FunctionDeclaration.name] and [FunctionCall.name].", +"type": "string" +}, +"response": { +"additionalProperties": { +"description": "Properties of the object.", +"type": "any" +}, +"description": "Required. The function response in JSON object format. Use \"output\" key to specify function output and \"error\" key to specify error details (if any). If \"output\" and \"error\" keys are not specified, then whole \"response\" is treated as function output.", +"type": "object" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1GcsDestination": { +"description": "The Google Cloud Storage location where the output is to be written to.", +"id": "GoogleCloudAiplatformV1GcsDestination", +"properties": { +"outputUriPrefix": { +"description": "Required. Google Cloud Storage URI to output directory. If the uri doesn't end with '/', a '/' will be automatically appended. The directory is created if it doesn't exist.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1GcsSource": { +"description": "The Google Cloud Storage location for the input content.", +"id": "GoogleCloudAiplatformV1GcsSource", +"properties": { +"uris": { +"description": "Required. Google Cloud Storage URI(-s) to the input file(s). May contain wildcards. For more information on wildcards, see https://cloud.google.com/storage/docs/gsutil/addlhelp/WildcardNames.", +"items": { +"type": "string" +}, +"type": "array" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1GenerateContentRequest": { +"description": "Request message for [PredictionService.GenerateContent].", +"id": "GoogleCloudAiplatformV1GenerateContentRequest", +"properties": { +"cachedContent": { +"description": "Optional. The name of the cached content used as context to serve the prediction. Note: only used in explicit caching, where users can have control over caching (e.g. what content to cache) and enjoy guaranteed cost savings. Format: `projects/{project}/locations/{location}/cachedContents/{cachedContent}`", +"type": "string" +}, +"contents": { +"description": "Required. The content of the current conversation with the model. For single-turn queries, this is a single instance. For multi-turn queries, this is a repeated field that contains conversation history + latest request.", +"items": { +"$ref": "GoogleCloudAiplatformV1Content" +}, +"type": "array" +}, +"generationConfig": { +"$ref": "GoogleCloudAiplatformV1GenerationConfig", +"description": "Optional. Generation config." +}, +"labels": { +"additionalProperties": { +"type": "string" +}, +"description": "Optional. The labels with user-defined metadata for the request. It is used for billing and reporting only. Label keys and values can be no longer than 63 characters (Unicode codepoints) and can only contain lowercase letters, numeric characters, underscores, and dashes. International characters are allowed. Label values are optional. Label keys must start with a letter.", +"type": "object" +}, +"safetySettings": { +"description": "Optional. Per request settings for blocking unsafe content. Enforced on GenerateContentResponse.candidates.", +"items": { +"$ref": "GoogleCloudAiplatformV1SafetySetting" +}, +"type": "array" +}, +"systemInstruction": { +"$ref": "GoogleCloudAiplatformV1Content", +"description": "Optional. The user provided system instructions for the model. Note: only text should be used in parts and content in each part will be in a separate paragraph." +}, +"toolConfig": { +"$ref": "GoogleCloudAiplatformV1ToolConfig", +"description": "Optional. Tool config. This config is shared for all tools provided in the request." +}, +"tools": { +"description": "Optional. A list of `Tools` the model may use to generate the next response. A `Tool` is a piece of code that enables the system to interact with external systems to perform an action, or set of actions, outside of knowledge and scope of the model.", +"items": { +"$ref": "GoogleCloudAiplatformV1Tool" +}, +"type": "array" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1GenerateContentResponse": { +"description": "Response message for [PredictionService.GenerateContent].", +"id": "GoogleCloudAiplatformV1GenerateContentResponse", +"properties": { +"candidates": { +"description": "Output only. Generated candidates.", +"items": { +"$ref": "GoogleCloudAiplatformV1Candidate" +}, +"readOnly": true, +"type": "array" +}, +"modelVersion": { +"description": "Output only. The model version used to generate the response.", +"readOnly": true, +"type": "string" +}, +"promptFeedback": { +"$ref": "GoogleCloudAiplatformV1GenerateContentResponsePromptFeedback", +"description": "Output only. Content filter results for a prompt sent in the request. Note: Sent only in the first stream chunk. Only happens when no candidates were generated due to content violations.", +"readOnly": true +}, +"usageMetadata": { +"$ref": "GoogleCloudAiplatformV1GenerateContentResponseUsageMetadata", +"description": "Usage metadata about the response(s)." +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1GenerateContentResponsePromptFeedback": { +"description": "Content filter results for a prompt sent in the request.", +"id": "GoogleCloudAiplatformV1GenerateContentResponsePromptFeedback", +"properties": { +"blockReason": { +"description": "Output only. Blocked reason.", +"enum": [ +"BLOCKED_REASON_UNSPECIFIED", +"SAFETY", +"OTHER", +"BLOCKLIST", +"PROHIBITED_CONTENT" +], +"enumDescriptions": [ +"Unspecified blocked reason.", +"Candidates blocked due to safety.", +"Candidates blocked due to other reason.", +"Candidates blocked due to the terms which are included from the terminology blocklist.", +"Candidates blocked due to prohibited content." +], +"readOnly": true, +"type": "string" +}, +"blockReasonMessage": { +"description": "Output only. A readable block reason message.", +"readOnly": true, +"type": "string" +}, +"safetyRatings": { +"description": "Output only. Safety ratings.", +"items": { +"$ref": "GoogleCloudAiplatformV1SafetyRating" +}, +"readOnly": true, +"type": "array" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1GenerateContentResponseUsageMetadata": { +"description": "Usage metadata about response(s).", +"id": "GoogleCloudAiplatformV1GenerateContentResponseUsageMetadata", +"properties": { +"cachedContentTokenCount": { +"description": "Output only. Number of tokens in the cached part in the input (the cached content).", +"format": "int32", +"readOnly": true, +"type": "integer" +}, +"candidatesTokenCount": { +"description": "Number of tokens in the response(s).", +"format": "int32", +"type": "integer" +}, +"promptTokenCount": { +"description": "Number of tokens in the request. When `cached_content` is set, this is still the total effective prompt size meaning this includes the number of tokens in the cached content.", +"format": "int32", +"type": "integer" +}, +"totalTokenCount": { +"description": "Total token count for prompt and response candidates.", +"format": "int32", +"type": "integer" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1GenerationConfig": { +"description": "Generation config.", +"id": "GoogleCloudAiplatformV1GenerationConfig", +"properties": { +"audioTimestamp": { +"description": "Optional. If enabled, audio timestamp will be included in the request to the model.", +"type": "boolean" +}, +"candidateCount": { +"description": "Optional. Number of candidates to generate.", +"format": "int32", +"type": "integer" +}, +"frequencyPenalty": { +"description": "Optional. Frequency penalties.", +"format": "float", +"type": "number" +}, +"logprobs": { +"description": "Optional. Logit probabilities.", +"format": "int32", +"type": "integer" +}, +"maxOutputTokens": { +"description": "Optional. The maximum number of output tokens to generate per message.", +"format": "int32", +"type": "integer" +}, +"mediaResolution": { +"description": "Optional. If specified, the media resolution specified will be used.", +"enum": [ +"MEDIA_RESOLUTION_UNSPECIFIED", +"MEDIA_RESOLUTION_LOW", +"MEDIA_RESOLUTION_MEDIUM", +"MEDIA_RESOLUTION_HIGH" +], +"enumDescriptions": [ +"Media resolution has not been set.", +"Media resolution set to low (64 tokens).", +"Media resolution set to medium (256 tokens).", +"Media resolution set to high (zoomed reframing with 256 tokens)." +], +"type": "string" +}, +"presencePenalty": { +"description": "Optional. Positive penalties.", +"format": "float", +"type": "number" +}, +"responseLogprobs": { +"description": "Optional. If true, export the logprobs results in response.", +"type": "boolean" +}, +"responseMimeType": { +"description": "Optional. Output response mimetype of the generated candidate text. Supported mimetype: - `text/plain`: (default) Text output. - `application/json`: JSON response in the candidates. The model needs to be prompted to output the appropriate response type, otherwise the behavior is undefined. This is a preview feature.", +"type": "string" +}, +"responseModalities": { +"description": "Optional. The modalities of the response.", +"items": { +"enum": [ +"MODALITY_UNSPECIFIED", +"TEXT", +"IMAGE", +"AUDIO" +], +"enumDescriptions": [ +"Unspecified modality. Will be processed as text.", +"Text modality.", +"Image modality.", +"Audio modality." +], +"type": "string" +}, +"type": "array" +}, +"responseSchema": { +"$ref": "GoogleCloudAiplatformV1Schema", +"description": "Optional. The `Schema` object allows the definition of input and output data types. These types can be objects, but also primitives and arrays. Represents a select subset of an [OpenAPI 3.0 schema object](https://spec.openapis.org/oas/v3.0.3#schema). If set, a compatible response_mime_type must also be set. Compatible mimetypes: `application/json`: Schema for JSON response." +}, +"routingConfig": { +"$ref": "GoogleCloudAiplatformV1GenerationConfigRoutingConfig", +"description": "Optional. Routing configuration." +}, +"seed": { +"description": "Optional. Seed.", +"format": "int32", +"type": "integer" +}, +"speechConfig": { +"$ref": "GoogleCloudAiplatformV1SpeechConfig", +"description": "Optional. The speech generation config." +}, +"stopSequences": { +"description": "Optional. Stop sequences.", +"items": { +"type": "string" +}, +"type": "array" +}, +"temperature": { +"description": "Optional. Controls the randomness of predictions.", +"format": "float", +"type": "number" +}, +"topK": { +"description": "Optional. If specified, top-k sampling will be used.", +"format": "float", +"type": "number" +}, +"topP": { +"description": "Optional. If specified, nucleus sampling will be used.", +"format": "float", +"type": "number" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1GenerationConfigRoutingConfig": { +"description": "The configuration for routing the request to a specific model.", +"id": "GoogleCloudAiplatformV1GenerationConfigRoutingConfig", +"properties": { +"autoMode": { +"$ref": "GoogleCloudAiplatformV1GenerationConfigRoutingConfigAutoRoutingMode", +"description": "Automated routing." +}, +"manualMode": { +"$ref": "GoogleCloudAiplatformV1GenerationConfigRoutingConfigManualRoutingMode", +"description": "Manual routing." +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1GenerationConfigRoutingConfigAutoRoutingMode": { +"description": "When automated routing is specified, the routing will be determined by the pretrained routing model and customer provided model routing preference.", +"id": "GoogleCloudAiplatformV1GenerationConfigRoutingConfigAutoRoutingMode", +"properties": { +"modelRoutingPreference": { +"description": "The model routing preference.", +"enum": [ +"UNKNOWN", +"PRIORITIZE_QUALITY", +"BALANCED", +"PRIORITIZE_COST" +], +"enumDescriptions": [ +"Unspecified model routing preference.", +"Prefer higher quality over low cost.", +"Balanced model routing preference.", +"Prefer lower cost over higher quality." +], +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1GenerationConfigRoutingConfigManualRoutingMode": { +"description": "When manual routing is set, the specified model will be used directly.", +"id": "GoogleCloudAiplatformV1GenerationConfigRoutingConfigManualRoutingMode", +"properties": { +"modelName": { +"description": "The model name to use. Only the public LLM models are accepted. e.g. 'gemini-1.5-pro-001'.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1GenericOperationMetadata": { +"description": "Generic Metadata shared by all operations.", +"id": "GoogleCloudAiplatformV1GenericOperationMetadata", +"properties": { +"createTime": { +"description": "Output only. Time when the operation was created.", +"format": "google-datetime", +"readOnly": true, +"type": "string" +}, +"partialFailures": { +"description": "Output only. Partial failures encountered. E.g. single files that couldn't be read. This field should never exceed 20 entries. Status details field will contain standard Google Cloud error details.", +"items": { +"$ref": "GoogleRpcStatus" +}, +"readOnly": true, +"type": "array" +}, +"updateTime": { +"description": "Output only. Time when the operation was updated for the last time. If the operation has finished (successfully or not), this is the finish time.", +"format": "google-datetime", +"readOnly": true, +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1GenieSource": { +"description": "Contains information about the source of the models generated from Generative AI Studio.", +"id": "GoogleCloudAiplatformV1GenieSource", +"properties": { +"baseModelUri": { +"description": "Required. The public base model URI.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1GoogleDriveSource": { +"description": "The Google Drive location for the input content.", +"id": "GoogleCloudAiplatformV1GoogleDriveSource", +"properties": { +"resourceIds": { +"description": "Required. Google Drive resource IDs.", +"items": { +"$ref": "GoogleCloudAiplatformV1GoogleDriveSourceResourceId" +}, +"type": "array" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1GoogleDriveSourceResourceId": { +"description": "The type and ID of the Google Drive resource.", +"id": "GoogleCloudAiplatformV1GoogleDriveSourceResourceId", +"properties": { +"resourceId": { +"description": "Required. The ID of the Google Drive resource.", +"type": "string" +}, +"resourceType": { +"description": "Required. The type of the Google Drive resource.", +"enum": [ +"RESOURCE_TYPE_UNSPECIFIED", +"RESOURCE_TYPE_FILE", +"RESOURCE_TYPE_FOLDER" +], +"enumDescriptions": [ +"Unspecified resource type.", +"File resource type.", +"Folder resource type." +], +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1GoogleSearchRetrieval": { +"description": "Tool to retrieve public web data for grounding, powered by Google.", +"id": "GoogleCloudAiplatformV1GoogleSearchRetrieval", +"properties": { +"dynamicRetrievalConfig": { +"$ref": "GoogleCloudAiplatformV1DynamicRetrievalConfig", +"description": "Specifies the dynamic retrieval configuration for the given source." +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1GroundednessInput": { +"description": "Input for groundedness metric.", +"id": "GoogleCloudAiplatformV1GroundednessInput", +"properties": { +"instance": { +"$ref": "GoogleCloudAiplatformV1GroundednessInstance", +"description": "Required. Groundedness instance." +}, +"metricSpec": { +"$ref": "GoogleCloudAiplatformV1GroundednessSpec", +"description": "Required. Spec for groundedness metric." +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1GroundednessInstance": { +"description": "Spec for groundedness instance.", +"id": "GoogleCloudAiplatformV1GroundednessInstance", +"properties": { +"context": { +"description": "Required. Background information provided in context used to compare against the prediction.", +"type": "string" +}, +"prediction": { +"description": "Required. Output of the evaluated model.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1GroundednessResult": { +"description": "Spec for groundedness result.", +"id": "GoogleCloudAiplatformV1GroundednessResult", +"properties": { +"confidence": { +"description": "Output only. Confidence for groundedness score.", +"format": "float", +"readOnly": true, +"type": "number" +}, +"explanation": { +"description": "Output only. Explanation for groundedness score.", +"readOnly": true, +"type": "string" +}, +"score": { +"description": "Output only. Groundedness score.", +"format": "float", +"readOnly": true, +"type": "number" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1GroundednessSpec": { +"description": "Spec for groundedness metric.", +"id": "GoogleCloudAiplatformV1GroundednessSpec", +"properties": { +"version": { +"description": "Optional. Which version to use for evaluation.", +"format": "int32", +"type": "integer" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1GroundingChunk": { +"description": "Grounding chunk.", +"id": "GoogleCloudAiplatformV1GroundingChunk", +"properties": { +"retrievedContext": { +"$ref": "GoogleCloudAiplatformV1GroundingChunkRetrievedContext", +"description": "Grounding chunk from context retrieved by the retrieval tools." +}, +"web": { +"$ref": "GoogleCloudAiplatformV1GroundingChunkWeb", +"description": "Grounding chunk from the web." +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1GroundingChunkRetrievedContext": { +"description": "Chunk from context retrieved by the retrieval tools.", +"id": "GoogleCloudAiplatformV1GroundingChunkRetrievedContext", +"properties": { +"text": { +"description": "Text of the attribution.", +"type": "string" +}, +"title": { +"description": "Title of the attribution.", +"type": "string" +}, +"uri": { +"description": "URI reference of the attribution.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1GroundingChunkWeb": { +"description": "Chunk from the web.", +"id": "GoogleCloudAiplatformV1GroundingChunkWeb", +"properties": { +"title": { +"description": "Title of the chunk.", +"type": "string" +}, +"uri": { +"description": "URI reference of the chunk.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1GroundingMetadata": { +"description": "Metadata returned to client when grounding is enabled.", +"id": "GoogleCloudAiplatformV1GroundingMetadata", +"properties": { +"groundingChunks": { +"description": "List of supporting references retrieved from specified grounding source.", +"items": { +"$ref": "GoogleCloudAiplatformV1GroundingChunk" +}, +"type": "array" +}, +"groundingSupports": { +"description": "Optional. List of grounding support.", +"items": { +"$ref": "GoogleCloudAiplatformV1GroundingSupport" +}, +"type": "array" +}, +"retrievalMetadata": { +"$ref": "GoogleCloudAiplatformV1RetrievalMetadata", +"description": "Optional. Output only. Retrieval metadata.", +"readOnly": true +}, +"searchEntryPoint": { +"$ref": "GoogleCloudAiplatformV1SearchEntryPoint", +"description": "Optional. Google search entry for the following-up web searches." +}, +"webSearchQueries": { +"description": "Optional. Web search queries for the following-up web search.", +"items": { +"type": "string" +}, +"type": "array" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1GroundingSupport": { +"description": "Grounding support.", +"id": "GoogleCloudAiplatformV1GroundingSupport", +"properties": { +"confidenceScores": { +"description": "Confidence score of the support references. Ranges from 0 to 1. 1 is the most confident. This list must have the same size as the grounding_chunk_indices.", +"items": { +"format": "float", +"type": "number" +}, +"type": "array" +}, +"groundingChunkIndices": { +"description": "A list of indices (into 'grounding_chunk') specifying the citations associated with the claim. For instance [1,3,4] means that grounding_chunk[1], grounding_chunk[3], grounding_chunk[4] are the retrieved content attributed to the claim.", +"items": { +"format": "int32", +"type": "integer" +}, +"type": "array" +}, +"segment": { +"$ref": "GoogleCloudAiplatformV1Segment", +"description": "Segment of the content this support belongs to." +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1HyperparameterTuningJob": { +"description": "Represents a HyperparameterTuningJob. A HyperparameterTuningJob has a Study specification and multiple CustomJobs with identical CustomJob specification.", +"id": "GoogleCloudAiplatformV1HyperparameterTuningJob", +"properties": { +"createTime": { +"description": "Output only. Time when the HyperparameterTuningJob was created.", +"format": "google-datetime", +"readOnly": true, +"type": "string" +}, +"displayName": { +"description": "Required. The display name of the HyperparameterTuningJob. The name can be up to 128 characters long and can consist of any UTF-8 characters.", +"type": "string" +}, +"encryptionSpec": { +"$ref": "GoogleCloudAiplatformV1EncryptionSpec", +"description": "Customer-managed encryption key options for a HyperparameterTuningJob. If this is set, then all resources created by the HyperparameterTuningJob will be encrypted with the provided encryption key." +}, +"endTime": { +"description": "Output only. Time when the HyperparameterTuningJob entered any of the following states: `JOB_STATE_SUCCEEDED`, `JOB_STATE_FAILED`, `JOB_STATE_CANCELLED`.", +"format": "google-datetime", +"readOnly": true, +"type": "string" +}, +"error": { +"$ref": "GoogleRpcStatus", +"description": "Output only. Only populated when job's state is JOB_STATE_FAILED or JOB_STATE_CANCELLED.", +"readOnly": true +}, +"labels": { +"additionalProperties": { +"type": "string" +}, +"description": "The labels with user-defined metadata to organize HyperparameterTuningJobs. Label keys and values can be no longer than 64 characters (Unicode codepoints), can only contain lowercase letters, numeric characters, underscores and dashes. International characters are allowed. See https://goo.gl/xmQnxf for more information and examples of labels.", +"type": "object" +}, +"maxFailedTrialCount": { +"description": "The number of failed Trials that need to be seen before failing the HyperparameterTuningJob. If set to 0, Vertex AI decides how many Trials must fail before the whole job fails.", +"format": "int32", +"type": "integer" +}, +"maxTrialCount": { +"description": "Required. The desired total number of Trials.", +"format": "int32", +"type": "integer" +}, +"name": { +"description": "Output only. Resource name of the HyperparameterTuningJob.", +"readOnly": true, +"type": "string" +}, +"parallelTrialCount": { +"description": "Required. The desired number of Trials to run in parallel.", +"format": "int32", +"type": "integer" +}, +"satisfiesPzi": { +"description": "Output only. Reserved for future use.", +"readOnly": true, +"type": "boolean" +}, +"satisfiesPzs": { +"description": "Output only. Reserved for future use.", +"readOnly": true, +"type": "boolean" +}, +"startTime": { +"description": "Output only. Time when the HyperparameterTuningJob for the first time entered the `JOB_STATE_RUNNING` state.", +"format": "google-datetime", +"readOnly": true, +"type": "string" +}, +"state": { +"description": "Output only. The detailed state of the job.", +"enum": [ +"JOB_STATE_UNSPECIFIED", +"JOB_STATE_QUEUED", +"JOB_STATE_PENDING", +"JOB_STATE_RUNNING", +"JOB_STATE_SUCCEEDED", +"JOB_STATE_FAILED", +"JOB_STATE_CANCELLING", +"JOB_STATE_CANCELLED", +"JOB_STATE_PAUSED", +"JOB_STATE_EXPIRED", +"JOB_STATE_UPDATING", +"JOB_STATE_PARTIALLY_SUCCEEDED" +], +"enumDescriptions": [ +"The job state is unspecified.", +"The job has been just created or resumed and processing has not yet begun.", +"The service is preparing to run the job.", +"The job is in progress.", +"The job completed successfully.", +"The job failed.", +"The job is being cancelled. From this state the job may only go to either `JOB_STATE_SUCCEEDED`, `JOB_STATE_FAILED` or `JOB_STATE_CANCELLED`.", +"The job has been cancelled.", +"The job has been stopped, and can be resumed.", +"The job has expired.", +"The job is being updated. Only jobs in the `RUNNING` state can be updated. After updating, the job goes back to the `RUNNING` state.", +"The job is partially succeeded, some results may be missing due to errors." +], +"readOnly": true, +"type": "string" +}, +"studySpec": { +"$ref": "GoogleCloudAiplatformV1StudySpec", +"description": "Required. Study configuration of the HyperparameterTuningJob." +}, +"trialJobSpec": { +"$ref": "GoogleCloudAiplatformV1CustomJobSpec", +"description": "Required. The spec of a trial job. The same spec applies to the CustomJobs created in all the trials." +}, +"trials": { +"description": "Output only. Trials of the HyperparameterTuningJob.", +"items": { +"$ref": "GoogleCloudAiplatformV1Trial" +}, +"readOnly": true, +"type": "array" +}, +"updateTime": { +"description": "Output only. Time when the HyperparameterTuningJob was most recently updated.", +"format": "google-datetime", +"readOnly": true, +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1IdMatcher": { +"description": "Matcher for Features of an EntityType by Feature ID.", +"id": "GoogleCloudAiplatformV1IdMatcher", +"properties": { +"ids": { +"description": "Required. The following are accepted as `ids`: * A single-element list containing only `*`, which selects all Features in the target EntityType, or * A list containing only Feature IDs, which selects only Features with those IDs in the target EntityType.", +"items": { +"type": "string" +}, +"type": "array" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1ImportDataConfig": { +"description": "Describes the location from where we import data into a Dataset, together with the labels that will be applied to the DataItems and the Annotations.", +"id": "GoogleCloudAiplatformV1ImportDataConfig", +"properties": { +"annotationLabels": { +"additionalProperties": { +"type": "string" +}, +"description": "Labels that will be applied to newly imported Annotations. If two Annotations are identical, one of them will be deduped. Two Annotations are considered identical if their payload, payload_schema_uri and all of their labels are the same. These labels will be overridden by Annotation labels specified inside index file referenced by import_schema_uri, e.g. jsonl file.", +"type": "object" +}, +"dataItemLabels": { +"additionalProperties": { +"type": "string" +}, +"description": "Labels that will be applied to newly imported DataItems. If an identical DataItem as one being imported already exists in the Dataset, then these labels will be appended to these of the already existing one, and if labels with identical key is imported before, the old label value will be overwritten. If two DataItems are identical in the same import data operation, the labels will be combined and if key collision happens in this case, one of the values will be picked randomly. Two DataItems are considered identical if their content bytes are identical (e.g. image bytes or pdf bytes). These labels will be overridden by Annotation labels specified inside index file referenced by import_schema_uri, e.g. jsonl file.", +"type": "object" +}, +"gcsSource": { +"$ref": "GoogleCloudAiplatformV1GcsSource", +"description": "The Google Cloud Storage location for the input content." +}, +"importSchemaUri": { +"description": "Required. Points to a YAML file stored on Google Cloud Storage describing the import format. Validation will be done against the schema. The schema is defined as an [OpenAPI 3.0.2 Schema Object](https://github.com/OAI/OpenAPI-Specification/blob/main/versions/3.0.2.md#schemaObject).", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1ImportDataOperationMetadata": { +"description": "Runtime operation information for DatasetService.ImportData.", +"id": "GoogleCloudAiplatformV1ImportDataOperationMetadata", +"properties": { +"genericMetadata": { +"$ref": "GoogleCloudAiplatformV1GenericOperationMetadata", +"description": "The common part of the operation metadata." +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1ImportDataRequest": { +"description": "Request message for DatasetService.ImportData.", +"id": "GoogleCloudAiplatformV1ImportDataRequest", +"properties": { +"importConfigs": { +"description": "Required. The desired input locations. The contents of all input locations will be imported in one batch.", +"items": { +"$ref": "GoogleCloudAiplatformV1ImportDataConfig" +}, +"type": "array" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1ImportDataResponse": { +"description": "Response message for DatasetService.ImportData.", +"id": "GoogleCloudAiplatformV1ImportDataResponse", +"properties": {}, +"type": "object" +}, +"GoogleCloudAiplatformV1ImportFeatureValuesOperationMetadata": { +"description": "Details of operations that perform import Feature values.", +"id": "GoogleCloudAiplatformV1ImportFeatureValuesOperationMetadata", +"properties": { +"blockingOperationIds": { +"description": "List of ImportFeatureValues operations running under a single EntityType that are blocking this operation.", +"items": { +"format": "int64", +"type": "string" +}, +"type": "array" +}, +"genericMetadata": { +"$ref": "GoogleCloudAiplatformV1GenericOperationMetadata", +"description": "Operation metadata for Featurestore import Feature values." +}, +"importedEntityCount": { +"description": "Number of entities that have been imported by the operation.", +"format": "int64", +"type": "string" +}, +"importedFeatureValueCount": { +"description": "Number of Feature values that have been imported by the operation.", +"format": "int64", +"type": "string" +}, +"invalidRowCount": { +"description": "The number of rows in input source that weren't imported due to either * Not having any featureValues. * Having a null entityId. * Having a null timestamp. * Not being parsable (applicable for CSV sources).", +"format": "int64", +"type": "string" +}, +"sourceUris": { +"description": "The source URI from where Feature values are imported.", +"items": { +"type": "string" +}, +"type": "array" +}, +"timestampOutsideRetentionRowsCount": { +"description": "The number rows that weren't ingested due to having timestamps outside the retention boundary.", +"format": "int64", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1ImportFeatureValuesRequest": { +"description": "Request message for FeaturestoreService.ImportFeatureValues.", +"id": "GoogleCloudAiplatformV1ImportFeatureValuesRequest", +"properties": { +"avroSource": { +"$ref": "GoogleCloudAiplatformV1AvroSource" +}, +"bigquerySource": { +"$ref": "GoogleCloudAiplatformV1BigQuerySource" +}, +"csvSource": { +"$ref": "GoogleCloudAiplatformV1CsvSource" +}, +"disableIngestionAnalysis": { +"description": "If true, API doesn't start ingestion analysis pipeline.", +"type": "boolean" +}, +"disableOnlineServing": { +"description": "If set, data will not be imported for online serving. This is typically used for backfilling, where Feature generation timestamps are not in the timestamp range needed for online serving.", +"type": "boolean" +}, +"entityIdField": { +"description": "Source column that holds entity IDs. If not provided, entity IDs are extracted from the column named entity_id.", +"type": "string" +}, +"featureSpecs": { +"description": "Required. Specifications defining which Feature values to import from the entity. The request fails if no feature_specs are provided, and having multiple feature_specs for one Feature is not allowed.", +"items": { +"$ref": "GoogleCloudAiplatformV1ImportFeatureValuesRequestFeatureSpec" +}, +"type": "array" +}, +"featureTime": { +"description": "Single Feature timestamp for all entities being imported. The timestamp must not have higher than millisecond precision.", +"format": "google-datetime", +"type": "string" +}, +"featureTimeField": { +"description": "Source column that holds the Feature timestamp for all Feature values in each entity.", +"type": "string" +}, +"workerCount": { +"description": "Specifies the number of workers that are used to write data to the Featurestore. Consider the online serving capacity that you require to achieve the desired import throughput without interfering with online serving. The value must be positive, and less than or equal to 100. If not set, defaults to using 1 worker. The low count ensures minimal impact on online serving performance.", +"format": "int32", +"type": "integer" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1ImportFeatureValuesRequestFeatureSpec": { +"description": "Defines the Feature value(s) to import.", +"id": "GoogleCloudAiplatformV1ImportFeatureValuesRequestFeatureSpec", +"properties": { +"id": { +"description": "Required. ID of the Feature to import values of. This Feature must exist in the target EntityType, or the request will fail.", +"type": "string" +}, +"sourceField": { +"description": "Source column to get the Feature values from. If not set, uses the column with the same name as the Feature ID.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1ImportFeatureValuesResponse": { +"description": "Response message for FeaturestoreService.ImportFeatureValues.", +"id": "GoogleCloudAiplatformV1ImportFeatureValuesResponse", +"properties": { +"importedEntityCount": { +"description": "Number of entities that have been imported by the operation.", +"format": "int64", +"type": "string" +}, +"importedFeatureValueCount": { +"description": "Number of Feature values that have been imported by the operation.", +"format": "int64", +"type": "string" +}, +"invalidRowCount": { +"description": "The number of rows in input source that weren't imported due to either * Not having any featureValues. * Having a null entityId. * Having a null timestamp. * Not being parsable (applicable for CSV sources).", +"format": "int64", +"type": "string" +}, +"timestampOutsideRetentionRowsCount": { +"description": "The number rows that weren't ingested due to having feature timestamps outside the retention boundary.", +"format": "int64", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1ImportModelEvaluationRequest": { +"description": "Request message for ModelService.ImportModelEvaluation", +"id": "GoogleCloudAiplatformV1ImportModelEvaluationRequest", +"properties": { +"modelEvaluation": { +"$ref": "GoogleCloudAiplatformV1ModelEvaluation", +"description": "Required. Model evaluation resource to be imported." +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1ImportRagFilesConfig": { +"description": "Config for importing RagFiles.", +"id": "GoogleCloudAiplatformV1ImportRagFilesConfig", +"properties": { +"gcsSource": { +"$ref": "GoogleCloudAiplatformV1GcsSource", +"description": "Google Cloud Storage location. Supports importing individual files as well as entire Google Cloud Storage directories. Sample formats: - `gs://bucket_name/my_directory/object_name/my_file.txt` - `gs://bucket_name/my_directory`" +}, +"googleDriveSource": { +"$ref": "GoogleCloudAiplatformV1GoogleDriveSource", +"description": "Google Drive location. Supports importing individual files as well as Google Drive folders." +}, +"jiraSource": { +"$ref": "GoogleCloudAiplatformV1JiraSource", +"description": "Jira queries with their corresponding authentication." +}, +"maxEmbeddingRequestsPerMin": { +"description": "Optional. The max number of queries per minute that this job is allowed to make to the embedding model specified on the corpus. This value is specific to this job and not shared across other import jobs. Consult the Quotas page on the project to set an appropriate value here. If unspecified, a default value of 1,000 QPM would be used.", +"format": "int32", +"type": "integer" +}, +"partialFailureBigquerySink": { +"$ref": "GoogleCloudAiplatformV1BigQueryDestination", +"deprecated": true, +"description": "The BigQuery destination to write partial failures to. It should be a bigquery table resource name (e.g. \"bq://projectId.bqDatasetId.bqTableId\"). The dataset must exist. If the table does not exist, it will be created with the expected schema. If the table exists, the schema will be validated and data will be added to this existing table. Deprecated. Prefer to use `import_result_bq_sink`." +}, +"partialFailureGcsSink": { +"$ref": "GoogleCloudAiplatformV1GcsDestination", +"deprecated": true, +"description": "The Cloud Storage path to write partial failures to. Deprecated. Prefer to use `import_result_gcs_sink`." +}, +"ragFileTransformationConfig": { +"$ref": "GoogleCloudAiplatformV1RagFileTransformationConfig", +"description": "Specifies the transformation config for RagFiles." +}, +"sharePointSources": { +"$ref": "GoogleCloudAiplatformV1SharePointSources", +"description": "SharePoint sources." +}, +"slackSource": { +"$ref": "GoogleCloudAiplatformV1SlackSource", +"description": "Slack channels with their corresponding access tokens." +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1ImportRagFilesRequest": { +"description": "Request message for VertexRagDataService.ImportRagFiles.", +"id": "GoogleCloudAiplatformV1ImportRagFilesRequest", +"properties": { +"importRagFilesConfig": { +"$ref": "GoogleCloudAiplatformV1ImportRagFilesConfig", +"description": "Required. The config for the RagFiles to be synced and imported into the RagCorpus. VertexRagDataService.ImportRagFiles." +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1Index": { +"description": "A representation of a collection of database items organized in a way that allows for approximate nearest neighbor (a.k.a ANN) algorithms search.", +"id": "GoogleCloudAiplatformV1Index", +"properties": { +"createTime": { +"description": "Output only. Timestamp when this Index was created.", +"format": "google-datetime", +"readOnly": true, +"type": "string" +}, +"deployedIndexes": { +"description": "Output only. The pointers to DeployedIndexes created from this Index. An Index can be only deleted if all its DeployedIndexes had been undeployed first.", +"items": { +"$ref": "GoogleCloudAiplatformV1DeployedIndexRef" +}, +"readOnly": true, +"type": "array" +}, +"description": { +"description": "The description of the Index.", +"type": "string" +}, +"displayName": { +"description": "Required. The display name of the Index. The name can be up to 128 characters long and can consist of any UTF-8 characters.", +"type": "string" +}, +"encryptionSpec": { +"$ref": "GoogleCloudAiplatformV1EncryptionSpec", +"description": "Immutable. Customer-managed encryption key spec for an Index. If set, this Index and all sub-resources of this Index will be secured by this key." +}, +"etag": { +"description": "Used to perform consistent read-modify-write updates. If not set, a blind \"overwrite\" update happens.", +"type": "string" +}, +"indexStats": { +"$ref": "GoogleCloudAiplatformV1IndexStats", +"description": "Output only. Stats of the index resource.", +"readOnly": true +}, +"indexUpdateMethod": { +"description": "Immutable. The update method to use with this Index. If not set, BATCH_UPDATE will be used by default.", +"enum": [ +"INDEX_UPDATE_METHOD_UNSPECIFIED", +"BATCH_UPDATE", +"STREAM_UPDATE" +], +"enumDescriptions": [ +"Should not be used.", +"BatchUpdate: user can call UpdateIndex with files on Cloud Storage of Datapoints to update.", +"StreamUpdate: user can call UpsertDatapoints/DeleteDatapoints to update the Index and the updates will be applied in corresponding DeployedIndexes in nearly real-time." +], +"type": "string" +}, +"labels": { +"additionalProperties": { +"type": "string" +}, +"description": "The labels with user-defined metadata to organize your Indexes. Label keys and values can be no longer than 64 characters (Unicode codepoints), can only contain lowercase letters, numeric characters, underscores and dashes. International characters are allowed. See https://goo.gl/xmQnxf for more information and examples of labels.", +"type": "object" +}, +"metadata": { +"description": "An additional information about the Index; the schema of the metadata can be found in metadata_schema.", +"type": "any" +}, +"metadataSchemaUri": { +"description": "Immutable. Points to a YAML file stored on Google Cloud Storage describing additional information about the Index, that is specific to it. Unset if the Index does not have any additional information. The schema is defined as an OpenAPI 3.0.2 [Schema Object](https://github.com/OAI/OpenAPI-Specification/blob/main/versions/3.0.2.md#schemaObject). Note: The URI given on output will be immutable and probably different, including the URI scheme, than the one given on input. The output URI will point to a location where the user only has a read access.", +"type": "string" +}, +"name": { +"description": "Output only. The resource name of the Index.", +"readOnly": true, +"type": "string" +}, +"satisfiesPzi": { +"description": "Output only. Reserved for future use.", +"readOnly": true, +"type": "boolean" +}, +"satisfiesPzs": { +"description": "Output only. Reserved for future use.", +"readOnly": true, +"type": "boolean" +}, +"updateTime": { +"description": "Output only. Timestamp when this Index was most recently updated. This also includes any update to the contents of the Index. Note that Operations working on this Index may have their Operations.metadata.generic_metadata.update_time a little after the value of this timestamp, yet that does not mean their results are not already reflected in the Index. Result of any successfully completed Operation on the Index is reflected in it.", +"format": "google-datetime", +"readOnly": true, +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1IndexDatapoint": { +"description": "A datapoint of Index.", +"id": "GoogleCloudAiplatformV1IndexDatapoint", +"properties": { +"crowdingTag": { +"$ref": "GoogleCloudAiplatformV1IndexDatapointCrowdingTag", +"description": "Optional. CrowdingTag of the datapoint, the number of neighbors to return in each crowding can be configured during query." +}, +"datapointId": { +"description": "Required. Unique identifier of the datapoint.", +"type": "string" +}, +"featureVector": { +"description": "Required. Feature embedding vector for dense index. An array of numbers with the length of [NearestNeighborSearchConfig.dimensions].", +"items": { +"format": "float", +"type": "number" +}, +"type": "array" +}, +"numericRestricts": { +"description": "Optional. List of Restrict of the datapoint, used to perform \"restricted searches\" where boolean rule are used to filter the subset of the database eligible for matching. This uses numeric comparisons.", +"items": { +"$ref": "GoogleCloudAiplatformV1IndexDatapointNumericRestriction" +}, +"type": "array" +}, +"restricts": { +"description": "Optional. List of Restrict of the datapoint, used to perform \"restricted searches\" where boolean rule are used to filter the subset of the database eligible for matching. This uses categorical tokens. See: https://cloud.google.com/vertex-ai/docs/matching-engine/filtering", +"items": { +"$ref": "GoogleCloudAiplatformV1IndexDatapointRestriction" +}, +"type": "array" +}, +"sparseEmbedding": { +"$ref": "GoogleCloudAiplatformV1IndexDatapointSparseEmbedding", +"description": "Optional. Feature embedding vector for sparse index." +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1IndexDatapointCrowdingTag": { +"description": "Crowding tag is a constraint on a neighbor list produced by nearest neighbor search requiring that no more than some value k' of the k neighbors returned have the same value of crowding_attribute.", +"id": "GoogleCloudAiplatformV1IndexDatapointCrowdingTag", +"properties": { +"crowdingAttribute": { +"description": "The attribute value used for crowding. The maximum number of neighbors to return per crowding attribute value (per_crowding_attribute_num_neighbors) is configured per-query. This field is ignored if per_crowding_attribute_num_neighbors is larger than the total number of neighbors to return for a given query.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1IndexDatapointNumericRestriction": { +"description": "This field allows restricts to be based on numeric comparisons rather than categorical tokens.", +"id": "GoogleCloudAiplatformV1IndexDatapointNumericRestriction", +"properties": { +"namespace": { +"description": "The namespace of this restriction. e.g.: cost.", +"type": "string" +}, +"op": { +"description": "This MUST be specified for queries and must NOT be specified for datapoints.", +"enum": [ +"OPERATOR_UNSPECIFIED", +"LESS", +"LESS_EQUAL", +"EQUAL", +"GREATER_EQUAL", +"GREATER", +"NOT_EQUAL" +], +"enumDescriptions": [ +"Default value of the enum.", +"Datapoints are eligible iff their value is < the query's.", +"Datapoints are eligible iff their value is <= the query's.", +"Datapoints are eligible iff their value is == the query's.", +"Datapoints are eligible iff their value is >= the query's.", +"Datapoints are eligible iff their value is > the query's.", +"Datapoints are eligible iff their value is != the query's." +], +"type": "string" +}, +"valueDouble": { +"description": "Represents 64 bit float.", +"format": "double", +"type": "number" +}, +"valueFloat": { +"description": "Represents 32 bit float.", +"format": "float", +"type": "number" +}, +"valueInt": { +"description": "Represents 64 bit integer.", +"format": "int64", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1IndexDatapointRestriction": { +"description": "Restriction of a datapoint which describe its attributes(tokens) from each of several attribute categories(namespaces).", +"id": "GoogleCloudAiplatformV1IndexDatapointRestriction", +"properties": { +"allowList": { +"description": "The attributes to allow in this namespace. e.g.: 'red'", +"items": { +"type": "string" +}, +"type": "array" +}, +"denyList": { +"description": "The attributes to deny in this namespace. e.g.: 'blue'", +"items": { +"type": "string" +}, +"type": "array" +}, +"namespace": { +"description": "The namespace of this restriction. e.g.: color.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1IndexDatapointSparseEmbedding": { +"description": "Feature embedding vector for sparse index. An array of numbers whose values are located in the specified dimensions.", +"id": "GoogleCloudAiplatformV1IndexDatapointSparseEmbedding", +"properties": { +"dimensions": { +"description": "Required. The list of indexes for the embedding values of the sparse vector.", +"items": { +"format": "int64", +"type": "string" +}, +"type": "array" +}, +"values": { +"description": "Required. The list of embedding values of the sparse vector.", +"items": { +"format": "float", +"type": "number" +}, +"type": "array" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1IndexEndpoint": { +"description": "Indexes are deployed into it. An IndexEndpoint can have multiple DeployedIndexes.", +"id": "GoogleCloudAiplatformV1IndexEndpoint", +"properties": { +"createTime": { +"description": "Output only. Timestamp when this IndexEndpoint was created.", +"format": "google-datetime", +"readOnly": true, +"type": "string" +}, +"deployedIndexes": { +"description": "Output only. The indexes deployed in this endpoint.", +"items": { +"$ref": "GoogleCloudAiplatformV1DeployedIndex" +}, +"readOnly": true, +"type": "array" +}, +"description": { +"description": "The description of the IndexEndpoint.", +"type": "string" +}, +"displayName": { +"description": "Required. The display name of the IndexEndpoint. The name can be up to 128 characters long and can consist of any UTF-8 characters.", +"type": "string" +}, +"enablePrivateServiceConnect": { +"deprecated": true, +"description": "Optional. Deprecated: If true, expose the IndexEndpoint via private service connect. Only one of the fields, network or enable_private_service_connect, can be set.", +"type": "boolean" +}, +"encryptionSpec": { +"$ref": "GoogleCloudAiplatformV1EncryptionSpec", +"description": "Immutable. Customer-managed encryption key spec for an IndexEndpoint. If set, this IndexEndpoint and all sub-resources of this IndexEndpoint will be secured by this key." +}, +"etag": { +"description": "Used to perform consistent read-modify-write updates. If not set, a blind \"overwrite\" update happens.", +"type": "string" +}, +"labels": { +"additionalProperties": { +"type": "string" +}, +"description": "The labels with user-defined metadata to organize your IndexEndpoints. Label keys and values can be no longer than 64 characters (Unicode codepoints), can only contain lowercase letters, numeric characters, underscores and dashes. International characters are allowed. See https://goo.gl/xmQnxf for more information and examples of labels.", +"type": "object" +}, +"name": { +"description": "Output only. The resource name of the IndexEndpoint.", +"readOnly": true, +"type": "string" +}, +"network": { +"description": "Optional. The full name of the Google Compute Engine [network](https://cloud.google.com/compute/docs/networks-and-firewalls#networks) to which the IndexEndpoint should be peered. Private services access must already be configured for the network. If left unspecified, the Endpoint is not peered with any network. network and private_service_connect_config are mutually exclusive. [Format](https://cloud.google.com/compute/docs/reference/rest/v1/networks/insert): `projects/{project}/global/networks/{network}`. Where {project} is a project number, as in '12345', and {network} is network name.", +"type": "string" +}, +"privateServiceConnectConfig": { +"$ref": "GoogleCloudAiplatformV1PrivateServiceConnectConfig", +"description": "Optional. Configuration for private service connect. network and private_service_connect_config are mutually exclusive." +}, +"publicEndpointDomainName": { +"description": "Output only. If public_endpoint_enabled is true, this field will be populated with the domain name to use for this index endpoint.", +"readOnly": true, +"type": "string" +}, +"publicEndpointEnabled": { +"description": "Optional. If true, the deployed index will be accessible through public endpoint.", +"type": "boolean" +}, +"satisfiesPzi": { +"description": "Output only. Reserved for future use.", +"readOnly": true, +"type": "boolean" +}, +"satisfiesPzs": { +"description": "Output only. Reserved for future use.", +"readOnly": true, +"type": "boolean" +}, +"updateTime": { +"description": "Output only. Timestamp when this IndexEndpoint was last updated. This timestamp is not updated when the endpoint's DeployedIndexes are updated, e.g. due to updates of the original Indexes they are the deployments of.", +"format": "google-datetime", +"readOnly": true, +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1IndexPrivateEndpoints": { +"description": "IndexPrivateEndpoints proto is used to provide paths for users to send requests via private endpoints (e.g. private service access, private service connect). To send request via private service access, use match_grpc_address. To send request via private service connect, use service_attachment.", +"id": "GoogleCloudAiplatformV1IndexPrivateEndpoints", +"properties": { +"matchGrpcAddress": { +"description": "Output only. The ip address used to send match gRPC requests.", +"readOnly": true, +"type": "string" +}, +"pscAutomatedEndpoints": { +"description": "Output only. PscAutomatedEndpoints is populated if private service connect is enabled if PscAutomatedConfig is set.", +"items": { +"$ref": "GoogleCloudAiplatformV1PscAutomatedEndpoints" +}, +"readOnly": true, +"type": "array" +}, +"serviceAttachment": { +"description": "Output only. The name of the service attachment resource. Populated if private service connect is enabled.", +"readOnly": true, +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1IndexStats": { +"description": "Stats of the Index.", +"id": "GoogleCloudAiplatformV1IndexStats", +"properties": { +"shardsCount": { +"description": "Output only. The number of shards in the Index.", +"format": "int32", +"readOnly": true, +"type": "integer" +}, +"sparseVectorsCount": { +"description": "Output only. The number of sparse vectors in the Index.", +"format": "int64", +"readOnly": true, +"type": "string" +}, +"vectorsCount": { +"description": "Output only. The number of dense vectors in the Index.", +"format": "int64", +"readOnly": true, +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1InputDataConfig": { +"description": "Specifies Vertex AI owned input data to be used for training, and possibly evaluating, the Model.", +"id": "GoogleCloudAiplatformV1InputDataConfig", +"properties": { +"annotationSchemaUri": { +"description": "Applicable only to custom training with Datasets that have DataItems and Annotations. Cloud Storage URI that points to a YAML file describing the annotation schema. The schema is defined as an OpenAPI 3.0.2 [Schema Object](https://github.com/OAI/OpenAPI-Specification/blob/main/versions/3.0.2.md#schemaObject). The schema files that can be used here are found in gs://google-cloud-aiplatform/schema/dataset/annotation/ , note that the chosen schema must be consistent with metadata of the Dataset specified by dataset_id. Only Annotations that both match this schema and belong to DataItems not ignored by the split method are used in respectively training, validation or test role, depending on the role of the DataItem they are on. When used in conjunction with annotations_filter, the Annotations used for training are filtered by both annotations_filter and annotation_schema_uri.", +"type": "string" +}, +"annotationsFilter": { +"description": "Applicable only to Datasets that have DataItems and Annotations. A filter on Annotations of the Dataset. Only Annotations that both match this filter and belong to DataItems not ignored by the split method are used in respectively training, validation or test role, depending on the role of the DataItem they are on (for the auto-assigned that role is decided by Vertex AI). A filter with same syntax as the one used in ListAnnotations may be used, but note here it filters across all Annotations of the Dataset, and not just within a single DataItem.", +"type": "string" +}, +"bigqueryDestination": { +"$ref": "GoogleCloudAiplatformV1BigQueryDestination", +"description": "Only applicable to custom training with tabular Dataset with BigQuery source. The BigQuery project location where the training data is to be written to. In the given project a new dataset is created with name `dataset___` where timestamp is in YYYY_MM_DDThh_mm_ss_sssZ format. All training input data is written into that dataset. In the dataset three tables are created, `training`, `validation` and `test`. * AIP_DATA_FORMAT = \"bigquery\". * AIP_TRAINING_DATA_URI = \"bigquery_destination.dataset___.training\" * AIP_VALIDATION_DATA_URI = \"bigquery_destination.dataset___.validation\" * AIP_TEST_DATA_URI = \"bigquery_destination.dataset___.test\"" +}, +"datasetId": { +"description": "Required. The ID of the Dataset in the same Project and Location which data will be used to train the Model. The Dataset must use schema compatible with Model being trained, and what is compatible should be described in the used TrainingPipeline's training_task_definition. For tabular Datasets, all their data is exported to training, to pick and choose from.", +"type": "string" +}, +"filterSplit": { +"$ref": "GoogleCloudAiplatformV1FilterSplit", +"description": "Split based on the provided filters for each set." +}, +"fractionSplit": { +"$ref": "GoogleCloudAiplatformV1FractionSplit", +"description": "Split based on fractions defining the size of each set." +}, +"gcsDestination": { +"$ref": "GoogleCloudAiplatformV1GcsDestination", +"description": "The Cloud Storage location where the training data is to be written to. In the given directory a new directory is created with name: `dataset---` where timestamp is in YYYY-MM-DDThh:mm:ss.sssZ ISO-8601 format. All training input data is written into that directory. The Vertex AI environment variables representing Cloud Storage data URIs are represented in the Cloud Storage wildcard format to support sharded data. e.g.: \"gs://.../training-*.jsonl\" * AIP_DATA_FORMAT = \"jsonl\" for non-tabular data, \"csv\" for tabular data * AIP_TRAINING_DATA_URI = \"gcs_destination/dataset---/training-*.${AIP_DATA_FORMAT}\" * AIP_VALIDATION_DATA_URI = \"gcs_destination/dataset---/validation-*.${AIP_DATA_FORMAT}\" * AIP_TEST_DATA_URI = \"gcs_destination/dataset---/test-*.${AIP_DATA_FORMAT}\"" +}, +"persistMlUseAssignment": { +"description": "Whether to persist the ML use assignment to data item system labels.", +"type": "boolean" +}, +"predefinedSplit": { +"$ref": "GoogleCloudAiplatformV1PredefinedSplit", +"description": "Supported only for tabular Datasets. Split based on a predefined key." +}, +"savedQueryId": { +"description": "Only applicable to Datasets that have SavedQueries. The ID of a SavedQuery (annotation set) under the Dataset specified by dataset_id used for filtering Annotations for training. Only Annotations that are associated with this SavedQuery are used in respectively training. When used in conjunction with annotations_filter, the Annotations used for training are filtered by both saved_query_id and annotations_filter. Only one of saved_query_id and annotation_schema_uri should be specified as both of them represent the same thing: problem type.", +"type": "string" +}, +"stratifiedSplit": { +"$ref": "GoogleCloudAiplatformV1StratifiedSplit", +"description": "Supported only for tabular Datasets. Split based on the distribution of the specified column." +}, +"timestampSplit": { +"$ref": "GoogleCloudAiplatformV1TimestampSplit", +"description": "Supported only for tabular Datasets. Split based on the timestamp of the input data pieces." +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1Int64Array": { +"description": "A list of int64 values.", +"id": "GoogleCloudAiplatformV1Int64Array", +"properties": { +"values": { +"description": "A list of int64 values.", +"items": { +"format": "int64", +"type": "string" +}, +"type": "array" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1IntegratedGradientsAttribution": { +"description": "An attribution method that computes the Aumann-Shapley value taking advantage of the model's fully differentiable structure. Refer to this paper for more details: https://arxiv.org/abs/1703.01365", +"id": "GoogleCloudAiplatformV1IntegratedGradientsAttribution", +"properties": { +"blurBaselineConfig": { +"$ref": "GoogleCloudAiplatformV1BlurBaselineConfig", +"description": "Config for IG with blur baseline. When enabled, a linear path from the maximally blurred image to the input image is created. Using a blurred baseline instead of zero (black image) is motivated by the BlurIG approach explained here: https://arxiv.org/abs/2004.03383" +}, +"smoothGradConfig": { +"$ref": "GoogleCloudAiplatformV1SmoothGradConfig", +"description": "Config for SmoothGrad approximation of gradients. When enabled, the gradients are approximated by averaging the gradients from noisy samples in the vicinity of the inputs. Adding noise can help improve the computed gradients. Refer to this paper for more details: https://arxiv.org/pdf/1706.03825.pdf" +}, +"stepCount": { +"description": "Required. The number of steps for approximating the path integral. A good value to start is 50 and gradually increase until the sum to diff property is within the desired error range. Valid range of its value is [1, 100], inclusively.", +"format": "int32", +"type": "integer" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1JiraSource": { +"description": "The Jira source for the ImportRagFilesRequest.", +"id": "GoogleCloudAiplatformV1JiraSource", +"properties": { +"jiraQueries": { +"description": "Required. The Jira queries.", +"items": { +"$ref": "GoogleCloudAiplatformV1JiraSourceJiraQueries" +}, +"type": "array" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1JiraSourceJiraQueries": { +"description": "JiraQueries contains the Jira queries and corresponding authentication.", +"id": "GoogleCloudAiplatformV1JiraSourceJiraQueries", +"properties": { +"apiKeyConfig": { +"$ref": "GoogleCloudAiplatformV1ApiAuthApiKeyConfig", +"description": "Required. The SecretManager secret version resource name (e.g. projects/{project}/secrets/{secret}/versions/{version}) storing the Jira API key. See [Manage API tokens for your Atlassian account](https://support.atlassian.com/atlassian-account/docs/manage-api-tokens-for-your-atlassian-account/)." +}, +"customQueries": { +"description": "A list of custom Jira queries to import. For information about JQL (Jira Query Language), see https://support.atlassian.com/jira-service-management-cloud/docs/use-advanced-search-with-jira-query-language-jql/", +"items": { +"type": "string" +}, +"type": "array" +}, +"email": { +"description": "Required. The Jira email address.", +"type": "string" +}, +"projects": { +"description": "A list of Jira projects to import in their entirety.", +"items": { +"type": "string" +}, +"type": "array" +}, +"serverUri": { +"description": "Required. The Jira server URI.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1LargeModelReference": { +"description": "Contains information about the Large Model.", +"id": "GoogleCloudAiplatformV1LargeModelReference", +"properties": { +"name": { +"description": "Required. The unique name of the large Foundation or pre-built model. Like \"chat-bison\", \"text-bison\". Or model name with version ID, like \"chat-bison@001\", \"text-bison@005\", etc.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1LineageSubgraph": { +"description": "A subgraph of the overall lineage graph. Event edges connect Artifact and Execution nodes.", +"id": "GoogleCloudAiplatformV1LineageSubgraph", +"properties": { +"artifacts": { +"description": "The Artifact nodes in the subgraph.", +"items": { +"$ref": "GoogleCloudAiplatformV1Artifact" +}, +"type": "array" +}, +"events": { +"description": "The Event edges between Artifacts and Executions in the subgraph.", +"items": { +"$ref": "GoogleCloudAiplatformV1Event" +}, +"type": "array" +}, +"executions": { +"description": "The Execution nodes in the subgraph.", +"items": { +"$ref": "GoogleCloudAiplatformV1Execution" +}, +"type": "array" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1ListAnnotationsResponse": { +"description": "Response message for DatasetService.ListAnnotations.", +"id": "GoogleCloudAiplatformV1ListAnnotationsResponse", +"properties": { +"annotations": { +"description": "A list of Annotations that matches the specified filter in the request.", +"items": { +"$ref": "GoogleCloudAiplatformV1Annotation" +}, +"type": "array" +}, +"nextPageToken": { +"description": "The standard List next-page token.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1ListArtifactsResponse": { +"description": "Response message for MetadataService.ListArtifacts.", +"id": "GoogleCloudAiplatformV1ListArtifactsResponse", +"properties": { +"artifacts": { +"description": "The Artifacts retrieved from the MetadataStore.", +"items": { +"$ref": "GoogleCloudAiplatformV1Artifact" +}, +"type": "array" +}, +"nextPageToken": { +"description": "A token, which can be sent as ListArtifactsRequest.page_token to retrieve the next page. If this field is not populated, there are no subsequent pages.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1ListBatchPredictionJobsResponse": { +"description": "Response message for JobService.ListBatchPredictionJobs", +"id": "GoogleCloudAiplatformV1ListBatchPredictionJobsResponse", +"properties": { +"batchPredictionJobs": { +"description": "List of BatchPredictionJobs in the requested page.", +"items": { +"$ref": "GoogleCloudAiplatformV1BatchPredictionJob" +}, +"type": "array" +}, +"nextPageToken": { +"description": "A token to retrieve the next page of results. Pass to ListBatchPredictionJobsRequest.page_token to obtain that page.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1ListCachedContentsResponse": { +"description": "Response with a list of CachedContents.", +"id": "GoogleCloudAiplatformV1ListCachedContentsResponse", +"properties": { +"cachedContents": { +"description": "List of cached contents.", +"items": { +"$ref": "GoogleCloudAiplatformV1CachedContent" +}, +"type": "array" +}, +"nextPageToken": { +"description": "A token, which can be sent as `page_token` to retrieve the next page. If this field is omitted, there are no subsequent pages.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1ListContextsResponse": { +"description": "Response message for MetadataService.ListContexts.", +"id": "GoogleCloudAiplatformV1ListContextsResponse", +"properties": { +"contexts": { +"description": "The Contexts retrieved from the MetadataStore.", +"items": { +"$ref": "GoogleCloudAiplatformV1Context" +}, +"type": "array" +}, +"nextPageToken": { +"description": "A token, which can be sent as ListContextsRequest.page_token to retrieve the next page. If this field is not populated, there are no subsequent pages.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1ListCustomJobsResponse": { +"description": "Response message for JobService.ListCustomJobs", +"id": "GoogleCloudAiplatformV1ListCustomJobsResponse", +"properties": { +"customJobs": { +"description": "List of CustomJobs in the requested page.", +"items": { +"$ref": "GoogleCloudAiplatformV1CustomJob" +}, +"type": "array" +}, +"nextPageToken": { +"description": "A token to retrieve the next page of results. Pass to ListCustomJobsRequest.page_token to obtain that page.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1ListDataItemsResponse": { +"description": "Response message for DatasetService.ListDataItems.", +"id": "GoogleCloudAiplatformV1ListDataItemsResponse", +"properties": { +"dataItems": { +"description": "A list of DataItems that matches the specified filter in the request.", +"items": { +"$ref": "GoogleCloudAiplatformV1DataItem" +}, +"type": "array" +}, +"nextPageToken": { +"description": "The standard List next-page token.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1ListDataLabelingJobsResponse": { +"description": "Response message for JobService.ListDataLabelingJobs.", +"id": "GoogleCloudAiplatformV1ListDataLabelingJobsResponse", +"properties": { +"dataLabelingJobs": { +"description": "A list of DataLabelingJobs that matches the specified filter in the request.", +"items": { +"$ref": "GoogleCloudAiplatformV1DataLabelingJob" +}, +"type": "array" +}, +"nextPageToken": { +"description": "The standard List next-page token.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1ListDatasetVersionsResponse": { +"description": "Response message for DatasetService.ListDatasetVersions.", +"id": "GoogleCloudAiplatformV1ListDatasetVersionsResponse", +"properties": { +"datasetVersions": { +"description": "A list of DatasetVersions that matches the specified filter in the request.", +"items": { +"$ref": "GoogleCloudAiplatformV1DatasetVersion" +}, +"type": "array" +}, +"nextPageToken": { +"description": "The standard List next-page token.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1ListDatasetsResponse": { +"description": "Response message for DatasetService.ListDatasets.", +"id": "GoogleCloudAiplatformV1ListDatasetsResponse", +"properties": { +"datasets": { +"description": "A list of Datasets that matches the specified filter in the request.", +"items": { +"$ref": "GoogleCloudAiplatformV1Dataset" +}, +"type": "array" +}, +"nextPageToken": { +"description": "The standard List next-page token.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1ListDeploymentResourcePoolsResponse": { +"description": "Response message for ListDeploymentResourcePools method.", +"id": "GoogleCloudAiplatformV1ListDeploymentResourcePoolsResponse", +"properties": { +"deploymentResourcePools": { +"description": "The DeploymentResourcePools from the specified location.", +"items": { +"$ref": "GoogleCloudAiplatformV1DeploymentResourcePool" +}, +"type": "array" +}, +"nextPageToken": { +"description": "A token, which can be sent as `page_token` to retrieve the next page. If this field is omitted, there are no subsequent pages.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1ListEndpointsResponse": { +"description": "Response message for EndpointService.ListEndpoints.", +"id": "GoogleCloudAiplatformV1ListEndpointsResponse", +"properties": { +"endpoints": { +"description": "List of Endpoints in the requested page.", +"items": { +"$ref": "GoogleCloudAiplatformV1Endpoint" +}, +"type": "array" +}, +"nextPageToken": { +"description": "A token to retrieve the next page of results. Pass to ListEndpointsRequest.page_token to obtain that page.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1ListEntityTypesResponse": { +"description": "Response message for FeaturestoreService.ListEntityTypes.", +"id": "GoogleCloudAiplatformV1ListEntityTypesResponse", +"properties": { +"entityTypes": { +"description": "The EntityTypes matching the request.", +"items": { +"$ref": "GoogleCloudAiplatformV1EntityType" +}, +"type": "array" +}, +"nextPageToken": { +"description": "A token, which can be sent as ListEntityTypesRequest.page_token to retrieve the next page. If this field is omitted, there are no subsequent pages.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1ListExecutionsResponse": { +"description": "Response message for MetadataService.ListExecutions.", +"id": "GoogleCloudAiplatformV1ListExecutionsResponse", +"properties": { +"executions": { +"description": "The Executions retrieved from the MetadataStore.", +"items": { +"$ref": "GoogleCloudAiplatformV1Execution" +}, +"type": "array" +}, +"nextPageToken": { +"description": "A token, which can be sent as ListExecutionsRequest.page_token to retrieve the next page. If this field is not populated, there are no subsequent pages.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1ListFeatureGroupsResponse": { +"description": "Response message for FeatureRegistryService.ListFeatureGroups.", +"id": "GoogleCloudAiplatformV1ListFeatureGroupsResponse", +"properties": { +"featureGroups": { +"description": "The FeatureGroups matching the request.", +"items": { +"$ref": "GoogleCloudAiplatformV1FeatureGroup" +}, +"type": "array" +}, +"nextPageToken": { +"description": "A token, which can be sent as ListFeatureGroupsRequest.page_token to retrieve the next page. If this field is omitted, there are no subsequent pages.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1ListFeatureOnlineStoresResponse": { +"description": "Response message for FeatureOnlineStoreAdminService.ListFeatureOnlineStores.", +"id": "GoogleCloudAiplatformV1ListFeatureOnlineStoresResponse", +"properties": { +"featureOnlineStores": { +"description": "The FeatureOnlineStores matching the request.", +"items": { +"$ref": "GoogleCloudAiplatformV1FeatureOnlineStore" +}, +"type": "array" +}, +"nextPageToken": { +"description": "A token, which can be sent as ListFeatureOnlineStoresRequest.page_token to retrieve the next page. If this field is omitted, there are no subsequent pages.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1ListFeatureViewSyncsResponse": { +"description": "Response message for FeatureOnlineStoreAdminService.ListFeatureViewSyncs.", +"id": "GoogleCloudAiplatformV1ListFeatureViewSyncsResponse", +"properties": { +"featureViewSyncs": { +"description": "The FeatureViewSyncs matching the request.", +"items": { +"$ref": "GoogleCloudAiplatformV1FeatureViewSync" +}, +"type": "array" +}, +"nextPageToken": { +"description": "A token, which can be sent as ListFeatureViewSyncsRequest.page_token to retrieve the next page. If this field is omitted, there are no subsequent pages.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1ListFeatureViewsResponse": { +"description": "Response message for FeatureOnlineStoreAdminService.ListFeatureViews.", +"id": "GoogleCloudAiplatformV1ListFeatureViewsResponse", +"properties": { +"featureViews": { +"description": "The FeatureViews matching the request.", +"items": { +"$ref": "GoogleCloudAiplatformV1FeatureView" +}, +"type": "array" +}, +"nextPageToken": { +"description": "A token, which can be sent as ListFeatureViewsRequest.page_token to retrieve the next page. If this field is omitted, there are no subsequent pages.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1ListFeaturesResponse": { +"description": "Response message for FeaturestoreService.ListFeatures. Response message for FeatureRegistryService.ListFeatures.", +"id": "GoogleCloudAiplatformV1ListFeaturesResponse", +"properties": { +"features": { +"description": "The Features matching the request.", +"items": { +"$ref": "GoogleCloudAiplatformV1Feature" +}, +"type": "array" +}, +"nextPageToken": { +"description": "A token, which can be sent as ListFeaturesRequest.page_token to retrieve the next page. If this field is omitted, there are no subsequent pages.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1ListFeaturestoresResponse": { +"description": "Response message for FeaturestoreService.ListFeaturestores.", +"id": "GoogleCloudAiplatformV1ListFeaturestoresResponse", +"properties": { +"featurestores": { +"description": "The Featurestores matching the request.", +"items": { +"$ref": "GoogleCloudAiplatformV1Featurestore" +}, +"type": "array" +}, +"nextPageToken": { +"description": "A token, which can be sent as ListFeaturestoresRequest.page_token to retrieve the next page. If this field is omitted, there are no subsequent pages.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1ListHyperparameterTuningJobsResponse": { +"description": "Response message for JobService.ListHyperparameterTuningJobs", +"id": "GoogleCloudAiplatformV1ListHyperparameterTuningJobsResponse", +"properties": { +"hyperparameterTuningJobs": { +"description": "List of HyperparameterTuningJobs in the requested page. HyperparameterTuningJob.trials of the jobs will be not be returned.", +"items": { +"$ref": "GoogleCloudAiplatformV1HyperparameterTuningJob" +}, +"type": "array" +}, +"nextPageToken": { +"description": "A token to retrieve the next page of results. Pass to ListHyperparameterTuningJobsRequest.page_token to obtain that page.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1ListIndexEndpointsResponse": { +"description": "Response message for IndexEndpointService.ListIndexEndpoints.", +"id": "GoogleCloudAiplatformV1ListIndexEndpointsResponse", +"properties": { +"indexEndpoints": { +"description": "List of IndexEndpoints in the requested page.", +"items": { +"$ref": "GoogleCloudAiplatformV1IndexEndpoint" +}, +"type": "array" +}, +"nextPageToken": { +"description": "A token to retrieve next page of results. Pass to ListIndexEndpointsRequest.page_token to obtain that page.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1ListIndexesResponse": { +"description": "Response message for IndexService.ListIndexes.", +"id": "GoogleCloudAiplatformV1ListIndexesResponse", +"properties": { +"indexes": { +"description": "List of indexes in the requested page.", +"items": { +"$ref": "GoogleCloudAiplatformV1Index" +}, +"type": "array" +}, +"nextPageToken": { +"description": "A token to retrieve next page of results. Pass to ListIndexesRequest.page_token to obtain that page.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1ListMetadataSchemasResponse": { +"description": "Response message for MetadataService.ListMetadataSchemas.", +"id": "GoogleCloudAiplatformV1ListMetadataSchemasResponse", +"properties": { +"metadataSchemas": { +"description": "The MetadataSchemas found for the MetadataStore.", +"items": { +"$ref": "GoogleCloudAiplatformV1MetadataSchema" +}, +"type": "array" +}, +"nextPageToken": { +"description": "A token, which can be sent as ListMetadataSchemasRequest.page_token to retrieve the next page. If this field is not populated, there are no subsequent pages.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1ListMetadataStoresResponse": { +"description": "Response message for MetadataService.ListMetadataStores.", +"id": "GoogleCloudAiplatformV1ListMetadataStoresResponse", +"properties": { +"metadataStores": { +"description": "The MetadataStores found for the Location.", +"items": { +"$ref": "GoogleCloudAiplatformV1MetadataStore" +}, +"type": "array" +}, +"nextPageToken": { +"description": "A token, which can be sent as ListMetadataStoresRequest.page_token to retrieve the next page. If this field is not populated, there are no subsequent pages.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1ListModelDeploymentMonitoringJobsResponse": { +"description": "Response message for JobService.ListModelDeploymentMonitoringJobs.", +"id": "GoogleCloudAiplatformV1ListModelDeploymentMonitoringJobsResponse", +"properties": { +"modelDeploymentMonitoringJobs": { +"description": "A list of ModelDeploymentMonitoringJobs that matches the specified filter in the request.", +"items": { +"$ref": "GoogleCloudAiplatformV1ModelDeploymentMonitoringJob" +}, +"type": "array" +}, +"nextPageToken": { +"description": "The standard List next-page token.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1ListModelEvaluationSlicesResponse": { +"description": "Response message for ModelService.ListModelEvaluationSlices.", +"id": "GoogleCloudAiplatformV1ListModelEvaluationSlicesResponse", +"properties": { +"modelEvaluationSlices": { +"description": "List of ModelEvaluations in the requested page.", +"items": { +"$ref": "GoogleCloudAiplatformV1ModelEvaluationSlice" +}, +"type": "array" +}, +"nextPageToken": { +"description": "A token to retrieve next page of results. Pass to ListModelEvaluationSlicesRequest.page_token to obtain that page.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1ListModelEvaluationsResponse": { +"description": "Response message for ModelService.ListModelEvaluations.", +"id": "GoogleCloudAiplatformV1ListModelEvaluationsResponse", +"properties": { +"modelEvaluations": { +"description": "List of ModelEvaluations in the requested page.", +"items": { +"$ref": "GoogleCloudAiplatformV1ModelEvaluation" +}, +"type": "array" +}, +"nextPageToken": { +"description": "A token to retrieve next page of results. Pass to ListModelEvaluationsRequest.page_token to obtain that page.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1ListModelVersionsResponse": { +"description": "Response message for ModelService.ListModelVersions", +"id": "GoogleCloudAiplatformV1ListModelVersionsResponse", +"properties": { +"models": { +"description": "List of Model versions in the requested page. In the returned Model name field, version ID instead of regvision tag will be included.", +"items": { +"$ref": "GoogleCloudAiplatformV1Model" +}, +"type": "array" +}, +"nextPageToken": { +"description": "A token to retrieve the next page of results. Pass to ListModelVersionsRequest.page_token to obtain that page.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1ListModelsResponse": { +"description": "Response message for ModelService.ListModels", +"id": "GoogleCloudAiplatformV1ListModelsResponse", +"properties": { +"models": { +"description": "List of Models in the requested page.", +"items": { +"$ref": "GoogleCloudAiplatformV1Model" +}, +"type": "array" +}, +"nextPageToken": { +"description": "A token to retrieve next page of results. Pass to ListModelsRequest.page_token to obtain that page.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1ListNasJobsResponse": { +"description": "Response message for JobService.ListNasJobs", +"id": "GoogleCloudAiplatformV1ListNasJobsResponse", +"properties": { +"nasJobs": { +"description": "List of NasJobs in the requested page. NasJob.nas_job_output of the jobs will not be returned.", +"items": { +"$ref": "GoogleCloudAiplatformV1NasJob" +}, +"type": "array" +}, +"nextPageToken": { +"description": "A token to retrieve the next page of results. Pass to ListNasJobsRequest.page_token to obtain that page.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1ListNasTrialDetailsResponse": { +"description": "Response message for JobService.ListNasTrialDetails", +"id": "GoogleCloudAiplatformV1ListNasTrialDetailsResponse", +"properties": { +"nasTrialDetails": { +"description": "List of top NasTrials in the requested page.", +"items": { +"$ref": "GoogleCloudAiplatformV1NasTrialDetail" +}, +"type": "array" +}, +"nextPageToken": { +"description": "A token to retrieve the next page of results. Pass to ListNasTrialDetailsRequest.page_token to obtain that page.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1ListNotebookExecutionJobsResponse": { +"description": "Response message for [NotebookService.CreateNotebookExecutionJob]", +"id": "GoogleCloudAiplatformV1ListNotebookExecutionJobsResponse", +"properties": { +"nextPageToken": { +"description": "A token to retrieve next page of results. Pass to ListNotebookExecutionJobsRequest.page_token to obtain that page.", +"type": "string" +}, +"notebookExecutionJobs": { +"description": "List of NotebookExecutionJobs in the requested page.", +"items": { +"$ref": "GoogleCloudAiplatformV1NotebookExecutionJob" +}, +"type": "array" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1ListNotebookRuntimeTemplatesResponse": { +"description": "Response message for NotebookService.ListNotebookRuntimeTemplates.", +"id": "GoogleCloudAiplatformV1ListNotebookRuntimeTemplatesResponse", +"properties": { +"nextPageToken": { +"description": "A token to retrieve next page of results. Pass to ListNotebookRuntimeTemplatesRequest.page_token to obtain that page.", +"type": "string" +}, +"notebookRuntimeTemplates": { +"description": "List of NotebookRuntimeTemplates in the requested page.", +"items": { +"$ref": "GoogleCloudAiplatformV1NotebookRuntimeTemplate" +}, +"type": "array" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1ListNotebookRuntimesResponse": { +"description": "Response message for NotebookService.ListNotebookRuntimes.", +"id": "GoogleCloudAiplatformV1ListNotebookRuntimesResponse", +"properties": { +"nextPageToken": { +"description": "A token to retrieve next page of results. Pass to ListNotebookRuntimesRequest.page_token to obtain that page.", +"type": "string" +}, +"notebookRuntimes": { +"description": "List of NotebookRuntimes in the requested page.", +"items": { +"$ref": "GoogleCloudAiplatformV1NotebookRuntime" +}, +"type": "array" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1ListOptimalTrialsRequest": { +"description": "Request message for VizierService.ListOptimalTrials.", +"id": "GoogleCloudAiplatformV1ListOptimalTrialsRequest", +"properties": {}, +"type": "object" +}, +"GoogleCloudAiplatformV1ListOptimalTrialsResponse": { +"description": "Response message for VizierService.ListOptimalTrials.", +"id": "GoogleCloudAiplatformV1ListOptimalTrialsResponse", +"properties": { +"optimalTrials": { +"description": "The pareto-optimal Trials for multiple objective Study or the optimal trial for single objective Study. The definition of pareto-optimal can be checked in wiki page. https://en.wikipedia.org/wiki/Pareto_efficiency", +"items": { +"$ref": "GoogleCloudAiplatformV1Trial" +}, +"type": "array" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1ListPersistentResourcesResponse": { +"description": "Response message for PersistentResourceService.ListPersistentResources", +"id": "GoogleCloudAiplatformV1ListPersistentResourcesResponse", +"properties": { +"nextPageToken": { +"description": "A token to retrieve next page of results. Pass to ListPersistentResourcesRequest.page_token to obtain that page.", +"type": "string" +}, +"persistentResources": { +"items": { +"$ref": "GoogleCloudAiplatformV1PersistentResource" +}, +"type": "array" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1ListPipelineJobsResponse": { +"description": "Response message for PipelineService.ListPipelineJobs", +"id": "GoogleCloudAiplatformV1ListPipelineJobsResponse", +"properties": { +"nextPageToken": { +"description": "A token to retrieve the next page of results. Pass to ListPipelineJobsRequest.page_token to obtain that page.", +"type": "string" +}, +"pipelineJobs": { +"description": "List of PipelineJobs in the requested page.", +"items": { +"$ref": "GoogleCloudAiplatformV1PipelineJob" +}, +"type": "array" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1ListRagCorporaResponse": { +"description": "Response message for VertexRagDataService.ListRagCorpora.", +"id": "GoogleCloudAiplatformV1ListRagCorporaResponse", +"properties": { +"nextPageToken": { +"description": "A token to retrieve the next page of results. Pass to ListRagCorporaRequest.page_token to obtain that page.", +"type": "string" +}, +"ragCorpora": { +"description": "List of RagCorpora in the requested page.", +"items": { +"$ref": "GoogleCloudAiplatformV1RagCorpus" +}, +"type": "array" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1ListRagFilesResponse": { +"description": "Response message for VertexRagDataService.ListRagFiles.", +"id": "GoogleCloudAiplatformV1ListRagFilesResponse", +"properties": { +"nextPageToken": { +"description": "A token to retrieve the next page of results. Pass to ListRagFilesRequest.page_token to obtain that page.", +"type": "string" +}, +"ragFiles": { +"description": "List of RagFiles in the requested page.", +"items": { +"$ref": "GoogleCloudAiplatformV1RagFile" +}, +"type": "array" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1ListReasoningEnginesResponse": { +"description": "Response message for ReasoningEngineService.ListReasoningEngines", +"id": "GoogleCloudAiplatformV1ListReasoningEnginesResponse", +"properties": { +"nextPageToken": { +"description": "A token to retrieve the next page of results. Pass to ListReasoningEnginesRequest.page_token to obtain that page.", +"type": "string" +}, +"reasoningEngines": { +"description": "List of ReasoningEngines in the requested page.", +"items": { +"$ref": "GoogleCloudAiplatformV1ReasoningEngine" +}, +"type": "array" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1ListSavedQueriesResponse": { +"description": "Response message for DatasetService.ListSavedQueries.", +"id": "GoogleCloudAiplatformV1ListSavedQueriesResponse", +"properties": { +"nextPageToken": { +"description": "The standard List next-page token.", +"type": "string" +}, +"savedQueries": { +"description": "A list of SavedQueries that match the specified filter in the request.", +"items": { +"$ref": "GoogleCloudAiplatformV1SavedQuery" +}, +"type": "array" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1ListSchedulesResponse": { +"description": "Response message for ScheduleService.ListSchedules", +"id": "GoogleCloudAiplatformV1ListSchedulesResponse", +"properties": { +"nextPageToken": { +"description": "A token to retrieve the next page of results. Pass to ListSchedulesRequest.page_token to obtain that page.", +"type": "string" +}, +"schedules": { +"description": "List of Schedules in the requested page.", +"items": { +"$ref": "GoogleCloudAiplatformV1Schedule" +}, +"type": "array" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1ListSpecialistPoolsResponse": { +"description": "Response message for SpecialistPoolService.ListSpecialistPools.", +"id": "GoogleCloudAiplatformV1ListSpecialistPoolsResponse", +"properties": { +"nextPageToken": { +"description": "The standard List next-page token.", +"type": "string" +}, +"specialistPools": { +"description": "A list of SpecialistPools that matches the specified filter in the request.", +"items": { +"$ref": "GoogleCloudAiplatformV1SpecialistPool" +}, +"type": "array" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1ListStudiesResponse": { +"description": "Response message for VizierService.ListStudies.", +"id": "GoogleCloudAiplatformV1ListStudiesResponse", +"properties": { +"nextPageToken": { +"description": "Passes this token as the `page_token` field of the request for a subsequent call. If this field is omitted, there are no subsequent pages.", +"type": "string" +}, +"studies": { +"description": "The studies associated with the project.", +"items": { +"$ref": "GoogleCloudAiplatformV1Study" +}, +"type": "array" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1ListTensorboardExperimentsResponse": { +"description": "Response message for TensorboardService.ListTensorboardExperiments.", +"id": "GoogleCloudAiplatformV1ListTensorboardExperimentsResponse", +"properties": { +"nextPageToken": { +"description": "A token, which can be sent as ListTensorboardExperimentsRequest.page_token to retrieve the next page. If this field is omitted, there are no subsequent pages.", +"type": "string" +}, +"tensorboardExperiments": { +"description": "The TensorboardExperiments mathching the request.", +"items": { +"$ref": "GoogleCloudAiplatformV1TensorboardExperiment" +}, +"type": "array" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1ListTensorboardRunsResponse": { +"description": "Response message for TensorboardService.ListTensorboardRuns.", +"id": "GoogleCloudAiplatformV1ListTensorboardRunsResponse", +"properties": { +"nextPageToken": { +"description": "A token, which can be sent as ListTensorboardRunsRequest.page_token to retrieve the next page. If this field is omitted, there are no subsequent pages.", +"type": "string" +}, +"tensorboardRuns": { +"description": "The TensorboardRuns mathching the request.", +"items": { +"$ref": "GoogleCloudAiplatformV1TensorboardRun" +}, +"type": "array" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1ListTensorboardTimeSeriesResponse": { +"description": "Response message for TensorboardService.ListTensorboardTimeSeries.", +"id": "GoogleCloudAiplatformV1ListTensorboardTimeSeriesResponse", +"properties": { +"nextPageToken": { +"description": "A token, which can be sent as ListTensorboardTimeSeriesRequest.page_token to retrieve the next page. If this field is omitted, there are no subsequent pages.", +"type": "string" +}, +"tensorboardTimeSeries": { +"description": "The TensorboardTimeSeries mathching the request.", +"items": { +"$ref": "GoogleCloudAiplatformV1TensorboardTimeSeries" +}, +"type": "array" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1ListTensorboardsResponse": { +"description": "Response message for TensorboardService.ListTensorboards.", +"id": "GoogleCloudAiplatformV1ListTensorboardsResponse", +"properties": { +"nextPageToken": { +"description": "A token, which can be sent as ListTensorboardsRequest.page_token to retrieve the next page. If this field is omitted, there are no subsequent pages.", +"type": "string" +}, +"tensorboards": { +"description": "The Tensorboards mathching the request.", +"items": { +"$ref": "GoogleCloudAiplatformV1Tensorboard" +}, +"type": "array" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1ListTrainingPipelinesResponse": { +"description": "Response message for PipelineService.ListTrainingPipelines", +"id": "GoogleCloudAiplatformV1ListTrainingPipelinesResponse", +"properties": { +"nextPageToken": { +"description": "A token to retrieve the next page of results. Pass to ListTrainingPipelinesRequest.page_token to obtain that page.", +"type": "string" +}, +"trainingPipelines": { +"description": "List of TrainingPipelines in the requested page.", +"items": { +"$ref": "GoogleCloudAiplatformV1TrainingPipeline" +}, +"type": "array" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1ListTrialsResponse": { +"description": "Response message for VizierService.ListTrials.", +"id": "GoogleCloudAiplatformV1ListTrialsResponse", +"properties": { +"nextPageToken": { +"description": "Pass this token as the `page_token` field of the request for a subsequent call. If this field is omitted, there are no subsequent pages.", +"type": "string" +}, +"trials": { +"description": "The Trials associated with the Study.", +"items": { +"$ref": "GoogleCloudAiplatformV1Trial" +}, +"type": "array" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1ListTuningJobsResponse": { +"description": "Response message for GenAiTuningService.ListTuningJobs", +"id": "GoogleCloudAiplatformV1ListTuningJobsResponse", +"properties": { +"nextPageToken": { +"description": "A token to retrieve the next page of results. Pass to ListTuningJobsRequest.page_token to obtain that page.", +"type": "string" +}, +"tuningJobs": { +"description": "List of TuningJobs in the requested page.", +"items": { +"$ref": "GoogleCloudAiplatformV1TuningJob" +}, +"type": "array" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1LogprobsResult": { +"description": "Logprobs Result", +"id": "GoogleCloudAiplatformV1LogprobsResult", +"properties": { +"chosenCandidates": { +"description": "Length = total number of decoding steps. The chosen candidates may or may not be in top_candidates.", +"items": { +"$ref": "GoogleCloudAiplatformV1LogprobsResultCandidate" +}, +"type": "array" +}, +"topCandidates": { +"description": "Length = total number of decoding steps.", +"items": { +"$ref": "GoogleCloudAiplatformV1LogprobsResultTopCandidates" +}, +"type": "array" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1LogprobsResultCandidate": { +"description": "Candidate for the logprobs token and score.", +"id": "GoogleCloudAiplatformV1LogprobsResultCandidate", +"properties": { +"logProbability": { +"description": "The candidate's log probability.", +"format": "float", +"type": "number" +}, +"token": { +"description": "The candidate's token string value.", +"type": "string" +}, +"tokenId": { +"description": "The candidate's token id value.", +"format": "int32", +"type": "integer" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1LogprobsResultTopCandidates": { +"description": "Candidates with top log probabilities at each decoding step.", +"id": "GoogleCloudAiplatformV1LogprobsResultTopCandidates", +"properties": { +"candidates": { +"description": "Sorted by log probability in descending order.", +"items": { +"$ref": "GoogleCloudAiplatformV1LogprobsResultCandidate" +}, +"type": "array" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1LookupStudyRequest": { +"description": "Request message for VizierService.LookupStudy.", +"id": "GoogleCloudAiplatformV1LookupStudyRequest", +"properties": { +"displayName": { +"description": "Required. The user-defined display name of the Study", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1MachineSpec": { +"description": "Specification of a single machine.", +"id": "GoogleCloudAiplatformV1MachineSpec", +"properties": { +"acceleratorCount": { +"description": "The number of accelerators to attach to the machine.", +"format": "int32", +"type": "integer" +}, +"acceleratorType": { +"description": "Immutable. The type of accelerator(s) that may be attached to the machine as per accelerator_count.", +"enum": [ +"ACCELERATOR_TYPE_UNSPECIFIED", +"NVIDIA_TESLA_K80", +"NVIDIA_TESLA_P100", +"NVIDIA_TESLA_V100", +"NVIDIA_TESLA_P4", +"NVIDIA_TESLA_T4", +"NVIDIA_TESLA_A100", +"NVIDIA_A100_80GB", +"NVIDIA_L4", +"NVIDIA_H100_80GB", +"NVIDIA_H100_MEGA_80GB", +"TPU_V2", +"TPU_V3", +"TPU_V4_POD", +"TPU_V5_LITEPOD" +], +"enumDeprecated": [ +false, +true, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false +], +"enumDescriptions": [ +"Unspecified accelerator type, which means no accelerator.", +"Deprecated: Nvidia Tesla K80 GPU has reached end of support, see https://cloud.google.com/compute/docs/eol/k80-eol.", +"Nvidia Tesla P100 GPU.", +"Nvidia Tesla V100 GPU.", +"Nvidia Tesla P4 GPU.", +"Nvidia Tesla T4 GPU.", +"Nvidia Tesla A100 GPU.", +"Nvidia A100 80GB GPU.", +"Nvidia L4 GPU.", +"Nvidia H100 80Gb GPU.", +"Nvidia H100 Mega 80Gb GPU.", +"TPU v2.", +"TPU v3.", +"TPU v4.", +"TPU v5." +], +"type": "string" +}, +"machineType": { +"description": "Immutable. The type of the machine. See the [list of machine types supported for prediction](https://cloud.google.com/vertex-ai/docs/predictions/configure-compute#machine-types) See the [list of machine types supported for custom training](https://cloud.google.com/vertex-ai/docs/training/configure-compute#machine-types). For DeployedModel this field is optional, and the default value is `n1-standard-2`. For BatchPredictionJob or as part of WorkerPoolSpec this field is required.", +"type": "string" +}, +"reservationAffinity": { +"$ref": "GoogleCloudAiplatformV1ReservationAffinity", +"description": "Optional. Immutable. Configuration controlling how this resource pool consumes reservation." +}, +"tpuTopology": { +"description": "Immutable. The topology of the TPUs. Corresponds to the TPU topologies available from GKE. (Example: tpu_topology: \"2x2x1\").", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1ManualBatchTuningParameters": { +"description": "Manual batch tuning parameters.", +"id": "GoogleCloudAiplatformV1ManualBatchTuningParameters", +"properties": { +"batchSize": { +"description": "Immutable. The number of the records (e.g. instances) of the operation given in each batch to a machine replica. Machine type, and size of a single record should be considered when setting this parameter, higher value speeds up the batch operation's execution, but too high value will result in a whole batch not fitting in a machine's memory, and the whole operation will fail. The default value is 64.", +"format": "int32", +"type": "integer" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1Measurement": { +"description": "A message representing a Measurement of a Trial. A Measurement contains the Metrics got by executing a Trial using suggested hyperparameter values.", +"id": "GoogleCloudAiplatformV1Measurement", +"properties": { +"elapsedDuration": { +"description": "Output only. Time that the Trial has been running at the point of this Measurement.", +"format": "google-duration", +"readOnly": true, +"type": "string" +}, +"metrics": { +"description": "Output only. A list of metrics got by evaluating the objective functions using suggested Parameter values.", +"items": { +"$ref": "GoogleCloudAiplatformV1MeasurementMetric" +}, +"readOnly": true, +"type": "array" +}, +"stepCount": { +"description": "Output only. The number of steps the machine learning model has been trained for. Must be non-negative.", +"format": "int64", +"readOnly": true, +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1MeasurementMetric": { +"description": "A message representing a metric in the measurement.", +"id": "GoogleCloudAiplatformV1MeasurementMetric", +"properties": { +"metricId": { +"description": "Output only. The ID of the Metric. The Metric should be defined in StudySpec's Metrics.", +"readOnly": true, +"type": "string" +}, +"value": { +"description": "Output only. The value for this metric.", +"format": "double", +"readOnly": true, +"type": "number" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1MergeVersionAliasesRequest": { +"description": "Request message for ModelService.MergeVersionAliases.", +"id": "GoogleCloudAiplatformV1MergeVersionAliasesRequest", +"properties": { +"versionAliases": { +"description": "Required. The set of version aliases to merge. The alias should be at most 128 characters, and match `a-z{0,126}[a-z-0-9]`. Add the `-` prefix to an alias means removing that alias from the version. `-` is NOT counted in the 128 characters. Example: `-golden` means removing the `golden` alias from the version. There is NO ordering in aliases, which means 1) The aliases returned from GetModel API might not have the exactly same order from this MergeVersionAliases API. 2) Adding and deleting the same alias in the request is not recommended, and the 2 operations will be cancelled out.", +"items": { +"type": "string" +}, +"type": "array" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1MetadataSchema": { +"description": "Instance of a general MetadataSchema.", +"id": "GoogleCloudAiplatformV1MetadataSchema", +"properties": { +"createTime": { +"description": "Output only. Timestamp when this MetadataSchema was created.", +"format": "google-datetime", +"readOnly": true, +"type": "string" +}, +"description": { +"description": "Description of the Metadata Schema", +"type": "string" +}, +"name": { +"description": "Output only. The resource name of the MetadataSchema.", +"readOnly": true, +"type": "string" +}, +"schema": { +"description": "Required. The raw YAML string representation of the MetadataSchema. The combination of [MetadataSchema.version] and the schema name given by `title` in [MetadataSchema.schema] must be unique within a MetadataStore. The schema is defined as an OpenAPI 3.0.2 [MetadataSchema Object](https://github.com/OAI/OpenAPI-Specification/blob/master/versions/3.0.2.md#schemaObject)", +"type": "string" +}, +"schemaType": { +"description": "The type of the MetadataSchema. This is a property that identifies which metadata types will use the MetadataSchema.", +"enum": [ +"METADATA_SCHEMA_TYPE_UNSPECIFIED", +"ARTIFACT_TYPE", +"EXECUTION_TYPE", +"CONTEXT_TYPE" +], +"enumDescriptions": [ +"Unspecified type for the MetadataSchema.", +"A type indicating that the MetadataSchema will be used by Artifacts.", +"A typee indicating that the MetadataSchema will be used by Executions.", +"A state indicating that the MetadataSchema will be used by Contexts." +], +"type": "string" +}, +"schemaVersion": { +"description": "The version of the MetadataSchema. The version's format must match the following regular expression: `^[0-9]+.+.+$`, which would allow to order/compare different versions. Example: 1.0.0, 1.0.1, etc.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1MetadataStore": { +"description": "Instance of a metadata store. Contains a set of metadata that can be queried.", +"id": "GoogleCloudAiplatformV1MetadataStore", +"properties": { +"createTime": { +"description": "Output only. Timestamp when this MetadataStore was created.", +"format": "google-datetime", +"readOnly": true, +"type": "string" +}, +"dataplexConfig": { +"$ref": "GoogleCloudAiplatformV1MetadataStoreDataplexConfig", +"description": "Optional. Dataplex integration settings." +}, +"description": { +"description": "Description of the MetadataStore.", +"type": "string" +}, +"encryptionSpec": { +"$ref": "GoogleCloudAiplatformV1EncryptionSpec", +"description": "Customer-managed encryption key spec for a Metadata Store. If set, this Metadata Store and all sub-resources of this Metadata Store are secured using this key." +}, +"name": { +"description": "Output only. The resource name of the MetadataStore instance.", +"readOnly": true, +"type": "string" +}, +"state": { +"$ref": "GoogleCloudAiplatformV1MetadataStoreMetadataStoreState", +"description": "Output only. State information of the MetadataStore.", +"readOnly": true +}, +"updateTime": { +"description": "Output only. Timestamp when this MetadataStore was last updated.", +"format": "google-datetime", +"readOnly": true, +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1MetadataStoreDataplexConfig": { +"description": "Represents Dataplex integration settings.", +"id": "GoogleCloudAiplatformV1MetadataStoreDataplexConfig", +"properties": { +"enabledPipelinesLineage": { +"description": "Optional. Whether or not Data Lineage synchronization is enabled for Vertex Pipelines.", +"type": "boolean" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1MetadataStoreMetadataStoreState": { +"description": "Represents state information for a MetadataStore.", +"id": "GoogleCloudAiplatformV1MetadataStoreMetadataStoreState", +"properties": { +"diskUtilizationBytes": { +"description": "The disk utilization of the MetadataStore in bytes.", +"format": "int64", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1MetricxInput": { +"description": "Input for MetricX metric.", +"id": "GoogleCloudAiplatformV1MetricxInput", +"properties": { +"instance": { +"$ref": "GoogleCloudAiplatformV1MetricxInstance", +"description": "Required. Metricx instance." +}, +"metricSpec": { +"$ref": "GoogleCloudAiplatformV1MetricxSpec", +"description": "Required. Spec for Metricx metric." +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1MetricxInstance": { +"description": "Spec for MetricX instance - The fields used for evaluation are dependent on the MetricX version.", +"id": "GoogleCloudAiplatformV1MetricxInstance", +"properties": { +"prediction": { +"description": "Required. Output of the evaluated model.", +"type": "string" +}, +"reference": { +"description": "Optional. Ground truth used to compare against the prediction.", +"type": "string" +}, +"source": { +"description": "Optional. Source text in original language.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1MetricxResult": { +"description": "Spec for MetricX result - calculates the MetricX score for the given instance using the version specified in the spec.", +"id": "GoogleCloudAiplatformV1MetricxResult", +"properties": { +"score": { +"description": "Output only. MetricX score. Range depends on version.", +"format": "float", +"readOnly": true, +"type": "number" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1MetricxSpec": { +"description": "Spec for MetricX metric.", +"id": "GoogleCloudAiplatformV1MetricxSpec", +"properties": { +"sourceLanguage": { +"description": "Optional. Source language in BCP-47 format.", +"type": "string" +}, +"targetLanguage": { +"description": "Optional. Target language in BCP-47 format. Covers both prediction and reference.", +"type": "string" +}, +"version": { +"description": "Required. Which version to use for evaluation.", +"enum": [ +"METRICX_VERSION_UNSPECIFIED", +"METRICX_24_REF", +"METRICX_24_SRC", +"METRICX_24_SRC_REF" +], +"enumDescriptions": [ +"MetricX version unspecified.", +"MetricX 2024 (2.6) for translation + reference (reference-based).", +"MetricX 2024 (2.6) for translation + source (QE).", +"MetricX 2024 (2.6) for translation + source + reference (source-reference-combined)." +], +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1MigratableResource": { +"description": "Represents one resource that exists in automl.googleapis.com, datalabeling.googleapis.com or ml.googleapis.com.", +"id": "GoogleCloudAiplatformV1MigratableResource", +"properties": { +"automlDataset": { +"$ref": "GoogleCloudAiplatformV1MigratableResourceAutomlDataset", +"description": "Output only. Represents one Dataset in automl.googleapis.com.", +"readOnly": true +}, +"automlModel": { +"$ref": "GoogleCloudAiplatformV1MigratableResourceAutomlModel", +"description": "Output only. Represents one Model in automl.googleapis.com.", +"readOnly": true +}, +"dataLabelingDataset": { +"$ref": "GoogleCloudAiplatformV1MigratableResourceDataLabelingDataset", +"description": "Output only. Represents one Dataset in datalabeling.googleapis.com.", +"readOnly": true +}, +"lastMigrateTime": { +"description": "Output only. Timestamp when the last migration attempt on this MigratableResource started. Will not be set if there's no migration attempt on this MigratableResource.", +"format": "google-datetime", +"readOnly": true, +"type": "string" +}, +"lastUpdateTime": { +"description": "Output only. Timestamp when this MigratableResource was last updated.", +"format": "google-datetime", +"readOnly": true, +"type": "string" +}, +"mlEngineModelVersion": { +"$ref": "GoogleCloudAiplatformV1MigratableResourceMlEngineModelVersion", +"description": "Output only. Represents one Version in ml.googleapis.com.", +"readOnly": true +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1MigratableResourceAutomlDataset": { +"description": "Represents one Dataset in automl.googleapis.com.", +"id": "GoogleCloudAiplatformV1MigratableResourceAutomlDataset", +"properties": { +"dataset": { +"description": "Full resource name of automl Dataset. Format: `projects/{project}/locations/{location}/datasets/{dataset}`.", +"type": "string" +}, +"datasetDisplayName": { +"description": "The Dataset's display name in automl.googleapis.com.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1MigratableResourceAutomlModel": { +"description": "Represents one Model in automl.googleapis.com.", +"id": "GoogleCloudAiplatformV1MigratableResourceAutomlModel", +"properties": { +"model": { +"description": "Full resource name of automl Model. Format: `projects/{project}/locations/{location}/models/{model}`.", +"type": "string" +}, +"modelDisplayName": { +"description": "The Model's display name in automl.googleapis.com.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1MigratableResourceDataLabelingDataset": { +"description": "Represents one Dataset in datalabeling.googleapis.com.", +"id": "GoogleCloudAiplatformV1MigratableResourceDataLabelingDataset", +"properties": { +"dataLabelingAnnotatedDatasets": { +"description": "The migratable AnnotatedDataset in datalabeling.googleapis.com belongs to the data labeling Dataset.", +"items": { +"$ref": "GoogleCloudAiplatformV1MigratableResourceDataLabelingDatasetDataLabelingAnnotatedDataset" +}, +"type": "array" +}, +"dataset": { +"description": "Full resource name of data labeling Dataset. Format: `projects/{project}/datasets/{dataset}`.", +"type": "string" +}, +"datasetDisplayName": { +"description": "The Dataset's display name in datalabeling.googleapis.com.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1MigratableResourceDataLabelingDatasetDataLabelingAnnotatedDataset": { +"description": "Represents one AnnotatedDataset in datalabeling.googleapis.com.", +"id": "GoogleCloudAiplatformV1MigratableResourceDataLabelingDatasetDataLabelingAnnotatedDataset", +"properties": { +"annotatedDataset": { +"description": "Full resource name of data labeling AnnotatedDataset. Format: `projects/{project}/datasets/{dataset}/annotatedDatasets/{annotated_dataset}`.", +"type": "string" +}, +"annotatedDatasetDisplayName": { +"description": "The AnnotatedDataset's display name in datalabeling.googleapis.com.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1MigratableResourceMlEngineModelVersion": { +"description": "Represents one model Version in ml.googleapis.com.", +"id": "GoogleCloudAiplatformV1MigratableResourceMlEngineModelVersion", +"properties": { +"endpoint": { +"description": "The ml.googleapis.com endpoint that this model Version currently lives in. Example values: * ml.googleapis.com * us-centrall-ml.googleapis.com * europe-west4-ml.googleapis.com * asia-east1-ml.googleapis.com", +"type": "string" +}, +"version": { +"description": "Full resource name of ml engine model Version. Format: `projects/{project}/models/{model}/versions/{version}`.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1MigrateResourceRequest": { +"description": "Config of migrating one resource from automl.googleapis.com, datalabeling.googleapis.com and ml.googleapis.com to Vertex AI.", +"id": "GoogleCloudAiplatformV1MigrateResourceRequest", +"properties": { +"migrateAutomlDatasetConfig": { +"$ref": "GoogleCloudAiplatformV1MigrateResourceRequestMigrateAutomlDatasetConfig", +"description": "Config for migrating Dataset in automl.googleapis.com to Vertex AI's Dataset." +}, +"migrateAutomlModelConfig": { +"$ref": "GoogleCloudAiplatformV1MigrateResourceRequestMigrateAutomlModelConfig", +"description": "Config for migrating Model in automl.googleapis.com to Vertex AI's Model." +}, +"migrateDataLabelingDatasetConfig": { +"$ref": "GoogleCloudAiplatformV1MigrateResourceRequestMigrateDataLabelingDatasetConfig", +"description": "Config for migrating Dataset in datalabeling.googleapis.com to Vertex AI's Dataset." +}, +"migrateMlEngineModelVersionConfig": { +"$ref": "GoogleCloudAiplatformV1MigrateResourceRequestMigrateMlEngineModelVersionConfig", +"description": "Config for migrating Version in ml.googleapis.com to Vertex AI's Model." +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1MigrateResourceRequestMigrateAutomlDatasetConfig": { +"description": "Config for migrating Dataset in automl.googleapis.com to Vertex AI's Dataset.", +"id": "GoogleCloudAiplatformV1MigrateResourceRequestMigrateAutomlDatasetConfig", +"properties": { +"dataset": { +"description": "Required. Full resource name of automl Dataset. Format: `projects/{project}/locations/{location}/datasets/{dataset}`.", +"type": "string" +}, +"datasetDisplayName": { +"description": "Required. Display name of the Dataset in Vertex AI. System will pick a display name if unspecified.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1MigrateResourceRequestMigrateAutomlModelConfig": { +"description": "Config for migrating Model in automl.googleapis.com to Vertex AI's Model.", +"id": "GoogleCloudAiplatformV1MigrateResourceRequestMigrateAutomlModelConfig", +"properties": { +"model": { +"description": "Required. Full resource name of automl Model. Format: `projects/{project}/locations/{location}/models/{model}`.", +"type": "string" +}, +"modelDisplayName": { +"description": "Optional. Display name of the model in Vertex AI. System will pick a display name if unspecified.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1MigrateResourceRequestMigrateDataLabelingDatasetConfig": { +"description": "Config for migrating Dataset in datalabeling.googleapis.com to Vertex AI's Dataset.", +"id": "GoogleCloudAiplatformV1MigrateResourceRequestMigrateDataLabelingDatasetConfig", +"properties": { +"dataset": { +"description": "Required. Full resource name of data labeling Dataset. Format: `projects/{project}/datasets/{dataset}`.", +"type": "string" +}, +"datasetDisplayName": { +"description": "Optional. Display name of the Dataset in Vertex AI. System will pick a display name if unspecified.", +"type": "string" +}, +"migrateDataLabelingAnnotatedDatasetConfigs": { +"description": "Optional. Configs for migrating AnnotatedDataset in datalabeling.googleapis.com to Vertex AI's SavedQuery. The specified AnnotatedDatasets have to belong to the datalabeling Dataset.", +"items": { +"$ref": "GoogleCloudAiplatformV1MigrateResourceRequestMigrateDataLabelingDatasetConfigMigrateDataLabelingAnnotatedDatasetConfig" +}, +"type": "array" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1MigrateResourceRequestMigrateDataLabelingDatasetConfigMigrateDataLabelingAnnotatedDatasetConfig": { +"description": "Config for migrating AnnotatedDataset in datalabeling.googleapis.com to Vertex AI's SavedQuery.", +"id": "GoogleCloudAiplatformV1MigrateResourceRequestMigrateDataLabelingDatasetConfigMigrateDataLabelingAnnotatedDatasetConfig", +"properties": { +"annotatedDataset": { +"description": "Required. Full resource name of data labeling AnnotatedDataset. Format: `projects/{project}/datasets/{dataset}/annotatedDatasets/{annotated_dataset}`.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1MigrateResourceRequestMigrateMlEngineModelVersionConfig": { +"description": "Config for migrating version in ml.googleapis.com to Vertex AI's Model.", +"id": "GoogleCloudAiplatformV1MigrateResourceRequestMigrateMlEngineModelVersionConfig", +"properties": { +"endpoint": { +"description": "Required. The ml.googleapis.com endpoint that this model version should be migrated from. Example values: * ml.googleapis.com * us-centrall-ml.googleapis.com * europe-west4-ml.googleapis.com * asia-east1-ml.googleapis.com", +"type": "string" +}, +"modelDisplayName": { +"description": "Required. Display name of the model in Vertex AI. System will pick a display name if unspecified.", +"type": "string" +}, +"modelVersion": { +"description": "Required. Full resource name of ml engine model version. Format: `projects/{project}/models/{model}/versions/{version}`.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1MigrateResourceResponse": { +"description": "Describes a successfully migrated resource.", +"id": "GoogleCloudAiplatformV1MigrateResourceResponse", +"properties": { +"dataset": { +"description": "Migrated Dataset's resource name.", +"type": "string" +}, +"migratableResource": { +"$ref": "GoogleCloudAiplatformV1MigratableResource", +"description": "Before migration, the identifier in ml.googleapis.com, automl.googleapis.com or datalabeling.googleapis.com." +}, +"model": { +"description": "Migrated Model's resource name.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1Model": { +"description": "A trained machine learning Model.", +"id": "GoogleCloudAiplatformV1Model", +"properties": { +"artifactUri": { +"description": "Immutable. The path to the directory containing the Model artifact and any of its supporting files. Not required for AutoML Models.", +"type": "string" +}, +"baseModelSource": { +"$ref": "GoogleCloudAiplatformV1ModelBaseModelSource", +"description": "Optional. User input field to specify the base model source. Currently it only supports specifing the Model Garden models and Genie models." +}, +"containerSpec": { +"$ref": "GoogleCloudAiplatformV1ModelContainerSpec", +"description": "Input only. The specification of the container that is to be used when deploying this Model. The specification is ingested upon ModelService.UploadModel, and all binaries it contains are copied and stored internally by Vertex AI. Not required for AutoML Models." +}, +"createTime": { +"description": "Output only. Timestamp when this Model was uploaded into Vertex AI.", +"format": "google-datetime", +"readOnly": true, +"type": "string" +}, +"dataStats": { +"$ref": "GoogleCloudAiplatformV1ModelDataStats", +"description": "Stats of data used for training or evaluating the Model. Only populated when the Model is trained by a TrainingPipeline with data_input_config." +}, +"deployedModels": { +"description": "Output only. The pointers to DeployedModels created from this Model. Note that Model could have been deployed to Endpoints in different Locations.", +"items": { +"$ref": "GoogleCloudAiplatformV1DeployedModelRef" +}, +"readOnly": true, +"type": "array" +}, +"description": { +"description": "The description of the Model.", +"type": "string" +}, +"displayName": { +"description": "Required. The display name of the Model. The name can be up to 128 characters long and can consist of any UTF-8 characters.", +"type": "string" +}, +"encryptionSpec": { +"$ref": "GoogleCloudAiplatformV1EncryptionSpec", +"description": "Customer-managed encryption key spec for a Model. If set, this Model and all sub-resources of this Model will be secured by this key." +}, +"etag": { +"description": "Used to perform consistent read-modify-write updates. If not set, a blind \"overwrite\" update happens.", +"type": "string" +}, +"explanationSpec": { +"$ref": "GoogleCloudAiplatformV1ExplanationSpec", +"description": "The default explanation specification for this Model. The Model can be used for requesting explanation after being deployed if it is populated. The Model can be used for batch explanation if it is populated. All fields of the explanation_spec can be overridden by explanation_spec of DeployModelRequest.deployed_model, or explanation_spec of BatchPredictionJob. If the default explanation specification is not set for this Model, this Model can still be used for requesting explanation by setting explanation_spec of DeployModelRequest.deployed_model and for batch explanation by setting explanation_spec of BatchPredictionJob." +}, +"labels": { +"additionalProperties": { +"type": "string" +}, +"description": "The labels with user-defined metadata to organize your Models. Label keys and values can be no longer than 64 characters (Unicode codepoints), can only contain lowercase letters, numeric characters, underscores and dashes. International characters are allowed. See https://goo.gl/xmQnxf for more information and examples of labels.", +"type": "object" +}, +"metadata": { +"description": "Immutable. An additional information about the Model; the schema of the metadata can be found in metadata_schema. Unset if the Model does not have any additional information.", +"type": "any" +}, +"metadataArtifact": { +"description": "Output only. The resource name of the Artifact that was created in MetadataStore when creating the Model. The Artifact resource name pattern is `projects/{project}/locations/{location}/metadataStores/{metadata_store}/artifacts/{artifact}`.", +"readOnly": true, +"type": "string" +}, +"metadataSchemaUri": { +"description": "Immutable. Points to a YAML file stored on Google Cloud Storage describing additional information about the Model, that is specific to it. Unset if the Model does not have any additional information. The schema is defined as an OpenAPI 3.0.2 [Schema Object](https://github.com/OAI/OpenAPI-Specification/blob/main/versions/3.0.2.md#schemaObject). AutoML Models always have this field populated by Vertex AI, if no additional metadata is needed, this field is set to an empty string. Note: The URI given on output will be immutable and probably different, including the URI scheme, than the one given on input. The output URI will point to a location where the user only has a read access.", +"type": "string" +}, +"modelSourceInfo": { +"$ref": "GoogleCloudAiplatformV1ModelSourceInfo", +"description": "Output only. Source of a model. It can either be automl training pipeline, custom training pipeline, BigQuery ML, or saved and tuned from Genie or Model Garden.", +"readOnly": true +}, +"name": { +"description": "The resource name of the Model.", +"type": "string" +}, +"originalModelInfo": { +"$ref": "GoogleCloudAiplatformV1ModelOriginalModelInfo", +"description": "Output only. If this Model is a copy of another Model, this contains info about the original.", +"readOnly": true +}, +"pipelineJob": { +"description": "Optional. This field is populated if the model is produced by a pipeline job.", +"type": "string" +}, +"predictSchemata": { +"$ref": "GoogleCloudAiplatformV1PredictSchemata", +"description": "The schemata that describe formats of the Model's predictions and explanations as given and returned via PredictionService.Predict and PredictionService.Explain." +}, +"satisfiesPzi": { +"description": "Output only. Reserved for future use.", +"readOnly": true, +"type": "boolean" +}, +"satisfiesPzs": { +"description": "Output only. Reserved for future use.", +"readOnly": true, +"type": "boolean" +}, +"supportedDeploymentResourcesTypes": { +"description": "Output only. When this Model is deployed, its prediction resources are described by the `prediction_resources` field of the Endpoint.deployed_models object. Because not all Models support all resource configuration types, the configuration types this Model supports are listed here. If no configuration types are listed, the Model cannot be deployed to an Endpoint and does not support online predictions (PredictionService.Predict or PredictionService.Explain). Such a Model can serve predictions by using a BatchPredictionJob, if it has at least one entry each in supported_input_storage_formats and supported_output_storage_formats.", +"items": { +"enum": [ +"DEPLOYMENT_RESOURCES_TYPE_UNSPECIFIED", +"DEDICATED_RESOURCES", +"AUTOMATIC_RESOURCES", +"SHARED_RESOURCES" +], +"enumDescriptions": [ +"Should not be used.", +"Resources that are dedicated to the DeployedModel, and that need a higher degree of manual configuration.", +"Resources that to large degree are decided by Vertex AI, and require only a modest additional configuration.", +"Resources that can be shared by multiple DeployedModels. A pre-configured DeploymentResourcePool is required." +], +"type": "string" +}, +"readOnly": true, +"type": "array" +}, +"supportedExportFormats": { +"description": "Output only. The formats in which this Model may be exported. If empty, this Model is not available for export.", +"items": { +"$ref": "GoogleCloudAiplatformV1ModelExportFormat" +}, +"readOnly": true, +"type": "array" +}, +"supportedInputStorageFormats": { +"description": "Output only. The formats this Model supports in BatchPredictionJob.input_config. If PredictSchemata.instance_schema_uri exists, the instances should be given as per that schema. The possible formats are: * `jsonl` The JSON Lines format, where each instance is a single line. Uses GcsSource. * `csv` The CSV format, where each instance is a single comma-separated line. The first line in the file is the header, containing comma-separated field names. Uses GcsSource. * `tf-record` The TFRecord format, where each instance is a single record in tfrecord syntax. Uses GcsSource. * `tf-record-gzip` Similar to `tf-record`, but the file is gzipped. Uses GcsSource. * `bigquery` Each instance is a single row in BigQuery. Uses BigQuerySource. * `file-list` Each line of the file is the location of an instance to process, uses `gcs_source` field of the InputConfig object. If this Model doesn't support any of these formats it means it cannot be used with a BatchPredictionJob. However, if it has supported_deployment_resources_types, it could serve online predictions by using PredictionService.Predict or PredictionService.Explain.", +"items": { +"type": "string" +}, +"readOnly": true, +"type": "array" +}, +"supportedOutputStorageFormats": { +"description": "Output only. The formats this Model supports in BatchPredictionJob.output_config. If both PredictSchemata.instance_schema_uri and PredictSchemata.prediction_schema_uri exist, the predictions are returned together with their instances. In other words, the prediction has the original instance data first, followed by the actual prediction content (as per the schema). The possible formats are: * `jsonl` The JSON Lines format, where each prediction is a single line. Uses GcsDestination. * `csv` The CSV format, where each prediction is a single comma-separated line. The first line in the file is the header, containing comma-separated field names. Uses GcsDestination. * `bigquery` Each prediction is a single row in a BigQuery table, uses BigQueryDestination . If this Model doesn't support any of these formats it means it cannot be used with a BatchPredictionJob. However, if it has supported_deployment_resources_types, it could serve online predictions by using PredictionService.Predict or PredictionService.Explain.", +"items": { +"type": "string" +}, +"readOnly": true, +"type": "array" +}, +"trainingPipeline": { +"description": "Output only. The resource name of the TrainingPipeline that uploaded this Model, if any.", +"readOnly": true, +"type": "string" +}, +"updateTime": { +"description": "Output only. Timestamp when this Model was most recently updated.", +"format": "google-datetime", +"readOnly": true, +"type": "string" +}, +"versionAliases": { +"description": "User provided version aliases so that a model version can be referenced via alias (i.e. `projects/{project}/locations/{location}/models/{model_id}@{version_alias}` instead of auto-generated version id (i.e. `projects/{project}/locations/{location}/models/{model_id}@{version_id})`. The format is a-z{0,126}[a-z0-9] to distinguish from version_id. A default version alias will be created for the first version of the model, and there must be exactly one default version alias for a model.", +"items": { +"type": "string" +}, +"type": "array" +}, +"versionCreateTime": { +"description": "Output only. Timestamp when this version was created.", +"format": "google-datetime", +"readOnly": true, +"type": "string" +}, +"versionDescription": { +"description": "The description of this version.", +"type": "string" +}, +"versionId": { +"description": "Output only. Immutable. The version ID of the model. A new version is committed when a new model version is uploaded or trained under an existing model id. It is an auto-incrementing decimal number in string representation.", +"readOnly": true, +"type": "string" +}, +"versionUpdateTime": { +"description": "Output only. Timestamp when this version was most recently updated.", +"format": "google-datetime", +"readOnly": true, +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1ModelBaseModelSource": { +"description": "User input field to specify the base model source. Currently it only supports specifing the Model Garden models and Genie models.", +"id": "GoogleCloudAiplatformV1ModelBaseModelSource", +"properties": { +"genieSource": { +"$ref": "GoogleCloudAiplatformV1GenieSource", +"description": "Information about the base model of Genie models." +}, +"modelGardenSource": { +"$ref": "GoogleCloudAiplatformV1ModelGardenSource", +"description": "Source information of Model Garden models." +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1ModelContainerSpec": { +"description": "Specification of a container for serving predictions. Some fields in this message correspond to fields in the [Kubernetes Container v1 core specification](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.23/#container-v1-core).", +"id": "GoogleCloudAiplatformV1ModelContainerSpec", +"properties": { +"args": { +"description": "Immutable. Specifies arguments for the command that runs when the container starts. This overrides the container's [`CMD`](https://docs.docker.com/engine/reference/builder/#cmd). Specify this field as an array of executable and arguments, similar to a Docker `CMD`'s \"default parameters\" form. If you don't specify this field but do specify the command field, then the command from the `command` field runs without any additional arguments. See the [Kubernetes documentation about how the `command` and `args` fields interact with a container's `ENTRYPOINT` and `CMD`](https://kubernetes.io/docs/tasks/inject-data-application/define-command-argument-container/#notes). If you don't specify this field and don't specify the `command` field, then the container's [`ENTRYPOINT`](https://docs.docker.com/engine/reference/builder/#cmd) and `CMD` determine what runs based on their default behavior. See the Docker documentation about [how `CMD` and `ENTRYPOINT` interact](https://docs.docker.com/engine/reference/builder/#understand-how-cmd-and-entrypoint-interact). In this field, you can reference [environment variables set by Vertex AI](https://cloud.google.com/vertex-ai/docs/predictions/custom-container-requirements#aip-variables) and environment variables set in the env field. You cannot reference environment variables set in the Docker image. In order for environment variables to be expanded, reference them by using the following syntax: $( VARIABLE_NAME) Note that this differs from Bash variable expansion, which does not use parentheses. If a variable cannot be resolved, the reference in the input string is used unchanged. To avoid variable expansion, you can escape this syntax with `$$`; for example: $$(VARIABLE_NAME) This field corresponds to the `args` field of the Kubernetes Containers [v1 core API](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.23/#container-v1-core).", +"items": { +"type": "string" +}, +"type": "array" +}, +"command": { +"description": "Immutable. Specifies the command that runs when the container starts. This overrides the container's [ENTRYPOINT](https://docs.docker.com/engine/reference/builder/#entrypoint). Specify this field as an array of executable and arguments, similar to a Docker `ENTRYPOINT`'s \"exec\" form, not its \"shell\" form. If you do not specify this field, then the container's `ENTRYPOINT` runs, in conjunction with the args field or the container's [`CMD`](https://docs.docker.com/engine/reference/builder/#cmd), if either exists. If this field is not specified and the container does not have an `ENTRYPOINT`, then refer to the Docker documentation about [how `CMD` and `ENTRYPOINT` interact](https://docs.docker.com/engine/reference/builder/#understand-how-cmd-and-entrypoint-interact). If you specify this field, then you can also specify the `args` field to provide additional arguments for this command. However, if you specify this field, then the container's `CMD` is ignored. See the [Kubernetes documentation about how the `command` and `args` fields interact with a container's `ENTRYPOINT` and `CMD`](https://kubernetes.io/docs/tasks/inject-data-application/define-command-argument-container/#notes). In this field, you can reference [environment variables set by Vertex AI](https://cloud.google.com/vertex-ai/docs/predictions/custom-container-requirements#aip-variables) and environment variables set in the env field. You cannot reference environment variables set in the Docker image. In order for environment variables to be expanded, reference them by using the following syntax: $( VARIABLE_NAME) Note that this differs from Bash variable expansion, which does not use parentheses. If a variable cannot be resolved, the reference in the input string is used unchanged. To avoid variable expansion, you can escape this syntax with `$$`; for example: $$(VARIABLE_NAME) This field corresponds to the `command` field of the Kubernetes Containers [v1 core API](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.23/#container-v1-core).", +"items": { +"type": "string" +}, +"type": "array" +}, +"deploymentTimeout": { +"description": "Immutable. Deployment timeout. Limit for deployment timeout is 2 hours.", +"format": "google-duration", +"type": "string" +}, +"env": { +"description": "Immutable. List of environment variables to set in the container. After the container starts running, code running in the container can read these environment variables. Additionally, the command and args fields can reference these variables. Later entries in this list can also reference earlier entries. For example, the following example sets the variable `VAR_2` to have the value `foo bar`: ```json [ { \"name\": \"VAR_1\", \"value\": \"foo\" }, { \"name\": \"VAR_2\", \"value\": \"$(VAR_1) bar\" } ] ``` If you switch the order of the variables in the example, then the expansion does not occur. This field corresponds to the `env` field of the Kubernetes Containers [v1 core API](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.23/#container-v1-core).", +"items": { +"$ref": "GoogleCloudAiplatformV1EnvVar" +}, +"type": "array" +}, +"grpcPorts": { +"description": "Immutable. List of ports to expose from the container. Vertex AI sends gRPC prediction requests that it receives to the first port on this list. Vertex AI also sends liveness and health checks to this port. If you do not specify this field, gRPC requests to the container will be disabled. Vertex AI does not use ports other than the first one listed. This field corresponds to the `ports` field of the Kubernetes Containers v1 core API.", +"items": { +"$ref": "GoogleCloudAiplatformV1Port" +}, +"type": "array" +}, +"healthProbe": { +"$ref": "GoogleCloudAiplatformV1Probe", +"description": "Immutable. Specification for Kubernetes readiness probe." +}, +"healthRoute": { +"description": "Immutable. HTTP path on the container to send health checks to. Vertex AI intermittently sends GET requests to this path on the container's IP address and port to check that the container is healthy. Read more about [health checks](https://cloud.google.com/vertex-ai/docs/predictions/custom-container-requirements#health). For example, if you set this field to `/bar`, then Vertex AI intermittently sends a GET request to the `/bar` path on the port of your container specified by the first value of this `ModelContainerSpec`'s ports field. If you don't specify this field, it defaults to the following value when you deploy this Model to an Endpoint: /v1/endpoints/ENDPOINT/deployedModels/ DEPLOYED_MODEL:predict The placeholders in this value are replaced as follows: * ENDPOINT: The last segment (following `endpoints/`)of the Endpoint.name][] field of the Endpoint where this Model has been deployed. (Vertex AI makes this value available to your container code as the [`AIP_ENDPOINT_ID` environment variable](https://cloud.google.com/vertex-ai/docs/predictions/custom-container-requirements#aip-variables).) * DEPLOYED_MODEL: DeployedModel.id of the `DeployedModel`. (Vertex AI makes this value available to your container code as the [`AIP_DEPLOYED_MODEL_ID` environment variable](https://cloud.google.com/vertex-ai/docs/predictions/custom-container-requirements#aip-variables).)", +"type": "string" +}, +"imageUri": { +"description": "Required. Immutable. URI of the Docker image to be used as the custom container for serving predictions. This URI must identify an image in Artifact Registry or Container Registry. Learn more about the [container publishing requirements](https://cloud.google.com/vertex-ai/docs/predictions/custom-container-requirements#publishing), including permissions requirements for the Vertex AI Service Agent. The container image is ingested upon ModelService.UploadModel, stored internally, and this original path is afterwards not used. To learn about the requirements for the Docker image itself, see [Custom container requirements](https://cloud.google.com/vertex-ai/docs/predictions/custom-container-requirements#). You can use the URI to one of Vertex AI's [pre-built container images for prediction](https://cloud.google.com/vertex-ai/docs/predictions/pre-built-containers) in this field.", +"type": "string" +}, +"livenessProbe": { +"$ref": "GoogleCloudAiplatformV1Probe", +"description": "Immutable. Specification for Kubernetes liveness probe." +}, +"ports": { +"description": "Immutable. List of ports to expose from the container. Vertex AI sends any prediction requests that it receives to the first port on this list. Vertex AI also sends [liveness and health checks](https://cloud.google.com/vertex-ai/docs/predictions/custom-container-requirements#liveness) to this port. If you do not specify this field, it defaults to following value: ```json [ { \"containerPort\": 8080 } ] ``` Vertex AI does not use ports other than the first one listed. This field corresponds to the `ports` field of the Kubernetes Containers [v1 core API](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.23/#container-v1-core).", +"items": { +"$ref": "GoogleCloudAiplatformV1Port" +}, +"type": "array" +}, +"predictRoute": { +"description": "Immutable. HTTP path on the container to send prediction requests to. Vertex AI forwards requests sent using projects.locations.endpoints.predict to this path on the container's IP address and port. Vertex AI then returns the container's response in the API response. For example, if you set this field to `/foo`, then when Vertex AI receives a prediction request, it forwards the request body in a POST request to the `/foo` path on the port of your container specified by the first value of this `ModelContainerSpec`'s ports field. If you don't specify this field, it defaults to the following value when you deploy this Model to an Endpoint: /v1/endpoints/ENDPOINT/deployedModels/DEPLOYED_MODEL:predict The placeholders in this value are replaced as follows: * ENDPOINT: The last segment (following `endpoints/`)of the Endpoint.name][] field of the Endpoint where this Model has been deployed. (Vertex AI makes this value available to your container code as the [`AIP_ENDPOINT_ID` environment variable](https://cloud.google.com/vertex-ai/docs/predictions/custom-container-requirements#aip-variables).) * DEPLOYED_MODEL: DeployedModel.id of the `DeployedModel`. (Vertex AI makes this value available to your container code as the [`AIP_DEPLOYED_MODEL_ID` environment variable](https://cloud.google.com/vertex-ai/docs/predictions/custom-container-requirements#aip-variables).)", +"type": "string" +}, +"sharedMemorySizeMb": { +"description": "Immutable. The amount of the VM memory to reserve as the shared memory for the model in megabytes.", +"format": "int64", +"type": "string" +}, +"startupProbe": { +"$ref": "GoogleCloudAiplatformV1Probe", +"description": "Immutable. Specification for Kubernetes startup probe." +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1ModelDataStats": { +"description": "Stats of data used for train or evaluate the Model.", +"id": "GoogleCloudAiplatformV1ModelDataStats", +"properties": { +"testAnnotationsCount": { +"description": "Number of Annotations that are used for evaluating this Model. If the Model is evaluated multiple times, this will be the number of test Annotations used by the first evaluation. If the Model is not evaluated, the number is 0.", +"format": "int64", +"type": "string" +}, +"testDataItemsCount": { +"description": "Number of DataItems that were used for evaluating this Model. If the Model is evaluated multiple times, this will be the number of test DataItems used by the first evaluation. If the Model is not evaluated, the number is 0.", +"format": "int64", +"type": "string" +}, +"trainingAnnotationsCount": { +"description": "Number of Annotations that are used for training this Model.", +"format": "int64", +"type": "string" +}, +"trainingDataItemsCount": { +"description": "Number of DataItems that were used for training this Model.", +"format": "int64", +"type": "string" +}, +"validationAnnotationsCount": { +"description": "Number of Annotations that are used for validating this Model during training.", +"format": "int64", +"type": "string" +}, +"validationDataItemsCount": { +"description": "Number of DataItems that were used for validating this Model during training.", +"format": "int64", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1ModelDeploymentMonitoringBigQueryTable": { +"description": "ModelDeploymentMonitoringBigQueryTable specifies the BigQuery table name as well as some information of the logs stored in this table.", +"id": "GoogleCloudAiplatformV1ModelDeploymentMonitoringBigQueryTable", +"properties": { +"bigqueryTablePath": { +"description": "The created BigQuery table to store logs. Customer could do their own query & analysis. Format: `bq://.model_deployment_monitoring_._`", +"type": "string" +}, +"logSource": { +"description": "The source of log.", +"enum": [ +"LOG_SOURCE_UNSPECIFIED", +"TRAINING", +"SERVING" +], +"enumDescriptions": [ +"Unspecified source.", +"Logs coming from Training dataset.", +"Logs coming from Serving traffic." +], +"type": "string" +}, +"logType": { +"description": "The type of log.", +"enum": [ +"LOG_TYPE_UNSPECIFIED", +"PREDICT", +"EXPLAIN" +], +"enumDescriptions": [ +"Unspecified type.", +"Predict logs.", +"Explain logs." +], +"type": "string" +}, +"requestResponseLoggingSchemaVersion": { +"description": "Output only. The schema version of the request/response logging BigQuery table. Default to v1 if unset.", +"readOnly": true, +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1ModelDeploymentMonitoringJob": { +"description": "Represents a job that runs periodically to monitor the deployed models in an endpoint. It will analyze the logged training & prediction data to detect any abnormal behaviors.", +"id": "GoogleCloudAiplatformV1ModelDeploymentMonitoringJob", +"properties": { +"analysisInstanceSchemaUri": { +"description": "YAML schema file uri describing the format of a single instance that you want Tensorflow Data Validation (TFDV) to analyze. If this field is empty, all the feature data types are inferred from predict_instance_schema_uri, meaning that TFDV will use the data in the exact format(data type) as prediction request/response. If there are any data type differences between predict instance and TFDV instance, this field can be used to override the schema. For models trained with Vertex AI, this field must be set as all the fields in predict instance formatted as string.", +"type": "string" +}, +"bigqueryTables": { +"description": "Output only. The created bigquery tables for the job under customer project. Customer could do their own query & analysis. There could be 4 log tables in maximum: 1. Training data logging predict request/response 2. Serving data logging predict request/response", +"items": { +"$ref": "GoogleCloudAiplatformV1ModelDeploymentMonitoringBigQueryTable" +}, +"readOnly": true, +"type": "array" +}, +"createTime": { +"description": "Output only. Timestamp when this ModelDeploymentMonitoringJob was created.", +"format": "google-datetime", +"readOnly": true, +"type": "string" +}, +"displayName": { +"description": "Required. The user-defined name of the ModelDeploymentMonitoringJob. The name can be up to 128 characters long and can consist of any UTF-8 characters. Display name of a ModelDeploymentMonitoringJob.", +"type": "string" +}, +"enableMonitoringPipelineLogs": { +"description": "If true, the scheduled monitoring pipeline logs are sent to Google Cloud Logging, including pipeline status and anomalies detected. Please note the logs incur cost, which are subject to [Cloud Logging pricing](https://cloud.google.com/logging#pricing).", +"type": "boolean" +}, +"encryptionSpec": { +"$ref": "GoogleCloudAiplatformV1EncryptionSpec", +"description": "Customer-managed encryption key spec for a ModelDeploymentMonitoringJob. If set, this ModelDeploymentMonitoringJob and all sub-resources of this ModelDeploymentMonitoringJob will be secured by this key." +}, +"endpoint": { +"description": "Required. Endpoint resource name. Format: `projects/{project}/locations/{location}/endpoints/{endpoint}`", +"type": "string" +}, +"error": { +"$ref": "GoogleRpcStatus", +"description": "Output only. Only populated when the job's state is `JOB_STATE_FAILED` or `JOB_STATE_CANCELLED`.", +"readOnly": true +}, +"labels": { +"additionalProperties": { +"type": "string" +}, +"description": "The labels with user-defined metadata to organize your ModelDeploymentMonitoringJob. Label keys and values can be no longer than 64 characters (Unicode codepoints), can only contain lowercase letters, numeric characters, underscores and dashes. International characters are allowed. See https://goo.gl/xmQnxf for more information and examples of labels.", +"type": "object" +}, +"latestMonitoringPipelineMetadata": { +"$ref": "GoogleCloudAiplatformV1ModelDeploymentMonitoringJobLatestMonitoringPipelineMetadata", +"description": "Output only. Latest triggered monitoring pipeline metadata.", +"readOnly": true +}, +"logTtl": { +"description": "The TTL of BigQuery tables in user projects which stores logs. A day is the basic unit of the TTL and we take the ceil of TTL/86400(a day). e.g. { second: 3600} indicates ttl = 1 day.", +"format": "google-duration", +"type": "string" +}, +"loggingSamplingStrategy": { +"$ref": "GoogleCloudAiplatformV1SamplingStrategy", +"description": "Required. Sample Strategy for logging." +}, +"modelDeploymentMonitoringObjectiveConfigs": { +"description": "Required. The config for monitoring objectives. This is a per DeployedModel config. Each DeployedModel needs to be configured separately.", +"items": { +"$ref": "GoogleCloudAiplatformV1ModelDeploymentMonitoringObjectiveConfig" +}, +"type": "array" +}, +"modelDeploymentMonitoringScheduleConfig": { +"$ref": "GoogleCloudAiplatformV1ModelDeploymentMonitoringScheduleConfig", +"description": "Required. Schedule config for running the monitoring job." +}, +"modelMonitoringAlertConfig": { +"$ref": "GoogleCloudAiplatformV1ModelMonitoringAlertConfig", +"description": "Alert config for model monitoring." +}, +"name": { +"description": "Output only. Resource name of a ModelDeploymentMonitoringJob.", +"readOnly": true, +"type": "string" +}, +"nextScheduleTime": { +"description": "Output only. Timestamp when this monitoring pipeline will be scheduled to run for the next round.", +"format": "google-datetime", +"readOnly": true, +"type": "string" +}, +"predictInstanceSchemaUri": { +"description": "YAML schema file uri describing the format of a single instance, which are given to format this Endpoint's prediction (and explanation). If not set, we will generate predict schema from collected predict requests.", +"type": "string" +}, +"samplePredictInstance": { +"description": "Sample Predict instance, same format as PredictRequest.instances, this can be set as a replacement of ModelDeploymentMonitoringJob.predict_instance_schema_uri. If not set, we will generate predict schema from collected predict requests.", +"type": "any" +}, +"satisfiesPzi": { +"description": "Output only. Reserved for future use.", +"readOnly": true, +"type": "boolean" +}, +"satisfiesPzs": { +"description": "Output only. Reserved for future use.", +"readOnly": true, +"type": "boolean" +}, +"scheduleState": { +"description": "Output only. Schedule state when the monitoring job is in Running state.", +"enum": [ +"MONITORING_SCHEDULE_STATE_UNSPECIFIED", +"PENDING", +"OFFLINE", +"RUNNING" +], +"enumDescriptions": [ +"Unspecified state.", +"The pipeline is picked up and wait to run.", +"The pipeline is offline and will be scheduled for next run.", +"The pipeline is running." +], +"readOnly": true, +"type": "string" +}, +"state": { +"description": "Output only. The detailed state of the monitoring job. When the job is still creating, the state will be 'PENDING'. Once the job is successfully created, the state will be 'RUNNING'. Pause the job, the state will be 'PAUSED'. Resume the job, the state will return to 'RUNNING'.", +"enum": [ +"JOB_STATE_UNSPECIFIED", +"JOB_STATE_QUEUED", +"JOB_STATE_PENDING", +"JOB_STATE_RUNNING", +"JOB_STATE_SUCCEEDED", +"JOB_STATE_FAILED", +"JOB_STATE_CANCELLING", +"JOB_STATE_CANCELLED", +"JOB_STATE_PAUSED", +"JOB_STATE_EXPIRED", +"JOB_STATE_UPDATING", +"JOB_STATE_PARTIALLY_SUCCEEDED" +], +"enumDescriptions": [ +"The job state is unspecified.", +"The job has been just created or resumed and processing has not yet begun.", +"The service is preparing to run the job.", +"The job is in progress.", +"The job completed successfully.", +"The job failed.", +"The job is being cancelled. From this state the job may only go to either `JOB_STATE_SUCCEEDED`, `JOB_STATE_FAILED` or `JOB_STATE_CANCELLED`.", +"The job has been cancelled.", +"The job has been stopped, and can be resumed.", +"The job has expired.", +"The job is being updated. Only jobs in the `RUNNING` state can be updated. After updating, the job goes back to the `RUNNING` state.", +"The job is partially succeeded, some results may be missing due to errors." +], +"readOnly": true, +"type": "string" +}, +"statsAnomaliesBaseDirectory": { +"$ref": "GoogleCloudAiplatformV1GcsDestination", +"description": "Stats anomalies base folder path." +}, +"updateTime": { +"description": "Output only. Timestamp when this ModelDeploymentMonitoringJob was updated most recently.", +"format": "google-datetime", +"readOnly": true, +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1ModelDeploymentMonitoringJobLatestMonitoringPipelineMetadata": { +"description": "All metadata of most recent monitoring pipelines.", +"id": "GoogleCloudAiplatformV1ModelDeploymentMonitoringJobLatestMonitoringPipelineMetadata", +"properties": { +"runTime": { +"description": "The time that most recent monitoring pipelines that is related to this run.", +"format": "google-datetime", +"type": "string" +}, +"status": { +"$ref": "GoogleRpcStatus", +"description": "The status of the most recent monitoring pipeline." +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1ModelDeploymentMonitoringObjectiveConfig": { +"description": "ModelDeploymentMonitoringObjectiveConfig contains the pair of deployed_model_id to ModelMonitoringObjectiveConfig.", +"id": "GoogleCloudAiplatformV1ModelDeploymentMonitoringObjectiveConfig", +"properties": { +"deployedModelId": { +"description": "The DeployedModel ID of the objective config.", +"type": "string" +}, +"objectiveConfig": { +"$ref": "GoogleCloudAiplatformV1ModelMonitoringObjectiveConfig", +"description": "The objective config of for the modelmonitoring job of this deployed model." +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1ModelDeploymentMonitoringScheduleConfig": { +"description": "The config for scheduling monitoring job.", +"id": "GoogleCloudAiplatformV1ModelDeploymentMonitoringScheduleConfig", +"properties": { +"monitorInterval": { +"description": "Required. The model monitoring job scheduling interval. It will be rounded up to next full hour. This defines how often the monitoring jobs are triggered.", +"format": "google-duration", +"type": "string" +}, +"monitorWindow": { +"description": "The time window of the prediction data being included in each prediction dataset. This window specifies how long the data should be collected from historical model results for each run. If not set, ModelDeploymentMonitoringScheduleConfig.monitor_interval will be used. e.g. If currently the cutoff time is 2022-01-08 14:30:00 and the monitor_window is set to be 3600, then data from 2022-01-08 13:30:00 to 2022-01-08 14:30:00 will be retrieved and aggregated to calculate the monitoring statistics.", +"format": "google-duration", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1ModelEvaluation": { +"description": "A collection of metrics calculated by comparing Model's predictions on all of the test data against annotations from the test data.", +"id": "GoogleCloudAiplatformV1ModelEvaluation", +"properties": { +"annotationSchemaUri": { +"description": "Points to a YAML file stored on Google Cloud Storage describing EvaluatedDataItemView.predictions, EvaluatedDataItemView.ground_truths, EvaluatedAnnotation.predictions, and EvaluatedAnnotation.ground_truths. The schema is defined as an OpenAPI 3.0.2 [Schema Object](https://github.com/OAI/OpenAPI-Specification/blob/main/versions/3.0.2.md#schemaObject). This field is not populated if there are neither EvaluatedDataItemViews nor EvaluatedAnnotations under this ModelEvaluation.", +"type": "string" +}, +"createTime": { +"description": "Output only. Timestamp when this ModelEvaluation was created.", +"format": "google-datetime", +"readOnly": true, +"type": "string" +}, +"dataItemSchemaUri": { +"description": "Points to a YAML file stored on Google Cloud Storage describing EvaluatedDataItemView.data_item_payload and EvaluatedAnnotation.data_item_payload. The schema is defined as an OpenAPI 3.0.2 [Schema Object](https://github.com/OAI/OpenAPI-Specification/blob/main/versions/3.0.2.md#schemaObject). This field is not populated if there are neither EvaluatedDataItemViews nor EvaluatedAnnotations under this ModelEvaluation.", +"type": "string" +}, +"displayName": { +"description": "The display name of the ModelEvaluation.", +"type": "string" +}, +"explanationSpecs": { +"description": "Describes the values of ExplanationSpec that are used for explaining the predicted values on the evaluated data.", +"items": { +"$ref": "GoogleCloudAiplatformV1ModelEvaluationModelEvaluationExplanationSpec" +}, +"type": "array" +}, +"metadata": { +"description": "The metadata of the ModelEvaluation. For the ModelEvaluation uploaded from Managed Pipeline, metadata contains a structured value with keys of \"pipeline_job_id\", \"evaluation_dataset_type\", \"evaluation_dataset_path\", \"row_based_metrics_path\".", +"type": "any" +}, +"metrics": { +"description": "Evaluation metrics of the Model. The schema of the metrics is stored in metrics_schema_uri", +"type": "any" +}, +"metricsSchemaUri": { +"description": "Points to a YAML file stored on Google Cloud Storage describing the metrics of this ModelEvaluation. The schema is defined as an OpenAPI 3.0.2 [Schema Object](https://github.com/OAI/OpenAPI-Specification/blob/main/versions/3.0.2.md#schemaObject).", +"type": "string" +}, +"modelExplanation": { +"$ref": "GoogleCloudAiplatformV1ModelExplanation", +"description": "Aggregated explanation metrics for the Model's prediction output over the data this ModelEvaluation uses. This field is populated only if the Model is evaluated with explanations, and only for AutoML tabular Models. " +}, +"name": { +"description": "Output only. The resource name of the ModelEvaluation.", +"readOnly": true, +"type": "string" +}, +"sliceDimensions": { +"description": "All possible dimensions of ModelEvaluationSlices. The dimensions can be used as the filter of the ModelService.ListModelEvaluationSlices request, in the form of `slice.dimension = `.", +"items": { +"type": "string" +}, +"type": "array" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1ModelEvaluationModelEvaluationExplanationSpec": { +"id": "GoogleCloudAiplatformV1ModelEvaluationModelEvaluationExplanationSpec", +"properties": { +"explanationSpec": { +"$ref": "GoogleCloudAiplatformV1ExplanationSpec", +"description": "Explanation spec details." +}, +"explanationType": { +"description": "Explanation type. For AutoML Image Classification models, possible values are: * `image-integrated-gradients` * `image-xrai`", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1ModelEvaluationSlice": { +"description": "A collection of metrics calculated by comparing Model's predictions on a slice of the test data against ground truth annotations.", +"id": "GoogleCloudAiplatformV1ModelEvaluationSlice", +"properties": { +"createTime": { +"description": "Output only. Timestamp when this ModelEvaluationSlice was created.", +"format": "google-datetime", +"readOnly": true, +"type": "string" +}, +"metrics": { +"description": "Output only. Sliced evaluation metrics of the Model. The schema of the metrics is stored in metrics_schema_uri", +"readOnly": true, +"type": "any" +}, +"metricsSchemaUri": { +"description": "Output only. Points to a YAML file stored on Google Cloud Storage describing the metrics of this ModelEvaluationSlice. The schema is defined as an OpenAPI 3.0.2 [Schema Object](https://github.com/OAI/OpenAPI-Specification/blob/main/versions/3.0.2.md#schemaObject).", +"readOnly": true, +"type": "string" +}, +"modelExplanation": { +"$ref": "GoogleCloudAiplatformV1ModelExplanation", +"description": "Output only. Aggregated explanation metrics for the Model's prediction output over the data this ModelEvaluation uses. This field is populated only if the Model is evaluated with explanations, and only for tabular Models.", +"readOnly": true +}, +"name": { +"description": "Output only. The resource name of the ModelEvaluationSlice.", +"readOnly": true, +"type": "string" +}, +"slice": { +"$ref": "GoogleCloudAiplatformV1ModelEvaluationSliceSlice", +"description": "Output only. The slice of the test data that is used to evaluate the Model.", +"readOnly": true +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1ModelEvaluationSliceSlice": { +"description": "Definition of a slice.", +"id": "GoogleCloudAiplatformV1ModelEvaluationSliceSlice", +"properties": { +"dimension": { +"description": "Output only. The dimension of the slice. Well-known dimensions are: * `annotationSpec`: This slice is on the test data that has either ground truth or prediction with AnnotationSpec.display_name equals to value. * `slice`: This slice is a user customized slice defined by its SliceSpec.", +"readOnly": true, +"type": "string" +}, +"sliceSpec": { +"$ref": "GoogleCloudAiplatformV1ModelEvaluationSliceSliceSliceSpec", +"description": "Output only. Specification for how the data was sliced.", +"readOnly": true +}, +"value": { +"description": "Output only. The value of the dimension in this slice.", +"readOnly": true, +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1ModelEvaluationSliceSliceSliceSpec": { +"description": "Specification for how the data should be sliced.", +"id": "GoogleCloudAiplatformV1ModelEvaluationSliceSliceSliceSpec", +"properties": { +"configs": { +"additionalProperties": { +"$ref": "GoogleCloudAiplatformV1ModelEvaluationSliceSliceSliceSpecSliceConfig" +}, +"description": "Mapping configuration for this SliceSpec. The key is the name of the feature. By default, the key will be prefixed by \"instance\" as a dictionary prefix for Vertex Batch Predictions output format.", +"type": "object" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1ModelEvaluationSliceSliceSliceSpecRange": { +"description": "A range of values for slice(s). `low` is inclusive, `high` is exclusive.", +"id": "GoogleCloudAiplatformV1ModelEvaluationSliceSliceSliceSpecRange", +"properties": { +"high": { +"description": "Exclusive high value for the range.", +"format": "float", +"type": "number" +}, +"low": { +"description": "Inclusive low value for the range.", +"format": "float", +"type": "number" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1ModelEvaluationSliceSliceSliceSpecSliceConfig": { +"description": "Specification message containing the config for this SliceSpec. When `kind` is selected as `value` and/or `range`, only a single slice will be computed. When `all_values` is present, a separate slice will be computed for each possible label/value for the corresponding key in `config`. Examples, with feature zip_code with values 12345, 23334, 88888 and feature country with values \"US\", \"Canada\", \"Mexico\" in the dataset: Example 1: { \"zip_code\": { \"value\": { \"float_value\": 12345.0 } } } A single slice for any data with zip_code 12345 in the dataset. Example 2: { \"zip_code\": { \"range\": { \"low\": 12345, \"high\": 20000 } } } A single slice containing data where the zip_codes between 12345 and 20000 For this example, data with the zip_code of 12345 will be in this slice. Example 3: { \"zip_code\": { \"range\": { \"low\": 10000, \"high\": 20000 } }, \"country\": { \"value\": { \"string_value\": \"US\" } } } A single slice containing data where the zip_codes between 10000 and 20000 has the country \"US\". For this example, data with the zip_code of 12345 and country \"US\" will be in this slice. Example 4: { \"country\": {\"all_values\": { \"value\": true } } } Three slices are computed, one for each unique country in the dataset. Example 5: { \"country\": { \"all_values\": { \"value\": true } }, \"zip_code\": { \"value\": { \"float_value\": 12345.0 } } } Three slices are computed, one for each unique country in the dataset where the zip_code is also 12345. For this example, data with zip_code 12345 and country \"US\" will be in one slice, zip_code 12345 and country \"Canada\" in another slice, and zip_code 12345 and country \"Mexico\" in another slice, totaling 3 slices.", +"id": "GoogleCloudAiplatformV1ModelEvaluationSliceSliceSliceSpecSliceConfig", +"properties": { +"allValues": { +"description": "If all_values is set to true, then all possible labels of the keyed feature will have another slice computed. Example: `{\"all_values\":{\"value\":true}}`", +"type": "boolean" +}, +"range": { +"$ref": "GoogleCloudAiplatformV1ModelEvaluationSliceSliceSliceSpecRange", +"description": "A range of values for a numerical feature. Example: `{\"range\":{\"low\":10000.0,\"high\":50000.0}}` will capture 12345 and 23334 in the slice." +}, +"value": { +"$ref": "GoogleCloudAiplatformV1ModelEvaluationSliceSliceSliceSpecValue", +"description": "A unique specific value for a given feature. Example: `{ \"value\": { \"string_value\": \"12345\" } }`" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1ModelEvaluationSliceSliceSliceSpecValue": { +"description": "Single value that supports strings and floats.", +"id": "GoogleCloudAiplatformV1ModelEvaluationSliceSliceSliceSpecValue", +"properties": { +"floatValue": { +"description": "Float type.", +"format": "float", +"type": "number" +}, +"stringValue": { +"description": "String type.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1ModelExplanation": { +"description": "Aggregated explanation metrics for a Model over a set of instances.", +"id": "GoogleCloudAiplatformV1ModelExplanation", +"properties": { +"meanAttributions": { +"description": "Output only. Aggregated attributions explaining the Model's prediction outputs over the set of instances. The attributions are grouped by outputs. For Models that predict only one output, such as regression Models that predict only one score, there is only one attibution that explains the predicted output. For Models that predict multiple outputs, such as multiclass Models that predict multiple classes, each element explains one specific item. Attribution.output_index can be used to identify which output this attribution is explaining. The baselineOutputValue, instanceOutputValue and featureAttributions fields are averaged over the test data. NOTE: Currently AutoML tabular classification Models produce only one attribution, which averages attributions over all the classes it predicts. Attribution.approximation_error is not populated.", +"items": { +"$ref": "GoogleCloudAiplatformV1Attribution" +}, +"readOnly": true, +"type": "array" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1ModelExportFormat": { +"description": "Represents export format supported by the Model. All formats export to Google Cloud Storage.", +"id": "GoogleCloudAiplatformV1ModelExportFormat", +"properties": { +"exportableContents": { +"description": "Output only. The content of this Model that may be exported.", +"items": { +"enum": [ +"EXPORTABLE_CONTENT_UNSPECIFIED", +"ARTIFACT", +"IMAGE" +], +"enumDescriptions": [ +"Should not be used.", +"Model artifact and any of its supported files. Will be exported to the location specified by the `artifactDestination` field of the ExportModelRequest.output_config object.", +"The container image that is to be used when deploying this Model. Will be exported to the location specified by the `imageDestination` field of the ExportModelRequest.output_config object." +], +"type": "string" +}, +"readOnly": true, +"type": "array" +}, +"id": { +"description": "Output only. The ID of the export format. The possible format IDs are: * `tflite` Used for Android mobile devices. * `edgetpu-tflite` Used for [Edge TPU](https://cloud.google.com/edge-tpu/) devices. * `tf-saved-model` A tensorflow model in SavedModel format. * `tf-js` A [TensorFlow.js](https://www.tensorflow.org/js) model that can be used in the browser and in Node.js using JavaScript. * `core-ml` Used for iOS mobile devices. * `custom-trained` A Model that was uploaded or trained by custom code.", +"readOnly": true, +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1ModelGardenSource": { +"description": "Contains information about the source of the models generated from Model Garden.", +"id": "GoogleCloudAiplatformV1ModelGardenSource", +"properties": { +"publicModelName": { +"description": "Required. The model garden source model resource name.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1ModelMonitoringAlertConfig": { +"description": "The alert config for model monitoring.", +"id": "GoogleCloudAiplatformV1ModelMonitoringAlertConfig", +"properties": { +"emailAlertConfig": { +"$ref": "GoogleCloudAiplatformV1ModelMonitoringAlertConfigEmailAlertConfig", +"description": "Email alert config." +}, +"enableLogging": { +"description": "Dump the anomalies to Cloud Logging. The anomalies will be put to json payload encoded from proto ModelMonitoringStatsAnomalies. This can be further synced to Pub/Sub or any other services supported by Cloud Logging.", +"type": "boolean" +}, +"notificationChannels": { +"description": "Resource names of the NotificationChannels to send alert. Must be of the format `projects//notificationChannels/`", +"items": { +"type": "string" +}, +"type": "array" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1ModelMonitoringAlertConfigEmailAlertConfig": { +"description": "The config for email alert.", +"id": "GoogleCloudAiplatformV1ModelMonitoringAlertConfigEmailAlertConfig", +"properties": { +"userEmails": { +"description": "The email addresses to send the alert.", +"items": { +"type": "string" +}, +"type": "array" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1ModelMonitoringObjectiveConfig": { +"description": "The objective configuration for model monitoring, including the information needed to detect anomalies for one particular model.", +"id": "GoogleCloudAiplatformV1ModelMonitoringObjectiveConfig", +"properties": { +"explanationConfig": { +"$ref": "GoogleCloudAiplatformV1ModelMonitoringObjectiveConfigExplanationConfig", +"description": "The config for integrating with Vertex Explainable AI." +}, +"predictionDriftDetectionConfig": { +"$ref": "GoogleCloudAiplatformV1ModelMonitoringObjectiveConfigPredictionDriftDetectionConfig", +"description": "The config for drift of prediction data." +}, +"trainingDataset": { +"$ref": "GoogleCloudAiplatformV1ModelMonitoringObjectiveConfigTrainingDataset", +"description": "Training dataset for models. This field has to be set only if TrainingPredictionSkewDetectionConfig is specified." +}, +"trainingPredictionSkewDetectionConfig": { +"$ref": "GoogleCloudAiplatformV1ModelMonitoringObjectiveConfigTrainingPredictionSkewDetectionConfig", +"description": "The config for skew between training data and prediction data." +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1ModelMonitoringObjectiveConfigExplanationConfig": { +"description": "The config for integrating with Vertex Explainable AI. Only applicable if the Model has explanation_spec populated.", +"id": "GoogleCloudAiplatformV1ModelMonitoringObjectiveConfigExplanationConfig", +"properties": { +"enableFeatureAttributes": { +"description": "If want to analyze the Vertex Explainable AI feature attribute scores or not. If set to true, Vertex AI will log the feature attributions from explain response and do the skew/drift detection for them.", +"type": "boolean" +}, +"explanationBaseline": { +"$ref": "GoogleCloudAiplatformV1ModelMonitoringObjectiveConfigExplanationConfigExplanationBaseline", +"description": "Predictions generated by the BatchPredictionJob using baseline dataset." +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1ModelMonitoringObjectiveConfigExplanationConfigExplanationBaseline": { +"description": "Output from BatchPredictionJob for Model Monitoring baseline dataset, which can be used to generate baseline attribution scores.", +"id": "GoogleCloudAiplatformV1ModelMonitoringObjectiveConfigExplanationConfigExplanationBaseline", +"properties": { +"bigquery": { +"$ref": "GoogleCloudAiplatformV1BigQueryDestination", +"description": "BigQuery location for BatchExplain output." +}, +"gcs": { +"$ref": "GoogleCloudAiplatformV1GcsDestination", +"description": "Cloud Storage location for BatchExplain output." +}, +"predictionFormat": { +"description": "The storage format of the predictions generated BatchPrediction job.", +"enum": [ +"PREDICTION_FORMAT_UNSPECIFIED", +"JSONL", +"BIGQUERY" +], +"enumDescriptions": [ +"Should not be set.", +"Predictions are in JSONL files.", +"Predictions are in BigQuery." +], +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1ModelMonitoringObjectiveConfigPredictionDriftDetectionConfig": { +"description": "The config for Prediction data drift detection.", +"id": "GoogleCloudAiplatformV1ModelMonitoringObjectiveConfigPredictionDriftDetectionConfig", +"properties": { +"attributionScoreDriftThresholds": { +"additionalProperties": { +"$ref": "GoogleCloudAiplatformV1ThresholdConfig" +}, +"description": "Key is the feature name and value is the threshold. The threshold here is against attribution score distance between different time windows.", +"type": "object" +}, +"defaultDriftThreshold": { +"$ref": "GoogleCloudAiplatformV1ThresholdConfig", +"description": "Drift anomaly detection threshold used by all features. When the per-feature thresholds are not set, this field can be used to specify a threshold for all features." +}, +"driftThresholds": { +"additionalProperties": { +"$ref": "GoogleCloudAiplatformV1ThresholdConfig" +}, +"description": "Key is the feature name and value is the threshold. If a feature needs to be monitored for drift, a value threshold must be configured for that feature. The threshold here is against feature distribution distance between different time windws.", +"type": "object" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1ModelMonitoringObjectiveConfigTrainingDataset": { +"description": "Training Dataset information.", +"id": "GoogleCloudAiplatformV1ModelMonitoringObjectiveConfigTrainingDataset", +"properties": { +"bigquerySource": { +"$ref": "GoogleCloudAiplatformV1BigQuerySource", +"description": "The BigQuery table of the unmanaged Dataset used to train this Model." +}, +"dataFormat": { +"description": "Data format of the dataset, only applicable if the input is from Google Cloud Storage. The possible formats are: \"tf-record\" The source file is a TFRecord file. \"csv\" The source file is a CSV file. \"jsonl\" The source file is a JSONL file.", +"type": "string" +}, +"dataset": { +"description": "The resource name of the Dataset used to train this Model.", +"type": "string" +}, +"gcsSource": { +"$ref": "GoogleCloudAiplatformV1GcsSource", +"description": "The Google Cloud Storage uri of the unmanaged Dataset used to train this Model." +}, +"loggingSamplingStrategy": { +"$ref": "GoogleCloudAiplatformV1SamplingStrategy", +"description": "Strategy to sample data from Training Dataset. If not set, we process the whole dataset." +}, +"targetField": { +"description": "The target field name the model is to predict. This field will be excluded when doing Predict and (or) Explain for the training data.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1ModelMonitoringObjectiveConfigTrainingPredictionSkewDetectionConfig": { +"description": "The config for Training & Prediction data skew detection. It specifies the training dataset sources and the skew detection parameters.", +"id": "GoogleCloudAiplatformV1ModelMonitoringObjectiveConfigTrainingPredictionSkewDetectionConfig", +"properties": { +"attributionScoreSkewThresholds": { +"additionalProperties": { +"$ref": "GoogleCloudAiplatformV1ThresholdConfig" +}, +"description": "Key is the feature name and value is the threshold. The threshold here is against attribution score distance between the training and prediction feature.", +"type": "object" +}, +"defaultSkewThreshold": { +"$ref": "GoogleCloudAiplatformV1ThresholdConfig", +"description": "Skew anomaly detection threshold used by all features. When the per-feature thresholds are not set, this field can be used to specify a threshold for all features." +}, +"skewThresholds": { +"additionalProperties": { +"$ref": "GoogleCloudAiplatformV1ThresholdConfig" +}, +"description": "Key is the feature name and value is the threshold. If a feature needs to be monitored for skew, a value threshold must be configured for that feature. The threshold here is against feature distribution distance between the training and prediction feature.", +"type": "object" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1ModelMonitoringStatsAnomalies": { +"description": "Statistics and anomalies generated by Model Monitoring.", +"id": "GoogleCloudAiplatformV1ModelMonitoringStatsAnomalies", +"properties": { +"anomalyCount": { +"description": "Number of anomalies within all stats.", +"format": "int32", +"type": "integer" +}, +"deployedModelId": { +"description": "Deployed Model ID.", +"type": "string" +}, +"featureStats": { +"description": "A list of historical Stats and Anomalies generated for all Features.", +"items": { +"$ref": "GoogleCloudAiplatformV1ModelMonitoringStatsAnomaliesFeatureHistoricStatsAnomalies" +}, +"type": "array" +}, +"objective": { +"description": "Model Monitoring Objective those stats and anomalies belonging to.", +"enum": [ +"MODEL_DEPLOYMENT_MONITORING_OBJECTIVE_TYPE_UNSPECIFIED", +"RAW_FEATURE_SKEW", +"RAW_FEATURE_DRIFT", +"FEATURE_ATTRIBUTION_SKEW", +"FEATURE_ATTRIBUTION_DRIFT" +], +"enumDescriptions": [ +"Default value, should not be set.", +"Raw feature values' stats to detect skew between Training-Prediction datasets.", +"Raw feature values' stats to detect drift between Serving-Prediction datasets.", +"Feature attribution scores to detect skew between Training-Prediction datasets.", +"Feature attribution scores to detect skew between Prediction datasets collected within different time windows." +], +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1ModelMonitoringStatsAnomaliesFeatureHistoricStatsAnomalies": { +"description": "Historical Stats (and Anomalies) for a specific Feature.", +"id": "GoogleCloudAiplatformV1ModelMonitoringStatsAnomaliesFeatureHistoricStatsAnomalies", +"properties": { +"featureDisplayName": { +"description": "Display Name of the Feature.", +"type": "string" +}, +"predictionStats": { +"description": "A list of historical stats generated by different time window's Prediction Dataset.", +"items": { +"$ref": "GoogleCloudAiplatformV1FeatureStatsAnomaly" +}, +"type": "array" +}, +"threshold": { +"$ref": "GoogleCloudAiplatformV1ThresholdConfig", +"description": "Threshold for anomaly detection." +}, +"trainingStats": { +"$ref": "GoogleCloudAiplatformV1FeatureStatsAnomaly", +"description": "Stats calculated for the Training Dataset." +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1ModelOriginalModelInfo": { +"description": "Contains information about the original Model if this Model is a copy.", +"id": "GoogleCloudAiplatformV1ModelOriginalModelInfo", +"properties": { +"model": { +"description": "Output only. The resource name of the Model this Model is a copy of, including the revision. Format: `projects/{project}/locations/{location}/models/{model_id}@{version_id}`", +"readOnly": true, +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1ModelSourceInfo": { +"description": "Detail description of the source information of the model.", +"id": "GoogleCloudAiplatformV1ModelSourceInfo", +"properties": { +"copy": { +"description": "If this Model is copy of another Model. If true then source_type pertains to the original.", +"type": "boolean" +}, +"sourceType": { +"description": "Type of the model source.", +"enum": [ +"MODEL_SOURCE_TYPE_UNSPECIFIED", +"AUTOML", +"CUSTOM", +"BQML", +"MODEL_GARDEN", +"GENIE", +"CUSTOM_TEXT_EMBEDDING", +"MARKETPLACE" +], +"enumDescriptions": [ +"Should not be used.", +"The Model is uploaded by automl training pipeline.", +"The Model is uploaded by user or custom training pipeline.", +"The Model is registered and sync'ed from BigQuery ML.", +"The Model is saved or tuned from Model Garden.", +"The Model is saved or tuned from Genie.", +"The Model is uploaded by text embedding finetuning pipeline.", +"The Model is saved or tuned from Marketplace." +], +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1MutateDeployedIndexOperationMetadata": { +"description": "Runtime operation information for IndexEndpointService.MutateDeployedIndex.", +"id": "GoogleCloudAiplatformV1MutateDeployedIndexOperationMetadata", +"properties": { +"deployedIndexId": { +"description": "The unique index id specified by user", +"type": "string" +}, +"genericMetadata": { +"$ref": "GoogleCloudAiplatformV1GenericOperationMetadata", +"description": "The operation generic information." +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1MutateDeployedIndexResponse": { +"description": "Response message for IndexEndpointService.MutateDeployedIndex.", +"id": "GoogleCloudAiplatformV1MutateDeployedIndexResponse", +"properties": { +"deployedIndex": { +"$ref": "GoogleCloudAiplatformV1DeployedIndex", +"description": "The DeployedIndex that had been updated in the IndexEndpoint." +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1MutateDeployedModelOperationMetadata": { +"description": "Runtime operation information for EndpointService.MutateDeployedModel.", +"id": "GoogleCloudAiplatformV1MutateDeployedModelOperationMetadata", +"properties": { +"genericMetadata": { +"$ref": "GoogleCloudAiplatformV1GenericOperationMetadata", +"description": "The operation generic information." +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1MutateDeployedModelRequest": { +"description": "Request message for EndpointService.MutateDeployedModel.", +"id": "GoogleCloudAiplatformV1MutateDeployedModelRequest", +"properties": { +"deployedModel": { +"$ref": "GoogleCloudAiplatformV1DeployedModel", +"description": "Required. The DeployedModel to be mutated within the Endpoint. Only the following fields can be mutated: * `min_replica_count` in either DedicatedResources or AutomaticResources * `max_replica_count` in either DedicatedResources or AutomaticResources * autoscaling_metric_specs * `disable_container_logging` (v1 only) * `enable_container_logging` (v1beta1 only)" +}, +"updateMask": { +"description": "Required. The update mask applies to the resource. See google.protobuf.FieldMask.", +"format": "google-fieldmask", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1MutateDeployedModelResponse": { +"description": "Response message for EndpointService.MutateDeployedModel.", +"id": "GoogleCloudAiplatformV1MutateDeployedModelResponse", +"properties": { +"deployedModel": { +"$ref": "GoogleCloudAiplatformV1DeployedModel", +"description": "The DeployedModel that's being mutated." +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1NasJob": { +"description": "Represents a Neural Architecture Search (NAS) job.", +"id": "GoogleCloudAiplatformV1NasJob", +"properties": { +"createTime": { +"description": "Output only. Time when the NasJob was created.", +"format": "google-datetime", +"readOnly": true, +"type": "string" +}, +"displayName": { +"description": "Required. The display name of the NasJob. The name can be up to 128 characters long and can consist of any UTF-8 characters.", +"type": "string" +}, +"enableRestrictedImageTraining": { +"deprecated": true, +"description": "Optional. Enable a separation of Custom model training and restricted image training for tenant project.", +"type": "boolean" +}, +"encryptionSpec": { +"$ref": "GoogleCloudAiplatformV1EncryptionSpec", +"description": "Customer-managed encryption key options for a NasJob. If this is set, then all resources created by the NasJob will be encrypted with the provided encryption key." +}, +"endTime": { +"description": "Output only. Time when the NasJob entered any of the following states: `JOB_STATE_SUCCEEDED`, `JOB_STATE_FAILED`, `JOB_STATE_CANCELLED`.", +"format": "google-datetime", +"readOnly": true, +"type": "string" +}, +"error": { +"$ref": "GoogleRpcStatus", +"description": "Output only. Only populated when job's state is JOB_STATE_FAILED or JOB_STATE_CANCELLED.", +"readOnly": true +}, +"labels": { +"additionalProperties": { +"type": "string" +}, +"description": "The labels with user-defined metadata to organize NasJobs. Label keys and values can be no longer than 64 characters (Unicode codepoints), can only contain lowercase letters, numeric characters, underscores and dashes. International characters are allowed. See https://goo.gl/xmQnxf for more information and examples of labels.", +"type": "object" +}, +"name": { +"description": "Output only. Resource name of the NasJob.", +"readOnly": true, +"type": "string" +}, +"nasJobOutput": { +"$ref": "GoogleCloudAiplatformV1NasJobOutput", +"description": "Output only. Output of the NasJob.", +"readOnly": true +}, +"nasJobSpec": { +"$ref": "GoogleCloudAiplatformV1NasJobSpec", +"description": "Required. The specification of a NasJob." +}, +"satisfiesPzi": { +"description": "Output only. Reserved for future use.", +"readOnly": true, +"type": "boolean" +}, +"satisfiesPzs": { +"description": "Output only. Reserved for future use.", +"readOnly": true, +"type": "boolean" +}, +"startTime": { +"description": "Output only. Time when the NasJob for the first time entered the `JOB_STATE_RUNNING` state.", +"format": "google-datetime", +"readOnly": true, +"type": "string" +}, +"state": { +"description": "Output only. The detailed state of the job.", +"enum": [ +"JOB_STATE_UNSPECIFIED", +"JOB_STATE_QUEUED", +"JOB_STATE_PENDING", +"JOB_STATE_RUNNING", +"JOB_STATE_SUCCEEDED", +"JOB_STATE_FAILED", +"JOB_STATE_CANCELLING", +"JOB_STATE_CANCELLED", +"JOB_STATE_PAUSED", +"JOB_STATE_EXPIRED", +"JOB_STATE_UPDATING", +"JOB_STATE_PARTIALLY_SUCCEEDED" +], +"enumDescriptions": [ +"The job state is unspecified.", +"The job has been just created or resumed and processing has not yet begun.", +"The service is preparing to run the job.", +"The job is in progress.", +"The job completed successfully.", +"The job failed.", +"The job is being cancelled. From this state the job may only go to either `JOB_STATE_SUCCEEDED`, `JOB_STATE_FAILED` or `JOB_STATE_CANCELLED`.", +"The job has been cancelled.", +"The job has been stopped, and can be resumed.", +"The job has expired.", +"The job is being updated. Only jobs in the `RUNNING` state can be updated. After updating, the job goes back to the `RUNNING` state.", +"The job is partially succeeded, some results may be missing due to errors." +], +"readOnly": true, +"type": "string" +}, +"updateTime": { +"description": "Output only. Time when the NasJob was most recently updated.", +"format": "google-datetime", +"readOnly": true, +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1NasJobOutput": { +"description": "Represents a uCAIP NasJob output.", +"id": "GoogleCloudAiplatformV1NasJobOutput", +"properties": { +"multiTrialJobOutput": { +"$ref": "GoogleCloudAiplatformV1NasJobOutputMultiTrialJobOutput", +"description": "Output only. The output of this multi-trial Neural Architecture Search (NAS) job.", +"readOnly": true +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1NasJobOutputMultiTrialJobOutput": { +"description": "The output of a multi-trial Neural Architecture Search (NAS) jobs.", +"id": "GoogleCloudAiplatformV1NasJobOutputMultiTrialJobOutput", +"properties": { +"searchTrials": { +"description": "Output only. List of NasTrials that were started as part of search stage.", +"items": { +"$ref": "GoogleCloudAiplatformV1NasTrial" +}, +"readOnly": true, +"type": "array" +}, +"trainTrials": { +"description": "Output only. List of NasTrials that were started as part of train stage.", +"items": { +"$ref": "GoogleCloudAiplatformV1NasTrial" +}, +"readOnly": true, +"type": "array" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1NasJobSpec": { +"description": "Represents the spec of a NasJob.", +"id": "GoogleCloudAiplatformV1NasJobSpec", +"properties": { +"multiTrialAlgorithmSpec": { +"$ref": "GoogleCloudAiplatformV1NasJobSpecMultiTrialAlgorithmSpec", +"description": "The spec of multi-trial algorithms." +}, +"resumeNasJobId": { +"description": "The ID of the existing NasJob in the same Project and Location which will be used to resume search. search_space_spec and nas_algorithm_spec are obtained from previous NasJob hence should not provide them again for this NasJob.", +"type": "string" +}, +"searchSpaceSpec": { +"description": "It defines the search space for Neural Architecture Search (NAS).", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1NasJobSpecMultiTrialAlgorithmSpec": { +"description": "The spec of multi-trial Neural Architecture Search (NAS).", +"id": "GoogleCloudAiplatformV1NasJobSpecMultiTrialAlgorithmSpec", +"properties": { +"metric": { +"$ref": "GoogleCloudAiplatformV1NasJobSpecMultiTrialAlgorithmSpecMetricSpec", +"description": "Metric specs for the NAS job. Validation for this field is done at `multi_trial_algorithm_spec` field." +}, +"multiTrialAlgorithm": { +"description": "The multi-trial Neural Architecture Search (NAS) algorithm type. Defaults to `REINFORCEMENT_LEARNING`.", +"enum": [ +"MULTI_TRIAL_ALGORITHM_UNSPECIFIED", +"REINFORCEMENT_LEARNING", +"GRID_SEARCH" +], +"enumDescriptions": [ +"Defaults to `REINFORCEMENT_LEARNING`.", +"The Reinforcement Learning Algorithm for Multi-trial Neural Architecture Search (NAS).", +"The Grid Search Algorithm for Multi-trial Neural Architecture Search (NAS)." +], +"type": "string" +}, +"searchTrialSpec": { +"$ref": "GoogleCloudAiplatformV1NasJobSpecMultiTrialAlgorithmSpecSearchTrialSpec", +"description": "Required. Spec for search trials." +}, +"trainTrialSpec": { +"$ref": "GoogleCloudAiplatformV1NasJobSpecMultiTrialAlgorithmSpecTrainTrialSpec", +"description": "Spec for train trials. Top N [TrainTrialSpec.max_parallel_trial_count] search trials will be trained for every M [TrainTrialSpec.frequency] trials searched." +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1NasJobSpecMultiTrialAlgorithmSpecMetricSpec": { +"description": "Represents a metric to optimize.", +"id": "GoogleCloudAiplatformV1NasJobSpecMultiTrialAlgorithmSpecMetricSpec", +"properties": { +"goal": { +"description": "Required. The optimization goal of the metric.", +"enum": [ +"GOAL_TYPE_UNSPECIFIED", +"MAXIMIZE", +"MINIMIZE" +], +"enumDescriptions": [ +"Goal Type will default to maximize.", +"Maximize the goal metric.", +"Minimize the goal metric." +], +"type": "string" +}, +"metricId": { +"description": "Required. The ID of the metric. Must not contain whitespaces.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1NasJobSpecMultiTrialAlgorithmSpecSearchTrialSpec": { +"description": "Represent spec for search trials.", +"id": "GoogleCloudAiplatformV1NasJobSpecMultiTrialAlgorithmSpecSearchTrialSpec", +"properties": { +"maxFailedTrialCount": { +"description": "The number of failed trials that need to be seen before failing the NasJob. If set to 0, Vertex AI decides how many trials must fail before the whole job fails.", +"format": "int32", +"type": "integer" +}, +"maxParallelTrialCount": { +"description": "Required. The maximum number of trials to run in parallel.", +"format": "int32", +"type": "integer" +}, +"maxTrialCount": { +"description": "Required. The maximum number of Neural Architecture Search (NAS) trials to run.", +"format": "int32", +"type": "integer" +}, +"searchTrialJobSpec": { +"$ref": "GoogleCloudAiplatformV1CustomJobSpec", +"description": "Required. The spec of a search trial job. The same spec applies to all search trials." +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1NasJobSpecMultiTrialAlgorithmSpecTrainTrialSpec": { +"description": "Represent spec for train trials.", +"id": "GoogleCloudAiplatformV1NasJobSpecMultiTrialAlgorithmSpecTrainTrialSpec", +"properties": { +"frequency": { +"description": "Required. Frequency of search trials to start train stage. Top N [TrainTrialSpec.max_parallel_trial_count] search trials will be trained for every M [TrainTrialSpec.frequency] trials searched.", +"format": "int32", +"type": "integer" +}, +"maxParallelTrialCount": { +"description": "Required. The maximum number of trials to run in parallel.", +"format": "int32", +"type": "integer" +}, +"trainTrialJobSpec": { +"$ref": "GoogleCloudAiplatformV1CustomJobSpec", +"description": "Required. The spec of a train trial job. The same spec applies to all train trials." +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1NasTrial": { +"description": "Represents a uCAIP NasJob trial.", +"id": "GoogleCloudAiplatformV1NasTrial", +"properties": { +"endTime": { +"description": "Output only. Time when the NasTrial's status changed to `SUCCEEDED` or `INFEASIBLE`.", +"format": "google-datetime", +"readOnly": true, +"type": "string" +}, +"finalMeasurement": { +"$ref": "GoogleCloudAiplatformV1Measurement", +"description": "Output only. The final measurement containing the objective value.", +"readOnly": true +}, +"id": { +"description": "Output only. The identifier of the NasTrial assigned by the service.", +"readOnly": true, +"type": "string" +}, +"startTime": { +"description": "Output only. Time when the NasTrial was started.", +"format": "google-datetime", +"readOnly": true, +"type": "string" +}, +"state": { +"description": "Output only. The detailed state of the NasTrial.", +"enum": [ +"STATE_UNSPECIFIED", +"REQUESTED", +"ACTIVE", +"STOPPING", +"SUCCEEDED", +"INFEASIBLE" +], +"enumDescriptions": [ +"The NasTrial state is unspecified.", +"Indicates that a specific NasTrial has been requested, but it has not yet been suggested by the service.", +"Indicates that the NasTrial has been suggested.", +"Indicates that the NasTrial should stop according to the service.", +"Indicates that the NasTrial is completed successfully.", +"Indicates that the NasTrial should not be attempted again. The service will set a NasTrial to INFEASIBLE when it's done but missing the final_measurement." +], +"readOnly": true, +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1NasTrialDetail": { +"description": "Represents a NasTrial details along with its parameters. If there is a corresponding train NasTrial, the train NasTrial is also returned.", +"id": "GoogleCloudAiplatformV1NasTrialDetail", +"properties": { +"name": { +"description": "Output only. Resource name of the NasTrialDetail.", +"readOnly": true, +"type": "string" +}, +"parameters": { +"description": "The parameters for the NasJob NasTrial.", +"type": "string" +}, +"searchTrial": { +"$ref": "GoogleCloudAiplatformV1NasTrial", +"description": "The requested search NasTrial." +}, +"trainTrial": { +"$ref": "GoogleCloudAiplatformV1NasTrial", +"description": "The train NasTrial corresponding to search_trial. Only populated if search_trial is used for training." +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1NearestNeighborQuery": { +"description": "A query to find a number of similar entities.", +"id": "GoogleCloudAiplatformV1NearestNeighborQuery", +"properties": { +"embedding": { +"$ref": "GoogleCloudAiplatformV1NearestNeighborQueryEmbedding", +"description": "Optional. The embedding vector that be used for similar search." +}, +"entityId": { +"description": "Optional. The entity id whose similar entities should be searched for. If embedding is set, search will use embedding instead of entity_id.", +"type": "string" +}, +"neighborCount": { +"description": "Optional. The number of similar entities to be retrieved from feature view for each query.", +"format": "int32", +"type": "integer" +}, +"numericFilters": { +"description": "Optional. The list of numeric filters.", +"items": { +"$ref": "GoogleCloudAiplatformV1NearestNeighborQueryNumericFilter" +}, +"type": "array" +}, +"parameters": { +"$ref": "GoogleCloudAiplatformV1NearestNeighborQueryParameters", +"description": "Optional. Parameters that can be set to tune query on the fly." +}, +"perCrowdingAttributeNeighborCount": { +"description": "Optional. Crowding is a constraint on a neighbor list produced by nearest neighbor search requiring that no more than sper_crowding_attribute_neighbor_count of the k neighbors returned have the same value of crowding_attribute. It's used for improving result diversity.", +"format": "int32", +"type": "integer" +}, +"stringFilters": { +"description": "Optional. The list of string filters.", +"items": { +"$ref": "GoogleCloudAiplatformV1NearestNeighborQueryStringFilter" +}, +"type": "array" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1NearestNeighborQueryEmbedding": { +"description": "The embedding vector.", +"id": "GoogleCloudAiplatformV1NearestNeighborQueryEmbedding", +"properties": { +"value": { +"description": "Optional. Individual value in the embedding.", +"items": { +"format": "float", +"type": "number" +}, +"type": "array" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1NearestNeighborQueryNumericFilter": { +"description": "Numeric filter is used to search a subset of the entities by using boolean rules on numeric columns. For example: Database Point 0: {name: \"a\" value_int: 42} {name: \"b\" value_float: 1.0} Database Point 1: {name: \"a\" value_int: 10} {name: \"b\" value_float: 2.0} Database Point 2: {name: \"a\" value_int: -1} {name: \"b\" value_float: 3.0} Query: {name: \"a\" value_int: 12 operator: LESS} // Matches Point 1, 2 {name: \"b\" value_float: 2.0 operator: EQUAL} // Matches Point 1", +"id": "GoogleCloudAiplatformV1NearestNeighborQueryNumericFilter", +"properties": { +"name": { +"description": "Required. Column name in BigQuery that used as filters.", +"type": "string" +}, +"op": { +"description": "Optional. This MUST be specified for queries and must NOT be specified for database points.", +"enum": [ +"OPERATOR_UNSPECIFIED", +"LESS", +"LESS_EQUAL", +"EQUAL", +"GREATER_EQUAL", +"GREATER", +"NOT_EQUAL" +], +"enumDescriptions": [ +"Unspecified operator.", +"Entities are eligible if their value is < the query's.", +"Entities are eligible if their value is <= the query's.", +"Entities are eligible if their value is == the query's.", +"Entities are eligible if their value is >= the query's.", +"Entities are eligible if their value is > the query's.", +"Entities are eligible if their value is != the query's." +], +"type": "string" +}, +"valueDouble": { +"description": "double value type.", +"format": "double", +"type": "number" +}, +"valueFloat": { +"description": "float value type.", +"format": "float", +"type": "number" +}, +"valueInt": { +"description": "int value type.", +"format": "int64", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1NearestNeighborQueryParameters": { +"description": "Parameters that can be overrided in each query to tune query latency and recall.", +"id": "GoogleCloudAiplatformV1NearestNeighborQueryParameters", +"properties": { +"approximateNeighborCandidates": { +"description": "Optional. The number of neighbors to find via approximate search before exact reordering is performed; if set, this value must be > neighbor_count.", +"format": "int32", +"type": "integer" +}, +"leafNodesSearchFraction": { +"description": "Optional. The fraction of the number of leaves to search, set at query time allows user to tune search performance. This value increase result in both search accuracy and latency increase. The value should be between 0.0 and 1.0.", +"format": "double", +"type": "number" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1NearestNeighborQueryStringFilter": { +"description": "String filter is used to search a subset of the entities by using boolean rules on string columns. For example: if a query specifies string filter with 'name = color, allow_tokens = {red, blue}, deny_tokens = {purple}',' then that query will match entities that are red or blue, but if those points are also purple, then they will be excluded even if they are red/blue. Only string filter is supported for now, numeric filter will be supported in the near future.", +"id": "GoogleCloudAiplatformV1NearestNeighborQueryStringFilter", +"properties": { +"allowTokens": { +"description": "Optional. The allowed tokens.", +"items": { +"type": "string" +}, +"type": "array" +}, +"denyTokens": { +"description": "Optional. The denied tokens.", +"items": { +"type": "string" +}, +"type": "array" +}, +"name": { +"description": "Required. Column names in BigQuery that used as filters.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1NearestNeighborSearchOperationMetadata": { +"description": "Runtime operation metadata with regard to Matching Engine Index.", +"id": "GoogleCloudAiplatformV1NearestNeighborSearchOperationMetadata", +"properties": { +"contentValidationStats": { +"description": "The validation stats of the content (per file) to be inserted or updated on the Matching Engine Index resource. Populated if contentsDeltaUri is provided as part of Index.metadata. Please note that, currently for those files that are broken or has unsupported file format, we will not have the stats for those files.", +"items": { +"$ref": "GoogleCloudAiplatformV1NearestNeighborSearchOperationMetadataContentValidationStats" +}, +"type": "array" +}, +"dataBytesCount": { +"description": "The ingested data size in bytes.", +"format": "int64", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1NearestNeighborSearchOperationMetadataContentValidationStats": { +"id": "GoogleCloudAiplatformV1NearestNeighborSearchOperationMetadataContentValidationStats", +"properties": { +"invalidRecordCount": { +"description": "Number of records in this file we skipped due to validate errors.", +"format": "int64", +"type": "string" +}, +"invalidSparseRecordCount": { +"description": "Number of sparse records in this file we skipped due to validate errors.", +"format": "int64", +"type": "string" +}, +"partialErrors": { +"description": "The detail information of the partial failures encountered for those invalid records that couldn't be parsed. Up to 50 partial errors will be reported.", +"items": { +"$ref": "GoogleCloudAiplatformV1NearestNeighborSearchOperationMetadataRecordError" +}, +"type": "array" +}, +"sourceGcsUri": { +"description": "Cloud Storage URI pointing to the original file in user's bucket.", +"type": "string" +}, +"validRecordCount": { +"description": "Number of records in this file that were successfully processed.", +"format": "int64", +"type": "string" +}, +"validSparseRecordCount": { +"description": "Number of sparse records in this file that were successfully processed.", +"format": "int64", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1NearestNeighborSearchOperationMetadataRecordError": { +"id": "GoogleCloudAiplatformV1NearestNeighborSearchOperationMetadataRecordError", +"properties": { +"embeddingId": { +"description": "Empty if the embedding id is failed to parse.", +"type": "string" +}, +"errorMessage": { +"description": "A human-readable message that is shown to the user to help them fix the error. Note that this message may change from time to time, your code should check against error_type as the source of truth.", +"type": "string" +}, +"errorType": { +"description": "The error type of this record.", +"enum": [ +"ERROR_TYPE_UNSPECIFIED", +"EMPTY_LINE", +"INVALID_JSON_SYNTAX", +"INVALID_CSV_SYNTAX", +"INVALID_AVRO_SYNTAX", +"INVALID_EMBEDDING_ID", +"EMBEDDING_SIZE_MISMATCH", +"NAMESPACE_MISSING", +"PARSING_ERROR", +"DUPLICATE_NAMESPACE", +"OP_IN_DATAPOINT", +"MULTIPLE_VALUES", +"INVALID_NUMERIC_VALUE", +"INVALID_ENCODING", +"INVALID_SPARSE_DIMENSIONS", +"INVALID_TOKEN_VALUE", +"INVALID_SPARSE_EMBEDDING", +"INVALID_EMBEDDING" +], +"enumDescriptions": [ +"Default, shall not be used.", +"The record is empty.", +"Invalid json format.", +"Invalid csv format.", +"Invalid avro format.", +"The embedding id is not valid.", +"The size of the dense embedding vectors does not match with the specified dimension.", +"The `namespace` field is missing.", +"Generic catch-all error. Only used for validation failure where the root cause cannot be easily retrieved programmatically.", +"There are multiple restricts with the same `namespace` value.", +"Numeric restrict has operator specified in datapoint.", +"Numeric restrict has multiple values specified.", +"Numeric restrict has invalid numeric value specified.", +"File is not in UTF_8 format.", +"Error parsing sparse dimensions field.", +"Token restrict value is invalid.", +"Invalid sparse embedding.", +"Invalid dense embedding." +], +"type": "string" +}, +"rawRecord": { +"description": "The original content of this record.", +"type": "string" +}, +"sourceGcsUri": { +"description": "Cloud Storage URI pointing to the original file in user's bucket.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1NearestNeighbors": { +"description": "Nearest neighbors for one query.", +"id": "GoogleCloudAiplatformV1NearestNeighbors", +"properties": { +"neighbors": { +"description": "All its neighbors.", +"items": { +"$ref": "GoogleCloudAiplatformV1NearestNeighborsNeighbor" +}, +"type": "array" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1NearestNeighborsNeighbor": { +"description": "A neighbor of the query vector.", +"id": "GoogleCloudAiplatformV1NearestNeighborsNeighbor", +"properties": { +"distance": { +"description": "The distance between the neighbor and the query vector.", +"format": "double", +"type": "number" +}, +"entityId": { +"description": "The id of the similar entity.", +"type": "string" +}, +"entityKeyValues": { +"$ref": "GoogleCloudAiplatformV1FetchFeatureValuesResponse", +"description": "The attributes of the neighbor, e.g. filters, crowding and metadata Note that full entities are returned only when \"return_full_entity\" is set to true. Otherwise, only the \"entity_id\" and \"distance\" fields are populated." +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1Neighbor": { +"description": "Neighbors for example-based explanations.", +"id": "GoogleCloudAiplatformV1Neighbor", +"properties": { +"neighborDistance": { +"description": "Output only. The neighbor distance.", +"format": "double", +"readOnly": true, +"type": "number" +}, +"neighborId": { +"description": "Output only. The neighbor id.", +"readOnly": true, +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1NetworkSpec": { +"description": "Network spec.", +"id": "GoogleCloudAiplatformV1NetworkSpec", +"properties": { +"enableInternetAccess": { +"description": "Whether to enable public internet access. Default false.", +"type": "boolean" +}, +"network": { +"description": "The full name of the Google Compute Engine [network](https://cloud.google.com//compute/docs/networks-and-firewalls#networks)", +"type": "string" +}, +"subnetwork": { +"description": "The name of the subnet that this instance is in. Format: `projects/{project_id_or_number}/regions/{region}/subnetworks/{subnetwork_id}`", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1NfsMount": { +"description": "Represents a mount configuration for Network File System (NFS) to mount.", +"id": "GoogleCloudAiplatformV1NfsMount", +"properties": { +"mountPoint": { +"description": "Required. Destination mount path. The NFS will be mounted for the user under /mnt/nfs/", +"type": "string" +}, +"path": { +"description": "Required. Source path exported from NFS server. Has to start with '/', and combined with the ip address, it indicates the source mount path in the form of `server:path`", +"type": "string" +}, +"server": { +"description": "Required. IP address of the NFS server.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1NotebookEucConfig": { +"description": "The euc configuration of NotebookRuntimeTemplate.", +"id": "GoogleCloudAiplatformV1NotebookEucConfig", +"properties": { +"bypassActasCheck": { +"description": "Output only. Whether ActAs check is bypassed for service account attached to the VM. If false, we need ActAs check for the default Compute Engine Service account. When a Runtime is created, a VM is allocated using Default Compute Engine Service Account. Any user requesting to use this Runtime requires Service Account User (ActAs) permission over this SA. If true, Runtime owner is using EUC and does not require the above permission as VM no longer use default Compute Engine SA, but a P4SA.", +"readOnly": true, +"type": "boolean" +}, +"eucDisabled": { +"description": "Input only. Whether EUC is disabled in this NotebookRuntimeTemplate. In proto3, the default value of a boolean is false. In this way, by default EUC will be enabled for NotebookRuntimeTemplate.", +"type": "boolean" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1NotebookExecutionJob": { +"description": "NotebookExecutionJob represents an instance of a notebook execution.", +"id": "GoogleCloudAiplatformV1NotebookExecutionJob", +"properties": { +"createTime": { +"description": "Output only. Timestamp when this NotebookExecutionJob was created.", +"format": "google-datetime", +"readOnly": true, +"type": "string" +}, +"customEnvironmentSpec": { +"$ref": "GoogleCloudAiplatformV1NotebookExecutionJobCustomEnvironmentSpec", +"description": "The custom compute configuration for an execution job." +}, +"dataformRepositorySource": { +"$ref": "GoogleCloudAiplatformV1NotebookExecutionJobDataformRepositorySource", +"description": "The Dataform Repository pointing to a single file notebook repository." +}, +"directNotebookSource": { +"$ref": "GoogleCloudAiplatformV1NotebookExecutionJobDirectNotebookSource", +"description": "The contents of an input notebook file." +}, +"displayName": { +"description": "The display name of the NotebookExecutionJob. The name can be up to 128 characters long and can consist of any UTF-8 characters.", +"type": "string" +}, +"encryptionSpec": { +"$ref": "GoogleCloudAiplatformV1EncryptionSpec", +"description": "Customer-managed encryption key spec for the notebook execution job. This field is auto-populated if the NotebookRuntimeTemplate has an encryption spec." +}, +"executionTimeout": { +"description": "Max running time of the execution job in seconds (default 86400s / 24 hrs).", +"format": "google-duration", +"type": "string" +}, +"executionUser": { +"description": "The user email to run the execution as. Only supported by Colab runtimes.", +"type": "string" +}, +"gcsNotebookSource": { +"$ref": "GoogleCloudAiplatformV1NotebookExecutionJobGcsNotebookSource", +"description": "The Cloud Storage url pointing to the ipynb file. Format: `gs://bucket/notebook_file.ipynb`" +}, +"gcsOutputUri": { +"description": "The Cloud Storage location to upload the result to. Format: `gs://bucket-name`", +"type": "string" +}, +"jobState": { +"description": "Output only. The state of the NotebookExecutionJob.", +"enum": [ +"JOB_STATE_UNSPECIFIED", +"JOB_STATE_QUEUED", +"JOB_STATE_PENDING", +"JOB_STATE_RUNNING", +"JOB_STATE_SUCCEEDED", +"JOB_STATE_FAILED", +"JOB_STATE_CANCELLING", +"JOB_STATE_CANCELLED", +"JOB_STATE_PAUSED", +"JOB_STATE_EXPIRED", +"JOB_STATE_UPDATING", +"JOB_STATE_PARTIALLY_SUCCEEDED" +], +"enumDescriptions": [ +"The job state is unspecified.", +"The job has been just created or resumed and processing has not yet begun.", +"The service is preparing to run the job.", +"The job is in progress.", +"The job completed successfully.", +"The job failed.", +"The job is being cancelled. From this state the job may only go to either `JOB_STATE_SUCCEEDED`, `JOB_STATE_FAILED` or `JOB_STATE_CANCELLED`.", +"The job has been cancelled.", +"The job has been stopped, and can be resumed.", +"The job has expired.", +"The job is being updated. Only jobs in the `RUNNING` state can be updated. After updating, the job goes back to the `RUNNING` state.", +"The job is partially succeeded, some results may be missing due to errors." +], +"readOnly": true, +"type": "string" +}, +"kernelName": { +"description": "The name of the kernel to use during notebook execution. If unset, the default kernel is used.", +"type": "string" +}, +"labels": { +"additionalProperties": { +"type": "string" +}, +"description": "The labels with user-defined metadata to organize NotebookExecutionJobs. Label keys and values can be no longer than 64 characters (Unicode codepoints), can only contain lowercase letters, numeric characters, underscores and dashes. International characters are allowed. See https://goo.gl/xmQnxf for more information and examples of labels. System reserved label keys are prefixed with \"aiplatform.googleapis.com/\" and are immutable.", +"type": "object" +}, +"name": { +"description": "Output only. The resource name of this NotebookExecutionJob. Format: `projects/{project_id}/locations/{location}/notebookExecutionJobs/{job_id}`", +"readOnly": true, +"type": "string" +}, +"notebookRuntimeTemplateResourceName": { +"description": "The NotebookRuntimeTemplate to source compute configuration from.", +"type": "string" +}, +"scheduleResourceName": { +"description": "Output only. The Schedule resource name if this job is triggered by one. Format: `projects/{project_id}/locations/{location}/schedules/{schedule_id}`", +"readOnly": true, +"type": "string" +}, +"serviceAccount": { +"description": "The service account to run the execution as.", +"type": "string" +}, +"status": { +"$ref": "GoogleRpcStatus", +"description": "Output only. Populated when the NotebookExecutionJob is completed. When there is an error during notebook execution, the error details are populated.", +"readOnly": true +}, +"updateTime": { +"description": "Output only. Timestamp when this NotebookExecutionJob was most recently updated.", +"format": "google-datetime", +"readOnly": true, +"type": "string" +}, +"workbenchRuntime": { +"$ref": "GoogleCloudAiplatformV1NotebookExecutionJobWorkbenchRuntime", +"description": "The Workbench runtime configuration to use for the notebook execution." +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1NotebookExecutionJobCustomEnvironmentSpec": { +"description": "Compute configuration to use for an execution job.", +"id": "GoogleCloudAiplatformV1NotebookExecutionJobCustomEnvironmentSpec", +"properties": { +"machineSpec": { +"$ref": "GoogleCloudAiplatformV1MachineSpec", +"description": "The specification of a single machine for the execution job." +}, +"networkSpec": { +"$ref": "GoogleCloudAiplatformV1NetworkSpec", +"description": "The network configuration to use for the execution job." +}, +"persistentDiskSpec": { +"$ref": "GoogleCloudAiplatformV1PersistentDiskSpec", +"description": "The specification of a persistent disk to attach for the execution job." +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1NotebookExecutionJobDataformRepositorySource": { +"description": "The Dataform Repository containing the input notebook.", +"id": "GoogleCloudAiplatformV1NotebookExecutionJobDataformRepositorySource", +"properties": { +"commitSha": { +"description": "The commit SHA to read repository with. If unset, the file will be read at HEAD.", +"type": "string" +}, +"dataformRepositoryResourceName": { +"description": "The resource name of the Dataform Repository. Format: `projects/{project_id}/locations/{location}/repositories/{repository_id}`", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1NotebookExecutionJobDirectNotebookSource": { +"description": "The content of the input notebook in ipynb format.", +"id": "GoogleCloudAiplatformV1NotebookExecutionJobDirectNotebookSource", +"properties": { +"content": { +"description": "The base64-encoded contents of the input notebook file.", +"format": "byte", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1NotebookExecutionJobGcsNotebookSource": { +"description": "The Cloud Storage uri for the input notebook.", +"id": "GoogleCloudAiplatformV1NotebookExecutionJobGcsNotebookSource", +"properties": { +"generation": { +"description": "The version of the Cloud Storage object to read. If unset, the current version of the object is read. See https://cloud.google.com/storage/docs/metadata#generation-number.", +"type": "string" +}, +"uri": { +"description": "The Cloud Storage uri pointing to the ipynb file. Format: `gs://bucket/notebook_file.ipynb`", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1NotebookExecutionJobWorkbenchRuntime": { +"description": "Configuration for a Workbench Instances-based environment.", +"id": "GoogleCloudAiplatformV1NotebookExecutionJobWorkbenchRuntime", +"properties": {}, +"type": "object" +}, +"GoogleCloudAiplatformV1NotebookIdleShutdownConfig": { +"description": "The idle shutdown configuration of NotebookRuntimeTemplate, which contains the idle_timeout as required field.", +"id": "GoogleCloudAiplatformV1NotebookIdleShutdownConfig", +"properties": { +"idleShutdownDisabled": { +"description": "Whether Idle Shutdown is disabled in this NotebookRuntimeTemplate.", +"type": "boolean" +}, +"idleTimeout": { +"description": "Required. Duration is accurate to the second. In Notebook, Idle Timeout is accurate to minute so the range of idle_timeout (second) is: 10 * 60 ~ 1440 * 60.", +"format": "google-duration", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1NotebookRuntime": { +"description": "A runtime is a virtual machine allocated to a particular user for a particular Notebook file on temporary basis with lifetime limited to 24 hours.", +"id": "GoogleCloudAiplatformV1NotebookRuntime", +"properties": { +"createTime": { +"description": "Output only. Timestamp when this NotebookRuntime was created.", +"format": "google-datetime", +"readOnly": true, +"type": "string" +}, +"dataPersistentDiskSpec": { +"$ref": "GoogleCloudAiplatformV1PersistentDiskSpec", +"description": "Output only. The specification of persistent disk attached to the notebook runtime as data disk storage.", +"readOnly": true +}, +"description": { +"description": "The description of the NotebookRuntime.", +"type": "string" +}, +"displayName": { +"description": "Required. The display name of the NotebookRuntime. The name can be up to 128 characters long and can consist of any UTF-8 characters.", +"type": "string" +}, +"encryptionSpec": { +"$ref": "GoogleCloudAiplatformV1EncryptionSpec", +"description": "Output only. Customer-managed encryption key spec for the notebook runtime.", +"readOnly": true +}, +"eucConfig": { +"$ref": "GoogleCloudAiplatformV1NotebookEucConfig", +"description": "Output only. EUC configuration of the notebook runtime.", +"readOnly": true +}, +"expirationTime": { +"description": "Output only. Timestamp when this NotebookRuntime will be expired: 1. System Predefined NotebookRuntime: 24 hours after creation. After expiration, system predifined runtime will be deleted. 2. User created NotebookRuntime: 6 months after last upgrade. After expiration, user created runtime will be stopped and allowed for upgrade.", +"format": "google-datetime", +"readOnly": true, +"type": "string" +}, +"healthState": { +"description": "Output only. The health state of the NotebookRuntime.", +"enum": [ +"HEALTH_STATE_UNSPECIFIED", +"HEALTHY", +"UNHEALTHY" +], +"enumDescriptions": [ +"Unspecified health state.", +"NotebookRuntime is in healthy state. Applies to ACTIVE state.", +"NotebookRuntime is in unhealthy state. Applies to ACTIVE state." +], +"readOnly": true, +"type": "string" +}, +"idleShutdownConfig": { +"$ref": "GoogleCloudAiplatformV1NotebookIdleShutdownConfig", +"description": "Output only. The idle shutdown configuration of the notebook runtime.", +"readOnly": true +}, +"isUpgradable": { +"description": "Output only. Whether NotebookRuntime is upgradable.", +"readOnly": true, +"type": "boolean" +}, +"labels": { +"additionalProperties": { +"type": "string" +}, +"description": "The labels with user-defined metadata to organize your NotebookRuntime. Label keys and values can be no longer than 64 characters (Unicode codepoints), can only contain lowercase letters, numeric characters, underscores and dashes. International characters are allowed. No more than 64 user labels can be associated with one NotebookRuntime (System labels are excluded). See https://goo.gl/xmQnxf for more information and examples of labels. System reserved label keys are prefixed with \"aiplatform.googleapis.com/\" and are immutable. Following system labels exist for NotebookRuntime: * \"aiplatform.googleapis.com/notebook_runtime_gce_instance_id\": output only, its value is the Compute Engine instance id. * \"aiplatform.googleapis.com/colab_enterprise_entry_service\": its value is either \"bigquery\" or \"vertex\"; if absent, it should be \"vertex\". This is to describe the entry service, either BigQuery or Vertex.", +"type": "object" +}, +"machineSpec": { +"$ref": "GoogleCloudAiplatformV1MachineSpec", +"description": "Output only. The specification of a single machine used by the notebook runtime.", +"readOnly": true +}, +"name": { +"description": "Output only. The resource name of the NotebookRuntime.", +"readOnly": true, +"type": "string" +}, +"networkSpec": { +"$ref": "GoogleCloudAiplatformV1NetworkSpec", +"description": "Output only. Network spec of the notebook runtime.", +"readOnly": true +}, +"networkTags": { +"description": "Optional. The Compute Engine tags to add to runtime (see [Tagging instances](https://cloud.google.com/vpc/docs/add-remove-network-tags)).", +"items": { +"type": "string" +}, +"type": "array" +}, +"notebookRuntimeTemplateRef": { +"$ref": "GoogleCloudAiplatformV1NotebookRuntimeTemplateRef", +"description": "Output only. The pointer to NotebookRuntimeTemplate this NotebookRuntime is created from.", +"readOnly": true +}, +"notebookRuntimeType": { +"description": "Output only. The type of the notebook runtime.", +"enum": [ +"NOTEBOOK_RUNTIME_TYPE_UNSPECIFIED", +"USER_DEFINED", +"ONE_CLICK" +], +"enumDescriptions": [ +"Unspecified notebook runtime type, NotebookRuntimeType will default to USER_DEFINED.", +"runtime or template with coustomized configurations from user.", +"runtime or template with system defined configurations." +], +"readOnly": true, +"type": "string" +}, +"proxyUri": { +"description": "Output only. The proxy endpoint used to access the NotebookRuntime.", +"readOnly": true, +"type": "string" +}, +"runtimeState": { +"description": "Output only. The runtime (instance) state of the NotebookRuntime.", +"enum": [ +"RUNTIME_STATE_UNSPECIFIED", +"RUNNING", +"BEING_STARTED", +"BEING_STOPPED", +"STOPPED", +"BEING_UPGRADED", +"ERROR", +"INVALID" +], +"enumDescriptions": [ +"Unspecified runtime state.", +"NotebookRuntime is in running state.", +"NotebookRuntime is in starting state.", +"NotebookRuntime is in stopping state.", +"NotebookRuntime is in stopped state.", +"NotebookRuntime is in upgrading state. It is in the middle of upgrading process.", +"NotebookRuntime was unable to start/stop properly.", +"NotebookRuntime is in invalid state. Cannot be recovered." +], +"readOnly": true, +"type": "string" +}, +"runtimeUser": { +"description": "Required. The user email of the NotebookRuntime.", +"type": "string" +}, +"satisfiesPzi": { +"description": "Output only. Reserved for future use.", +"readOnly": true, +"type": "boolean" +}, +"satisfiesPzs": { +"description": "Output only. Reserved for future use.", +"readOnly": true, +"type": "boolean" +}, +"serviceAccount": { +"description": "Output only. Deprecated: This field is no longer used and the \"Vertex AI Notebook Service Account\" (service-PROJECT_NUMBER@gcp-sa-aiplatform-vm.iam.gserviceaccount.com) is used for the runtime workload identity. See https://cloud.google.com/iam/docs/service-agents#vertex-ai-notebook-service-account for more details. The service account that the NotebookRuntime workload runs as.", +"readOnly": true, +"type": "string" +}, +"shieldedVmConfig": { +"$ref": "GoogleCloudAiplatformV1ShieldedVmConfig", +"description": "Output only. Runtime Shielded VM spec.", +"readOnly": true +}, +"updateTime": { +"description": "Output only. Timestamp when this NotebookRuntime was most recently updated.", +"format": "google-datetime", +"readOnly": true, +"type": "string" +}, +"version": { +"description": "Output only. The VM os image version of NotebookRuntime.", +"readOnly": true, +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1NotebookRuntimeTemplate": { +"description": "A template that specifies runtime configurations such as machine type, runtime version, network configurations, etc. Multiple runtimes can be created from a runtime template.", +"id": "GoogleCloudAiplatformV1NotebookRuntimeTemplate", +"properties": { +"createTime": { +"description": "Output only. Timestamp when this NotebookRuntimeTemplate was created.", +"format": "google-datetime", +"readOnly": true, +"type": "string" +}, +"dataPersistentDiskSpec": { +"$ref": "GoogleCloudAiplatformV1PersistentDiskSpec", +"description": "Optional. The specification of persistent disk attached to the runtime as data disk storage." +}, +"description": { +"description": "The description of the NotebookRuntimeTemplate.", +"type": "string" +}, +"displayName": { +"description": "Required. The display name of the NotebookRuntimeTemplate. The name can be up to 128 characters long and can consist of any UTF-8 characters.", +"type": "string" +}, +"encryptionSpec": { +"$ref": "GoogleCloudAiplatformV1EncryptionSpec", +"description": "Customer-managed encryption key spec for the notebook runtime." +}, +"etag": { +"description": "Used to perform consistent read-modify-write updates. If not set, a blind \"overwrite\" update happens.", +"type": "string" +}, +"eucConfig": { +"$ref": "GoogleCloudAiplatformV1NotebookEucConfig", +"description": "EUC configuration of the NotebookRuntimeTemplate." +}, +"idleShutdownConfig": { +"$ref": "GoogleCloudAiplatformV1NotebookIdleShutdownConfig", +"description": "The idle shutdown configuration of NotebookRuntimeTemplate. This config will only be set when idle shutdown is enabled." +}, +"isDefault": { +"deprecated": true, +"description": "Output only. Deprecated: This field has no behavior. Use notebook_runtime_type = 'ONE_CLICK' instead. The default template to use if not specified.", +"readOnly": true, +"type": "boolean" +}, +"labels": { +"additionalProperties": { +"type": "string" +}, +"description": "The labels with user-defined metadata to organize the NotebookRuntimeTemplates. Label keys and values can be no longer than 64 characters (Unicode codepoints), can only contain lowercase letters, numeric characters, underscores and dashes. International characters are allowed. See https://goo.gl/xmQnxf for more information and examples of labels.", +"type": "object" +}, +"machineSpec": { +"$ref": "GoogleCloudAiplatformV1MachineSpec", +"description": "Optional. Immutable. The specification of a single machine for the template." +}, +"name": { +"description": "The resource name of the NotebookRuntimeTemplate.", +"type": "string" +}, +"networkSpec": { +"$ref": "GoogleCloudAiplatformV1NetworkSpec", +"description": "Optional. Network spec." +}, +"networkTags": { +"description": "Optional. The Compute Engine tags to add to runtime (see [Tagging instances](https://cloud.google.com/vpc/docs/add-remove-network-tags)).", +"items": { +"type": "string" +}, +"type": "array" +}, +"notebookRuntimeType": { +"description": "Optional. Immutable. The type of the notebook runtime template.", +"enum": [ +"NOTEBOOK_RUNTIME_TYPE_UNSPECIFIED", +"USER_DEFINED", +"ONE_CLICK" +], +"enumDescriptions": [ +"Unspecified notebook runtime type, NotebookRuntimeType will default to USER_DEFINED.", +"runtime or template with coustomized configurations from user.", +"runtime or template with system defined configurations." +], +"type": "string" +}, +"serviceAccount": { +"deprecated": true, +"description": "Deprecated: This field is ignored and the \"Vertex AI Notebook Service Account\" (service-PROJECT_NUMBER@gcp-sa-aiplatform-vm.iam.gserviceaccount.com) is used for the runtime workload identity. See https://cloud.google.com/iam/docs/service-agents#vertex-ai-notebook-service-account for more details. For NotebookExecutionJob, use NotebookExecutionJob.service_account instead. The service account that the runtime workload runs as. You can use any service account within the same project, but you must have the service account user permission to use the instance. If not specified, the [Compute Engine default service account](https://cloud.google.com/compute/docs/access/service-accounts#default_service_account) is used.", +"type": "string" +}, +"shieldedVmConfig": { +"$ref": "GoogleCloudAiplatformV1ShieldedVmConfig", +"description": "Optional. Immutable. Runtime Shielded VM spec." +}, +"updateTime": { +"description": "Output only. Timestamp when this NotebookRuntimeTemplate was most recently updated.", +"format": "google-datetime", +"readOnly": true, +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1NotebookRuntimeTemplateRef": { +"description": "Points to a NotebookRuntimeTemplateRef.", +"id": "GoogleCloudAiplatformV1NotebookRuntimeTemplateRef", +"properties": { +"notebookRuntimeTemplate": { +"description": "Immutable. A resource name of the NotebookRuntimeTemplate.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1PSCAutomationConfig": { +"description": "PSC config that is used to automatically create forwarding rule via ServiceConnectionMap.", +"id": "GoogleCloudAiplatformV1PSCAutomationConfig", +"properties": { +"network": { +"description": "Required. The full name of the Google Compute Engine [network](https://cloud.google.com/compute/docs/networks-and-firewalls#networks). [Format](https://cloud.google.com/compute/docs/reference/rest/v1/networks/insert): `projects/{project}/global/networks/{network}`. Where {project} is a project number, as in '12345', and {network} is network name.", +"type": "string" +}, +"projectId": { +"description": "Required. Project id used to create forwarding rule.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1PairwiseMetricInput": { +"description": "Input for pairwise metric.", +"id": "GoogleCloudAiplatformV1PairwiseMetricInput", +"properties": { +"instance": { +"$ref": "GoogleCloudAiplatformV1PairwiseMetricInstance", +"description": "Required. Pairwise metric instance." +}, +"metricSpec": { +"$ref": "GoogleCloudAiplatformV1PairwiseMetricSpec", +"description": "Required. Spec for pairwise metric." +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1PairwiseMetricInstance": { +"description": "Pairwise metric instance. Usually one instance corresponds to one row in an evaluation dataset.", +"id": "GoogleCloudAiplatformV1PairwiseMetricInstance", +"properties": { +"jsonInstance": { +"description": "Instance specified as a json string. String key-value pairs are expected in the json_instance to render PairwiseMetricSpec.instance_prompt_template.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1PairwiseMetricResult": { +"description": "Spec for pairwise metric result.", +"id": "GoogleCloudAiplatformV1PairwiseMetricResult", +"properties": { +"explanation": { +"description": "Output only. Explanation for pairwise metric score.", +"readOnly": true, +"type": "string" +}, +"pairwiseChoice": { +"description": "Output only. Pairwise metric choice.", +"enum": [ +"PAIRWISE_CHOICE_UNSPECIFIED", +"BASELINE", +"CANDIDATE", +"TIE" +], +"enumDescriptions": [ +"Unspecified prediction choice.", +"Baseline prediction wins", +"Candidate prediction wins", +"Winner cannot be determined" +], +"readOnly": true, +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1PairwiseMetricSpec": { +"description": "Spec for pairwise metric.", +"id": "GoogleCloudAiplatformV1PairwiseMetricSpec", +"properties": { +"metricPromptTemplate": { +"description": "Required. Metric prompt template for pairwise metric.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1PairwiseQuestionAnsweringQualityInput": { +"description": "Input for pairwise question answering quality metric.", +"id": "GoogleCloudAiplatformV1PairwiseQuestionAnsweringQualityInput", +"properties": { +"instance": { +"$ref": "GoogleCloudAiplatformV1PairwiseQuestionAnsweringQualityInstance", +"description": "Required. Pairwise question answering quality instance." +}, +"metricSpec": { +"$ref": "GoogleCloudAiplatformV1PairwiseQuestionAnsweringQualitySpec", +"description": "Required. Spec for pairwise question answering quality score metric." +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1PairwiseQuestionAnsweringQualityInstance": { +"description": "Spec for pairwise question answering quality instance.", +"id": "GoogleCloudAiplatformV1PairwiseQuestionAnsweringQualityInstance", +"properties": { +"baselinePrediction": { +"description": "Required. Output of the baseline model.", +"type": "string" +}, +"context": { +"description": "Required. Text to answer the question.", +"type": "string" +}, +"instruction": { +"description": "Required. Question Answering prompt for LLM.", +"type": "string" +}, +"prediction": { +"description": "Required. Output of the candidate model.", +"type": "string" +}, +"reference": { +"description": "Optional. Ground truth used to compare against the prediction.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1PairwiseQuestionAnsweringQualityResult": { +"description": "Spec for pairwise question answering quality result.", +"id": "GoogleCloudAiplatformV1PairwiseQuestionAnsweringQualityResult", +"properties": { +"confidence": { +"description": "Output only. Confidence for question answering quality score.", +"format": "float", +"readOnly": true, +"type": "number" +}, +"explanation": { +"description": "Output only. Explanation for question answering quality score.", +"readOnly": true, +"type": "string" +}, +"pairwiseChoice": { +"description": "Output only. Pairwise question answering prediction choice.", +"enum": [ +"PAIRWISE_CHOICE_UNSPECIFIED", +"BASELINE", +"CANDIDATE", +"TIE" +], +"enumDescriptions": [ +"Unspecified prediction choice.", +"Baseline prediction wins", +"Candidate prediction wins", +"Winner cannot be determined" +], +"readOnly": true, +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1PairwiseQuestionAnsweringQualitySpec": { +"description": "Spec for pairwise question answering quality score metric.", +"id": "GoogleCloudAiplatformV1PairwiseQuestionAnsweringQualitySpec", +"properties": { +"useReference": { +"description": "Optional. Whether to use instance.reference to compute question answering quality.", +"type": "boolean" +}, +"version": { +"description": "Optional. Which version to use for evaluation.", +"format": "int32", +"type": "integer" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1PairwiseSummarizationQualityInput": { +"description": "Input for pairwise summarization quality metric.", +"id": "GoogleCloudAiplatformV1PairwiseSummarizationQualityInput", +"properties": { +"instance": { +"$ref": "GoogleCloudAiplatformV1PairwiseSummarizationQualityInstance", +"description": "Required. Pairwise summarization quality instance." +}, +"metricSpec": { +"$ref": "GoogleCloudAiplatformV1PairwiseSummarizationQualitySpec", +"description": "Required. Spec for pairwise summarization quality score metric." +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1PairwiseSummarizationQualityInstance": { +"description": "Spec for pairwise summarization quality instance.", +"id": "GoogleCloudAiplatformV1PairwiseSummarizationQualityInstance", +"properties": { +"baselinePrediction": { +"description": "Required. Output of the baseline model.", +"type": "string" +}, +"context": { +"description": "Required. Text to be summarized.", +"type": "string" +}, +"instruction": { +"description": "Required. Summarization prompt for LLM.", +"type": "string" +}, +"prediction": { +"description": "Required. Output of the candidate model.", +"type": "string" +}, +"reference": { +"description": "Optional. Ground truth used to compare against the prediction.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1PairwiseSummarizationQualityResult": { +"description": "Spec for pairwise summarization quality result.", +"id": "GoogleCloudAiplatformV1PairwiseSummarizationQualityResult", +"properties": { +"confidence": { +"description": "Output only. Confidence for summarization quality score.", +"format": "float", +"readOnly": true, +"type": "number" +}, +"explanation": { +"description": "Output only. Explanation for summarization quality score.", +"readOnly": true, +"type": "string" +}, +"pairwiseChoice": { +"description": "Output only. Pairwise summarization prediction choice.", +"enum": [ +"PAIRWISE_CHOICE_UNSPECIFIED", +"BASELINE", +"CANDIDATE", +"TIE" +], +"enumDescriptions": [ +"Unspecified prediction choice.", +"Baseline prediction wins", +"Candidate prediction wins", +"Winner cannot be determined" +], +"readOnly": true, +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1PairwiseSummarizationQualitySpec": { +"description": "Spec for pairwise summarization quality score metric.", +"id": "GoogleCloudAiplatformV1PairwiseSummarizationQualitySpec", +"properties": { +"useReference": { +"description": "Optional. Whether to use instance.reference to compute pairwise summarization quality.", +"type": "boolean" +}, +"version": { +"description": "Optional. Which version to use for evaluation.", +"format": "int32", +"type": "integer" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1Part": { +"description": "A datatype containing media that is part of a multi-part `Content` message. A `Part` consists of data which has an associated datatype. A `Part` can only contain one of the accepted types in `Part.data`. A `Part` must have a fixed IANA MIME type identifying the type and subtype of the media if `inline_data` or `file_data` field is filled with raw bytes.", +"id": "GoogleCloudAiplatformV1Part", +"properties": { +"fileData": { +"$ref": "GoogleCloudAiplatformV1FileData", +"description": "Optional. URI based data." +}, +"functionCall": { +"$ref": "GoogleCloudAiplatformV1FunctionCall", +"description": "Optional. A predicted [FunctionCall] returned from the model that contains a string representing the [FunctionDeclaration.name] with the parameters and their values." +}, +"functionResponse": { +"$ref": "GoogleCloudAiplatformV1FunctionResponse", +"description": "Optional. The result output of a [FunctionCall] that contains a string representing the [FunctionDeclaration.name] and a structured JSON object containing any output from the function call. It is used as context to the model." +}, +"inlineData": { +"$ref": "GoogleCloudAiplatformV1Blob", +"description": "Optional. Inlined bytes data." +}, +"text": { +"description": "Optional. Text part (can be code).", +"type": "string" +}, +"videoMetadata": { +"$ref": "GoogleCloudAiplatformV1VideoMetadata", +"description": "Optional. Video metadata. The metadata should only be specified while the video data is presented in inline_data or file_data." +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1PauseModelDeploymentMonitoringJobRequest": { +"description": "Request message for JobService.PauseModelDeploymentMonitoringJob.", +"id": "GoogleCloudAiplatformV1PauseModelDeploymentMonitoringJobRequest", +"properties": {}, +"type": "object" +}, +"GoogleCloudAiplatformV1PauseScheduleRequest": { +"description": "Request message for ScheduleService.PauseSchedule.", +"id": "GoogleCloudAiplatformV1PauseScheduleRequest", +"properties": {}, +"type": "object" +}, +"GoogleCloudAiplatformV1PersistentDiskSpec": { +"description": "Represents the spec of persistent disk options.", +"id": "GoogleCloudAiplatformV1PersistentDiskSpec", +"properties": { +"diskSizeGb": { +"description": "Size in GB of the disk (default is 100GB).", +"format": "int64", +"type": "string" +}, +"diskType": { +"description": "Type of the disk (default is \"pd-standard\"). Valid values: \"pd-ssd\" (Persistent Disk Solid State Drive) \"pd-standard\" (Persistent Disk Hard Disk Drive) \"pd-balanced\" (Balanced Persistent Disk) \"pd-extreme\" (Extreme Persistent Disk)", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1PersistentResource": { +"description": "Represents long-lasting resources that are dedicated to users to runs custom workloads. A PersistentResource can have multiple node pools and each node pool can have its own machine spec.", +"id": "GoogleCloudAiplatformV1PersistentResource", +"properties": { +"createTime": { +"description": "Output only. Time when the PersistentResource was created.", +"format": "google-datetime", +"readOnly": true, +"type": "string" +}, +"displayName": { +"description": "Optional. The display name of the PersistentResource. The name can be up to 128 characters long and can consist of any UTF-8 characters.", +"type": "string" +}, +"encryptionSpec": { +"$ref": "GoogleCloudAiplatformV1EncryptionSpec", +"description": "Optional. Customer-managed encryption key spec for a PersistentResource. If set, this PersistentResource and all sub-resources of this PersistentResource will be secured by this key." +}, +"error": { +"$ref": "GoogleRpcStatus", +"description": "Output only. Only populated when persistent resource's state is `STOPPING` or `ERROR`.", +"readOnly": true +}, +"labels": { +"additionalProperties": { +"type": "string" +}, +"description": "Optional. The labels with user-defined metadata to organize PersistentResource. Label keys and values can be no longer than 64 characters (Unicode codepoints), can only contain lowercase letters, numeric characters, underscores and dashes. International characters are allowed. See https://goo.gl/xmQnxf for more information and examples of labels.", +"type": "object" +}, +"name": { +"description": "Immutable. Resource name of a PersistentResource.", +"type": "string" +}, +"network": { +"description": "Optional. The full name of the Compute Engine [network](/compute/docs/networks-and-firewalls#networks) to peered with Vertex AI to host the persistent resources. For example, `projects/12345/global/networks/myVPC`. [Format](/compute/docs/reference/rest/v1/networks/insert) is of the form `projects/{project}/global/networks/{network}`. Where {project} is a project number, as in `12345`, and {network} is a network name. To specify this field, you must have already [configured VPC Network Peering for Vertex AI](https://cloud.google.com/vertex-ai/docs/general/vpc-peering). If this field is left unspecified, the resources aren't peered with any network.", +"type": "string" +}, +"reservedIpRanges": { +"description": "Optional. A list of names for the reserved IP ranges under the VPC network that can be used for this persistent resource. If set, we will deploy the persistent resource within the provided IP ranges. Otherwise, the persistent resource is deployed to any IP ranges under the provided VPC network. Example: ['vertex-ai-ip-range'].", +"items": { +"type": "string" +}, +"type": "array" +}, +"resourcePools": { +"description": "Required. The spec of the pools of different resources.", +"items": { +"$ref": "GoogleCloudAiplatformV1ResourcePool" +}, +"type": "array" +}, +"resourceRuntime": { +"$ref": "GoogleCloudAiplatformV1ResourceRuntime", +"description": "Output only. Runtime information of the Persistent Resource.", +"readOnly": true +}, +"resourceRuntimeSpec": { +"$ref": "GoogleCloudAiplatformV1ResourceRuntimeSpec", +"description": "Optional. Persistent Resource runtime spec. For example, used for Ray cluster configuration." +}, +"satisfiesPzi": { +"description": "Output only. Reserved for future use.", +"readOnly": true, +"type": "boolean" +}, +"satisfiesPzs": { +"description": "Output only. Reserved for future use.", +"readOnly": true, +"type": "boolean" +}, +"startTime": { +"description": "Output only. Time when the PersistentResource for the first time entered the `RUNNING` state.", +"format": "google-datetime", +"readOnly": true, +"type": "string" +}, +"state": { +"description": "Output only. The detailed state of a Study.", +"enum": [ +"STATE_UNSPECIFIED", +"PROVISIONING", +"RUNNING", +"STOPPING", +"ERROR", +"REBOOTING", +"UPDATING" +], +"enumDescriptions": [ +"Not set.", +"The PROVISIONING state indicates the persistent resources is being created.", +"The RUNNING state indicates the persistent resource is healthy and fully usable.", +"The STOPPING state indicates the persistent resource is being deleted.", +"The ERROR state indicates the persistent resource may be unusable. Details can be found in the `error` field.", +"The REBOOTING state indicates the persistent resource is being rebooted (PR is not available right now but is expected to be ready again later).", +"The UPDATING state indicates the persistent resource is being updated." +], +"readOnly": true, +"type": "string" +}, +"updateTime": { +"description": "Output only. Time when the PersistentResource was most recently updated.", +"format": "google-datetime", +"readOnly": true, +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1PipelineJob": { +"description": "An instance of a machine learning PipelineJob.", +"id": "GoogleCloudAiplatformV1PipelineJob", +"properties": { +"createTime": { +"description": "Output only. Pipeline creation time.", +"format": "google-datetime", +"readOnly": true, +"type": "string" +}, +"displayName": { +"description": "The display name of the Pipeline. The name can be up to 128 characters long and can consist of any UTF-8 characters.", +"type": "string" +}, +"encryptionSpec": { +"$ref": "GoogleCloudAiplatformV1EncryptionSpec", +"description": "Customer-managed encryption key spec for a pipelineJob. If set, this PipelineJob and all of its sub-resources will be secured by this key." +}, +"endTime": { +"description": "Output only. Pipeline end time.", +"format": "google-datetime", +"readOnly": true, +"type": "string" +}, +"error": { +"$ref": "GoogleRpcStatus", +"description": "Output only. The error that occurred during pipeline execution. Only populated when the pipeline's state is FAILED or CANCELLED.", +"readOnly": true +}, +"jobDetail": { +"$ref": "GoogleCloudAiplatformV1PipelineJobDetail", +"description": "Output only. The details of pipeline run. Not available in the list view.", +"readOnly": true +}, +"labels": { +"additionalProperties": { +"type": "string" +}, +"description": "The labels with user-defined metadata to organize PipelineJob. Label keys and values can be no longer than 64 characters (Unicode codepoints), can only contain lowercase letters, numeric characters, underscores and dashes. International characters are allowed. See https://goo.gl/xmQnxf for more information and examples of labels. Note there is some reserved label key for Vertex AI Pipelines. - `vertex-ai-pipelines-run-billing-id`, user set value will get overrided.", +"type": "object" +}, +"name": { +"description": "Output only. The resource name of the PipelineJob.", +"readOnly": true, +"type": "string" +}, +"network": { +"description": "The full name of the Compute Engine [network](/compute/docs/networks-and-firewalls#networks) to which the Pipeline Job's workload should be peered. For example, `projects/12345/global/networks/myVPC`. [Format](/compute/docs/reference/rest/v1/networks/insert) is of the form `projects/{project}/global/networks/{network}`. Where {project} is a project number, as in `12345`, and {network} is a network name. Private services access must already be configured for the network. Pipeline job will apply the network configuration to the Google Cloud resources being launched, if applied, such as Vertex AI Training or Dataflow job. If left unspecified, the workload is not peered with any network.", +"type": "string" +}, +"pipelineSpec": { +"additionalProperties": { +"description": "Properties of the object.", +"type": "any" +}, +"description": "The spec of the pipeline.", +"type": "object" +}, +"preflightValidations": { +"description": "Optional. Whether to do component level validations before job creation.", +"type": "boolean" +}, +"reservedIpRanges": { +"description": "A list of names for the reserved ip ranges under the VPC network that can be used for this Pipeline Job's workload. If set, we will deploy the Pipeline Job's workload within the provided ip ranges. Otherwise, the job will be deployed to any ip ranges under the provided VPC network. Example: ['vertex-ai-ip-range'].", +"items": { +"type": "string" +}, +"type": "array" +}, +"runtimeConfig": { +"$ref": "GoogleCloudAiplatformV1PipelineJobRuntimeConfig", +"description": "Runtime config of the pipeline." +}, +"scheduleName": { +"description": "Output only. The schedule resource name. Only returned if the Pipeline is created by Schedule API.", +"readOnly": true, +"type": "string" +}, +"serviceAccount": { +"description": "The service account that the pipeline workload runs as. If not specified, the Compute Engine default service account in the project will be used. See https://cloud.google.com/compute/docs/access/service-accounts#default_service_account Users starting the pipeline must have the `iam.serviceAccounts.actAs` permission on this service account.", +"type": "string" +}, +"startTime": { +"description": "Output only. Pipeline start time.", +"format": "google-datetime", +"readOnly": true, +"type": "string" +}, +"state": { +"description": "Output only. The detailed state of the job.", +"enum": [ +"PIPELINE_STATE_UNSPECIFIED", +"PIPELINE_STATE_QUEUED", +"PIPELINE_STATE_PENDING", +"PIPELINE_STATE_RUNNING", +"PIPELINE_STATE_SUCCEEDED", +"PIPELINE_STATE_FAILED", +"PIPELINE_STATE_CANCELLING", +"PIPELINE_STATE_CANCELLED", +"PIPELINE_STATE_PAUSED" +], +"enumDescriptions": [ +"The pipeline state is unspecified.", +"The pipeline has been created or resumed, and processing has not yet begun.", +"The service is preparing to run the pipeline.", +"The pipeline is in progress.", +"The pipeline completed successfully.", +"The pipeline failed.", +"The pipeline is being cancelled. From this state, the pipeline may only go to either PIPELINE_STATE_SUCCEEDED, PIPELINE_STATE_FAILED or PIPELINE_STATE_CANCELLED.", +"The pipeline has been cancelled.", +"The pipeline has been stopped, and can be resumed." +], +"readOnly": true, +"type": "string" +}, +"templateMetadata": { +"$ref": "GoogleCloudAiplatformV1PipelineTemplateMetadata", +"description": "Output only. Pipeline template metadata. Will fill up fields if PipelineJob.template_uri is from supported template registry.", +"readOnly": true +}, +"templateUri": { +"description": "A template uri from where the PipelineJob.pipeline_spec, if empty, will be downloaded. Currently, only uri from Vertex Template Registry & Gallery is supported. Reference to https://cloud.google.com/vertex-ai/docs/pipelines/create-pipeline-template.", +"type": "string" +}, +"updateTime": { +"description": "Output only. Timestamp when this PipelineJob was most recently updated.", +"format": "google-datetime", +"readOnly": true, +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1PipelineJobDetail": { +"description": "The runtime detail of PipelineJob.", +"id": "GoogleCloudAiplatformV1PipelineJobDetail", +"properties": { +"pipelineContext": { +"$ref": "GoogleCloudAiplatformV1Context", +"description": "Output only. The context of the pipeline.", +"readOnly": true +}, +"pipelineRunContext": { +"$ref": "GoogleCloudAiplatformV1Context", +"description": "Output only. The context of the current pipeline run.", +"readOnly": true +}, +"taskDetails": { +"description": "Output only. The runtime details of the tasks under the pipeline.", +"items": { +"$ref": "GoogleCloudAiplatformV1PipelineTaskDetail" +}, +"readOnly": true, +"type": "array" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1PipelineJobRuntimeConfig": { +"description": "The runtime config of a PipelineJob.", +"id": "GoogleCloudAiplatformV1PipelineJobRuntimeConfig", +"properties": { +"failurePolicy": { +"description": "Represents the failure policy of a pipeline. Currently, the default of a pipeline is that the pipeline will continue to run until no more tasks can be executed, also known as PIPELINE_FAILURE_POLICY_FAIL_SLOW. However, if a pipeline is set to PIPELINE_FAILURE_POLICY_FAIL_FAST, it will stop scheduling any new tasks when a task has failed. Any scheduled tasks will continue to completion.", +"enum": [ +"PIPELINE_FAILURE_POLICY_UNSPECIFIED", +"PIPELINE_FAILURE_POLICY_FAIL_SLOW", +"PIPELINE_FAILURE_POLICY_FAIL_FAST" +], +"enumDescriptions": [ +"Default value, and follows fail slow behavior.", +"Indicates that the pipeline should continue to run until all possible tasks have been scheduled and completed.", +"Indicates that the pipeline should stop scheduling new tasks after a task has failed." +], +"type": "string" +}, +"gcsOutputDirectory": { +"description": "Required. A path in a Cloud Storage bucket, which will be treated as the root output directory of the pipeline. It is used by the system to generate the paths of output artifacts. The artifact paths are generated with a sub-path pattern `{job_id}/{task_id}/{output_key}` under the specified output directory. The service account specified in this pipeline must have the `storage.objects.get` and `storage.objects.create` permissions for this bucket.", +"type": "string" +}, +"inputArtifacts": { +"additionalProperties": { +"$ref": "GoogleCloudAiplatformV1PipelineJobRuntimeConfigInputArtifact" +}, +"description": "The runtime artifacts of the PipelineJob. The key will be the input artifact name and the value would be one of the InputArtifact.", +"type": "object" +}, +"parameterValues": { +"additionalProperties": { +"type": "any" +}, +"description": "The runtime parameters of the PipelineJob. The parameters will be passed into PipelineJob.pipeline_spec to replace the placeholders at runtime. This field is used by pipelines built using `PipelineJob.pipeline_spec.schema_version` 2.1.0, such as pipelines built using Kubeflow Pipelines SDK 1.9 or higher and the v2 DSL.", +"type": "object" +}, +"parameters": { +"additionalProperties": { +"$ref": "GoogleCloudAiplatformV1Value" +}, +"deprecated": true, +"description": "Deprecated. Use RuntimeConfig.parameter_values instead. The runtime parameters of the PipelineJob. The parameters will be passed into PipelineJob.pipeline_spec to replace the placeholders at runtime. This field is used by pipelines built using `PipelineJob.pipeline_spec.schema_version` 2.0.0 or lower, such as pipelines built using Kubeflow Pipelines SDK 1.8 or lower.", +"type": "object" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1PipelineJobRuntimeConfigInputArtifact": { +"description": "The type of an input artifact.", +"id": "GoogleCloudAiplatformV1PipelineJobRuntimeConfigInputArtifact", +"properties": { +"artifactId": { +"description": "Artifact resource id from MLMD. Which is the last portion of an artifact resource name: `projects/{project}/locations/{location}/metadataStores/default/artifacts/{artifact_id}`. The artifact must stay within the same project, location and default metadatastore as the pipeline.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1PipelineTaskDetail": { +"description": "The runtime detail of a task execution.", +"id": "GoogleCloudAiplatformV1PipelineTaskDetail", +"properties": { +"createTime": { +"description": "Output only. Task create time.", +"format": "google-datetime", +"readOnly": true, +"type": "string" +}, +"endTime": { +"description": "Output only. Task end time.", +"format": "google-datetime", +"readOnly": true, +"type": "string" +}, +"error": { +"$ref": "GoogleRpcStatus", +"description": "Output only. The error that occurred during task execution. Only populated when the task's state is FAILED or CANCELLED.", +"readOnly": true +}, +"execution": { +"$ref": "GoogleCloudAiplatformV1Execution", +"description": "Output only. The execution metadata of the task.", +"readOnly": true +}, +"executorDetail": { +"$ref": "GoogleCloudAiplatformV1PipelineTaskExecutorDetail", +"description": "Output only. The detailed execution info.", +"readOnly": true +}, +"inputs": { +"additionalProperties": { +"$ref": "GoogleCloudAiplatformV1PipelineTaskDetailArtifactList" +}, +"description": "Output only. The runtime input artifacts of the task.", +"readOnly": true, +"type": "object" +}, +"outputs": { +"additionalProperties": { +"$ref": "GoogleCloudAiplatformV1PipelineTaskDetailArtifactList" +}, +"description": "Output only. The runtime output artifacts of the task.", +"readOnly": true, +"type": "object" +}, +"parentTaskId": { +"description": "Output only. The id of the parent task if the task is within a component scope. Empty if the task is at the root level.", +"format": "int64", +"readOnly": true, +"type": "string" +}, +"pipelineTaskStatus": { +"description": "Output only. A list of task status. This field keeps a record of task status evolving over time.", +"items": { +"$ref": "GoogleCloudAiplatformV1PipelineTaskDetailPipelineTaskStatus" +}, +"readOnly": true, +"type": "array" +}, +"startTime": { +"description": "Output only. Task start time.", +"format": "google-datetime", +"readOnly": true, +"type": "string" +}, +"state": { +"description": "Output only. State of the task.", +"enum": [ +"STATE_UNSPECIFIED", +"PENDING", +"RUNNING", +"SUCCEEDED", +"CANCEL_PENDING", +"CANCELLING", +"CANCELLED", +"FAILED", +"SKIPPED", +"NOT_TRIGGERED" +], +"enumDescriptions": [ +"Unspecified.", +"Specifies pending state for the task.", +"Specifies task is being executed.", +"Specifies task completed successfully.", +"Specifies Task cancel is in pending state.", +"Specifies task is being cancelled.", +"Specifies task was cancelled.", +"Specifies task failed.", +"Specifies task was skipped due to cache hit.", +"Specifies that the task was not triggered because the task's trigger policy is not satisfied. The trigger policy is specified in the `condition` field of PipelineJob.pipeline_spec." +], +"readOnly": true, +"type": "string" +}, +"taskId": { +"description": "Output only. The system generated ID of the task.", +"format": "int64", +"readOnly": true, +"type": "string" +}, +"taskName": { +"description": "Output only. The user specified name of the task that is defined in pipeline_spec.", +"readOnly": true, +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1PipelineTaskDetailArtifactList": { +"description": "A list of artifact metadata.", +"id": "GoogleCloudAiplatformV1PipelineTaskDetailArtifactList", +"properties": { +"artifacts": { +"description": "Output only. A list of artifact metadata.", +"items": { +"$ref": "GoogleCloudAiplatformV1Artifact" +}, +"readOnly": true, +"type": "array" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1PipelineTaskDetailPipelineTaskStatus": { +"description": "A single record of the task status.", +"id": "GoogleCloudAiplatformV1PipelineTaskDetailPipelineTaskStatus", +"properties": { +"error": { +"$ref": "GoogleRpcStatus", +"description": "Output only. The error that occurred during the state. May be set when the state is any of the non-final state (PENDING/RUNNING/CANCELLING) or FAILED state. If the state is FAILED, the error here is final and not going to be retried. If the state is a non-final state, the error indicates a system-error being retried.", +"readOnly": true +}, +"state": { +"description": "Output only. The state of the task.", +"enum": [ +"STATE_UNSPECIFIED", +"PENDING", +"RUNNING", +"SUCCEEDED", +"CANCEL_PENDING", +"CANCELLING", +"CANCELLED", +"FAILED", +"SKIPPED", +"NOT_TRIGGERED" +], +"enumDescriptions": [ +"Unspecified.", +"Specifies pending state for the task.", +"Specifies task is being executed.", +"Specifies task completed successfully.", +"Specifies Task cancel is in pending state.", +"Specifies task is being cancelled.", +"Specifies task was cancelled.", +"Specifies task failed.", +"Specifies task was skipped due to cache hit.", +"Specifies that the task was not triggered because the task's trigger policy is not satisfied. The trigger policy is specified in the `condition` field of PipelineJob.pipeline_spec." +], +"readOnly": true, +"type": "string" +}, +"updateTime": { +"description": "Output only. Update time of this status.", +"format": "google-datetime", +"readOnly": true, +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1PipelineTaskExecutorDetail": { +"description": "The runtime detail of a pipeline executor.", +"id": "GoogleCloudAiplatformV1PipelineTaskExecutorDetail", +"properties": { +"containerDetail": { +"$ref": "GoogleCloudAiplatformV1PipelineTaskExecutorDetailContainerDetail", +"description": "Output only. The detailed info for a container executor.", +"readOnly": true +}, +"customJobDetail": { +"$ref": "GoogleCloudAiplatformV1PipelineTaskExecutorDetailCustomJobDetail", +"description": "Output only. The detailed info for a custom job executor.", +"readOnly": true +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1PipelineTaskExecutorDetailContainerDetail": { +"description": "The detail of a container execution. It contains the job names of the lifecycle of a container execution.", +"id": "GoogleCloudAiplatformV1PipelineTaskExecutorDetailContainerDetail", +"properties": { +"failedMainJobs": { +"description": "Output only. The names of the previously failed CustomJob for the main container executions. The list includes the all attempts in chronological order.", +"items": { +"type": "string" +}, +"readOnly": true, +"type": "array" +}, +"failedPreCachingCheckJobs": { +"description": "Output only. The names of the previously failed CustomJob for the pre-caching-check container executions. This job will be available if the PipelineJob.pipeline_spec specifies the `pre_caching_check` hook in the lifecycle events. The list includes the all attempts in chronological order.", +"items": { +"type": "string" +}, +"readOnly": true, +"type": "array" +}, +"mainJob": { +"description": "Output only. The name of the CustomJob for the main container execution.", +"readOnly": true, +"type": "string" +}, +"preCachingCheckJob": { +"description": "Output only. The name of the CustomJob for the pre-caching-check container execution. This job will be available if the PipelineJob.pipeline_spec specifies the `pre_caching_check` hook in the lifecycle events.", +"readOnly": true, +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1PipelineTaskExecutorDetailCustomJobDetail": { +"description": "The detailed info for a custom job executor.", +"id": "GoogleCloudAiplatformV1PipelineTaskExecutorDetailCustomJobDetail", +"properties": { +"failedJobs": { +"description": "Output only. The names of the previously failed CustomJob. The list includes the all attempts in chronological order.", +"items": { +"type": "string" +}, +"readOnly": true, +"type": "array" +}, +"job": { +"description": "Output only. The name of the CustomJob.", +"readOnly": true, +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1PipelineTemplateMetadata": { +"description": "Pipeline template metadata if PipelineJob.template_uri is from supported template registry. Currently, the only supported registry is Artifact Registry.", +"id": "GoogleCloudAiplatformV1PipelineTemplateMetadata", +"properties": { +"version": { +"description": "The version_name in artifact registry. Will always be presented in output if the PipelineJob.template_uri is from supported template registry. Format is \"sha256:abcdef123456...\".", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1PointwiseMetricInput": { +"description": "Input for pointwise metric.", +"id": "GoogleCloudAiplatformV1PointwiseMetricInput", +"properties": { +"instance": { +"$ref": "GoogleCloudAiplatformV1PointwiseMetricInstance", +"description": "Required. Pointwise metric instance." +}, +"metricSpec": { +"$ref": "GoogleCloudAiplatformV1PointwiseMetricSpec", +"description": "Required. Spec for pointwise metric." +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1PointwiseMetricInstance": { +"description": "Pointwise metric instance. Usually one instance corresponds to one row in an evaluation dataset.", +"id": "GoogleCloudAiplatformV1PointwiseMetricInstance", +"properties": { +"jsonInstance": { +"description": "Instance specified as a json string. String key-value pairs are expected in the json_instance to render PointwiseMetricSpec.instance_prompt_template.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1PointwiseMetricResult": { +"description": "Spec for pointwise metric result.", +"id": "GoogleCloudAiplatformV1PointwiseMetricResult", +"properties": { +"explanation": { +"description": "Output only. Explanation for pointwise metric score.", +"readOnly": true, +"type": "string" +}, +"score": { +"description": "Output only. Pointwise metric score.", +"format": "float", +"readOnly": true, +"type": "number" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1PointwiseMetricSpec": { +"description": "Spec for pointwise metric.", +"id": "GoogleCloudAiplatformV1PointwiseMetricSpec", +"properties": { +"metricPromptTemplate": { +"description": "Required. Metric prompt template for pointwise metric.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1Port": { +"description": "Represents a network port in a container.", +"id": "GoogleCloudAiplatformV1Port", +"properties": { +"containerPort": { +"description": "The number of the port to expose on the pod's IP address. Must be a valid port number, between 1 and 65535 inclusive.", +"format": "int32", +"type": "integer" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1PrebuiltVoiceConfig": { +"description": "The configuration for the prebuilt speaker to use.", +"id": "GoogleCloudAiplatformV1PrebuiltVoiceConfig", +"properties": { +"voiceName": { +"description": "The name of the preset voice to use.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1PredefinedSplit": { +"description": "Assigns input data to training, validation, and test sets based on the value of a provided key. Supported only for tabular Datasets.", +"id": "GoogleCloudAiplatformV1PredefinedSplit", +"properties": { +"key": { +"description": "Required. The key is a name of one of the Dataset's data columns. The value of the key (either the label's value or value in the column) must be one of {`training`, `validation`, `test`}, and it defines to which set the given piece of data is assigned. If for a piece of data the key is not present or has an invalid value, that piece is ignored by the pipeline.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1PredictLongRunningRequest": { +"description": "Request message for PredictionService.PredictLongRunning.", +"id": "GoogleCloudAiplatformV1PredictLongRunningRequest", +"properties": { +"instances": { +"description": "Required. The instances that are the input to the prediction call. A DeployedModel may have an upper limit on the number of instances it supports per request, and when it is exceeded the prediction call errors in case of AutoML Models, or, in case of customer created Models, the behaviour is as documented by that Model. The schema of any single instance may be specified via Endpoint's DeployedModels' Model's PredictSchemata's instance_schema_uri.", +"items": { +"type": "any" +}, +"type": "array" +}, +"parameters": { +"description": "Optional. The parameters that govern the prediction. The schema of the parameters may be specified via Endpoint's DeployedModels' Model's PredictSchemata's parameters_schema_uri.", +"type": "any" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1PredictRequest": { +"description": "Request message for PredictionService.Predict.", +"id": "GoogleCloudAiplatformV1PredictRequest", +"properties": { +"instances": { +"description": "Required. The instances that are the input to the prediction call. A DeployedModel may have an upper limit on the number of instances it supports per request, and when it is exceeded the prediction call errors in case of AutoML Models, or, in case of customer created Models, the behaviour is as documented by that Model. The schema of any single instance may be specified via Endpoint's DeployedModels' Model's PredictSchemata's instance_schema_uri.", +"items": { +"type": "any" +}, +"type": "array" +}, +"parameters": { +"description": "The parameters that govern the prediction. The schema of the parameters may be specified via Endpoint's DeployedModels' Model's PredictSchemata's parameters_schema_uri.", +"type": "any" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1PredictRequestResponseLoggingConfig": { +"description": "Configuration for logging request-response to a BigQuery table.", +"id": "GoogleCloudAiplatformV1PredictRequestResponseLoggingConfig", +"properties": { +"bigqueryDestination": { +"$ref": "GoogleCloudAiplatformV1BigQueryDestination", +"description": "BigQuery table for logging. If only given a project, a new dataset will be created with name `logging__` where will be made BigQuery-dataset-name compatible (e.g. most special characters will become underscores). If no table name is given, a new table will be created with name `request_response_logging`" +}, +"enabled": { +"description": "If logging is enabled or not.", +"type": "boolean" +}, +"samplingRate": { +"description": "Percentage of requests to be logged, expressed as a fraction in range(0,1].", +"format": "double", +"type": "number" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1PredictResponse": { +"description": "Response message for PredictionService.Predict.", +"id": "GoogleCloudAiplatformV1PredictResponse", +"properties": { +"deployedModelId": { +"description": "ID of the Endpoint's DeployedModel that served this prediction.", +"type": "string" +}, +"metadata": { +"description": "Output only. Request-level metadata returned by the model. The metadata type will be dependent upon the model implementation.", +"readOnly": true, +"type": "any" +}, +"model": { +"description": "Output only. The resource name of the Model which is deployed as the DeployedModel that this prediction hits.", +"readOnly": true, +"type": "string" +}, +"modelDisplayName": { +"description": "Output only. The display name of the Model which is deployed as the DeployedModel that this prediction hits.", +"readOnly": true, +"type": "string" +}, +"modelVersionId": { +"description": "Output only. The version ID of the Model which is deployed as the DeployedModel that this prediction hits.", +"readOnly": true, +"type": "string" +}, +"predictions": { +"description": "The predictions that are the output of the predictions call. The schema of any single prediction may be specified via Endpoint's DeployedModels' Model's PredictSchemata's prediction_schema_uri.", +"items": { +"type": "any" +}, +"type": "array" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1PredictSchemata": { +"description": "Contains the schemata used in Model's predictions and explanations via PredictionService.Predict, PredictionService.Explain and BatchPredictionJob.", +"id": "GoogleCloudAiplatformV1PredictSchemata", +"properties": { +"instanceSchemaUri": { +"description": "Immutable. Points to a YAML file stored on Google Cloud Storage describing the format of a single instance, which are used in PredictRequest.instances, ExplainRequest.instances and BatchPredictionJob.input_config. The schema is defined as an OpenAPI 3.0.2 [Schema Object](https://github.com/OAI/OpenAPI-Specification/blob/main/versions/3.0.2.md#schemaObject). AutoML Models always have this field populated by Vertex AI. Note: The URI given on output will be immutable and probably different, including the URI scheme, than the one given on input. The output URI will point to a location where the user only has a read access.", +"type": "string" +}, +"parametersSchemaUri": { +"description": "Immutable. Points to a YAML file stored on Google Cloud Storage describing the parameters of prediction and explanation via PredictRequest.parameters, ExplainRequest.parameters and BatchPredictionJob.model_parameters. The schema is defined as an OpenAPI 3.0.2 [Schema Object](https://github.com/OAI/OpenAPI-Specification/blob/main/versions/3.0.2.md#schemaObject). AutoML Models always have this field populated by Vertex AI, if no parameters are supported, then it is set to an empty string. Note: The URI given on output will be immutable and probably different, including the URI scheme, than the one given on input. The output URI will point to a location where the user only has a read access.", +"type": "string" +}, +"predictionSchemaUri": { +"description": "Immutable. Points to a YAML file stored on Google Cloud Storage describing the format of a single prediction produced by this Model, which are returned via PredictResponse.predictions, ExplainResponse.explanations, and BatchPredictionJob.output_config. The schema is defined as an OpenAPI 3.0.2 [Schema Object](https://github.com/OAI/OpenAPI-Specification/blob/main/versions/3.0.2.md#schemaObject). AutoML Models always have this field populated by Vertex AI. Note: The URI given on output will be immutable and probably different, including the URI scheme, than the one given on input. The output URI will point to a location where the user only has a read access.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1Presets": { +"description": "Preset configuration for example-based explanations", +"id": "GoogleCloudAiplatformV1Presets", +"properties": { +"modality": { +"description": "The modality of the uploaded model, which automatically configures the distance measurement and feature normalization for the underlying example index and queries. If your model does not precisely fit one of these types, it is okay to choose the closest type.", +"enum": [ +"MODALITY_UNSPECIFIED", +"IMAGE", +"TEXT", +"TABULAR" +], +"enumDescriptions": [ +"Should not be set. Added as a recommended best practice for enums", +"IMAGE modality", +"TEXT modality", +"TABULAR modality" +], +"type": "string" +}, +"query": { +"description": "Preset option controlling parameters for speed-precision trade-off when querying for examples. If omitted, defaults to `PRECISE`.", +"enum": [ +"PRECISE", +"FAST" +], +"enumDescriptions": [ +"More precise neighbors as a trade-off against slower response.", +"Faster response as a trade-off against less precise neighbors." +], +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1PrivateEndpoints": { +"description": "PrivateEndpoints proto is used to provide paths for users to send requests privately. To send request via private service access, use predict_http_uri, explain_http_uri or health_http_uri. To send request via private service connect, use service_attachment.", +"id": "GoogleCloudAiplatformV1PrivateEndpoints", +"properties": { +"explainHttpUri": { +"description": "Output only. Http(s) path to send explain requests.", +"readOnly": true, +"type": "string" +}, +"healthHttpUri": { +"description": "Output only. Http(s) path to send health check requests.", +"readOnly": true, +"type": "string" +}, +"predictHttpUri": { +"description": "Output only. Http(s) path to send prediction requests.", +"readOnly": true, +"type": "string" +}, +"serviceAttachment": { +"description": "Output only. The name of the service attachment resource. Populated if private service connect is enabled.", +"readOnly": true, +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1PrivateServiceConnectConfig": { +"description": "Represents configuration for private service connect.", +"id": "GoogleCloudAiplatformV1PrivateServiceConnectConfig", +"properties": { +"enablePrivateServiceConnect": { +"description": "Required. If true, expose the IndexEndpoint via private service connect.", +"type": "boolean" +}, +"projectAllowlist": { +"description": "A list of Projects from which the forwarding rule will target the service attachment.", +"items": { +"type": "string" +}, +"type": "array" +}, +"serviceAttachment": { +"description": "Output only. The name of the generated service attachment resource. This is only populated if the endpoint is deployed with PrivateServiceConnect.", +"readOnly": true, +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1Probe": { +"description": "Probe describes a health check to be performed against a container to determine whether it is alive or ready to receive traffic.", +"id": "GoogleCloudAiplatformV1Probe", +"properties": { +"exec": { +"$ref": "GoogleCloudAiplatformV1ProbeExecAction", +"description": "ExecAction probes the health of a container by executing a command." +}, +"grpc": { +"$ref": "GoogleCloudAiplatformV1ProbeGrpcAction", +"description": "GrpcAction probes the health of a container by sending a gRPC request." +}, +"httpGet": { +"$ref": "GoogleCloudAiplatformV1ProbeHttpGetAction", +"description": "HttpGetAction probes the health of a container by sending an HTTP GET request." +}, +"periodSeconds": { +"description": "How often (in seconds) to perform the probe. Default to 10 seconds. Minimum value is 1. Must be less than timeout_seconds. Maps to Kubernetes probe argument 'periodSeconds'.", +"format": "int32", +"type": "integer" +}, +"tcpSocket": { +"$ref": "GoogleCloudAiplatformV1ProbeTcpSocketAction", +"description": "TcpSocketAction probes the health of a container by opening a TCP socket connection." +}, +"timeoutSeconds": { +"description": "Number of seconds after which the probe times out. Defaults to 1 second. Minimum value is 1. Must be greater or equal to period_seconds. Maps to Kubernetes probe argument 'timeoutSeconds'.", +"format": "int32", +"type": "integer" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1ProbeExecAction": { +"description": "ExecAction specifies a command to execute.", +"id": "GoogleCloudAiplatformV1ProbeExecAction", +"properties": { +"command": { +"description": "Command is the command line to execute inside the container, the working directory for the command is root ('/') in the container's filesystem. The command is simply exec'd, it is not run inside a shell, so traditional shell instructions ('|', etc) won't work. To use a shell, you need to explicitly call out to that shell. Exit status of 0 is treated as live/healthy and non-zero is unhealthy.", +"items": { +"type": "string" +}, +"type": "array" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1ProbeGrpcAction": { +"description": "GrpcAction checks the health of a container using a gRPC service.", +"id": "GoogleCloudAiplatformV1ProbeGrpcAction", +"properties": { +"port": { +"description": "Port number of the gRPC service. Number must be in the range 1 to 65535.", +"format": "int32", +"type": "integer" +}, +"service": { +"description": "Service is the name of the service to place in the gRPC HealthCheckRequest (see https://github.com/grpc/grpc/blob/master/doc/health-checking.md). If this is not specified, the default behavior is defined by gRPC.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1ProbeHttpGetAction": { +"description": "HttpGetAction describes an action based on HTTP Get requests.", +"id": "GoogleCloudAiplatformV1ProbeHttpGetAction", +"properties": { +"host": { +"description": "Host name to connect to, defaults to the model serving container's IP. You probably want to set \"Host\" in httpHeaders instead.", +"type": "string" +}, +"httpHeaders": { +"description": "Custom headers to set in the request. HTTP allows repeated headers.", +"items": { +"$ref": "GoogleCloudAiplatformV1ProbeHttpHeader" +}, +"type": "array" +}, +"path": { +"description": "Path to access on the HTTP server.", +"type": "string" +}, +"port": { +"description": "Number of the port to access on the container. Number must be in the range 1 to 65535.", +"format": "int32", +"type": "integer" +}, +"scheme": { +"description": "Scheme to use for connecting to the host. Defaults to HTTP. Acceptable values are \"HTTP\" or \"HTTPS\".", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1ProbeHttpHeader": { +"description": "HttpHeader describes a custom header to be used in HTTP probes", +"id": "GoogleCloudAiplatformV1ProbeHttpHeader", +"properties": { +"name": { +"description": "The header field name. This will be canonicalized upon output, so case-variant names will be understood as the same header.", +"type": "string" +}, +"value": { +"description": "The header field value", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1ProbeTcpSocketAction": { +"description": "TcpSocketAction probes the health of a container by opening a TCP socket connection.", +"id": "GoogleCloudAiplatformV1ProbeTcpSocketAction", +"properties": { +"host": { +"description": "Optional: Host name to connect to, defaults to the model serving container's IP.", +"type": "string" +}, +"port": { +"description": "Number of the port to access on the container. Number must be in the range 1 to 65535.", +"format": "int32", +"type": "integer" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1PscAutomatedEndpoints": { +"description": "PscAutomatedEndpoints defines the output of the forwarding rule automatically created by each PscAutomationConfig.", +"id": "GoogleCloudAiplatformV1PscAutomatedEndpoints", +"properties": { +"matchAddress": { +"description": "Ip Address created by the automated forwarding rule.", +"type": "string" +}, +"network": { +"description": "Corresponding network in pscAutomationConfigs.", +"type": "string" +}, +"projectId": { +"description": "Corresponding project_id in pscAutomationConfigs", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1PublisherModel": { +"description": "A Model Garden Publisher Model.", +"id": "GoogleCloudAiplatformV1PublisherModel", +"properties": { +"frameworks": { +"description": "Optional. Additional information about the model's Frameworks.", +"items": { +"type": "string" +}, +"type": "array" +}, +"launchStage": { +"description": "Optional. Indicates the launch stage of the model.", +"enum": [ +"LAUNCH_STAGE_UNSPECIFIED", +"EXPERIMENTAL", +"PRIVATE_PREVIEW", +"PUBLIC_PREVIEW", +"GA" +], +"enumDescriptions": [ +"The model launch stage is unspecified.", +"Used to indicate the PublisherModel is at Experimental launch stage, available to a small set of customers.", +"Used to indicate the PublisherModel is at Private Preview launch stage, only available to a small set of customers, although a larger set of customers than an Experimental launch. Previews are the first launch stage used to get feedback from customers.", +"Used to indicate the PublisherModel is at Public Preview launch stage, available to all customers, although not supported for production workloads.", +"Used to indicate the PublisherModel is at GA launch stage, available to all customers and ready for production workload." +], +"type": "string" +}, +"name": { +"description": "Output only. The resource name of the PublisherModel.", +"readOnly": true, +"type": "string" +}, +"openSourceCategory": { +"description": "Required. Indicates the open source category of the publisher model.", +"enum": [ +"OPEN_SOURCE_CATEGORY_UNSPECIFIED", +"PROPRIETARY", +"GOOGLE_OWNED_OSS_WITH_GOOGLE_CHECKPOINT", +"THIRD_PARTY_OWNED_OSS_WITH_GOOGLE_CHECKPOINT", +"GOOGLE_OWNED_OSS", +"THIRD_PARTY_OWNED_OSS" +], +"enumDescriptions": [ +"The open source category is unspecified, which should not be used.", +"Used to indicate the PublisherModel is not open sourced.", +"Used to indicate the PublisherModel is a Google-owned open source model w/ Google checkpoint.", +"Used to indicate the PublisherModel is a 3p-owned open source model w/ Google checkpoint.", +"Used to indicate the PublisherModel is a Google-owned pure open source model.", +"Used to indicate the PublisherModel is a 3p-owned pure open source model." +], +"type": "string" +}, +"predictSchemata": { +"$ref": "GoogleCloudAiplatformV1PredictSchemata", +"description": "Optional. The schemata that describes formats of the PublisherModel's predictions and explanations as given and returned via PredictionService.Predict." +}, +"publisherModelTemplate": { +"description": "Optional. Output only. Immutable. Used to indicate this model has a publisher model and provide the template of the publisher model resource name.", +"readOnly": true, +"type": "string" +}, +"supportedActions": { +"$ref": "GoogleCloudAiplatformV1PublisherModelCallToAction", +"description": "Optional. Supported call-to-action options." +}, +"versionId": { +"description": "Output only. Immutable. The version ID of the PublisherModel. A new version is committed when a new model version is uploaded under an existing model id. It is an auto-incrementing decimal number in string representation.", +"readOnly": true, +"type": "string" +}, +"versionState": { +"description": "Optional. Indicates the state of the model version.", +"enum": [ +"VERSION_STATE_UNSPECIFIED", +"VERSION_STATE_STABLE", +"VERSION_STATE_UNSTABLE" +], +"enumDescriptions": [ +"The version state is unspecified.", +"Used to indicate the version is stable.", +"Used to indicate the version is unstable." +], +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1PublisherModelCallToAction": { +"description": "Actions could take on this Publisher Model.", +"id": "GoogleCloudAiplatformV1PublisherModelCallToAction", +"properties": { +"createApplication": { +"$ref": "GoogleCloudAiplatformV1PublisherModelCallToActionRegionalResourceReferences", +"description": "Optional. Create application using the PublisherModel." +}, +"deploy": { +"$ref": "GoogleCloudAiplatformV1PublisherModelCallToActionDeploy", +"description": "Optional. Deploy the PublisherModel to Vertex Endpoint." +}, +"deployGke": { +"$ref": "GoogleCloudAiplatformV1PublisherModelCallToActionDeployGke", +"description": "Optional. Deploy PublisherModel to Google Kubernetes Engine." +}, +"multiDeployVertex": { +"$ref": "GoogleCloudAiplatformV1PublisherModelCallToActionDeployVertex", +"description": "Optional. Multiple setups to deploy the PublisherModel to Vertex Endpoint." +}, +"openEvaluationPipeline": { +"$ref": "GoogleCloudAiplatformV1PublisherModelCallToActionRegionalResourceReferences", +"description": "Optional. Open evaluation pipeline of the PublisherModel." +}, +"openFineTuningPipeline": { +"$ref": "GoogleCloudAiplatformV1PublisherModelCallToActionRegionalResourceReferences", +"description": "Optional. Open fine-tuning pipeline of the PublisherModel." +}, +"openFineTuningPipelines": { +"$ref": "GoogleCloudAiplatformV1PublisherModelCallToActionOpenFineTuningPipelines", +"description": "Optional. Open fine-tuning pipelines of the PublisherModel." +}, +"openGenerationAiStudio": { +"$ref": "GoogleCloudAiplatformV1PublisherModelCallToActionRegionalResourceReferences", +"description": "Optional. Open in Generation AI Studio." +}, +"openGenie": { +"$ref": "GoogleCloudAiplatformV1PublisherModelCallToActionRegionalResourceReferences", +"description": "Optional. Open Genie / Playground." +}, +"openNotebook": { +"$ref": "GoogleCloudAiplatformV1PublisherModelCallToActionRegionalResourceReferences", +"description": "Optional. Open notebook of the PublisherModel." +}, +"openNotebooks": { +"$ref": "GoogleCloudAiplatformV1PublisherModelCallToActionOpenNotebooks", +"description": "Optional. Open notebooks of the PublisherModel." +}, +"openPromptTuningPipeline": { +"$ref": "GoogleCloudAiplatformV1PublisherModelCallToActionRegionalResourceReferences", +"description": "Optional. Open prompt-tuning pipeline of the PublisherModel." +}, +"requestAccess": { +"$ref": "GoogleCloudAiplatformV1PublisherModelCallToActionRegionalResourceReferences", +"description": "Optional. Request for access." +}, +"viewRestApi": { +"$ref": "GoogleCloudAiplatformV1PublisherModelCallToActionViewRestApi", +"description": "Optional. To view Rest API docs." +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1PublisherModelCallToActionDeploy": { +"description": "Model metadata that is needed for UploadModel or DeployModel/CreateEndpoint requests.", +"id": "GoogleCloudAiplatformV1PublisherModelCallToActionDeploy", +"properties": { +"artifactUri": { +"description": "Optional. The path to the directory containing the Model artifact and any of its supporting files.", +"type": "string" +}, +"automaticResources": { +"$ref": "GoogleCloudAiplatformV1AutomaticResources", +"description": "A description of resources that to large degree are decided by Vertex AI, and require only a modest additional configuration." +}, +"containerSpec": { +"$ref": "GoogleCloudAiplatformV1ModelContainerSpec", +"description": "Optional. The specification of the container that is to be used when deploying this Model in Vertex AI. Not present for Large Models." +}, +"dedicatedResources": { +"$ref": "GoogleCloudAiplatformV1DedicatedResources", +"description": "A description of resources that are dedicated to the DeployedModel, and that need a higher degree of manual configuration." +}, +"deployMetadata": { +"$ref": "GoogleCloudAiplatformV1PublisherModelCallToActionDeployDeployMetadata", +"description": "Optional. Metadata information about this deployment config." +}, +"deployTaskName": { +"description": "Optional. The name of the deploy task (e.g., \"text to image generation\").", +"type": "string" +}, +"largeModelReference": { +"$ref": "GoogleCloudAiplatformV1LargeModelReference", +"description": "Optional. Large model reference. When this is set, model_artifact_spec is not needed." +}, +"modelDisplayName": { +"description": "Optional. Default model display name.", +"type": "string" +}, +"publicArtifactUri": { +"description": "Optional. The signed URI for ephemeral Cloud Storage access to model artifact.", +"type": "string" +}, +"sharedResources": { +"description": "The resource name of the shared DeploymentResourcePool to deploy on. Format: `projects/{project}/locations/{location}/deploymentResourcePools/{deployment_resource_pool}`", +"type": "string" +}, +"title": { +"description": "Required. The title of the regional resource reference.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1PublisherModelCallToActionDeployDeployMetadata": { +"description": "Metadata information about the deployment for managing deployment config.", +"id": "GoogleCloudAiplatformV1PublisherModelCallToActionDeployDeployMetadata", +"properties": { +"labels": { +"additionalProperties": { +"type": "string" +}, +"description": "Optional. Labels for the deployment config. For managing deployment config like verifying, source of deployment config, etc.", +"type": "object" +}, +"sampleRequest": { +"description": "Optional. Sample request for deployed endpoint.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1PublisherModelCallToActionDeployGke": { +"description": "Configurations for PublisherModel GKE deployment", +"id": "GoogleCloudAiplatformV1PublisherModelCallToActionDeployGke", +"properties": { +"gkeYamlConfigs": { +"description": "Optional. GKE deployment configuration in yaml format.", +"items": { +"type": "string" +}, +"type": "array" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1PublisherModelCallToActionDeployVertex": { +"description": "Multiple setups to deploy the PublisherModel.", +"id": "GoogleCloudAiplatformV1PublisherModelCallToActionDeployVertex", +"properties": { +"multiDeployVertex": { +"description": "Optional. One click deployment configurations.", +"items": { +"$ref": "GoogleCloudAiplatformV1PublisherModelCallToActionDeploy" +}, +"type": "array" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1PublisherModelCallToActionOpenFineTuningPipelines": { +"description": "Open fine tuning pipelines.", +"id": "GoogleCloudAiplatformV1PublisherModelCallToActionOpenFineTuningPipelines", +"properties": { +"fineTuningPipelines": { +"description": "Required. Regional resource references to fine tuning pipelines.", +"items": { +"$ref": "GoogleCloudAiplatformV1PublisherModelCallToActionRegionalResourceReferences" +}, +"type": "array" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1PublisherModelCallToActionOpenNotebooks": { +"description": "Open notebooks.", +"id": "GoogleCloudAiplatformV1PublisherModelCallToActionOpenNotebooks", +"properties": { +"notebooks": { +"description": "Required. Regional resource references to notebooks.", +"items": { +"$ref": "GoogleCloudAiplatformV1PublisherModelCallToActionRegionalResourceReferences" +}, +"type": "array" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1PublisherModelCallToActionRegionalResourceReferences": { +"description": "The regional resource name or the URI. Key is region, e.g., us-central1, europe-west2, global, etc..", +"id": "GoogleCloudAiplatformV1PublisherModelCallToActionRegionalResourceReferences", +"properties": { +"references": { +"additionalProperties": { +"$ref": "GoogleCloudAiplatformV1PublisherModelResourceReference" +}, +"description": "Required.", +"type": "object" +}, +"resourceDescription": { +"description": "Optional. Description of the resource.", +"type": "string" +}, +"resourceTitle": { +"description": "Optional. Title of the resource.", +"type": "string" +}, +"resourceUseCase": { +"description": "Optional. Use case (CUJ) of the resource.", +"type": "string" +}, +"title": { +"description": "Required. ", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1PublisherModelCallToActionViewRestApi": { +"description": "Rest API docs.", +"id": "GoogleCloudAiplatformV1PublisherModelCallToActionViewRestApi", +"properties": { +"documentations": { +"description": "Required.", +"items": { +"$ref": "GoogleCloudAiplatformV1PublisherModelDocumentation" +}, +"type": "array" +}, +"title": { +"description": "Required. The title of the view rest API.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1PublisherModelDocumentation": { +"description": "A named piece of documentation.", +"id": "GoogleCloudAiplatformV1PublisherModelDocumentation", +"properties": { +"content": { +"description": "Required. Content of this piece of document (in Markdown format).", +"type": "string" +}, +"title": { +"description": "Required. E.g., OVERVIEW, USE CASES, DOCUMENTATION, SDK & SAMPLES, JAVA, NODE.JS, etc..", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1PublisherModelResourceReference": { +"description": "Reference to a resource.", +"id": "GoogleCloudAiplatformV1PublisherModelResourceReference", +"properties": { +"description": { +"deprecated": true, +"description": "Description of the resource.", +"type": "string" +}, +"resourceName": { +"description": "The resource name of the Google Cloud resource.", +"type": "string" +}, +"uri": { +"description": "The URI of the resource.", +"type": "string" +}, +"useCase": { +"deprecated": true, +"description": "Use case (CUJ) of the resource.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1PurgeArtifactsMetadata": { +"description": "Details of operations that perform MetadataService.PurgeArtifacts.", +"id": "GoogleCloudAiplatformV1PurgeArtifactsMetadata", +"properties": { +"genericMetadata": { +"$ref": "GoogleCloudAiplatformV1GenericOperationMetadata", +"description": "Operation metadata for purging Artifacts." +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1PurgeArtifactsRequest": { +"description": "Request message for MetadataService.PurgeArtifacts.", +"id": "GoogleCloudAiplatformV1PurgeArtifactsRequest", +"properties": { +"filter": { +"description": "Required. A required filter matching the Artifacts to be purged. E.g., `update_time <= 2020-11-19T11:30:00-04:00`.", +"type": "string" +}, +"force": { +"description": "Optional. Flag to indicate to actually perform the purge. If `force` is set to false, the method will return a sample of Artifact names that would be deleted.", +"type": "boolean" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1PurgeArtifactsResponse": { +"description": "Response message for MetadataService.PurgeArtifacts.", +"id": "GoogleCloudAiplatformV1PurgeArtifactsResponse", +"properties": { +"purgeCount": { +"description": "The number of Artifacts that this request deleted (or, if `force` is false, the number of Artifacts that will be deleted). This can be an estimate.", +"format": "int64", +"type": "string" +}, +"purgeSample": { +"description": "A sample of the Artifact names that will be deleted. Only populated if `force` is set to false. The maximum number of samples is 100 (it is possible to return fewer).", +"items": { +"type": "string" +}, +"type": "array" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1PurgeContextsMetadata": { +"description": "Details of operations that perform MetadataService.PurgeContexts.", +"id": "GoogleCloudAiplatformV1PurgeContextsMetadata", +"properties": { +"genericMetadata": { +"$ref": "GoogleCloudAiplatformV1GenericOperationMetadata", +"description": "Operation metadata for purging Contexts." +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1PurgeContextsRequest": { +"description": "Request message for MetadataService.PurgeContexts.", +"id": "GoogleCloudAiplatformV1PurgeContextsRequest", +"properties": { +"filter": { +"description": "Required. A required filter matching the Contexts to be purged. E.g., `update_time <= 2020-11-19T11:30:00-04:00`.", +"type": "string" +}, +"force": { +"description": "Optional. Flag to indicate to actually perform the purge. If `force` is set to false, the method will return a sample of Context names that would be deleted.", +"type": "boolean" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1PurgeContextsResponse": { +"description": "Response message for MetadataService.PurgeContexts.", +"id": "GoogleCloudAiplatformV1PurgeContextsResponse", +"properties": { +"purgeCount": { +"description": "The number of Contexts that this request deleted (or, if `force` is false, the number of Contexts that will be deleted). This can be an estimate.", +"format": "int64", +"type": "string" +}, +"purgeSample": { +"description": "A sample of the Context names that will be deleted. Only populated if `force` is set to false. The maximum number of samples is 100 (it is possible to return fewer).", +"items": { +"type": "string" +}, +"type": "array" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1PurgeExecutionsMetadata": { +"description": "Details of operations that perform MetadataService.PurgeExecutions.", +"id": "GoogleCloudAiplatformV1PurgeExecutionsMetadata", +"properties": { +"genericMetadata": { +"$ref": "GoogleCloudAiplatformV1GenericOperationMetadata", +"description": "Operation metadata for purging Executions." +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1PurgeExecutionsRequest": { +"description": "Request message for MetadataService.PurgeExecutions.", +"id": "GoogleCloudAiplatformV1PurgeExecutionsRequest", +"properties": { +"filter": { +"description": "Required. A required filter matching the Executions to be purged. E.g., `update_time <= 2020-11-19T11:30:00-04:00`.", +"type": "string" +}, +"force": { +"description": "Optional. Flag to indicate to actually perform the purge. If `force` is set to false, the method will return a sample of Execution names that would be deleted.", +"type": "boolean" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1PurgeExecutionsResponse": { +"description": "Response message for MetadataService.PurgeExecutions.", +"id": "GoogleCloudAiplatformV1PurgeExecutionsResponse", +"properties": { +"purgeCount": { +"description": "The number of Executions that this request deleted (or, if `force` is false, the number of Executions that will be deleted). This can be an estimate.", +"format": "int64", +"type": "string" +}, +"purgeSample": { +"description": "A sample of the Execution names that will be deleted. Only populated if `force` is set to false. The maximum number of samples is 100 (it is possible to return fewer).", +"items": { +"type": "string" +}, +"type": "array" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1PythonPackageSpec": { +"description": "The spec of a Python packaged code.", +"id": "GoogleCloudAiplatformV1PythonPackageSpec", +"properties": { +"args": { +"description": "Command line arguments to be passed to the Python task.", +"items": { +"type": "string" +}, +"type": "array" +}, +"env": { +"description": "Environment variables to be passed to the python module. Maximum limit is 100.", +"items": { +"$ref": "GoogleCloudAiplatformV1EnvVar" +}, +"type": "array" +}, +"executorImageUri": { +"description": "Required. The URI of a container image in Artifact Registry that will run the provided Python package. Vertex AI provides a wide range of executor images with pre-installed packages to meet users' various use cases. See the list of [pre-built containers for training](https://cloud.google.com/vertex-ai/docs/training/pre-built-containers). You must use an image from this list.", +"type": "string" +}, +"packageUris": { +"description": "Required. The Google Cloud Storage location of the Python package files which are the training program and its dependent packages. The maximum number of package URIs is 100.", +"items": { +"type": "string" +}, +"type": "array" +}, +"pythonModule": { +"description": "Required. The Python module name to run after installing the packages.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1QueryDeployedModelsResponse": { +"description": "Response message for QueryDeployedModels method.", +"id": "GoogleCloudAiplatformV1QueryDeployedModelsResponse", +"properties": { +"deployedModelRefs": { +"description": "References to the DeployedModels that share the specified deploymentResourcePool.", +"items": { +"$ref": "GoogleCloudAiplatformV1DeployedModelRef" +}, +"type": "array" +}, +"deployedModels": { +"deprecated": true, +"description": "DEPRECATED Use deployed_model_refs instead.", +"items": { +"$ref": "GoogleCloudAiplatformV1DeployedModel" +}, +"type": "array" +}, +"nextPageToken": { +"description": "A token, which can be sent as `page_token` to retrieve the next page. If this field is omitted, there are no subsequent pages.", +"type": "string" +}, +"totalDeployedModelCount": { +"description": "The total number of DeployedModels on this DeploymentResourcePool.", +"format": "int32", +"type": "integer" +}, +"totalEndpointCount": { +"description": "The total number of Endpoints that have DeployedModels on this DeploymentResourcePool.", +"format": "int32", +"type": "integer" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1QueryReasoningEngineRequest": { +"description": "Request message for ReasoningEngineExecutionService.Query.", +"id": "GoogleCloudAiplatformV1QueryReasoningEngineRequest", +"properties": { +"classMethod": { +"description": "Optional. Class method to be used for the query. It is optional and defaults to \"query\" if unspecified.", +"type": "string" +}, +"input": { +"additionalProperties": { +"description": "Properties of the object.", +"type": "any" +}, +"description": "Optional. Input content provided by users in JSON object format. Examples include text query, function calling parameters, media bytes, etc.", +"type": "object" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1QueryReasoningEngineResponse": { +"description": "Response message for ReasoningEngineExecutionService.Query", +"id": "GoogleCloudAiplatformV1QueryReasoningEngineResponse", +"properties": { +"output": { +"description": "Response provided by users in JSON object format.", +"type": "any" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1QuestionAnsweringCorrectnessInput": { +"description": "Input for question answering correctness metric.", +"id": "GoogleCloudAiplatformV1QuestionAnsweringCorrectnessInput", +"properties": { +"instance": { +"$ref": "GoogleCloudAiplatformV1QuestionAnsweringCorrectnessInstance", +"description": "Required. Question answering correctness instance." +}, +"metricSpec": { +"$ref": "GoogleCloudAiplatformV1QuestionAnsweringCorrectnessSpec", +"description": "Required. Spec for question answering correctness score metric." +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1QuestionAnsweringCorrectnessInstance": { +"description": "Spec for question answering correctness instance.", +"id": "GoogleCloudAiplatformV1QuestionAnsweringCorrectnessInstance", +"properties": { +"context": { +"description": "Optional. Text provided as context to answer the question.", +"type": "string" +}, +"instruction": { +"description": "Required. The question asked and other instruction in the inference prompt.", +"type": "string" +}, +"prediction": { +"description": "Required. Output of the evaluated model.", +"type": "string" +}, +"reference": { +"description": "Optional. Ground truth used to compare against the prediction.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1QuestionAnsweringCorrectnessResult": { +"description": "Spec for question answering correctness result.", +"id": "GoogleCloudAiplatformV1QuestionAnsweringCorrectnessResult", +"properties": { +"confidence": { +"description": "Output only. Confidence for question answering correctness score.", +"format": "float", +"readOnly": true, +"type": "number" +}, +"explanation": { +"description": "Output only. Explanation for question answering correctness score.", +"readOnly": true, +"type": "string" +}, +"score": { +"description": "Output only. Question Answering Correctness score.", +"format": "float", +"readOnly": true, +"type": "number" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1QuestionAnsweringCorrectnessSpec": { +"description": "Spec for question answering correctness metric.", +"id": "GoogleCloudAiplatformV1QuestionAnsweringCorrectnessSpec", +"properties": { +"useReference": { +"description": "Optional. Whether to use instance.reference to compute question answering correctness.", +"type": "boolean" +}, +"version": { +"description": "Optional. Which version to use for evaluation.", +"format": "int32", +"type": "integer" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1QuestionAnsweringHelpfulnessInput": { +"description": "Input for question answering helpfulness metric.", +"id": "GoogleCloudAiplatformV1QuestionAnsweringHelpfulnessInput", +"properties": { +"instance": { +"$ref": "GoogleCloudAiplatformV1QuestionAnsweringHelpfulnessInstance", +"description": "Required. Question answering helpfulness instance." +}, +"metricSpec": { +"$ref": "GoogleCloudAiplatformV1QuestionAnsweringHelpfulnessSpec", +"description": "Required. Spec for question answering helpfulness score metric." +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1QuestionAnsweringHelpfulnessInstance": { +"description": "Spec for question answering helpfulness instance.", +"id": "GoogleCloudAiplatformV1QuestionAnsweringHelpfulnessInstance", +"properties": { +"context": { +"description": "Optional. Text provided as context to answer the question.", +"type": "string" +}, +"instruction": { +"description": "Required. The question asked and other instruction in the inference prompt.", +"type": "string" +}, +"prediction": { +"description": "Required. Output of the evaluated model.", +"type": "string" +}, +"reference": { +"description": "Optional. Ground truth used to compare against the prediction.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1QuestionAnsweringHelpfulnessResult": { +"description": "Spec for question answering helpfulness result.", +"id": "GoogleCloudAiplatformV1QuestionAnsweringHelpfulnessResult", +"properties": { +"confidence": { +"description": "Output only. Confidence for question answering helpfulness score.", +"format": "float", +"readOnly": true, +"type": "number" +}, +"explanation": { +"description": "Output only. Explanation for question answering helpfulness score.", +"readOnly": true, +"type": "string" +}, +"score": { +"description": "Output only. Question Answering Helpfulness score.", +"format": "float", +"readOnly": true, +"type": "number" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1QuestionAnsweringHelpfulnessSpec": { +"description": "Spec for question answering helpfulness metric.", +"id": "GoogleCloudAiplatformV1QuestionAnsweringHelpfulnessSpec", +"properties": { +"useReference": { +"description": "Optional. Whether to use instance.reference to compute question answering helpfulness.", +"type": "boolean" +}, +"version": { +"description": "Optional. Which version to use for evaluation.", +"format": "int32", +"type": "integer" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1QuestionAnsweringQualityInput": { +"description": "Input for question answering quality metric.", +"id": "GoogleCloudAiplatformV1QuestionAnsweringQualityInput", +"properties": { +"instance": { +"$ref": "GoogleCloudAiplatformV1QuestionAnsweringQualityInstance", +"description": "Required. Question answering quality instance." +}, +"metricSpec": { +"$ref": "GoogleCloudAiplatformV1QuestionAnsweringQualitySpec", +"description": "Required. Spec for question answering quality score metric." +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1QuestionAnsweringQualityInstance": { +"description": "Spec for question answering quality instance.", +"id": "GoogleCloudAiplatformV1QuestionAnsweringQualityInstance", +"properties": { +"context": { +"description": "Required. Text to answer the question.", +"type": "string" +}, +"instruction": { +"description": "Required. Question Answering prompt for LLM.", +"type": "string" +}, +"prediction": { +"description": "Required. Output of the evaluated model.", +"type": "string" +}, +"reference": { +"description": "Optional. Ground truth used to compare against the prediction.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1QuestionAnsweringQualityResult": { +"description": "Spec for question answering quality result.", +"id": "GoogleCloudAiplatformV1QuestionAnsweringQualityResult", +"properties": { +"confidence": { +"description": "Output only. Confidence for question answering quality score.", +"format": "float", +"readOnly": true, +"type": "number" +}, +"explanation": { +"description": "Output only. Explanation for question answering quality score.", +"readOnly": true, +"type": "string" +}, +"score": { +"description": "Output only. Question Answering Quality score.", +"format": "float", +"readOnly": true, +"type": "number" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1QuestionAnsweringQualitySpec": { +"description": "Spec for question answering quality score metric.", +"id": "GoogleCloudAiplatformV1QuestionAnsweringQualitySpec", +"properties": { +"useReference": { +"description": "Optional. Whether to use instance.reference to compute question answering quality.", +"type": "boolean" +}, +"version": { +"description": "Optional. Which version to use for evaluation.", +"format": "int32", +"type": "integer" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1QuestionAnsweringRelevanceInput": { +"description": "Input for question answering relevance metric.", +"id": "GoogleCloudAiplatformV1QuestionAnsweringRelevanceInput", +"properties": { +"instance": { +"$ref": "GoogleCloudAiplatformV1QuestionAnsweringRelevanceInstance", +"description": "Required. Question answering relevance instance." +}, +"metricSpec": { +"$ref": "GoogleCloudAiplatformV1QuestionAnsweringRelevanceSpec", +"description": "Required. Spec for question answering relevance score metric." +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1QuestionAnsweringRelevanceInstance": { +"description": "Spec for question answering relevance instance.", +"id": "GoogleCloudAiplatformV1QuestionAnsweringRelevanceInstance", +"properties": { +"context": { +"description": "Optional. Text provided as context to answer the question.", +"type": "string" +}, +"instruction": { +"description": "Required. The question asked and other instruction in the inference prompt.", +"type": "string" +}, +"prediction": { +"description": "Required. Output of the evaluated model.", +"type": "string" +}, +"reference": { +"description": "Optional. Ground truth used to compare against the prediction.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1QuestionAnsweringRelevanceResult": { +"description": "Spec for question answering relevance result.", +"id": "GoogleCloudAiplatformV1QuestionAnsweringRelevanceResult", +"properties": { +"confidence": { +"description": "Output only. Confidence for question answering relevance score.", +"format": "float", +"readOnly": true, +"type": "number" +}, +"explanation": { +"description": "Output only. Explanation for question answering relevance score.", +"readOnly": true, +"type": "string" +}, +"score": { +"description": "Output only. Question Answering Relevance score.", +"format": "float", +"readOnly": true, +"type": "number" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1QuestionAnsweringRelevanceSpec": { +"description": "Spec for question answering relevance metric.", +"id": "GoogleCloudAiplatformV1QuestionAnsweringRelevanceSpec", +"properties": { +"useReference": { +"description": "Optional. Whether to use instance.reference to compute question answering relevance.", +"type": "boolean" +}, +"version": { +"description": "Optional. Which version to use for evaluation.", +"format": "int32", +"type": "integer" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1RagContexts": { +"description": "Relevant contexts for one query.", +"id": "GoogleCloudAiplatformV1RagContexts", +"properties": { +"contexts": { +"description": "All its contexts.", +"items": { +"$ref": "GoogleCloudAiplatformV1RagContextsContext" +}, +"type": "array" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1RagContextsContext": { +"description": "A context of the query.", +"id": "GoogleCloudAiplatformV1RagContextsContext", +"properties": { +"score": { +"description": "According to the underlying Vector DB and the selected metric type, the score can be either the distance or the similarity between the query and the context and its range depends on the metric type. For example, if the metric type is COSINE_DISTANCE, it represents the distance between the query and the context. The larger the distance, the less relevant the context is to the query. The range is [0, 2], while 0 means the most relevant and 2 means the least relevant.", +"format": "double", +"type": "number" +}, +"sourceDisplayName": { +"description": "The file display name.", +"type": "string" +}, +"sourceUri": { +"description": "If the file is imported from Cloud Storage or Google Drive, source_uri will be original file URI in Cloud Storage or Google Drive; if file is uploaded, source_uri will be file display name.", +"type": "string" +}, +"text": { +"description": "The text chunk.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1RagCorpus": { +"description": "A RagCorpus is a RagFile container and a project can have multiple RagCorpora.", +"id": "GoogleCloudAiplatformV1RagCorpus", +"properties": { +"corpusStatus": { +"$ref": "GoogleCloudAiplatformV1CorpusStatus", +"description": "Output only. RagCorpus state.", +"readOnly": true +}, +"createTime": { +"description": "Output only. Timestamp when this RagCorpus was created.", +"format": "google-datetime", +"readOnly": true, +"type": "string" +}, +"description": { +"description": "Optional. The description of the RagCorpus.", +"type": "string" +}, +"displayName": { +"description": "Required. The display name of the RagCorpus. The name can be up to 128 characters long and can consist of any UTF-8 characters.", +"type": "string" +}, +"name": { +"description": "Output only. The resource name of the RagCorpus.", +"readOnly": true, +"type": "string" +}, +"updateTime": { +"description": "Output only. Timestamp when this RagCorpus was last updated.", +"format": "google-datetime", +"readOnly": true, +"type": "string" +}, +"vectorDbConfig": { +"$ref": "GoogleCloudAiplatformV1RagVectorDbConfig", +"description": "Optional. Immutable. The config for the Vector DBs." +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1RagEmbeddingModelConfig": { +"description": "Config for the embedding model to use for RAG.", +"id": "GoogleCloudAiplatformV1RagEmbeddingModelConfig", +"properties": { +"vertexPredictionEndpoint": { +"$ref": "GoogleCloudAiplatformV1RagEmbeddingModelConfigVertexPredictionEndpoint", +"description": "The Vertex AI Prediction Endpoint that either refers to a publisher model or an endpoint that is hosting a 1P fine-tuned text embedding model. Endpoints hosting non-1P fine-tuned text embedding models are currently not supported. This is used for dense vector search." +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1RagEmbeddingModelConfigVertexPredictionEndpoint": { +"description": "Config representing a model hosted on Vertex Prediction Endpoint.", +"id": "GoogleCloudAiplatformV1RagEmbeddingModelConfigVertexPredictionEndpoint", +"properties": { +"endpoint": { +"description": "Required. The endpoint resource name. Format: `projects/{project}/locations/{location}/publishers/{publisher}/models/{model}` or `projects/{project}/locations/{location}/endpoints/{endpoint}`", +"type": "string" +}, +"model": { +"description": "Output only. The resource name of the model that is deployed on the endpoint. Present only when the endpoint is not a publisher model. Pattern: `projects/{project}/locations/{location}/models/{model}`", +"readOnly": true, +"type": "string" +}, +"modelVersionId": { +"description": "Output only. Version ID of the model that is deployed on the endpoint. Present only when the endpoint is not a publisher model.", +"readOnly": true, +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1RagFile": { +"description": "A RagFile contains user data for chunking, embedding and indexing.", +"id": "GoogleCloudAiplatformV1RagFile", +"properties": { +"createTime": { +"description": "Output only. Timestamp when this RagFile was created.", +"format": "google-datetime", +"readOnly": true, +"type": "string" +}, +"description": { +"description": "Optional. The description of the RagFile.", +"type": "string" +}, +"directUploadSource": { +"$ref": "GoogleCloudAiplatformV1DirectUploadSource", +"description": "Output only. The RagFile is encapsulated and uploaded in the UploadRagFile request.", +"readOnly": true +}, +"displayName": { +"description": "Required. The display name of the RagFile. The name can be up to 128 characters long and can consist of any UTF-8 characters.", +"type": "string" +}, +"fileStatus": { +"$ref": "GoogleCloudAiplatformV1FileStatus", +"description": "Output only. State of the RagFile.", +"readOnly": true +}, +"gcsSource": { +"$ref": "GoogleCloudAiplatformV1GcsSource", +"description": "Output only. Google Cloud Storage location of the RagFile. It does not support wildcards in the Cloud Storage uri for now.", +"readOnly": true +}, +"googleDriveSource": { +"$ref": "GoogleCloudAiplatformV1GoogleDriveSource", +"description": "Output only. Google Drive location. Supports importing individual files as well as Google Drive folders.", +"readOnly": true +}, +"jiraSource": { +"$ref": "GoogleCloudAiplatformV1JiraSource", +"description": "The RagFile is imported from a Jira query." +}, +"name": { +"description": "Output only. The resource name of the RagFile.", +"readOnly": true, +"type": "string" +}, +"sharePointSources": { +"$ref": "GoogleCloudAiplatformV1SharePointSources", +"description": "The RagFile is imported from a SharePoint source." +}, +"slackSource": { +"$ref": "GoogleCloudAiplatformV1SlackSource", +"description": "The RagFile is imported from a Slack channel." +}, +"updateTime": { +"description": "Output only. Timestamp when this RagFile was last updated.", +"format": "google-datetime", +"readOnly": true, +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1RagFileChunkingConfig": { +"description": "Specifies the size and overlap of chunks for RagFiles.", +"id": "GoogleCloudAiplatformV1RagFileChunkingConfig", +"properties": { +"fixedLengthChunking": { +"$ref": "GoogleCloudAiplatformV1RagFileChunkingConfigFixedLengthChunking", +"description": "Specifies the fixed length chunking config." +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1RagFileChunkingConfigFixedLengthChunking": { +"description": "Specifies the fixed length chunking config.", +"id": "GoogleCloudAiplatformV1RagFileChunkingConfigFixedLengthChunking", +"properties": { +"chunkOverlap": { +"description": "The overlap between chunks.", +"format": "int32", +"type": "integer" +}, +"chunkSize": { +"description": "The size of the chunks.", +"format": "int32", +"type": "integer" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1RagFileTransformationConfig": { +"description": "Specifies the transformation config for RagFiles.", +"id": "GoogleCloudAiplatformV1RagFileTransformationConfig", +"properties": { +"ragFileChunkingConfig": { +"$ref": "GoogleCloudAiplatformV1RagFileChunkingConfig", +"description": "Specifies the chunking config for RagFiles." +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1RagQuery": { +"description": "A query to retrieve relevant contexts.", +"id": "GoogleCloudAiplatformV1RagQuery", +"properties": { +"ragRetrievalConfig": { +"$ref": "GoogleCloudAiplatformV1RagRetrievalConfig", +"description": "Optional. The retrieval config for the query." +}, +"text": { +"description": "Optional. The query in text format to get relevant contexts.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1RagRetrievalConfig": { +"description": "Specifies the context retrieval config.", +"id": "GoogleCloudAiplatformV1RagRetrievalConfig", +"properties": { +"filter": { +"$ref": "GoogleCloudAiplatformV1RagRetrievalConfigFilter", +"description": "Optional. Config for filters." +}, +"topK": { +"description": "Optional. The number of contexts to retrieve.", +"format": "int32", +"type": "integer" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1RagRetrievalConfigFilter": { +"description": "Config for filters.", +"id": "GoogleCloudAiplatformV1RagRetrievalConfigFilter", +"properties": { +"metadataFilter": { +"description": "Optional. String for metadata filtering.", +"type": "string" +}, +"vectorDistanceThreshold": { +"description": "Optional. Only returns contexts with vector distance smaller than the threshold.", +"format": "double", +"type": "number" +}, +"vectorSimilarityThreshold": { +"description": "Optional. Only returns contexts with vector similarity larger than the threshold.", +"format": "double", +"type": "number" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1RagVectorDbConfig": { +"description": "Config for the Vector DB to use for RAG.", +"id": "GoogleCloudAiplatformV1RagVectorDbConfig", +"properties": { +"apiAuth": { +"$ref": "GoogleCloudAiplatformV1ApiAuth", +"description": "Authentication config for the chosen Vector DB." +}, +"pinecone": { +"$ref": "GoogleCloudAiplatformV1RagVectorDbConfigPinecone", +"description": "The config for the Pinecone." +}, +"ragEmbeddingModelConfig": { +"$ref": "GoogleCloudAiplatformV1RagEmbeddingModelConfig", +"description": "Optional. Immutable. The embedding model config of the Vector DB." +}, +"ragManagedDb": { +"$ref": "GoogleCloudAiplatformV1RagVectorDbConfigRagManagedDb", +"description": "The config for the RAG-managed Vector DB." +}, +"vertexVectorSearch": { +"$ref": "GoogleCloudAiplatformV1RagVectorDbConfigVertexVectorSearch", +"description": "The config for the Vertex Vector Search." +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1RagVectorDbConfigPinecone": { +"description": "The config for the Pinecone.", +"id": "GoogleCloudAiplatformV1RagVectorDbConfigPinecone", +"properties": { +"indexName": { +"description": "Pinecone index name. This value cannot be changed after it's set.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1RagVectorDbConfigRagManagedDb": { +"description": "The config for the default RAG-managed Vector DB.", +"id": "GoogleCloudAiplatformV1RagVectorDbConfigRagManagedDb", +"properties": {}, +"type": "object" +}, +"GoogleCloudAiplatformV1RagVectorDbConfigVertexVectorSearch": { +"description": "The config for the Vertex Vector Search.", +"id": "GoogleCloudAiplatformV1RagVectorDbConfigVertexVectorSearch", +"properties": { +"index": { +"description": "The resource name of the Index. Format: `projects/{project}/locations/{location}/indexes/{index}`", +"type": "string" +}, +"indexEndpoint": { +"description": "The resource name of the Index Endpoint. Format: `projects/{project}/locations/{location}/indexEndpoints/{index_endpoint}`", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1RawPredictRequest": { +"description": "Request message for PredictionService.RawPredict.", +"id": "GoogleCloudAiplatformV1RawPredictRequest", +"properties": { +"httpBody": { +"$ref": "GoogleApiHttpBody", +"description": "The prediction input. Supports HTTP headers and arbitrary data payload. A DeployedModel may have an upper limit on the number of instances it supports per request. When this limit it is exceeded for an AutoML model, the RawPredict method returns an error. When this limit is exceeded for a custom-trained model, the behavior varies depending on the model. You can specify the schema for each instance in the predict_schemata.instance_schema_uri field when you create a Model. This schema applies when you deploy the `Model` as a `DeployedModel` to an Endpoint and use the `RawPredict` method." +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1RayLogsSpec": { +"description": "Configuration for the Ray OSS Logs.", +"id": "GoogleCloudAiplatformV1RayLogsSpec", +"properties": { +"disabled": { +"description": "Optional. Flag to disable the export of Ray OSS logs to Cloud Logging.", +"type": "boolean" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1RayMetricSpec": { +"description": "Configuration for the Ray metrics.", +"id": "GoogleCloudAiplatformV1RayMetricSpec", +"properties": { +"disabled": { +"description": "Optional. Flag to disable the Ray metrics collection.", +"type": "boolean" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1RaySpec": { +"description": "Configuration information for the Ray cluster. For experimental launch, Ray cluster creation and Persistent cluster creation are 1:1 mapping: We will provision all the nodes within the Persistent cluster as Ray nodes.", +"id": "GoogleCloudAiplatformV1RaySpec", +"properties": { +"headNodeResourcePoolId": { +"description": "Optional. This will be used to indicate which resource pool will serve as the Ray head node(the first node within that pool). Will use the machine from the first workerpool as the head node by default if this field isn't set.", +"type": "string" +}, +"imageUri": { +"description": "Optional. Default image for user to choose a preferred ML framework (for example, TensorFlow or Pytorch) by choosing from [Vertex prebuilt images](https://cloud.google.com/vertex-ai/docs/training/pre-built-containers). Either this or the resource_pool_images is required. Use this field if you need all the resource pools to have the same Ray image. Otherwise, use the {@code resource_pool_images} field.", +"type": "string" +}, +"rayLogsSpec": { +"$ref": "GoogleCloudAiplatformV1RayLogsSpec", +"description": "Optional. OSS Ray logging configurations." +}, +"rayMetricSpec": { +"$ref": "GoogleCloudAiplatformV1RayMetricSpec", +"description": "Optional. Ray metrics configurations." +}, +"resourcePoolImages": { +"additionalProperties": { +"type": "string" +}, +"description": "Optional. Required if image_uri isn't set. A map of resource_pool_id to prebuild Ray image if user need to use different images for different head/worker pools. This map needs to cover all the resource pool ids. Example: { \"ray_head_node_pool\": \"head image\" \"ray_worker_node_pool1\": \"worker image\" \"ray_worker_node_pool2\": \"another worker image\" }", +"type": "object" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1ReadFeatureValuesRequest": { +"description": "Request message for FeaturestoreOnlineServingService.ReadFeatureValues.", +"id": "GoogleCloudAiplatformV1ReadFeatureValuesRequest", +"properties": { +"entityId": { +"description": "Required. ID for a specific entity. For example, for a machine learning model predicting user clicks on a website, an entity ID could be `user_123`.", +"type": "string" +}, +"featureSelector": { +"$ref": "GoogleCloudAiplatformV1FeatureSelector", +"description": "Required. Selector choosing Features of the target EntityType." +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1ReadFeatureValuesResponse": { +"description": "Response message for FeaturestoreOnlineServingService.ReadFeatureValues.", +"id": "GoogleCloudAiplatformV1ReadFeatureValuesResponse", +"properties": { +"entityView": { +"$ref": "GoogleCloudAiplatformV1ReadFeatureValuesResponseEntityView", +"description": "Entity view with Feature values. This may be the entity in the Featurestore if values for all Features were requested, or a projection of the entity in the Featurestore if values for only some Features were requested." +}, +"header": { +"$ref": "GoogleCloudAiplatformV1ReadFeatureValuesResponseHeader", +"description": "Response header." +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1ReadFeatureValuesResponseEntityView": { +"description": "Entity view with Feature values.", +"id": "GoogleCloudAiplatformV1ReadFeatureValuesResponseEntityView", +"properties": { +"data": { +"description": "Each piece of data holds the k requested values for one requested Feature. If no values for the requested Feature exist, the corresponding cell will be empty. This has the same size and is in the same order as the features from the header ReadFeatureValuesResponse.header.", +"items": { +"$ref": "GoogleCloudAiplatformV1ReadFeatureValuesResponseEntityViewData" +}, +"type": "array" +}, +"entityId": { +"description": "ID of the requested entity.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1ReadFeatureValuesResponseEntityViewData": { +"description": "Container to hold value(s), successive in time, for one Feature from the request.", +"id": "GoogleCloudAiplatformV1ReadFeatureValuesResponseEntityViewData", +"properties": { +"value": { +"$ref": "GoogleCloudAiplatformV1FeatureValue", +"description": "Feature value if a single value is requested." +}, +"values": { +"$ref": "GoogleCloudAiplatformV1FeatureValueList", +"description": "Feature values list if values, successive in time, are requested. If the requested number of values is greater than the number of existing Feature values, nonexistent values are omitted instead of being returned as empty." +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1ReadFeatureValuesResponseFeatureDescriptor": { +"description": "Metadata for requested Features.", +"id": "GoogleCloudAiplatformV1ReadFeatureValuesResponseFeatureDescriptor", +"properties": { +"id": { +"description": "Feature ID.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1ReadFeatureValuesResponseHeader": { +"description": "Response header with metadata for the requested ReadFeatureValuesRequest.entity_type and Features.", +"id": "GoogleCloudAiplatformV1ReadFeatureValuesResponseHeader", +"properties": { +"entityType": { +"description": "The resource name of the EntityType from the ReadFeatureValuesRequest. Value format: `projects/{project}/locations/{location}/featurestores/{featurestore}/entityTypes/{entityType}`.", +"type": "string" +}, +"featureDescriptors": { +"description": "List of Feature metadata corresponding to each piece of ReadFeatureValuesResponse.EntityView.data.", +"items": { +"$ref": "GoogleCloudAiplatformV1ReadFeatureValuesResponseFeatureDescriptor" +}, +"type": "array" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1ReadIndexDatapointsRequest": { +"description": "The request message for MatchService.ReadIndexDatapoints.", +"id": "GoogleCloudAiplatformV1ReadIndexDatapointsRequest", +"properties": { +"deployedIndexId": { +"description": "The ID of the DeployedIndex that will serve the request.", +"type": "string" +}, +"ids": { +"description": "IDs of the datapoints to be searched for.", +"items": { +"type": "string" +}, +"type": "array" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1ReadIndexDatapointsResponse": { +"description": "The response message for MatchService.ReadIndexDatapoints.", +"id": "GoogleCloudAiplatformV1ReadIndexDatapointsResponse", +"properties": { +"datapoints": { +"description": "The result list of datapoints.", +"items": { +"$ref": "GoogleCloudAiplatformV1IndexDatapoint" +}, +"type": "array" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1ReadTensorboardBlobDataResponse": { +"description": "Response message for TensorboardService.ReadTensorboardBlobData.", +"id": "GoogleCloudAiplatformV1ReadTensorboardBlobDataResponse", +"properties": { +"blobs": { +"description": "Blob messages containing blob bytes.", +"items": { +"$ref": "GoogleCloudAiplatformV1TensorboardBlob" +}, +"type": "array" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1ReadTensorboardSizeResponse": { +"description": "Response message for TensorboardService.ReadTensorboardSize.", +"id": "GoogleCloudAiplatformV1ReadTensorboardSizeResponse", +"properties": { +"storageSizeByte": { +"description": "Payload storage size for the TensorBoard", +"format": "int64", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1ReadTensorboardTimeSeriesDataResponse": { +"description": "Response message for TensorboardService.ReadTensorboardTimeSeriesData.", +"id": "GoogleCloudAiplatformV1ReadTensorboardTimeSeriesDataResponse", +"properties": { +"timeSeriesData": { +"$ref": "GoogleCloudAiplatformV1TimeSeriesData", +"description": "The returned time series data." +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1ReadTensorboardUsageResponse": { +"description": "Response message for TensorboardService.ReadTensorboardUsage.", +"id": "GoogleCloudAiplatformV1ReadTensorboardUsageResponse", +"properties": { +"monthlyUsageData": { +"additionalProperties": { +"$ref": "GoogleCloudAiplatformV1ReadTensorboardUsageResponsePerMonthUsageData" +}, +"description": "Maps year-month (YYYYMM) string to per month usage data.", +"type": "object" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1ReadTensorboardUsageResponsePerMonthUsageData": { +"description": "Per month usage data", +"id": "GoogleCloudAiplatformV1ReadTensorboardUsageResponsePerMonthUsageData", +"properties": { +"userUsageData": { +"description": "Usage data for each user in the given month.", +"items": { +"$ref": "GoogleCloudAiplatformV1ReadTensorboardUsageResponsePerUserUsageData" +}, +"type": "array" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1ReadTensorboardUsageResponsePerUserUsageData": { +"description": "Per user usage data.", +"id": "GoogleCloudAiplatformV1ReadTensorboardUsageResponsePerUserUsageData", +"properties": { +"username": { +"description": "User's username", +"type": "string" +}, +"viewCount": { +"description": "Number of times the user has read data within the Tensorboard.", +"format": "int64", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1ReasoningEngine": { +"description": "ReasoningEngine provides a customizable runtime for models to determine which actions to take and in which order.", +"id": "GoogleCloudAiplatformV1ReasoningEngine", +"properties": { +"createTime": { +"description": "Output only. Timestamp when this ReasoningEngine was created.", +"format": "google-datetime", +"readOnly": true, +"type": "string" +}, +"description": { +"description": "Optional. The description of the ReasoningEngine.", +"type": "string" +}, +"displayName": { +"description": "Required. The display name of the ReasoningEngine.", +"type": "string" +}, +"etag": { +"description": "Optional. Used to perform consistent read-modify-write updates. If not set, a blind \"overwrite\" update happens.", +"type": "string" +}, +"name": { +"description": "Identifier. The resource name of the ReasoningEngine.", +"type": "string" +}, +"spec": { +"$ref": "GoogleCloudAiplatformV1ReasoningEngineSpec", +"description": "Required. Configurations of the ReasoningEngine" +}, +"updateTime": { +"description": "Output only. Timestamp when this ReasoningEngine was most recently updated.", +"format": "google-datetime", +"readOnly": true, +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1ReasoningEngineSpec": { +"description": "ReasoningEngine configurations", +"id": "GoogleCloudAiplatformV1ReasoningEngineSpec", +"properties": { +"classMethods": { +"description": "Optional. Declarations for object class methods in OpenAPI specification format.", +"items": { +"additionalProperties": { +"description": "Properties of the object.", +"type": "any" +}, +"type": "object" +}, +"type": "array" +}, +"packageSpec": { +"$ref": "GoogleCloudAiplatformV1ReasoningEngineSpecPackageSpec", +"description": "Required. User provided package spec of the ReasoningEngine." +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1ReasoningEngineSpecPackageSpec": { +"description": "User provided package spec like pickled object and package requirements.", +"id": "GoogleCloudAiplatformV1ReasoningEngineSpecPackageSpec", +"properties": { +"dependencyFilesGcsUri": { +"description": "Optional. The Cloud Storage URI of the dependency files in tar.gz format.", +"type": "string" +}, +"pickleObjectGcsUri": { +"description": "Optional. The Cloud Storage URI of the pickled python object.", +"type": "string" +}, +"pythonVersion": { +"description": "Optional. The Python version. Currently support 3.8, 3.9, 3.10, 3.11. If not specified, default value is 3.10.", +"type": "string" +}, +"requirementsGcsUri": { +"description": "Optional. The Cloud Storage URI of the `requirements.txt` file", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1RebaseTunedModelRequest": { +"description": "Request message for GenAiTuningService.RebaseTunedModel.", +"id": "GoogleCloudAiplatformV1RebaseTunedModelRequest", +"properties": { +"artifactDestination": { +"$ref": "GoogleCloudAiplatformV1GcsDestination", +"description": "Optional. The Google Cloud Storage location to write the artifacts." +}, +"deployToSameEndpoint": { +"description": "Optional. By default, bison to gemini migration will always create new model/endpoint, but for gemini-1.0 to gemini-1.5 migration, we default deploy to the same endpoint. See details in this Section.", +"type": "boolean" +}, +"tunedModelRef": { +"$ref": "GoogleCloudAiplatformV1TunedModelRef", +"description": "Required. TunedModel reference to retrieve the legacy model information." +}, +"tuningJob": { +"$ref": "GoogleCloudAiplatformV1TuningJob", +"description": "Optional. The TuningJob to be updated. Users can use this TuningJob field to overwrite tuning configs." +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1RebootPersistentResourceOperationMetadata": { +"description": "Details of operations that perform reboot PersistentResource.", +"id": "GoogleCloudAiplatformV1RebootPersistentResourceOperationMetadata", +"properties": { +"genericMetadata": { +"$ref": "GoogleCloudAiplatformV1GenericOperationMetadata", +"description": "Operation metadata for PersistentResource." +}, +"progressMessage": { +"description": "Progress Message for Reboot LRO", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1RebootPersistentResourceRequest": { +"description": "Request message for PersistentResourceService.RebootPersistentResource.", +"id": "GoogleCloudAiplatformV1RebootPersistentResourceRequest", +"properties": {}, +"type": "object" +}, +"GoogleCloudAiplatformV1RemoveContextChildrenRequest": { +"description": "Request message for MetadataService.DeleteContextChildrenRequest.", +"id": "GoogleCloudAiplatformV1RemoveContextChildrenRequest", +"properties": { +"childContexts": { +"description": "The resource names of the child Contexts.", +"items": { +"type": "string" +}, +"type": "array" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1RemoveContextChildrenResponse": { +"description": "Response message for MetadataService.RemoveContextChildren.", +"id": "GoogleCloudAiplatformV1RemoveContextChildrenResponse", +"properties": {}, +"type": "object" +}, +"GoogleCloudAiplatformV1RemoveDatapointsRequest": { +"description": "Request message for IndexService.RemoveDatapoints", +"id": "GoogleCloudAiplatformV1RemoveDatapointsRequest", +"properties": { +"datapointIds": { +"description": "A list of datapoint ids to be deleted.", +"items": { +"type": "string" +}, +"type": "array" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1RemoveDatapointsResponse": { +"description": "Response message for IndexService.RemoveDatapoints", +"id": "GoogleCloudAiplatformV1RemoveDatapointsResponse", +"properties": {}, +"type": "object" +}, +"GoogleCloudAiplatformV1ReservationAffinity": { +"description": "A ReservationAffinity can be used to configure a Vertex AI resource (e.g., a DeployedModel) to draw its Compute Engine resources from a Shared Reservation, or exclusively from on-demand capacity.", +"id": "GoogleCloudAiplatformV1ReservationAffinity", +"properties": { +"key": { +"description": "Optional. Corresponds to the label key of a reservation resource. To target a SPECIFIC_RESERVATION by name, use `compute.googleapis.com/reservation-name` as the key and specify the name of your reservation as its value.", +"type": "string" +}, +"reservationAffinityType": { +"description": "Required. Specifies the reservation affinity type.", +"enum": [ +"TYPE_UNSPECIFIED", +"NO_RESERVATION", +"ANY_RESERVATION", +"SPECIFIC_RESERVATION" +], +"enumDescriptions": [ +"Default value. This should not be used.", +"Do not consume from any reserved capacity, only use on-demand.", +"Consume any reservation available, falling back to on-demand.", +"Consume from a specific reservation. When chosen, the reservation must be identified via the `key` and `values` fields." +], +"type": "string" +}, +"values": { +"description": "Optional. Corresponds to the label values of a reservation resource. This must be the full resource name of the reservation.", +"items": { +"type": "string" +}, +"type": "array" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1ResourcePool": { +"description": "Represents the spec of a group of resources of the same type, for example machine type, disk, and accelerators, in a PersistentResource.", +"id": "GoogleCloudAiplatformV1ResourcePool", +"properties": { +"autoscalingSpec": { +"$ref": "GoogleCloudAiplatformV1ResourcePoolAutoscalingSpec", +"description": "Optional. Optional spec to configure GKE or Ray-on-Vertex autoscaling" +}, +"diskSpec": { +"$ref": "GoogleCloudAiplatformV1DiskSpec", +"description": "Optional. Disk spec for the machine in this node pool." +}, +"id": { +"description": "Immutable. The unique ID in a PersistentResource for referring to this resource pool. User can specify it if necessary. Otherwise, it's generated automatically.", +"type": "string" +}, +"machineSpec": { +"$ref": "GoogleCloudAiplatformV1MachineSpec", +"description": "Required. Immutable. The specification of a single machine." +}, +"replicaCount": { +"description": "Optional. The total number of machines to use for this resource pool.", +"format": "int64", +"type": "string" +}, +"usedReplicaCount": { +"description": "Output only. The number of machines currently in use by training jobs for this resource pool. Will replace idle_replica_count.", +"format": "int64", +"readOnly": true, +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1ResourcePoolAutoscalingSpec": { +"description": "The min/max number of replicas allowed if enabling autoscaling", +"id": "GoogleCloudAiplatformV1ResourcePoolAutoscalingSpec", +"properties": { +"maxReplicaCount": { +"description": "Optional. max replicas in the node pool, must be \u2265 replica_count and > min_replica_count or will throw error", +"format": "int64", +"type": "string" +}, +"minReplicaCount": { +"description": "Optional. min replicas in the node pool, must be \u2264 replica_count and < max_replica_count or will throw error. For autoscaling enabled Ray-on-Vertex, we allow min_replica_count of a resource_pool to be 0 to match the OSS Ray behavior(https://docs.ray.io/en/latest/cluster/vms/user-guides/configuring-autoscaling.html#cluster-config-parameters). As for Persistent Resource, the min_replica_count must be > 0, we added a corresponding validation inside CreatePersistentResourceRequestValidator.java.", +"format": "int64", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1ResourceRuntime": { +"description": "Persistent Cluster runtime information as output", +"id": "GoogleCloudAiplatformV1ResourceRuntime", +"properties": { +"accessUris": { +"additionalProperties": { +"type": "string" +}, +"description": "Output only. URIs for user to connect to the Cluster. Example: { \"RAY_HEAD_NODE_INTERNAL_IP\": \"head-node-IP:10001\" \"RAY_DASHBOARD_URI\": \"ray-dashboard-address:8888\" }", +"readOnly": true, +"type": "object" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1ResourceRuntimeSpec": { +"description": "Configuration for the runtime on a PersistentResource instance, including but not limited to: * Service accounts used to run the workloads. * Whether to make it a dedicated Ray Cluster.", +"id": "GoogleCloudAiplatformV1ResourceRuntimeSpec", +"properties": { +"raySpec": { +"$ref": "GoogleCloudAiplatformV1RaySpec", +"description": "Optional. Ray cluster configuration. Required when creating a dedicated RayCluster on the PersistentResource." +}, +"serviceAccountSpec": { +"$ref": "GoogleCloudAiplatformV1ServiceAccountSpec", +"description": "Optional. Configure the use of workload identity on the PersistentResource" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1ResourcesConsumed": { +"description": "Statistics information about resource consumption.", +"id": "GoogleCloudAiplatformV1ResourcesConsumed", +"properties": { +"replicaHours": { +"description": "Output only. The number of replica hours used. Note that many replicas may run in parallel, and additionally any given work may be queued for some time. Therefore this value is not strictly related to wall time.", +"format": "double", +"readOnly": true, +"type": "number" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1RestoreDatasetVersionOperationMetadata": { +"description": "Runtime operation information for DatasetService.RestoreDatasetVersion.", +"id": "GoogleCloudAiplatformV1RestoreDatasetVersionOperationMetadata", +"properties": { +"genericMetadata": { +"$ref": "GoogleCloudAiplatformV1GenericOperationMetadata", +"description": "The common part of the operation metadata." +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1ResumeModelDeploymentMonitoringJobRequest": { +"description": "Request message for JobService.ResumeModelDeploymentMonitoringJob.", +"id": "GoogleCloudAiplatformV1ResumeModelDeploymentMonitoringJobRequest", +"properties": {}, +"type": "object" +}, +"GoogleCloudAiplatformV1ResumeScheduleRequest": { +"description": "Request message for ScheduleService.ResumeSchedule.", +"id": "GoogleCloudAiplatformV1ResumeScheduleRequest", +"properties": { +"catchUp": { +"description": "Optional. Whether to backfill missed runs when the schedule is resumed from PAUSED state. If set to true, all missed runs will be scheduled. New runs will be scheduled after the backfill is complete. This will also update Schedule.catch_up field. Default to false.", +"type": "boolean" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1Retrieval": { +"description": "Defines a retrieval tool that model can call to access external knowledge.", +"id": "GoogleCloudAiplatformV1Retrieval", +"properties": { +"disableAttribution": { +"deprecated": true, +"description": "Optional. Deprecated. This option is no longer supported.", +"type": "boolean" +}, +"vertexAiSearch": { +"$ref": "GoogleCloudAiplatformV1VertexAISearch", +"description": "Set to use data source powered by Vertex AI Search." +}, +"vertexRagStore": { +"$ref": "GoogleCloudAiplatformV1VertexRagStore", +"description": "Set to use data source powered by Vertex RAG store. User data is uploaded via the VertexRagDataService." +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1RetrievalMetadata": { +"description": "Metadata related to retrieval in the grounding flow.", +"id": "GoogleCloudAiplatformV1RetrievalMetadata", +"properties": { +"googleSearchDynamicRetrievalScore": { +"description": "Optional. Score indicating how likely information from Google Search could help answer the prompt. The score is in the range `[0, 1]`, where 0 is the least likely and 1 is the most likely. This score is only populated when Google Search grounding and dynamic retrieval is enabled. It will be compared to the threshold to determine whether to trigger Google Search.", +"format": "float", +"type": "number" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1RetrieveContextsRequest": { +"description": "Request message for VertexRagService.RetrieveContexts.", +"id": "GoogleCloudAiplatformV1RetrieveContextsRequest", +"properties": { +"query": { +"$ref": "GoogleCloudAiplatformV1RagQuery", +"description": "Required. Single RAG retrieve query." +}, +"vertexRagStore": { +"$ref": "GoogleCloudAiplatformV1RetrieveContextsRequestVertexRagStore", +"description": "The data source for Vertex RagStore." +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1RetrieveContextsRequestVertexRagStore": { +"description": "The data source for Vertex RagStore.", +"id": "GoogleCloudAiplatformV1RetrieveContextsRequestVertexRagStore", +"properties": { +"ragResources": { +"description": "Optional. The representation of the rag source. It can be used to specify corpus only or ragfiles. Currently only support one corpus or multiple files from one corpus. In the future we may open up multiple corpora support.", +"items": { +"$ref": "GoogleCloudAiplatformV1RetrieveContextsRequestVertexRagStoreRagResource" +}, +"type": "array" +}, +"vectorDistanceThreshold": { +"deprecated": true, +"description": "Optional. Only return contexts with vector distance smaller than the threshold.", +"format": "double", +"type": "number" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1RetrieveContextsRequestVertexRagStoreRagResource": { +"description": "The definition of the Rag resource.", +"id": "GoogleCloudAiplatformV1RetrieveContextsRequestVertexRagStoreRagResource", +"properties": { +"ragCorpus": { +"description": "Optional. RagCorpora resource name. Format: `projects/{project}/locations/{location}/ragCorpora/{rag_corpus}`", +"type": "string" +}, +"ragFileIds": { +"description": "Optional. rag_file_id. The files should be in the same rag_corpus set in rag_corpus field.", +"items": { +"type": "string" +}, +"type": "array" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1RetrieveContextsResponse": { +"description": "Response message for VertexRagService.RetrieveContexts.", +"id": "GoogleCloudAiplatformV1RetrieveContextsResponse", +"properties": { +"contexts": { +"$ref": "GoogleCloudAiplatformV1RagContexts", +"description": "The contexts of the query." +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1RougeInput": { +"description": "Input for rouge metric.", +"id": "GoogleCloudAiplatformV1RougeInput", +"properties": { +"instances": { +"description": "Required. Repeated rouge instances.", +"items": { +"$ref": "GoogleCloudAiplatformV1RougeInstance" +}, +"type": "array" +}, +"metricSpec": { +"$ref": "GoogleCloudAiplatformV1RougeSpec", +"description": "Required. Spec for rouge score metric." +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1RougeInstance": { +"description": "Spec for rouge instance.", +"id": "GoogleCloudAiplatformV1RougeInstance", +"properties": { +"prediction": { +"description": "Required. Output of the evaluated model.", +"type": "string" +}, +"reference": { +"description": "Required. Ground truth used to compare against the prediction.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1RougeMetricValue": { +"description": "Rouge metric value for an instance.", +"id": "GoogleCloudAiplatformV1RougeMetricValue", +"properties": { +"score": { +"description": "Output only. Rouge score.", +"format": "float", +"readOnly": true, +"type": "number" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1RougeResults": { +"description": "Results for rouge metric.", +"id": "GoogleCloudAiplatformV1RougeResults", +"properties": { +"rougeMetricValues": { +"description": "Output only. Rouge metric values.", +"items": { +"$ref": "GoogleCloudAiplatformV1RougeMetricValue" +}, +"readOnly": true, +"type": "array" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1RougeSpec": { +"description": "Spec for rouge score metric - calculates the recall of n-grams in prediction as compared to reference - returns a score ranging between 0 and 1.", +"id": "GoogleCloudAiplatformV1RougeSpec", +"properties": { +"rougeType": { +"description": "Optional. Supported rouge types are rougen[1-9], rougeL, and rougeLsum.", +"type": "string" +}, +"splitSummaries": { +"description": "Optional. Whether to split summaries while using rougeLsum.", +"type": "boolean" +}, +"useStemmer": { +"description": "Optional. Whether to use stemmer to compute rouge score.", +"type": "boolean" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1SafetyInput": { +"description": "Input for safety metric.", +"id": "GoogleCloudAiplatformV1SafetyInput", +"properties": { +"instance": { +"$ref": "GoogleCloudAiplatformV1SafetyInstance", +"description": "Required. Safety instance." +}, +"metricSpec": { +"$ref": "GoogleCloudAiplatformV1SafetySpec", +"description": "Required. Spec for safety metric." +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1SafetyInstance": { +"description": "Spec for safety instance.", +"id": "GoogleCloudAiplatformV1SafetyInstance", +"properties": { +"prediction": { +"description": "Required. Output of the evaluated model.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1SafetyRating": { +"description": "Safety rating corresponding to the generated content.", +"id": "GoogleCloudAiplatformV1SafetyRating", +"properties": { +"blocked": { +"description": "Output only. Indicates whether the content was filtered out because of this rating.", +"readOnly": true, +"type": "boolean" +}, +"category": { +"description": "Output only. Harm category.", +"enum": [ +"HARM_CATEGORY_UNSPECIFIED", +"HARM_CATEGORY_HATE_SPEECH", +"HARM_CATEGORY_DANGEROUS_CONTENT", +"HARM_CATEGORY_HARASSMENT", +"HARM_CATEGORY_SEXUALLY_EXPLICIT", +"HARM_CATEGORY_CIVIC_INTEGRITY" +], +"enumDescriptions": [ +"The harm category is unspecified.", +"The harm category is hate speech.", +"The harm category is dangerous content.", +"The harm category is harassment.", +"The harm category is sexually explicit content.", +"The harm category is civic integrity." +], +"readOnly": true, +"type": "string" +}, +"probability": { +"description": "Output only. Harm probability levels in the content.", +"enum": [ +"HARM_PROBABILITY_UNSPECIFIED", +"NEGLIGIBLE", +"LOW", +"MEDIUM", +"HIGH" +], +"enumDescriptions": [ +"Harm probability unspecified.", +"Negligible level of harm.", +"Low level of harm.", +"Medium level of harm.", +"High level of harm." +], +"readOnly": true, +"type": "string" +}, +"probabilityScore": { +"description": "Output only. Harm probability score.", +"format": "float", +"readOnly": true, +"type": "number" +}, +"severity": { +"description": "Output only. Harm severity levels in the content.", +"enum": [ +"HARM_SEVERITY_UNSPECIFIED", +"HARM_SEVERITY_NEGLIGIBLE", +"HARM_SEVERITY_LOW", +"HARM_SEVERITY_MEDIUM", +"HARM_SEVERITY_HIGH" +], +"enumDescriptions": [ +"Harm severity unspecified.", +"Negligible level of harm severity.", +"Low level of harm severity.", +"Medium level of harm severity.", +"High level of harm severity." +], +"readOnly": true, +"type": "string" +}, +"severityScore": { +"description": "Output only. Harm severity score.", +"format": "float", +"readOnly": true, +"type": "number" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1SafetyResult": { +"description": "Spec for safety result.", +"id": "GoogleCloudAiplatformV1SafetyResult", +"properties": { +"confidence": { +"description": "Output only. Confidence for safety score.", +"format": "float", +"readOnly": true, +"type": "number" +}, +"explanation": { +"description": "Output only. Explanation for safety score.", +"readOnly": true, +"type": "string" +}, +"score": { +"description": "Output only. Safety score.", +"format": "float", +"readOnly": true, +"type": "number" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1SafetySetting": { +"description": "Safety settings.", +"id": "GoogleCloudAiplatformV1SafetySetting", +"properties": { +"category": { +"description": "Required. Harm category.", +"enum": [ +"HARM_CATEGORY_UNSPECIFIED", +"HARM_CATEGORY_HATE_SPEECH", +"HARM_CATEGORY_DANGEROUS_CONTENT", +"HARM_CATEGORY_HARASSMENT", +"HARM_CATEGORY_SEXUALLY_EXPLICIT", +"HARM_CATEGORY_CIVIC_INTEGRITY" +], +"enumDescriptions": [ +"The harm category is unspecified.", +"The harm category is hate speech.", +"The harm category is dangerous content.", +"The harm category is harassment.", +"The harm category is sexually explicit content.", +"The harm category is civic integrity." +], +"type": "string" +}, +"method": { +"description": "Optional. Specify if the threshold is used for probability or severity score. If not specified, the threshold is used for probability score.", +"enum": [ +"HARM_BLOCK_METHOD_UNSPECIFIED", +"SEVERITY", +"PROBABILITY" +], +"enumDescriptions": [ +"The harm block method is unspecified.", +"The harm block method uses both probability and severity scores.", +"The harm block method uses the probability score." +], +"type": "string" +}, +"threshold": { +"description": "Required. The harm block threshold.", +"enum": [ +"HARM_BLOCK_THRESHOLD_UNSPECIFIED", +"BLOCK_LOW_AND_ABOVE", +"BLOCK_MEDIUM_AND_ABOVE", +"BLOCK_ONLY_HIGH", +"BLOCK_NONE", +"OFF" +], +"enumDescriptions": [ +"Unspecified harm block threshold.", +"Block low threshold and above (i.e. block more).", +"Block medium threshold and above.", +"Block only high threshold (i.e. block less).", +"Block none.", +"Turn off the safety filter." +], +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1SafetySpec": { +"description": "Spec for safety metric.", +"id": "GoogleCloudAiplatformV1SafetySpec", +"properties": { +"version": { +"description": "Optional. Which version to use for evaluation.", +"format": "int32", +"type": "integer" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1SampleConfig": { +"description": "Active learning data sampling config. For every active learning labeling iteration, it will select a batch of data based on the sampling strategy.", +"id": "GoogleCloudAiplatformV1SampleConfig", +"properties": { +"followingBatchSamplePercentage": { +"description": "The percentage of data needed to be labeled in each following batch (except the first batch).", +"format": "int32", +"type": "integer" +}, +"initialBatchSamplePercentage": { +"description": "The percentage of data needed to be labeled in the first batch.", +"format": "int32", +"type": "integer" +}, +"sampleStrategy": { +"description": "Field to choose sampling strategy. Sampling strategy will decide which data should be selected for human labeling in every batch.", +"enum": [ +"SAMPLE_STRATEGY_UNSPECIFIED", +"UNCERTAINTY" +], +"enumDescriptions": [ +"Default will be treated as UNCERTAINTY.", +"Sample the most uncertain data to label." +], +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1SampledShapleyAttribution": { +"description": "An attribution method that approximates Shapley values for features that contribute to the label being predicted. A sampling strategy is used to approximate the value rather than considering all subsets of features.", +"id": "GoogleCloudAiplatformV1SampledShapleyAttribution", +"properties": { +"pathCount": { +"description": "Required. The number of feature permutations to consider when approximating the Shapley values. Valid range of its value is [1, 50], inclusively.", +"format": "int32", +"type": "integer" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1SamplingStrategy": { +"description": "Sampling Strategy for logging, can be for both training and prediction dataset.", +"id": "GoogleCloudAiplatformV1SamplingStrategy", +"properties": { +"randomSampleConfig": { +"$ref": "GoogleCloudAiplatformV1SamplingStrategyRandomSampleConfig", +"description": "Random sample config. Will support more sampling strategies later." +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1SamplingStrategyRandomSampleConfig": { +"description": "Requests are randomly selected.", +"id": "GoogleCloudAiplatformV1SamplingStrategyRandomSampleConfig", +"properties": { +"sampleRate": { +"description": "Sample rate (0, 1]", +"format": "double", +"type": "number" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1SavedQuery": { +"description": "A SavedQuery is a view of the dataset. It references a subset of annotations by problem type and filters.", +"id": "GoogleCloudAiplatformV1SavedQuery", +"properties": { +"annotationFilter": { +"description": "Output only. Filters on the Annotations in the dataset.", +"readOnly": true, +"type": "string" +}, +"annotationSpecCount": { +"description": "Output only. Number of AnnotationSpecs in the context of the SavedQuery.", +"format": "int32", +"readOnly": true, +"type": "integer" +}, +"createTime": { +"description": "Output only. Timestamp when this SavedQuery was created.", +"format": "google-datetime", +"readOnly": true, +"type": "string" +}, +"displayName": { +"description": "Required. The user-defined name of the SavedQuery. The name can be up to 128 characters long and can consist of any UTF-8 characters.", +"type": "string" +}, +"etag": { +"description": "Used to perform a consistent read-modify-write update. If not set, a blind \"overwrite\" update happens.", +"type": "string" +}, +"metadata": { +"description": "Some additional information about the SavedQuery.", +"type": "any" +}, +"name": { +"description": "Output only. Resource name of the SavedQuery.", +"readOnly": true, +"type": "string" +}, +"problemType": { +"description": "Required. Problem type of the SavedQuery. Allowed values: * IMAGE_CLASSIFICATION_SINGLE_LABEL * IMAGE_CLASSIFICATION_MULTI_LABEL * IMAGE_BOUNDING_POLY * IMAGE_BOUNDING_BOX * TEXT_CLASSIFICATION_SINGLE_LABEL * TEXT_CLASSIFICATION_MULTI_LABEL * TEXT_EXTRACTION * TEXT_SENTIMENT * VIDEO_CLASSIFICATION * VIDEO_OBJECT_TRACKING", +"type": "string" +}, +"supportAutomlTraining": { +"description": "Output only. If the Annotations belonging to the SavedQuery can be used for AutoML training.", +"readOnly": true, +"type": "boolean" +}, +"updateTime": { +"description": "Output only. Timestamp when SavedQuery was last updated.", +"format": "google-datetime", +"readOnly": true, +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1Scalar": { +"description": "One point viewable on a scalar metric plot.", +"id": "GoogleCloudAiplatformV1Scalar", +"properties": { +"value": { +"description": "Value of the point at this step / timestamp.", +"format": "double", +"type": "number" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1Schedule": { +"description": "An instance of a Schedule periodically schedules runs to make API calls based on user specified time specification and API request type.", +"id": "GoogleCloudAiplatformV1Schedule", +"properties": { +"allowQueueing": { +"description": "Optional. Whether new scheduled runs can be queued when max_concurrent_runs limit is reached. If set to true, new runs will be queued instead of skipped. Default to false.", +"type": "boolean" +}, +"catchUp": { +"description": "Output only. Whether to backfill missed runs when the schedule is resumed from PAUSED state. If set to true, all missed runs will be scheduled. New runs will be scheduled after the backfill is complete. Default to false.", +"readOnly": true, +"type": "boolean" +}, +"createNotebookExecutionJobRequest": { +"$ref": "GoogleCloudAiplatformV1CreateNotebookExecutionJobRequest", +"description": "Request for NotebookService.CreateNotebookExecutionJob." +}, +"createPipelineJobRequest": { +"$ref": "GoogleCloudAiplatformV1CreatePipelineJobRequest", +"description": "Request for PipelineService.CreatePipelineJob. CreatePipelineJobRequest.parent field is required (format: projects/{project}/locations/{location})." +}, +"createTime": { +"description": "Output only. Timestamp when this Schedule was created.", +"format": "google-datetime", +"readOnly": true, +"type": "string" +}, +"cron": { +"description": "Cron schedule (https://en.wikipedia.org/wiki/Cron) to launch scheduled runs. To explicitly set a timezone to the cron tab, apply a prefix in the cron tab: \"CRON_TZ=${IANA_TIME_ZONE}\" or \"TZ=${IANA_TIME_ZONE}\". The ${IANA_TIME_ZONE} may only be a valid string from IANA time zone database. For example, \"CRON_TZ=America/New_York 1 * * * *\", or \"TZ=America/New_York 1 * * * *\".", +"type": "string" +}, +"displayName": { +"description": "Required. User provided name of the Schedule. The name can be up to 128 characters long and can consist of any UTF-8 characters.", +"type": "string" +}, +"endTime": { +"description": "Optional. Timestamp after which no new runs can be scheduled. If specified, The schedule will be completed when either end_time is reached or when scheduled_run_count >= max_run_count. If not specified, new runs will keep getting scheduled until this Schedule is paused or deleted. Already scheduled runs will be allowed to complete. Unset if not specified.", +"format": "google-datetime", +"type": "string" +}, +"lastPauseTime": { +"description": "Output only. Timestamp when this Schedule was last paused. Unset if never paused.", +"format": "google-datetime", +"readOnly": true, +"type": "string" +}, +"lastResumeTime": { +"description": "Output only. Timestamp when this Schedule was last resumed. Unset if never resumed from pause.", +"format": "google-datetime", +"readOnly": true, +"type": "string" +}, +"lastScheduledRunResponse": { +"$ref": "GoogleCloudAiplatformV1ScheduleRunResponse", +"description": "Output only. Response of the last scheduled run. This is the response for starting the scheduled requests and not the execution of the operations/jobs created by the requests (if applicable). Unset if no run has been scheduled yet.", +"readOnly": true +}, +"maxConcurrentRunCount": { +"description": "Required. Maximum number of runs that can be started concurrently for this Schedule. This is the limit for starting the scheduled requests and not the execution of the operations/jobs created by the requests (if applicable).", +"format": "int64", +"type": "string" +}, +"maxRunCount": { +"description": "Optional. Maximum run count of the schedule. If specified, The schedule will be completed when either started_run_count >= max_run_count or when end_time is reached. If not specified, new runs will keep getting scheduled until this Schedule is paused or deleted. Already scheduled runs will be allowed to complete. Unset if not specified.", +"format": "int64", +"type": "string" +}, +"name": { +"description": "Immutable. The resource name of the Schedule.", +"type": "string" +}, +"nextRunTime": { +"description": "Output only. Timestamp when this Schedule should schedule the next run. Having a next_run_time in the past means the runs are being started behind schedule.", +"format": "google-datetime", +"readOnly": true, +"type": "string" +}, +"startTime": { +"description": "Optional. Timestamp after which the first run can be scheduled. Default to Schedule create time if not specified.", +"format": "google-datetime", +"type": "string" +}, +"startedRunCount": { +"description": "Output only. The number of runs started by this schedule.", +"format": "int64", +"readOnly": true, +"type": "string" +}, +"state": { +"description": "Output only. The state of this Schedule.", +"enum": [ +"STATE_UNSPECIFIED", +"ACTIVE", +"PAUSED", +"COMPLETED" +], +"enumDescriptions": [ +"Unspecified.", +"The Schedule is active. Runs are being scheduled on the user-specified timespec.", +"The schedule is paused. No new runs will be created until the schedule is resumed. Already started runs will be allowed to complete.", +"The Schedule is completed. No new runs will be scheduled. Already started runs will be allowed to complete. Schedules in completed state cannot be paused or resumed." +], +"readOnly": true, +"type": "string" +}, +"updateTime": { +"description": "Output only. Timestamp when this Schedule was updated.", +"format": "google-datetime", +"readOnly": true, +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1ScheduleRunResponse": { +"description": "Status of a scheduled run.", +"id": "GoogleCloudAiplatformV1ScheduleRunResponse", +"properties": { +"runResponse": { +"description": "The response of the scheduled run.", +"type": "string" +}, +"scheduledRunTime": { +"description": "The scheduled run time based on the user-specified schedule.", +"format": "google-datetime", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1Scheduling": { +"description": "All parameters related to queuing and scheduling of custom jobs.", +"id": "GoogleCloudAiplatformV1Scheduling", +"properties": { +"disableRetries": { +"description": "Optional. Indicates if the job should retry for internal errors after the job starts running. If true, overrides `Scheduling.restart_job_on_worker_restart` to false.", +"type": "boolean" +}, +"maxWaitDuration": { +"description": "Optional. This is the maximum duration that a job will wait for the requested resources to be provisioned if the scheduling strategy is set to [Strategy.DWS_FLEX_START]. If set to 0, the job will wait indefinitely. The default is 24 hours.", +"format": "google-duration", +"type": "string" +}, +"restartJobOnWorkerRestart": { +"description": "Optional. Restarts the entire CustomJob if a worker gets restarted. This feature can be used by distributed training jobs that are not resilient to workers leaving and joining a job.", +"type": "boolean" +}, +"strategy": { +"description": "Optional. This determines which type of scheduling strategy to use.", +"enum": [ +"STRATEGY_UNSPECIFIED", +"ON_DEMAND", +"LOW_COST", +"STANDARD", +"SPOT", +"FLEX_START" +], +"enumDeprecated": [ +false, +true, +true, +false, +false, +false +], +"enumDescriptions": [ +"Strategy will default to STANDARD.", +"Deprecated. Regular on-demand provisioning strategy.", +"Deprecated. Low cost by making potential use of spot resources.", +"Standard provisioning strategy uses regular on-demand resources.", +"Spot provisioning strategy uses spot resources.", +"Flex Start strategy uses DWS to queue for resources." +], +"type": "string" +}, +"timeout": { +"description": "Optional. The maximum job running time. The default is 7 days.", +"format": "google-duration", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1Schema": { +"description": "Schema is used to define the format of input/output data. Represents a select subset of an [OpenAPI 3.0 schema object](https://spec.openapis.org/oas/v3.0.3#schema-object). More fields may be added in the future as needed.", +"id": "GoogleCloudAiplatformV1Schema", +"properties": { +"anyOf": { +"description": "Optional. The value should be validated against any (one or more) of the subschemas in the list.", +"items": { +"$ref": "GoogleCloudAiplatformV1Schema" +}, +"type": "array" +}, +"default": { +"description": "Optional. Default value of the data.", +"type": "any" +}, +"description": { +"description": "Optional. The description of the data.", +"type": "string" +}, +"enum": { +"description": "Optional. Possible values of the element of primitive type with enum format. Examples: 1. We can define direction as : {type:STRING, format:enum, enum:[\"EAST\", NORTH\", \"SOUTH\", \"WEST\"]} 2. We can define apartment number as : {type:INTEGER, format:enum, enum:[\"101\", \"201\", \"301\"]}", +"items": { +"type": "string" +}, +"type": "array" +}, +"example": { +"description": "Optional. Example of the object. Will only populated when the object is the root.", +"type": "any" +}, +"format": { +"description": "Optional. The format of the data. Supported formats: for NUMBER type: \"float\", \"double\" for INTEGER type: \"int32\", \"int64\" for STRING type: \"email\", \"byte\", etc", +"type": "string" +}, +"items": { +"$ref": "GoogleCloudAiplatformV1Schema", +"description": "Optional. SCHEMA FIELDS FOR TYPE ARRAY Schema of the elements of Type.ARRAY." +}, +"maxItems": { +"description": "Optional. Maximum number of the elements for Type.ARRAY.", +"format": "int64", +"type": "string" +}, +"maxLength": { +"description": "Optional. Maximum length of the Type.STRING", +"format": "int64", +"type": "string" +}, +"maxProperties": { +"description": "Optional. Maximum number of the properties for Type.OBJECT.", +"format": "int64", +"type": "string" +}, +"maximum": { +"description": "Optional. Maximum value of the Type.INTEGER and Type.NUMBER", +"format": "double", +"type": "number" +}, +"minItems": { +"description": "Optional. Minimum number of the elements for Type.ARRAY.", +"format": "int64", +"type": "string" +}, +"minLength": { +"description": "Optional. SCHEMA FIELDS FOR TYPE STRING Minimum length of the Type.STRING", +"format": "int64", +"type": "string" +}, +"minProperties": { +"description": "Optional. Minimum number of the properties for Type.OBJECT.", +"format": "int64", +"type": "string" +}, +"minimum": { +"description": "Optional. SCHEMA FIELDS FOR TYPE INTEGER and NUMBER Minimum value of the Type.INTEGER and Type.NUMBER", +"format": "double", +"type": "number" +}, +"nullable": { +"description": "Optional. Indicates if the value may be null.", +"type": "boolean" +}, +"pattern": { +"description": "Optional. Pattern of the Type.STRING to restrict a string to a regular expression.", +"type": "string" +}, +"properties": { +"additionalProperties": { +"$ref": "GoogleCloudAiplatformV1Schema" +}, +"description": "Optional. SCHEMA FIELDS FOR TYPE OBJECT Properties of Type.OBJECT.", +"type": "object" +}, +"propertyOrdering": { +"description": "Optional. The order of the properties. Not a standard field in open api spec. Only used to support the order of the properties.", +"items": { +"type": "string" +}, +"type": "array" +}, +"required": { +"description": "Optional. Required properties of Type.OBJECT.", +"items": { +"type": "string" +}, +"type": "array" +}, +"title": { +"description": "Optional. The title of the Schema.", +"type": "string" +}, +"type": { +"description": "Optional. The type of the data.", +"enum": [ +"TYPE_UNSPECIFIED", +"STRING", +"NUMBER", +"INTEGER", +"BOOLEAN", +"ARRAY", +"OBJECT" +], +"enumDescriptions": [ +"Not specified, should not be used.", +"OpenAPI string type", +"OpenAPI number type", +"OpenAPI integer type", +"OpenAPI boolean type", +"OpenAPI array type", +"OpenAPI object type" +], +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1SchemaAnnotationSpecColor": { +"description": "An entry of mapping between color and AnnotationSpec. The mapping is used in segmentation mask.", +"id": "GoogleCloudAiplatformV1SchemaAnnotationSpecColor", +"properties": { +"color": { +"$ref": "GoogleTypeColor", +"description": "The color of the AnnotationSpec in a segmentation mask." +}, +"displayName": { +"description": "The display name of the AnnotationSpec represented by the color in the segmentation mask.", +"type": "string" +}, +"id": { +"description": "The ID of the AnnotationSpec represented by the color in the segmentation mask.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1SchemaImageBoundingBoxAnnotation": { +"description": "Annotation details specific to image object detection.", +"id": "GoogleCloudAiplatformV1SchemaImageBoundingBoxAnnotation", +"properties": { +"annotationSpecId": { +"description": "The resource Id of the AnnotationSpec that this Annotation pertains to.", +"type": "string" +}, +"displayName": { +"description": "The display name of the AnnotationSpec that this Annotation pertains to.", +"type": "string" +}, +"xMax": { +"description": "The rightmost coordinate of the bounding box.", +"format": "double", +"type": "number" +}, +"xMin": { +"description": "The leftmost coordinate of the bounding box.", +"format": "double", +"type": "number" +}, +"yMax": { +"description": "The bottommost coordinate of the bounding box.", +"format": "double", +"type": "number" +}, +"yMin": { +"description": "The topmost coordinate of the bounding box.", +"format": "double", +"type": "number" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1SchemaImageClassificationAnnotation": { +"description": "Annotation details specific to image classification.", +"id": "GoogleCloudAiplatformV1SchemaImageClassificationAnnotation", +"properties": { +"annotationSpecId": { +"description": "The resource Id of the AnnotationSpec that this Annotation pertains to.", +"type": "string" +}, +"displayName": { +"description": "The display name of the AnnotationSpec that this Annotation pertains to.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1SchemaImageDataItem": { +"description": "Payload of Image DataItem.", +"id": "GoogleCloudAiplatformV1SchemaImageDataItem", +"properties": { +"gcsUri": { +"description": "Required. Google Cloud Storage URI points to the original image in user's bucket. The image is up to 30MB in size.", +"type": "string" +}, +"mimeType": { +"description": "Output only. The mime type of the content of the image. Only the images in below listed mime types are supported. - image/jpeg - image/gif - image/png - image/webp - image/bmp - image/tiff - image/vnd.microsoft.icon", +"readOnly": true, +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1SchemaImageDatasetMetadata": { +"description": "The metadata of Datasets that contain Image DataItems.", +"id": "GoogleCloudAiplatformV1SchemaImageDatasetMetadata", +"properties": { +"dataItemSchemaUri": { +"description": "Points to a YAML file stored on Google Cloud Storage describing payload of the Image DataItems that belong to this Dataset.", +"type": "string" +}, +"gcsBucket": { +"description": "Google Cloud Storage Bucket name that contains the blob data of this Dataset.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1SchemaImageSegmentationAnnotation": { +"description": "Annotation details specific to image segmentation.", +"id": "GoogleCloudAiplatformV1SchemaImageSegmentationAnnotation", +"properties": { +"maskAnnotation": { +"$ref": "GoogleCloudAiplatformV1SchemaImageSegmentationAnnotationMaskAnnotation", +"description": "Mask based segmentation annotation. Only one mask annotation can exist for one image." +}, +"polygonAnnotation": { +"$ref": "GoogleCloudAiplatformV1SchemaImageSegmentationAnnotationPolygonAnnotation", +"description": "Polygon annotation." +}, +"polylineAnnotation": { +"$ref": "GoogleCloudAiplatformV1SchemaImageSegmentationAnnotationPolylineAnnotation", +"description": "Polyline annotation." +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1SchemaImageSegmentationAnnotationMaskAnnotation": { +"description": "The mask based segmentation annotation.", +"id": "GoogleCloudAiplatformV1SchemaImageSegmentationAnnotationMaskAnnotation", +"properties": { +"annotationSpecColors": { +"description": "The mapping between color and AnnotationSpec for this Annotation.", +"items": { +"$ref": "GoogleCloudAiplatformV1SchemaAnnotationSpecColor" +}, +"type": "array" +}, +"maskGcsUri": { +"description": "Google Cloud Storage URI that points to the mask image. The image must be in PNG format. It must have the same size as the DataItem's image. Each pixel in the image mask represents the AnnotationSpec which the pixel in the image DataItem belong to. Each color is mapped to one AnnotationSpec based on annotation_spec_colors.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1SchemaImageSegmentationAnnotationPolygonAnnotation": { +"description": "Represents a polygon in image.", +"id": "GoogleCloudAiplatformV1SchemaImageSegmentationAnnotationPolygonAnnotation", +"properties": { +"annotationSpecId": { +"description": "The resource Id of the AnnotationSpec that this Annotation pertains to.", +"type": "string" +}, +"displayName": { +"description": "The display name of the AnnotationSpec that this Annotation pertains to.", +"type": "string" +}, +"vertexes": { +"description": "The vertexes are connected one by one and the last vertex is connected to the first one to represent a polygon.", +"items": { +"$ref": "GoogleCloudAiplatformV1SchemaVertex" +}, +"type": "array" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1SchemaImageSegmentationAnnotationPolylineAnnotation": { +"description": "Represents a polyline in image.", +"id": "GoogleCloudAiplatformV1SchemaImageSegmentationAnnotationPolylineAnnotation", +"properties": { +"annotationSpecId": { +"description": "The resource Id of the AnnotationSpec that this Annotation pertains to.", +"type": "string" +}, +"displayName": { +"description": "The display name of the AnnotationSpec that this Annotation pertains to.", +"type": "string" +}, +"vertexes": { +"description": "The vertexes are connected one by one and the last vertex in not connected to the first one.", +"items": { +"$ref": "GoogleCloudAiplatformV1SchemaVertex" +}, +"type": "array" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1SchemaModelevaluationMetricsBoundingBoxMetrics": { +"description": "Bounding box matching model metrics for a single intersection-over-union threshold and multiple label match confidence thresholds.", +"id": "GoogleCloudAiplatformV1SchemaModelevaluationMetricsBoundingBoxMetrics", +"properties": { +"confidenceMetrics": { +"description": "Metrics for each label-match confidence_threshold from 0.05,0.10,...,0.95,0.96,0.97,0.98,0.99. Precision-recall curve is derived from them.", +"items": { +"$ref": "GoogleCloudAiplatformV1SchemaModelevaluationMetricsBoundingBoxMetricsConfidenceMetrics" +}, +"type": "array" +}, +"iouThreshold": { +"description": "The intersection-over-union threshold value used to compute this metrics entry.", +"format": "float", +"type": "number" +}, +"meanAveragePrecision": { +"description": "The mean average precision, most often close to `auPrc`.", +"format": "float", +"type": "number" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1SchemaModelevaluationMetricsBoundingBoxMetricsConfidenceMetrics": { +"description": "Metrics for a single confidence threshold.", +"id": "GoogleCloudAiplatformV1SchemaModelevaluationMetricsBoundingBoxMetricsConfidenceMetrics", +"properties": { +"confidenceThreshold": { +"description": "The confidence threshold value used to compute the metrics.", +"format": "float", +"type": "number" +}, +"f1Score": { +"description": "The harmonic mean of recall and precision.", +"format": "float", +"type": "number" +}, +"precision": { +"description": "Precision under the given confidence threshold.", +"format": "float", +"type": "number" +}, +"recall": { +"description": "Recall under the given confidence threshold.", +"format": "float", +"type": "number" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1SchemaModelevaluationMetricsClassificationEvaluationMetrics": { +"description": "Metrics for classification evaluation results.", +"id": "GoogleCloudAiplatformV1SchemaModelevaluationMetricsClassificationEvaluationMetrics", +"properties": { +"auPrc": { +"description": "The Area Under Precision-Recall Curve metric. Micro-averaged for the overall evaluation.", +"format": "float", +"type": "number" +}, +"auRoc": { +"description": "The Area Under Receiver Operating Characteristic curve metric. Micro-averaged for the overall evaluation.", +"format": "float", +"type": "number" +}, +"confidenceMetrics": { +"description": "Metrics for each `confidenceThreshold` in 0.00,0.05,0.10,...,0.95,0.96,0.97,0.98,0.99 and `positionThreshold` = INT32_MAX_VALUE. ROC and precision-recall curves, and other aggregated metrics are derived from them. The confidence metrics entries may also be supplied for additional values of `positionThreshold`, but from these no aggregated metrics are computed.", +"items": { +"$ref": "GoogleCloudAiplatformV1SchemaModelevaluationMetricsClassificationEvaluationMetricsConfidenceMetrics" +}, +"type": "array" +}, +"confusionMatrix": { +"$ref": "GoogleCloudAiplatformV1SchemaModelevaluationMetricsConfusionMatrix", +"description": "Confusion matrix of the evaluation." +}, +"logLoss": { +"description": "The Log Loss metric.", +"format": "float", +"type": "number" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1SchemaModelevaluationMetricsClassificationEvaluationMetricsConfidenceMetrics": { +"id": "GoogleCloudAiplatformV1SchemaModelevaluationMetricsClassificationEvaluationMetricsConfidenceMetrics", +"properties": { +"confidenceThreshold": { +"description": "Metrics are computed with an assumption that the Model never returns predictions with score lower than this value.", +"format": "float", +"type": "number" +}, +"confusionMatrix": { +"$ref": "GoogleCloudAiplatformV1SchemaModelevaluationMetricsConfusionMatrix", +"description": "Confusion matrix of the evaluation for this confidence_threshold." +}, +"f1Score": { +"description": "The harmonic mean of recall and precision. For summary metrics, it computes the micro-averaged F1 score.", +"format": "float", +"type": "number" +}, +"f1ScoreAt1": { +"description": "The harmonic mean of recallAt1 and precisionAt1.", +"format": "float", +"type": "number" +}, +"f1ScoreMacro": { +"description": "Macro-averaged F1 Score.", +"format": "float", +"type": "number" +}, +"f1ScoreMicro": { +"description": "Micro-averaged F1 Score.", +"format": "float", +"type": "number" +}, +"falseNegativeCount": { +"description": "The number of ground truth labels that are not matched by a Model created label.", +"format": "int64", +"type": "string" +}, +"falsePositiveCount": { +"description": "The number of Model created labels that do not match a ground truth label.", +"format": "int64", +"type": "string" +}, +"falsePositiveRate": { +"description": "False Positive Rate for the given confidence threshold.", +"format": "float", +"type": "number" +}, +"falsePositiveRateAt1": { +"description": "The False Positive Rate when only considering the label that has the highest prediction score and not below the confidence threshold for each DataItem.", +"format": "float", +"type": "number" +}, +"maxPredictions": { +"description": "Metrics are computed with an assumption that the Model always returns at most this many predictions (ordered by their score, descendingly), but they all still need to meet the `confidenceThreshold`.", +"format": "int32", +"type": "integer" +}, +"precision": { +"description": "Precision for the given confidence threshold.", +"format": "float", +"type": "number" +}, +"precisionAt1": { +"description": "The precision when only considering the label that has the highest prediction score and not below the confidence threshold for each DataItem.", +"format": "float", +"type": "number" +}, +"recall": { +"description": "Recall (True Positive Rate) for the given confidence threshold.", +"format": "float", +"type": "number" +}, +"recallAt1": { +"description": "The Recall (True Positive Rate) when only considering the label that has the highest prediction score and not below the confidence threshold for each DataItem.", +"format": "float", +"type": "number" +}, +"trueNegativeCount": { +"description": "The number of labels that were not created by the Model, but if they would, they would not match a ground truth label.", +"format": "int64", +"type": "string" +}, +"truePositiveCount": { +"description": "The number of Model created labels that match a ground truth label.", +"format": "int64", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1SchemaModelevaluationMetricsConfusionMatrix": { +"id": "GoogleCloudAiplatformV1SchemaModelevaluationMetricsConfusionMatrix", +"properties": { +"annotationSpecs": { +"description": "AnnotationSpecs used in the confusion matrix. For AutoML Text Extraction, a special negative AnnotationSpec with empty `id` and `displayName` of \"NULL\" will be added as the last element.", +"items": { +"$ref": "GoogleCloudAiplatformV1SchemaModelevaluationMetricsConfusionMatrixAnnotationSpecRef" +}, +"type": "array" +}, +"rows": { +"description": "Rows in the confusion matrix. The number of rows is equal to the size of `annotationSpecs`. `rowsi` is the number of DataItems that have ground truth of the `annotationSpecs[i]` and are predicted as `annotationSpecs[j]` by the Model being evaluated. For Text Extraction, when `annotationSpecs[i]` is the last element in `annotationSpecs`, i.e. the special negative AnnotationSpec, `rowsi` is the number of predicted entities of `annoatationSpec[j]` that are not labeled as any of the ground truth AnnotationSpec. When annotationSpecs[j] is the special negative AnnotationSpec, `rowsi` is the number of entities have ground truth of `annotationSpec[i]` that are not predicted as an entity by the Model. The value of the last cell, i.e. `rowi` where i == j and `annotationSpec[i]` is the special negative AnnotationSpec, is always 0.", +"items": { +"items": { +"type": "any" +}, +"type": "array" +}, +"type": "array" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1SchemaModelevaluationMetricsConfusionMatrixAnnotationSpecRef": { +"id": "GoogleCloudAiplatformV1SchemaModelevaluationMetricsConfusionMatrixAnnotationSpecRef", +"properties": { +"displayName": { +"description": "Display name of the AnnotationSpec.", +"type": "string" +}, +"id": { +"description": "ID of the AnnotationSpec.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1SchemaModelevaluationMetricsForecastingEvaluationMetrics": { +"description": "Metrics for forecasting evaluation results.", +"id": "GoogleCloudAiplatformV1SchemaModelevaluationMetricsForecastingEvaluationMetrics", +"properties": { +"meanAbsoluteError": { +"description": "Mean Absolute Error (MAE).", +"format": "float", +"type": "number" +}, +"meanAbsolutePercentageError": { +"description": "Mean absolute percentage error. Infinity when there are zeros in the ground truth.", +"format": "float", +"type": "number" +}, +"quantileMetrics": { +"description": "The quantile metrics entries for each quantile.", +"items": { +"$ref": "GoogleCloudAiplatformV1SchemaModelevaluationMetricsForecastingEvaluationMetricsQuantileMetricsEntry" +}, +"type": "array" +}, +"rSquared": { +"description": "Coefficient of determination as Pearson correlation coefficient. Undefined when ground truth or predictions are constant or near constant.", +"format": "float", +"type": "number" +}, +"rootMeanSquaredError": { +"description": "Root Mean Squared Error (RMSE).", +"format": "float", +"type": "number" +}, +"rootMeanSquaredLogError": { +"description": "Root mean squared log error. Undefined when there are negative ground truth values or predictions.", +"format": "float", +"type": "number" +}, +"rootMeanSquaredPercentageError": { +"description": "Root Mean Square Percentage Error. Square root of MSPE. Undefined/imaginary when MSPE is negative.", +"format": "float", +"type": "number" +}, +"weightedAbsolutePercentageError": { +"description": "Weighted Absolute Percentage Error. Does not use weights, this is just what the metric is called. Undefined if actual values sum to zero. Will be very large if actual values sum to a very small number.", +"format": "float", +"type": "number" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1SchemaModelevaluationMetricsForecastingEvaluationMetricsQuantileMetricsEntry": { +"description": "Entry for the Quantiles loss type optimization objective.", +"id": "GoogleCloudAiplatformV1SchemaModelevaluationMetricsForecastingEvaluationMetricsQuantileMetricsEntry", +"properties": { +"observedQuantile": { +"description": "This is a custom metric that calculates the percentage of true values that were less than the predicted value for that quantile. Only populated when optimization_objective is minimize-quantile-loss and each entry corresponds to an entry in quantiles The percent value can be used to compare with the quantile value, which is the target value.", +"format": "double", +"type": "number" +}, +"quantile": { +"description": "The quantile for this entry.", +"format": "double", +"type": "number" +}, +"scaledPinballLoss": { +"description": "The scaled pinball loss of this quantile.", +"format": "float", +"type": "number" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1SchemaModelevaluationMetricsGeneralTextGenerationEvaluationMetrics": { +"id": "GoogleCloudAiplatformV1SchemaModelevaluationMetricsGeneralTextGenerationEvaluationMetrics", +"properties": { +"bleu": { +"description": "BLEU (bilingual evaluation understudy) scores based on sacrebleu implementation.", +"format": "float", +"type": "number" +}, +"rougeLSum": { +"description": "ROUGE-L (Longest Common Subsequence) scoring at summary level.", +"format": "float", +"type": "number" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1SchemaModelevaluationMetricsImageObjectDetectionEvaluationMetrics": { +"description": "Metrics for image object detection evaluation results.", +"id": "GoogleCloudAiplatformV1SchemaModelevaluationMetricsImageObjectDetectionEvaluationMetrics", +"properties": { +"boundingBoxMeanAveragePrecision": { +"description": "The single metric for bounding boxes evaluation: the `meanAveragePrecision` averaged over all `boundingBoxMetricsEntries`.", +"format": "float", +"type": "number" +}, +"boundingBoxMetrics": { +"description": "The bounding boxes match metrics for each intersection-over-union threshold 0.05,0.10,...,0.95,0.96,0.97,0.98,0.99 and each label confidence threshold 0.05,0.10,...,0.95,0.96,0.97,0.98,0.99 pair.", +"items": { +"$ref": "GoogleCloudAiplatformV1SchemaModelevaluationMetricsBoundingBoxMetrics" +}, +"type": "array" +}, +"evaluatedBoundingBoxCount": { +"description": "The total number of bounding boxes (i.e. summed over all images) the ground truth used to create this evaluation had.", +"format": "int32", +"type": "integer" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1SchemaModelevaluationMetricsImageSegmentationEvaluationMetrics": { +"description": "Metrics for image segmentation evaluation results.", +"id": "GoogleCloudAiplatformV1SchemaModelevaluationMetricsImageSegmentationEvaluationMetrics", +"properties": { +"confidenceMetricsEntries": { +"description": "Metrics for each confidenceThreshold in 0.00,0.05,0.10,...,0.95,0.96,0.97,0.98,0.99 Precision-recall curve can be derived from it.", +"items": { +"$ref": "GoogleCloudAiplatformV1SchemaModelevaluationMetricsImageSegmentationEvaluationMetricsConfidenceMetricsEntry" +}, +"type": "array" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1SchemaModelevaluationMetricsImageSegmentationEvaluationMetricsConfidenceMetricsEntry": { +"id": "GoogleCloudAiplatformV1SchemaModelevaluationMetricsImageSegmentationEvaluationMetricsConfidenceMetricsEntry", +"properties": { +"confidenceThreshold": { +"description": "Metrics are computed with an assumption that the model never returns predictions with score lower than this value.", +"format": "float", +"type": "number" +}, +"confusionMatrix": { +"$ref": "GoogleCloudAiplatformV1SchemaModelevaluationMetricsConfusionMatrix", +"description": "Confusion matrix for the given confidence threshold." +}, +"diceScoreCoefficient": { +"description": "DSC or the F1 score, The harmonic mean of recall and precision.", +"format": "float", +"type": "number" +}, +"iouScore": { +"description": "The intersection-over-union score. The measure of overlap of the annotation's category mask with ground truth category mask on the DataItem.", +"format": "float", +"type": "number" +}, +"precision": { +"description": "Precision for the given confidence threshold.", +"format": "float", +"type": "number" +}, +"recall": { +"description": "Recall (True Positive Rate) for the given confidence threshold.", +"format": "float", +"type": "number" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1SchemaModelevaluationMetricsPairwiseTextGenerationEvaluationMetrics": { +"description": "Metrics for general pairwise text generation evaluation results.", +"id": "GoogleCloudAiplatformV1SchemaModelevaluationMetricsPairwiseTextGenerationEvaluationMetrics", +"properties": { +"accuracy": { +"description": "Fraction of cases where the autorater agreed with the human raters.", +"format": "float", +"type": "number" +}, +"baselineModelWinRate": { +"description": "Percentage of time the autorater decided the baseline model had the better response.", +"format": "float", +"type": "number" +}, +"cohensKappa": { +"description": "A measurement of agreement between the autorater and human raters that takes the likelihood of random agreement into account.", +"format": "float", +"type": "number" +}, +"f1Score": { +"description": "Harmonic mean of precision and recall.", +"format": "float", +"type": "number" +}, +"falseNegativeCount": { +"description": "Number of examples where the autorater chose the baseline model, but humans preferred the model.", +"format": "int64", +"type": "string" +}, +"falsePositiveCount": { +"description": "Number of examples where the autorater chose the model, but humans preferred the baseline model.", +"format": "int64", +"type": "string" +}, +"humanPreferenceBaselineModelWinRate": { +"description": "Percentage of time humans decided the baseline model had the better response.", +"format": "float", +"type": "number" +}, +"humanPreferenceModelWinRate": { +"description": "Percentage of time humans decided the model had the better response.", +"format": "float", +"type": "number" +}, +"modelWinRate": { +"description": "Percentage of time the autorater decided the model had the better response.", +"format": "float", +"type": "number" +}, +"precision": { +"description": "Fraction of cases where the autorater and humans thought the model had a better response out of all cases where the autorater thought the model had a better response. True positive divided by all positive.", +"format": "float", +"type": "number" +}, +"recall": { +"description": "Fraction of cases where the autorater and humans thought the model had a better response out of all cases where the humans thought the model had a better response.", +"format": "float", +"type": "number" +}, +"trueNegativeCount": { +"description": "Number of examples where both the autorater and humans decided that the model had the worse response.", +"format": "int64", +"type": "string" +}, +"truePositiveCount": { +"description": "Number of examples where both the autorater and humans decided that the model had the better response.", +"format": "int64", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1SchemaModelevaluationMetricsQuestionAnsweringEvaluationMetrics": { +"id": "GoogleCloudAiplatformV1SchemaModelevaluationMetricsQuestionAnsweringEvaluationMetrics", +"properties": { +"exactMatch": { +"description": "The rate at which the input predicted strings exactly match their references.", +"format": "float", +"type": "number" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1SchemaModelevaluationMetricsRegressionEvaluationMetrics": { +"description": "Metrics for regression evaluation results.", +"id": "GoogleCloudAiplatformV1SchemaModelevaluationMetricsRegressionEvaluationMetrics", +"properties": { +"meanAbsoluteError": { +"description": "Mean Absolute Error (MAE).", +"format": "float", +"type": "number" +}, +"meanAbsolutePercentageError": { +"description": "Mean absolute percentage error. Infinity when there are zeros in the ground truth.", +"format": "float", +"type": "number" +}, +"rSquared": { +"description": "Coefficient of determination as Pearson correlation coefficient. Undefined when ground truth or predictions are constant or near constant.", +"format": "float", +"type": "number" +}, +"rootMeanSquaredError": { +"description": "Root Mean Squared Error (RMSE).", +"format": "float", +"type": "number" +}, +"rootMeanSquaredLogError": { +"description": "Root mean squared log error. Undefined when there are negative ground truth values or predictions.", +"format": "float", +"type": "number" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1SchemaModelevaluationMetricsSummarizationEvaluationMetrics": { +"id": "GoogleCloudAiplatformV1SchemaModelevaluationMetricsSummarizationEvaluationMetrics", +"properties": { +"rougeLSum": { +"description": "ROUGE-L (Longest Common Subsequence) scoring at summary level.", +"format": "float", +"type": "number" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1SchemaModelevaluationMetricsTextExtractionEvaluationMetrics": { +"description": "Metrics for text extraction evaluation results.", +"id": "GoogleCloudAiplatformV1SchemaModelevaluationMetricsTextExtractionEvaluationMetrics", +"properties": { +"confidenceMetrics": { +"description": "Metrics that have confidence thresholds. Precision-recall curve can be derived from them.", +"items": { +"$ref": "GoogleCloudAiplatformV1SchemaModelevaluationMetricsTextExtractionEvaluationMetricsConfidenceMetrics" +}, +"type": "array" +}, +"confusionMatrix": { +"$ref": "GoogleCloudAiplatformV1SchemaModelevaluationMetricsConfusionMatrix", +"description": "Confusion matrix of the evaluation. Only set for Models where number of AnnotationSpecs is no more than 10. Only set for ModelEvaluations, not for ModelEvaluationSlices." +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1SchemaModelevaluationMetricsTextExtractionEvaluationMetricsConfidenceMetrics": { +"id": "GoogleCloudAiplatformV1SchemaModelevaluationMetricsTextExtractionEvaluationMetricsConfidenceMetrics", +"properties": { +"confidenceThreshold": { +"description": "Metrics are computed with an assumption that the Model never returns predictions with score lower than this value.", +"format": "float", +"type": "number" +}, +"f1Score": { +"description": "The harmonic mean of recall and precision.", +"format": "float", +"type": "number" +}, +"precision": { +"description": "Precision for the given confidence threshold.", +"format": "float", +"type": "number" +}, +"recall": { +"description": "Recall (True Positive Rate) for the given confidence threshold.", +"format": "float", +"type": "number" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1SchemaModelevaluationMetricsTextSentimentEvaluationMetrics": { +"description": "Model evaluation metrics for text sentiment problems.", +"id": "GoogleCloudAiplatformV1SchemaModelevaluationMetricsTextSentimentEvaluationMetrics", +"properties": { +"confusionMatrix": { +"$ref": "GoogleCloudAiplatformV1SchemaModelevaluationMetricsConfusionMatrix", +"description": "Confusion matrix of the evaluation. Only set for ModelEvaluations, not for ModelEvaluationSlices." +}, +"f1Score": { +"description": "The harmonic mean of recall and precision.", +"format": "float", +"type": "number" +}, +"linearKappa": { +"description": "Linear weighted kappa. Only set for ModelEvaluations, not for ModelEvaluationSlices.", +"format": "float", +"type": "number" +}, +"meanAbsoluteError": { +"description": "Mean absolute error. Only set for ModelEvaluations, not for ModelEvaluationSlices.", +"format": "float", +"type": "number" +}, +"meanSquaredError": { +"description": "Mean squared error. Only set for ModelEvaluations, not for ModelEvaluationSlices.", +"format": "float", +"type": "number" +}, +"precision": { +"description": "Precision.", +"format": "float", +"type": "number" +}, +"quadraticKappa": { +"description": "Quadratic weighted kappa. Only set for ModelEvaluations, not for ModelEvaluationSlices.", +"format": "float", +"type": "number" +}, +"recall": { +"description": "Recall.", +"format": "float", +"type": "number" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1SchemaModelevaluationMetricsTrackMetrics": { +"description": "UNIMPLEMENTED. Track matching model metrics for a single track match threshold and multiple label match confidence thresholds.", +"id": "GoogleCloudAiplatformV1SchemaModelevaluationMetricsTrackMetrics", +"properties": { +"confidenceMetrics": { +"description": "Metrics for each label-match `confidenceThreshold` from 0.05,0.10,...,0.95,0.96,0.97,0.98,0.99. Precision-recall curve is derived from them.", +"items": { +"$ref": "GoogleCloudAiplatformV1SchemaModelevaluationMetricsTrackMetricsConfidenceMetrics" +}, +"type": "array" +}, +"iouThreshold": { +"description": "The intersection-over-union threshold value between bounding boxes across frames used to compute this metric entry.", +"format": "float", +"type": "number" +}, +"meanBoundingBoxIou": { +"description": "The mean bounding box iou over all confidence thresholds.", +"format": "float", +"type": "number" +}, +"meanMismatchRate": { +"description": "The mean mismatch rate over all confidence thresholds.", +"format": "float", +"type": "number" +}, +"meanTrackingAveragePrecision": { +"description": "The mean average precision over all confidence thresholds.", +"format": "float", +"type": "number" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1SchemaModelevaluationMetricsTrackMetricsConfidenceMetrics": { +"description": "Metrics for a single confidence threshold.", +"id": "GoogleCloudAiplatformV1SchemaModelevaluationMetricsTrackMetricsConfidenceMetrics", +"properties": { +"boundingBoxIou": { +"description": "Bounding box intersection-over-union precision. Measures how well the bounding boxes overlap between each other (e.g. complete overlap or just barely above iou_threshold).", +"format": "float", +"type": "number" +}, +"confidenceThreshold": { +"description": "The confidence threshold value used to compute the metrics.", +"format": "float", +"type": "number" +}, +"mismatchRate": { +"description": "Mismatch rate, which measures the tracking consistency, i.e. correctness of instance ID continuity.", +"format": "float", +"type": "number" +}, +"trackingPrecision": { +"description": "Tracking precision.", +"format": "float", +"type": "number" +}, +"trackingRecall": { +"description": "Tracking recall.", +"format": "float", +"type": "number" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1SchemaModelevaluationMetricsVideoActionMetrics": { +"description": "The Evaluation metrics given a specific precision_window_length.", +"id": "GoogleCloudAiplatformV1SchemaModelevaluationMetricsVideoActionMetrics", +"properties": { +"confidenceMetrics": { +"description": "Metrics for each label-match confidence_threshold from 0.05,0.10,...,0.95,0.96,0.97,0.98,0.99.", +"items": { +"$ref": "GoogleCloudAiplatformV1SchemaModelevaluationMetricsVideoActionMetricsConfidenceMetrics" +}, +"type": "array" +}, +"meanAveragePrecision": { +"description": "The mean average precision.", +"format": "float", +"type": "number" +}, +"precisionWindowLength": { +"description": "This VideoActionMetrics is calculated based on this prediction window length. If the predicted action's timestamp is inside the time window whose center is the ground truth action's timestamp with this specific length, the prediction result is treated as a true positive.", +"format": "google-duration", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1SchemaModelevaluationMetricsVideoActionMetricsConfidenceMetrics": { +"description": "Metrics for a single confidence threshold.", +"id": "GoogleCloudAiplatformV1SchemaModelevaluationMetricsVideoActionMetricsConfidenceMetrics", +"properties": { +"confidenceThreshold": { +"description": "Output only. The confidence threshold value used to compute the metrics.", +"format": "float", +"type": "number" +}, +"f1Score": { +"description": "Output only. The harmonic mean of recall and precision.", +"format": "float", +"type": "number" +}, +"precision": { +"description": "Output only. Precision for the given confidence threshold.", +"format": "float", +"type": "number" +}, +"recall": { +"description": "Output only. Recall for the given confidence threshold.", +"format": "float", +"type": "number" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1SchemaModelevaluationMetricsVideoActionRecognitionMetrics": { +"description": "Model evaluation metrics for video action recognition.", +"id": "GoogleCloudAiplatformV1SchemaModelevaluationMetricsVideoActionRecognitionMetrics", +"properties": { +"evaluatedActionCount": { +"description": "The number of ground truth actions used to create this evaluation.", +"format": "int32", +"type": "integer" +}, +"videoActionMetrics": { +"description": "The metric entries for precision window lengths: 1s,2s,3s.", +"items": { +"$ref": "GoogleCloudAiplatformV1SchemaModelevaluationMetricsVideoActionMetrics" +}, +"type": "array" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1SchemaModelevaluationMetricsVideoObjectTrackingMetrics": { +"description": "Model evaluation metrics for video object tracking problems. Evaluates prediction quality of both labeled bounding boxes and labeled tracks (i.e. series of bounding boxes sharing same label and instance ID).", +"id": "GoogleCloudAiplatformV1SchemaModelevaluationMetricsVideoObjectTrackingMetrics", +"properties": { +"boundingBoxMeanAveragePrecision": { +"description": "The single metric for bounding boxes evaluation: the `meanAveragePrecision` averaged over all `boundingBoxMetrics`.", +"format": "float", +"type": "number" +}, +"boundingBoxMetrics": { +"description": "The bounding boxes match metrics for each intersection-over-union threshold 0.05,0.10,...,0.95,0.96,0.97,0.98,0.99 and each label confidence threshold 0.05,0.10,...,0.95,0.96,0.97,0.98,0.99 pair.", +"items": { +"$ref": "GoogleCloudAiplatformV1SchemaModelevaluationMetricsBoundingBoxMetrics" +}, +"type": "array" +}, +"evaluatedBoundingBoxCount": { +"description": "UNIMPLEMENTED. The total number of bounding boxes (i.e. summed over all frames) the ground truth used to create this evaluation had.", +"format": "int32", +"type": "integer" +}, +"evaluatedFrameCount": { +"description": "UNIMPLEMENTED. The number of video frames used to create this evaluation.", +"format": "int32", +"type": "integer" +}, +"evaluatedTrackCount": { +"description": "UNIMPLEMENTED. The total number of tracks (i.e. as seen across all frames) the ground truth used to create this evaluation had.", +"format": "int32", +"type": "integer" +}, +"trackMeanAveragePrecision": { +"description": "UNIMPLEMENTED. The single metric for tracks accuracy evaluation: the `meanAveragePrecision` averaged over all `trackMetrics`.", +"format": "float", +"type": "number" +}, +"trackMeanBoundingBoxIou": { +"description": "UNIMPLEMENTED. The single metric for tracks bounding box iou evaluation: the `meanBoundingBoxIou` averaged over all `trackMetrics`.", +"format": "float", +"type": "number" +}, +"trackMeanMismatchRate": { +"description": "UNIMPLEMENTED. The single metric for tracking consistency evaluation: the `meanMismatchRate` averaged over all `trackMetrics`.", +"format": "float", +"type": "number" +}, +"trackMetrics": { +"description": "UNIMPLEMENTED. The tracks match metrics for each intersection-over-union threshold 0.05,0.10,...,0.95,0.96,0.97,0.98,0.99 and each label confidence threshold 0.05,0.10,...,0.95,0.96,0.97,0.98,0.99 pair.", +"items": { +"$ref": "GoogleCloudAiplatformV1SchemaModelevaluationMetricsTrackMetrics" +}, +"type": "array" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1SchemaPredictInstanceImageClassificationPredictionInstance": { +"description": "Prediction input format for Image Classification.", +"id": "GoogleCloudAiplatformV1SchemaPredictInstanceImageClassificationPredictionInstance", +"properties": { +"content": { +"description": "The image bytes or Cloud Storage URI to make the prediction on.", +"type": "string" +}, +"mimeType": { +"description": "The MIME type of the content of the image. Only the images in below listed MIME types are supported. - image/jpeg - image/gif - image/png - image/webp - image/bmp - image/tiff - image/vnd.microsoft.icon", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1SchemaPredictInstanceImageObjectDetectionPredictionInstance": { +"description": "Prediction input format for Image Object Detection.", +"id": "GoogleCloudAiplatformV1SchemaPredictInstanceImageObjectDetectionPredictionInstance", +"properties": { +"content": { +"description": "The image bytes or Cloud Storage URI to make the prediction on.", +"type": "string" +}, +"mimeType": { +"description": "The MIME type of the content of the image. Only the images in below listed MIME types are supported. - image/jpeg - image/gif - image/png - image/webp - image/bmp - image/tiff - image/vnd.microsoft.icon", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1SchemaPredictInstanceImageSegmentationPredictionInstance": { +"description": "Prediction input format for Image Segmentation.", +"id": "GoogleCloudAiplatformV1SchemaPredictInstanceImageSegmentationPredictionInstance", +"properties": { +"content": { +"description": "The image bytes to make the predictions on.", +"type": "string" +}, +"mimeType": { +"description": "The MIME type of the content of the image. Only the images in below listed MIME types are supported. - image/jpeg - image/png", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1SchemaPredictInstanceTextClassificationPredictionInstance": { +"description": "Prediction input format for Text Classification.", +"id": "GoogleCloudAiplatformV1SchemaPredictInstanceTextClassificationPredictionInstance", +"properties": { +"content": { +"description": "The text snippet to make the predictions on.", +"type": "string" +}, +"mimeType": { +"description": "The MIME type of the text snippet. The supported MIME types are listed below. - text/plain", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1SchemaPredictInstanceTextExtractionPredictionInstance": { +"description": "Prediction input format for Text Extraction.", +"id": "GoogleCloudAiplatformV1SchemaPredictInstanceTextExtractionPredictionInstance", +"properties": { +"content": { +"description": "The text snippet to make the predictions on.", +"type": "string" +}, +"key": { +"description": "This field is only used for batch prediction. If a key is provided, the batch prediction result will by mapped to this key. If omitted, then the batch prediction result will contain the entire input instance. Vertex AI will not check if keys in the request are duplicates, so it is up to the caller to ensure the keys are unique.", +"type": "string" +}, +"mimeType": { +"description": "The MIME type of the text snippet. The supported MIME types are listed below. - text/plain", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1SchemaPredictInstanceTextSentimentPredictionInstance": { +"description": "Prediction input format for Text Sentiment.", +"id": "GoogleCloudAiplatformV1SchemaPredictInstanceTextSentimentPredictionInstance", +"properties": { +"content": { +"description": "The text snippet to make the predictions on.", +"type": "string" +}, +"mimeType": { +"description": "The MIME type of the text snippet. The supported MIME types are listed below. - text/plain", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1SchemaPredictInstanceVideoActionRecognitionPredictionInstance": { +"description": "Prediction input format for Video Action Recognition.", +"id": "GoogleCloudAiplatformV1SchemaPredictInstanceVideoActionRecognitionPredictionInstance", +"properties": { +"content": { +"description": "The Google Cloud Storage location of the video on which to perform the prediction.", +"type": "string" +}, +"mimeType": { +"description": "The MIME type of the content of the video. Only the following are supported: video/mp4 video/avi video/quicktime", +"type": "string" +}, +"timeSegmentEnd": { +"description": "The end, exclusive, of the video's time segment on which to perform the prediction. Expressed as a number of seconds as measured from the start of the video, with \"s\" appended at the end. Fractions are allowed, up to a microsecond precision, and \"inf\" or \"Infinity\" is allowed, which means the end of the video.", +"type": "string" +}, +"timeSegmentStart": { +"description": "The beginning, inclusive, of the video's time segment on which to perform the prediction. Expressed as a number of seconds as measured from the start of the video, with \"s\" appended at the end. Fractions are allowed, up to a microsecond precision.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1SchemaPredictInstanceVideoClassificationPredictionInstance": { +"description": "Prediction input format for Video Classification.", +"id": "GoogleCloudAiplatformV1SchemaPredictInstanceVideoClassificationPredictionInstance", +"properties": { +"content": { +"description": "The Google Cloud Storage location of the video on which to perform the prediction.", +"type": "string" +}, +"mimeType": { +"description": "The MIME type of the content of the video. Only the following are supported: video/mp4 video/avi video/quicktime", +"type": "string" +}, +"timeSegmentEnd": { +"description": "The end, exclusive, of the video's time segment on which to perform the prediction. Expressed as a number of seconds as measured from the start of the video, with \"s\" appended at the end. Fractions are allowed, up to a microsecond precision, and \"inf\" or \"Infinity\" is allowed, which means the end of the video.", +"type": "string" +}, +"timeSegmentStart": { +"description": "The beginning, inclusive, of the video's time segment on which to perform the prediction. Expressed as a number of seconds as measured from the start of the video, with \"s\" appended at the end. Fractions are allowed, up to a microsecond precision.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1SchemaPredictInstanceVideoObjectTrackingPredictionInstance": { +"description": "Prediction input format for Video Object Tracking.", +"id": "GoogleCloudAiplatformV1SchemaPredictInstanceVideoObjectTrackingPredictionInstance", +"properties": { +"content": { +"description": "The Google Cloud Storage location of the video on which to perform the prediction.", +"type": "string" +}, +"mimeType": { +"description": "The MIME type of the content of the video. Only the following are supported: video/mp4 video/avi video/quicktime", +"type": "string" +}, +"timeSegmentEnd": { +"description": "The end, exclusive, of the video's time segment on which to perform the prediction. Expressed as a number of seconds as measured from the start of the video, with \"s\" appended at the end. Fractions are allowed, up to a microsecond precision, and \"inf\" or \"Infinity\" is allowed, which means the end of the video.", +"type": "string" +}, +"timeSegmentStart": { +"description": "The beginning, inclusive, of the video's time segment on which to perform the prediction. Expressed as a number of seconds as measured from the start of the video, with \"s\" appended at the end. Fractions are allowed, up to a microsecond precision.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1SchemaPredictParamsGroundingConfig": { +"description": "The configuration for grounding checking.", +"id": "GoogleCloudAiplatformV1SchemaPredictParamsGroundingConfig", +"properties": { +"disableAttribution": { +"deprecated": true, +"description": "If set, skip finding claim attributions (i.e not generate grounding citation).", +"type": "boolean" +}, +"sources": { +"description": "The sources for the grounding checking.", +"items": { +"$ref": "GoogleCloudAiplatformV1SchemaPredictParamsGroundingConfigSourceEntry" +}, +"type": "array" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1SchemaPredictParamsGroundingConfigSourceEntry": { +"description": "Single source entry for the grounding checking.", +"id": "GoogleCloudAiplatformV1SchemaPredictParamsGroundingConfigSourceEntry", +"properties": { +"enterpriseDatastore": { +"deprecated": true, +"description": "The uri of the Vertex AI Search data source. Deprecated. Use vertex_ai_search_datastore instead.", +"type": "string" +}, +"inlineContext": { +"description": "The grounding text passed inline with the Predict API. It can support up to 1 million bytes.", +"type": "string" +}, +"type": { +"description": "The type of the grounding checking source.", +"enum": [ +"UNSPECIFIED", +"WEB", +"ENTERPRISE", +"VERTEX_AI_SEARCH", +"INLINE" +], +"enumDeprecated": [ +false, +false, +true, +false, +false +], +"enumDescriptions": [ +"", +"Uses Web Search to check the grounding.", +"Uses Vertex AI Search to check the grounding. Deprecated. Use VERTEX_AI_SEARCH instead.", +"Uses Vertex AI Search to check the grounding", +"Uses inline context to check the grounding." +], +"type": "string" +}, +"vertexAiSearchDatastore": { +"description": "The uri of the Vertex AI Search data source.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1SchemaPredictParamsImageClassificationPredictionParams": { +"description": "Prediction model parameters for Image Classification.", +"id": "GoogleCloudAiplatformV1SchemaPredictParamsImageClassificationPredictionParams", +"properties": { +"confidenceThreshold": { +"description": "The Model only returns predictions with at least this confidence score. Default value is 0.0", +"format": "float", +"type": "number" +}, +"maxPredictions": { +"description": "The Model only returns up to that many top, by confidence score, predictions per instance. If this number is very high, the Model may return fewer predictions. Default value is 10.", +"format": "int32", +"type": "integer" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1SchemaPredictParamsImageObjectDetectionPredictionParams": { +"description": "Prediction model parameters for Image Object Detection.", +"id": "GoogleCloudAiplatformV1SchemaPredictParamsImageObjectDetectionPredictionParams", +"properties": { +"confidenceThreshold": { +"description": "The Model only returns predictions with at least this confidence score. Default value is 0.0", +"format": "float", +"type": "number" +}, +"maxPredictions": { +"description": "The Model only returns up to that many top, by confidence score, predictions per instance. Note that number of returned predictions is also limited by metadata's predictionsLimit. Default value is 10.", +"format": "int32", +"type": "integer" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1SchemaPredictParamsImageSegmentationPredictionParams": { +"description": "Prediction model parameters for Image Segmentation.", +"id": "GoogleCloudAiplatformV1SchemaPredictParamsImageSegmentationPredictionParams", +"properties": { +"confidenceThreshold": { +"description": "When the model predicts category of pixels of the image, it will only provide predictions for pixels that it is at least this much confident about. All other pixels will be classified as background. Default value is 0.5.", +"format": "float", +"type": "number" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1SchemaPredictParamsVideoActionRecognitionPredictionParams": { +"description": "Prediction model parameters for Video Action Recognition.", +"id": "GoogleCloudAiplatformV1SchemaPredictParamsVideoActionRecognitionPredictionParams", +"properties": { +"confidenceThreshold": { +"description": "The Model only returns predictions with at least this confidence score. Default value is 0.0", +"format": "float", +"type": "number" +}, +"maxPredictions": { +"description": "The model only returns up to that many top, by confidence score, predictions per frame of the video. If this number is very high, the Model may return fewer predictions per frame. Default value is 50.", +"format": "int32", +"type": "integer" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1SchemaPredictParamsVideoClassificationPredictionParams": { +"description": "Prediction model parameters for Video Classification.", +"id": "GoogleCloudAiplatformV1SchemaPredictParamsVideoClassificationPredictionParams", +"properties": { +"confidenceThreshold": { +"description": "The Model only returns predictions with at least this confidence score. Default value is 0.0", +"format": "float", +"type": "number" +}, +"maxPredictions": { +"description": "The Model only returns up to that many top, by confidence score, predictions per instance. If this number is very high, the Model may return fewer predictions. Default value is 10,000.", +"format": "int32", +"type": "integer" +}, +"oneSecIntervalClassification": { +"description": "Set to true to request classification for a video at one-second intervals. Vertex AI returns labels and their confidence scores for each second of the entire time segment of the video that user specified in the input WARNING: Model evaluation is not done for this classification type, the quality of it depends on the training data, but there are no metrics provided to describe that quality. Default value is false", +"type": "boolean" +}, +"segmentClassification": { +"description": "Set to true to request segment-level classification. Vertex AI returns labels and their confidence scores for the entire time segment of the video that user specified in the input instance. Default value is true", +"type": "boolean" +}, +"shotClassification": { +"description": "Set to true to request shot-level classification. Vertex AI determines the boundaries for each camera shot in the entire time segment of the video that user specified in the input instance. Vertex AI then returns labels and their confidence scores for each detected shot, along with the start and end time of the shot. WARNING: Model evaluation is not done for this classification type, the quality of it depends on the training data, but there are no metrics provided to describe that quality. Default value is false", +"type": "boolean" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1SchemaPredictParamsVideoObjectTrackingPredictionParams": { +"description": "Prediction model parameters for Video Object Tracking.", +"id": "GoogleCloudAiplatformV1SchemaPredictParamsVideoObjectTrackingPredictionParams", +"properties": { +"confidenceThreshold": { +"description": "The Model only returns predictions with at least this confidence score. Default value is 0.0", +"format": "float", +"type": "number" +}, +"maxPredictions": { +"description": "The model only returns up to that many top, by confidence score, predictions per frame of the video. If this number is very high, the Model may return fewer predictions per frame. Default value is 50.", +"format": "int32", +"type": "integer" +}, +"minBoundingBoxSize": { +"description": "Only bounding boxes with shortest edge at least that long as a relative value of video frame size are returned. Default value is 0.0.", +"format": "float", +"type": "number" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1SchemaPredictPredictionClassificationPredictionResult": { +"description": "Prediction output format for Image and Text Classification.", +"id": "GoogleCloudAiplatformV1SchemaPredictPredictionClassificationPredictionResult", +"properties": { +"confidences": { +"description": "The Model's confidences in correctness of the predicted IDs, higher value means higher confidence. Order matches the Ids.", +"items": { +"format": "float", +"type": "number" +}, +"type": "array" +}, +"displayNames": { +"description": "The display names of the AnnotationSpecs that had been identified, order matches the IDs.", +"items": { +"type": "string" +}, +"type": "array" +}, +"ids": { +"description": "The resource IDs of the AnnotationSpecs that had been identified.", +"items": { +"format": "int64", +"type": "string" +}, +"type": "array" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1SchemaPredictPredictionImageObjectDetectionPredictionResult": { +"description": "Prediction output format for Image Object Detection.", +"id": "GoogleCloudAiplatformV1SchemaPredictPredictionImageObjectDetectionPredictionResult", +"properties": { +"bboxes": { +"description": "Bounding boxes, i.e. the rectangles over the image, that pinpoint the found AnnotationSpecs. Given in order that matches the IDs. Each bounding box is an array of 4 numbers `xMin`, `xMax`, `yMin`, and `yMax`, which represent the extremal coordinates of the box. They are relative to the image size, and the point 0,0 is in the top left of the image.", +"items": { +"items": { +"type": "any" +}, +"type": "array" +}, +"type": "array" +}, +"confidences": { +"description": "The Model's confidences in correctness of the predicted IDs, higher value means higher confidence. Order matches the Ids.", +"items": { +"format": "float", +"type": "number" +}, +"type": "array" +}, +"displayNames": { +"description": "The display names of the AnnotationSpecs that had been identified, order matches the IDs.", +"items": { +"type": "string" +}, +"type": "array" +}, +"ids": { +"description": "The resource IDs of the AnnotationSpecs that had been identified, ordered by the confidence score descendingly.", +"items": { +"format": "int64", +"type": "string" +}, +"type": "array" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1SchemaPredictPredictionImageSegmentationPredictionResult": { +"description": "Prediction output format for Image Segmentation.", +"id": "GoogleCloudAiplatformV1SchemaPredictPredictionImageSegmentationPredictionResult", +"properties": { +"categoryMask": { +"description": "A PNG image where each pixel in the mask represents the category in which the pixel in the original image was predicted to belong to. The size of this image will be the same as the original image. The mapping between the AnntoationSpec and the color can be found in model's metadata. The model will choose the most likely category and if none of the categories reach the confidence threshold, the pixel will be marked as background.", +"type": "string" +}, +"confidenceMask": { +"description": "A one channel image which is encoded as an 8bit lossless PNG. The size of the image will be the same as the original image. For a specific pixel, darker color means less confidence in correctness of the cateogry in the categoryMask for the corresponding pixel. Black means no confidence and white means complete confidence.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1SchemaPredictPredictionTabularClassificationPredictionResult": { +"description": "Prediction output format for Tabular Classification.", +"id": "GoogleCloudAiplatformV1SchemaPredictPredictionTabularClassificationPredictionResult", +"properties": { +"classes": { +"description": "The name of the classes being classified, contains all possible values of the target column.", +"items": { +"type": "string" +}, +"type": "array" +}, +"scores": { +"description": "The model's confidence in each class being correct, higher value means higher confidence. The N-th score corresponds to the N-th class in classes.", +"items": { +"format": "float", +"type": "number" +}, +"type": "array" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1SchemaPredictPredictionTabularRegressionPredictionResult": { +"description": "Prediction output format for Tabular Regression.", +"id": "GoogleCloudAiplatformV1SchemaPredictPredictionTabularRegressionPredictionResult", +"properties": { +"lowerBound": { +"description": "The lower bound of the prediction interval.", +"format": "float", +"type": "number" +}, +"quantilePredictions": { +"description": "Quantile predictions, in 1-1 correspondence with quantile_values.", +"items": { +"format": "float", +"type": "number" +}, +"type": "array" +}, +"quantileValues": { +"description": "Quantile values.", +"items": { +"format": "float", +"type": "number" +}, +"type": "array" +}, +"upperBound": { +"description": "The upper bound of the prediction interval.", +"format": "float", +"type": "number" +}, +"value": { +"description": "The regression value.", +"format": "float", +"type": "number" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1SchemaPredictPredictionTextExtractionPredictionResult": { +"description": "Prediction output format for Text Extraction.", +"id": "GoogleCloudAiplatformV1SchemaPredictPredictionTextExtractionPredictionResult", +"properties": { +"confidences": { +"description": "The Model's confidences in correctness of the predicted IDs, higher value means higher confidence. Order matches the Ids.", +"items": { +"format": "float", +"type": "number" +}, +"type": "array" +}, +"displayNames": { +"description": "The display names of the AnnotationSpecs that had been identified, order matches the IDs.", +"items": { +"type": "string" +}, +"type": "array" +}, +"ids": { +"description": "The resource IDs of the AnnotationSpecs that had been identified, ordered by the confidence score descendingly.", +"items": { +"format": "int64", +"type": "string" +}, +"type": "array" +}, +"textSegmentEndOffsets": { +"description": "The end offsets, inclusive, of the text segment in which the AnnotationSpec has been identified. Expressed as a zero-based number of characters as measured from the start of the text snippet.", +"items": { +"format": "int64", +"type": "string" +}, +"type": "array" +}, +"textSegmentStartOffsets": { +"description": "The start offsets, inclusive, of the text segment in which the AnnotationSpec has been identified. Expressed as a zero-based number of characters as measured from the start of the text snippet.", +"items": { +"format": "int64", +"type": "string" +}, +"type": "array" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1SchemaPredictPredictionTextSentimentPredictionResult": { +"description": "Prediction output format for Text Sentiment", +"id": "GoogleCloudAiplatformV1SchemaPredictPredictionTextSentimentPredictionResult", +"properties": { +"sentiment": { +"description": "The integer sentiment labels between 0 (inclusive) and sentimentMax label (inclusive), while 0 maps to the least positive sentiment and sentimentMax maps to the most positive one. The higher the score is, the more positive the sentiment in the text snippet is. Note: sentimentMax is an integer value between 1 (inclusive) and 10 (inclusive).", +"format": "int32", +"type": "integer" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1SchemaPredictPredictionTftFeatureImportance": { +"id": "GoogleCloudAiplatformV1SchemaPredictPredictionTftFeatureImportance", +"properties": { +"attributeColumns": { +"items": { +"type": "string" +}, +"type": "array" +}, +"attributeWeights": { +"items": { +"format": "float", +"type": "number" +}, +"type": "array" +}, +"contextColumns": { +"items": { +"type": "string" +}, +"type": "array" +}, +"contextWeights": { +"description": "TFT feature importance values. Each pair for {context/horizon/attribute} should have the same shape since the weight corresponds to the column names.", +"items": { +"format": "float", +"type": "number" +}, +"type": "array" +}, +"horizonColumns": { +"items": { +"type": "string" +}, +"type": "array" +}, +"horizonWeights": { +"items": { +"format": "float", +"type": "number" +}, +"type": "array" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1SchemaPredictPredictionTimeSeriesForecastingPredictionResult": { +"description": "Prediction output format for Time Series Forecasting.", +"id": "GoogleCloudAiplatformV1SchemaPredictPredictionTimeSeriesForecastingPredictionResult", +"properties": { +"quantilePredictions": { +"description": "Quantile predictions, in 1-1 correspondence with quantile_values.", +"items": { +"format": "float", +"type": "number" +}, +"type": "array" +}, +"quantileValues": { +"description": "Quantile values.", +"items": { +"format": "float", +"type": "number" +}, +"type": "array" +}, +"tftFeatureImportance": { +"$ref": "GoogleCloudAiplatformV1SchemaPredictPredictionTftFeatureImportance", +"description": "Only use these if TFt is enabled." +}, +"value": { +"description": "The regression value.", +"format": "float", +"type": "number" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1SchemaPredictPredictionVideoActionRecognitionPredictionResult": { +"description": "Prediction output format for Video Action Recognition.", +"id": "GoogleCloudAiplatformV1SchemaPredictPredictionVideoActionRecognitionPredictionResult", +"properties": { +"confidence": { +"description": "The Model's confidence in correction of this prediction, higher value means higher confidence.", +"format": "float", +"type": "number" +}, +"displayName": { +"description": "The display name of the AnnotationSpec that had been identified.", +"type": "string" +}, +"id": { +"description": "The resource ID of the AnnotationSpec that had been identified.", +"type": "string" +}, +"timeSegmentEnd": { +"description": "The end, exclusive, of the video's time segment in which the AnnotationSpec has been identified. Expressed as a number of seconds as measured from the start of the video, with fractions up to a microsecond precision, and with \"s\" appended at the end.", +"format": "google-duration", +"type": "string" +}, +"timeSegmentStart": { +"description": "The beginning, inclusive, of the video's time segment in which the AnnotationSpec has been identified. Expressed as a number of seconds as measured from the start of the video, with fractions up to a microsecond precision, and with \"s\" appended at the end.", +"format": "google-duration", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1SchemaPredictPredictionVideoClassificationPredictionResult": { +"description": "Prediction output format for Video Classification.", +"id": "GoogleCloudAiplatformV1SchemaPredictPredictionVideoClassificationPredictionResult", +"properties": { +"confidence": { +"description": "The Model's confidence in correction of this prediction, higher value means higher confidence.", +"format": "float", +"type": "number" +}, +"displayName": { +"description": "The display name of the AnnotationSpec that had been identified.", +"type": "string" +}, +"id": { +"description": "The resource ID of the AnnotationSpec that had been identified.", +"type": "string" +}, +"timeSegmentEnd": { +"description": "The end, exclusive, of the video's time segment in which the AnnotationSpec has been identified. Expressed as a number of seconds as measured from the start of the video, with fractions up to a microsecond precision, and with \"s\" appended at the end. Note that for 'segment-classification' prediction type, this equals the original 'timeSegmentEnd' from the input instance, for other types it is the end of a shot or a 1 second interval respectively.", +"format": "google-duration", +"type": "string" +}, +"timeSegmentStart": { +"description": "The beginning, inclusive, of the video's time segment in which the AnnotationSpec has been identified. Expressed as a number of seconds as measured from the start of the video, with fractions up to a microsecond precision, and with \"s\" appended at the end. Note that for 'segment-classification' prediction type, this equals the original 'timeSegmentStart' from the input instance, for other types it is the start of a shot or a 1 second interval respectively.", +"format": "google-duration", +"type": "string" +}, +"type": { +"description": "The type of the prediction. The requested types can be configured via parameters. This will be one of - segment-classification - shot-classification - one-sec-interval-classification", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1SchemaPredictPredictionVideoObjectTrackingPredictionResult": { +"description": "Prediction output format for Video Object Tracking.", +"id": "GoogleCloudAiplatformV1SchemaPredictPredictionVideoObjectTrackingPredictionResult", +"properties": { +"confidence": { +"description": "The Model's confidence in correction of this prediction, higher value means higher confidence.", +"format": "float", +"type": "number" +}, +"displayName": { +"description": "The display name of the AnnotationSpec that had been identified.", +"type": "string" +}, +"frames": { +"description": "All of the frames of the video in which a single object instance has been detected. The bounding boxes in the frames identify the same object.", +"items": { +"$ref": "GoogleCloudAiplatformV1SchemaPredictPredictionVideoObjectTrackingPredictionResultFrame" +}, +"type": "array" +}, +"id": { +"description": "The resource ID of the AnnotationSpec that had been identified.", +"type": "string" +}, +"timeSegmentEnd": { +"description": "The end, inclusive, of the video's time segment in which the object instance has been detected. Expressed as a number of seconds as measured from the start of the video, with fractions up to a microsecond precision, and with \"s\" appended at the end.", +"format": "google-duration", +"type": "string" +}, +"timeSegmentStart": { +"description": "The beginning, inclusive, of the video's time segment in which the object instance has been detected. Expressed as a number of seconds as measured from the start of the video, with fractions up to a microsecond precision, and with \"s\" appended at the end.", +"format": "google-duration", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1SchemaPredictPredictionVideoObjectTrackingPredictionResultFrame": { +"description": "The fields `xMin`, `xMax`, `yMin`, and `yMax` refer to a bounding box, i.e. the rectangle over the video frame pinpointing the found AnnotationSpec. The coordinates are relative to the frame size, and the point 0,0 is in the top left of the frame.", +"id": "GoogleCloudAiplatformV1SchemaPredictPredictionVideoObjectTrackingPredictionResultFrame", +"properties": { +"timeOffset": { +"description": "A time (frame) of a video in which the object has been detected. Expressed as a number of seconds as measured from the start of the video, with fractions up to a microsecond precision, and with \"s\" appended at the end.", +"format": "google-duration", +"type": "string" +}, +"xMax": { +"description": "The rightmost coordinate of the bounding box.", +"format": "float", +"type": "number" +}, +"xMin": { +"description": "The leftmost coordinate of the bounding box.", +"format": "float", +"type": "number" +}, +"yMax": { +"description": "The bottommost coordinate of the bounding box.", +"format": "float", +"type": "number" +}, +"yMin": { +"description": "The topmost coordinate of the bounding box.", +"format": "float", +"type": "number" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1SchemaPredictionResult": { +"description": "Represents a line of JSONL in the batch prediction output file.", +"id": "GoogleCloudAiplatformV1SchemaPredictionResult", +"properties": { +"error": { +"$ref": "GoogleCloudAiplatformV1SchemaPredictionResultError", +"description": "The error result. Do not set prediction if this is set." +}, +"instance": { +"additionalProperties": { +"description": "Properties of the object.", +"type": "any" +}, +"description": "User's input instance. Struct is used here instead of Any so that JsonFormat does not append an extra \"@type\" field when we convert the proto to JSON.", +"type": "object" +}, +"key": { +"description": "Optional user-provided key from the input instance.", +"type": "string" +}, +"prediction": { +"description": "The prediction result. Value is used here instead of Any so that JsonFormat does not append an extra \"@type\" field when we convert the proto to JSON and so we can represent array of objects. Do not set error if this is set.", +"type": "any" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1SchemaPredictionResultError": { +"id": "GoogleCloudAiplatformV1SchemaPredictionResultError", +"properties": { +"message": { +"description": "Error message with additional details.", +"type": "string" +}, +"status": { +"description": "Error status. This will be serialized into the enum name e.g. \"NOT_FOUND\".", +"enum": [ +"OK", +"CANCELLED", +"UNKNOWN", +"INVALID_ARGUMENT", +"DEADLINE_EXCEEDED", +"NOT_FOUND", +"ALREADY_EXISTS", +"PERMISSION_DENIED", +"UNAUTHENTICATED", +"RESOURCE_EXHAUSTED", +"FAILED_PRECONDITION", +"ABORTED", +"OUT_OF_RANGE", +"UNIMPLEMENTED", +"INTERNAL", +"UNAVAILABLE", +"DATA_LOSS" +], +"enumDescriptions": [ +"Not an error; returned on success. HTTP Mapping: 200 OK", +"The operation was cancelled, typically by the caller. HTTP Mapping: 499 Client Closed Request", +"Unknown error. For example, this error may be returned when a `Status` value received from another address space belongs to an error space that is not known in this address space. Also errors raised by APIs that do not return enough error information may be converted to this error. HTTP Mapping: 500 Internal Server Error", +"The client specified an invalid argument. Note that this differs from `FAILED_PRECONDITION`. `INVALID_ARGUMENT` indicates arguments that are problematic regardless of the state of the system (e.g., a malformed file name). HTTP Mapping: 400 Bad Request", +"The deadline expired before the operation could complete. For operations that change the state of the system, this error may be returned even if the operation has completed successfully. For example, a successful response from a server could have been delayed long enough for the deadline to expire. HTTP Mapping: 504 Gateway Timeout", +"Some requested entity (e.g., file or directory) was not found. Note to server developers: if a request is denied for an entire class of users, such as gradual feature rollout or undocumented allowlist, `NOT_FOUND` may be used. If a request is denied for some users within a class of users, such as user-based access control, `PERMISSION_DENIED` must be used. HTTP Mapping: 404 Not Found", +"The entity that a client attempted to create (e.g., file or directory) already exists. HTTP Mapping: 409 Conflict", +"The caller does not have permission to execute the specified operation. `PERMISSION_DENIED` must not be used for rejections caused by exhausting some resource (use `RESOURCE_EXHAUSTED` instead for those errors). `PERMISSION_DENIED` must not be used if the caller can not be identified (use `UNAUTHENTICATED` instead for those errors). This error code does not imply the request is valid or the requested entity exists or satisfies other pre-conditions. HTTP Mapping: 403 Forbidden", +"The request does not have valid authentication credentials for the operation. HTTP Mapping: 401 Unauthorized", +"Some resource has been exhausted, perhaps a per-user quota, or perhaps the entire file system is out of space. HTTP Mapping: 429 Too Many Requests", +"The operation was rejected because the system is not in a state required for the operation's execution. For example, the directory to be deleted is non-empty, an rmdir operation is applied to a non-directory, etc. Service implementors can use the following guidelines to decide between `FAILED_PRECONDITION`, `ABORTED`, and `UNAVAILABLE`: (a) Use `UNAVAILABLE` if the client can retry just the failing call. (b) Use `ABORTED` if the client should retry at a higher level. For example, when a client-specified test-and-set fails, indicating the client should restart a read-modify-write sequence. (c) Use `FAILED_PRECONDITION` if the client should not retry until the system state has been explicitly fixed. For example, if an \"rmdir\" fails because the directory is non-empty, `FAILED_PRECONDITION` should be returned since the client should not retry unless the files are deleted from the directory. HTTP Mapping: 400 Bad Request", +"The operation was aborted, typically due to a concurrency issue such as a sequencer check failure or transaction abort. See the guidelines above for deciding between `FAILED_PRECONDITION`, `ABORTED`, and `UNAVAILABLE`. HTTP Mapping: 409 Conflict", +"The operation was attempted past the valid range. E.g., seeking or reading past end-of-file. Unlike `INVALID_ARGUMENT`, this error indicates a problem that may be fixed if the system state changes. For example, a 32-bit file system will generate `INVALID_ARGUMENT` if asked to read at an offset that is not in the range [0,2^32-1], but it will generate `OUT_OF_RANGE` if asked to read from an offset past the current file size. There is a fair bit of overlap between `FAILED_PRECONDITION` and `OUT_OF_RANGE`. We recommend using `OUT_OF_RANGE` (the more specific error) when it applies so that callers who are iterating through a space can easily look for an `OUT_OF_RANGE` error to detect when they are done. HTTP Mapping: 400 Bad Request", +"The operation is not implemented or is not supported/enabled in this service. HTTP Mapping: 501 Not Implemented", +"Internal errors. This means that some invariants expected by the underlying system have been broken. This error code is reserved for serious errors. HTTP Mapping: 500 Internal Server Error", +"The service is currently unavailable. This is most likely a transient condition, which can be corrected by retrying with a backoff. Note that it is not always safe to retry non-idempotent operations. See the guidelines above for deciding between `FAILED_PRECONDITION`, `ABORTED`, and `UNAVAILABLE`. HTTP Mapping: 503 Service Unavailable", +"Unrecoverable data loss or corruption. HTTP Mapping: 500 Internal Server Error" +], +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1SchemaPromptApiSchema": { +"description": "The A2 schema of a prompt.", +"id": "GoogleCloudAiplatformV1SchemaPromptApiSchema", +"properties": { +"apiSchemaVersion": { +"description": "The Schema version that represents changes to the API behavior.", +"type": "string" +}, +"executions": { +"description": "A list of execution instances for constructing a ready-to-use prompt.", +"items": { +"$ref": "GoogleCloudAiplatformV1SchemaPromptInstancePromptExecution" +}, +"type": "array" +}, +"multimodalPrompt": { +"$ref": "GoogleCloudAiplatformV1SchemaPromptSpecMultimodalPrompt", +"description": "Multimodal prompt which embeds preambles to prompt string." +}, +"structuredPrompt": { +"$ref": "GoogleCloudAiplatformV1SchemaPromptSpecStructuredPrompt", +"description": "The prompt variation that stores preambles in separate fields." +}, +"translationPrompt": { +"$ref": "GoogleCloudAiplatformV1SchemaPromptSpecTranslationPrompt", +"description": "The prompt variation for Translation use case." +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1SchemaPromptInstancePromptExecution": { +"description": "A prompt instance's parameters set that contains a set of variable values.", +"id": "GoogleCloudAiplatformV1SchemaPromptInstancePromptExecution", +"properties": { +"arguments": { +"additionalProperties": { +"$ref": "GoogleCloudAiplatformV1SchemaPromptInstanceVariableValue" +}, +"description": "Maps variable names to their value.", +"type": "object" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1SchemaPromptInstanceVariableValue": { +"description": "The value of a variable in prompt.", +"id": "GoogleCloudAiplatformV1SchemaPromptInstanceVariableValue", +"properties": { +"partList": { +"$ref": "GoogleCloudAiplatformV1SchemaPromptSpecPartList", +"description": "The parts of the variable value." +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1SchemaPromptSpecMultimodalPrompt": { +"description": "Prompt variation that embeds preambles to prompt string.", +"id": "GoogleCloudAiplatformV1SchemaPromptSpecMultimodalPrompt", +"properties": { +"promptMessage": { +"$ref": "GoogleCloudAiplatformV1SchemaPromptSpecPromptMessage", +"description": "The prompt message." +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1SchemaPromptSpecPartList": { +"description": "A list of elements and information that make up a portion of prompt.", +"id": "GoogleCloudAiplatformV1SchemaPromptSpecPartList", +"properties": { +"parts": { +"description": "A list of elements that can be part of a prompt.", +"items": { +"$ref": "GoogleCloudAiplatformV1Part" +}, +"type": "array" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1SchemaPromptSpecPromptMessage": { +"description": "The prompt message that aligns with the prompt message in google.cloud.aiplatform.master.GenerateContentRequest.", +"id": "GoogleCloudAiplatformV1SchemaPromptSpecPromptMessage", +"properties": { +"contents": { +"description": "The content of the current conversation with the model. For single-turn queries, this is a single instance. For multi-turn queries, this is a repeated field that contains conversation history + latest request.", +"items": { +"$ref": "GoogleCloudAiplatformV1Content" +}, +"type": "array" +}, +"generationConfig": { +"$ref": "GoogleCloudAiplatformV1GenerationConfig", +"description": "Generation config." +}, +"model": { +"description": "The model name.", +"type": "string" +}, +"safetySettings": { +"description": "Per request settings for blocking unsafe content. Enforced on GenerateContentResponse.candidates.", +"items": { +"$ref": "GoogleCloudAiplatformV1SafetySetting" +}, +"type": "array" +}, +"systemInstruction": { +"$ref": "GoogleCloudAiplatformV1Content", +"description": "The user provided system instructions for the model. Note: only text should be used in parts and content in each part will be in a separate paragraph." +}, +"toolConfig": { +"$ref": "GoogleCloudAiplatformV1ToolConfig", +"description": "Tool config. This config is shared for all tools provided in the request." +}, +"tools": { +"description": "A list of `Tools` the model may use to generate the next response. A `Tool` is a piece of code that enables the system to interact with external systems to perform an action, or set of actions, outside of knowledge and scope of the model.", +"items": { +"$ref": "GoogleCloudAiplatformV1Tool" +}, +"type": "array" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1SchemaPromptSpecReferenceSentencePair": { +"description": "A pair of sentences used as reference in source and target languages.", +"id": "GoogleCloudAiplatformV1SchemaPromptSpecReferenceSentencePair", +"properties": { +"sourceSentence": { +"description": "Source sentence in the sentence pair.", +"type": "string" +}, +"targetSentence": { +"description": "Target sentence in the sentence pair.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1SchemaPromptSpecReferenceSentencePairList": { +"description": "A list of reference sentence pairs.", +"id": "GoogleCloudAiplatformV1SchemaPromptSpecReferenceSentencePairList", +"properties": { +"referenceSentencePairs": { +"description": "Reference sentence pairs.", +"items": { +"$ref": "GoogleCloudAiplatformV1SchemaPromptSpecReferenceSentencePair" +}, +"type": "array" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1SchemaPromptSpecStructuredPrompt": { +"description": "Prompt variation that stores preambles in separate fields.", +"id": "GoogleCloudAiplatformV1SchemaPromptSpecStructuredPrompt", +"properties": { +"context": { +"$ref": "GoogleCloudAiplatformV1Content", +"description": "Preamble: The context of the prompt." +}, +"examples": { +"description": "Preamble: A set of examples for expected model response.", +"items": { +"$ref": "GoogleCloudAiplatformV1SchemaPromptSpecPartList" +}, +"type": "array" +}, +"infillPrefix": { +"description": "Preamble: For infill prompt, the prefix before expected model response.", +"type": "string" +}, +"infillSuffix": { +"description": "Preamble: For infill prompt, the suffix after expected model response.", +"type": "string" +}, +"inputPrefixes": { +"description": "Preamble: The input prefixes before each example input.", +"items": { +"type": "string" +}, +"type": "array" +}, +"outputPrefixes": { +"description": "Preamble: The output prefixes before each example output.", +"items": { +"type": "string" +}, +"type": "array" +}, +"predictionInputs": { +"description": "Preamble: The input test data for prediction. Each PartList in this field represents one text-only input set for a single model request.", +"items": { +"$ref": "GoogleCloudAiplatformV1SchemaPromptSpecPartList" +}, +"type": "array" +}, +"promptMessage": { +"$ref": "GoogleCloudAiplatformV1SchemaPromptSpecPromptMessage", +"description": "The prompt message." +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1SchemaPromptSpecTranslationExample": { +"description": "The translation example that contains reference sentences from various sources.", +"id": "GoogleCloudAiplatformV1SchemaPromptSpecTranslationExample", +"properties": { +"referenceSentencePairLists": { +"description": "The reference sentences from inline text.", +"items": { +"$ref": "GoogleCloudAiplatformV1SchemaPromptSpecReferenceSentencePairList" +}, +"type": "array" +}, +"referenceSentencesFileInputs": { +"description": "The reference sentences from file.", +"items": { +"$ref": "GoogleCloudAiplatformV1SchemaPromptSpecTranslationSentenceFileInput" +}, +"type": "array" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1SchemaPromptSpecTranslationFileInputSource": { +"id": "GoogleCloudAiplatformV1SchemaPromptSpecTranslationFileInputSource", +"properties": { +"content": { +"description": "The file's contents.", +"type": "string" +}, +"displayName": { +"description": "The file's display name.", +"type": "string" +}, +"mimeType": { +"description": "The file's mime type.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1SchemaPromptSpecTranslationGcsInputSource": { +"id": "GoogleCloudAiplatformV1SchemaPromptSpecTranslationGcsInputSource", +"properties": { +"inputUri": { +"description": "Source data URI. For example, `gs://my_bucket/my_object`.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1SchemaPromptSpecTranslationOption": { +"description": "Optional settings for translation prompt.", +"id": "GoogleCloudAiplatformV1SchemaPromptSpecTranslationOption", +"properties": { +"numberOfShots": { +"description": "How many shots to use.", +"format": "int32", +"type": "integer" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1SchemaPromptSpecTranslationPrompt": { +"description": "Prompt variation for Translation use case.", +"id": "GoogleCloudAiplatformV1SchemaPromptSpecTranslationPrompt", +"properties": { +"example": { +"$ref": "GoogleCloudAiplatformV1SchemaPromptSpecTranslationExample", +"description": "The translation example." +}, +"option": { +"$ref": "GoogleCloudAiplatformV1SchemaPromptSpecTranslationOption", +"description": "The translation option." +}, +"promptMessage": { +"$ref": "GoogleCloudAiplatformV1SchemaPromptSpecPromptMessage", +"description": "The prompt message." +}, +"sourceLanguageCode": { +"description": "The source language code.", +"type": "string" +}, +"targetLanguageCode": { +"description": "The target language code.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1SchemaPromptSpecTranslationSentenceFileInput": { +"id": "GoogleCloudAiplatformV1SchemaPromptSpecTranslationSentenceFileInput", +"properties": { +"fileInputSource": { +"$ref": "GoogleCloudAiplatformV1SchemaPromptSpecTranslationFileInputSource", +"description": "Inlined file source." +}, +"gcsInputSource": { +"$ref": "GoogleCloudAiplatformV1SchemaPromptSpecTranslationGcsInputSource", +"description": "Cloud Storage file source." +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1SchemaTablesDatasetMetadata": { +"description": "The metadata of Datasets that contain tables data.", +"id": "GoogleCloudAiplatformV1SchemaTablesDatasetMetadata", +"properties": { +"inputConfig": { +"$ref": "GoogleCloudAiplatformV1SchemaTablesDatasetMetadataInputConfig" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1SchemaTablesDatasetMetadataBigQuerySource": { +"id": "GoogleCloudAiplatformV1SchemaTablesDatasetMetadataBigQuerySource", +"properties": { +"uri": { +"description": "The URI of a BigQuery table. e.g. bq://projectId.bqDatasetId.bqTableId", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1SchemaTablesDatasetMetadataGcsSource": { +"id": "GoogleCloudAiplatformV1SchemaTablesDatasetMetadataGcsSource", +"properties": { +"uri": { +"description": "Cloud Storage URI of one or more files. Only CSV files are supported. The first line of the CSV file is used as the header. If there are multiple files, the header is the first line of the lexicographically first file, the other files must either contain the exact same header or omit the header.", +"items": { +"type": "string" +}, +"type": "array" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1SchemaTablesDatasetMetadataInputConfig": { +"description": "The tables Dataset's data source. The Dataset doesn't store the data directly, but only pointer(s) to its data.", +"id": "GoogleCloudAiplatformV1SchemaTablesDatasetMetadataInputConfig", +"properties": { +"bigquerySource": { +"$ref": "GoogleCloudAiplatformV1SchemaTablesDatasetMetadataBigQuerySource" +}, +"gcsSource": { +"$ref": "GoogleCloudAiplatformV1SchemaTablesDatasetMetadataGcsSource" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1SchemaTextClassificationAnnotation": { +"description": "Annotation details specific to text classification.", +"id": "GoogleCloudAiplatformV1SchemaTextClassificationAnnotation", +"properties": { +"annotationSpecId": { +"description": "The resource Id of the AnnotationSpec that this Annotation pertains to.", +"type": "string" +}, +"displayName": { +"description": "The display name of the AnnotationSpec that this Annotation pertains to.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1SchemaTextDataItem": { +"description": "Payload of Text DataItem.", +"id": "GoogleCloudAiplatformV1SchemaTextDataItem", +"properties": { +"gcsUri": { +"description": "Output only. Google Cloud Storage URI points to the original text in user's bucket. The text file is up to 10MB in size.", +"readOnly": true, +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1SchemaTextDatasetMetadata": { +"description": "The metadata of Datasets that contain Text DataItems.", +"id": "GoogleCloudAiplatformV1SchemaTextDatasetMetadata", +"properties": { +"dataItemSchemaUri": { +"description": "Points to a YAML file stored on Google Cloud Storage describing payload of the Text DataItems that belong to this Dataset.", +"type": "string" +}, +"gcsBucket": { +"description": "Google Cloud Storage Bucket name that contains the blob data of this Dataset.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1SchemaTextExtractionAnnotation": { +"description": "Annotation details specific to text extraction.", +"id": "GoogleCloudAiplatformV1SchemaTextExtractionAnnotation", +"properties": { +"annotationSpecId": { +"description": "The resource Id of the AnnotationSpec that this Annotation pertains to.", +"type": "string" +}, +"displayName": { +"description": "The display name of the AnnotationSpec that this Annotation pertains to.", +"type": "string" +}, +"textSegment": { +"$ref": "GoogleCloudAiplatformV1SchemaTextSegment", +"description": "The segment of the text content." +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1SchemaTextPromptDatasetMetadata": { +"description": "The metadata of Datasets that contain Text Prompt data.", +"id": "GoogleCloudAiplatformV1SchemaTextPromptDatasetMetadata", +"properties": { +"candidateCount": { +"description": "Number of candidates.", +"format": "int64", +"type": "string" +}, +"gcsUri": { +"description": "The Google Cloud Storage URI that stores the prompt data.", +"type": "string" +}, +"groundingConfig": { +"$ref": "GoogleCloudAiplatformV1SchemaPredictParamsGroundingConfig", +"description": "Grounding checking configuration." +}, +"hasPromptVariable": { +"description": "Whether the prompt dataset has prompt variable.", +"type": "boolean" +}, +"logprobs": { +"description": "Whether or not the user has enabled logit probabilities in the model parameters.", +"type": "boolean" +}, +"maxOutputTokens": { +"description": "Value of the maximum number of tokens generated set when the dataset was saved.", +"format": "int64", +"type": "string" +}, +"note": { +"description": "User-created prompt note. Note size limit is 2KB.", +"type": "string" +}, +"promptApiSchema": { +"$ref": "GoogleCloudAiplatformV1SchemaPromptApiSchema", +"description": "The API schema of the prompt to support both UI and SDK usages." +}, +"promptType": { +"description": "Type of the prompt dataset.", +"type": "string" +}, +"seedEnabled": { +"description": "Seeding enables model to return a deterministic response on a best effort basis. Determinism isn't guaranteed. This field determines whether or not seeding is enabled.", +"type": "boolean" +}, +"seedValue": { +"description": "The actual value of the seed.", +"format": "int64", +"type": "string" +}, +"stopSequences": { +"description": "Customized stop sequences.", +"items": { +"type": "string" +}, +"type": "array" +}, +"systemInstruction": { +"description": "The content of the prompt dataset system instruction.", +"type": "string" +}, +"systemInstructionGcsUri": { +"description": "The Google Cloud Storage URI that stores the system instruction, starting with gs://.", +"type": "string" +}, +"temperature": { +"description": "Temperature value used for sampling set when the dataset was saved. This value is used to tune the degree of randomness.", +"format": "float", +"type": "number" +}, +"text": { +"description": "The content of the prompt dataset.", +"type": "string" +}, +"topK": { +"description": "Top K value set when the dataset was saved. This value determines how many candidates with highest probability from the vocab would be selected for each decoding step.", +"format": "int64", +"type": "string" +}, +"topP": { +"description": "Top P value set when the dataset was saved. Given topK tokens for decoding, top candidates will be selected until the sum of their probabilities is topP.", +"format": "float", +"type": "number" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1SchemaTextSegment": { +"description": "The text segment inside of DataItem.", +"id": "GoogleCloudAiplatformV1SchemaTextSegment", +"properties": { +"content": { +"description": "The text content in the segment for output only.", +"type": "string" +}, +"endOffset": { +"description": "Zero-based character index of the first character past the end of the text segment (counting character from the beginning of the text). The character at the end_offset is NOT included in the text segment.", +"format": "uint64", +"type": "string" +}, +"startOffset": { +"description": "Zero-based character index of the first character of the text segment (counting characters from the beginning of the text).", +"format": "uint64", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1SchemaTextSentimentAnnotation": { +"description": "Annotation details specific to text sentiment.", +"id": "GoogleCloudAiplatformV1SchemaTextSentimentAnnotation", +"properties": { +"annotationSpecId": { +"description": "The resource Id of the AnnotationSpec that this Annotation pertains to.", +"type": "string" +}, +"displayName": { +"description": "The display name of the AnnotationSpec that this Annotation pertains to.", +"type": "string" +}, +"sentiment": { +"description": "The sentiment score for text.", +"format": "int32", +"type": "integer" +}, +"sentimentMax": { +"description": "The sentiment max score for text.", +"format": "int32", +"type": "integer" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1SchemaTextSentimentSavedQueryMetadata": { +"description": "The metadata of SavedQuery contains TextSentiment Annotations.", +"id": "GoogleCloudAiplatformV1SchemaTextSentimentSavedQueryMetadata", +"properties": { +"sentimentMax": { +"description": "The maximum sentiment of sentiment Anntoation in this SavedQuery.", +"format": "int32", +"type": "integer" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1SchemaTimeSegment": { +"description": "A time period inside of a DataItem that has a time dimension (e.g. video).", +"id": "GoogleCloudAiplatformV1SchemaTimeSegment", +"properties": { +"endTimeOffset": { +"description": "End of the time segment (exclusive), represented as the duration since the start of the DataItem.", +"format": "google-duration", +"type": "string" +}, +"startTimeOffset": { +"description": "Start of the time segment (inclusive), represented as the duration since the start of the DataItem.", +"format": "google-duration", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1SchemaTimeSeriesDatasetMetadata": { +"description": "The metadata of Datasets that contain time series data.", +"id": "GoogleCloudAiplatformV1SchemaTimeSeriesDatasetMetadata", +"properties": { +"inputConfig": { +"$ref": "GoogleCloudAiplatformV1SchemaTimeSeriesDatasetMetadataInputConfig" +}, +"timeColumn": { +"description": "The column name of the time column that identifies time order in the time series.", +"type": "string" +}, +"timeSeriesIdentifierColumn": { +"description": "The column name of the time series identifier column that identifies the time series.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1SchemaTimeSeriesDatasetMetadataBigQuerySource": { +"id": "GoogleCloudAiplatformV1SchemaTimeSeriesDatasetMetadataBigQuerySource", +"properties": { +"uri": { +"description": "The URI of a BigQuery table.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1SchemaTimeSeriesDatasetMetadataGcsSource": { +"id": "GoogleCloudAiplatformV1SchemaTimeSeriesDatasetMetadataGcsSource", +"properties": { +"uri": { +"description": "Cloud Storage URI of one or more files. Only CSV files are supported. The first line of the CSV file is used as the header. If there are multiple files, the header is the first line of the lexicographically first file, the other files must either contain the exact same header or omit the header.", +"items": { +"type": "string" +}, +"type": "array" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1SchemaTimeSeriesDatasetMetadataInputConfig": { +"description": "The time series Dataset's data source. The Dataset doesn't store the data directly, but only pointer(s) to its data.", +"id": "GoogleCloudAiplatformV1SchemaTimeSeriesDatasetMetadataInputConfig", +"properties": { +"bigquerySource": { +"$ref": "GoogleCloudAiplatformV1SchemaTimeSeriesDatasetMetadataBigQuerySource" +}, +"gcsSource": { +"$ref": "GoogleCloudAiplatformV1SchemaTimeSeriesDatasetMetadataGcsSource" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1SchemaTrainingjobDefinitionAutoMlForecasting": { +"description": "A TrainingJob that trains and uploads an AutoML Forecasting Model.", +"id": "GoogleCloudAiplatformV1SchemaTrainingjobDefinitionAutoMlForecasting", +"properties": { +"inputs": { +"$ref": "GoogleCloudAiplatformV1SchemaTrainingjobDefinitionAutoMlForecastingInputs", +"description": "The input parameters of this TrainingJob." +}, +"metadata": { +"$ref": "GoogleCloudAiplatformV1SchemaTrainingjobDefinitionAutoMlForecastingMetadata", +"description": "The metadata information." +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1SchemaTrainingjobDefinitionAutoMlForecastingInputs": { +"id": "GoogleCloudAiplatformV1SchemaTrainingjobDefinitionAutoMlForecastingInputs", +"properties": { +"additionalExperiments": { +"description": "Additional experiment flags for the time series forcasting training.", +"items": { +"type": "string" +}, +"type": "array" +}, +"availableAtForecastColumns": { +"description": "Names of columns that are available and provided when a forecast is requested. These columns contain information for the given entity (identified by the time_series_identifier_column column) that is known at forecast. For example, predicted weather for a specific day.", +"items": { +"type": "string" +}, +"type": "array" +}, +"contextWindow": { +"description": "The amount of time into the past training and prediction data is used for model training and prediction respectively. Expressed in number of units defined by the `data_granularity` field.", +"format": "int64", +"type": "string" +}, +"dataGranularity": { +"$ref": "GoogleCloudAiplatformV1SchemaTrainingjobDefinitionAutoMlForecastingInputsGranularity", +"description": "Expected difference in time granularity between rows in the data." +}, +"enableProbabilisticInference": { +"description": "If probabilistic inference is enabled, the model will fit a distribution that captures the uncertainty of a prediction. At inference time, the predictive distribution is used to make a point prediction that minimizes the optimization objective. For example, the mean of a predictive distribution is the point prediction that minimizes RMSE loss. If quantiles are specified, then the quantiles of the distribution are also returned. The optimization objective cannot be minimize-quantile-loss.", +"type": "boolean" +}, +"exportEvaluatedDataItemsConfig": { +"$ref": "GoogleCloudAiplatformV1SchemaTrainingjobDefinitionExportEvaluatedDataItemsConfig", +"description": "Configuration for exporting test set predictions to a BigQuery table. If this configuration is absent, then the export is not performed." +}, +"forecastHorizon": { +"description": "The amount of time into the future for which forecasted values for the target are returned. Expressed in number of units defined by the `data_granularity` field.", +"format": "int64", +"type": "string" +}, +"hierarchyConfig": { +"$ref": "GoogleCloudAiplatformV1SchemaTrainingjobDefinitionHierarchyConfig", +"description": "Configuration that defines the hierarchical relationship of time series and parameters for hierarchical forecasting strategies." +}, +"holidayRegions": { +"description": "The geographical region based on which the holiday effect is applied in modeling by adding holiday categorical array feature that include all holidays matching the date. This option only allowed when data_granularity is day. By default, holiday effect modeling is disabled. To turn it on, specify the holiday region using this option.", +"items": { +"type": "string" +}, +"type": "array" +}, +"optimizationObjective": { +"description": "Objective function the model is optimizing towards. The training process creates a model that optimizes the value of the objective function over the validation set. The supported optimization objectives: * \"minimize-rmse\" (default) - Minimize root-mean-squared error (RMSE). * \"minimize-mae\" - Minimize mean-absolute error (MAE). * \"minimize-rmsle\" - Minimize root-mean-squared log error (RMSLE). * \"minimize-rmspe\" - Minimize root-mean-squared percentage error (RMSPE). * \"minimize-wape-mae\" - Minimize the combination of weighted absolute percentage error (WAPE) and mean-absolute-error (MAE). * \"minimize-quantile-loss\" - Minimize the quantile loss at the quantiles defined in `quantiles`. * \"minimize-mape\" - Minimize the mean absolute percentage error.", +"type": "string" +}, +"quantiles": { +"description": "Quantiles to use for minimize-quantile-loss `optimization_objective`, or for probabilistic inference. Up to 5 quantiles are allowed of values between 0 and 1, exclusive. Required if the value of optimization_objective is minimize-quantile-loss. Represents the percent quantiles to use for that objective. Quantiles must be unique.", +"items": { +"format": "double", +"type": "number" +}, +"type": "array" +}, +"targetColumn": { +"description": "The name of the column that the Model is to predict values for. This column must be unavailable at forecast.", +"type": "string" +}, +"timeColumn": { +"description": "The name of the column that identifies time order in the time series. This column must be available at forecast.", +"type": "string" +}, +"timeSeriesAttributeColumns": { +"description": "Column names that should be used as attribute columns. The value of these columns does not vary as a function of time. For example, store ID or item color.", +"items": { +"type": "string" +}, +"type": "array" +}, +"timeSeriesIdentifierColumn": { +"description": "The name of the column that identifies the time series.", +"type": "string" +}, +"trainBudgetMilliNodeHours": { +"description": "Required. The train budget of creating this model, expressed in milli node hours i.e. 1,000 value in this field means 1 node hour. The training cost of the model will not exceed this budget. The final cost will be attempted to be close to the budget, though may end up being (even) noticeably smaller - at the backend's discretion. This especially may happen when further model training ceases to provide any improvements. If the budget is set to a value known to be insufficient to train a model for the given dataset, the training won't be attempted and will error. The train budget must be between 1,000 and 72,000 milli node hours, inclusive.", +"format": "int64", +"type": "string" +}, +"transformations": { +"description": "Each transformation will apply transform function to given input column. And the result will be used for training. When creating transformation for BigQuery Struct column, the column should be flattened using \".\" as the delimiter.", +"items": { +"$ref": "GoogleCloudAiplatformV1SchemaTrainingjobDefinitionAutoMlForecastingInputsTransformation" +}, +"type": "array" +}, +"unavailableAtForecastColumns": { +"description": "Names of columns that are unavailable when a forecast is requested. This column contains information for the given entity (identified by the time_series_identifier_column) that is unknown before the forecast For example, actual weather on a given day.", +"items": { +"type": "string" +}, +"type": "array" +}, +"validationOptions": { +"description": "Validation options for the data validation component. The available options are: * \"fail-pipeline\" - default, will validate against the validation and fail the pipeline if it fails. * \"ignore-validation\" - ignore the results of the validation and continue", +"type": "string" +}, +"weightColumn": { +"description": "Column name that should be used as the weight column. Higher values in this column give more importance to the row during model training. The column must have numeric values between 0 and 10000 inclusively; 0 means the row is ignored for training. If weight column field is not set, then all rows are assumed to have equal weight of 1.", +"type": "string" +}, +"windowConfig": { +"$ref": "GoogleCloudAiplatformV1SchemaTrainingjobDefinitionWindowConfig", +"description": "Config containing strategy for generating sliding windows." +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1SchemaTrainingjobDefinitionAutoMlForecastingInputsGranularity": { +"description": "A duration of time expressed in time granularity units.", +"id": "GoogleCloudAiplatformV1SchemaTrainingjobDefinitionAutoMlForecastingInputsGranularity", +"properties": { +"quantity": { +"description": "The number of granularity_units between data points in the training data. If `granularity_unit` is `minute`, can be 1, 5, 10, 15, or 30. For all other values of `granularity_unit`, must be 1.", +"format": "int64", +"type": "string" +}, +"unit": { +"description": "The time granularity unit of this time period. The supported units are: * \"minute\" * \"hour\" * \"day\" * \"week\" * \"month\" * \"year\"", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1SchemaTrainingjobDefinitionAutoMlForecastingInputsTransformation": { +"id": "GoogleCloudAiplatformV1SchemaTrainingjobDefinitionAutoMlForecastingInputsTransformation", +"properties": { +"auto": { +"$ref": "GoogleCloudAiplatformV1SchemaTrainingjobDefinitionAutoMlForecastingInputsTransformationAutoTransformation" +}, +"categorical": { +"$ref": "GoogleCloudAiplatformV1SchemaTrainingjobDefinitionAutoMlForecastingInputsTransformationCategoricalTransformation" +}, +"numeric": { +"$ref": "GoogleCloudAiplatformV1SchemaTrainingjobDefinitionAutoMlForecastingInputsTransformationNumericTransformation" +}, +"text": { +"$ref": "GoogleCloudAiplatformV1SchemaTrainingjobDefinitionAutoMlForecastingInputsTransformationTextTransformation" +}, +"timestamp": { +"$ref": "GoogleCloudAiplatformV1SchemaTrainingjobDefinitionAutoMlForecastingInputsTransformationTimestampTransformation" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1SchemaTrainingjobDefinitionAutoMlForecastingInputsTransformationAutoTransformation": { +"description": "Training pipeline will infer the proper transformation based on the statistic of dataset.", +"id": "GoogleCloudAiplatformV1SchemaTrainingjobDefinitionAutoMlForecastingInputsTransformationAutoTransformation", +"properties": { +"columnName": { +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1SchemaTrainingjobDefinitionAutoMlForecastingInputsTransformationCategoricalTransformation": { +"description": "Training pipeline will perform following transformation functions. * The categorical string as is--no change to case, punctuation, spelling, tense, and so on. * Convert the category name to a dictionary lookup index and generate an embedding for each index. * Categories that appear less than 5 times in the training dataset are treated as the \"unknown\" category. The \"unknown\" category gets its own special lookup index and resulting embedding.", +"id": "GoogleCloudAiplatformV1SchemaTrainingjobDefinitionAutoMlForecastingInputsTransformationCategoricalTransformation", +"properties": { +"columnName": { +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1SchemaTrainingjobDefinitionAutoMlForecastingInputsTransformationNumericTransformation": { +"description": "Training pipeline will perform following transformation functions. * The value converted to float32. * The z_score of the value. * log(value+1) when the value is greater than or equal to 0. Otherwise, this transformation is not applied and the value is considered a missing value. * z_score of log(value+1) when the value is greater than or equal to 0. Otherwise, this transformation is not applied and the value is considered a missing value. * A boolean value that indicates whether the value is valid.", +"id": "GoogleCloudAiplatformV1SchemaTrainingjobDefinitionAutoMlForecastingInputsTransformationNumericTransformation", +"properties": { +"columnName": { +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1SchemaTrainingjobDefinitionAutoMlForecastingInputsTransformationTextTransformation": { +"description": "Training pipeline will perform following transformation functions. * The text as is--no change to case, punctuation, spelling, tense, and so on. * Convert the category name to a dictionary lookup index and generate an embedding for each index.", +"id": "GoogleCloudAiplatformV1SchemaTrainingjobDefinitionAutoMlForecastingInputsTransformationTextTransformation", +"properties": { +"columnName": { +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1SchemaTrainingjobDefinitionAutoMlForecastingInputsTransformationTimestampTransformation": { +"description": "Training pipeline will perform following transformation functions. * Apply the transformation functions for Numerical columns. * Determine the year, month, day,and weekday. Treat each value from the timestamp as a Categorical column. * Invalid numerical values (for example, values that fall outside of a typical timestamp range, or are extreme values) receive no special treatment and are not removed.", +"id": "GoogleCloudAiplatformV1SchemaTrainingjobDefinitionAutoMlForecastingInputsTransformationTimestampTransformation", +"properties": { +"columnName": { +"type": "string" +}, +"timeFormat": { +"description": "The format in which that time field is expressed. The time_format must either be one of: * `unix-seconds` * `unix-milliseconds` * `unix-microseconds` * `unix-nanoseconds` (for respectively number of seconds, milliseconds, microseconds and nanoseconds since start of the Unix epoch); or be written in `strftime` syntax. If time_format is not set, then the default format is RFC 3339 `date-time` format, where `time-offset` = `\"Z\"` (e.g. 1985-04-12T23:20:50.52Z)", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1SchemaTrainingjobDefinitionAutoMlForecastingMetadata": { +"description": "Model metadata specific to AutoML Forecasting.", +"id": "GoogleCloudAiplatformV1SchemaTrainingjobDefinitionAutoMlForecastingMetadata", +"properties": { +"evaluatedDataItemsBigqueryUri": { +"description": "BigQuery destination uri for exported evaluated examples.", +"type": "string" +}, +"trainCostMilliNodeHours": { +"description": "Output only. The actual training cost of the model, expressed in milli node hours, i.e. 1,000 value in this field means 1 node hour. Guaranteed to not exceed the train budget.", +"format": "int64", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1SchemaTrainingjobDefinitionAutoMlImageClassification": { +"description": "A TrainingJob that trains and uploads an AutoML Image Classification Model.", +"id": "GoogleCloudAiplatformV1SchemaTrainingjobDefinitionAutoMlImageClassification", +"properties": { +"inputs": { +"$ref": "GoogleCloudAiplatformV1SchemaTrainingjobDefinitionAutoMlImageClassificationInputs", +"description": "The input parameters of this TrainingJob." +}, +"metadata": { +"$ref": "GoogleCloudAiplatformV1SchemaTrainingjobDefinitionAutoMlImageClassificationMetadata", +"description": "The metadata information." +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1SchemaTrainingjobDefinitionAutoMlImageClassificationInputs": { +"id": "GoogleCloudAiplatformV1SchemaTrainingjobDefinitionAutoMlImageClassificationInputs", +"properties": { +"baseModelId": { +"description": "The ID of the `base` model. If it is specified, the new model will be trained based on the `base` model. Otherwise, the new model will be trained from scratch. The `base` model must be in the same Project and Location as the new Model to train, and have the same modelType.", +"type": "string" +}, +"budgetMilliNodeHours": { +"description": "The training budget of creating this model, expressed in milli node hours i.e. 1,000 value in this field means 1 node hour. The actual metadata.costMilliNodeHours will be equal or less than this value. If further model training ceases to provide any improvements, it will stop without using the full budget and the metadata.successfulStopReason will be `model-converged`. Note, node_hour = actual_hour * number_of_nodes_involved. For modelType `cloud`(default), the budget must be between 8,000 and 800,000 milli node hours, inclusive. The default value is 192,000 which represents one day in wall time, considering 8 nodes are used. For model types `mobile-tf-low-latency-1`, `mobile-tf-versatile-1`, `mobile-tf-high-accuracy-1`, the training budget must be between 1,000 and 100,000 milli node hours, inclusive. The default value is 24,000 which represents one day in wall time on a single node that is used.", +"format": "int64", +"type": "string" +}, +"disableEarlyStopping": { +"description": "Use the entire training budget. This disables the early stopping feature. When false the early stopping feature is enabled, which means that AutoML Image Classification might stop training before the entire training budget has been used.", +"type": "boolean" +}, +"modelType": { +"enum": [ +"MODEL_TYPE_UNSPECIFIED", +"CLOUD", +"CLOUD_1", +"MOBILE_TF_LOW_LATENCY_1", +"MOBILE_TF_VERSATILE_1", +"MOBILE_TF_HIGH_ACCURACY_1", +"EFFICIENTNET", +"MAXVIT", +"VIT", +"COCA" +], +"enumDescriptions": [ +"Should not be set.", +"A Model best tailored to be used within Google Cloud, and which cannot be exported. Default.", +"A model type best tailored to be used within Google Cloud, which cannot be exported externally. Compared to the CLOUD model above, it is expected to have higher prediction accuracy.", +"A model that, in addition to being available within Google Cloud, can also be exported (see ModelService.ExportModel) as TensorFlow or Core ML model and used on a mobile or edge device afterwards. Expected to have low latency, but may have lower prediction quality than other mobile models.", +"A model that, in addition to being available within Google Cloud, can also be exported (see ModelService.ExportModel) as TensorFlow or Core ML model and used on a mobile or edge device with afterwards.", +"A model that, in addition to being available within Google Cloud, can also be exported (see ModelService.ExportModel) as TensorFlow or Core ML model and used on a mobile or edge device afterwards. Expected to have a higher latency, but should also have a higher prediction quality than other mobile models.", +"EfficientNet model for Model Garden training with customizable hyperparameters. Best tailored to be used within Google Cloud, and cannot be exported externally.", +"MaxViT model for Model Garden training with customizable hyperparameters. Best tailored to be used within Google Cloud, and cannot be exported externally.", +"ViT model for Model Garden training with customizable hyperparameters. Best tailored to be used within Google Cloud, and cannot be exported externally.", +"CoCa model for Model Garden training with customizable hyperparameters. Best tailored to be used within Google Cloud, and cannot be exported externally." +], +"type": "string" +}, +"multiLabel": { +"description": "If false, a single-label (multi-class) Model will be trained (i.e. assuming that for each image just up to one annotation may be applicable). If true, a multi-label Model will be trained (i.e. assuming that for each image multiple annotations may be applicable).", +"type": "boolean" +}, +"tunableParameter": { +"$ref": "GoogleCloudAiplatformV1SchemaTrainingjobDefinitionAutomlImageTrainingTunableParameter", +"description": "Trainer type for Vision TrainRequest." +}, +"uptrainBaseModelId": { +"description": "The ID of `base` model for upTraining. If it is specified, the new model will be upTrained based on the `base` model for upTraining. Otherwise, the new model will be trained from scratch. The `base` model for upTraining must be in the same Project and Location as the new Model to train, and have the same modelType.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1SchemaTrainingjobDefinitionAutoMlImageClassificationMetadata": { +"id": "GoogleCloudAiplatformV1SchemaTrainingjobDefinitionAutoMlImageClassificationMetadata", +"properties": { +"costMilliNodeHours": { +"description": "The actual training cost of creating this model, expressed in milli node hours, i.e. 1,000 value in this field means 1 node hour. Guaranteed to not exceed inputs.budgetMilliNodeHours.", +"format": "int64", +"type": "string" +}, +"successfulStopReason": { +"description": "For successful job completions, this is the reason why the job has finished.", +"enum": [ +"SUCCESSFUL_STOP_REASON_UNSPECIFIED", +"BUDGET_REACHED", +"MODEL_CONVERGED" +], +"enumDescriptions": [ +"Should not be set.", +"The inputs.budgetMilliNodeHours had been reached.", +"Further training of the Model ceased to increase its quality, since it already has converged." +], +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1SchemaTrainingjobDefinitionAutoMlImageObjectDetection": { +"description": "A TrainingJob that trains and uploads an AutoML Image Object Detection Model.", +"id": "GoogleCloudAiplatformV1SchemaTrainingjobDefinitionAutoMlImageObjectDetection", +"properties": { +"inputs": { +"$ref": "GoogleCloudAiplatformV1SchemaTrainingjobDefinitionAutoMlImageObjectDetectionInputs", +"description": "The input parameters of this TrainingJob." +}, +"metadata": { +"$ref": "GoogleCloudAiplatformV1SchemaTrainingjobDefinitionAutoMlImageObjectDetectionMetadata", +"description": "The metadata information" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1SchemaTrainingjobDefinitionAutoMlImageObjectDetectionInputs": { +"id": "GoogleCloudAiplatformV1SchemaTrainingjobDefinitionAutoMlImageObjectDetectionInputs", +"properties": { +"budgetMilliNodeHours": { +"description": "The training budget of creating this model, expressed in milli node hours i.e. 1,000 value in this field means 1 node hour. The actual metadata.costMilliNodeHours will be equal or less than this value. If further model training ceases to provide any improvements, it will stop without using the full budget and the metadata.successfulStopReason will be `model-converged`. Note, node_hour = actual_hour * number_of_nodes_involved. For modelType `cloud`(default), the budget must be between 20,000 and 900,000 milli node hours, inclusive. The default value is 216,000 which represents one day in wall time, considering 9 nodes are used. For model types `mobile-tf-low-latency-1`, `mobile-tf-versatile-1`, `mobile-tf-high-accuracy-1` the training budget must be between 1,000 and 100,000 milli node hours, inclusive. The default value is 24,000 which represents one day in wall time on a single node that is used.", +"format": "int64", +"type": "string" +}, +"disableEarlyStopping": { +"description": "Use the entire training budget. This disables the early stopping feature. When false the early stopping feature is enabled, which means that AutoML Image Object Detection might stop training before the entire training budget has been used.", +"type": "boolean" +}, +"modelType": { +"enum": [ +"MODEL_TYPE_UNSPECIFIED", +"CLOUD_HIGH_ACCURACY_1", +"CLOUD_LOW_LATENCY_1", +"CLOUD_1", +"MOBILE_TF_LOW_LATENCY_1", +"MOBILE_TF_VERSATILE_1", +"MOBILE_TF_HIGH_ACCURACY_1", +"CLOUD_STREAMING_1", +"SPINENET", +"YOLO" +], +"enumDescriptions": [ +"Should not be set.", +"A model best tailored to be used within Google Cloud, and which cannot be exported. Expected to have a higher latency, but should also have a higher prediction quality than other cloud models.", +"A model best tailored to be used within Google Cloud, and which cannot be exported. Expected to have a low latency, but may have lower prediction quality than other cloud models.", +"A model best tailored to be used within Google Cloud, and which cannot be exported. Compared to the CLOUD_HIGH_ACCURACY_1 and CLOUD_LOW_LATENCY_1 models above, it is expected to have higher prediction quality and lower latency.", +"A model that, in addition to being available within Google Cloud can also be exported (see ModelService.ExportModel) and used on a mobile or edge device with TensorFlow afterwards. Expected to have low latency, but may have lower prediction quality than other mobile models.", +"A model that, in addition to being available within Google Cloud can also be exported (see ModelService.ExportModel) and used on a mobile or edge device with TensorFlow afterwards.", +"A model that, in addition to being available within Google Cloud, can also be exported (see ModelService.ExportModel) and used on a mobile or edge device with TensorFlow afterwards. Expected to have a higher latency, but should also have a higher prediction quality than other mobile models.", +"A model best tailored to be used within Google Cloud, and which cannot be exported. Expected to best support predictions in streaming with lower latency and lower prediction quality than other cloud models.", +"SpineNet for Model Garden training with customizable hyperparameters. Best tailored to be used within Google Cloud, and cannot be exported externally.", +"YOLO for Model Garden training with customizable hyperparameters. Best tailored to be used within Google Cloud, and cannot be exported externally." +], +"type": "string" +}, +"tunableParameter": { +"$ref": "GoogleCloudAiplatformV1SchemaTrainingjobDefinitionAutomlImageTrainingTunableParameter", +"description": "Trainer type for Vision TrainRequest." +}, +"uptrainBaseModelId": { +"description": "The ID of `base` model for upTraining. If it is specified, the new model will be upTrained based on the `base` model for upTraining. Otherwise, the new model will be trained from scratch. The `base` model for upTraining must be in the same Project and Location as the new Model to train, and have the same modelType.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1SchemaTrainingjobDefinitionAutoMlImageObjectDetectionMetadata": { +"id": "GoogleCloudAiplatformV1SchemaTrainingjobDefinitionAutoMlImageObjectDetectionMetadata", +"properties": { +"costMilliNodeHours": { +"description": "The actual training cost of creating this model, expressed in milli node hours, i.e. 1,000 value in this field means 1 node hour. Guaranteed to not exceed inputs.budgetMilliNodeHours.", +"format": "int64", +"type": "string" +}, +"successfulStopReason": { +"description": "For successful job completions, this is the reason why the job has finished.", +"enum": [ +"SUCCESSFUL_STOP_REASON_UNSPECIFIED", +"BUDGET_REACHED", +"MODEL_CONVERGED" +], +"enumDescriptions": [ +"Should not be set.", +"The inputs.budgetMilliNodeHours had been reached.", +"Further training of the Model ceased to increase its quality, since it already has converged." +], +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1SchemaTrainingjobDefinitionAutoMlImageSegmentation": { +"description": "A TrainingJob that trains and uploads an AutoML Image Segmentation Model.", +"id": "GoogleCloudAiplatformV1SchemaTrainingjobDefinitionAutoMlImageSegmentation", +"properties": { +"inputs": { +"$ref": "GoogleCloudAiplatformV1SchemaTrainingjobDefinitionAutoMlImageSegmentationInputs", +"description": "The input parameters of this TrainingJob." +}, +"metadata": { +"$ref": "GoogleCloudAiplatformV1SchemaTrainingjobDefinitionAutoMlImageSegmentationMetadata", +"description": "The metadata information." +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1SchemaTrainingjobDefinitionAutoMlImageSegmentationInputs": { +"id": "GoogleCloudAiplatformV1SchemaTrainingjobDefinitionAutoMlImageSegmentationInputs", +"properties": { +"baseModelId": { +"description": "The ID of the `base` model. If it is specified, the new model will be trained based on the `base` model. Otherwise, the new model will be trained from scratch. The `base` model must be in the same Project and Location as the new Model to train, and have the same modelType.", +"type": "string" +}, +"budgetMilliNodeHours": { +"description": "The training budget of creating this model, expressed in milli node hours i.e. 1,000 value in this field means 1 node hour. The actual metadata.costMilliNodeHours will be equal or less than this value. If further model training ceases to provide any improvements, it will stop without using the full budget and the metadata.successfulStopReason will be `model-converged`. Note, node_hour = actual_hour * number_of_nodes_involved. Or actual_wall_clock_hours = train_budget_milli_node_hours / (number_of_nodes_involved * 1000) For modelType `cloud-high-accuracy-1`(default), the budget must be between 20,000 and 2,000,000 milli node hours, inclusive. The default value is 192,000 which represents one day in wall time (1000 milli * 24 hours * 8 nodes).", +"format": "int64", +"type": "string" +}, +"modelType": { +"enum": [ +"MODEL_TYPE_UNSPECIFIED", +"CLOUD_HIGH_ACCURACY_1", +"CLOUD_LOW_ACCURACY_1", +"MOBILE_TF_LOW_LATENCY_1" +], +"enumDescriptions": [ +"Should not be set.", +"A model to be used via prediction calls to uCAIP API. Expected to have a higher latency, but should also have a higher prediction quality than other models.", +"A model to be used via prediction calls to uCAIP API. Expected to have a lower latency but relatively lower prediction quality.", +"A model that, in addition to being available within Google Cloud, can also be exported (see ModelService.ExportModel) as TensorFlow model and used on a mobile or edge device afterwards. Expected to have low latency, but may have lower prediction quality than other mobile models." +], +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1SchemaTrainingjobDefinitionAutoMlImageSegmentationMetadata": { +"id": "GoogleCloudAiplatformV1SchemaTrainingjobDefinitionAutoMlImageSegmentationMetadata", +"properties": { +"costMilliNodeHours": { +"description": "The actual training cost of creating this model, expressed in milli node hours, i.e. 1,000 value in this field means 1 node hour. Guaranteed to not exceed inputs.budgetMilliNodeHours.", +"format": "int64", +"type": "string" +}, +"successfulStopReason": { +"description": "For successful job completions, this is the reason why the job has finished.", +"enum": [ +"SUCCESSFUL_STOP_REASON_UNSPECIFIED", +"BUDGET_REACHED", +"MODEL_CONVERGED" +], +"enumDescriptions": [ +"Should not be set.", +"The inputs.budgetMilliNodeHours had been reached.", +"Further training of the Model ceased to increase its quality, since it already has converged." +], +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1SchemaTrainingjobDefinitionAutoMlTables": { +"description": "A TrainingJob that trains and uploads an AutoML Tables Model.", +"id": "GoogleCloudAiplatformV1SchemaTrainingjobDefinitionAutoMlTables", +"properties": { +"inputs": { +"$ref": "GoogleCloudAiplatformV1SchemaTrainingjobDefinitionAutoMlTablesInputs", +"description": "The input parameters of this TrainingJob." +}, +"metadata": { +"$ref": "GoogleCloudAiplatformV1SchemaTrainingjobDefinitionAutoMlTablesMetadata", +"description": "The metadata information." +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1SchemaTrainingjobDefinitionAutoMlTablesInputs": { +"id": "GoogleCloudAiplatformV1SchemaTrainingjobDefinitionAutoMlTablesInputs", +"properties": { +"additionalExperiments": { +"description": "Additional experiment flags for the Tables training pipeline.", +"items": { +"type": "string" +}, +"type": "array" +}, +"disableEarlyStopping": { +"description": "Use the entire training budget. This disables the early stopping feature. By default, the early stopping feature is enabled, which means that AutoML Tables might stop training before the entire training budget has been used.", +"type": "boolean" +}, +"exportEvaluatedDataItemsConfig": { +"$ref": "GoogleCloudAiplatformV1SchemaTrainingjobDefinitionExportEvaluatedDataItemsConfig", +"description": "Configuration for exporting test set predictions to a BigQuery table. If this configuration is absent, then the export is not performed." +}, +"optimizationObjective": { +"description": "Objective function the model is optimizing towards. The training process creates a model that maximizes/minimizes the value of the objective function over the validation set. The supported optimization objectives depend on the prediction type. If the field is not set, a default objective function is used. classification (binary): \"maximize-au-roc\" (default) - Maximize the area under the receiver operating characteristic (ROC) curve. \"minimize-log-loss\" - Minimize log loss. \"maximize-au-prc\" - Maximize the area under the precision-recall curve. \"maximize-precision-at-recall\" - Maximize precision for a specified recall value. \"maximize-recall-at-precision\" - Maximize recall for a specified precision value. classification (multi-class): \"minimize-log-loss\" (default) - Minimize log loss. regression: \"minimize-rmse\" (default) - Minimize root-mean-squared error (RMSE). \"minimize-mae\" - Minimize mean-absolute error (MAE). \"minimize-rmsle\" - Minimize root-mean-squared log error (RMSLE).", +"type": "string" +}, +"optimizationObjectivePrecisionValue": { +"description": "Required when optimization_objective is \"maximize-recall-at-precision\". Must be between 0 and 1, inclusive.", +"format": "float", +"type": "number" +}, +"optimizationObjectiveRecallValue": { +"description": "Required when optimization_objective is \"maximize-precision-at-recall\". Must be between 0 and 1, inclusive.", +"format": "float", +"type": "number" +}, +"predictionType": { +"description": "The type of prediction the Model is to produce. \"classification\" - Predict one out of multiple target values is picked for each row. \"regression\" - Predict a value based on its relation to other values. This type is available only to columns that contain semantically numeric values, i.e. integers or floating point number, even if stored as e.g. strings.", +"type": "string" +}, +"targetColumn": { +"description": "The column name of the target column that the model is to predict.", +"type": "string" +}, +"trainBudgetMilliNodeHours": { +"description": "Required. The train budget of creating this model, expressed in milli node hours i.e. 1,000 value in this field means 1 node hour. The training cost of the model will not exceed this budget. The final cost will be attempted to be close to the budget, though may end up being (even) noticeably smaller - at the backend's discretion. This especially may happen when further model training ceases to provide any improvements. If the budget is set to a value known to be insufficient to train a model for the given dataset, the training won't be attempted and will error. The train budget must be between 1,000 and 72,000 milli node hours, inclusive.", +"format": "int64", +"type": "string" +}, +"transformations": { +"description": "Each transformation will apply transform function to given input column. And the result will be used for training. When creating transformation for BigQuery Struct column, the column should be flattened using \".\" as the delimiter.", +"items": { +"$ref": "GoogleCloudAiplatformV1SchemaTrainingjobDefinitionAutoMlTablesInputsTransformation" +}, +"type": "array" +}, +"weightColumnName": { +"description": "Column name that should be used as the weight column. Higher values in this column give more importance to the row during model training. The column must have numeric values between 0 and 10000 inclusively; 0 means the row is ignored for training. If weight column field is not set, then all rows are assumed to have equal weight of 1.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1SchemaTrainingjobDefinitionAutoMlTablesInputsTransformation": { +"id": "GoogleCloudAiplatformV1SchemaTrainingjobDefinitionAutoMlTablesInputsTransformation", +"properties": { +"auto": { +"$ref": "GoogleCloudAiplatformV1SchemaTrainingjobDefinitionAutoMlTablesInputsTransformationAutoTransformation" +}, +"categorical": { +"$ref": "GoogleCloudAiplatformV1SchemaTrainingjobDefinitionAutoMlTablesInputsTransformationCategoricalTransformation" +}, +"numeric": { +"$ref": "GoogleCloudAiplatformV1SchemaTrainingjobDefinitionAutoMlTablesInputsTransformationNumericTransformation" +}, +"repeatedCategorical": { +"$ref": "GoogleCloudAiplatformV1SchemaTrainingjobDefinitionAutoMlTablesInputsTransformationCategoricalArrayTransformation" +}, +"repeatedNumeric": { +"$ref": "GoogleCloudAiplatformV1SchemaTrainingjobDefinitionAutoMlTablesInputsTransformationNumericArrayTransformation" +}, +"repeatedText": { +"$ref": "GoogleCloudAiplatformV1SchemaTrainingjobDefinitionAutoMlTablesInputsTransformationTextArrayTransformation" +}, +"text": { +"$ref": "GoogleCloudAiplatformV1SchemaTrainingjobDefinitionAutoMlTablesInputsTransformationTextTransformation" +}, +"timestamp": { +"$ref": "GoogleCloudAiplatformV1SchemaTrainingjobDefinitionAutoMlTablesInputsTransformationTimestampTransformation" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1SchemaTrainingjobDefinitionAutoMlTablesInputsTransformationAutoTransformation": { +"description": "Training pipeline will infer the proper transformation based on the statistic of dataset.", +"id": "GoogleCloudAiplatformV1SchemaTrainingjobDefinitionAutoMlTablesInputsTransformationAutoTransformation", +"properties": { +"columnName": { +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1SchemaTrainingjobDefinitionAutoMlTablesInputsTransformationCategoricalArrayTransformation": { +"description": "Treats the column as categorical array and performs following transformation functions. * For each element in the array, convert the category name to a dictionary lookup index and generate an embedding for each index. Combine the embedding of all elements into a single embedding using the mean. * Empty arrays treated as an embedding of zeroes.", +"id": "GoogleCloudAiplatformV1SchemaTrainingjobDefinitionAutoMlTablesInputsTransformationCategoricalArrayTransformation", +"properties": { +"columnName": { +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1SchemaTrainingjobDefinitionAutoMlTablesInputsTransformationCategoricalTransformation": { +"description": "Training pipeline will perform following transformation functions. * The categorical string as is--no change to case, punctuation, spelling, tense, and so on. * Convert the category name to a dictionary lookup index and generate an embedding for each index. * Categories that appear less than 5 times in the training dataset are treated as the \"unknown\" category. The \"unknown\" category gets its own special lookup index and resulting embedding.", +"id": "GoogleCloudAiplatformV1SchemaTrainingjobDefinitionAutoMlTablesInputsTransformationCategoricalTransformation", +"properties": { +"columnName": { +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1SchemaTrainingjobDefinitionAutoMlTablesInputsTransformationNumericArrayTransformation": { +"description": "Treats the column as numerical array and performs following transformation functions. * All transformations for Numerical types applied to the average of the all elements. * The average of empty arrays is treated as zero.", +"id": "GoogleCloudAiplatformV1SchemaTrainingjobDefinitionAutoMlTablesInputsTransformationNumericArrayTransformation", +"properties": { +"columnName": { +"type": "string" +}, +"invalidValuesAllowed": { +"description": "If invalid values is allowed, the training pipeline will create a boolean feature that indicated whether the value is valid. Otherwise, the training pipeline will discard the input row from trainining data.", +"type": "boolean" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1SchemaTrainingjobDefinitionAutoMlTablesInputsTransformationNumericTransformation": { +"description": "Training pipeline will perform following transformation functions. * The value converted to float32. * The z_score of the value. * log(value+1) when the value is greater than or equal to 0. Otherwise, this transformation is not applied and the value is considered a missing value. * z_score of log(value+1) when the value is greater than or equal to 0. Otherwise, this transformation is not applied and the value is considered a missing value. * A boolean value that indicates whether the value is valid.", +"id": "GoogleCloudAiplatformV1SchemaTrainingjobDefinitionAutoMlTablesInputsTransformationNumericTransformation", +"properties": { +"columnName": { +"type": "string" +}, +"invalidValuesAllowed": { +"description": "If invalid values is allowed, the training pipeline will create a boolean feature that indicated whether the value is valid. Otherwise, the training pipeline will discard the input row from trainining data.", +"type": "boolean" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1SchemaTrainingjobDefinitionAutoMlTablesInputsTransformationTextArrayTransformation": { +"description": "Treats the column as text array and performs following transformation functions. * Concatenate all text values in the array into a single text value using a space (\" \") as a delimiter, and then treat the result as a single text value. Apply the transformations for Text columns. * Empty arrays treated as an empty text.", +"id": "GoogleCloudAiplatformV1SchemaTrainingjobDefinitionAutoMlTablesInputsTransformationTextArrayTransformation", +"properties": { +"columnName": { +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1SchemaTrainingjobDefinitionAutoMlTablesInputsTransformationTextTransformation": { +"description": "Training pipeline will perform following transformation functions. * The text as is--no change to case, punctuation, spelling, tense, and so on. * Tokenize text to words. Convert each words to a dictionary lookup index and generate an embedding for each index. Combine the embedding of all elements into a single embedding using the mean. * Tokenization is based on unicode script boundaries. * Missing values get their own lookup index and resulting embedding. * Stop-words receive no special treatment and are not removed.", +"id": "GoogleCloudAiplatformV1SchemaTrainingjobDefinitionAutoMlTablesInputsTransformationTextTransformation", +"properties": { +"columnName": { +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1SchemaTrainingjobDefinitionAutoMlTablesInputsTransformationTimestampTransformation": { +"description": "Training pipeline will perform following transformation functions. * Apply the transformation functions for Numerical columns. * Determine the year, month, day,and weekday. Treat each value from the * timestamp as a Categorical column. * Invalid numerical values (for example, values that fall outside of a typical timestamp range, or are extreme values) receive no special treatment and are not removed.", +"id": "GoogleCloudAiplatformV1SchemaTrainingjobDefinitionAutoMlTablesInputsTransformationTimestampTransformation", +"properties": { +"columnName": { +"type": "string" +}, +"invalidValuesAllowed": { +"description": "If invalid values is allowed, the training pipeline will create a boolean feature that indicated whether the value is valid. Otherwise, the training pipeline will discard the input row from trainining data.", +"type": "boolean" +}, +"timeFormat": { +"description": "The format in which that time field is expressed. The time_format must either be one of: * `unix-seconds` * `unix-milliseconds` * `unix-microseconds` * `unix-nanoseconds` (for respectively number of seconds, milliseconds, microseconds and nanoseconds since start of the Unix epoch); or be written in `strftime` syntax. If time_format is not set, then the default format is RFC 3339 `date-time` format, where `time-offset` = `\"Z\"` (e.g. 1985-04-12T23:20:50.52Z)", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1SchemaTrainingjobDefinitionAutoMlTablesMetadata": { +"description": "Model metadata specific to AutoML Tables.", +"id": "GoogleCloudAiplatformV1SchemaTrainingjobDefinitionAutoMlTablesMetadata", +"properties": { +"evaluatedDataItemsBigqueryUri": { +"description": "BigQuery destination uri for exported evaluated examples.", +"type": "string" +}, +"trainCostMilliNodeHours": { +"description": "Output only. The actual training cost of the model, expressed in milli node hours, i.e. 1,000 value in this field means 1 node hour. Guaranteed to not exceed the train budget.", +"format": "int64", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1SchemaTrainingjobDefinitionAutoMlTextClassification": { +"description": "A TrainingJob that trains and uploads an AutoML Text Classification Model.", +"id": "GoogleCloudAiplatformV1SchemaTrainingjobDefinitionAutoMlTextClassification", +"properties": { +"inputs": { +"$ref": "GoogleCloudAiplatformV1SchemaTrainingjobDefinitionAutoMlTextClassificationInputs", +"description": "The input parameters of this TrainingJob." +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1SchemaTrainingjobDefinitionAutoMlTextClassificationInputs": { +"id": "GoogleCloudAiplatformV1SchemaTrainingjobDefinitionAutoMlTextClassificationInputs", +"properties": { +"multiLabel": { +"type": "boolean" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1SchemaTrainingjobDefinitionAutoMlTextExtraction": { +"description": "A TrainingJob that trains and uploads an AutoML Text Extraction Model.", +"id": "GoogleCloudAiplatformV1SchemaTrainingjobDefinitionAutoMlTextExtraction", +"properties": { +"inputs": { +"$ref": "GoogleCloudAiplatformV1SchemaTrainingjobDefinitionAutoMlTextExtractionInputs", +"description": "The input parameters of this TrainingJob." +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1SchemaTrainingjobDefinitionAutoMlTextExtractionInputs": { +"id": "GoogleCloudAiplatformV1SchemaTrainingjobDefinitionAutoMlTextExtractionInputs", +"properties": {}, +"type": "object" +}, +"GoogleCloudAiplatformV1SchemaTrainingjobDefinitionAutoMlTextSentiment": { +"description": "A TrainingJob that trains and uploads an AutoML Text Sentiment Model.", +"id": "GoogleCloudAiplatformV1SchemaTrainingjobDefinitionAutoMlTextSentiment", +"properties": { +"inputs": { +"$ref": "GoogleCloudAiplatformV1SchemaTrainingjobDefinitionAutoMlTextSentimentInputs", +"description": "The input parameters of this TrainingJob." +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1SchemaTrainingjobDefinitionAutoMlTextSentimentInputs": { +"id": "GoogleCloudAiplatformV1SchemaTrainingjobDefinitionAutoMlTextSentimentInputs", +"properties": { +"sentimentMax": { +"description": "A sentiment is expressed as an integer ordinal, where higher value means a more positive sentiment. The range of sentiments that will be used is between 0 and sentimentMax (inclusive on both ends), and all the values in the range must be represented in the dataset before a model can be created. Only the Annotations with this sentimentMax will be used for training. sentimentMax value must be between 1 and 10 (inclusive).", +"format": "int32", +"type": "integer" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1SchemaTrainingjobDefinitionAutoMlVideoActionRecognition": { +"description": "A TrainingJob that trains and uploads an AutoML Video Action Recognition Model.", +"id": "GoogleCloudAiplatformV1SchemaTrainingjobDefinitionAutoMlVideoActionRecognition", +"properties": { +"inputs": { +"$ref": "GoogleCloudAiplatformV1SchemaTrainingjobDefinitionAutoMlVideoActionRecognitionInputs", +"description": "The input parameters of this TrainingJob." +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1SchemaTrainingjobDefinitionAutoMlVideoActionRecognitionInputs": { +"id": "GoogleCloudAiplatformV1SchemaTrainingjobDefinitionAutoMlVideoActionRecognitionInputs", +"properties": { +"modelType": { +"enum": [ +"MODEL_TYPE_UNSPECIFIED", +"CLOUD", +"MOBILE_VERSATILE_1", +"MOBILE_JETSON_VERSATILE_1", +"MOBILE_CORAL_VERSATILE_1" +], +"enumDescriptions": [ +"Should not be set.", +"A model best tailored to be used within Google Cloud, and which c annot be exported. Default.", +"A model that, in addition to being available within Google Cloud, can also be exported (see ModelService.ExportModel) as a TensorFlow or TensorFlow Lite model and used on a mobile or edge device afterwards.", +"A model that, in addition to being available within Google Cloud, can also be exported (see ModelService.ExportModel) to a Jetson device afterwards.", +"A model that, in addition to being available within Google Cloud, can also be exported (see ModelService.ExportModel) as a TensorFlow or TensorFlow Lite model and used on a Coral device afterwards." +], +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1SchemaTrainingjobDefinitionAutoMlVideoClassification": { +"description": "A TrainingJob that trains and uploads an AutoML Video Classification Model.", +"id": "GoogleCloudAiplatformV1SchemaTrainingjobDefinitionAutoMlVideoClassification", +"properties": { +"inputs": { +"$ref": "GoogleCloudAiplatformV1SchemaTrainingjobDefinitionAutoMlVideoClassificationInputs", +"description": "The input parameters of this TrainingJob." +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1SchemaTrainingjobDefinitionAutoMlVideoClassificationInputs": { +"id": "GoogleCloudAiplatformV1SchemaTrainingjobDefinitionAutoMlVideoClassificationInputs", +"properties": { +"modelType": { +"enum": [ +"MODEL_TYPE_UNSPECIFIED", +"CLOUD", +"MOBILE_VERSATILE_1", +"MOBILE_JETSON_VERSATILE_1" +], +"enumDescriptions": [ +"Should not be set.", +"A model best tailored to be used within Google Cloud, and which cannot be exported. Default.", +"A model that, in addition to being available within Google Cloud, can also be exported (see ModelService.ExportModel) as a TensorFlow or TensorFlow Lite model and used on a mobile or edge device afterwards.", +"A model that, in addition to being available within Google Cloud, can also be exported (see ModelService.ExportModel) to a Jetson device afterwards." +], +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1SchemaTrainingjobDefinitionAutoMlVideoObjectTracking": { +"description": "A TrainingJob that trains and uploads an AutoML Video ObjectTracking Model.", +"id": "GoogleCloudAiplatformV1SchemaTrainingjobDefinitionAutoMlVideoObjectTracking", +"properties": { +"inputs": { +"$ref": "GoogleCloudAiplatformV1SchemaTrainingjobDefinitionAutoMlVideoObjectTrackingInputs", +"description": "The input parameters of this TrainingJob." +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1SchemaTrainingjobDefinitionAutoMlVideoObjectTrackingInputs": { +"id": "GoogleCloudAiplatformV1SchemaTrainingjobDefinitionAutoMlVideoObjectTrackingInputs", +"properties": { +"modelType": { +"enum": [ +"MODEL_TYPE_UNSPECIFIED", +"CLOUD", +"MOBILE_VERSATILE_1", +"MOBILE_CORAL_VERSATILE_1", +"MOBILE_CORAL_LOW_LATENCY_1", +"MOBILE_JETSON_VERSATILE_1", +"MOBILE_JETSON_LOW_LATENCY_1" +], +"enumDescriptions": [ +"Should not be set.", +"A model best tailored to be used within Google Cloud, and which c annot be exported. Default.", +"A model that, in addition to being available within Google Cloud, can also be exported (see ModelService.ExportModel) as a TensorFlow or TensorFlow Lite model and used on a mobile or edge device afterwards.", +"A versatile model that is meant to be exported (see ModelService.ExportModel) and used on a Google Coral device.", +"A model that trades off quality for low latency, to be exported (see ModelService.ExportModel) and used on a Google Coral device.", +"A versatile model that is meant to be exported (see ModelService.ExportModel) and used on an NVIDIA Jetson device.", +"A model that trades off quality for low latency, to be exported (see ModelService.ExportModel) and used on an NVIDIA Jetson device." +], +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1SchemaTrainingjobDefinitionAutomlImageTrainingTunableParameter": { +"description": "A wrapper class which contains the tunable parameters in an AutoML Image training job.", +"id": "GoogleCloudAiplatformV1SchemaTrainingjobDefinitionAutomlImageTrainingTunableParameter", +"properties": { +"checkpointName": { +"description": "Optional. An unique name of pretrained model checkpoint provided in model garden, it will be mapped to a GCS location internally.", +"type": "string" +}, +"datasetConfig": { +"additionalProperties": { +"type": "string" +}, +"description": "Customizable dataset settings, used in the `model_garden_trainer`.", +"type": "object" +}, +"studySpec": { +"$ref": "GoogleCloudAiplatformV1StudySpec", +"description": "Optioinal. StudySpec of hyperparameter tuning job. Required for `model_garden_trainer`." +}, +"trainerConfig": { +"additionalProperties": { +"type": "string" +}, +"description": "Customizable trainer settings, used in the `model_garden_trainer`.", +"type": "object" +}, +"trainerType": { +"enum": [ +"TRAINER_TYPE_UNSPECIFIED", +"AUTOML_TRAINER", +"MODEL_GARDEN_TRAINER" +], +"enumDescriptions": [ +"Default value.", +"", +"" +], +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1SchemaTrainingjobDefinitionCustomJobMetadata": { +"id": "GoogleCloudAiplatformV1SchemaTrainingjobDefinitionCustomJobMetadata", +"properties": { +"backingCustomJob": { +"description": "The resource name of the CustomJob that has been created to carry out this custom task.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1SchemaTrainingjobDefinitionCustomTask": { +"description": "A TrainingJob that trains a custom code Model.", +"id": "GoogleCloudAiplatformV1SchemaTrainingjobDefinitionCustomTask", +"properties": { +"inputs": { +"$ref": "GoogleCloudAiplatformV1CustomJobSpec", +"description": "The input parameters of this CustomTask." +}, +"metadata": { +"$ref": "GoogleCloudAiplatformV1SchemaTrainingjobDefinitionCustomJobMetadata", +"description": "The metadata information." +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1SchemaTrainingjobDefinitionExportEvaluatedDataItemsConfig": { +"description": "Configuration for exporting test set predictions to a BigQuery table.", +"id": "GoogleCloudAiplatformV1SchemaTrainingjobDefinitionExportEvaluatedDataItemsConfig", +"properties": { +"destinationBigqueryUri": { +"description": "URI of desired destination BigQuery table. Expected format: `bq://{project_id}:{dataset_id}:{table}` If not specified, then results are exported to the following auto-created BigQuery table: `{project_id}:export_evaluated_examples_{model_name}_{yyyy_MM_dd'T'HH_mm_ss_SSS'Z'}.evaluated_examples`", +"type": "string" +}, +"overrideExistingTable": { +"description": "If true and an export destination is specified, then the contents of the destination are overwritten. Otherwise, if the export destination already exists, then the export operation fails.", +"type": "boolean" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1SchemaTrainingjobDefinitionHierarchyConfig": { +"description": "Configuration that defines the hierarchical relationship of time series and parameters for hierarchical forecasting strategies.", +"id": "GoogleCloudAiplatformV1SchemaTrainingjobDefinitionHierarchyConfig", +"properties": { +"groupColumns": { +"description": "A list of time series attribute column names that define the time series hierarchy. Only one level of hierarchy is supported, ex. 'region' for a hierarchy of stores or 'department' for a hierarchy of products. If multiple columns are specified, time series will be grouped by their combined values, ex. ('blue', 'large') for 'color' and 'size', up to 5 columns are accepted. If no group columns are specified, all time series are considered to be part of the same group.", +"items": { +"type": "string" +}, +"type": "array" +}, +"groupTemporalTotalWeight": { +"description": "The weight of the loss for predictions aggregated over both the horizon and time series in the same hierarchy group.", +"format": "double", +"type": "number" +}, +"groupTotalWeight": { +"description": "The weight of the loss for predictions aggregated over time series in the same group.", +"format": "double", +"type": "number" +}, +"temporalTotalWeight": { +"description": "The weight of the loss for predictions aggregated over the horizon for a single time series.", +"format": "double", +"type": "number" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1SchemaTrainingjobDefinitionHyperparameterTuningJobMetadata": { +"id": "GoogleCloudAiplatformV1SchemaTrainingjobDefinitionHyperparameterTuningJobMetadata", +"properties": { +"backingHyperparameterTuningJob": { +"description": "The resource name of the HyperparameterTuningJob that has been created to carry out this HyperparameterTuning task.", +"type": "string" +}, +"bestTrialBackingCustomJob": { +"description": "The resource name of the CustomJob that has been created to run the best Trial of this HyperparameterTuning task.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1SchemaTrainingjobDefinitionHyperparameterTuningJobSpec": { +"id": "GoogleCloudAiplatformV1SchemaTrainingjobDefinitionHyperparameterTuningJobSpec", +"properties": { +"maxFailedTrialCount": { +"description": "The number of failed Trials that need to be seen before failing the HyperparameterTuningJob. If set to 0, Vertex AI decides how many Trials must fail before the whole job fails.", +"format": "int32", +"type": "integer" +}, +"maxTrialCount": { +"description": "The desired total number of Trials.", +"format": "int32", +"type": "integer" +}, +"parallelTrialCount": { +"description": "The desired number of Trials to run in parallel.", +"format": "int32", +"type": "integer" +}, +"studySpec": { +"$ref": "GoogleCloudAiplatformV1StudySpec", +"description": "Study configuration of the HyperparameterTuningJob." +}, +"trialJobSpec": { +"$ref": "GoogleCloudAiplatformV1CustomJobSpec", +"description": "The spec of a trial job. The same spec applies to the CustomJobs created in all the trials." +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1SchemaTrainingjobDefinitionHyperparameterTuningTask": { +"description": "A TrainingJob that tunes Hypererparameters of a custom code Model.", +"id": "GoogleCloudAiplatformV1SchemaTrainingjobDefinitionHyperparameterTuningTask", +"properties": { +"inputs": { +"$ref": "GoogleCloudAiplatformV1SchemaTrainingjobDefinitionHyperparameterTuningJobSpec", +"description": "The input parameters of this HyperparameterTuningTask." +}, +"metadata": { +"$ref": "GoogleCloudAiplatformV1SchemaTrainingjobDefinitionHyperparameterTuningJobMetadata", +"description": "The metadata information." +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1SchemaTrainingjobDefinitionSeq2SeqPlusForecasting": { +"description": "A TrainingJob that trains and uploads an AutoML Forecasting Model.", +"id": "GoogleCloudAiplatformV1SchemaTrainingjobDefinitionSeq2SeqPlusForecasting", +"properties": { +"inputs": { +"$ref": "GoogleCloudAiplatformV1SchemaTrainingjobDefinitionSeq2SeqPlusForecastingInputs", +"description": "The input parameters of this TrainingJob." +}, +"metadata": { +"$ref": "GoogleCloudAiplatformV1SchemaTrainingjobDefinitionSeq2SeqPlusForecastingMetadata", +"description": "The metadata information." +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1SchemaTrainingjobDefinitionSeq2SeqPlusForecastingInputs": { +"id": "GoogleCloudAiplatformV1SchemaTrainingjobDefinitionSeq2SeqPlusForecastingInputs", +"properties": { +"additionalExperiments": { +"description": "Additional experiment flags for the time series forcasting training.", +"items": { +"type": "string" +}, +"type": "array" +}, +"availableAtForecastColumns": { +"description": "Names of columns that are available and provided when a forecast is requested. These columns contain information for the given entity (identified by the time_series_identifier_column column) that is known at forecast. For example, predicted weather for a specific day.", +"items": { +"type": "string" +}, +"type": "array" +}, +"contextWindow": { +"description": "The amount of time into the past training and prediction data is used for model training and prediction respectively. Expressed in number of units defined by the `data_granularity` field.", +"format": "int64", +"type": "string" +}, +"dataGranularity": { +"$ref": "GoogleCloudAiplatformV1SchemaTrainingjobDefinitionSeq2SeqPlusForecastingInputsGranularity", +"description": "Expected difference in time granularity between rows in the data." +}, +"exportEvaluatedDataItemsConfig": { +"$ref": "GoogleCloudAiplatformV1SchemaTrainingjobDefinitionExportEvaluatedDataItemsConfig", +"description": "Configuration for exporting test set predictions to a BigQuery table. If this configuration is absent, then the export is not performed." +}, +"forecastHorizon": { +"description": "The amount of time into the future for which forecasted values for the target are returned. Expressed in number of units defined by the `data_granularity` field.", +"format": "int64", +"type": "string" +}, +"hierarchyConfig": { +"$ref": "GoogleCloudAiplatformV1SchemaTrainingjobDefinitionHierarchyConfig", +"description": "Configuration that defines the hierarchical relationship of time series and parameters for hierarchical forecasting strategies." +}, +"holidayRegions": { +"description": "The geographical region based on which the holiday effect is applied in modeling by adding holiday categorical array feature that include all holidays matching the date. This option only allowed when data_granularity is day. By default, holiday effect modeling is disabled. To turn it on, specify the holiday region using this option.", +"items": { +"type": "string" +}, +"type": "array" +}, +"optimizationObjective": { +"description": "Objective function the model is optimizing towards. The training process creates a model that optimizes the value of the objective function over the validation set. The supported optimization objectives: * \"minimize-rmse\" (default) - Minimize root-mean-squared error (RMSE). * \"minimize-mae\" - Minimize mean-absolute error (MAE). * \"minimize-rmsle\" - Minimize root-mean-squared log error (RMSLE). * \"minimize-rmspe\" - Minimize root-mean-squared percentage error (RMSPE). * \"minimize-wape-mae\" - Minimize the combination of weighted absolute percentage error (WAPE) and mean-absolute-error (MAE). * \"minimize-quantile-loss\" - Minimize the quantile loss at the quantiles defined in `quantiles`. * \"minimize-mape\" - Minimize the mean absolute percentage error.", +"type": "string" +}, +"quantiles": { +"description": "Quantiles to use for minimize-quantile-loss `optimization_objective`. Up to 5 quantiles are allowed of values between 0 and 1, exclusive. Required if the value of optimization_objective is minimize-quantile-loss. Represents the percent quantiles to use for that objective. Quantiles must be unique.", +"items": { +"format": "double", +"type": "number" +}, +"type": "array" +}, +"targetColumn": { +"description": "The name of the column that the Model is to predict values for. This column must be unavailable at forecast.", +"type": "string" +}, +"timeColumn": { +"description": "The name of the column that identifies time order in the time series. This column must be available at forecast.", +"type": "string" +}, +"timeSeriesAttributeColumns": { +"description": "Column names that should be used as attribute columns. The value of these columns does not vary as a function of time. For example, store ID or item color.", +"items": { +"type": "string" +}, +"type": "array" +}, +"timeSeriesIdentifierColumn": { +"description": "The name of the column that identifies the time series.", +"type": "string" +}, +"trainBudgetMilliNodeHours": { +"description": "Required. The train budget of creating this model, expressed in milli node hours i.e. 1,000 value in this field means 1 node hour. The training cost of the model will not exceed this budget. The final cost will be attempted to be close to the budget, though may end up being (even) noticeably smaller - at the backend's discretion. This especially may happen when further model training ceases to provide any improvements. If the budget is set to a value known to be insufficient to train a model for the given dataset, the training won't be attempted and will error. The train budget must be between 1,000 and 72,000 milli node hours, inclusive.", +"format": "int64", +"type": "string" +}, +"transformations": { +"description": "Each transformation will apply transform function to given input column. And the result will be used for training. When creating transformation for BigQuery Struct column, the column should be flattened using \".\" as the delimiter.", +"items": { +"$ref": "GoogleCloudAiplatformV1SchemaTrainingjobDefinitionSeq2SeqPlusForecastingInputsTransformation" +}, +"type": "array" +}, +"unavailableAtForecastColumns": { +"description": "Names of columns that are unavailable when a forecast is requested. This column contains information for the given entity (identified by the time_series_identifier_column) that is unknown before the forecast For example, actual weather on a given day.", +"items": { +"type": "string" +}, +"type": "array" +}, +"validationOptions": { +"description": "Validation options for the data validation component. The available options are: * \"fail-pipeline\" - default, will validate against the validation and fail the pipeline if it fails. * \"ignore-validation\" - ignore the results of the validation and continue", +"type": "string" +}, +"weightColumn": { +"description": "Column name that should be used as the weight column. Higher values in this column give more importance to the row during model training. The column must have numeric values between 0 and 10000 inclusively; 0 means the row is ignored for training. If weight column field is not set, then all rows are assumed to have equal weight of 1. This column must be available at forecast.", +"type": "string" +}, +"windowConfig": { +"$ref": "GoogleCloudAiplatformV1SchemaTrainingjobDefinitionWindowConfig", +"description": "Config containing strategy for generating sliding windows." +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1SchemaTrainingjobDefinitionSeq2SeqPlusForecastingInputsGranularity": { +"description": "A duration of time expressed in time granularity units.", +"id": "GoogleCloudAiplatformV1SchemaTrainingjobDefinitionSeq2SeqPlusForecastingInputsGranularity", +"properties": { +"quantity": { +"description": "The number of granularity_units between data points in the training data. If `granularity_unit` is `minute`, can be 1, 5, 10, 15, or 30. For all other values of `granularity_unit`, must be 1.", +"format": "int64", +"type": "string" +}, +"unit": { +"description": "The time granularity unit of this time period. The supported units are: * \"minute\" * \"hour\" * \"day\" * \"week\" * \"month\" * \"year\"", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1SchemaTrainingjobDefinitionSeq2SeqPlusForecastingInputsTransformation": { +"id": "GoogleCloudAiplatformV1SchemaTrainingjobDefinitionSeq2SeqPlusForecastingInputsTransformation", +"properties": { +"auto": { +"$ref": "GoogleCloudAiplatformV1SchemaTrainingjobDefinitionSeq2SeqPlusForecastingInputsTransformationAutoTransformation" +}, +"categorical": { +"$ref": "GoogleCloudAiplatformV1SchemaTrainingjobDefinitionSeq2SeqPlusForecastingInputsTransformationCategoricalTransformation" +}, +"numeric": { +"$ref": "GoogleCloudAiplatformV1SchemaTrainingjobDefinitionSeq2SeqPlusForecastingInputsTransformationNumericTransformation" +}, +"text": { +"$ref": "GoogleCloudAiplatformV1SchemaTrainingjobDefinitionSeq2SeqPlusForecastingInputsTransformationTextTransformation" +}, +"timestamp": { +"$ref": "GoogleCloudAiplatformV1SchemaTrainingjobDefinitionSeq2SeqPlusForecastingInputsTransformationTimestampTransformation" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1SchemaTrainingjobDefinitionSeq2SeqPlusForecastingInputsTransformationAutoTransformation": { +"description": "Training pipeline will infer the proper transformation based on the statistic of dataset.", +"id": "GoogleCloudAiplatformV1SchemaTrainingjobDefinitionSeq2SeqPlusForecastingInputsTransformationAutoTransformation", +"properties": { +"columnName": { +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1SchemaTrainingjobDefinitionSeq2SeqPlusForecastingInputsTransformationCategoricalTransformation": { +"description": "Training pipeline will perform following transformation functions. * The categorical string as is--no change to case, punctuation, spelling, tense, and so on. * Convert the category name to a dictionary lookup index and generate an embedding for each index. * Categories that appear less than 5 times in the training dataset are treated as the \"unknown\" category. The \"unknown\" category gets its own special lookup index and resulting embedding.", +"id": "GoogleCloudAiplatformV1SchemaTrainingjobDefinitionSeq2SeqPlusForecastingInputsTransformationCategoricalTransformation", +"properties": { +"columnName": { +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1SchemaTrainingjobDefinitionSeq2SeqPlusForecastingInputsTransformationNumericTransformation": { +"description": "Training pipeline will perform following transformation functions. * The value converted to float32. * The z_score of the value. * log(value+1) when the value is greater than or equal to 0. Otherwise, this transformation is not applied and the value is considered a missing value. * z_score of log(value+1) when the value is greater than or equal to 0. Otherwise, this transformation is not applied and the value is considered a missing value.", +"id": "GoogleCloudAiplatformV1SchemaTrainingjobDefinitionSeq2SeqPlusForecastingInputsTransformationNumericTransformation", +"properties": { +"columnName": { +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1SchemaTrainingjobDefinitionSeq2SeqPlusForecastingInputsTransformationTextTransformation": { +"description": "Training pipeline will perform following transformation functions. * The text as is--no change to case, punctuation, spelling, tense, and so on. * Convert the category name to a dictionary lookup index and generate an embedding for each index.", +"id": "GoogleCloudAiplatformV1SchemaTrainingjobDefinitionSeq2SeqPlusForecastingInputsTransformationTextTransformation", +"properties": { +"columnName": { +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1SchemaTrainingjobDefinitionSeq2SeqPlusForecastingInputsTransformationTimestampTransformation": { +"description": "Training pipeline will perform following transformation functions. * Apply the transformation functions for Numerical columns. * Determine the year, month, day,and weekday. Treat each value from the timestamp as a Categorical column. * Invalid numerical values (for example, values that fall outside of a typical timestamp range, or are extreme values) receive no special treatment and are not removed.", +"id": "GoogleCloudAiplatformV1SchemaTrainingjobDefinitionSeq2SeqPlusForecastingInputsTransformationTimestampTransformation", +"properties": { +"columnName": { +"type": "string" +}, +"timeFormat": { +"description": "The format in which that time field is expressed. The time_format must either be one of: * `unix-seconds` * `unix-milliseconds` * `unix-microseconds` * `unix-nanoseconds` (for respectively number of seconds, milliseconds, microseconds and nanoseconds since start of the Unix epoch); or be written in `strftime` syntax. If time_format is not set, then the default format is RFC 3339 `date-time` format, where `time-offset` = `\"Z\"` (e.g. 1985-04-12T23:20:50.52Z)", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1SchemaTrainingjobDefinitionSeq2SeqPlusForecastingMetadata": { +"description": "Model metadata specific to Seq2Seq Plus Forecasting.", +"id": "GoogleCloudAiplatformV1SchemaTrainingjobDefinitionSeq2SeqPlusForecastingMetadata", +"properties": { +"evaluatedDataItemsBigqueryUri": { +"description": "BigQuery destination uri for exported evaluated examples.", +"type": "string" +}, +"trainCostMilliNodeHours": { +"description": "Output only. The actual training cost of the model, expressed in milli node hours, i.e. 1,000 value in this field means 1 node hour. Guaranteed to not exceed the train budget.", +"format": "int64", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1SchemaTrainingjobDefinitionTftForecasting": { +"description": "A TrainingJob that trains and uploads an AutoML Forecasting Model.", +"id": "GoogleCloudAiplatformV1SchemaTrainingjobDefinitionTftForecasting", +"properties": { +"inputs": { +"$ref": "GoogleCloudAiplatformV1SchemaTrainingjobDefinitionTftForecastingInputs", +"description": "The input parameters of this TrainingJob." +}, +"metadata": { +"$ref": "GoogleCloudAiplatformV1SchemaTrainingjobDefinitionTftForecastingMetadata", +"description": "The metadata information." +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1SchemaTrainingjobDefinitionTftForecastingInputs": { +"id": "GoogleCloudAiplatformV1SchemaTrainingjobDefinitionTftForecastingInputs", +"properties": { +"additionalExperiments": { +"description": "Additional experiment flags for the time series forcasting training.", +"items": { +"type": "string" +}, +"type": "array" +}, +"availableAtForecastColumns": { +"description": "Names of columns that are available and provided when a forecast is requested. These columns contain information for the given entity (identified by the time_series_identifier_column column) that is known at forecast. For example, predicted weather for a specific day.", +"items": { +"type": "string" +}, +"type": "array" +}, +"contextWindow": { +"description": "The amount of time into the past training and prediction data is used for model training and prediction respectively. Expressed in number of units defined by the `data_granularity` field.", +"format": "int64", +"type": "string" +}, +"dataGranularity": { +"$ref": "GoogleCloudAiplatformV1SchemaTrainingjobDefinitionTftForecastingInputsGranularity", +"description": "Expected difference in time granularity between rows in the data." +}, +"exportEvaluatedDataItemsConfig": { +"$ref": "GoogleCloudAiplatformV1SchemaTrainingjobDefinitionExportEvaluatedDataItemsConfig", +"description": "Configuration for exporting test set predictions to a BigQuery table. If this configuration is absent, then the export is not performed." +}, +"forecastHorizon": { +"description": "The amount of time into the future for which forecasted values for the target are returned. Expressed in number of units defined by the `data_granularity` field.", +"format": "int64", +"type": "string" +}, +"hierarchyConfig": { +"$ref": "GoogleCloudAiplatformV1SchemaTrainingjobDefinitionHierarchyConfig", +"description": "Configuration that defines the hierarchical relationship of time series and parameters for hierarchical forecasting strategies." +}, +"holidayRegions": { +"description": "The geographical region based on which the holiday effect is applied in modeling by adding holiday categorical array feature that include all holidays matching the date. This option only allowed when data_granularity is day. By default, holiday effect modeling is disabled. To turn it on, specify the holiday region using this option.", +"items": { +"type": "string" +}, +"type": "array" +}, +"optimizationObjective": { +"description": "Objective function the model is optimizing towards. The training process creates a model that optimizes the value of the objective function over the validation set. The supported optimization objectives: * \"minimize-rmse\" (default) - Minimize root-mean-squared error (RMSE). * \"minimize-mae\" - Minimize mean-absolute error (MAE). * \"minimize-rmsle\" - Minimize root-mean-squared log error (RMSLE). * \"minimize-rmspe\" - Minimize root-mean-squared percentage error (RMSPE). * \"minimize-wape-mae\" - Minimize the combination of weighted absolute percentage error (WAPE) and mean-absolute-error (MAE). * \"minimize-quantile-loss\" - Minimize the quantile loss at the quantiles defined in `quantiles`. * \"minimize-mape\" - Minimize the mean absolute percentage error.", +"type": "string" +}, +"quantiles": { +"description": "Quantiles to use for minimize-quantile-loss `optimization_objective`. Up to 5 quantiles are allowed of values between 0 and 1, exclusive. Required if the value of optimization_objective is minimize-quantile-loss. Represents the percent quantiles to use for that objective. Quantiles must be unique.", +"items": { +"format": "double", +"type": "number" +}, +"type": "array" +}, +"targetColumn": { +"description": "The name of the column that the Model is to predict values for. This column must be unavailable at forecast.", +"type": "string" +}, +"timeColumn": { +"description": "The name of the column that identifies time order in the time series. This column must be available at forecast.", +"type": "string" +}, +"timeSeriesAttributeColumns": { +"description": "Column names that should be used as attribute columns. The value of these columns does not vary as a function of time. For example, store ID or item color.", +"items": { +"type": "string" +}, +"type": "array" +}, +"timeSeriesIdentifierColumn": { +"description": "The name of the column that identifies the time series.", +"type": "string" +}, +"trainBudgetMilliNodeHours": { +"description": "Required. The train budget of creating this model, expressed in milli node hours i.e. 1,000 value in this field means 1 node hour. The training cost of the model will not exceed this budget. The final cost will be attempted to be close to the budget, though may end up being (even) noticeably smaller - at the backend's discretion. This especially may happen when further model training ceases to provide any improvements. If the budget is set to a value known to be insufficient to train a model for the given dataset, the training won't be attempted and will error. The train budget must be between 1,000 and 72,000 milli node hours, inclusive.", +"format": "int64", +"type": "string" +}, +"transformations": { +"description": "Each transformation will apply transform function to given input column. And the result will be used for training. When creating transformation for BigQuery Struct column, the column should be flattened using \".\" as the delimiter.", +"items": { +"$ref": "GoogleCloudAiplatformV1SchemaTrainingjobDefinitionTftForecastingInputsTransformation" +}, +"type": "array" +}, +"unavailableAtForecastColumns": { +"description": "Names of columns that are unavailable when a forecast is requested. This column contains information for the given entity (identified by the time_series_identifier_column) that is unknown before the forecast For example, actual weather on a given day.", +"items": { +"type": "string" +}, +"type": "array" +}, +"validationOptions": { +"description": "Validation options for the data validation component. The available options are: * \"fail-pipeline\" - default, will validate against the validation and fail the pipeline if it fails. * \"ignore-validation\" - ignore the results of the validation and continue", +"type": "string" +}, +"weightColumn": { +"description": "Column name that should be used as the weight column. Higher values in this column give more importance to the row during model training. The column must have numeric values between 0 and 10000 inclusively; 0 means the row is ignored for training. If weight column field is not set, then all rows are assumed to have equal weight of 1. This column must be available at forecast.", +"type": "string" +}, +"windowConfig": { +"$ref": "GoogleCloudAiplatformV1SchemaTrainingjobDefinitionWindowConfig", +"description": "Config containing strategy for generating sliding windows." +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1SchemaTrainingjobDefinitionTftForecastingInputsGranularity": { +"description": "A duration of time expressed in time granularity units.", +"id": "GoogleCloudAiplatformV1SchemaTrainingjobDefinitionTftForecastingInputsGranularity", +"properties": { +"quantity": { +"description": "The number of granularity_units between data points in the training data. If `granularity_unit` is `minute`, can be 1, 5, 10, 15, or 30. For all other values of `granularity_unit`, must be 1.", +"format": "int64", +"type": "string" +}, +"unit": { +"description": "The time granularity unit of this time period. The supported units are: * \"minute\" * \"hour\" * \"day\" * \"week\" * \"month\" * \"year\"", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1SchemaTrainingjobDefinitionTftForecastingInputsTransformation": { +"id": "GoogleCloudAiplatformV1SchemaTrainingjobDefinitionTftForecastingInputsTransformation", +"properties": { +"auto": { +"$ref": "GoogleCloudAiplatformV1SchemaTrainingjobDefinitionTftForecastingInputsTransformationAutoTransformation" +}, +"categorical": { +"$ref": "GoogleCloudAiplatformV1SchemaTrainingjobDefinitionTftForecastingInputsTransformationCategoricalTransformation" +}, +"numeric": { +"$ref": "GoogleCloudAiplatformV1SchemaTrainingjobDefinitionTftForecastingInputsTransformationNumericTransformation" +}, +"text": { +"$ref": "GoogleCloudAiplatformV1SchemaTrainingjobDefinitionTftForecastingInputsTransformationTextTransformation" +}, +"timestamp": { +"$ref": "GoogleCloudAiplatformV1SchemaTrainingjobDefinitionTftForecastingInputsTransformationTimestampTransformation" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1SchemaTrainingjobDefinitionTftForecastingInputsTransformationAutoTransformation": { +"description": "Training pipeline will infer the proper transformation based on the statistic of dataset.", +"id": "GoogleCloudAiplatformV1SchemaTrainingjobDefinitionTftForecastingInputsTransformationAutoTransformation", +"properties": { +"columnName": { +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1SchemaTrainingjobDefinitionTftForecastingInputsTransformationCategoricalTransformation": { +"description": "Training pipeline will perform following transformation functions. * The categorical string as is--no change to case, punctuation, spelling, tense, and so on. * Convert the category name to a dictionary lookup index and generate an embedding for each index. * Categories that appear less than 5 times in the training dataset are treated as the \"unknown\" category. The \"unknown\" category gets its own special lookup index and resulting embedding.", +"id": "GoogleCloudAiplatformV1SchemaTrainingjobDefinitionTftForecastingInputsTransformationCategoricalTransformation", +"properties": { +"columnName": { +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1SchemaTrainingjobDefinitionTftForecastingInputsTransformationNumericTransformation": { +"description": "Training pipeline will perform following transformation functions. * The value converted to float32. * The z_score of the value. * log(value+1) when the value is greater than or equal to 0. Otherwise, this transformation is not applied and the value is considered a missing value. * z_score of log(value+1) when the value is greater than or equal to 0. Otherwise, this transformation is not applied and the value is considered a missing value.", +"id": "GoogleCloudAiplatformV1SchemaTrainingjobDefinitionTftForecastingInputsTransformationNumericTransformation", +"properties": { +"columnName": { +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1SchemaTrainingjobDefinitionTftForecastingInputsTransformationTextTransformation": { +"description": "Training pipeline will perform following transformation functions. * The text as is--no change to case, punctuation, spelling, tense, and so on. * Convert the category name to a dictionary lookup index and generate an embedding for each index.", +"id": "GoogleCloudAiplatformV1SchemaTrainingjobDefinitionTftForecastingInputsTransformationTextTransformation", +"properties": { +"columnName": { +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1SchemaTrainingjobDefinitionTftForecastingInputsTransformationTimestampTransformation": { +"description": "Training pipeline will perform following transformation functions. * Apply the transformation functions for Numerical columns. * Determine the year, month, day,and weekday. Treat each value from the timestamp as a Categorical column. * Invalid numerical values (for example, values that fall outside of a typical timestamp range, or are extreme values) receive no special treatment and are not removed.", +"id": "GoogleCloudAiplatformV1SchemaTrainingjobDefinitionTftForecastingInputsTransformationTimestampTransformation", +"properties": { +"columnName": { +"type": "string" +}, +"timeFormat": { +"description": "The format in which that time field is expressed. The time_format must either be one of: * `unix-seconds` * `unix-milliseconds` * `unix-microseconds` * `unix-nanoseconds` (for respectively number of seconds, milliseconds, microseconds and nanoseconds since start of the Unix epoch); or be written in `strftime` syntax. If time_format is not set, then the default format is RFC 3339 `date-time` format, where `time-offset` = `\"Z\"` (e.g. 1985-04-12T23:20:50.52Z)", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1SchemaTrainingjobDefinitionTftForecastingMetadata": { +"description": "Model metadata specific to TFT Forecasting.", +"id": "GoogleCloudAiplatformV1SchemaTrainingjobDefinitionTftForecastingMetadata", +"properties": { +"evaluatedDataItemsBigqueryUri": { +"description": "BigQuery destination uri for exported evaluated examples.", +"type": "string" +}, +"trainCostMilliNodeHours": { +"description": "Output only. The actual training cost of the model, expressed in milli node hours, i.e. 1,000 value in this field means 1 node hour. Guaranteed to not exceed the train budget.", +"format": "int64", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1SchemaTrainingjobDefinitionWindowConfig": { +"description": "Config that contains the strategy used to generate sliding windows in time series training. A window is a series of rows that comprise the context up to the time of prediction, and the horizon following. The corresponding row for each window marks the start of the forecast horizon. Each window is used as an input example for training/evaluation.", +"id": "GoogleCloudAiplatformV1SchemaTrainingjobDefinitionWindowConfig", +"properties": { +"column": { +"description": "Name of the column that should be used to generate sliding windows. The column should contain either booleans or string booleans; if the value of the row is True, generate a sliding window with the horizon starting at that row. The column will not be used as a feature in training.", +"type": "string" +}, +"maxCount": { +"description": "Maximum number of windows that should be generated across all time series.", +"format": "int64", +"type": "string" +}, +"strideLength": { +"description": "Stride length used to generate input examples. Within one time series, every {$STRIDE_LENGTH} rows will be used to generate a sliding window.", +"format": "int64", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1SchemaVertex": { +"description": "A vertex represents a 2D point in the image. NOTE: the normalized vertex coordinates are relative to the original image and range from 0 to 1.", +"id": "GoogleCloudAiplatformV1SchemaVertex", +"properties": { +"x": { +"description": "X coordinate.", +"format": "double", +"type": "number" +}, +"y": { +"description": "Y coordinate.", +"format": "double", +"type": "number" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1SchemaVideoActionRecognitionAnnotation": { +"description": "Annotation details specific to video action recognition.", +"id": "GoogleCloudAiplatformV1SchemaVideoActionRecognitionAnnotation", +"properties": { +"annotationSpecId": { +"description": "The resource Id of the AnnotationSpec that this Annotation pertains to.", +"type": "string" +}, +"displayName": { +"description": "The display name of the AnnotationSpec that this Annotation pertains to.", +"type": "string" +}, +"timeSegment": { +"$ref": "GoogleCloudAiplatformV1SchemaTimeSegment", +"description": "This Annotation applies to the time period represented by the TimeSegment. If it's not set, the Annotation applies to the whole video." +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1SchemaVideoClassificationAnnotation": { +"description": "Annotation details specific to video classification.", +"id": "GoogleCloudAiplatformV1SchemaVideoClassificationAnnotation", +"properties": { +"annotationSpecId": { +"description": "The resource Id of the AnnotationSpec that this Annotation pertains to.", +"type": "string" +}, +"displayName": { +"description": "The display name of the AnnotationSpec that this Annotation pertains to.", +"type": "string" +}, +"timeSegment": { +"$ref": "GoogleCloudAiplatformV1SchemaTimeSegment", +"description": "This Annotation applies to the time period represented by the TimeSegment. If it's not set, the Annotation applies to the whole video." +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1SchemaVideoDataItem": { +"description": "Payload of Video DataItem.", +"id": "GoogleCloudAiplatformV1SchemaVideoDataItem", +"properties": { +"gcsUri": { +"description": "Required. Google Cloud Storage URI points to the original video in user's bucket. The video is up to 50 GB in size and up to 3 hour in duration.", +"type": "string" +}, +"mimeType": { +"description": "Output only. The mime type of the content of the video. Only the videos in below listed mime types are supported. Supported mime_type: - video/mp4 - video/avi - video/quicktime", +"readOnly": true, +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1SchemaVideoDatasetMetadata": { +"description": "The metadata of Datasets that contain Video DataItems.", +"id": "GoogleCloudAiplatformV1SchemaVideoDatasetMetadata", +"properties": { +"dataItemSchemaUri": { +"description": "Points to a YAML file stored on Google Cloud Storage describing payload of the Video DataItems that belong to this Dataset.", +"type": "string" +}, +"gcsBucket": { +"description": "Google Cloud Storage Bucket name that contains the blob data of this Dataset.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1SchemaVideoObjectTrackingAnnotation": { +"description": "Annotation details specific to video object tracking.", +"id": "GoogleCloudAiplatformV1SchemaVideoObjectTrackingAnnotation", +"properties": { +"annotationSpecId": { +"description": "The resource Id of the AnnotationSpec that this Annotation pertains to.", +"type": "string" +}, +"displayName": { +"description": "The display name of the AnnotationSpec that this Annotation pertains to.", +"type": "string" +}, +"instanceId": { +"description": "The instance of the object, expressed as a positive integer. Used to track the same object across different frames.", +"format": "int64", +"type": "string" +}, +"timeOffset": { +"description": "A time (frame) of a video to which this annotation pertains. Represented as the duration since the video's start.", +"format": "google-duration", +"type": "string" +}, +"xMax": { +"description": "The rightmost coordinate of the bounding box.", +"format": "double", +"type": "number" +}, +"xMin": { +"description": "The leftmost coordinate of the bounding box.", +"format": "double", +"type": "number" +}, +"yMax": { +"description": "The bottommost coordinate of the bounding box.", +"format": "double", +"type": "number" +}, +"yMin": { +"description": "The topmost coordinate of the bounding box.", +"format": "double", +"type": "number" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1SchemaVisualInspectionClassificationLabelSavedQueryMetadata": { +"id": "GoogleCloudAiplatformV1SchemaVisualInspectionClassificationLabelSavedQueryMetadata", +"properties": { +"multiLabel": { +"description": "Whether or not the classification label is multi_label.", +"type": "boolean" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1SchemaVisualInspectionMaskSavedQueryMetadata": { +"id": "GoogleCloudAiplatformV1SchemaVisualInspectionMaskSavedQueryMetadata", +"properties": {}, +"type": "object" +}, +"GoogleCloudAiplatformV1SearchDataItemsResponse": { +"description": "Response message for DatasetService.SearchDataItems.", +"id": "GoogleCloudAiplatformV1SearchDataItemsResponse", +"properties": { +"dataItemViews": { +"description": "The DataItemViews read.", +"items": { +"$ref": "GoogleCloudAiplatformV1DataItemView" +}, +"type": "array" +}, +"nextPageToken": { +"description": "A token to retrieve next page of results. Pass to SearchDataItemsRequest.page_token to obtain that page.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1SearchEntryPoint": { +"description": "Google search entry point.", +"id": "GoogleCloudAiplatformV1SearchEntryPoint", +"properties": { +"renderedContent": { +"description": "Optional. Web content snippet that can be embedded in a web page or an app webview.", +"type": "string" +}, +"sdkBlob": { +"description": "Optional. Base64 encoded JSON representing array of tuple.", +"format": "byte", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1SearchFeaturesResponse": { +"description": "Response message for FeaturestoreService.SearchFeatures.", +"id": "GoogleCloudAiplatformV1SearchFeaturesResponse", +"properties": { +"features": { +"description": "The Features matching the request. Fields returned: * `name` * `description` * `labels` * `create_time` * `update_time`", +"items": { +"$ref": "GoogleCloudAiplatformV1Feature" +}, +"type": "array" +}, +"nextPageToken": { +"description": "A token, which can be sent as SearchFeaturesRequest.page_token to retrieve the next page. If this field is omitted, there are no subsequent pages.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1SearchMigratableResourcesRequest": { +"description": "Request message for MigrationService.SearchMigratableResources.", +"id": "GoogleCloudAiplatformV1SearchMigratableResourcesRequest", +"properties": { +"filter": { +"description": "A filter for your search. You can use the following types of filters: * Resource type filters. The following strings filter for a specific type of MigratableResource: * `ml_engine_model_version:*` * `automl_model:*` * `automl_dataset:*` * `data_labeling_dataset:*` * \"Migrated or not\" filters. The following strings filter for resources that either have or have not already been migrated: * `last_migrate_time:*` filters for migrated resources. * `NOT last_migrate_time:*` filters for not yet migrated resources.", +"type": "string" +}, +"pageSize": { +"description": "The standard page size. The default and maximum value is 100.", +"format": "int32", +"type": "integer" +}, +"pageToken": { +"description": "The standard page token.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1SearchMigratableResourcesResponse": { +"description": "Response message for MigrationService.SearchMigratableResources.", +"id": "GoogleCloudAiplatformV1SearchMigratableResourcesResponse", +"properties": { +"migratableResources": { +"description": "All migratable resources that can be migrated to the location specified in the request.", +"items": { +"$ref": "GoogleCloudAiplatformV1MigratableResource" +}, +"type": "array" +}, +"nextPageToken": { +"description": "The standard next-page token. The migratable_resources may not fill page_size in SearchMigratableResourcesRequest even when there are subsequent pages.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1SearchModelDeploymentMonitoringStatsAnomaliesRequest": { +"description": "Request message for JobService.SearchModelDeploymentMonitoringStatsAnomalies.", +"id": "GoogleCloudAiplatformV1SearchModelDeploymentMonitoringStatsAnomaliesRequest", +"properties": { +"deployedModelId": { +"description": "Required. The DeployedModel ID of the [ModelDeploymentMonitoringObjectiveConfig.deployed_model_id].", +"type": "string" +}, +"endTime": { +"description": "The latest timestamp of stats being generated. If not set, indicates feching stats till the latest possible one.", +"format": "google-datetime", +"type": "string" +}, +"featureDisplayName": { +"description": "The feature display name. If specified, only return the stats belonging to this feature. Format: ModelMonitoringStatsAnomalies.FeatureHistoricStatsAnomalies.feature_display_name, example: \"user_destination\".", +"type": "string" +}, +"objectives": { +"description": "Required. Objectives of the stats to retrieve.", +"items": { +"$ref": "GoogleCloudAiplatformV1SearchModelDeploymentMonitoringStatsAnomaliesRequestStatsAnomaliesObjective" +}, +"type": "array" +}, +"pageSize": { +"description": "The standard list page size.", +"format": "int32", +"type": "integer" +}, +"pageToken": { +"description": "A page token received from a previous JobService.SearchModelDeploymentMonitoringStatsAnomalies call.", +"type": "string" +}, +"startTime": { +"description": "The earliest timestamp of stats being generated. If not set, indicates fetching stats till the earliest possible one.", +"format": "google-datetime", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1SearchModelDeploymentMonitoringStatsAnomaliesRequestStatsAnomaliesObjective": { +"description": "Stats requested for specific objective.", +"id": "GoogleCloudAiplatformV1SearchModelDeploymentMonitoringStatsAnomaliesRequestStatsAnomaliesObjective", +"properties": { +"topFeatureCount": { +"description": "If set, all attribution scores between SearchModelDeploymentMonitoringStatsAnomaliesRequest.start_time and SearchModelDeploymentMonitoringStatsAnomaliesRequest.end_time are fetched, and page token doesn't take effect in this case. Only used to retrieve attribution score for the top Features which has the highest attribution score in the latest monitoring run.", +"format": "int32", +"type": "integer" +}, +"type": { +"enum": [ +"MODEL_DEPLOYMENT_MONITORING_OBJECTIVE_TYPE_UNSPECIFIED", +"RAW_FEATURE_SKEW", +"RAW_FEATURE_DRIFT", +"FEATURE_ATTRIBUTION_SKEW", +"FEATURE_ATTRIBUTION_DRIFT" +], +"enumDescriptions": [ +"Default value, should not be set.", +"Raw feature values' stats to detect skew between Training-Prediction datasets.", +"Raw feature values' stats to detect drift between Serving-Prediction datasets.", +"Feature attribution scores to detect skew between Training-Prediction datasets.", +"Feature attribution scores to detect skew between Prediction datasets collected within different time windows." +], +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1SearchModelDeploymentMonitoringStatsAnomaliesResponse": { +"description": "Response message for JobService.SearchModelDeploymentMonitoringStatsAnomalies.", +"id": "GoogleCloudAiplatformV1SearchModelDeploymentMonitoringStatsAnomaliesResponse", +"properties": { +"monitoringStats": { +"description": "Stats retrieved for requested objectives. There are at most 1000 ModelMonitoringStatsAnomalies.FeatureHistoricStatsAnomalies.prediction_stats in the response.", +"items": { +"$ref": "GoogleCloudAiplatformV1ModelMonitoringStatsAnomalies" +}, +"type": "array" +}, +"nextPageToken": { +"description": "The page token that can be used by the next JobService.SearchModelDeploymentMonitoringStatsAnomalies call.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1SearchNearestEntitiesRequest": { +"description": "The request message for FeatureOnlineStoreService.SearchNearestEntities.", +"id": "GoogleCloudAiplatformV1SearchNearestEntitiesRequest", +"properties": { +"query": { +"$ref": "GoogleCloudAiplatformV1NearestNeighborQuery", +"description": "Required. The query." +}, +"returnFullEntity": { +"description": "Optional. If set to true, the full entities (including all vector values and metadata) of the nearest neighbors are returned; otherwise only entity id of the nearest neighbors will be returned. Note that returning full entities will significantly increase the latency and cost of the query.", +"type": "boolean" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1SearchNearestEntitiesResponse": { +"description": "Response message for FeatureOnlineStoreService.SearchNearestEntities", +"id": "GoogleCloudAiplatformV1SearchNearestEntitiesResponse", +"properties": { +"nearestNeighbors": { +"$ref": "GoogleCloudAiplatformV1NearestNeighbors", +"description": "The nearest neighbors of the query entity." +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1Segment": { +"description": "Segment of the content.", +"id": "GoogleCloudAiplatformV1Segment", +"properties": { +"endIndex": { +"description": "Output only. End index in the given Part, measured in bytes. Offset from the start of the Part, exclusive, starting at zero.", +"format": "int32", +"readOnly": true, +"type": "integer" +}, +"partIndex": { +"description": "Output only. The index of a Part object within its parent Content object.", +"format": "int32", +"readOnly": true, +"type": "integer" +}, +"startIndex": { +"description": "Output only. Start index in the given Part, measured in bytes. Offset from the start of the Part, inclusive, starting at zero.", +"format": "int32", +"readOnly": true, +"type": "integer" +}, +"text": { +"description": "Output only. The text corresponding to the segment from the response.", +"readOnly": true, +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1ServiceAccountSpec": { +"description": "Configuration for the use of custom service account to run the workloads.", +"id": "GoogleCloudAiplatformV1ServiceAccountSpec", +"properties": { +"enableCustomServiceAccount": { +"description": "Required. If true, custom user-managed service account is enforced to run any workloads (for example, Vertex Jobs) on the resource. Otherwise, uses the [Vertex AI Custom Code Service Agent](https://cloud.google.com/vertex-ai/docs/general/access-control#service-agents).", +"type": "boolean" +}, +"serviceAccount": { +"description": "Optional. Required when all below conditions are met * `enable_custom_service_account` is true; * any runtime is specified via `ResourceRuntimeSpec` on creation time, for example, Ray The users must have `iam.serviceAccounts.actAs` permission on this service account and then the specified runtime containers will run as it. Do not set this field if you want to submit jobs using custom service account to this PersistentResource after creation, but only specify the `service_account` inside the job.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1SharePointSources": { +"description": "The SharePointSources to pass to ImportRagFiles.", +"id": "GoogleCloudAiplatformV1SharePointSources", +"properties": { +"sharePointSources": { +"description": "The SharePoint sources.", +"items": { +"$ref": "GoogleCloudAiplatformV1SharePointSourcesSharePointSource" +}, +"type": "array" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1SharePointSourcesSharePointSource": { +"description": "An individual SharePointSource.", +"id": "GoogleCloudAiplatformV1SharePointSourcesSharePointSource", +"properties": { +"clientId": { +"description": "The Application ID for the app registered in Microsoft Azure Portal. The application must also be configured with MS Graph permissions \"Files.ReadAll\", \"Sites.ReadAll\" and BrowserSiteLists.Read.All.", +"type": "string" +}, +"clientSecret": { +"$ref": "GoogleCloudAiplatformV1ApiAuthApiKeyConfig", +"description": "The application secret for the app registered in Azure." +}, +"driveId": { +"description": "The ID of the drive to download from.", +"type": "string" +}, +"driveName": { +"description": "The name of the drive to download from.", +"type": "string" +}, +"fileId": { +"description": "Output only. The SharePoint file id. Output only.", +"readOnly": true, +"type": "string" +}, +"sharepointFolderId": { +"description": "The ID of the SharePoint folder to download from.", +"type": "string" +}, +"sharepointFolderPath": { +"description": "The path of the SharePoint folder to download from.", +"type": "string" +}, +"sharepointSiteName": { +"description": "The name of the SharePoint site to download from. This can be the site name or the site id.", +"type": "string" +}, +"tenantId": { +"description": "Unique identifier of the Azure Active Directory Instance.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1ShieldedVmConfig": { +"description": "A set of Shielded Instance options. See [Images using supported Shielded VM features](https://cloud.google.com/compute/docs/instances/modifying-shielded-vm).", +"id": "GoogleCloudAiplatformV1ShieldedVmConfig", +"properties": { +"enableSecureBoot": { +"description": "Defines whether the instance has [Secure Boot](https://cloud.google.com/compute/shielded-vm/docs/shielded-vm#secure-boot) enabled. Secure Boot helps ensure that the system only runs authentic software by verifying the digital signature of all boot components, and halting the boot process if signature verification fails.", +"type": "boolean" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1SlackSource": { +"description": "The Slack source for the ImportRagFilesRequest.", +"id": "GoogleCloudAiplatformV1SlackSource", +"properties": { +"channels": { +"description": "Required. The Slack channels.", +"items": { +"$ref": "GoogleCloudAiplatformV1SlackSourceSlackChannels" +}, +"type": "array" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1SlackSourceSlackChannels": { +"description": "SlackChannels contains the Slack channels and corresponding access token.", +"id": "GoogleCloudAiplatformV1SlackSourceSlackChannels", +"properties": { +"apiKeyConfig": { +"$ref": "GoogleCloudAiplatformV1ApiAuthApiKeyConfig", +"description": "Required. The SecretManager secret version resource name (e.g. projects/{project}/secrets/{secret}/versions/{version}) storing the Slack channel access token that has access to the slack channel IDs. See: https://api.slack.com/tutorials/tracks/getting-a-token." +}, +"channels": { +"description": "Required. The Slack channel IDs.", +"items": { +"$ref": "GoogleCloudAiplatformV1SlackSourceSlackChannelsSlackChannel" +}, +"type": "array" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1SlackSourceSlackChannelsSlackChannel": { +"description": "SlackChannel contains the Slack channel ID and the time range to import.", +"id": "GoogleCloudAiplatformV1SlackSourceSlackChannelsSlackChannel", +"properties": { +"channelId": { +"description": "Required. The Slack channel ID.", +"type": "string" +}, +"endTime": { +"description": "Optional. The ending timestamp for messages to import.", +"format": "google-datetime", +"type": "string" +}, +"startTime": { +"description": "Optional. The starting timestamp for messages to import.", +"format": "google-datetime", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1SmoothGradConfig": { +"description": "Config for SmoothGrad approximation of gradients. When enabled, the gradients are approximated by averaging the gradients from noisy samples in the vicinity of the inputs. Adding noise can help improve the computed gradients. Refer to this paper for more details: https://arxiv.org/pdf/1706.03825.pdf", +"id": "GoogleCloudAiplatformV1SmoothGradConfig", +"properties": { +"featureNoiseSigma": { +"$ref": "GoogleCloudAiplatformV1FeatureNoiseSigma", +"description": "This is similar to noise_sigma, but provides additional flexibility. A separate noise sigma can be provided for each feature, which is useful if their distributions are different. No noise is added to features that are not set. If this field is unset, noise_sigma will be used for all features." +}, +"noiseSigma": { +"description": "This is a single float value and will be used to add noise to all the features. Use this field when all features are normalized to have the same distribution: scale to range [0, 1], [-1, 1] or z-scoring, where features are normalized to have 0-mean and 1-variance. Learn more about [normalization](https://developers.google.com/machine-learning/data-prep/transform/normalization). For best results the recommended value is about 10% - 20% of the standard deviation of the input feature. Refer to section 3.2 of the SmoothGrad paper: https://arxiv.org/pdf/1706.03825.pdf. Defaults to 0.1. If the distribution is different per feature, set feature_noise_sigma instead for each feature.", +"format": "float", +"type": "number" +}, +"noisySampleCount": { +"description": "The number of gradient samples to use for approximation. The higher this number, the more accurate the gradient is, but the runtime complexity increases by this factor as well. Valid range of its value is [1, 50]. Defaults to 3.", +"format": "int32", +"type": "integer" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1SpecialistPool": { +"description": "SpecialistPool represents customers' own workforce to work on their data labeling jobs. It includes a group of specialist managers and workers. Managers are responsible for managing the workers in this pool as well as customers' data labeling jobs associated with this pool. Customers create specialist pool as well as start data labeling jobs on Cloud, managers and workers handle the jobs using CrowdCompute console.", +"id": "GoogleCloudAiplatformV1SpecialistPool", +"properties": { +"displayName": { +"description": "Required. The user-defined name of the SpecialistPool. The name can be up to 128 characters long and can consist of any UTF-8 characters. This field should be unique on project-level.", +"type": "string" +}, +"name": { +"description": "Required. The resource name of the SpecialistPool.", +"type": "string" +}, +"pendingDataLabelingJobs": { +"description": "Output only. The resource name of the pending data labeling jobs.", +"items": { +"type": "string" +}, +"readOnly": true, +"type": "array" +}, +"specialistManagerEmails": { +"description": "The email addresses of the managers in the SpecialistPool.", +"items": { +"type": "string" +}, +"type": "array" +}, +"specialistManagersCount": { +"description": "Output only. The number of managers in this SpecialistPool.", +"format": "int32", +"readOnly": true, +"type": "integer" +}, +"specialistWorkerEmails": { +"description": "The email addresses of workers in the SpecialistPool.", +"items": { +"type": "string" +}, +"type": "array" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1SpeechConfig": { +"description": "The speech generation config.", +"id": "GoogleCloudAiplatformV1SpeechConfig", +"properties": { +"voiceConfig": { +"$ref": "GoogleCloudAiplatformV1VoiceConfig", +"description": "The configuration for the speaker to use." +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1StartNotebookRuntimeOperationMetadata": { +"description": "Metadata information for NotebookService.StartNotebookRuntime.", +"id": "GoogleCloudAiplatformV1StartNotebookRuntimeOperationMetadata", +"properties": { +"genericMetadata": { +"$ref": "GoogleCloudAiplatformV1GenericOperationMetadata", +"description": "The operation generic information." +}, +"progressMessage": { +"description": "A human-readable message that shows the intermediate progress details of NotebookRuntime.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1StartNotebookRuntimeRequest": { +"description": "Request message for NotebookService.StartNotebookRuntime.", +"id": "GoogleCloudAiplatformV1StartNotebookRuntimeRequest", +"properties": {}, +"type": "object" +}, +"GoogleCloudAiplatformV1StopNotebookRuntimeRequest": { +"description": "Request message for NotebookService.StopNotebookRuntime.", +"id": "GoogleCloudAiplatformV1StopNotebookRuntimeRequest", +"properties": {}, +"type": "object" +}, +"GoogleCloudAiplatformV1StopTrialRequest": { +"description": "Request message for VizierService.StopTrial.", +"id": "GoogleCloudAiplatformV1StopTrialRequest", +"properties": {}, +"type": "object" +}, +"GoogleCloudAiplatformV1StratifiedSplit": { +"description": "Assigns input data to the training, validation, and test sets so that the distribution of values found in the categorical column (as specified by the `key` field) is mirrored within each split. The fraction values determine the relative sizes of the splits. For example, if the specified column has three values, with 50% of the rows having value \"A\", 25% value \"B\", and 25% value \"C\", and the split fractions are specified as 80/10/10, then the training set will constitute 80% of the training data, with about 50% of the training set rows having the value \"A\" for the specified column, about 25% having the value \"B\", and about 25% having the value \"C\". Only the top 500 occurring values are used; any values not in the top 500 values are randomly assigned to a split. If less than three rows contain a specific value, those rows are randomly assigned. Supported only for tabular Datasets.", +"id": "GoogleCloudAiplatformV1StratifiedSplit", +"properties": { +"key": { +"description": "Required. The key is a name of one of the Dataset's data columns. The key provided must be for a categorical column.", +"type": "string" +}, +"testFraction": { +"description": "The fraction of the input data that is to be used to evaluate the Model.", +"format": "double", +"type": "number" +}, +"trainingFraction": { +"description": "The fraction of the input data that is to be used to train the Model.", +"format": "double", +"type": "number" +}, +"validationFraction": { +"description": "The fraction of the input data that is to be used to validate the Model.", +"format": "double", +"type": "number" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1StreamQueryReasoningEngineRequest": { +"description": "Request message for ReasoningEngineExecutionService.StreamQuery.", +"id": "GoogleCloudAiplatformV1StreamQueryReasoningEngineRequest", +"properties": { +"classMethod": { +"description": "Optional. Class method to be used for the stream query. It is optional and defaults to \"stream_query\" if unspecified.", +"type": "string" +}, +"input": { +"additionalProperties": { +"description": "Properties of the object.", +"type": "any" +}, +"description": "Optional. Input content provided by users in JSON object format. Examples include text query, function calling parameters, media bytes, etc.", +"type": "object" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1StreamRawPredictRequest": { +"description": "Request message for PredictionService.StreamRawPredict.", +"id": "GoogleCloudAiplatformV1StreamRawPredictRequest", +"properties": { +"httpBody": { +"$ref": "GoogleApiHttpBody", +"description": "The prediction input. Supports HTTP headers and arbitrary data payload." +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1StreamingPredictRequest": { +"description": "Request message for PredictionService.StreamingPredict. The first message must contain endpoint field and optionally input. The subsequent messages must contain input.", +"id": "GoogleCloudAiplatformV1StreamingPredictRequest", +"properties": { +"inputs": { +"description": "The prediction input.", +"items": { +"$ref": "GoogleCloudAiplatformV1Tensor" +}, +"type": "array" +}, +"parameters": { +"$ref": "GoogleCloudAiplatformV1Tensor", +"description": "The parameters that govern the prediction." +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1StreamingPredictResponse": { +"description": "Response message for PredictionService.StreamingPredict.", +"id": "GoogleCloudAiplatformV1StreamingPredictResponse", +"properties": { +"outputs": { +"description": "The prediction output.", +"items": { +"$ref": "GoogleCloudAiplatformV1Tensor" +}, +"type": "array" +}, +"parameters": { +"$ref": "GoogleCloudAiplatformV1Tensor", +"description": "The parameters that govern the prediction." +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1StreamingReadFeatureValuesRequest": { +"description": "Request message for FeaturestoreOnlineServingService.StreamingReadFeatureValues.", +"id": "GoogleCloudAiplatformV1StreamingReadFeatureValuesRequest", +"properties": { +"entityIds": { +"description": "Required. IDs of entities to read Feature values of. The maximum number of IDs is 100. For example, for a machine learning model predicting user clicks on a website, an entity ID could be `user_123`.", +"items": { +"type": "string" +}, +"type": "array" +}, +"featureSelector": { +"$ref": "GoogleCloudAiplatformV1FeatureSelector", +"description": "Required. Selector choosing Features of the target EntityType. Feature IDs will be deduplicated." +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1StringArray": { +"description": "A list of string values.", +"id": "GoogleCloudAiplatformV1StringArray", +"properties": { +"values": { +"description": "A list of string values.", +"items": { +"type": "string" +}, +"type": "array" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1StructFieldValue": { +"description": "One field of a Struct (or object) type feature value.", +"id": "GoogleCloudAiplatformV1StructFieldValue", +"properties": { +"name": { +"description": "Name of the field in the struct feature.", +"type": "string" +}, +"value": { +"$ref": "GoogleCloudAiplatformV1FeatureValue", +"description": "The value for this field." +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1StructValue": { +"description": "Struct (or object) type feature value.", +"id": "GoogleCloudAiplatformV1StructValue", +"properties": { +"values": { +"description": "A list of field values.", +"items": { +"$ref": "GoogleCloudAiplatformV1StructFieldValue" +}, +"type": "array" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1Study": { +"description": "A message representing a Study.", +"id": "GoogleCloudAiplatformV1Study", +"properties": { +"createTime": { +"description": "Output only. Time at which the study was created.", +"format": "google-datetime", +"readOnly": true, +"type": "string" +}, +"displayName": { +"description": "Required. Describes the Study, default value is empty string.", +"type": "string" +}, +"inactiveReason": { +"description": "Output only. A human readable reason why the Study is inactive. This should be empty if a study is ACTIVE or COMPLETED.", +"readOnly": true, +"type": "string" +}, +"name": { +"description": "Output only. The name of a study. The study's globally unique identifier. Format: `projects/{project}/locations/{location}/studies/{study}`", +"readOnly": true, +"type": "string" +}, +"state": { +"description": "Output only. The detailed state of a Study.", +"enum": [ +"STATE_UNSPECIFIED", +"ACTIVE", +"INACTIVE", +"COMPLETED" +], +"enumDescriptions": [ +"The study state is unspecified.", +"The study is active.", +"The study is stopped due to an internal error.", +"The study is done when the service exhausts the parameter search space or max_trial_count is reached." +], +"readOnly": true, +"type": "string" +}, +"studySpec": { +"$ref": "GoogleCloudAiplatformV1StudySpec", +"description": "Required. Configuration of the Study." +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1StudySpec": { +"description": "Represents specification of a Study.", +"id": "GoogleCloudAiplatformV1StudySpec", +"properties": { +"algorithm": { +"description": "The search algorithm specified for the Study.", +"enum": [ +"ALGORITHM_UNSPECIFIED", +"GRID_SEARCH", +"RANDOM_SEARCH" +], +"enumDescriptions": [ +"The default algorithm used by Vertex AI for [hyperparameter tuning](https://cloud.google.com/vertex-ai/docs/training/hyperparameter-tuning-overview) and [Vertex AI Vizier](https://cloud.google.com/vertex-ai/docs/vizier).", +"Simple grid search within the feasible space. To use grid search, all parameters must be `INTEGER`, `CATEGORICAL`, or `DISCRETE`.", +"Simple random search within the feasible space." +], +"type": "string" +}, +"convexAutomatedStoppingSpec": { +"$ref": "GoogleCloudAiplatformV1StudySpecConvexAutomatedStoppingSpec", +"description": "The automated early stopping spec using convex stopping rule." +}, +"decayCurveStoppingSpec": { +"$ref": "GoogleCloudAiplatformV1StudySpecDecayCurveAutomatedStoppingSpec", +"description": "The automated early stopping spec using decay curve rule." +}, +"measurementSelectionType": { +"description": "Describe which measurement selection type will be used", +"enum": [ +"MEASUREMENT_SELECTION_TYPE_UNSPECIFIED", +"LAST_MEASUREMENT", +"BEST_MEASUREMENT" +], +"enumDescriptions": [ +"Will be treated as LAST_MEASUREMENT.", +"Use the last measurement reported.", +"Use the best measurement reported." +], +"type": "string" +}, +"medianAutomatedStoppingSpec": { +"$ref": "GoogleCloudAiplatformV1StudySpecMedianAutomatedStoppingSpec", +"description": "The automated early stopping spec using median rule." +}, +"metrics": { +"description": "Required. Metric specs for the Study.", +"items": { +"$ref": "GoogleCloudAiplatformV1StudySpecMetricSpec" +}, +"type": "array" +}, +"observationNoise": { +"description": "The observation noise level of the study. Currently only supported by the Vertex AI Vizier service. Not supported by HyperparameterTuningJob or TrainingPipeline.", +"enum": [ +"OBSERVATION_NOISE_UNSPECIFIED", +"LOW", +"HIGH" +], +"enumDescriptions": [ +"The default noise level chosen by Vertex AI.", +"Vertex AI assumes that the objective function is (nearly) perfectly reproducible, and will never repeat the same Trial parameters.", +"Vertex AI will estimate the amount of noise in metric evaluations, it may repeat the same Trial parameters more than once." +], +"type": "string" +}, +"parameters": { +"description": "Required. The set of parameters to tune.", +"items": { +"$ref": "GoogleCloudAiplatformV1StudySpecParameterSpec" +}, +"type": "array" +}, +"studyStoppingConfig": { +"$ref": "GoogleCloudAiplatformV1StudySpecStudyStoppingConfig", +"description": "Conditions for automated stopping of a Study. Enable automated stopping by configuring at least one condition." +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1StudySpecConvexAutomatedStoppingSpec": { +"description": "Configuration for ConvexAutomatedStoppingSpec. When there are enough completed trials (configured by min_measurement_count), for pending trials with enough measurements and steps, the policy first computes an overestimate of the objective value at max_num_steps according to the slope of the incomplete objective value curve. No prediction can be made if the curve is completely flat. If the overestimation is worse than the best objective value of the completed trials, this pending trial will be early-stopped, but a last measurement will be added to the pending trial with max_num_steps and predicted objective value from the autoregression model.", +"id": "GoogleCloudAiplatformV1StudySpecConvexAutomatedStoppingSpec", +"properties": { +"learningRateParameterName": { +"description": "The hyper-parameter name used in the tuning job that stands for learning rate. Leave it blank if learning rate is not in a parameter in tuning. The learning_rate is used to estimate the objective value of the ongoing trial.", +"type": "string" +}, +"maxStepCount": { +"description": "Steps used in predicting the final objective for early stopped trials. In general, it's set to be the same as the defined steps in training / tuning. If not defined, it will learn it from the completed trials. When use_steps is false, this field is set to the maximum elapsed seconds.", +"format": "int64", +"type": "string" +}, +"minMeasurementCount": { +"description": "The minimal number of measurements in a Trial. Early-stopping checks will not trigger if less than min_measurement_count+1 completed trials or pending trials with less than min_measurement_count measurements. If not defined, the default value is 5.", +"format": "int64", +"type": "string" +}, +"minStepCount": { +"description": "Minimum number of steps for a trial to complete. Trials which do not have a measurement with step_count > min_step_count won't be considered for early stopping. It's ok to set it to 0, and a trial can be early stopped at any stage. By default, min_step_count is set to be one-tenth of the max_step_count. When use_elapsed_duration is true, this field is set to the minimum elapsed seconds.", +"format": "int64", +"type": "string" +}, +"updateAllStoppedTrials": { +"description": "ConvexAutomatedStoppingSpec by default only updates the trials that needs to be early stopped using a newly trained auto-regressive model. When this flag is set to True, all stopped trials from the beginning are potentially updated in terms of their `final_measurement`. Also, note that the training logic of autoregressive models is different in this case. Enabling this option has shown better results and this may be the default option in the future.", +"type": "boolean" +}, +"useElapsedDuration": { +"description": "This bool determines whether or not the rule is applied based on elapsed_secs or steps. If use_elapsed_duration==false, the early stopping decision is made according to the predicted objective values according to the target steps. If use_elapsed_duration==true, elapsed_secs is used instead of steps. Also, in this case, the parameters max_num_steps and min_num_steps are overloaded to contain max_elapsed_seconds and min_elapsed_seconds.", +"type": "boolean" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1StudySpecDecayCurveAutomatedStoppingSpec": { +"description": "The decay curve automated stopping rule builds a Gaussian Process Regressor to predict the final objective value of a Trial based on the already completed Trials and the intermediate measurements of the current Trial. Early stopping is requested for the current Trial if there is very low probability to exceed the optimal value found so far.", +"id": "GoogleCloudAiplatformV1StudySpecDecayCurveAutomatedStoppingSpec", +"properties": { +"useElapsedDuration": { +"description": "True if Measurement.elapsed_duration is used as the x-axis of each Trials Decay Curve. Otherwise, Measurement.step_count will be used as the x-axis.", +"type": "boolean" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1StudySpecMedianAutomatedStoppingSpec": { +"description": "The median automated stopping rule stops a pending Trial if the Trial's best objective_value is strictly below the median 'performance' of all completed Trials reported up to the Trial's last measurement. Currently, 'performance' refers to the running average of the objective values reported by the Trial in each measurement.", +"id": "GoogleCloudAiplatformV1StudySpecMedianAutomatedStoppingSpec", +"properties": { +"useElapsedDuration": { +"description": "True if median automated stopping rule applies on Measurement.elapsed_duration. It means that elapsed_duration field of latest measurement of current Trial is used to compute median objective value for each completed Trials.", +"type": "boolean" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1StudySpecMetricSpec": { +"description": "Represents a metric to optimize.", +"id": "GoogleCloudAiplatformV1StudySpecMetricSpec", +"properties": { +"goal": { +"description": "Required. The optimization goal of the metric.", +"enum": [ +"GOAL_TYPE_UNSPECIFIED", +"MAXIMIZE", +"MINIMIZE" +], +"enumDescriptions": [ +"Goal Type will default to maximize.", +"Maximize the goal metric.", +"Minimize the goal metric." +], +"type": "string" +}, +"metricId": { +"description": "Required. The ID of the metric. Must not contain whitespaces and must be unique amongst all MetricSpecs.", +"type": "string" +}, +"safetyConfig": { +"$ref": "GoogleCloudAiplatformV1StudySpecMetricSpecSafetyMetricConfig", +"description": "Used for safe search. In the case, the metric will be a safety metric. You must provide a separate metric for objective metric." +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1StudySpecMetricSpecSafetyMetricConfig": { +"description": "Used in safe optimization to specify threshold levels and risk tolerance.", +"id": "GoogleCloudAiplatformV1StudySpecMetricSpecSafetyMetricConfig", +"properties": { +"desiredMinSafeTrialsFraction": { +"description": "Desired minimum fraction of safe trials (over total number of trials) that should be targeted by the algorithm at any time during the study (best effort). This should be between 0.0 and 1.0 and a value of 0.0 means that there is no minimum and an algorithm proceeds without targeting any specific fraction. A value of 1.0 means that the algorithm attempts to only Suggest safe Trials.", +"format": "double", +"type": "number" +}, +"safetyThreshold": { +"description": "Safety threshold (boundary value between safe and unsafe). NOTE that if you leave SafetyMetricConfig unset, a default value of 0 will be used.", +"format": "double", +"type": "number" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1StudySpecParameterSpec": { +"description": "Represents a single parameter to optimize.", +"id": "GoogleCloudAiplatformV1StudySpecParameterSpec", +"properties": { +"categoricalValueSpec": { +"$ref": "GoogleCloudAiplatformV1StudySpecParameterSpecCategoricalValueSpec", +"description": "The value spec for a 'CATEGORICAL' parameter." +}, +"conditionalParameterSpecs": { +"description": "A conditional parameter node is active if the parameter's value matches the conditional node's parent_value_condition. If two items in conditional_parameter_specs have the same name, they must have disjoint parent_value_condition.", +"items": { +"$ref": "GoogleCloudAiplatformV1StudySpecParameterSpecConditionalParameterSpec" +}, +"type": "array" +}, +"discreteValueSpec": { +"$ref": "GoogleCloudAiplatformV1StudySpecParameterSpecDiscreteValueSpec", +"description": "The value spec for a 'DISCRETE' parameter." +}, +"doubleValueSpec": { +"$ref": "GoogleCloudAiplatformV1StudySpecParameterSpecDoubleValueSpec", +"description": "The value spec for a 'DOUBLE' parameter." +}, +"integerValueSpec": { +"$ref": "GoogleCloudAiplatformV1StudySpecParameterSpecIntegerValueSpec", +"description": "The value spec for an 'INTEGER' parameter." +}, +"parameterId": { +"description": "Required. The ID of the parameter. Must not contain whitespaces and must be unique amongst all ParameterSpecs.", +"type": "string" +}, +"scaleType": { +"description": "How the parameter should be scaled. Leave unset for `CATEGORICAL` parameters.", +"enum": [ +"SCALE_TYPE_UNSPECIFIED", +"UNIT_LINEAR_SCALE", +"UNIT_LOG_SCALE", +"UNIT_REVERSE_LOG_SCALE" +], +"enumDescriptions": [ +"By default, no scaling is applied.", +"Scales the feasible space to (0, 1) linearly.", +"Scales the feasible space logarithmically to (0, 1). The entire feasible space must be strictly positive.", +"Scales the feasible space \"reverse\" logarithmically to (0, 1). The result is that values close to the top of the feasible space are spread out more than points near the bottom. The entire feasible space must be strictly positive." +], +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1StudySpecParameterSpecCategoricalValueSpec": { +"description": "Value specification for a parameter in `CATEGORICAL` type.", +"id": "GoogleCloudAiplatformV1StudySpecParameterSpecCategoricalValueSpec", +"properties": { +"defaultValue": { +"description": "A default value for a `CATEGORICAL` parameter that is assumed to be a relatively good starting point. Unset value signals that there is no offered starting point. Currently only supported by the Vertex AI Vizier service. Not supported by HyperparameterTuningJob or TrainingPipeline.", +"type": "string" +}, +"values": { +"description": "Required. The list of possible categories.", +"items": { +"type": "string" +}, +"type": "array" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1StudySpecParameterSpecConditionalParameterSpec": { +"description": "Represents a parameter spec with condition from its parent parameter.", +"id": "GoogleCloudAiplatformV1StudySpecParameterSpecConditionalParameterSpec", +"properties": { +"parameterSpec": { +"$ref": "GoogleCloudAiplatformV1StudySpecParameterSpec", +"description": "Required. The spec for a conditional parameter." +}, +"parentCategoricalValues": { +"$ref": "GoogleCloudAiplatformV1StudySpecParameterSpecConditionalParameterSpecCategoricalValueCondition", +"description": "The spec for matching values from a parent parameter of `CATEGORICAL` type." +}, +"parentDiscreteValues": { +"$ref": "GoogleCloudAiplatformV1StudySpecParameterSpecConditionalParameterSpecDiscreteValueCondition", +"description": "The spec for matching values from a parent parameter of `DISCRETE` type." +}, +"parentIntValues": { +"$ref": "GoogleCloudAiplatformV1StudySpecParameterSpecConditionalParameterSpecIntValueCondition", +"description": "The spec for matching values from a parent parameter of `INTEGER` type." +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1StudySpecParameterSpecConditionalParameterSpecCategoricalValueCondition": { +"description": "Represents the spec to match categorical values from parent parameter.", +"id": "GoogleCloudAiplatformV1StudySpecParameterSpecConditionalParameterSpecCategoricalValueCondition", +"properties": { +"values": { +"description": "Required. Matches values of the parent parameter of 'CATEGORICAL' type. All values must exist in `categorical_value_spec` of parent parameter.", +"items": { +"type": "string" +}, +"type": "array" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1StudySpecParameterSpecConditionalParameterSpecDiscreteValueCondition": { +"description": "Represents the spec to match discrete values from parent parameter.", +"id": "GoogleCloudAiplatformV1StudySpecParameterSpecConditionalParameterSpecDiscreteValueCondition", +"properties": { +"values": { +"description": "Required. Matches values of the parent parameter of 'DISCRETE' type. All values must exist in `discrete_value_spec` of parent parameter. The Epsilon of the value matching is 1e-10.", +"items": { +"format": "double", +"type": "number" +}, +"type": "array" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1StudySpecParameterSpecConditionalParameterSpecIntValueCondition": { +"description": "Represents the spec to match integer values from parent parameter.", +"id": "GoogleCloudAiplatformV1StudySpecParameterSpecConditionalParameterSpecIntValueCondition", +"properties": { +"values": { +"description": "Required. Matches values of the parent parameter of 'INTEGER' type. All values must lie in `integer_value_spec` of parent parameter.", +"items": { +"format": "int64", +"type": "string" +}, +"type": "array" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1StudySpecParameterSpecDiscreteValueSpec": { +"description": "Value specification for a parameter in `DISCRETE` type.", +"id": "GoogleCloudAiplatformV1StudySpecParameterSpecDiscreteValueSpec", +"properties": { +"defaultValue": { +"description": "A default value for a `DISCRETE` parameter that is assumed to be a relatively good starting point. Unset value signals that there is no offered starting point. It automatically rounds to the nearest feasible discrete point. Currently only supported by the Vertex AI Vizier service. Not supported by HyperparameterTuningJob or TrainingPipeline.", +"format": "double", +"type": "number" +}, +"values": { +"description": "Required. A list of possible values. The list should be in increasing order and at least 1e-10 apart. For instance, this parameter might have possible settings of 1.5, 2.5, and 4.0. This list should not contain more than 1,000 values.", +"items": { +"format": "double", +"type": "number" +}, +"type": "array" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1StudySpecParameterSpecDoubleValueSpec": { +"description": "Value specification for a parameter in `DOUBLE` type.", +"id": "GoogleCloudAiplatformV1StudySpecParameterSpecDoubleValueSpec", +"properties": { +"defaultValue": { +"description": "A default value for a `DOUBLE` parameter that is assumed to be a relatively good starting point. Unset value signals that there is no offered starting point. Currently only supported by the Vertex AI Vizier service. Not supported by HyperparameterTuningJob or TrainingPipeline.", +"format": "double", +"type": "number" +}, +"maxValue": { +"description": "Required. Inclusive maximum value of the parameter.", +"format": "double", +"type": "number" +}, +"minValue": { +"description": "Required. Inclusive minimum value of the parameter.", +"format": "double", +"type": "number" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1StudySpecParameterSpecIntegerValueSpec": { +"description": "Value specification for a parameter in `INTEGER` type.", +"id": "GoogleCloudAiplatformV1StudySpecParameterSpecIntegerValueSpec", +"properties": { +"defaultValue": { +"description": "A default value for an `INTEGER` parameter that is assumed to be a relatively good starting point. Unset value signals that there is no offered starting point. Currently only supported by the Vertex AI Vizier service. Not supported by HyperparameterTuningJob or TrainingPipeline.", +"format": "int64", +"type": "string" +}, +"maxValue": { +"description": "Required. Inclusive maximum value of the parameter.", +"format": "int64", +"type": "string" +}, +"minValue": { +"description": "Required. Inclusive minimum value of the parameter.", +"format": "int64", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1StudySpecStudyStoppingConfig": { +"description": "The configuration (stopping conditions) for automated stopping of a Study. Conditions include trial budgets, time budgets, and convergence detection.", +"id": "GoogleCloudAiplatformV1StudySpecStudyStoppingConfig", +"properties": { +"maxDurationNoProgress": { +"description": "If the objective value has not improved for this much time, stop the study. WARNING: Effective only for single-objective studies.", +"format": "google-duration", +"type": "string" +}, +"maxNumTrials": { +"description": "If there are more than this many trials, stop the study.", +"format": "int32", +"type": "integer" +}, +"maxNumTrialsNoProgress": { +"description": "If the objective value has not improved for this many consecutive trials, stop the study. WARNING: Effective only for single-objective studies.", +"format": "int32", +"type": "integer" +}, +"maximumRuntimeConstraint": { +"$ref": "GoogleCloudAiplatformV1StudyTimeConstraint", +"description": "If the specified time or duration has passed, stop the study." +}, +"minNumTrials": { +"description": "If there are fewer than this many COMPLETED trials, do not stop the study.", +"format": "int32", +"type": "integer" +}, +"minimumRuntimeConstraint": { +"$ref": "GoogleCloudAiplatformV1StudyTimeConstraint", +"description": "Each \"stopping rule\" in this proto specifies an \"if\" condition. Before Vizier would generate a new suggestion, it first checks each specified stopping rule, from top to bottom in this list. Note that the first few rules (e.g. minimum_runtime_constraint, min_num_trials) will prevent other stopping rules from being evaluated until they are met. For example, setting `min_num_trials=5` and `always_stop_after= 1 hour` means that the Study will ONLY stop after it has 5 COMPLETED trials, even if more than an hour has passed since its creation. It follows the first applicable rule (whose \"if\" condition is satisfied) to make a stopping decision. If none of the specified rules are applicable, then Vizier decides that the study should not stop. If Vizier decides that the study should stop, the study enters STOPPING state (or STOPPING_ASAP if should_stop_asap = true). IMPORTANT: The automatic study state transition happens precisely as described above; that is, deleting trials or updating StudyConfig NEVER automatically moves the study state back to ACTIVE. If you want to _resume_ a Study that was stopped, 1) change the stopping conditions if necessary, 2) activate the study, and then 3) ask for suggestions. If the specified time or duration has not passed, do not stop the study." +}, +"shouldStopAsap": { +"description": "If true, a Study enters STOPPING_ASAP whenever it would normally enters STOPPING state. The bottom line is: set to true if you want to interrupt on-going evaluations of Trials as soon as the study stopping condition is met. (Please see Study.State documentation for the source of truth).", +"type": "boolean" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1StudyTimeConstraint": { +"description": "Time-based Constraint for Study", +"id": "GoogleCloudAiplatformV1StudyTimeConstraint", +"properties": { +"endTime": { +"description": "Compares the wallclock time to this time. Must use UTC timezone.", +"format": "google-datetime", +"type": "string" +}, +"maxDuration": { +"description": "Counts the wallclock time passed since the creation of this Study.", +"format": "google-duration", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1SuggestTrialsMetadata": { +"description": "Details of operations that perform Trials suggestion.", +"id": "GoogleCloudAiplatformV1SuggestTrialsMetadata", +"properties": { +"clientId": { +"description": "The identifier of the client that is requesting the suggestion. If multiple SuggestTrialsRequests have the same `client_id`, the service will return the identical suggested Trial if the Trial is pending, and provide a new Trial if the last suggested Trial was completed.", +"type": "string" +}, +"genericMetadata": { +"$ref": "GoogleCloudAiplatformV1GenericOperationMetadata", +"description": "Operation metadata for suggesting Trials." +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1SuggestTrialsRequest": { +"description": "Request message for VizierService.SuggestTrials.", +"id": "GoogleCloudAiplatformV1SuggestTrialsRequest", +"properties": { +"clientId": { +"description": "Required. The identifier of the client that is requesting the suggestion. If multiple SuggestTrialsRequests have the same `client_id`, the service will return the identical suggested Trial if the Trial is pending, and provide a new Trial if the last suggested Trial was completed.", +"type": "string" +}, +"contexts": { +"description": "Optional. This allows you to specify the \"context\" for a Trial; a context is a slice (a subspace) of the search space. Typical uses for contexts: 1) You are using Vizier to tune a server for best performance, but there's a strong weekly cycle. The context specifies the day-of-week. This allows Tuesday to generalize from Wednesday without assuming that everything is identical. 2) Imagine you're optimizing some medical treatment for people. As they walk in the door, you know certain facts about them (e.g. sex, weight, height, blood-pressure). Put that information in the context, and Vizier will adapt its suggestions to the patient. 3) You want to do a fair A/B test efficiently. Specify the \"A\" and \"B\" conditions as contexts, and Vizier will generalize between \"A\" and \"B\" conditions. If they are similar, this will allow Vizier to converge to the optimum faster than if \"A\" and \"B\" were separate Studies. NOTE: You can also enter contexts as REQUESTED Trials, e.g. via the CreateTrial() RPC; that's the asynchronous option where you don't need a close association between contexts and suggestions. NOTE: All the Parameters you set in a context MUST be defined in the Study. NOTE: You must supply 0 or $suggestion_count contexts. If you don't supply any contexts, Vizier will make suggestions from the full search space specified in the StudySpec; if you supply a full set of context, each suggestion will match the corresponding context. NOTE: A Context with no features set matches anything, and allows suggestions from the full search space. NOTE: Contexts MUST lie within the search space specified in the StudySpec. It's an error if they don't. NOTE: Contexts preferentially match ACTIVE then REQUESTED trials before new suggestions are generated. NOTE: Generation of suggestions involves a match between a Context and (optionally) a REQUESTED trial; if that match is not fully specified, a suggestion will be geneated in the merged subspace.", +"items": { +"$ref": "GoogleCloudAiplatformV1TrialContext" +}, +"type": "array" +}, +"suggestionCount": { +"description": "Required. The number of suggestions requested. It must be positive.", +"format": "int32", +"type": "integer" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1SuggestTrialsResponse": { +"description": "Response message for VizierService.SuggestTrials.", +"id": "GoogleCloudAiplatformV1SuggestTrialsResponse", +"properties": { +"endTime": { +"description": "The time at which operation processing completed.", +"format": "google-datetime", +"type": "string" +}, +"startTime": { +"description": "The time at which the operation was started.", +"format": "google-datetime", +"type": "string" +}, +"studyState": { +"description": "The state of the Study.", +"enum": [ +"STATE_UNSPECIFIED", +"ACTIVE", +"INACTIVE", +"COMPLETED" +], +"enumDescriptions": [ +"The study state is unspecified.", +"The study is active.", +"The study is stopped due to an internal error.", +"The study is done when the service exhausts the parameter search space or max_trial_count is reached." +], +"type": "string" +}, +"trials": { +"description": "A list of Trials.", +"items": { +"$ref": "GoogleCloudAiplatformV1Trial" +}, +"type": "array" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1SummarizationHelpfulnessInput": { +"description": "Input for summarization helpfulness metric.", +"id": "GoogleCloudAiplatformV1SummarizationHelpfulnessInput", +"properties": { +"instance": { +"$ref": "GoogleCloudAiplatformV1SummarizationHelpfulnessInstance", +"description": "Required. Summarization helpfulness instance." +}, +"metricSpec": { +"$ref": "GoogleCloudAiplatformV1SummarizationHelpfulnessSpec", +"description": "Required. Spec for summarization helpfulness score metric." +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1SummarizationHelpfulnessInstance": { +"description": "Spec for summarization helpfulness instance.", +"id": "GoogleCloudAiplatformV1SummarizationHelpfulnessInstance", +"properties": { +"context": { +"description": "Required. Text to be summarized.", +"type": "string" +}, +"instruction": { +"description": "Optional. Summarization prompt for LLM.", +"type": "string" +}, +"prediction": { +"description": "Required. Output of the evaluated model.", +"type": "string" +}, +"reference": { +"description": "Optional. Ground truth used to compare against the prediction.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1SummarizationHelpfulnessResult": { +"description": "Spec for summarization helpfulness result.", +"id": "GoogleCloudAiplatformV1SummarizationHelpfulnessResult", +"properties": { +"confidence": { +"description": "Output only. Confidence for summarization helpfulness score.", +"format": "float", +"readOnly": true, +"type": "number" +}, +"explanation": { +"description": "Output only. Explanation for summarization helpfulness score.", +"readOnly": true, +"type": "string" +}, +"score": { +"description": "Output only. Summarization Helpfulness score.", +"format": "float", +"readOnly": true, +"type": "number" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1SummarizationHelpfulnessSpec": { +"description": "Spec for summarization helpfulness score metric.", +"id": "GoogleCloudAiplatformV1SummarizationHelpfulnessSpec", +"properties": { +"useReference": { +"description": "Optional. Whether to use instance.reference to compute summarization helpfulness.", +"type": "boolean" +}, +"version": { +"description": "Optional. Which version to use for evaluation.", +"format": "int32", +"type": "integer" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1SummarizationQualityInput": { +"description": "Input for summarization quality metric.", +"id": "GoogleCloudAiplatformV1SummarizationQualityInput", +"properties": { +"instance": { +"$ref": "GoogleCloudAiplatformV1SummarizationQualityInstance", +"description": "Required. Summarization quality instance." +}, +"metricSpec": { +"$ref": "GoogleCloudAiplatformV1SummarizationQualitySpec", +"description": "Required. Spec for summarization quality score metric." +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1SummarizationQualityInstance": { +"description": "Spec for summarization quality instance.", +"id": "GoogleCloudAiplatformV1SummarizationQualityInstance", +"properties": { +"context": { +"description": "Required. Text to be summarized.", +"type": "string" +}, +"instruction": { +"description": "Required. Summarization prompt for LLM.", +"type": "string" +}, +"prediction": { +"description": "Required. Output of the evaluated model.", +"type": "string" +}, +"reference": { +"description": "Optional. Ground truth used to compare against the prediction.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1SummarizationQualityResult": { +"description": "Spec for summarization quality result.", +"id": "GoogleCloudAiplatformV1SummarizationQualityResult", +"properties": { +"confidence": { +"description": "Output only. Confidence for summarization quality score.", +"format": "float", +"readOnly": true, +"type": "number" +}, +"explanation": { +"description": "Output only. Explanation for summarization quality score.", +"readOnly": true, +"type": "string" +}, +"score": { +"description": "Output only. Summarization Quality score.", +"format": "float", +"readOnly": true, +"type": "number" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1SummarizationQualitySpec": { +"description": "Spec for summarization quality score metric.", +"id": "GoogleCloudAiplatformV1SummarizationQualitySpec", +"properties": { +"useReference": { +"description": "Optional. Whether to use instance.reference to compute summarization quality.", +"type": "boolean" +}, +"version": { +"description": "Optional. Which version to use for evaluation.", +"format": "int32", +"type": "integer" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1SummarizationVerbosityInput": { +"description": "Input for summarization verbosity metric.", +"id": "GoogleCloudAiplatformV1SummarizationVerbosityInput", +"properties": { +"instance": { +"$ref": "GoogleCloudAiplatformV1SummarizationVerbosityInstance", +"description": "Required. Summarization verbosity instance." +}, +"metricSpec": { +"$ref": "GoogleCloudAiplatformV1SummarizationVerbositySpec", +"description": "Required. Spec for summarization verbosity score metric." +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1SummarizationVerbosityInstance": { +"description": "Spec for summarization verbosity instance.", +"id": "GoogleCloudAiplatformV1SummarizationVerbosityInstance", +"properties": { +"context": { +"description": "Required. Text to be summarized.", +"type": "string" +}, +"instruction": { +"description": "Optional. Summarization prompt for LLM.", +"type": "string" +}, +"prediction": { +"description": "Required. Output of the evaluated model.", +"type": "string" +}, +"reference": { +"description": "Optional. Ground truth used to compare against the prediction.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1SummarizationVerbosityResult": { +"description": "Spec for summarization verbosity result.", +"id": "GoogleCloudAiplatformV1SummarizationVerbosityResult", +"properties": { +"confidence": { +"description": "Output only. Confidence for summarization verbosity score.", +"format": "float", +"readOnly": true, +"type": "number" +}, +"explanation": { +"description": "Output only. Explanation for summarization verbosity score.", +"readOnly": true, +"type": "string" +}, +"score": { +"description": "Output only. Summarization Verbosity score.", +"format": "float", +"readOnly": true, +"type": "number" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1SummarizationVerbositySpec": { +"description": "Spec for summarization verbosity score metric.", +"id": "GoogleCloudAiplatformV1SummarizationVerbositySpec", +"properties": { +"useReference": { +"description": "Optional. Whether to use instance.reference to compute summarization verbosity.", +"type": "boolean" +}, +"version": { +"description": "Optional. Which version to use for evaluation.", +"format": "int32", +"type": "integer" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1SupervisedHyperParameters": { +"description": "Hyperparameters for SFT.", +"id": "GoogleCloudAiplatformV1SupervisedHyperParameters", +"properties": { +"adapterSize": { +"description": "Optional. Adapter size for tuning.", +"enum": [ +"ADAPTER_SIZE_UNSPECIFIED", +"ADAPTER_SIZE_ONE", +"ADAPTER_SIZE_FOUR", +"ADAPTER_SIZE_EIGHT", +"ADAPTER_SIZE_SIXTEEN", +"ADAPTER_SIZE_THIRTY_TWO" +], +"enumDescriptions": [ +"Adapter size is unspecified.", +"Adapter size 1.", +"Adapter size 4.", +"Adapter size 8.", +"Adapter size 16.", +"Adapter size 32." +], +"type": "string" +}, +"epochCount": { +"description": "Optional. Number of complete passes the model makes over the entire training dataset during training.", +"format": "int64", +"type": "string" +}, +"learningRateMultiplier": { +"description": "Optional. Multiplier for adjusting the default learning rate.", +"format": "double", +"type": "number" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1SupervisedTuningDataStats": { +"description": "Tuning data statistics for Supervised Tuning.", +"id": "GoogleCloudAiplatformV1SupervisedTuningDataStats", +"properties": { +"totalBillableCharacterCount": { +"deprecated": true, +"description": "Output only. Number of billable characters in the tuning dataset.", +"format": "int64", +"readOnly": true, +"type": "string" +}, +"totalBillableTokenCount": { +"description": "Output only. Number of billable tokens in the tuning dataset.", +"format": "int64", +"readOnly": true, +"type": "string" +}, +"totalTruncatedExampleCount": { +"description": "The number of examples in the dataset that have been truncated by any amount.", +"format": "int64", +"type": "string" +}, +"totalTuningCharacterCount": { +"description": "Output only. Number of tuning characters in the tuning dataset.", +"format": "int64", +"readOnly": true, +"type": "string" +}, +"truncatedExampleIndices": { +"description": "A partial sample of the indices (starting from 1) of the truncated examples.", +"items": { +"format": "int64", +"type": "string" +}, +"type": "array" +}, +"tuningDatasetExampleCount": { +"description": "Output only. Number of examples in the tuning dataset.", +"format": "int64", +"readOnly": true, +"type": "string" +}, +"tuningStepCount": { +"description": "Output only. Number of tuning steps for this Tuning Job.", +"format": "int64", +"readOnly": true, +"type": "string" +}, +"userDatasetExamples": { +"description": "Output only. Sample user messages in the training dataset uri.", +"items": { +"$ref": "GoogleCloudAiplatformV1Content" +}, +"readOnly": true, +"type": "array" +}, +"userInputTokenDistribution": { +"$ref": "GoogleCloudAiplatformV1SupervisedTuningDatasetDistribution", +"description": "Output only. Dataset distributions for the user input tokens.", +"readOnly": true +}, +"userMessagePerExampleDistribution": { +"$ref": "GoogleCloudAiplatformV1SupervisedTuningDatasetDistribution", +"description": "Output only. Dataset distributions for the messages per example.", +"readOnly": true +}, +"userOutputTokenDistribution": { +"$ref": "GoogleCloudAiplatformV1SupervisedTuningDatasetDistribution", +"description": "Output only. Dataset distributions for the user output tokens.", +"readOnly": true +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1SupervisedTuningDatasetDistribution": { +"description": "Dataset distribution for Supervised Tuning.", +"id": "GoogleCloudAiplatformV1SupervisedTuningDatasetDistribution", +"properties": { +"billableSum": { +"description": "Output only. Sum of a given population of values that are billable.", +"format": "int64", +"readOnly": true, +"type": "string" +}, +"buckets": { +"description": "Output only. Defines the histogram bucket.", +"items": { +"$ref": "GoogleCloudAiplatformV1SupervisedTuningDatasetDistributionDatasetBucket" +}, +"readOnly": true, +"type": "array" +}, +"max": { +"description": "Output only. The maximum of the population values.", +"format": "double", +"readOnly": true, +"type": "number" +}, +"mean": { +"description": "Output only. The arithmetic mean of the values in the population.", +"format": "double", +"readOnly": true, +"type": "number" +}, +"median": { +"description": "Output only. The median of the values in the population.", +"format": "double", +"readOnly": true, +"type": "number" +}, +"min": { +"description": "Output only. The minimum of the population values.", +"format": "double", +"readOnly": true, +"type": "number" +}, +"p5": { +"description": "Output only. The 5th percentile of the values in the population.", +"format": "double", +"readOnly": true, +"type": "number" +}, +"p95": { +"description": "Output only. The 95th percentile of the values in the population.", +"format": "double", +"readOnly": true, +"type": "number" +}, +"sum": { +"description": "Output only. Sum of a given population of values.", +"format": "int64", +"readOnly": true, +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1SupervisedTuningDatasetDistributionDatasetBucket": { +"description": "Dataset bucket used to create a histogram for the distribution given a population of values.", +"id": "GoogleCloudAiplatformV1SupervisedTuningDatasetDistributionDatasetBucket", +"properties": { +"count": { +"description": "Output only. Number of values in the bucket.", +"format": "double", +"readOnly": true, +"type": "number" +}, +"left": { +"description": "Output only. Left bound of the bucket.", +"format": "double", +"readOnly": true, +"type": "number" +}, +"right": { +"description": "Output only. Right bound of the bucket.", +"format": "double", +"readOnly": true, +"type": "number" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1SupervisedTuningSpec": { +"description": "Tuning Spec for Supervised Tuning for first party models.", +"id": "GoogleCloudAiplatformV1SupervisedTuningSpec", +"properties": { +"hyperParameters": { +"$ref": "GoogleCloudAiplatformV1SupervisedHyperParameters", +"description": "Optional. Hyperparameters for SFT." +}, +"trainingDatasetUri": { +"description": "Required. Cloud Storage path to file containing training dataset for tuning. The dataset must be formatted as a JSONL file.", +"type": "string" +}, +"validationDatasetUri": { +"description": "Optional. Cloud Storage path to file containing validation dataset for tuning. The dataset must be formatted as a JSONL file.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1SyncFeatureViewRequest": { +"description": "Request message for FeatureOnlineStoreAdminService.SyncFeatureView.", +"id": "GoogleCloudAiplatformV1SyncFeatureViewRequest", +"properties": {}, +"type": "object" +}, +"GoogleCloudAiplatformV1SyncFeatureViewResponse": { +"description": "Response message for FeatureOnlineStoreAdminService.SyncFeatureView.", +"id": "GoogleCloudAiplatformV1SyncFeatureViewResponse", +"properties": { +"featureViewSync": { +"description": "Format: `projects/{project}/locations/{location}/featureOnlineStores/{feature_online_store}/featureViews/{feature_view}/featureViewSyncs/{feature_view_sync}`", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1TFRecordDestination": { +"description": "The storage details for TFRecord output content.", +"id": "GoogleCloudAiplatformV1TFRecordDestination", +"properties": { +"gcsDestination": { +"$ref": "GoogleCloudAiplatformV1GcsDestination", +"description": "Required. Google Cloud Storage location." +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1Tensor": { +"description": "A tensor value type.", +"id": "GoogleCloudAiplatformV1Tensor", +"properties": { +"boolVal": { +"description": "Type specific representations that make it easy to create tensor protos in all languages. Only the representation corresponding to \"dtype\" can be set. The values hold the flattened representation of the tensor in row major order. BOOL", +"items": { +"type": "boolean" +}, +"type": "array" +}, +"bytesVal": { +"description": "STRING", +"items": { +"format": "byte", +"type": "string" +}, +"type": "array" +}, +"doubleVal": { +"description": "DOUBLE", +"items": { +"format": "double", +"type": "number" +}, +"type": "array" +}, +"dtype": { +"description": "The data type of tensor.", +"enum": [ +"DATA_TYPE_UNSPECIFIED", +"BOOL", +"STRING", +"FLOAT", +"DOUBLE", +"INT8", +"INT16", +"INT32", +"INT64", +"UINT8", +"UINT16", +"UINT32", +"UINT64" +], +"enumDescriptions": [ +"Not a legal value for DataType. Used to indicate a DataType field has not been set.", +"Data types that all computation devices are expected to be capable to support.", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"" +], +"type": "string" +}, +"floatVal": { +"description": "FLOAT", +"items": { +"format": "float", +"type": "number" +}, +"type": "array" +}, +"int64Val": { +"description": "INT64", +"items": { +"format": "int64", +"type": "string" +}, +"type": "array" +}, +"intVal": { +"description": "INT_8 INT_16 INT_32", +"items": { +"format": "int32", +"type": "integer" +}, +"type": "array" +}, +"listVal": { +"description": "A list of tensor values.", +"items": { +"$ref": "GoogleCloudAiplatformV1Tensor" +}, +"type": "array" +}, +"shape": { +"description": "Shape of the tensor.", +"items": { +"format": "int64", +"type": "string" +}, +"type": "array" +}, +"stringVal": { +"description": "STRING", +"items": { +"type": "string" +}, +"type": "array" +}, +"structVal": { +"additionalProperties": { +"$ref": "GoogleCloudAiplatformV1Tensor" +}, +"description": "A map of string to tensor.", +"type": "object" +}, +"tensorVal": { +"description": "Serialized raw tensor content.", +"format": "byte", +"type": "string" +}, +"uint64Val": { +"description": "UINT64", +"items": { +"format": "uint64", +"type": "string" +}, +"type": "array" +}, +"uintVal": { +"description": "UINT8 UINT16 UINT32", +"items": { +"format": "uint32", +"type": "integer" +}, +"type": "array" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1Tensorboard": { +"description": "Tensorboard is a physical database that stores users' training metrics. A default Tensorboard is provided in each region of a Google Cloud project. If needed users can also create extra Tensorboards in their projects.", +"id": "GoogleCloudAiplatformV1Tensorboard", +"properties": { +"blobStoragePathPrefix": { +"description": "Output only. Consumer project Cloud Storage path prefix used to store blob data, which can either be a bucket or directory. Does not end with a '/'.", +"readOnly": true, +"type": "string" +}, +"createTime": { +"description": "Output only. Timestamp when this Tensorboard was created.", +"format": "google-datetime", +"readOnly": true, +"type": "string" +}, +"description": { +"description": "Description of this Tensorboard.", +"type": "string" +}, +"displayName": { +"description": "Required. User provided name of this Tensorboard.", +"type": "string" +}, +"encryptionSpec": { +"$ref": "GoogleCloudAiplatformV1EncryptionSpec", +"description": "Customer-managed encryption key spec for a Tensorboard. If set, this Tensorboard and all sub-resources of this Tensorboard will be secured by this key." +}, +"etag": { +"description": "Used to perform a consistent read-modify-write updates. If not set, a blind \"overwrite\" update happens.", +"type": "string" +}, +"isDefault": { +"description": "Used to indicate if the TensorBoard instance is the default one. Each project & region can have at most one default TensorBoard instance. Creation of a default TensorBoard instance and updating an existing TensorBoard instance to be default will mark all other TensorBoard instances (if any) as non default.", +"type": "boolean" +}, +"labels": { +"additionalProperties": { +"type": "string" +}, +"description": "The labels with user-defined metadata to organize your Tensorboards. Label keys and values can be no longer than 64 characters (Unicode codepoints), can only contain lowercase letters, numeric characters, underscores and dashes. International characters are allowed. No more than 64 user labels can be associated with one Tensorboard (System labels are excluded). See https://goo.gl/xmQnxf for more information and examples of labels. System reserved label keys are prefixed with \"aiplatform.googleapis.com/\" and are immutable.", +"type": "object" +}, +"name": { +"description": "Output only. Name of the Tensorboard. Format: `projects/{project}/locations/{location}/tensorboards/{tensorboard}`", +"readOnly": true, +"type": "string" +}, +"runCount": { +"description": "Output only. The number of Runs stored in this Tensorboard.", +"format": "int32", +"readOnly": true, +"type": "integer" +}, +"satisfiesPzi": { +"description": "Output only. Reserved for future use.", +"readOnly": true, +"type": "boolean" +}, +"satisfiesPzs": { +"description": "Output only. Reserved for future use.", +"readOnly": true, +"type": "boolean" +}, +"updateTime": { +"description": "Output only. Timestamp when this Tensorboard was last updated.", +"format": "google-datetime", +"readOnly": true, +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1TensorboardBlob": { +"description": "One blob (e.g, image, graph) viewable on a blob metric plot.", +"id": "GoogleCloudAiplatformV1TensorboardBlob", +"properties": { +"data": { +"description": "Optional. The bytes of the blob is not present unless it's returned by the ReadTensorboardBlobData endpoint.", +"format": "byte", +"type": "string" +}, +"id": { +"description": "Output only. A URI safe key uniquely identifying a blob. Can be used to locate the blob stored in the Cloud Storage bucket of the consumer project.", +"readOnly": true, +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1TensorboardBlobSequence": { +"description": "One point viewable on a blob metric plot, but mostly just a wrapper message to work around repeated fields can't be used directly within `oneof` fields.", +"id": "GoogleCloudAiplatformV1TensorboardBlobSequence", +"properties": { +"values": { +"description": "List of blobs contained within the sequence.", +"items": { +"$ref": "GoogleCloudAiplatformV1TensorboardBlob" +}, +"type": "array" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1TensorboardExperiment": { +"description": "A TensorboardExperiment is a group of TensorboardRuns, that are typically the results of a training job run, in a Tensorboard.", +"id": "GoogleCloudAiplatformV1TensorboardExperiment", +"properties": { +"createTime": { +"description": "Output only. Timestamp when this TensorboardExperiment was created.", +"format": "google-datetime", +"readOnly": true, +"type": "string" +}, +"description": { +"description": "Description of this TensorboardExperiment.", +"type": "string" +}, +"displayName": { +"description": "User provided name of this TensorboardExperiment.", +"type": "string" +}, +"etag": { +"description": "Used to perform consistent read-modify-write updates. If not set, a blind \"overwrite\" update happens.", +"type": "string" +}, +"labels": { +"additionalProperties": { +"type": "string" +}, +"description": "The labels with user-defined metadata to organize your TensorboardExperiment. Label keys and values cannot be longer than 64 characters (Unicode codepoints), can only contain lowercase letters, numeric characters, underscores and dashes. International characters are allowed. No more than 64 user labels can be associated with one Dataset (System labels are excluded). See https://goo.gl/xmQnxf for more information and examples of labels. System reserved label keys are prefixed with `aiplatform.googleapis.com/` and are immutable. The following system labels exist for each Dataset: * `aiplatform.googleapis.com/dataset_metadata_schema`: output only. Its value is the metadata_schema's title.", +"type": "object" +}, +"name": { +"description": "Output only. Name of the TensorboardExperiment. Format: `projects/{project}/locations/{location}/tensorboards/{tensorboard}/experiments/{experiment}`", +"readOnly": true, +"type": "string" +}, +"source": { +"description": "Immutable. Source of the TensorboardExperiment. Example: a custom training job.", +"type": "string" +}, +"updateTime": { +"description": "Output only. Timestamp when this TensorboardExperiment was last updated.", +"format": "google-datetime", +"readOnly": true, +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1TensorboardRun": { +"description": "TensorboardRun maps to a specific execution of a training job with a given set of hyperparameter values, model definition, dataset, etc", +"id": "GoogleCloudAiplatformV1TensorboardRun", +"properties": { +"createTime": { +"description": "Output only. Timestamp when this TensorboardRun was created.", +"format": "google-datetime", +"readOnly": true, +"type": "string" +}, +"description": { +"description": "Description of this TensorboardRun.", +"type": "string" +}, +"displayName": { +"description": "Required. User provided name of this TensorboardRun. This value must be unique among all TensorboardRuns belonging to the same parent TensorboardExperiment.", +"type": "string" +}, +"etag": { +"description": "Used to perform a consistent read-modify-write updates. If not set, a blind \"overwrite\" update happens.", +"type": "string" +}, +"labels": { +"additionalProperties": { +"type": "string" +}, +"description": "The labels with user-defined metadata to organize your TensorboardRuns. This field will be used to filter and visualize Runs in the Tensorboard UI. For example, a Vertex AI training job can set a label aiplatform.googleapis.com/training_job_id=xxxxx to all the runs created within that job. An end user can set a label experiment_id=xxxxx for all the runs produced in a Jupyter notebook. These runs can be grouped by a label value and visualized together in the Tensorboard UI. Label keys and values can be no longer than 64 characters (Unicode codepoints), can only contain lowercase letters, numeric characters, underscores and dashes. International characters are allowed. No more than 64 user labels can be associated with one TensorboardRun (System labels are excluded). See https://goo.gl/xmQnxf for more information and examples of labels. System reserved label keys are prefixed with \"aiplatform.googleapis.com/\" and are immutable.", +"type": "object" +}, +"name": { +"description": "Output only. Name of the TensorboardRun. Format: `projects/{project}/locations/{location}/tensorboards/{tensorboard}/experiments/{experiment}/runs/{run}`", +"readOnly": true, +"type": "string" +}, +"updateTime": { +"description": "Output only. Timestamp when this TensorboardRun was last updated.", +"format": "google-datetime", +"readOnly": true, +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1TensorboardTensor": { +"description": "One point viewable on a tensor metric plot.", +"id": "GoogleCloudAiplatformV1TensorboardTensor", +"properties": { +"value": { +"description": "Required. Serialized form of https://github.com/tensorflow/tensorflow/blob/master/tensorflow/core/framework/tensor.proto", +"format": "byte", +"type": "string" +}, +"versionNumber": { +"description": "Optional. Version number of TensorProto used to serialize value.", +"format": "int32", +"type": "integer" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1TensorboardTimeSeries": { +"description": "TensorboardTimeSeries maps to times series produced in training runs", +"id": "GoogleCloudAiplatformV1TensorboardTimeSeries", +"properties": { +"createTime": { +"description": "Output only. Timestamp when this TensorboardTimeSeries was created.", +"format": "google-datetime", +"readOnly": true, +"type": "string" +}, +"description": { +"description": "Description of this TensorboardTimeSeries.", +"type": "string" +}, +"displayName": { +"description": "Required. User provided name of this TensorboardTimeSeries. This value should be unique among all TensorboardTimeSeries resources belonging to the same TensorboardRun resource (parent resource).", +"type": "string" +}, +"etag": { +"description": "Used to perform a consistent read-modify-write updates. If not set, a blind \"overwrite\" update happens.", +"type": "string" +}, +"metadata": { +"$ref": "GoogleCloudAiplatformV1TensorboardTimeSeriesMetadata", +"description": "Output only. Scalar, Tensor, or Blob metadata for this TensorboardTimeSeries.", +"readOnly": true +}, +"name": { +"description": "Output only. Name of the TensorboardTimeSeries.", +"readOnly": true, +"type": "string" +}, +"pluginData": { +"description": "Data of the current plugin, with the size limited to 65KB.", +"format": "byte", +"type": "string" +}, +"pluginName": { +"description": "Immutable. Name of the plugin this time series pertain to. Such as Scalar, Tensor, Blob", +"type": "string" +}, +"updateTime": { +"description": "Output only. Timestamp when this TensorboardTimeSeries was last updated.", +"format": "google-datetime", +"readOnly": true, +"type": "string" +}, +"valueType": { +"description": "Required. Immutable. Type of TensorboardTimeSeries value.", +"enum": [ +"VALUE_TYPE_UNSPECIFIED", +"SCALAR", +"TENSOR", +"BLOB_SEQUENCE" +], +"enumDescriptions": [ +"The value type is unspecified.", +"Used for TensorboardTimeSeries that is a list of scalars. E.g. accuracy of a model over epochs/time.", +"Used for TensorboardTimeSeries that is a list of tensors. E.g. histograms of weights of layer in a model over epoch/time.", +"Used for TensorboardTimeSeries that is a list of blob sequences. E.g. set of sample images with labels over epochs/time." +], +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1TensorboardTimeSeriesMetadata": { +"description": "Describes metadata for a TensorboardTimeSeries.", +"id": "GoogleCloudAiplatformV1TensorboardTimeSeriesMetadata", +"properties": { +"maxBlobSequenceLength": { +"description": "Output only. The largest blob sequence length (number of blobs) of all data points in this time series, if its ValueType is BLOB_SEQUENCE.", +"format": "int64", +"readOnly": true, +"type": "string" +}, +"maxStep": { +"description": "Output only. Max step index of all data points within a TensorboardTimeSeries.", +"format": "int64", +"readOnly": true, +"type": "string" +}, +"maxWallTime": { +"description": "Output only. Max wall clock timestamp of all data points within a TensorboardTimeSeries.", +"format": "google-datetime", +"readOnly": true, +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1ThresholdConfig": { +"description": "The config for feature monitoring threshold.", +"id": "GoogleCloudAiplatformV1ThresholdConfig", +"properties": { +"value": { +"description": "Specify a threshold value that can trigger the alert. If this threshold config is for feature distribution distance: 1. For categorical feature, the distribution distance is calculated by L-inifinity norm. 2. For numerical feature, the distribution distance is calculated by Jensen\u2013Shannon divergence. Each feature must have a non-zero threshold if they need to be monitored. Otherwise no alert will be triggered for that feature.", +"format": "double", +"type": "number" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1TimeSeriesData": { +"description": "All the data stored in a TensorboardTimeSeries.", +"id": "GoogleCloudAiplatformV1TimeSeriesData", +"properties": { +"tensorboardTimeSeriesId": { +"description": "Required. The ID of the TensorboardTimeSeries, which will become the final component of the TensorboardTimeSeries' resource name", +"type": "string" +}, +"valueType": { +"description": "Required. Immutable. The value type of this time series. All the values in this time series data must match this value type.", +"enum": [ +"VALUE_TYPE_UNSPECIFIED", +"SCALAR", +"TENSOR", +"BLOB_SEQUENCE" +], +"enumDescriptions": [ +"The value type is unspecified.", +"Used for TensorboardTimeSeries that is a list of scalars. E.g. accuracy of a model over epochs/time.", +"Used for TensorboardTimeSeries that is a list of tensors. E.g. histograms of weights of layer in a model over epoch/time.", +"Used for TensorboardTimeSeries that is a list of blob sequences. E.g. set of sample images with labels over epochs/time." +], +"type": "string" +}, +"values": { +"description": "Required. Data points in this time series.", +"items": { +"$ref": "GoogleCloudAiplatformV1TimeSeriesDataPoint" +}, +"type": "array" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1TimeSeriesDataPoint": { +"description": "A TensorboardTimeSeries data point.", +"id": "GoogleCloudAiplatformV1TimeSeriesDataPoint", +"properties": { +"blobs": { +"$ref": "GoogleCloudAiplatformV1TensorboardBlobSequence", +"description": "A blob sequence value." +}, +"scalar": { +"$ref": "GoogleCloudAiplatformV1Scalar", +"description": "A scalar value." +}, +"step": { +"description": "Step index of this data point within the run.", +"format": "int64", +"type": "string" +}, +"tensor": { +"$ref": "GoogleCloudAiplatformV1TensorboardTensor", +"description": "A tensor value." +}, +"wallTime": { +"description": "Wall clock timestamp when this data point is generated by the end user.", +"format": "google-datetime", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1TimestampSplit": { +"description": "Assigns input data to training, validation, and test sets based on a provided timestamps. The youngest data pieces are assigned to training set, next to validation set, and the oldest to the test set. Supported only for tabular Datasets.", +"id": "GoogleCloudAiplatformV1TimestampSplit", +"properties": { +"key": { +"description": "Required. The key is a name of one of the Dataset's data columns. The values of the key (the values in the column) must be in RFC 3339 `date-time` format, where `time-offset` = `\"Z\"` (e.g. 1985-04-12T23:20:50.52Z). If for a piece of data the key is not present or has an invalid value, that piece is ignored by the pipeline.", +"type": "string" +}, +"testFraction": { +"description": "The fraction of the input data that is to be used to evaluate the Model.", +"format": "double", +"type": "number" +}, +"trainingFraction": { +"description": "The fraction of the input data that is to be used to train the Model.", +"format": "double", +"type": "number" +}, +"validationFraction": { +"description": "The fraction of the input data that is to be used to validate the Model.", +"format": "double", +"type": "number" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1TokensInfo": { +"description": "Tokens info with a list of tokens and the corresponding list of token ids.", +"id": "GoogleCloudAiplatformV1TokensInfo", +"properties": { +"role": { +"description": "Optional. Optional fields for the role from the corresponding Content.", +"type": "string" +}, +"tokenIds": { +"description": "A list of token ids from the input.", +"items": { +"format": "int64", +"type": "string" +}, +"type": "array" +}, +"tokens": { +"description": "A list of tokens from the input.", +"items": { +"format": "byte", +"type": "string" +}, +"type": "array" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1Tool": { +"description": "Tool details that the model may use to generate response. A `Tool` is a piece of code that enables the system to interact with external systems to perform an action, or set of actions, outside of knowledge and scope of the model. A Tool object should contain exactly one type of Tool (e.g FunctionDeclaration, Retrieval or GoogleSearchRetrieval).", +"id": "GoogleCloudAiplatformV1Tool", +"properties": { +"functionDeclarations": { +"description": "Optional. Function tool type. One or more function declarations to be passed to the model along with the current user query. Model may decide to call a subset of these functions by populating FunctionCall in the response. User should provide a FunctionResponse for each function call in the next turn. Based on the function responses, Model will generate the final response back to the user. Maximum 128 function declarations can be provided.", +"items": { +"$ref": "GoogleCloudAiplatformV1FunctionDeclaration" +}, +"type": "array" +}, +"googleSearch": { +"$ref": "GoogleCloudAiplatformV1ToolGoogleSearch", +"description": "Optional. GoogleSearch tool type. Tool to support Google Search in Model. Powered by Google." +}, +"googleSearchRetrieval": { +"$ref": "GoogleCloudAiplatformV1GoogleSearchRetrieval", +"description": "Optional. GoogleSearchRetrieval tool type. Specialized retrieval tool that is powered by Google search." +}, +"retrieval": { +"$ref": "GoogleCloudAiplatformV1Retrieval", +"description": "Optional. Retrieval tool type. System will always execute the provided retrieval tool(s) to get external knowledge to answer the prompt. Retrieval results are presented to the model for generation." +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1ToolCall": { +"description": "Spec for tool call.", +"id": "GoogleCloudAiplatformV1ToolCall", +"properties": { +"toolInput": { +"description": "Optional. Spec for tool input", +"type": "string" +}, +"toolName": { +"description": "Required. Spec for tool name", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1ToolCallValidInput": { +"description": "Input for tool call valid metric.", +"id": "GoogleCloudAiplatformV1ToolCallValidInput", +"properties": { +"instances": { +"description": "Required. Repeated tool call valid instances.", +"items": { +"$ref": "GoogleCloudAiplatformV1ToolCallValidInstance" +}, +"type": "array" +}, +"metricSpec": { +"$ref": "GoogleCloudAiplatformV1ToolCallValidSpec", +"description": "Required. Spec for tool call valid metric." +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1ToolCallValidInstance": { +"description": "Spec for tool call valid instance.", +"id": "GoogleCloudAiplatformV1ToolCallValidInstance", +"properties": { +"prediction": { +"description": "Required. Output of the evaluated model.", +"type": "string" +}, +"reference": { +"description": "Required. Ground truth used to compare against the prediction.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1ToolCallValidMetricValue": { +"description": "Tool call valid metric value for an instance.", +"id": "GoogleCloudAiplatformV1ToolCallValidMetricValue", +"properties": { +"score": { +"description": "Output only. Tool call valid score.", +"format": "float", +"readOnly": true, +"type": "number" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1ToolCallValidResults": { +"description": "Results for tool call valid metric.", +"id": "GoogleCloudAiplatformV1ToolCallValidResults", +"properties": { +"toolCallValidMetricValues": { +"description": "Output only. Tool call valid metric values.", +"items": { +"$ref": "GoogleCloudAiplatformV1ToolCallValidMetricValue" +}, +"readOnly": true, +"type": "array" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1ToolCallValidSpec": { +"description": "Spec for tool call valid metric.", +"id": "GoogleCloudAiplatformV1ToolCallValidSpec", +"properties": {}, +"type": "object" +}, +"GoogleCloudAiplatformV1ToolConfig": { +"description": "Tool config. This config is shared for all tools provided in the request.", +"id": "GoogleCloudAiplatformV1ToolConfig", +"properties": { +"functionCallingConfig": { +"$ref": "GoogleCloudAiplatformV1FunctionCallingConfig", +"description": "Optional. Function calling config." +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1ToolGoogleSearch": { +"description": "GoogleSearch tool type. Tool to support Google Search in Model. Powered by Google.", +"id": "GoogleCloudAiplatformV1ToolGoogleSearch", +"properties": {}, +"type": "object" +}, +"GoogleCloudAiplatformV1ToolNameMatchInput": { +"description": "Input for tool name match metric.", +"id": "GoogleCloudAiplatformV1ToolNameMatchInput", +"properties": { +"instances": { +"description": "Required. Repeated tool name match instances.", +"items": { +"$ref": "GoogleCloudAiplatformV1ToolNameMatchInstance" +}, +"type": "array" +}, +"metricSpec": { +"$ref": "GoogleCloudAiplatformV1ToolNameMatchSpec", +"description": "Required. Spec for tool name match metric." +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1ToolNameMatchInstance": { +"description": "Spec for tool name match instance.", +"id": "GoogleCloudAiplatformV1ToolNameMatchInstance", +"properties": { +"prediction": { +"description": "Required. Output of the evaluated model.", +"type": "string" +}, +"reference": { +"description": "Required. Ground truth used to compare against the prediction.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1ToolNameMatchMetricValue": { +"description": "Tool name match metric value for an instance.", +"id": "GoogleCloudAiplatformV1ToolNameMatchMetricValue", +"properties": { +"score": { +"description": "Output only. Tool name match score.", +"format": "float", +"readOnly": true, +"type": "number" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1ToolNameMatchResults": { +"description": "Results for tool name match metric.", +"id": "GoogleCloudAiplatformV1ToolNameMatchResults", +"properties": { +"toolNameMatchMetricValues": { +"description": "Output only. Tool name match metric values.", +"items": { +"$ref": "GoogleCloudAiplatformV1ToolNameMatchMetricValue" +}, +"readOnly": true, +"type": "array" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1ToolNameMatchSpec": { +"description": "Spec for tool name match metric.", +"id": "GoogleCloudAiplatformV1ToolNameMatchSpec", +"properties": {}, +"type": "object" +}, +"GoogleCloudAiplatformV1ToolParameterKVMatchInput": { +"description": "Input for tool parameter key value match metric.", +"id": "GoogleCloudAiplatformV1ToolParameterKVMatchInput", +"properties": { +"instances": { +"description": "Required. Repeated tool parameter key value match instances.", +"items": { +"$ref": "GoogleCloudAiplatformV1ToolParameterKVMatchInstance" +}, +"type": "array" +}, +"metricSpec": { +"$ref": "GoogleCloudAiplatformV1ToolParameterKVMatchSpec", +"description": "Required. Spec for tool parameter key value match metric." +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1ToolParameterKVMatchInstance": { +"description": "Spec for tool parameter key value match instance.", +"id": "GoogleCloudAiplatformV1ToolParameterKVMatchInstance", +"properties": { +"prediction": { +"description": "Required. Output of the evaluated model.", +"type": "string" +}, +"reference": { +"description": "Required. Ground truth used to compare against the prediction.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1ToolParameterKVMatchMetricValue": { +"description": "Tool parameter key value match metric value for an instance.", +"id": "GoogleCloudAiplatformV1ToolParameterKVMatchMetricValue", +"properties": { +"score": { +"description": "Output only. Tool parameter key value match score.", +"format": "float", +"readOnly": true, +"type": "number" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1ToolParameterKVMatchResults": { +"description": "Results for tool parameter key value match metric.", +"id": "GoogleCloudAiplatformV1ToolParameterKVMatchResults", +"properties": { +"toolParameterKvMatchMetricValues": { +"description": "Output only. Tool parameter key value match metric values.", +"items": { +"$ref": "GoogleCloudAiplatformV1ToolParameterKVMatchMetricValue" +}, +"readOnly": true, +"type": "array" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1ToolParameterKVMatchSpec": { +"description": "Spec for tool parameter key value match metric.", +"id": "GoogleCloudAiplatformV1ToolParameterKVMatchSpec", +"properties": { +"useStrictStringMatch": { +"description": "Optional. Whether to use STRICT string match on parameter values.", +"type": "boolean" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1ToolParameterKeyMatchInput": { +"description": "Input for tool parameter key match metric.", +"id": "GoogleCloudAiplatformV1ToolParameterKeyMatchInput", +"properties": { +"instances": { +"description": "Required. Repeated tool parameter key match instances.", +"items": { +"$ref": "GoogleCloudAiplatformV1ToolParameterKeyMatchInstance" +}, +"type": "array" +}, +"metricSpec": { +"$ref": "GoogleCloudAiplatformV1ToolParameterKeyMatchSpec", +"description": "Required. Spec for tool parameter key match metric." +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1ToolParameterKeyMatchInstance": { +"description": "Spec for tool parameter key match instance.", +"id": "GoogleCloudAiplatformV1ToolParameterKeyMatchInstance", +"properties": { +"prediction": { +"description": "Required. Output of the evaluated model.", +"type": "string" +}, +"reference": { +"description": "Required. Ground truth used to compare against the prediction.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1ToolParameterKeyMatchMetricValue": { +"description": "Tool parameter key match metric value for an instance.", +"id": "GoogleCloudAiplatformV1ToolParameterKeyMatchMetricValue", +"properties": { +"score": { +"description": "Output only. Tool parameter key match score.", +"format": "float", +"readOnly": true, +"type": "number" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1ToolParameterKeyMatchResults": { +"description": "Results for tool parameter key match metric.", +"id": "GoogleCloudAiplatformV1ToolParameterKeyMatchResults", +"properties": { +"toolParameterKeyMatchMetricValues": { +"description": "Output only. Tool parameter key match metric values.", +"items": { +"$ref": "GoogleCloudAiplatformV1ToolParameterKeyMatchMetricValue" +}, +"readOnly": true, +"type": "array" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1ToolParameterKeyMatchSpec": { +"description": "Spec for tool parameter key match metric.", +"id": "GoogleCloudAiplatformV1ToolParameterKeyMatchSpec", +"properties": {}, +"type": "object" +}, +"GoogleCloudAiplatformV1TrainingConfig": { +"description": "CMLE training config. For every active learning labeling iteration, system will train a machine learning model on CMLE. The trained model will be used by data sampling algorithm to select DataItems.", +"id": "GoogleCloudAiplatformV1TrainingConfig", +"properties": { +"timeoutTrainingMilliHours": { +"description": "The timeout hours for the CMLE training job, expressed in milli hours i.e. 1,000 value in this field means 1 hour.", +"format": "int64", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1TrainingPipeline": { +"description": "The TrainingPipeline orchestrates tasks associated with training a Model. It always executes the training task, and optionally may also export data from Vertex AI's Dataset which becomes the training input, upload the Model to Vertex AI, and evaluate the Model.", +"id": "GoogleCloudAiplatformV1TrainingPipeline", +"properties": { +"createTime": { +"description": "Output only. Time when the TrainingPipeline was created.", +"format": "google-datetime", +"readOnly": true, +"type": "string" +}, +"displayName": { +"description": "Required. The user-defined name of this TrainingPipeline.", +"type": "string" +}, +"encryptionSpec": { +"$ref": "GoogleCloudAiplatformV1EncryptionSpec", +"description": "Customer-managed encryption key spec for a TrainingPipeline. If set, this TrainingPipeline will be secured by this key. Note: Model trained by this TrainingPipeline is also secured by this key if model_to_upload is not set separately." +}, +"endTime": { +"description": "Output only. Time when the TrainingPipeline entered any of the following states: `PIPELINE_STATE_SUCCEEDED`, `PIPELINE_STATE_FAILED`, `PIPELINE_STATE_CANCELLED`.", +"format": "google-datetime", +"readOnly": true, +"type": "string" +}, +"error": { +"$ref": "GoogleRpcStatus", +"description": "Output only. Only populated when the pipeline's state is `PIPELINE_STATE_FAILED` or `PIPELINE_STATE_CANCELLED`.", +"readOnly": true +}, +"inputDataConfig": { +"$ref": "GoogleCloudAiplatformV1InputDataConfig", +"description": "Specifies Vertex AI owned input data that may be used for training the Model. The TrainingPipeline's training_task_definition should make clear whether this config is used and if there are any special requirements on how it should be filled. If nothing about this config is mentioned in the training_task_definition, then it should be assumed that the TrainingPipeline does not depend on this configuration." +}, +"labels": { +"additionalProperties": { +"type": "string" +}, +"description": "The labels with user-defined metadata to organize TrainingPipelines. Label keys and values can be no longer than 64 characters (Unicode codepoints), can only contain lowercase letters, numeric characters, underscores and dashes. International characters are allowed. See https://goo.gl/xmQnxf for more information and examples of labels.", +"type": "object" +}, +"modelId": { +"description": "Optional. The ID to use for the uploaded Model, which will become the final component of the model resource name. This value may be up to 63 characters, and valid characters are `[a-z0-9_-]`. The first character cannot be a number or hyphen.", +"type": "string" +}, +"modelToUpload": { +"$ref": "GoogleCloudAiplatformV1Model", +"description": "Describes the Model that may be uploaded (via ModelService.UploadModel) by this TrainingPipeline. The TrainingPipeline's training_task_definition should make clear whether this Model description should be populated, and if there are any special requirements regarding how it should be filled. If nothing is mentioned in the training_task_definition, then it should be assumed that this field should not be filled and the training task either uploads the Model without a need of this information, or that training task does not support uploading a Model as part of the pipeline. When the Pipeline's state becomes `PIPELINE_STATE_SUCCEEDED` and the trained Model had been uploaded into Vertex AI, then the model_to_upload's resource name is populated. The Model is always uploaded into the Project and Location in which this pipeline is." +}, +"name": { +"description": "Output only. Resource name of the TrainingPipeline.", +"readOnly": true, +"type": "string" +}, +"parentModel": { +"description": "Optional. When specify this field, the `model_to_upload` will not be uploaded as a new model, instead, it will become a new version of this `parent_model`.", +"type": "string" +}, +"startTime": { +"description": "Output only. Time when the TrainingPipeline for the first time entered the `PIPELINE_STATE_RUNNING` state.", +"format": "google-datetime", +"readOnly": true, +"type": "string" +}, +"state": { +"description": "Output only. The detailed state of the pipeline.", +"enum": [ +"PIPELINE_STATE_UNSPECIFIED", +"PIPELINE_STATE_QUEUED", +"PIPELINE_STATE_PENDING", +"PIPELINE_STATE_RUNNING", +"PIPELINE_STATE_SUCCEEDED", +"PIPELINE_STATE_FAILED", +"PIPELINE_STATE_CANCELLING", +"PIPELINE_STATE_CANCELLED", +"PIPELINE_STATE_PAUSED" +], +"enumDescriptions": [ +"The pipeline state is unspecified.", +"The pipeline has been created or resumed, and processing has not yet begun.", +"The service is preparing to run the pipeline.", +"The pipeline is in progress.", +"The pipeline completed successfully.", +"The pipeline failed.", +"The pipeline is being cancelled. From this state, the pipeline may only go to either PIPELINE_STATE_SUCCEEDED, PIPELINE_STATE_FAILED or PIPELINE_STATE_CANCELLED.", +"The pipeline has been cancelled.", +"The pipeline has been stopped, and can be resumed." +], +"readOnly": true, +"type": "string" +}, +"trainingTaskDefinition": { +"description": "Required. A Google Cloud Storage path to the YAML file that defines the training task which is responsible for producing the model artifact, and may also include additional auxiliary work. The definition files that can be used here are found in gs://google-cloud-aiplatform/schema/trainingjob/definition/. Note: The URI given on output will be immutable and probably different, including the URI scheme, than the one given on input. The output URI will point to a location where the user only has a read access.", +"type": "string" +}, +"trainingTaskInputs": { +"description": "Required. The training task's parameter(s), as specified in the training_task_definition's `inputs`.", +"type": "any" +}, +"trainingTaskMetadata": { +"description": "Output only. The metadata information as specified in the training_task_definition's `metadata`. This metadata is an auxiliary runtime and final information about the training task. While the pipeline is running this information is populated only at a best effort basis. Only present if the pipeline's training_task_definition contains `metadata` object.", +"readOnly": true, +"type": "any" +}, +"updateTime": { +"description": "Output only. Time when the TrainingPipeline was most recently updated.", +"format": "google-datetime", +"readOnly": true, +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1Trajectory": { +"description": "Spec for trajectory.", +"id": "GoogleCloudAiplatformV1Trajectory", +"properties": { +"toolCalls": { +"description": "Required. Tool calls in the trajectory.", +"items": { +"$ref": "GoogleCloudAiplatformV1ToolCall" +}, +"type": "array" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1TrajectoryAnyOrderMatchInput": { +"description": "Instances and metric spec for TrajectoryAnyOrderMatch metric.", +"id": "GoogleCloudAiplatformV1TrajectoryAnyOrderMatchInput", +"properties": { +"instances": { +"description": "Required. Repeated TrajectoryAnyOrderMatch instance.", +"items": { +"$ref": "GoogleCloudAiplatformV1TrajectoryAnyOrderMatchInstance" +}, +"type": "array" +}, +"metricSpec": { +"$ref": "GoogleCloudAiplatformV1TrajectoryAnyOrderMatchSpec", +"description": "Required. Spec for TrajectoryAnyOrderMatch metric." +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1TrajectoryAnyOrderMatchInstance": { +"description": "Spec for TrajectoryAnyOrderMatch instance.", +"id": "GoogleCloudAiplatformV1TrajectoryAnyOrderMatchInstance", +"properties": { +"predictedTrajectory": { +"$ref": "GoogleCloudAiplatformV1Trajectory", +"description": "Required. Spec for predicted tool call trajectory." +}, +"referenceTrajectory": { +"$ref": "GoogleCloudAiplatformV1Trajectory", +"description": "Required. Spec for reference tool call trajectory." +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1TrajectoryAnyOrderMatchMetricValue": { +"description": "TrajectoryAnyOrderMatch metric value for an instance.", +"id": "GoogleCloudAiplatformV1TrajectoryAnyOrderMatchMetricValue", +"properties": { +"score": { +"description": "Output only. TrajectoryAnyOrderMatch score.", +"format": "float", +"readOnly": true, +"type": "number" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1TrajectoryAnyOrderMatchResults": { +"description": "Results for TrajectoryAnyOrderMatch metric.", +"id": "GoogleCloudAiplatformV1TrajectoryAnyOrderMatchResults", +"properties": { +"trajectoryAnyOrderMatchMetricValues": { +"description": "Output only. TrajectoryAnyOrderMatch metric values.", +"items": { +"$ref": "GoogleCloudAiplatformV1TrajectoryAnyOrderMatchMetricValue" +}, +"readOnly": true, +"type": "array" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1TrajectoryAnyOrderMatchSpec": { +"description": "Spec for TrajectoryAnyOrderMatch metric - returns 1 if all tool calls in the reference trajectory appear in the predicted trajectory in any order, else 0.", +"id": "GoogleCloudAiplatformV1TrajectoryAnyOrderMatchSpec", +"properties": {}, +"type": "object" +}, +"GoogleCloudAiplatformV1TrajectoryExactMatchInput": { +"description": "Instances and metric spec for TrajectoryExactMatch metric.", +"id": "GoogleCloudAiplatformV1TrajectoryExactMatchInput", +"properties": { +"instances": { +"description": "Required. Repeated TrajectoryExactMatch instance.", +"items": { +"$ref": "GoogleCloudAiplatformV1TrajectoryExactMatchInstance" +}, +"type": "array" +}, +"metricSpec": { +"$ref": "GoogleCloudAiplatformV1TrajectoryExactMatchSpec", +"description": "Required. Spec for TrajectoryExactMatch metric." +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1TrajectoryExactMatchInstance": { +"description": "Spec for TrajectoryExactMatch instance.", +"id": "GoogleCloudAiplatformV1TrajectoryExactMatchInstance", +"properties": { +"predictedTrajectory": { +"$ref": "GoogleCloudAiplatformV1Trajectory", +"description": "Required. Spec for predicted tool call trajectory." +}, +"referenceTrajectory": { +"$ref": "GoogleCloudAiplatformV1Trajectory", +"description": "Required. Spec for reference tool call trajectory." +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1TrajectoryExactMatchMetricValue": { +"description": "TrajectoryExactMatch metric value for an instance.", +"id": "GoogleCloudAiplatformV1TrajectoryExactMatchMetricValue", +"properties": { +"score": { +"description": "Output only. TrajectoryExactMatch score.", +"format": "float", +"readOnly": true, +"type": "number" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1TrajectoryExactMatchResults": { +"description": "Results for TrajectoryExactMatch metric.", +"id": "GoogleCloudAiplatformV1TrajectoryExactMatchResults", +"properties": { +"trajectoryExactMatchMetricValues": { +"description": "Output only. TrajectoryExactMatch metric values.", +"items": { +"$ref": "GoogleCloudAiplatformV1TrajectoryExactMatchMetricValue" +}, +"readOnly": true, +"type": "array" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1TrajectoryExactMatchSpec": { +"description": "Spec for TrajectoryExactMatch metric - returns 1 if tool calls in the reference trajectory exactly match the predicted trajectory, else 0.", +"id": "GoogleCloudAiplatformV1TrajectoryExactMatchSpec", +"properties": {}, +"type": "object" +}, +"GoogleCloudAiplatformV1TrajectoryInOrderMatchInput": { +"description": "Instances and metric spec for TrajectoryInOrderMatch metric.", +"id": "GoogleCloudAiplatformV1TrajectoryInOrderMatchInput", +"properties": { +"instances": { +"description": "Required. Repeated TrajectoryInOrderMatch instance.", +"items": { +"$ref": "GoogleCloudAiplatformV1TrajectoryInOrderMatchInstance" +}, +"type": "array" +}, +"metricSpec": { +"$ref": "GoogleCloudAiplatformV1TrajectoryInOrderMatchSpec", +"description": "Required. Spec for TrajectoryInOrderMatch metric." +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1TrajectoryInOrderMatchInstance": { +"description": "Spec for TrajectoryInOrderMatch instance.", +"id": "GoogleCloudAiplatformV1TrajectoryInOrderMatchInstance", +"properties": { +"predictedTrajectory": { +"$ref": "GoogleCloudAiplatformV1Trajectory", +"description": "Required. Spec for predicted tool call trajectory." +}, +"referenceTrajectory": { +"$ref": "GoogleCloudAiplatformV1Trajectory", +"description": "Required. Spec for reference tool call trajectory." +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1TrajectoryInOrderMatchMetricValue": { +"description": "TrajectoryInOrderMatch metric value for an instance.", +"id": "GoogleCloudAiplatformV1TrajectoryInOrderMatchMetricValue", +"properties": { +"score": { +"description": "Output only. TrajectoryInOrderMatch score.", +"format": "float", +"readOnly": true, +"type": "number" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1TrajectoryInOrderMatchResults": { +"description": "Results for TrajectoryInOrderMatch metric.", +"id": "GoogleCloudAiplatformV1TrajectoryInOrderMatchResults", +"properties": { +"trajectoryInOrderMatchMetricValues": { +"description": "Output only. TrajectoryInOrderMatch metric values.", +"items": { +"$ref": "GoogleCloudAiplatformV1TrajectoryInOrderMatchMetricValue" +}, +"readOnly": true, +"type": "array" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1TrajectoryInOrderMatchSpec": { +"description": "Spec for TrajectoryInOrderMatch metric - returns 1 if tool calls in the reference trajectory appear in the predicted trajectory in the same order, else 0.", +"id": "GoogleCloudAiplatformV1TrajectoryInOrderMatchSpec", +"properties": {}, +"type": "object" +}, +"GoogleCloudAiplatformV1TrajectoryPrecisionInput": { +"description": "Instances and metric spec for TrajectoryPrecision metric.", +"id": "GoogleCloudAiplatformV1TrajectoryPrecisionInput", +"properties": { +"instances": { +"description": "Required. Repeated TrajectoryPrecision instance.", +"items": { +"$ref": "GoogleCloudAiplatformV1TrajectoryPrecisionInstance" +}, +"type": "array" +}, +"metricSpec": { +"$ref": "GoogleCloudAiplatformV1TrajectoryPrecisionSpec", +"description": "Required. Spec for TrajectoryPrecision metric." +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1TrajectoryPrecisionInstance": { +"description": "Spec for TrajectoryPrecision instance.", +"id": "GoogleCloudAiplatformV1TrajectoryPrecisionInstance", +"properties": { +"predictedTrajectory": { +"$ref": "GoogleCloudAiplatformV1Trajectory", +"description": "Required. Spec for predicted tool call trajectory." +}, +"referenceTrajectory": { +"$ref": "GoogleCloudAiplatformV1Trajectory", +"description": "Required. Spec for reference tool call trajectory." +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1TrajectoryPrecisionMetricValue": { +"description": "TrajectoryPrecision metric value for an instance.", +"id": "GoogleCloudAiplatformV1TrajectoryPrecisionMetricValue", +"properties": { +"score": { +"description": "Output only. TrajectoryPrecision score.", +"format": "float", +"readOnly": true, +"type": "number" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1TrajectoryPrecisionResults": { +"description": "Results for TrajectoryPrecision metric.", +"id": "GoogleCloudAiplatformV1TrajectoryPrecisionResults", +"properties": { +"trajectoryPrecisionMetricValues": { +"description": "Output only. TrajectoryPrecision metric values.", +"items": { +"$ref": "GoogleCloudAiplatformV1TrajectoryPrecisionMetricValue" +}, +"readOnly": true, +"type": "array" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1TrajectoryPrecisionSpec": { +"description": "Spec for TrajectoryPrecision metric - returns a float score based on average precision of individual tool calls.", +"id": "GoogleCloudAiplatformV1TrajectoryPrecisionSpec", +"properties": {}, +"type": "object" +}, +"GoogleCloudAiplatformV1TrajectoryRecallInput": { +"description": "Instances and metric spec for TrajectoryRecall metric.", +"id": "GoogleCloudAiplatformV1TrajectoryRecallInput", +"properties": { +"instances": { +"description": "Required. Repeated TrajectoryRecall instance.", +"items": { +"$ref": "GoogleCloudAiplatformV1TrajectoryRecallInstance" +}, +"type": "array" +}, +"metricSpec": { +"$ref": "GoogleCloudAiplatformV1TrajectoryRecallSpec", +"description": "Required. Spec for TrajectoryRecall metric." +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1TrajectoryRecallInstance": { +"description": "Spec for TrajectoryRecall instance.", +"id": "GoogleCloudAiplatformV1TrajectoryRecallInstance", +"properties": { +"predictedTrajectory": { +"$ref": "GoogleCloudAiplatformV1Trajectory", +"description": "Required. Spec for predicted tool call trajectory." +}, +"referenceTrajectory": { +"$ref": "GoogleCloudAiplatformV1Trajectory", +"description": "Required. Spec for reference tool call trajectory." +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1TrajectoryRecallMetricValue": { +"description": "TrajectoryRecall metric value for an instance.", +"id": "GoogleCloudAiplatformV1TrajectoryRecallMetricValue", +"properties": { +"score": { +"description": "Output only. TrajectoryRecall score.", +"format": "float", +"readOnly": true, +"type": "number" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1TrajectoryRecallResults": { +"description": "Results for TrajectoryRecall metric.", +"id": "GoogleCloudAiplatformV1TrajectoryRecallResults", +"properties": { +"trajectoryRecallMetricValues": { +"description": "Output only. TrajectoryRecall metric values.", +"items": { +"$ref": "GoogleCloudAiplatformV1TrajectoryRecallMetricValue" +}, +"readOnly": true, +"type": "array" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1TrajectoryRecallSpec": { +"description": "Spec for TrajectoryRecall metric - returns a float score based on average recall of individual tool calls.", +"id": "GoogleCloudAiplatformV1TrajectoryRecallSpec", +"properties": {}, +"type": "object" +}, +"GoogleCloudAiplatformV1TrajectorySingleToolUseInput": { +"description": "Instances and metric spec for TrajectorySingleToolUse metric.", +"id": "GoogleCloudAiplatformV1TrajectorySingleToolUseInput", +"properties": { +"instances": { +"description": "Required. Repeated TrajectorySingleToolUse instance.", +"items": { +"$ref": "GoogleCloudAiplatformV1TrajectorySingleToolUseInstance" +}, +"type": "array" +}, +"metricSpec": { +"$ref": "GoogleCloudAiplatformV1TrajectorySingleToolUseSpec", +"description": "Required. Spec for TrajectorySingleToolUse metric." +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1TrajectorySingleToolUseInstance": { +"description": "Spec for TrajectorySingleToolUse instance.", +"id": "GoogleCloudAiplatformV1TrajectorySingleToolUseInstance", +"properties": { +"predictedTrajectory": { +"$ref": "GoogleCloudAiplatformV1Trajectory", +"description": "Required. Spec for predicted tool call trajectory." +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1TrajectorySingleToolUseMetricValue": { +"description": "TrajectorySingleToolUse metric value for an instance.", +"id": "GoogleCloudAiplatformV1TrajectorySingleToolUseMetricValue", +"properties": { +"score": { +"description": "Output only. TrajectorySingleToolUse score.", +"format": "float", +"readOnly": true, +"type": "number" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1TrajectorySingleToolUseResults": { +"description": "Results for TrajectorySingleToolUse metric.", +"id": "GoogleCloudAiplatformV1TrajectorySingleToolUseResults", +"properties": { +"trajectorySingleToolUseMetricValues": { +"description": "Output only. TrajectorySingleToolUse metric values.", +"items": { +"$ref": "GoogleCloudAiplatformV1TrajectorySingleToolUseMetricValue" +}, +"readOnly": true, +"type": "array" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1TrajectorySingleToolUseSpec": { +"description": "Spec for TrajectorySingleToolUse metric - returns 1 if tool is present in the predicted trajectory, else 0.", +"id": "GoogleCloudAiplatformV1TrajectorySingleToolUseSpec", +"properties": { +"toolName": { +"description": "Required. Spec for tool name to be checked for in the predicted trajectory.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1Trial": { +"description": "A message representing a Trial. A Trial contains a unique set of Parameters that has been or will be evaluated, along with the objective metrics got by running the Trial.", +"id": "GoogleCloudAiplatformV1Trial", +"properties": { +"clientId": { +"description": "Output only. The identifier of the client that originally requested this Trial. Each client is identified by a unique client_id. When a client asks for a suggestion, Vertex AI Vizier will assign it a Trial. The client should evaluate the Trial, complete it, and report back to Vertex AI Vizier. If suggestion is asked again by same client_id before the Trial is completed, the same Trial will be returned. Multiple clients with different client_ids can ask for suggestions simultaneously, each of them will get their own Trial.", +"readOnly": true, +"type": "string" +}, +"customJob": { +"description": "Output only. The CustomJob name linked to the Trial. It's set for a HyperparameterTuningJob's Trial.", +"readOnly": true, +"type": "string" +}, +"endTime": { +"description": "Output only. Time when the Trial's status changed to `SUCCEEDED` or `INFEASIBLE`.", +"format": "google-datetime", +"readOnly": true, +"type": "string" +}, +"finalMeasurement": { +"$ref": "GoogleCloudAiplatformV1Measurement", +"description": "Output only. The final measurement containing the objective value.", +"readOnly": true +}, +"id": { +"description": "Output only. The identifier of the Trial assigned by the service.", +"readOnly": true, +"type": "string" +}, +"infeasibleReason": { +"description": "Output only. A human readable string describing why the Trial is infeasible. This is set only if Trial state is `INFEASIBLE`.", +"readOnly": true, +"type": "string" +}, +"measurements": { +"description": "Output only. A list of measurements that are strictly lexicographically ordered by their induced tuples (steps, elapsed_duration). These are used for early stopping computations.", +"items": { +"$ref": "GoogleCloudAiplatformV1Measurement" +}, +"readOnly": true, +"type": "array" +}, +"name": { +"description": "Output only. Resource name of the Trial assigned by the service.", +"readOnly": true, +"type": "string" +}, +"parameters": { +"description": "Output only. The parameters of the Trial.", +"items": { +"$ref": "GoogleCloudAiplatformV1TrialParameter" +}, +"readOnly": true, +"type": "array" +}, +"startTime": { +"description": "Output only. Time when the Trial was started.", +"format": "google-datetime", +"readOnly": true, +"type": "string" +}, +"state": { +"description": "Output only. The detailed state of the Trial.", +"enum": [ +"STATE_UNSPECIFIED", +"REQUESTED", +"ACTIVE", +"STOPPING", +"SUCCEEDED", +"INFEASIBLE" +], +"enumDescriptions": [ +"The Trial state is unspecified.", +"Indicates that a specific Trial has been requested, but it has not yet been suggested by the service.", +"Indicates that the Trial has been suggested.", +"Indicates that the Trial should stop according to the service.", +"Indicates that the Trial is completed successfully.", +"Indicates that the Trial should not be attempted again. The service will set a Trial to INFEASIBLE when it's done but missing the final_measurement." +], +"readOnly": true, +"type": "string" +}, +"webAccessUris": { +"additionalProperties": { +"type": "string" +}, +"description": "Output only. URIs for accessing [interactive shells](https://cloud.google.com/vertex-ai/docs/training/monitor-debug-interactive-shell) (one URI for each training node). Only available if this trial is part of a HyperparameterTuningJob and the job's trial_job_spec.enable_web_access field is `true`. The keys are names of each node used for the trial; for example, `workerpool0-0` for the primary node, `workerpool1-0` for the first node in the second worker pool, and `workerpool1-1` for the second node in the second worker pool. The values are the URIs for each node's interactive shell.", +"readOnly": true, +"type": "object" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1TrialContext": { +"id": "GoogleCloudAiplatformV1TrialContext", +"properties": { +"description": { +"description": "A human-readable field which can store a description of this context. This will become part of the resulting Trial's description field.", +"type": "string" +}, +"parameters": { +"description": "If/when a Trial is generated or selected from this Context, its Parameters will match any parameters specified here. (I.e. if this context specifies parameter name:'a' int_value:3, then a resulting Trial will have int_value:3 for its parameter named 'a'.) Note that we first attempt to match existing REQUESTED Trials with contexts, and if there are no matches, we generate suggestions in the subspace defined by the parameters specified here. NOTE: a Context without any Parameters matches the entire feasible search space.", +"items": { +"$ref": "GoogleCloudAiplatformV1TrialParameter" +}, +"type": "array" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1TrialParameter": { +"description": "A message representing a parameter to be tuned.", +"id": "GoogleCloudAiplatformV1TrialParameter", +"properties": { +"parameterId": { +"description": "Output only. The ID of the parameter. The parameter should be defined in StudySpec's Parameters.", +"readOnly": true, +"type": "string" +}, +"value": { +"description": "Output only. The value of the parameter. `number_value` will be set if a parameter defined in StudySpec is in type 'INTEGER', 'DOUBLE' or 'DISCRETE'. `string_value` will be set if a parameter defined in StudySpec is in type 'CATEGORICAL'.", +"readOnly": true, +"type": "any" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1TunedModel": { +"description": "The Model Registry Model and Online Prediction Endpoint assiociated with this TuningJob.", +"id": "GoogleCloudAiplatformV1TunedModel", +"properties": { +"endpoint": { +"description": "Output only. A resource name of an Endpoint. Format: `projects/{project}/locations/{location}/endpoints/{endpoint}`.", +"readOnly": true, +"type": "string" +}, +"model": { +"description": "Output only. The resource name of the TunedModel. Format: `projects/{project}/locations/{location}/models/{model}`.", +"readOnly": true, +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1TunedModelRef": { +"description": "TunedModel Reference for legacy model migration.", +"id": "GoogleCloudAiplatformV1TunedModelRef", +"properties": { +"pipelineJob": { +"description": "Support migration from tuning job list page, from bison model to gemini model.", +"type": "string" +}, +"tunedModel": { +"description": "Support migration from model registry.", +"type": "string" +}, +"tuningJob": { +"description": "Support migration from tuning job list page, from gemini-1.0-pro-002 to 1.5 and above.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1TuningDataStats": { +"description": "The tuning data statistic values for TuningJob.", +"id": "GoogleCloudAiplatformV1TuningDataStats", +"properties": { +"supervisedTuningDataStats": { +"$ref": "GoogleCloudAiplatformV1SupervisedTuningDataStats", +"description": "The SFT Tuning data stats." +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1TuningJob": { +"description": "Represents a TuningJob that runs with Google owned models.", +"id": "GoogleCloudAiplatformV1TuningJob", +"properties": { +"baseModel": { +"description": "The base model that is being tuned, e.g., \"gemini-1.0-pro-002\". .", +"type": "string" +}, +"createTime": { +"description": "Output only. Time when the TuningJob was created.", +"format": "google-datetime", +"readOnly": true, +"type": "string" +}, +"description": { +"description": "Optional. The description of the TuningJob.", +"type": "string" +}, +"encryptionSpec": { +"$ref": "GoogleCloudAiplatformV1EncryptionSpec", +"description": "Customer-managed encryption key options for a TuningJob. If this is set, then all resources created by the TuningJob will be encrypted with the provided encryption key." +}, +"endTime": { +"description": "Output only. Time when the TuningJob entered any of the following JobStates: `JOB_STATE_SUCCEEDED`, `JOB_STATE_FAILED`, `JOB_STATE_CANCELLED`, `JOB_STATE_EXPIRED`.", +"format": "google-datetime", +"readOnly": true, +"type": "string" +}, +"error": { +"$ref": "GoogleRpcStatus", +"description": "Output only. Only populated when job's state is `JOB_STATE_FAILED` or `JOB_STATE_CANCELLED`.", +"readOnly": true +}, +"experiment": { +"description": "Output only. The Experiment associated with this TuningJob.", +"readOnly": true, +"type": "string" +}, +"labels": { +"additionalProperties": { +"type": "string" +}, +"description": "Optional. The labels with user-defined metadata to organize TuningJob and generated resources such as Model and Endpoint. Label keys and values can be no longer than 64 characters (Unicode codepoints), can only contain lowercase letters, numeric characters, underscores and dashes. International characters are allowed. See https://goo.gl/xmQnxf for more information and examples of labels.", +"type": "object" +}, +"name": { +"description": "Output only. Identifier. Resource name of a TuningJob. Format: `projects/{project}/locations/{location}/tuningJobs/{tuning_job}`", +"readOnly": true, +"type": "string" +}, +"serviceAccount": { +"description": "The service account that the tuningJob workload runs as. If not specified, the Vertex AI Secure Fine-Tuned Service Agent in the project will be used. See https://cloud.google.com/iam/docs/service-agents#vertex-ai-secure-fine-tuning-service-agent Users starting the pipeline must have the `iam.serviceAccounts.actAs` permission on this service account.", +"type": "string" +}, +"startTime": { +"description": "Output only. Time when the TuningJob for the first time entered the `JOB_STATE_RUNNING` state.", +"format": "google-datetime", +"readOnly": true, +"type": "string" +}, +"state": { +"description": "Output only. The detailed state of the job.", +"enum": [ +"JOB_STATE_UNSPECIFIED", +"JOB_STATE_QUEUED", +"JOB_STATE_PENDING", +"JOB_STATE_RUNNING", +"JOB_STATE_SUCCEEDED", +"JOB_STATE_FAILED", +"JOB_STATE_CANCELLING", +"JOB_STATE_CANCELLED", +"JOB_STATE_PAUSED", +"JOB_STATE_EXPIRED", +"JOB_STATE_UPDATING", +"JOB_STATE_PARTIALLY_SUCCEEDED" +], +"enumDescriptions": [ +"The job state is unspecified.", +"The job has been just created or resumed and processing has not yet begun.", +"The service is preparing to run the job.", +"The job is in progress.", +"The job completed successfully.", +"The job failed.", +"The job is being cancelled. From this state the job may only go to either `JOB_STATE_SUCCEEDED`, `JOB_STATE_FAILED` or `JOB_STATE_CANCELLED`.", +"The job has been cancelled.", +"The job has been stopped, and can be resumed.", +"The job has expired.", +"The job is being updated. Only jobs in the `RUNNING` state can be updated. After updating, the job goes back to the `RUNNING` state.", +"The job is partially succeeded, some results may be missing due to errors." +], +"readOnly": true, +"type": "string" +}, +"supervisedTuningSpec": { +"$ref": "GoogleCloudAiplatformV1SupervisedTuningSpec", +"description": "Tuning Spec for Supervised Fine Tuning." +}, +"tunedModel": { +"$ref": "GoogleCloudAiplatformV1TunedModel", +"description": "Output only. The tuned model resources assiociated with this TuningJob.", +"readOnly": true +}, +"tunedModelDisplayName": { +"description": "Optional. The display name of the TunedModel. The name can be up to 128 characters long and can consist of any UTF-8 characters.", +"type": "string" +}, +"tuningDataStats": { +"$ref": "GoogleCloudAiplatformV1TuningDataStats", +"description": "Output only. The tuning data statistics associated with this TuningJob.", +"readOnly": true +}, +"updateTime": { +"description": "Output only. Time when the TuningJob was most recently updated.", +"format": "google-datetime", +"readOnly": true, +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1UndeployIndexOperationMetadata": { +"description": "Runtime operation information for IndexEndpointService.UndeployIndex.", +"id": "GoogleCloudAiplatformV1UndeployIndexOperationMetadata", +"properties": { +"genericMetadata": { +"$ref": "GoogleCloudAiplatformV1GenericOperationMetadata", +"description": "The operation generic information." +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1UndeployIndexRequest": { +"description": "Request message for IndexEndpointService.UndeployIndex.", +"id": "GoogleCloudAiplatformV1UndeployIndexRequest", +"properties": { +"deployedIndexId": { +"description": "Required. The ID of the DeployedIndex to be undeployed from the IndexEndpoint.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1UndeployIndexResponse": { +"description": "Response message for IndexEndpointService.UndeployIndex.", +"id": "GoogleCloudAiplatformV1UndeployIndexResponse", +"properties": {}, +"type": "object" +}, +"GoogleCloudAiplatformV1UndeployModelOperationMetadata": { +"description": "Runtime operation information for EndpointService.UndeployModel.", +"id": "GoogleCloudAiplatformV1UndeployModelOperationMetadata", +"properties": { +"genericMetadata": { +"$ref": "GoogleCloudAiplatformV1GenericOperationMetadata", +"description": "The operation generic information." +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1UndeployModelRequest": { +"description": "Request message for EndpointService.UndeployModel.", +"id": "GoogleCloudAiplatformV1UndeployModelRequest", +"properties": { +"deployedModelId": { +"description": "Required. The ID of the DeployedModel to be undeployed from the Endpoint.", +"type": "string" +}, +"trafficSplit": { +"additionalProperties": { +"format": "int32", +"type": "integer" +}, +"description": "If this field is provided, then the Endpoint's traffic_split will be overwritten with it. If last DeployedModel is being undeployed from the Endpoint, the [Endpoint.traffic_split] will always end up empty when this call returns. A DeployedModel will be successfully undeployed only if it doesn't have any traffic assigned to it when this method executes, or if this field unassigns any traffic to it.", +"type": "object" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1UndeployModelResponse": { +"description": "Response message for EndpointService.UndeployModel.", +"id": "GoogleCloudAiplatformV1UndeployModelResponse", +"properties": {}, +"type": "object" +}, +"GoogleCloudAiplatformV1UnmanagedContainerModel": { +"description": "Contains model information necessary to perform batch prediction without requiring a full model import.", +"id": "GoogleCloudAiplatformV1UnmanagedContainerModel", +"properties": { +"artifactUri": { +"description": "The path to the directory containing the Model artifact and any of its supporting files.", +"type": "string" +}, +"containerSpec": { +"$ref": "GoogleCloudAiplatformV1ModelContainerSpec", +"description": "Input only. The specification of the container that is to be used when deploying this Model." +}, +"predictSchemata": { +"$ref": "GoogleCloudAiplatformV1PredictSchemata", +"description": "Contains the schemata used in Model's predictions and explanations" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1UpdateDeploymentResourcePoolOperationMetadata": { +"description": "Runtime operation information for UpdateDeploymentResourcePool method.", +"id": "GoogleCloudAiplatformV1UpdateDeploymentResourcePoolOperationMetadata", +"properties": { +"genericMetadata": { +"$ref": "GoogleCloudAiplatformV1GenericOperationMetadata", +"description": "The operation generic information." +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1UpdateEndpointLongRunningRequest": { +"description": "Request message for EndpointService.UpdateEndpointLongRunning.", +"id": "GoogleCloudAiplatformV1UpdateEndpointLongRunningRequest", +"properties": { +"endpoint": { +"$ref": "GoogleCloudAiplatformV1Endpoint", +"description": "Required. The Endpoint which replaces the resource on the server. Currently we only support updating the `client_connection_config` field, all the other fields' update will be blocked." +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1UpdateExplanationDatasetOperationMetadata": { +"description": "Runtime operation information for ModelService.UpdateExplanationDataset.", +"id": "GoogleCloudAiplatformV1UpdateExplanationDatasetOperationMetadata", +"properties": { +"genericMetadata": { +"$ref": "GoogleCloudAiplatformV1GenericOperationMetadata", +"description": "The common part of the operation metadata." +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1UpdateExplanationDatasetRequest": { +"description": "Request message for ModelService.UpdateExplanationDataset.", +"id": "GoogleCloudAiplatformV1UpdateExplanationDatasetRequest", +"properties": { +"examples": { +"$ref": "GoogleCloudAiplatformV1Examples", +"description": "The example config containing the location of the dataset." +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1UpdateExplanationDatasetResponse": { +"description": "Response message of ModelService.UpdateExplanationDataset operation.", +"id": "GoogleCloudAiplatformV1UpdateExplanationDatasetResponse", +"properties": {}, +"type": "object" +}, +"GoogleCloudAiplatformV1UpdateFeatureGroupOperationMetadata": { +"description": "Details of operations that perform update FeatureGroup.", +"id": "GoogleCloudAiplatformV1UpdateFeatureGroupOperationMetadata", +"properties": { +"genericMetadata": { +"$ref": "GoogleCloudAiplatformV1GenericOperationMetadata", +"description": "Operation metadata for FeatureGroup." +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1UpdateFeatureOnlineStoreOperationMetadata": { +"description": "Details of operations that perform update FeatureOnlineStore.", +"id": "GoogleCloudAiplatformV1UpdateFeatureOnlineStoreOperationMetadata", +"properties": { +"genericMetadata": { +"$ref": "GoogleCloudAiplatformV1GenericOperationMetadata", +"description": "Operation metadata for FeatureOnlineStore." +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1UpdateFeatureOperationMetadata": { +"description": "Details of operations that perform update Feature.", +"id": "GoogleCloudAiplatformV1UpdateFeatureOperationMetadata", +"properties": { +"genericMetadata": { +"$ref": "GoogleCloudAiplatformV1GenericOperationMetadata", +"description": "Operation metadata for Feature Update." +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1UpdateFeatureViewOperationMetadata": { +"description": "Details of operations that perform update FeatureView.", +"id": "GoogleCloudAiplatformV1UpdateFeatureViewOperationMetadata", +"properties": { +"genericMetadata": { +"$ref": "GoogleCloudAiplatformV1GenericOperationMetadata", +"description": "Operation metadata for FeatureView Update." +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1UpdateFeaturestoreOperationMetadata": { +"description": "Details of operations that perform update Featurestore.", +"id": "GoogleCloudAiplatformV1UpdateFeaturestoreOperationMetadata", +"properties": { +"genericMetadata": { +"$ref": "GoogleCloudAiplatformV1GenericOperationMetadata", +"description": "Operation metadata for Featurestore." +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1UpdateIndexOperationMetadata": { +"description": "Runtime operation information for IndexService.UpdateIndex.", +"id": "GoogleCloudAiplatformV1UpdateIndexOperationMetadata", +"properties": { +"genericMetadata": { +"$ref": "GoogleCloudAiplatformV1GenericOperationMetadata", +"description": "The operation generic information." +}, +"nearestNeighborSearchOperationMetadata": { +"$ref": "GoogleCloudAiplatformV1NearestNeighborSearchOperationMetadata", +"description": "The operation metadata with regard to Matching Engine Index operation." +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1UpdateModelDeploymentMonitoringJobOperationMetadata": { +"description": "Runtime operation information for JobService.UpdateModelDeploymentMonitoringJob.", +"id": "GoogleCloudAiplatformV1UpdateModelDeploymentMonitoringJobOperationMetadata", +"properties": { +"genericMetadata": { +"$ref": "GoogleCloudAiplatformV1GenericOperationMetadata", +"description": "The operation generic information." +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1UpdatePersistentResourceOperationMetadata": { +"description": "Details of operations that perform update PersistentResource.", +"id": "GoogleCloudAiplatformV1UpdatePersistentResourceOperationMetadata", +"properties": { +"genericMetadata": { +"$ref": "GoogleCloudAiplatformV1GenericOperationMetadata", +"description": "Operation metadata for PersistentResource." +}, +"progressMessage": { +"description": "Progress Message for Update LRO", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1UpdateSpecialistPoolOperationMetadata": { +"description": "Runtime operation metadata for SpecialistPoolService.UpdateSpecialistPool.", +"id": "GoogleCloudAiplatformV1UpdateSpecialistPoolOperationMetadata", +"properties": { +"genericMetadata": { +"$ref": "GoogleCloudAiplatformV1GenericOperationMetadata", +"description": "The operation generic information." +}, +"specialistPool": { +"description": "Output only. The name of the SpecialistPool to which the specialists are being added. Format: `projects/{project_id}/locations/{location_id}/specialistPools/{specialist_pool}`", +"readOnly": true, +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1UpdateTensorboardOperationMetadata": { +"description": "Details of operations that perform update Tensorboard.", +"id": "GoogleCloudAiplatformV1UpdateTensorboardOperationMetadata", +"properties": { +"genericMetadata": { +"$ref": "GoogleCloudAiplatformV1GenericOperationMetadata", +"description": "Operation metadata for Tensorboard." +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1UpgradeNotebookRuntimeOperationMetadata": { +"description": "Metadata information for NotebookService.UpgradeNotebookRuntime.", +"id": "GoogleCloudAiplatformV1UpgradeNotebookRuntimeOperationMetadata", +"properties": { +"genericMetadata": { +"$ref": "GoogleCloudAiplatformV1GenericOperationMetadata", +"description": "The operation generic information." +}, +"progressMessage": { +"description": "A human-readable message that shows the intermediate progress details of NotebookRuntime.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1UpgradeNotebookRuntimeRequest": { +"description": "Request message for NotebookService.UpgradeNotebookRuntime.", +"id": "GoogleCloudAiplatformV1UpgradeNotebookRuntimeRequest", +"properties": {}, +"type": "object" +}, +"GoogleCloudAiplatformV1UploadModelOperationMetadata": { +"description": "Details of ModelService.UploadModel operation.", +"id": "GoogleCloudAiplatformV1UploadModelOperationMetadata", +"properties": { +"genericMetadata": { +"$ref": "GoogleCloudAiplatformV1GenericOperationMetadata", +"description": "The common part of the operation metadata." +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1UploadModelRequest": { +"description": "Request message for ModelService.UploadModel.", +"id": "GoogleCloudAiplatformV1UploadModelRequest", +"properties": { +"model": { +"$ref": "GoogleCloudAiplatformV1Model", +"description": "Required. The Model to create." +}, +"modelId": { +"description": "Optional. The ID to use for the uploaded Model, which will become the final component of the model resource name. This value may be up to 63 characters, and valid characters are `[a-z0-9_-]`. The first character cannot be a number or hyphen.", +"type": "string" +}, +"parentModel": { +"description": "Optional. The resource name of the model into which to upload the version. Only specify this field when uploading a new version.", +"type": "string" +}, +"serviceAccount": { +"description": "Optional. The user-provided custom service account to use to do the model upload. If empty, [Vertex AI Service Agent](https://cloud.google.com/vertex-ai/docs/general/access-control#service-agents) will be used to access resources needed to upload the model. This account must belong to the target project where the model is uploaded to, i.e., the project specified in the `parent` field of this request and have necessary read permissions (to Google Cloud Storage, Artifact Registry, etc.).", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1UploadModelResponse": { +"description": "Response message of ModelService.UploadModel operation.", +"id": "GoogleCloudAiplatformV1UploadModelResponse", +"properties": { +"model": { +"description": "The name of the uploaded Model resource. Format: `projects/{project}/locations/{location}/models/{model}`", +"type": "string" +}, +"modelVersionId": { +"description": "Output only. The version ID of the model that is uploaded.", +"readOnly": true, +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1UploadRagFileConfig": { +"description": "Config for uploading RagFile.", +"id": "GoogleCloudAiplatformV1UploadRagFileConfig", +"properties": { +"ragFileTransformationConfig": { +"$ref": "GoogleCloudAiplatformV1RagFileTransformationConfig", +"description": "Specifies the transformation config for RagFiles." +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1UploadRagFileRequest": { +"description": "Request message for VertexRagDataService.UploadRagFile.", +"id": "GoogleCloudAiplatformV1UploadRagFileRequest", +"properties": { +"ragFile": { +"$ref": "GoogleCloudAiplatformV1RagFile", +"description": "Required. The RagFile to upload." +}, +"uploadRagFileConfig": { +"$ref": "GoogleCloudAiplatformV1UploadRagFileConfig", +"description": "Required. The config for the RagFiles to be uploaded into the RagCorpus. VertexRagDataService.UploadRagFile." +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1UploadRagFileResponse": { +"description": "Response message for VertexRagDataService.UploadRagFile.", +"id": "GoogleCloudAiplatformV1UploadRagFileResponse", +"properties": { +"error": { +"$ref": "GoogleRpcStatus", +"description": "The error that occurred while processing the RagFile." +}, +"ragFile": { +"$ref": "GoogleCloudAiplatformV1RagFile", +"description": "The RagFile that had been uploaded into the RagCorpus." +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1UpsertDatapointsRequest": { +"description": "Request message for IndexService.UpsertDatapoints", +"id": "GoogleCloudAiplatformV1UpsertDatapointsRequest", +"properties": { +"datapoints": { +"description": "A list of datapoints to be created/updated.", +"items": { +"$ref": "GoogleCloudAiplatformV1IndexDatapoint" +}, +"type": "array" +}, +"updateMask": { +"description": "Optional. Update mask is used to specify the fields to be overwritten in the datapoints by the update. The fields specified in the update_mask are relative to each IndexDatapoint inside datapoints, not the full request. Updatable fields: * Use `all_restricts` to update both restricts and numeric_restricts.", +"format": "google-fieldmask", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1UpsertDatapointsResponse": { +"description": "Response message for IndexService.UpsertDatapoints", +"id": "GoogleCloudAiplatformV1UpsertDatapointsResponse", +"properties": {}, +"type": "object" +}, +"GoogleCloudAiplatformV1UserActionReference": { +"description": "References an API call. It contains more information about long running operation and Jobs that are triggered by the API call.", +"id": "GoogleCloudAiplatformV1UserActionReference", +"properties": { +"dataLabelingJob": { +"description": "For API calls that start a LabelingJob. Resource name of the LabelingJob. Format: `projects/{project}/locations/{location}/dataLabelingJobs/{data_labeling_job}`", +"type": "string" +}, +"method": { +"description": "The method name of the API RPC call. For example, \"/google.cloud.aiplatform.{apiVersion}.DatasetService.CreateDataset\"", +"type": "string" +}, +"operation": { +"description": "For API calls that return a long running operation. Resource name of the long running operation. Format: `projects/{project}/locations/{location}/operations/{operation}`", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1Value": { +"description": "Value is the value of the field.", +"id": "GoogleCloudAiplatformV1Value", +"properties": { +"doubleValue": { +"description": "A double value.", +"format": "double", +"type": "number" +}, +"intValue": { +"description": "An integer value.", +"format": "int64", +"type": "string" +}, +"stringValue": { +"description": "A string value.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1VertexAISearch": { +"description": "Retrieve from Vertex AI Search datastore for grounding. See https://cloud.google.com/products/agent-builder", +"id": "GoogleCloudAiplatformV1VertexAISearch", +"properties": { +"datastore": { +"description": "Required. Fully-qualified Vertex AI Search data store resource ID. Format: `projects/{project}/locations/{location}/collections/{collection}/dataStores/{dataStore}`", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1VertexRagStore": { +"description": "Retrieve from Vertex RAG Store for grounding.", +"id": "GoogleCloudAiplatformV1VertexRagStore", +"properties": { +"ragResources": { +"description": "Optional. The representation of the rag source. It can be used to specify corpus only or ragfiles. Currently only support one corpus or multiple files from one corpus. In the future we may open up multiple corpora support.", +"items": { +"$ref": "GoogleCloudAiplatformV1VertexRagStoreRagResource" +}, +"type": "array" +}, +"ragRetrievalConfig": { +"$ref": "GoogleCloudAiplatformV1RagRetrievalConfig", +"description": "Optional. The retrieval config for the Rag query." +}, +"similarityTopK": { +"deprecated": true, +"description": "Optional. Number of top k results to return from the selected corpora.", +"format": "int32", +"type": "integer" +}, +"vectorDistanceThreshold": { +"deprecated": true, +"description": "Optional. Only return results with vector distance smaller than the threshold.", +"format": "double", +"type": "number" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1VertexRagStoreRagResource": { +"description": "The definition of the Rag resource.", +"id": "GoogleCloudAiplatformV1VertexRagStoreRagResource", +"properties": { +"ragCorpus": { +"description": "Optional. RagCorpora resource name. Format: `projects/{project}/locations/{location}/ragCorpora/{rag_corpus}`", +"type": "string" +}, +"ragFileIds": { +"description": "Optional. rag_file_id. The files should be in the same rag_corpus set in rag_corpus field.", +"items": { +"type": "string" +}, +"type": "array" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1VideoMetadata": { +"description": "Metadata describes the input video content.", +"id": "GoogleCloudAiplatformV1VideoMetadata", +"properties": { +"endOffset": { +"description": "Optional. The end offset of the video.", +"format": "google-duration", +"type": "string" +}, +"startOffset": { +"description": "Optional. The start offset of the video.", +"format": "google-duration", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1VoiceConfig": { +"description": "The configuration for the voice to use.", +"id": "GoogleCloudAiplatformV1VoiceConfig", +"properties": { +"prebuiltVoiceConfig": { +"$ref": "GoogleCloudAiplatformV1PrebuiltVoiceConfig", +"description": "The configuration for the prebuilt voice to use." +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1WorkerPoolSpec": { +"description": "Represents the spec of a worker pool in a job.", +"id": "GoogleCloudAiplatformV1WorkerPoolSpec", +"properties": { +"containerSpec": { +"$ref": "GoogleCloudAiplatformV1ContainerSpec", +"description": "The custom container task." +}, +"diskSpec": { +"$ref": "GoogleCloudAiplatformV1DiskSpec", +"description": "Disk spec." +}, +"machineSpec": { +"$ref": "GoogleCloudAiplatformV1MachineSpec", +"description": "Optional. Immutable. The specification of a single machine." +}, +"nfsMounts": { +"description": "Optional. List of NFS mount spec.", +"items": { +"$ref": "GoogleCloudAiplatformV1NfsMount" +}, +"type": "array" +}, +"pythonPackageSpec": { +"$ref": "GoogleCloudAiplatformV1PythonPackageSpec", +"description": "The Python packaged task." +}, +"replicaCount": { +"description": "Optional. The number of worker replicas to use for this worker pool.", +"format": "int64", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1WriteFeatureValuesPayload": { +"description": "Contains Feature values to be written for a specific entity.", +"id": "GoogleCloudAiplatformV1WriteFeatureValuesPayload", +"properties": { +"entityId": { +"description": "Required. The ID of the entity.", +"type": "string" +}, +"featureValues": { +"additionalProperties": { +"$ref": "GoogleCloudAiplatformV1FeatureValue" +}, +"description": "Required. Feature values to be written, mapping from Feature ID to value. Up to 100,000 `feature_values` entries may be written across all payloads. The feature generation time, aligned by days, must be no older than five years (1825 days) and no later than one year (366 days) in the future.", +"type": "object" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1WriteFeatureValuesRequest": { +"description": "Request message for FeaturestoreOnlineServingService.WriteFeatureValues.", +"id": "GoogleCloudAiplatformV1WriteFeatureValuesRequest", +"properties": { +"payloads": { +"description": "Required. The entities to be written. Up to 100,000 feature values can be written across all `payloads`.", +"items": { +"$ref": "GoogleCloudAiplatformV1WriteFeatureValuesPayload" +}, +"type": "array" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1WriteFeatureValuesResponse": { +"description": "Response message for FeaturestoreOnlineServingService.WriteFeatureValues.", +"id": "GoogleCloudAiplatformV1WriteFeatureValuesResponse", +"properties": {}, +"type": "object" +}, +"GoogleCloudAiplatformV1WriteTensorboardExperimentDataRequest": { +"description": "Request message for TensorboardService.WriteTensorboardExperimentData.", +"id": "GoogleCloudAiplatformV1WriteTensorboardExperimentDataRequest", +"properties": { +"writeRunDataRequests": { +"description": "Required. Requests containing per-run TensorboardTimeSeries data to write.", +"items": { +"$ref": "GoogleCloudAiplatformV1WriteTensorboardRunDataRequest" +}, +"type": "array" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1WriteTensorboardExperimentDataResponse": { +"description": "Response message for TensorboardService.WriteTensorboardExperimentData.", +"id": "GoogleCloudAiplatformV1WriteTensorboardExperimentDataResponse", +"properties": {}, +"type": "object" +}, +"GoogleCloudAiplatformV1WriteTensorboardRunDataRequest": { +"description": "Request message for TensorboardService.WriteTensorboardRunData.", +"id": "GoogleCloudAiplatformV1WriteTensorboardRunDataRequest", +"properties": { +"tensorboardRun": { +"description": "Required. The resource name of the TensorboardRun to write data to. Format: `projects/{project}/locations/{location}/tensorboards/{tensorboard}/experiments/{experiment}/runs/{run}`", +"type": "string" +}, +"timeSeriesData": { +"description": "Required. The TensorboardTimeSeries data to write. Values with in a time series are indexed by their step value. Repeated writes to the same step will overwrite the existing value for that step. The upper limit of data points per write request is 5000.", +"items": { +"$ref": "GoogleCloudAiplatformV1TimeSeriesData" +}, +"type": "array" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1WriteTensorboardRunDataResponse": { +"description": "Response message for TensorboardService.WriteTensorboardRunData.", +"id": "GoogleCloudAiplatformV1WriteTensorboardRunDataResponse", +"properties": {}, +"type": "object" +}, +"GoogleCloudAiplatformV1XraiAttribution": { +"description": "An explanation method that redistributes Integrated Gradients attributions to segmented regions, taking advantage of the model's fully differentiable structure. Refer to this paper for more details: https://arxiv.org/abs/1906.02825 Supported only by image Models.", +"id": "GoogleCloudAiplatformV1XraiAttribution", +"properties": { +"blurBaselineConfig": { +"$ref": "GoogleCloudAiplatformV1BlurBaselineConfig", +"description": "Config for XRAI with blur baseline. When enabled, a linear path from the maximally blurred image to the input image is created. Using a blurred baseline instead of zero (black image) is motivated by the BlurIG approach explained here: https://arxiv.org/abs/2004.03383" +}, +"smoothGradConfig": { +"$ref": "GoogleCloudAiplatformV1SmoothGradConfig", +"description": "Config for SmoothGrad approximation of gradients. When enabled, the gradients are approximated by averaging the gradients from noisy samples in the vicinity of the inputs. Adding noise can help improve the computed gradients. Refer to this paper for more details: https://arxiv.org/pdf/1706.03825.pdf" +}, +"stepCount": { +"description": "Required. The number of steps for approximating the path integral. A good value to start is 50 and gradually increase until the sum to diff property is met within the desired error range. Valid range of its value is [1, 100], inclusively.", +"format": "int32", +"type": "integer" +} +}, +"type": "object" +}, +"GoogleCloudLocationListLocationsResponse": { +"description": "The response message for Locations.ListLocations.", +"id": "GoogleCloudLocationListLocationsResponse", +"properties": { +"locations": { +"description": "A list of locations that matches the specified filter in the request.", +"items": { +"$ref": "GoogleCloudLocationLocation" +}, +"type": "array" +}, +"nextPageToken": { +"description": "The standard List next-page token.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudLocationLocation": { +"description": "A resource that represents a Google Cloud location.", +"id": "GoogleCloudLocationLocation", +"properties": { +"displayName": { +"description": "The friendly name for this location, typically a nearby city name. For example, \"Tokyo\".", +"type": "string" +}, +"labels": { +"additionalProperties": { +"type": "string" +}, +"description": "Cross-service attributes for the location. For example {\"cloud.googleapis.com/region\": \"us-east1\"}", +"type": "object" +}, +"locationId": { +"description": "The canonical id for this location. For example: `\"us-east1\"`.", +"type": "string" +}, +"metadata": { +"additionalProperties": { +"description": "Properties of the object. Contains field @type with type URL.", +"type": "any" +}, +"description": "Service-specific metadata. For example the available capacity at the given location.", +"type": "object" +}, +"name": { +"description": "Resource name for the location, which may vary between implementations. For example: `\"projects/example-project/locations/us-east1\"`", +"type": "string" +} +}, +"type": "object" +}, +"GoogleIamV1Binding": { +"description": "Associates `members`, or principals, with a `role`.", +"id": "GoogleIamV1Binding", +"properties": { +"condition": { +"$ref": "GoogleTypeExpr", +"description": "The condition that is associated with this binding. If the condition evaluates to `true`, then this binding applies to the current request. If the condition evaluates to `false`, then this binding does not apply to the current request. However, a different role binding might grant the same role to one or more of the principals in this binding. To learn which resources support conditions in their IAM policies, see the [IAM documentation](https://cloud.google.com/iam/help/conditions/resource-policies)." +}, +"members": { +"description": "Specifies the principals requesting access for a Google Cloud resource. `members` can have the following values: * `allUsers`: A special identifier that represents anyone who is on the internet; with or without a Google account. * `allAuthenticatedUsers`: A special identifier that represents anyone who is authenticated with a Google account or a service account. Does not include identities that come from external identity providers (IdPs) through identity federation. * `user:{emailid}`: An email address that represents a specific Google account. For example, `alice@example.com` . * `serviceAccount:{emailid}`: An email address that represents a Google service account. For example, `my-other-app@appspot.gserviceaccount.com`. * `serviceAccount:{projectid}.svc.id.goog[{namespace}/{kubernetes-sa}]`: An identifier for a [Kubernetes service account](https://cloud.google.com/kubernetes-engine/docs/how-to/kubernetes-service-accounts). For example, `my-project.svc.id.goog[my-namespace/my-kubernetes-sa]`. * `group:{emailid}`: An email address that represents a Google group. For example, `admins@example.com`. * `domain:{domain}`: The G Suite domain (primary) that represents all the users of that domain. For example, `google.com` or `example.com`. * `principal://iam.googleapis.com/locations/global/workforcePools/{pool_id}/subject/{subject_attribute_value}`: A single identity in a workforce identity pool. * `principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/group/{group_id}`: All workforce identities in a group. * `principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/attribute.{attribute_name}/{attribute_value}`: All workforce identities with a specific attribute value. * `principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/*`: All identities in a workforce identity pool. * `principal://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/subject/{subject_attribute_value}`: A single identity in a workload identity pool. * `principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/group/{group_id}`: A workload identity pool group. * `principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/attribute.{attribute_name}/{attribute_value}`: All identities in a workload identity pool with a certain attribute. * `principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/*`: All identities in a workload identity pool. * `deleted:user:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a user that has been recently deleted. For example, `alice@example.com?uid=123456789012345678901`. If the user is recovered, this value reverts to `user:{emailid}` and the recovered user retains the role in the binding. * `deleted:serviceAccount:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a service account that has been recently deleted. For example, `my-other-app@appspot.gserviceaccount.com?uid=123456789012345678901`. If the service account is undeleted, this value reverts to `serviceAccount:{emailid}` and the undeleted service account retains the role in the binding. * `deleted:group:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a Google group that has been recently deleted. For example, `admins@example.com?uid=123456789012345678901`. If the group is recovered, this value reverts to `group:{emailid}` and the recovered group retains the role in the binding. * `deleted:principal://iam.googleapis.com/locations/global/workforcePools/{pool_id}/subject/{subject_attribute_value}`: Deleted single identity in a workforce identity pool. For example, `deleted:principal://iam.googleapis.com/locations/global/workforcePools/my-pool-id/subject/my-subject-attribute-value`.", +"items": { +"type": "string" +}, +"type": "array" +}, +"role": { +"description": "Role that is assigned to the list of `members`, or principals. For example, `roles/viewer`, `roles/editor`, or `roles/owner`. For an overview of the IAM roles and permissions, see the [IAM documentation](https://cloud.google.com/iam/docs/roles-overview). For a list of the available pre-defined roles, see [here](https://cloud.google.com/iam/docs/understanding-roles).", +"type": "string" +} +}, +"type": "object" +}, +"GoogleIamV1Policy": { +"description": "An Identity and Access Management (IAM) policy, which specifies access controls for Google Cloud resources. A `Policy` is a collection of `bindings`. A `binding` binds one or more `members`, or principals, to a single `role`. Principals can be user accounts, service accounts, Google groups, and domains (such as G Suite). A `role` is a named list of permissions; each `role` can be an IAM predefined role or a user-created custom role. For some types of Google Cloud resources, a `binding` can also specify a `condition`, which is a logical expression that allows access to a resource only if the expression evaluates to `true`. A condition can add constraints based on attributes of the request, the resource, or both. To learn which resources support conditions in their IAM policies, see the [IAM documentation](https://cloud.google.com/iam/help/conditions/resource-policies). **JSON example:** ``` { \"bindings\": [ { \"role\": \"roles/resourcemanager.organizationAdmin\", \"members\": [ \"user:mike@example.com\", \"group:admins@example.com\", \"domain:google.com\", \"serviceAccount:my-project-id@appspot.gserviceaccount.com\" ] }, { \"role\": \"roles/resourcemanager.organizationViewer\", \"members\": [ \"user:eve@example.com\" ], \"condition\": { \"title\": \"expirable access\", \"description\": \"Does not grant access after Sep 2020\", \"expression\": \"request.time < timestamp('2020-10-01T00:00:00.000Z')\", } } ], \"etag\": \"BwWWja0YfJA=\", \"version\": 3 } ``` **YAML example:** ``` bindings: - members: - user:mike@example.com - group:admins@example.com - domain:google.com - serviceAccount:my-project-id@appspot.gserviceaccount.com role: roles/resourcemanager.organizationAdmin - members: - user:eve@example.com role: roles/resourcemanager.organizationViewer condition: title: expirable access description: Does not grant access after Sep 2020 expression: request.time < timestamp('2020-10-01T00:00:00.000Z') etag: BwWWja0YfJA= version: 3 ``` For a description of IAM and its features, see the [IAM documentation](https://cloud.google.com/iam/docs/).", +"id": "GoogleIamV1Policy", +"properties": { +"bindings": { +"description": "Associates a list of `members`, or principals, with a `role`. Optionally, may specify a `condition` that determines how and when the `bindings` are applied. Each of the `bindings` must contain at least one principal. The `bindings` in a `Policy` can refer to up to 1,500 principals; up to 250 of these principals can be Google groups. Each occurrence of a principal counts towards these limits. For example, if the `bindings` grant 50 different roles to `user:alice@example.com`, and not to any other principal, then you can add another 1,450 principals to the `bindings` in the `Policy`.", +"items": { +"$ref": "GoogleIamV1Binding" +}, +"type": "array" +}, +"etag": { +"description": "`etag` is used for optimistic concurrency control as a way to help prevent simultaneous updates of a policy from overwriting each other. It is strongly suggested that systems make use of the `etag` in the read-modify-write cycle to perform policy updates in order to avoid race conditions: An `etag` is returned in the response to `getIamPolicy`, and systems are expected to put that etag in the request to `setIamPolicy` to ensure that their change will be applied to the same version of the policy. **Important:** If you use IAM Conditions, you must include the `etag` field whenever you call `setIamPolicy`. If you omit this field, then IAM allows you to overwrite a version `3` policy with a version `1` policy, and all of the conditions in the version `3` policy are lost.", +"format": "byte", +"type": "string" +}, +"version": { +"description": "Specifies the format of the policy. Valid values are `0`, `1`, and `3`. Requests that specify an invalid value are rejected. Any operation that affects conditional role bindings must specify version `3`. This requirement applies to the following operations: * Getting a policy that includes a conditional role binding * Adding a conditional role binding to a policy * Changing a conditional role binding in a policy * Removing any role binding, with or without a condition, from a policy that includes conditions **Important:** If you use IAM Conditions, you must include the `etag` field whenever you call `setIamPolicy`. If you omit this field, then IAM allows you to overwrite a version `3` policy with a version `1` policy, and all of the conditions in the version `3` policy are lost. If a policy does not include any conditions, operations on that policy may specify any valid version or leave the field unset. To learn which resources support conditions in their IAM policies, see the [IAM documentation](https://cloud.google.com/iam/help/conditions/resource-policies).", +"format": "int32", +"type": "integer" +} +}, +"type": "object" +}, +"GoogleIamV1SetIamPolicyRequest": { +"description": "Request message for `SetIamPolicy` method.", +"id": "GoogleIamV1SetIamPolicyRequest", +"properties": { +"policy": { +"$ref": "GoogleIamV1Policy", +"description": "REQUIRED: The complete policy to be applied to the `resource`. The size of the policy is limited to a few 10s of KB. An empty policy is a valid policy but certain Google Cloud services (such as Projects) might reject them." +} +}, +"type": "object" +}, +"GoogleIamV1TestIamPermissionsResponse": { +"description": "Response message for `TestIamPermissions` method.", +"id": "GoogleIamV1TestIamPermissionsResponse", +"properties": { +"permissions": { +"description": "A subset of `TestPermissionsRequest.permissions` that the caller is allowed.", +"items": { +"type": "string" +}, +"type": "array" +} +}, +"type": "object" +}, +"GoogleLongrunningListOperationsResponse": { +"description": "The response message for Operations.ListOperations.", +"id": "GoogleLongrunningListOperationsResponse", +"properties": { +"nextPageToken": { +"description": "The standard List next-page token.", +"type": "string" +}, +"operations": { +"description": "A list of operations that matches the specified filter in the request.", +"items": { +"$ref": "GoogleLongrunningOperation" +}, +"type": "array" +} +}, +"type": "object" +}, +"GoogleLongrunningOperation": { +"description": "This resource represents a long-running operation that is the result of a network API call.", +"id": "GoogleLongrunningOperation", +"properties": { +"done": { +"description": "If the value is `false`, it means the operation is still in progress. If `true`, the operation is completed, and either `error` or `response` is available.", +"type": "boolean" +}, +"error": { +"$ref": "GoogleRpcStatus", +"description": "The error result of the operation in case of failure or cancellation." +}, +"metadata": { +"additionalProperties": { +"description": "Properties of the object. Contains field @type with type URL.", +"type": "any" +}, +"description": "Service-specific metadata associated with the operation. It typically contains progress information and common metadata such as create time. Some services might not provide such metadata. Any method that returns a long-running operation should document the metadata type, if any.", +"type": "object" +}, +"name": { +"description": "The server-assigned name, which is only unique within the same service that originally returns it. If you use the default HTTP mapping, the `name` should be a resource name ending with `operations/{unique_id}`.", +"type": "string" +}, +"response": { +"additionalProperties": { +"description": "Properties of the object. Contains field @type with type URL.", +"type": "any" +}, +"description": "The normal, successful response of the operation. If the original method returns no data on success, such as `Delete`, the response is `google.protobuf.Empty`. If the original method is standard `Get`/`Create`/`Update`, the response should be the resource. For other methods, the response should have the type `XxxResponse`, where `Xxx` is the original method name. For example, if the original method name is `TakeSnapshot()`, the inferred response type is `TakeSnapshotResponse`.", +"type": "object" +} +}, +"type": "object" +}, +"GoogleProtobufEmpty": { +"description": "A generic empty message that you can re-use to avoid defining duplicated empty messages in your APIs. A typical example is to use it as the request or the response type of an API method. For instance: service Foo { rpc Bar(google.protobuf.Empty) returns (google.protobuf.Empty); }", +"id": "GoogleProtobufEmpty", +"properties": {}, +"type": "object" +}, +"GoogleRpcStatus": { +"description": "The `Status` type defines a logical error model that is suitable for different programming environments, including REST APIs and RPC APIs. It is used by [gRPC](https://github.com/grpc). Each `Status` message contains three pieces of data: error code, error message, and error details. You can find out more about this error model and how to work with it in the [API Design Guide](https://cloud.google.com/apis/design/errors).", +"id": "GoogleRpcStatus", +"properties": { +"code": { +"description": "The status code, which should be an enum value of google.rpc.Code.", +"format": "int32", +"type": "integer" +}, +"details": { +"description": "A list of messages that carry the error details. There is a common set of message types for APIs to use.", +"items": { +"additionalProperties": { +"description": "Properties of the object. Contains field @type with type URL.", +"type": "any" +}, +"type": "object" +}, +"type": "array" +}, +"message": { +"description": "A developer-facing error message, which should be in English. Any user-facing error message should be localized and sent in the google.rpc.Status.details field, or localized by the client.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleTypeColor": { +"description": "Represents a color in the RGBA color space. This representation is designed for simplicity of conversion to and from color representations in various languages over compactness. For example, the fields of this representation can be trivially provided to the constructor of `java.awt.Color` in Java; it can also be trivially provided to UIColor's `+colorWithRed:green:blue:alpha` method in iOS; and, with just a little work, it can be easily formatted into a CSS `rgba()` string in JavaScript. This reference page doesn't have information about the absolute color space that should be used to interpret the RGB value\u2014for example, sRGB, Adobe RGB, DCI-P3, and BT.2020. By default, applications should assume the sRGB color space. When color equality needs to be decided, implementations, unless documented otherwise, treat two colors as equal if all their red, green, blue, and alpha values each differ by at most `1e-5`. Example (Java): import com.google.type.Color; // ... public static java.awt.Color fromProto(Color protocolor) { float alpha = protocolor.hasAlpha() ? protocolor.getAlpha().getValue() : 1.0; return new java.awt.Color( protocolor.getRed(), protocolor.getGreen(), protocolor.getBlue(), alpha); } public static Color toProto(java.awt.Color color) { float red = (float) color.getRed(); float green = (float) color.getGreen(); float blue = (float) color.getBlue(); float denominator = 255.0; Color.Builder resultBuilder = Color .newBuilder() .setRed(red / denominator) .setGreen(green / denominator) .setBlue(blue / denominator); int alpha = color.getAlpha(); if (alpha != 255) { result.setAlpha( FloatValue .newBuilder() .setValue(((float) alpha) / denominator) .build()); } return resultBuilder.build(); } // ... Example (iOS / Obj-C): // ... static UIColor* fromProto(Color* protocolor) { float red = [protocolor red]; float green = [protocolor green]; float blue = [protocolor blue]; FloatValue* alpha_wrapper = [protocolor alpha]; float alpha = 1.0; if (alpha_wrapper != nil) { alpha = [alpha_wrapper value]; } return [UIColor colorWithRed:red green:green blue:blue alpha:alpha]; } static Color* toProto(UIColor* color) { CGFloat red, green, blue, alpha; if (![color getRed:&red green:&green blue:&blue alpha:&alpha]) { return nil; } Color* result = [[Color alloc] init]; [result setRed:red]; [result setGreen:green]; [result setBlue:blue]; if (alpha <= 0.9999) { [result setAlpha:floatWrapperWithValue(alpha)]; } [result autorelease]; return result; } // ... Example (JavaScript): // ... var protoToCssColor = function(rgb_color) { var redFrac = rgb_color.red || 0.0; var greenFrac = rgb_color.green || 0.0; var blueFrac = rgb_color.blue || 0.0; var red = Math.floor(redFrac * 255); var green = Math.floor(greenFrac * 255); var blue = Math.floor(blueFrac * 255); if (!('alpha' in rgb_color)) { return rgbToCssColor(red, green, blue); } var alphaFrac = rgb_color.alpha.value || 0.0; var rgbParams = [red, green, blue].join(','); return ['rgba(', rgbParams, ',', alphaFrac, ')'].join(''); }; var rgbToCssColor = function(red, green, blue) { var rgbNumber = new Number((red << 16) | (green << 8) | blue); var hexString = rgbNumber.toString(16); var missingZeros = 6 - hexString.length; var resultBuilder = ['#']; for (var i = 0; i < missingZeros; i++) { resultBuilder.push('0'); } resultBuilder.push(hexString); return resultBuilder.join(''); }; // ...", +"id": "GoogleTypeColor", +"properties": { +"alpha": { +"description": "The fraction of this color that should be applied to the pixel. That is, the final pixel color is defined by the equation: `pixel color = alpha * (this color) + (1.0 - alpha) * (background color)` This means that a value of 1.0 corresponds to a solid color, whereas a value of 0.0 corresponds to a completely transparent color. This uses a wrapper message rather than a simple float scalar so that it is possible to distinguish between a default value and the value being unset. If omitted, this color object is rendered as a solid color (as if the alpha value had been explicitly given a value of 1.0).", +"format": "float", +"type": "number" +}, +"blue": { +"description": "The amount of blue in the color as a value in the interval [0, 1].", +"format": "float", +"type": "number" +}, +"green": { +"description": "The amount of green in the color as a value in the interval [0, 1].", +"format": "float", +"type": "number" +}, +"red": { +"description": "The amount of red in the color as a value in the interval [0, 1].", +"format": "float", +"type": "number" +} +}, +"type": "object" +}, +"GoogleTypeDate": { +"description": "Represents a whole or partial calendar date, such as a birthday. The time of day and time zone are either specified elsewhere or are insignificant. The date is relative to the Gregorian Calendar. This can represent one of the following: * A full date, with non-zero year, month, and day values. * A month and day, with a zero year (for example, an anniversary). * A year on its own, with a zero month and a zero day. * A year and month, with a zero day (for example, a credit card expiration date). Related types: * google.type.TimeOfDay * google.type.DateTime * google.protobuf.Timestamp", +"id": "GoogleTypeDate", +"properties": { +"day": { +"description": "Day of a month. Must be from 1 to 31 and valid for the year and month, or 0 to specify a year by itself or a year and month where the day isn't significant.", +"format": "int32", +"type": "integer" +}, +"month": { +"description": "Month of a year. Must be from 1 to 12, or 0 to specify a year without a month and day.", +"format": "int32", +"type": "integer" +}, +"year": { +"description": "Year of the date. Must be from 1 to 9999, or 0 to specify a date without a year.", +"format": "int32", +"type": "integer" +} +}, +"type": "object" +}, +"GoogleTypeExpr": { +"description": "Represents a textual expression in the Common Expression Language (CEL) syntax. CEL is a C-like expression language. The syntax and semantics of CEL are documented at https://github.com/google/cel-spec. Example (Comparison): title: \"Summary size limit\" description: \"Determines if a summary is less than 100 chars\" expression: \"document.summary.size() < 100\" Example (Equality): title: \"Requestor is owner\" description: \"Determines if requestor is the document owner\" expression: \"document.owner == request.auth.claims.email\" Example (Logic): title: \"Public documents\" description: \"Determine whether the document should be publicly visible\" expression: \"document.type != 'private' && document.type != 'internal'\" Example (Data Manipulation): title: \"Notification string\" description: \"Create a notification string with a timestamp.\" expression: \"'New message received at ' + string(document.create_time)\" The exact variables and functions that may be referenced within an expression are determined by the service that evaluates it. See the service documentation for additional information.", +"id": "GoogleTypeExpr", +"properties": { +"description": { +"description": "Optional. Description of the expression. This is a longer text which describes the expression, e.g. when hovered over it in a UI.", +"type": "string" +}, +"expression": { +"description": "Textual representation of an expression in Common Expression Language syntax.", +"type": "string" +}, +"location": { +"description": "Optional. String indicating the location of the expression for error reporting, e.g. a file name and a position in the file.", +"type": "string" +}, +"title": { +"description": "Optional. Title for the expression, i.e. a short string describing its purpose. This can be used e.g. in UIs which allow to enter the expression.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleTypeInterval": { +"description": "Represents a time interval, encoded as a Timestamp start (inclusive) and a Timestamp end (exclusive). The start must be less than or equal to the end. When the start equals the end, the interval is empty (matches no time). When both start and end are unspecified, the interval matches any time.", +"id": "GoogleTypeInterval", +"properties": { +"endTime": { +"description": "Optional. Exclusive end of the interval. If specified, a Timestamp matching this interval will have to be before the end.", +"format": "google-datetime", +"type": "string" +}, +"startTime": { +"description": "Optional. Inclusive start of the interval. If specified, a Timestamp matching this interval will have to be the same or after the start.", +"format": "google-datetime", +"type": "string" +} +}, +"type": "object" +}, +"GoogleTypeMoney": { +"description": "Represents an amount of money with its currency type.", +"id": "GoogleTypeMoney", +"properties": { +"currencyCode": { +"description": "The three-letter currency code defined in ISO 4217.", +"type": "string" +}, +"nanos": { +"description": "Number of nano (10^-9) units of the amount. The value must be between -999,999,999 and +999,999,999 inclusive. If `units` is positive, `nanos` must be positive or zero. If `units` is zero, `nanos` can be positive, zero, or negative. If `units` is negative, `nanos` must be negative or zero. For example $-1.75 is represented as `units`=-1 and `nanos`=-750,000,000.", +"format": "int32", +"type": "integer" +}, +"units": { +"description": "The whole units of the amount. For example if `currencyCode` is `\"USD\"`, then 1 unit is one US dollar.", +"format": "int64", +"type": "string" +} +}, +"type": "object" +} +}, +"servicePath": "", +"title": "Vertex AI API", +"version": "v1", +"version_module": true +} \ No newline at end of file diff --git a/.venv/lib/python3.11/site-packages/googleapiclient/discovery_cache/documents/analyticsadmin.v1alpha.json b/.venv/lib/python3.11/site-packages/googleapiclient/discovery_cache/documents/analyticsadmin.v1alpha.json new file mode 100644 index 0000000000000000000000000000000000000000..b9f4a4a629dade4d56751ef11ffe9e759214baf5 --- /dev/null +++ b/.venv/lib/python3.11/site-packages/googleapiclient/discovery_cache/documents/analyticsadmin.v1alpha.json @@ -0,0 +1,9053 @@ +{ +"auth": { +"oauth2": { +"scopes": { +"https://www.googleapis.com/auth/analytics.edit": { +"description": "Edit Google Analytics management entities" +}, +"https://www.googleapis.com/auth/analytics.manage.users": { +"description": "Manage Google Analytics Account users by email address" +}, +"https://www.googleapis.com/auth/analytics.manage.users.readonly": { +"description": "View Google Analytics user permissions" +}, +"https://www.googleapis.com/auth/analytics.readonly": { +"description": "See and download your Google Analytics data" +} +} +} +}, +"basePath": "", +"baseUrl": "https://analyticsadmin.googleapis.com/", +"batchPath": "batch", +"canonicalName": "Google Analytics Admin", +"description": "Manage properties in Google Analytics. Warning: Creating multiple Customer Applications, Accounts, or Projects to simulate or act as a single Customer Application, Account, or Project (respectively) or to circumvent Service-specific usage limits or quotas is a direct violation of Google Cloud Platform Terms of Service as well as Google APIs Terms of Service. These actions can result in immediate termination of your GCP project(s) without any warning.", +"discoveryVersion": "v1", +"documentationLink": "http://code.google.com/apis/analytics/docs/mgmt/home.html", +"fullyEncodeReservedExpansion": true, +"icons": { +"x16": "http://www.google.com/images/icons/product/search-16.gif", +"x32": "http://www.google.com/images/icons/product/search-32.gif" +}, +"id": "analyticsadmin:v1alpha", +"kind": "discovery#restDescription", +"mtlsRootUrl": "https://analyticsadmin.mtls.googleapis.com/", +"name": "analyticsadmin", +"ownerDomain": "google.com", +"ownerName": "Google", +"parameters": { +"$.xgafv": { +"description": "V1 error format.", +"enum": [ +"1", +"2" +], +"enumDescriptions": [ +"v1 error format", +"v2 error format" +], +"location": "query", +"type": "string" +}, +"access_token": { +"description": "OAuth access token.", +"location": "query", +"type": "string" +}, +"alt": { +"default": "json", +"description": "Data format for response.", +"enum": [ +"json", +"media", +"proto" +], +"enumDescriptions": [ +"Responses with Content-Type of application/json", +"Media download with context-dependent Content-Type", +"Responses with Content-Type of application/x-protobuf" +], +"location": "query", +"type": "string" +}, +"callback": { +"description": "JSONP", +"location": "query", +"type": "string" +}, +"fields": { +"description": "Selector specifying which fields to include in a partial response.", +"location": "query", +"type": "string" +}, +"key": { +"description": "API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token.", +"location": "query", +"type": "string" +}, +"oauth_token": { +"description": "OAuth 2.0 token for the current user.", +"location": "query", +"type": "string" +}, +"prettyPrint": { +"default": "true", +"description": "Returns response with indentations and line breaks.", +"location": "query", +"type": "boolean" +}, +"quotaUser": { +"description": "Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters.", +"location": "query", +"type": "string" +}, +"uploadType": { +"description": "Legacy upload protocol for media (e.g. \"media\", \"multipart\").", +"location": "query", +"type": "string" +}, +"upload_protocol": { +"description": "Upload protocol for media (e.g. \"raw\", \"multipart\").", +"location": "query", +"type": "string" +} +}, +"protocol": "rest", +"resources": { +"accountSummaries": { +"methods": { +"list": { +"description": "Returns summaries of all accounts accessible by the caller.", +"flatPath": "v1alpha/accountSummaries", +"httpMethod": "GET", +"id": "analyticsadmin.accountSummaries.list", +"parameterOrder": [], +"parameters": { +"pageSize": { +"description": "The maximum number of AccountSummary resources to return. The service may return fewer than this value, even if there are additional pages. If unspecified, at most 50 resources will be returned. The maximum value is 200; (higher values will be coerced to the maximum)", +"format": "int32", +"location": "query", +"type": "integer" +}, +"pageToken": { +"description": "A page token, received from a previous `ListAccountSummaries` call. Provide this to retrieve the subsequent page. When paginating, all other parameters provided to `ListAccountSummaries` must match the call that provided the page token.", +"location": "query", +"type": "string" +} +}, +"path": "v1alpha/accountSummaries", +"response": { +"$ref": "GoogleAnalyticsAdminV1alphaListAccountSummariesResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/analytics.edit", +"https://www.googleapis.com/auth/analytics.readonly" +] +} +} +}, +"accounts": { +"methods": { +"delete": { +"description": "Marks target Account as soft-deleted (ie: \"trashed\") and returns it. This API does not have a method to restore soft-deleted accounts. However, they can be restored using the Trash Can UI. If the accounts are not restored before the expiration time, the account and all child resources (eg: Properties, GoogleAdsLinks, Streams, AccessBindings) will be permanently purged. https://support.google.com/analytics/answer/6154772 Returns an error if the target is not found.", +"flatPath": "v1alpha/accounts/{accountsId}", +"httpMethod": "DELETE", +"id": "analyticsadmin.accounts.delete", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. The name of the Account to soft-delete. Format: accounts/{account} Example: \"accounts/100\"", +"location": "path", +"pattern": "^accounts/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1alpha/{+name}", +"response": { +"$ref": "GoogleProtobufEmpty" +}, +"scopes": [ +"https://www.googleapis.com/auth/analytics.edit" +] +}, +"get": { +"description": "Lookup for a single Account.", +"flatPath": "v1alpha/accounts/{accountsId}", +"httpMethod": "GET", +"id": "analyticsadmin.accounts.get", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. The name of the account to lookup. Format: accounts/{account} Example: \"accounts/100\"", +"location": "path", +"pattern": "^accounts/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1alpha/{+name}", +"response": { +"$ref": "GoogleAnalyticsAdminV1alphaAccount" +}, +"scopes": [ +"https://www.googleapis.com/auth/analytics.edit", +"https://www.googleapis.com/auth/analytics.readonly" +] +}, +"getDataSharingSettings": { +"description": "Get data sharing settings on an account. Data sharing settings are singletons.", +"flatPath": "v1alpha/accounts/{accountsId}/dataSharingSettings", +"httpMethod": "GET", +"id": "analyticsadmin.accounts.getDataSharingSettings", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. The name of the settings to lookup. Format: accounts/{account}/dataSharingSettings Example: `accounts/1000/dataSharingSettings`", +"location": "path", +"pattern": "^accounts/[^/]+/dataSharingSettings$", +"required": true, +"type": "string" +} +}, +"path": "v1alpha/{+name}", +"response": { +"$ref": "GoogleAnalyticsAdminV1alphaDataSharingSettings" +}, +"scopes": [ +"https://www.googleapis.com/auth/analytics.edit", +"https://www.googleapis.com/auth/analytics.readonly" +] +}, +"list": { +"description": "Returns all accounts accessible by the caller. Note that these accounts might not currently have GA properties. Soft-deleted (ie: \"trashed\") accounts are excluded by default. Returns an empty list if no relevant accounts are found.", +"flatPath": "v1alpha/accounts", +"httpMethod": "GET", +"id": "analyticsadmin.accounts.list", +"parameterOrder": [], +"parameters": { +"pageSize": { +"description": "The maximum number of resources to return. The service may return fewer than this value, even if there are additional pages. If unspecified, at most 50 resources will be returned. The maximum value is 200; (higher values will be coerced to the maximum)", +"format": "int32", +"location": "query", +"type": "integer" +}, +"pageToken": { +"description": "A page token, received from a previous `ListAccounts` call. Provide this to retrieve the subsequent page. When paginating, all other parameters provided to `ListAccounts` must match the call that provided the page token.", +"location": "query", +"type": "string" +}, +"showDeleted": { +"description": "Whether to include soft-deleted (ie: \"trashed\") Accounts in the results. Accounts can be inspected to determine whether they are deleted or not.", +"location": "query", +"type": "boolean" +} +}, +"path": "v1alpha/accounts", +"response": { +"$ref": "GoogleAnalyticsAdminV1alphaListAccountsResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/analytics.edit", +"https://www.googleapis.com/auth/analytics.readonly" +] +}, +"patch": { +"description": "Updates an account.", +"flatPath": "v1alpha/accounts/{accountsId}", +"httpMethod": "PATCH", +"id": "analyticsadmin.accounts.patch", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Output only. Resource name of this account. Format: accounts/{account} Example: \"accounts/100\"", +"location": "path", +"pattern": "^accounts/[^/]+$", +"required": true, +"type": "string" +}, +"updateMask": { +"description": "Required. The list of fields to be updated. Field names must be in snake case (for example, \"field_to_update\"). Omitted fields will not be updated. To replace the entire entity, use one path with the string \"*\" to match all fields.", +"format": "google-fieldmask", +"location": "query", +"type": "string" +} +}, +"path": "v1alpha/{+name}", +"request": { +"$ref": "GoogleAnalyticsAdminV1alphaAccount" +}, +"response": { +"$ref": "GoogleAnalyticsAdminV1alphaAccount" +}, +"scopes": [ +"https://www.googleapis.com/auth/analytics.edit" +] +}, +"provisionAccountTicket": { +"description": "Requests a ticket for creating an account.", +"flatPath": "v1alpha/accounts:provisionAccountTicket", +"httpMethod": "POST", +"id": "analyticsadmin.accounts.provisionAccountTicket", +"parameterOrder": [], +"parameters": {}, +"path": "v1alpha/accounts:provisionAccountTicket", +"request": { +"$ref": "GoogleAnalyticsAdminV1alphaProvisionAccountTicketRequest" +}, +"response": { +"$ref": "GoogleAnalyticsAdminV1alphaProvisionAccountTicketResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/analytics.edit" +] +}, +"runAccessReport": { +"description": "Returns a customized report of data access records. The report provides records of each time a user reads Google Analytics reporting data. Access records are retained for up to 2 years. Data Access Reports can be requested for a property. Reports may be requested for any property, but dimensions that aren't related to quota can only be requested on Google Analytics 360 properties. This method is only available to Administrators. These data access records include GA UI Reporting, GA UI Explorations, GA Data API, and other products like Firebase & Admob that can retrieve data from Google Analytics through a linkage. These records don't include property configuration changes like adding a stream or changing a property's time zone. For configuration change history, see [searchChangeHistoryEvents](https://developers.google.com/analytics/devguides/config/admin/v1/rest/v1alpha/accounts/searchChangeHistoryEvents). To give your feedback on this API, complete the [Google Analytics Access Reports feedback](https://docs.google.com/forms/d/e/1FAIpQLSdmEBUrMzAEdiEKk5TV5dEHvDUZDRlgWYdQdAeSdtR4hVjEhw/viewform) form.", +"flatPath": "v1alpha/accounts/{accountsId}:runAccessReport", +"httpMethod": "POST", +"id": "analyticsadmin.accounts.runAccessReport", +"parameterOrder": [ +"entity" +], +"parameters": { +"entity": { +"description": "The Data Access Report supports requesting at the property level or account level. If requested at the account level, Data Access Reports include all access for all properties under that account. To request at the property level, entity should be for example 'properties/123' if \"123\" is your Google Analytics property ID. To request at the account level, entity should be for example 'accounts/1234' if \"1234\" is your Google Analytics Account ID.", +"location": "path", +"pattern": "^accounts/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1alpha/{+entity}:runAccessReport", +"request": { +"$ref": "GoogleAnalyticsAdminV1alphaRunAccessReportRequest" +}, +"response": { +"$ref": "GoogleAnalyticsAdminV1alphaRunAccessReportResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/analytics.edit", +"https://www.googleapis.com/auth/analytics.readonly" +] +}, +"searchChangeHistoryEvents": { +"description": "Searches through all changes to an account or its children given the specified set of filters. Only returns the subset of changes supported by the API. The UI may return additional changes.", +"flatPath": "v1alpha/accounts/{accountsId}:searchChangeHistoryEvents", +"httpMethod": "POST", +"id": "analyticsadmin.accounts.searchChangeHistoryEvents", +"parameterOrder": [ +"account" +], +"parameters": { +"account": { +"description": "Required. The account resource for which to return change history resources. Format: accounts/{account} Example: `accounts/100`", +"location": "path", +"pattern": "^accounts/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1alpha/{+account}:searchChangeHistoryEvents", +"request": { +"$ref": "GoogleAnalyticsAdminV1alphaSearchChangeHistoryEventsRequest" +}, +"response": { +"$ref": "GoogleAnalyticsAdminV1alphaSearchChangeHistoryEventsResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/analytics.edit" +] +} +}, +"resources": { +"accessBindings": { +"methods": { +"batchCreate": { +"description": "Creates information about multiple access bindings to an account or property. This method is transactional. If any AccessBinding cannot be created, none of the AccessBindings will be created.", +"flatPath": "v1alpha/accounts/{accountsId}/accessBindings:batchCreate", +"httpMethod": "POST", +"id": "analyticsadmin.accounts.accessBindings.batchCreate", +"parameterOrder": [ +"parent" +], +"parameters": { +"parent": { +"description": "Required. The account or property that owns the access bindings. The parent field in the CreateAccessBindingRequest messages must either be empty or match this field. Formats: - accounts/{account} - properties/{property}", +"location": "path", +"pattern": "^accounts/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1alpha/{+parent}/accessBindings:batchCreate", +"request": { +"$ref": "GoogleAnalyticsAdminV1alphaBatchCreateAccessBindingsRequest" +}, +"response": { +"$ref": "GoogleAnalyticsAdminV1alphaBatchCreateAccessBindingsResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/analytics.manage.users" +] +}, +"batchDelete": { +"description": "Deletes information about multiple users' links to an account or property.", +"flatPath": "v1alpha/accounts/{accountsId}/accessBindings:batchDelete", +"httpMethod": "POST", +"id": "analyticsadmin.accounts.accessBindings.batchDelete", +"parameterOrder": [ +"parent" +], +"parameters": { +"parent": { +"description": "Required. The account or property that owns the access bindings. The parent of all provided values for the 'names' field in DeleteAccessBindingRequest messages must match this field. Formats: - accounts/{account} - properties/{property}", +"location": "path", +"pattern": "^accounts/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1alpha/{+parent}/accessBindings:batchDelete", +"request": { +"$ref": "GoogleAnalyticsAdminV1alphaBatchDeleteAccessBindingsRequest" +}, +"response": { +"$ref": "GoogleProtobufEmpty" +}, +"scopes": [ +"https://www.googleapis.com/auth/analytics.manage.users" +] +}, +"batchGet": { +"description": "Gets information about multiple access bindings to an account or property.", +"flatPath": "v1alpha/accounts/{accountsId}/accessBindings:batchGet", +"httpMethod": "GET", +"id": "analyticsadmin.accounts.accessBindings.batchGet", +"parameterOrder": [ +"parent" +], +"parameters": { +"names": { +"description": "Required. The names of the access bindings to retrieve. A maximum of 1000 access bindings can be retrieved in a batch. Formats: - accounts/{account}/accessBindings/{accessBinding} - properties/{property}/accessBindings/{accessBinding}", +"location": "query", +"repeated": true, +"type": "string" +}, +"parent": { +"description": "Required. The account or property that owns the access bindings. The parent of all provided values for the 'names' field must match this field. Formats: - accounts/{account} - properties/{property}", +"location": "path", +"pattern": "^accounts/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1alpha/{+parent}/accessBindings:batchGet", +"response": { +"$ref": "GoogleAnalyticsAdminV1alphaBatchGetAccessBindingsResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/analytics.manage.users", +"https://www.googleapis.com/auth/analytics.manage.users.readonly" +] +}, +"batchUpdate": { +"description": "Updates information about multiple access bindings to an account or property.", +"flatPath": "v1alpha/accounts/{accountsId}/accessBindings:batchUpdate", +"httpMethod": "POST", +"id": "analyticsadmin.accounts.accessBindings.batchUpdate", +"parameterOrder": [ +"parent" +], +"parameters": { +"parent": { +"description": "Required. The account or property that owns the access bindings. The parent of all provided AccessBinding in UpdateAccessBindingRequest messages must match this field. Formats: - accounts/{account} - properties/{property}", +"location": "path", +"pattern": "^accounts/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1alpha/{+parent}/accessBindings:batchUpdate", +"request": { +"$ref": "GoogleAnalyticsAdminV1alphaBatchUpdateAccessBindingsRequest" +}, +"response": { +"$ref": "GoogleAnalyticsAdminV1alphaBatchUpdateAccessBindingsResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/analytics.manage.users" +] +}, +"create": { +"description": "Creates an access binding on an account or property.", +"flatPath": "v1alpha/accounts/{accountsId}/accessBindings", +"httpMethod": "POST", +"id": "analyticsadmin.accounts.accessBindings.create", +"parameterOrder": [ +"parent" +], +"parameters": { +"parent": { +"description": "Required. Formats: - accounts/{account} - properties/{property}", +"location": "path", +"pattern": "^accounts/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1alpha/{+parent}/accessBindings", +"request": { +"$ref": "GoogleAnalyticsAdminV1alphaAccessBinding" +}, +"response": { +"$ref": "GoogleAnalyticsAdminV1alphaAccessBinding" +}, +"scopes": [ +"https://www.googleapis.com/auth/analytics.manage.users" +] +}, +"delete": { +"description": "Deletes an access binding on an account or property.", +"flatPath": "v1alpha/accounts/{accountsId}/accessBindings/{accessBindingsId}", +"httpMethod": "DELETE", +"id": "analyticsadmin.accounts.accessBindings.delete", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. Formats: - accounts/{account}/accessBindings/{accessBinding} - properties/{property}/accessBindings/{accessBinding}", +"location": "path", +"pattern": "^accounts/[^/]+/accessBindings/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1alpha/{+name}", +"response": { +"$ref": "GoogleProtobufEmpty" +}, +"scopes": [ +"https://www.googleapis.com/auth/analytics.manage.users" +] +}, +"get": { +"description": "Gets information about an access binding.", +"flatPath": "v1alpha/accounts/{accountsId}/accessBindings/{accessBindingsId}", +"httpMethod": "GET", +"id": "analyticsadmin.accounts.accessBindings.get", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. The name of the access binding to retrieve. Formats: - accounts/{account}/accessBindings/{accessBinding} - properties/{property}/accessBindings/{accessBinding}", +"location": "path", +"pattern": "^accounts/[^/]+/accessBindings/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1alpha/{+name}", +"response": { +"$ref": "GoogleAnalyticsAdminV1alphaAccessBinding" +}, +"scopes": [ +"https://www.googleapis.com/auth/analytics.manage.users", +"https://www.googleapis.com/auth/analytics.manage.users.readonly" +] +}, +"list": { +"description": "Lists all access bindings on an account or property.", +"flatPath": "v1alpha/accounts/{accountsId}/accessBindings", +"httpMethod": "GET", +"id": "analyticsadmin.accounts.accessBindings.list", +"parameterOrder": [ +"parent" +], +"parameters": { +"pageSize": { +"description": "The maximum number of access bindings to return. The service may return fewer than this value. If unspecified, at most 200 access bindings will be returned. The maximum value is 500; values above 500 will be coerced to 500.", +"format": "int32", +"location": "query", +"type": "integer" +}, +"pageToken": { +"description": "A page token, received from a previous `ListAccessBindings` call. Provide this to retrieve the subsequent page. When paginating, all other parameters provided to `ListAccessBindings` must match the call that provided the page token.", +"location": "query", +"type": "string" +}, +"parent": { +"description": "Required. Formats: - accounts/{account} - properties/{property}", +"location": "path", +"pattern": "^accounts/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1alpha/{+parent}/accessBindings", +"response": { +"$ref": "GoogleAnalyticsAdminV1alphaListAccessBindingsResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/analytics.manage.users", +"https://www.googleapis.com/auth/analytics.manage.users.readonly" +] +}, +"patch": { +"description": "Updates an access binding on an account or property.", +"flatPath": "v1alpha/accounts/{accountsId}/accessBindings/{accessBindingsId}", +"httpMethod": "PATCH", +"id": "analyticsadmin.accounts.accessBindings.patch", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Output only. Resource name of this binding. Format: accounts/{account}/accessBindings/{access_binding} or properties/{property}/accessBindings/{access_binding} Example: \"accounts/100/accessBindings/200\"", +"location": "path", +"pattern": "^accounts/[^/]+/accessBindings/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1alpha/{+name}", +"request": { +"$ref": "GoogleAnalyticsAdminV1alphaAccessBinding" +}, +"response": { +"$ref": "GoogleAnalyticsAdminV1alphaAccessBinding" +}, +"scopes": [ +"https://www.googleapis.com/auth/analytics.manage.users" +] +} +} +} +} +}, +"properties": { +"methods": { +"acknowledgeUserDataCollection": { +"description": "Acknowledges the terms of user data collection for the specified property. This acknowledgement must be completed (either in the Google Analytics UI or through this API) before MeasurementProtocolSecret resources may be created.", +"flatPath": "v1alpha/properties/{propertiesId}:acknowledgeUserDataCollection", +"httpMethod": "POST", +"id": "analyticsadmin.properties.acknowledgeUserDataCollection", +"parameterOrder": [ +"property" +], +"parameters": { +"property": { +"description": "Required. The property for which to acknowledge user data collection.", +"location": "path", +"pattern": "^properties/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1alpha/{+property}:acknowledgeUserDataCollection", +"request": { +"$ref": "GoogleAnalyticsAdminV1alphaAcknowledgeUserDataCollectionRequest" +}, +"response": { +"$ref": "GoogleAnalyticsAdminV1alphaAcknowledgeUserDataCollectionResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/analytics.edit" +] +}, +"create": { +"description": "Creates a Google Analytics property with the specified location and attributes.", +"flatPath": "v1alpha/properties", +"httpMethod": "POST", +"id": "analyticsadmin.properties.create", +"parameterOrder": [], +"parameters": {}, +"path": "v1alpha/properties", +"request": { +"$ref": "GoogleAnalyticsAdminV1alphaProperty" +}, +"response": { +"$ref": "GoogleAnalyticsAdminV1alphaProperty" +}, +"scopes": [ +"https://www.googleapis.com/auth/analytics.edit" +] +}, +"createConnectedSiteTag": { +"description": "Creates a connected site tag for a Universal Analytics property. You can create a maximum of 20 connected site tags per property. Note: This API cannot be used on GA4 properties.", +"flatPath": "v1alpha/properties:createConnectedSiteTag", +"httpMethod": "POST", +"id": "analyticsadmin.properties.createConnectedSiteTag", +"parameterOrder": [], +"parameters": {}, +"path": "v1alpha/properties:createConnectedSiteTag", +"request": { +"$ref": "GoogleAnalyticsAdminV1alphaCreateConnectedSiteTagRequest" +}, +"response": { +"$ref": "GoogleAnalyticsAdminV1alphaCreateConnectedSiteTagResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/analytics.edit" +] +}, +"createRollupProperty": { +"description": "Create a roll-up property and all roll-up property source links.", +"flatPath": "v1alpha/properties:createRollupProperty", +"httpMethod": "POST", +"id": "analyticsadmin.properties.createRollupProperty", +"parameterOrder": [], +"parameters": {}, +"path": "v1alpha/properties:createRollupProperty", +"request": { +"$ref": "GoogleAnalyticsAdminV1alphaCreateRollupPropertyRequest" +}, +"response": { +"$ref": "GoogleAnalyticsAdminV1alphaCreateRollupPropertyResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/analytics.edit" +] +}, +"delete": { +"description": "Marks target Property as soft-deleted (ie: \"trashed\") and returns it. This API does not have a method to restore soft-deleted properties. However, they can be restored using the Trash Can UI. If the properties are not restored before the expiration time, the Property and all child resources (eg: GoogleAdsLinks, Streams, AccessBindings) will be permanently purged. https://support.google.com/analytics/answer/6154772 Returns an error if the target is not found.", +"flatPath": "v1alpha/properties/{propertiesId}", +"httpMethod": "DELETE", +"id": "analyticsadmin.properties.delete", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. The name of the Property to soft-delete. Format: properties/{property_id} Example: \"properties/1000\"", +"location": "path", +"pattern": "^properties/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1alpha/{+name}", +"response": { +"$ref": "GoogleAnalyticsAdminV1alphaProperty" +}, +"scopes": [ +"https://www.googleapis.com/auth/analytics.edit" +] +}, +"deleteConnectedSiteTag": { +"description": "Deletes a connected site tag for a Universal Analytics property. Note: this has no effect on GA4 properties.", +"flatPath": "v1alpha/properties:deleteConnectedSiteTag", +"httpMethod": "POST", +"id": "analyticsadmin.properties.deleteConnectedSiteTag", +"parameterOrder": [], +"parameters": {}, +"path": "v1alpha/properties:deleteConnectedSiteTag", +"request": { +"$ref": "GoogleAnalyticsAdminV1alphaDeleteConnectedSiteTagRequest" +}, +"response": { +"$ref": "GoogleProtobufEmpty" +}, +"scopes": [ +"https://www.googleapis.com/auth/analytics.edit" +] +}, +"fetchAutomatedGa4ConfigurationOptOut": { +"description": "Fetches the opt out status for the automated GA4 setup process for a UA property. Note: this has no effect on GA4 property.", +"flatPath": "v1alpha/properties:fetchAutomatedGa4ConfigurationOptOut", +"httpMethod": "POST", +"id": "analyticsadmin.properties.fetchAutomatedGa4ConfigurationOptOut", +"parameterOrder": [], +"parameters": {}, +"path": "v1alpha/properties:fetchAutomatedGa4ConfigurationOptOut", +"request": { +"$ref": "GoogleAnalyticsAdminV1alphaFetchAutomatedGa4ConfigurationOptOutRequest" +}, +"response": { +"$ref": "GoogleAnalyticsAdminV1alphaFetchAutomatedGa4ConfigurationOptOutResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/analytics.edit", +"https://www.googleapis.com/auth/analytics.readonly" +] +}, +"fetchConnectedGa4Property": { +"description": "Given a specified UA property, looks up the GA4 property connected to it. Note: this cannot be used with GA4 properties.", +"flatPath": "v1alpha/properties:fetchConnectedGa4Property", +"httpMethod": "GET", +"id": "analyticsadmin.properties.fetchConnectedGa4Property", +"parameterOrder": [], +"parameters": { +"property": { +"description": "Required. The UA property for which to look up the connected GA4 property. Note this request uses the internal property ID, not the tracking ID of the form UA-XXXXXX-YY. Format: properties/{internal_web_property_id} Example: properties/1234", +"location": "query", +"type": "string" +} +}, +"path": "v1alpha/properties:fetchConnectedGa4Property", +"response": { +"$ref": "GoogleAnalyticsAdminV1alphaFetchConnectedGa4PropertyResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/analytics.edit", +"https://www.googleapis.com/auth/analytics.readonly" +] +}, +"get": { +"description": "Lookup for a single GA Property.", +"flatPath": "v1alpha/properties/{propertiesId}", +"httpMethod": "GET", +"id": "analyticsadmin.properties.get", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. The name of the property to lookup. Format: properties/{property_id} Example: \"properties/1000\"", +"location": "path", +"pattern": "^properties/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1alpha/{+name}", +"response": { +"$ref": "GoogleAnalyticsAdminV1alphaProperty" +}, +"scopes": [ +"https://www.googleapis.com/auth/analytics.edit", +"https://www.googleapis.com/auth/analytics.readonly" +] +}, +"getAttributionSettings": { +"description": "Lookup for a AttributionSettings singleton.", +"flatPath": "v1alpha/properties/{propertiesId}/attributionSettings", +"httpMethod": "GET", +"id": "analyticsadmin.properties.getAttributionSettings", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. The name of the attribution settings to retrieve. Format: properties/{property}/attributionSettings", +"location": "path", +"pattern": "^properties/[^/]+/attributionSettings$", +"required": true, +"type": "string" +} +}, +"path": "v1alpha/{+name}", +"response": { +"$ref": "GoogleAnalyticsAdminV1alphaAttributionSettings" +}, +"scopes": [ +"https://www.googleapis.com/auth/analytics.edit", +"https://www.googleapis.com/auth/analytics.readonly" +] +}, +"getDataRetentionSettings": { +"description": "Returns the singleton data retention settings for this property.", +"flatPath": "v1alpha/properties/{propertiesId}/dataRetentionSettings", +"httpMethod": "GET", +"id": "analyticsadmin.properties.getDataRetentionSettings", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. The name of the settings to lookup. Format: properties/{property}/dataRetentionSettings Example: \"properties/1000/dataRetentionSettings\"", +"location": "path", +"pattern": "^properties/[^/]+/dataRetentionSettings$", +"required": true, +"type": "string" +} +}, +"path": "v1alpha/{+name}", +"response": { +"$ref": "GoogleAnalyticsAdminV1alphaDataRetentionSettings" +}, +"scopes": [ +"https://www.googleapis.com/auth/analytics.edit", +"https://www.googleapis.com/auth/analytics.readonly" +] +}, +"getGoogleSignalsSettings": { +"description": "Lookup for Google Signals settings for a property.", +"flatPath": "v1alpha/properties/{propertiesId}/googleSignalsSettings", +"httpMethod": "GET", +"id": "analyticsadmin.properties.getGoogleSignalsSettings", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. The name of the google signals settings to retrieve. Format: properties/{property}/googleSignalsSettings", +"location": "path", +"pattern": "^properties/[^/]+/googleSignalsSettings$", +"required": true, +"type": "string" +} +}, +"path": "v1alpha/{+name}", +"response": { +"$ref": "GoogleAnalyticsAdminV1alphaGoogleSignalsSettings" +}, +"scopes": [ +"https://www.googleapis.com/auth/analytics.edit", +"https://www.googleapis.com/auth/analytics.readonly" +] +}, +"list": { +"description": "Returns child Properties under the specified parent Account. Properties will be excluded if the caller does not have access. Soft-deleted (ie: \"trashed\") properties are excluded by default. Returns an empty list if no relevant properties are found.", +"flatPath": "v1alpha/properties", +"httpMethod": "GET", +"id": "analyticsadmin.properties.list", +"parameterOrder": [], +"parameters": { +"filter": { +"description": "Required. An expression for filtering the results of the request. Fields eligible for filtering are: `parent:`(The resource name of the parent account/property) or `ancestor:`(The resource name of the parent account) or `firebase_project:`(The id or number of the linked firebase project). Some examples of filters: ``` | Filter | Description | |-----------------------------|-------------------------------------------| | parent:accounts/123 | The account with account id: 123. | | parent:properties/123 | The property with property id: 123. | | ancestor:accounts/123 | The account with account id: 123. | | firebase_project:project-id | The firebase project with id: project-id. | | firebase_project:123 | The firebase project with number: 123. | ```", +"location": "query", +"type": "string" +}, +"pageSize": { +"description": "The maximum number of resources to return. The service may return fewer than this value, even if there are additional pages. If unspecified, at most 50 resources will be returned. The maximum value is 200; (higher values will be coerced to the maximum)", +"format": "int32", +"location": "query", +"type": "integer" +}, +"pageToken": { +"description": "A page token, received from a previous `ListProperties` call. Provide this to retrieve the subsequent page. When paginating, all other parameters provided to `ListProperties` must match the call that provided the page token.", +"location": "query", +"type": "string" +}, +"showDeleted": { +"description": "Whether to include soft-deleted (ie: \"trashed\") Properties in the results. Properties can be inspected to determine whether they are deleted or not.", +"location": "query", +"type": "boolean" +} +}, +"path": "v1alpha/properties", +"response": { +"$ref": "GoogleAnalyticsAdminV1alphaListPropertiesResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/analytics.edit", +"https://www.googleapis.com/auth/analytics.readonly" +] +}, +"listConnectedSiteTags": { +"description": "Lists the connected site tags for a Universal Analytics property. A maximum of 20 connected site tags will be returned. Note: this has no effect on GA4 property.", +"flatPath": "v1alpha/properties:listConnectedSiteTags", +"httpMethod": "POST", +"id": "analyticsadmin.properties.listConnectedSiteTags", +"parameterOrder": [], +"parameters": {}, +"path": "v1alpha/properties:listConnectedSiteTags", +"request": { +"$ref": "GoogleAnalyticsAdminV1alphaListConnectedSiteTagsRequest" +}, +"response": { +"$ref": "GoogleAnalyticsAdminV1alphaListConnectedSiteTagsResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/analytics.edit", +"https://www.googleapis.com/auth/analytics.readonly" +] +}, +"patch": { +"description": "Updates a property.", +"flatPath": "v1alpha/properties/{propertiesId}", +"httpMethod": "PATCH", +"id": "analyticsadmin.properties.patch", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Output only. Resource name of this property. Format: properties/{property_id} Example: \"properties/1000\"", +"location": "path", +"pattern": "^properties/[^/]+$", +"required": true, +"type": "string" +}, +"updateMask": { +"description": "Required. The list of fields to be updated. Field names must be in snake case (e.g., \"field_to_update\"). Omitted fields will not be updated. To replace the entire entity, use one path with the string \"*\" to match all fields.", +"format": "google-fieldmask", +"location": "query", +"type": "string" +} +}, +"path": "v1alpha/{+name}", +"request": { +"$ref": "GoogleAnalyticsAdminV1alphaProperty" +}, +"response": { +"$ref": "GoogleAnalyticsAdminV1alphaProperty" +}, +"scopes": [ +"https://www.googleapis.com/auth/analytics.edit" +] +}, +"provisionSubproperty": { +"description": "Create a subproperty and a subproperty event filter that applies to the created subproperty.", +"flatPath": "v1alpha/properties:provisionSubproperty", +"httpMethod": "POST", +"id": "analyticsadmin.properties.provisionSubproperty", +"parameterOrder": [], +"parameters": {}, +"path": "v1alpha/properties:provisionSubproperty", +"request": { +"$ref": "GoogleAnalyticsAdminV1alphaProvisionSubpropertyRequest" +}, +"response": { +"$ref": "GoogleAnalyticsAdminV1alphaProvisionSubpropertyResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/analytics.edit" +] +}, +"runAccessReport": { +"description": "Returns a customized report of data access records. The report provides records of each time a user reads Google Analytics reporting data. Access records are retained for up to 2 years. Data Access Reports can be requested for a property. Reports may be requested for any property, but dimensions that aren't related to quota can only be requested on Google Analytics 360 properties. This method is only available to Administrators. These data access records include GA UI Reporting, GA UI Explorations, GA Data API, and other products like Firebase & Admob that can retrieve data from Google Analytics through a linkage. These records don't include property configuration changes like adding a stream or changing a property's time zone. For configuration change history, see [searchChangeHistoryEvents](https://developers.google.com/analytics/devguides/config/admin/v1/rest/v1alpha/accounts/searchChangeHistoryEvents). To give your feedback on this API, complete the [Google Analytics Access Reports feedback](https://docs.google.com/forms/d/e/1FAIpQLSdmEBUrMzAEdiEKk5TV5dEHvDUZDRlgWYdQdAeSdtR4hVjEhw/viewform) form.", +"flatPath": "v1alpha/properties/{propertiesId}:runAccessReport", +"httpMethod": "POST", +"id": "analyticsadmin.properties.runAccessReport", +"parameterOrder": [ +"entity" +], +"parameters": { +"entity": { +"description": "The Data Access Report supports requesting at the property level or account level. If requested at the account level, Data Access Reports include all access for all properties under that account. To request at the property level, entity should be for example 'properties/123' if \"123\" is your Google Analytics property ID. To request at the account level, entity should be for example 'accounts/1234' if \"1234\" is your Google Analytics Account ID.", +"location": "path", +"pattern": "^properties/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1alpha/{+entity}:runAccessReport", +"request": { +"$ref": "GoogleAnalyticsAdminV1alphaRunAccessReportRequest" +}, +"response": { +"$ref": "GoogleAnalyticsAdminV1alphaRunAccessReportResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/analytics.edit", +"https://www.googleapis.com/auth/analytics.readonly" +] +}, +"setAutomatedGa4ConfigurationOptOut": { +"description": "Sets the opt out status for the automated GA4 setup process for a UA property. Note: this has no effect on GA4 property.", +"flatPath": "v1alpha/properties:setAutomatedGa4ConfigurationOptOut", +"httpMethod": "POST", +"id": "analyticsadmin.properties.setAutomatedGa4ConfigurationOptOut", +"parameterOrder": [], +"parameters": {}, +"path": "v1alpha/properties:setAutomatedGa4ConfigurationOptOut", +"request": { +"$ref": "GoogleAnalyticsAdminV1alphaSetAutomatedGa4ConfigurationOptOutRequest" +}, +"response": { +"$ref": "GoogleAnalyticsAdminV1alphaSetAutomatedGa4ConfigurationOptOutResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/analytics.edit" +] +}, +"updateAttributionSettings": { +"description": "Updates attribution settings on a property.", +"flatPath": "v1alpha/properties/{propertiesId}/attributionSettings", +"httpMethod": "PATCH", +"id": "analyticsadmin.properties.updateAttributionSettings", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Output only. Resource name of this attribution settings resource. Format: properties/{property_id}/attributionSettings Example: \"properties/1000/attributionSettings\"", +"location": "path", +"pattern": "^properties/[^/]+/attributionSettings$", +"required": true, +"type": "string" +}, +"updateMask": { +"description": "Required. The list of fields to be updated. Field names must be in snake case (e.g., \"field_to_update\"). Omitted fields will not be updated. To replace the entire entity, use one path with the string \"*\" to match all fields.", +"format": "google-fieldmask", +"location": "query", +"type": "string" +} +}, +"path": "v1alpha/{+name}", +"request": { +"$ref": "GoogleAnalyticsAdminV1alphaAttributionSettings" +}, +"response": { +"$ref": "GoogleAnalyticsAdminV1alphaAttributionSettings" +}, +"scopes": [ +"https://www.googleapis.com/auth/analytics.edit" +] +}, +"updateDataRetentionSettings": { +"description": "Updates the singleton data retention settings for this property.", +"flatPath": "v1alpha/properties/{propertiesId}/dataRetentionSettings", +"httpMethod": "PATCH", +"id": "analyticsadmin.properties.updateDataRetentionSettings", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Output only. Resource name for this DataRetentionSetting resource. Format: properties/{property}/dataRetentionSettings", +"location": "path", +"pattern": "^properties/[^/]+/dataRetentionSettings$", +"required": true, +"type": "string" +}, +"updateMask": { +"description": "Required. The list of fields to be updated. Field names must be in snake case (e.g., \"field_to_update\"). Omitted fields will not be updated. To replace the entire entity, use one path with the string \"*\" to match all fields.", +"format": "google-fieldmask", +"location": "query", +"type": "string" +} +}, +"path": "v1alpha/{+name}", +"request": { +"$ref": "GoogleAnalyticsAdminV1alphaDataRetentionSettings" +}, +"response": { +"$ref": "GoogleAnalyticsAdminV1alphaDataRetentionSettings" +}, +"scopes": [ +"https://www.googleapis.com/auth/analytics.edit" +] +}, +"updateGoogleSignalsSettings": { +"description": "Updates Google Signals settings for a property.", +"flatPath": "v1alpha/properties/{propertiesId}/googleSignalsSettings", +"httpMethod": "PATCH", +"id": "analyticsadmin.properties.updateGoogleSignalsSettings", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Output only. Resource name of this setting. Format: properties/{property_id}/googleSignalsSettings Example: \"properties/1000/googleSignalsSettings\"", +"location": "path", +"pattern": "^properties/[^/]+/googleSignalsSettings$", +"required": true, +"type": "string" +}, +"updateMask": { +"description": "Required. The list of fields to be updated. Field names must be in snake case (e.g., \"field_to_update\"). Omitted fields will not be updated. To replace the entire entity, use one path with the string \"*\" to match all fields.", +"format": "google-fieldmask", +"location": "query", +"type": "string" +} +}, +"path": "v1alpha/{+name}", +"request": { +"$ref": "GoogleAnalyticsAdminV1alphaGoogleSignalsSettings" +}, +"response": { +"$ref": "GoogleAnalyticsAdminV1alphaGoogleSignalsSettings" +}, +"scopes": [ +"https://www.googleapis.com/auth/analytics.edit" +] +} +}, +"resources": { +"accessBindings": { +"methods": { +"batchCreate": { +"description": "Creates information about multiple access bindings to an account or property. This method is transactional. If any AccessBinding cannot be created, none of the AccessBindings will be created.", +"flatPath": "v1alpha/properties/{propertiesId}/accessBindings:batchCreate", +"httpMethod": "POST", +"id": "analyticsadmin.properties.accessBindings.batchCreate", +"parameterOrder": [ +"parent" +], +"parameters": { +"parent": { +"description": "Required. The account or property that owns the access bindings. The parent field in the CreateAccessBindingRequest messages must either be empty or match this field. Formats: - accounts/{account} - properties/{property}", +"location": "path", +"pattern": "^properties/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1alpha/{+parent}/accessBindings:batchCreate", +"request": { +"$ref": "GoogleAnalyticsAdminV1alphaBatchCreateAccessBindingsRequest" +}, +"response": { +"$ref": "GoogleAnalyticsAdminV1alphaBatchCreateAccessBindingsResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/analytics.manage.users" +] +}, +"batchDelete": { +"description": "Deletes information about multiple users' links to an account or property.", +"flatPath": "v1alpha/properties/{propertiesId}/accessBindings:batchDelete", +"httpMethod": "POST", +"id": "analyticsadmin.properties.accessBindings.batchDelete", +"parameterOrder": [ +"parent" +], +"parameters": { +"parent": { +"description": "Required. The account or property that owns the access bindings. The parent of all provided values for the 'names' field in DeleteAccessBindingRequest messages must match this field. Formats: - accounts/{account} - properties/{property}", +"location": "path", +"pattern": "^properties/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1alpha/{+parent}/accessBindings:batchDelete", +"request": { +"$ref": "GoogleAnalyticsAdminV1alphaBatchDeleteAccessBindingsRequest" +}, +"response": { +"$ref": "GoogleProtobufEmpty" +}, +"scopes": [ +"https://www.googleapis.com/auth/analytics.manage.users" +] +}, +"batchGet": { +"description": "Gets information about multiple access bindings to an account or property.", +"flatPath": "v1alpha/properties/{propertiesId}/accessBindings:batchGet", +"httpMethod": "GET", +"id": "analyticsadmin.properties.accessBindings.batchGet", +"parameterOrder": [ +"parent" +], +"parameters": { +"names": { +"description": "Required. The names of the access bindings to retrieve. A maximum of 1000 access bindings can be retrieved in a batch. Formats: - accounts/{account}/accessBindings/{accessBinding} - properties/{property}/accessBindings/{accessBinding}", +"location": "query", +"repeated": true, +"type": "string" +}, +"parent": { +"description": "Required. The account or property that owns the access bindings. The parent of all provided values for the 'names' field must match this field. Formats: - accounts/{account} - properties/{property}", +"location": "path", +"pattern": "^properties/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1alpha/{+parent}/accessBindings:batchGet", +"response": { +"$ref": "GoogleAnalyticsAdminV1alphaBatchGetAccessBindingsResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/analytics.manage.users", +"https://www.googleapis.com/auth/analytics.manage.users.readonly" +] +}, +"batchUpdate": { +"description": "Updates information about multiple access bindings to an account or property.", +"flatPath": "v1alpha/properties/{propertiesId}/accessBindings:batchUpdate", +"httpMethod": "POST", +"id": "analyticsadmin.properties.accessBindings.batchUpdate", +"parameterOrder": [ +"parent" +], +"parameters": { +"parent": { +"description": "Required. The account or property that owns the access bindings. The parent of all provided AccessBinding in UpdateAccessBindingRequest messages must match this field. Formats: - accounts/{account} - properties/{property}", +"location": "path", +"pattern": "^properties/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1alpha/{+parent}/accessBindings:batchUpdate", +"request": { +"$ref": "GoogleAnalyticsAdminV1alphaBatchUpdateAccessBindingsRequest" +}, +"response": { +"$ref": "GoogleAnalyticsAdminV1alphaBatchUpdateAccessBindingsResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/analytics.manage.users" +] +}, +"create": { +"description": "Creates an access binding on an account or property.", +"flatPath": "v1alpha/properties/{propertiesId}/accessBindings", +"httpMethod": "POST", +"id": "analyticsadmin.properties.accessBindings.create", +"parameterOrder": [ +"parent" +], +"parameters": { +"parent": { +"description": "Required. Formats: - accounts/{account} - properties/{property}", +"location": "path", +"pattern": "^properties/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1alpha/{+parent}/accessBindings", +"request": { +"$ref": "GoogleAnalyticsAdminV1alphaAccessBinding" +}, +"response": { +"$ref": "GoogleAnalyticsAdminV1alphaAccessBinding" +}, +"scopes": [ +"https://www.googleapis.com/auth/analytics.manage.users" +] +}, +"delete": { +"description": "Deletes an access binding on an account or property.", +"flatPath": "v1alpha/properties/{propertiesId}/accessBindings/{accessBindingsId}", +"httpMethod": "DELETE", +"id": "analyticsadmin.properties.accessBindings.delete", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. Formats: - accounts/{account}/accessBindings/{accessBinding} - properties/{property}/accessBindings/{accessBinding}", +"location": "path", +"pattern": "^properties/[^/]+/accessBindings/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1alpha/{+name}", +"response": { +"$ref": "GoogleProtobufEmpty" +}, +"scopes": [ +"https://www.googleapis.com/auth/analytics.manage.users" +] +}, +"get": { +"description": "Gets information about an access binding.", +"flatPath": "v1alpha/properties/{propertiesId}/accessBindings/{accessBindingsId}", +"httpMethod": "GET", +"id": "analyticsadmin.properties.accessBindings.get", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. The name of the access binding to retrieve. Formats: - accounts/{account}/accessBindings/{accessBinding} - properties/{property}/accessBindings/{accessBinding}", +"location": "path", +"pattern": "^properties/[^/]+/accessBindings/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1alpha/{+name}", +"response": { +"$ref": "GoogleAnalyticsAdminV1alphaAccessBinding" +}, +"scopes": [ +"https://www.googleapis.com/auth/analytics.manage.users", +"https://www.googleapis.com/auth/analytics.manage.users.readonly" +] +}, +"list": { +"description": "Lists all access bindings on an account or property.", +"flatPath": "v1alpha/properties/{propertiesId}/accessBindings", +"httpMethod": "GET", +"id": "analyticsadmin.properties.accessBindings.list", +"parameterOrder": [ +"parent" +], +"parameters": { +"pageSize": { +"description": "The maximum number of access bindings to return. The service may return fewer than this value. If unspecified, at most 200 access bindings will be returned. The maximum value is 500; values above 500 will be coerced to 500.", +"format": "int32", +"location": "query", +"type": "integer" +}, +"pageToken": { +"description": "A page token, received from a previous `ListAccessBindings` call. Provide this to retrieve the subsequent page. When paginating, all other parameters provided to `ListAccessBindings` must match the call that provided the page token.", +"location": "query", +"type": "string" +}, +"parent": { +"description": "Required. Formats: - accounts/{account} - properties/{property}", +"location": "path", +"pattern": "^properties/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1alpha/{+parent}/accessBindings", +"response": { +"$ref": "GoogleAnalyticsAdminV1alphaListAccessBindingsResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/analytics.manage.users", +"https://www.googleapis.com/auth/analytics.manage.users.readonly" +] +}, +"patch": { +"description": "Updates an access binding on an account or property.", +"flatPath": "v1alpha/properties/{propertiesId}/accessBindings/{accessBindingsId}", +"httpMethod": "PATCH", +"id": "analyticsadmin.properties.accessBindings.patch", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Output only. Resource name of this binding. Format: accounts/{account}/accessBindings/{access_binding} or properties/{property}/accessBindings/{access_binding} Example: \"accounts/100/accessBindings/200\"", +"location": "path", +"pattern": "^properties/[^/]+/accessBindings/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1alpha/{+name}", +"request": { +"$ref": "GoogleAnalyticsAdminV1alphaAccessBinding" +}, +"response": { +"$ref": "GoogleAnalyticsAdminV1alphaAccessBinding" +}, +"scopes": [ +"https://www.googleapis.com/auth/analytics.manage.users" +] +} +} +}, +"adSenseLinks": { +"methods": { +"create": { +"description": "Creates an AdSenseLink.", +"flatPath": "v1alpha/properties/{propertiesId}/adSenseLinks", +"httpMethod": "POST", +"id": "analyticsadmin.properties.adSenseLinks.create", +"parameterOrder": [ +"parent" +], +"parameters": { +"parent": { +"description": "Required. The property for which to create an AdSense Link. Format: properties/{propertyId} Example: properties/1234", +"location": "path", +"pattern": "^properties/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1alpha/{+parent}/adSenseLinks", +"request": { +"$ref": "GoogleAnalyticsAdminV1alphaAdSenseLink" +}, +"response": { +"$ref": "GoogleAnalyticsAdminV1alphaAdSenseLink" +}, +"scopes": [ +"https://www.googleapis.com/auth/analytics.edit" +] +}, +"delete": { +"description": "Deletes an AdSenseLink.", +"flatPath": "v1alpha/properties/{propertiesId}/adSenseLinks/{adSenseLinksId}", +"httpMethod": "DELETE", +"id": "analyticsadmin.properties.adSenseLinks.delete", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. Unique identifier for the AdSense Link to be deleted. Format: properties/{propertyId}/adSenseLinks/{linkId} Example: properties/1234/adSenseLinks/5678", +"location": "path", +"pattern": "^properties/[^/]+/adSenseLinks/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1alpha/{+name}", +"response": { +"$ref": "GoogleProtobufEmpty" +}, +"scopes": [ +"https://www.googleapis.com/auth/analytics.edit" +] +}, +"get": { +"description": "Looks up a single AdSenseLink.", +"flatPath": "v1alpha/properties/{propertiesId}/adSenseLinks/{adSenseLinksId}", +"httpMethod": "GET", +"id": "analyticsadmin.properties.adSenseLinks.get", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. Unique identifier for the AdSense Link requested. Format: properties/{propertyId}/adSenseLinks/{linkId} Example: properties/1234/adSenseLinks/5678", +"location": "path", +"pattern": "^properties/[^/]+/adSenseLinks/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1alpha/{+name}", +"response": { +"$ref": "GoogleAnalyticsAdminV1alphaAdSenseLink" +}, +"scopes": [ +"https://www.googleapis.com/auth/analytics.edit", +"https://www.googleapis.com/auth/analytics.readonly" +] +}, +"list": { +"description": "Lists AdSenseLinks on a property.", +"flatPath": "v1alpha/properties/{propertiesId}/adSenseLinks", +"httpMethod": "GET", +"id": "analyticsadmin.properties.adSenseLinks.list", +"parameterOrder": [ +"parent" +], +"parameters": { +"pageSize": { +"description": "The maximum number of resources to return. If unspecified, at most 50 resources will be returned. The maximum value is 200 (higher values will be coerced to the maximum).", +"format": "int32", +"location": "query", +"type": "integer" +}, +"pageToken": { +"description": "A page token received from a previous `ListAdSenseLinks` call. Provide this to retrieve the subsequent page. When paginating, all other parameters provided to `ListAdSenseLinks` must match the call that provided the page token.", +"location": "query", +"type": "string" +}, +"parent": { +"description": "Required. Resource name of the parent property. Format: properties/{propertyId} Example: properties/1234", +"location": "path", +"pattern": "^properties/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1alpha/{+parent}/adSenseLinks", +"response": { +"$ref": "GoogleAnalyticsAdminV1alphaListAdSenseLinksResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/analytics.edit", +"https://www.googleapis.com/auth/analytics.readonly" +] +} +} +}, +"audiences": { +"methods": { +"archive": { +"description": "Archives an Audience on a property.", +"flatPath": "v1alpha/properties/{propertiesId}/audiences/{audiencesId}:archive", +"httpMethod": "POST", +"id": "analyticsadmin.properties.audiences.archive", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. Example format: properties/1234/audiences/5678", +"location": "path", +"pattern": "^properties/[^/]+/audiences/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1alpha/{+name}:archive", +"request": { +"$ref": "GoogleAnalyticsAdminV1alphaArchiveAudienceRequest" +}, +"response": { +"$ref": "GoogleProtobufEmpty" +}, +"scopes": [ +"https://www.googleapis.com/auth/analytics.edit" +] +}, +"create": { +"description": "Creates an Audience.", +"flatPath": "v1alpha/properties/{propertiesId}/audiences", +"httpMethod": "POST", +"id": "analyticsadmin.properties.audiences.create", +"parameterOrder": [ +"parent" +], +"parameters": { +"parent": { +"description": "Required. Example format: properties/1234", +"location": "path", +"pattern": "^properties/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1alpha/{+parent}/audiences", +"request": { +"$ref": "GoogleAnalyticsAdminV1alphaAudience" +}, +"response": { +"$ref": "GoogleAnalyticsAdminV1alphaAudience" +}, +"scopes": [ +"https://www.googleapis.com/auth/analytics.edit" +] +}, +"get": { +"description": "Lookup for a single Audience. Audiences created before 2020 may not be supported. Default audiences will not show filter definitions.", +"flatPath": "v1alpha/properties/{propertiesId}/audiences/{audiencesId}", +"httpMethod": "GET", +"id": "analyticsadmin.properties.audiences.get", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. The name of the Audience to get. Example format: properties/1234/audiences/5678", +"location": "path", +"pattern": "^properties/[^/]+/audiences/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1alpha/{+name}", +"response": { +"$ref": "GoogleAnalyticsAdminV1alphaAudience" +}, +"scopes": [ +"https://www.googleapis.com/auth/analytics.edit", +"https://www.googleapis.com/auth/analytics.readonly" +] +}, +"list": { +"description": "Lists Audiences on a property. Audiences created before 2020 may not be supported. Default audiences will not show filter definitions.", +"flatPath": "v1alpha/properties/{propertiesId}/audiences", +"httpMethod": "GET", +"id": "analyticsadmin.properties.audiences.list", +"parameterOrder": [ +"parent" +], +"parameters": { +"pageSize": { +"description": "The maximum number of resources to return. If unspecified, at most 50 resources will be returned. The maximum value is 200 (higher values will be coerced to the maximum).", +"format": "int32", +"location": "query", +"type": "integer" +}, +"pageToken": { +"description": "A page token, received from a previous `ListAudiences` call. Provide this to retrieve the subsequent page. When paginating, all other parameters provided to `ListAudiences` must match the call that provided the page token.", +"location": "query", +"type": "string" +}, +"parent": { +"description": "Required. Example format: properties/1234", +"location": "path", +"pattern": "^properties/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1alpha/{+parent}/audiences", +"response": { +"$ref": "GoogleAnalyticsAdminV1alphaListAudiencesResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/analytics.edit", +"https://www.googleapis.com/auth/analytics.readonly" +] +}, +"patch": { +"description": "Updates an Audience on a property.", +"flatPath": "v1alpha/properties/{propertiesId}/audiences/{audiencesId}", +"httpMethod": "PATCH", +"id": "analyticsadmin.properties.audiences.patch", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Output only. The resource name for this Audience resource. Format: properties/{propertyId}/audiences/{audienceId}", +"location": "path", +"pattern": "^properties/[^/]+/audiences/[^/]+$", +"required": true, +"type": "string" +}, +"updateMask": { +"description": "Required. The list of fields to be updated. Field names must be in snake case (e.g., \"field_to_update\"). Omitted fields will not be updated. To replace the entire entity, use one path with the string \"*\" to match all fields.", +"format": "google-fieldmask", +"location": "query", +"type": "string" +} +}, +"path": "v1alpha/{+name}", +"request": { +"$ref": "GoogleAnalyticsAdminV1alphaAudience" +}, +"response": { +"$ref": "GoogleAnalyticsAdminV1alphaAudience" +}, +"scopes": [ +"https://www.googleapis.com/auth/analytics.edit" +] +} +} +}, +"bigQueryLinks": { +"methods": { +"create": { +"description": "Creates a BigQueryLink.", +"flatPath": "v1alpha/properties/{propertiesId}/bigQueryLinks", +"httpMethod": "POST", +"id": "analyticsadmin.properties.bigQueryLinks.create", +"parameterOrder": [ +"parent" +], +"parameters": { +"parent": { +"description": "Required. Example format: properties/1234", +"location": "path", +"pattern": "^properties/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1alpha/{+parent}/bigQueryLinks", +"request": { +"$ref": "GoogleAnalyticsAdminV1alphaBigQueryLink" +}, +"response": { +"$ref": "GoogleAnalyticsAdminV1alphaBigQueryLink" +}, +"scopes": [ +"https://www.googleapis.com/auth/analytics.edit" +] +}, +"delete": { +"description": "Deletes a BigQueryLink on a property.", +"flatPath": "v1alpha/properties/{propertiesId}/bigQueryLinks/{bigQueryLinksId}", +"httpMethod": "DELETE", +"id": "analyticsadmin.properties.bigQueryLinks.delete", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. The BigQueryLink to delete. Example format: properties/1234/bigQueryLinks/5678", +"location": "path", +"pattern": "^properties/[^/]+/bigQueryLinks/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1alpha/{+name}", +"response": { +"$ref": "GoogleProtobufEmpty" +}, +"scopes": [ +"https://www.googleapis.com/auth/analytics.edit" +] +}, +"get": { +"description": "Lookup for a single BigQuery Link.", +"flatPath": "v1alpha/properties/{propertiesId}/bigQueryLinks/{bigQueryLinksId}", +"httpMethod": "GET", +"id": "analyticsadmin.properties.bigQueryLinks.get", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. The name of the BigQuery link to lookup. Format: properties/{property_id}/bigQueryLinks/{bigquery_link_id} Example: properties/123/bigQueryLinks/456", +"location": "path", +"pattern": "^properties/[^/]+/bigQueryLinks/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1alpha/{+name}", +"response": { +"$ref": "GoogleAnalyticsAdminV1alphaBigQueryLink" +}, +"scopes": [ +"https://www.googleapis.com/auth/analytics.edit", +"https://www.googleapis.com/auth/analytics.readonly" +] +}, +"list": { +"description": "Lists BigQuery Links on a property.", +"flatPath": "v1alpha/properties/{propertiesId}/bigQueryLinks", +"httpMethod": "GET", +"id": "analyticsadmin.properties.bigQueryLinks.list", +"parameterOrder": [ +"parent" +], +"parameters": { +"pageSize": { +"description": "The maximum number of resources to return. The service may return fewer than this value, even if there are additional pages. If unspecified, at most 50 resources will be returned. The maximum value is 200; (higher values will be coerced to the maximum)", +"format": "int32", +"location": "query", +"type": "integer" +}, +"pageToken": { +"description": "A page token, received from a previous `ListBigQueryLinks` call. Provide this to retrieve the subsequent page. When paginating, all other parameters provided to `ListBigQueryLinks` must match the call that provided the page token.", +"location": "query", +"type": "string" +}, +"parent": { +"description": "Required. The name of the property to list BigQuery links under. Format: properties/{property_id} Example: properties/1234", +"location": "path", +"pattern": "^properties/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1alpha/{+parent}/bigQueryLinks", +"response": { +"$ref": "GoogleAnalyticsAdminV1alphaListBigQueryLinksResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/analytics.edit", +"https://www.googleapis.com/auth/analytics.readonly" +] +}, +"patch": { +"description": "Updates a BigQueryLink.", +"flatPath": "v1alpha/properties/{propertiesId}/bigQueryLinks/{bigQueryLinksId}", +"httpMethod": "PATCH", +"id": "analyticsadmin.properties.bigQueryLinks.patch", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Output only. Resource name of this BigQuery link. Format: 'properties/{property_id}/bigQueryLinks/{bigquery_link_id}' Format: 'properties/1234/bigQueryLinks/abc567'", +"location": "path", +"pattern": "^properties/[^/]+/bigQueryLinks/[^/]+$", +"required": true, +"type": "string" +}, +"updateMask": { +"description": "Required. The list of fields to be updated. Field names must be in snake case (e.g., \"field_to_update\"). Omitted fields will not be updated. To replace the entire entity, use one path with the string \"*\" to match all fields.", +"format": "google-fieldmask", +"location": "query", +"type": "string" +} +}, +"path": "v1alpha/{+name}", +"request": { +"$ref": "GoogleAnalyticsAdminV1alphaBigQueryLink" +}, +"response": { +"$ref": "GoogleAnalyticsAdminV1alphaBigQueryLink" +}, +"scopes": [ +"https://www.googleapis.com/auth/analytics.edit" +] +} +} +}, +"calculatedMetrics": { +"methods": { +"create": { +"description": "Creates a CalculatedMetric.", +"flatPath": "v1alpha/properties/{propertiesId}/calculatedMetrics", +"httpMethod": "POST", +"id": "analyticsadmin.properties.calculatedMetrics.create", +"parameterOrder": [ +"parent" +], +"parameters": { +"calculatedMetricId": { +"description": "Required. The ID to use for the calculated metric which will become the final component of the calculated metric's resource name. This value should be 1-80 characters and valid characters are /[a-zA-Z0-9_]/, no spaces allowed. calculated_metric_id must be unique between all calculated metrics under a property. The calculated_metric_id is used when referencing this calculated metric from external APIs, for example, \"calcMetric:{calculated_metric_id}\".", +"location": "query", +"type": "string" +}, +"parent": { +"description": "Required. Format: properties/{property_id} Example: properties/1234", +"location": "path", +"pattern": "^properties/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1alpha/{+parent}/calculatedMetrics", +"request": { +"$ref": "GoogleAnalyticsAdminV1alphaCalculatedMetric" +}, +"response": { +"$ref": "GoogleAnalyticsAdminV1alphaCalculatedMetric" +}, +"scopes": [ +"https://www.googleapis.com/auth/analytics.edit" +] +}, +"delete": { +"description": "Deletes a CalculatedMetric on a property.", +"flatPath": "v1alpha/properties/{propertiesId}/calculatedMetrics/{calculatedMetricsId}", +"httpMethod": "DELETE", +"id": "analyticsadmin.properties.calculatedMetrics.delete", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. The name of the CalculatedMetric to delete. Format: properties/{property_id}/calculatedMetrics/{calculated_metric_id} Example: properties/1234/calculatedMetrics/Metric01", +"location": "path", +"pattern": "^properties/[^/]+/calculatedMetrics/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1alpha/{+name}", +"response": { +"$ref": "GoogleProtobufEmpty" +}, +"scopes": [ +"https://www.googleapis.com/auth/analytics.edit" +] +}, +"get": { +"description": "Lookup for a single CalculatedMetric.", +"flatPath": "v1alpha/properties/{propertiesId}/calculatedMetrics/{calculatedMetricsId}", +"httpMethod": "GET", +"id": "analyticsadmin.properties.calculatedMetrics.get", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. The name of the CalculatedMetric to get. Format: properties/{property_id}/calculatedMetrics/{calculated_metric_id} Example: properties/1234/calculatedMetrics/Metric01", +"location": "path", +"pattern": "^properties/[^/]+/calculatedMetrics/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1alpha/{+name}", +"response": { +"$ref": "GoogleAnalyticsAdminV1alphaCalculatedMetric" +}, +"scopes": [ +"https://www.googleapis.com/auth/analytics.edit", +"https://www.googleapis.com/auth/analytics.readonly" +] +}, +"list": { +"description": "Lists CalculatedMetrics on a property.", +"flatPath": "v1alpha/properties/{propertiesId}/calculatedMetrics", +"httpMethod": "GET", +"id": "analyticsadmin.properties.calculatedMetrics.list", +"parameterOrder": [ +"parent" +], +"parameters": { +"pageSize": { +"description": "Optional. The maximum number of resources to return. If unspecified, at most 50 resources will be returned. The maximum value is 200 (higher values will be coerced to the maximum).", +"format": "int32", +"location": "query", +"type": "integer" +}, +"pageToken": { +"description": "Optional. A page token, received from a previous `ListCalculatedMetrics` call. Provide this to retrieve the subsequent page. When paginating, all other parameters provided to `ListCalculatedMetrics` must match the call that provided the page token.", +"location": "query", +"type": "string" +}, +"parent": { +"description": "Required. Example format: properties/1234", +"location": "path", +"pattern": "^properties/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1alpha/{+parent}/calculatedMetrics", +"response": { +"$ref": "GoogleAnalyticsAdminV1alphaListCalculatedMetricsResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/analytics.edit", +"https://www.googleapis.com/auth/analytics.readonly" +] +}, +"patch": { +"description": "Updates a CalculatedMetric on a property.", +"flatPath": "v1alpha/properties/{propertiesId}/calculatedMetrics/{calculatedMetricsId}", +"httpMethod": "PATCH", +"id": "analyticsadmin.properties.calculatedMetrics.patch", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Output only. Resource name for this CalculatedMetric. Format: 'properties/{property_id}/calculatedMetrics/{calculated_metric_id}'", +"location": "path", +"pattern": "^properties/[^/]+/calculatedMetrics/[^/]+$", +"required": true, +"type": "string" +}, +"updateMask": { +"description": "Required. The list of fields to be updated. Omitted fields will not be updated. To replace the entire entity, use one path with the string \"*\" to match all fields.", +"format": "google-fieldmask", +"location": "query", +"type": "string" +} +}, +"path": "v1alpha/{+name}", +"request": { +"$ref": "GoogleAnalyticsAdminV1alphaCalculatedMetric" +}, +"response": { +"$ref": "GoogleAnalyticsAdminV1alphaCalculatedMetric" +}, +"scopes": [ +"https://www.googleapis.com/auth/analytics.edit" +] +} +} +}, +"channelGroups": { +"methods": { +"create": { +"description": "Creates a ChannelGroup.", +"flatPath": "v1alpha/properties/{propertiesId}/channelGroups", +"httpMethod": "POST", +"id": "analyticsadmin.properties.channelGroups.create", +"parameterOrder": [ +"parent" +], +"parameters": { +"parent": { +"description": "Required. The property for which to create a ChannelGroup. Example format: properties/1234", +"location": "path", +"pattern": "^properties/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1alpha/{+parent}/channelGroups", +"request": { +"$ref": "GoogleAnalyticsAdminV1alphaChannelGroup" +}, +"response": { +"$ref": "GoogleAnalyticsAdminV1alphaChannelGroup" +}, +"scopes": [ +"https://www.googleapis.com/auth/analytics.edit" +] +}, +"delete": { +"description": "Deletes a ChannelGroup on a property.", +"flatPath": "v1alpha/properties/{propertiesId}/channelGroups/{channelGroupsId}", +"httpMethod": "DELETE", +"id": "analyticsadmin.properties.channelGroups.delete", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. The ChannelGroup to delete. Example format: properties/1234/channelGroups/5678", +"location": "path", +"pattern": "^properties/[^/]+/channelGroups/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1alpha/{+name}", +"response": { +"$ref": "GoogleProtobufEmpty" +}, +"scopes": [ +"https://www.googleapis.com/auth/analytics.edit" +] +}, +"get": { +"description": "Lookup for a single ChannelGroup.", +"flatPath": "v1alpha/properties/{propertiesId}/channelGroups/{channelGroupsId}", +"httpMethod": "GET", +"id": "analyticsadmin.properties.channelGroups.get", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. The ChannelGroup to get. Example format: properties/1234/channelGroups/5678", +"location": "path", +"pattern": "^properties/[^/]+/channelGroups/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1alpha/{+name}", +"response": { +"$ref": "GoogleAnalyticsAdminV1alphaChannelGroup" +}, +"scopes": [ +"https://www.googleapis.com/auth/analytics.edit", +"https://www.googleapis.com/auth/analytics.readonly" +] +}, +"list": { +"description": "Lists ChannelGroups on a property.", +"flatPath": "v1alpha/properties/{propertiesId}/channelGroups", +"httpMethod": "GET", +"id": "analyticsadmin.properties.channelGroups.list", +"parameterOrder": [ +"parent" +], +"parameters": { +"pageSize": { +"description": "The maximum number of resources to return. If unspecified, at most 50 resources will be returned. The maximum value is 200 (higher values will be coerced to the maximum).", +"format": "int32", +"location": "query", +"type": "integer" +}, +"pageToken": { +"description": "A page token, received from a previous `ListChannelGroups` call. Provide this to retrieve the subsequent page. When paginating, all other parameters provided to `ListChannelGroups` must match the call that provided the page token.", +"location": "query", +"type": "string" +}, +"parent": { +"description": "Required. The property for which to list ChannelGroups. Example format: properties/1234", +"location": "path", +"pattern": "^properties/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1alpha/{+parent}/channelGroups", +"response": { +"$ref": "GoogleAnalyticsAdminV1alphaListChannelGroupsResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/analytics.edit", +"https://www.googleapis.com/auth/analytics.readonly" +] +}, +"patch": { +"description": "Updates a ChannelGroup.", +"flatPath": "v1alpha/properties/{propertiesId}/channelGroups/{channelGroupsId}", +"httpMethod": "PATCH", +"id": "analyticsadmin.properties.channelGroups.patch", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Output only. The resource name for this Channel Group resource. Format: properties/{property}/channelGroups/{channel_group}", +"location": "path", +"pattern": "^properties/[^/]+/channelGroups/[^/]+$", +"required": true, +"type": "string" +}, +"updateMask": { +"description": "Required. The list of fields to be updated. Field names must be in snake case (e.g., \"field_to_update\"). Omitted fields will not be updated. To replace the entire entity, use one path with the string \"*\" to match all fields.", +"format": "google-fieldmask", +"location": "query", +"type": "string" +} +}, +"path": "v1alpha/{+name}", +"request": { +"$ref": "GoogleAnalyticsAdminV1alphaChannelGroup" +}, +"response": { +"$ref": "GoogleAnalyticsAdminV1alphaChannelGroup" +}, +"scopes": [ +"https://www.googleapis.com/auth/analytics.edit" +] +} +} +}, +"conversionEvents": { +"deprecated": true, +"methods": { +"create": { +"deprecated": true, +"description": "Deprecated: Use `CreateKeyEvent` instead. Creates a conversion event with the specified attributes.", +"flatPath": "v1alpha/properties/{propertiesId}/conversionEvents", +"httpMethod": "POST", +"id": "analyticsadmin.properties.conversionEvents.create", +"parameterOrder": [ +"parent" +], +"parameters": { +"parent": { +"description": "Required. The resource name of the parent property where this conversion event will be created. Format: properties/123", +"location": "path", +"pattern": "^properties/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1alpha/{+parent}/conversionEvents", +"request": { +"$ref": "GoogleAnalyticsAdminV1alphaConversionEvent" +}, +"response": { +"$ref": "GoogleAnalyticsAdminV1alphaConversionEvent" +}, +"scopes": [ +"https://www.googleapis.com/auth/analytics.edit" +] +}, +"delete": { +"deprecated": true, +"description": "Deprecated: Use `DeleteKeyEvent` instead. Deletes a conversion event in a property.", +"flatPath": "v1alpha/properties/{propertiesId}/conversionEvents/{conversionEventsId}", +"httpMethod": "DELETE", +"id": "analyticsadmin.properties.conversionEvents.delete", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. The resource name of the conversion event to delete. Format: properties/{property}/conversionEvents/{conversion_event} Example: \"properties/123/conversionEvents/456\"", +"location": "path", +"pattern": "^properties/[^/]+/conversionEvents/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1alpha/{+name}", +"response": { +"$ref": "GoogleProtobufEmpty" +}, +"scopes": [ +"https://www.googleapis.com/auth/analytics.edit" +] +}, +"get": { +"deprecated": true, +"description": "Deprecated: Use `GetKeyEvent` instead. Retrieve a single conversion event.", +"flatPath": "v1alpha/properties/{propertiesId}/conversionEvents/{conversionEventsId}", +"httpMethod": "GET", +"id": "analyticsadmin.properties.conversionEvents.get", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. The resource name of the conversion event to retrieve. Format: properties/{property}/conversionEvents/{conversion_event} Example: \"properties/123/conversionEvents/456\"", +"location": "path", +"pattern": "^properties/[^/]+/conversionEvents/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1alpha/{+name}", +"response": { +"$ref": "GoogleAnalyticsAdminV1alphaConversionEvent" +}, +"scopes": [ +"https://www.googleapis.com/auth/analytics.edit", +"https://www.googleapis.com/auth/analytics.readonly" +] +}, +"list": { +"deprecated": true, +"description": "Deprecated: Use `ListKeyEvents` instead. Returns a list of conversion events in the specified parent property. Returns an empty list if no conversion events are found.", +"flatPath": "v1alpha/properties/{propertiesId}/conversionEvents", +"httpMethod": "GET", +"id": "analyticsadmin.properties.conversionEvents.list", +"parameterOrder": [ +"parent" +], +"parameters": { +"pageSize": { +"description": "The maximum number of resources to return. If unspecified, at most 50 resources will be returned. The maximum value is 200; (higher values will be coerced to the maximum)", +"format": "int32", +"location": "query", +"type": "integer" +}, +"pageToken": { +"description": "A page token, received from a previous `ListConversionEvents` call. Provide this to retrieve the subsequent page. When paginating, all other parameters provided to `ListConversionEvents` must match the call that provided the page token.", +"location": "query", +"type": "string" +}, +"parent": { +"description": "Required. The resource name of the parent property. Example: 'properties/123'", +"location": "path", +"pattern": "^properties/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1alpha/{+parent}/conversionEvents", +"response": { +"$ref": "GoogleAnalyticsAdminV1alphaListConversionEventsResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/analytics.edit", +"https://www.googleapis.com/auth/analytics.readonly" +] +}, +"patch": { +"deprecated": true, +"description": "Deprecated: Use `UpdateKeyEvent` instead. Updates a conversion event with the specified attributes.", +"flatPath": "v1alpha/properties/{propertiesId}/conversionEvents/{conversionEventsId}", +"httpMethod": "PATCH", +"id": "analyticsadmin.properties.conversionEvents.patch", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Output only. Resource name of this conversion event. Format: properties/{property}/conversionEvents/{conversion_event}", +"location": "path", +"pattern": "^properties/[^/]+/conversionEvents/[^/]+$", +"required": true, +"type": "string" +}, +"updateMask": { +"description": "Required. The list of fields to be updated. Field names must be in snake case (e.g., \"field_to_update\"). Omitted fields will not be updated. To replace the entire entity, use one path with the string \"*\" to match all fields.", +"format": "google-fieldmask", +"location": "query", +"type": "string" +} +}, +"path": "v1alpha/{+name}", +"request": { +"$ref": "GoogleAnalyticsAdminV1alphaConversionEvent" +}, +"response": { +"$ref": "GoogleAnalyticsAdminV1alphaConversionEvent" +}, +"scopes": [ +"https://www.googleapis.com/auth/analytics.edit" +] +} +} +}, +"customDimensions": { +"methods": { +"archive": { +"description": "Archives a CustomDimension on a property.", +"flatPath": "v1alpha/properties/{propertiesId}/customDimensions/{customDimensionsId}:archive", +"httpMethod": "POST", +"id": "analyticsadmin.properties.customDimensions.archive", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. The name of the CustomDimension to archive. Example format: properties/1234/customDimensions/5678", +"location": "path", +"pattern": "^properties/[^/]+/customDimensions/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1alpha/{+name}:archive", +"request": { +"$ref": "GoogleAnalyticsAdminV1alphaArchiveCustomDimensionRequest" +}, +"response": { +"$ref": "GoogleProtobufEmpty" +}, +"scopes": [ +"https://www.googleapis.com/auth/analytics.edit" +] +}, +"create": { +"description": "Creates a CustomDimension.", +"flatPath": "v1alpha/properties/{propertiesId}/customDimensions", +"httpMethod": "POST", +"id": "analyticsadmin.properties.customDimensions.create", +"parameterOrder": [ +"parent" +], +"parameters": { +"parent": { +"description": "Required. Example format: properties/1234", +"location": "path", +"pattern": "^properties/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1alpha/{+parent}/customDimensions", +"request": { +"$ref": "GoogleAnalyticsAdminV1alphaCustomDimension" +}, +"response": { +"$ref": "GoogleAnalyticsAdminV1alphaCustomDimension" +}, +"scopes": [ +"https://www.googleapis.com/auth/analytics.edit" +] +}, +"get": { +"description": "Lookup for a single CustomDimension.", +"flatPath": "v1alpha/properties/{propertiesId}/customDimensions/{customDimensionsId}", +"httpMethod": "GET", +"id": "analyticsadmin.properties.customDimensions.get", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. The name of the CustomDimension to get. Example format: properties/1234/customDimensions/5678", +"location": "path", +"pattern": "^properties/[^/]+/customDimensions/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1alpha/{+name}", +"response": { +"$ref": "GoogleAnalyticsAdminV1alphaCustomDimension" +}, +"scopes": [ +"https://www.googleapis.com/auth/analytics.edit", +"https://www.googleapis.com/auth/analytics.readonly" +] +}, +"list": { +"description": "Lists CustomDimensions on a property.", +"flatPath": "v1alpha/properties/{propertiesId}/customDimensions", +"httpMethod": "GET", +"id": "analyticsadmin.properties.customDimensions.list", +"parameterOrder": [ +"parent" +], +"parameters": { +"pageSize": { +"description": "The maximum number of resources to return. If unspecified, at most 50 resources will be returned. The maximum value is 200 (higher values will be coerced to the maximum).", +"format": "int32", +"location": "query", +"type": "integer" +}, +"pageToken": { +"description": "A page token, received from a previous `ListCustomDimensions` call. Provide this to retrieve the subsequent page. When paginating, all other parameters provided to `ListCustomDimensions` must match the call that provided the page token.", +"location": "query", +"type": "string" +}, +"parent": { +"description": "Required. Example format: properties/1234", +"location": "path", +"pattern": "^properties/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1alpha/{+parent}/customDimensions", +"response": { +"$ref": "GoogleAnalyticsAdminV1alphaListCustomDimensionsResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/analytics.edit", +"https://www.googleapis.com/auth/analytics.readonly" +] +}, +"patch": { +"description": "Updates a CustomDimension on a property.", +"flatPath": "v1alpha/properties/{propertiesId}/customDimensions/{customDimensionsId}", +"httpMethod": "PATCH", +"id": "analyticsadmin.properties.customDimensions.patch", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Output only. Resource name for this CustomDimension resource. Format: properties/{property}/customDimensions/{customDimension}", +"location": "path", +"pattern": "^properties/[^/]+/customDimensions/[^/]+$", +"required": true, +"type": "string" +}, +"updateMask": { +"description": "Required. The list of fields to be updated. Omitted fields will not be updated. To replace the entire entity, use one path with the string \"*\" to match all fields.", +"format": "google-fieldmask", +"location": "query", +"type": "string" +} +}, +"path": "v1alpha/{+name}", +"request": { +"$ref": "GoogleAnalyticsAdminV1alphaCustomDimension" +}, +"response": { +"$ref": "GoogleAnalyticsAdminV1alphaCustomDimension" +}, +"scopes": [ +"https://www.googleapis.com/auth/analytics.edit" +] +} +} +}, +"customMetrics": { +"methods": { +"archive": { +"description": "Archives a CustomMetric on a property.", +"flatPath": "v1alpha/properties/{propertiesId}/customMetrics/{customMetricsId}:archive", +"httpMethod": "POST", +"id": "analyticsadmin.properties.customMetrics.archive", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. The name of the CustomMetric to archive. Example format: properties/1234/customMetrics/5678", +"location": "path", +"pattern": "^properties/[^/]+/customMetrics/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1alpha/{+name}:archive", +"request": { +"$ref": "GoogleAnalyticsAdminV1alphaArchiveCustomMetricRequest" +}, +"response": { +"$ref": "GoogleProtobufEmpty" +}, +"scopes": [ +"https://www.googleapis.com/auth/analytics.edit" +] +}, +"create": { +"description": "Creates a CustomMetric.", +"flatPath": "v1alpha/properties/{propertiesId}/customMetrics", +"httpMethod": "POST", +"id": "analyticsadmin.properties.customMetrics.create", +"parameterOrder": [ +"parent" +], +"parameters": { +"parent": { +"description": "Required. Example format: properties/1234", +"location": "path", +"pattern": "^properties/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1alpha/{+parent}/customMetrics", +"request": { +"$ref": "GoogleAnalyticsAdminV1alphaCustomMetric" +}, +"response": { +"$ref": "GoogleAnalyticsAdminV1alphaCustomMetric" +}, +"scopes": [ +"https://www.googleapis.com/auth/analytics.edit" +] +}, +"get": { +"description": "Lookup for a single CustomMetric.", +"flatPath": "v1alpha/properties/{propertiesId}/customMetrics/{customMetricsId}", +"httpMethod": "GET", +"id": "analyticsadmin.properties.customMetrics.get", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. The name of the CustomMetric to get. Example format: properties/1234/customMetrics/5678", +"location": "path", +"pattern": "^properties/[^/]+/customMetrics/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1alpha/{+name}", +"response": { +"$ref": "GoogleAnalyticsAdminV1alphaCustomMetric" +}, +"scopes": [ +"https://www.googleapis.com/auth/analytics.edit", +"https://www.googleapis.com/auth/analytics.readonly" +] +}, +"list": { +"description": "Lists CustomMetrics on a property.", +"flatPath": "v1alpha/properties/{propertiesId}/customMetrics", +"httpMethod": "GET", +"id": "analyticsadmin.properties.customMetrics.list", +"parameterOrder": [ +"parent" +], +"parameters": { +"pageSize": { +"description": "The maximum number of resources to return. If unspecified, at most 50 resources will be returned. The maximum value is 200 (higher values will be coerced to the maximum).", +"format": "int32", +"location": "query", +"type": "integer" +}, +"pageToken": { +"description": "A page token, received from a previous `ListCustomMetrics` call. Provide this to retrieve the subsequent page. When paginating, all other parameters provided to `ListCustomMetrics` must match the call that provided the page token.", +"location": "query", +"type": "string" +}, +"parent": { +"description": "Required. Example format: properties/1234", +"location": "path", +"pattern": "^properties/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1alpha/{+parent}/customMetrics", +"response": { +"$ref": "GoogleAnalyticsAdminV1alphaListCustomMetricsResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/analytics.edit", +"https://www.googleapis.com/auth/analytics.readonly" +] +}, +"patch": { +"description": "Updates a CustomMetric on a property.", +"flatPath": "v1alpha/properties/{propertiesId}/customMetrics/{customMetricsId}", +"httpMethod": "PATCH", +"id": "analyticsadmin.properties.customMetrics.patch", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Output only. Resource name for this CustomMetric resource. Format: properties/{property}/customMetrics/{customMetric}", +"location": "path", +"pattern": "^properties/[^/]+/customMetrics/[^/]+$", +"required": true, +"type": "string" +}, +"updateMask": { +"description": "Required. The list of fields to be updated. Omitted fields will not be updated. To replace the entire entity, use one path with the string \"*\" to match all fields.", +"format": "google-fieldmask", +"location": "query", +"type": "string" +} +}, +"path": "v1alpha/{+name}", +"request": { +"$ref": "GoogleAnalyticsAdminV1alphaCustomMetric" +}, +"response": { +"$ref": "GoogleAnalyticsAdminV1alphaCustomMetric" +}, +"scopes": [ +"https://www.googleapis.com/auth/analytics.edit" +] +} +} +}, +"dataStreams": { +"methods": { +"create": { +"description": "Creates a DataStream.", +"flatPath": "v1alpha/properties/{propertiesId}/dataStreams", +"httpMethod": "POST", +"id": "analyticsadmin.properties.dataStreams.create", +"parameterOrder": [ +"parent" +], +"parameters": { +"parent": { +"description": "Required. Example format: properties/1234", +"location": "path", +"pattern": "^properties/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1alpha/{+parent}/dataStreams", +"request": { +"$ref": "GoogleAnalyticsAdminV1alphaDataStream" +}, +"response": { +"$ref": "GoogleAnalyticsAdminV1alphaDataStream" +}, +"scopes": [ +"https://www.googleapis.com/auth/analytics.edit" +] +}, +"delete": { +"description": "Deletes a DataStream on a property.", +"flatPath": "v1alpha/properties/{propertiesId}/dataStreams/{dataStreamsId}", +"httpMethod": "DELETE", +"id": "analyticsadmin.properties.dataStreams.delete", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. The name of the DataStream to delete. Example format: properties/1234/dataStreams/5678", +"location": "path", +"pattern": "^properties/[^/]+/dataStreams/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1alpha/{+name}", +"response": { +"$ref": "GoogleProtobufEmpty" +}, +"scopes": [ +"https://www.googleapis.com/auth/analytics.edit" +] +}, +"get": { +"description": "Lookup for a single DataStream.", +"flatPath": "v1alpha/properties/{propertiesId}/dataStreams/{dataStreamsId}", +"httpMethod": "GET", +"id": "analyticsadmin.properties.dataStreams.get", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. The name of the DataStream to get. Example format: properties/1234/dataStreams/5678", +"location": "path", +"pattern": "^properties/[^/]+/dataStreams/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1alpha/{+name}", +"response": { +"$ref": "GoogleAnalyticsAdminV1alphaDataStream" +}, +"scopes": [ +"https://www.googleapis.com/auth/analytics.edit", +"https://www.googleapis.com/auth/analytics.readonly" +] +}, +"getDataRedactionSettings": { +"description": "Lookup for a single DataRedactionSettings.", +"flatPath": "v1alpha/properties/{propertiesId}/dataStreams/{dataStreamsId}/dataRedactionSettings", +"httpMethod": "GET", +"id": "analyticsadmin.properties.dataStreams.getDataRedactionSettings", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. The name of the settings to lookup. Format: properties/{property}/dataStreams/{data_stream}/dataRedactionSettings Example: \"properties/1000/dataStreams/2000/dataRedactionSettings\"", +"location": "path", +"pattern": "^properties/[^/]+/dataStreams/[^/]+/dataRedactionSettings$", +"required": true, +"type": "string" +} +}, +"path": "v1alpha/{+name}", +"response": { +"$ref": "GoogleAnalyticsAdminV1alphaDataRedactionSettings" +}, +"scopes": [ +"https://www.googleapis.com/auth/analytics.edit", +"https://www.googleapis.com/auth/analytics.readonly" +] +}, +"getEnhancedMeasurementSettings": { +"description": "Returns the enhanced measurement settings for this data stream. Note that the stream must enable enhanced measurement for these settings to take effect.", +"flatPath": "v1alpha/properties/{propertiesId}/dataStreams/{dataStreamsId}/enhancedMeasurementSettings", +"httpMethod": "GET", +"id": "analyticsadmin.properties.dataStreams.getEnhancedMeasurementSettings", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. The name of the settings to lookup. Format: properties/{property}/dataStreams/{data_stream}/enhancedMeasurementSettings Example: \"properties/1000/dataStreams/2000/enhancedMeasurementSettings\"", +"location": "path", +"pattern": "^properties/[^/]+/dataStreams/[^/]+/enhancedMeasurementSettings$", +"required": true, +"type": "string" +} +}, +"path": "v1alpha/{+name}", +"response": { +"$ref": "GoogleAnalyticsAdminV1alphaEnhancedMeasurementSettings" +}, +"scopes": [ +"https://www.googleapis.com/auth/analytics.edit", +"https://www.googleapis.com/auth/analytics.readonly" +] +}, +"getGlobalSiteTag": { +"description": "Returns the Site Tag for the specified web stream. Site Tags are immutable singletons.", +"flatPath": "v1alpha/properties/{propertiesId}/dataStreams/{dataStreamsId}/globalSiteTag", +"httpMethod": "GET", +"id": "analyticsadmin.properties.dataStreams.getGlobalSiteTag", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. The name of the site tag to lookup. Note that site tags are singletons and do not have unique IDs. Format: properties/{property_id}/dataStreams/{stream_id}/globalSiteTag Example: `properties/123/dataStreams/456/globalSiteTag`", +"location": "path", +"pattern": "^properties/[^/]+/dataStreams/[^/]+/globalSiteTag$", +"required": true, +"type": "string" +} +}, +"path": "v1alpha/{+name}", +"response": { +"$ref": "GoogleAnalyticsAdminV1alphaGlobalSiteTag" +}, +"scopes": [ +"https://www.googleapis.com/auth/analytics.edit", +"https://www.googleapis.com/auth/analytics.readonly" +] +}, +"list": { +"description": "Lists DataStreams on a property.", +"flatPath": "v1alpha/properties/{propertiesId}/dataStreams", +"httpMethod": "GET", +"id": "analyticsadmin.properties.dataStreams.list", +"parameterOrder": [ +"parent" +], +"parameters": { +"pageSize": { +"description": "The maximum number of resources to return. If unspecified, at most 50 resources will be returned. The maximum value is 200 (higher values will be coerced to the maximum).", +"format": "int32", +"location": "query", +"type": "integer" +}, +"pageToken": { +"description": "A page token, received from a previous `ListDataStreams` call. Provide this to retrieve the subsequent page. When paginating, all other parameters provided to `ListDataStreams` must match the call that provided the page token.", +"location": "query", +"type": "string" +}, +"parent": { +"description": "Required. Example format: properties/1234", +"location": "path", +"pattern": "^properties/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1alpha/{+parent}/dataStreams", +"response": { +"$ref": "GoogleAnalyticsAdminV1alphaListDataStreamsResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/analytics.edit", +"https://www.googleapis.com/auth/analytics.readonly" +] +}, +"patch": { +"description": "Updates a DataStream on a property.", +"flatPath": "v1alpha/properties/{propertiesId}/dataStreams/{dataStreamsId}", +"httpMethod": "PATCH", +"id": "analyticsadmin.properties.dataStreams.patch", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Output only. Resource name of this Data Stream. Format: properties/{property_id}/dataStreams/{stream_id} Example: \"properties/1000/dataStreams/2000\"", +"location": "path", +"pattern": "^properties/[^/]+/dataStreams/[^/]+$", +"required": true, +"type": "string" +}, +"updateMask": { +"description": "Required. The list of fields to be updated. Omitted fields will not be updated. To replace the entire entity, use one path with the string \"*\" to match all fields.", +"format": "google-fieldmask", +"location": "query", +"type": "string" +} +}, +"path": "v1alpha/{+name}", +"request": { +"$ref": "GoogleAnalyticsAdminV1alphaDataStream" +}, +"response": { +"$ref": "GoogleAnalyticsAdminV1alphaDataStream" +}, +"scopes": [ +"https://www.googleapis.com/auth/analytics.edit" +] +}, +"updateDataRedactionSettings": { +"description": "Updates a DataRedactionSettings on a property.", +"flatPath": "v1alpha/properties/{propertiesId}/dataStreams/{dataStreamsId}/dataRedactionSettings", +"httpMethod": "PATCH", +"id": "analyticsadmin.properties.dataStreams.updateDataRedactionSettings", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Output only. Name of this Data Redaction Settings resource. Format: properties/{property_id}/dataStreams/{data_stream}/dataRedactionSettings Example: \"properties/1000/dataStreams/2000/dataRedactionSettings\"", +"location": "path", +"pattern": "^properties/[^/]+/dataStreams/[^/]+/dataRedactionSettings$", +"required": true, +"type": "string" +}, +"updateMask": { +"description": "Required. The list of fields to be updated. Field names must be in snake case (e.g., \"field_to_update\"). Omitted fields will not be updated. To replace the entire entity, use one path with the string \"*\" to match all fields.", +"format": "google-fieldmask", +"location": "query", +"type": "string" +} +}, +"path": "v1alpha/{+name}", +"request": { +"$ref": "GoogleAnalyticsAdminV1alphaDataRedactionSettings" +}, +"response": { +"$ref": "GoogleAnalyticsAdminV1alphaDataRedactionSettings" +}, +"scopes": [ +"https://www.googleapis.com/auth/analytics.edit" +] +}, +"updateEnhancedMeasurementSettings": { +"description": "Updates the enhanced measurement settings for this data stream. Note that the stream must enable enhanced measurement for these settings to take effect.", +"flatPath": "v1alpha/properties/{propertiesId}/dataStreams/{dataStreamsId}/enhancedMeasurementSettings", +"httpMethod": "PATCH", +"id": "analyticsadmin.properties.dataStreams.updateEnhancedMeasurementSettings", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Output only. Resource name of the Enhanced Measurement Settings. Format: properties/{property_id}/dataStreams/{data_stream}/enhancedMeasurementSettings Example: \"properties/1000/dataStreams/2000/enhancedMeasurementSettings\"", +"location": "path", +"pattern": "^properties/[^/]+/dataStreams/[^/]+/enhancedMeasurementSettings$", +"required": true, +"type": "string" +}, +"updateMask": { +"description": "Required. The list of fields to be updated. Field names must be in snake case (e.g., \"field_to_update\"). Omitted fields will not be updated. To replace the entire entity, use one path with the string \"*\" to match all fields.", +"format": "google-fieldmask", +"location": "query", +"type": "string" +} +}, +"path": "v1alpha/{+name}", +"request": { +"$ref": "GoogleAnalyticsAdminV1alphaEnhancedMeasurementSettings" +}, +"response": { +"$ref": "GoogleAnalyticsAdminV1alphaEnhancedMeasurementSettings" +}, +"scopes": [ +"https://www.googleapis.com/auth/analytics.edit" +] +} +}, +"resources": { +"eventCreateRules": { +"methods": { +"create": { +"description": "Creates an EventCreateRule.", +"flatPath": "v1alpha/properties/{propertiesId}/dataStreams/{dataStreamsId}/eventCreateRules", +"httpMethod": "POST", +"id": "analyticsadmin.properties.dataStreams.eventCreateRules.create", +"parameterOrder": [ +"parent" +], +"parameters": { +"parent": { +"description": "Required. Example format: properties/123/dataStreams/456", +"location": "path", +"pattern": "^properties/[^/]+/dataStreams/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1alpha/{+parent}/eventCreateRules", +"request": { +"$ref": "GoogleAnalyticsAdminV1alphaEventCreateRule" +}, +"response": { +"$ref": "GoogleAnalyticsAdminV1alphaEventCreateRule" +}, +"scopes": [ +"https://www.googleapis.com/auth/analytics.edit" +] +}, +"delete": { +"description": "Deletes an EventCreateRule.", +"flatPath": "v1alpha/properties/{propertiesId}/dataStreams/{dataStreamsId}/eventCreateRules/{eventCreateRulesId}", +"httpMethod": "DELETE", +"id": "analyticsadmin.properties.dataStreams.eventCreateRules.delete", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. Example format: properties/123/dataStreams/456/eventCreateRules/789", +"location": "path", +"pattern": "^properties/[^/]+/dataStreams/[^/]+/eventCreateRules/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1alpha/{+name}", +"response": { +"$ref": "GoogleProtobufEmpty" +}, +"scopes": [ +"https://www.googleapis.com/auth/analytics.edit" +] +}, +"get": { +"description": "Lookup for a single EventCreateRule.", +"flatPath": "v1alpha/properties/{propertiesId}/dataStreams/{dataStreamsId}/eventCreateRules/{eventCreateRulesId}", +"httpMethod": "GET", +"id": "analyticsadmin.properties.dataStreams.eventCreateRules.get", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. The name of the EventCreateRule to get. Example format: properties/123/dataStreams/456/eventCreateRules/789", +"location": "path", +"pattern": "^properties/[^/]+/dataStreams/[^/]+/eventCreateRules/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1alpha/{+name}", +"response": { +"$ref": "GoogleAnalyticsAdminV1alphaEventCreateRule" +}, +"scopes": [ +"https://www.googleapis.com/auth/analytics.edit", +"https://www.googleapis.com/auth/analytics.readonly" +] +}, +"list": { +"description": "Lists EventCreateRules on a web data stream.", +"flatPath": "v1alpha/properties/{propertiesId}/dataStreams/{dataStreamsId}/eventCreateRules", +"httpMethod": "GET", +"id": "analyticsadmin.properties.dataStreams.eventCreateRules.list", +"parameterOrder": [ +"parent" +], +"parameters": { +"pageSize": { +"description": "The maximum number of resources to return. If unspecified, at most 50 resources will be returned. The maximum value is 200 (higher values will be coerced to the maximum).", +"format": "int32", +"location": "query", +"type": "integer" +}, +"pageToken": { +"description": "A page token, received from a previous `ListEventCreateRules` call. Provide this to retrieve the subsequent page. When paginating, all other parameters provided to `ListEventCreateRules` must match the call that provided the page token.", +"location": "query", +"type": "string" +}, +"parent": { +"description": "Required. Example format: properties/123/dataStreams/456", +"location": "path", +"pattern": "^properties/[^/]+/dataStreams/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1alpha/{+parent}/eventCreateRules", +"response": { +"$ref": "GoogleAnalyticsAdminV1alphaListEventCreateRulesResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/analytics.edit", +"https://www.googleapis.com/auth/analytics.readonly" +] +}, +"patch": { +"description": "Updates an EventCreateRule.", +"flatPath": "v1alpha/properties/{propertiesId}/dataStreams/{dataStreamsId}/eventCreateRules/{eventCreateRulesId}", +"httpMethod": "PATCH", +"id": "analyticsadmin.properties.dataStreams.eventCreateRules.patch", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Output only. Resource name for this EventCreateRule resource. Format: properties/{property}/dataStreams/{data_stream}/eventCreateRules/{event_create_rule}", +"location": "path", +"pattern": "^properties/[^/]+/dataStreams/[^/]+/eventCreateRules/[^/]+$", +"required": true, +"type": "string" +}, +"updateMask": { +"description": "Required. The list of fields to be updated. Field names must be in snake case (e.g., \"field_to_update\"). Omitted fields will not be updated. To replace the entire entity, use one path with the string \"*\" to match all fields.", +"format": "google-fieldmask", +"location": "query", +"type": "string" +} +}, +"path": "v1alpha/{+name}", +"request": { +"$ref": "GoogleAnalyticsAdminV1alphaEventCreateRule" +}, +"response": { +"$ref": "GoogleAnalyticsAdminV1alphaEventCreateRule" +}, +"scopes": [ +"https://www.googleapis.com/auth/analytics.edit" +] +} +} +}, +"eventEditRules": { +"methods": { +"create": { +"description": "Creates an EventEditRule.", +"flatPath": "v1alpha/properties/{propertiesId}/dataStreams/{dataStreamsId}/eventEditRules", +"httpMethod": "POST", +"id": "analyticsadmin.properties.dataStreams.eventEditRules.create", +"parameterOrder": [ +"parent" +], +"parameters": { +"parent": { +"description": "Required. Example format: properties/123/dataStreams/456", +"location": "path", +"pattern": "^properties/[^/]+/dataStreams/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1alpha/{+parent}/eventEditRules", +"request": { +"$ref": "GoogleAnalyticsAdminV1alphaEventEditRule" +}, +"response": { +"$ref": "GoogleAnalyticsAdminV1alphaEventEditRule" +}, +"scopes": [ +"https://www.googleapis.com/auth/analytics.edit" +] +}, +"delete": { +"description": "Deletes an EventEditRule.", +"flatPath": "v1alpha/properties/{propertiesId}/dataStreams/{dataStreamsId}/eventEditRules/{eventEditRulesId}", +"httpMethod": "DELETE", +"id": "analyticsadmin.properties.dataStreams.eventEditRules.delete", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. Example format: properties/123/dataStreams/456/eventEditRules/789", +"location": "path", +"pattern": "^properties/[^/]+/dataStreams/[^/]+/eventEditRules/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1alpha/{+name}", +"response": { +"$ref": "GoogleProtobufEmpty" +}, +"scopes": [ +"https://www.googleapis.com/auth/analytics.edit" +] +}, +"get": { +"description": "Lookup for a single EventEditRule.", +"flatPath": "v1alpha/properties/{propertiesId}/dataStreams/{dataStreamsId}/eventEditRules/{eventEditRulesId}", +"httpMethod": "GET", +"id": "analyticsadmin.properties.dataStreams.eventEditRules.get", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. The name of the EventEditRule to get. Example format: properties/123/dataStreams/456/eventEditRules/789", +"location": "path", +"pattern": "^properties/[^/]+/dataStreams/[^/]+/eventEditRules/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1alpha/{+name}", +"response": { +"$ref": "GoogleAnalyticsAdminV1alphaEventEditRule" +}, +"scopes": [ +"https://www.googleapis.com/auth/analytics.edit", +"https://www.googleapis.com/auth/analytics.readonly" +] +}, +"list": { +"description": "Lists EventEditRules on a web data stream.", +"flatPath": "v1alpha/properties/{propertiesId}/dataStreams/{dataStreamsId}/eventEditRules", +"httpMethod": "GET", +"id": "analyticsadmin.properties.dataStreams.eventEditRules.list", +"parameterOrder": [ +"parent" +], +"parameters": { +"pageSize": { +"description": "Optional. The maximum number of resources to return. If unspecified, at most 50 resources will be returned. The maximum value is 200 (higher values will be coerced to the maximum).", +"format": "int32", +"location": "query", +"type": "integer" +}, +"pageToken": { +"description": "Optional. A page token, received from a previous `ListEventEditRules` call. Provide this to retrieve the subsequent page. When paginating, all other parameters provided to `ListEventEditRules` must match the call that provided the page token.", +"location": "query", +"type": "string" +}, +"parent": { +"description": "Required. Example format: properties/123/dataStreams/456", +"location": "path", +"pattern": "^properties/[^/]+/dataStreams/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1alpha/{+parent}/eventEditRules", +"response": { +"$ref": "GoogleAnalyticsAdminV1alphaListEventEditRulesResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/analytics.edit", +"https://www.googleapis.com/auth/analytics.readonly" +] +}, +"patch": { +"description": "Updates an EventEditRule.", +"flatPath": "v1alpha/properties/{propertiesId}/dataStreams/{dataStreamsId}/eventEditRules/{eventEditRulesId}", +"httpMethod": "PATCH", +"id": "analyticsadmin.properties.dataStreams.eventEditRules.patch", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Identifier. Resource name for this EventEditRule resource. Format: properties/{property}/dataStreams/{data_stream}/eventEditRules/{event_edit_rule}", +"location": "path", +"pattern": "^properties/[^/]+/dataStreams/[^/]+/eventEditRules/[^/]+$", +"required": true, +"type": "string" +}, +"updateMask": { +"description": "Required. The list of fields to be updated. Field names must be in snake case (e.g., \"field_to_update\"). Omitted fields will not be updated. To replace the entire entity, use one path with the string \"*\" to match all fields.", +"format": "google-fieldmask", +"location": "query", +"type": "string" +} +}, +"path": "v1alpha/{+name}", +"request": { +"$ref": "GoogleAnalyticsAdminV1alphaEventEditRule" +}, +"response": { +"$ref": "GoogleAnalyticsAdminV1alphaEventEditRule" +}, +"scopes": [ +"https://www.googleapis.com/auth/analytics.edit" +] +}, +"reorder": { +"description": "Changes the processing order of event edit rules on the specified stream.", +"flatPath": "v1alpha/properties/{propertiesId}/dataStreams/{dataStreamsId}/eventEditRules:reorder", +"httpMethod": "POST", +"id": "analyticsadmin.properties.dataStreams.eventEditRules.reorder", +"parameterOrder": [ +"parent" +], +"parameters": { +"parent": { +"description": "Required. Example format: properties/123/dataStreams/456", +"location": "path", +"pattern": "^properties/[^/]+/dataStreams/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1alpha/{+parent}/eventEditRules:reorder", +"request": { +"$ref": "GoogleAnalyticsAdminV1alphaReorderEventEditRulesRequest" +}, +"response": { +"$ref": "GoogleProtobufEmpty" +}, +"scopes": [ +"https://www.googleapis.com/auth/analytics.edit" +] +} +} +}, +"measurementProtocolSecrets": { +"methods": { +"create": { +"description": "Creates a measurement protocol secret.", +"flatPath": "v1alpha/properties/{propertiesId}/dataStreams/{dataStreamsId}/measurementProtocolSecrets", +"httpMethod": "POST", +"id": "analyticsadmin.properties.dataStreams.measurementProtocolSecrets.create", +"parameterOrder": [ +"parent" +], +"parameters": { +"parent": { +"description": "Required. The parent resource where this secret will be created. Format: properties/{property}/dataStreams/{dataStream}", +"location": "path", +"pattern": "^properties/[^/]+/dataStreams/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1alpha/{+parent}/measurementProtocolSecrets", +"request": { +"$ref": "GoogleAnalyticsAdminV1alphaMeasurementProtocolSecret" +}, +"response": { +"$ref": "GoogleAnalyticsAdminV1alphaMeasurementProtocolSecret" +}, +"scopes": [ +"https://www.googleapis.com/auth/analytics.edit" +] +}, +"delete": { +"description": "Deletes target MeasurementProtocolSecret.", +"flatPath": "v1alpha/properties/{propertiesId}/dataStreams/{dataStreamsId}/measurementProtocolSecrets/{measurementProtocolSecretsId}", +"httpMethod": "DELETE", +"id": "analyticsadmin.properties.dataStreams.measurementProtocolSecrets.delete", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. The name of the MeasurementProtocolSecret to delete. Format: properties/{property}/dataStreams/{dataStream}/measurementProtocolSecrets/{measurementProtocolSecret}", +"location": "path", +"pattern": "^properties/[^/]+/dataStreams/[^/]+/measurementProtocolSecrets/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1alpha/{+name}", +"response": { +"$ref": "GoogleProtobufEmpty" +}, +"scopes": [ +"https://www.googleapis.com/auth/analytics.edit" +] +}, +"get": { +"description": "Lookup for a single MeasurementProtocolSecret.", +"flatPath": "v1alpha/properties/{propertiesId}/dataStreams/{dataStreamsId}/measurementProtocolSecrets/{measurementProtocolSecretsId}", +"httpMethod": "GET", +"id": "analyticsadmin.properties.dataStreams.measurementProtocolSecrets.get", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. The name of the measurement protocol secret to lookup. Format: properties/{property}/dataStreams/{dataStream}/measurementProtocolSecrets/{measurementProtocolSecret}", +"location": "path", +"pattern": "^properties/[^/]+/dataStreams/[^/]+/measurementProtocolSecrets/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1alpha/{+name}", +"response": { +"$ref": "GoogleAnalyticsAdminV1alphaMeasurementProtocolSecret" +}, +"scopes": [ +"https://www.googleapis.com/auth/analytics.edit", +"https://www.googleapis.com/auth/analytics.readonly" +] +}, +"list": { +"description": "Returns child MeasurementProtocolSecrets under the specified parent Property.", +"flatPath": "v1alpha/properties/{propertiesId}/dataStreams/{dataStreamsId}/measurementProtocolSecrets", +"httpMethod": "GET", +"id": "analyticsadmin.properties.dataStreams.measurementProtocolSecrets.list", +"parameterOrder": [ +"parent" +], +"parameters": { +"pageSize": { +"description": "The maximum number of resources to return. If unspecified, at most 10 resources will be returned. The maximum value is 10. Higher values will be coerced to the maximum.", +"format": "int32", +"location": "query", +"type": "integer" +}, +"pageToken": { +"description": "A page token, received from a previous `ListMeasurementProtocolSecrets` call. Provide this to retrieve the subsequent page. When paginating, all other parameters provided to `ListMeasurementProtocolSecrets` must match the call that provided the page token.", +"location": "query", +"type": "string" +}, +"parent": { +"description": "Required. The resource name of the parent stream. Format: properties/{property}/dataStreams/{dataStream}/measurementProtocolSecrets", +"location": "path", +"pattern": "^properties/[^/]+/dataStreams/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1alpha/{+parent}/measurementProtocolSecrets", +"response": { +"$ref": "GoogleAnalyticsAdminV1alphaListMeasurementProtocolSecretsResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/analytics.edit", +"https://www.googleapis.com/auth/analytics.readonly" +] +}, +"patch": { +"description": "Updates a measurement protocol secret.", +"flatPath": "v1alpha/properties/{propertiesId}/dataStreams/{dataStreamsId}/measurementProtocolSecrets/{measurementProtocolSecretsId}", +"httpMethod": "PATCH", +"id": "analyticsadmin.properties.dataStreams.measurementProtocolSecrets.patch", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Output only. Resource name of this secret. This secret may be a child of any type of stream. Format: properties/{property}/dataStreams/{dataStream}/measurementProtocolSecrets/{measurementProtocolSecret}", +"location": "path", +"pattern": "^properties/[^/]+/dataStreams/[^/]+/measurementProtocolSecrets/[^/]+$", +"required": true, +"type": "string" +}, +"updateMask": { +"description": "Required. The list of fields to be updated. Omitted fields will not be updated.", +"format": "google-fieldmask", +"location": "query", +"type": "string" +} +}, +"path": "v1alpha/{+name}", +"request": { +"$ref": "GoogleAnalyticsAdminV1alphaMeasurementProtocolSecret" +}, +"response": { +"$ref": "GoogleAnalyticsAdminV1alphaMeasurementProtocolSecret" +}, +"scopes": [ +"https://www.googleapis.com/auth/analytics.edit" +] +} +} +}, +"sKAdNetworkConversionValueSchema": { +"methods": { +"create": { +"description": "Creates a SKAdNetworkConversionValueSchema.", +"flatPath": "v1alpha/properties/{propertiesId}/dataStreams/{dataStreamsId}/sKAdNetworkConversionValueSchema", +"httpMethod": "POST", +"id": "analyticsadmin.properties.dataStreams.sKAdNetworkConversionValueSchema.create", +"parameterOrder": [ +"parent" +], +"parameters": { +"parent": { +"description": "Required. The parent resource where this schema will be created. Format: properties/{property}/dataStreams/{dataStream}", +"location": "path", +"pattern": "^properties/[^/]+/dataStreams/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1alpha/{+parent}/sKAdNetworkConversionValueSchema", +"request": { +"$ref": "GoogleAnalyticsAdminV1alphaSKAdNetworkConversionValueSchema" +}, +"response": { +"$ref": "GoogleAnalyticsAdminV1alphaSKAdNetworkConversionValueSchema" +}, +"scopes": [ +"https://www.googleapis.com/auth/analytics.edit" +] +}, +"delete": { +"description": "Deletes target SKAdNetworkConversionValueSchema.", +"flatPath": "v1alpha/properties/{propertiesId}/dataStreams/{dataStreamsId}/sKAdNetworkConversionValueSchema/{sKAdNetworkConversionValueSchemaId}", +"httpMethod": "DELETE", +"id": "analyticsadmin.properties.dataStreams.sKAdNetworkConversionValueSchema.delete", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. The name of the SKAdNetworkConversionValueSchema to delete. Format: properties/{property}/dataStreams/{dataStream}/sKAdNetworkConversionValueSchema/{skadnetwork_conversion_value_schema}", +"location": "path", +"pattern": "^properties/[^/]+/dataStreams/[^/]+/sKAdNetworkConversionValueSchema/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1alpha/{+name}", +"response": { +"$ref": "GoogleProtobufEmpty" +}, +"scopes": [ +"https://www.googleapis.com/auth/analytics.edit" +] +}, +"get": { +"description": "Looks up a single SKAdNetworkConversionValueSchema.", +"flatPath": "v1alpha/properties/{propertiesId}/dataStreams/{dataStreamsId}/sKAdNetworkConversionValueSchema/{sKAdNetworkConversionValueSchemaId}", +"httpMethod": "GET", +"id": "analyticsadmin.properties.dataStreams.sKAdNetworkConversionValueSchema.get", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. The resource name of SKAdNetwork conversion value schema to look up. Format: properties/{property}/dataStreams/{dataStream}/sKAdNetworkConversionValueSchema/{skadnetwork_conversion_value_schema}", +"location": "path", +"pattern": "^properties/[^/]+/dataStreams/[^/]+/sKAdNetworkConversionValueSchema/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1alpha/{+name}", +"response": { +"$ref": "GoogleAnalyticsAdminV1alphaSKAdNetworkConversionValueSchema" +}, +"scopes": [ +"https://www.googleapis.com/auth/analytics.edit", +"https://www.googleapis.com/auth/analytics.readonly" +] +}, +"list": { +"description": "Lists SKAdNetworkConversionValueSchema on a stream. Properties can have at most one SKAdNetworkConversionValueSchema.", +"flatPath": "v1alpha/properties/{propertiesId}/dataStreams/{dataStreamsId}/sKAdNetworkConversionValueSchema", +"httpMethod": "GET", +"id": "analyticsadmin.properties.dataStreams.sKAdNetworkConversionValueSchema.list", +"parameterOrder": [ +"parent" +], +"parameters": { +"pageSize": { +"description": "The maximum number of resources to return. The service may return fewer than this value, even if there are additional pages. If unspecified, at most 50 resources will be returned. The maximum value is 200; (higher values will be coerced to the maximum)", +"format": "int32", +"location": "query", +"type": "integer" +}, +"pageToken": { +"description": "A page token, received from a previous `ListSKAdNetworkConversionValueSchemas` call. Provide this to retrieve the subsequent page. When paginating, all other parameters provided to `ListSKAdNetworkConversionValueSchema` must match the call that provided the page token.", +"location": "query", +"type": "string" +}, +"parent": { +"description": "Required. The DataStream resource to list schemas for. Format: properties/{property_id}/dataStreams/{dataStream} Example: properties/1234/dataStreams/5678", +"location": "path", +"pattern": "^properties/[^/]+/dataStreams/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1alpha/{+parent}/sKAdNetworkConversionValueSchema", +"response": { +"$ref": "GoogleAnalyticsAdminV1alphaListSKAdNetworkConversionValueSchemasResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/analytics.edit", +"https://www.googleapis.com/auth/analytics.readonly" +] +}, +"patch": { +"description": "Updates a SKAdNetworkConversionValueSchema.", +"flatPath": "v1alpha/properties/{propertiesId}/dataStreams/{dataStreamsId}/sKAdNetworkConversionValueSchema/{sKAdNetworkConversionValueSchemaId}", +"httpMethod": "PATCH", +"id": "analyticsadmin.properties.dataStreams.sKAdNetworkConversionValueSchema.patch", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Output only. Resource name of the schema. This will be child of ONLY an iOS stream, and there can be at most one such child under an iOS stream. Format: properties/{property}/dataStreams/{dataStream}/sKAdNetworkConversionValueSchema", +"location": "path", +"pattern": "^properties/[^/]+/dataStreams/[^/]+/sKAdNetworkConversionValueSchema/[^/]+$", +"required": true, +"type": "string" +}, +"updateMask": { +"description": "Required. The list of fields to be updated. Omitted fields will not be updated.", +"format": "google-fieldmask", +"location": "query", +"type": "string" +} +}, +"path": "v1alpha/{+name}", +"request": { +"$ref": "GoogleAnalyticsAdminV1alphaSKAdNetworkConversionValueSchema" +}, +"response": { +"$ref": "GoogleAnalyticsAdminV1alphaSKAdNetworkConversionValueSchema" +}, +"scopes": [ +"https://www.googleapis.com/auth/analytics.edit" +] +} +} +} +} +}, +"displayVideo360AdvertiserLinkProposals": { +"methods": { +"approve": { +"description": "Approves a DisplayVideo360AdvertiserLinkProposal. The DisplayVideo360AdvertiserLinkProposal will be deleted and a new DisplayVideo360AdvertiserLink will be created.", +"flatPath": "v1alpha/properties/{propertiesId}/displayVideo360AdvertiserLinkProposals/{displayVideo360AdvertiserLinkProposalsId}:approve", +"httpMethod": "POST", +"id": "analyticsadmin.properties.displayVideo360AdvertiserLinkProposals.approve", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. The name of the DisplayVideo360AdvertiserLinkProposal to approve. Example format: properties/1234/displayVideo360AdvertiserLinkProposals/5678", +"location": "path", +"pattern": "^properties/[^/]+/displayVideo360AdvertiserLinkProposals/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1alpha/{+name}:approve", +"request": { +"$ref": "GoogleAnalyticsAdminV1alphaApproveDisplayVideo360AdvertiserLinkProposalRequest" +}, +"response": { +"$ref": "GoogleAnalyticsAdminV1alphaApproveDisplayVideo360AdvertiserLinkProposalResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/analytics.edit" +] +}, +"cancel": { +"description": "Cancels a DisplayVideo360AdvertiserLinkProposal. Cancelling can mean either: - Declining a proposal initiated from Display & Video 360 - Withdrawing a proposal initiated from Google Analytics After being cancelled, a proposal will eventually be deleted automatically.", +"flatPath": "v1alpha/properties/{propertiesId}/displayVideo360AdvertiserLinkProposals/{displayVideo360AdvertiserLinkProposalsId}:cancel", +"httpMethod": "POST", +"id": "analyticsadmin.properties.displayVideo360AdvertiserLinkProposals.cancel", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. The name of the DisplayVideo360AdvertiserLinkProposal to cancel. Example format: properties/1234/displayVideo360AdvertiserLinkProposals/5678", +"location": "path", +"pattern": "^properties/[^/]+/displayVideo360AdvertiserLinkProposals/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1alpha/{+name}:cancel", +"request": { +"$ref": "GoogleAnalyticsAdminV1alphaCancelDisplayVideo360AdvertiserLinkProposalRequest" +}, +"response": { +"$ref": "GoogleAnalyticsAdminV1alphaDisplayVideo360AdvertiserLinkProposal" +}, +"scopes": [ +"https://www.googleapis.com/auth/analytics.edit" +] +}, +"create": { +"description": "Creates a DisplayVideo360AdvertiserLinkProposal.", +"flatPath": "v1alpha/properties/{propertiesId}/displayVideo360AdvertiserLinkProposals", +"httpMethod": "POST", +"id": "analyticsadmin.properties.displayVideo360AdvertiserLinkProposals.create", +"parameterOrder": [ +"parent" +], +"parameters": { +"parent": { +"description": "Required. Example format: properties/1234", +"location": "path", +"pattern": "^properties/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1alpha/{+parent}/displayVideo360AdvertiserLinkProposals", +"request": { +"$ref": "GoogleAnalyticsAdminV1alphaDisplayVideo360AdvertiserLinkProposal" +}, +"response": { +"$ref": "GoogleAnalyticsAdminV1alphaDisplayVideo360AdvertiserLinkProposal" +}, +"scopes": [ +"https://www.googleapis.com/auth/analytics.edit" +] +}, +"delete": { +"description": "Deletes a DisplayVideo360AdvertiserLinkProposal on a property. This can only be used on cancelled proposals.", +"flatPath": "v1alpha/properties/{propertiesId}/displayVideo360AdvertiserLinkProposals/{displayVideo360AdvertiserLinkProposalsId}", +"httpMethod": "DELETE", +"id": "analyticsadmin.properties.displayVideo360AdvertiserLinkProposals.delete", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. The name of the DisplayVideo360AdvertiserLinkProposal to delete. Example format: properties/1234/displayVideo360AdvertiserLinkProposals/5678", +"location": "path", +"pattern": "^properties/[^/]+/displayVideo360AdvertiserLinkProposals/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1alpha/{+name}", +"response": { +"$ref": "GoogleProtobufEmpty" +}, +"scopes": [ +"https://www.googleapis.com/auth/analytics.edit" +] +}, +"get": { +"description": "Lookup for a single DisplayVideo360AdvertiserLinkProposal.", +"flatPath": "v1alpha/properties/{propertiesId}/displayVideo360AdvertiserLinkProposals/{displayVideo360AdvertiserLinkProposalsId}", +"httpMethod": "GET", +"id": "analyticsadmin.properties.displayVideo360AdvertiserLinkProposals.get", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. The name of the DisplayVideo360AdvertiserLinkProposal to get. Example format: properties/1234/displayVideo360AdvertiserLinkProposals/5678", +"location": "path", +"pattern": "^properties/[^/]+/displayVideo360AdvertiserLinkProposals/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1alpha/{+name}", +"response": { +"$ref": "GoogleAnalyticsAdminV1alphaDisplayVideo360AdvertiserLinkProposal" +}, +"scopes": [ +"https://www.googleapis.com/auth/analytics.edit", +"https://www.googleapis.com/auth/analytics.readonly" +] +}, +"list": { +"description": "Lists DisplayVideo360AdvertiserLinkProposals on a property.", +"flatPath": "v1alpha/properties/{propertiesId}/displayVideo360AdvertiserLinkProposals", +"httpMethod": "GET", +"id": "analyticsadmin.properties.displayVideo360AdvertiserLinkProposals.list", +"parameterOrder": [ +"parent" +], +"parameters": { +"pageSize": { +"description": "The maximum number of resources to return. If unspecified, at most 50 resources will be returned. The maximum value is 200 (higher values will be coerced to the maximum).", +"format": "int32", +"location": "query", +"type": "integer" +}, +"pageToken": { +"description": "A page token, received from a previous `ListDisplayVideo360AdvertiserLinkProposals` call. Provide this to retrieve the subsequent page. When paginating, all other parameters provided to `ListDisplayVideo360AdvertiserLinkProposals` must match the call that provided the page token.", +"location": "query", +"type": "string" +}, +"parent": { +"description": "Required. Example format: properties/1234", +"location": "path", +"pattern": "^properties/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1alpha/{+parent}/displayVideo360AdvertiserLinkProposals", +"response": { +"$ref": "GoogleAnalyticsAdminV1alphaListDisplayVideo360AdvertiserLinkProposalsResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/analytics.edit", +"https://www.googleapis.com/auth/analytics.readonly" +] +} +} +}, +"displayVideo360AdvertiserLinks": { +"methods": { +"create": { +"description": "Creates a DisplayVideo360AdvertiserLink. This can only be utilized by users who have proper authorization both on the Google Analytics property and on the Display & Video 360 advertiser. Users who do not have access to the Display & Video 360 advertiser should instead seek to create a DisplayVideo360LinkProposal.", +"flatPath": "v1alpha/properties/{propertiesId}/displayVideo360AdvertiserLinks", +"httpMethod": "POST", +"id": "analyticsadmin.properties.displayVideo360AdvertiserLinks.create", +"parameterOrder": [ +"parent" +], +"parameters": { +"parent": { +"description": "Required. Example format: properties/1234", +"location": "path", +"pattern": "^properties/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1alpha/{+parent}/displayVideo360AdvertiserLinks", +"request": { +"$ref": "GoogleAnalyticsAdminV1alphaDisplayVideo360AdvertiserLink" +}, +"response": { +"$ref": "GoogleAnalyticsAdminV1alphaDisplayVideo360AdvertiserLink" +}, +"scopes": [ +"https://www.googleapis.com/auth/analytics.edit" +] +}, +"delete": { +"description": "Deletes a DisplayVideo360AdvertiserLink on a property.", +"flatPath": "v1alpha/properties/{propertiesId}/displayVideo360AdvertiserLinks/{displayVideo360AdvertiserLinksId}", +"httpMethod": "DELETE", +"id": "analyticsadmin.properties.displayVideo360AdvertiserLinks.delete", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. The name of the DisplayVideo360AdvertiserLink to delete. Example format: properties/1234/displayVideo360AdvertiserLinks/5678", +"location": "path", +"pattern": "^properties/[^/]+/displayVideo360AdvertiserLinks/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1alpha/{+name}", +"response": { +"$ref": "GoogleProtobufEmpty" +}, +"scopes": [ +"https://www.googleapis.com/auth/analytics.edit" +] +}, +"get": { +"description": "Look up a single DisplayVideo360AdvertiserLink", +"flatPath": "v1alpha/properties/{propertiesId}/displayVideo360AdvertiserLinks/{displayVideo360AdvertiserLinksId}", +"httpMethod": "GET", +"id": "analyticsadmin.properties.displayVideo360AdvertiserLinks.get", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. The name of the DisplayVideo360AdvertiserLink to get. Example format: properties/1234/displayVideo360AdvertiserLink/5678", +"location": "path", +"pattern": "^properties/[^/]+/displayVideo360AdvertiserLinks/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1alpha/{+name}", +"response": { +"$ref": "GoogleAnalyticsAdminV1alphaDisplayVideo360AdvertiserLink" +}, +"scopes": [ +"https://www.googleapis.com/auth/analytics.edit", +"https://www.googleapis.com/auth/analytics.readonly" +] +}, +"list": { +"description": "Lists all DisplayVideo360AdvertiserLinks on a property.", +"flatPath": "v1alpha/properties/{propertiesId}/displayVideo360AdvertiserLinks", +"httpMethod": "GET", +"id": "analyticsadmin.properties.displayVideo360AdvertiserLinks.list", +"parameterOrder": [ +"parent" +], +"parameters": { +"pageSize": { +"description": "The maximum number of resources to return. If unspecified, at most 50 resources will be returned. The maximum value is 200 (higher values will be coerced to the maximum).", +"format": "int32", +"location": "query", +"type": "integer" +}, +"pageToken": { +"description": "A page token, received from a previous `ListDisplayVideo360AdvertiserLinks` call. Provide this to retrieve the subsequent page. When paginating, all other parameters provided to `ListDisplayVideo360AdvertiserLinks` must match the call that provided the page token.", +"location": "query", +"type": "string" +}, +"parent": { +"description": "Required. Example format: properties/1234", +"location": "path", +"pattern": "^properties/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1alpha/{+parent}/displayVideo360AdvertiserLinks", +"response": { +"$ref": "GoogleAnalyticsAdminV1alphaListDisplayVideo360AdvertiserLinksResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/analytics.edit", +"https://www.googleapis.com/auth/analytics.readonly" +] +}, +"patch": { +"description": "Updates a DisplayVideo360AdvertiserLink on a property.", +"flatPath": "v1alpha/properties/{propertiesId}/displayVideo360AdvertiserLinks/{displayVideo360AdvertiserLinksId}", +"httpMethod": "PATCH", +"id": "analyticsadmin.properties.displayVideo360AdvertiserLinks.patch", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Output only. The resource name for this DisplayVideo360AdvertiserLink resource. Format: properties/{propertyId}/displayVideo360AdvertiserLinks/{linkId} Note: linkId is not the Display & Video 360 Advertiser ID", +"location": "path", +"pattern": "^properties/[^/]+/displayVideo360AdvertiserLinks/[^/]+$", +"required": true, +"type": "string" +}, +"updateMask": { +"description": "Required. The list of fields to be updated. Omitted fields will not be updated. To replace the entire entity, use one path with the string \"*\" to match all fields.", +"format": "google-fieldmask", +"location": "query", +"type": "string" +} +}, +"path": "v1alpha/{+name}", +"request": { +"$ref": "GoogleAnalyticsAdminV1alphaDisplayVideo360AdvertiserLink" +}, +"response": { +"$ref": "GoogleAnalyticsAdminV1alphaDisplayVideo360AdvertiserLink" +}, +"scopes": [ +"https://www.googleapis.com/auth/analytics.edit" +] +} +} +}, +"expandedDataSets": { +"methods": { +"create": { +"description": "Creates a ExpandedDataSet.", +"flatPath": "v1alpha/properties/{propertiesId}/expandedDataSets", +"httpMethod": "POST", +"id": "analyticsadmin.properties.expandedDataSets.create", +"parameterOrder": [ +"parent" +], +"parameters": { +"parent": { +"description": "Required. Example format: properties/1234", +"location": "path", +"pattern": "^properties/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1alpha/{+parent}/expandedDataSets", +"request": { +"$ref": "GoogleAnalyticsAdminV1alphaExpandedDataSet" +}, +"response": { +"$ref": "GoogleAnalyticsAdminV1alphaExpandedDataSet" +}, +"scopes": [ +"https://www.googleapis.com/auth/analytics.edit" +] +}, +"delete": { +"description": "Deletes a ExpandedDataSet on a property.", +"flatPath": "v1alpha/properties/{propertiesId}/expandedDataSets/{expandedDataSetsId}", +"httpMethod": "DELETE", +"id": "analyticsadmin.properties.expandedDataSets.delete", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. Example format: properties/1234/expandedDataSets/5678", +"location": "path", +"pattern": "^properties/[^/]+/expandedDataSets/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1alpha/{+name}", +"response": { +"$ref": "GoogleProtobufEmpty" +}, +"scopes": [ +"https://www.googleapis.com/auth/analytics.edit" +] +}, +"get": { +"description": "Lookup for a single ExpandedDataSet.", +"flatPath": "v1alpha/properties/{propertiesId}/expandedDataSets/{expandedDataSetsId}", +"httpMethod": "GET", +"id": "analyticsadmin.properties.expandedDataSets.get", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. The name of the ExpandedDataSet to get. Example format: properties/1234/expandedDataSets/5678", +"location": "path", +"pattern": "^properties/[^/]+/expandedDataSets/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1alpha/{+name}", +"response": { +"$ref": "GoogleAnalyticsAdminV1alphaExpandedDataSet" +}, +"scopes": [ +"https://www.googleapis.com/auth/analytics.edit", +"https://www.googleapis.com/auth/analytics.readonly" +] +}, +"list": { +"description": "Lists ExpandedDataSets on a property.", +"flatPath": "v1alpha/properties/{propertiesId}/expandedDataSets", +"httpMethod": "GET", +"id": "analyticsadmin.properties.expandedDataSets.list", +"parameterOrder": [ +"parent" +], +"parameters": { +"pageSize": { +"description": "The maximum number of resources to return. If unspecified, at most 50 resources will be returned. The maximum value is 200 (higher values will be coerced to the maximum).", +"format": "int32", +"location": "query", +"type": "integer" +}, +"pageToken": { +"description": "A page token, received from a previous `ListExpandedDataSets` call. Provide this to retrieve the subsequent page. When paginating, all other parameters provided to `ListExpandedDataSet` must match the call that provided the page token.", +"location": "query", +"type": "string" +}, +"parent": { +"description": "Required. Example format: properties/1234", +"location": "path", +"pattern": "^properties/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1alpha/{+parent}/expandedDataSets", +"response": { +"$ref": "GoogleAnalyticsAdminV1alphaListExpandedDataSetsResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/analytics.edit", +"https://www.googleapis.com/auth/analytics.readonly" +] +}, +"patch": { +"description": "Updates a ExpandedDataSet on a property.", +"flatPath": "v1alpha/properties/{propertiesId}/expandedDataSets/{expandedDataSetsId}", +"httpMethod": "PATCH", +"id": "analyticsadmin.properties.expandedDataSets.patch", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Output only. The resource name for this ExpandedDataSet resource. Format: properties/{property_id}/expandedDataSets/{expanded_data_set}", +"location": "path", +"pattern": "^properties/[^/]+/expandedDataSets/[^/]+$", +"required": true, +"type": "string" +}, +"updateMask": { +"description": "Required. The list of fields to be updated. Field names must be in snake case (e.g., \"field_to_update\"). Omitted fields will not be updated. To replace the entire entity, use one path with the string \"*\" to match all fields.", +"format": "google-fieldmask", +"location": "query", +"type": "string" +} +}, +"path": "v1alpha/{+name}", +"request": { +"$ref": "GoogleAnalyticsAdminV1alphaExpandedDataSet" +}, +"response": { +"$ref": "GoogleAnalyticsAdminV1alphaExpandedDataSet" +}, +"scopes": [ +"https://www.googleapis.com/auth/analytics.edit" +] +} +} +}, +"firebaseLinks": { +"methods": { +"create": { +"description": "Creates a FirebaseLink. Properties can have at most one FirebaseLink.", +"flatPath": "v1alpha/properties/{propertiesId}/firebaseLinks", +"httpMethod": "POST", +"id": "analyticsadmin.properties.firebaseLinks.create", +"parameterOrder": [ +"parent" +], +"parameters": { +"parent": { +"description": "Required. Format: properties/{property_id} Example: `properties/1234`", +"location": "path", +"pattern": "^properties/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1alpha/{+parent}/firebaseLinks", +"request": { +"$ref": "GoogleAnalyticsAdminV1alphaFirebaseLink" +}, +"response": { +"$ref": "GoogleAnalyticsAdminV1alphaFirebaseLink" +}, +"scopes": [ +"https://www.googleapis.com/auth/analytics.edit" +] +}, +"delete": { +"description": "Deletes a FirebaseLink on a property", +"flatPath": "v1alpha/properties/{propertiesId}/firebaseLinks/{firebaseLinksId}", +"httpMethod": "DELETE", +"id": "analyticsadmin.properties.firebaseLinks.delete", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. Format: properties/{property_id}/firebaseLinks/{firebase_link_id} Example: `properties/1234/firebaseLinks/5678`", +"location": "path", +"pattern": "^properties/[^/]+/firebaseLinks/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1alpha/{+name}", +"response": { +"$ref": "GoogleProtobufEmpty" +}, +"scopes": [ +"https://www.googleapis.com/auth/analytics.edit" +] +}, +"list": { +"description": "Lists FirebaseLinks on a property. Properties can have at most one FirebaseLink.", +"flatPath": "v1alpha/properties/{propertiesId}/firebaseLinks", +"httpMethod": "GET", +"id": "analyticsadmin.properties.firebaseLinks.list", +"parameterOrder": [ +"parent" +], +"parameters": { +"pageSize": { +"description": "The maximum number of resources to return. The service may return fewer than this value, even if there are additional pages. If unspecified, at most 50 resources will be returned. The maximum value is 200; (higher values will be coerced to the maximum)", +"format": "int32", +"location": "query", +"type": "integer" +}, +"pageToken": { +"description": "A page token, received from a previous `ListFirebaseLinks` call. Provide this to retrieve the subsequent page. When paginating, all other parameters provided to `ListFirebaseLinks` must match the call that provided the page token.", +"location": "query", +"type": "string" +}, +"parent": { +"description": "Required. Format: properties/{property_id} Example: `properties/1234`", +"location": "path", +"pattern": "^properties/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1alpha/{+parent}/firebaseLinks", +"response": { +"$ref": "GoogleAnalyticsAdminV1alphaListFirebaseLinksResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/analytics.edit", +"https://www.googleapis.com/auth/analytics.readonly" +] +} +} +}, +"googleAdsLinks": { +"methods": { +"create": { +"description": "Creates a GoogleAdsLink.", +"flatPath": "v1alpha/properties/{propertiesId}/googleAdsLinks", +"httpMethod": "POST", +"id": "analyticsadmin.properties.googleAdsLinks.create", +"parameterOrder": [ +"parent" +], +"parameters": { +"parent": { +"description": "Required. Example format: properties/1234", +"location": "path", +"pattern": "^properties/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1alpha/{+parent}/googleAdsLinks", +"request": { +"$ref": "GoogleAnalyticsAdminV1alphaGoogleAdsLink" +}, +"response": { +"$ref": "GoogleAnalyticsAdminV1alphaGoogleAdsLink" +}, +"scopes": [ +"https://www.googleapis.com/auth/analytics.edit" +] +}, +"delete": { +"description": "Deletes a GoogleAdsLink on a property", +"flatPath": "v1alpha/properties/{propertiesId}/googleAdsLinks/{googleAdsLinksId}", +"httpMethod": "DELETE", +"id": "analyticsadmin.properties.googleAdsLinks.delete", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. Example format: properties/1234/googleAdsLinks/5678", +"location": "path", +"pattern": "^properties/[^/]+/googleAdsLinks/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1alpha/{+name}", +"response": { +"$ref": "GoogleProtobufEmpty" +}, +"scopes": [ +"https://www.googleapis.com/auth/analytics.edit" +] +}, +"list": { +"description": "Lists GoogleAdsLinks on a property.", +"flatPath": "v1alpha/properties/{propertiesId}/googleAdsLinks", +"httpMethod": "GET", +"id": "analyticsadmin.properties.googleAdsLinks.list", +"parameterOrder": [ +"parent" +], +"parameters": { +"pageSize": { +"description": "The maximum number of resources to return. If unspecified, at most 50 resources will be returned. The maximum value is 200 (higher values will be coerced to the maximum).", +"format": "int32", +"location": "query", +"type": "integer" +}, +"pageToken": { +"description": "A page token, received from a previous `ListGoogleAdsLinks` call. Provide this to retrieve the subsequent page. When paginating, all other parameters provided to `ListGoogleAdsLinks` must match the call that provided the page token.", +"location": "query", +"type": "string" +}, +"parent": { +"description": "Required. Example format: properties/1234", +"location": "path", +"pattern": "^properties/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1alpha/{+parent}/googleAdsLinks", +"response": { +"$ref": "GoogleAnalyticsAdminV1alphaListGoogleAdsLinksResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/analytics.edit", +"https://www.googleapis.com/auth/analytics.readonly" +] +}, +"patch": { +"description": "Updates a GoogleAdsLink on a property", +"flatPath": "v1alpha/properties/{propertiesId}/googleAdsLinks/{googleAdsLinksId}", +"httpMethod": "PATCH", +"id": "analyticsadmin.properties.googleAdsLinks.patch", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Output only. Format: properties/{propertyId}/googleAdsLinks/{googleAdsLinkId} Note: googleAdsLinkId is not the Google Ads customer ID.", +"location": "path", +"pattern": "^properties/[^/]+/googleAdsLinks/[^/]+$", +"required": true, +"type": "string" +}, +"updateMask": { +"description": "Required. The list of fields to be updated. Field names must be in snake case (e.g., \"field_to_update\"). Omitted fields will not be updated. To replace the entire entity, use one path with the string \"*\" to match all fields.", +"format": "google-fieldmask", +"location": "query", +"type": "string" +} +}, +"path": "v1alpha/{+name}", +"request": { +"$ref": "GoogleAnalyticsAdminV1alphaGoogleAdsLink" +}, +"response": { +"$ref": "GoogleAnalyticsAdminV1alphaGoogleAdsLink" +}, +"scopes": [ +"https://www.googleapis.com/auth/analytics.edit" +] +} +} +}, +"keyEvents": { +"methods": { +"create": { +"description": "Creates a Key Event.", +"flatPath": "v1alpha/properties/{propertiesId}/keyEvents", +"httpMethod": "POST", +"id": "analyticsadmin.properties.keyEvents.create", +"parameterOrder": [ +"parent" +], +"parameters": { +"parent": { +"description": "Required. The resource name of the parent property where this Key Event will be created. Format: properties/123", +"location": "path", +"pattern": "^properties/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1alpha/{+parent}/keyEvents", +"request": { +"$ref": "GoogleAnalyticsAdminV1alphaKeyEvent" +}, +"response": { +"$ref": "GoogleAnalyticsAdminV1alphaKeyEvent" +}, +"scopes": [ +"https://www.googleapis.com/auth/analytics.edit" +] +}, +"delete": { +"description": "Deletes a Key Event.", +"flatPath": "v1alpha/properties/{propertiesId}/keyEvents/{keyEventsId}", +"httpMethod": "DELETE", +"id": "analyticsadmin.properties.keyEvents.delete", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. The resource name of the Key Event to delete. Format: properties/{property}/keyEvents/{key_event} Example: \"properties/123/keyEvents/456\"", +"location": "path", +"pattern": "^properties/[^/]+/keyEvents/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1alpha/{+name}", +"response": { +"$ref": "GoogleProtobufEmpty" +}, +"scopes": [ +"https://www.googleapis.com/auth/analytics.edit" +] +}, +"get": { +"description": "Retrieve a single Key Event.", +"flatPath": "v1alpha/properties/{propertiesId}/keyEvents/{keyEventsId}", +"httpMethod": "GET", +"id": "analyticsadmin.properties.keyEvents.get", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. The resource name of the Key Event to retrieve. Format: properties/{property}/keyEvents/{key_event} Example: \"properties/123/keyEvents/456\"", +"location": "path", +"pattern": "^properties/[^/]+/keyEvents/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1alpha/{+name}", +"response": { +"$ref": "GoogleAnalyticsAdminV1alphaKeyEvent" +}, +"scopes": [ +"https://www.googleapis.com/auth/analytics.edit", +"https://www.googleapis.com/auth/analytics.readonly" +] +}, +"list": { +"description": "Returns a list of Key Events in the specified parent property. Returns an empty list if no Key Events are found.", +"flatPath": "v1alpha/properties/{propertiesId}/keyEvents", +"httpMethod": "GET", +"id": "analyticsadmin.properties.keyEvents.list", +"parameterOrder": [ +"parent" +], +"parameters": { +"pageSize": { +"description": "The maximum number of resources to return. If unspecified, at most 50 resources will be returned. The maximum value is 200; (higher values will be coerced to the maximum)", +"format": "int32", +"location": "query", +"type": "integer" +}, +"pageToken": { +"description": "A page token, received from a previous `ListKeyEvents` call. Provide this to retrieve the subsequent page. When paginating, all other parameters provided to `ListKeyEvents` must match the call that provided the page token.", +"location": "query", +"type": "string" +}, +"parent": { +"description": "Required. The resource name of the parent property. Example: 'properties/123'", +"location": "path", +"pattern": "^properties/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1alpha/{+parent}/keyEvents", +"response": { +"$ref": "GoogleAnalyticsAdminV1alphaListKeyEventsResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/analytics.edit", +"https://www.googleapis.com/auth/analytics.readonly" +] +}, +"patch": { +"description": "Updates a Key Event.", +"flatPath": "v1alpha/properties/{propertiesId}/keyEvents/{keyEventsId}", +"httpMethod": "PATCH", +"id": "analyticsadmin.properties.keyEvents.patch", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Output only. Resource name of this key event. Format: properties/{property}/keyEvents/{key_event}", +"location": "path", +"pattern": "^properties/[^/]+/keyEvents/[^/]+$", +"required": true, +"type": "string" +}, +"updateMask": { +"description": "Required. The list of fields to be updated. Field names must be in snake case (e.g., \"field_to_update\"). Omitted fields will not be updated. To replace the entire entity, use one path with the string \"*\" to match all fields.", +"format": "google-fieldmask", +"location": "query", +"type": "string" +} +}, +"path": "v1alpha/{+name}", +"request": { +"$ref": "GoogleAnalyticsAdminV1alphaKeyEvent" +}, +"response": { +"$ref": "GoogleAnalyticsAdminV1alphaKeyEvent" +}, +"scopes": [ +"https://www.googleapis.com/auth/analytics.edit" +] +} +} +}, +"rollupPropertySourceLinks": { +"methods": { +"create": { +"description": "Creates a roll-up property source link. Only roll-up properties can have source links, so this method will throw an error if used on other types of properties.", +"flatPath": "v1alpha/properties/{propertiesId}/rollupPropertySourceLinks", +"httpMethod": "POST", +"id": "analyticsadmin.properties.rollupPropertySourceLinks.create", +"parameterOrder": [ +"parent" +], +"parameters": { +"parent": { +"description": "Required. Format: properties/{property_id} Example: properties/1234", +"location": "path", +"pattern": "^properties/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1alpha/{+parent}/rollupPropertySourceLinks", +"request": { +"$ref": "GoogleAnalyticsAdminV1alphaRollupPropertySourceLink" +}, +"response": { +"$ref": "GoogleAnalyticsAdminV1alphaRollupPropertySourceLink" +}, +"scopes": [ +"https://www.googleapis.com/auth/analytics.edit" +] +}, +"delete": { +"description": "Deletes a roll-up property source link. Only roll-up properties can have source links, so this method will throw an error if used on other types of properties.", +"flatPath": "v1alpha/properties/{propertiesId}/rollupPropertySourceLinks/{rollupPropertySourceLinksId}", +"httpMethod": "DELETE", +"id": "analyticsadmin.properties.rollupPropertySourceLinks.delete", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. Format: properties/{property_id}/rollupPropertySourceLinks/{rollup_property_source_link_id} Example: properties/1234/rollupPropertySourceLinks/5678", +"location": "path", +"pattern": "^properties/[^/]+/rollupPropertySourceLinks/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1alpha/{+name}", +"response": { +"$ref": "GoogleProtobufEmpty" +}, +"scopes": [ +"https://www.googleapis.com/auth/analytics.edit" +] +}, +"get": { +"description": "Lookup for a single roll-up property source Link. Only roll-up properties can have source links, so this method will throw an error if used on other types of properties.", +"flatPath": "v1alpha/properties/{propertiesId}/rollupPropertySourceLinks/{rollupPropertySourceLinksId}", +"httpMethod": "GET", +"id": "analyticsadmin.properties.rollupPropertySourceLinks.get", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. The name of the roll-up property source link to lookup. Format: properties/{property_id}/rollupPropertySourceLinks/{rollup_property_source_link_id} Example: properties/123/rollupPropertySourceLinks/456", +"location": "path", +"pattern": "^properties/[^/]+/rollupPropertySourceLinks/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1alpha/{+name}", +"response": { +"$ref": "GoogleAnalyticsAdminV1alphaRollupPropertySourceLink" +}, +"scopes": [ +"https://www.googleapis.com/auth/analytics.edit", +"https://www.googleapis.com/auth/analytics.readonly" +] +}, +"list": { +"description": "Lists roll-up property source Links on a property. Only roll-up properties can have source links, so this method will throw an error if used on other types of properties.", +"flatPath": "v1alpha/properties/{propertiesId}/rollupPropertySourceLinks", +"httpMethod": "GET", +"id": "analyticsadmin.properties.rollupPropertySourceLinks.list", +"parameterOrder": [ +"parent" +], +"parameters": { +"pageSize": { +"description": "Optional. The maximum number of resources to return. The service may return fewer than this value, even if there are additional pages. If unspecified, at most 50 resources will be returned. The maximum value is 200; (higher values will be coerced to the maximum)", +"format": "int32", +"location": "query", +"type": "integer" +}, +"pageToken": { +"description": "Optional. A page token, received from a previous `ListRollupPropertySourceLinks` call. Provide this to retrieve the subsequent page. When paginating, all other parameters provided to `ListRollupPropertySourceLinks` must match the call that provided the page token.", +"location": "query", +"type": "string" +}, +"parent": { +"description": "Required. The name of the roll-up property to list roll-up property source links under. Format: properties/{property_id} Example: properties/1234", +"location": "path", +"pattern": "^properties/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1alpha/{+parent}/rollupPropertySourceLinks", +"response": { +"$ref": "GoogleAnalyticsAdminV1alphaListRollupPropertySourceLinksResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/analytics.edit", +"https://www.googleapis.com/auth/analytics.readonly" +] +} +} +}, +"searchAds360Links": { +"methods": { +"create": { +"description": "Creates a SearchAds360Link.", +"flatPath": "v1alpha/properties/{propertiesId}/searchAds360Links", +"httpMethod": "POST", +"id": "analyticsadmin.properties.searchAds360Links.create", +"parameterOrder": [ +"parent" +], +"parameters": { +"parent": { +"description": "Required. Example format: properties/1234", +"location": "path", +"pattern": "^properties/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1alpha/{+parent}/searchAds360Links", +"request": { +"$ref": "GoogleAnalyticsAdminV1alphaSearchAds360Link" +}, +"response": { +"$ref": "GoogleAnalyticsAdminV1alphaSearchAds360Link" +}, +"scopes": [ +"https://www.googleapis.com/auth/analytics.edit" +] +}, +"delete": { +"description": "Deletes a SearchAds360Link on a property.", +"flatPath": "v1alpha/properties/{propertiesId}/searchAds360Links/{searchAds360LinksId}", +"httpMethod": "DELETE", +"id": "analyticsadmin.properties.searchAds360Links.delete", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. The name of the SearchAds360Link to delete. Example format: properties/1234/SearchAds360Links/5678", +"location": "path", +"pattern": "^properties/[^/]+/searchAds360Links/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1alpha/{+name}", +"response": { +"$ref": "GoogleProtobufEmpty" +}, +"scopes": [ +"https://www.googleapis.com/auth/analytics.edit" +] +}, +"get": { +"description": "Look up a single SearchAds360Link", +"flatPath": "v1alpha/properties/{propertiesId}/searchAds360Links/{searchAds360LinksId}", +"httpMethod": "GET", +"id": "analyticsadmin.properties.searchAds360Links.get", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. The name of the SearchAds360Link to get. Example format: properties/1234/SearchAds360Link/5678", +"location": "path", +"pattern": "^properties/[^/]+/searchAds360Links/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1alpha/{+name}", +"response": { +"$ref": "GoogleAnalyticsAdminV1alphaSearchAds360Link" +}, +"scopes": [ +"https://www.googleapis.com/auth/analytics.edit", +"https://www.googleapis.com/auth/analytics.readonly" +] +}, +"list": { +"description": "Lists all SearchAds360Links on a property.", +"flatPath": "v1alpha/properties/{propertiesId}/searchAds360Links", +"httpMethod": "GET", +"id": "analyticsadmin.properties.searchAds360Links.list", +"parameterOrder": [ +"parent" +], +"parameters": { +"pageSize": { +"description": "The maximum number of resources to return. If unspecified, at most 50 resources will be returned. The maximum value is 200 (higher values will be coerced to the maximum).", +"format": "int32", +"location": "query", +"type": "integer" +}, +"pageToken": { +"description": "A page token, received from a previous `ListSearchAds360Links` call. Provide this to retrieve the subsequent page. When paginating, all other parameters provided to `ListSearchAds360Links` must match the call that provided the page token.", +"location": "query", +"type": "string" +}, +"parent": { +"description": "Required. Example format: properties/1234", +"location": "path", +"pattern": "^properties/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1alpha/{+parent}/searchAds360Links", +"response": { +"$ref": "GoogleAnalyticsAdminV1alphaListSearchAds360LinksResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/analytics.edit", +"https://www.googleapis.com/auth/analytics.readonly" +] +}, +"patch": { +"description": "Updates a SearchAds360Link on a property.", +"flatPath": "v1alpha/properties/{propertiesId}/searchAds360Links/{searchAds360LinksId}", +"httpMethod": "PATCH", +"id": "analyticsadmin.properties.searchAds360Links.patch", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Output only. The resource name for this SearchAds360Link resource. Format: properties/{propertyId}/searchAds360Links/{linkId} Note: linkId is not the Search Ads 360 advertiser ID", +"location": "path", +"pattern": "^properties/[^/]+/searchAds360Links/[^/]+$", +"required": true, +"type": "string" +}, +"updateMask": { +"description": "Required. The list of fields to be updated. Omitted fields will not be updated. To replace the entire entity, use one path with the string \"*\" to match all fields.", +"format": "google-fieldmask", +"location": "query", +"type": "string" +} +}, +"path": "v1alpha/{+name}", +"request": { +"$ref": "GoogleAnalyticsAdminV1alphaSearchAds360Link" +}, +"response": { +"$ref": "GoogleAnalyticsAdminV1alphaSearchAds360Link" +}, +"scopes": [ +"https://www.googleapis.com/auth/analytics.edit" +] +} +} +}, +"subpropertyEventFilters": { +"methods": { +"create": { +"description": "Creates a subproperty Event Filter.", +"flatPath": "v1alpha/properties/{propertiesId}/subpropertyEventFilters", +"httpMethod": "POST", +"id": "analyticsadmin.properties.subpropertyEventFilters.create", +"parameterOrder": [ +"parent" +], +"parameters": { +"parent": { +"description": "Required. The ordinary property for which to create a subproperty event filter. Format: properties/property_id Example: properties/123", +"location": "path", +"pattern": "^properties/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1alpha/{+parent}/subpropertyEventFilters", +"request": { +"$ref": "GoogleAnalyticsAdminV1alphaSubpropertyEventFilter" +}, +"response": { +"$ref": "GoogleAnalyticsAdminV1alphaSubpropertyEventFilter" +}, +"scopes": [ +"https://www.googleapis.com/auth/analytics.edit" +] +}, +"delete": { +"description": "Deletes a subproperty event filter.", +"flatPath": "v1alpha/properties/{propertiesId}/subpropertyEventFilters/{subpropertyEventFiltersId}", +"httpMethod": "DELETE", +"id": "analyticsadmin.properties.subpropertyEventFilters.delete", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. Resource name of the subproperty event filter to delete. Format: properties/property_id/subpropertyEventFilters/subproperty_event_filter Example: properties/123/subpropertyEventFilters/456", +"location": "path", +"pattern": "^properties/[^/]+/subpropertyEventFilters/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1alpha/{+name}", +"response": { +"$ref": "GoogleProtobufEmpty" +}, +"scopes": [ +"https://www.googleapis.com/auth/analytics.edit" +] +}, +"get": { +"description": "Lookup for a single subproperty Event Filter.", +"flatPath": "v1alpha/properties/{propertiesId}/subpropertyEventFilters/{subpropertyEventFiltersId}", +"httpMethod": "GET", +"id": "analyticsadmin.properties.subpropertyEventFilters.get", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. Resource name of the subproperty event filter to lookup. Format: properties/property_id/subpropertyEventFilters/subproperty_event_filter Example: properties/123/subpropertyEventFilters/456", +"location": "path", +"pattern": "^properties/[^/]+/subpropertyEventFilters/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1alpha/{+name}", +"response": { +"$ref": "GoogleAnalyticsAdminV1alphaSubpropertyEventFilter" +}, +"scopes": [ +"https://www.googleapis.com/auth/analytics.edit", +"https://www.googleapis.com/auth/analytics.readonly" +] +}, +"list": { +"description": "List all subproperty Event Filters on a property.", +"flatPath": "v1alpha/properties/{propertiesId}/subpropertyEventFilters", +"httpMethod": "GET", +"id": "analyticsadmin.properties.subpropertyEventFilters.list", +"parameterOrder": [ +"parent" +], +"parameters": { +"pageSize": { +"description": "Optional. The maximum number of resources to return. The service may return fewer than this value, even if there are additional pages. If unspecified, at most 50 resources will be returned. The maximum value is 200; (higher values will be coerced to the maximum)", +"format": "int32", +"location": "query", +"type": "integer" +}, +"pageToken": { +"description": "Optional. A page token, received from a previous `ListSubpropertyEventFilters` call. Provide this to retrieve the subsequent page. When paginating, all other parameters provided to `ListSubpropertyEventFilters` must match the call that provided the page token.", +"location": "query", +"type": "string" +}, +"parent": { +"description": "Required. Resource name of the ordinary property. Format: properties/property_id Example: properties/123", +"location": "path", +"pattern": "^properties/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1alpha/{+parent}/subpropertyEventFilters", +"response": { +"$ref": "GoogleAnalyticsAdminV1alphaListSubpropertyEventFiltersResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/analytics.edit", +"https://www.googleapis.com/auth/analytics.readonly" +] +}, +"patch": { +"description": "Updates a subproperty Event Filter.", +"flatPath": "v1alpha/properties/{propertiesId}/subpropertyEventFilters/{subpropertyEventFiltersId}", +"httpMethod": "PATCH", +"id": "analyticsadmin.properties.subpropertyEventFilters.patch", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Output only. Format: properties/{ordinary_property_id}/subpropertyEventFilters/{sub_property_event_filter} Example: properties/1234/subpropertyEventFilters/5678", +"location": "path", +"pattern": "^properties/[^/]+/subpropertyEventFilters/[^/]+$", +"required": true, +"type": "string" +}, +"updateMask": { +"description": "Required. The list of fields to update. Field names must be in snake case (for example, \"field_to_update\"). Omitted fields will not be updated. To replace the entire entity, use one path with the string \"*\" to match all fields.", +"format": "google-fieldmask", +"location": "query", +"type": "string" +} +}, +"path": "v1alpha/{+name}", +"request": { +"$ref": "GoogleAnalyticsAdminV1alphaSubpropertyEventFilter" +}, +"response": { +"$ref": "GoogleAnalyticsAdminV1alphaSubpropertyEventFilter" +}, +"scopes": [ +"https://www.googleapis.com/auth/analytics.edit" +] +} +} +} +} +} +}, +"revision": "20250103", +"rootUrl": "https://analyticsadmin.googleapis.com/", +"schemas": { +"GoogleAnalyticsAdminV1alphaAccessBetweenFilter": { +"description": "To express that the result needs to be between two numbers (inclusive).", +"id": "GoogleAnalyticsAdminV1alphaAccessBetweenFilter", +"properties": { +"fromValue": { +"$ref": "GoogleAnalyticsAdminV1alphaNumericValue", +"description": "Begins with this number." +}, +"toValue": { +"$ref": "GoogleAnalyticsAdminV1alphaNumericValue", +"description": "Ends with this number." +} +}, +"type": "object" +}, +"GoogleAnalyticsAdminV1alphaAccessBinding": { +"description": "A binding of a user to a set of roles.", +"id": "GoogleAnalyticsAdminV1alphaAccessBinding", +"properties": { +"name": { +"description": "Output only. Resource name of this binding. Format: accounts/{account}/accessBindings/{access_binding} or properties/{property}/accessBindings/{access_binding} Example: \"accounts/100/accessBindings/200\"", +"readOnly": true, +"type": "string" +}, +"roles": { +"description": "A list of roles for to grant to the parent resource. Valid values: predefinedRoles/viewer predefinedRoles/analyst predefinedRoles/editor predefinedRoles/admin predefinedRoles/no-cost-data predefinedRoles/no-revenue-data For users, if an empty list of roles is set, this AccessBinding will be deleted.", +"items": { +"type": "string" +}, +"type": "array" +}, +"user": { +"description": "If set, the email address of the user to set roles for. Format: \"someuser@gmail.com\"", +"type": "string" +} +}, +"type": "object" +}, +"GoogleAnalyticsAdminV1alphaAccessDateRange": { +"description": "A contiguous range of days: startDate, startDate + 1, ..., endDate.", +"id": "GoogleAnalyticsAdminV1alphaAccessDateRange", +"properties": { +"endDate": { +"description": "The inclusive end date for the query in the format `YYYY-MM-DD`. Cannot be before `startDate`. The format `NdaysAgo`, `yesterday`, or `today` is also accepted, and in that case, the date is inferred based on the current time in the request's time zone.", +"type": "string" +}, +"startDate": { +"description": "The inclusive start date for the query in the format `YYYY-MM-DD`. Cannot be after `endDate`. The format `NdaysAgo`, `yesterday`, or `today` is also accepted, and in that case, the date is inferred based on the current time in the request's time zone.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleAnalyticsAdminV1alphaAccessDimension": { +"description": "Dimensions are attributes of your data. For example, the dimension `userEmail` indicates the email of the user that accessed reporting data. Dimension values in report responses are strings.", +"id": "GoogleAnalyticsAdminV1alphaAccessDimension", +"properties": { +"dimensionName": { +"description": "The API name of the dimension. See [Data Access Schema](https://developers.google.com/analytics/devguides/config/admin/v1/access-api-schema) for the list of dimensions supported in this API. Dimensions are referenced by name in `dimensionFilter` and `orderBys`.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleAnalyticsAdminV1alphaAccessDimensionHeader": { +"description": "Describes a dimension column in the report. Dimensions requested in a report produce column entries within rows and DimensionHeaders. However, dimensions used exclusively within filters or expressions do not produce columns in a report; correspondingly, those dimensions do not produce headers.", +"id": "GoogleAnalyticsAdminV1alphaAccessDimensionHeader", +"properties": { +"dimensionName": { +"description": "The dimension's name; for example 'userEmail'.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleAnalyticsAdminV1alphaAccessDimensionValue": { +"description": "The value of a dimension.", +"id": "GoogleAnalyticsAdminV1alphaAccessDimensionValue", +"properties": { +"value": { +"description": "The dimension value. For example, this value may be 'France' for the 'country' dimension.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleAnalyticsAdminV1alphaAccessFilter": { +"description": "An expression to filter dimension or metric values.", +"id": "GoogleAnalyticsAdminV1alphaAccessFilter", +"properties": { +"betweenFilter": { +"$ref": "GoogleAnalyticsAdminV1alphaAccessBetweenFilter", +"description": "A filter for two values." +}, +"fieldName": { +"description": "The dimension name or metric name.", +"type": "string" +}, +"inListFilter": { +"$ref": "GoogleAnalyticsAdminV1alphaAccessInListFilter", +"description": "A filter for in list values." +}, +"numericFilter": { +"$ref": "GoogleAnalyticsAdminV1alphaAccessNumericFilter", +"description": "A filter for numeric or date values." +}, +"stringFilter": { +"$ref": "GoogleAnalyticsAdminV1alphaAccessStringFilter", +"description": "Strings related filter." +} +}, +"type": "object" +}, +"GoogleAnalyticsAdminV1alphaAccessFilterExpression": { +"description": "Expresses dimension or metric filters. The fields in the same expression need to be either all dimensions or all metrics.", +"id": "GoogleAnalyticsAdminV1alphaAccessFilterExpression", +"properties": { +"accessFilter": { +"$ref": "GoogleAnalyticsAdminV1alphaAccessFilter", +"description": "A primitive filter. In the same FilterExpression, all of the filter's field names need to be either all dimensions or all metrics." +}, +"andGroup": { +"$ref": "GoogleAnalyticsAdminV1alphaAccessFilterExpressionList", +"description": "Each of the FilterExpressions in the and_group has an AND relationship." +}, +"notExpression": { +"$ref": "GoogleAnalyticsAdminV1alphaAccessFilterExpression", +"description": "The FilterExpression is NOT of not_expression." +}, +"orGroup": { +"$ref": "GoogleAnalyticsAdminV1alphaAccessFilterExpressionList", +"description": "Each of the FilterExpressions in the or_group has an OR relationship." +} +}, +"type": "object" +}, +"GoogleAnalyticsAdminV1alphaAccessFilterExpressionList": { +"description": "A list of filter expressions.", +"id": "GoogleAnalyticsAdminV1alphaAccessFilterExpressionList", +"properties": { +"expressions": { +"description": "A list of filter expressions.", +"items": { +"$ref": "GoogleAnalyticsAdminV1alphaAccessFilterExpression" +}, +"type": "array" +} +}, +"type": "object" +}, +"GoogleAnalyticsAdminV1alphaAccessInListFilter": { +"description": "The result needs to be in a list of string values.", +"id": "GoogleAnalyticsAdminV1alphaAccessInListFilter", +"properties": { +"caseSensitive": { +"description": "If true, the string value is case sensitive.", +"type": "boolean" +}, +"values": { +"description": "The list of string values. Must be non-empty.", +"items": { +"type": "string" +}, +"type": "array" +} +}, +"type": "object" +}, +"GoogleAnalyticsAdminV1alphaAccessMetric": { +"description": "The quantitative measurements of a report. For example, the metric `accessCount` is the total number of data access records.", +"id": "GoogleAnalyticsAdminV1alphaAccessMetric", +"properties": { +"metricName": { +"description": "The API name of the metric. See [Data Access Schema](https://developers.google.com/analytics/devguides/config/admin/v1/access-api-schema) for the list of metrics supported in this API. Metrics are referenced by name in `metricFilter` & `orderBys`.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleAnalyticsAdminV1alphaAccessMetricHeader": { +"description": "Describes a metric column in the report. Visible metrics requested in a report produce column entries within rows and MetricHeaders. However, metrics used exclusively within filters or expressions do not produce columns in a report; correspondingly, those metrics do not produce headers.", +"id": "GoogleAnalyticsAdminV1alphaAccessMetricHeader", +"properties": { +"metricName": { +"description": "The metric's name; for example 'accessCount'.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleAnalyticsAdminV1alphaAccessMetricValue": { +"description": "The value of a metric.", +"id": "GoogleAnalyticsAdminV1alphaAccessMetricValue", +"properties": { +"value": { +"description": "The measurement value. For example, this value may be '13'.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleAnalyticsAdminV1alphaAccessNumericFilter": { +"description": "Filters for numeric or date values.", +"id": "GoogleAnalyticsAdminV1alphaAccessNumericFilter", +"properties": { +"operation": { +"description": "The operation type for this filter.", +"enum": [ +"OPERATION_UNSPECIFIED", +"EQUAL", +"LESS_THAN", +"LESS_THAN_OR_EQUAL", +"GREATER_THAN", +"GREATER_THAN_OR_EQUAL" +], +"enumDescriptions": [ +"Unspecified.", +"Equal", +"Less than", +"Less than or equal", +"Greater than", +"Greater than or equal" +], +"type": "string" +}, +"value": { +"$ref": "GoogleAnalyticsAdminV1alphaNumericValue", +"description": "A numeric value or a date value." +} +}, +"type": "object" +}, +"GoogleAnalyticsAdminV1alphaAccessOrderBy": { +"description": "Order bys define how rows will be sorted in the response. For example, ordering rows by descending access count is one ordering, and ordering rows by the country string is a different ordering.", +"id": "GoogleAnalyticsAdminV1alphaAccessOrderBy", +"properties": { +"desc": { +"description": "If true, sorts by descending order. If false or unspecified, sorts in ascending order.", +"type": "boolean" +}, +"dimension": { +"$ref": "GoogleAnalyticsAdminV1alphaAccessOrderByDimensionOrderBy", +"description": "Sorts results by a dimension's values." +}, +"metric": { +"$ref": "GoogleAnalyticsAdminV1alphaAccessOrderByMetricOrderBy", +"description": "Sorts results by a metric's values." +} +}, +"type": "object" +}, +"GoogleAnalyticsAdminV1alphaAccessOrderByDimensionOrderBy": { +"description": "Sorts by dimension values.", +"id": "GoogleAnalyticsAdminV1alphaAccessOrderByDimensionOrderBy", +"properties": { +"dimensionName": { +"description": "A dimension name in the request to order by.", +"type": "string" +}, +"orderType": { +"description": "Controls the rule for dimension value ordering.", +"enum": [ +"ORDER_TYPE_UNSPECIFIED", +"ALPHANUMERIC", +"CASE_INSENSITIVE_ALPHANUMERIC", +"NUMERIC" +], +"enumDescriptions": [ +"Unspecified.", +"Alphanumeric sort by Unicode code point. For example, \"2\" < \"A\" < \"X\" < \"b\" < \"z\".", +"Case insensitive alphanumeric sort by lower case Unicode code point. For example, \"2\" < \"A\" < \"b\" < \"X\" < \"z\".", +"Dimension values are converted to numbers before sorting. For example in NUMERIC sort, \"25\" < \"100\", and in `ALPHANUMERIC` sort, \"100\" < \"25\". Non-numeric dimension values all have equal ordering value below all numeric values." +], +"type": "string" +} +}, +"type": "object" +}, +"GoogleAnalyticsAdminV1alphaAccessOrderByMetricOrderBy": { +"description": "Sorts by metric values.", +"id": "GoogleAnalyticsAdminV1alphaAccessOrderByMetricOrderBy", +"properties": { +"metricName": { +"description": "A metric name in the request to order by.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleAnalyticsAdminV1alphaAccessQuota": { +"description": "Current state of all quotas for this Analytics property. If any quota for a property is exhausted, all requests to that property will return Resource Exhausted errors.", +"id": "GoogleAnalyticsAdminV1alphaAccessQuota", +"properties": { +"concurrentRequests": { +"$ref": "GoogleAnalyticsAdminV1alphaAccessQuotaStatus", +"description": "Properties can use up to 50 concurrent requests." +}, +"serverErrorsPerProjectPerHour": { +"$ref": "GoogleAnalyticsAdminV1alphaAccessQuotaStatus", +"description": "Properties and cloud project pairs can have up to 50 server errors per hour." +}, +"tokensPerDay": { +"$ref": "GoogleAnalyticsAdminV1alphaAccessQuotaStatus", +"description": "Properties can use 250,000 tokens per day. Most requests consume fewer than 10 tokens." +}, +"tokensPerHour": { +"$ref": "GoogleAnalyticsAdminV1alphaAccessQuotaStatus", +"description": "Properties can use 50,000 tokens per hour. An API request consumes a single number of tokens, and that number is deducted from all of the hourly, daily, and per project hourly quotas." +}, +"tokensPerProjectPerHour": { +"$ref": "GoogleAnalyticsAdminV1alphaAccessQuotaStatus", +"description": "Properties can use up to 25% of their tokens per project per hour. This amounts to Analytics 360 Properties can use 12,500 tokens per project per hour. An API request consumes a single number of tokens, and that number is deducted from all of the hourly, daily, and per project hourly quotas." +} +}, +"type": "object" +}, +"GoogleAnalyticsAdminV1alphaAccessQuotaStatus": { +"description": "Current state for a particular quota group.", +"id": "GoogleAnalyticsAdminV1alphaAccessQuotaStatus", +"properties": { +"consumed": { +"description": "Quota consumed by this request.", +"format": "int32", +"type": "integer" +}, +"remaining": { +"description": "Quota remaining after this request.", +"format": "int32", +"type": "integer" +} +}, +"type": "object" +}, +"GoogleAnalyticsAdminV1alphaAccessRow": { +"description": "Access report data for each row.", +"id": "GoogleAnalyticsAdminV1alphaAccessRow", +"properties": { +"dimensionValues": { +"description": "List of dimension values. These values are in the same order as specified in the request.", +"items": { +"$ref": "GoogleAnalyticsAdminV1alphaAccessDimensionValue" +}, +"type": "array" +}, +"metricValues": { +"description": "List of metric values. These values are in the same order as specified in the request.", +"items": { +"$ref": "GoogleAnalyticsAdminV1alphaAccessMetricValue" +}, +"type": "array" +} +}, +"type": "object" +}, +"GoogleAnalyticsAdminV1alphaAccessStringFilter": { +"description": "The filter for strings.", +"id": "GoogleAnalyticsAdminV1alphaAccessStringFilter", +"properties": { +"caseSensitive": { +"description": "If true, the string value is case sensitive.", +"type": "boolean" +}, +"matchType": { +"description": "The match type for this filter.", +"enum": [ +"MATCH_TYPE_UNSPECIFIED", +"EXACT", +"BEGINS_WITH", +"ENDS_WITH", +"CONTAINS", +"FULL_REGEXP", +"PARTIAL_REGEXP" +], +"enumDescriptions": [ +"Unspecified", +"Exact match of the string value.", +"Begins with the string value.", +"Ends with the string value.", +"Contains the string value.", +"Full match for the regular expression with the string value.", +"Partial match for the regular expression with the string value." +], +"type": "string" +}, +"value": { +"description": "The string value used for the matching.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleAnalyticsAdminV1alphaAccount": { +"description": "A resource message representing a Google Analytics account.", +"id": "GoogleAnalyticsAdminV1alphaAccount", +"properties": { +"createTime": { +"description": "Output only. Time when this account was originally created.", +"format": "google-datetime", +"readOnly": true, +"type": "string" +}, +"deleted": { +"description": "Output only. Indicates whether this Account is soft-deleted or not. Deleted accounts are excluded from List results unless specifically requested.", +"readOnly": true, +"type": "boolean" +}, +"displayName": { +"description": "Required. Human-readable display name for this account.", +"type": "string" +}, +"gmpOrganization": { +"description": "Output only. The URI for a Google Marketing Platform organization resource. Only set when this account is connected to a GMP organization. Format: marketingplatformadmin.googleapis.com/organizations/{org_id}", +"readOnly": true, +"type": "string" +}, +"name": { +"description": "Output only. Resource name of this account. Format: accounts/{account} Example: \"accounts/100\"", +"readOnly": true, +"type": "string" +}, +"regionCode": { +"description": "Country of business. Must be a Unicode CLDR region code.", +"type": "string" +}, +"updateTime": { +"description": "Output only. Time when account payload fields were last updated.", +"format": "google-datetime", +"readOnly": true, +"type": "string" +} +}, +"type": "object" +}, +"GoogleAnalyticsAdminV1alphaAccountSummary": { +"description": "A virtual resource representing an overview of an account and all its child Google Analytics properties.", +"id": "GoogleAnalyticsAdminV1alphaAccountSummary", +"properties": { +"account": { +"description": "Resource name of account referred to by this account summary Format: accounts/{account_id} Example: \"accounts/1000\"", +"type": "string" +}, +"displayName": { +"description": "Display name for the account referred to in this account summary.", +"type": "string" +}, +"name": { +"description": "Resource name for this account summary. Format: accountSummaries/{account_id} Example: \"accountSummaries/1000\"", +"type": "string" +}, +"propertySummaries": { +"description": "List of summaries for child accounts of this account.", +"items": { +"$ref": "GoogleAnalyticsAdminV1alphaPropertySummary" +}, +"type": "array" +} +}, +"type": "object" +}, +"GoogleAnalyticsAdminV1alphaAcknowledgeUserDataCollectionRequest": { +"description": "Request message for AcknowledgeUserDataCollection RPC.", +"id": "GoogleAnalyticsAdminV1alphaAcknowledgeUserDataCollectionRequest", +"properties": { +"acknowledgement": { +"description": "Required. An acknowledgement that the caller of this method understands the terms of user data collection. This field must contain the exact value: \"I acknowledge that I have the necessary privacy disclosures and rights from my end users for the collection and processing of their data, including the association of such data with the visitation information Google Analytics collects from my site and/or app property.\"", +"type": "string" +} +}, +"type": "object" +}, +"GoogleAnalyticsAdminV1alphaAcknowledgeUserDataCollectionResponse": { +"description": "Response message for AcknowledgeUserDataCollection RPC.", +"id": "GoogleAnalyticsAdminV1alphaAcknowledgeUserDataCollectionResponse", +"properties": {}, +"type": "object" +}, +"GoogleAnalyticsAdminV1alphaAdSenseLink": { +"description": "A link between a Google Analytics property and an AdSense for Content ad client.", +"id": "GoogleAnalyticsAdminV1alphaAdSenseLink", +"properties": { +"adClientCode": { +"description": "Immutable. The AdSense ad client code that the Google Analytics property is linked to. Example format: \"ca-pub-1234567890\"", +"type": "string" +}, +"name": { +"description": "Output only. The resource name for this AdSense Link resource. Format: properties/{propertyId}/adSenseLinks/{linkId} Example: properties/1234/adSenseLinks/6789", +"readOnly": true, +"type": "string" +} +}, +"type": "object" +}, +"GoogleAnalyticsAdminV1alphaApproveDisplayVideo360AdvertiserLinkProposalRequest": { +"description": "Request message for ApproveDisplayVideo360AdvertiserLinkProposal RPC.", +"id": "GoogleAnalyticsAdminV1alphaApproveDisplayVideo360AdvertiserLinkProposalRequest", +"properties": {}, +"type": "object" +}, +"GoogleAnalyticsAdminV1alphaApproveDisplayVideo360AdvertiserLinkProposalResponse": { +"description": "Response message for ApproveDisplayVideo360AdvertiserLinkProposal RPC.", +"id": "GoogleAnalyticsAdminV1alphaApproveDisplayVideo360AdvertiserLinkProposalResponse", +"properties": { +"displayVideo360AdvertiserLink": { +"$ref": "GoogleAnalyticsAdminV1alphaDisplayVideo360AdvertiserLink", +"description": "The DisplayVideo360AdvertiserLink created as a result of approving the proposal." +} +}, +"type": "object" +}, +"GoogleAnalyticsAdminV1alphaArchiveAudienceRequest": { +"description": "Request message for ArchiveAudience RPC.", +"id": "GoogleAnalyticsAdminV1alphaArchiveAudienceRequest", +"properties": {}, +"type": "object" +}, +"GoogleAnalyticsAdminV1alphaArchiveCustomDimensionRequest": { +"description": "Request message for ArchiveCustomDimension RPC.", +"id": "GoogleAnalyticsAdminV1alphaArchiveCustomDimensionRequest", +"properties": {}, +"type": "object" +}, +"GoogleAnalyticsAdminV1alphaArchiveCustomMetricRequest": { +"description": "Request message for ArchiveCustomMetric RPC.", +"id": "GoogleAnalyticsAdminV1alphaArchiveCustomMetricRequest", +"properties": {}, +"type": "object" +}, +"GoogleAnalyticsAdminV1alphaAttributionSettings": { +"description": "The attribution settings used for a given property. This is a singleton resource.", +"id": "GoogleAnalyticsAdminV1alphaAttributionSettings", +"properties": { +"acquisitionConversionEventLookbackWindow": { +"description": "Required. The lookback window configuration for acquisition conversion events. The default window size is 30 days.", +"enum": [ +"ACQUISITION_CONVERSION_EVENT_LOOKBACK_WINDOW_UNSPECIFIED", +"ACQUISITION_CONVERSION_EVENT_LOOKBACK_WINDOW_7_DAYS", +"ACQUISITION_CONVERSION_EVENT_LOOKBACK_WINDOW_30_DAYS" +], +"enumDescriptions": [ +"Lookback window size unspecified.", +"7-day lookback window.", +"30-day lookback window." +], +"type": "string" +}, +"adsWebConversionDataExportScope": { +"description": "Required. The Conversion Export Scope for data exported to linked Ads Accounts.", +"enum": [ +"ADS_WEB_CONVERSION_DATA_EXPORT_SCOPE_UNSPECIFIED", +"NOT_SELECTED_YET", +"PAID_AND_ORGANIC_CHANNELS", +"GOOGLE_PAID_CHANNELS" +], +"enumDescriptions": [ +"Default value. This value is unused.", +"No data export scope selected yet. Export scope can never be changed back to this value.", +"Paid and organic channels are eligible to receive conversion credit, but only credit assigned to Google Ads channels will appear in your Ads accounts. To learn more, see [Paid and Organic channels](https://support.google.com/analytics/answer/10632359).", +"Only Google Ads paid channels are eligible to receive conversion credit. To learn more, see [Google Paid channels](https://support.google.com/analytics/answer/10632359)." +], +"type": "string" +}, +"name": { +"description": "Output only. Resource name of this attribution settings resource. Format: properties/{property_id}/attributionSettings Example: \"properties/1000/attributionSettings\"", +"readOnly": true, +"type": "string" +}, +"otherConversionEventLookbackWindow": { +"description": "Required. The lookback window for all other, non-acquisition conversion events. The default window size is 90 days.", +"enum": [ +"OTHER_CONVERSION_EVENT_LOOKBACK_WINDOW_UNSPECIFIED", +"OTHER_CONVERSION_EVENT_LOOKBACK_WINDOW_30_DAYS", +"OTHER_CONVERSION_EVENT_LOOKBACK_WINDOW_60_DAYS", +"OTHER_CONVERSION_EVENT_LOOKBACK_WINDOW_90_DAYS" +], +"enumDescriptions": [ +"Lookback window size unspecified.", +"30-day lookback window.", +"60-day lookback window.", +"90-day lookback window." +], +"type": "string" +}, +"reportingAttributionModel": { +"description": "Required. The reporting attribution model used to calculate conversion credit in this property's reports. Changing the attribution model will apply to both historical and future data. These changes will be reflected in reports with conversion and revenue data. User and session data will be unaffected.", +"enum": [ +"REPORTING_ATTRIBUTION_MODEL_UNSPECIFIED", +"PAID_AND_ORGANIC_CHANNELS_DATA_DRIVEN", +"PAID_AND_ORGANIC_CHANNELS_LAST_CLICK", +"GOOGLE_PAID_CHANNELS_LAST_CLICK" +], +"enumDescriptions": [ +"Reporting attribution model unspecified.", +"Data-driven attribution distributes credit for the conversion based on data for each conversion event. Each Data-driven model is specific to each advertiser and each conversion event. Previously CROSS_CHANNEL_DATA_DRIVEN", +"Ignores direct traffic and attributes 100% of the conversion value to the last channel that the customer clicked through (or engaged view through for YouTube) before converting. Previously CROSS_CHANNEL_LAST_CLICK", +"Attributes 100% of the conversion value to the last Google Paid channel that the customer clicked through before converting. Previously ADS_PREFERRED_LAST_CLICK" +], +"type": "string" +} +}, +"type": "object" +}, +"GoogleAnalyticsAdminV1alphaAudience": { +"description": "A resource message representing an Audience.", +"id": "GoogleAnalyticsAdminV1alphaAudience", +"properties": { +"adsPersonalizationEnabled": { +"description": "Output only. It is automatically set by GA to false if this is an NPA Audience and is excluded from ads personalization.", +"readOnly": true, +"type": "boolean" +}, +"createTime": { +"description": "Output only. Time when the Audience was created.", +"format": "google-datetime", +"readOnly": true, +"type": "string" +}, +"description": { +"description": "Required. The description of the Audience.", +"type": "string" +}, +"displayName": { +"description": "Required. The display name of the Audience.", +"type": "string" +}, +"eventTrigger": { +"$ref": "GoogleAnalyticsAdminV1alphaAudienceEventTrigger", +"description": "Optional. Specifies an event to log when a user joins the Audience. If not set, no event is logged when a user joins the Audience." +}, +"exclusionDurationMode": { +"description": "Immutable. Specifies how long an exclusion lasts for users that meet the exclusion filter. It is applied to all EXCLUDE filter clauses and is ignored when there is no EXCLUDE filter clause in the Audience.", +"enum": [ +"AUDIENCE_EXCLUSION_DURATION_MODE_UNSPECIFIED", +"EXCLUDE_TEMPORARILY", +"EXCLUDE_PERMANENTLY" +], +"enumDescriptions": [ +"Not specified.", +"Exclude users from the Audience during periods when they meet the filter clause.", +"Exclude users from the Audience if they've ever met the filter clause." +], +"type": "string" +}, +"filterClauses": { +"description": "Required. Immutable. Unordered list. Filter clauses that define the Audience. All clauses will be AND\u2019ed together.", +"items": { +"$ref": "GoogleAnalyticsAdminV1alphaAudienceFilterClause" +}, +"type": "array" +}, +"membershipDurationDays": { +"description": "Required. Immutable. The duration a user should stay in an Audience. It cannot be set to more than 540 days.", +"format": "int32", +"type": "integer" +}, +"name": { +"description": "Output only. The resource name for this Audience resource. Format: properties/{propertyId}/audiences/{audienceId}", +"readOnly": true, +"type": "string" +} +}, +"type": "object" +}, +"GoogleAnalyticsAdminV1alphaAudienceDimensionOrMetricFilter": { +"description": "A specific filter for a single dimension or metric.", +"id": "GoogleAnalyticsAdminV1alphaAudienceDimensionOrMetricFilter", +"properties": { +"atAnyPointInTime": { +"description": "Optional. Indicates whether this filter needs dynamic evaluation or not. If set to true, users join the Audience if they ever met the condition (static evaluation). If unset or set to false, user evaluation for an Audience is dynamic; users are added to an Audience when they meet the conditions and then removed when they no longer meet them. This can only be set when Audience scope is ACROSS_ALL_SESSIONS.", +"type": "boolean" +}, +"betweenFilter": { +"$ref": "GoogleAnalyticsAdminV1alphaAudienceDimensionOrMetricFilterBetweenFilter", +"description": "A filter for numeric or date values between certain values on a dimension or metric." +}, +"fieldName": { +"description": "Required. Immutable. The dimension name or metric name to filter. If the field name refers to a custom dimension or metric, a scope prefix will be added to the front of the custom dimensions or metric name. For more on scope prefixes or custom dimensions/metrics, reference the [Google Analytics Data API documentation] (https://developers.google.com/analytics/devguides/reporting/data/v1/api-schema#custom_dimensions).", +"type": "string" +}, +"inAnyNDayPeriod": { +"description": "Optional. If set, specifies the time window for which to evaluate data in number of days. If not set, then audience data is evaluated against lifetime data (For example, infinite time window). For example, if set to 1 day, only the current day's data is evaluated. The reference point is the current day when at_any_point_in_time is unset or false. It can only be set when Audience scope is ACROSS_ALL_SESSIONS and cannot be greater than 60 days.", +"format": "int32", +"type": "integer" +}, +"inListFilter": { +"$ref": "GoogleAnalyticsAdminV1alphaAudienceDimensionOrMetricFilterInListFilter", +"description": "A filter for a string dimension that matches a particular list of options." +}, +"numericFilter": { +"$ref": "GoogleAnalyticsAdminV1alphaAudienceDimensionOrMetricFilterNumericFilter", +"description": "A filter for numeric or date values on a dimension or metric." +}, +"stringFilter": { +"$ref": "GoogleAnalyticsAdminV1alphaAudienceDimensionOrMetricFilterStringFilter", +"description": "A filter for a string-type dimension that matches a particular pattern." +} +}, +"type": "object" +}, +"GoogleAnalyticsAdminV1alphaAudienceDimensionOrMetricFilterBetweenFilter": { +"description": "A filter for numeric or date values between certain values on a dimension or metric.", +"id": "GoogleAnalyticsAdminV1alphaAudienceDimensionOrMetricFilterBetweenFilter", +"properties": { +"fromValue": { +"$ref": "GoogleAnalyticsAdminV1alphaAudienceDimensionOrMetricFilterNumericValue", +"description": "Required. Begins with this number, inclusive." +}, +"toValue": { +"$ref": "GoogleAnalyticsAdminV1alphaAudienceDimensionOrMetricFilterNumericValue", +"description": "Required. Ends with this number, inclusive." +} +}, +"type": "object" +}, +"GoogleAnalyticsAdminV1alphaAudienceDimensionOrMetricFilterInListFilter": { +"description": "A filter for a string dimension that matches a particular list of options.", +"id": "GoogleAnalyticsAdminV1alphaAudienceDimensionOrMetricFilterInListFilter", +"properties": { +"caseSensitive": { +"description": "Optional. If true, the match is case-sensitive. If false, the match is case-insensitive.", +"type": "boolean" +}, +"values": { +"description": "Required. The list of possible string values to match against. Must be non-empty.", +"items": { +"type": "string" +}, +"type": "array" +} +}, +"type": "object" +}, +"GoogleAnalyticsAdminV1alphaAudienceDimensionOrMetricFilterNumericFilter": { +"description": "A filter for numeric or date values on a dimension or metric.", +"id": "GoogleAnalyticsAdminV1alphaAudienceDimensionOrMetricFilterNumericFilter", +"properties": { +"operation": { +"description": "Required. The operation applied to a numeric filter.", +"enum": [ +"OPERATION_UNSPECIFIED", +"EQUAL", +"LESS_THAN", +"GREATER_THAN" +], +"enumDescriptions": [ +"Unspecified.", +"Equal.", +"Less than.", +"Greater than." +], +"type": "string" +}, +"value": { +"$ref": "GoogleAnalyticsAdminV1alphaAudienceDimensionOrMetricFilterNumericValue", +"description": "Required. The numeric or date value to match against." +} +}, +"type": "object" +}, +"GoogleAnalyticsAdminV1alphaAudienceDimensionOrMetricFilterNumericValue": { +"description": "To represent a number.", +"id": "GoogleAnalyticsAdminV1alphaAudienceDimensionOrMetricFilterNumericValue", +"properties": { +"doubleValue": { +"description": "Double value.", +"format": "double", +"type": "number" +}, +"int64Value": { +"description": "Integer value.", +"format": "int64", +"type": "string" +} +}, +"type": "object" +}, +"GoogleAnalyticsAdminV1alphaAudienceDimensionOrMetricFilterStringFilter": { +"description": "A filter for a string-type dimension that matches a particular pattern.", +"id": "GoogleAnalyticsAdminV1alphaAudienceDimensionOrMetricFilterStringFilter", +"properties": { +"caseSensitive": { +"description": "Optional. If true, the match is case-sensitive. If false, the match is case-insensitive.", +"type": "boolean" +}, +"matchType": { +"description": "Required. The match type for the string filter.", +"enum": [ +"MATCH_TYPE_UNSPECIFIED", +"EXACT", +"BEGINS_WITH", +"ENDS_WITH", +"CONTAINS", +"FULL_REGEXP" +], +"enumDescriptions": [ +"Unspecified", +"Exact match of the string value.", +"Begins with the string value.", +"Ends with the string value.", +"Contains the string value.", +"Full regular expression matches with the string value." +], +"type": "string" +}, +"value": { +"description": "Required. The string value to be matched against.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleAnalyticsAdminV1alphaAudienceEventFilter": { +"description": "A filter that matches events of a single event name. If an event parameter is specified, only the subset of events that match both the single event name and the parameter filter expressions match this event filter.", +"id": "GoogleAnalyticsAdminV1alphaAudienceEventFilter", +"properties": { +"eventName": { +"description": "Required. Immutable. The name of the event to match against.", +"type": "string" +}, +"eventParameterFilterExpression": { +"$ref": "GoogleAnalyticsAdminV1alphaAudienceFilterExpression", +"description": "Optional. If specified, this filter matches events that match both the single event name and the parameter filter expressions. AudienceEventFilter inside the parameter filter expression cannot be set (For example, nested event filters are not supported). This should be a single and_group of dimension_or_metric_filter or not_expression; ANDs of ORs are not supported. Also, if it includes a filter for \"eventCount\", only that one will be considered; all the other filters will be ignored." +} +}, +"type": "object" +}, +"GoogleAnalyticsAdminV1alphaAudienceEventTrigger": { +"description": "Specifies an event to log when a user joins the Audience.", +"id": "GoogleAnalyticsAdminV1alphaAudienceEventTrigger", +"properties": { +"eventName": { +"description": "Required. The event name that will be logged.", +"type": "string" +}, +"logCondition": { +"description": "Required. When to log the event.", +"enum": [ +"LOG_CONDITION_UNSPECIFIED", +"AUDIENCE_JOINED", +"AUDIENCE_MEMBERSHIP_RENEWED" +], +"enumDescriptions": [ +"Log condition is not specified.", +"The event should be logged only when a user is joined.", +"The event should be logged whenever the Audience condition is met, even if the user is already a member of the Audience." +], +"type": "string" +} +}, +"type": "object" +}, +"GoogleAnalyticsAdminV1alphaAudienceFilterClause": { +"description": "A clause for defining either a simple or sequence filter. A filter can be inclusive (For example, users satisfying the filter clause are included in the Audience) or exclusive (For example, users satisfying the filter clause are excluded from the Audience).", +"id": "GoogleAnalyticsAdminV1alphaAudienceFilterClause", +"properties": { +"clauseType": { +"description": "Required. Specifies whether this is an include or exclude filter clause.", +"enum": [ +"AUDIENCE_CLAUSE_TYPE_UNSPECIFIED", +"INCLUDE", +"EXCLUDE" +], +"enumDescriptions": [ +"Unspecified clause type.", +"Users will be included in the Audience if the filter clause is met.", +"Users will be excluded from the Audience if the filter clause is met." +], +"type": "string" +}, +"sequenceFilter": { +"$ref": "GoogleAnalyticsAdminV1alphaAudienceSequenceFilter", +"description": "Filters that must occur in a specific order for the user to be a member of the Audience." +}, +"simpleFilter": { +"$ref": "GoogleAnalyticsAdminV1alphaAudienceSimpleFilter", +"description": "A simple filter that a user must satisfy to be a member of the Audience." +} +}, +"type": "object" +}, +"GoogleAnalyticsAdminV1alphaAudienceFilterExpression": { +"description": "A logical expression of Audience dimension, metric, or event filters.", +"id": "GoogleAnalyticsAdminV1alphaAudienceFilterExpression", +"properties": { +"andGroup": { +"$ref": "GoogleAnalyticsAdminV1alphaAudienceFilterExpressionList", +"description": "A list of expressions to be AND\u2019ed together. It can only contain AudienceFilterExpressions with or_group. This must be set for the top level AudienceFilterExpression." +}, +"dimensionOrMetricFilter": { +"$ref": "GoogleAnalyticsAdminV1alphaAudienceDimensionOrMetricFilter", +"description": "A filter on a single dimension or metric. This cannot be set on the top level AudienceFilterExpression." +}, +"eventFilter": { +"$ref": "GoogleAnalyticsAdminV1alphaAudienceEventFilter", +"description": "Creates a filter that matches a specific event. This cannot be set on the top level AudienceFilterExpression." +}, +"notExpression": { +"$ref": "GoogleAnalyticsAdminV1alphaAudienceFilterExpression", +"description": "A filter expression to be NOT'ed (For example, inverted, complemented). It can only include a dimension_or_metric_filter. This cannot be set on the top level AudienceFilterExpression." +}, +"orGroup": { +"$ref": "GoogleAnalyticsAdminV1alphaAudienceFilterExpressionList", +"description": "A list of expressions to OR\u2019ed together. It cannot contain AudienceFilterExpressions with and_group or or_group." +} +}, +"type": "object" +}, +"GoogleAnalyticsAdminV1alphaAudienceFilterExpressionList": { +"description": "A list of Audience filter expressions.", +"id": "GoogleAnalyticsAdminV1alphaAudienceFilterExpressionList", +"properties": { +"filterExpressions": { +"description": "A list of Audience filter expressions.", +"items": { +"$ref": "GoogleAnalyticsAdminV1alphaAudienceFilterExpression" +}, +"type": "array" +} +}, +"type": "object" +}, +"GoogleAnalyticsAdminV1alphaAudienceSequenceFilter": { +"description": "Defines filters that must occur in a specific order for the user to be a member of the Audience.", +"id": "GoogleAnalyticsAdminV1alphaAudienceSequenceFilter", +"properties": { +"scope": { +"description": "Required. Immutable. Specifies the scope for this filter.", +"enum": [ +"AUDIENCE_FILTER_SCOPE_UNSPECIFIED", +"AUDIENCE_FILTER_SCOPE_WITHIN_SAME_EVENT", +"AUDIENCE_FILTER_SCOPE_WITHIN_SAME_SESSION", +"AUDIENCE_FILTER_SCOPE_ACROSS_ALL_SESSIONS" +], +"enumDescriptions": [ +"Scope is not specified.", +"User joins the Audience if the filter condition is met within one event.", +"User joins the Audience if the filter condition is met within one session.", +"User joins the Audience if the filter condition is met by any event across any session." +], +"type": "string" +}, +"sequenceMaximumDuration": { +"description": "Optional. Defines the time period in which the whole sequence must occur.", +"format": "google-duration", +"type": "string" +}, +"sequenceSteps": { +"description": "Required. An ordered sequence of steps. A user must complete each step in order to join the sequence filter.", +"items": { +"$ref": "GoogleAnalyticsAdminV1alphaAudienceSequenceFilterAudienceSequenceStep" +}, +"type": "array" +} +}, +"type": "object" +}, +"GoogleAnalyticsAdminV1alphaAudienceSequenceFilterAudienceSequenceStep": { +"description": "A condition that must occur in the specified step order for this user to match the sequence.", +"id": "GoogleAnalyticsAdminV1alphaAudienceSequenceFilterAudienceSequenceStep", +"properties": { +"constraintDuration": { +"description": "Optional. When set, this step must be satisfied within the constraint_duration of the previous step (For example, t[i] - t[i-1] <= constraint_duration). If not set, there is no duration requirement (the duration is effectively unlimited). It is ignored for the first step.", +"format": "google-duration", +"type": "string" +}, +"filterExpression": { +"$ref": "GoogleAnalyticsAdminV1alphaAudienceFilterExpression", +"description": "Required. Immutable. A logical expression of Audience dimension, metric, or event filters in each step." +}, +"immediatelyFollows": { +"description": "Optional. If true, the event satisfying this step must be the very next event after the event satisfying the last step. If unset or false, this step indirectly follows the prior step; for example, there may be events between the prior step and this step. It is ignored for the first step.", +"type": "boolean" +}, +"scope": { +"description": "Required. Immutable. Specifies the scope for this step.", +"enum": [ +"AUDIENCE_FILTER_SCOPE_UNSPECIFIED", +"AUDIENCE_FILTER_SCOPE_WITHIN_SAME_EVENT", +"AUDIENCE_FILTER_SCOPE_WITHIN_SAME_SESSION", +"AUDIENCE_FILTER_SCOPE_ACROSS_ALL_SESSIONS" +], +"enumDescriptions": [ +"Scope is not specified.", +"User joins the Audience if the filter condition is met within one event.", +"User joins the Audience if the filter condition is met within one session.", +"User joins the Audience if the filter condition is met by any event across any session." +], +"type": "string" +} +}, +"type": "object" +}, +"GoogleAnalyticsAdminV1alphaAudienceSimpleFilter": { +"description": "Defines a simple filter that a user must satisfy to be a member of the Audience.", +"id": "GoogleAnalyticsAdminV1alphaAudienceSimpleFilter", +"properties": { +"filterExpression": { +"$ref": "GoogleAnalyticsAdminV1alphaAudienceFilterExpression", +"description": "Required. Immutable. A logical expression of Audience dimension, metric, or event filters." +}, +"scope": { +"description": "Required. Immutable. Specifies the scope for this filter.", +"enum": [ +"AUDIENCE_FILTER_SCOPE_UNSPECIFIED", +"AUDIENCE_FILTER_SCOPE_WITHIN_SAME_EVENT", +"AUDIENCE_FILTER_SCOPE_WITHIN_SAME_SESSION", +"AUDIENCE_FILTER_SCOPE_ACROSS_ALL_SESSIONS" +], +"enumDescriptions": [ +"Scope is not specified.", +"User joins the Audience if the filter condition is met within one event.", +"User joins the Audience if the filter condition is met within one session.", +"User joins the Audience if the filter condition is met by any event across any session." +], +"type": "string" +} +}, +"type": "object" +}, +"GoogleAnalyticsAdminV1alphaBatchCreateAccessBindingsRequest": { +"description": "Request message for BatchCreateAccessBindings RPC.", +"id": "GoogleAnalyticsAdminV1alphaBatchCreateAccessBindingsRequest", +"properties": { +"requests": { +"description": "Required. The requests specifying the access bindings to create. A maximum of 1000 access bindings can be created in a batch.", +"items": { +"$ref": "GoogleAnalyticsAdminV1alphaCreateAccessBindingRequest" +}, +"type": "array" +} +}, +"type": "object" +}, +"GoogleAnalyticsAdminV1alphaBatchCreateAccessBindingsResponse": { +"description": "Response message for BatchCreateAccessBindings RPC.", +"id": "GoogleAnalyticsAdminV1alphaBatchCreateAccessBindingsResponse", +"properties": { +"accessBindings": { +"description": "The access bindings created.", +"items": { +"$ref": "GoogleAnalyticsAdminV1alphaAccessBinding" +}, +"type": "array" +} +}, +"type": "object" +}, +"GoogleAnalyticsAdminV1alphaBatchDeleteAccessBindingsRequest": { +"description": "Request message for BatchDeleteAccessBindings RPC.", +"id": "GoogleAnalyticsAdminV1alphaBatchDeleteAccessBindingsRequest", +"properties": { +"requests": { +"description": "Required. The requests specifying the access bindings to delete. A maximum of 1000 access bindings can be deleted in a batch.", +"items": { +"$ref": "GoogleAnalyticsAdminV1alphaDeleteAccessBindingRequest" +}, +"type": "array" +} +}, +"type": "object" +}, +"GoogleAnalyticsAdminV1alphaBatchGetAccessBindingsResponse": { +"description": "Response message for BatchGetAccessBindings RPC.", +"id": "GoogleAnalyticsAdminV1alphaBatchGetAccessBindingsResponse", +"properties": { +"accessBindings": { +"description": "The requested access bindings.", +"items": { +"$ref": "GoogleAnalyticsAdminV1alphaAccessBinding" +}, +"type": "array" +} +}, +"type": "object" +}, +"GoogleAnalyticsAdminV1alphaBatchUpdateAccessBindingsRequest": { +"description": "Request message for BatchUpdateAccessBindings RPC.", +"id": "GoogleAnalyticsAdminV1alphaBatchUpdateAccessBindingsRequest", +"properties": { +"requests": { +"description": "Required. The requests specifying the access bindings to update. A maximum of 1000 access bindings can be updated in a batch.", +"items": { +"$ref": "GoogleAnalyticsAdminV1alphaUpdateAccessBindingRequest" +}, +"type": "array" +} +}, +"type": "object" +}, +"GoogleAnalyticsAdminV1alphaBatchUpdateAccessBindingsResponse": { +"description": "Response message for BatchUpdateAccessBindings RPC.", +"id": "GoogleAnalyticsAdminV1alphaBatchUpdateAccessBindingsResponse", +"properties": { +"accessBindings": { +"description": "The access bindings updated.", +"items": { +"$ref": "GoogleAnalyticsAdminV1alphaAccessBinding" +}, +"type": "array" +} +}, +"type": "object" +}, +"GoogleAnalyticsAdminV1alphaBigQueryLink": { +"description": "A link between a Google Analytics property and BigQuery project.", +"id": "GoogleAnalyticsAdminV1alphaBigQueryLink", +"properties": { +"createTime": { +"description": "Output only. Time when the link was created.", +"format": "google-datetime", +"readOnly": true, +"type": "string" +}, +"dailyExportEnabled": { +"description": "If set true, enables daily data export to the linked Google Cloud project.", +"type": "boolean" +}, +"datasetLocation": { +"description": "Required. Immutable. The geographic location where the created BigQuery dataset should reside. See https://cloud.google.com/bigquery/docs/locations for supported locations.", +"type": "string" +}, +"excludedEvents": { +"description": "The list of event names that will be excluded from exports.", +"items": { +"type": "string" +}, +"type": "array" +}, +"exportStreams": { +"description": "The list of streams under the parent property for which data will be exported. Format: properties/{property_id}/dataStreams/{stream_id} Example: ['properties/1000/dataStreams/2000']", +"items": { +"type": "string" +}, +"type": "array" +}, +"freshDailyExportEnabled": { +"description": "If set true, enables fresh daily export to the linked Google Cloud project.", +"type": "boolean" +}, +"includeAdvertisingId": { +"description": "If set true, exported data will include advertising identifiers for mobile app streams.", +"type": "boolean" +}, +"name": { +"description": "Output only. Resource name of this BigQuery link. Format: 'properties/{property_id}/bigQueryLinks/{bigquery_link_id}' Format: 'properties/1234/bigQueryLinks/abc567'", +"readOnly": true, +"type": "string" +}, +"project": { +"description": "Immutable. The linked Google Cloud project. When creating a BigQueryLink, you may provide this resource name using either a project number or project ID. Once this resource has been created, the returned project will always have a project that contains a project number. Format: 'projects/{project number}' Example: 'projects/1234'", +"type": "string" +}, +"streamingExportEnabled": { +"description": "If set true, enables streaming export to the linked Google Cloud project.", +"type": "boolean" +} +}, +"type": "object" +}, +"GoogleAnalyticsAdminV1alphaCalculatedMetric": { +"description": "A definition for a calculated metric.", +"id": "GoogleAnalyticsAdminV1alphaCalculatedMetric", +"properties": { +"calculatedMetricId": { +"description": "Output only. The ID to use for the calculated metric. In the UI, this is referred to as the \"API name.\" The calculated_metric_id is used when referencing this calculated metric from external APIs. For example, \"calcMetric:{calculated_metric_id}\".", +"readOnly": true, +"type": "string" +}, +"description": { +"description": "Optional. Description for this calculated metric. Max length of 4096 characters.", +"type": "string" +}, +"displayName": { +"description": "Required. Display name for this calculated metric as shown in the Google Analytics UI. Max length 82 characters.", +"type": "string" +}, +"formula": { +"description": "Required. The calculated metric's definition. Maximum number of unique referenced custom metrics is 5. Formulas supports the following operations: + (addition), - (subtraction), - (negative), * (multiplication), / (division), () (parenthesis). Any valid real numbers are acceptable that fit in a Long (64bit integer) or a Double (64 bit floating point number). Example formula: \"( customEvent:parameter_name + cartPurchaseQuantity ) / 2.0\"", +"type": "string" +}, +"invalidMetricReference": { +"description": "Output only. If true, this calculated metric has a invalid metric reference. Anything using a calculated metric with invalid_metric_reference set to true may fail, produce warnings, or produce unexpected results.", +"readOnly": true, +"type": "boolean" +}, +"metricUnit": { +"description": "Required. The type for the calculated metric's value.", +"enum": [ +"METRIC_UNIT_UNSPECIFIED", +"STANDARD", +"CURRENCY", +"FEET", +"MILES", +"METERS", +"KILOMETERS", +"MILLISECONDS", +"SECONDS", +"MINUTES", +"HOURS" +], +"enumDescriptions": [ +"MetricUnit unspecified or missing.", +"This metric uses default units.", +"This metric measures a currency.", +"This metric measures feet.", +"This metric measures miles.", +"This metric measures meters.", +"This metric measures kilometers.", +"This metric measures milliseconds.", +"This metric measures seconds.", +"This metric measures minutes.", +"This metric measures hours." +], +"type": "string" +}, +"name": { +"description": "Output only. Resource name for this CalculatedMetric. Format: 'properties/{property_id}/calculatedMetrics/{calculated_metric_id}'", +"readOnly": true, +"type": "string" +}, +"restrictedMetricType": { +"description": "Output only. Types of restricted data that this metric contains.", +"items": { +"enum": [ +"RESTRICTED_METRIC_TYPE_UNSPECIFIED", +"COST_DATA", +"REVENUE_DATA" +], +"enumDescriptions": [ +"Type unknown or unspecified.", +"Metric reports cost data.", +"Metric reports revenue data." +], +"type": "string" +}, +"readOnly": true, +"type": "array" +} +}, +"type": "object" +}, +"GoogleAnalyticsAdminV1alphaCancelDisplayVideo360AdvertiserLinkProposalRequest": { +"description": "Request message for CancelDisplayVideo360AdvertiserLinkProposal RPC.", +"id": "GoogleAnalyticsAdminV1alphaCancelDisplayVideo360AdvertiserLinkProposalRequest", +"properties": {}, +"type": "object" +}, +"GoogleAnalyticsAdminV1alphaChangeHistoryChange": { +"description": "A description of a change to a single Google Analytics resource.", +"id": "GoogleAnalyticsAdminV1alphaChangeHistoryChange", +"properties": { +"action": { +"description": "The type of action that changed this resource.", +"enum": [ +"ACTION_TYPE_UNSPECIFIED", +"CREATED", +"UPDATED", +"DELETED" +], +"enumDescriptions": [ +"Action type unknown or not specified.", +"Resource was created in this change.", +"Resource was updated in this change.", +"Resource was deleted in this change." +], +"type": "string" +}, +"resource": { +"description": "Resource name of the resource whose changes are described by this entry.", +"type": "string" +}, +"resourceAfterChange": { +"$ref": "GoogleAnalyticsAdminV1alphaChangeHistoryChangeChangeHistoryResource", +"description": "Resource contents from after the change was made. If this resource was deleted in this change, this field will be missing." +}, +"resourceBeforeChange": { +"$ref": "GoogleAnalyticsAdminV1alphaChangeHistoryChangeChangeHistoryResource", +"description": "Resource contents from before the change was made. If this resource was created in this change, this field will be missing." +} +}, +"type": "object" +}, +"GoogleAnalyticsAdminV1alphaChangeHistoryChangeChangeHistoryResource": { +"description": "A snapshot of a resource as before or after the result of a change in change history.", +"id": "GoogleAnalyticsAdminV1alphaChangeHistoryChangeChangeHistoryResource", +"properties": { +"account": { +"$ref": "GoogleAnalyticsAdminV1alphaAccount", +"description": "A snapshot of an Account resource in change history." +}, +"adsenseLink": { +"$ref": "GoogleAnalyticsAdminV1alphaAdSenseLink", +"description": "A snapshot of an AdSenseLink resource in change history." +}, +"attributionSettings": { +"$ref": "GoogleAnalyticsAdminV1alphaAttributionSettings", +"description": "A snapshot of AttributionSettings resource in change history." +}, +"audience": { +"$ref": "GoogleAnalyticsAdminV1alphaAudience", +"description": "A snapshot of an Audience resource in change history." +}, +"bigqueryLink": { +"$ref": "GoogleAnalyticsAdminV1alphaBigQueryLink", +"description": "A snapshot of a BigQuery link resource in change history." +}, +"calculatedMetric": { +"$ref": "GoogleAnalyticsAdminV1alphaCalculatedMetric", +"description": "A snapshot of a CalculatedMetric resource in change history." +}, +"channelGroup": { +"$ref": "GoogleAnalyticsAdminV1alphaChannelGroup", +"description": "A snapshot of a ChannelGroup resource in change history." +}, +"conversionEvent": { +"$ref": "GoogleAnalyticsAdminV1alphaConversionEvent", +"description": "A snapshot of a ConversionEvent resource in change history." +}, +"customDimension": { +"$ref": "GoogleAnalyticsAdminV1alphaCustomDimension", +"description": "A snapshot of a CustomDimension resource in change history." +}, +"customMetric": { +"$ref": "GoogleAnalyticsAdminV1alphaCustomMetric", +"description": "A snapshot of a CustomMetric resource in change history." +}, +"dataRedactionSettings": { +"$ref": "GoogleAnalyticsAdminV1alphaDataRedactionSettings", +"description": "A snapshot of DataRedactionSettings resource in change history." +}, +"dataRetentionSettings": { +"$ref": "GoogleAnalyticsAdminV1alphaDataRetentionSettings", +"description": "A snapshot of a data retention settings resource in change history." +}, +"dataStream": { +"$ref": "GoogleAnalyticsAdminV1alphaDataStream", +"description": "A snapshot of a DataStream resource in change history." +}, +"displayVideo360AdvertiserLink": { +"$ref": "GoogleAnalyticsAdminV1alphaDisplayVideo360AdvertiserLink", +"description": "A snapshot of a DisplayVideo360AdvertiserLink resource in change history." +}, +"displayVideo360AdvertiserLinkProposal": { +"$ref": "GoogleAnalyticsAdminV1alphaDisplayVideo360AdvertiserLinkProposal", +"description": "A snapshot of a DisplayVideo360AdvertiserLinkProposal resource in change history." +}, +"enhancedMeasurementSettings": { +"$ref": "GoogleAnalyticsAdminV1alphaEnhancedMeasurementSettings", +"description": "A snapshot of EnhancedMeasurementSettings resource in change history." +}, +"eventCreateRule": { +"$ref": "GoogleAnalyticsAdminV1alphaEventCreateRule", +"description": "A snapshot of an EventCreateRule resource in change history." +}, +"expandedDataSet": { +"$ref": "GoogleAnalyticsAdminV1alphaExpandedDataSet", +"description": "A snapshot of an ExpandedDataSet resource in change history." +}, +"firebaseLink": { +"$ref": "GoogleAnalyticsAdminV1alphaFirebaseLink", +"description": "A snapshot of a FirebaseLink resource in change history." +}, +"googleAdsLink": { +"$ref": "GoogleAnalyticsAdminV1alphaGoogleAdsLink", +"description": "A snapshot of a GoogleAdsLink resource in change history." +}, +"googleSignalsSettings": { +"$ref": "GoogleAnalyticsAdminV1alphaGoogleSignalsSettings", +"description": "A snapshot of a GoogleSignalsSettings resource in change history." +}, +"measurementProtocolSecret": { +"$ref": "GoogleAnalyticsAdminV1alphaMeasurementProtocolSecret", +"description": "A snapshot of a MeasurementProtocolSecret resource in change history." +}, +"property": { +"$ref": "GoogleAnalyticsAdminV1alphaProperty", +"description": "A snapshot of a Property resource in change history." +}, +"searchAds360Link": { +"$ref": "GoogleAnalyticsAdminV1alphaSearchAds360Link", +"description": "A snapshot of a SearchAds360Link resource in change history." +}, +"skadnetworkConversionValueSchema": { +"$ref": "GoogleAnalyticsAdminV1alphaSKAdNetworkConversionValueSchema", +"description": "A snapshot of SKAdNetworkConversionValueSchema resource in change history." +} +}, +"type": "object" +}, +"GoogleAnalyticsAdminV1alphaChangeHistoryEvent": { +"description": "A set of changes within a Google Analytics account or its child properties that resulted from the same cause. Common causes would be updates made in the Google Analytics UI, changes from customer support, or automatic Google Analytics system changes.", +"id": "GoogleAnalyticsAdminV1alphaChangeHistoryEvent", +"properties": { +"actorType": { +"description": "The type of actor that made this change.", +"enum": [ +"ACTOR_TYPE_UNSPECIFIED", +"USER", +"SYSTEM", +"SUPPORT" +], +"enumDescriptions": [ +"Unknown or unspecified actor type.", +"Changes made by the user specified in actor_email.", +"Changes made by the Google Analytics system.", +"Changes made by Google Analytics support team staff." +], +"type": "string" +}, +"changeTime": { +"description": "Time when change was made.", +"format": "google-datetime", +"type": "string" +}, +"changes": { +"description": "A list of changes made in this change history event that fit the filters specified in SearchChangeHistoryEventsRequest.", +"items": { +"$ref": "GoogleAnalyticsAdminV1alphaChangeHistoryChange" +}, +"type": "array" +}, +"changesFiltered": { +"description": "If true, then the list of changes returned was filtered, and does not represent all changes that occurred in this event.", +"type": "boolean" +}, +"id": { +"description": "ID of this change history event. This ID is unique across Google Analytics.", +"type": "string" +}, +"userActorEmail": { +"description": "Email address of the Google account that made the change. This will be a valid email address if the actor field is set to USER, and empty otherwise. Google accounts that have been deleted will cause an error.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleAnalyticsAdminV1alphaChannelGroup": { +"description": "A resource message representing a Channel Group.", +"id": "GoogleAnalyticsAdminV1alphaChannelGroup", +"properties": { +"description": { +"description": "The description of the Channel Group. Max length of 256 characters.", +"type": "string" +}, +"displayName": { +"description": "Required. The display name of the Channel Group. Max length of 80 characters.", +"type": "string" +}, +"groupingRule": { +"description": "Required. The grouping rules of channels. Maximum number of rules is 50.", +"items": { +"$ref": "GoogleAnalyticsAdminV1alphaGroupingRule" +}, +"type": "array" +}, +"name": { +"description": "Output only. The resource name for this Channel Group resource. Format: properties/{property}/channelGroups/{channel_group}", +"readOnly": true, +"type": "string" +}, +"primary": { +"description": "Optional. If true, this channel group will be used as the default channel group for reports. Only one channel group can be set as `primary` at any time. If the `primary` field gets set on a channel group, it will get unset on the previous primary channel group. The Google Analytics predefined channel group is the primary by default.", +"type": "boolean" +}, +"systemDefined": { +"description": "Output only. If true, then this channel group is the Default Channel Group predefined by Google Analytics. Display name and grouping rules cannot be updated for this channel group.", +"readOnly": true, +"type": "boolean" +} +}, +"type": "object" +}, +"GoogleAnalyticsAdminV1alphaChannelGroupFilter": { +"description": "A specific filter for a single dimension.", +"id": "GoogleAnalyticsAdminV1alphaChannelGroupFilter", +"properties": { +"fieldName": { +"description": "Required. Immutable. The dimension name to filter.", +"type": "string" +}, +"inListFilter": { +"$ref": "GoogleAnalyticsAdminV1alphaChannelGroupFilterInListFilter", +"description": "A filter for a string dimension that matches a particular list of options." +}, +"stringFilter": { +"$ref": "GoogleAnalyticsAdminV1alphaChannelGroupFilterStringFilter", +"description": "A filter for a string-type dimension that matches a particular pattern." +} +}, +"type": "object" +}, +"GoogleAnalyticsAdminV1alphaChannelGroupFilterExpression": { +"description": "A logical expression of Channel Group dimension filters.", +"id": "GoogleAnalyticsAdminV1alphaChannelGroupFilterExpression", +"properties": { +"andGroup": { +"$ref": "GoogleAnalyticsAdminV1alphaChannelGroupFilterExpressionList", +"description": "A list of expressions to be AND\u2019ed together. It can only contain ChannelGroupFilterExpressions with or_group. This must be set for the top level ChannelGroupFilterExpression." +}, +"filter": { +"$ref": "GoogleAnalyticsAdminV1alphaChannelGroupFilter", +"description": "A filter on a single dimension. This cannot be set on the top level ChannelGroupFilterExpression." +}, +"notExpression": { +"$ref": "GoogleAnalyticsAdminV1alphaChannelGroupFilterExpression", +"description": "A filter expression to be NOT'ed (that is inverted, complemented). It can only include a dimension_or_metric_filter. This cannot be set on the top level ChannelGroupFilterExpression." +}, +"orGroup": { +"$ref": "GoogleAnalyticsAdminV1alphaChannelGroupFilterExpressionList", +"description": "A list of expressions to OR\u2019ed together. It cannot contain ChannelGroupFilterExpressions with and_group or or_group." +} +}, +"type": "object" +}, +"GoogleAnalyticsAdminV1alphaChannelGroupFilterExpressionList": { +"description": "A list of Channel Group filter expressions.", +"id": "GoogleAnalyticsAdminV1alphaChannelGroupFilterExpressionList", +"properties": { +"filterExpressions": { +"description": "A list of Channel Group filter expressions.", +"items": { +"$ref": "GoogleAnalyticsAdminV1alphaChannelGroupFilterExpression" +}, +"type": "array" +} +}, +"type": "object" +}, +"GoogleAnalyticsAdminV1alphaChannelGroupFilterInListFilter": { +"description": "A filter for a string dimension that matches a particular list of options. The match is case insensitive.", +"id": "GoogleAnalyticsAdminV1alphaChannelGroupFilterInListFilter", +"properties": { +"values": { +"description": "Required. The list of possible string values to match against. Must be non-empty.", +"items": { +"type": "string" +}, +"type": "array" +} +}, +"type": "object" +}, +"GoogleAnalyticsAdminV1alphaChannelGroupFilterStringFilter": { +"description": "Filter where the field value is a String. The match is case insensitive.", +"id": "GoogleAnalyticsAdminV1alphaChannelGroupFilterStringFilter", +"properties": { +"matchType": { +"description": "Required. The match type for the string filter.", +"enum": [ +"MATCH_TYPE_UNSPECIFIED", +"EXACT", +"BEGINS_WITH", +"ENDS_WITH", +"CONTAINS", +"FULL_REGEXP", +"PARTIAL_REGEXP" +], +"enumDescriptions": [ +"Default match type.", +"Exact match of the string value.", +"Begins with the string value.", +"Ends with the string value.", +"Contains the string value.", +"Full regular expression match with the string value.", +"Partial regular expression match with the string value." +], +"type": "string" +}, +"value": { +"description": "Required. The string value to be matched against.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleAnalyticsAdminV1alphaConnectedSiteTag": { +"description": "Configuration for a specific Connected Site Tag.", +"id": "GoogleAnalyticsAdminV1alphaConnectedSiteTag", +"properties": { +"displayName": { +"description": "Required. User-provided display name for the connected site tag. Must be less than 256 characters.", +"type": "string" +}, +"tagId": { +"description": "Required. \"Tag ID to forward events to. Also known as the Measurement ID, or the \"G-ID\" (For example: G-12345).", +"type": "string" +} +}, +"type": "object" +}, +"GoogleAnalyticsAdminV1alphaConversionEvent": { +"description": "A conversion event in a Google Analytics property.", +"id": "GoogleAnalyticsAdminV1alphaConversionEvent", +"properties": { +"countingMethod": { +"description": "Optional. The method by which conversions will be counted across multiple events within a session. If this value is not provided, it will be set to `ONCE_PER_EVENT`.", +"enum": [ +"CONVERSION_COUNTING_METHOD_UNSPECIFIED", +"ONCE_PER_EVENT", +"ONCE_PER_SESSION" +], +"enumDescriptions": [ +"Counting method not specified.", +"Each Event instance is considered a Conversion.", +"An Event instance is considered a Conversion at most once per session per user." +], +"type": "string" +}, +"createTime": { +"description": "Output only. Time when this conversion event was created in the property.", +"format": "google-datetime", +"readOnly": true, +"type": "string" +}, +"custom": { +"description": "Output only. If set to true, this conversion event refers to a custom event. If set to false, this conversion event refers to a default event in GA. Default events typically have special meaning in GA. Default events are usually created for you by the GA system, but in some cases can be created by property admins. Custom events count towards the maximum number of custom conversion events that may be created per property.", +"readOnly": true, +"type": "boolean" +}, +"defaultConversionValue": { +"$ref": "GoogleAnalyticsAdminV1alphaConversionEventDefaultConversionValue", +"description": "Optional. Defines a default value/currency for a conversion event." +}, +"deletable": { +"description": "Output only. If set, this event can currently be deleted with DeleteConversionEvent.", +"readOnly": true, +"type": "boolean" +}, +"eventName": { +"description": "Immutable. The event name for this conversion event. Examples: 'click', 'purchase'", +"type": "string" +}, +"name": { +"description": "Output only. Resource name of this conversion event. Format: properties/{property}/conversionEvents/{conversion_event}", +"readOnly": true, +"type": "string" +} +}, +"type": "object" +}, +"GoogleAnalyticsAdminV1alphaConversionEventDefaultConversionValue": { +"description": "Defines a default value/currency for a conversion event. Both value and currency must be provided.", +"id": "GoogleAnalyticsAdminV1alphaConversionEventDefaultConversionValue", +"properties": { +"currencyCode": { +"description": "When a conversion event for this event_name has no set currency, this currency will be applied as the default. Must be in ISO 4217 currency code format. See https://en.wikipedia.org/wiki/ISO_4217 for more information.", +"type": "string" +}, +"value": { +"description": "This value will be used to populate the value for all conversions of the specified event_name where the event \"value\" parameter is unset.", +"format": "double", +"type": "number" +} +}, +"type": "object" +}, +"GoogleAnalyticsAdminV1alphaConversionValues": { +"description": "Conversion value settings for a postback window for SKAdNetwork conversion value schema.", +"id": "GoogleAnalyticsAdminV1alphaConversionValues", +"properties": { +"coarseValue": { +"description": "Required. A coarse grained conversion value. This value is not guaranteed to be unique.", +"enum": [ +"COARSE_VALUE_UNSPECIFIED", +"COARSE_VALUE_LOW", +"COARSE_VALUE_MEDIUM", +"COARSE_VALUE_HIGH" +], +"enumDescriptions": [ +"Coarse value not specified.", +"Coarse value of low.", +"Coarse value of medium.", +"Coarse value of high." +], +"type": "string" +}, +"displayName": { +"description": "Display name of the SKAdNetwork conversion value. The max allowed display name length is 50 UTF-16 code units.", +"type": "string" +}, +"eventMappings": { +"description": "Event conditions that must be met for this Conversion Value to be achieved. The conditions in this list are ANDed together. It must have minimum of 1 entry and maximum of 3 entries, if the postback window is enabled.", +"items": { +"$ref": "GoogleAnalyticsAdminV1alphaEventMapping" +}, +"type": "array" +}, +"fineValue": { +"description": "The fine-grained conversion value. This is applicable only to the first postback window. Its valid values are [0,63], both inclusive. It must be set for postback window 1, and must not be set for postback window 2 & 3. This value is not guaranteed to be unique. If the configuration for the first postback window is re-used for second or third postback windows this field has no effect.", +"format": "int32", +"type": "integer" +}, +"lockEnabled": { +"description": "If true, the SDK should lock to this conversion value for the current postback window.", +"type": "boolean" +} +}, +"type": "object" +}, +"GoogleAnalyticsAdminV1alphaCreateAccessBindingRequest": { +"description": "Request message for CreateAccessBinding RPC.", +"id": "GoogleAnalyticsAdminV1alphaCreateAccessBindingRequest", +"properties": { +"accessBinding": { +"$ref": "GoogleAnalyticsAdminV1alphaAccessBinding", +"description": "Required. The access binding to create." +}, +"parent": { +"description": "Required. Formats: - accounts/{account} - properties/{property}", +"type": "string" +} +}, +"type": "object" +}, +"GoogleAnalyticsAdminV1alphaCreateConnectedSiteTagRequest": { +"description": "Request message for CreateConnectedSiteTag RPC.", +"id": "GoogleAnalyticsAdminV1alphaCreateConnectedSiteTagRequest", +"properties": { +"connectedSiteTag": { +"$ref": "GoogleAnalyticsAdminV1alphaConnectedSiteTag", +"description": "Required. The tag to add to the Universal Analytics property" +}, +"property": { +"description": "The Universal Analytics property to create connected site tags for. This API does not support GA4 properties. Format: properties/{universalAnalyticsPropertyId} Example: properties/1234", +"type": "string" +} +}, +"type": "object" +}, +"GoogleAnalyticsAdminV1alphaCreateConnectedSiteTagResponse": { +"description": "Response message for CreateConnectedSiteTag RPC.", +"id": "GoogleAnalyticsAdminV1alphaCreateConnectedSiteTagResponse", +"properties": {}, +"type": "object" +}, +"GoogleAnalyticsAdminV1alphaCreateRollupPropertyRequest": { +"description": "Request message for CreateRollupProperty RPC.", +"id": "GoogleAnalyticsAdminV1alphaCreateRollupPropertyRequest", +"properties": { +"rollupProperty": { +"$ref": "GoogleAnalyticsAdminV1alphaProperty", +"description": "Required. The roll-up property to create." +}, +"sourceProperties": { +"description": "Optional. The resource names of properties that will be sources to the created roll-up property.", +"items": { +"type": "string" +}, +"type": "array" +} +}, +"type": "object" +}, +"GoogleAnalyticsAdminV1alphaCreateRollupPropertyResponse": { +"description": "Response message for CreateRollupProperty RPC.", +"id": "GoogleAnalyticsAdminV1alphaCreateRollupPropertyResponse", +"properties": { +"rollupProperty": { +"$ref": "GoogleAnalyticsAdminV1alphaProperty", +"description": "The created roll-up property." +}, +"rollupPropertySourceLinks": { +"description": "The created roll-up property source links.", +"items": { +"$ref": "GoogleAnalyticsAdminV1alphaRollupPropertySourceLink" +}, +"type": "array" +} +}, +"type": "object" +}, +"GoogleAnalyticsAdminV1alphaCustomDimension": { +"description": "A definition for a CustomDimension.", +"id": "GoogleAnalyticsAdminV1alphaCustomDimension", +"properties": { +"description": { +"description": "Optional. Description for this custom dimension. Max length of 150 characters.", +"type": "string" +}, +"disallowAdsPersonalization": { +"description": "Optional. If set to true, sets this dimension as NPA and excludes it from ads personalization. This is currently only supported by user-scoped custom dimensions.", +"type": "boolean" +}, +"displayName": { +"description": "Required. Display name for this custom dimension as shown in the Analytics UI. Max length of 82 characters, alphanumeric plus space and underscore starting with a letter. Legacy system-generated display names may contain square brackets, but updates to this field will never permit square brackets.", +"type": "string" +}, +"name": { +"description": "Output only. Resource name for this CustomDimension resource. Format: properties/{property}/customDimensions/{customDimension}", +"readOnly": true, +"type": "string" +}, +"parameterName": { +"description": "Required. Immutable. Tagging parameter name for this custom dimension. If this is a user-scoped dimension, then this is the user property name. If this is an event-scoped dimension, then this is the event parameter name. If this is an item-scoped dimension, then this is the parameter name found in the eCommerce items array. May only contain alphanumeric and underscore characters, starting with a letter. Max length of 24 characters for user-scoped dimensions, 40 characters for event-scoped dimensions.", +"type": "string" +}, +"scope": { +"description": "Required. Immutable. The scope of this dimension.", +"enum": [ +"DIMENSION_SCOPE_UNSPECIFIED", +"EVENT", +"USER", +"ITEM" +], +"enumDescriptions": [ +"Scope unknown or not specified.", +"Dimension scoped to an event.", +"Dimension scoped to a user.", +"Dimension scoped to eCommerce items" +], +"type": "string" +} +}, +"type": "object" +}, +"GoogleAnalyticsAdminV1alphaCustomMetric": { +"description": "A definition for a custom metric.", +"id": "GoogleAnalyticsAdminV1alphaCustomMetric", +"properties": { +"description": { +"description": "Optional. Description for this custom dimension. Max length of 150 characters.", +"type": "string" +}, +"displayName": { +"description": "Required. Display name for this custom metric as shown in the Analytics UI. Max length of 82 characters, alphanumeric plus space and underscore starting with a letter. Legacy system-generated display names may contain square brackets, but updates to this field will never permit square brackets.", +"type": "string" +}, +"measurementUnit": { +"description": "Required. The type for the custom metric's value.", +"enum": [ +"MEASUREMENT_UNIT_UNSPECIFIED", +"STANDARD", +"CURRENCY", +"FEET", +"METERS", +"KILOMETERS", +"MILES", +"MILLISECONDS", +"SECONDS", +"MINUTES", +"HOURS" +], +"enumDescriptions": [ +"MeasurementUnit unspecified or missing.", +"This metric uses default units.", +"This metric measures a currency.", +"This metric measures feet.", +"This metric measures meters.", +"This metric measures kilometers.", +"This metric measures miles.", +"This metric measures milliseconds.", +"This metric measures seconds.", +"This metric measures minutes.", +"This metric measures hours." +], +"type": "string" +}, +"name": { +"description": "Output only. Resource name for this CustomMetric resource. Format: properties/{property}/customMetrics/{customMetric}", +"readOnly": true, +"type": "string" +}, +"parameterName": { +"description": "Required. Immutable. Tagging name for this custom metric. If this is an event-scoped metric, then this is the event parameter name. May only contain alphanumeric and underscore charactes, starting with a letter. Max length of 40 characters for event-scoped metrics.", +"type": "string" +}, +"restrictedMetricType": { +"description": "Optional. Types of restricted data that this metric may contain. Required for metrics with CURRENCY measurement unit. Must be empty for metrics with a non-CURRENCY measurement unit.", +"items": { +"enum": [ +"RESTRICTED_METRIC_TYPE_UNSPECIFIED", +"COST_DATA", +"REVENUE_DATA" +], +"enumDescriptions": [ +"Type unknown or unspecified.", +"Metric reports cost data.", +"Metric reports revenue data." +], +"type": "string" +}, +"type": "array" +}, +"scope": { +"description": "Required. Immutable. The scope of this custom metric.", +"enum": [ +"METRIC_SCOPE_UNSPECIFIED", +"EVENT" +], +"enumDescriptions": [ +"Scope unknown or not specified.", +"Metric scoped to an event." +], +"type": "string" +} +}, +"type": "object" +}, +"GoogleAnalyticsAdminV1alphaDataRedactionSettings": { +"description": "Settings for client-side data redaction. Singleton resource under a Web Stream.", +"id": "GoogleAnalyticsAdminV1alphaDataRedactionSettings", +"properties": { +"emailRedactionEnabled": { +"description": "If enabled, any event parameter or user property values that look like an email will be redacted.", +"type": "boolean" +}, +"name": { +"description": "Output only. Name of this Data Redaction Settings resource. Format: properties/{property_id}/dataStreams/{data_stream}/dataRedactionSettings Example: \"properties/1000/dataStreams/2000/dataRedactionSettings\"", +"readOnly": true, +"type": "string" +}, +"queryParameterKeys": { +"description": "The query parameter keys to apply redaction logic to if present in the URL. Query parameter matching is case-insensitive. Must contain at least one element if query_parameter_replacement_enabled is true. Keys cannot contain commas.", +"items": { +"type": "string" +}, +"type": "array" +}, +"queryParameterRedactionEnabled": { +"description": "Query Parameter redaction removes the key and value portions of a query parameter if it is in the configured set of query parameters. If enabled, URL query replacement logic will be run for the Stream. Any query parameters defined in query_parameter_keys will be redacted.", +"type": "boolean" +} +}, +"type": "object" +}, +"GoogleAnalyticsAdminV1alphaDataRetentionSettings": { +"description": "Settings values for data retention. This is a singleton resource.", +"id": "GoogleAnalyticsAdminV1alphaDataRetentionSettings", +"properties": { +"eventDataRetention": { +"description": "Required. The length of time that event-level data is retained.", +"enum": [ +"RETENTION_DURATION_UNSPECIFIED", +"TWO_MONTHS", +"FOURTEEN_MONTHS", +"TWENTY_SIX_MONTHS", +"THIRTY_EIGHT_MONTHS", +"FIFTY_MONTHS" +], +"enumDescriptions": [ +"Data retention time duration is not specified.", +"The data retention time duration is 2 months.", +"The data retention time duration is 14 months.", +"The data retention time duration is 26 months. Available to 360 properties only. Available for event data only.", +"The data retention time duration is 38 months. Available to 360 properties only. Available for event data only.", +"The data retention time duration is 50 months. Available to 360 properties only. Available for event data only." +], +"type": "string" +}, +"name": { +"description": "Output only. Resource name for this DataRetentionSetting resource. Format: properties/{property}/dataRetentionSettings", +"readOnly": true, +"type": "string" +}, +"resetUserDataOnNewActivity": { +"description": "If true, reset the retention period for the user identifier with every event from that user.", +"type": "boolean" +} +}, +"type": "object" +}, +"GoogleAnalyticsAdminV1alphaDataSharingSettings": { +"description": "A resource message representing data sharing settings of a Google Analytics account.", +"id": "GoogleAnalyticsAdminV1alphaDataSharingSettings", +"properties": { +"name": { +"description": "Output only. Resource name. Format: accounts/{account}/dataSharingSettings Example: \"accounts/1000/dataSharingSettings\"", +"readOnly": true, +"type": "string" +}, +"sharingWithGoogleAnySalesEnabled": { +"description": "Allows any of Google sales to access the data in order to suggest configuration changes to improve results.", +"type": "boolean" +}, +"sharingWithGoogleAssignedSalesEnabled": { +"description": "Allows Google sales teams that are assigned to the customer to access the data in order to suggest configuration changes to improve results. Sales team restrictions still apply when enabled.", +"type": "boolean" +}, +"sharingWithGoogleProductsEnabled": { +"description": "Allows Google to use the data to improve other Google products or services.", +"type": "boolean" +}, +"sharingWithGoogleSupportEnabled": { +"description": "Allows Google support to access the data in order to help troubleshoot issues.", +"type": "boolean" +}, +"sharingWithOthersEnabled": { +"description": "Allows Google to share the data anonymously in aggregate form with others.", +"type": "boolean" +} +}, +"type": "object" +}, +"GoogleAnalyticsAdminV1alphaDataStream": { +"description": "A resource message representing a data stream.", +"id": "GoogleAnalyticsAdminV1alphaDataStream", +"properties": { +"androidAppStreamData": { +"$ref": "GoogleAnalyticsAdminV1alphaDataStreamAndroidAppStreamData", +"description": "Data specific to Android app streams. Must be populated if type is ANDROID_APP_DATA_STREAM." +}, +"createTime": { +"description": "Output only. Time when this stream was originally created.", +"format": "google-datetime", +"readOnly": true, +"type": "string" +}, +"displayName": { +"description": "Human-readable display name for the Data Stream. Required for web data streams. The max allowed display name length is 255 UTF-16 code units.", +"type": "string" +}, +"iosAppStreamData": { +"$ref": "GoogleAnalyticsAdminV1alphaDataStreamIosAppStreamData", +"description": "Data specific to iOS app streams. Must be populated if type is IOS_APP_DATA_STREAM." +}, +"name": { +"description": "Output only. Resource name of this Data Stream. Format: properties/{property_id}/dataStreams/{stream_id} Example: \"properties/1000/dataStreams/2000\"", +"readOnly": true, +"type": "string" +}, +"type": { +"description": "Required. Immutable. The type of this DataStream resource.", +"enum": [ +"DATA_STREAM_TYPE_UNSPECIFIED", +"WEB_DATA_STREAM", +"ANDROID_APP_DATA_STREAM", +"IOS_APP_DATA_STREAM" +], +"enumDescriptions": [ +"Type unknown or not specified.", +"Web data stream.", +"Android app data stream.", +"iOS app data stream." +], +"type": "string" +}, +"updateTime": { +"description": "Output only. Time when stream payload fields were last updated.", +"format": "google-datetime", +"readOnly": true, +"type": "string" +}, +"webStreamData": { +"$ref": "GoogleAnalyticsAdminV1alphaDataStreamWebStreamData", +"description": "Data specific to web streams. Must be populated if type is WEB_DATA_STREAM." +} +}, +"type": "object" +}, +"GoogleAnalyticsAdminV1alphaDataStreamAndroidAppStreamData": { +"description": "Data specific to Android app streams.", +"id": "GoogleAnalyticsAdminV1alphaDataStreamAndroidAppStreamData", +"properties": { +"firebaseAppId": { +"description": "Output only. ID of the corresponding Android app in Firebase, if any. This ID can change if the Android app is deleted and recreated.", +"readOnly": true, +"type": "string" +}, +"packageName": { +"description": "Immutable. The package name for the app being measured. Example: \"com.example.myandroidapp\"", +"type": "string" +} +}, +"type": "object" +}, +"GoogleAnalyticsAdminV1alphaDataStreamIosAppStreamData": { +"description": "Data specific to iOS app streams.", +"id": "GoogleAnalyticsAdminV1alphaDataStreamIosAppStreamData", +"properties": { +"bundleId": { +"description": "Required. Immutable. The Apple App Store Bundle ID for the app Example: \"com.example.myiosapp\"", +"type": "string" +}, +"firebaseAppId": { +"description": "Output only. ID of the corresponding iOS app in Firebase, if any. This ID can change if the iOS app is deleted and recreated.", +"readOnly": true, +"type": "string" +} +}, +"type": "object" +}, +"GoogleAnalyticsAdminV1alphaDataStreamWebStreamData": { +"description": "Data specific to web streams.", +"id": "GoogleAnalyticsAdminV1alphaDataStreamWebStreamData", +"properties": { +"defaultUri": { +"description": "Domain name of the web app being measured, or empty. Example: \"http://www.google.com\", \"https://www.google.com\"", +"type": "string" +}, +"firebaseAppId": { +"description": "Output only. ID of the corresponding web app in Firebase, if any. This ID can change if the web app is deleted and recreated.", +"readOnly": true, +"type": "string" +}, +"measurementId": { +"description": "Output only. Analytics Measurement ID. Example: \"G-1A2BCD345E\"", +"readOnly": true, +"type": "string" +} +}, +"type": "object" +}, +"GoogleAnalyticsAdminV1alphaDeleteAccessBindingRequest": { +"description": "Request message for DeleteAccessBinding RPC.", +"id": "GoogleAnalyticsAdminV1alphaDeleteAccessBindingRequest", +"properties": { +"name": { +"description": "Required. Formats: - accounts/{account}/accessBindings/{accessBinding} - properties/{property}/accessBindings/{accessBinding}", +"type": "string" +} +}, +"type": "object" +}, +"GoogleAnalyticsAdminV1alphaDeleteConnectedSiteTagRequest": { +"description": "Request message for DeleteConnectedSiteTag RPC.", +"id": "GoogleAnalyticsAdminV1alphaDeleteConnectedSiteTagRequest", +"properties": { +"property": { +"description": "The Universal Analytics property to delete connected site tags for. This API does not support GA4 properties. Format: properties/{universalAnalyticsPropertyId} Example: properties/1234", +"type": "string" +}, +"tagId": { +"description": "Tag ID to forward events to. Also known as the Measurement ID, or the \"G-ID\" (For example: G-12345).", +"type": "string" +} +}, +"type": "object" +}, +"GoogleAnalyticsAdminV1alphaDisplayVideo360AdvertiserLink": { +"description": "A link between a Google Analytics property and a Display & Video 360 advertiser.", +"id": "GoogleAnalyticsAdminV1alphaDisplayVideo360AdvertiserLink", +"properties": { +"adsPersonalizationEnabled": { +"description": "Enables personalized advertising features with this integration. If this field is not set on create/update, it will be defaulted to true.", +"type": "boolean" +}, +"advertiserDisplayName": { +"description": "Output only. The display name of the Display & Video 360 Advertiser.", +"readOnly": true, +"type": "string" +}, +"advertiserId": { +"description": "Immutable. The Display & Video 360 Advertiser's advertiser ID.", +"type": "string" +}, +"campaignDataSharingEnabled": { +"description": "Immutable. Enables the import of campaign data from Display & Video 360 into the Google Analytics property. After link creation, this can only be updated from the Display & Video 360 product. If this field is not set on create, it will be defaulted to true.", +"type": "boolean" +}, +"costDataSharingEnabled": { +"description": "Immutable. Enables the import of cost data from Display & Video 360 into the Google Analytics property. This can only be enabled if `campaign_data_sharing_enabled` is true. After link creation, this can only be updated from the Display & Video 360 product. If this field is not set on create, it will be defaulted to true.", +"type": "boolean" +}, +"name": { +"description": "Output only. The resource name for this DisplayVideo360AdvertiserLink resource. Format: properties/{propertyId}/displayVideo360AdvertiserLinks/{linkId} Note: linkId is not the Display & Video 360 Advertiser ID", +"readOnly": true, +"type": "string" +} +}, +"type": "object" +}, +"GoogleAnalyticsAdminV1alphaDisplayVideo360AdvertiserLinkProposal": { +"description": "A proposal for a link between a Google Analytics property and a Display & Video 360 advertiser. A proposal is converted to a DisplayVideo360AdvertiserLink once approved. Google Analytics admins approve inbound proposals while Display & Video 360 admins approve outbound proposals.", +"id": "GoogleAnalyticsAdminV1alphaDisplayVideo360AdvertiserLinkProposal", +"properties": { +"adsPersonalizationEnabled": { +"description": "Immutable. Enables personalized advertising features with this integration. If this field is not set on create, it will be defaulted to true.", +"type": "boolean" +}, +"advertiserDisplayName": { +"description": "Output only. The display name of the Display & Video Advertiser. Only populated for proposals that originated from Display & Video 360.", +"readOnly": true, +"type": "string" +}, +"advertiserId": { +"description": "Immutable. The Display & Video 360 Advertiser's advertiser ID.", +"type": "string" +}, +"campaignDataSharingEnabled": { +"description": "Immutable. Enables the import of campaign data from Display & Video 360. If this field is not set on create, it will be defaulted to true.", +"type": "boolean" +}, +"costDataSharingEnabled": { +"description": "Immutable. Enables the import of cost data from Display & Video 360. This can only be enabled if campaign_data_sharing_enabled is enabled. If this field is not set on create, it will be defaulted to true.", +"type": "boolean" +}, +"linkProposalStatusDetails": { +"$ref": "GoogleAnalyticsAdminV1alphaLinkProposalStatusDetails", +"description": "Output only. The status information for this link proposal.", +"readOnly": true +}, +"name": { +"description": "Output only. The resource name for this DisplayVideo360AdvertiserLinkProposal resource. Format: properties/{propertyId}/displayVideo360AdvertiserLinkProposals/{proposalId} Note: proposalId is not the Display & Video 360 Advertiser ID", +"readOnly": true, +"type": "string" +}, +"validationEmail": { +"description": "Input only. On a proposal being sent to Display & Video 360, this field must be set to the email address of an admin on the target advertiser. This is used to verify that the Google Analytics admin is aware of at least one admin on the Display & Video 360 Advertiser. This does not restrict approval of the proposal to a single user. Any admin on the Display & Video 360 Advertiser may approve the proposal.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleAnalyticsAdminV1alphaEnhancedMeasurementSettings": { +"description": "Singleton resource under a web DataStream, configuring measurement of additional site interactions and content.", +"id": "GoogleAnalyticsAdminV1alphaEnhancedMeasurementSettings", +"properties": { +"fileDownloadsEnabled": { +"description": "If enabled, capture a file download event each time a link is clicked with a common document, compressed file, application, video, or audio extension.", +"type": "boolean" +}, +"formInteractionsEnabled": { +"description": "If enabled, capture a form interaction event each time a visitor interacts with a form on your website. False by default.", +"type": "boolean" +}, +"name": { +"description": "Output only. Resource name of the Enhanced Measurement Settings. Format: properties/{property_id}/dataStreams/{data_stream}/enhancedMeasurementSettings Example: \"properties/1000/dataStreams/2000/enhancedMeasurementSettings\"", +"readOnly": true, +"type": "string" +}, +"outboundClicksEnabled": { +"description": "If enabled, capture an outbound click event each time a visitor clicks a link that leads them away from your domain.", +"type": "boolean" +}, +"pageChangesEnabled": { +"description": "If enabled, capture a page view event each time the website changes the browser history state.", +"type": "boolean" +}, +"scrollsEnabled": { +"description": "If enabled, capture scroll events each time a visitor gets to the bottom of a page.", +"type": "boolean" +}, +"searchQueryParameter": { +"description": "Required. URL query parameters to interpret as site search parameters. Max length is 1024 characters. Must not be empty.", +"type": "string" +}, +"siteSearchEnabled": { +"description": "If enabled, capture a view search results event each time a visitor performs a search on your site (based on a query parameter).", +"type": "boolean" +}, +"streamEnabled": { +"description": "Indicates whether Enhanced Measurement Settings will be used to automatically measure interactions and content on this web stream. Changing this value does not affect the settings themselves, but determines whether they are respected.", +"type": "boolean" +}, +"uriQueryParameter": { +"description": "Additional URL query parameters. Max length is 1024 characters.", +"type": "string" +}, +"videoEngagementEnabled": { +"description": "If enabled, capture video play, progress, and complete events as visitors view embedded videos on your site.", +"type": "boolean" +} +}, +"type": "object" +}, +"GoogleAnalyticsAdminV1alphaEventCreateRule": { +"description": "An Event Create Rule defines conditions that will trigger the creation of an entirely new event based upon matched criteria of a source event. Additional mutations of the parameters from the source event can be defined. Unlike Event Edit rules, Event Creation Rules have no defined order. They will all be run independently. Event Edit and Event Create rules can't be used to modify an event created from an Event Create rule.", +"id": "GoogleAnalyticsAdminV1alphaEventCreateRule", +"properties": { +"destinationEvent": { +"description": "Required. The name of the new event to be created. This value must: * be less than 40 characters * consist only of letters, digits or _ (underscores) * start with a letter", +"type": "string" +}, +"eventConditions": { +"description": "Required. Must have at least one condition, and can have up to 10 max. Conditions on the source event must match for this rule to be applied.", +"items": { +"$ref": "GoogleAnalyticsAdminV1alphaMatchingCondition" +}, +"type": "array" +}, +"name": { +"description": "Output only. Resource name for this EventCreateRule resource. Format: properties/{property}/dataStreams/{data_stream}/eventCreateRules/{event_create_rule}", +"readOnly": true, +"type": "string" +}, +"parameterMutations": { +"description": "Parameter mutations define parameter behavior on the new event, and are applied in order. A maximum of 20 mutations can be applied.", +"items": { +"$ref": "GoogleAnalyticsAdminV1alphaParameterMutation" +}, +"type": "array" +}, +"sourceCopyParameters": { +"description": "If true, the source parameters are copied to the new event. If false, or unset, all non-internal parameters are not copied from the source event. Parameter mutations are applied after the parameters have been copied.", +"type": "boolean" +} +}, +"type": "object" +}, +"GoogleAnalyticsAdminV1alphaEventEditRule": { +"description": "An Event Edit Rule defines conditions that will trigger the creation of an entirely new event based upon matched criteria of a source event. Additional mutations of the parameters from the source event can be defined. Unlike Event Create rules, Event Edit Rules are applied in their defined order. Event Edit rules can't be used to modify an event created from an Event Create rule.", +"id": "GoogleAnalyticsAdminV1alphaEventEditRule", +"properties": { +"displayName": { +"description": "Required. The display name of this event edit rule. Maximum of 255 characters.", +"type": "string" +}, +"eventConditions": { +"description": "Required. Conditions on the source event must match for this rule to be applied. Must have at least one condition, and can have up to 10 max.", +"items": { +"$ref": "GoogleAnalyticsAdminV1alphaMatchingCondition" +}, +"type": "array" +}, +"name": { +"description": "Identifier. Resource name for this EventEditRule resource. Format: properties/{property}/dataStreams/{data_stream}/eventEditRules/{event_edit_rule}", +"type": "string" +}, +"parameterMutations": { +"description": "Required. Parameter mutations define parameter behavior on the new event, and are applied in order. A maximum of 20 mutations can be applied.", +"items": { +"$ref": "GoogleAnalyticsAdminV1alphaParameterMutation" +}, +"type": "array" +}, +"processingOrder": { +"description": "Output only. The order for which this rule will be processed. Rules with an order value lower than this will be processed before this rule, rules with an order value higher than this will be processed after this rule. New event edit rules will be assigned an order value at the end of the order. This value does not apply to event create rules.", +"format": "int64", +"readOnly": true, +"type": "string" +} +}, +"type": "object" +}, +"GoogleAnalyticsAdminV1alphaEventMapping": { +"description": "Event setting conditions to match an event.", +"id": "GoogleAnalyticsAdminV1alphaEventMapping", +"properties": { +"eventName": { +"description": "Required. Name of the Google Analytics event. It must always be set. The max allowed display name length is 40 UTF-16 code units.", +"type": "string" +}, +"maxEventCount": { +"description": "The maximum number of times the event occurred. If not set, maximum event count won't be checked.", +"format": "int64", +"type": "string" +}, +"maxEventValue": { +"description": "The maximum revenue generated due to the event. Revenue currency will be defined at the property level. If not set, maximum event value won't be checked.", +"format": "double", +"type": "number" +}, +"minEventCount": { +"description": "At least one of the following four min/max values must be set. The values set will be ANDed together to qualify an event. The minimum number of times the event occurred. If not set, minimum event count won't be checked.", +"format": "int64", +"type": "string" +}, +"minEventValue": { +"description": "The minimum revenue generated due to the event. Revenue currency will be defined at the property level. If not set, minimum event value won't be checked.", +"format": "double", +"type": "number" +} +}, +"type": "object" +}, +"GoogleAnalyticsAdminV1alphaExpandedDataSet": { +"description": "A resource message representing an `ExpandedDataSet`.", +"id": "GoogleAnalyticsAdminV1alphaExpandedDataSet", +"properties": { +"dataCollectionStartTime": { +"description": "Output only. Time when expanded data set began (or will begin) collecing data.", +"format": "google-datetime", +"readOnly": true, +"type": "string" +}, +"description": { +"description": "Optional. The description of the ExpandedDataSet. Max 50 chars.", +"type": "string" +}, +"dimensionFilterExpression": { +"$ref": "GoogleAnalyticsAdminV1alphaExpandedDataSetFilterExpression", +"description": "Immutable. A logical expression of ExpandedDataSet filters applied to dimension included in the ExpandedDataSet. This filter is used to reduce the number of rows and thus the chance of encountering `other` row." +}, +"dimensionNames": { +"description": "Immutable. The list of dimensions included in the ExpandedDataSet. See the [API Dimensions](https://developers.google.com/analytics/devguides/reporting/data/v1/api-schema#dimensions) for the list of dimension names.", +"items": { +"type": "string" +}, +"type": "array" +}, +"displayName": { +"description": "Required. The display name of the ExpandedDataSet. Max 200 chars.", +"type": "string" +}, +"metricNames": { +"description": "Immutable. The list of metrics included in the ExpandedDataSet. See the [API Metrics](https://developers.google.com/analytics/devguides/reporting/data/v1/api-schema#metrics) for the list of dimension names.", +"items": { +"type": "string" +}, +"type": "array" +}, +"name": { +"description": "Output only. The resource name for this ExpandedDataSet resource. Format: properties/{property_id}/expandedDataSets/{expanded_data_set}", +"readOnly": true, +"type": "string" +} +}, +"type": "object" +}, +"GoogleAnalyticsAdminV1alphaExpandedDataSetFilter": { +"description": "A specific filter for a single dimension", +"id": "GoogleAnalyticsAdminV1alphaExpandedDataSetFilter", +"properties": { +"fieldName": { +"description": "Required. The dimension name to filter.", +"type": "string" +}, +"inListFilter": { +"$ref": "GoogleAnalyticsAdminV1alphaExpandedDataSetFilterInListFilter", +"description": "A filter for a string dimension that matches a particular list of options." +}, +"stringFilter": { +"$ref": "GoogleAnalyticsAdminV1alphaExpandedDataSetFilterStringFilter", +"description": "A filter for a string-type dimension that matches a particular pattern." +} +}, +"type": "object" +}, +"GoogleAnalyticsAdminV1alphaExpandedDataSetFilterExpression": { +"description": "A logical expression of EnhancedDataSet dimension filters.", +"id": "GoogleAnalyticsAdminV1alphaExpandedDataSetFilterExpression", +"properties": { +"andGroup": { +"$ref": "GoogleAnalyticsAdminV1alphaExpandedDataSetFilterExpressionList", +"description": "A list of expressions to be AND\u2019ed together. It must contain a ExpandedDataSetFilterExpression with either not_expression or dimension_filter. This must be set for the top level ExpandedDataSetFilterExpression." +}, +"filter": { +"$ref": "GoogleAnalyticsAdminV1alphaExpandedDataSetFilter", +"description": "A filter on a single dimension. This cannot be set on the top level ExpandedDataSetFilterExpression." +}, +"notExpression": { +"$ref": "GoogleAnalyticsAdminV1alphaExpandedDataSetFilterExpression", +"description": "A filter expression to be NOT'ed (that is, inverted, complemented). It must include a dimension_filter. This cannot be set on the top level ExpandedDataSetFilterExpression." +} +}, +"type": "object" +}, +"GoogleAnalyticsAdminV1alphaExpandedDataSetFilterExpressionList": { +"description": "A list of ExpandedDataSet filter expressions.", +"id": "GoogleAnalyticsAdminV1alphaExpandedDataSetFilterExpressionList", +"properties": { +"filterExpressions": { +"description": "A list of ExpandedDataSet filter expressions.", +"items": { +"$ref": "GoogleAnalyticsAdminV1alphaExpandedDataSetFilterExpression" +}, +"type": "array" +} +}, +"type": "object" +}, +"GoogleAnalyticsAdminV1alphaExpandedDataSetFilterInListFilter": { +"description": "A filter for a string dimension that matches a particular list of options.", +"id": "GoogleAnalyticsAdminV1alphaExpandedDataSetFilterInListFilter", +"properties": { +"caseSensitive": { +"description": "Optional. If true, the match is case-sensitive. If false, the match is case-insensitive. Must be true.", +"type": "boolean" +}, +"values": { +"description": "Required. The list of possible string values to match against. Must be non-empty.", +"items": { +"type": "string" +}, +"type": "array" +} +}, +"type": "object" +}, +"GoogleAnalyticsAdminV1alphaExpandedDataSetFilterStringFilter": { +"description": "A filter for a string-type dimension that matches a particular pattern.", +"id": "GoogleAnalyticsAdminV1alphaExpandedDataSetFilterStringFilter", +"properties": { +"caseSensitive": { +"description": "Optional. If true, the match is case-sensitive. If false, the match is case-insensitive. Must be true when match_type is EXACT. Must be false when match_type is CONTAINS.", +"type": "boolean" +}, +"matchType": { +"description": "Required. The match type for the string filter.", +"enum": [ +"MATCH_TYPE_UNSPECIFIED", +"EXACT", +"CONTAINS" +], +"enumDescriptions": [ +"Unspecified", +"Exact match of the string value.", +"Contains the string value." +], +"type": "string" +}, +"value": { +"description": "Required. The string value to be matched against.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleAnalyticsAdminV1alphaFetchAutomatedGa4ConfigurationOptOutRequest": { +"description": "Request for fetching the opt out status for the automated GA4 setup process.", +"id": "GoogleAnalyticsAdminV1alphaFetchAutomatedGa4ConfigurationOptOutRequest", +"properties": { +"property": { +"description": "Required. The UA property to get the opt out status. Note this request uses the internal property ID, not the tracking ID of the form UA-XXXXXX-YY. Format: properties/{internalWebPropertyId} Example: properties/1234", +"type": "string" +} +}, +"type": "object" +}, +"GoogleAnalyticsAdminV1alphaFetchAutomatedGa4ConfigurationOptOutResponse": { +"description": "Response message for fetching the opt out status for the automated GA4 setup process.", +"id": "GoogleAnalyticsAdminV1alphaFetchAutomatedGa4ConfigurationOptOutResponse", +"properties": { +"optOut": { +"description": "The opt out status for the UA property.", +"type": "boolean" +} +}, +"type": "object" +}, +"GoogleAnalyticsAdminV1alphaFetchConnectedGa4PropertyResponse": { +"description": "Response for looking up GA4 property connected to a UA property.", +"id": "GoogleAnalyticsAdminV1alphaFetchConnectedGa4PropertyResponse", +"properties": { +"property": { +"description": "The GA4 property connected to the UA property. An empty string is returned when there is no connected GA4 property. Format: properties/{property_id} Example: properties/1234", +"type": "string" +} +}, +"type": "object" +}, +"GoogleAnalyticsAdminV1alphaFirebaseLink": { +"description": "A link between a Google Analytics property and a Firebase project.", +"id": "GoogleAnalyticsAdminV1alphaFirebaseLink", +"properties": { +"createTime": { +"description": "Output only. Time when this FirebaseLink was originally created.", +"format": "google-datetime", +"readOnly": true, +"type": "string" +}, +"name": { +"description": "Output only. Example format: properties/1234/firebaseLinks/5678", +"readOnly": true, +"type": "string" +}, +"project": { +"description": "Immutable. Firebase project resource name. When creating a FirebaseLink, you may provide this resource name using either a project number or project ID. Once this resource has been created, returned FirebaseLinks will always have a project_name that contains a project number. Format: 'projects/{project number}' Example: 'projects/1234'", +"type": "string" +} +}, +"type": "object" +}, +"GoogleAnalyticsAdminV1alphaGlobalSiteTag": { +"description": "Read-only resource with the tag for sending data from a website to a DataStream. Only present for web DataStream resources.", +"id": "GoogleAnalyticsAdminV1alphaGlobalSiteTag", +"properties": { +"name": { +"description": "Output only. Resource name for this GlobalSiteTag resource. Format: properties/{property_id}/dataStreams/{stream_id}/globalSiteTag Example: \"properties/123/dataStreams/456/globalSiteTag\"", +"readOnly": true, +"type": "string" +}, +"snippet": { +"description": "Immutable. JavaScript code snippet to be pasted as the first item into the head tag of every webpage to measure.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleAnalyticsAdminV1alphaGoogleAdsLink": { +"description": "A link between a Google Analytics property and a Google Ads account.", +"id": "GoogleAnalyticsAdminV1alphaGoogleAdsLink", +"properties": { +"adsPersonalizationEnabled": { +"description": "Enable personalized advertising features with this integration. Automatically publish my Google Analytics audience lists and Google Analytics remarketing events/parameters to the linked Google Ads account. If this field is not set on create/update, it will be defaulted to true.", +"type": "boolean" +}, +"canManageClients": { +"description": "Output only. If true, this link is for a Google Ads manager account.", +"readOnly": true, +"type": "boolean" +}, +"createTime": { +"description": "Output only. Time when this link was originally created.", +"format": "google-datetime", +"readOnly": true, +"type": "string" +}, +"creatorEmailAddress": { +"description": "Output only. Email address of the user that created the link. An empty string will be returned if the email address can't be retrieved.", +"readOnly": true, +"type": "string" +}, +"customerId": { +"description": "Immutable. Google Ads customer ID.", +"type": "string" +}, +"name": { +"description": "Output only. Format: properties/{propertyId}/googleAdsLinks/{googleAdsLinkId} Note: googleAdsLinkId is not the Google Ads customer ID.", +"readOnly": true, +"type": "string" +}, +"updateTime": { +"description": "Output only. Time when this link was last updated.", +"format": "google-datetime", +"readOnly": true, +"type": "string" +} +}, +"type": "object" +}, +"GoogleAnalyticsAdminV1alphaGoogleSignalsSettings": { +"description": "Settings values for Google Signals. This is a singleton resource.", +"id": "GoogleAnalyticsAdminV1alphaGoogleSignalsSettings", +"properties": { +"consent": { +"description": "Output only. Terms of Service acceptance.", +"enum": [ +"GOOGLE_SIGNALS_CONSENT_UNSPECIFIED", +"GOOGLE_SIGNALS_CONSENT_CONSENTED", +"GOOGLE_SIGNALS_CONSENT_NOT_CONSENTED" +], +"enumDescriptions": [ +"Google Signals consent value defaults to GOOGLE_SIGNALS_CONSENT_UNSPECIFIED. This will be treated as GOOGLE_SIGNALS_CONSENT_NOT_CONSENTED.", +"Terms of service have been accepted", +"Terms of service have not been accepted" +], +"readOnly": true, +"type": "string" +}, +"name": { +"description": "Output only. Resource name of this setting. Format: properties/{property_id}/googleSignalsSettings Example: \"properties/1000/googleSignalsSettings\"", +"readOnly": true, +"type": "string" +}, +"state": { +"description": "Status of this setting.", +"enum": [ +"GOOGLE_SIGNALS_STATE_UNSPECIFIED", +"GOOGLE_SIGNALS_ENABLED", +"GOOGLE_SIGNALS_DISABLED" +], +"enumDescriptions": [ +"Google Signals status defaults to GOOGLE_SIGNALS_STATE_UNSPECIFIED to represent that the user has not made an explicit choice.", +"Google Signals is enabled.", +"Google Signals is disabled." +], +"type": "string" +} +}, +"type": "object" +}, +"GoogleAnalyticsAdminV1alphaGroupingRule": { +"description": "The rules that govern how traffic is grouped into one channel.", +"id": "GoogleAnalyticsAdminV1alphaGroupingRule", +"properties": { +"displayName": { +"description": "Required. Customer defined display name for the channel.", +"type": "string" +}, +"expression": { +"$ref": "GoogleAnalyticsAdminV1alphaChannelGroupFilterExpression", +"description": "Required. The Filter Expression that defines the Grouping Rule." +} +}, +"type": "object" +}, +"GoogleAnalyticsAdminV1alphaKeyEvent": { +"description": "A key event in a Google Analytics property.", +"id": "GoogleAnalyticsAdminV1alphaKeyEvent", +"properties": { +"countingMethod": { +"description": "Required. The method by which Key Events will be counted across multiple events within a session.", +"enum": [ +"COUNTING_METHOD_UNSPECIFIED", +"ONCE_PER_EVENT", +"ONCE_PER_SESSION" +], +"enumDescriptions": [ +"Counting method not specified.", +"Each Event instance is considered a Key Event.", +"An Event instance is considered a Key Event at most once per session per user." +], +"type": "string" +}, +"createTime": { +"description": "Output only. Time when this key event was created in the property.", +"format": "google-datetime", +"readOnly": true, +"type": "string" +}, +"custom": { +"description": "Output only. If set to true, this key event refers to a custom event. If set to false, this key event refers to a default event in GA. Default events typically have special meaning in GA. Default events are usually created for you by the GA system, but in some cases can be created by property admins. Custom events count towards the maximum number of custom key events that may be created per property.", +"readOnly": true, +"type": "boolean" +}, +"defaultValue": { +"$ref": "GoogleAnalyticsAdminV1alphaKeyEventDefaultValue", +"description": "Optional. Defines a default value/currency for a key event." +}, +"deletable": { +"description": "Output only. If set to true, this event can be deleted.", +"readOnly": true, +"type": "boolean" +}, +"eventName": { +"description": "Immutable. The event name for this key event. Examples: 'click', 'purchase'", +"type": "string" +}, +"name": { +"description": "Output only. Resource name of this key event. Format: properties/{property}/keyEvents/{key_event}", +"readOnly": true, +"type": "string" +} +}, +"type": "object" +}, +"GoogleAnalyticsAdminV1alphaKeyEventDefaultValue": { +"description": "Defines a default value/currency for a key event.", +"id": "GoogleAnalyticsAdminV1alphaKeyEventDefaultValue", +"properties": { +"currencyCode": { +"description": "Required. When an occurrence of this Key Event (specified by event_name) has no set currency this currency will be applied as the default. Must be in ISO 4217 currency code format. See https://en.wikipedia.org/wiki/ISO_4217 for more information.", +"type": "string" +}, +"numericValue": { +"description": "Required. This will be used to populate the \"value\" parameter for all occurrences of this Key Event (specified by event_name) where that parameter is unset.", +"format": "double", +"type": "number" +} +}, +"type": "object" +}, +"GoogleAnalyticsAdminV1alphaLinkProposalStatusDetails": { +"description": "Status information for a link proposal.", +"id": "GoogleAnalyticsAdminV1alphaLinkProposalStatusDetails", +"properties": { +"linkProposalInitiatingProduct": { +"description": "Output only. The source of this proposal.", +"enum": [ +"LINK_PROPOSAL_INITIATING_PRODUCT_UNSPECIFIED", +"GOOGLE_ANALYTICS", +"LINKED_PRODUCT" +], +"enumDescriptions": [ +"Unspecified product.", +"This proposal was created by a user from Google Analytics.", +"This proposal was created by a user from a linked product (not Google Analytics)." +], +"readOnly": true, +"type": "string" +}, +"linkProposalState": { +"description": "Output only. The state of this proposal.", +"enum": [ +"LINK_PROPOSAL_STATE_UNSPECIFIED", +"AWAITING_REVIEW_FROM_GOOGLE_ANALYTICS", +"AWAITING_REVIEW_FROM_LINKED_PRODUCT", +"WITHDRAWN", +"DECLINED", +"EXPIRED", +"OBSOLETE" +], +"enumDescriptions": [ +"Unspecified state", +"This proposal is awaiting review from a Google Analytics user. This proposal will automatically expire after some time.", +"This proposal is awaiting review from a user of a linked product. This proposal will automatically expire after some time.", +"This proposal has been withdrawn by an admin on the initiating product. This proposal will be automatically deleted after some time.", +"This proposal has been declined by an admin on the receiving product. This proposal will be automatically deleted after some time.", +"This proposal expired due to lack of response from an admin on the receiving product. This proposal will be automatically deleted after some time.", +"This proposal has become obsolete because a link was directly created to the same external product resource that this proposal specifies. This proposal will be automatically deleted after some time." +], +"readOnly": true, +"type": "string" +}, +"requestorEmail": { +"description": "Output only. The email address of the user that proposed this linkage.", +"readOnly": true, +"type": "string" +} +}, +"type": "object" +}, +"GoogleAnalyticsAdminV1alphaListAccessBindingsResponse": { +"description": "Response message for ListAccessBindings RPC.", +"id": "GoogleAnalyticsAdminV1alphaListAccessBindingsResponse", +"properties": { +"accessBindings": { +"description": "List of AccessBindings. These will be ordered stably, but in an arbitrary order.", +"items": { +"$ref": "GoogleAnalyticsAdminV1alphaAccessBinding" +}, +"type": "array" +}, +"nextPageToken": { +"description": "A token, which can be sent as `page_token` to retrieve the next page. If this field is omitted, there are no subsequent pages.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleAnalyticsAdminV1alphaListAccountSummariesResponse": { +"description": "Response message for ListAccountSummaries RPC.", +"id": "GoogleAnalyticsAdminV1alphaListAccountSummariesResponse", +"properties": { +"accountSummaries": { +"description": "Account summaries of all accounts the caller has access to.", +"items": { +"$ref": "GoogleAnalyticsAdminV1alphaAccountSummary" +}, +"type": "array" +}, +"nextPageToken": { +"description": "A token, which can be sent as `page_token` to retrieve the next page. If this field is omitted, there are no subsequent pages.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleAnalyticsAdminV1alphaListAccountsResponse": { +"description": "Request message for ListAccounts RPC.", +"id": "GoogleAnalyticsAdminV1alphaListAccountsResponse", +"properties": { +"accounts": { +"description": "Results that were accessible to the caller.", +"items": { +"$ref": "GoogleAnalyticsAdminV1alphaAccount" +}, +"type": "array" +}, +"nextPageToken": { +"description": "A token, which can be sent as `page_token` to retrieve the next page. If this field is omitted, there are no subsequent pages.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleAnalyticsAdminV1alphaListAdSenseLinksResponse": { +"description": "Response message for ListAdSenseLinks method.", +"id": "GoogleAnalyticsAdminV1alphaListAdSenseLinksResponse", +"properties": { +"adsenseLinks": { +"description": "List of AdSenseLinks.", +"items": { +"$ref": "GoogleAnalyticsAdminV1alphaAdSenseLink" +}, +"type": "array" +}, +"nextPageToken": { +"description": "A token, which can be sent as `page_token` to retrieve the next page. If this field is omitted, there are no subsequent pages.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleAnalyticsAdminV1alphaListAudiencesResponse": { +"description": "Response message for ListAudiences RPC.", +"id": "GoogleAnalyticsAdminV1alphaListAudiencesResponse", +"properties": { +"audiences": { +"description": "List of Audiences.", +"items": { +"$ref": "GoogleAnalyticsAdminV1alphaAudience" +}, +"type": "array" +}, +"nextPageToken": { +"description": "A token, which can be sent as `page_token` to retrieve the next page. If this field is omitted, there are no subsequent pages.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleAnalyticsAdminV1alphaListBigQueryLinksResponse": { +"description": "Response message for ListBigQueryLinks RPC", +"id": "GoogleAnalyticsAdminV1alphaListBigQueryLinksResponse", +"properties": { +"bigqueryLinks": { +"description": "List of BigQueryLinks.", +"items": { +"$ref": "GoogleAnalyticsAdminV1alphaBigQueryLink" +}, +"type": "array" +}, +"nextPageToken": { +"description": "A token, which can be sent as `page_token` to retrieve the next page. If this field is omitted, there are no subsequent pages.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleAnalyticsAdminV1alphaListCalculatedMetricsResponse": { +"description": "Response message for ListCalculatedMetrics RPC.", +"id": "GoogleAnalyticsAdminV1alphaListCalculatedMetricsResponse", +"properties": { +"calculatedMetrics": { +"description": "List of CalculatedMetrics.", +"items": { +"$ref": "GoogleAnalyticsAdminV1alphaCalculatedMetric" +}, +"type": "array" +}, +"nextPageToken": { +"description": "A token, which can be sent as `page_token` to retrieve the next page. If this field is omitted, there are no subsequent pages.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleAnalyticsAdminV1alphaListChannelGroupsResponse": { +"description": "Response message for ListChannelGroups RPC.", +"id": "GoogleAnalyticsAdminV1alphaListChannelGroupsResponse", +"properties": { +"channelGroups": { +"description": "List of ChannelGroup. These will be ordered stably, but in an arbitrary order.", +"items": { +"$ref": "GoogleAnalyticsAdminV1alphaChannelGroup" +}, +"type": "array" +}, +"nextPageToken": { +"description": "A token, which can be sent as `page_token` to retrieve the next page. If this field is omitted, there are no subsequent pages.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleAnalyticsAdminV1alphaListConnectedSiteTagsRequest": { +"description": "Request message for ListConnectedSiteTags RPC.", +"id": "GoogleAnalyticsAdminV1alphaListConnectedSiteTagsRequest", +"properties": { +"property": { +"description": "The Universal Analytics property to fetch connected site tags for. This does not work on GA4 properties. A maximum of 20 connected site tags will be returned. Example Format: `properties/1234`", +"type": "string" +} +}, +"type": "object" +}, +"GoogleAnalyticsAdminV1alphaListConnectedSiteTagsResponse": { +"description": "Response message for ListConnectedSiteTags RPC.", +"id": "GoogleAnalyticsAdminV1alphaListConnectedSiteTagsResponse", +"properties": { +"connectedSiteTags": { +"description": "The site tags for the Universal Analytics property. A maximum of 20 connected site tags will be returned.", +"items": { +"$ref": "GoogleAnalyticsAdminV1alphaConnectedSiteTag" +}, +"type": "array" +} +}, +"type": "object" +}, +"GoogleAnalyticsAdminV1alphaListConversionEventsResponse": { +"description": "Response message for ListConversionEvents RPC.", +"id": "GoogleAnalyticsAdminV1alphaListConversionEventsResponse", +"properties": { +"conversionEvents": { +"description": "The requested conversion events", +"items": { +"$ref": "GoogleAnalyticsAdminV1alphaConversionEvent" +}, +"type": "array" +}, +"nextPageToken": { +"description": "A token, which can be sent as `page_token` to retrieve the next page. If this field is omitted, there are no subsequent pages.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleAnalyticsAdminV1alphaListCustomDimensionsResponse": { +"description": "Response message for ListCustomDimensions RPC.", +"id": "GoogleAnalyticsAdminV1alphaListCustomDimensionsResponse", +"properties": { +"customDimensions": { +"description": "List of CustomDimensions.", +"items": { +"$ref": "GoogleAnalyticsAdminV1alphaCustomDimension" +}, +"type": "array" +}, +"nextPageToken": { +"description": "A token, which can be sent as `page_token` to retrieve the next page. If this field is omitted, there are no subsequent pages.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleAnalyticsAdminV1alphaListCustomMetricsResponse": { +"description": "Response message for ListCustomMetrics RPC.", +"id": "GoogleAnalyticsAdminV1alphaListCustomMetricsResponse", +"properties": { +"customMetrics": { +"description": "List of CustomMetrics.", +"items": { +"$ref": "GoogleAnalyticsAdminV1alphaCustomMetric" +}, +"type": "array" +}, +"nextPageToken": { +"description": "A token, which can be sent as `page_token` to retrieve the next page. If this field is omitted, there are no subsequent pages.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleAnalyticsAdminV1alphaListDataStreamsResponse": { +"description": "Response message for ListDataStreams RPC.", +"id": "GoogleAnalyticsAdminV1alphaListDataStreamsResponse", +"properties": { +"dataStreams": { +"description": "List of DataStreams.", +"items": { +"$ref": "GoogleAnalyticsAdminV1alphaDataStream" +}, +"type": "array" +}, +"nextPageToken": { +"description": "A token, which can be sent as `page_token` to retrieve the next page. If this field is omitted, there are no subsequent pages.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleAnalyticsAdminV1alphaListDisplayVideo360AdvertiserLinkProposalsResponse": { +"description": "Response message for ListDisplayVideo360AdvertiserLinkProposals RPC.", +"id": "GoogleAnalyticsAdminV1alphaListDisplayVideo360AdvertiserLinkProposalsResponse", +"properties": { +"displayVideo360AdvertiserLinkProposals": { +"description": "List of DisplayVideo360AdvertiserLinkProposals.", +"items": { +"$ref": "GoogleAnalyticsAdminV1alphaDisplayVideo360AdvertiserLinkProposal" +}, +"type": "array" +}, +"nextPageToken": { +"description": "A token, which can be sent as `page_token` to retrieve the next page. If this field is omitted, there are no subsequent pages.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleAnalyticsAdminV1alphaListDisplayVideo360AdvertiserLinksResponse": { +"description": "Response message for ListDisplayVideo360AdvertiserLinks RPC.", +"id": "GoogleAnalyticsAdminV1alphaListDisplayVideo360AdvertiserLinksResponse", +"properties": { +"displayVideo360AdvertiserLinks": { +"description": "List of DisplayVideo360AdvertiserLinks.", +"items": { +"$ref": "GoogleAnalyticsAdminV1alphaDisplayVideo360AdvertiserLink" +}, +"type": "array" +}, +"nextPageToken": { +"description": "A token, which can be sent as `page_token` to retrieve the next page. If this field is omitted, there are no subsequent pages.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleAnalyticsAdminV1alphaListEventCreateRulesResponse": { +"description": "Response message for ListEventCreateRules RPC.", +"id": "GoogleAnalyticsAdminV1alphaListEventCreateRulesResponse", +"properties": { +"eventCreateRules": { +"description": "List of EventCreateRules. These will be ordered stably, but in an arbitrary order.", +"items": { +"$ref": "GoogleAnalyticsAdminV1alphaEventCreateRule" +}, +"type": "array" +}, +"nextPageToken": { +"description": "A token, which can be sent as `page_token` to retrieve the next page. If this field is omitted, there are no subsequent pages.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleAnalyticsAdminV1alphaListEventEditRulesResponse": { +"description": "Response message for ListEventEditRules RPC.", +"id": "GoogleAnalyticsAdminV1alphaListEventEditRulesResponse", +"properties": { +"eventEditRules": { +"description": "List of EventEditRules. These will be ordered stably, but in an arbitrary order.", +"items": { +"$ref": "GoogleAnalyticsAdminV1alphaEventEditRule" +}, +"type": "array" +}, +"nextPageToken": { +"description": "A token, which can be sent as `page_token` to retrieve the next page. If this field is omitted, there are no subsequent pages.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleAnalyticsAdminV1alphaListExpandedDataSetsResponse": { +"description": "Response message for ListExpandedDataSets RPC.", +"id": "GoogleAnalyticsAdminV1alphaListExpandedDataSetsResponse", +"properties": { +"expandedDataSets": { +"description": "List of ExpandedDataSet. These will be ordered stably, but in an arbitrary order.", +"items": { +"$ref": "GoogleAnalyticsAdminV1alphaExpandedDataSet" +}, +"type": "array" +}, +"nextPageToken": { +"description": "A token, which can be sent as `page_token` to retrieve the next page. If this field is omitted, there are no subsequent pages.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleAnalyticsAdminV1alphaListFirebaseLinksResponse": { +"description": "Response message for ListFirebaseLinks RPC", +"id": "GoogleAnalyticsAdminV1alphaListFirebaseLinksResponse", +"properties": { +"firebaseLinks": { +"description": "List of FirebaseLinks. This will have at most one value.", +"items": { +"$ref": "GoogleAnalyticsAdminV1alphaFirebaseLink" +}, +"type": "array" +}, +"nextPageToken": { +"description": "A token, which can be sent as `page_token` to retrieve the next page. If this field is omitted, there are no subsequent pages. Currently, Google Analytics supports only one FirebaseLink per property, so this will never be populated.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleAnalyticsAdminV1alphaListGoogleAdsLinksResponse": { +"description": "Response message for ListGoogleAdsLinks RPC.", +"id": "GoogleAnalyticsAdminV1alphaListGoogleAdsLinksResponse", +"properties": { +"googleAdsLinks": { +"description": "List of GoogleAdsLinks.", +"items": { +"$ref": "GoogleAnalyticsAdminV1alphaGoogleAdsLink" +}, +"type": "array" +}, +"nextPageToken": { +"description": "A token, which can be sent as `page_token` to retrieve the next page. If this field is omitted, there are no subsequent pages.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleAnalyticsAdminV1alphaListKeyEventsResponse": { +"description": "Response message for ListKeyEvents RPC.", +"id": "GoogleAnalyticsAdminV1alphaListKeyEventsResponse", +"properties": { +"keyEvents": { +"description": "The requested Key Events", +"items": { +"$ref": "GoogleAnalyticsAdminV1alphaKeyEvent" +}, +"type": "array" +}, +"nextPageToken": { +"description": "A token, which can be sent as `page_token` to retrieve the next page. If this field is omitted, there are no subsequent pages.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleAnalyticsAdminV1alphaListMeasurementProtocolSecretsResponse": { +"description": "Response message for ListMeasurementProtocolSecret RPC", +"id": "GoogleAnalyticsAdminV1alphaListMeasurementProtocolSecretsResponse", +"properties": { +"measurementProtocolSecrets": { +"description": "A list of secrets for the parent stream specified in the request.", +"items": { +"$ref": "GoogleAnalyticsAdminV1alphaMeasurementProtocolSecret" +}, +"type": "array" +}, +"nextPageToken": { +"description": "A token, which can be sent as `page_token` to retrieve the next page. If this field is omitted, there are no subsequent pages.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleAnalyticsAdminV1alphaListPropertiesResponse": { +"description": "Response message for ListProperties RPC.", +"id": "GoogleAnalyticsAdminV1alphaListPropertiesResponse", +"properties": { +"nextPageToken": { +"description": "A token, which can be sent as `page_token` to retrieve the next page. If this field is omitted, there are no subsequent pages.", +"type": "string" +}, +"properties": { +"description": "Results that matched the filter criteria and were accessible to the caller.", +"items": { +"$ref": "GoogleAnalyticsAdminV1alphaProperty" +}, +"type": "array" +} +}, +"type": "object" +}, +"GoogleAnalyticsAdminV1alphaListRollupPropertySourceLinksResponse": { +"description": "Response message for ListRollupPropertySourceLinks RPC.", +"id": "GoogleAnalyticsAdminV1alphaListRollupPropertySourceLinksResponse", +"properties": { +"nextPageToken": { +"description": "A token, which can be sent as `page_token` to retrieve the next page. If this field is omitted, there are no subsequent pages.", +"type": "string" +}, +"rollupPropertySourceLinks": { +"description": "List of RollupPropertySourceLinks.", +"items": { +"$ref": "GoogleAnalyticsAdminV1alphaRollupPropertySourceLink" +}, +"type": "array" +} +}, +"type": "object" +}, +"GoogleAnalyticsAdminV1alphaListSKAdNetworkConversionValueSchemasResponse": { +"description": "Response message for ListSKAdNetworkConversionValueSchemas RPC", +"id": "GoogleAnalyticsAdminV1alphaListSKAdNetworkConversionValueSchemasResponse", +"properties": { +"nextPageToken": { +"description": "A token, which can be sent as `page_token` to retrieve the next page. If this field is omitted, there are no subsequent pages. Currently, Google Analytics supports only one SKAdNetworkConversionValueSchema per dataStream, so this will never be populated.", +"type": "string" +}, +"skadnetworkConversionValueSchemas": { +"description": "List of SKAdNetworkConversionValueSchemas. This will have at most one value.", +"items": { +"$ref": "GoogleAnalyticsAdminV1alphaSKAdNetworkConversionValueSchema" +}, +"type": "array" +} +}, +"type": "object" +}, +"GoogleAnalyticsAdminV1alphaListSearchAds360LinksResponse": { +"description": "Response message for ListSearchAds360Links RPC.", +"id": "GoogleAnalyticsAdminV1alphaListSearchAds360LinksResponse", +"properties": { +"nextPageToken": { +"description": "A token, which can be sent as `page_token` to retrieve the next page. If this field is omitted, there are no subsequent pages.", +"type": "string" +}, +"searchAds360Links": { +"description": "List of SearchAds360Links.", +"items": { +"$ref": "GoogleAnalyticsAdminV1alphaSearchAds360Link" +}, +"type": "array" +} +}, +"type": "object" +}, +"GoogleAnalyticsAdminV1alphaListSubpropertyEventFiltersResponse": { +"description": "Response message for ListSubpropertyEventFilter RPC.", +"id": "GoogleAnalyticsAdminV1alphaListSubpropertyEventFiltersResponse", +"properties": { +"nextPageToken": { +"description": "A token, which can be sent as `page_token` to retrieve the next page. If this field is omitted, there are no subsequent pages.", +"type": "string" +}, +"subpropertyEventFilters": { +"description": "List of subproperty event filters.", +"items": { +"$ref": "GoogleAnalyticsAdminV1alphaSubpropertyEventFilter" +}, +"type": "array" +} +}, +"type": "object" +}, +"GoogleAnalyticsAdminV1alphaMatchingCondition": { +"description": "Defines a condition for when an Event Edit or Event Creation rule applies to an event.", +"id": "GoogleAnalyticsAdminV1alphaMatchingCondition", +"properties": { +"comparisonType": { +"description": "Required. The type of comparison to be applied to the value.", +"enum": [ +"COMPARISON_TYPE_UNSPECIFIED", +"EQUALS", +"EQUALS_CASE_INSENSITIVE", +"CONTAINS", +"CONTAINS_CASE_INSENSITIVE", +"STARTS_WITH", +"STARTS_WITH_CASE_INSENSITIVE", +"ENDS_WITH", +"ENDS_WITH_CASE_INSENSITIVE", +"GREATER_THAN", +"GREATER_THAN_OR_EQUAL", +"LESS_THAN", +"LESS_THAN_OR_EQUAL", +"REGULAR_EXPRESSION", +"REGULAR_EXPRESSION_CASE_INSENSITIVE" +], +"enumDescriptions": [ +"Unknown", +"Equals, case sensitive", +"Equals, case insensitive", +"Contains, case sensitive", +"Contains, case insensitive", +"Starts with, case sensitive", +"Starts with, case insensitive", +"Ends with, case sensitive", +"Ends with, case insensitive", +"Greater than", +"Greater than or equal", +"Less than", +"Less than or equal", +"regular expression. Only supported for web streams.", +"regular expression, case insensitive. Only supported for web streams." +], +"type": "string" +}, +"field": { +"description": "Required. The name of the field that is compared against for the condition. If 'event_name' is specified this condition will apply to the name of the event. Otherwise the condition will apply to a parameter with the specified name. This value cannot contain spaces.", +"type": "string" +}, +"negated": { +"description": "Whether or not the result of the comparison should be negated. For example, if `negated` is true, then 'equals' comparisons would function as 'not equals'.", +"type": "boolean" +}, +"value": { +"description": "Required. The value being compared against for this condition. The runtime implementation may perform type coercion of this value to evaluate this condition based on the type of the parameter value.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleAnalyticsAdminV1alphaMeasurementProtocolSecret": { +"description": "A secret value used for sending hits to Measurement Protocol.", +"id": "GoogleAnalyticsAdminV1alphaMeasurementProtocolSecret", +"properties": { +"displayName": { +"description": "Required. Human-readable display name for this secret.", +"type": "string" +}, +"name": { +"description": "Output only. Resource name of this secret. This secret may be a child of any type of stream. Format: properties/{property}/dataStreams/{dataStream}/measurementProtocolSecrets/{measurementProtocolSecret}", +"readOnly": true, +"type": "string" +}, +"secretValue": { +"description": "Output only. The measurement protocol secret value. Pass this value to the api_secret field of the Measurement Protocol API when sending hits to this secret's parent property.", +"readOnly": true, +"type": "string" +} +}, +"type": "object" +}, +"GoogleAnalyticsAdminV1alphaNumericValue": { +"description": "To represent a number.", +"id": "GoogleAnalyticsAdminV1alphaNumericValue", +"properties": { +"doubleValue": { +"description": "Double value", +"format": "double", +"type": "number" +}, +"int64Value": { +"description": "Integer value", +"format": "int64", +"type": "string" +} +}, +"type": "object" +}, +"GoogleAnalyticsAdminV1alphaParameterMutation": { +"description": "Defines an event parameter to mutate.", +"id": "GoogleAnalyticsAdminV1alphaParameterMutation", +"properties": { +"parameter": { +"description": "Required. The name of the parameter to mutate. This value must: * be less than 40 characters. * be unique across across all mutations within the rule * consist only of letters, digits or _ (underscores) For event edit rules, the name may also be set to 'event_name' to modify the event_name in place.", +"type": "string" +}, +"parameterValue": { +"description": "Required. The value mutation to perform. * Must be less than 100 characters. * To specify a constant value for the param, use the value's string. * To copy value from another parameter, use syntax like \"[[other_parameter]]\" For more details, see this [help center article](https://support.google.com/analytics/answer/10085872#modify-an-event&zippy=%2Cin-this-article%2Cmodify-parameters).", +"type": "string" +} +}, +"type": "object" +}, +"GoogleAnalyticsAdminV1alphaPostbackWindow": { +"description": "Settings for a SKAdNetwork conversion postback window.", +"id": "GoogleAnalyticsAdminV1alphaPostbackWindow", +"properties": { +"conversionValues": { +"description": "Ordering of the repeated field will be used to prioritize the conversion value settings. Lower indexed entries are prioritized higher. The first conversion value setting that evaluates to true will be selected. It must have at least one entry if enable_postback_window_settings is set to true. It can have maximum of 128 entries.", +"items": { +"$ref": "GoogleAnalyticsAdminV1alphaConversionValues" +}, +"type": "array" +}, +"postbackWindowSettingsEnabled": { +"description": "If enable_postback_window_settings is true, conversion_values must be populated and will be used for determining when and how to set the Conversion Value on a client device and exporting schema to linked Ads accounts. If false, the settings are not used, but are retained in case they may be used in the future. This must always be true for postback_window_one.", +"type": "boolean" +} +}, +"type": "object" +}, +"GoogleAnalyticsAdminV1alphaProperty": { +"description": "A resource message representing a Google Analytics property.", +"id": "GoogleAnalyticsAdminV1alphaProperty", +"properties": { +"account": { +"description": "Immutable. The resource name of the parent account Format: accounts/{account_id} Example: \"accounts/123\"", +"type": "string" +}, +"createTime": { +"description": "Output only. Time when the entity was originally created.", +"format": "google-datetime", +"readOnly": true, +"type": "string" +}, +"currencyCode": { +"description": "The currency type used in reports involving monetary values. Format: https://en.wikipedia.org/wiki/ISO_4217 Examples: \"USD\", \"EUR\", \"JPY\"", +"type": "string" +}, +"deleteTime": { +"description": "Output only. If set, the time at which this property was trashed. If not set, then this property is not currently in the trash can.", +"format": "google-datetime", +"readOnly": true, +"type": "string" +}, +"displayName": { +"description": "Required. Human-readable display name for this property. The max allowed display name length is 100 UTF-16 code units.", +"type": "string" +}, +"expireTime": { +"description": "Output only. If set, the time at which this trashed property will be permanently deleted. If not set, then this property is not currently in the trash can and is not slated to be deleted.", +"format": "google-datetime", +"readOnly": true, +"type": "string" +}, +"industryCategory": { +"description": "Industry associated with this property Example: AUTOMOTIVE, FOOD_AND_DRINK", +"enum": [ +"INDUSTRY_CATEGORY_UNSPECIFIED", +"AUTOMOTIVE", +"BUSINESS_AND_INDUSTRIAL_MARKETS", +"FINANCE", +"HEALTHCARE", +"TECHNOLOGY", +"TRAVEL", +"OTHER", +"ARTS_AND_ENTERTAINMENT", +"BEAUTY_AND_FITNESS", +"BOOKS_AND_LITERATURE", +"FOOD_AND_DRINK", +"GAMES", +"HOBBIES_AND_LEISURE", +"HOME_AND_GARDEN", +"INTERNET_AND_TELECOM", +"LAW_AND_GOVERNMENT", +"NEWS", +"ONLINE_COMMUNITIES", +"PEOPLE_AND_SOCIETY", +"PETS_AND_ANIMALS", +"REAL_ESTATE", +"REFERENCE", +"SCIENCE", +"SPORTS", +"JOBS_AND_EDUCATION", +"SHOPPING" +], +"enumDescriptions": [ +"Industry category unspecified", +"Automotive", +"Business and industrial markets", +"Finance", +"Healthcare", +"Technology", +"Travel", +"Other", +"Arts and entertainment", +"Beauty and fitness", +"Books and literature", +"Food and drink", +"Games", +"Hobbies and leisure", +"Home and garden", +"Internet and telecom", +"Law and government", +"News", +"Online communities", +"People and society", +"Pets and animals", +"Real estate", +"Reference", +"Science", +"Sports", +"Jobs and education", +"Shopping" +], +"type": "string" +}, +"name": { +"description": "Output only. Resource name of this property. Format: properties/{property_id} Example: \"properties/1000\"", +"readOnly": true, +"type": "string" +}, +"parent": { +"description": "Immutable. Resource name of this property's logical parent. Note: The Property-Moving UI can be used to change the parent. Format: accounts/{account}, properties/{property} Example: \"accounts/100\", \"properties/101\"", +"type": "string" +}, +"propertyType": { +"description": "Immutable. The property type for this Property resource. When creating a property, if the type is \"PROPERTY_TYPE_UNSPECIFIED\", then \"ORDINARY_PROPERTY\" will be implied.", +"enum": [ +"PROPERTY_TYPE_UNSPECIFIED", +"PROPERTY_TYPE_ORDINARY", +"PROPERTY_TYPE_SUBPROPERTY", +"PROPERTY_TYPE_ROLLUP" +], +"enumDescriptions": [ +"Unknown or unspecified property type", +"Ordinary Google Analytics property", +"Google Analytics subproperty", +"Google Analytics rollup property" +], +"type": "string" +}, +"serviceLevel": { +"description": "Output only. The Google Analytics service level that applies to this property.", +"enum": [ +"SERVICE_LEVEL_UNSPECIFIED", +"GOOGLE_ANALYTICS_STANDARD", +"GOOGLE_ANALYTICS_360" +], +"enumDescriptions": [ +"Service level not specified or invalid.", +"The standard version of Google Analytics.", +"The paid, premium version of Google Analytics." +], +"readOnly": true, +"type": "string" +}, +"timeZone": { +"description": "Required. Reporting Time Zone, used as the day boundary for reports, regardless of where the data originates. If the time zone honors DST, Analytics will automatically adjust for the changes. NOTE: Changing the time zone only affects data going forward, and is not applied retroactively. Format: https://www.iana.org/time-zones Example: \"America/Los_Angeles\"", +"type": "string" +}, +"updateTime": { +"description": "Output only. Time when entity payload fields were last updated.", +"format": "google-datetime", +"readOnly": true, +"type": "string" +} +}, +"type": "object" +}, +"GoogleAnalyticsAdminV1alphaPropertySummary": { +"description": "A virtual resource representing metadata for a Google Analytics property.", +"id": "GoogleAnalyticsAdminV1alphaPropertySummary", +"properties": { +"displayName": { +"description": "Display name for the property referred to in this property summary.", +"type": "string" +}, +"parent": { +"description": "Resource name of this property's logical parent. Note: The Property-Moving UI can be used to change the parent. Format: accounts/{account}, properties/{property} Example: \"accounts/100\", \"properties/200\"", +"type": "string" +}, +"property": { +"description": "Resource name of property referred to by this property summary Format: properties/{property_id} Example: \"properties/1000\"", +"type": "string" +}, +"propertyType": { +"description": "The property's property type.", +"enum": [ +"PROPERTY_TYPE_UNSPECIFIED", +"PROPERTY_TYPE_ORDINARY", +"PROPERTY_TYPE_SUBPROPERTY", +"PROPERTY_TYPE_ROLLUP" +], +"enumDescriptions": [ +"Unknown or unspecified property type", +"Ordinary Google Analytics property", +"Google Analytics subproperty", +"Google Analytics rollup property" +], +"type": "string" +} +}, +"type": "object" +}, +"GoogleAnalyticsAdminV1alphaProvisionAccountTicketRequest": { +"description": "Request message for ProvisionAccountTicket RPC.", +"id": "GoogleAnalyticsAdminV1alphaProvisionAccountTicketRequest", +"properties": { +"account": { +"$ref": "GoogleAnalyticsAdminV1alphaAccount", +"description": "The account to create." +}, +"redirectUri": { +"description": "Redirect URI where the user will be sent after accepting Terms of Service. Must be configured in Cloud Console as a Redirect URI.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleAnalyticsAdminV1alphaProvisionAccountTicketResponse": { +"description": "Response message for ProvisionAccountTicket RPC.", +"id": "GoogleAnalyticsAdminV1alphaProvisionAccountTicketResponse", +"properties": { +"accountTicketId": { +"description": "The param to be passed in the ToS link.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleAnalyticsAdminV1alphaProvisionSubpropertyRequest": { +"description": "Request message for CreateSubproperty RPC.", +"id": "GoogleAnalyticsAdminV1alphaProvisionSubpropertyRequest", +"properties": { +"subproperty": { +"$ref": "GoogleAnalyticsAdminV1alphaProperty", +"description": "Required. The subproperty to create." +}, +"subpropertyEventFilter": { +"$ref": "GoogleAnalyticsAdminV1alphaSubpropertyEventFilter", +"description": "Optional. The subproperty event filter to create on an ordinary property." +} +}, +"type": "object" +}, +"GoogleAnalyticsAdminV1alphaProvisionSubpropertyResponse": { +"description": "Response message for ProvisionSubproperty RPC.", +"id": "GoogleAnalyticsAdminV1alphaProvisionSubpropertyResponse", +"properties": { +"subproperty": { +"$ref": "GoogleAnalyticsAdminV1alphaProperty", +"description": "The created subproperty." +}, +"subpropertyEventFilter": { +"$ref": "GoogleAnalyticsAdminV1alphaSubpropertyEventFilter", +"description": "The created subproperty event filter." +} +}, +"type": "object" +}, +"GoogleAnalyticsAdminV1alphaReorderEventEditRulesRequest": { +"description": "Request message for ReorderEventEditRules RPC.", +"id": "GoogleAnalyticsAdminV1alphaReorderEventEditRulesRequest", +"properties": { +"eventEditRules": { +"description": "Required. EventEditRule resource names for the specified data stream, in the needed processing order. All EventEditRules for the stream must be present in the list.", +"items": { +"type": "string" +}, +"type": "array" +} +}, +"type": "object" +}, +"GoogleAnalyticsAdminV1alphaRollupPropertySourceLink": { +"description": "A link that references a source property under the parent rollup property.", +"id": "GoogleAnalyticsAdminV1alphaRollupPropertySourceLink", +"properties": { +"name": { +"description": "Output only. Resource name of this RollupPropertySourceLink. Format: 'properties/{property_id}/rollupPropertySourceLinks/{rollup_property_source_link}' Format: 'properties/123/rollupPropertySourceLinks/456'", +"readOnly": true, +"type": "string" +}, +"sourceProperty": { +"description": "Immutable. Resource name of the source property. Format: properties/{property_id} Example: \"properties/789\"", +"type": "string" +} +}, +"type": "object" +}, +"GoogleAnalyticsAdminV1alphaRunAccessReportRequest": { +"description": "The request for a Data Access Record Report.", +"id": "GoogleAnalyticsAdminV1alphaRunAccessReportRequest", +"properties": { +"dateRanges": { +"description": "Date ranges of access records to read. If multiple date ranges are requested, each response row will contain a zero based date range index. If two date ranges overlap, the access records for the overlapping days is included in the response rows for both date ranges. Requests are allowed up to 2 date ranges.", +"items": { +"$ref": "GoogleAnalyticsAdminV1alphaAccessDateRange" +}, +"type": "array" +}, +"dimensionFilter": { +"$ref": "GoogleAnalyticsAdminV1alphaAccessFilterExpression", +"description": "Dimension filters let you restrict report response to specific dimension values which match the filter. For example, filtering on access records of a single user. To learn more, see [Fundamentals of Dimension Filters](https://developers.google.com/analytics/devguides/reporting/data/v1/basics#dimension_filters) for examples. Metrics cannot be used in this filter." +}, +"dimensions": { +"description": "The dimensions requested and displayed in the response. Requests are allowed up to 9 dimensions.", +"items": { +"$ref": "GoogleAnalyticsAdminV1alphaAccessDimension" +}, +"type": "array" +}, +"expandGroups": { +"description": "Optional. Decides whether to return the users within user groups. This field works only when include_all_users is set to true. If true, it will return all users with access to the specified property or account. If false, only the users with direct access will be returned.", +"type": "boolean" +}, +"includeAllUsers": { +"description": "Optional. Determines whether to include users who have never made an API call in the response. If true, all users with access to the specified property or account are included in the response, regardless of whether they have made an API call or not. If false, only the users who have made an API call will be included.", +"type": "boolean" +}, +"limit": { +"description": "The number of rows to return. If unspecified, 10,000 rows are returned. The API returns a maximum of 100,000 rows per request, no matter how many you ask for. `limit` must be positive. The API may return fewer rows than the requested `limit`, if there aren't as many remaining rows as the `limit`. For instance, there are fewer than 300 possible values for the dimension `country`, so when reporting on only `country`, you can't get more than 300 rows, even if you set `limit` to a higher value. To learn more about this pagination parameter, see [Pagination](https://developers.google.com/analytics/devguides/reporting/data/v1/basics#pagination).", +"format": "int64", +"type": "string" +}, +"metricFilter": { +"$ref": "GoogleAnalyticsAdminV1alphaAccessFilterExpression", +"description": "Metric filters allow you to restrict report response to specific metric values which match the filter. Metric filters are applied after aggregating the report's rows, similar to SQL having-clause. Dimensions cannot be used in this filter." +}, +"metrics": { +"description": "The metrics requested and displayed in the response. Requests are allowed up to 10 metrics.", +"items": { +"$ref": "GoogleAnalyticsAdminV1alphaAccessMetric" +}, +"type": "array" +}, +"offset": { +"description": "The row count of the start row. The first row is counted as row 0. If offset is unspecified, it is treated as 0. If offset is zero, then this method will return the first page of results with `limit` entries. To learn more about this pagination parameter, see [Pagination](https://developers.google.com/analytics/devguides/reporting/data/v1/basics#pagination).", +"format": "int64", +"type": "string" +}, +"orderBys": { +"description": "Specifies how rows are ordered in the response.", +"items": { +"$ref": "GoogleAnalyticsAdminV1alphaAccessOrderBy" +}, +"type": "array" +}, +"returnEntityQuota": { +"description": "Toggles whether to return the current state of this Analytics Property's quota. Quota is returned in [AccessQuota](#AccessQuota). For account-level requests, this field must be false.", +"type": "boolean" +}, +"timeZone": { +"description": "This request's time zone if specified. If unspecified, the property's time zone is used. The request's time zone is used to interpret the start & end dates of the report. Formatted as strings from the IANA Time Zone database (https://www.iana.org/time-zones); for example \"America/New_York\" or \"Asia/Tokyo\".", +"type": "string" +} +}, +"type": "object" +}, +"GoogleAnalyticsAdminV1alphaRunAccessReportResponse": { +"description": "The customized Data Access Record Report response.", +"id": "GoogleAnalyticsAdminV1alphaRunAccessReportResponse", +"properties": { +"dimensionHeaders": { +"description": "The header for a column in the report that corresponds to a specific dimension. The number of DimensionHeaders and ordering of DimensionHeaders matches the dimensions present in rows.", +"items": { +"$ref": "GoogleAnalyticsAdminV1alphaAccessDimensionHeader" +}, +"type": "array" +}, +"metricHeaders": { +"description": "The header for a column in the report that corresponds to a specific metric. The number of MetricHeaders and ordering of MetricHeaders matches the metrics present in rows.", +"items": { +"$ref": "GoogleAnalyticsAdminV1alphaAccessMetricHeader" +}, +"type": "array" +}, +"quota": { +"$ref": "GoogleAnalyticsAdminV1alphaAccessQuota", +"description": "The quota state for this Analytics property including this request. This field doesn't work with account-level requests." +}, +"rowCount": { +"description": "The total number of rows in the query result. `rowCount` is independent of the number of rows returned in the response, the `limit` request parameter, and the `offset` request parameter. For example if a query returns 175 rows and includes `limit` of 50 in the API request, the response will contain `rowCount` of 175 but only 50 rows. To learn more about this pagination parameter, see [Pagination](https://developers.google.com/analytics/devguides/reporting/data/v1/basics#pagination).", +"format": "int32", +"type": "integer" +}, +"rows": { +"description": "Rows of dimension value combinations and metric values in the report.", +"items": { +"$ref": "GoogleAnalyticsAdminV1alphaAccessRow" +}, +"type": "array" +} +}, +"type": "object" +}, +"GoogleAnalyticsAdminV1alphaSKAdNetworkConversionValueSchema": { +"description": "SKAdNetwork conversion value schema of an iOS stream.", +"id": "GoogleAnalyticsAdminV1alphaSKAdNetworkConversionValueSchema", +"properties": { +"applyConversionValues": { +"description": "If enabled, the GA SDK will set conversion values using this schema definition, and schema will be exported to any Google Ads accounts linked to this property. If disabled, the GA SDK will not automatically set conversion values, and also the schema will not be exported to Ads.", +"type": "boolean" +}, +"name": { +"description": "Output only. Resource name of the schema. This will be child of ONLY an iOS stream, and there can be at most one such child under an iOS stream. Format: properties/{property}/dataStreams/{dataStream}/sKAdNetworkConversionValueSchema", +"readOnly": true, +"type": "string" +}, +"postbackWindowOne": { +"$ref": "GoogleAnalyticsAdminV1alphaPostbackWindow", +"description": "Required. The conversion value settings for the first postback window. These differ from values for postback window two and three in that they contain a \"Fine\" grained conversion value (a numeric value). Conversion values for this postback window must be set. The other windows are optional and may inherit this window's settings if unset or disabled." +}, +"postbackWindowThree": { +"$ref": "GoogleAnalyticsAdminV1alphaPostbackWindow", +"description": "The conversion value settings for the third postback window. This field should only be set if the user chose to define different conversion values for this postback window. It is allowed to configure window 3 without setting window 2. In case window 1 & 2 settings are set and enable_postback_window_settings for this postback window is set to false, the schema will inherit settings from postback_window_two." +}, +"postbackWindowTwo": { +"$ref": "GoogleAnalyticsAdminV1alphaPostbackWindow", +"description": "The conversion value settings for the second postback window. This field should only be configured if there is a need to define different conversion values for this postback window. If enable_postback_window_settings is set to false for this postback window, the values from postback_window_one will be used." +} +}, +"type": "object" +}, +"GoogleAnalyticsAdminV1alphaSearchAds360Link": { +"description": "A link between a Google Analytics property and a Search Ads 360 entity.", +"id": "GoogleAnalyticsAdminV1alphaSearchAds360Link", +"properties": { +"adsPersonalizationEnabled": { +"description": "Enables personalized advertising features with this integration. If this field is not set on create, it will be defaulted to true.", +"type": "boolean" +}, +"advertiserDisplayName": { +"description": "Output only. The display name of the Search Ads 360 Advertiser. Allows users to easily identify the linked resource.", +"readOnly": true, +"type": "string" +}, +"advertiserId": { +"description": "Immutable. This field represents the Advertiser ID of the Search Ads 360 Advertiser. that has been linked.", +"type": "string" +}, +"campaignDataSharingEnabled": { +"description": "Immutable. Enables the import of campaign data from Search Ads 360 into the Google Analytics property. After link creation, this can only be updated from the Search Ads 360 product. If this field is not set on create, it will be defaulted to true.", +"type": "boolean" +}, +"costDataSharingEnabled": { +"description": "Immutable. Enables the import of cost data from Search Ads 360 to the Google Analytics property. This can only be enabled if campaign_data_sharing_enabled is enabled. After link creation, this can only be updated from the Search Ads 360 product. If this field is not set on create, it will be defaulted to true.", +"type": "boolean" +}, +"name": { +"description": "Output only. The resource name for this SearchAds360Link resource. Format: properties/{propertyId}/searchAds360Links/{linkId} Note: linkId is not the Search Ads 360 advertiser ID", +"readOnly": true, +"type": "string" +}, +"siteStatsSharingEnabled": { +"description": "Enables export of site stats with this integration. If this field is not set on create, it will be defaulted to true.", +"type": "boolean" +} +}, +"type": "object" +}, +"GoogleAnalyticsAdminV1alphaSearchChangeHistoryEventsRequest": { +"description": "Request message for SearchChangeHistoryEvents RPC.", +"id": "GoogleAnalyticsAdminV1alphaSearchChangeHistoryEventsRequest", +"properties": { +"action": { +"description": "Optional. If set, only return changes that match one or more of these types of actions.", +"items": { +"enum": [ +"ACTION_TYPE_UNSPECIFIED", +"CREATED", +"UPDATED", +"DELETED" +], +"enumDescriptions": [ +"Action type unknown or not specified.", +"Resource was created in this change.", +"Resource was updated in this change.", +"Resource was deleted in this change." +], +"type": "string" +}, +"type": "array" +}, +"actorEmail": { +"description": "Optional. If set, only return changes if they are made by a user in this list.", +"items": { +"type": "string" +}, +"type": "array" +}, +"earliestChangeTime": { +"description": "Optional. If set, only return changes made after this time (inclusive).", +"format": "google-datetime", +"type": "string" +}, +"latestChangeTime": { +"description": "Optional. If set, only return changes made before this time (inclusive).", +"format": "google-datetime", +"type": "string" +}, +"pageSize": { +"description": "Optional. The maximum number of ChangeHistoryEvent items to return. If unspecified, at most 50 items will be returned. The maximum value is 200 (higher values will be coerced to the maximum). Note that the service may return a page with fewer items than this value specifies (potentially even zero), and that there still may be additional pages. If you want a particular number of items, you'll need to continue requesting additional pages using `page_token` until you get the needed number.", +"format": "int32", +"type": "integer" +}, +"pageToken": { +"description": "Optional. A page token, received from a previous `SearchChangeHistoryEvents` call. Provide this to retrieve the subsequent page. When paginating, all other parameters provided to `SearchChangeHistoryEvents` must match the call that provided the page token.", +"type": "string" +}, +"property": { +"description": "Optional. Resource name for a child property. If set, only return changes made to this property or its child resources. Format: properties/{propertyId} Example: `properties/100`", +"type": "string" +}, +"resourceType": { +"description": "Optional. If set, only return changes if they are for a resource that matches at least one of these types.", +"items": { +"enum": [ +"CHANGE_HISTORY_RESOURCE_TYPE_UNSPECIFIED", +"ACCOUNT", +"PROPERTY", +"FIREBASE_LINK", +"GOOGLE_ADS_LINK", +"GOOGLE_SIGNALS_SETTINGS", +"CONVERSION_EVENT", +"MEASUREMENT_PROTOCOL_SECRET", +"CUSTOM_DIMENSION", +"CUSTOM_METRIC", +"DATA_RETENTION_SETTINGS", +"DISPLAY_VIDEO_360_ADVERTISER_LINK", +"DISPLAY_VIDEO_360_ADVERTISER_LINK_PROPOSAL", +"SEARCH_ADS_360_LINK", +"DATA_STREAM", +"ATTRIBUTION_SETTINGS", +"EXPANDED_DATA_SET", +"CHANNEL_GROUP", +"BIGQUERY_LINK", +"ENHANCED_MEASUREMENT_SETTINGS", +"DATA_REDACTION_SETTINGS", +"SKADNETWORK_CONVERSION_VALUE_SCHEMA", +"ADSENSE_LINK", +"AUDIENCE", +"EVENT_CREATE_RULE", +"CALCULATED_METRIC" +], +"enumDescriptions": [ +"Resource type unknown or not specified.", +"Account resource", +"Property resource", +"FirebaseLink resource", +"GoogleAdsLink resource", +"GoogleSignalsSettings resource", +"ConversionEvent resource", +"MeasurementProtocolSecret resource", +"CustomDimension resource", +"CustomMetric resource", +"DataRetentionSettings resource", +"DisplayVideo360AdvertiserLink resource", +"DisplayVideo360AdvertiserLinkProposal resource", +"SearchAds360Link resource", +"DataStream resource", +"AttributionSettings resource", +"ExpandedDataSet resource", +"ChannelGroup resource", +"BigQuery link resource", +"EnhancedMeasurementSettings resource", +"DataRedactionSettings resource", +"SKAdNetworkConversionValueSchema resource", +"AdSenseLink resource", +"Audience resource", +"EventCreateRule resource", +"CalculatedMetric resource" +], +"type": "string" +}, +"type": "array" +} +}, +"type": "object" +}, +"GoogleAnalyticsAdminV1alphaSearchChangeHistoryEventsResponse": { +"description": "Response message for SearchAccounts RPC.", +"id": "GoogleAnalyticsAdminV1alphaSearchChangeHistoryEventsResponse", +"properties": { +"changeHistoryEvents": { +"description": "Results that were accessible to the caller.", +"items": { +"$ref": "GoogleAnalyticsAdminV1alphaChangeHistoryEvent" +}, +"type": "array" +}, +"nextPageToken": { +"description": "A token, which can be sent as `page_token` to retrieve the next page. If this field is omitted, there are no subsequent pages.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleAnalyticsAdminV1alphaSetAutomatedGa4ConfigurationOptOutRequest": { +"description": "Request for setting the opt out status for the automated GA4 setup process.", +"id": "GoogleAnalyticsAdminV1alphaSetAutomatedGa4ConfigurationOptOutRequest", +"properties": { +"optOut": { +"description": "The status to set.", +"type": "boolean" +}, +"property": { +"description": "Required. The UA property to set the opt out status. Note this request uses the internal property ID, not the tracking ID of the form UA-XXXXXX-YY. Format: properties/{internalWebPropertyId} Example: properties/1234", +"type": "string" +} +}, +"type": "object" +}, +"GoogleAnalyticsAdminV1alphaSetAutomatedGa4ConfigurationOptOutResponse": { +"description": "Response message for setting the opt out status for the automated GA4 setup process.", +"id": "GoogleAnalyticsAdminV1alphaSetAutomatedGa4ConfigurationOptOutResponse", +"properties": {}, +"type": "object" +}, +"GoogleAnalyticsAdminV1alphaSubpropertyEventFilter": { +"description": "A resource message representing a Google Analytics subproperty event filter.", +"id": "GoogleAnalyticsAdminV1alphaSubpropertyEventFilter", +"properties": { +"applyToProperty": { +"description": "Immutable. Resource name of the Subproperty that uses this filter.", +"type": "string" +}, +"filterClauses": { +"description": "Required. Unordered list. Filter clauses that define the SubpropertyEventFilter. All clauses are AND'ed together to determine what data is sent to the subproperty.", +"items": { +"$ref": "GoogleAnalyticsAdminV1alphaSubpropertyEventFilterClause" +}, +"type": "array" +}, +"name": { +"description": "Output only. Format: properties/{ordinary_property_id}/subpropertyEventFilters/{sub_property_event_filter} Example: properties/1234/subpropertyEventFilters/5678", +"readOnly": true, +"type": "string" +} +}, +"type": "object" +}, +"GoogleAnalyticsAdminV1alphaSubpropertyEventFilterClause": { +"description": "A clause for defining a filter. A filter may be inclusive (events satisfying the filter clause are included in the subproperty's data) or exclusive (events satisfying the filter clause are excluded from the subproperty's data).", +"id": "GoogleAnalyticsAdminV1alphaSubpropertyEventFilterClause", +"properties": { +"filterClauseType": { +"description": "Required. The type for the filter clause.", +"enum": [ +"FILTER_CLAUSE_TYPE_UNSPECIFIED", +"INCLUDE", +"EXCLUDE" +], +"enumDescriptions": [ +"Filter clause type unknown or not specified.", +"Events will be included in the Sub property if the filter clause is met.", +"Events will be excluded from the Sub property if the filter clause is met." +], +"type": "string" +}, +"filterExpression": { +"$ref": "GoogleAnalyticsAdminV1alphaSubpropertyEventFilterExpression", +"description": "Required. The logical expression for what events are sent to the subproperty." +} +}, +"type": "object" +}, +"GoogleAnalyticsAdminV1alphaSubpropertyEventFilterCondition": { +"description": "A specific filter expression", +"id": "GoogleAnalyticsAdminV1alphaSubpropertyEventFilterCondition", +"properties": { +"fieldName": { +"description": "Required. The field that is being filtered.", +"type": "string" +}, +"nullFilter": { +"description": "A filter for null values.", +"type": "boolean" +}, +"stringFilter": { +"$ref": "GoogleAnalyticsAdminV1alphaSubpropertyEventFilterConditionStringFilter", +"description": "A filter for a string-type dimension that matches a particular pattern." +} +}, +"type": "object" +}, +"GoogleAnalyticsAdminV1alphaSubpropertyEventFilterConditionStringFilter": { +"description": "A filter for a string-type dimension that matches a particular pattern.", +"id": "GoogleAnalyticsAdminV1alphaSubpropertyEventFilterConditionStringFilter", +"properties": { +"caseSensitive": { +"description": "Optional. If true, the string value is case sensitive. If false, the match is case-insensitive.", +"type": "boolean" +}, +"matchType": { +"description": "Required. The match type for the string filter.", +"enum": [ +"MATCH_TYPE_UNSPECIFIED", +"EXACT", +"BEGINS_WITH", +"ENDS_WITH", +"CONTAINS", +"FULL_REGEXP", +"PARTIAL_REGEXP" +], +"enumDescriptions": [ +"Match type unknown or not specified.", +"Exact match of the string value.", +"Begins with the string value.", +"Ends with the string value.", +"Contains the string value.", +"Full regular expression matches with the string value.", +"Partial regular expression matches with the string value." +], +"type": "string" +}, +"value": { +"description": "Required. The string value used for the matching.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleAnalyticsAdminV1alphaSubpropertyEventFilterExpression": { +"description": "A logical expression of Subproperty event filters.", +"id": "GoogleAnalyticsAdminV1alphaSubpropertyEventFilterExpression", +"properties": { +"filterCondition": { +"$ref": "GoogleAnalyticsAdminV1alphaSubpropertyEventFilterCondition", +"description": "Creates a filter that matches a specific event. This cannot be set on the top level SubpropertyEventFilterExpression." +}, +"notExpression": { +"$ref": "GoogleAnalyticsAdminV1alphaSubpropertyEventFilterExpression", +"description": "A filter expression to be NOT'ed (inverted, complemented). It can only include a filter. This cannot be set on the top level SubpropertyEventFilterExpression." +}, +"orGroup": { +"$ref": "GoogleAnalyticsAdminV1alphaSubpropertyEventFilterExpressionList", +"description": "A list of expressions to OR\u2019ed together. Must only contain not_expression or filter_condition expressions." +} +}, +"type": "object" +}, +"GoogleAnalyticsAdminV1alphaSubpropertyEventFilterExpressionList": { +"description": "A list of Subproperty event filter expressions.", +"id": "GoogleAnalyticsAdminV1alphaSubpropertyEventFilterExpressionList", +"properties": { +"filterExpressions": { +"description": "Required. Unordered list. A list of Subproperty event filter expressions", +"items": { +"$ref": "GoogleAnalyticsAdminV1alphaSubpropertyEventFilterExpression" +}, +"type": "array" +} +}, +"type": "object" +}, +"GoogleAnalyticsAdminV1alphaUpdateAccessBindingRequest": { +"description": "Request message for UpdateAccessBinding RPC.", +"id": "GoogleAnalyticsAdminV1alphaUpdateAccessBindingRequest", +"properties": { +"accessBinding": { +"$ref": "GoogleAnalyticsAdminV1alphaAccessBinding", +"description": "Required. The access binding to update." +} +}, +"type": "object" +}, +"GoogleProtobufEmpty": { +"description": "A generic empty message that you can re-use to avoid defining duplicated empty messages in your APIs. A typical example is to use it as the request or the response type of an API method. For instance: service Foo { rpc Bar(google.protobuf.Empty) returns (google.protobuf.Empty); }", +"id": "GoogleProtobufEmpty", +"properties": {}, +"type": "object" +} +}, +"servicePath": "", +"title": "Google Analytics Admin API", +"version": "v1alpha", +"version_module": true +} \ No newline at end of file diff --git a/.venv/lib/python3.11/site-packages/googleapiclient/discovery_cache/documents/analyticsdata.v1alpha.json b/.venv/lib/python3.11/site-packages/googleapiclient/discovery_cache/documents/analyticsdata.v1alpha.json new file mode 100644 index 0000000000000000000000000000000000000000..413d52571de4ac353817dda37536be2f9e05f204 --- /dev/null +++ b/.venv/lib/python3.11/site-packages/googleapiclient/discovery_cache/documents/analyticsdata.v1alpha.json @@ -0,0 +1,1547 @@ +{ + "auth": { + "oauth2": { + "scopes": { + "https://www.googleapis.com/auth/analytics": { + "description": "View and manage your Google Analytics data" + }, + "https://www.googleapis.com/auth/analytics.readonly": { + "description": "See and download your Google Analytics data" + } + } + } + }, + "basePath": "", + "baseUrl": "https://analyticsdata.googleapis.com/", + "batchPath": "batch", + "canonicalName": "AnalyticsData", + "description": "Accesses report data in Google Analytics.", + "discoveryVersion": "v1", + "documentationLink": "https://developers.google.com/analytics/devguides/reporting/data/v1/", + "fullyEncodeReservedExpansion": true, + "icons": { + "x16": "http://www.google.com/images/icons/product/search-16.gif", + "x32": "http://www.google.com/images/icons/product/search-32.gif" + }, + "id": "analyticsdata:v1alpha", + "kind": "discovery#restDescription", + "mtlsRootUrl": "https://analyticsdata.mtls.googleapis.com/", + "name": "analyticsdata", + "ownerDomain": "google.com", + "ownerName": "Google", + "parameters": { + "$.xgafv": { + "description": "V1 error format.", + "enum": [ + "1", + "2" + ], + "enumDescriptions": [ + "v1 error format", + "v2 error format" + ], + "location": "query", + "type": "string" + }, + "access_token": { + "description": "OAuth access token.", + "location": "query", + "type": "string" + }, + "alt": { + "default": "json", + "description": "Data format for response.", + "enum": [ + "json", + "media", + "proto" + ], + "enumDescriptions": [ + "Responses with Content-Type of application/json", + "Media download with context-dependent Content-Type", + "Responses with Content-Type of application/x-protobuf" + ], + "location": "query", + "type": "string" + }, + "callback": { + "description": "JSONP", + "location": "query", + "type": "string" + }, + "fields": { + "description": "Selector specifying which fields to include in a partial response.", + "location": "query", + "type": "string" + }, + "key": { + "description": "API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token.", + "location": "query", + "type": "string" + }, + "oauth_token": { + "description": "OAuth 2.0 token for the current user.", + "location": "query", + "type": "string" + }, + "prettyPrint": { + "default": "true", + "description": "Returns response with indentations and line breaks.", + "location": "query", + "type": "boolean" + }, + "quotaUser": { + "description": "Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters.", + "location": "query", + "type": "string" + }, + "uploadType": { + "description": "Legacy upload protocol for media (e.g. \"media\", \"multipart\").", + "location": "query", + "type": "string" + }, + "upload_protocol": { + "description": "Upload protocol for media (e.g. \"raw\", \"multipart\").", + "location": "query", + "type": "string" + } + }, + "protocol": "rest", + "resources": { + "properties": { + "methods": { + "getMetadata": { + "description": "Returns metadata for dimensions and metrics available in reporting methods. Used to explore the dimensions and metrics. In this method, a Google Analytics GA4 Property Identifier is specified in the request, and the metadata response includes Custom dimensions and metrics as well as Universal metadata. For example if a custom metric with parameter name `levels_unlocked` is registered to a property, the Metadata response will contain `customEvent:levels_unlocked`. Universal metadata are dimensions and metrics applicable to any property such as `country` and `totalUsers`.", + "flatPath": "v1alpha/properties/{propertiesId}/metadata", + "httpMethod": "GET", + "id": "analyticsdata.properties.getMetadata", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. The resource name of the metadata to retrieve. This name field is specified in the URL path and not URL parameters. Property is a numeric Google Analytics GA4 Property identifier. To learn more, see [where to find your Property ID](https://developers.google.com/analytics/devguides/reporting/data/v1/property-id). Example: properties/1234/metadata Set the Property ID to 0 for dimensions and metrics common to all properties. In this special mode, this method will not return custom dimensions and metrics.", + "location": "path", + "pattern": "^properties/[^/]+/metadata$", + "required": true, + "type": "string" + } + }, + "path": "v1alpha/{+name}", + "response": { + "$ref": "Metadata" + }, + "scopes": [ + "https://www.googleapis.com/auth/analytics", + "https://www.googleapis.com/auth/analytics.readonly" + ] + }, + "runRealtimeReport": { + "description": "The Google Analytics Realtime API returns a customized report of realtime event data for your property. These reports show events and usage from the last 30 minutes.", + "flatPath": "v1alpha/properties/{propertiesId}:runRealtimeReport", + "httpMethod": "POST", + "id": "analyticsdata.properties.runRealtimeReport", + "parameterOrder": [ + "property" + ], + "parameters": { + "property": { + "description": "A Google Analytics GA4 property identifier whose events are tracked. Specified in the URL path and not the body. To learn more, see [where to find your Property ID](https://developers.google.com/analytics/devguides/reporting/data/v1/property-id). Example: properties/1234", + "location": "path", + "pattern": "^properties/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1alpha/{+property}:runRealtimeReport", + "request": { + "$ref": "RunRealtimeReportRequest" + }, + "response": { + "$ref": "RunRealtimeReportResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/analytics", + "https://www.googleapis.com/auth/analytics.readonly" + ] + } + } + }, + "v1alpha": { + "methods": { + "batchRunPivotReports": { + "description": "Returns multiple pivot reports in a batch. All reports must be for the same Entity.", + "flatPath": "v1alpha:batchRunPivotReports", + "httpMethod": "POST", + "id": "analyticsdata.batchRunPivotReports", + "parameterOrder": [], + "parameters": {}, + "path": "v1alpha:batchRunPivotReports", + "request": { + "$ref": "BatchRunPivotReportsRequest" + }, + "response": { + "$ref": "BatchRunPivotReportsResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/analytics", + "https://www.googleapis.com/auth/analytics.readonly" + ] + }, + "batchRunReports": { + "description": "Returns multiple reports in a batch. All reports must be for the same Entity.", + "flatPath": "v1alpha:batchRunReports", + "httpMethod": "POST", + "id": "analyticsdata.batchRunReports", + "parameterOrder": [], + "parameters": {}, + "path": "v1alpha:batchRunReports", + "request": { + "$ref": "BatchRunReportsRequest" + }, + "response": { + "$ref": "BatchRunReportsResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/analytics", + "https://www.googleapis.com/auth/analytics.readonly" + ] + }, + "runPivotReport": { + "description": "Returns a customized pivot report of your Google Analytics event data. Pivot reports are more advanced and expressive formats than regular reports. In a pivot report, dimensions are only visible if they are included in a pivot. Multiple pivots can be specified to further dissect your data.", + "flatPath": "v1alpha:runPivotReport", + "httpMethod": "POST", + "id": "analyticsdata.runPivotReport", + "parameterOrder": [], + "parameters": {}, + "path": "v1alpha:runPivotReport", + "request": { + "$ref": "RunPivotReportRequest" + }, + "response": { + "$ref": "RunPivotReportResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/analytics", + "https://www.googleapis.com/auth/analytics.readonly" + ] + }, + "runReport": { + "description": "Returns a customized report of your Google Analytics event data. Reports contain statistics derived from data collected by the Google Analytics tracking code. The data returned from the API is as a table with columns for the requested dimensions and metrics. Metrics are individual measurements of user activity on your property, such as active users or event count. Dimensions break down metrics across some common criteria, such as country or event name.", + "flatPath": "v1alpha:runReport", + "httpMethod": "POST", + "id": "analyticsdata.runReport", + "parameterOrder": [], + "parameters": {}, + "path": "v1alpha:runReport", + "request": { + "$ref": "RunReportRequest" + }, + "response": { + "$ref": "RunReportResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/analytics", + "https://www.googleapis.com/auth/analytics.readonly" + ] + } + } + } + }, + "revision": "20210206", + "rootUrl": "https://analyticsdata.googleapis.com/", + "schemas": { + "BatchRunPivotReportsRequest": { + "description": "The batch request containing multiple pivot report requests.", + "id": "BatchRunPivotReportsRequest", + "properties": { + "entity": { + "$ref": "Entity", + "description": "A property whose events are tracked. This entity must be specified for the batch. The entity within RunPivotReportRequest may either be unspecified or consistent with this entity." + }, + "requests": { + "description": "Individual requests. Each request has a separate pivot report response. Each batch request is allowed up to 5 requests.", + "items": { + "$ref": "RunPivotReportRequest" + }, + "type": "array" + } + }, + "type": "object" + }, + "BatchRunPivotReportsResponse": { + "description": "The batch response containing multiple pivot reports.", + "id": "BatchRunPivotReportsResponse", + "properties": { + "pivotReports": { + "description": "Individual responses. Each response has a separate pivot report request.", + "items": { + "$ref": "RunPivotReportResponse" + }, + "type": "array" + } + }, + "type": "object" + }, + "BatchRunReportsRequest": { + "description": "The batch request containing multiple report requests.", + "id": "BatchRunReportsRequest", + "properties": { + "entity": { + "$ref": "Entity", + "description": "A property whose events are tracked. This entity must be specified for the batch. The entity within RunReportRequest may either be unspecified or consistent with this entity." + }, + "requests": { + "description": "Individual requests. Each request has a separate report response. Each batch request is allowed up to 5 requests.", + "items": { + "$ref": "RunReportRequest" + }, + "type": "array" + } + }, + "type": "object" + }, + "BatchRunReportsResponse": { + "description": "The batch response containing multiple reports.", + "id": "BatchRunReportsResponse", + "properties": { + "reports": { + "description": "Individual responses. Each response has a separate report request.", + "items": { + "$ref": "RunReportResponse" + }, + "type": "array" + } + }, + "type": "object" + }, + "BetweenFilter": { + "description": "To express that the result needs to be between two numbers (inclusive).", + "id": "BetweenFilter", + "properties": { + "fromValue": { + "$ref": "NumericValue", + "description": "Begins with this number." + }, + "toValue": { + "$ref": "NumericValue", + "description": "Ends with this number." + } + }, + "type": "object" + }, + "CaseExpression": { + "description": "Used to convert a dimension value to a single case.", + "id": "CaseExpression", + "properties": { + "dimensionName": { + "description": "Name of a dimension. The name must refer back to a name in dimensions field of the request.", + "type": "string" + } + }, + "type": "object" + }, + "Cohort": { + "description": "Defines a cohort selection criteria. A cohort is a group of users who share a common characteristic. For example, users with the same `firstSessionDate` belong to the same cohort.", + "id": "Cohort", + "properties": { + "dateRange": { + "$ref": "DateRange", + "description": "The cohort selects users whose first touch date is between start date and end date defined in the `dateRange`. This `dateRange` does not specify the full date range of event data that is present in a cohort report. In a cohort report, this `dateRange` is extended by the granularity and offset present in the `cohortsRange`; event data for the extended reporting date range is present in a cohort report. In a cohort request, this `dateRange` is required and the `dateRanges` in the `RunReportRequest` or `RunPivotReportRequest` must be unspecified. This `dateRange` should generally be aligned with the cohort's granularity. If `CohortsRange` uses daily granularity, this `dateRange` can be a single day. If `CohortsRange` uses weekly granularity, this `dateRange` can be aligned to a week boundary, starting at Sunday and ending Saturday. If `CohortsRange` uses monthly granularity, this `dateRange` can be aligned to a month, starting at the first and ending on the last day of the month." + }, + "dimension": { + "description": "Dimension used by the cohort. Required and only supports `firstSessionDate`.", + "type": "string" + }, + "name": { + "description": "Assigns a name to this cohort. The dimension `cohort` is valued to this name in a report response. If set, cannot begin with `cohort_` or `RESERVED_`. If not set, cohorts are named by their zero based index `cohort_0`, `cohort_1`, etc.", + "type": "string" + } + }, + "type": "object" + }, + "CohortReportSettings": { + "description": "Optional settings of a cohort report.", + "id": "CohortReportSettings", + "properties": { + "accumulate": { + "description": "If true, accumulates the result from first touch day to the end day. Not supported in `RunReportRequest`.", + "type": "boolean" + } + }, + "type": "object" + }, + "CohortSpec": { + "description": "The specification of cohorts for a cohort report. Cohort reports create a time series of user retention for the cohort. For example, you could select the cohort of users that were acquired in the first week of September and follow that cohort for the next six weeks. Selecting the users acquired in the first week of September cohort is specified in the `cohort` object. Following that cohort for the next six weeks is specified in the `cohortsRange` object. For examples, see [Cohort Report Examples](https://developers.google.com/analytics/devguides/reporting/data/v1/advanced#cohort_report_examples). The report response could show a weekly time series where say your app has retained 60% of this cohort after three weeks and 25% of this cohort after six weeks. These two percentages can be calculated by the metric `cohortActiveUsers/cohortTotalUsers` and will be separate rows in the report.", + "id": "CohortSpec", + "properties": { + "cohortReportSettings": { + "$ref": "CohortReportSettings", + "description": "Optional settings for a cohort report." + }, + "cohorts": { + "description": "Defines the selection criteria to group users into cohorts. Most cohort reports define only a single cohort. If multiple cohorts are specified, each cohort can be recognized in the report by their name.", + "items": { + "$ref": "Cohort" + }, + "type": "array" + }, + "cohortsRange": { + "$ref": "CohortsRange", + "description": "Cohort reports follow cohorts over an extended reporting date range. This range specifies an offset duration to follow the cohorts over." + } + }, + "type": "object" + }, + "CohortsRange": { + "description": "Configures the extended reporting date range for a cohort report. Specifies an offset duration to follow the cohorts over.", + "id": "CohortsRange", + "properties": { + "endOffset": { + "description": "Required. `endOffset` specifies the end date of the extended reporting date range for a cohort report. `endOffset` can be any positive integer but is commonly set to 5 to 10 so that reports contain data on the cohort for the next several granularity time periods. If `granularity` is `DAILY`, the `endDate` of the extended reporting date range is `endDate` of the cohort plus `endOffset` days. If `granularity` is `WEEKLY`, the `endDate` of the extended reporting date range is `endDate` of the cohort plus `endOffset * 7` days. If `granularity` is `MONTHLY`, the `endDate` of the extended reporting date range is `endDate` of the cohort plus `endOffset * 30` days.", + "format": "int32", + "type": "integer" + }, + "granularity": { + "description": "Required. The granularity used to interpret the `startOffset` and `endOffset` for the extended reporting date range for a cohort report.", + "enum": [ + "GRANULARITY_UNSPECIFIED", + "DAILY", + "WEEKLY", + "MONTHLY" + ], + "enumDescriptions": [ + "Should never be specified.", + "Daily granularity. Commonly used if the cohort's `dateRange` is a single day and the request contains `cohortNthDay`.", + "Weekly granularity. Commonly used if the cohort's `dateRange` is a week in duration (starting on Sunday and ending on Saturday) and the request contains `cohortNthWeek`.", + "Monthly granularity. Commonly used if the cohort's `dateRange` is a month in duration and the request contains `cohortNthMonth`." + ], + "type": "string" + }, + "startOffset": { + "description": "`startOffset` specifies the start date of the extended reporting date range for a cohort report. `startOffset` is commonly set to 0 so that reports contain data from the acquisition of the cohort forward. If `granularity` is `DAILY`, the `startDate` of the extended reporting date range is `startDate` of the cohort plus `startOffset` days. If `granularity` is `WEEKLY`, the `startDate` of the extended reporting date range is `startDate` of the cohort plus `startOffset * 7` days. If `granularity` is `MONTHLY`, the `startDate` of the extended reporting date range is `startDate` of the cohort plus `startOffset * 30` days.", + "format": "int32", + "type": "integer" + } + }, + "type": "object" + }, + "ConcatenateExpression": { + "description": "Used to combine dimension values to a single dimension.", + "id": "ConcatenateExpression", + "properties": { + "delimiter": { + "description": "The delimiter placed between dimension names. Delimiters are often single characters such as \"|\" or \",\" but can be longer strings. If a dimension value contains the delimiter, both will be present in response with no distinction. For example if dimension 1 value = \"US,FR\", dimension 2 value = \"JP\", and delimiter = \",\", then the response will contain \"US,FR,JP\".", + "type": "string" + }, + "dimensionNames": { + "description": "Names of dimensions. The names must refer back to names in the dimensions field of the request.", + "items": { + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, + "DateRange": { + "description": "A contiguous set of days: startDate, startDate + 1, ..., endDate. Requests are allowed up to 4 date ranges.", + "id": "DateRange", + "properties": { + "endDate": { + "description": "The inclusive end date for the query in the format `YYYY-MM-DD`. Cannot be before `start_date`. The format `NdaysAgo`, `yesterday`, or `today` is also accepted, and in that case, the date is inferred based on the property's reporting time zone.", + "type": "string" + }, + "name": { + "description": "Assigns a name to this date range. The dimension `dateRange` is valued to this name in a report response. If set, cannot begin with `date_range_` or `RESERVED_`. If not set, date ranges are named by their zero based index in the request: `date_range_0`, `date_range_1`, etc.", + "type": "string" + }, + "startDate": { + "description": "The inclusive start date for the query in the format `YYYY-MM-DD`. Cannot be after `end_date`. The format `NdaysAgo`, `yesterday`, or `today` is also accepted, and in that case, the date is inferred based on the property's reporting time zone.", + "type": "string" + } + }, + "type": "object" + }, + "Dimension": { + "description": "Dimensions are attributes of your data. For example, the dimension city indicates the city from which an event originates. Dimension values in report responses are strings; for example, city could be \"Paris\" or \"New York\". Requests are allowed up to 8 dimensions.", + "id": "Dimension", + "properties": { + "dimensionExpression": { + "$ref": "DimensionExpression", + "description": "One dimension can be the result of an expression of multiple dimensions. For example, dimension \"country, city\": concatenate(country, \", \", city)." + }, + "name": { + "description": "The name of the dimension. See the [API Dimensions](https://developers.google.com/analytics/devguides/reporting/data/v1/api-schema#dimensions) for the list of dimension names. If `dimensionExpression` is specified, `name` can be any string that you would like. For example if a `dimensionExpression` concatenates `country` and `city`, you could call that dimension `countryAndCity`. Dimensions are referenced by `name` in `dimensionFilter`, `orderBys`, `dimensionExpression`, and `pivots`.", + "type": "string" + } + }, + "type": "object" + }, + "DimensionExpression": { + "description": "Used to express a dimension which is the result of a formula of multiple dimensions. Example usages: 1) lower_case(dimension) 2) concatenate(dimension1, symbol, dimension2).", + "id": "DimensionExpression", + "properties": { + "concatenate": { + "$ref": "ConcatenateExpression", + "description": "Used to combine dimension values to a single dimension. For example, dimension \"country, city\": concatenate(country, \", \", city)." + }, + "lowerCase": { + "$ref": "CaseExpression", + "description": "Used to convert a dimension value to lower case." + }, + "upperCase": { + "$ref": "CaseExpression", + "description": "Used to convert a dimension value to upper case." + } + }, + "type": "object" + }, + "DimensionHeader": { + "description": "Describes a dimension column in the report. Dimensions requested in a report produce column entries within rows and DimensionHeaders. However, dimensions used exclusively within filters or expressions do not produce columns in a report; correspondingly, those dimensions do not produce headers.", + "id": "DimensionHeader", + "properties": { + "name": { + "description": "The dimension's name.", + "type": "string" + } + }, + "type": "object" + }, + "DimensionMetadata": { + "description": "Explains a dimension.", + "id": "DimensionMetadata", + "properties": { + "apiName": { + "description": "This dimension's name. Useable in [Dimension](#Dimension)'s `name`. For example, `eventName`.", + "type": "string" + }, + "customDefinition": { + "description": "True if the dimension is a custom dimension for this property.", + "type": "boolean" + }, + "deprecatedApiNames": { + "description": "Still usable but deprecated names for this dimension. If populated, this dimension is available by either `apiName` or one of `deprecatedApiNames` for a period of time. After the deprecation period, the dimension will be available only by `apiName`.", + "items": { + "type": "string" + }, + "type": "array" + }, + "description": { + "description": "Description of how this dimension is used and calculated.", + "type": "string" + }, + "uiName": { + "description": "This dimension's name within the Google Analytics user interface. For example, `Event name`.", + "type": "string" + } + }, + "type": "object" + }, + "DimensionOrderBy": { + "description": "Sorts by dimension values.", + "id": "DimensionOrderBy", + "properties": { + "dimensionName": { + "description": "A dimension name in the request to order by.", + "type": "string" + }, + "orderType": { + "description": "Controls the rule for dimension value ordering.", + "enum": [ + "ORDER_TYPE_UNSPECIFIED", + "ALPHANUMERIC", + "CASE_INSENSITIVE_ALPHANUMERIC", + "NUMERIC" + ], + "enumDescriptions": [ + "Unspecified.", + "Alphanumeric sort by Unicode code point. For example, \"2\" < \"A\" < \"X\" < \"b\" < \"z\".", + "Case insensitive alphanumeric sort by lower case Unicode code point. For example, \"2\" < \"A\" < \"b\" < \"X\" < \"z\".", + "Dimension values are converted to numbers before sorting. For example in NUMERIC sort, \"25\" < \"100\", and in `ALPHANUMERIC` sort, \"100\" < \"25\". Non-numeric dimension values all have equal ordering value below all numeric values." + ], + "type": "string" + } + }, + "type": "object" + }, + "DimensionValue": { + "description": "The value of a dimension.", + "id": "DimensionValue", + "properties": { + "value": { + "description": "Value as a string if the dimension type is a string.", + "type": "string" + } + }, + "type": "object" + }, + "Entity": { + "description": "The unique identifier of the property whose events are tracked.", + "id": "Entity", + "properties": { + "propertyId": { + "description": "A Google Analytics GA4 property id. To learn more, see [where to find your Property ID](https://developers.google.com/analytics/devguides/reporting/data/v1/property-id).", + "type": "string" + } + }, + "type": "object" + }, + "Filter": { + "description": "An expression to filter dimension or metric values.", + "id": "Filter", + "properties": { + "betweenFilter": { + "$ref": "BetweenFilter", + "description": "A filter for two values." + }, + "fieldName": { + "description": "The dimension name or metric name. Must be a name defined in dimensions or metrics.", + "type": "string" + }, + "inListFilter": { + "$ref": "InListFilter", + "description": "A filter for in list values." + }, + "numericFilter": { + "$ref": "NumericFilter", + "description": "A filter for numeric or date values." + }, + "stringFilter": { + "$ref": "StringFilter", + "description": "Strings related filter." + } + }, + "type": "object" + }, + "FilterExpression": { + "description": "To express dimension or metric filters. The fields in the same FilterExpression need to be either all dimensions or all metrics.", + "id": "FilterExpression", + "properties": { + "andGroup": { + "$ref": "FilterExpressionList", + "description": "The FilterExpressions in and_group have an AND relationship." + }, + "filter": { + "$ref": "Filter", + "description": "A primitive filter. All fields in filter in same FilterExpression needs to be either all dimensions or metrics." + }, + "notExpression": { + "$ref": "FilterExpression", + "description": "The FilterExpression is NOT of not_expression." + }, + "orGroup": { + "$ref": "FilterExpressionList", + "description": "The FilterExpressions in or_group have an OR relationship." + } + }, + "type": "object" + }, + "FilterExpressionList": { + "description": "A list of filter expressions.", + "id": "FilterExpressionList", + "properties": { + "expressions": { + "description": "A list of filter expressions.", + "items": { + "$ref": "FilterExpression" + }, + "type": "array" + } + }, + "type": "object" + }, + "InListFilter": { + "description": "The result needs to be in a list of string values.", + "id": "InListFilter", + "properties": { + "caseSensitive": { + "description": "If true, the string value is case sensitive.", + "type": "boolean" + }, + "values": { + "description": "The list of string values. Must be non-empty.", + "items": { + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, + "Metadata": { + "description": "The dimensions and metrics currently accepted in reporting methods.", + "id": "Metadata", + "properties": { + "dimensions": { + "description": "The dimension descriptions.", + "items": { + "$ref": "DimensionMetadata" + }, + "type": "array" + }, + "metrics": { + "description": "The metric descriptions.", + "items": { + "$ref": "MetricMetadata" + }, + "type": "array" + }, + "name": { + "description": "Resource name of this metadata.", + "type": "string" + } + }, + "type": "object" + }, + "Metric": { + "description": "The quantitative measurements of a report. For example, the metric `eventCount` is the total number of events. Requests are allowed up to 10 metrics.", + "id": "Metric", + "properties": { + "expression": { + "description": "A mathematical expression for derived metrics. For example, the metric Event count per user is `eventCount/totalUsers`.", + "type": "string" + }, + "invisible": { + "description": "Indicates if a metric is invisible in the report response. If a metric is invisible, the metric will not produce a column in the response, but can be used in `metricFilter`, `orderBys`, or a metric `expression`.", + "type": "boolean" + }, + "name": { + "description": "The name of the metric. See the [API Metrics](https://developers.google.com/analytics/devguides/reporting/data/v1/api-schema#metrics) for the list of metric names. If `expression` is specified, `name` can be any string that you would like. For example if `expression` is `screenPageViews/sessions`, you could call that metric's name = `viewsPerSession`. Metrics are referenced by `name` in `metricFilter`, `orderBys`, and metric `expression`.", + "type": "string" + } + }, + "type": "object" + }, + "MetricHeader": { + "description": "Describes a metric column in the report. Visible metrics requested in a report produce column entries within rows and MetricHeaders. However, metrics used exclusively within filters or expressions do not produce columns in a report; correspondingly, those metrics do not produce headers.", + "id": "MetricHeader", + "properties": { + "name": { + "description": "The metric's name.", + "type": "string" + }, + "type": { + "description": "The metric's data type.", + "enum": [ + "METRIC_TYPE_UNSPECIFIED", + "TYPE_INTEGER", + "TYPE_FLOAT", + "TYPE_SECONDS", + "TYPE_MILLISECONDS", + "TYPE_MINUTES", + "TYPE_HOURS", + "TYPE_STANDARD", + "TYPE_CURRENCY", + "TYPE_FEET", + "TYPE_MILES", + "TYPE_METERS", + "TYPE_KILOMETERS" + ], + "enumDescriptions": [ + "Unspecified type.", + "Integer type.", + "Floating point type.", + "A duration of seconds; a special floating point type.", + "A duration in milliseconds; a special floating point type.", + "A duration in minutes; a special floating point type.", + "A duration in hours; a special floating point type.", + "A custom metric of standard type; a special floating point type.", + "An amount of money; a special floating point type.", + "A length in feet; a special floating point type.", + "A length in miles; a special floating point type.", + "A length in meters; a special floating point type.", + "A length in kilometers; a special floating point type." + ], + "type": "string" + } + }, + "type": "object" + }, + "MetricMetadata": { + "description": "Explains a metric.", + "id": "MetricMetadata", + "properties": { + "apiName": { + "description": "A metric name. Useable in [Metric](#Metric)'s `name`. For example, `eventCount`.", + "type": "string" + }, + "customDefinition": { + "description": "True if the metric is a custom metric for this property.", + "type": "boolean" + }, + "deprecatedApiNames": { + "description": "Still usable but deprecated names for this metric. If populated, this metric is available by either `apiName` or one of `deprecatedApiNames` for a period of time. After the deprecation period, the metric will be available only by `apiName`.", + "items": { + "type": "string" + }, + "type": "array" + }, + "description": { + "description": "Description of how this metric is used and calculated.", + "type": "string" + }, + "expression": { + "description": "The mathematical expression for this derived metric. Can be used in [Metric](#Metric)'s `expression` field for equivalent reports. Most metrics are not expressions, and for non-expressions, this field is empty.", + "type": "string" + }, + "type": { + "description": "The type of this metric.", + "enum": [ + "METRIC_TYPE_UNSPECIFIED", + "TYPE_INTEGER", + "TYPE_FLOAT", + "TYPE_SECONDS", + "TYPE_MILLISECONDS", + "TYPE_MINUTES", + "TYPE_HOURS", + "TYPE_STANDARD", + "TYPE_CURRENCY", + "TYPE_FEET", + "TYPE_MILES", + "TYPE_METERS", + "TYPE_KILOMETERS" + ], + "enumDescriptions": [ + "Unspecified type.", + "Integer type.", + "Floating point type.", + "A duration of seconds; a special floating point type.", + "A duration in milliseconds; a special floating point type.", + "A duration in minutes; a special floating point type.", + "A duration in hours; a special floating point type.", + "A custom metric of standard type; a special floating point type.", + "An amount of money; a special floating point type.", + "A length in feet; a special floating point type.", + "A length in miles; a special floating point type.", + "A length in meters; a special floating point type.", + "A length in kilometers; a special floating point type." + ], + "type": "string" + }, + "uiName": { + "description": "This metric's name within the Google Analytics user interface. For example, `Event count`.", + "type": "string" + } + }, + "type": "object" + }, + "MetricOrderBy": { + "description": "Sorts by metric values.", + "id": "MetricOrderBy", + "properties": { + "metricName": { + "description": "A metric name in the request to order by.", + "type": "string" + } + }, + "type": "object" + }, + "MetricValue": { + "description": "The value of a metric.", + "id": "MetricValue", + "properties": { + "value": { + "description": "Measurement value. See MetricHeader for type.", + "type": "string" + } + }, + "type": "object" + }, + "NumericFilter": { + "description": "Filters for numeric or date values.", + "id": "NumericFilter", + "properties": { + "operation": { + "description": "The operation type for this filter.", + "enum": [ + "OPERATION_UNSPECIFIED", + "EQUAL", + "LESS_THAN", + "LESS_THAN_OR_EQUAL", + "GREATER_THAN", + "GREATER_THAN_OR_EQUAL" + ], + "enumDescriptions": [ + "Unspecified.", + "Equal", + "Less than", + "Less than or equal", + "Greater than", + "Greater than or equal" + ], + "type": "string" + }, + "value": { + "$ref": "NumericValue", + "description": "A numeric value or a date value." + } + }, + "type": "object" + }, + "NumericValue": { + "description": "To represent a number.", + "id": "NumericValue", + "properties": { + "doubleValue": { + "description": "Double value", + "format": "double", + "type": "number" + }, + "int64Value": { + "description": "Integer value", + "format": "int64", + "type": "string" + } + }, + "type": "object" + }, + "OrderBy": { + "description": "The sort options.", + "id": "OrderBy", + "properties": { + "desc": { + "description": "If true, sorts by descending order.", + "type": "boolean" + }, + "dimension": { + "$ref": "DimensionOrderBy", + "description": "Sorts results by a dimension's values." + }, + "metric": { + "$ref": "MetricOrderBy", + "description": "Sorts results by a metric's values." + }, + "pivot": { + "$ref": "PivotOrderBy", + "description": "Sorts results by a metric's values within a pivot column group." + } + }, + "type": "object" + }, + "Pivot": { + "description": "Describes the visible dimension columns and rows in the report response.", + "id": "Pivot", + "properties": { + "fieldNames": { + "description": "Dimension names for visible columns in the report response. Including \"dateRange\" produces a date range column; for each row in the response, dimension values in the date range column will indicate the corresponding date range from the request.", + "items": { + "type": "string" + }, + "type": "array" + }, + "limit": { + "description": "The number of rows to return in this pivot. If the `limit` parameter is unspecified, up to 10,000 rows are returned. The product of the `limit` for each `pivot` in a `RunPivotReportRequest` must not exceed 100,000. For example, a two pivot request with `limit: 1000` in each pivot will fail because the product is `1,000,000`.", + "format": "int64", + "type": "string" + }, + "metricAggregations": { + "description": "Aggregate the metrics by dimensions in this pivot using the specified metric_aggregations.", + "items": { + "enum": [ + "METRIC_AGGREGATION_UNSPECIFIED", + "TOTAL", + "MINIMUM", + "MAXIMUM", + "COUNT" + ], + "enumDescriptions": [ + "Unspecified operator.", + "SUM operator.", + "Minimum operator.", + "Maximum operator.", + "Count operator." + ], + "type": "string" + }, + "type": "array" + }, + "offset": { + "description": "The row count of the start row. The first row is counted as row 0.", + "format": "int64", + "type": "string" + }, + "orderBys": { + "description": "Specifies how dimensions are ordered in the pivot. In the first Pivot, the OrderBys determine Row and PivotDimensionHeader ordering; in subsequent Pivots, the OrderBys determine only PivotDimensionHeader ordering. Dimensions specified in these OrderBys must be a subset of Pivot.field_names.", + "items": { + "$ref": "OrderBy" + }, + "type": "array" + } + }, + "type": "object" + }, + "PivotDimensionHeader": { + "description": "Summarizes dimension values from a row for this pivot.", + "id": "PivotDimensionHeader", + "properties": { + "dimensionValues": { + "description": "Values of multiple dimensions in a pivot.", + "items": { + "$ref": "DimensionValue" + }, + "type": "array" + } + }, + "type": "object" + }, + "PivotHeader": { + "description": "Dimensions' values in a single pivot.", + "id": "PivotHeader", + "properties": { + "pivotDimensionHeaders": { + "description": "The size is the same as the cardinality of the corresponding dimension combinations.", + "items": { + "$ref": "PivotDimensionHeader" + }, + "type": "array" + }, + "rowCount": { + "description": "The cardinality of the pivot. The total number of rows for this pivot's fields regardless of how the parameters `offset` and `limit` are specified in the request.", + "format": "int32", + "type": "integer" + } + }, + "type": "object" + }, + "PivotOrderBy": { + "description": "Sorts by a pivot column group.", + "id": "PivotOrderBy", + "properties": { + "metricName": { + "description": "In the response to order by, order rows by this column. Must be a metric name from the request.", + "type": "string" + }, + "pivotSelections": { + "description": "Used to select a dimension name and value pivot. If multiple pivot selections are given, the sort occurs on rows where all pivot selection dimension name and value pairs match the row's dimension name and value pair.", + "items": { + "$ref": "PivotSelection" + }, + "type": "array" + } + }, + "type": "object" + }, + "PivotSelection": { + "description": "A pair of dimension names and values. Rows with this dimension pivot pair are ordered by the metric's value. For example if pivots = {{\"browser\", \"Chrome\"}} and metric_name = \"Sessions\", then the rows will be sorted based on Sessions in Chrome. ---------|----------|----------------|----------|---------------- | Chrome | Chrome | Safari | Safari ---------|----------|----------------|----------|---------------- Country | Sessions | Pages/Sessions | Sessions | Pages/Sessions ---------|----------|----------------|----------|---------------- US | 2 | 2 | 3 | 1 ---------|----------|----------------|----------|---------------- Canada | 3 | 1 | 4 | 1 ---------|----------|----------------|----------|----------------", + "id": "PivotSelection", + "properties": { + "dimensionName": { + "description": "Must be a dimension name from the request.", + "type": "string" + }, + "dimensionValue": { + "description": "Order by only when the named dimension is this value.", + "type": "string" + } + }, + "type": "object" + }, + "PropertyQuota": { + "description": "Current state of all quotas for this Analytics Property. If any quota for a property is exhausted, all requests to that property will return Resource Exhausted errors.", + "id": "PropertyQuota", + "properties": { + "concurrentRequests": { + "$ref": "QuotaStatus", + "description": "Standard Analytics Properties can send up to 10 concurrent requests; Analytics 360 Properties can use up to 50 concurrent requests." + }, + "serverErrorsPerProjectPerHour": { + "$ref": "QuotaStatus", + "description": "Standard Analytics Properties and cloud project pairs can have up to 10 server errors per hour; Analytics 360 Properties and cloud project pairs can have up to 50 server errors per hour." + }, + "tokensPerDay": { + "$ref": "QuotaStatus", + "description": "Standard Analytics Properties can use up to 25,000 tokens per day; Analytics 360 Properties can use 250,000 tokens per day. Most requests consume fewer than 10 tokens." + }, + "tokensPerHour": { + "$ref": "QuotaStatus", + "description": "Standard Analytics Properties can use up to 5,000 tokens per hour; Analytics 360 Properties can use 50,000 tokens per hour. An API request consumes a single number of tokens, and that number is deducted from both the hourly and daily quotas." + } + }, + "type": "object" + }, + "QuotaStatus": { + "description": "Current state for a particular quota group.", + "id": "QuotaStatus", + "properties": { + "consumed": { + "description": "Quota consumed by this request.", + "format": "int32", + "type": "integer" + }, + "remaining": { + "description": "Quota remaining after this request.", + "format": "int32", + "type": "integer" + } + }, + "type": "object" + }, + "ResponseMetaData": { + "description": "Response's metadata carrying additional information about the report content.", + "id": "ResponseMetaData", + "properties": { + "dataLossFromOtherRow": { + "description": "If true, indicates some buckets of dimension combinations are rolled into \"(other)\" row. This can happen for high cardinality reports.", + "type": "boolean" + } + }, + "type": "object" + }, + "Row": { + "description": "Report data for each row. For example if RunReportRequest contains: ```none \"dimensions\": [ { \"name\": \"eventName\" }, { \"name\": \"countryId\" } ], \"metrics\": [ { \"name\": \"eventCount\" } ] ``` One row with 'in_app_purchase' as the eventName, 'JP' as the countryId, and 15 as the eventCount, would be: ```none \"dimensionValues\": [ { \"value\": \"in_app_purchase\" }, { \"value\": \"JP\" } ], \"metricValues\": [ { \"value\": \"15\" } ] ```", + "id": "Row", + "properties": { + "dimensionValues": { + "description": "List of requested dimension values. In a PivotReport, dimension_values are only listed for dimensions included in a pivot.", + "items": { + "$ref": "DimensionValue" + }, + "type": "array" + }, + "metricValues": { + "description": "List of requested visible metric values.", + "items": { + "$ref": "MetricValue" + }, + "type": "array" + } + }, + "type": "object" + }, + "RunPivotReportRequest": { + "description": "The request to generate a pivot report.", + "id": "RunPivotReportRequest", + "properties": { + "cohortSpec": { + "$ref": "CohortSpec", + "description": "Cohort group associated with this request. If there is a cohort group in the request the 'cohort' dimension must be present." + }, + "currencyCode": { + "description": "A currency code in ISO4217 format, such as \"AED\", \"USD\", \"JPY\". If the field is empty, the report uses the entity's default currency.", + "type": "string" + }, + "dateRanges": { + "description": "The date range to retrieve event data for the report. If multiple date ranges are specified, event data from each date range is used in the report. A special dimension with field name \"dateRange\" can be included in a Pivot's field names; if included, the report compares between date ranges. In a cohort request, this `dateRanges` must be unspecified.", + "items": { + "$ref": "DateRange" + }, + "type": "array" + }, + "dimensionFilter": { + "$ref": "FilterExpression", + "description": "The filter clause of dimensions. Dimensions must be requested to be used in this filter. Metrics cannot be used in this filter." + }, + "dimensions": { + "description": "The dimensions requested. All defined dimensions must be used by one of the following: dimension_expression, dimension_filter, pivots, order_bys.", + "items": { + "$ref": "Dimension" + }, + "type": "array" + }, + "entity": { + "$ref": "Entity", + "description": "A property whose events are tracked. Within a batch request, this entity should either be unspecified or consistent with the batch-level entity." + }, + "keepEmptyRows": { + "description": "If false or unspecified, each row with all metrics equal to 0 will not be returned. If true, these rows will be returned if they are not separately removed by a filter.", + "type": "boolean" + }, + "metricFilter": { + "$ref": "FilterExpression", + "description": "The filter clause of metrics. Applied at post aggregation phase, similar to SQL having-clause. Metrics must be requested to be used in this filter. Dimensions cannot be used in this filter." + }, + "metrics": { + "description": "The metrics requested, at least one metric needs to be specified. All defined metrics must be used by one of the following: metric_expression, metric_filter, order_bys.", + "items": { + "$ref": "Metric" + }, + "type": "array" + }, + "pivots": { + "description": "Describes the visual format of the report's dimensions in columns or rows. The union of the fieldNames (dimension names) in all pivots must be a subset of dimension names defined in Dimensions. No two pivots can share a dimension. A dimension is only visible if it appears in a pivot.", + "items": { + "$ref": "Pivot" + }, + "type": "array" + }, + "returnPropertyQuota": { + "description": "Toggles whether to return the current state of this Analytics Property's quota. Quota is returned in [PropertyQuota](#PropertyQuota).", + "type": "boolean" + } + }, + "type": "object" + }, + "RunPivotReportResponse": { + "description": "The response pivot report table corresponding to a pivot request.", + "id": "RunPivotReportResponse", + "properties": { + "aggregates": { + "description": "Aggregation of metric values. Can be totals, minimums, or maximums. The returned aggregations are controlled by the metric_aggregations in the pivot. The type of aggregation returned in each row is shown by the dimension_values which are set to \"RESERVED_\".", + "items": { + "$ref": "Row" + }, + "type": "array" + }, + "dimensionHeaders": { + "description": "Describes dimension columns. The number of DimensionHeaders and ordering of DimensionHeaders matches the dimensions present in rows.", + "items": { + "$ref": "DimensionHeader" + }, + "type": "array" + }, + "metadata": { + "$ref": "ResponseMetaData", + "description": "Metadata for the report." + }, + "metricHeaders": { + "description": "Describes metric columns. The number of MetricHeaders and ordering of MetricHeaders matches the metrics present in rows.", + "items": { + "$ref": "MetricHeader" + }, + "type": "array" + }, + "pivotHeaders": { + "description": "Summarizes the columns and rows created by a pivot. Each pivot in the request produces one header in the response. If we have a request like this: \"pivots\": [{ \"fieldNames\": [\"country\", \"city\"] }, { \"fieldNames\": \"eventName\" }] We will have the following `pivotHeaders` in the response: \"pivotHeaders\" : [{ \"dimensionHeaders\": [{ \"dimensionValues\": [ { \"value\": \"United Kingdom\" }, { \"value\": \"London\" } ] }, { \"dimensionValues\": [ { \"value\": \"Japan\" }, { \"value\": \"Osaka\" } ] }] }, { \"dimensionHeaders\": [{ \"dimensionValues\": [{ \"value\": \"session_start\" }] }, { \"dimensionValues\": [{ \"value\": \"scroll\" }] }] }]", + "items": { + "$ref": "PivotHeader" + }, + "type": "array" + }, + "propertyQuota": { + "$ref": "PropertyQuota", + "description": "This Analytics Property's quota state including this request." + }, + "rows": { + "description": "Rows of dimension value combinations and metric values in the report.", + "items": { + "$ref": "Row" + }, + "type": "array" + } + }, + "type": "object" + }, + "RunRealtimeReportRequest": { + "description": "The request to generate a realtime report.", + "id": "RunRealtimeReportRequest", + "properties": { + "dimensionFilter": { + "$ref": "FilterExpression", + "description": "The filter clause of dimensions. Dimensions must be requested to be used in this filter. Metrics cannot be used in this filter." + }, + "dimensions": { + "description": "The dimensions requested and displayed.", + "items": { + "$ref": "Dimension" + }, + "type": "array" + }, + "limit": { + "description": "The number of rows to return. If the `limit` parameter is unspecified, 10,000 rows are returned. The API returns a maximum of 100,000 rows per request, no matter how many you ask for.", + "format": "int64", + "type": "string" + }, + "metricAggregations": { + "description": "Aggregation of metrics. Aggregated metric values will be shown in rows where the dimension_values are set to \"RESERVED_(MetricAggregation)\".", + "items": { + "enum": [ + "METRIC_AGGREGATION_UNSPECIFIED", + "TOTAL", + "MINIMUM", + "MAXIMUM", + "COUNT" + ], + "enumDescriptions": [ + "Unspecified operator.", + "SUM operator.", + "Minimum operator.", + "Maximum operator.", + "Count operator." + ], + "type": "string" + }, + "type": "array" + }, + "metricFilter": { + "$ref": "FilterExpression", + "description": "The filter clause of metrics. Applied at post aggregation phase, similar to SQL having-clause. Metrics must be requested to be used in this filter. Dimensions cannot be used in this filter." + }, + "metrics": { + "description": "The metrics requested and displayed.", + "items": { + "$ref": "Metric" + }, + "type": "array" + }, + "orderBys": { + "description": "Specifies how rows are ordered in the response.", + "items": { + "$ref": "OrderBy" + }, + "type": "array" + }, + "returnPropertyQuota": { + "description": "Toggles whether to return the current state of this Analytics Property's Realtime quota. Quota is returned in [PropertyQuota](#PropertyQuota).", + "type": "boolean" + } + }, + "type": "object" + }, + "RunRealtimeReportResponse": { + "description": "The response realtime report table corresponding to a request.", + "id": "RunRealtimeReportResponse", + "properties": { + "dimensionHeaders": { + "description": "Describes dimension columns. The number of DimensionHeaders and ordering of DimensionHeaders matches the dimensions present in rows.", + "items": { + "$ref": "DimensionHeader" + }, + "type": "array" + }, + "maximums": { + "description": "If requested, the maximum values of metrics.", + "items": { + "$ref": "Row" + }, + "type": "array" + }, + "metricHeaders": { + "description": "Describes metric columns. The number of MetricHeaders and ordering of MetricHeaders matches the metrics present in rows.", + "items": { + "$ref": "MetricHeader" + }, + "type": "array" + }, + "minimums": { + "description": "If requested, the minimum values of metrics.", + "items": { + "$ref": "Row" + }, + "type": "array" + }, + "propertyQuota": { + "$ref": "PropertyQuota", + "description": "This Analytics Property's Realtime quota state including this request." + }, + "rowCount": { + "description": "The total number of rows in the query result, regardless of the number of rows returned in the response. For example if a query returns 175 rows and includes limit = 50 in the API request, the response will contain row_count = 175 but only 50 rows.", + "format": "int32", + "type": "integer" + }, + "rows": { + "description": "Rows of dimension value combinations and metric values in the report.", + "items": { + "$ref": "Row" + }, + "type": "array" + }, + "totals": { + "description": "If requested, the totaled values of metrics.", + "items": { + "$ref": "Row" + }, + "type": "array" + } + }, + "type": "object" + }, + "RunReportRequest": { + "description": "The request to generate a report.", + "id": "RunReportRequest", + "properties": { + "cohortSpec": { + "$ref": "CohortSpec", + "description": "Cohort group associated with this request. If there is a cohort group in the request the 'cohort' dimension must be present." + }, + "currencyCode": { + "description": "A currency code in ISO4217 format, such as \"AED\", \"USD\", \"JPY\". If the field is empty, the report uses the entity's default currency.", + "type": "string" + }, + "dateRanges": { + "description": "Date ranges of data to read. If multiple date ranges are requested, each response row will contain a zero based date range index. If two date ranges overlap, the event data for the overlapping days is included in the response rows for both date ranges. In a cohort request, this `dateRanges` must be unspecified.", + "items": { + "$ref": "DateRange" + }, + "type": "array" + }, + "dimensionFilter": { + "$ref": "FilterExpression", + "description": "The filter clause of dimensions. Dimensions must be requested to be used in this filter. Metrics cannot be used in this filter." + }, + "dimensions": { + "description": "The dimensions requested and displayed.", + "items": { + "$ref": "Dimension" + }, + "type": "array" + }, + "entity": { + "$ref": "Entity", + "description": "A property whose events are tracked. Within a batch request, this entity should either be unspecified or consistent with the batch-level entity." + }, + "keepEmptyRows": { + "description": "If false or unspecified, each row with all metrics equal to 0 will not be returned. If true, these rows will be returned if they are not separately removed by a filter.", + "type": "boolean" + }, + "limit": { + "description": "The number of rows to return. If the `limit` parameter is unspecified, 10,000 rows are returned. The API returns a maximum of 100,000 rows per request, no matter how many you ask for.", + "format": "int64", + "type": "string" + }, + "metricAggregations": { + "description": "Aggregation of metrics. Aggregated metric values will be shown in rows where the dimension_values are set to \"RESERVED_(MetricAggregation)\".", + "items": { + "enum": [ + "METRIC_AGGREGATION_UNSPECIFIED", + "TOTAL", + "MINIMUM", + "MAXIMUM", + "COUNT" + ], + "enumDescriptions": [ + "Unspecified operator.", + "SUM operator.", + "Minimum operator.", + "Maximum operator.", + "Count operator." + ], + "type": "string" + }, + "type": "array" + }, + "metricFilter": { + "$ref": "FilterExpression", + "description": "The filter clause of metrics. Applied at post aggregation phase, similar to SQL having-clause. Metrics must be requested to be used in this filter. Dimensions cannot be used in this filter." + }, + "metrics": { + "description": "The metrics requested and displayed.", + "items": { + "$ref": "Metric" + }, + "type": "array" + }, + "offset": { + "description": "The row count of the start row. The first row is counted as row 0.", + "format": "int64", + "type": "string" + }, + "orderBys": { + "description": "Specifies how rows are ordered in the response.", + "items": { + "$ref": "OrderBy" + }, + "type": "array" + }, + "returnPropertyQuota": { + "description": "Toggles whether to return the current state of this Analytics Property's quota. Quota is returned in [PropertyQuota](#PropertyQuota).", + "type": "boolean" + } + }, + "type": "object" + }, + "RunReportResponse": { + "description": "The response report table corresponding to a request.", + "id": "RunReportResponse", + "properties": { + "dimensionHeaders": { + "description": "Describes dimension columns. The number of DimensionHeaders and ordering of DimensionHeaders matches the dimensions present in rows.", + "items": { + "$ref": "DimensionHeader" + }, + "type": "array" + }, + "maximums": { + "description": "If requested, the maximum values of metrics.", + "items": { + "$ref": "Row" + }, + "type": "array" + }, + "metadata": { + "$ref": "ResponseMetaData", + "description": "Metadata for the report." + }, + "metricHeaders": { + "description": "Describes metric columns. The number of MetricHeaders and ordering of MetricHeaders matches the metrics present in rows.", + "items": { + "$ref": "MetricHeader" + }, + "type": "array" + }, + "minimums": { + "description": "If requested, the minimum values of metrics.", + "items": { + "$ref": "Row" + }, + "type": "array" + }, + "propertyQuota": { + "$ref": "PropertyQuota", + "description": "This Analytics Property's quota state including this request." + }, + "rowCount": { + "description": "The total number of rows in the query result, regardless of the number of rows returned in the response. For example if a query returns 175 rows and includes limit = 50 in the API request, the response will contain row_count = 175 but only 50 rows. To learn more about this pagination parameter, see [Pagination](https://developers.google.com/analytics/devguides/reporting/data/v1/basics#pagination).", + "format": "int32", + "type": "integer" + }, + "rows": { + "description": "Rows of dimension value combinations and metric values in the report.", + "items": { + "$ref": "Row" + }, + "type": "array" + }, + "totals": { + "description": "If requested, the totaled values of metrics.", + "items": { + "$ref": "Row" + }, + "type": "array" + } + }, + "type": "object" + }, + "StringFilter": { + "description": "The filter for string", + "id": "StringFilter", + "properties": { + "caseSensitive": { + "description": "If true, the string value is case sensitive.", + "type": "boolean" + }, + "matchType": { + "description": "The match type for this filter.", + "enum": [ + "MATCH_TYPE_UNSPECIFIED", + "EXACT", + "BEGINS_WITH", + "ENDS_WITH", + "CONTAINS", + "FULL_REGEXP", + "PARTIAL_REGEXP" + ], + "enumDescriptions": [ + "Unspecified", + "Exact match of the string value.", + "Begins with the string value.", + "Ends with the string value.", + "Contains the string value.", + "Full regular expression match with the string value.", + "Partial regular expression match with the string value." + ], + "type": "string" + }, + "value": { + "description": "The string value used for the matching.", + "type": "string" + } + }, + "type": "object" + } + }, + "servicePath": "", + "title": "Google Analytics Data API", + "version": "v1alpha", + "version_module": true +} \ No newline at end of file diff --git a/.venv/lib/python3.11/site-packages/googleapiclient/discovery_cache/documents/analyticsdata.v1beta.json b/.venv/lib/python3.11/site-packages/googleapiclient/discovery_cache/documents/analyticsdata.v1beta.json new file mode 100644 index 0000000000000000000000000000000000000000..c948abfa0bc8361b33b40ae0eca775c3b0b9b4c7 --- /dev/null +++ b/.venv/lib/python3.11/site-packages/googleapiclient/discovery_cache/documents/analyticsdata.v1beta.json @@ -0,0 +1,2306 @@ +{ +"auth": { +"oauth2": { +"scopes": { +"https://www.googleapis.com/auth/analytics": { +"description": "View and manage your Google Analytics data" +}, +"https://www.googleapis.com/auth/analytics.readonly": { +"description": "See and download your Google Analytics data" +} +} +} +}, +"basePath": "", +"baseUrl": "https://analyticsdata.googleapis.com/", +"batchPath": "batch", +"canonicalName": "AnalyticsData", +"description": "Accesses report data in Google Analytics. Warning: Creating multiple Customer Applications, Accounts, or Projects to simulate or act as a single Customer Application, Account, or Project (respectively) or to circumvent Service-specific usage limits or quotas is a direct violation of Google Cloud Platform Terms of Service as well as Google APIs Terms of Service. These actions can result in immediate termination of your GCP project(s) without any warning. ", +"discoveryVersion": "v1", +"documentationLink": "https://developers.google.com/analytics/devguides/reporting/data/v1/", +"fullyEncodeReservedExpansion": true, +"icons": { +"x16": "http://www.google.com/images/icons/product/search-16.gif", +"x32": "http://www.google.com/images/icons/product/search-32.gif" +}, +"id": "analyticsdata:v1beta", +"kind": "discovery#restDescription", +"mtlsRootUrl": "https://analyticsdata.mtls.googleapis.com/", +"name": "analyticsdata", +"ownerDomain": "google.com", +"ownerName": "Google", +"parameters": { +"$.xgafv": { +"description": "V1 error format.", +"enum": [ +"1", +"2" +], +"enumDescriptions": [ +"v1 error format", +"v2 error format" +], +"location": "query", +"type": "string" +}, +"access_token": { +"description": "OAuth access token.", +"location": "query", +"type": "string" +}, +"alt": { +"default": "json", +"description": "Data format for response.", +"enum": [ +"json", +"media", +"proto" +], +"enumDescriptions": [ +"Responses with Content-Type of application/json", +"Media download with context-dependent Content-Type", +"Responses with Content-Type of application/x-protobuf" +], +"location": "query", +"type": "string" +}, +"callback": { +"description": "JSONP", +"location": "query", +"type": "string" +}, +"fields": { +"description": "Selector specifying which fields to include in a partial response.", +"location": "query", +"type": "string" +}, +"key": { +"description": "API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token.", +"location": "query", +"type": "string" +}, +"oauth_token": { +"description": "OAuth 2.0 token for the current user.", +"location": "query", +"type": "string" +}, +"prettyPrint": { +"default": "true", +"description": "Returns response with indentations and line breaks.", +"location": "query", +"type": "boolean" +}, +"quotaUser": { +"description": "Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters.", +"location": "query", +"type": "string" +}, +"uploadType": { +"description": "Legacy upload protocol for media (e.g. \"media\", \"multipart\").", +"location": "query", +"type": "string" +}, +"upload_protocol": { +"description": "Upload protocol for media (e.g. \"raw\", \"multipart\").", +"location": "query", +"type": "string" +} +}, +"protocol": "rest", +"resources": { +"properties": { +"methods": { +"batchRunPivotReports": { +"description": "Returns multiple pivot reports in a batch. All reports must be for the same Google Analytics property.", +"flatPath": "v1beta/properties/{propertiesId}:batchRunPivotReports", +"httpMethod": "POST", +"id": "analyticsdata.properties.batchRunPivotReports", +"parameterOrder": [ +"property" +], +"parameters": { +"property": { +"description": "A Google Analytics property identifier whose events are tracked. Specified in the URL path and not the body. To learn more, see [where to find your Property ID](https://developers.google.com/analytics/devguides/reporting/data/v1/property-id). This property must be specified for the batch. The property within RunPivotReportRequest may either be unspecified or consistent with this property. Example: properties/1234", +"location": "path", +"pattern": "^properties/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1beta/{+property}:batchRunPivotReports", +"request": { +"$ref": "BatchRunPivotReportsRequest" +}, +"response": { +"$ref": "BatchRunPivotReportsResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/analytics", +"https://www.googleapis.com/auth/analytics.readonly" +] +}, +"batchRunReports": { +"description": "Returns multiple reports in a batch. All reports must be for the same Google Analytics property.", +"flatPath": "v1beta/properties/{propertiesId}:batchRunReports", +"httpMethod": "POST", +"id": "analyticsdata.properties.batchRunReports", +"parameterOrder": [ +"property" +], +"parameters": { +"property": { +"description": "A Google Analytics property identifier whose events are tracked. Specified in the URL path and not the body. To learn more, see [where to find your Property ID](https://developers.google.com/analytics/devguides/reporting/data/v1/property-id). This property must be specified for the batch. The property within RunReportRequest may either be unspecified or consistent with this property. Example: properties/1234", +"location": "path", +"pattern": "^properties/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1beta/{+property}:batchRunReports", +"request": { +"$ref": "BatchRunReportsRequest" +}, +"response": { +"$ref": "BatchRunReportsResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/analytics", +"https://www.googleapis.com/auth/analytics.readonly" +] +}, +"checkCompatibility": { +"description": "This compatibility method lists dimensions and metrics that can be added to a report request and maintain compatibility. This method fails if the request's dimensions and metrics are incompatible. In Google Analytics, reports fail if they request incompatible dimensions and/or metrics; in that case, you will need to remove dimensions and/or metrics from the incompatible report until the report is compatible. The Realtime and Core reports have different compatibility rules. This method checks compatibility for Core reports.", +"flatPath": "v1beta/properties/{propertiesId}:checkCompatibility", +"httpMethod": "POST", +"id": "analyticsdata.properties.checkCompatibility", +"parameterOrder": [ +"property" +], +"parameters": { +"property": { +"description": "A Google Analytics property identifier whose events are tracked. To learn more, see [where to find your Property ID](https://developers.google.com/analytics/devguides/reporting/data/v1/property-id). `property` should be the same value as in your `runReport` request. Example: properties/1234", +"location": "path", +"pattern": "^properties/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1beta/{+property}:checkCompatibility", +"request": { +"$ref": "CheckCompatibilityRequest" +}, +"response": { +"$ref": "CheckCompatibilityResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/analytics", +"https://www.googleapis.com/auth/analytics.readonly" +] +}, +"getMetadata": { +"description": "Returns metadata for dimensions and metrics available in reporting methods. Used to explore the dimensions and metrics. In this method, a Google Analytics property identifier is specified in the request, and the metadata response includes Custom dimensions and metrics as well as Universal metadata. For example if a custom metric with parameter name `levels_unlocked` is registered to a property, the Metadata response will contain `customEvent:levels_unlocked`. Universal metadata are dimensions and metrics applicable to any property such as `country` and `totalUsers`.", +"flatPath": "v1beta/properties/{propertiesId}/metadata", +"httpMethod": "GET", +"id": "analyticsdata.properties.getMetadata", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. The resource name of the metadata to retrieve. This name field is specified in the URL path and not URL parameters. Property is a numeric Google Analytics property identifier. To learn more, see [where to find your Property ID](https://developers.google.com/analytics/devguides/reporting/data/v1/property-id). Example: properties/1234/metadata Set the Property ID to 0 for dimensions and metrics common to all properties. In this special mode, this method will not return custom dimensions and metrics.", +"location": "path", +"pattern": "^properties/[^/]+/metadata$", +"required": true, +"type": "string" +} +}, +"path": "v1beta/{+name}", +"response": { +"$ref": "Metadata" +}, +"scopes": [ +"https://www.googleapis.com/auth/analytics", +"https://www.googleapis.com/auth/analytics.readonly" +] +}, +"runPivotReport": { +"description": "Returns a customized pivot report of your Google Analytics event data. Pivot reports are more advanced and expressive formats than regular reports. In a pivot report, dimensions are only visible if they are included in a pivot. Multiple pivots can be specified to further dissect your data.", +"flatPath": "v1beta/properties/{propertiesId}:runPivotReport", +"httpMethod": "POST", +"id": "analyticsdata.properties.runPivotReport", +"parameterOrder": [ +"property" +], +"parameters": { +"property": { +"description": "A Google Analytics property identifier whose events are tracked. Specified in the URL path and not the body. To learn more, see [where to find your Property ID](https://developers.google.com/analytics/devguides/reporting/data/v1/property-id). Within a batch request, this property should either be unspecified or consistent with the batch-level property. Example: properties/1234", +"location": "path", +"pattern": "^properties/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1beta/{+property}:runPivotReport", +"request": { +"$ref": "RunPivotReportRequest" +}, +"response": { +"$ref": "RunPivotReportResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/analytics", +"https://www.googleapis.com/auth/analytics.readonly" +] +}, +"runRealtimeReport": { +"description": "Returns a customized report of realtime event data for your property. Events appear in realtime reports seconds after they have been sent to the Google Analytics. Realtime reports show events and usage data for the periods of time ranging from the present moment to 30 minutes ago (up to 60 minutes for Google Analytics 360 properties). For a guide to constructing realtime requests & understanding responses, see [Creating a Realtime Report](https://developers.google.com/analytics/devguides/reporting/data/v1/realtime-basics).", +"flatPath": "v1beta/properties/{propertiesId}:runRealtimeReport", +"httpMethod": "POST", +"id": "analyticsdata.properties.runRealtimeReport", +"parameterOrder": [ +"property" +], +"parameters": { +"property": { +"description": "A Google Analytics property identifier whose events are tracked. Specified in the URL path and not the body. To learn more, see [where to find your Property ID](https://developers.google.com/analytics/devguides/reporting/data/v1/property-id). Example: properties/1234", +"location": "path", +"pattern": "^properties/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1beta/{+property}:runRealtimeReport", +"request": { +"$ref": "RunRealtimeReportRequest" +}, +"response": { +"$ref": "RunRealtimeReportResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/analytics", +"https://www.googleapis.com/auth/analytics.readonly" +] +}, +"runReport": { +"description": "Returns a customized report of your Google Analytics event data. Reports contain statistics derived from data collected by the Google Analytics tracking code. The data returned from the API is as a table with columns for the requested dimensions and metrics. Metrics are individual measurements of user activity on your property, such as active users or event count. Dimensions break down metrics across some common criteria, such as country or event name. For a guide to constructing requests & understanding responses, see [Creating a Report](https://developers.google.com/analytics/devguides/reporting/data/v1/basics).", +"flatPath": "v1beta/properties/{propertiesId}:runReport", +"httpMethod": "POST", +"id": "analyticsdata.properties.runReport", +"parameterOrder": [ +"property" +], +"parameters": { +"property": { +"description": "A Google Analytics property identifier whose events are tracked. Specified in the URL path and not the body. To learn more, see [where to find your Property ID](https://developers.google.com/analytics/devguides/reporting/data/v1/property-id). Within a batch request, this property should either be unspecified or consistent with the batch-level property. Example: properties/1234", +"location": "path", +"pattern": "^properties/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1beta/{+property}:runReport", +"request": { +"$ref": "RunReportRequest" +}, +"response": { +"$ref": "RunReportResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/analytics", +"https://www.googleapis.com/auth/analytics.readonly" +] +} +}, +"resources": { +"audienceExports": { +"methods": { +"create": { +"description": "Creates an audience export for later retrieval. This method quickly returns the audience export's resource name and initiates a long running asynchronous request to form an audience export. To export the users in an audience export, first create the audience export through this method and then send the audience resource name to the `QueryAudienceExport` method. See [Creating an Audience Export](https://developers.google.com/analytics/devguides/reporting/data/v1/audience-list-basics) for an introduction to Audience Exports with examples. An audience export is a snapshot of the users currently in the audience at the time of audience export creation. Creating audience exports for one audience on different days will return different results as users enter and exit the audience. Audiences in Google Analytics 4 allow you to segment your users in the ways that are important to your business. To learn more, see https://support.google.com/analytics/answer/9267572. Audience exports contain the users in each audience. Audience Export APIs have some methods at alpha and other methods at beta stability. The intention is to advance methods to beta stability after some feedback and adoption. To give your feedback on this API, complete the [Google Analytics Audience Export API Feedback](https://forms.gle/EeA5u5LW6PEggtCEA) form.", +"flatPath": "v1beta/properties/{propertiesId}/audienceExports", +"httpMethod": "POST", +"id": "analyticsdata.properties.audienceExports.create", +"parameterOrder": [ +"parent" +], +"parameters": { +"parent": { +"description": "Required. The parent resource where this audience export will be created. Format: `properties/{property}`", +"location": "path", +"pattern": "^properties/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1beta/{+parent}/audienceExports", +"request": { +"$ref": "AudienceExport" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/analytics", +"https://www.googleapis.com/auth/analytics.readonly" +] +}, +"get": { +"description": "Gets configuration metadata about a specific audience export. This method can be used to understand an audience export after it has been created. See [Creating an Audience Export](https://developers.google.com/analytics/devguides/reporting/data/v1/audience-list-basics) for an introduction to Audience Exports with examples. Audience Export APIs have some methods at alpha and other methods at beta stability. The intention is to advance methods to beta stability after some feedback and adoption. To give your feedback on this API, complete the [Google Analytics Audience Export API Feedback](https://forms.gle/EeA5u5LW6PEggtCEA) form.", +"flatPath": "v1beta/properties/{propertiesId}/audienceExports/{audienceExportsId}", +"httpMethod": "GET", +"id": "analyticsdata.properties.audienceExports.get", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. The audience export resource name. Format: `properties/{property}/audienceExports/{audience_export}`", +"location": "path", +"pattern": "^properties/[^/]+/audienceExports/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1beta/{+name}", +"response": { +"$ref": "AudienceExport" +}, +"scopes": [ +"https://www.googleapis.com/auth/analytics", +"https://www.googleapis.com/auth/analytics.readonly" +] +}, +"list": { +"description": "Lists all audience exports for a property. This method can be used for you to find and reuse existing audience exports rather than creating unnecessary new audience exports. The same audience can have multiple audience exports that represent the export of users that were in an audience on different days. See [Creating an Audience Export](https://developers.google.com/analytics/devguides/reporting/data/v1/audience-list-basics) for an introduction to Audience Exports with examples. Audience Export APIs have some methods at alpha and other methods at beta stability. The intention is to advance methods to beta stability after some feedback and adoption. To give your feedback on this API, complete the [Google Analytics Audience Export API Feedback](https://forms.gle/EeA5u5LW6PEggtCEA) form.", +"flatPath": "v1beta/properties/{propertiesId}/audienceExports", +"httpMethod": "GET", +"id": "analyticsdata.properties.audienceExports.list", +"parameterOrder": [ +"parent" +], +"parameters": { +"pageSize": { +"description": "Optional. The maximum number of audience exports to return. The service may return fewer than this value. If unspecified, at most 200 audience exports will be returned. The maximum value is 1000 (higher values will be coerced to the maximum).", +"format": "int32", +"location": "query", +"type": "integer" +}, +"pageToken": { +"description": "Optional. A page token, received from a previous `ListAudienceExports` call. Provide this to retrieve the subsequent page. When paginating, all other parameters provided to `ListAudienceExports` must match the call that provided the page token.", +"location": "query", +"type": "string" +}, +"parent": { +"description": "Required. All audience exports for this property will be listed in the response. Format: `properties/{property}`", +"location": "path", +"pattern": "^properties/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1beta/{+parent}/audienceExports", +"response": { +"$ref": "ListAudienceExportsResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/analytics", +"https://www.googleapis.com/auth/analytics.readonly" +] +}, +"query": { +"description": "Retrieves an audience export of users. After creating an audience, the users are not immediately available for exporting. First, a request to `CreateAudienceExport` is necessary to create an audience export of users, and then second, this method is used to retrieve the users in the audience export. See [Creating an Audience Export](https://developers.google.com/analytics/devguides/reporting/data/v1/audience-list-basics) for an introduction to Audience Exports with examples. Audiences in Google Analytics 4 allow you to segment your users in the ways that are important to your business. To learn more, see https://support.google.com/analytics/answer/9267572. Audience Export APIs have some methods at alpha and other methods at beta stability. The intention is to advance methods to beta stability after some feedback and adoption. To give your feedback on this API, complete the [Google Analytics Audience Export API Feedback](https://forms.gle/EeA5u5LW6PEggtCEA) form.", +"flatPath": "v1beta/properties/{propertiesId}/audienceExports/{audienceExportsId}:query", +"httpMethod": "POST", +"id": "analyticsdata.properties.audienceExports.query", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. The name of the audience export to retrieve users from. Format: `properties/{property}/audienceExports/{audience_export}`", +"location": "path", +"pattern": "^properties/[^/]+/audienceExports/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1beta/{+name}:query", +"request": { +"$ref": "QueryAudienceExportRequest" +}, +"response": { +"$ref": "QueryAudienceExportResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/analytics", +"https://www.googleapis.com/auth/analytics.readonly" +] +} +} +} +} +} +}, +"revision": "20241117", +"rootUrl": "https://analyticsdata.googleapis.com/", +"schemas": { +"ActiveMetricRestriction": { +"description": "A metric actively restricted in creating the report.", +"id": "ActiveMetricRestriction", +"properties": { +"metricName": { +"description": "The name of the restricted metric.", +"type": "string" +}, +"restrictedMetricTypes": { +"description": "The reason for this metric's restriction.", +"items": { +"enum": [ +"RESTRICTED_METRIC_TYPE_UNSPECIFIED", +"COST_DATA", +"REVENUE_DATA" +], +"enumDescriptions": [ +"Unspecified type.", +"Cost metrics such as `adCost`.", +"Revenue metrics such as `purchaseRevenue`." +], +"type": "string" +}, +"type": "array" +} +}, +"type": "object" +}, +"AudienceExport": { +"description": "An audience export is a list of users in an audience at the time of the list's creation. One audience may have multiple audience exports created for different days.", +"id": "AudienceExport", +"properties": { +"audience": { +"description": "Required. The audience resource name. This resource name identifies the audience being listed and is shared between the Analytics Data & Admin APIs. Format: `properties/{property}/audiences/{audience}`", +"type": "string" +}, +"audienceDisplayName": { +"description": "Output only. The descriptive display name for this audience. For example, \"Purchasers\".", +"readOnly": true, +"type": "string" +}, +"beginCreatingTime": { +"description": "Output only. The time when CreateAudienceExport was called and the AudienceExport began the `CREATING` state.", +"format": "google-datetime", +"readOnly": true, +"type": "string" +}, +"creationQuotaTokensCharged": { +"description": "Output only. The total quota tokens charged during creation of the AudienceExport. Because this token count is based on activity from the `CREATING` state, this tokens charged will be fixed once an AudienceExport enters the `ACTIVE` or `FAILED` states.", +"format": "int32", +"readOnly": true, +"type": "integer" +}, +"dimensions": { +"description": "Required. The dimensions requested and displayed in the query response.", +"items": { +"$ref": "V1betaAudienceDimension" +}, +"type": "array" +}, +"errorMessage": { +"description": "Output only. Error message is populated when an audience export fails during creation. A common reason for such a failure is quota exhaustion.", +"readOnly": true, +"type": "string" +}, +"name": { +"description": "Output only. Identifier. The audience export resource name assigned during creation. This resource name identifies this `AudienceExport`. Format: `properties/{property}/audienceExports/{audience_export}`", +"readOnly": true, +"type": "string" +}, +"percentageCompleted": { +"description": "Output only. The percentage completed for this audience export ranging between 0 to 100.", +"format": "double", +"readOnly": true, +"type": "number" +}, +"rowCount": { +"description": "Output only. The total number of rows in the AudienceExport result.", +"format": "int32", +"readOnly": true, +"type": "integer" +}, +"state": { +"description": "Output only. The current state for this AudienceExport.", +"enum": [ +"STATE_UNSPECIFIED", +"CREATING", +"ACTIVE", +"FAILED" +], +"enumDescriptions": [ +"Unspecified state will never be used.", +"The AudienceExport is currently creating and will be available in the future. Creating occurs immediately after the CreateAudienceExport call.", +"The AudienceExport is fully created and ready for querying. An AudienceExport is updated to active asynchronously from a request; this occurs some time (for example 15 minutes) after the initial create call.", +"The AudienceExport failed to be created. It is possible that re-requesting this audience export will succeed." +], +"readOnly": true, +"type": "string" +} +}, +"type": "object" +}, +"AudienceListMetadata": { +"description": "This metadata is currently blank.", +"id": "AudienceListMetadata", +"properties": {}, +"type": "object" +}, +"BatchRunPivotReportsRequest": { +"description": "The batch request containing multiple pivot report requests.", +"id": "BatchRunPivotReportsRequest", +"properties": { +"requests": { +"description": "Individual requests. Each request has a separate pivot report response. Each batch request is allowed up to 5 requests.", +"items": { +"$ref": "RunPivotReportRequest" +}, +"type": "array" +} +}, +"type": "object" +}, +"BatchRunPivotReportsResponse": { +"description": "The batch response containing multiple pivot reports.", +"id": "BatchRunPivotReportsResponse", +"properties": { +"kind": { +"description": "Identifies what kind of resource this message is. This `kind` is always the fixed string \"analyticsData#batchRunPivotReports\". Useful to distinguish between response types in JSON.", +"type": "string" +}, +"pivotReports": { +"description": "Individual responses. Each response has a separate pivot report request.", +"items": { +"$ref": "RunPivotReportResponse" +}, +"type": "array" +} +}, +"type": "object" +}, +"BatchRunReportsRequest": { +"description": "The batch request containing multiple report requests.", +"id": "BatchRunReportsRequest", +"properties": { +"requests": { +"description": "Individual requests. Each request has a separate report response. Each batch request is allowed up to 5 requests.", +"items": { +"$ref": "RunReportRequest" +}, +"type": "array" +} +}, +"type": "object" +}, +"BatchRunReportsResponse": { +"description": "The batch response containing multiple reports.", +"id": "BatchRunReportsResponse", +"properties": { +"kind": { +"description": "Identifies what kind of resource this message is. This `kind` is always the fixed string \"analyticsData#batchRunReports\". Useful to distinguish between response types in JSON.", +"type": "string" +}, +"reports": { +"description": "Individual responses. Each response has a separate report request.", +"items": { +"$ref": "RunReportResponse" +}, +"type": "array" +} +}, +"type": "object" +}, +"BetweenFilter": { +"description": "To express that the result needs to be between two numbers (inclusive).", +"id": "BetweenFilter", +"properties": { +"fromValue": { +"$ref": "NumericValue", +"description": "Begins with this number." +}, +"toValue": { +"$ref": "NumericValue", +"description": "Ends with this number." +} +}, +"type": "object" +}, +"CaseExpression": { +"description": "Used to convert a dimension value to a single case.", +"id": "CaseExpression", +"properties": { +"dimensionName": { +"description": "Name of a dimension. The name must refer back to a name in dimensions field of the request.", +"type": "string" +} +}, +"type": "object" +}, +"CheckCompatibilityRequest": { +"description": "The request for compatibility information for a report's dimensions and metrics. Check compatibility provides a preview of the compatibility of a report; fields shared with the `runReport` request should be the same values as in your `runReport` request.", +"id": "CheckCompatibilityRequest", +"properties": { +"compatibilityFilter": { +"description": "Filters the dimensions and metrics in the response to just this compatibility. Commonly used as `\u201dcompatibilityFilter\u201d: \u201cCOMPATIBLE\u201d` to only return compatible dimensions & metrics.", +"enum": [ +"COMPATIBILITY_UNSPECIFIED", +"COMPATIBLE", +"INCOMPATIBLE" +], +"enumDescriptions": [ +"Unspecified compatibility.", +"The dimension or metric is compatible. This dimension or metric can be successfully added to a report.", +"The dimension or metric is incompatible. This dimension or metric cannot be successfully added to a report." +], +"type": "string" +}, +"dimensionFilter": { +"$ref": "FilterExpression", +"description": "The filter clause of dimensions. `dimensionFilter` should be the same value as in your `runReport` request." +}, +"dimensions": { +"description": "The dimensions in this report. `dimensions` should be the same value as in your `runReport` request.", +"items": { +"$ref": "Dimension" +}, +"type": "array" +}, +"metricFilter": { +"$ref": "FilterExpression", +"description": "The filter clause of metrics. `metricFilter` should be the same value as in your `runReport` request" +}, +"metrics": { +"description": "The metrics in this report. `metrics` should be the same value as in your `runReport` request.", +"items": { +"$ref": "Metric" +}, +"type": "array" +} +}, +"type": "object" +}, +"CheckCompatibilityResponse": { +"description": "The compatibility response with the compatibility of each dimension & metric.", +"id": "CheckCompatibilityResponse", +"properties": { +"dimensionCompatibilities": { +"description": "The compatibility of each dimension.", +"items": { +"$ref": "DimensionCompatibility" +}, +"type": "array" +}, +"metricCompatibilities": { +"description": "The compatibility of each metric.", +"items": { +"$ref": "MetricCompatibility" +}, +"type": "array" +} +}, +"type": "object" +}, +"Cohort": { +"description": "Defines a cohort selection criteria. A cohort is a group of users who share a common characteristic. For example, users with the same `firstSessionDate` belong to the same cohort.", +"id": "Cohort", +"properties": { +"dateRange": { +"$ref": "DateRange", +"description": "The cohort selects users whose first touch date is between start date and end date defined in the `dateRange`. This `dateRange` does not specify the full date range of event data that is present in a cohort report. In a cohort report, this `dateRange` is extended by the granularity and offset present in the `cohortsRange`; event data for the extended reporting date range is present in a cohort report. In a cohort request, this `dateRange` is required and the `dateRanges` in the `RunReportRequest` or `RunPivotReportRequest` must be unspecified. This `dateRange` should generally be aligned with the cohort's granularity. If `CohortsRange` uses daily granularity, this `dateRange` can be a single day. If `CohortsRange` uses weekly granularity, this `dateRange` can be aligned to a week boundary, starting at Sunday and ending Saturday. If `CohortsRange` uses monthly granularity, this `dateRange` can be aligned to a month, starting at the first and ending on the last day of the month." +}, +"dimension": { +"description": "Dimension used by the cohort. Required and only supports `firstSessionDate`.", +"type": "string" +}, +"name": { +"description": "Assigns a name to this cohort. The dimension `cohort` is valued to this name in a report response. If set, cannot begin with `cohort_` or `RESERVED_`. If not set, cohorts are named by their zero based index `cohort_0`, `cohort_1`, etc.", +"type": "string" +} +}, +"type": "object" +}, +"CohortReportSettings": { +"description": "Optional settings of a cohort report.", +"id": "CohortReportSettings", +"properties": { +"accumulate": { +"description": "If true, accumulates the result from first touch day to the end day. Not supported in `RunReportRequest`.", +"type": "boolean" +} +}, +"type": "object" +}, +"CohortSpec": { +"description": "The specification of cohorts for a cohort report. Cohort reports create a time series of user retention for the cohort. For example, you could select the cohort of users that were acquired in the first week of September and follow that cohort for the next six weeks. Selecting the users acquired in the first week of September cohort is specified in the `cohort` object. Following that cohort for the next six weeks is specified in the `cohortsRange` object. For examples, see [Cohort Report Examples](https://developers.google.com/analytics/devguides/reporting/data/v1/advanced#cohort_report_examples). The report response could show a weekly time series where say your app has retained 60% of this cohort after three weeks and 25% of this cohort after six weeks. These two percentages can be calculated by the metric `cohortActiveUsers/cohortTotalUsers` and will be separate rows in the report.", +"id": "CohortSpec", +"properties": { +"cohortReportSettings": { +"$ref": "CohortReportSettings", +"description": "Optional settings for a cohort report." +}, +"cohorts": { +"description": "Defines the selection criteria to group users into cohorts. Most cohort reports define only a single cohort. If multiple cohorts are specified, each cohort can be recognized in the report by their name.", +"items": { +"$ref": "Cohort" +}, +"type": "array" +}, +"cohortsRange": { +"$ref": "CohortsRange", +"description": "Cohort reports follow cohorts over an extended reporting date range. This range specifies an offset duration to follow the cohorts over." +} +}, +"type": "object" +}, +"CohortsRange": { +"description": "Configures the extended reporting date range for a cohort report. Specifies an offset duration to follow the cohorts over.", +"id": "CohortsRange", +"properties": { +"endOffset": { +"description": "Required. `endOffset` specifies the end date of the extended reporting date range for a cohort report. `endOffset` can be any positive integer but is commonly set to 5 to 10 so that reports contain data on the cohort for the next several granularity time periods. If `granularity` is `DAILY`, the `endDate` of the extended reporting date range is `endDate` of the cohort plus `endOffset` days. If `granularity` is `WEEKLY`, the `endDate` of the extended reporting date range is `endDate` of the cohort plus `endOffset * 7` days. If `granularity` is `MONTHLY`, the `endDate` of the extended reporting date range is `endDate` of the cohort plus `endOffset * 30` days.", +"format": "int32", +"type": "integer" +}, +"granularity": { +"description": "Required. The granularity used to interpret the `startOffset` and `endOffset` for the extended reporting date range for a cohort report.", +"enum": [ +"GRANULARITY_UNSPECIFIED", +"DAILY", +"WEEKLY", +"MONTHLY" +], +"enumDescriptions": [ +"Should never be specified.", +"Daily granularity. Commonly used if the cohort's `dateRange` is a single day and the request contains `cohortNthDay`.", +"Weekly granularity. Commonly used if the cohort's `dateRange` is a week in duration (starting on Sunday and ending on Saturday) and the request contains `cohortNthWeek`.", +"Monthly granularity. Commonly used if the cohort's `dateRange` is a month in duration and the request contains `cohortNthMonth`." +], +"type": "string" +}, +"startOffset": { +"description": "`startOffset` specifies the start date of the extended reporting date range for a cohort report. `startOffset` is commonly set to 0 so that reports contain data from the acquisition of the cohort forward. If `granularity` is `DAILY`, the `startDate` of the extended reporting date range is `startDate` of the cohort plus `startOffset` days. If `granularity` is `WEEKLY`, the `startDate` of the extended reporting date range is `startDate` of the cohort plus `startOffset * 7` days. If `granularity` is `MONTHLY`, the `startDate` of the extended reporting date range is `startDate` of the cohort plus `startOffset * 30` days.", +"format": "int32", +"type": "integer" +} +}, +"type": "object" +}, +"Comparison": { +"description": "Defines an individual comparison. Most requests will include multiple comparisons so that the report compares between the comparisons.", +"id": "Comparison", +"properties": { +"comparison": { +"description": "A saved comparison identified by the comparison's resource name. For example, 'comparisons/1234'.", +"type": "string" +}, +"dimensionFilter": { +"$ref": "FilterExpression", +"description": "A basic comparison." +}, +"name": { +"description": "Each comparison produces separate rows in the response. In the response, this comparison is identified by this name. If name is unspecified, we will use the saved comparisons display name.", +"type": "string" +} +}, +"type": "object" +}, +"ComparisonMetadata": { +"description": "The metadata for a single comparison.", +"id": "ComparisonMetadata", +"properties": { +"apiName": { +"description": "This comparison's resource name. Useable in [Comparison](#Comparison)'s `comparison` field. For example, 'comparisons/1234'.", +"type": "string" +}, +"description": { +"description": "This comparison's description.", +"type": "string" +}, +"uiName": { +"description": "This comparison's name within the Google Analytics user interface.", +"type": "string" +} +}, +"type": "object" +}, +"ConcatenateExpression": { +"description": "Used to combine dimension values to a single dimension.", +"id": "ConcatenateExpression", +"properties": { +"delimiter": { +"description": "The delimiter placed between dimension names. Delimiters are often single characters such as \"|\" or \",\" but can be longer strings. If a dimension value contains the delimiter, both will be present in response with no distinction. For example if dimension 1 value = \"US,FR\", dimension 2 value = \"JP\", and delimiter = \",\", then the response will contain \"US,FR,JP\".", +"type": "string" +}, +"dimensionNames": { +"description": "Names of dimensions. The names must refer back to names in the dimensions field of the request.", +"items": { +"type": "string" +}, +"type": "array" +} +}, +"type": "object" +}, +"DateRange": { +"description": "A contiguous set of days: `startDate`, `startDate + 1`, ..., `endDate`. Requests are allowed up to 4 date ranges.", +"id": "DateRange", +"properties": { +"endDate": { +"description": "The inclusive end date for the query in the format `YYYY-MM-DD`. Cannot be before `start_date`. The format `NdaysAgo`, `yesterday`, or `today` is also accepted, and in that case, the date is inferred based on the property's reporting time zone.", +"type": "string" +}, +"name": { +"description": "Assigns a name to this date range. The dimension `dateRange` is valued to this name in a report response. If set, cannot begin with `date_range_` or `RESERVED_`. If not set, date ranges are named by their zero based index in the request: `date_range_0`, `date_range_1`, etc.", +"type": "string" +}, +"startDate": { +"description": "The inclusive start date for the query in the format `YYYY-MM-DD`. Cannot be after `end_date`. The format `NdaysAgo`, `yesterday`, or `today` is also accepted, and in that case, the date is inferred based on the property's reporting time zone.", +"type": "string" +} +}, +"type": "object" +}, +"Dimension": { +"description": "Dimensions are attributes of your data. For example, the dimension city indicates the city from which an event originates. Dimension values in report responses are strings; for example, the city could be \"Paris\" or \"New York\". Requests are allowed up to 9 dimensions.", +"id": "Dimension", +"properties": { +"dimensionExpression": { +"$ref": "DimensionExpression", +"description": "One dimension can be the result of an expression of multiple dimensions. For example, dimension \"country, city\": concatenate(country, \", \", city)." +}, +"name": { +"description": "The name of the dimension. See the [API Dimensions](https://developers.google.com/analytics/devguides/reporting/data/v1/api-schema#dimensions) for the list of dimension names supported by core reporting methods such as `runReport` and `batchRunReports`. See [Realtime Dimensions](https://developers.google.com/analytics/devguides/reporting/data/v1/realtime-api-schema#dimensions) for the list of dimension names supported by the `runRealtimeReport` method. See [Funnel Dimensions](https://developers.google.com/analytics/devguides/reporting/data/v1/exploration-api-schema#dimensions) for the list of dimension names supported by the `runFunnelReport` method. If `dimensionExpression` is specified, `name` can be any string that you would like within the allowed character set. For example if a `dimensionExpression` concatenates `country` and `city`, you could call that dimension `countryAndCity`. Dimension names that you choose must match the regular expression `^[a-zA-Z0-9_]$`. Dimensions are referenced by `name` in `dimensionFilter`, `orderBys`, `dimensionExpression`, and `pivots`.", +"type": "string" +} +}, +"type": "object" +}, +"DimensionCompatibility": { +"description": "The compatibility for a single dimension.", +"id": "DimensionCompatibility", +"properties": { +"compatibility": { +"description": "The compatibility of this dimension. If the compatibility is COMPATIBLE, this dimension can be successfully added to the report.", +"enum": [ +"COMPATIBILITY_UNSPECIFIED", +"COMPATIBLE", +"INCOMPATIBLE" +], +"enumDescriptions": [ +"Unspecified compatibility.", +"The dimension or metric is compatible. This dimension or metric can be successfully added to a report.", +"The dimension or metric is incompatible. This dimension or metric cannot be successfully added to a report." +], +"type": "string" +}, +"dimensionMetadata": { +"$ref": "DimensionMetadata", +"description": "The dimension metadata contains the API name for this compatibility information. The dimension metadata also contains other helpful information like the UI name and description." +} +}, +"type": "object" +}, +"DimensionExpression": { +"description": "Used to express a dimension which is the result of a formula of multiple dimensions. Example usages: 1) lower_case(dimension) 2) concatenate(dimension1, symbol, dimension2).", +"id": "DimensionExpression", +"properties": { +"concatenate": { +"$ref": "ConcatenateExpression", +"description": "Used to combine dimension values to a single dimension. For example, dimension \"country, city\": concatenate(country, \", \", city)." +}, +"lowerCase": { +"$ref": "CaseExpression", +"description": "Used to convert a dimension value to lower case." +}, +"upperCase": { +"$ref": "CaseExpression", +"description": "Used to convert a dimension value to upper case." +} +}, +"type": "object" +}, +"DimensionHeader": { +"description": "Describes a dimension column in the report. Dimensions requested in a report produce column entries within rows and DimensionHeaders. However, dimensions used exclusively within filters or expressions do not produce columns in a report; correspondingly, those dimensions do not produce headers.", +"id": "DimensionHeader", +"properties": { +"name": { +"description": "The dimension's name.", +"type": "string" +} +}, +"type": "object" +}, +"DimensionMetadata": { +"description": "Explains a dimension.", +"id": "DimensionMetadata", +"properties": { +"apiName": { +"description": "This dimension's name. Useable in [Dimension](#Dimension)'s `name`. For example, `eventName`.", +"type": "string" +}, +"category": { +"description": "The display name of the category that this dimension belongs to. Similar dimensions and metrics are categorized together.", +"type": "string" +}, +"customDefinition": { +"description": "True if the dimension is custom to this property. This includes user, event, & item scoped custom dimensions; to learn more about custom dimensions, see https://support.google.com/analytics/answer/14240153. This also include custom channel groups; to learn more about custom channel groups, see https://support.google.com/analytics/answer/13051316.", +"type": "boolean" +}, +"deprecatedApiNames": { +"description": "Still usable but deprecated names for this dimension. If populated, this dimension is available by either `apiName` or one of `deprecatedApiNames` for a period of time. After the deprecation period, the dimension will be available only by `apiName`.", +"items": { +"type": "string" +}, +"type": "array" +}, +"description": { +"description": "Description of how this dimension is used and calculated.", +"type": "string" +}, +"uiName": { +"description": "This dimension's name within the Google Analytics user interface. For example, `Event name`.", +"type": "string" +} +}, +"type": "object" +}, +"DimensionOrderBy": { +"description": "Sorts by dimension values.", +"id": "DimensionOrderBy", +"properties": { +"dimensionName": { +"description": "A dimension name in the request to order by.", +"type": "string" +}, +"orderType": { +"description": "Controls the rule for dimension value ordering.", +"enum": [ +"ORDER_TYPE_UNSPECIFIED", +"ALPHANUMERIC", +"CASE_INSENSITIVE_ALPHANUMERIC", +"NUMERIC" +], +"enumDescriptions": [ +"Unspecified.", +"Alphanumeric sort by Unicode code point. For example, \"2\" < \"A\" < \"X\" < \"b\" < \"z\".", +"Case insensitive alphanumeric sort by lower case Unicode code point. For example, \"2\" < \"A\" < \"b\" < \"X\" < \"z\".", +"Dimension values are converted to numbers before sorting. For example in NUMERIC sort, \"25\" < \"100\", and in `ALPHANUMERIC` sort, \"100\" < \"25\". Non-numeric dimension values all have equal ordering value below all numeric values." +], +"type": "string" +} +}, +"type": "object" +}, +"DimensionValue": { +"description": "The value of a dimension.", +"id": "DimensionValue", +"properties": { +"value": { +"description": "Value as a string if the dimension type is a string.", +"type": "string" +} +}, +"type": "object" +}, +"EmptyFilter": { +"description": "Filter for empty values.", +"id": "EmptyFilter", +"properties": {}, +"type": "object" +}, +"Filter": { +"description": "An expression to filter dimension or metric values.", +"id": "Filter", +"properties": { +"betweenFilter": { +"$ref": "BetweenFilter", +"description": "A filter for two values." +}, +"emptyFilter": { +"$ref": "EmptyFilter", +"description": "A filter for empty values such as \"(not set)\" and \"\" values." +}, +"fieldName": { +"description": "The dimension name or metric name. In most methods, dimensions & metrics can be used for the first time in this field. However in a RunPivotReportRequest, this field must be additionally specified by name in the RunPivotReportRequest's dimensions or metrics.", +"type": "string" +}, +"inListFilter": { +"$ref": "InListFilter", +"description": "A filter for in list values." +}, +"numericFilter": { +"$ref": "NumericFilter", +"description": "A filter for numeric or date values." +}, +"stringFilter": { +"$ref": "StringFilter", +"description": "Strings related filter." +} +}, +"type": "object" +}, +"FilterExpression": { +"description": "To express dimension or metric filters. The fields in the same FilterExpression need to be either all dimensions or all metrics.", +"id": "FilterExpression", +"properties": { +"andGroup": { +"$ref": "FilterExpressionList", +"description": "The FilterExpressions in and_group have an AND relationship." +}, +"filter": { +"$ref": "Filter", +"description": "A primitive filter. In the same FilterExpression, all of the filter's field names need to be either all dimensions or all metrics." +}, +"notExpression": { +"$ref": "FilterExpression", +"description": "The FilterExpression is NOT of not_expression." +}, +"orGroup": { +"$ref": "FilterExpressionList", +"description": "The FilterExpressions in or_group have an OR relationship." +} +}, +"type": "object" +}, +"FilterExpressionList": { +"description": "A list of filter expressions.", +"id": "FilterExpressionList", +"properties": { +"expressions": { +"description": "A list of filter expressions.", +"items": { +"$ref": "FilterExpression" +}, +"type": "array" +} +}, +"type": "object" +}, +"InListFilter": { +"description": "The result needs to be in a list of string values.", +"id": "InListFilter", +"properties": { +"caseSensitive": { +"description": "If true, the string value is case sensitive.", +"type": "boolean" +}, +"values": { +"description": "The list of string values. Must be non-empty.", +"items": { +"type": "string" +}, +"type": "array" +} +}, +"type": "object" +}, +"ListAudienceExportsResponse": { +"description": "A list of all audience exports for a property.", +"id": "ListAudienceExportsResponse", +"properties": { +"audienceExports": { +"description": "Each audience export for a property.", +"items": { +"$ref": "AudienceExport" +}, +"type": "array" +}, +"nextPageToken": { +"description": "A token, which can be sent as `page_token` to retrieve the next page. If this field is omitted, there are no subsequent pages.", +"type": "string" +} +}, +"type": "object" +}, +"Metadata": { +"description": "The dimensions, metrics and comparisons currently accepted in reporting methods.", +"id": "Metadata", +"properties": { +"comparisons": { +"description": "The comparison descriptions.", +"items": { +"$ref": "ComparisonMetadata" +}, +"type": "array" +}, +"dimensions": { +"description": "The dimension descriptions.", +"items": { +"$ref": "DimensionMetadata" +}, +"type": "array" +}, +"metrics": { +"description": "The metric descriptions.", +"items": { +"$ref": "MetricMetadata" +}, +"type": "array" +}, +"name": { +"description": "Resource name of this metadata.", +"type": "string" +} +}, +"type": "object" +}, +"Metric": { +"description": "The quantitative measurements of a report. For example, the metric `eventCount` is the total number of events. Requests are allowed up to 10 metrics.", +"id": "Metric", +"properties": { +"expression": { +"description": "A mathematical expression for derived metrics. For example, the metric Event count per user is `eventCount/totalUsers`.", +"type": "string" +}, +"invisible": { +"description": "Indicates if a metric is invisible in the report response. If a metric is invisible, the metric will not produce a column in the response, but can be used in `metricFilter`, `orderBys`, or a metric `expression`.", +"type": "boolean" +}, +"name": { +"description": "The name of the metric. See the [API Metrics](https://developers.google.com/analytics/devguides/reporting/data/v1/api-schema#metrics) for the list of metric names supported by core reporting methods such as `runReport` and `batchRunReports`. See [Realtime Metrics](https://developers.google.com/analytics/devguides/reporting/data/v1/realtime-api-schema#metrics) for the list of metric names supported by the `runRealtimeReport` method. See [Funnel Metrics](https://developers.google.com/analytics/devguides/reporting/data/v1/exploration-api-schema#metrics) for the list of metric names supported by the `runFunnelReport` method. If `expression` is specified, `name` can be any string that you would like within the allowed character set. For example if `expression` is `screenPageViews/sessions`, you could call that metric's name = `viewsPerSession`. Metric names that you choose must match the regular expression `^[a-zA-Z0-9_]$`. Metrics are referenced by `name` in `metricFilter`, `orderBys`, and metric `expression`.", +"type": "string" +} +}, +"type": "object" +}, +"MetricCompatibility": { +"description": "The compatibility for a single metric.", +"id": "MetricCompatibility", +"properties": { +"compatibility": { +"description": "The compatibility of this metric. If the compatibility is COMPATIBLE, this metric can be successfully added to the report.", +"enum": [ +"COMPATIBILITY_UNSPECIFIED", +"COMPATIBLE", +"INCOMPATIBLE" +], +"enumDescriptions": [ +"Unspecified compatibility.", +"The dimension or metric is compatible. This dimension or metric can be successfully added to a report.", +"The dimension or metric is incompatible. This dimension or metric cannot be successfully added to a report." +], +"type": "string" +}, +"metricMetadata": { +"$ref": "MetricMetadata", +"description": "The metric metadata contains the API name for this compatibility information. The metric metadata also contains other helpful information like the UI name and description." +} +}, +"type": "object" +}, +"MetricHeader": { +"description": "Describes a metric column in the report. Visible metrics requested in a report produce column entries within rows and MetricHeaders. However, metrics used exclusively within filters or expressions do not produce columns in a report; correspondingly, those metrics do not produce headers.", +"id": "MetricHeader", +"properties": { +"name": { +"description": "The metric's name.", +"type": "string" +}, +"type": { +"description": "The metric's data type.", +"enum": [ +"METRIC_TYPE_UNSPECIFIED", +"TYPE_INTEGER", +"TYPE_FLOAT", +"TYPE_SECONDS", +"TYPE_MILLISECONDS", +"TYPE_MINUTES", +"TYPE_HOURS", +"TYPE_STANDARD", +"TYPE_CURRENCY", +"TYPE_FEET", +"TYPE_MILES", +"TYPE_METERS", +"TYPE_KILOMETERS" +], +"enumDescriptions": [ +"Unspecified type.", +"Integer type.", +"Floating point type.", +"A duration of seconds; a special floating point type.", +"A duration in milliseconds; a special floating point type.", +"A duration in minutes; a special floating point type.", +"A duration in hours; a special floating point type.", +"A custom metric of standard type; a special floating point type.", +"An amount of money; a special floating point type.", +"A length in feet; a special floating point type.", +"A length in miles; a special floating point type.", +"A length in meters; a special floating point type.", +"A length in kilometers; a special floating point type." +], +"type": "string" +} +}, +"type": "object" +}, +"MetricMetadata": { +"description": "Explains a metric.", +"id": "MetricMetadata", +"properties": { +"apiName": { +"description": "A metric name. Useable in [Metric](#Metric)'s `name`. For example, `eventCount`.", +"type": "string" +}, +"blockedReasons": { +"description": "If reasons are specified, your access is blocked to this metric for this property. API requests from you to this property for this metric will succeed; however, the report will contain only zeros for this metric. API requests with metric filters on blocked metrics will fail. If reasons are empty, you have access to this metric. To learn more, see [Access and data-restriction management](https://support.google.com/analytics/answer/10851388).", +"items": { +"enum": [ +"BLOCKED_REASON_UNSPECIFIED", +"NO_REVENUE_METRICS", +"NO_COST_METRICS" +], +"enumDescriptions": [ +"Will never be specified in API response.", +"If present, your access is blocked to revenue related metrics for this property, and this metric is revenue related.", +"If present, your access is blocked to cost related metrics for this property, and this metric is cost related." +], +"type": "string" +}, +"type": "array" +}, +"category": { +"description": "The display name of the category that this metrics belongs to. Similar dimensions and metrics are categorized together.", +"type": "string" +}, +"customDefinition": { +"description": "True if the metric is a custom metric for this property.", +"type": "boolean" +}, +"deprecatedApiNames": { +"description": "Still usable but deprecated names for this metric. If populated, this metric is available by either `apiName` or one of `deprecatedApiNames` for a period of time. After the deprecation period, the metric will be available only by `apiName`.", +"items": { +"type": "string" +}, +"type": "array" +}, +"description": { +"description": "Description of how this metric is used and calculated.", +"type": "string" +}, +"expression": { +"description": "The mathematical expression for this derived metric. Can be used in [Metric](#Metric)'s `expression` field for equivalent reports. Most metrics are not expressions, and for non-expressions, this field is empty.", +"type": "string" +}, +"type": { +"description": "The type of this metric.", +"enum": [ +"METRIC_TYPE_UNSPECIFIED", +"TYPE_INTEGER", +"TYPE_FLOAT", +"TYPE_SECONDS", +"TYPE_MILLISECONDS", +"TYPE_MINUTES", +"TYPE_HOURS", +"TYPE_STANDARD", +"TYPE_CURRENCY", +"TYPE_FEET", +"TYPE_MILES", +"TYPE_METERS", +"TYPE_KILOMETERS" +], +"enumDescriptions": [ +"Unspecified type.", +"Integer type.", +"Floating point type.", +"A duration of seconds; a special floating point type.", +"A duration in milliseconds; a special floating point type.", +"A duration in minutes; a special floating point type.", +"A duration in hours; a special floating point type.", +"A custom metric of standard type; a special floating point type.", +"An amount of money; a special floating point type.", +"A length in feet; a special floating point type.", +"A length in miles; a special floating point type.", +"A length in meters; a special floating point type.", +"A length in kilometers; a special floating point type." +], +"type": "string" +}, +"uiName": { +"description": "This metric's name within the Google Analytics user interface. For example, `Event count`.", +"type": "string" +} +}, +"type": "object" +}, +"MetricOrderBy": { +"description": "Sorts by metric values.", +"id": "MetricOrderBy", +"properties": { +"metricName": { +"description": "A metric name in the request to order by.", +"type": "string" +} +}, +"type": "object" +}, +"MetricValue": { +"description": "The value of a metric.", +"id": "MetricValue", +"properties": { +"value": { +"description": "Measurement value. See MetricHeader for type.", +"type": "string" +} +}, +"type": "object" +}, +"MinuteRange": { +"description": "A contiguous set of minutes: `startMinutesAgo`, `startMinutesAgo + 1`, ..., `endMinutesAgo`. Requests are allowed up to 2 minute ranges.", +"id": "MinuteRange", +"properties": { +"endMinutesAgo": { +"description": "The inclusive end minute for the query as a number of minutes before now. Cannot be before `startMinutesAgo`. For example, `\"endMinutesAgo\": 15` specifies the report should include event data from prior to 15 minutes ago. If unspecified, `endMinutesAgo` is defaulted to 0. Standard Analytics properties can request any minute in the last 30 minutes of event data (`endMinutesAgo <= 29`), and 360 Analytics properties can request any minute in the last 60 minutes of event data (`endMinutesAgo <= 59`).", +"format": "int32", +"type": "integer" +}, +"name": { +"description": "Assigns a name to this minute range. The dimension `dateRange` is valued to this name in a report response. If set, cannot begin with `date_range_` or `RESERVED_`. If not set, minute ranges are named by their zero based index in the request: `date_range_0`, `date_range_1`, etc.", +"type": "string" +}, +"startMinutesAgo": { +"description": "The inclusive start minute for the query as a number of minutes before now. For example, `\"startMinutesAgo\": 29` specifies the report should include event data from 29 minutes ago and after. Cannot be after `endMinutesAgo`. If unspecified, `startMinutesAgo` is defaulted to 29. Standard Analytics properties can request up to the last 30 minutes of event data (`startMinutesAgo <= 29`), and 360 Analytics properties can request up to the last 60 minutes of event data (`startMinutesAgo <= 59`).", +"format": "int32", +"type": "integer" +} +}, +"type": "object" +}, +"NumericFilter": { +"description": "Filters for numeric or date values.", +"id": "NumericFilter", +"properties": { +"operation": { +"description": "The operation type for this filter.", +"enum": [ +"OPERATION_UNSPECIFIED", +"EQUAL", +"LESS_THAN", +"LESS_THAN_OR_EQUAL", +"GREATER_THAN", +"GREATER_THAN_OR_EQUAL" +], +"enumDescriptions": [ +"Unspecified.", +"Equal", +"Less than", +"Less than or equal", +"Greater than", +"Greater than or equal" +], +"type": "string" +}, +"value": { +"$ref": "NumericValue", +"description": "A numeric value or a date value." +} +}, +"type": "object" +}, +"NumericValue": { +"description": "To represent a number.", +"id": "NumericValue", +"properties": { +"doubleValue": { +"description": "Double value", +"format": "double", +"type": "number" +}, +"int64Value": { +"description": "Integer value", +"format": "int64", +"type": "string" +} +}, +"type": "object" +}, +"Operation": { +"description": "This resource represents a long-running operation that is the result of a network API call.", +"id": "Operation", +"properties": { +"done": { +"description": "If the value is `false`, it means the operation is still in progress. If `true`, the operation is completed, and either `error` or `response` is available.", +"type": "boolean" +}, +"error": { +"$ref": "Status", +"description": "The error result of the operation in case of failure or cancellation." +}, +"metadata": { +"additionalProperties": { +"description": "Properties of the object. Contains field @type with type URL.", +"type": "any" +}, +"description": "Service-specific metadata associated with the operation. It typically contains progress information and common metadata such as create time. Some services might not provide such metadata. Any method that returns a long-running operation should document the metadata type, if any.", +"type": "object" +}, +"name": { +"description": "The server-assigned name, which is only unique within the same service that originally returns it. If you use the default HTTP mapping, the `name` should be a resource name ending with `operations/{unique_id}`.", +"type": "string" +}, +"response": { +"additionalProperties": { +"description": "Properties of the object. Contains field @type with type URL.", +"type": "any" +}, +"description": "The normal, successful response of the operation. If the original method returns no data on success, such as `Delete`, the response is `google.protobuf.Empty`. If the original method is standard `Get`/`Create`/`Update`, the response should be the resource. For other methods, the response should have the type `XxxResponse`, where `Xxx` is the original method name. For example, if the original method name is `TakeSnapshot()`, the inferred response type is `TakeSnapshotResponse`.", +"type": "object" +} +}, +"type": "object" +}, +"OrderBy": { +"description": "Order bys define how rows will be sorted in the response. For example, ordering rows by descending event count is one ordering, and ordering rows by the event name string is a different ordering.", +"id": "OrderBy", +"properties": { +"desc": { +"description": "If true, sorts by descending order.", +"type": "boolean" +}, +"dimension": { +"$ref": "DimensionOrderBy", +"description": "Sorts results by a dimension's values." +}, +"metric": { +"$ref": "MetricOrderBy", +"description": "Sorts results by a metric's values." +}, +"pivot": { +"$ref": "PivotOrderBy", +"description": "Sorts results by a metric's values within a pivot column group." +} +}, +"type": "object" +}, +"Pivot": { +"description": "Describes the visible dimension columns and rows in the report response.", +"id": "Pivot", +"properties": { +"fieldNames": { +"description": "Dimension names for visible columns in the report response. Including \"dateRange\" produces a date range column; for each row in the response, dimension values in the date range column will indicate the corresponding date range from the request.", +"items": { +"type": "string" +}, +"type": "array" +}, +"limit": { +"description": "The number of unique combinations of dimension values to return in this pivot. The `limit` parameter is required. A `limit` of 10,000 is common for single pivot requests. The product of the `limit` for each `pivot` in a `RunPivotReportRequest` must not exceed 250,000. For example, a two pivot request with `limit: 1000` in each pivot will fail because the product is `1,000,000`.", +"format": "int64", +"type": "string" +}, +"metricAggregations": { +"description": "Aggregate the metrics by dimensions in this pivot using the specified metric_aggregations.", +"items": { +"enum": [ +"METRIC_AGGREGATION_UNSPECIFIED", +"TOTAL", +"MINIMUM", +"MAXIMUM", +"COUNT" +], +"enumDescriptions": [ +"Unspecified operator.", +"SUM operator.", +"Minimum operator.", +"Maximum operator.", +"Count operator." +], +"type": "string" +}, +"type": "array" +}, +"offset": { +"description": "The row count of the start row. The first row is counted as row 0.", +"format": "int64", +"type": "string" +}, +"orderBys": { +"description": "Specifies how dimensions are ordered in the pivot. In the first Pivot, the OrderBys determine Row and PivotDimensionHeader ordering; in subsequent Pivots, the OrderBys determine only PivotDimensionHeader ordering. Dimensions specified in these OrderBys must be a subset of Pivot.field_names.", +"items": { +"$ref": "OrderBy" +}, +"type": "array" +} +}, +"type": "object" +}, +"PivotDimensionHeader": { +"description": "Summarizes dimension values from a row for this pivot.", +"id": "PivotDimensionHeader", +"properties": { +"dimensionValues": { +"description": "Values of multiple dimensions in a pivot.", +"items": { +"$ref": "DimensionValue" +}, +"type": "array" +} +}, +"type": "object" +}, +"PivotHeader": { +"description": "Dimensions' values in a single pivot.", +"id": "PivotHeader", +"properties": { +"pivotDimensionHeaders": { +"description": "The size is the same as the cardinality of the corresponding dimension combinations.", +"items": { +"$ref": "PivotDimensionHeader" +}, +"type": "array" +}, +"rowCount": { +"description": "The cardinality of the pivot. The total number of rows for this pivot's fields regardless of how the parameters `offset` and `limit` are specified in the request.", +"format": "int32", +"type": "integer" +} +}, +"type": "object" +}, +"PivotOrderBy": { +"description": "Sorts by a pivot column group.", +"id": "PivotOrderBy", +"properties": { +"metricName": { +"description": "In the response to order by, order rows by this column. Must be a metric name from the request.", +"type": "string" +}, +"pivotSelections": { +"description": "Used to select a dimension name and value pivot. If multiple pivot selections are given, the sort occurs on rows where all pivot selection dimension name and value pairs match the row's dimension name and value pair.", +"items": { +"$ref": "PivotSelection" +}, +"type": "array" +} +}, +"type": "object" +}, +"PivotSelection": { +"description": "A pair of dimension names and values. Rows with this dimension pivot pair are ordered by the metric's value. For example if pivots = {{\"browser\", \"Chrome\"}} and metric_name = \"Sessions\", then the rows will be sorted based on Sessions in Chrome. ---------|----------|----------------|----------|---------------- | Chrome | Chrome | Safari | Safari ---------|----------|----------------|----------|---------------- Country | Sessions | Pages/Sessions | Sessions | Pages/Sessions ---------|----------|----------------|----------|---------------- US | 2 | 2 | 3 | 1 ---------|----------|----------------|----------|---------------- Canada | 3 | 1 | 4 | 1 ---------|----------|----------------|----------|----------------", +"id": "PivotSelection", +"properties": { +"dimensionName": { +"description": "Must be a dimension name from the request.", +"type": "string" +}, +"dimensionValue": { +"description": "Order by only when the named dimension is this value.", +"type": "string" +} +}, +"type": "object" +}, +"PropertyQuota": { +"description": "Current state of all quotas for this Analytics Property. If any quota for a property is exhausted, all requests to that property will return Resource Exhausted errors.", +"id": "PropertyQuota", +"properties": { +"concurrentRequests": { +"$ref": "QuotaStatus", +"description": "Standard Analytics Properties can send up to 10 concurrent requests; Analytics 360 Properties can use up to 50 concurrent requests." +}, +"potentiallyThresholdedRequestsPerHour": { +"$ref": "QuotaStatus", +"description": "Analytics Properties can send up to 120 requests with potentially thresholded dimensions per hour. In a batch request, each report request is individually counted for this quota if the request contains potentially thresholded dimensions." +}, +"serverErrorsPerProjectPerHour": { +"$ref": "QuotaStatus", +"description": "Standard Analytics Properties and cloud project pairs can have up to 10 server errors per hour; Analytics 360 Properties and cloud project pairs can have up to 50 server errors per hour." +}, +"tokensPerDay": { +"$ref": "QuotaStatus", +"description": "Standard Analytics Properties can use up to 200,000 tokens per day; Analytics 360 Properties can use 2,000,000 tokens per day. Most requests consume fewer than 10 tokens." +}, +"tokensPerHour": { +"$ref": "QuotaStatus", +"description": "Standard Analytics Properties can use up to 40,000 tokens per hour; Analytics 360 Properties can use 400,000 tokens per hour. An API request consumes a single number of tokens, and that number is deducted from all of the hourly, daily, and per project hourly quotas." +}, +"tokensPerProjectPerHour": { +"$ref": "QuotaStatus", +"description": "Analytics Properties can use up to 35% of their tokens per project per hour. This amounts to standard Analytics Properties can use up to 14,000 tokens per project per hour, and Analytics 360 Properties can use 140,000 tokens per project per hour. An API request consumes a single number of tokens, and that number is deducted from all of the hourly, daily, and per project hourly quotas." +} +}, +"type": "object" +}, +"QueryAudienceExportRequest": { +"description": "A request to list users in an audience export.", +"id": "QueryAudienceExportRequest", +"properties": { +"limit": { +"description": "Optional. The number of rows to return. If unspecified, 10,000 rows are returned. The API returns a maximum of 250,000 rows per request, no matter how many you ask for. `limit` must be positive. The API can also return fewer rows than the requested `limit`, if there aren't as many dimension values as the `limit`. To learn more about this pagination parameter, see [Pagination](https://developers.google.com/analytics/devguides/reporting/data/v1/basics#pagination).", +"format": "int64", +"type": "string" +}, +"offset": { +"description": "Optional. The row count of the start row. The first row is counted as row 0. When paging, the first request does not specify offset; or equivalently, sets offset to 0; the first request returns the first `limit` of rows. The second request sets offset to the `limit` of the first request; the second request returns the second `limit` of rows. To learn more about this pagination parameter, see [Pagination](https://developers.google.com/analytics/devguides/reporting/data/v1/basics#pagination).", +"format": "int64", +"type": "string" +} +}, +"type": "object" +}, +"QueryAudienceExportResponse": { +"description": "A list of users in an audience export.", +"id": "QueryAudienceExportResponse", +"properties": { +"audienceExport": { +"$ref": "AudienceExport", +"description": "Configuration data about AudienceExport being queried. Returned to help interpret the audience rows in this response. For example, the dimensions in this AudienceExport correspond to the columns in the AudienceRows." +}, +"audienceRows": { +"description": "Rows for each user in an audience export. The number of rows in this response will be less than or equal to request's page size.", +"items": { +"$ref": "V1betaAudienceRow" +}, +"type": "array" +}, +"rowCount": { +"description": "The total number of rows in the AudienceExport result. `rowCount` is independent of the number of rows returned in the response, the `limit` request parameter, and the `offset` request parameter. For example if a query returns 175 rows and includes `limit` of 50 in the API request, the response will contain `rowCount` of 175 but only 50 rows. To learn more about this pagination parameter, see [Pagination](https://developers.google.com/analytics/devguides/reporting/data/v1/basics#pagination).", +"format": "int32", +"type": "integer" +} +}, +"type": "object" +}, +"QuotaStatus": { +"description": "Current state for a particular quota group.", +"id": "QuotaStatus", +"properties": { +"consumed": { +"description": "Quota consumed by this request.", +"format": "int32", +"type": "integer" +}, +"remaining": { +"description": "Quota remaining after this request.", +"format": "int32", +"type": "integer" +} +}, +"type": "object" +}, +"ResponseMetaData": { +"description": "Response's metadata carrying additional information about the report content.", +"id": "ResponseMetaData", +"properties": { +"currencyCode": { +"description": "The currency code used in this report. Intended to be used in formatting currency metrics like `purchaseRevenue` for visualization. If currency_code was specified in the request, this response parameter will echo the request parameter; otherwise, this response parameter is the property's current currency_code. Currency codes are string encodings of currency types from the ISO 4217 standard (https://en.wikipedia.org/wiki/ISO_4217); for example \"USD\", \"EUR\", \"JPY\". To learn more, see https://support.google.com/analytics/answer/9796179.", +"type": "string" +}, +"dataLossFromOtherRow": { +"description": "If true, indicates some buckets of dimension combinations are rolled into \"(other)\" row. This can happen for high cardinality reports. The metadata parameter dataLossFromOtherRow is populated based on the aggregated data table used in the report. The parameter will be accurately populated regardless of the filters and limits in the report. For example, the (other) row could be dropped from the report because the request contains a filter on sessionSource = google. This parameter will still be populated if data loss from other row was present in the input aggregate data used to generate this report. To learn more, see [About the (other) row and data sampling](https://support.google.com/analytics/answer/13208658#reports).", +"type": "boolean" +}, +"emptyReason": { +"description": "If empty reason is specified, the report is empty for this reason.", +"type": "string" +}, +"samplingMetadatas": { +"description": "If this report results is [sampled](https://support.google.com/analytics/answer/13331292), this describes the percentage of events used in this report. One `samplingMetadatas` is populated for each date range. Each `samplingMetadatas` corresponds to a date range in order that date ranges were specified in the request. However if the results are not sampled, this field will not be defined.", +"items": { +"$ref": "SamplingMetadata" +}, +"type": "array" +}, +"schemaRestrictionResponse": { +"$ref": "SchemaRestrictionResponse", +"description": "Describes the schema restrictions actively enforced in creating this report. To learn more, see [Access and data-restriction management](https://support.google.com/analytics/answer/10851388)." +}, +"subjectToThresholding": { +"description": "If `subjectToThresholding` is true, this report is subject to thresholding and only returns data that meets the minimum aggregation thresholds. It is possible for a request to be subject to thresholding thresholding and no data is absent from the report, and this happens when all data is above the thresholds. To learn more, see [Data thresholds](https://support.google.com/analytics/answer/9383630).", +"type": "boolean" +}, +"timeZone": { +"description": "The property's current timezone. Intended to be used to interpret time-based dimensions like `hour` and `minute`. Formatted as strings from the IANA Time Zone database (https://www.iana.org/time-zones); for example \"America/New_York\" or \"Asia/Tokyo\".", +"type": "string" +} +}, +"type": "object" +}, +"Row": { +"description": "Report data for each row. For example if RunReportRequest contains: ```none \"dimensions\": [ { \"name\": \"eventName\" }, { \"name\": \"countryId\" } ], \"metrics\": [ { \"name\": \"eventCount\" } ] ``` One row with 'in_app_purchase' as the eventName, 'JP' as the countryId, and 15 as the eventCount, would be: ```none \"dimensionValues\": [ { \"value\": \"in_app_purchase\" }, { \"value\": \"JP\" } ], \"metricValues\": [ { \"value\": \"15\" } ] ```", +"id": "Row", +"properties": { +"dimensionValues": { +"description": "List of requested dimension values. In a PivotReport, dimension_values are only listed for dimensions included in a pivot.", +"items": { +"$ref": "DimensionValue" +}, +"type": "array" +}, +"metricValues": { +"description": "List of requested visible metric values.", +"items": { +"$ref": "MetricValue" +}, +"type": "array" +} +}, +"type": "object" +}, +"RunPivotReportRequest": { +"description": "The request to generate a pivot report.", +"id": "RunPivotReportRequest", +"properties": { +"cohortSpec": { +"$ref": "CohortSpec", +"description": "Cohort group associated with this request. If there is a cohort group in the request the 'cohort' dimension must be present." +}, +"comparisons": { +"description": "Optional. The configuration of comparisons requested and displayed. The request requires both a comparisons field and a comparisons dimension to receive a comparison column in the response.", +"items": { +"$ref": "Comparison" +}, +"type": "array" +}, +"currencyCode": { +"description": "A currency code in ISO4217 format, such as \"AED\", \"USD\", \"JPY\". If the field is empty, the report uses the property's default currency.", +"type": "string" +}, +"dateRanges": { +"description": "The date range to retrieve event data for the report. If multiple date ranges are specified, event data from each date range is used in the report. A special dimension with field name \"dateRange\" can be included in a Pivot's field names; if included, the report compares between date ranges. In a cohort request, this `dateRanges` must be unspecified.", +"items": { +"$ref": "DateRange" +}, +"type": "array" +}, +"dimensionFilter": { +"$ref": "FilterExpression", +"description": "The filter clause of dimensions. Dimensions must be requested to be used in this filter. Metrics cannot be used in this filter." +}, +"dimensions": { +"description": "The dimensions requested. All defined dimensions must be used by one of the following: dimension_expression, dimension_filter, pivots, order_bys.", +"items": { +"$ref": "Dimension" +}, +"type": "array" +}, +"keepEmptyRows": { +"description": "If false or unspecified, each row with all metrics equal to 0 will not be returned. If true, these rows will be returned if they are not separately removed by a filter. Regardless of this `keep_empty_rows` setting, only data recorded by the Google Analytics property can be displayed in a report. For example if a property never logs a `purchase` event, then a query for the `eventName` dimension and `eventCount` metric will not have a row eventName: \"purchase\" and eventCount: 0.", +"type": "boolean" +}, +"metricFilter": { +"$ref": "FilterExpression", +"description": "The filter clause of metrics. Applied at post aggregation phase, similar to SQL having-clause. Metrics must be requested to be used in this filter. Dimensions cannot be used in this filter." +}, +"metrics": { +"description": "The metrics requested, at least one metric needs to be specified. All defined metrics must be used by one of the following: metric_expression, metric_filter, order_bys.", +"items": { +"$ref": "Metric" +}, +"type": "array" +}, +"pivots": { +"description": "Describes the visual format of the report's dimensions in columns or rows. The union of the fieldNames (dimension names) in all pivots must be a subset of dimension names defined in Dimensions. No two pivots can share a dimension. A dimension is only visible if it appears in a pivot.", +"items": { +"$ref": "Pivot" +}, +"type": "array" +}, +"property": { +"description": "A Google Analytics property identifier whose events are tracked. Specified in the URL path and not the body. To learn more, see [where to find your Property ID](https://developers.google.com/analytics/devguides/reporting/data/v1/property-id). Within a batch request, this property should either be unspecified or consistent with the batch-level property. Example: properties/1234", +"type": "string" +}, +"returnPropertyQuota": { +"description": "Toggles whether to return the current state of this Google Analytics property's quota. Quota is returned in [PropertyQuota](#PropertyQuota).", +"type": "boolean" +} +}, +"type": "object" +}, +"RunPivotReportResponse": { +"description": "The response pivot report table corresponding to a pivot request.", +"id": "RunPivotReportResponse", +"properties": { +"aggregates": { +"description": "Aggregation of metric values. Can be totals, minimums, or maximums. The returned aggregations are controlled by the metric_aggregations in the pivot. The type of aggregation returned in each row is shown by the dimension_values which are set to \"RESERVED_\".", +"items": { +"$ref": "Row" +}, +"type": "array" +}, +"dimensionHeaders": { +"description": "Describes dimension columns. The number of DimensionHeaders and ordering of DimensionHeaders matches the dimensions present in rows.", +"items": { +"$ref": "DimensionHeader" +}, +"type": "array" +}, +"kind": { +"description": "Identifies what kind of resource this message is. This `kind` is always the fixed string \"analyticsData#runPivotReport\". Useful to distinguish between response types in JSON.", +"type": "string" +}, +"metadata": { +"$ref": "ResponseMetaData", +"description": "Metadata for the report." +}, +"metricHeaders": { +"description": "Describes metric columns. The number of MetricHeaders and ordering of MetricHeaders matches the metrics present in rows.", +"items": { +"$ref": "MetricHeader" +}, +"type": "array" +}, +"pivotHeaders": { +"description": "Summarizes the columns and rows created by a pivot. Each pivot in the request produces one header in the response. If we have a request like this: \"pivots\": [{ \"fieldNames\": [\"country\", \"city\"] }, { \"fieldNames\": \"eventName\" }] We will have the following `pivotHeaders` in the response: \"pivotHeaders\" : [{ \"dimensionHeaders\": [{ \"dimensionValues\": [ { \"value\": \"United Kingdom\" }, { \"value\": \"London\" } ] }, { \"dimensionValues\": [ { \"value\": \"Japan\" }, { \"value\": \"Osaka\" } ] }] }, { \"dimensionHeaders\": [{ \"dimensionValues\": [{ \"value\": \"session_start\" }] }, { \"dimensionValues\": [{ \"value\": \"scroll\" }] }] }]", +"items": { +"$ref": "PivotHeader" +}, +"type": "array" +}, +"propertyQuota": { +"$ref": "PropertyQuota", +"description": "This Google Analytics property's quota state including this request." +}, +"rows": { +"description": "Rows of dimension value combinations and metric values in the report.", +"items": { +"$ref": "Row" +}, +"type": "array" +} +}, +"type": "object" +}, +"RunRealtimeReportRequest": { +"description": "The request to generate a realtime report.", +"id": "RunRealtimeReportRequest", +"properties": { +"dimensionFilter": { +"$ref": "FilterExpression", +"description": "The filter clause of dimensions. Metrics cannot be used in this filter." +}, +"dimensions": { +"description": "The dimensions requested and displayed.", +"items": { +"$ref": "Dimension" +}, +"type": "array" +}, +"limit": { +"description": "The number of rows to return. If unspecified, 10,000 rows are returned. The API returns a maximum of 250,000 rows per request, no matter how many you ask for. `limit` must be positive. The API can also return fewer rows than the requested `limit`, if there aren't as many dimension values as the `limit`. For instance, there are fewer than 300 possible values for the dimension `country`, so when reporting on only `country`, you can't get more than 300 rows, even if you set `limit` to a higher value.", +"format": "int64", +"type": "string" +}, +"metricAggregations": { +"description": "Aggregation of metrics. Aggregated metric values will be shown in rows where the dimension_values are set to \"RESERVED_(MetricAggregation)\".", +"items": { +"enum": [ +"METRIC_AGGREGATION_UNSPECIFIED", +"TOTAL", +"MINIMUM", +"MAXIMUM", +"COUNT" +], +"enumDescriptions": [ +"Unspecified operator.", +"SUM operator.", +"Minimum operator.", +"Maximum operator.", +"Count operator." +], +"type": "string" +}, +"type": "array" +}, +"metricFilter": { +"$ref": "FilterExpression", +"description": "The filter clause of metrics. Applied at post aggregation phase, similar to SQL having-clause. Dimensions cannot be used in this filter." +}, +"metrics": { +"description": "The metrics requested and displayed.", +"items": { +"$ref": "Metric" +}, +"type": "array" +}, +"minuteRanges": { +"description": "The minute ranges of event data to read. If unspecified, one minute range for the last 30 minutes will be used. If multiple minute ranges are requested, each response row will contain a zero based minute range index. If two minute ranges overlap, the event data for the overlapping minutes is included in the response rows for both minute ranges.", +"items": { +"$ref": "MinuteRange" +}, +"type": "array" +}, +"orderBys": { +"description": "Specifies how rows are ordered in the response.", +"items": { +"$ref": "OrderBy" +}, +"type": "array" +}, +"returnPropertyQuota": { +"description": "Toggles whether to return the current state of this Google Analytics property's Realtime quota. Quota is returned in [PropertyQuota](#PropertyQuota).", +"type": "boolean" +} +}, +"type": "object" +}, +"RunRealtimeReportResponse": { +"description": "The response realtime report table corresponding to a request.", +"id": "RunRealtimeReportResponse", +"properties": { +"dimensionHeaders": { +"description": "Describes dimension columns. The number of DimensionHeaders and ordering of DimensionHeaders matches the dimensions present in rows.", +"items": { +"$ref": "DimensionHeader" +}, +"type": "array" +}, +"kind": { +"description": "Identifies what kind of resource this message is. This `kind` is always the fixed string \"analyticsData#runRealtimeReport\". Useful to distinguish between response types in JSON.", +"type": "string" +}, +"maximums": { +"description": "If requested, the maximum values of metrics.", +"items": { +"$ref": "Row" +}, +"type": "array" +}, +"metricHeaders": { +"description": "Describes metric columns. The number of MetricHeaders and ordering of MetricHeaders matches the metrics present in rows.", +"items": { +"$ref": "MetricHeader" +}, +"type": "array" +}, +"minimums": { +"description": "If requested, the minimum values of metrics.", +"items": { +"$ref": "Row" +}, +"type": "array" +}, +"propertyQuota": { +"$ref": "PropertyQuota", +"description": "This Google Analytics property's Realtime quota state including this request." +}, +"rowCount": { +"description": "The total number of rows in the query result. `rowCount` is independent of the number of rows returned in the response and the `limit` request parameter. For example if a query returns 175 rows and includes `limit` of 50 in the API request, the response will contain `rowCount` of 175 but only 50 rows.", +"format": "int32", +"type": "integer" +}, +"rows": { +"description": "Rows of dimension value combinations and metric values in the report.", +"items": { +"$ref": "Row" +}, +"type": "array" +}, +"totals": { +"description": "If requested, the totaled values of metrics.", +"items": { +"$ref": "Row" +}, +"type": "array" +} +}, +"type": "object" +}, +"RunReportRequest": { +"description": "The request to generate a report.", +"id": "RunReportRequest", +"properties": { +"cohortSpec": { +"$ref": "CohortSpec", +"description": "Cohort group associated with this request. If there is a cohort group in the request the 'cohort' dimension must be present." +}, +"comparisons": { +"description": "Optional. The configuration of comparisons requested and displayed. The request only requires a comparisons field in order to receive a comparison column in the response.", +"items": { +"$ref": "Comparison" +}, +"type": "array" +}, +"currencyCode": { +"description": "A currency code in ISO4217 format, such as \"AED\", \"USD\", \"JPY\". If the field is empty, the report uses the property's default currency.", +"type": "string" +}, +"dateRanges": { +"description": "Date ranges of data to read. If multiple date ranges are requested, each response row will contain a zero based date range index. If two date ranges overlap, the event data for the overlapping days is included in the response rows for both date ranges. In a cohort request, this `dateRanges` must be unspecified.", +"items": { +"$ref": "DateRange" +}, +"type": "array" +}, +"dimensionFilter": { +"$ref": "FilterExpression", +"description": "Dimension filters let you ask for only specific dimension values in the report. To learn more, see [Fundamentals of Dimension Filters](https://developers.google.com/analytics/devguides/reporting/data/v1/basics#dimension_filters) for examples. Metrics cannot be used in this filter." +}, +"dimensions": { +"description": "The dimensions requested and displayed.", +"items": { +"$ref": "Dimension" +}, +"type": "array" +}, +"keepEmptyRows": { +"description": "If false or unspecified, each row with all metrics equal to 0 will not be returned. If true, these rows will be returned if they are not separately removed by a filter. Regardless of this `keep_empty_rows` setting, only data recorded by the Google Analytics property can be displayed in a report. For example if a property never logs a `purchase` event, then a query for the `eventName` dimension and `eventCount` metric will not have a row eventName: \"purchase\" and eventCount: 0.", +"type": "boolean" +}, +"limit": { +"description": "The number of rows to return. If unspecified, 10,000 rows are returned. The API returns a maximum of 250,000 rows per request, no matter how many you ask for. `limit` must be positive. The API can also return fewer rows than the requested `limit`, if there aren't as many dimension values as the `limit`. For instance, there are fewer than 300 possible values for the dimension `country`, so when reporting on only `country`, you can't get more than 300 rows, even if you set `limit` to a higher value. To learn more about this pagination parameter, see [Pagination](https://developers.google.com/analytics/devguides/reporting/data/v1/basics#pagination).", +"format": "int64", +"type": "string" +}, +"metricAggregations": { +"description": "Aggregation of metrics. Aggregated metric values will be shown in rows where the dimension_values are set to \"RESERVED_(MetricAggregation)\". Aggregates including both comparisons and multiple date ranges will be aggregated based on the date ranges.", +"items": { +"enum": [ +"METRIC_AGGREGATION_UNSPECIFIED", +"TOTAL", +"MINIMUM", +"MAXIMUM", +"COUNT" +], +"enumDescriptions": [ +"Unspecified operator.", +"SUM operator.", +"Minimum operator.", +"Maximum operator.", +"Count operator." +], +"type": "string" +}, +"type": "array" +}, +"metricFilter": { +"$ref": "FilterExpression", +"description": "The filter clause of metrics. Applied after aggregating the report's rows, similar to SQL having-clause. Dimensions cannot be used in this filter." +}, +"metrics": { +"description": "The metrics requested and displayed.", +"items": { +"$ref": "Metric" +}, +"type": "array" +}, +"offset": { +"description": "The row count of the start row. The first row is counted as row 0. When paging, the first request does not specify offset; or equivalently, sets offset to 0; the first request returns the first `limit` of rows. The second request sets offset to the `limit` of the first request; the second request returns the second `limit` of rows. To learn more about this pagination parameter, see [Pagination](https://developers.google.com/analytics/devguides/reporting/data/v1/basics#pagination).", +"format": "int64", +"type": "string" +}, +"orderBys": { +"description": "Specifies how rows are ordered in the response. Requests including both comparisons and multiple date ranges will have order bys applied on the comparisons.", +"items": { +"$ref": "OrderBy" +}, +"type": "array" +}, +"property": { +"description": "A Google Analytics property identifier whose events are tracked. Specified in the URL path and not the body. To learn more, see [where to find your Property ID](https://developers.google.com/analytics/devguides/reporting/data/v1/property-id). Within a batch request, this property should either be unspecified or consistent with the batch-level property. Example: properties/1234", +"type": "string" +}, +"returnPropertyQuota": { +"description": "Toggles whether to return the current state of this Google Analytics property's quota. Quota is returned in [PropertyQuota](#PropertyQuota).", +"type": "boolean" +} +}, +"type": "object" +}, +"RunReportResponse": { +"description": "The response report table corresponding to a request.", +"id": "RunReportResponse", +"properties": { +"dimensionHeaders": { +"description": "Describes dimension columns. The number of DimensionHeaders and ordering of DimensionHeaders matches the dimensions present in rows.", +"items": { +"$ref": "DimensionHeader" +}, +"type": "array" +}, +"kind": { +"description": "Identifies what kind of resource this message is. This `kind` is always the fixed string \"analyticsData#runReport\". Useful to distinguish between response types in JSON.", +"type": "string" +}, +"maximums": { +"description": "If requested, the maximum values of metrics.", +"items": { +"$ref": "Row" +}, +"type": "array" +}, +"metadata": { +"$ref": "ResponseMetaData", +"description": "Metadata for the report." +}, +"metricHeaders": { +"description": "Describes metric columns. The number of MetricHeaders and ordering of MetricHeaders matches the metrics present in rows.", +"items": { +"$ref": "MetricHeader" +}, +"type": "array" +}, +"minimums": { +"description": "If requested, the minimum values of metrics.", +"items": { +"$ref": "Row" +}, +"type": "array" +}, +"propertyQuota": { +"$ref": "PropertyQuota", +"description": "This Google Analytics property's quota state including this request." +}, +"rowCount": { +"description": "The total number of rows in the query result. `rowCount` is independent of the number of rows returned in the response, the `limit` request parameter, and the `offset` request parameter. For example if a query returns 175 rows and includes `limit` of 50 in the API request, the response will contain `rowCount` of 175 but only 50 rows. To learn more about this pagination parameter, see [Pagination](https://developers.google.com/analytics/devguides/reporting/data/v1/basics#pagination).", +"format": "int32", +"type": "integer" +}, +"rows": { +"description": "Rows of dimension value combinations and metric values in the report.", +"items": { +"$ref": "Row" +}, +"type": "array" +}, +"totals": { +"description": "If requested, the totaled values of metrics.", +"items": { +"$ref": "Row" +}, +"type": "array" +} +}, +"type": "object" +}, +"SamplingMetadata": { +"description": "If this report results is [sampled](https://support.google.com/analytics/answer/13331292), this describes the percentage of events used in this report. Sampling is the practice of analyzing a subset of all data in order to uncover the meaningful information in the larger data set.", +"id": "SamplingMetadata", +"properties": { +"samplesReadCount": { +"description": "The total number of events read in this sampled report for a date range. This is the size of the subset this property's data that was analyzed in this report.", +"format": "int64", +"type": "string" +}, +"samplingSpaceSize": { +"description": "The total number of events present in this property's data that could have been analyzed in this report for a date range. Sampling uncovers the meaningful information about the larger data set, and this is the size of the larger data set. To calculate the percentage of available data that was used in this report, compute `samplesReadCount/samplingSpaceSize`.", +"format": "int64", +"type": "string" +} +}, +"type": "object" +}, +"SchemaRestrictionResponse": { +"description": "The schema restrictions actively enforced in creating this report. To learn more, see [Access and data-restriction management](https://support.google.com/analytics/answer/10851388).", +"id": "SchemaRestrictionResponse", +"properties": { +"activeMetricRestrictions": { +"description": "All restrictions actively enforced in creating the report. For example, `purchaseRevenue` always has the restriction type `REVENUE_DATA`. However, this active response restriction is only populated if the user's custom role disallows access to `REVENUE_DATA`.", +"items": { +"$ref": "ActiveMetricRestriction" +}, +"type": "array" +} +}, +"type": "object" +}, +"Status": { +"description": "The `Status` type defines a logical error model that is suitable for different programming environments, including REST APIs and RPC APIs. It is used by [gRPC](https://github.com/grpc). Each `Status` message contains three pieces of data: error code, error message, and error details. You can find out more about this error model and how to work with it in the [API Design Guide](https://cloud.google.com/apis/design/errors).", +"id": "Status", +"properties": { +"code": { +"description": "The status code, which should be an enum value of google.rpc.Code.", +"format": "int32", +"type": "integer" +}, +"details": { +"description": "A list of messages that carry the error details. There is a common set of message types for APIs to use.", +"items": { +"additionalProperties": { +"description": "Properties of the object. Contains field @type with type URL.", +"type": "any" +}, +"type": "object" +}, +"type": "array" +}, +"message": { +"description": "A developer-facing error message, which should be in English. Any user-facing error message should be localized and sent in the google.rpc.Status.details field, or localized by the client.", +"type": "string" +} +}, +"type": "object" +}, +"StringFilter": { +"description": "The filter for string", +"id": "StringFilter", +"properties": { +"caseSensitive": { +"description": "If true, the string value is case sensitive.", +"type": "boolean" +}, +"matchType": { +"description": "The match type for this filter.", +"enum": [ +"MATCH_TYPE_UNSPECIFIED", +"EXACT", +"BEGINS_WITH", +"ENDS_WITH", +"CONTAINS", +"FULL_REGEXP", +"PARTIAL_REGEXP" +], +"enumDescriptions": [ +"Unspecified", +"Exact match of the string value.", +"Begins with the string value.", +"Ends with the string value.", +"Contains the string value.", +"Full match for the regular expression with the string value.", +"Partial match for the regular expression with the string value." +], +"type": "string" +}, +"value": { +"description": "The string value used for the matching.", +"type": "string" +} +}, +"type": "object" +}, +"V1betaAudienceDimension": { +"description": "An audience dimension is a user attribute. Specific user attributed are requested and then later returned in the `QueryAudienceExportResponse`.", +"id": "V1betaAudienceDimension", +"properties": { +"dimensionName": { +"description": "Optional. The API name of the dimension. See the [API Dimensions](https://developers.google.com/analytics/devguides/reporting/data/v1/audience-list-api-schema#dimensions) for the list of dimension names.", +"type": "string" +} +}, +"type": "object" +}, +"V1betaAudienceDimensionValue": { +"description": "The value of a dimension.", +"id": "V1betaAudienceDimensionValue", +"properties": { +"value": { +"description": "Value as a string if the dimension type is a string.", +"type": "string" +} +}, +"type": "object" +}, +"V1betaAudienceRow": { +"description": "Dimension value attributes for the audience user row.", +"id": "V1betaAudienceRow", +"properties": { +"dimensionValues": { +"description": "Each dimension value attribute for an audience user. One dimension value will be added for each dimension column requested.", +"items": { +"$ref": "V1betaAudienceDimensionValue" +}, +"type": "array" +} +}, +"type": "object" +} +}, +"servicePath": "", +"title": "Google Analytics Data API", +"version": "v1beta", +"version_module": true +} \ No newline at end of file diff --git a/.venv/lib/python3.11/site-packages/googleapiclient/discovery_cache/documents/apigateway.v1.json b/.venv/lib/python3.11/site-packages/googleapiclient/discovery_cache/documents/apigateway.v1.json new file mode 100644 index 0000000000000000000000000000000000000000..89c9eb39fc2fa59ec58b162cc5824fc3857574ec --- /dev/null +++ b/.venv/lib/python3.11/site-packages/googleapiclient/discovery_cache/documents/apigateway.v1.json @@ -0,0 +1,1806 @@ +{ +"auth": { +"oauth2": { +"scopes": { +"https://www.googleapis.com/auth/cloud-platform": { +"description": "See, edit, configure, and delete your Google Cloud data and see the email address for your Google Account." +} +} +} +}, +"basePath": "", +"baseUrl": "https://apigateway.googleapis.com/", +"batchPath": "batch", +"description": "", +"discoveryVersion": "v1", +"documentationLink": "https://cloud.google.com/api-gateway/docs", +"fullyEncodeReservedExpansion": true, +"icons": { +"x16": "http://www.google.com/images/icons/product/search-16.gif", +"x32": "http://www.google.com/images/icons/product/search-32.gif" +}, +"id": "apigateway:v1", +"kind": "discovery#restDescription", +"mtlsRootUrl": "https://apigateway.mtls.googleapis.com/", +"name": "apigateway", +"ownerDomain": "google.com", +"ownerName": "Google", +"parameters": { +"$.xgafv": { +"description": "V1 error format.", +"enum": [ +"1", +"2" +], +"enumDescriptions": [ +"v1 error format", +"v2 error format" +], +"location": "query", +"type": "string" +}, +"access_token": { +"description": "OAuth access token.", +"location": "query", +"type": "string" +}, +"alt": { +"default": "json", +"description": "Data format for response.", +"enum": [ +"json", +"media", +"proto" +], +"enumDescriptions": [ +"Responses with Content-Type of application/json", +"Media download with context-dependent Content-Type", +"Responses with Content-Type of application/x-protobuf" +], +"location": "query", +"type": "string" +}, +"callback": { +"description": "JSONP", +"location": "query", +"type": "string" +}, +"fields": { +"description": "Selector specifying which fields to include in a partial response.", +"location": "query", +"type": "string" +}, +"key": { +"description": "API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token.", +"location": "query", +"type": "string" +}, +"oauth_token": { +"description": "OAuth 2.0 token for the current user.", +"location": "query", +"type": "string" +}, +"prettyPrint": { +"default": "true", +"description": "Returns response with indentations and line breaks.", +"location": "query", +"type": "boolean" +}, +"quotaUser": { +"description": "Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters.", +"location": "query", +"type": "string" +}, +"uploadType": { +"description": "Legacy upload protocol for media (e.g. \"media\", \"multipart\").", +"location": "query", +"type": "string" +}, +"upload_protocol": { +"description": "Upload protocol for media (e.g. \"raw\", \"multipart\").", +"location": "query", +"type": "string" +} +}, +"protocol": "rest", +"resources": { +"projects": { +"resources": { +"locations": { +"methods": { +"get": { +"description": "Gets information about a location.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}", +"httpMethod": "GET", +"id": "apigateway.projects.locations.get", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Resource name for the location.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+name}", +"response": { +"$ref": "ApigatewayLocation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"list": { +"description": "Lists information about the supported locations for this service.", +"flatPath": "v1/projects/{projectsId}/locations", +"httpMethod": "GET", +"id": "apigateway.projects.locations.list", +"parameterOrder": [ +"name" +], +"parameters": { +"filter": { +"description": "A filter to narrow down results to a preferred subset. The filtering language accepts strings like `\"displayName=tokyo\"`, and is documented in more detail in [AIP-160](https://google.aip.dev/160).", +"location": "query", +"type": "string" +}, +"name": { +"description": "The resource that owns the locations collection, if applicable.", +"location": "path", +"pattern": "^projects/[^/]+$", +"required": true, +"type": "string" +}, +"pageSize": { +"description": "The maximum number of results to return. If not set, the service selects a default.", +"format": "int32", +"location": "query", +"type": "integer" +}, +"pageToken": { +"description": "A page token received from the `next_page_token` field in the response. Send that page token to receive the subsequent page.", +"location": "query", +"type": "string" +} +}, +"path": "v1/{+name}/locations", +"response": { +"$ref": "ApigatewayListLocationsResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +} +}, +"resources": { +"apis": { +"methods": { +"create": { +"description": "Creates a new Api in a given project and location.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/apis", +"httpMethod": "POST", +"id": "apigateway.projects.locations.apis.create", +"parameterOrder": [ +"parent" +], +"parameters": { +"apiId": { +"description": "Required. Identifier to assign to the API. Must be unique within scope of the parent resource.", +"location": "query", +"type": "string" +}, +"parent": { +"description": "Required. Parent resource of the API, of the form: `projects/*/locations/global`", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+parent}/apis", +"request": { +"$ref": "ApigatewayApi" +}, +"response": { +"$ref": "ApigatewayOperation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"delete": { +"description": "Deletes a single Api.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/apis/{apisId}", +"httpMethod": "DELETE", +"id": "apigateway.projects.locations.apis.delete", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. Resource name of the form: `projects/*/locations/global/apis/*`", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/apis/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+name}", +"response": { +"$ref": "ApigatewayOperation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"get": { +"description": "Gets details of a single Api.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/apis/{apisId}", +"httpMethod": "GET", +"id": "apigateway.projects.locations.apis.get", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. Resource name of the form: `projects/*/locations/global/apis/*`", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/apis/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+name}", +"response": { +"$ref": "ApigatewayApi" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"getIamPolicy": { +"description": "Gets the access control policy for a resource. Returns an empty policy if the resource exists and does not have a policy set.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/apis/{apisId}:getIamPolicy", +"httpMethod": "GET", +"id": "apigateway.projects.locations.apis.getIamPolicy", +"parameterOrder": [ +"resource" +], +"parameters": { +"options.requestedPolicyVersion": { +"description": "Optional. The maximum policy version that will be used to format the policy. Valid values are 0, 1, and 3. Requests specifying an invalid value will be rejected. Requests for policies with any conditional role bindings must specify version 3. Policies with no conditional role bindings may specify any valid value or leave the field unset. The policy in the response might use the policy version that you specified, or it might use a lower policy version. For example, if you specify version 3, but the policy has no conditional role bindings, the response uses version 1. To learn which resources support conditions in their IAM policies, see the [IAM documentation](https://cloud.google.com/iam/help/conditions/resource-policies).", +"format": "int32", +"location": "query", +"type": "integer" +}, +"resource": { +"description": "REQUIRED: The resource for which the policy is being requested. See [Resource names](https://cloud.google.com/apis/design/resource_names) for the appropriate value for this field.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/apis/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+resource}:getIamPolicy", +"response": { +"$ref": "ApigatewayPolicy" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"list": { +"description": "Lists Apis in a given project and location.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/apis", +"httpMethod": "GET", +"id": "apigateway.projects.locations.apis.list", +"parameterOrder": [ +"parent" +], +"parameters": { +"filter": { +"description": "Filter.", +"location": "query", +"type": "string" +}, +"orderBy": { +"description": "Order by parameters.", +"location": "query", +"type": "string" +}, +"pageSize": { +"description": "Page size.", +"format": "int32", +"location": "query", +"type": "integer" +}, +"pageToken": { +"description": "Page token.", +"location": "query", +"type": "string" +}, +"parent": { +"description": "Required. Parent resource of the API, of the form: `projects/*/locations/global`", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+parent}/apis", +"response": { +"$ref": "ApigatewayListApisResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"patch": { +"description": "Updates the parameters of a single Api.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/apis/{apisId}", +"httpMethod": "PATCH", +"id": "apigateway.projects.locations.apis.patch", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Output only. Resource name of the API. Format: projects/{project}/locations/global/apis/{api}", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/apis/[^/]+$", +"required": true, +"type": "string" +}, +"updateMask": { +"description": "Field mask is used to specify the fields to be overwritten in the Api resource by the update. The fields specified in the update_mask are relative to the resource, not the full request. A field will be overwritten if it is in the mask. If the user does not provide a mask then all fields will be overwritten.", +"format": "google-fieldmask", +"location": "query", +"type": "string" +} +}, +"path": "v1/{+name}", +"request": { +"$ref": "ApigatewayApi" +}, +"response": { +"$ref": "ApigatewayOperation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"setIamPolicy": { +"description": "Sets the access control policy on the specified resource. Replaces any existing policy. Can return `NOT_FOUND`, `INVALID_ARGUMENT`, and `PERMISSION_DENIED` errors.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/apis/{apisId}:setIamPolicy", +"httpMethod": "POST", +"id": "apigateway.projects.locations.apis.setIamPolicy", +"parameterOrder": [ +"resource" +], +"parameters": { +"resource": { +"description": "REQUIRED: The resource for which the policy is being specified. See [Resource names](https://cloud.google.com/apis/design/resource_names) for the appropriate value for this field.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/apis/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+resource}:setIamPolicy", +"request": { +"$ref": "ApigatewaySetIamPolicyRequest" +}, +"response": { +"$ref": "ApigatewayPolicy" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"testIamPermissions": { +"description": "Returns permissions that a caller has on the specified resource. If the resource does not exist, this will return an empty set of permissions, not a `NOT_FOUND` error. Note: This operation is designed to be used for building permission-aware UIs and command-line tools, not for authorization checking. This operation may \"fail open\" without warning.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/apis/{apisId}:testIamPermissions", +"httpMethod": "POST", +"id": "apigateway.projects.locations.apis.testIamPermissions", +"parameterOrder": [ +"resource" +], +"parameters": { +"resource": { +"description": "REQUIRED: The resource for which the policy detail is being requested. See [Resource names](https://cloud.google.com/apis/design/resource_names) for the appropriate value for this field.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/apis/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+resource}:testIamPermissions", +"request": { +"$ref": "ApigatewayTestIamPermissionsRequest" +}, +"response": { +"$ref": "ApigatewayTestIamPermissionsResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +} +}, +"resources": { +"configs": { +"methods": { +"create": { +"description": "Creates a new ApiConfig in a given project and location.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/apis/{apisId}/configs", +"httpMethod": "POST", +"id": "apigateway.projects.locations.apis.configs.create", +"parameterOrder": [ +"parent" +], +"parameters": { +"apiConfigId": { +"description": "Required. Identifier to assign to the API Config. Must be unique within scope of the parent resource.", +"location": "query", +"type": "string" +}, +"parent": { +"description": "Required. Parent resource of the API Config, of the form: `projects/*/locations/global/apis/*`", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/apis/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+parent}/configs", +"request": { +"$ref": "ApigatewayApiConfig" +}, +"response": { +"$ref": "ApigatewayOperation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"delete": { +"description": "Deletes a single ApiConfig.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/apis/{apisId}/configs/{configsId}", +"httpMethod": "DELETE", +"id": "apigateway.projects.locations.apis.configs.delete", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. Resource name of the form: `projects/*/locations/global/apis/*/configs/*`", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/apis/[^/]+/configs/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+name}", +"response": { +"$ref": "ApigatewayOperation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"get": { +"description": "Gets details of a single ApiConfig.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/apis/{apisId}/configs/{configsId}", +"httpMethod": "GET", +"id": "apigateway.projects.locations.apis.configs.get", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. Resource name of the form: `projects/*/locations/global/apis/*/configs/*`", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/apis/[^/]+/configs/[^/]+$", +"required": true, +"type": "string" +}, +"view": { +"description": "Specifies which fields of the API Config are returned in the response. Defaults to `BASIC` view.", +"enum": [ +"CONFIG_VIEW_UNSPECIFIED", +"BASIC", +"FULL" +], +"enumDescriptions": [ +"", +"Do not include configuration source files.", +"Include configuration source files." +], +"location": "query", +"type": "string" +} +}, +"path": "v1/{+name}", +"response": { +"$ref": "ApigatewayApiConfig" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"getIamPolicy": { +"description": "Gets the access control policy for a resource. Returns an empty policy if the resource exists and does not have a policy set.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/apis/{apisId}/configs/{configsId}:getIamPolicy", +"httpMethod": "GET", +"id": "apigateway.projects.locations.apis.configs.getIamPolicy", +"parameterOrder": [ +"resource" +], +"parameters": { +"options.requestedPolicyVersion": { +"description": "Optional. The maximum policy version that will be used to format the policy. Valid values are 0, 1, and 3. Requests specifying an invalid value will be rejected. Requests for policies with any conditional role bindings must specify version 3. Policies with no conditional role bindings may specify any valid value or leave the field unset. The policy in the response might use the policy version that you specified, or it might use a lower policy version. For example, if you specify version 3, but the policy has no conditional role bindings, the response uses version 1. To learn which resources support conditions in their IAM policies, see the [IAM documentation](https://cloud.google.com/iam/help/conditions/resource-policies).", +"format": "int32", +"location": "query", +"type": "integer" +}, +"resource": { +"description": "REQUIRED: The resource for which the policy is being requested. See [Resource names](https://cloud.google.com/apis/design/resource_names) for the appropriate value for this field.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/apis/[^/]+/configs/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+resource}:getIamPolicy", +"response": { +"$ref": "ApigatewayPolicy" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"list": { +"description": "Lists ApiConfigs in a given project and location.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/apis/{apisId}/configs", +"httpMethod": "GET", +"id": "apigateway.projects.locations.apis.configs.list", +"parameterOrder": [ +"parent" +], +"parameters": { +"filter": { +"description": "Filter.", +"location": "query", +"type": "string" +}, +"orderBy": { +"description": "Order by parameters.", +"location": "query", +"type": "string" +}, +"pageSize": { +"description": "Page size.", +"format": "int32", +"location": "query", +"type": "integer" +}, +"pageToken": { +"description": "Page token.", +"location": "query", +"type": "string" +}, +"parent": { +"description": "Required. Parent resource of the API Config, of the form: `projects/*/locations/global/apis/*`", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/apis/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+parent}/configs", +"response": { +"$ref": "ApigatewayListApiConfigsResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"patch": { +"description": "Updates the parameters of a single ApiConfig.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/apis/{apisId}/configs/{configsId}", +"httpMethod": "PATCH", +"id": "apigateway.projects.locations.apis.configs.patch", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Output only. Resource name of the API Config. Format: projects/{project}/locations/global/apis/{api}/configs/{api_config}", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/apis/[^/]+/configs/[^/]+$", +"required": true, +"type": "string" +}, +"updateMask": { +"description": "Field mask is used to specify the fields to be overwritten in the ApiConfig resource by the update. The fields specified in the update_mask are relative to the resource, not the full request. A field will be overwritten if it is in the mask. If the user does not provide a mask then all fields will be overwritten.", +"format": "google-fieldmask", +"location": "query", +"type": "string" +} +}, +"path": "v1/{+name}", +"request": { +"$ref": "ApigatewayApiConfig" +}, +"response": { +"$ref": "ApigatewayOperation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"setIamPolicy": { +"description": "Sets the access control policy on the specified resource. Replaces any existing policy. Can return `NOT_FOUND`, `INVALID_ARGUMENT`, and `PERMISSION_DENIED` errors.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/apis/{apisId}/configs/{configsId}:setIamPolicy", +"httpMethod": "POST", +"id": "apigateway.projects.locations.apis.configs.setIamPolicy", +"parameterOrder": [ +"resource" +], +"parameters": { +"resource": { +"description": "REQUIRED: The resource for which the policy is being specified. See [Resource names](https://cloud.google.com/apis/design/resource_names) for the appropriate value for this field.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/apis/[^/]+/configs/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+resource}:setIamPolicy", +"request": { +"$ref": "ApigatewaySetIamPolicyRequest" +}, +"response": { +"$ref": "ApigatewayPolicy" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"testIamPermissions": { +"description": "Returns permissions that a caller has on the specified resource. If the resource does not exist, this will return an empty set of permissions, not a `NOT_FOUND` error. Note: This operation is designed to be used for building permission-aware UIs and command-line tools, not for authorization checking. This operation may \"fail open\" without warning.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/apis/{apisId}/configs/{configsId}:testIamPermissions", +"httpMethod": "POST", +"id": "apigateway.projects.locations.apis.configs.testIamPermissions", +"parameterOrder": [ +"resource" +], +"parameters": { +"resource": { +"description": "REQUIRED: The resource for which the policy detail is being requested. See [Resource names](https://cloud.google.com/apis/design/resource_names) for the appropriate value for this field.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/apis/[^/]+/configs/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+resource}:testIamPermissions", +"request": { +"$ref": "ApigatewayTestIamPermissionsRequest" +}, +"response": { +"$ref": "ApigatewayTestIamPermissionsResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +} +} +} +} +}, +"gateways": { +"methods": { +"create": { +"description": "Creates a new Gateway in a given project and location.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/gateways", +"httpMethod": "POST", +"id": "apigateway.projects.locations.gateways.create", +"parameterOrder": [ +"parent" +], +"parameters": { +"gatewayId": { +"description": "Required. Identifier to assign to the Gateway. Must be unique within scope of the parent resource.", +"location": "query", +"type": "string" +}, +"parent": { +"description": "Required. Parent resource of the Gateway, of the form: `projects/*/locations/*`", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+parent}/gateways", +"request": { +"$ref": "ApigatewayGateway" +}, +"response": { +"$ref": "ApigatewayOperation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"delete": { +"description": "Deletes a single Gateway.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/gateways/{gatewaysId}", +"httpMethod": "DELETE", +"id": "apigateway.projects.locations.gateways.delete", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. Resource name of the form: `projects/*/locations/*/gateways/*`", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/gateways/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+name}", +"response": { +"$ref": "ApigatewayOperation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"get": { +"description": "Gets details of a single Gateway.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/gateways/{gatewaysId}", +"httpMethod": "GET", +"id": "apigateway.projects.locations.gateways.get", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. Resource name of the form: `projects/*/locations/*/gateways/*`", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/gateways/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+name}", +"response": { +"$ref": "ApigatewayGateway" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"getIamPolicy": { +"description": "Gets the access control policy for a resource. Returns an empty policy if the resource exists and does not have a policy set.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/gateways/{gatewaysId}:getIamPolicy", +"httpMethod": "GET", +"id": "apigateway.projects.locations.gateways.getIamPolicy", +"parameterOrder": [ +"resource" +], +"parameters": { +"options.requestedPolicyVersion": { +"description": "Optional. The maximum policy version that will be used to format the policy. Valid values are 0, 1, and 3. Requests specifying an invalid value will be rejected. Requests for policies with any conditional role bindings must specify version 3. Policies with no conditional role bindings may specify any valid value or leave the field unset. The policy in the response might use the policy version that you specified, or it might use a lower policy version. For example, if you specify version 3, but the policy has no conditional role bindings, the response uses version 1. To learn which resources support conditions in their IAM policies, see the [IAM documentation](https://cloud.google.com/iam/help/conditions/resource-policies).", +"format": "int32", +"location": "query", +"type": "integer" +}, +"resource": { +"description": "REQUIRED: The resource for which the policy is being requested. See [Resource names](https://cloud.google.com/apis/design/resource_names) for the appropriate value for this field.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/gateways/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+resource}:getIamPolicy", +"response": { +"$ref": "ApigatewayPolicy" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"list": { +"description": "Lists Gateways in a given project and location.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/gateways", +"httpMethod": "GET", +"id": "apigateway.projects.locations.gateways.list", +"parameterOrder": [ +"parent" +], +"parameters": { +"filter": { +"description": "Filter.", +"location": "query", +"type": "string" +}, +"orderBy": { +"description": "Order by parameters.", +"location": "query", +"type": "string" +}, +"pageSize": { +"description": "Page size.", +"format": "int32", +"location": "query", +"type": "integer" +}, +"pageToken": { +"description": "Page token.", +"location": "query", +"type": "string" +}, +"parent": { +"description": "Required. Parent resource of the Gateway, of the form: `projects/*/locations/*`", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+parent}/gateways", +"response": { +"$ref": "ApigatewayListGatewaysResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"patch": { +"description": "Updates the parameters of a single Gateway.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/gateways/{gatewaysId}", +"httpMethod": "PATCH", +"id": "apigateway.projects.locations.gateways.patch", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Output only. Resource name of the Gateway. Format: projects/{project}/locations/{location}/gateways/{gateway}", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/gateways/[^/]+$", +"required": true, +"type": "string" +}, +"updateMask": { +"description": "Field mask is used to specify the fields to be overwritten in the Gateway resource by the update. The fields specified in the update_mask are relative to the resource, not the full request. A field will be overwritten if it is in the mask. If the user does not provide a mask then all fields will be overwritten.", +"format": "google-fieldmask", +"location": "query", +"type": "string" +} +}, +"path": "v1/{+name}", +"request": { +"$ref": "ApigatewayGateway" +}, +"response": { +"$ref": "ApigatewayOperation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"setIamPolicy": { +"description": "Sets the access control policy on the specified resource. Replaces any existing policy. Can return `NOT_FOUND`, `INVALID_ARGUMENT`, and `PERMISSION_DENIED` errors.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/gateways/{gatewaysId}:setIamPolicy", +"httpMethod": "POST", +"id": "apigateway.projects.locations.gateways.setIamPolicy", +"parameterOrder": [ +"resource" +], +"parameters": { +"resource": { +"description": "REQUIRED: The resource for which the policy is being specified. See [Resource names](https://cloud.google.com/apis/design/resource_names) for the appropriate value for this field.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/gateways/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+resource}:setIamPolicy", +"request": { +"$ref": "ApigatewaySetIamPolicyRequest" +}, +"response": { +"$ref": "ApigatewayPolicy" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"testIamPermissions": { +"description": "Returns permissions that a caller has on the specified resource. If the resource does not exist, this will return an empty set of permissions, not a `NOT_FOUND` error. Note: This operation is designed to be used for building permission-aware UIs and command-line tools, not for authorization checking. This operation may \"fail open\" without warning.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/gateways/{gatewaysId}:testIamPermissions", +"httpMethod": "POST", +"id": "apigateway.projects.locations.gateways.testIamPermissions", +"parameterOrder": [ +"resource" +], +"parameters": { +"resource": { +"description": "REQUIRED: The resource for which the policy detail is being requested. See [Resource names](https://cloud.google.com/apis/design/resource_names) for the appropriate value for this field.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/gateways/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+resource}:testIamPermissions", +"request": { +"$ref": "ApigatewayTestIamPermissionsRequest" +}, +"response": { +"$ref": "ApigatewayTestIamPermissionsResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +} +} +}, +"operations": { +"methods": { +"cancel": { +"description": "Starts asynchronous cancellation on a long-running operation. The server makes a best effort to cancel the operation, but success is not guaranteed. If the server doesn't support this method, it returns `google.rpc.Code.UNIMPLEMENTED`. Clients can use Operations.GetOperation or other methods to check whether the cancellation succeeded or whether the operation completed despite cancellation. On successful cancellation, the operation is not deleted; instead, it becomes an operation with an Operation.error value with a google.rpc.Status.code of `1`, corresponding to `Code.CANCELLED`.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/operations/{operationsId}:cancel", +"httpMethod": "POST", +"id": "apigateway.projects.locations.operations.cancel", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "The name of the operation resource to be cancelled.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/operations/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+name}:cancel", +"request": { +"$ref": "ApigatewayCancelOperationRequest" +}, +"response": { +"$ref": "Empty" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"delete": { +"description": "Deletes a long-running operation. This method indicates that the client is no longer interested in the operation result. It does not cancel the operation. If the server doesn't support this method, it returns `google.rpc.Code.UNIMPLEMENTED`.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/operations/{operationsId}", +"httpMethod": "DELETE", +"id": "apigateway.projects.locations.operations.delete", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "The name of the operation resource to be deleted.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/operations/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+name}", +"response": { +"$ref": "Empty" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"get": { +"description": "Gets the latest state of a long-running operation. Clients can use this method to poll the operation result at intervals as recommended by the API service.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/operations/{operationsId}", +"httpMethod": "GET", +"id": "apigateway.projects.locations.operations.get", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "The name of the operation resource.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/operations/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+name}", +"response": { +"$ref": "ApigatewayOperation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"list": { +"description": "Lists operations that match the specified filter in the request. If the server doesn't support this method, it returns `UNIMPLEMENTED`.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/operations", +"httpMethod": "GET", +"id": "apigateway.projects.locations.operations.list", +"parameterOrder": [ +"name" +], +"parameters": { +"filter": { +"description": "The standard list filter.", +"location": "query", +"type": "string" +}, +"name": { +"description": "The name of the operation's parent resource.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+$", +"required": true, +"type": "string" +}, +"pageSize": { +"description": "The standard list page size.", +"format": "int32", +"location": "query", +"type": "integer" +}, +"pageToken": { +"description": "The standard list page token.", +"location": "query", +"type": "string" +} +}, +"path": "v1/{+name}/operations", +"response": { +"$ref": "ApigatewayListOperationsResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +} +} +} +} +} +} +} +}, +"revision": "20241204", +"rootUrl": "https://apigateway.googleapis.com/", +"schemas": { +"ApigatewayApi": { +"description": "An API that can be served by one or more Gateways.", +"id": "ApigatewayApi", +"properties": { +"createTime": { +"description": "Output only. Created time.", +"format": "google-datetime", +"readOnly": true, +"type": "string" +}, +"displayName": { +"description": "Optional. Display name.", +"type": "string" +}, +"labels": { +"additionalProperties": { +"type": "string" +}, +"description": "Optional. Resource labels to represent user-provided metadata. Refer to cloud documentation on labels for more details. https://cloud.google.com/compute/docs/labeling-resources", +"type": "object" +}, +"managedService": { +"description": "Optional. Immutable. The name of a Google Managed Service ( https://cloud.google.com/service-infrastructure/docs/glossary#managed). If not specified, a new Service will automatically be created in the same project as this API.", +"type": "string" +}, +"name": { +"description": "Output only. Resource name of the API. Format: projects/{project}/locations/global/apis/{api}", +"readOnly": true, +"type": "string" +}, +"state": { +"description": "Output only. State of the API.", +"enum": [ +"STATE_UNSPECIFIED", +"CREATING", +"ACTIVE", +"FAILED", +"DELETING", +"UPDATING" +], +"enumDescriptions": [ +"API does not have a state yet.", +"API is being created.", +"API is active.", +"API creation failed.", +"API is being deleted.", +"API is being updated." +], +"readOnly": true, +"type": "string" +}, +"updateTime": { +"description": "Output only. Updated time.", +"format": "google-datetime", +"readOnly": true, +"type": "string" +} +}, +"type": "object" +}, +"ApigatewayApiConfig": { +"description": "An API Configuration is a combination of settings for both the Managed Service and Gateways serving this API Config.", +"id": "ApigatewayApiConfig", +"properties": { +"createTime": { +"description": "Output only. Created time.", +"format": "google-datetime", +"readOnly": true, +"type": "string" +}, +"displayName": { +"description": "Optional. Display name.", +"type": "string" +}, +"gatewayServiceAccount": { +"description": "Immutable. The Google Cloud IAM Service Account that Gateways serving this config should use to authenticate to other services. This may either be the Service Account's email (`{ACCOUNT_ID}@{PROJECT}.iam.gserviceaccount.com`) or its full resource name (`projects/{PROJECT}/accounts/{UNIQUE_ID}`). This is most often used when the service is a GCP resource such as a Cloud Run Service or an IAP-secured service.", +"type": "string" +}, +"grpcServices": { +"description": "Optional. gRPC service definition files. If specified, openapi_documents must not be included.", +"items": { +"$ref": "ApigatewayApiConfigGrpcServiceDefinition" +}, +"type": "array" +}, +"labels": { +"additionalProperties": { +"type": "string" +}, +"description": "Optional. Resource labels to represent user-provided metadata. Refer to cloud documentation on labels for more details. https://cloud.google.com/compute/docs/labeling-resources", +"type": "object" +}, +"managedServiceConfigs": { +"description": "Optional. Service Configuration files. At least one must be included when using gRPC service definitions. See https://cloud.google.com/endpoints/docs/grpc/grpc-service-config#service_configuration_overview for the expected file contents. If multiple files are specified, the files are merged with the following rules: * All singular scalar fields are merged using \"last one wins\" semantics in the order of the files uploaded. * Repeated fields are concatenated. * Singular embedded messages are merged using these rules for nested fields.", +"items": { +"$ref": "ApigatewayApiConfigFile" +}, +"type": "array" +}, +"name": { +"description": "Output only. Resource name of the API Config. Format: projects/{project}/locations/global/apis/{api}/configs/{api_config}", +"readOnly": true, +"type": "string" +}, +"openapiDocuments": { +"description": "Optional. OpenAPI specification documents. If specified, grpc_services and managed_service_configs must not be included.", +"items": { +"$ref": "ApigatewayApiConfigOpenApiDocument" +}, +"type": "array" +}, +"serviceConfigId": { +"description": "Output only. The ID of the associated Service Config ( https://cloud.google.com/service-infrastructure/docs/glossary#config).", +"readOnly": true, +"type": "string" +}, +"state": { +"description": "Output only. State of the API Config.", +"enum": [ +"STATE_UNSPECIFIED", +"CREATING", +"ACTIVE", +"FAILED", +"DELETING", +"UPDATING", +"ACTIVATING" +], +"enumDescriptions": [ +"API Config does not have a state yet.", +"API Config is being created and deployed to the API Controller.", +"API Config is ready for use by Gateways.", +"API Config creation failed.", +"API Config is being deleted.", +"API Config is being updated.", +"API Config settings are being activated in downstream systems. API Configs in this state cannot be used by Gateways." +], +"readOnly": true, +"type": "string" +}, +"updateTime": { +"description": "Output only. Updated time.", +"format": "google-datetime", +"readOnly": true, +"type": "string" +} +}, +"type": "object" +}, +"ApigatewayApiConfigFile": { +"description": "A lightweight description of a file.", +"id": "ApigatewayApiConfigFile", +"properties": { +"contents": { +"description": "The bytes that constitute the file.", +"format": "byte", +"type": "string" +}, +"path": { +"description": "The file path (full or relative path). This is typically the path of the file when it is uploaded.", +"type": "string" +} +}, +"type": "object" +}, +"ApigatewayApiConfigGrpcServiceDefinition": { +"description": "A gRPC service definition.", +"id": "ApigatewayApiConfigGrpcServiceDefinition", +"properties": { +"fileDescriptorSet": { +"$ref": "ApigatewayApiConfigFile", +"description": "Input only. File descriptor set, generated by protoc. To generate, use protoc with imports and source info included. For an example test.proto file, the following command would put the value in a new file named out.pb. $ protoc --include_imports --include_source_info test.proto -o out.pb" +}, +"source": { +"description": "Optional. Uncompiled proto files associated with the descriptor set, used for display purposes (server-side compilation is not supported). These should match the inputs to 'protoc' command used to generate file_descriptor_set.", +"items": { +"$ref": "ApigatewayApiConfigFile" +}, +"type": "array" +} +}, +"type": "object" +}, +"ApigatewayApiConfigOpenApiDocument": { +"description": "An OpenAPI Specification Document describing an API.", +"id": "ApigatewayApiConfigOpenApiDocument", +"properties": { +"document": { +"$ref": "ApigatewayApiConfigFile", +"description": "The OpenAPI Specification document file." +} +}, +"type": "object" +}, +"ApigatewayAuditConfig": { +"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": "ApigatewayAuditConfig", +"properties": { +"auditLogConfigs": { +"description": "The configuration for logging of each type of permission.", +"items": { +"$ref": "ApigatewayAuditLogConfig" +}, +"type": "array" +}, +"service": { +"description": "Specifies a service that will be enabled for audit logging. For example, `storage.googleapis.com`, `cloudsql.googleapis.com`. `allServices` is a special value that covers all services.", +"type": "string" +} +}, +"type": "object" +}, +"ApigatewayAuditLogConfig": { +"description": "Provides the configuration for logging a type of permissions. Example: { \"audit_log_configs\": [ { \"log_type\": \"DATA_READ\", \"exempted_members\": [ \"user:jose@example.com\" ] }, { \"log_type\": \"DATA_WRITE\" } ] } This enables 'DATA_READ' and 'DATA_WRITE' logging, while exempting jose@example.com from DATA_READ logging.", +"id": "ApigatewayAuditLogConfig", +"properties": { +"exemptedMembers": { +"description": "Specifies the identities that do not cause logging for this type of permission. Follows the same format of Binding.members.", +"items": { +"type": "string" +}, +"type": "array" +}, +"logType": { +"description": "The log type that this config enables.", +"enum": [ +"LOG_TYPE_UNSPECIFIED", +"ADMIN_READ", +"DATA_WRITE", +"DATA_READ" +], +"enumDescriptions": [ +"Default case. Should never be this.", +"Admin reads. Example: CloudIAM getIamPolicy", +"Data writes. Example: CloudSQL Users create", +"Data reads. Example: CloudSQL Users list" +], +"type": "string" +} +}, +"type": "object" +}, +"ApigatewayBinding": { +"description": "Associates `members`, or principals, with a `role`.", +"id": "ApigatewayBinding", +"properties": { +"condition": { +"$ref": "ApigatewayExpr", +"description": "The condition that is associated with this binding. If the condition evaluates to `true`, then this binding applies to the current request. If the condition evaluates to `false`, then this binding does not apply to the current request. However, a different role binding might grant the same role to one or more of the principals in this binding. To learn which resources support conditions in their IAM policies, see the [IAM documentation](https://cloud.google.com/iam/help/conditions/resource-policies)." +}, +"members": { +"description": "Specifies the principals requesting access for a Google Cloud resource. `members` can have the following values: * `allUsers`: A special identifier that represents anyone who is on the internet; with or without a Google account. * `allAuthenticatedUsers`: A special identifier that represents anyone who is authenticated with a Google account or a service account. Does not include identities that come from external identity providers (IdPs) through identity federation. * `user:{emailid}`: An email address that represents a specific Google account. For example, `alice@example.com` . * `serviceAccount:{emailid}`: An email address that represents a Google service account. For example, `my-other-app@appspot.gserviceaccount.com`. * `serviceAccount:{projectid}.svc.id.goog[{namespace}/{kubernetes-sa}]`: An identifier for a [Kubernetes service account](https://cloud.google.com/kubernetes-engine/docs/how-to/kubernetes-service-accounts). For example, `my-project.svc.id.goog[my-namespace/my-kubernetes-sa]`. * `group:{emailid}`: An email address that represents a Google group. For example, `admins@example.com`. * `domain:{domain}`: The G Suite domain (primary) that represents all the users of that domain. For example, `google.com` or `example.com`. * `principal://iam.googleapis.com/locations/global/workforcePools/{pool_id}/subject/{subject_attribute_value}`: A single identity in a workforce identity pool. * `principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/group/{group_id}`: All workforce identities in a group. * `principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/attribute.{attribute_name}/{attribute_value}`: All workforce identities with a specific attribute value. * `principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/*`: All identities in a workforce identity pool. * `principal://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/subject/{subject_attribute_value}`: A single identity in a workload identity pool. * `principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/group/{group_id}`: A workload identity pool group. * `principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/attribute.{attribute_name}/{attribute_value}`: All identities in a workload identity pool with a certain attribute. * `principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/*`: All identities in a workload identity pool. * `deleted:user:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a user that has been recently deleted. For example, `alice@example.com?uid=123456789012345678901`. If the user is recovered, this value reverts to `user:{emailid}` and the recovered user retains the role in the binding. * `deleted:serviceAccount:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a service account that has been recently deleted. For example, `my-other-app@appspot.gserviceaccount.com?uid=123456789012345678901`. If the service account is undeleted, this value reverts to `serviceAccount:{emailid}` and the undeleted service account retains the role in the binding. * `deleted:group:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a Google group that has been recently deleted. For example, `admins@example.com?uid=123456789012345678901`. If the group is recovered, this value reverts to `group:{emailid}` and the recovered group retains the role in the binding. * `deleted:principal://iam.googleapis.com/locations/global/workforcePools/{pool_id}/subject/{subject_attribute_value}`: Deleted single identity in a workforce identity pool. For example, `deleted:principal://iam.googleapis.com/locations/global/workforcePools/my-pool-id/subject/my-subject-attribute-value`.", +"items": { +"type": "string" +}, +"type": "array" +}, +"role": { +"description": "Role that is assigned to the list of `members`, or principals. For example, `roles/viewer`, `roles/editor`, or `roles/owner`. For an overview of the IAM roles and permissions, see the [IAM documentation](https://cloud.google.com/iam/docs/roles-overview). For a list of the available pre-defined roles, see [here](https://cloud.google.com/iam/docs/understanding-roles).", +"type": "string" +} +}, +"type": "object" +}, +"ApigatewayCancelOperationRequest": { +"description": "The request message for Operations.CancelOperation.", +"id": "ApigatewayCancelOperationRequest", +"properties": {}, +"type": "object" +}, +"ApigatewayExpr": { +"description": "Represents a textual expression in the Common Expression Language (CEL) syntax. CEL is a C-like expression language. The syntax and semantics of CEL are documented at https://github.com/google/cel-spec. Example (Comparison): title: \"Summary size limit\" description: \"Determines if a summary is less than 100 chars\" expression: \"document.summary.size() < 100\" Example (Equality): title: \"Requestor is owner\" description: \"Determines if requestor is the document owner\" expression: \"document.owner == request.auth.claims.email\" Example (Logic): title: \"Public documents\" description: \"Determine whether the document should be publicly visible\" expression: \"document.type != 'private' && document.type != 'internal'\" Example (Data Manipulation): title: \"Notification string\" description: \"Create a notification string with a timestamp.\" expression: \"'New message received at ' + string(document.create_time)\" The exact variables and functions that may be referenced within an expression are determined by the service that evaluates it. See the service documentation for additional information.", +"id": "ApigatewayExpr", +"properties": { +"description": { +"description": "Optional. Description of the expression. This is a longer text which describes the expression, e.g. when hovered over it in a UI.", +"type": "string" +}, +"expression": { +"description": "Textual representation of an expression in Common Expression Language syntax.", +"type": "string" +}, +"location": { +"description": "Optional. String indicating the location of the expression for error reporting, e.g. a file name and a position in the file.", +"type": "string" +}, +"title": { +"description": "Optional. Title for the expression, i.e. a short string describing its purpose. This can be used e.g. in UIs which allow to enter the expression.", +"type": "string" +} +}, +"type": "object" +}, +"ApigatewayGateway": { +"description": "A Gateway is an API-aware HTTP proxy. It performs API-Method and/or API-Consumer specific actions based on an API Config such as authentication, policy enforcement, and backend selection.", +"id": "ApigatewayGateway", +"properties": { +"apiConfig": { +"description": "Required. Resource name of the API Config for this Gateway. Format: projects/{project}/locations/global/apis/{api}/configs/{apiConfig}", +"type": "string" +}, +"createTime": { +"description": "Output only. Created time.", +"format": "google-datetime", +"readOnly": true, +"type": "string" +}, +"defaultHostname": { +"description": "Output only. The default API Gateway host name of the form `{gateway_id}-{hash}.{region_code}.gateway.dev`.", +"readOnly": true, +"type": "string" +}, +"displayName": { +"description": "Optional. Display name.", +"type": "string" +}, +"labels": { +"additionalProperties": { +"type": "string" +}, +"description": "Optional. Resource labels to represent user-provided metadata. Refer to cloud documentation on labels for more details. https://cloud.google.com/compute/docs/labeling-resources", +"type": "object" +}, +"name": { +"description": "Output only. Resource name of the Gateway. Format: projects/{project}/locations/{location}/gateways/{gateway}", +"readOnly": true, +"type": "string" +}, +"state": { +"description": "Output only. The current state of the Gateway.", +"enum": [ +"STATE_UNSPECIFIED", +"CREATING", +"ACTIVE", +"FAILED", +"DELETING", +"UPDATING" +], +"enumDescriptions": [ +"Gateway does not have a state yet.", +"Gateway is being created.", +"Gateway is running and ready for requests.", +"Gateway creation failed.", +"Gateway is being deleted.", +"Gateway is being updated." +], +"readOnly": true, +"type": "string" +}, +"updateTime": { +"description": "Output only. Updated time.", +"format": "google-datetime", +"readOnly": true, +"type": "string" +} +}, +"type": "object" +}, +"ApigatewayListApiConfigsResponse": { +"description": "Response message for ApiGatewayService.ListApiConfigs", +"id": "ApigatewayListApiConfigsResponse", +"properties": { +"apiConfigs": { +"description": "API Configs.", +"items": { +"$ref": "ApigatewayApiConfig" +}, +"type": "array" +}, +"nextPageToken": { +"description": "Next page token.", +"type": "string" +}, +"unreachableLocations": { +"description": "Locations that could not be reached.", +"items": { +"type": "string" +}, +"type": "array" +} +}, +"type": "object" +}, +"ApigatewayListApisResponse": { +"description": "Response message for ApiGatewayService.ListApis", +"id": "ApigatewayListApisResponse", +"properties": { +"apis": { +"description": "APIs.", +"items": { +"$ref": "ApigatewayApi" +}, +"type": "array" +}, +"nextPageToken": { +"description": "Next page token.", +"type": "string" +}, +"unreachableLocations": { +"description": "Locations that could not be reached.", +"items": { +"type": "string" +}, +"type": "array" +} +}, +"type": "object" +}, +"ApigatewayListGatewaysResponse": { +"description": "Response message for ApiGatewayService.ListGateways", +"id": "ApigatewayListGatewaysResponse", +"properties": { +"gateways": { +"description": "Gateways.", +"items": { +"$ref": "ApigatewayGateway" +}, +"type": "array" +}, +"nextPageToken": { +"description": "Next page token.", +"type": "string" +}, +"unreachableLocations": { +"description": "Locations that could not be reached.", +"items": { +"type": "string" +}, +"type": "array" +} +}, +"type": "object" +}, +"ApigatewayListLocationsResponse": { +"description": "The response message for Locations.ListLocations.", +"id": "ApigatewayListLocationsResponse", +"properties": { +"locations": { +"description": "A list of locations that matches the specified filter in the request.", +"items": { +"$ref": "ApigatewayLocation" +}, +"type": "array" +}, +"nextPageToken": { +"description": "The standard List next-page token.", +"type": "string" +} +}, +"type": "object" +}, +"ApigatewayListOperationsResponse": { +"description": "The response message for Operations.ListOperations.", +"id": "ApigatewayListOperationsResponse", +"properties": { +"nextPageToken": { +"description": "The standard List next-page token.", +"type": "string" +}, +"operations": { +"description": "A list of operations that matches the specified filter in the request.", +"items": { +"$ref": "ApigatewayOperation" +}, +"type": "array" +} +}, +"type": "object" +}, +"ApigatewayLocation": { +"description": "A resource that represents a Google Cloud location.", +"id": "ApigatewayLocation", +"properties": { +"displayName": { +"description": "The friendly name for this location, typically a nearby city name. For example, \"Tokyo\".", +"type": "string" +}, +"labels": { +"additionalProperties": { +"type": "string" +}, +"description": "Cross-service attributes for the location. For example {\"cloud.googleapis.com/region\": \"us-east1\"}", +"type": "object" +}, +"locationId": { +"description": "The canonical id for this location. For example: `\"us-east1\"`.", +"type": "string" +}, +"metadata": { +"additionalProperties": { +"description": "Properties of the object. Contains field @type with type URL.", +"type": "any" +}, +"description": "Service-specific metadata. For example the available capacity at the given location.", +"type": "object" +}, +"name": { +"description": "Resource name for the location, which may vary between implementations. For example: `\"projects/example-project/locations/us-east1\"`", +"type": "string" +} +}, +"type": "object" +}, +"ApigatewayOperation": { +"description": "This resource represents a long-running operation that is the result of a network API call.", +"id": "ApigatewayOperation", +"properties": { +"done": { +"description": "If the value is `false`, it means the operation is still in progress. If `true`, the operation is completed, and either `error` or `response` is available.", +"type": "boolean" +}, +"error": { +"$ref": "ApigatewayStatus", +"description": "The error result of the operation in case of failure or cancellation." +}, +"metadata": { +"additionalProperties": { +"description": "Properties of the object. Contains field @type with type URL.", +"type": "any" +}, +"description": "Service-specific metadata associated with the operation. It typically contains progress information and common metadata such as create time. Some services might not provide such metadata. Any method that returns a long-running operation should document the metadata type, if any.", +"type": "object" +}, +"name": { +"description": "The server-assigned name, which is only unique within the same service that originally returns it. If you use the default HTTP mapping, the `name` should be a resource name ending with `operations/{unique_id}`.", +"type": "string" +}, +"response": { +"additionalProperties": { +"description": "Properties of the object. Contains field @type with type URL.", +"type": "any" +}, +"description": "The normal, successful response of the operation. If the original method returns no data on success, such as `Delete`, the response is `google.protobuf.Empty`. If the original method is standard `Get`/`Create`/`Update`, the response should be the resource. For other methods, the response should have the type `XxxResponse`, where `Xxx` is the original method name. For example, if the original method name is `TakeSnapshot()`, the inferred response type is `TakeSnapshotResponse`.", +"type": "object" +} +}, +"type": "object" +}, +"ApigatewayOperationMetadata": { +"description": "Represents the metadata of the long-running operation.", +"id": "ApigatewayOperationMetadata", +"properties": { +"apiVersion": { +"description": "Output only. API version used to start the operation.", +"readOnly": true, +"type": "string" +}, +"createTime": { +"description": "Output only. The time the operation was created.", +"format": "google-datetime", +"readOnly": true, +"type": "string" +}, +"diagnostics": { +"description": "Output only. Diagnostics generated during processing of configuration source files.", +"items": { +"$ref": "ApigatewayOperationMetadataDiagnostic" +}, +"readOnly": true, +"type": "array" +}, +"endTime": { +"description": "Output only. The time the operation finished running.", +"format": "google-datetime", +"readOnly": true, +"type": "string" +}, +"requestedCancellation": { +"description": "Output only. Identifies whether the user has requested cancellation of the operation. Operations that have successfully been cancelled have google.longrunning.Operation.error value with a google.rpc.Status.code of 1, corresponding to `Code.CANCELLED`.", +"readOnly": true, +"type": "boolean" +}, +"statusMessage": { +"description": "Output only. Human-readable status of the operation, if any.", +"readOnly": true, +"type": "string" +}, +"target": { +"description": "Output only. Server-defined resource path for the target of the operation.", +"readOnly": true, +"type": "string" +}, +"verb": { +"description": "Output only. Name of the verb executed by the operation.", +"readOnly": true, +"type": "string" +} +}, +"type": "object" +}, +"ApigatewayOperationMetadataDiagnostic": { +"description": "Diagnostic information from configuration processing.", +"id": "ApigatewayOperationMetadataDiagnostic", +"properties": { +"location": { +"description": "Location of the diagnostic.", +"type": "string" +}, +"message": { +"description": "The diagnostic message.", +"type": "string" +} +}, +"type": "object" +}, +"ApigatewayPolicy": { +"description": "An Identity and Access Management (IAM) policy, which specifies access controls for Google Cloud resources. A `Policy` is a collection of `bindings`. A `binding` binds one or more `members`, or principals, to a single `role`. Principals can be user accounts, service accounts, Google groups, and domains (such as G Suite). A `role` is a named list of permissions; each `role` can be an IAM predefined role or a user-created custom role. For some types of Google Cloud resources, a `binding` can also specify a `condition`, which is a logical expression that allows access to a resource only if the expression evaluates to `true`. A condition can add constraints based on attributes of the request, the resource, or both. To learn which resources support conditions in their IAM policies, see the [IAM documentation](https://cloud.google.com/iam/help/conditions/resource-policies). **JSON example:** ``` { \"bindings\": [ { \"role\": \"roles/resourcemanager.organizationAdmin\", \"members\": [ \"user:mike@example.com\", \"group:admins@example.com\", \"domain:google.com\", \"serviceAccount:my-project-id@appspot.gserviceaccount.com\" ] }, { \"role\": \"roles/resourcemanager.organizationViewer\", \"members\": [ \"user:eve@example.com\" ], \"condition\": { \"title\": \"expirable access\", \"description\": \"Does not grant access after Sep 2020\", \"expression\": \"request.time < timestamp('2020-10-01T00:00:00.000Z')\", } } ], \"etag\": \"BwWWja0YfJA=\", \"version\": 3 } ``` **YAML example:** ``` bindings: - members: - user:mike@example.com - group:admins@example.com - domain:google.com - serviceAccount:my-project-id@appspot.gserviceaccount.com role: roles/resourcemanager.organizationAdmin - members: - user:eve@example.com role: roles/resourcemanager.organizationViewer condition: title: expirable access description: Does not grant access after Sep 2020 expression: request.time < timestamp('2020-10-01T00:00:00.000Z') etag: BwWWja0YfJA= version: 3 ``` For a description of IAM and its features, see the [IAM documentation](https://cloud.google.com/iam/docs/).", +"id": "ApigatewayPolicy", +"properties": { +"auditConfigs": { +"description": "Specifies cloud audit logging configuration for this policy.", +"items": { +"$ref": "ApigatewayAuditConfig" +}, +"type": "array" +}, +"bindings": { +"description": "Associates a list of `members`, or principals, with a `role`. Optionally, may specify a `condition` that determines how and when the `bindings` are applied. Each of the `bindings` must contain at least one principal. The `bindings` in a `Policy` can refer to up to 1,500 principals; up to 250 of these principals can be Google groups. Each occurrence of a principal counts towards these limits. For example, if the `bindings` grant 50 different roles to `user:alice@example.com`, and not to any other principal, then you can add another 1,450 principals to the `bindings` in the `Policy`.", +"items": { +"$ref": "ApigatewayBinding" +}, +"type": "array" +}, +"etag": { +"description": "`etag` is used for optimistic concurrency control as a way to help prevent simultaneous updates of a policy from overwriting each other. It is strongly suggested that systems make use of the `etag` in the read-modify-write cycle to perform policy updates in order to avoid race conditions: An `etag` is returned in the response to `getIamPolicy`, and systems are expected to put that etag in the request to `setIamPolicy` to ensure that their change will be applied to the same version of the policy. **Important:** If you use IAM Conditions, you must include the `etag` field whenever you call `setIamPolicy`. If you omit this field, then IAM allows you to overwrite a version `3` policy with a version `1` policy, and all of the conditions in the version `3` policy are lost.", +"format": "byte", +"type": "string" +}, +"version": { +"description": "Specifies the format of the policy. Valid values are `0`, `1`, and `3`. Requests that specify an invalid value are rejected. Any operation that affects conditional role bindings must specify version `3`. This requirement applies to the following operations: * Getting a policy that includes a conditional role binding * Adding a conditional role binding to a policy * Changing a conditional role binding in a policy * Removing any role binding, with or without a condition, from a policy that includes conditions **Important:** If you use IAM Conditions, you must include the `etag` field whenever you call `setIamPolicy`. If you omit this field, then IAM allows you to overwrite a version `3` policy with a version `1` policy, and all of the conditions in the version `3` policy are lost. If a policy does not include any conditions, operations on that policy may specify any valid version or leave the field unset. To learn which resources support conditions in their IAM policies, see the [IAM documentation](https://cloud.google.com/iam/help/conditions/resource-policies).", +"format": "int32", +"type": "integer" +} +}, +"type": "object" +}, +"ApigatewaySetIamPolicyRequest": { +"description": "Request message for `SetIamPolicy` method.", +"id": "ApigatewaySetIamPolicyRequest", +"properties": { +"policy": { +"$ref": "ApigatewayPolicy", +"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" +} +}, +"type": "object" +}, +"ApigatewayStatus": { +"description": "The `Status` type defines a logical error model that is suitable for different programming environments, including REST APIs and RPC APIs. It is used by [gRPC](https://github.com/grpc). Each `Status` message contains three pieces of data: error code, error message, and error details. You can find out more about this error model and how to work with it in the [API Design Guide](https://cloud.google.com/apis/design/errors).", +"id": "ApigatewayStatus", +"properties": { +"code": { +"description": "The status code, which should be an enum value of google.rpc.Code.", +"format": "int32", +"type": "integer" +}, +"details": { +"description": "A list of messages that carry the error details. There is a common set of message types for APIs to use.", +"items": { +"additionalProperties": { +"description": "Properties of the object. Contains field @type with type URL.", +"type": "any" +}, +"type": "object" +}, +"type": "array" +}, +"message": { +"description": "A developer-facing error message, which should be in English. Any user-facing error message should be localized and sent in the google.rpc.Status.details field, or localized by the client.", +"type": "string" +} +}, +"type": "object" +}, +"ApigatewayTestIamPermissionsRequest": { +"description": "Request message for `TestIamPermissions` method.", +"id": "ApigatewayTestIamPermissionsRequest", +"properties": { +"permissions": { +"description": "The set of permissions to check for the `resource`. Permissions with wildcards (such as `*` or `storage.*`) are not allowed. For more information see [IAM Overview](https://cloud.google.com/iam/docs/overview#permissions).", +"items": { +"type": "string" +}, +"type": "array" +} +}, +"type": "object" +}, +"ApigatewayTestIamPermissionsResponse": { +"description": "Response message for `TestIamPermissions` method.", +"id": "ApigatewayTestIamPermissionsResponse", +"properties": { +"permissions": { +"description": "A subset of `TestPermissionsRequest.permissions` that the caller is allowed.", +"items": { +"type": "string" +}, +"type": "array" +} +}, +"type": "object" +}, +"Empty": { +"description": "A generic empty message that you can re-use to avoid defining duplicated empty messages in your APIs. A typical example is to use it as the request or the response type of an API method. For instance: service Foo { rpc Bar(google.protobuf.Empty) returns (google.protobuf.Empty); }", +"id": "Empty", +"properties": {}, +"type": "object" +} +}, +"servicePath": "", +"title": "API Gateway API", +"version": "v1", +"version_module": true +} \ No newline at end of file diff --git a/.venv/lib/python3.11/site-packages/googleapiclient/discovery_cache/documents/apigeeregistry.v1.json b/.venv/lib/python3.11/site-packages/googleapiclient/discovery_cache/documents/apigeeregistry.v1.json new file mode 100644 index 0000000000000000000000000000000000000000..5c6787ae0ccaf1382bde5c40c12d3d23a491b708 --- /dev/null +++ b/.venv/lib/python3.11/site-packages/googleapiclient/discovery_cache/documents/apigeeregistry.v1.json @@ -0,0 +1,4191 @@ +{ +"auth": { +"oauth2": { +"scopes": { +"https://www.googleapis.com/auth/cloud-platform": { +"description": "See, edit, configure, and delete your Google Cloud data and see the email address for your Google Account." +} +} +} +}, +"basePath": "", +"baseUrl": "https://apigeeregistry.googleapis.com/", +"batchPath": "batch", +"canonicalName": "Apigee Registry", +"description": "", +"discoveryVersion": "v1", +"documentationLink": "https://cloud.google.com/apigee/docs/api-hub/what-is-api-hub", +"fullyEncodeReservedExpansion": true, +"icons": { +"x16": "http://www.google.com/images/icons/product/search-16.gif", +"x32": "http://www.google.com/images/icons/product/search-32.gif" +}, +"id": "apigeeregistry:v1", +"kind": "discovery#restDescription", +"mtlsRootUrl": "https://apigeeregistry.mtls.googleapis.com/", +"name": "apigeeregistry", +"ownerDomain": "google.com", +"ownerName": "Google", +"parameters": { +"$.xgafv": { +"description": "V1 error format.", +"enum": [ +"1", +"2" +], +"enumDescriptions": [ +"v1 error format", +"v2 error format" +], +"location": "query", +"type": "string" +}, +"access_token": { +"description": "OAuth access token.", +"location": "query", +"type": "string" +}, +"alt": { +"default": "json", +"description": "Data format for response.", +"enum": [ +"json", +"media", +"proto" +], +"enumDescriptions": [ +"Responses with Content-Type of application/json", +"Media download with context-dependent Content-Type", +"Responses with Content-Type of application/x-protobuf" +], +"location": "query", +"type": "string" +}, +"callback": { +"description": "JSONP", +"location": "query", +"type": "string" +}, +"fields": { +"description": "Selector specifying which fields to include in a partial response.", +"location": "query", +"type": "string" +}, +"key": { +"description": "API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token.", +"location": "query", +"type": "string" +}, +"oauth_token": { +"description": "OAuth 2.0 token for the current user.", +"location": "query", +"type": "string" +}, +"prettyPrint": { +"default": "true", +"description": "Returns response with indentations and line breaks.", +"location": "query", +"type": "boolean" +}, +"quotaUser": { +"description": "Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters.", +"location": "query", +"type": "string" +}, +"uploadType": { +"description": "Legacy upload protocol for media (e.g. \"media\", \"multipart\").", +"location": "query", +"type": "string" +}, +"upload_protocol": { +"description": "Upload protocol for media (e.g. \"raw\", \"multipart\").", +"location": "query", +"type": "string" +} +}, +"protocol": "rest", +"resources": { +"projects": { +"resources": { +"locations": { +"methods": { +"get": { +"description": "Gets information about a location.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}", +"httpMethod": "GET", +"id": "apigeeregistry.projects.locations.get", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Resource name for the location.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+name}", +"response": { +"$ref": "Location" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"list": { +"description": "Lists information about the supported locations for this service.", +"flatPath": "v1/projects/{projectsId}/locations", +"httpMethod": "GET", +"id": "apigeeregistry.projects.locations.list", +"parameterOrder": [ +"name" +], +"parameters": { +"filter": { +"description": "A filter to narrow down results to a preferred subset. The filtering language accepts strings like `\"displayName=tokyo\"`, and is documented in more detail in [AIP-160](https://google.aip.dev/160).", +"location": "query", +"type": "string" +}, +"name": { +"description": "The resource that owns the locations collection, if applicable.", +"location": "path", +"pattern": "^projects/[^/]+$", +"required": true, +"type": "string" +}, +"pageSize": { +"description": "The maximum number of results to return. If not set, the service selects a default.", +"format": "int32", +"location": "query", +"type": "integer" +}, +"pageToken": { +"description": "A page token received from the `next_page_token` field in the response. Send that page token to receive the subsequent page.", +"location": "query", +"type": "string" +} +}, +"path": "v1/{+name}/locations", +"response": { +"$ref": "ListLocationsResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +} +}, +"resources": { +"apis": { +"methods": { +"create": { +"description": "Creates a specified API.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/apis", +"httpMethod": "POST", +"id": "apigeeregistry.projects.locations.apis.create", +"parameterOrder": [ +"parent" +], +"parameters": { +"apiId": { +"description": "Required. The ID to use for the API, which will become the final component of the API's resource name. This value should be 4-63 characters, and valid characters are /a-z-/. Following AIP-162, IDs must not have the form of a UUID.", +"location": "query", +"type": "string" +}, +"parent": { +"description": "Required. The parent, which owns this collection of APIs. Format: `projects/*/locations/*`", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+parent}/apis", +"request": { +"$ref": "Api" +}, +"response": { +"$ref": "Api" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"delete": { +"description": "Removes a specified API and all of the resources that it owns.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/apis/{apisId}", +"httpMethod": "DELETE", +"id": "apigeeregistry.projects.locations.apis.delete", +"parameterOrder": [ +"name" +], +"parameters": { +"force": { +"description": "If set to true, any child resources will also be deleted. (Otherwise, the request will only work if there are no child resources.)", +"location": "query", +"type": "boolean" +}, +"name": { +"description": "Required. The name of the API to delete. Format: `projects/*/locations/*/apis/*`", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/apis/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+name}", +"response": { +"$ref": "Empty" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"get": { +"description": "Returns a specified API.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/apis/{apisId}", +"httpMethod": "GET", +"id": "apigeeregistry.projects.locations.apis.get", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. The name of the API to retrieve. Format: `projects/*/locations/*/apis/*`", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/apis/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+name}", +"response": { +"$ref": "Api" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"getIamPolicy": { +"description": "Gets the access control policy for a resource. Returns an empty policy if the resource exists and does not have a policy set.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/apis/{apisId}:getIamPolicy", +"httpMethod": "GET", +"id": "apigeeregistry.projects.locations.apis.getIamPolicy", +"parameterOrder": [ +"resource" +], +"parameters": { +"options.requestedPolicyVersion": { +"description": "Optional. The maximum policy version that will be used to format the policy. Valid values are 0, 1, and 3. Requests specifying an invalid value will be rejected. Requests for policies with any conditional role bindings must specify version 3. Policies with no conditional role bindings may specify any valid value or leave the field unset. The policy in the response might use the policy version that you specified, or it might use a lower policy version. For example, if you specify version 3, but the policy has no conditional role bindings, the response uses version 1. To learn which resources support conditions in their IAM policies, see the [IAM documentation](https://cloud.google.com/iam/help/conditions/resource-policies).", +"format": "int32", +"location": "query", +"type": "integer" +}, +"resource": { +"description": "REQUIRED: The resource for which the policy is being requested. See [Resource names](https://cloud.google.com/apis/design/resource_names) for the appropriate value for this field.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/apis/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+resource}:getIamPolicy", +"response": { +"$ref": "Policy" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"list": { +"description": "Returns matching APIs.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/apis", +"httpMethod": "GET", +"id": "apigeeregistry.projects.locations.apis.list", +"parameterOrder": [ +"parent" +], +"parameters": { +"filter": { +"description": "An expression that can be used to filter the list. Filters use the Common Expression Language and can refer to all message fields.", +"location": "query", +"type": "string" +}, +"orderBy": { +"description": "A comma-separated list of fields, e.g. \"foo,bar\" Fields can be sorted in descending order using the \"desc\" identifier, e.g. \"foo desc,bar\"", +"location": "query", +"type": "string" +}, +"pageSize": { +"description": "The maximum number of APIs to return. The service may return fewer than this value. If unspecified, at most 50 values will be returned. The maximum is 1000; values above 1000 will be coerced to 1000.", +"format": "int32", +"location": "query", +"type": "integer" +}, +"pageToken": { +"description": "A page token, received from a previous `ListApis` call. Provide this to retrieve the subsequent page. When paginating, all other parameters provided to `ListApis` must match the call that provided the page token.", +"location": "query", +"type": "string" +}, +"parent": { +"description": "Required. The parent, which owns this collection of APIs. Format: `projects/*/locations/*`", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+parent}/apis", +"response": { +"$ref": "ListApisResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"patch": { +"description": "Used to modify a specified API.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/apis/{apisId}", +"httpMethod": "PATCH", +"id": "apigeeregistry.projects.locations.apis.patch", +"parameterOrder": [ +"name" +], +"parameters": { +"allowMissing": { +"description": "If set to true, and the API is not found, a new API will be created. In this situation, `update_mask` is ignored.", +"location": "query", +"type": "boolean" +}, +"name": { +"description": "Resource name.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/apis/[^/]+$", +"required": true, +"type": "string" +}, +"updateMask": { +"description": "The list of fields to be updated. If omitted, all fields are updated that are set in the request message (fields set to default values are ignored). If an asterisk \"*\" is specified, all fields are updated, including fields that are unspecified/default in the request.", +"format": "google-fieldmask", +"location": "query", +"type": "string" +} +}, +"path": "v1/{+name}", +"request": { +"$ref": "Api" +}, +"response": { +"$ref": "Api" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"setIamPolicy": { +"description": "Sets the access control policy on the specified resource. Replaces any existing policy. Can return `NOT_FOUND`, `INVALID_ARGUMENT`, and `PERMISSION_DENIED` errors.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/apis/{apisId}:setIamPolicy", +"httpMethod": "POST", +"id": "apigeeregistry.projects.locations.apis.setIamPolicy", +"parameterOrder": [ +"resource" +], +"parameters": { +"resource": { +"description": "REQUIRED: The resource for which the policy is being specified. See [Resource names](https://cloud.google.com/apis/design/resource_names) for the appropriate value for this field.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/apis/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+resource}:setIamPolicy", +"request": { +"$ref": "SetIamPolicyRequest" +}, +"response": { +"$ref": "Policy" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"testIamPermissions": { +"description": "Returns permissions that a caller has on the specified resource. If the resource does not exist, this will return an empty set of permissions, not a `NOT_FOUND` error. Note: This operation is designed to be used for building permission-aware UIs and command-line tools, not for authorization checking. This operation may \"fail open\" without warning.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/apis/{apisId}:testIamPermissions", +"httpMethod": "POST", +"id": "apigeeregistry.projects.locations.apis.testIamPermissions", +"parameterOrder": [ +"resource" +], +"parameters": { +"resource": { +"description": "REQUIRED: The resource for which the policy detail is being requested. See [Resource names](https://cloud.google.com/apis/design/resource_names) for the appropriate value for this field.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/apis/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+resource}:testIamPermissions", +"request": { +"$ref": "TestIamPermissionsRequest" +}, +"response": { +"$ref": "TestIamPermissionsResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +} +}, +"resources": { +"artifacts": { +"methods": { +"create": { +"description": "Creates a specified artifact.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/apis/{apisId}/artifacts", +"httpMethod": "POST", +"id": "apigeeregistry.projects.locations.apis.artifacts.create", +"parameterOrder": [ +"parent" +], +"parameters": { +"artifactId": { +"description": "Required. The ID to use for the artifact, which will become the final component of the artifact's resource name. This value should be 4-63 characters, and valid characters are /a-z-/. Following AIP-162, IDs must not have the form of a UUID.", +"location": "query", +"type": "string" +}, +"parent": { +"description": "Required. The parent, which owns this collection of artifacts. Format: `{parent}`", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/apis/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+parent}/artifacts", +"request": { +"$ref": "Artifact" +}, +"response": { +"$ref": "Artifact" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"delete": { +"description": "Removes a specified artifact.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/apis/{apisId}/artifacts/{artifactsId}", +"httpMethod": "DELETE", +"id": "apigeeregistry.projects.locations.apis.artifacts.delete", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. The name of the artifact to delete. Format: `{parent}/artifacts/*`", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/apis/[^/]+/artifacts/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+name}", +"response": { +"$ref": "Empty" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"get": { +"description": "Returns a specified artifact.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/apis/{apisId}/artifacts/{artifactsId}", +"httpMethod": "GET", +"id": "apigeeregistry.projects.locations.apis.artifacts.get", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. The name of the artifact to retrieve. Format: `{parent}/artifacts/*`", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/apis/[^/]+/artifacts/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+name}", +"response": { +"$ref": "Artifact" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"getContents": { +"description": "Returns the contents of a specified artifact. If artifacts are stored with GZip compression, the default behavior is to return the artifact uncompressed (the mime_type response field indicates the exact format returned).", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/apis/{apisId}/artifacts/{artifactsId}:getContents", +"httpMethod": "GET", +"id": "apigeeregistry.projects.locations.apis.artifacts.getContents", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. The name of the artifact whose contents should be retrieved. Format: `{parent}/artifacts/*`", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/apis/[^/]+/artifacts/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+name}:getContents", +"response": { +"$ref": "HttpBody" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"getIamPolicy": { +"description": "Gets the access control policy for a resource. Returns an empty policy if the resource exists and does not have a policy set.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/apis/{apisId}/artifacts/{artifactsId}:getIamPolicy", +"httpMethod": "GET", +"id": "apigeeregistry.projects.locations.apis.artifacts.getIamPolicy", +"parameterOrder": [ +"resource" +], +"parameters": { +"options.requestedPolicyVersion": { +"description": "Optional. The maximum policy version that will be used to format the policy. Valid values are 0, 1, and 3. Requests specifying an invalid value will be rejected. Requests for policies with any conditional role bindings must specify version 3. Policies with no conditional role bindings may specify any valid value or leave the field unset. The policy in the response might use the policy version that you specified, or it might use a lower policy version. For example, if you specify version 3, but the policy has no conditional role bindings, the response uses version 1. To learn which resources support conditions in their IAM policies, see the [IAM documentation](https://cloud.google.com/iam/help/conditions/resource-policies).", +"format": "int32", +"location": "query", +"type": "integer" +}, +"resource": { +"description": "REQUIRED: The resource for which the policy is being requested. See [Resource names](https://cloud.google.com/apis/design/resource_names) for the appropriate value for this field.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/apis/[^/]+/artifacts/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+resource}:getIamPolicy", +"response": { +"$ref": "Policy" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"list": { +"description": "Returns matching artifacts.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/apis/{apisId}/artifacts", +"httpMethod": "GET", +"id": "apigeeregistry.projects.locations.apis.artifacts.list", +"parameterOrder": [ +"parent" +], +"parameters": { +"filter": { +"description": "An expression that can be used to filter the list. Filters use the Common Expression Language and can refer to all message fields except contents.", +"location": "query", +"type": "string" +}, +"orderBy": { +"description": "A comma-separated list of fields, e.g. \"foo,bar\" Fields can be sorted in descending order using the \"desc\" identifier, e.g. \"foo desc,bar\"", +"location": "query", +"type": "string" +}, +"pageSize": { +"description": "The maximum number of artifacts to return. The service may return fewer than this value. If unspecified, at most 50 values will be returned. The maximum is 1000; values above 1000 will be coerced to 1000.", +"format": "int32", +"location": "query", +"type": "integer" +}, +"pageToken": { +"description": "A page token, received from a previous `ListArtifacts` call. Provide this to retrieve the subsequent page. When paginating, all other parameters provided to `ListArtifacts` must match the call that provided the page token.", +"location": "query", +"type": "string" +}, +"parent": { +"description": "Required. The parent, which owns this collection of artifacts. Format: `{parent}`", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/apis/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+parent}/artifacts", +"response": { +"$ref": "ListArtifactsResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"replaceArtifact": { +"description": "Used to replace a specified artifact.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/apis/{apisId}/artifacts/{artifactsId}", +"httpMethod": "PUT", +"id": "apigeeregistry.projects.locations.apis.artifacts.replaceArtifact", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Resource name.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/apis/[^/]+/artifacts/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+name}", +"request": { +"$ref": "Artifact" +}, +"response": { +"$ref": "Artifact" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"setIamPolicy": { +"description": "Sets the access control policy on the specified resource. Replaces any existing policy. Can return `NOT_FOUND`, `INVALID_ARGUMENT`, and `PERMISSION_DENIED` errors.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/apis/{apisId}/artifacts/{artifactsId}:setIamPolicy", +"httpMethod": "POST", +"id": "apigeeregistry.projects.locations.apis.artifacts.setIamPolicy", +"parameterOrder": [ +"resource" +], +"parameters": { +"resource": { +"description": "REQUIRED: The resource for which the policy is being specified. See [Resource names](https://cloud.google.com/apis/design/resource_names) for the appropriate value for this field.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/apis/[^/]+/artifacts/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+resource}:setIamPolicy", +"request": { +"$ref": "SetIamPolicyRequest" +}, +"response": { +"$ref": "Policy" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"testIamPermissions": { +"description": "Returns permissions that a caller has on the specified resource. If the resource does not exist, this will return an empty set of permissions, not a `NOT_FOUND` error. Note: This operation is designed to be used for building permission-aware UIs and command-line tools, not for authorization checking. This operation may \"fail open\" without warning.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/apis/{apisId}/artifacts/{artifactsId}:testIamPermissions", +"httpMethod": "POST", +"id": "apigeeregistry.projects.locations.apis.artifacts.testIamPermissions", +"parameterOrder": [ +"resource" +], +"parameters": { +"resource": { +"description": "REQUIRED: The resource for which the policy detail is being requested. See [Resource names](https://cloud.google.com/apis/design/resource_names) for the appropriate value for this field.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/apis/[^/]+/artifacts/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+resource}:testIamPermissions", +"request": { +"$ref": "TestIamPermissionsRequest" +}, +"response": { +"$ref": "TestIamPermissionsResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +} +} +}, +"deployments": { +"methods": { +"create": { +"description": "Creates a specified deployment.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/apis/{apisId}/deployments", +"httpMethod": "POST", +"id": "apigeeregistry.projects.locations.apis.deployments.create", +"parameterOrder": [ +"parent" +], +"parameters": { +"apiDeploymentId": { +"description": "Required. The ID to use for the deployment, which will become the final component of the deployment's resource name. This value should be 4-63 characters, and valid characters are /a-z-/. Following AIP-162, IDs must not have the form of a UUID.", +"location": "query", +"type": "string" +}, +"parent": { +"description": "Required. The parent, which owns this collection of deployments. Format: `projects/*/locations/*/apis/*`", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/apis/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+parent}/deployments", +"request": { +"$ref": "ApiDeployment" +}, +"response": { +"$ref": "ApiDeployment" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"delete": { +"description": "Removes a specified deployment, all revisions, and all child resources (e.g., artifacts).", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/apis/{apisId}/deployments/{deploymentsId}", +"httpMethod": "DELETE", +"id": "apigeeregistry.projects.locations.apis.deployments.delete", +"parameterOrder": [ +"name" +], +"parameters": { +"force": { +"description": "If set to true, any child resources will also be deleted. (Otherwise, the request will only work if there are no child resources.)", +"location": "query", +"type": "boolean" +}, +"name": { +"description": "Required. The name of the deployment to delete. Format: `projects/*/locations/*/apis/*/deployments/*`", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/apis/[^/]+/deployments/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+name}", +"response": { +"$ref": "Empty" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"deleteRevision": { +"description": "Deletes a revision of a deployment.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/apis/{apisId}/deployments/{deploymentsId}:deleteRevision", +"httpMethod": "DELETE", +"id": "apigeeregistry.projects.locations.apis.deployments.deleteRevision", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. The name of the deployment revision to be deleted, with a revision ID explicitly included. Example: `projects/sample/locations/global/apis/petstore/deployments/prod@c7cfa2a8`", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/apis/[^/]+/deployments/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+name}:deleteRevision", +"response": { +"$ref": "ApiDeployment" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"get": { +"description": "Returns a specified deployment.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/apis/{apisId}/deployments/{deploymentsId}", +"httpMethod": "GET", +"id": "apigeeregistry.projects.locations.apis.deployments.get", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. The name of the deployment to retrieve. Format: `projects/*/locations/*/apis/*/deployments/*`", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/apis/[^/]+/deployments/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+name}", +"response": { +"$ref": "ApiDeployment" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"getIamPolicy": { +"description": "Gets the access control policy for a resource. Returns an empty policy if the resource exists and does not have a policy set.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/apis/{apisId}/deployments/{deploymentsId}:getIamPolicy", +"httpMethod": "GET", +"id": "apigeeregistry.projects.locations.apis.deployments.getIamPolicy", +"parameterOrder": [ +"resource" +], +"parameters": { +"options.requestedPolicyVersion": { +"description": "Optional. The maximum policy version that will be used to format the policy. Valid values are 0, 1, and 3. Requests specifying an invalid value will be rejected. Requests for policies with any conditional role bindings must specify version 3. Policies with no conditional role bindings may specify any valid value or leave the field unset. The policy in the response might use the policy version that you specified, or it might use a lower policy version. For example, if you specify version 3, but the policy has no conditional role bindings, the response uses version 1. To learn which resources support conditions in their IAM policies, see the [IAM documentation](https://cloud.google.com/iam/help/conditions/resource-policies).", +"format": "int32", +"location": "query", +"type": "integer" +}, +"resource": { +"description": "REQUIRED: The resource for which the policy is being requested. See [Resource names](https://cloud.google.com/apis/design/resource_names) for the appropriate value for this field.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/apis/[^/]+/deployments/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+resource}:getIamPolicy", +"response": { +"$ref": "Policy" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"list": { +"description": "Returns matching deployments.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/apis/{apisId}/deployments", +"httpMethod": "GET", +"id": "apigeeregistry.projects.locations.apis.deployments.list", +"parameterOrder": [ +"parent" +], +"parameters": { +"filter": { +"description": "An expression that can be used to filter the list. Filters use the Common Expression Language and can refer to all message fields.", +"location": "query", +"type": "string" +}, +"orderBy": { +"description": "A comma-separated list of fields, e.g. \"foo,bar\" Fields can be sorted in descending order using the \"desc\" identifier, e.g. \"foo desc,bar\"", +"location": "query", +"type": "string" +}, +"pageSize": { +"description": "The maximum number of deployments to return. The service may return fewer than this value. If unspecified, at most 50 values will be returned. The maximum is 1000; values above 1000 will be coerced to 1000.", +"format": "int32", +"location": "query", +"type": "integer" +}, +"pageToken": { +"description": "A page token, received from a previous `ListApiDeployments` call. Provide this to retrieve the subsequent page. When paginating, all other parameters provided to `ListApiDeployments` must match the call that provided the page token.", +"location": "query", +"type": "string" +}, +"parent": { +"description": "Required. The parent, which owns this collection of deployments. Format: `projects/*/locations/*/apis/*`", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/apis/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+parent}/deployments", +"response": { +"$ref": "ListApiDeploymentsResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"listRevisions": { +"description": "Lists all revisions of a deployment. Revisions are returned in descending order of revision creation time.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/apis/{apisId}/deployments/{deploymentsId}:listRevisions", +"httpMethod": "GET", +"id": "apigeeregistry.projects.locations.apis.deployments.listRevisions", +"parameterOrder": [ +"name" +], +"parameters": { +"filter": { +"description": "An expression that can be used to filter the list. Filters use the Common Expression Language and can refer to all message fields.", +"location": "query", +"type": "string" +}, +"name": { +"description": "Required. The name of the deployment to list revisions for.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/apis/[^/]+/deployments/[^/]+$", +"required": true, +"type": "string" +}, +"pageSize": { +"description": "The maximum number of revisions to return per page.", +"format": "int32", +"location": "query", +"type": "integer" +}, +"pageToken": { +"description": "The page token, received from a previous ListApiDeploymentRevisions call. Provide this to retrieve the subsequent page.", +"location": "query", +"type": "string" +} +}, +"path": "v1/{+name}:listRevisions", +"response": { +"$ref": "ListApiDeploymentRevisionsResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"patch": { +"description": "Used to modify a specified deployment.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/apis/{apisId}/deployments/{deploymentsId}", +"httpMethod": "PATCH", +"id": "apigeeregistry.projects.locations.apis.deployments.patch", +"parameterOrder": [ +"name" +], +"parameters": { +"allowMissing": { +"description": "If set to true, and the deployment is not found, a new deployment will be created. In this situation, `update_mask` is ignored.", +"location": "query", +"type": "boolean" +}, +"name": { +"description": "Resource name.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/apis/[^/]+/deployments/[^/]+$", +"required": true, +"type": "string" +}, +"updateMask": { +"description": "The list of fields to be updated. If omitted, all fields are updated that are set in the request message (fields set to default values are ignored). If an asterisk \"*\" is specified, all fields are updated, including fields that are unspecified/default in the request.", +"format": "google-fieldmask", +"location": "query", +"type": "string" +} +}, +"path": "v1/{+name}", +"request": { +"$ref": "ApiDeployment" +}, +"response": { +"$ref": "ApiDeployment" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"rollback": { +"description": "Sets the current revision to a specified prior revision. Note that this creates a new revision with a new revision ID.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/apis/{apisId}/deployments/{deploymentsId}:rollback", +"httpMethod": "POST", +"id": "apigeeregistry.projects.locations.apis.deployments.rollback", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. The deployment being rolled back.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/apis/[^/]+/deployments/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+name}:rollback", +"request": { +"$ref": "RollbackApiDeploymentRequest" +}, +"response": { +"$ref": "ApiDeployment" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"setIamPolicy": { +"description": "Sets the access control policy on the specified resource. Replaces any existing policy. Can return `NOT_FOUND`, `INVALID_ARGUMENT`, and `PERMISSION_DENIED` errors.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/apis/{apisId}/deployments/{deploymentsId}:setIamPolicy", +"httpMethod": "POST", +"id": "apigeeregistry.projects.locations.apis.deployments.setIamPolicy", +"parameterOrder": [ +"resource" +], +"parameters": { +"resource": { +"description": "REQUIRED: The resource for which the policy is being specified. See [Resource names](https://cloud.google.com/apis/design/resource_names) for the appropriate value for this field.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/apis/[^/]+/deployments/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+resource}:setIamPolicy", +"request": { +"$ref": "SetIamPolicyRequest" +}, +"response": { +"$ref": "Policy" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"tagRevision": { +"description": "Adds a tag to a specified revision of a deployment.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/apis/{apisId}/deployments/{deploymentsId}:tagRevision", +"httpMethod": "POST", +"id": "apigeeregistry.projects.locations.apis.deployments.tagRevision", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. The name of the deployment to be tagged, including the revision ID is optional. If a revision is not specified, it will tag the latest revision.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/apis/[^/]+/deployments/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+name}:tagRevision", +"request": { +"$ref": "TagApiDeploymentRevisionRequest" +}, +"response": { +"$ref": "ApiDeployment" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"testIamPermissions": { +"description": "Returns permissions that a caller has on the specified resource. If the resource does not exist, this will return an empty set of permissions, not a `NOT_FOUND` error. Note: This operation is designed to be used for building permission-aware UIs and command-line tools, not for authorization checking. This operation may \"fail open\" without warning.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/apis/{apisId}/deployments/{deploymentsId}:testIamPermissions", +"httpMethod": "POST", +"id": "apigeeregistry.projects.locations.apis.deployments.testIamPermissions", +"parameterOrder": [ +"resource" +], +"parameters": { +"resource": { +"description": "REQUIRED: The resource for which the policy detail is being requested. See [Resource names](https://cloud.google.com/apis/design/resource_names) for the appropriate value for this field.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/apis/[^/]+/deployments/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+resource}:testIamPermissions", +"request": { +"$ref": "TestIamPermissionsRequest" +}, +"response": { +"$ref": "TestIamPermissionsResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +} +}, +"resources": { +"artifacts": { +"methods": { +"create": { +"description": "Creates a specified artifact.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/apis/{apisId}/deployments/{deploymentsId}/artifacts", +"httpMethod": "POST", +"id": "apigeeregistry.projects.locations.apis.deployments.artifacts.create", +"parameterOrder": [ +"parent" +], +"parameters": { +"artifactId": { +"description": "Required. The ID to use for the artifact, which will become the final component of the artifact's resource name. This value should be 4-63 characters, and valid characters are /a-z-/. Following AIP-162, IDs must not have the form of a UUID.", +"location": "query", +"type": "string" +}, +"parent": { +"description": "Required. The parent, which owns this collection of artifacts. Format: `{parent}`", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/apis/[^/]+/deployments/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+parent}/artifacts", +"request": { +"$ref": "Artifact" +}, +"response": { +"$ref": "Artifact" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"delete": { +"description": "Removes a specified artifact.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/apis/{apisId}/deployments/{deploymentsId}/artifacts/{artifactsId}", +"httpMethod": "DELETE", +"id": "apigeeregistry.projects.locations.apis.deployments.artifacts.delete", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. The name of the artifact to delete. Format: `{parent}/artifacts/*`", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/apis/[^/]+/deployments/[^/]+/artifacts/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+name}", +"response": { +"$ref": "Empty" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"get": { +"description": "Returns a specified artifact.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/apis/{apisId}/deployments/{deploymentsId}/artifacts/{artifactsId}", +"httpMethod": "GET", +"id": "apigeeregistry.projects.locations.apis.deployments.artifacts.get", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. The name of the artifact to retrieve. Format: `{parent}/artifacts/*`", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/apis/[^/]+/deployments/[^/]+/artifacts/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+name}", +"response": { +"$ref": "Artifact" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"getContents": { +"description": "Returns the contents of a specified artifact. If artifacts are stored with GZip compression, the default behavior is to return the artifact uncompressed (the mime_type response field indicates the exact format returned).", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/apis/{apisId}/deployments/{deploymentsId}/artifacts/{artifactsId}:getContents", +"httpMethod": "GET", +"id": "apigeeregistry.projects.locations.apis.deployments.artifacts.getContents", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. The name of the artifact whose contents should be retrieved. Format: `{parent}/artifacts/*`", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/apis/[^/]+/deployments/[^/]+/artifacts/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+name}:getContents", +"response": { +"$ref": "HttpBody" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"list": { +"description": "Returns matching artifacts.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/apis/{apisId}/deployments/{deploymentsId}/artifacts", +"httpMethod": "GET", +"id": "apigeeregistry.projects.locations.apis.deployments.artifacts.list", +"parameterOrder": [ +"parent" +], +"parameters": { +"filter": { +"description": "An expression that can be used to filter the list. Filters use the Common Expression Language and can refer to all message fields except contents.", +"location": "query", +"type": "string" +}, +"orderBy": { +"description": "A comma-separated list of fields, e.g. \"foo,bar\" Fields can be sorted in descending order using the \"desc\" identifier, e.g. \"foo desc,bar\"", +"location": "query", +"type": "string" +}, +"pageSize": { +"description": "The maximum number of artifacts to return. The service may return fewer than this value. If unspecified, at most 50 values will be returned. The maximum is 1000; values above 1000 will be coerced to 1000.", +"format": "int32", +"location": "query", +"type": "integer" +}, +"pageToken": { +"description": "A page token, received from a previous `ListArtifacts` call. Provide this to retrieve the subsequent page. When paginating, all other parameters provided to `ListArtifacts` must match the call that provided the page token.", +"location": "query", +"type": "string" +}, +"parent": { +"description": "Required. The parent, which owns this collection of artifacts. Format: `{parent}`", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/apis/[^/]+/deployments/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+parent}/artifacts", +"response": { +"$ref": "ListArtifactsResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"replaceArtifact": { +"description": "Used to replace a specified artifact.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/apis/{apisId}/deployments/{deploymentsId}/artifacts/{artifactsId}", +"httpMethod": "PUT", +"id": "apigeeregistry.projects.locations.apis.deployments.artifacts.replaceArtifact", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Resource name.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/apis/[^/]+/deployments/[^/]+/artifacts/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+name}", +"request": { +"$ref": "Artifact" +}, +"response": { +"$ref": "Artifact" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +} +} +} +} +}, +"versions": { +"methods": { +"create": { +"description": "Creates a specified version.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/apis/{apisId}/versions", +"httpMethod": "POST", +"id": "apigeeregistry.projects.locations.apis.versions.create", +"parameterOrder": [ +"parent" +], +"parameters": { +"apiVersionId": { +"description": "Required. The ID to use for the version, which will become the final component of the version's resource name. This value should be 1-63 characters, and valid characters are /a-z-/. Following AIP-162, IDs must not have the form of a UUID.", +"location": "query", +"type": "string" +}, +"parent": { +"description": "Required. The parent, which owns this collection of versions. Format: `projects/*/locations/*/apis/*`", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/apis/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+parent}/versions", +"request": { +"$ref": "ApiVersion" +}, +"response": { +"$ref": "ApiVersion" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"delete": { +"description": "Removes a specified version and all of the resources that it owns.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/apis/{apisId}/versions/{versionsId}", +"httpMethod": "DELETE", +"id": "apigeeregistry.projects.locations.apis.versions.delete", +"parameterOrder": [ +"name" +], +"parameters": { +"force": { +"description": "If set to true, any child resources will also be deleted. (Otherwise, the request will only work if there are no child resources.)", +"location": "query", +"type": "boolean" +}, +"name": { +"description": "Required. The name of the version to delete. Format: `projects/*/locations/*/apis/*/versions/*`", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/apis/[^/]+/versions/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+name}", +"response": { +"$ref": "Empty" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"get": { +"description": "Returns a specified version.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/apis/{apisId}/versions/{versionsId}", +"httpMethod": "GET", +"id": "apigeeregistry.projects.locations.apis.versions.get", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. The name of the version to retrieve. Format: `projects/*/locations/*/apis/*/versions/*`", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/apis/[^/]+/versions/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+name}", +"response": { +"$ref": "ApiVersion" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"getIamPolicy": { +"description": "Gets the access control policy for a resource. Returns an empty policy if the resource exists and does not have a policy set.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/apis/{apisId}/versions/{versionsId}:getIamPolicy", +"httpMethod": "GET", +"id": "apigeeregistry.projects.locations.apis.versions.getIamPolicy", +"parameterOrder": [ +"resource" +], +"parameters": { +"options.requestedPolicyVersion": { +"description": "Optional. The maximum policy version that will be used to format the policy. Valid values are 0, 1, and 3. Requests specifying an invalid value will be rejected. Requests for policies with any conditional role bindings must specify version 3. Policies with no conditional role bindings may specify any valid value or leave the field unset. The policy in the response might use the policy version that you specified, or it might use a lower policy version. For example, if you specify version 3, but the policy has no conditional role bindings, the response uses version 1. To learn which resources support conditions in their IAM policies, see the [IAM documentation](https://cloud.google.com/iam/help/conditions/resource-policies).", +"format": "int32", +"location": "query", +"type": "integer" +}, +"resource": { +"description": "REQUIRED: The resource for which the policy is being requested. See [Resource names](https://cloud.google.com/apis/design/resource_names) for the appropriate value for this field.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/apis/[^/]+/versions/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+resource}:getIamPolicy", +"response": { +"$ref": "Policy" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"list": { +"description": "Returns matching versions.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/apis/{apisId}/versions", +"httpMethod": "GET", +"id": "apigeeregistry.projects.locations.apis.versions.list", +"parameterOrder": [ +"parent" +], +"parameters": { +"filter": { +"description": "An expression that can be used to filter the list. Filters use the Common Expression Language and can refer to all message fields.", +"location": "query", +"type": "string" +}, +"orderBy": { +"description": "A comma-separated list of fields, e.g. \"foo,bar\" Fields can be sorted in descending order using the \"desc\" identifier, e.g. \"foo desc,bar\"", +"location": "query", +"type": "string" +}, +"pageSize": { +"description": "The maximum number of versions to return. The service may return fewer than this value. If unspecified, at most 50 values will be returned. The maximum is 1000; values above 1000 will be coerced to 1000.", +"format": "int32", +"location": "query", +"type": "integer" +}, +"pageToken": { +"description": "A page token, received from a previous `ListApiVersions` call. Provide this to retrieve the subsequent page. When paginating, all other parameters provided to `ListApiVersions` must match the call that provided the page token.", +"location": "query", +"type": "string" +}, +"parent": { +"description": "Required. The parent, which owns this collection of versions. Format: `projects/*/locations/*/apis/*`", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/apis/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+parent}/versions", +"response": { +"$ref": "ListApiVersionsResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"patch": { +"description": "Used to modify a specified version.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/apis/{apisId}/versions/{versionsId}", +"httpMethod": "PATCH", +"id": "apigeeregistry.projects.locations.apis.versions.patch", +"parameterOrder": [ +"name" +], +"parameters": { +"allowMissing": { +"description": "If set to true, and the version is not found, a new version will be created. In this situation, `update_mask` is ignored.", +"location": "query", +"type": "boolean" +}, +"name": { +"description": "Resource name.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/apis/[^/]+/versions/[^/]+$", +"required": true, +"type": "string" +}, +"updateMask": { +"description": "The list of fields to be updated. If omitted, all fields are updated that are set in the request message (fields set to default values are ignored). If an asterisk \"*\" is specified, all fields are updated, including fields that are unspecified/default in the request.", +"format": "google-fieldmask", +"location": "query", +"type": "string" +} +}, +"path": "v1/{+name}", +"request": { +"$ref": "ApiVersion" +}, +"response": { +"$ref": "ApiVersion" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"setIamPolicy": { +"description": "Sets the access control policy on the specified resource. Replaces any existing policy. Can return `NOT_FOUND`, `INVALID_ARGUMENT`, and `PERMISSION_DENIED` errors.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/apis/{apisId}/versions/{versionsId}:setIamPolicy", +"httpMethod": "POST", +"id": "apigeeregistry.projects.locations.apis.versions.setIamPolicy", +"parameterOrder": [ +"resource" +], +"parameters": { +"resource": { +"description": "REQUIRED: The resource for which the policy is being specified. See [Resource names](https://cloud.google.com/apis/design/resource_names) for the appropriate value for this field.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/apis/[^/]+/versions/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+resource}:setIamPolicy", +"request": { +"$ref": "SetIamPolicyRequest" +}, +"response": { +"$ref": "Policy" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"testIamPermissions": { +"description": "Returns permissions that a caller has on the specified resource. If the resource does not exist, this will return an empty set of permissions, not a `NOT_FOUND` error. Note: This operation is designed to be used for building permission-aware UIs and command-line tools, not for authorization checking. This operation may \"fail open\" without warning.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/apis/{apisId}/versions/{versionsId}:testIamPermissions", +"httpMethod": "POST", +"id": "apigeeregistry.projects.locations.apis.versions.testIamPermissions", +"parameterOrder": [ +"resource" +], +"parameters": { +"resource": { +"description": "REQUIRED: The resource for which the policy detail is being requested. See [Resource names](https://cloud.google.com/apis/design/resource_names) for the appropriate value for this field.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/apis/[^/]+/versions/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+resource}:testIamPermissions", +"request": { +"$ref": "TestIamPermissionsRequest" +}, +"response": { +"$ref": "TestIamPermissionsResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +} +}, +"resources": { +"artifacts": { +"methods": { +"create": { +"description": "Creates a specified artifact.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/apis/{apisId}/versions/{versionsId}/artifacts", +"httpMethod": "POST", +"id": "apigeeregistry.projects.locations.apis.versions.artifacts.create", +"parameterOrder": [ +"parent" +], +"parameters": { +"artifactId": { +"description": "Required. The ID to use for the artifact, which will become the final component of the artifact's resource name. This value should be 4-63 characters, and valid characters are /a-z-/. Following AIP-162, IDs must not have the form of a UUID.", +"location": "query", +"type": "string" +}, +"parent": { +"description": "Required. The parent, which owns this collection of artifacts. Format: `{parent}`", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/apis/[^/]+/versions/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+parent}/artifacts", +"request": { +"$ref": "Artifact" +}, +"response": { +"$ref": "Artifact" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"delete": { +"description": "Removes a specified artifact.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/apis/{apisId}/versions/{versionsId}/artifacts/{artifactsId}", +"httpMethod": "DELETE", +"id": "apigeeregistry.projects.locations.apis.versions.artifacts.delete", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. The name of the artifact to delete. Format: `{parent}/artifacts/*`", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/apis/[^/]+/versions/[^/]+/artifacts/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+name}", +"response": { +"$ref": "Empty" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"get": { +"description": "Returns a specified artifact.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/apis/{apisId}/versions/{versionsId}/artifacts/{artifactsId}", +"httpMethod": "GET", +"id": "apigeeregistry.projects.locations.apis.versions.artifacts.get", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. The name of the artifact to retrieve. Format: `{parent}/artifacts/*`", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/apis/[^/]+/versions/[^/]+/artifacts/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+name}", +"response": { +"$ref": "Artifact" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"getContents": { +"description": "Returns the contents of a specified artifact. If artifacts are stored with GZip compression, the default behavior is to return the artifact uncompressed (the mime_type response field indicates the exact format returned).", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/apis/{apisId}/versions/{versionsId}/artifacts/{artifactsId}:getContents", +"httpMethod": "GET", +"id": "apigeeregistry.projects.locations.apis.versions.artifacts.getContents", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. The name of the artifact whose contents should be retrieved. Format: `{parent}/artifacts/*`", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/apis/[^/]+/versions/[^/]+/artifacts/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+name}:getContents", +"response": { +"$ref": "HttpBody" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"getIamPolicy": { +"description": "Gets the access control policy for a resource. Returns an empty policy if the resource exists and does not have a policy set.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/apis/{apisId}/versions/{versionsId}/artifacts/{artifactsId}:getIamPolicy", +"httpMethod": "GET", +"id": "apigeeregistry.projects.locations.apis.versions.artifacts.getIamPolicy", +"parameterOrder": [ +"resource" +], +"parameters": { +"options.requestedPolicyVersion": { +"description": "Optional. The maximum policy version that will be used to format the policy. Valid values are 0, 1, and 3. Requests specifying an invalid value will be rejected. Requests for policies with any conditional role bindings must specify version 3. Policies with no conditional role bindings may specify any valid value or leave the field unset. The policy in the response might use the policy version that you specified, or it might use a lower policy version. For example, if you specify version 3, but the policy has no conditional role bindings, the response uses version 1. To learn which resources support conditions in their IAM policies, see the [IAM documentation](https://cloud.google.com/iam/help/conditions/resource-policies).", +"format": "int32", +"location": "query", +"type": "integer" +}, +"resource": { +"description": "REQUIRED: The resource for which the policy is being requested. See [Resource names](https://cloud.google.com/apis/design/resource_names) for the appropriate value for this field.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/apis/[^/]+/versions/[^/]+/artifacts/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+resource}:getIamPolicy", +"response": { +"$ref": "Policy" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"list": { +"description": "Returns matching artifacts.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/apis/{apisId}/versions/{versionsId}/artifacts", +"httpMethod": "GET", +"id": "apigeeregistry.projects.locations.apis.versions.artifacts.list", +"parameterOrder": [ +"parent" +], +"parameters": { +"filter": { +"description": "An expression that can be used to filter the list. Filters use the Common Expression Language and can refer to all message fields except contents.", +"location": "query", +"type": "string" +}, +"orderBy": { +"description": "A comma-separated list of fields, e.g. \"foo,bar\" Fields can be sorted in descending order using the \"desc\" identifier, e.g. \"foo desc,bar\"", +"location": "query", +"type": "string" +}, +"pageSize": { +"description": "The maximum number of artifacts to return. The service may return fewer than this value. If unspecified, at most 50 values will be returned. The maximum is 1000; values above 1000 will be coerced to 1000.", +"format": "int32", +"location": "query", +"type": "integer" +}, +"pageToken": { +"description": "A page token, received from a previous `ListArtifacts` call. Provide this to retrieve the subsequent page. When paginating, all other parameters provided to `ListArtifacts` must match the call that provided the page token.", +"location": "query", +"type": "string" +}, +"parent": { +"description": "Required. The parent, which owns this collection of artifacts. Format: `{parent}`", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/apis/[^/]+/versions/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+parent}/artifacts", +"response": { +"$ref": "ListArtifactsResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"replaceArtifact": { +"description": "Used to replace a specified artifact.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/apis/{apisId}/versions/{versionsId}/artifacts/{artifactsId}", +"httpMethod": "PUT", +"id": "apigeeregistry.projects.locations.apis.versions.artifacts.replaceArtifact", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Resource name.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/apis/[^/]+/versions/[^/]+/artifacts/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+name}", +"request": { +"$ref": "Artifact" +}, +"response": { +"$ref": "Artifact" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"setIamPolicy": { +"description": "Sets the access control policy on the specified resource. Replaces any existing policy. Can return `NOT_FOUND`, `INVALID_ARGUMENT`, and `PERMISSION_DENIED` errors.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/apis/{apisId}/versions/{versionsId}/artifacts/{artifactsId}:setIamPolicy", +"httpMethod": "POST", +"id": "apigeeregistry.projects.locations.apis.versions.artifacts.setIamPolicy", +"parameterOrder": [ +"resource" +], +"parameters": { +"resource": { +"description": "REQUIRED: The resource for which the policy is being specified. See [Resource names](https://cloud.google.com/apis/design/resource_names) for the appropriate value for this field.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/apis/[^/]+/versions/[^/]+/artifacts/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+resource}:setIamPolicy", +"request": { +"$ref": "SetIamPolicyRequest" +}, +"response": { +"$ref": "Policy" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"testIamPermissions": { +"description": "Returns permissions that a caller has on the specified resource. If the resource does not exist, this will return an empty set of permissions, not a `NOT_FOUND` error. Note: This operation is designed to be used for building permission-aware UIs and command-line tools, not for authorization checking. This operation may \"fail open\" without warning.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/apis/{apisId}/versions/{versionsId}/artifacts/{artifactsId}:testIamPermissions", +"httpMethod": "POST", +"id": "apigeeregistry.projects.locations.apis.versions.artifacts.testIamPermissions", +"parameterOrder": [ +"resource" +], +"parameters": { +"resource": { +"description": "REQUIRED: The resource for which the policy detail is being requested. See [Resource names](https://cloud.google.com/apis/design/resource_names) for the appropriate value for this field.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/apis/[^/]+/versions/[^/]+/artifacts/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+resource}:testIamPermissions", +"request": { +"$ref": "TestIamPermissionsRequest" +}, +"response": { +"$ref": "TestIamPermissionsResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +} +} +}, +"specs": { +"methods": { +"create": { +"description": "Creates a specified spec.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/apis/{apisId}/versions/{versionsId}/specs", +"httpMethod": "POST", +"id": "apigeeregistry.projects.locations.apis.versions.specs.create", +"parameterOrder": [ +"parent" +], +"parameters": { +"apiSpecId": { +"description": "Required. The ID to use for the spec, which will become the final component of the spec's resource name. This value should be 4-63 characters, and valid characters are /a-z-/. Following AIP-162, IDs must not have the form of a UUID.", +"location": "query", +"type": "string" +}, +"parent": { +"description": "Required. The parent, which owns this collection of specs. Format: `projects/*/locations/*/apis/*/versions/*`", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/apis/[^/]+/versions/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+parent}/specs", +"request": { +"$ref": "ApiSpec" +}, +"response": { +"$ref": "ApiSpec" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"delete": { +"description": "Removes a specified spec, all revisions, and all child resources (e.g., artifacts).", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/apis/{apisId}/versions/{versionsId}/specs/{specsId}", +"httpMethod": "DELETE", +"id": "apigeeregistry.projects.locations.apis.versions.specs.delete", +"parameterOrder": [ +"name" +], +"parameters": { +"force": { +"description": "If set to true, any child resources will also be deleted. (Otherwise, the request will only work if there are no child resources.)", +"location": "query", +"type": "boolean" +}, +"name": { +"description": "Required. The name of the spec to delete. Format: `projects/*/locations/*/apis/*/versions/*/specs/*`", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/apis/[^/]+/versions/[^/]+/specs/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+name}", +"response": { +"$ref": "Empty" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"deleteRevision": { +"description": "Deletes a revision of a spec.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/apis/{apisId}/versions/{versionsId}/specs/{specsId}:deleteRevision", +"httpMethod": "DELETE", +"id": "apigeeregistry.projects.locations.apis.versions.specs.deleteRevision", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. The name of the spec revision to be deleted, with a revision ID explicitly included. Example: `projects/sample/locations/global/apis/petstore/versions/1.0.0/specs/openapi.yaml@c7cfa2a8`", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/apis/[^/]+/versions/[^/]+/specs/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+name}:deleteRevision", +"response": { +"$ref": "ApiSpec" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"get": { +"description": "Returns a specified spec.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/apis/{apisId}/versions/{versionsId}/specs/{specsId}", +"httpMethod": "GET", +"id": "apigeeregistry.projects.locations.apis.versions.specs.get", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. The name of the spec to retrieve. Format: `projects/*/locations/*/apis/*/versions/*/specs/*`", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/apis/[^/]+/versions/[^/]+/specs/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+name}", +"response": { +"$ref": "ApiSpec" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"getContents": { +"description": "Returns the contents of a specified spec. If specs are stored with GZip compression, the default behavior is to return the spec uncompressed (the mime_type response field indicates the exact format returned).", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/apis/{apisId}/versions/{versionsId}/specs/{specsId}:getContents", +"httpMethod": "GET", +"id": "apigeeregistry.projects.locations.apis.versions.specs.getContents", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. The name of the spec whose contents should be retrieved. Format: `projects/*/locations/*/apis/*/versions/*/specs/*`", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/apis/[^/]+/versions/[^/]+/specs/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+name}:getContents", +"response": { +"$ref": "HttpBody" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"getIamPolicy": { +"description": "Gets the access control policy for a resource. Returns an empty policy if the resource exists and does not have a policy set.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/apis/{apisId}/versions/{versionsId}/specs/{specsId}:getIamPolicy", +"httpMethod": "GET", +"id": "apigeeregistry.projects.locations.apis.versions.specs.getIamPolicy", +"parameterOrder": [ +"resource" +], +"parameters": { +"options.requestedPolicyVersion": { +"description": "Optional. The maximum policy version that will be used to format the policy. Valid values are 0, 1, and 3. Requests specifying an invalid value will be rejected. Requests for policies with any conditional role bindings must specify version 3. Policies with no conditional role bindings may specify any valid value or leave the field unset. The policy in the response might use the policy version that you specified, or it might use a lower policy version. For example, if you specify version 3, but the policy has no conditional role bindings, the response uses version 1. To learn which resources support conditions in their IAM policies, see the [IAM documentation](https://cloud.google.com/iam/help/conditions/resource-policies).", +"format": "int32", +"location": "query", +"type": "integer" +}, +"resource": { +"description": "REQUIRED: The resource for which the policy is being requested. See [Resource names](https://cloud.google.com/apis/design/resource_names) for the appropriate value for this field.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/apis/[^/]+/versions/[^/]+/specs/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+resource}:getIamPolicy", +"response": { +"$ref": "Policy" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"list": { +"description": "Returns matching specs.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/apis/{apisId}/versions/{versionsId}/specs", +"httpMethod": "GET", +"id": "apigeeregistry.projects.locations.apis.versions.specs.list", +"parameterOrder": [ +"parent" +], +"parameters": { +"filter": { +"description": "An expression that can be used to filter the list. Filters use the Common Expression Language and can refer to all message fields except contents.", +"location": "query", +"type": "string" +}, +"orderBy": { +"description": "A comma-separated list of fields, e.g. \"foo,bar\" Fields can be sorted in descending order using the \"desc\" identifier, e.g. \"foo desc,bar\"", +"location": "query", +"type": "string" +}, +"pageSize": { +"description": "The maximum number of specs to return. The service may return fewer than this value. If unspecified, at most 50 values will be returned. The maximum is 1000; values above 1000 will be coerced to 1000.", +"format": "int32", +"location": "query", +"type": "integer" +}, +"pageToken": { +"description": "A page token, received from a previous `ListApiSpecs` call. Provide this to retrieve the subsequent page. When paginating, all other parameters provided to `ListApiSpecs` must match the call that provided the page token.", +"location": "query", +"type": "string" +}, +"parent": { +"description": "Required. The parent, which owns this collection of specs. Format: `projects/*/locations/*/apis/*/versions/*`", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/apis/[^/]+/versions/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+parent}/specs", +"response": { +"$ref": "ListApiSpecsResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"listRevisions": { +"description": "Lists all revisions of a spec. Revisions are returned in descending order of revision creation time.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/apis/{apisId}/versions/{versionsId}/specs/{specsId}:listRevisions", +"httpMethod": "GET", +"id": "apigeeregistry.projects.locations.apis.versions.specs.listRevisions", +"parameterOrder": [ +"name" +], +"parameters": { +"filter": { +"description": "An expression that can be used to filter the list. Filters use the Common Expression Language and can refer to all message fields.", +"location": "query", +"type": "string" +}, +"name": { +"description": "Required. The name of the spec to list revisions for.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/apis/[^/]+/versions/[^/]+/specs/[^/]+$", +"required": true, +"type": "string" +}, +"pageSize": { +"description": "The maximum number of revisions to return per page.", +"format": "int32", +"location": "query", +"type": "integer" +}, +"pageToken": { +"description": "The page token, received from a previous ListApiSpecRevisions call. Provide this to retrieve the subsequent page.", +"location": "query", +"type": "string" +} +}, +"path": "v1/{+name}:listRevisions", +"response": { +"$ref": "ListApiSpecRevisionsResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"patch": { +"description": "Used to modify a specified spec.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/apis/{apisId}/versions/{versionsId}/specs/{specsId}", +"httpMethod": "PATCH", +"id": "apigeeregistry.projects.locations.apis.versions.specs.patch", +"parameterOrder": [ +"name" +], +"parameters": { +"allowMissing": { +"description": "If set to true, and the spec is not found, a new spec will be created. In this situation, `update_mask` is ignored.", +"location": "query", +"type": "boolean" +}, +"name": { +"description": "Resource name.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/apis/[^/]+/versions/[^/]+/specs/[^/]+$", +"required": true, +"type": "string" +}, +"updateMask": { +"description": "The list of fields to be updated. If omitted, all fields are updated that are set in the request message (fields set to default values are ignored). If an asterisk \"*\" is specified, all fields are updated, including fields that are unspecified/default in the request.", +"format": "google-fieldmask", +"location": "query", +"type": "string" +} +}, +"path": "v1/{+name}", +"request": { +"$ref": "ApiSpec" +}, +"response": { +"$ref": "ApiSpec" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"rollback": { +"description": "Sets the current revision to a specified prior revision. Note that this creates a new revision with a new revision ID.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/apis/{apisId}/versions/{versionsId}/specs/{specsId}:rollback", +"httpMethod": "POST", +"id": "apigeeregistry.projects.locations.apis.versions.specs.rollback", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. The spec being rolled back.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/apis/[^/]+/versions/[^/]+/specs/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+name}:rollback", +"request": { +"$ref": "RollbackApiSpecRequest" +}, +"response": { +"$ref": "ApiSpec" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"setIamPolicy": { +"description": "Sets the access control policy on the specified resource. Replaces any existing policy. Can return `NOT_FOUND`, `INVALID_ARGUMENT`, and `PERMISSION_DENIED` errors.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/apis/{apisId}/versions/{versionsId}/specs/{specsId}:setIamPolicy", +"httpMethod": "POST", +"id": "apigeeregistry.projects.locations.apis.versions.specs.setIamPolicy", +"parameterOrder": [ +"resource" +], +"parameters": { +"resource": { +"description": "REQUIRED: The resource for which the policy is being specified. See [Resource names](https://cloud.google.com/apis/design/resource_names) for the appropriate value for this field.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/apis/[^/]+/versions/[^/]+/specs/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+resource}:setIamPolicy", +"request": { +"$ref": "SetIamPolicyRequest" +}, +"response": { +"$ref": "Policy" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"tagRevision": { +"description": "Adds a tag to a specified revision of a spec.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/apis/{apisId}/versions/{versionsId}/specs/{specsId}:tagRevision", +"httpMethod": "POST", +"id": "apigeeregistry.projects.locations.apis.versions.specs.tagRevision", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. The name of the spec to be tagged, including the revision ID is optional. If a revision is not specified, it will tag the latest revision.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/apis/[^/]+/versions/[^/]+/specs/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+name}:tagRevision", +"request": { +"$ref": "TagApiSpecRevisionRequest" +}, +"response": { +"$ref": "ApiSpec" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"testIamPermissions": { +"description": "Returns permissions that a caller has on the specified resource. If the resource does not exist, this will return an empty set of permissions, not a `NOT_FOUND` error. Note: This operation is designed to be used for building permission-aware UIs and command-line tools, not for authorization checking. This operation may \"fail open\" without warning.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/apis/{apisId}/versions/{versionsId}/specs/{specsId}:testIamPermissions", +"httpMethod": "POST", +"id": "apigeeregistry.projects.locations.apis.versions.specs.testIamPermissions", +"parameterOrder": [ +"resource" +], +"parameters": { +"resource": { +"description": "REQUIRED: The resource for which the policy detail is being requested. See [Resource names](https://cloud.google.com/apis/design/resource_names) for the appropriate value for this field.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/apis/[^/]+/versions/[^/]+/specs/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+resource}:testIamPermissions", +"request": { +"$ref": "TestIamPermissionsRequest" +}, +"response": { +"$ref": "TestIamPermissionsResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +} +}, +"resources": { +"artifacts": { +"methods": { +"create": { +"description": "Creates a specified artifact.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/apis/{apisId}/versions/{versionsId}/specs/{specsId}/artifacts", +"httpMethod": "POST", +"id": "apigeeregistry.projects.locations.apis.versions.specs.artifacts.create", +"parameterOrder": [ +"parent" +], +"parameters": { +"artifactId": { +"description": "Required. The ID to use for the artifact, which will become the final component of the artifact's resource name. This value should be 4-63 characters, and valid characters are /a-z-/. Following AIP-162, IDs must not have the form of a UUID.", +"location": "query", +"type": "string" +}, +"parent": { +"description": "Required. The parent, which owns this collection of artifacts. Format: `{parent}`", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/apis/[^/]+/versions/[^/]+/specs/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+parent}/artifacts", +"request": { +"$ref": "Artifact" +}, +"response": { +"$ref": "Artifact" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"delete": { +"description": "Removes a specified artifact.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/apis/{apisId}/versions/{versionsId}/specs/{specsId}/artifacts/{artifactsId}", +"httpMethod": "DELETE", +"id": "apigeeregistry.projects.locations.apis.versions.specs.artifacts.delete", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. The name of the artifact to delete. Format: `{parent}/artifacts/*`", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/apis/[^/]+/versions/[^/]+/specs/[^/]+/artifacts/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+name}", +"response": { +"$ref": "Empty" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"get": { +"description": "Returns a specified artifact.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/apis/{apisId}/versions/{versionsId}/specs/{specsId}/artifacts/{artifactsId}", +"httpMethod": "GET", +"id": "apigeeregistry.projects.locations.apis.versions.specs.artifacts.get", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. The name of the artifact to retrieve. Format: `{parent}/artifacts/*`", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/apis/[^/]+/versions/[^/]+/specs/[^/]+/artifacts/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+name}", +"response": { +"$ref": "Artifact" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"getContents": { +"description": "Returns the contents of a specified artifact. If artifacts are stored with GZip compression, the default behavior is to return the artifact uncompressed (the mime_type response field indicates the exact format returned).", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/apis/{apisId}/versions/{versionsId}/specs/{specsId}/artifacts/{artifactsId}:getContents", +"httpMethod": "GET", +"id": "apigeeregistry.projects.locations.apis.versions.specs.artifacts.getContents", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. The name of the artifact whose contents should be retrieved. Format: `{parent}/artifacts/*`", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/apis/[^/]+/versions/[^/]+/specs/[^/]+/artifacts/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+name}:getContents", +"response": { +"$ref": "HttpBody" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"getIamPolicy": { +"description": "Gets the access control policy for a resource. Returns an empty policy if the resource exists and does not have a policy set.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/apis/{apisId}/versions/{versionsId}/specs/{specsId}/artifacts/{artifactsId}:getIamPolicy", +"httpMethod": "GET", +"id": "apigeeregistry.projects.locations.apis.versions.specs.artifacts.getIamPolicy", +"parameterOrder": [ +"resource" +], +"parameters": { +"options.requestedPolicyVersion": { +"description": "Optional. The maximum policy version that will be used to format the policy. Valid values are 0, 1, and 3. Requests specifying an invalid value will be rejected. Requests for policies with any conditional role bindings must specify version 3. Policies with no conditional role bindings may specify any valid value or leave the field unset. The policy in the response might use the policy version that you specified, or it might use a lower policy version. For example, if you specify version 3, but the policy has no conditional role bindings, the response uses version 1. To learn which resources support conditions in their IAM policies, see the [IAM documentation](https://cloud.google.com/iam/help/conditions/resource-policies).", +"format": "int32", +"location": "query", +"type": "integer" +}, +"resource": { +"description": "REQUIRED: The resource for which the policy is being requested. See [Resource names](https://cloud.google.com/apis/design/resource_names) for the appropriate value for this field.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/apis/[^/]+/versions/[^/]+/specs/[^/]+/artifacts/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+resource}:getIamPolicy", +"response": { +"$ref": "Policy" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"list": { +"description": "Returns matching artifacts.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/apis/{apisId}/versions/{versionsId}/specs/{specsId}/artifacts", +"httpMethod": "GET", +"id": "apigeeregistry.projects.locations.apis.versions.specs.artifacts.list", +"parameterOrder": [ +"parent" +], +"parameters": { +"filter": { +"description": "An expression that can be used to filter the list. Filters use the Common Expression Language and can refer to all message fields except contents.", +"location": "query", +"type": "string" +}, +"orderBy": { +"description": "A comma-separated list of fields, e.g. \"foo,bar\" Fields can be sorted in descending order using the \"desc\" identifier, e.g. \"foo desc,bar\"", +"location": "query", +"type": "string" +}, +"pageSize": { +"description": "The maximum number of artifacts to return. The service may return fewer than this value. If unspecified, at most 50 values will be returned. The maximum is 1000; values above 1000 will be coerced to 1000.", +"format": "int32", +"location": "query", +"type": "integer" +}, +"pageToken": { +"description": "A page token, received from a previous `ListArtifacts` call. Provide this to retrieve the subsequent page. When paginating, all other parameters provided to `ListArtifacts` must match the call that provided the page token.", +"location": "query", +"type": "string" +}, +"parent": { +"description": "Required. The parent, which owns this collection of artifacts. Format: `{parent}`", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/apis/[^/]+/versions/[^/]+/specs/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+parent}/artifacts", +"response": { +"$ref": "ListArtifactsResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"replaceArtifact": { +"description": "Used to replace a specified artifact.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/apis/{apisId}/versions/{versionsId}/specs/{specsId}/artifacts/{artifactsId}", +"httpMethod": "PUT", +"id": "apigeeregistry.projects.locations.apis.versions.specs.artifacts.replaceArtifact", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Resource name.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/apis/[^/]+/versions/[^/]+/specs/[^/]+/artifacts/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+name}", +"request": { +"$ref": "Artifact" +}, +"response": { +"$ref": "Artifact" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"setIamPolicy": { +"description": "Sets the access control policy on the specified resource. Replaces any existing policy. Can return `NOT_FOUND`, `INVALID_ARGUMENT`, and `PERMISSION_DENIED` errors.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/apis/{apisId}/versions/{versionsId}/specs/{specsId}/artifacts/{artifactsId}:setIamPolicy", +"httpMethod": "POST", +"id": "apigeeregistry.projects.locations.apis.versions.specs.artifacts.setIamPolicy", +"parameterOrder": [ +"resource" +], +"parameters": { +"resource": { +"description": "REQUIRED: The resource for which the policy is being specified. See [Resource names](https://cloud.google.com/apis/design/resource_names) for the appropriate value for this field.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/apis/[^/]+/versions/[^/]+/specs/[^/]+/artifacts/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+resource}:setIamPolicy", +"request": { +"$ref": "SetIamPolicyRequest" +}, +"response": { +"$ref": "Policy" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"testIamPermissions": { +"description": "Returns permissions that a caller has on the specified resource. If the resource does not exist, this will return an empty set of permissions, not a `NOT_FOUND` error. Note: This operation is designed to be used for building permission-aware UIs and command-line tools, not for authorization checking. This operation may \"fail open\" without warning.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/apis/{apisId}/versions/{versionsId}/specs/{specsId}/artifacts/{artifactsId}:testIamPermissions", +"httpMethod": "POST", +"id": "apigeeregistry.projects.locations.apis.versions.specs.artifacts.testIamPermissions", +"parameterOrder": [ +"resource" +], +"parameters": { +"resource": { +"description": "REQUIRED: The resource for which the policy detail is being requested. See [Resource names](https://cloud.google.com/apis/design/resource_names) for the appropriate value for this field.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/apis/[^/]+/versions/[^/]+/specs/[^/]+/artifacts/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+resource}:testIamPermissions", +"request": { +"$ref": "TestIamPermissionsRequest" +}, +"response": { +"$ref": "TestIamPermissionsResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +} +} +} +} +} +} +} +} +}, +"artifacts": { +"methods": { +"create": { +"description": "Creates a specified artifact.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/artifacts", +"httpMethod": "POST", +"id": "apigeeregistry.projects.locations.artifacts.create", +"parameterOrder": [ +"parent" +], +"parameters": { +"artifactId": { +"description": "Required. The ID to use for the artifact, which will become the final component of the artifact's resource name. This value should be 4-63 characters, and valid characters are /a-z-/. Following AIP-162, IDs must not have the form of a UUID.", +"location": "query", +"type": "string" +}, +"parent": { +"description": "Required. The parent, which owns this collection of artifacts. Format: `{parent}`", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+parent}/artifacts", +"request": { +"$ref": "Artifact" +}, +"response": { +"$ref": "Artifact" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"delete": { +"description": "Removes a specified artifact.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/artifacts/{artifactsId}", +"httpMethod": "DELETE", +"id": "apigeeregistry.projects.locations.artifacts.delete", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. The name of the artifact to delete. Format: `{parent}/artifacts/*`", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/artifacts/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+name}", +"response": { +"$ref": "Empty" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"get": { +"description": "Returns a specified artifact.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/artifacts/{artifactsId}", +"httpMethod": "GET", +"id": "apigeeregistry.projects.locations.artifacts.get", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. The name of the artifact to retrieve. Format: `{parent}/artifacts/*`", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/artifacts/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+name}", +"response": { +"$ref": "Artifact" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"getContents": { +"description": "Returns the contents of a specified artifact. If artifacts are stored with GZip compression, the default behavior is to return the artifact uncompressed (the mime_type response field indicates the exact format returned).", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/artifacts/{artifactsId}:getContents", +"httpMethod": "GET", +"id": "apigeeregistry.projects.locations.artifacts.getContents", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. The name of the artifact whose contents should be retrieved. Format: `{parent}/artifacts/*`", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/artifacts/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+name}:getContents", +"response": { +"$ref": "HttpBody" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"getIamPolicy": { +"description": "Gets the access control policy for a resource. Returns an empty policy if the resource exists and does not have a policy set.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/artifacts/{artifactsId}:getIamPolicy", +"httpMethod": "GET", +"id": "apigeeregistry.projects.locations.artifacts.getIamPolicy", +"parameterOrder": [ +"resource" +], +"parameters": { +"options.requestedPolicyVersion": { +"description": "Optional. The maximum policy version that will be used to format the policy. Valid values are 0, 1, and 3. Requests specifying an invalid value will be rejected. Requests for policies with any conditional role bindings must specify version 3. Policies with no conditional role bindings may specify any valid value or leave the field unset. The policy in the response might use the policy version that you specified, or it might use a lower policy version. For example, if you specify version 3, but the policy has no conditional role bindings, the response uses version 1. To learn which resources support conditions in their IAM policies, see the [IAM documentation](https://cloud.google.com/iam/help/conditions/resource-policies).", +"format": "int32", +"location": "query", +"type": "integer" +}, +"resource": { +"description": "REQUIRED: The resource for which the policy is being requested. See [Resource names](https://cloud.google.com/apis/design/resource_names) for the appropriate value for this field.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/artifacts/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+resource}:getIamPolicy", +"response": { +"$ref": "Policy" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"list": { +"description": "Returns matching artifacts.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/artifacts", +"httpMethod": "GET", +"id": "apigeeregistry.projects.locations.artifacts.list", +"parameterOrder": [ +"parent" +], +"parameters": { +"filter": { +"description": "An expression that can be used to filter the list. Filters use the Common Expression Language and can refer to all message fields except contents.", +"location": "query", +"type": "string" +}, +"orderBy": { +"description": "A comma-separated list of fields, e.g. \"foo,bar\" Fields can be sorted in descending order using the \"desc\" identifier, e.g. \"foo desc,bar\"", +"location": "query", +"type": "string" +}, +"pageSize": { +"description": "The maximum number of artifacts to return. The service may return fewer than this value. If unspecified, at most 50 values will be returned. The maximum is 1000; values above 1000 will be coerced to 1000.", +"format": "int32", +"location": "query", +"type": "integer" +}, +"pageToken": { +"description": "A page token, received from a previous `ListArtifacts` call. Provide this to retrieve the subsequent page. When paginating, all other parameters provided to `ListArtifacts` must match the call that provided the page token.", +"location": "query", +"type": "string" +}, +"parent": { +"description": "Required. The parent, which owns this collection of artifacts. Format: `{parent}`", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+parent}/artifacts", +"response": { +"$ref": "ListArtifactsResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"replaceArtifact": { +"description": "Used to replace a specified artifact.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/artifacts/{artifactsId}", +"httpMethod": "PUT", +"id": "apigeeregistry.projects.locations.artifacts.replaceArtifact", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Resource name.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/artifacts/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+name}", +"request": { +"$ref": "Artifact" +}, +"response": { +"$ref": "Artifact" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"setIamPolicy": { +"description": "Sets the access control policy on the specified resource. Replaces any existing policy. Can return `NOT_FOUND`, `INVALID_ARGUMENT`, and `PERMISSION_DENIED` errors.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/artifacts/{artifactsId}:setIamPolicy", +"httpMethod": "POST", +"id": "apigeeregistry.projects.locations.artifacts.setIamPolicy", +"parameterOrder": [ +"resource" +], +"parameters": { +"resource": { +"description": "REQUIRED: The resource for which the policy is being specified. See [Resource names](https://cloud.google.com/apis/design/resource_names) for the appropriate value for this field.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/artifacts/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+resource}:setIamPolicy", +"request": { +"$ref": "SetIamPolicyRequest" +}, +"response": { +"$ref": "Policy" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"testIamPermissions": { +"description": "Returns permissions that a caller has on the specified resource. If the resource does not exist, this will return an empty set of permissions, not a `NOT_FOUND` error. Note: This operation is designed to be used for building permission-aware UIs and command-line tools, not for authorization checking. This operation may \"fail open\" without warning.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/artifacts/{artifactsId}:testIamPermissions", +"httpMethod": "POST", +"id": "apigeeregistry.projects.locations.artifacts.testIamPermissions", +"parameterOrder": [ +"resource" +], +"parameters": { +"resource": { +"description": "REQUIRED: The resource for which the policy detail is being requested. See [Resource names](https://cloud.google.com/apis/design/resource_names) for the appropriate value for this field.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/artifacts/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+resource}:testIamPermissions", +"request": { +"$ref": "TestIamPermissionsRequest" +}, +"response": { +"$ref": "TestIamPermissionsResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +} +} +}, +"documents": { +"methods": { +"getIamPolicy": { +"description": "Gets the access control policy for a resource. Returns an empty policy if the resource exists and does not have a policy set.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/documents:getIamPolicy", +"httpMethod": "GET", +"id": "apigeeregistry.projects.locations.documents.getIamPolicy", +"parameterOrder": [ +"resource" +], +"parameters": { +"options.requestedPolicyVersion": { +"description": "Optional. The maximum policy version that will be used to format the policy. Valid values are 0, 1, and 3. Requests specifying an invalid value will be rejected. Requests for policies with any conditional role bindings must specify version 3. Policies with no conditional role bindings may specify any valid value or leave the field unset. The policy in the response might use the policy version that you specified, or it might use a lower policy version. For example, if you specify version 3, but the policy has no conditional role bindings, the response uses version 1. To learn which resources support conditions in their IAM policies, see the [IAM documentation](https://cloud.google.com/iam/help/conditions/resource-policies).", +"format": "int32", +"location": "query", +"type": "integer" +}, +"resource": { +"description": "REQUIRED: The resource for which the policy is being requested. See [Resource names](https://cloud.google.com/apis/design/resource_names) for the appropriate value for this field.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/documents$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+resource}:getIamPolicy", +"response": { +"$ref": "Policy" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"setIamPolicy": { +"description": "Sets the access control policy on the specified resource. Replaces any existing policy. Can return `NOT_FOUND`, `INVALID_ARGUMENT`, and `PERMISSION_DENIED` errors.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/documents:setIamPolicy", +"httpMethod": "POST", +"id": "apigeeregistry.projects.locations.documents.setIamPolicy", +"parameterOrder": [ +"resource" +], +"parameters": { +"resource": { +"description": "REQUIRED: The resource for which the policy is being specified. See [Resource names](https://cloud.google.com/apis/design/resource_names) for the appropriate value for this field.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/documents$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+resource}:setIamPolicy", +"request": { +"$ref": "SetIamPolicyRequest" +}, +"response": { +"$ref": "Policy" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"testIamPermissions": { +"description": "Returns permissions that a caller has on the specified resource. If the resource does not exist, this will return an empty set of permissions, not a `NOT_FOUND` error. Note: This operation is designed to be used for building permission-aware UIs and command-line tools, not for authorization checking. This operation may \"fail open\" without warning.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/documents:testIamPermissions", +"httpMethod": "POST", +"id": "apigeeregistry.projects.locations.documents.testIamPermissions", +"parameterOrder": [ +"resource" +], +"parameters": { +"resource": { +"description": "REQUIRED: The resource for which the policy detail is being requested. See [Resource names](https://cloud.google.com/apis/design/resource_names) for the appropriate value for this field.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/documents$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+resource}:testIamPermissions", +"request": { +"$ref": "TestIamPermissionsRequest" +}, +"response": { +"$ref": "TestIamPermissionsResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +} +} +}, +"instances": { +"methods": { +"create": { +"description": "Provisions instance resources for the Registry.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/instances", +"httpMethod": "POST", +"id": "apigeeregistry.projects.locations.instances.create", +"parameterOrder": [ +"parent" +], +"parameters": { +"instanceId": { +"description": "Required. Identifier to assign to the Instance. Must be unique within scope of the parent resource.", +"location": "query", +"type": "string" +}, +"parent": { +"description": "Required. Parent resource of the Instance, of the form: `projects/*/locations/*`", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+parent}/instances", +"request": { +"$ref": "Instance" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"delete": { +"description": "Deletes the Registry instance.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/instances/{instancesId}", +"httpMethod": "DELETE", +"id": "apigeeregistry.projects.locations.instances.delete", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. The name of the Instance to delete. Format: `projects/*/locations/*/instances/*`.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/instances/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+name}", +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"get": { +"description": "Gets details of a single Instance.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/instances/{instancesId}", +"httpMethod": "GET", +"id": "apigeeregistry.projects.locations.instances.get", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. The name of the Instance to retrieve. Format: `projects/*/locations/*/instances/*`.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/instances/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+name}", +"response": { +"$ref": "Instance" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"getIamPolicy": { +"description": "Gets the access control policy for a resource. Returns an empty policy if the resource exists and does not have a policy set.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/instances/{instancesId}:getIamPolicy", +"httpMethod": "GET", +"id": "apigeeregistry.projects.locations.instances.getIamPolicy", +"parameterOrder": [ +"resource" +], +"parameters": { +"options.requestedPolicyVersion": { +"description": "Optional. The maximum policy version that will be used to format the policy. Valid values are 0, 1, and 3. Requests specifying an invalid value will be rejected. Requests for policies with any conditional role bindings must specify version 3. Policies with no conditional role bindings may specify any valid value or leave the field unset. The policy in the response might use the policy version that you specified, or it might use a lower policy version. For example, if you specify version 3, but the policy has no conditional role bindings, the response uses version 1. To learn which resources support conditions in their IAM policies, see the [IAM documentation](https://cloud.google.com/iam/help/conditions/resource-policies).", +"format": "int32", +"location": "query", +"type": "integer" +}, +"resource": { +"description": "REQUIRED: The resource for which the policy is being requested. See [Resource names](https://cloud.google.com/apis/design/resource_names) for the appropriate value for this field.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/instances/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+resource}:getIamPolicy", +"response": { +"$ref": "Policy" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"setIamPolicy": { +"description": "Sets the access control policy on the specified resource. Replaces any existing policy. Can return `NOT_FOUND`, `INVALID_ARGUMENT`, and `PERMISSION_DENIED` errors.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/instances/{instancesId}:setIamPolicy", +"httpMethod": "POST", +"id": "apigeeregistry.projects.locations.instances.setIamPolicy", +"parameterOrder": [ +"resource" +], +"parameters": { +"resource": { +"description": "REQUIRED: The resource for which the policy is being specified. See [Resource names](https://cloud.google.com/apis/design/resource_names) for the appropriate value for this field.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/instances/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+resource}:setIamPolicy", +"request": { +"$ref": "SetIamPolicyRequest" +}, +"response": { +"$ref": "Policy" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"testIamPermissions": { +"description": "Returns permissions that a caller has on the specified resource. If the resource does not exist, this will return an empty set of permissions, not a `NOT_FOUND` error. Note: This operation is designed to be used for building permission-aware UIs and command-line tools, not for authorization checking. This operation may \"fail open\" without warning.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/instances/{instancesId}:testIamPermissions", +"httpMethod": "POST", +"id": "apigeeregistry.projects.locations.instances.testIamPermissions", +"parameterOrder": [ +"resource" +], +"parameters": { +"resource": { +"description": "REQUIRED: The resource for which the policy detail is being requested. See [Resource names](https://cloud.google.com/apis/design/resource_names) for the appropriate value for this field.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/instances/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+resource}:testIamPermissions", +"request": { +"$ref": "TestIamPermissionsRequest" +}, +"response": { +"$ref": "TestIamPermissionsResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +} +} +}, +"operations": { +"methods": { +"cancel": { +"description": "Starts asynchronous cancellation on a long-running operation. The server makes a best effort to cancel the operation, but success is not guaranteed. If the server doesn't support this method, it returns `google.rpc.Code.UNIMPLEMENTED`. Clients can use Operations.GetOperation or other methods to check whether the cancellation succeeded or whether the operation completed despite cancellation. On successful cancellation, the operation is not deleted; instead, it becomes an operation with an Operation.error value with a google.rpc.Status.code of 1, corresponding to `Code.CANCELLED`.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/operations/{operationsId}:cancel", +"httpMethod": "POST", +"id": "apigeeregistry.projects.locations.operations.cancel", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "The name of the operation resource to be cancelled.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/operations/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+name}:cancel", +"request": { +"$ref": "CancelOperationRequest" +}, +"response": { +"$ref": "Empty" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"delete": { +"description": "Deletes a long-running operation. This method indicates that the client is no longer interested in the operation result. It does not cancel the operation. If the server doesn't support this method, it returns `google.rpc.Code.UNIMPLEMENTED`.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/operations/{operationsId}", +"httpMethod": "DELETE", +"id": "apigeeregistry.projects.locations.operations.delete", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "The name of the operation resource to be deleted.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/operations/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+name}", +"response": { +"$ref": "Empty" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"get": { +"description": "Gets the latest state of a long-running operation. Clients can use this method to poll the operation result at intervals as recommended by the API service.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/operations/{operationsId}", +"httpMethod": "GET", +"id": "apigeeregistry.projects.locations.operations.get", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "The name of the operation resource.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/operations/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+name}", +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"list": { +"description": "Lists operations that match the specified filter in the request. If the server doesn't support this method, it returns `UNIMPLEMENTED`.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/operations", +"httpMethod": "GET", +"id": "apigeeregistry.projects.locations.operations.list", +"parameterOrder": [ +"name" +], +"parameters": { +"filter": { +"description": "The standard list filter.", +"location": "query", +"type": "string" +}, +"name": { +"description": "The name of the operation's parent resource.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+$", +"required": true, +"type": "string" +}, +"pageSize": { +"description": "The standard list page size.", +"format": "int32", +"location": "query", +"type": "integer" +}, +"pageToken": { +"description": "The standard list page token.", +"location": "query", +"type": "string" +} +}, +"path": "v1/{+name}/operations", +"response": { +"$ref": "ListOperationsResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +} +} +}, +"runtime": { +"methods": { +"getIamPolicy": { +"description": "Gets the access control policy for a resource. Returns an empty policy if the resource exists and does not have a policy set.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/runtime:getIamPolicy", +"httpMethod": "GET", +"id": "apigeeregistry.projects.locations.runtime.getIamPolicy", +"parameterOrder": [ +"resource" +], +"parameters": { +"options.requestedPolicyVersion": { +"description": "Optional. The maximum policy version that will be used to format the policy. Valid values are 0, 1, and 3. Requests specifying an invalid value will be rejected. Requests for policies with any conditional role bindings must specify version 3. Policies with no conditional role bindings may specify any valid value or leave the field unset. The policy in the response might use the policy version that you specified, or it might use a lower policy version. For example, if you specify version 3, but the policy has no conditional role bindings, the response uses version 1. To learn which resources support conditions in their IAM policies, see the [IAM documentation](https://cloud.google.com/iam/help/conditions/resource-policies).", +"format": "int32", +"location": "query", +"type": "integer" +}, +"resource": { +"description": "REQUIRED: The resource for which the policy is being requested. See [Resource names](https://cloud.google.com/apis/design/resource_names) for the appropriate value for this field.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/runtime$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+resource}:getIamPolicy", +"response": { +"$ref": "Policy" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"setIamPolicy": { +"description": "Sets the access control policy on the specified resource. Replaces any existing policy. Can return `NOT_FOUND`, `INVALID_ARGUMENT`, and `PERMISSION_DENIED` errors.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/runtime:setIamPolicy", +"httpMethod": "POST", +"id": "apigeeregistry.projects.locations.runtime.setIamPolicy", +"parameterOrder": [ +"resource" +], +"parameters": { +"resource": { +"description": "REQUIRED: The resource for which the policy is being specified. See [Resource names](https://cloud.google.com/apis/design/resource_names) for the appropriate value for this field.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/runtime$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+resource}:setIamPolicy", +"request": { +"$ref": "SetIamPolicyRequest" +}, +"response": { +"$ref": "Policy" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"testIamPermissions": { +"description": "Returns permissions that a caller has on the specified resource. If the resource does not exist, this will return an empty set of permissions, not a `NOT_FOUND` error. Note: This operation is designed to be used for building permission-aware UIs and command-line tools, not for authorization checking. This operation may \"fail open\" without warning.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/runtime:testIamPermissions", +"httpMethod": "POST", +"id": "apigeeregistry.projects.locations.runtime.testIamPermissions", +"parameterOrder": [ +"resource" +], +"parameters": { +"resource": { +"description": "REQUIRED: The resource for which the policy detail is being requested. See [Resource names](https://cloud.google.com/apis/design/resource_names) for the appropriate value for this field.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/runtime$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+resource}:testIamPermissions", +"request": { +"$ref": "TestIamPermissionsRequest" +}, +"response": { +"$ref": "TestIamPermissionsResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +} +} +} +} +} +} +} +}, +"revision": "20231204", +"rootUrl": "https://apigeeregistry.googleapis.com/", +"schemas": { +"Api": { +"description": "A top-level description of an API. Produced by producers and are commitments to provide services.", +"id": "Api", +"properties": { +"annotations": { +"additionalProperties": { +"type": "string" +}, +"description": "Annotations attach non-identifying metadata to resources. Annotation keys and values are less restricted than those of labels, but should be generally used for small values of broad interest. Larger, topic- specific metadata should be stored in Artifacts.", +"type": "object" +}, +"availability": { +"description": "A user-definable description of the availability of this service. Format: free-form, but we expect single words that describe availability, e.g., \"NONE\", \"TESTING\", \"PREVIEW\", \"GENERAL\", \"DEPRECATED\", \"SHUTDOWN\".", +"type": "string" +}, +"createTime": { +"description": "Output only. Creation timestamp.", +"format": "google-datetime", +"readOnly": true, +"type": "string" +}, +"description": { +"description": "A detailed description.", +"type": "string" +}, +"displayName": { +"description": "Human-meaningful name.", +"type": "string" +}, +"labels": { +"additionalProperties": { +"type": "string" +}, +"description": "Labels attach identifying metadata to resources. Identifying metadata can be used to filter list operations. Label keys and values can be no longer than 64 characters (Unicode codepoints), can only contain lowercase letters, numeric characters, underscores, and dashes. International characters are allowed. No more than 64 user labels can be associated with one resource (System labels are excluded). See https://goo.gl/xmQnxf for more information and examples of labels. System reserved label keys are prefixed with `apigeeregistry.googleapis.com/` and cannot be changed.", +"type": "object" +}, +"name": { +"description": "Resource name.", +"type": "string" +}, +"recommendedDeployment": { +"description": "The recommended deployment of the API. Format: `projects/{project}/locations/{location}/apis/{api}/deployments/{deployment}`", +"type": "string" +}, +"recommendedVersion": { +"description": "The recommended version of the API. Format: `projects/{project}/locations/{location}/apis/{api}/versions/{version}`", +"type": "string" +}, +"updateTime": { +"description": "Output only. Last update timestamp.", +"format": "google-datetime", +"readOnly": true, +"type": "string" +} +}, +"type": "object" +}, +"ApiDeployment": { +"description": "Describes a service running at particular address that provides a particular version of an API. ApiDeployments have revisions which correspond to different configurations of a single deployment in time. Revision identifiers should be updated whenever the served API spec or endpoint address changes.", +"id": "ApiDeployment", +"properties": { +"accessGuidance": { +"description": "Text briefly describing how to access the endpoint. Changes to this value will not affect the revision.", +"type": "string" +}, +"annotations": { +"additionalProperties": { +"type": "string" +}, +"description": "Annotations attach non-identifying metadata to resources. Annotation keys and values are less restricted than those of labels, but should be generally used for small values of broad interest. Larger, topic- specific metadata should be stored in Artifacts.", +"type": "object" +}, +"apiSpecRevision": { +"description": "The full resource name (including revision ID) of the spec of the API being served by the deployment. Changes to this value will update the revision. Format: `projects/{project}/locations/{location}/apis/{api}/versions/{version}/specs/{spec@revision}`", +"type": "string" +}, +"createTime": { +"description": "Output only. Creation timestamp; when the deployment resource was created.", +"format": "google-datetime", +"readOnly": true, +"type": "string" +}, +"description": { +"description": "A detailed description.", +"type": "string" +}, +"displayName": { +"description": "Human-meaningful name.", +"type": "string" +}, +"endpointUri": { +"description": "The address where the deployment is serving. Changes to this value will update the revision.", +"type": "string" +}, +"externalChannelUri": { +"description": "The address of the external channel of the API (e.g., the Developer Portal). Changes to this value will not affect the revision.", +"type": "string" +}, +"intendedAudience": { +"description": "Text briefly identifying the intended audience of the API. Changes to this value will not affect the revision.", +"type": "string" +}, +"labels": { +"additionalProperties": { +"type": "string" +}, +"description": "Labels attach identifying metadata to resources. Identifying metadata can be used to filter list operations. Label keys and values can be no longer than 64 characters (Unicode codepoints), can only contain lowercase letters, numeric characters, underscores and dashes. International characters are allowed. No more than 64 user labels can be associated with one resource (System labels are excluded). See https://goo.gl/xmQnxf for more information and examples of labels. System reserved label keys are prefixed with `apigeeregistry.googleapis.com/` and cannot be changed.", +"type": "object" +}, +"name": { +"description": "Resource name.", +"type": "string" +}, +"revisionCreateTime": { +"description": "Output only. Revision creation timestamp; when the represented revision was created.", +"format": "google-datetime", +"readOnly": true, +"type": "string" +}, +"revisionId": { +"description": "Output only. Immutable. The revision ID of the deployment. A new revision is committed whenever the deployment contents are changed. The format is an 8-character hexadecimal string.", +"readOnly": true, +"type": "string" +}, +"revisionUpdateTime": { +"description": "Output only. Last update timestamp: when the represented revision was last modified.", +"format": "google-datetime", +"readOnly": true, +"type": "string" +} +}, +"type": "object" +}, +"ApiSpec": { +"description": "Describes a version of an API in a structured way. ApiSpecs provide formal descriptions that consumers can use to use a version. ApiSpec resources are intended to be fully-resolved descriptions of an ApiVersion. When specs consist of multiple files, these should be bundled together (e.g., in a zip archive) and stored as a unit. Multiple specs can exist to provide representations in different API description formats. Synchronization of these representations would be provided by tooling and background services.", +"id": "ApiSpec", +"properties": { +"annotations": { +"additionalProperties": { +"type": "string" +}, +"description": "Annotations attach non-identifying metadata to resources. Annotation keys and values are less restricted than those of labels, but should be generally used for small values of broad interest. Larger, topic- specific metadata should be stored in Artifacts.", +"type": "object" +}, +"contents": { +"description": "Input only. The contents of the spec. Provided by API callers when specs are created or updated. To access the contents of a spec, use GetApiSpecContents.", +"format": "byte", +"type": "string" +}, +"createTime": { +"description": "Output only. Creation timestamp; when the spec resource was created.", +"format": "google-datetime", +"readOnly": true, +"type": "string" +}, +"description": { +"description": "A detailed description.", +"type": "string" +}, +"filename": { +"description": "A possibly-hierarchical name used to refer to the spec from other specs.", +"type": "string" +}, +"hash": { +"description": "Output only. A SHA-256 hash of the spec's contents. If the spec is gzipped, this is the hash of the uncompressed spec.", +"readOnly": true, +"type": "string" +}, +"labels": { +"additionalProperties": { +"type": "string" +}, +"description": "Labels attach identifying metadata to resources. Identifying metadata can be used to filter list operations. Label keys and values can be no longer than 64 characters (Unicode codepoints), can only contain lowercase letters, numeric characters, underscores and dashes. International characters are allowed. No more than 64 user labels can be associated with one resource (System labels are excluded). See https://goo.gl/xmQnxf for more information and examples of labels. System reserved label keys are prefixed with `apigeeregistry.googleapis.com/` and cannot be changed.", +"type": "object" +}, +"mimeType": { +"description": "A style (format) descriptor for this spec that is specified as a [Media Type](https://en.wikipedia.org/wiki/Media_type). Possible values include `application/vnd.apigee.proto`, `application/vnd.apigee.openapi`, and `application/vnd.apigee.graphql`, with possible suffixes representing compression types. These hypothetical names are defined in the vendor tree defined in RFC6838 (https://tools.ietf.org/html/rfc6838) and are not final. Content types can specify compression. Currently only GZip compression is supported (indicated with \"+gzip\").", +"type": "string" +}, +"name": { +"description": "Resource name.", +"type": "string" +}, +"revisionCreateTime": { +"description": "Output only. Revision creation timestamp; when the represented revision was created.", +"format": "google-datetime", +"readOnly": true, +"type": "string" +}, +"revisionId": { +"description": "Output only. Immutable. The revision ID of the spec. A new revision is committed whenever the spec contents are changed. The format is an 8-character hexadecimal string.", +"readOnly": true, +"type": "string" +}, +"revisionUpdateTime": { +"description": "Output only. Last update timestamp: when the represented revision was last modified.", +"format": "google-datetime", +"readOnly": true, +"type": "string" +}, +"sizeBytes": { +"description": "Output only. The size of the spec file in bytes. If the spec is gzipped, this is the size of the uncompressed spec.", +"format": "int32", +"readOnly": true, +"type": "integer" +}, +"sourceUri": { +"description": "The original source URI of the spec (if one exists). This is an external location that can be used for reference purposes but which may not be authoritative since this external resource may change after the spec is retrieved.", +"type": "string" +} +}, +"type": "object" +}, +"ApiVersion": { +"description": "Describes a particular version of an API. ApiVersions are what consumers actually use.", +"id": "ApiVersion", +"properties": { +"annotations": { +"additionalProperties": { +"type": "string" +}, +"description": "Annotations attach non-identifying metadata to resources. Annotation keys and values are less restricted than those of labels, but should be generally used for small values of broad interest. Larger, topic- specific metadata should be stored in Artifacts.", +"type": "object" +}, +"createTime": { +"description": "Output only. Creation timestamp.", +"format": "google-datetime", +"readOnly": true, +"type": "string" +}, +"description": { +"description": "A detailed description.", +"type": "string" +}, +"displayName": { +"description": "Human-meaningful name.", +"type": "string" +}, +"labels": { +"additionalProperties": { +"type": "string" +}, +"description": "Labels attach identifying metadata to resources. Identifying metadata can be used to filter list operations. Label keys and values can be no longer than 64 characters (Unicode codepoints), can only contain lowercase letters, numeric characters, underscores and dashes. International characters are allowed. No more than 64 user labels can be associated with one resource (System labels are excluded). See https://goo.gl/xmQnxf for more information and examples of labels. System reserved label keys are prefixed with `apigeeregistry.googleapis.com/` and cannot be changed.", +"type": "object" +}, +"name": { +"description": "Resource name.", +"type": "string" +}, +"primarySpec": { +"description": "The primary spec for this version. Format: projects/{project}/locations/{location}/apis/{api}/versions/{version}/specs/{spec}", +"type": "string" +}, +"state": { +"description": "A user-definable description of the lifecycle phase of this API version. Format: free-form, but we expect single words that describe API maturity, e.g., \"CONCEPT\", \"DESIGN\", \"DEVELOPMENT\", \"STAGING\", \"PRODUCTION\", \"DEPRECATED\", \"RETIRED\".", +"type": "string" +}, +"updateTime": { +"description": "Output only. Last update timestamp.", +"format": "google-datetime", +"readOnly": true, +"type": "string" +} +}, +"type": "object" +}, +"Artifact": { +"description": "Artifacts of resources. Artifacts are unique (single-value) per resource and are used to store metadata that is too large or numerous to be stored directly on the resource. Since artifacts are stored separately from parent resources, they should generally be used for metadata that is needed infrequently, i.e., not for display in primary views of the resource but perhaps displayed or downloaded upon request. The `ListArtifacts` method allows artifacts to be quickly enumerated and checked for presence without downloading their (potentially-large) contents.", +"id": "Artifact", +"properties": { +"annotations": { +"additionalProperties": { +"type": "string" +}, +"description": "Annotations attach non-identifying metadata to resources. Annotation keys and values are less restricted than those of labels, but should be generally used for small values of broad interest. Larger, topic- specific metadata should be stored in Artifacts.", +"type": "object" +}, +"contents": { +"description": "Input only. The contents of the artifact. Provided by API callers when artifacts are created or replaced. To access the contents of an artifact, use GetArtifactContents.", +"format": "byte", +"type": "string" +}, +"createTime": { +"description": "Output only. Creation timestamp.", +"format": "google-datetime", +"readOnly": true, +"type": "string" +}, +"hash": { +"description": "Output only. A SHA-256 hash of the artifact's contents. If the artifact is gzipped, this is the hash of the uncompressed artifact.", +"readOnly": true, +"type": "string" +}, +"labels": { +"additionalProperties": { +"type": "string" +}, +"description": "Labels attach identifying metadata to resources. Identifying metadata can be used to filter list operations. Label keys and values can be no longer than 64 characters (Unicode codepoints), can only contain lowercase letters, numeric characters, underscores and dashes. International characters are allowed. No more than 64 user labels can be associated with one resource (System labels are excluded). See https://goo.gl/xmQnxf for more information and examples of labels. System reserved label keys are prefixed with \"registry.googleapis.com/\" and cannot be changed.", +"type": "object" +}, +"mimeType": { +"description": "A content type specifier for the artifact. Content type specifiers are Media Types (https://en.wikipedia.org/wiki/Media_type) with a possible \"schema\" parameter that specifies a schema for the stored information. Content types can specify compression. Currently only GZip compression is supported (indicated with \"+gzip\").", +"type": "string" +}, +"name": { +"description": "Resource name.", +"type": "string" +}, +"sizeBytes": { +"description": "Output only. The size of the artifact in bytes. If the artifact is gzipped, this is the size of the uncompressed artifact.", +"format": "int32", +"readOnly": true, +"type": "integer" +}, +"updateTime": { +"description": "Output only. Last update timestamp.", +"format": "google-datetime", +"readOnly": true, +"type": "string" +} +}, +"type": "object" +}, +"Binding": { +"description": "Associates `members`, or principals, with a `role`.", +"id": "Binding", +"properties": { +"condition": { +"$ref": "Expr", +"description": "The condition that is associated with this binding. If the condition evaluates to `true`, then this binding applies to the current request. If the condition evaluates to `false`, then this binding does not apply to the current request. However, a different role binding might grant the same role to one or more of the principals in this binding. To learn which resources support conditions in their IAM policies, see the [IAM documentation](https://cloud.google.com/iam/help/conditions/resource-policies)." +}, +"members": { +"description": "Specifies the principals requesting access for a Google Cloud resource. `members` can have the following values: * `allUsers`: A special identifier that represents anyone who is on the internet; with or without a Google account. * `allAuthenticatedUsers`: A special identifier that represents anyone who is authenticated with a Google account or a service account. Does not include identities that come from external identity providers (IdPs) through identity federation. * `user:{emailid}`: An email address that represents a specific Google account. For example, `alice@example.com` . * `serviceAccount:{emailid}`: An email address that represents a Google service account. For example, `my-other-app@appspot.gserviceaccount.com`. * `serviceAccount:{projectid}.svc.id.goog[{namespace}/{kubernetes-sa}]`: An identifier for a [Kubernetes service account](https://cloud.google.com/kubernetes-engine/docs/how-to/kubernetes-service-accounts). For example, `my-project.svc.id.goog[my-namespace/my-kubernetes-sa]`. * `group:{emailid}`: An email address that represents a Google group. For example, `admins@example.com`. * `domain:{domain}`: The G Suite domain (primary) that represents all the users of that domain. For example, `google.com` or `example.com`. * `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.", +"items": { +"type": "string" +}, +"type": "array" +}, +"role": { +"description": "Role that is assigned to the list of `members`, or principals. For example, `roles/viewer`, `roles/editor`, or `roles/owner`.", +"type": "string" +} +}, +"type": "object" +}, +"Build": { +"description": "Build information of the Instance if it's in `ACTIVE` state.", +"id": "Build", +"properties": { +"commitId": { +"description": "Output only. Commit ID of the latest commit in the build.", +"readOnly": true, +"type": "string" +}, +"commitTime": { +"description": "Output only. Commit time of the latest commit in the build.", +"format": "google-datetime", +"readOnly": true, +"type": "string" +}, +"repo": { +"description": "Output only. Path of the open source repository: github.com/apigee/registry.", +"readOnly": true, +"type": "string" +} +}, +"type": "object" +}, +"CancelOperationRequest": { +"description": "The request message for Operations.CancelOperation.", +"id": "CancelOperationRequest", +"properties": {}, +"type": "object" +}, +"Config": { +"description": "Available configurations to provision an Instance.", +"id": "Config", +"properties": { +"cmekKeyName": { +"description": "Required. The Customer Managed Encryption Key (CMEK) used for data encryption. The CMEK name should follow the format of `projects/([^/]+)/locations/([^/]+)/keyRings/([^/]+)/cryptoKeys/([^/]+)`, where the `location` must match InstanceConfig.location.", +"type": "string" +}, +"location": { +"description": "Output only. The GCP location where the Instance resides.", +"readOnly": true, +"type": "string" +} +}, +"type": "object" +}, +"Empty": { +"description": "A generic empty message that you can re-use to avoid defining duplicated empty messages in your APIs. A typical example is to use it as the request or the response type of an API method. For instance: service Foo { rpc Bar(google.protobuf.Empty) returns (google.protobuf.Empty); }", +"id": "Empty", +"properties": {}, +"type": "object" +}, +"Expr": { +"description": "Represents a textual expression in the Common Expression Language (CEL) syntax. CEL is a C-like expression language. The syntax and semantics of CEL are documented at https://github.com/google/cel-spec. Example (Comparison): title: \"Summary size limit\" description: \"Determines if a summary is less than 100 chars\" expression: \"document.summary.size() < 100\" Example (Equality): title: \"Requestor is owner\" description: \"Determines if requestor is the document owner\" expression: \"document.owner == request.auth.claims.email\" Example (Logic): title: \"Public documents\" description: \"Determine whether the document should be publicly visible\" expression: \"document.type != 'private' && document.type != 'internal'\" Example (Data Manipulation): title: \"Notification string\" description: \"Create a notification string with a timestamp.\" expression: \"'New message received at ' + string(document.create_time)\" The exact variables and functions that may be referenced within an expression are determined by the service that evaluates it. See the service documentation for additional information.", +"id": "Expr", +"properties": { +"description": { +"description": "Optional. Description of the expression. This is a longer text which describes the expression, e.g. when hovered over it in a UI.", +"type": "string" +}, +"expression": { +"description": "Textual representation of an expression in Common Expression Language syntax.", +"type": "string" +}, +"location": { +"description": "Optional. String indicating the location of the expression for error reporting, e.g. a file name and a position in the file.", +"type": "string" +}, +"title": { +"description": "Optional. Title for the expression, i.e. a short string describing its purpose. This can be used e.g. in UIs which allow to enter the expression.", +"type": "string" +} +}, +"type": "object" +}, +"HttpBody": { +"description": "Message that represents an arbitrary HTTP body. It should only be used for payload formats that can't be represented as JSON, such as raw binary or an HTML page. This message can be used both in streaming and non-streaming API methods in the request as well as the response. It can be used as a top-level request field, which is convenient if one wants to extract parameters from either the URL or HTTP template into the request fields and also want access to the raw HTTP body. Example: message GetResourceRequest { // A unique request id. string request_id = 1; // The raw HTTP body is bound to this field. google.api.HttpBody http_body = 2; } service ResourceService { rpc GetResource(GetResourceRequest) returns (google.api.HttpBody); rpc UpdateResource(google.api.HttpBody) returns (google.protobuf.Empty); } Example with streaming methods: service CaldavService { rpc GetCalendar(stream google.api.HttpBody) returns (stream google.api.HttpBody); rpc UpdateCalendar(stream google.api.HttpBody) returns (stream google.api.HttpBody); } Use of this type only changes how the request and response bodies are handled, all other features will continue to work unchanged.", +"id": "HttpBody", +"properties": { +"contentType": { +"description": "The HTTP Content-Type header value specifying the content type of the body.", +"type": "string" +}, +"data": { +"description": "The HTTP request/response body as raw binary.", +"format": "byte", +"type": "string" +}, +"extensions": { +"description": "Application specific response metadata. Must be set in the first response for streaming APIs.", +"items": { +"additionalProperties": { +"description": "Properties of the object. Contains field @type with type URL.", +"type": "any" +}, +"type": "object" +}, +"type": "array" +} +}, +"type": "object" +}, +"Instance": { +"description": "An Instance represents the instance resources of the Registry. Currently, only one instance is allowed for each project.", +"id": "Instance", +"properties": { +"build": { +"$ref": "Build", +"description": "Output only. Build info of the Instance if it's in `ACTIVE` state.", +"readOnly": true +}, +"config": { +"$ref": "Config", +"description": "Required. Config of the Instance." +}, +"createTime": { +"description": "Output only. Creation timestamp.", +"format": "google-datetime", +"readOnly": true, +"type": "string" +}, +"name": { +"description": "Format: `projects/*/locations/*/instance`. Currently only `locations/global` is supported.", +"type": "string" +}, +"state": { +"description": "Output only. The current state of the Instance.", +"enum": [ +"STATE_UNSPECIFIED", +"INACTIVE", +"CREATING", +"ACTIVE", +"UPDATING", +"DELETING", +"FAILED" +], +"enumDescriptions": [ +"The default value. This value is used if the state is omitted.", +"The Instance has not been initialized or has been deleted.", +"The Instance is being created.", +"The Instance has been created and is ready for use.", +"The Instance is being updated.", +"The Instance is being deleted.", +"The Instance encountered an error during a state change." +], +"readOnly": true, +"type": "string" +}, +"stateMessage": { +"description": "Output only. Extra information of Instance.State if the state is `FAILED`.", +"readOnly": true, +"type": "string" +}, +"updateTime": { +"description": "Output only. Last update timestamp.", +"format": "google-datetime", +"readOnly": true, +"type": "string" +} +}, +"type": "object" +}, +"ListApiDeploymentRevisionsResponse": { +"description": "Response message for ListApiDeploymentRevisionsResponse.", +"id": "ListApiDeploymentRevisionsResponse", +"properties": { +"apiDeployments": { +"description": "The revisions of the deployment.", +"items": { +"$ref": "ApiDeployment" +}, +"type": "array" +}, +"nextPageToken": { +"description": "A token that can be sent as `page_token` to retrieve the next page. If this field is omitted, there are no subsequent pages.", +"type": "string" +} +}, +"type": "object" +}, +"ListApiDeploymentsResponse": { +"description": "Response message for ListApiDeployments.", +"id": "ListApiDeploymentsResponse", +"properties": { +"apiDeployments": { +"description": "The deployments from the specified publisher.", +"items": { +"$ref": "ApiDeployment" +}, +"type": "array" +}, +"nextPageToken": { +"description": "A token, which can be sent as `page_token` to retrieve the next page. If this field is omitted, there are no subsequent pages.", +"type": "string" +} +}, +"type": "object" +}, +"ListApiSpecRevisionsResponse": { +"description": "Response message for ListApiSpecRevisionsResponse.", +"id": "ListApiSpecRevisionsResponse", +"properties": { +"apiSpecs": { +"description": "The revisions of the spec.", +"items": { +"$ref": "ApiSpec" +}, +"type": "array" +}, +"nextPageToken": { +"description": "A token that can be sent as `page_token` to retrieve the next page. If this field is omitted, there are no subsequent pages.", +"type": "string" +} +}, +"type": "object" +}, +"ListApiSpecsResponse": { +"description": "Response message for ListApiSpecs.", +"id": "ListApiSpecsResponse", +"properties": { +"apiSpecs": { +"description": "The specs from the specified publisher.", +"items": { +"$ref": "ApiSpec" +}, +"type": "array" +}, +"nextPageToken": { +"description": "A token, which can be sent as `page_token` to retrieve the next page. If this field is omitted, there are no subsequent pages.", +"type": "string" +} +}, +"type": "object" +}, +"ListApiVersionsResponse": { +"description": "Response message for ListApiVersions.", +"id": "ListApiVersionsResponse", +"properties": { +"apiVersions": { +"description": "The versions from the specified publisher.", +"items": { +"$ref": "ApiVersion" +}, +"type": "array" +}, +"nextPageToken": { +"description": "A token, which can be sent as `page_token` to retrieve the next page. If this field is omitted, there are no subsequent pages.", +"type": "string" +} +}, +"type": "object" +}, +"ListApisResponse": { +"description": "Response message for ListApis.", +"id": "ListApisResponse", +"properties": { +"apis": { +"description": "The APIs from the specified publisher.", +"items": { +"$ref": "Api" +}, +"type": "array" +}, +"nextPageToken": { +"description": "A token, which can be sent as `page_token` to retrieve the next page. If this field is omitted, there are no subsequent pages.", +"type": "string" +} +}, +"type": "object" +}, +"ListArtifactsResponse": { +"description": "Response message for ListArtifacts.", +"id": "ListArtifactsResponse", +"properties": { +"artifacts": { +"description": "The artifacts from the specified publisher.", +"items": { +"$ref": "Artifact" +}, +"type": "array" +}, +"nextPageToken": { +"description": "A token, which can be sent as `page_token` to retrieve the next page. If this field is omitted, there are no subsequent pages.", +"type": "string" +} +}, +"type": "object" +}, +"ListLocationsResponse": { +"description": "The response message for Locations.ListLocations.", +"id": "ListLocationsResponse", +"properties": { +"locations": { +"description": "A list of locations that matches the specified filter in the request.", +"items": { +"$ref": "Location" +}, +"type": "array" +}, +"nextPageToken": { +"description": "The standard List next-page token.", +"type": "string" +} +}, +"type": "object" +}, +"ListOperationsResponse": { +"description": "The response message for Operations.ListOperations.", +"id": "ListOperationsResponse", +"properties": { +"nextPageToken": { +"description": "The standard List next-page token.", +"type": "string" +}, +"operations": { +"description": "A list of operations that matches the specified filter in the request.", +"items": { +"$ref": "Operation" +}, +"type": "array" +} +}, +"type": "object" +}, +"Location": { +"description": "A resource that represents a Google Cloud location.", +"id": "Location", +"properties": { +"displayName": { +"description": "The friendly name for this location, typically a nearby city name. For example, \"Tokyo\".", +"type": "string" +}, +"labels": { +"additionalProperties": { +"type": "string" +}, +"description": "Cross-service attributes for the location. For example {\"cloud.googleapis.com/region\": \"us-east1\"}", +"type": "object" +}, +"locationId": { +"description": "The canonical id for this location. For example: `\"us-east1\"`.", +"type": "string" +}, +"metadata": { +"additionalProperties": { +"description": "Properties of the object. Contains field @type with type URL.", +"type": "any" +}, +"description": "Service-specific metadata. For example the available capacity at the given location.", +"type": "object" +}, +"name": { +"description": "Resource name for the location, which may vary between implementations. For example: `\"projects/example-project/locations/us-east1\"`", +"type": "string" +} +}, +"type": "object" +}, +"Operation": { +"description": "This resource represents a long-running operation that is the result of a network API call.", +"id": "Operation", +"properties": { +"done": { +"description": "If the value is `false`, it means the operation is still in progress. If `true`, the operation is completed, and either `error` or `response` is available.", +"type": "boolean" +}, +"error": { +"$ref": "Status", +"description": "The error result of the operation in case of failure or cancellation." +}, +"metadata": { +"additionalProperties": { +"description": "Properties of the object. Contains field @type with type URL.", +"type": "any" +}, +"description": "Service-specific metadata associated with the operation. It typically contains progress information and common metadata such as create time. Some services might not provide such metadata. Any method that returns a long-running operation should document the metadata type, if any.", +"type": "object" +}, +"name": { +"description": "The server-assigned name, which is only unique within the same service that originally returns it. If you use the default HTTP mapping, the `name` should be a resource name ending with `operations/{unique_id}`.", +"type": "string" +}, +"response": { +"additionalProperties": { +"description": "Properties of the object. Contains field @type with type URL.", +"type": "any" +}, +"description": "The normal, successful response of the operation. If the original method returns no data on success, such as `Delete`, the response is `google.protobuf.Empty`. If the original method is standard `Get`/`Create`/`Update`, the response should be the resource. For other methods, the response should have the type `XxxResponse`, where `Xxx` is the original method name. For example, if the original method name is `TakeSnapshot()`, the inferred response type is `TakeSnapshotResponse`.", +"type": "object" +} +}, +"type": "object" +}, +"OperationMetadata": { +"description": "Represents the metadata of the long-running operation.", +"id": "OperationMetadata", +"properties": { +"apiVersion": { +"description": "API version used to start the operation.", +"type": "string" +}, +"cancellationRequested": { +"description": "Identifies whether the user has requested cancellation of the operation. Operations that have successfully been cancelled have Operation.error value with a google.rpc.Status.code of 1, corresponding to `Code.CANCELLED`.", +"type": "boolean" +}, +"createTime": { +"description": "The time the operation was created.", +"format": "google-datetime", +"type": "string" +}, +"endTime": { +"description": "The time the operation finished running.", +"format": "google-datetime", +"type": "string" +}, +"statusMessage": { +"description": "Human-readable status of the operation, if any.", +"type": "string" +}, +"target": { +"description": "Server-defined resource path for the target of the operation.", +"type": "string" +}, +"verb": { +"description": "Name of the verb executed by the operation.", +"type": "string" +} +}, +"type": "object" +}, +"Policy": { +"description": "An Identity and Access Management (IAM) policy, which specifies access controls for Google Cloud resources. A `Policy` is a collection of `bindings`. A `binding` binds one or more `members`, or principals, to a single `role`. Principals can be user accounts, service accounts, Google groups, and domains (such as G Suite). A `role` is a named list of permissions; each `role` can be an IAM predefined role or a user-created custom role. For some types of Google Cloud resources, a `binding` can also specify a `condition`, which is a logical expression that allows access to a resource only if the expression evaluates to `true`. A condition can add constraints based on attributes of the request, the resource, or both. To learn which resources support conditions in their IAM policies, see the [IAM documentation](https://cloud.google.com/iam/help/conditions/resource-policies). **JSON example:** ``` { \"bindings\": [ { \"role\": \"roles/resourcemanager.organizationAdmin\", \"members\": [ \"user:mike@example.com\", \"group:admins@example.com\", \"domain:google.com\", \"serviceAccount:my-project-id@appspot.gserviceaccount.com\" ] }, { \"role\": \"roles/resourcemanager.organizationViewer\", \"members\": [ \"user:eve@example.com\" ], \"condition\": { \"title\": \"expirable access\", \"description\": \"Does not grant access after Sep 2020\", \"expression\": \"request.time < timestamp('2020-10-01T00:00:00.000Z')\", } } ], \"etag\": \"BwWWja0YfJA=\", \"version\": 3 } ``` **YAML example:** ``` bindings: - members: - user:mike@example.com - group:admins@example.com - domain:google.com - serviceAccount:my-project-id@appspot.gserviceaccount.com role: roles/resourcemanager.organizationAdmin - members: - user:eve@example.com role: roles/resourcemanager.organizationViewer condition: title: expirable access description: Does not grant access after Sep 2020 expression: request.time < timestamp('2020-10-01T00:00:00.000Z') etag: BwWWja0YfJA= version: 3 ``` For a description of IAM and its features, see the [IAM documentation](https://cloud.google.com/iam/docs/).", +"id": "Policy", +"properties": { +"bindings": { +"description": "Associates a list of `members`, or principals, with a `role`. Optionally, may specify a `condition` that determines how and when the `bindings` are applied. Each of the `bindings` must contain at least one principal. The `bindings` in a `Policy` can refer to up to 1,500 principals; up to 250 of these principals can be Google groups. Each occurrence of a principal counts towards these limits. For example, if the `bindings` grant 50 different roles to `user:alice@example.com`, and not to any other principal, then you can add another 1,450 principals to the `bindings` in the `Policy`.", +"items": { +"$ref": "Binding" +}, +"type": "array" +}, +"etag": { +"description": "`etag` is used for optimistic concurrency control as a way to help prevent simultaneous updates of a policy from overwriting each other. It is strongly suggested that systems make use of the `etag` in the read-modify-write cycle to perform policy updates in order to avoid race conditions: An `etag` is returned in the response to `getIamPolicy`, and systems are expected to put that etag in the request to `setIamPolicy` to ensure that their change will be applied to the same version of the policy. **Important:** If you use IAM Conditions, you must include the `etag` field whenever you call `setIamPolicy`. If you omit this field, then IAM allows you to overwrite a version `3` policy with a version `1` policy, and all of the conditions in the version `3` policy are lost.", +"format": "byte", +"type": "string" +}, +"version": { +"description": "Specifies the format of the policy. Valid values are `0`, `1`, and `3`. Requests that specify an invalid value are rejected. Any operation that affects conditional role bindings must specify version `3`. This requirement applies to the following operations: * Getting a policy that includes a conditional role binding * Adding a conditional role binding to a policy * Changing a conditional role binding in a policy * Removing any role binding, with or without a condition, from a policy that includes conditions **Important:** If you use IAM Conditions, you must include the `etag` field whenever you call `setIamPolicy`. If you omit this field, then IAM allows you to overwrite a version `3` policy with a version `1` policy, and all of the conditions in the version `3` policy are lost. If a policy does not include any conditions, operations on that policy may specify any valid version or leave the field unset. To learn which resources support conditions in their IAM policies, see the [IAM documentation](https://cloud.google.com/iam/help/conditions/resource-policies).", +"format": "int32", +"type": "integer" +} +}, +"type": "object" +}, +"RollbackApiDeploymentRequest": { +"description": "Request message for RollbackApiDeployment.", +"id": "RollbackApiDeploymentRequest", +"properties": { +"revisionId": { +"description": "Required. The revision ID to roll back to. It must be a revision of the same deployment. Example: `c7cfa2a8`", +"type": "string" +} +}, +"type": "object" +}, +"RollbackApiSpecRequest": { +"description": "Request message for RollbackApiSpec.", +"id": "RollbackApiSpecRequest", +"properties": { +"revisionId": { +"description": "Required. The revision ID to roll back to. It must be a revision of the same spec. Example: `c7cfa2a8`", +"type": "string" +} +}, +"type": "object" +}, +"SetIamPolicyRequest": { +"description": "Request message for `SetIamPolicy` method.", +"id": "SetIamPolicyRequest", +"properties": { +"policy": { +"$ref": "Policy", +"description": "REQUIRED: The complete policy to be applied to the `resource`. The size of the policy is limited to a few 10s of KB. An empty policy is a valid policy but certain Google Cloud services (such as Projects) might reject them." +} +}, +"type": "object" +}, +"Status": { +"description": "The `Status` type defines a logical error model that is suitable for different programming environments, including REST APIs and RPC APIs. It is used by [gRPC](https://github.com/grpc). Each `Status` message contains three pieces of data: error code, error message, and error details. You can find out more about this error model and how to work with it in the [API Design Guide](https://cloud.google.com/apis/design/errors).", +"id": "Status", +"properties": { +"code": { +"description": "The status code, which should be an enum value of google.rpc.Code.", +"format": "int32", +"type": "integer" +}, +"details": { +"description": "A list of messages that carry the error details. There is a common set of message types for APIs to use.", +"items": { +"additionalProperties": { +"description": "Properties of the object. Contains field @type with type URL.", +"type": "any" +}, +"type": "object" +}, +"type": "array" +}, +"message": { +"description": "A developer-facing error message, which should be in English. Any user-facing error message should be localized and sent in the google.rpc.Status.details field, or localized by the client.", +"type": "string" +} +}, +"type": "object" +}, +"TagApiDeploymentRevisionRequest": { +"description": "Request message for TagApiDeploymentRevision.", +"id": "TagApiDeploymentRevisionRequest", +"properties": { +"tag": { +"description": "Required. The tag to apply. The tag should be at most 40 characters, and match `a-z{3,39}`.", +"type": "string" +} +}, +"type": "object" +}, +"TagApiSpecRevisionRequest": { +"description": "Request message for TagApiSpecRevision.", +"id": "TagApiSpecRevisionRequest", +"properties": { +"tag": { +"description": "Required. The tag to apply. The tag should be at most 40 characters, and match `a-z{3,39}`.", +"type": "string" +} +}, +"type": "object" +}, +"TestIamPermissionsRequest": { +"description": "Request message for `TestIamPermissions` method.", +"id": "TestIamPermissionsRequest", +"properties": { +"permissions": { +"description": "The set of permissions to check for the `resource`. Permissions with wildcards (such as `*` or `storage.*`) are not allowed. For more information see [IAM Overview](https://cloud.google.com/iam/docs/overview#permissions).", +"items": { +"type": "string" +}, +"type": "array" +} +}, +"type": "object" +}, +"TestIamPermissionsResponse": { +"description": "Response message for `TestIamPermissions` method.", +"id": "TestIamPermissionsResponse", +"properties": { +"permissions": { +"description": "A subset of `TestPermissionsRequest.permissions` that the caller is allowed.", +"items": { +"type": "string" +}, +"type": "array" +} +}, +"type": "object" +} +}, +"servicePath": "", +"title": "Apigee Registry API", +"version": "v1", +"version_module": true +} \ No newline at end of file diff --git a/.venv/lib/python3.11/site-packages/googleapiclient/discovery_cache/documents/appengine.v1alpha.json b/.venv/lib/python3.11/site-packages/googleapiclient/discovery_cache/documents/appengine.v1alpha.json new file mode 100644 index 0000000000000000000000000000000000000000..3be061ce496c58f28971c9e1682be372f652ecca --- /dev/null +++ b/.venv/lib/python3.11/site-packages/googleapiclient/discovery_cache/documents/appengine.v1alpha.json @@ -0,0 +1,1799 @@ +{ +"auth": { +"oauth2": { +"scopes": { +"https://www.googleapis.com/auth/appengine.admin": { +"description": "View and manage your applications deployed on Google App Engine" +}, +"https://www.googleapis.com/auth/cloud-platform": { +"description": "See, edit, configure, and delete your Google Cloud data and see the email address for your Google Account." +}, +"https://www.googleapis.com/auth/cloud-platform.read-only": { +"description": "View your data across Google Cloud services and see the email address of your Google Account" +} +} +} +}, +"basePath": "", +"baseUrl": "https://appengine.googleapis.com/", +"batchPath": "batch", +"description": "Provisions and manages developers' App Engine applications.", +"discoveryVersion": "v1", +"documentationLink": "https://cloud.google.com/appengine/docs/admin-api/", +"fullyEncodeReservedExpansion": true, +"icons": { +"x16": "http://www.google.com/images/icons/product/search-16.gif", +"x32": "http://www.google.com/images/icons/product/search-32.gif" +}, +"id": "appengine:v1alpha", +"kind": "discovery#restDescription", +"mtlsRootUrl": "https://appengine.mtls.googleapis.com/", +"name": "appengine", +"ownerDomain": "google.com", +"ownerName": "Google", +"parameters": { +"$.xgafv": { +"description": "V1 error format.", +"enum": [ +"1", +"2" +], +"enumDescriptions": [ +"v1 error format", +"v2 error format" +], +"location": "query", +"type": "string" +}, +"access_token": { +"description": "OAuth access token.", +"location": "query", +"type": "string" +}, +"alt": { +"default": "json", +"description": "Data format for response.", +"enum": [ +"json", +"media", +"proto" +], +"enumDescriptions": [ +"Responses with Content-Type of application/json", +"Media download with context-dependent Content-Type", +"Responses with Content-Type of application/x-protobuf" +], +"location": "query", +"type": "string" +}, +"callback": { +"description": "JSONP", +"location": "query", +"type": "string" +}, +"fields": { +"description": "Selector specifying which fields to include in a partial response.", +"location": "query", +"type": "string" +}, +"key": { +"description": "API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token.", +"location": "query", +"type": "string" +}, +"oauth_token": { +"description": "OAuth 2.0 token for the current user.", +"location": "query", +"type": "string" +}, +"prettyPrint": { +"default": "true", +"description": "Returns response with indentations and line breaks.", +"location": "query", +"type": "boolean" +}, +"quotaUser": { +"description": "Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters.", +"location": "query", +"type": "string" +}, +"uploadType": { +"description": "Legacy upload protocol for media (e.g. \"media\", \"multipart\").", +"location": "query", +"type": "string" +}, +"upload_protocol": { +"description": "Upload protocol for media (e.g. \"raw\", \"multipart\").", +"location": "query", +"type": "string" +} +}, +"protocol": "rest", +"resources": { +"apps": { +"resources": { +"authorizedCertificates": { +"methods": { +"create": { +"description": "Uploads the specified SSL certificate.", +"flatPath": "v1alpha/apps/{appsId}/authorizedCertificates", +"httpMethod": "POST", +"id": "appengine.apps.authorizedCertificates.create", +"parameterOrder": [ +"appsId" +], +"parameters": { +"appsId": { +"description": "Part of `parent`. Name of the parent Application resource. Example: apps/myapp.", +"location": "path", +"required": true, +"type": "string" +} +}, +"path": "v1alpha/apps/{appsId}/authorizedCertificates", +"request": { +"$ref": "AuthorizedCertificate" +}, +"response": { +"$ref": "AuthorizedCertificate" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"delete": { +"description": "Deletes the specified SSL certificate.", +"flatPath": "v1alpha/apps/{appsId}/authorizedCertificates/{authorizedCertificatesId}", +"httpMethod": "DELETE", +"id": "appengine.apps.authorizedCertificates.delete", +"parameterOrder": [ +"appsId", +"authorizedCertificatesId" +], +"parameters": { +"appsId": { +"description": "Part of `name`. Name of the resource to delete. Example: apps/myapp/authorizedCertificates/12345.", +"location": "path", +"required": true, +"type": "string" +}, +"authorizedCertificatesId": { +"description": "Part of `name`. See documentation of `appsId`.", +"location": "path", +"required": true, +"type": "string" +} +}, +"path": "v1alpha/apps/{appsId}/authorizedCertificates/{authorizedCertificatesId}", +"response": { +"$ref": "Empty" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"get": { +"description": "Gets the specified SSL certificate.", +"flatPath": "v1alpha/apps/{appsId}/authorizedCertificates/{authorizedCertificatesId}", +"httpMethod": "GET", +"id": "appengine.apps.authorizedCertificates.get", +"parameterOrder": [ +"appsId", +"authorizedCertificatesId" +], +"parameters": { +"appsId": { +"description": "Part of `name`. Name of the resource requested. Example: apps/myapp/authorizedCertificates/12345.", +"location": "path", +"required": true, +"type": "string" +}, +"authorizedCertificatesId": { +"description": "Part of `name`. See documentation of `appsId`.", +"location": "path", +"required": true, +"type": "string" +}, +"view": { +"description": "Controls the set of fields returned in the GET response.", +"enum": [ +"BASIC_CERTIFICATE", +"FULL_CERTIFICATE" +], +"enumDescriptions": [ +"Basic certificate information, including applicable domains and expiration date.", +"The information from BASIC_CERTIFICATE, plus detailed information on the domain mappings that have this certificate mapped." +], +"location": "query", +"type": "string" +} +}, +"path": "v1alpha/apps/{appsId}/authorizedCertificates/{authorizedCertificatesId}", +"response": { +"$ref": "AuthorizedCertificate" +}, +"scopes": [ +"https://www.googleapis.com/auth/appengine.admin", +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/cloud-platform.read-only" +] +}, +"list": { +"description": "Lists all SSL certificates the user is authorized to administer.", +"flatPath": "v1alpha/apps/{appsId}/authorizedCertificates", +"httpMethod": "GET", +"id": "appengine.apps.authorizedCertificates.list", +"parameterOrder": [ +"appsId" +], +"parameters": { +"appsId": { +"description": "Part of `parent`. Name of the parent Application resource. Example: apps/myapp.", +"location": "path", +"required": true, +"type": "string" +}, +"pageSize": { +"description": "Maximum results to return per page.", +"format": "int32", +"location": "query", +"type": "integer" +}, +"pageToken": { +"description": "Continuation token for fetching the next page of results.", +"location": "query", +"type": "string" +}, +"view": { +"description": "Controls the set of fields returned in the LIST response.", +"enum": [ +"BASIC_CERTIFICATE", +"FULL_CERTIFICATE" +], +"enumDescriptions": [ +"Basic certificate information, including applicable domains and expiration date.", +"The information from BASIC_CERTIFICATE, plus detailed information on the domain mappings that have this certificate mapped." +], +"location": "query", +"type": "string" +} +}, +"path": "v1alpha/apps/{appsId}/authorizedCertificates", +"response": { +"$ref": "ListAuthorizedCertificatesResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/appengine.admin", +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/cloud-platform.read-only" +] +}, +"patch": { +"description": "Updates the specified SSL certificate. To renew a certificate and maintain its existing domain mappings, update certificate_data with a new certificate. The new certificate must be applicable to the same domains as the original certificate. The certificate display_name may also be updated.", +"flatPath": "v1alpha/apps/{appsId}/authorizedCertificates/{authorizedCertificatesId}", +"httpMethod": "PATCH", +"id": "appengine.apps.authorizedCertificates.patch", +"parameterOrder": [ +"appsId", +"authorizedCertificatesId" +], +"parameters": { +"appsId": { +"description": "Part of `name`. Name of the resource to update. Example: apps/myapp/authorizedCertificates/12345.", +"location": "path", +"required": true, +"type": "string" +}, +"authorizedCertificatesId": { +"description": "Part of `name`. See documentation of `appsId`.", +"location": "path", +"required": true, +"type": "string" +}, +"updateMask": { +"description": "Standard field mask for the set of fields to be updated. Updates are only supported on the certificate_raw_data and display_name fields.", +"format": "google-fieldmask", +"location": "query", +"type": "string" +} +}, +"path": "v1alpha/apps/{appsId}/authorizedCertificates/{authorizedCertificatesId}", +"request": { +"$ref": "AuthorizedCertificate" +}, +"response": { +"$ref": "AuthorizedCertificate" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +} +} +}, +"authorizedDomains": { +"methods": { +"list": { +"description": "Lists all domains the user is authorized to administer.", +"flatPath": "v1alpha/apps/{appsId}/authorizedDomains", +"httpMethod": "GET", +"id": "appengine.apps.authorizedDomains.list", +"parameterOrder": [ +"appsId" +], +"parameters": { +"appsId": { +"description": "Part of `parent`. Name of the parent Application resource. Example: apps/myapp.", +"location": "path", +"required": true, +"type": "string" +}, +"pageSize": { +"description": "Maximum results to return per page.", +"format": "int32", +"location": "query", +"type": "integer" +}, +"pageToken": { +"description": "Continuation token for fetching the next page of results.", +"location": "query", +"type": "string" +} +}, +"path": "v1alpha/apps/{appsId}/authorizedDomains", +"response": { +"$ref": "ListAuthorizedDomainsResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/appengine.admin", +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/cloud-platform.read-only" +] +} +} +}, +"domainMappings": { +"methods": { +"create": { +"description": "Maps a domain to an application. A user must be authorized to administer a domain in order to map it to an application. For a list of available authorized domains, see AuthorizedDomains.ListAuthorizedDomains.", +"flatPath": "v1alpha/apps/{appsId}/domainMappings", +"httpMethod": "POST", +"id": "appengine.apps.domainMappings.create", +"parameterOrder": [ +"appsId" +], +"parameters": { +"appsId": { +"description": "Part of `parent`. Name of the parent Application resource. Example: apps/myapp.", +"location": "path", +"required": true, +"type": "string" +}, +"noManagedCertificate": { +"description": "Whether a managed certificate should be provided by App Engine. If true, a certificate ID must be manaually set in the DomainMapping resource to configure SSL for this domain. If false, a managed certificate will be provisioned and a certificate ID will be automatically populated.", +"location": "query", +"type": "boolean" +}, +"overrideStrategy": { +"description": "Whether the domain creation should override any existing mappings for this domain. By default, overrides are rejected.", +"enum": [ +"UNSPECIFIED_DOMAIN_OVERRIDE_STRATEGY", +"STRICT", +"OVERRIDE" +], +"enumDescriptions": [ +"Strategy unspecified. Defaults to STRICT.", +"Overrides not allowed. If a mapping already exists for the specified domain, the request will return an ALREADY_EXISTS (409).", +"Overrides allowed. If a mapping already exists for the specified domain, the request will overwrite it. Note that this might stop another Google product from serving. For example, if the domain is mapped to another App Engine application, that app will no longer serve from that domain." +], +"location": "query", +"type": "string" +} +}, +"path": "v1alpha/apps/{appsId}/domainMappings", +"request": { +"$ref": "DomainMapping" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"delete": { +"description": "Deletes the specified domain mapping. A user must be authorized to administer the associated domain in order to delete a DomainMapping resource.", +"flatPath": "v1alpha/apps/{appsId}/domainMappings/{domainMappingsId}", +"httpMethod": "DELETE", +"id": "appengine.apps.domainMappings.delete", +"parameterOrder": [ +"appsId", +"domainMappingsId" +], +"parameters": { +"appsId": { +"description": "Part of `name`. Name of the resource to delete. Example: apps/myapp/domainMappings/example.com.", +"location": "path", +"required": true, +"type": "string" +}, +"domainMappingsId": { +"description": "Part of `name`. See documentation of `appsId`.", +"location": "path", +"required": true, +"type": "string" +} +}, +"path": "v1alpha/apps/{appsId}/domainMappings/{domainMappingsId}", +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"get": { +"description": "Gets the specified domain mapping.", +"flatPath": "v1alpha/apps/{appsId}/domainMappings/{domainMappingsId}", +"httpMethod": "GET", +"id": "appengine.apps.domainMappings.get", +"parameterOrder": [ +"appsId", +"domainMappingsId" +], +"parameters": { +"appsId": { +"description": "Part of `name`. Name of the resource requested. Example: apps/myapp/domainMappings/example.com.", +"location": "path", +"required": true, +"type": "string" +}, +"domainMappingsId": { +"description": "Part of `name`. See documentation of `appsId`.", +"location": "path", +"required": true, +"type": "string" +} +}, +"path": "v1alpha/apps/{appsId}/domainMappings/{domainMappingsId}", +"response": { +"$ref": "DomainMapping" +}, +"scopes": [ +"https://www.googleapis.com/auth/appengine.admin", +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/cloud-platform.read-only" +] +}, +"list": { +"description": "Lists the domain mappings on an application.", +"flatPath": "v1alpha/apps/{appsId}/domainMappings", +"httpMethod": "GET", +"id": "appengine.apps.domainMappings.list", +"parameterOrder": [ +"appsId" +], +"parameters": { +"appsId": { +"description": "Part of `parent`. Name of the parent Application resource. Example: apps/myapp.", +"location": "path", +"required": true, +"type": "string" +}, +"pageSize": { +"description": "Maximum results to return per page.", +"format": "int32", +"location": "query", +"type": "integer" +}, +"pageToken": { +"description": "Continuation token for fetching the next page of results.", +"location": "query", +"type": "string" +} +}, +"path": "v1alpha/apps/{appsId}/domainMappings", +"response": { +"$ref": "ListDomainMappingsResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/appengine.admin", +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/cloud-platform.read-only" +] +}, +"patch": { +"description": "Updates the specified domain mapping. To map an SSL certificate to a domain mapping, update certificate_id to point to an AuthorizedCertificate resource. A user must be authorized to administer the associated domain in order to update a DomainMapping resource.", +"flatPath": "v1alpha/apps/{appsId}/domainMappings/{domainMappingsId}", +"httpMethod": "PATCH", +"id": "appengine.apps.domainMappings.patch", +"parameterOrder": [ +"appsId", +"domainMappingsId" +], +"parameters": { +"appsId": { +"description": "Part of `name`. Name of the resource to update. Example: apps/myapp/domainMappings/example.com.", +"location": "path", +"required": true, +"type": "string" +}, +"domainMappingsId": { +"description": "Part of `name`. See documentation of `appsId`.", +"location": "path", +"required": true, +"type": "string" +}, +"noManagedCertificate": { +"description": "Whether a managed certificate should be provided by App Engine. If true, a certificate ID must be manually set in the DomainMapping resource to configure SSL for this domain. If false, a managed certificate will be provisioned and a certificate ID will be automatically populated. Only applicable if ssl_settings.certificate_id is specified in the update mask.", +"location": "query", +"type": "boolean" +}, +"updateMask": { +"description": "Required. Standard field mask for the set of fields to be updated.", +"format": "google-fieldmask", +"location": "query", +"type": "string" +} +}, +"path": "v1alpha/apps/{appsId}/domainMappings/{domainMappingsId}", +"request": { +"$ref": "DomainMapping" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +} +} +}, +"locations": { +"methods": { +"get": { +"description": "Gets information about a location.", +"flatPath": "v1alpha/apps/{appsId}/locations/{locationsId}", +"httpMethod": "GET", +"id": "appengine.apps.locations.get", +"parameterOrder": [ +"appsId", +"locationsId" +], +"parameters": { +"appsId": { +"description": "Part of `name`. Resource name for the location.", +"location": "path", +"required": true, +"type": "string" +}, +"locationsId": { +"description": "Part of `name`. See documentation of `appsId`.", +"location": "path", +"required": true, +"type": "string" +} +}, +"path": "v1alpha/apps/{appsId}/locations/{locationsId}", +"response": { +"$ref": "Location" +}, +"scopes": [ +"https://www.googleapis.com/auth/appengine.admin", +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/cloud-platform.read-only" +] +}, +"list": { +"description": "Lists information about the supported locations for this service.", +"flatPath": "v1alpha/apps/{appsId}/locations", +"httpMethod": "GET", +"id": "appengine.apps.locations.list", +"parameterOrder": [ +"appsId" +], +"parameters": { +"appsId": { +"description": "Part of `name`. The resource that owns the locations collection, if applicable.", +"location": "path", +"required": true, +"type": "string" +}, +"filter": { +"description": "A filter to narrow down results to a preferred subset. The filtering language accepts strings like \"displayName=tokyo\", and is documented in more detail in AIP-160 (https://google.aip.dev/160).", +"location": "query", +"type": "string" +}, +"pageSize": { +"description": "The maximum number of results to return. If not set, the service selects a default.", +"format": "int32", +"location": "query", +"type": "integer" +}, +"pageToken": { +"description": "A page token received from the next_page_token field in the response. Send that page token to receive the subsequent page.", +"location": "query", +"type": "string" +} +}, +"path": "v1alpha/apps/{appsId}/locations", +"response": { +"$ref": "ListLocationsResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/appengine.admin", +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/cloud-platform.read-only" +] +} +} +}, +"operations": { +"methods": { +"get": { +"description": "Gets the latest state of a long-running operation. Clients can use this method to poll the operation result at intervals as recommended by the API service.", +"flatPath": "v1alpha/apps/{appsId}/operations/{operationsId}", +"httpMethod": "GET", +"id": "appengine.apps.operations.get", +"parameterOrder": [ +"appsId", +"operationsId" +], +"parameters": { +"appsId": { +"description": "Part of `name`. The name of the operation resource.", +"location": "path", +"required": true, +"type": "string" +}, +"operationsId": { +"description": "Part of `name`. See documentation of `appsId`.", +"location": "path", +"required": true, +"type": "string" +} +}, +"path": "v1alpha/apps/{appsId}/operations/{operationsId}", +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/appengine.admin", +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/cloud-platform.read-only" +] +}, +"list": { +"description": "Lists operations that match the specified filter in the request. If the server doesn't support this method, it returns UNIMPLEMENTED.", +"flatPath": "v1alpha/apps/{appsId}/operations", +"httpMethod": "GET", +"id": "appengine.apps.operations.list", +"parameterOrder": [ +"appsId" +], +"parameters": { +"appsId": { +"description": "Part of `name`. The name of the operation's parent resource.", +"location": "path", +"required": true, +"type": "string" +}, +"filter": { +"description": "The standard list filter.", +"location": "query", +"type": "string" +}, +"pageSize": { +"description": "The standard list page size.", +"format": "int32", +"location": "query", +"type": "integer" +}, +"pageToken": { +"description": "The standard list page token.", +"location": "query", +"type": "string" +} +}, +"path": "v1alpha/apps/{appsId}/operations", +"response": { +"$ref": "ListOperationsResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/appengine.admin", +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/cloud-platform.read-only" +] +} +} +} +} +}, +"projects": { +"resources": { +"locations": { +"methods": { +"get": { +"description": "Gets information about a location.", +"flatPath": "v1alpha/projects/{projectsId}/locations/{locationsId}", +"httpMethod": "GET", +"id": "appengine.projects.locations.get", +"parameterOrder": [ +"projectsId", +"locationsId" +], +"parameters": { +"locationsId": { +"description": "Part of `name`. See documentation of `projectsId`.", +"location": "path", +"required": true, +"type": "string" +}, +"projectsId": { +"description": "Part of `name`. Resource name for the location.", +"location": "path", +"required": true, +"type": "string" +} +}, +"path": "v1alpha/projects/{projectsId}/locations/{locationsId}", +"response": { +"$ref": "Location" +}, +"scopes": [ +"https://www.googleapis.com/auth/appengine.admin", +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/cloud-platform.read-only" +] +}, +"list": { +"description": "Lists information about the supported locations for this service.", +"flatPath": "v1alpha/projects/{projectsId}/locations", +"httpMethod": "GET", +"id": "appengine.projects.locations.list", +"parameterOrder": [ +"projectsId" +], +"parameters": { +"filter": { +"description": "A filter to narrow down results to a preferred subset. The filtering language accepts strings like \"displayName=tokyo\", and is documented in more detail in AIP-160 (https://google.aip.dev/160).", +"location": "query", +"type": "string" +}, +"pageSize": { +"description": "The maximum number of results to return. If not set, the service selects a default.", +"format": "int32", +"location": "query", +"type": "integer" +}, +"pageToken": { +"description": "A page token received from the next_page_token field in the response. Send that page token to receive the subsequent page.", +"location": "query", +"type": "string" +}, +"projectsId": { +"description": "Part of `name`. The resource that owns the locations collection, if applicable.", +"location": "path", +"required": true, +"type": "string" +} +}, +"path": "v1alpha/projects/{projectsId}/locations", +"response": { +"$ref": "ListLocationsResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/appengine.admin", +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/cloud-platform.read-only" +] +} +}, +"resources": { +"applications": { +"resources": { +"authorizedDomains": { +"methods": { +"list": { +"description": "Lists all domains the user is authorized to administer.", +"flatPath": "v1alpha/projects/{projectsId}/locations/{locationsId}/applications/{applicationsId}/authorizedDomains", +"httpMethod": "GET", +"id": "appengine.projects.locations.applications.authorizedDomains.list", +"parameterOrder": [ +"projectsId", +"locationsId", +"applicationsId" +], +"parameters": { +"applicationsId": { +"description": "Part of `parent`. See documentation of `projectsId`.", +"location": "path", +"required": true, +"type": "string" +}, +"locationsId": { +"description": "Part of `parent`. See documentation of `projectsId`.", +"location": "path", +"required": true, +"type": "string" +}, +"pageSize": { +"description": "Maximum results to return per page.", +"format": "int32", +"location": "query", +"type": "integer" +}, +"pageToken": { +"description": "Continuation token for fetching the next page of results.", +"location": "query", +"type": "string" +}, +"projectsId": { +"description": "Part of `parent`. Name of the parent Application resource. Example: apps/myapp.", +"location": "path", +"required": true, +"type": "string" +} +}, +"path": "v1alpha/projects/{projectsId}/locations/{locationsId}/applications/{applicationsId}/authorizedDomains", +"response": { +"$ref": "ListAuthorizedDomainsResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/appengine.admin", +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/cloud-platform.read-only" +] +} +} +} +} +}, +"operations": { +"methods": { +"get": { +"description": "Gets the latest state of a long-running operation. Clients can use this method to poll the operation result at intervals as recommended by the API service.", +"flatPath": "v1alpha/projects/{projectsId}/locations/{locationsId}/operations/{operationsId}", +"httpMethod": "GET", +"id": "appengine.projects.locations.operations.get", +"parameterOrder": [ +"projectsId", +"locationsId", +"operationsId" +], +"parameters": { +"locationsId": { +"description": "Part of `name`. See documentation of `projectsId`.", +"location": "path", +"required": true, +"type": "string" +}, +"operationsId": { +"description": "Part of `name`. See documentation of `projectsId`.", +"location": "path", +"required": true, +"type": "string" +}, +"projectsId": { +"description": "Part of `name`. The name of the operation resource.", +"location": "path", +"required": true, +"type": "string" +} +}, +"path": "v1alpha/projects/{projectsId}/locations/{locationsId}/operations/{operationsId}", +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/appengine.admin", +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/cloud-platform.read-only" +] +}, +"list": { +"description": "Lists operations that match the specified filter in the request. If the server doesn't support this method, it returns UNIMPLEMENTED.", +"flatPath": "v1alpha/projects/{projectsId}/locations/{locationsId}/operations", +"httpMethod": "GET", +"id": "appengine.projects.locations.operations.list", +"parameterOrder": [ +"projectsId", +"locationsId" +], +"parameters": { +"filter": { +"description": "The standard list filter.", +"location": "query", +"type": "string" +}, +"locationsId": { +"description": "Part of `name`. See documentation of `projectsId`.", +"location": "path", +"required": true, +"type": "string" +}, +"pageSize": { +"description": "The standard list page size.", +"format": "int32", +"location": "query", +"type": "integer" +}, +"pageToken": { +"description": "The standard list page token.", +"location": "query", +"type": "string" +}, +"projectsId": { +"description": "Part of `name`. The name of the operation's parent resource.", +"location": "path", +"required": true, +"type": "string" +} +}, +"path": "v1alpha/projects/{projectsId}/locations/{locationsId}/operations", +"response": { +"$ref": "ListOperationsResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/appengine.admin", +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/cloud-platform.read-only" +] +} +} +} +} +} +} +} +}, +"revision": "20241118", +"rootUrl": "https://appengine.googleapis.com/", +"schemas": { +"AuthorizedCertificate": { +"description": "An SSL certificate that a user has been authorized to administer. A user is authorized to administer any certificate that applies to one of their authorized domains.", +"id": "AuthorizedCertificate", +"properties": { +"certificateRawData": { +"$ref": "CertificateRawData", +"description": "The SSL certificate serving the AuthorizedCertificate resource. This must be obtained independently from a certificate authority." +}, +"displayName": { +"description": "The user-specified display name of the certificate. This is not guaranteed to be unique. Example: My Certificate.", +"type": "string" +}, +"domainMappingsCount": { +"description": "Aggregate count of the domain mappings with this certificate mapped. This count includes domain mappings on applications for which the user does not have VIEWER permissions.Only returned by GET or LIST requests when specifically requested by the view=FULL_CERTIFICATE option.@OutputOnly", +"format": "int32", +"type": "integer" +}, +"domainNames": { +"description": "Topmost applicable domains of this certificate. This certificate applies to these domains and their subdomains. Example: example.com.@OutputOnly", +"items": { +"type": "string" +}, +"type": "array" +}, +"expireTime": { +"description": "The time when this certificate expires. To update the renewal time on this certificate, upload an SSL certificate with a different expiration time using AuthorizedCertificates.UpdateAuthorizedCertificate.@OutputOnly", +"format": "google-datetime", +"type": "string" +}, +"id": { +"description": "Relative name of the certificate. This is a unique value autogenerated on AuthorizedCertificate resource creation. Example: 12345.@OutputOnly", +"type": "string" +}, +"managedCertificate": { +"$ref": "ManagedCertificate", +"description": "Only applicable if this certificate is managed by App Engine. Managed certificates are tied to the lifecycle of a DomainMapping and cannot be updated or deleted via the AuthorizedCertificates API. If this certificate is manually administered by the user, this field will be empty.@OutputOnly" +}, +"name": { +"description": "Full path to the AuthorizedCertificate resource in the API. Example: apps/myapp/authorizedCertificates/12345.@OutputOnly", +"type": "string" +}, +"visibleDomainMappings": { +"description": "The full paths to user visible Domain Mapping resources that have this certificate mapped. Example: apps/myapp/domainMappings/example.com.This may not represent the full list of mapped domain mappings if the user does not have VIEWER permissions on all of the applications that have this certificate mapped. See domain_mappings_count for a complete count.Only returned by GET or LIST requests when specifically requested by the view=FULL_CERTIFICATE option.@OutputOnly", +"items": { +"type": "string" +}, +"type": "array" +} +}, +"type": "object" +}, +"AuthorizedDomain": { +"description": "A domain that a user has been authorized to administer. To authorize use of a domain, verify ownership via Search Console (https://search.google.com/search-console/welcome).", +"id": "AuthorizedDomain", +"properties": { +"id": { +"description": "Fully qualified domain name of the domain authorized for use. Example: example.com.", +"type": "string" +}, +"name": { +"description": "Full path to the AuthorizedDomain resource in the API. Example: apps/myapp/authorizedDomains/example.com.@OutputOnly", +"type": "string" +} +}, +"type": "object" +}, +"CertificateRawData": { +"description": "An SSL certificate obtained from a certificate authority.", +"id": "CertificateRawData", +"properties": { +"privateKey": { +"description": "Unencrypted PEM encoded RSA private key. This field is set once on certificate creation and then encrypted. The key size must be 2048 bits or fewer. Must include the header and footer. Example: -----BEGIN RSA PRIVATE KEY----- -----END RSA PRIVATE KEY----- @InputOnly", +"type": "string" +}, +"publicCertificate": { +"description": "PEM encoded x.509 public key certificate. This field is set once on certificate creation. Must include the header and footer. Example: -----BEGIN CERTIFICATE----- -----END CERTIFICATE----- ", +"type": "string" +} +}, +"type": "object" +}, +"ContainerState": { +"description": "ContainerState contains the externally-visible container state that is used to communicate the state and reasoning for that state to the CLH. This data is not persisted by CCFE, but is instead derived from CCFE's internal representation of the container state.", +"id": "ContainerState", +"properties": { +"currentReasons": { +"$ref": "Reasons" +}, +"previousReasons": { +"$ref": "Reasons", +"description": "The previous and current reasons for a container state will be sent for a container event. CLHs that need to know the signal that caused the container event to trigger (edges) as opposed to just knowing the state can act upon differences in the previous and current reasons.Reasons will be provided for every system: service management, data governance, abuse, and billing.If this is a CCFE-triggered event used for reconciliation then the current reasons will be set to their *_CONTROL_PLANE_SYNC state. The previous reasons will contain the last known set of non-unknown non-control_plane_sync reasons for the state." +}, +"state": { +"description": "The current state of the container. This state is the culmination of all of the opinions from external systems that CCFE knows about of the container.", +"enum": [ +"UNKNOWN_STATE", +"ON", +"OFF", +"DELETED" +], +"enumDescriptions": [ +"A container should never be in an unknown state. Receipt of a container with this state is an error.", +"CCFE considers the container to be serving or transitioning into serving.", +"CCFE considers the container to be in an OFF state. This could occur due to various factors. The state could be triggered by Google-internal audits (ex. abuse suspension, billing closed) or cleanups trigged by compliance systems (ex. data governance hide). User-initiated events such as service management deactivation trigger a container to an OFF state.CLHs might choose to do nothing in this case or to turn off costly resources. CLHs need to consider the customer experience if an ON/OFF/ON sequence of state transitions occurs vs. the cost of deleting resources, keeping metadata about resources, or even keeping resources live for a period of time.CCFE will not send any new customer requests to the CLH when the container is in an OFF state. However, CCFE will allow all previous customer requests relayed to CLH to complete.", +"This state indicates that the container has been (or is being) completely removed. This is often due to a data governance purge request and therefore resources should be deleted when this state is reached." +], +"type": "string" +} +}, +"type": "object" +}, +"CreateVersionMetadataV1": { +"description": "Metadata for the given google.longrunning.Operation during a google.appengine.v1.CreateVersionRequest.", +"id": "CreateVersionMetadataV1", +"properties": { +"cloudBuildId": { +"description": "The Cloud Build ID if one was created as part of the version create. @OutputOnly", +"type": "string" +} +}, +"type": "object" +}, +"CreateVersionMetadataV1Alpha": { +"description": "Metadata for the given google.longrunning.Operation during a google.appengine.v1alpha.CreateVersionRequest.", +"id": "CreateVersionMetadataV1Alpha", +"properties": { +"cloudBuildId": { +"description": "The Cloud Build ID if one was created as part of the version create. @OutputOnly", +"type": "string" +} +}, +"type": "object" +}, +"CreateVersionMetadataV1Beta": { +"description": "Metadata for the given google.longrunning.Operation during a google.appengine.v1beta.CreateVersionRequest.", +"id": "CreateVersionMetadataV1Beta", +"properties": { +"cloudBuildId": { +"description": "The Cloud Build ID if one was created as part of the version create. @OutputOnly", +"type": "string" +} +}, +"type": "object" +}, +"DomainMapping": { +"description": "A domain serving an App Engine application.", +"id": "DomainMapping", +"properties": { +"id": { +"description": "Relative name of the domain serving the application. Example: example.com.", +"type": "string" +}, +"name": { +"description": "Full path to the DomainMapping resource in the API. Example: apps/myapp/domainMapping/example.com.@OutputOnly", +"type": "string" +}, +"resourceRecords": { +"description": "The resource records required to configure this domain mapping. These records must be added to the domain's DNS configuration in order to serve the application via this domain mapping.@OutputOnly", +"items": { +"$ref": "ResourceRecord" +}, +"type": "array" +}, +"sslSettings": { +"$ref": "SslSettings", +"description": "SSL configuration for this domain. If unconfigured, this domain will not serve with SSL." +} +}, +"type": "object" +}, +"Empty": { +"description": "A generic empty message that you can re-use to avoid defining duplicated empty messages in your APIs. A typical example is to use it as the request or the response type of an API method. For instance: service Foo { rpc Bar(google.protobuf.Empty) returns (google.protobuf.Empty); } ", +"id": "Empty", +"properties": {}, +"type": "object" +}, +"GceTag": { +"description": "For use only by GCE. GceTag is a wrapper around the GCE administrative tag with parent info.", +"id": "GceTag", +"properties": { +"parent": { +"description": "The parents(s) of the tag. Eg. projects/123, folders/456 It usually contains only one parent. But, in some corner cases, it can contain multiple parents. Currently, organizations are not supported.", +"items": { +"type": "string" +}, +"type": "array" +}, +"tag": { +"description": "The administrative_tag name.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleAppengineV1betaLocationMetadata": { +"description": "Metadata for the given google.cloud.location.Location.", +"id": "GoogleAppengineV1betaLocationMetadata", +"properties": { +"flexibleEnvironmentAvailable": { +"description": "App Engine flexible environment is available in the given location.@OutputOnly", +"type": "boolean" +}, +"searchApiAvailable": { +"description": "Output only. Search API (https://cloud.google.com/appengine/docs/standard/python/search) is available in the given location.", +"readOnly": true, +"type": "boolean" +}, +"standardEnvironmentAvailable": { +"description": "App Engine standard environment is available in the given location.@OutputOnly", +"type": "boolean" +} +}, +"type": "object" +}, +"ListAuthorizedCertificatesResponse": { +"description": "Response message for AuthorizedCertificates.ListAuthorizedCertificates.", +"id": "ListAuthorizedCertificatesResponse", +"properties": { +"certificates": { +"description": "The SSL certificates the user is authorized to administer.", +"items": { +"$ref": "AuthorizedCertificate" +}, +"type": "array" +}, +"nextPageToken": { +"description": "Continuation token for fetching the next page of results.", +"type": "string" +} +}, +"type": "object" +}, +"ListAuthorizedDomainsResponse": { +"description": "Response message for AuthorizedDomains.ListAuthorizedDomains.", +"id": "ListAuthorizedDomainsResponse", +"properties": { +"domains": { +"description": "The authorized domains belonging to the user.", +"items": { +"$ref": "AuthorizedDomain" +}, +"type": "array" +}, +"nextPageToken": { +"description": "Continuation token for fetching the next page of results.", +"type": "string" +} +}, +"type": "object" +}, +"ListDomainMappingsResponse": { +"description": "Response message for DomainMappings.ListDomainMappings.", +"id": "ListDomainMappingsResponse", +"properties": { +"domainMappings": { +"description": "The domain mappings for the application.", +"items": { +"$ref": "DomainMapping" +}, +"type": "array" +}, +"nextPageToken": { +"description": "Continuation token for fetching the next page of results.", +"type": "string" +} +}, +"type": "object" +}, +"ListLocationsResponse": { +"description": "The response message for Locations.ListLocations.", +"id": "ListLocationsResponse", +"properties": { +"locations": { +"description": "A list of locations that matches the specified filter in the request.", +"items": { +"$ref": "Location" +}, +"type": "array" +}, +"nextPageToken": { +"description": "The standard List next-page token.", +"type": "string" +} +}, +"type": "object" +}, +"ListOperationsResponse": { +"description": "The response message for Operations.ListOperations.", +"id": "ListOperationsResponse", +"properties": { +"nextPageToken": { +"description": "The standard List next-page token.", +"type": "string" +}, +"operations": { +"description": "A list of operations that matches the specified filter in the request.", +"items": { +"$ref": "Operation" +}, +"type": "array" +} +}, +"type": "object" +}, +"Location": { +"description": "A resource that represents a Google Cloud location.", +"id": "Location", +"properties": { +"displayName": { +"description": "The friendly name for this location, typically a nearby city name. For example, \"Tokyo\".", +"type": "string" +}, +"labels": { +"additionalProperties": { +"type": "string" +}, +"description": "Cross-service attributes for the location. For example {\"cloud.googleapis.com/region\": \"us-east1\"} ", +"type": "object" +}, +"locationId": { +"description": "The canonical id for this location. For example: \"us-east1\".", +"type": "string" +}, +"metadata": { +"additionalProperties": { +"description": "Properties of the object. Contains field @type with type URL.", +"type": "any" +}, +"description": "Service-specific metadata. For example the available capacity at the given location.", +"type": "object" +}, +"name": { +"description": "Resource name for the location, which may vary between implementations. For example: \"projects/example-project/locations/us-east1\"", +"type": "string" +} +}, +"type": "object" +}, +"LocationMetadata": { +"description": "Metadata for the given google.cloud.location.Location.", +"id": "LocationMetadata", +"properties": { +"flexibleEnvironmentAvailable": { +"description": "App Engine flexible environment is available in the given location.@OutputOnly", +"type": "boolean" +}, +"searchApiAvailable": { +"description": "Output only. Search API (https://cloud.google.com/appengine/docs/standard/python/search) is available in the given location.", +"readOnly": true, +"type": "boolean" +}, +"standardEnvironmentAvailable": { +"description": "App Engine standard environment is available in the given location.@OutputOnly", +"type": "boolean" +} +}, +"type": "object" +}, +"ManagedCertificate": { +"description": "A certificate managed by App Engine.", +"id": "ManagedCertificate", +"properties": { +"lastRenewalTime": { +"description": "Time at which the certificate was last renewed. The renewal process is fully managed. Certificate renewal will automatically occur before the certificate expires. Renewal errors can be tracked via ManagementStatus.@OutputOnly", +"format": "google-datetime", +"type": "string" +}, +"status": { +"description": "Status of certificate management. Refers to the most recent certificate acquisition or renewal attempt.@OutputOnly", +"enum": [ +"UNSPECIFIED_STATUS", +"OK", +"PENDING", +"FAILED_RETRYING_INTERNAL", +"FAILED_RETRYING_NOT_VISIBLE", +"FAILED_PERMANENTLY_NOT_VISIBLE", +"FAILED_RETRYING_CAA_FORBIDDEN", +"FAILED_RETRYING_CAA_CHECKING" +], +"enumDescriptions": [ +"", +"Certificate was successfully obtained and inserted into the serving system.", +"Certificate is under active attempts to acquire or renew.", +"Most recent renewal failed due to a system failure and will be retried. System failure is likely transient, and subsequent renewal attempts may succeed. The last successfully provisioned certificate may still be serving.", +"Most recent renewal failed due to an invalid DNS setup and will be retried. Renewal attempts will continue to fail until the certificate domain's DNS configuration is fixed. The last successfully provisioned certificate may still be serving.", +"All renewal attempts have been exhausted. Most recent renewal failed due to an invalid DNS setup and will not be retried. The last successfully provisioned certificate may still be serving.", +"Most recent renewal failed due to an explicit CAA record that does not include one of the in-use CAs (Google CA and Let's Encrypt). Renewals will continue to fail until the CAA is reconfigured. The last successfully provisioned certificate may still be serving.", +"Most recent renewal failed due to a CAA retrieval failure. This means that the domain's DNS provider does not properly handle CAA records, failing requests for CAA records when no CAA records are defined. Renewals will continue to fail until the DNS provider is changed or a CAA record is added for the given domain. The last successfully provisioned certificate may still be serving." +], +"type": "string" +} +}, +"type": "object" +}, +"Operation": { +"description": "This resource represents a long-running operation that is the result of a network API call.", +"id": "Operation", +"properties": { +"done": { +"description": "If the value is false, it means the operation is still in progress. If true, the operation is completed, and either error or response is available.", +"type": "boolean" +}, +"error": { +"$ref": "Status", +"description": "The error result of the operation in case of failure or cancellation." +}, +"metadata": { +"additionalProperties": { +"description": "Properties of the object. Contains field @type with type URL.", +"type": "any" +}, +"description": "Service-specific metadata associated with the operation. It typically contains progress information and common metadata such as create time. Some services might not provide such metadata. Any method that returns a long-running operation should document the metadata type, if any.", +"type": "object" +}, +"name": { +"description": "The server-assigned name, which is only unique within the same service that originally returns it. If you use the default HTTP mapping, the name should be a resource name ending with operations/{unique_id}.", +"type": "string" +}, +"response": { +"additionalProperties": { +"description": "Properties of the object. Contains field @type with type URL.", +"type": "any" +}, +"description": "The normal, successful response of the operation. If the original method returns no data on success, such as Delete, the response is google.protobuf.Empty. If the original method is standard Get/Create/Update, the response should be the resource. For other methods, the response should have the type XxxResponse, where Xxx is the original method name. For example, if the original method name is TakeSnapshot(), the inferred response type is TakeSnapshotResponse.", +"type": "object" +} +}, +"type": "object" +}, +"OperationMetadataV1": { +"description": "Metadata for the given google.longrunning.Operation.", +"id": "OperationMetadataV1", +"properties": { +"createVersionMetadata": { +"$ref": "CreateVersionMetadataV1" +}, +"endTime": { +"description": "Time that this operation completed.@OutputOnly", +"format": "google-datetime", +"type": "string" +}, +"ephemeralMessage": { +"description": "Ephemeral message that may change every time the operation is polled. @OutputOnly", +"type": "string" +}, +"insertTime": { +"description": "Time that this operation was created.@OutputOnly", +"format": "google-datetime", +"type": "string" +}, +"method": { +"description": "API method that initiated this operation. Example: google.appengine.v1.Versions.CreateVersion.@OutputOnly", +"type": "string" +}, +"target": { +"description": "Name of the resource that this operation is acting on. Example: apps/myapp/services/default.@OutputOnly", +"type": "string" +}, +"user": { +"description": "User who requested this operation.@OutputOnly", +"type": "string" +}, +"warning": { +"description": "Durable messages that persist on every operation poll. @OutputOnly", +"items": { +"type": "string" +}, +"type": "array" +} +}, +"type": "object" +}, +"OperationMetadataV1Alpha": { +"description": "Metadata for the given google.longrunning.Operation.", +"id": "OperationMetadataV1Alpha", +"properties": { +"createVersionMetadata": { +"$ref": "CreateVersionMetadataV1Alpha" +}, +"endTime": { +"description": "Time that this operation completed.@OutputOnly", +"format": "google-datetime", +"type": "string" +}, +"ephemeralMessage": { +"description": "Ephemeral message that may change every time the operation is polled. @OutputOnly", +"type": "string" +}, +"insertTime": { +"description": "Time that this operation was created.@OutputOnly", +"format": "google-datetime", +"type": "string" +}, +"method": { +"description": "API method that initiated this operation. Example: google.appengine.v1alpha.Versions.CreateVersion.@OutputOnly", +"type": "string" +}, +"target": { +"description": "Name of the resource that this operation is acting on. Example: apps/myapp/services/default.@OutputOnly", +"type": "string" +}, +"user": { +"description": "User who requested this operation.@OutputOnly", +"type": "string" +}, +"warning": { +"description": "Durable messages that persist on every operation poll. @OutputOnly", +"items": { +"type": "string" +}, +"type": "array" +} +}, +"type": "object" +}, +"OperationMetadataV1Beta": { +"description": "Metadata for the given google.longrunning.Operation.", +"id": "OperationMetadataV1Beta", +"properties": { +"createVersionMetadata": { +"$ref": "CreateVersionMetadataV1Beta" +}, +"endTime": { +"description": "Time that this operation completed.@OutputOnly", +"format": "google-datetime", +"type": "string" +}, +"ephemeralMessage": { +"description": "Ephemeral message that may change every time the operation is polled. @OutputOnly", +"type": "string" +}, +"insertTime": { +"description": "Time that this operation was created.@OutputOnly", +"format": "google-datetime", +"type": "string" +}, +"method": { +"description": "API method that initiated this operation. Example: google.appengine.v1beta.Versions.CreateVersion.@OutputOnly", +"type": "string" +}, +"target": { +"description": "Name of the resource that this operation is acting on. Example: apps/myapp/services/default.@OutputOnly", +"type": "string" +}, +"user": { +"description": "User who requested this operation.@OutputOnly", +"type": "string" +}, +"warning": { +"description": "Durable messages that persist on every operation poll. @OutputOnly", +"items": { +"type": "string" +}, +"type": "array" +} +}, +"type": "object" +}, +"ProjectEvent": { +"description": "The request sent to CLHs during project events.", +"id": "ProjectEvent", +"properties": { +"eventId": { +"description": "The unique ID for this project event. CLHs can use this value to dedup repeated calls. required", +"type": "string" +}, +"phase": { +"description": "Phase indicates when in the container event propagation this event is being communicated. Events are sent before and after the per-resource events are propagated. required", +"enum": [ +"CONTAINER_EVENT_PHASE_UNSPECIFIED", +"BEFORE_RESOURCE_HANDLING", +"AFTER_RESOURCE_HANDLING" +], +"enumDescriptions": [ +"", +"", +"" +], +"type": "string" +}, +"projectMetadata": { +"$ref": "ProjectsMetadata", +"description": "The projects metadata for this project. required" +}, +"state": { +"$ref": "ContainerState", +"description": "The state of the organization that led to this event." +} +}, +"type": "object" +}, +"ProjectsMetadata": { +"description": "ProjectsMetadata is the metadata CCFE stores about the all the relevant projects (tenant, consumer, producer).", +"id": "ProjectsMetadata", +"properties": { +"consumerProjectId": { +"description": "The consumer project id.", +"type": "string" +}, +"consumerProjectNumber": { +"description": "The consumer project number.", +"format": "int64", +"type": "string" +}, +"consumerProjectState": { +"description": "The CCFE state of the consumer project. It is the same state that is communicated to the CLH during project events. Notice that this field is not set in the DB, it is only set in this proto when communicated to CLH in the side channel.", +"enum": [ +"UNKNOWN_STATE", +"ON", +"OFF", +"DELETED" +], +"enumDescriptions": [ +"A container should never be in an unknown state. Receipt of a container with this state is an error.", +"CCFE considers the container to be serving or transitioning into serving.", +"CCFE considers the container to be in an OFF state. This could occur due to various factors. The state could be triggered by Google-internal audits (ex. abuse suspension, billing closed) or cleanups trigged by compliance systems (ex. data governance hide). User-initiated events such as service management deactivation trigger a container to an OFF state.CLHs might choose to do nothing in this case or to turn off costly resources. CLHs need to consider the customer experience if an ON/OFF/ON sequence of state transitions occurs vs. the cost of deleting resources, keeping metadata about resources, or even keeping resources live for a period of time.CCFE will not send any new customer requests to the CLH when the container is in an OFF state. However, CCFE will allow all previous customer requests relayed to CLH to complete.", +"This state indicates that the container has been (or is being) completely removed. This is often due to a data governance purge request and therefore resources should be deleted when this state is reached." +], +"type": "string" +}, +"gceTag": { +"description": "The GCE tags associated with the consumer project and those inherited due to their ancestry, if any. Not supported by CCFE.", +"items": { +"$ref": "GceTag" +}, +"type": "array" +}, +"p4ServiceAccount": { +"description": "The service account authorized to operate on the consumer project. Note: CCFE only propagates P4SA with default tag to CLH.", +"type": "string" +}, +"producerProjectId": { +"description": "The producer project id.", +"type": "string" +}, +"producerProjectNumber": { +"description": "The producer project number.", +"format": "int64", +"type": "string" +}, +"tenantProjectId": { +"description": "The tenant project id.", +"type": "string" +}, +"tenantProjectNumber": { +"description": "The tenant project number.", +"format": "int64", +"type": "string" +} +}, +"type": "object" +}, +"Reasons": { +"description": "Containers transition between and within states based on reasons sent from various systems. CCFE will provide the CLH with reasons for the current state per system.The current systems that CCFE supports are: Service Management (Inception) Data Governance (Wipeout) Abuse (Ares) Billing (Internal Cloud Billing API) Service Activation (Service Controller)", +"id": "Reasons", +"properties": { +"abuse": { +"enum": [ +"ABUSE_UNKNOWN_REASON", +"ABUSE_CONTROL_PLANE_SYNC", +"SUSPEND", +"REINSTATE" +], +"enumDescriptions": [ +"An unknown reason indicates that the abuse system has not sent a signal for this container.", +"Due to various reasons CCFE might proactively restate a container state to a CLH to ensure that the CLH and CCFE are both aware of the container state. This reason can be tied to any of the states.", +"If a container is deemed abusive we receive a suspend signal. Suspend is a reason to put the container into an INTERNAL_OFF state.", +"Containers that were once considered abusive can later be deemed non-abusive. When this happens we must reinstate the container. Reinstate is a reason to put the container into an ON state." +], +"type": "string" +}, +"billing": { +"enum": [ +"BILLING_UNKNOWN_REASON", +"BILLING_CONTROL_PLANE_SYNC", +"PROBATION", +"CLOSE", +"OPEN" +], +"enumDescriptions": [ +"An unknown reason indicates that the billing system has not sent a signal for this container.", +"Due to various reasons CCFE might proactively restate a container state to a CLH to ensure that the CLH and CCFE are both aware of the container state. This reason can be tied to any of the states.", +"Minor infractions cause a probation signal to be sent. Probation is a reason to put the container into a ON state even though it is a negative signal. CCFE will block mutations for this container while it is on billing probation, but the CLH is expected to serve non-mutation requests.", +"When a billing account is closed, it is a stronger signal about non-payment. Close is a reason to put the container into an INTERNAL_OFF state.", +"Consumers can re-open billing accounts and update accounts to pull them out of probation. When this happens, we get a signal that the account is open. Open is a reason to put the container into an ON state." +], +"type": "string" +}, +"dataGovernance": { +"enum": [ +"DATA_GOVERNANCE_UNKNOWN_REASON", +"DATA_GOVERNANCE_CONTROL_PLANE_SYNC", +"HIDE", +"UNHIDE", +"PURGE" +], +"enumDescriptions": [ +"An unknown reason indicates that data governance has not sent a signal for this container.", +"Due to various reasons CCFE might proactively restate a container state to a CLH to ensure that the CLH and CCFE are both aware of the container state. This reason can be tied to any of the states.", +"When a container is deleted we retain some data for a period of time to allow the consumer to change their mind. Data governance sends a signal to hide the data when this occurs. Hide is a reason to put the container in an INTERNAL_OFF state.", +"The decision to un-delete a container can be made. When this happens data governance tells us to unhide any hidden data. Unhide is a reason to put the container in an ON state.", +"After a period of time data must be completely removed from our systems. When data governance sends a purge signal we need to remove data. Purge is a reason to put the container in a DELETED state. Purge is the only event that triggers a delete mutation. All other events have update semantics." +], +"type": "string" +}, +"serviceActivation": { +"description": "Consumer Container denotes if the service is active within a project or not. This information could be used to clean up resources in case service in DISABLED_FULL i.e. Service is inactive > 30 days.", +"enum": [ +"SERVICE_ACTIVATION_STATUS_UNSPECIFIED", +"SERVICE_ACTIVATION_ENABLED", +"SERVICE_ACTIVATION_DISABLED", +"SERVICE_ACTIVATION_DISABLED_FULL", +"SERVICE_ACTIVATION_UNKNOWN_REASON" +], +"enumDescriptions": [ +"Default Unspecified status", +"Service is active in the project.", +"Service is disabled in the project recently i.e., within last 24 hours.", +"Service has been disabled for configured grace_period (default 30 days).", +"Happens when PSM cannot determine the status of service in a project Could happen due to variety of reasons like PERMISSION_DENIED or Project got deleted etc." +], +"type": "string" +}, +"serviceManagement": { +"enum": [ +"SERVICE_MANAGEMENT_UNKNOWN_REASON", +"SERVICE_MANAGEMENT_CONTROL_PLANE_SYNC", +"ACTIVATION", +"PREPARE_DEACTIVATION", +"ABORT_DEACTIVATION", +"COMMIT_DEACTIVATION" +], +"enumDeprecated": [ +false, +false, +true, +true, +true, +true +], +"enumDescriptions": [ +"An unknown reason indicates that we have not received a signal from service management about this container. Since containers are created by request of service management, this reason should never be set.", +"Due to various reasons CCFE might proactively restate a container state to a CLH to ensure that the CLH and CCFE are both aware of the container state. This reason can be tied to any of the states.", +"When a customer activates an API CCFE notifies the CLH and sets the container to the ON state.", +"When a customer deactivates and API service management starts a two-step process to perform the deactivation. The first step is to prepare. Prepare is a reason to put the container in a EXTERNAL_OFF state.", +"If the deactivation is cancelled, service managed needs to abort the deactivation. Abort is a reason to put the container in an ON state.", +"If the deactivation is followed through with, service management needs to finish deactivation. Commit is a reason to put the container in a DELETED state." +], +"type": "string" +} +}, +"type": "object" +}, +"ResourceEvent": { +"description": "The request that is passed to CLH during per-resource events. The request will be sent with update semantics in all cases except for data governance purge events. These events will be sent with delete semantics and the CLH is expected to delete the resource receiving this event.", +"id": "ResourceEvent", +"properties": { +"eventId": { +"description": "The unique ID for this per-resource event. CLHs can use this value to dedup repeated calls. required", +"type": "string" +}, +"name": { +"description": "The name of the resource for which this event is. required", +"type": "string" +}, +"state": { +"$ref": "ContainerState", +"description": "The state of the project that led to this event." +} +}, +"type": "object" +}, +"ResourceRecord": { +"description": "A DNS resource record.", +"id": "ResourceRecord", +"properties": { +"name": { +"description": "Relative name of the object affected by this record. Only applicable for CNAME records. Example: 'www'.", +"type": "string" +}, +"rrdata": { +"description": "Data for this record. Values vary by record type, as defined in RFC 1035 (section 5) and RFC 1034 (section 3.6.1).", +"type": "string" +}, +"type": { +"description": "Resource record type. Example: AAAA.", +"enum": [ +"A", +"AAAA", +"CNAME" +], +"enumDescriptions": [ +"An A resource record. Data is an IPv4 address.", +"An AAAA resource record. Data is an IPv6 address.", +"A CNAME resource record. Data is a domain name to be aliased." +], +"type": "string" +} +}, +"type": "object" +}, +"SslSettings": { +"description": "SSL configuration for a DomainMapping resource.", +"id": "SslSettings", +"properties": { +"certificateId": { +"description": "ID of the AuthorizedCertificate resource configuring SSL for the application. Clearing this field will remove SSL support.By default, a managed certificate is automatically created for every domain mapping. To omit SSL support or to configure SSL manually, specify no_managed_certificate on a CREATE or UPDATE request. You must be authorized to administer the AuthorizedCertificate resource to manually map it to a DomainMapping resource. Example: 12345.", +"type": "string" +}, +"isManagedCertificate": { +"description": "Whether the mapped certificate is an App Engine managed certificate. Managed certificates are created by default with a domain mapping. To opt out, specify no_managed_certificate on a CREATE or UPDATE request.@OutputOnly", +"type": "boolean" +} +}, +"type": "object" +}, +"Status": { +"description": "The Status type defines a logical error model that is suitable for different programming environments, including REST APIs and RPC APIs. It is used by gRPC (https://github.com/grpc). Each Status message contains three pieces of data: error code, error message, and error details.You can find out more about this error model and how to work with it in the API Design Guide (https://cloud.google.com/apis/design/errors).", +"id": "Status", +"properties": { +"code": { +"description": "The status code, which should be an enum value of google.rpc.Code.", +"format": "int32", +"type": "integer" +}, +"details": { +"description": "A list of messages that carry the error details. There is a common set of message types for APIs to use.", +"items": { +"additionalProperties": { +"description": "Properties of the object. Contains field @type with type URL.", +"type": "any" +}, +"type": "object" +}, +"type": "array" +}, +"message": { +"description": "A developer-facing error message, which should be in English. Any user-facing error message should be localized and sent in the google.rpc.Status.details field, or localized by the client.", +"type": "string" +} +}, +"type": "object" +} +}, +"servicePath": "", +"title": "App Engine Admin API", +"version": "v1alpha" +} \ No newline at end of file diff --git a/.venv/lib/python3.11/site-packages/googleapiclient/discovery_cache/documents/beyondcorp.v1.json b/.venv/lib/python3.11/site-packages/googleapiclient/discovery_cache/documents/beyondcorp.v1.json new file mode 100644 index 0000000000000000000000000000000000000000..db143a5e872cf61b22e3904cacead512cf5c2525 --- /dev/null +++ b/.venv/lib/python3.11/site-packages/googleapiclient/discovery_cache/documents/beyondcorp.v1.json @@ -0,0 +1,4311 @@ +{ +"auth": { +"oauth2": { +"scopes": { +"https://www.googleapis.com/auth/cloud-platform": { +"description": "See, edit, configure, and delete your Google Cloud data and see the email address for your Google Account." +} +} +} +}, +"basePath": "", +"baseUrl": "https://beyondcorp.googleapis.com/", +"batchPath": "batch", +"canonicalName": "BeyondCorp", +"description": "Beyondcorp Enterprise provides identity and context aware access controls for enterprise resources and enables zero-trust access. Using the Beyondcorp Enterprise APIs, enterprises can set up multi-cloud and on-prem connectivity solutions.", +"discoveryVersion": "v1", +"documentationLink": "https://cloud.google.com/", +"fullyEncodeReservedExpansion": true, +"icons": { +"x16": "http://www.google.com/images/icons/product/search-16.gif", +"x32": "http://www.google.com/images/icons/product/search-32.gif" +}, +"id": "beyondcorp:v1", +"kind": "discovery#restDescription", +"mtlsRootUrl": "https://beyondcorp.mtls.googleapis.com/", +"name": "beyondcorp", +"ownerDomain": "google.com", +"ownerName": "Google", +"parameters": { +"$.xgafv": { +"description": "V1 error format.", +"enum": [ +"1", +"2" +], +"enumDescriptions": [ +"v1 error format", +"v2 error format" +], +"location": "query", +"type": "string" +}, +"access_token": { +"description": "OAuth access token.", +"location": "query", +"type": "string" +}, +"alt": { +"default": "json", +"description": "Data format for response.", +"enum": [ +"json", +"media", +"proto" +], +"enumDescriptions": [ +"Responses with Content-Type of application/json", +"Media download with context-dependent Content-Type", +"Responses with Content-Type of application/x-protobuf" +], +"location": "query", +"type": "string" +}, +"callback": { +"description": "JSONP", +"location": "query", +"type": "string" +}, +"fields": { +"description": "Selector specifying which fields to include in a partial response.", +"location": "query", +"type": "string" +}, +"key": { +"description": "API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token.", +"location": "query", +"type": "string" +}, +"oauth_token": { +"description": "OAuth 2.0 token for the current user.", +"location": "query", +"type": "string" +}, +"prettyPrint": { +"default": "true", +"description": "Returns response with indentations and line breaks.", +"location": "query", +"type": "boolean" +}, +"quotaUser": { +"description": "Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters.", +"location": "query", +"type": "string" +}, +"uploadType": { +"description": "Legacy upload protocol for media (e.g. \"media\", \"multipart\").", +"location": "query", +"type": "string" +}, +"upload_protocol": { +"description": "Upload protocol for media (e.g. \"raw\", \"multipart\").", +"location": "query", +"type": "string" +} +}, +"protocol": "rest", +"resources": { +"organizations": { +"resources": { +"locations": { +"resources": { +"global": { +"resources": { +"partnerTenants": { +"methods": { +"getIamPolicy": { +"description": "Gets the access control policy for a resource. Returns an empty policy if the resource exists and does not have a policy set.", +"flatPath": "v1/organizations/{organizationsId}/locations/global/partnerTenants/{partnerTenantsId}:getIamPolicy", +"httpMethod": "GET", +"id": "beyondcorp.organizations.locations.global.partnerTenants.getIamPolicy", +"parameterOrder": [ +"resource" +], +"parameters": { +"options.requestedPolicyVersion": { +"description": "Optional. The maximum policy version that will be used to format the policy. Valid values are 0, 1, and 3. Requests specifying an invalid value will be rejected. Requests for policies with any conditional role bindings must specify version 3. Policies with no conditional role bindings may specify any valid value or leave the field unset. The policy in the response might use the policy version that you specified, or it might use a lower policy version. For example, if you specify version 3, but the policy has no conditional role bindings, the response uses version 1. To learn which resources support conditions in their IAM policies, see the [IAM documentation](https://cloud.google.com/iam/help/conditions/resource-policies).", +"format": "int32", +"location": "query", +"type": "integer" +}, +"resource": { +"description": "REQUIRED: The resource for which the policy is being requested. See [Resource names](https://cloud.google.com/apis/design/resource_names) for the appropriate value for this field.", +"location": "path", +"pattern": "^organizations/[^/]+/locations/global/partnerTenants/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+resource}:getIamPolicy", +"response": { +"$ref": "GoogleIamV1Policy" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"setIamPolicy": { +"description": "Sets the access control policy on the specified resource. Replaces any existing policy. Can return `NOT_FOUND`, `INVALID_ARGUMENT`, and `PERMISSION_DENIED` errors.", +"flatPath": "v1/organizations/{organizationsId}/locations/global/partnerTenants/{partnerTenantsId}:setIamPolicy", +"httpMethod": "POST", +"id": "beyondcorp.organizations.locations.global.partnerTenants.setIamPolicy", +"parameterOrder": [ +"resource" +], +"parameters": { +"resource": { +"description": "REQUIRED: The resource for which the policy is being specified. See [Resource names](https://cloud.google.com/apis/design/resource_names) for the appropriate value for this field.", +"location": "path", +"pattern": "^organizations/[^/]+/locations/global/partnerTenants/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+resource}:setIamPolicy", +"request": { +"$ref": "GoogleIamV1SetIamPolicyRequest" +}, +"response": { +"$ref": "GoogleIamV1Policy" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"testIamPermissions": { +"description": "Returns permissions that a caller has on the specified resource. If the resource does not exist, this will return an empty set of permissions, not a `NOT_FOUND` error. Note: This operation is designed to be used for building permission-aware UIs and command-line tools, not for authorization checking. This operation may \"fail open\" without warning.", +"flatPath": "v1/organizations/{organizationsId}/locations/global/partnerTenants/{partnerTenantsId}:testIamPermissions", +"httpMethod": "POST", +"id": "beyondcorp.organizations.locations.global.partnerTenants.testIamPermissions", +"parameterOrder": [ +"resource" +], +"parameters": { +"resource": { +"description": "REQUIRED: The resource for which the policy detail is being requested. See [Resource names](https://cloud.google.com/apis/design/resource_names) for the appropriate value for this field.", +"location": "path", +"pattern": "^organizations/[^/]+/locations/global/partnerTenants/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+resource}:testIamPermissions", +"request": { +"$ref": "GoogleIamV1TestIamPermissionsRequest" +}, +"response": { +"$ref": "GoogleIamV1TestIamPermissionsResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +} +}, +"resources": { +"browserDlpRules": { +"methods": { +"getIamPolicy": { +"description": "Gets the access control policy for a resource. Returns an empty policy if the resource exists and does not have a policy set.", +"flatPath": "v1/organizations/{organizationsId}/locations/global/partnerTenants/{partnerTenantsId}/browserDlpRules/{browserDlpRulesId}:getIamPolicy", +"httpMethod": "GET", +"id": "beyondcorp.organizations.locations.global.partnerTenants.browserDlpRules.getIamPolicy", +"parameterOrder": [ +"resource" +], +"parameters": { +"options.requestedPolicyVersion": { +"description": "Optional. The maximum policy version that will be used to format the policy. Valid values are 0, 1, and 3. Requests specifying an invalid value will be rejected. Requests for policies with any conditional role bindings must specify version 3. Policies with no conditional role bindings may specify any valid value or leave the field unset. The policy in the response might use the policy version that you specified, or it might use a lower policy version. For example, if you specify version 3, but the policy has no conditional role bindings, the response uses version 1. To learn which resources support conditions in their IAM policies, see the [IAM documentation](https://cloud.google.com/iam/help/conditions/resource-policies).", +"format": "int32", +"location": "query", +"type": "integer" +}, +"resource": { +"description": "REQUIRED: The resource for which the policy is being requested. See [Resource names](https://cloud.google.com/apis/design/resource_names) for the appropriate value for this field.", +"location": "path", +"pattern": "^organizations/[^/]+/locations/global/partnerTenants/[^/]+/browserDlpRules/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+resource}:getIamPolicy", +"response": { +"$ref": "GoogleIamV1Policy" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"setIamPolicy": { +"description": "Sets the access control policy on the specified resource. Replaces any existing policy. Can return `NOT_FOUND`, `INVALID_ARGUMENT`, and `PERMISSION_DENIED` errors.", +"flatPath": "v1/organizations/{organizationsId}/locations/global/partnerTenants/{partnerTenantsId}/browserDlpRules/{browserDlpRulesId}:setIamPolicy", +"httpMethod": "POST", +"id": "beyondcorp.organizations.locations.global.partnerTenants.browserDlpRules.setIamPolicy", +"parameterOrder": [ +"resource" +], +"parameters": { +"resource": { +"description": "REQUIRED: The resource for which the policy is being specified. See [Resource names](https://cloud.google.com/apis/design/resource_names) for the appropriate value for this field.", +"location": "path", +"pattern": "^organizations/[^/]+/locations/global/partnerTenants/[^/]+/browserDlpRules/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+resource}:setIamPolicy", +"request": { +"$ref": "GoogleIamV1SetIamPolicyRequest" +}, +"response": { +"$ref": "GoogleIamV1Policy" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"testIamPermissions": { +"description": "Returns permissions that a caller has on the specified resource. If the resource does not exist, this will return an empty set of permissions, not a `NOT_FOUND` error. Note: This operation is designed to be used for building permission-aware UIs and command-line tools, not for authorization checking. This operation may \"fail open\" without warning.", +"flatPath": "v1/organizations/{organizationsId}/locations/global/partnerTenants/{partnerTenantsId}/browserDlpRules/{browserDlpRulesId}:testIamPermissions", +"httpMethod": "POST", +"id": "beyondcorp.organizations.locations.global.partnerTenants.browserDlpRules.testIamPermissions", +"parameterOrder": [ +"resource" +], +"parameters": { +"resource": { +"description": "REQUIRED: The resource for which the policy detail is being requested. See [Resource names](https://cloud.google.com/apis/design/resource_names) for the appropriate value for this field.", +"location": "path", +"pattern": "^organizations/[^/]+/locations/global/partnerTenants/[^/]+/browserDlpRules/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+resource}:testIamPermissions", +"request": { +"$ref": "GoogleIamV1TestIamPermissionsRequest" +}, +"response": { +"$ref": "GoogleIamV1TestIamPermissionsResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +} +} +}, +"proxyConfigs": { +"methods": { +"getIamPolicy": { +"description": "Gets the access control policy for a resource. Returns an empty policy if the resource exists and does not have a policy set.", +"flatPath": "v1/organizations/{organizationsId}/locations/global/partnerTenants/{partnerTenantsId}/proxyConfigs/{proxyConfigsId}:getIamPolicy", +"httpMethod": "GET", +"id": "beyondcorp.organizations.locations.global.partnerTenants.proxyConfigs.getIamPolicy", +"parameterOrder": [ +"resource" +], +"parameters": { +"options.requestedPolicyVersion": { +"description": "Optional. The maximum policy version that will be used to format the policy. Valid values are 0, 1, and 3. Requests specifying an invalid value will be rejected. Requests for policies with any conditional role bindings must specify version 3. Policies with no conditional role bindings may specify any valid value or leave the field unset. The policy in the response might use the policy version that you specified, or it might use a lower policy version. For example, if you specify version 3, but the policy has no conditional role bindings, the response uses version 1. To learn which resources support conditions in their IAM policies, see the [IAM documentation](https://cloud.google.com/iam/help/conditions/resource-policies).", +"format": "int32", +"location": "query", +"type": "integer" +}, +"resource": { +"description": "REQUIRED: The resource for which the policy is being requested. See [Resource names](https://cloud.google.com/apis/design/resource_names) for the appropriate value for this field.", +"location": "path", +"pattern": "^organizations/[^/]+/locations/global/partnerTenants/[^/]+/proxyConfigs/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+resource}:getIamPolicy", +"response": { +"$ref": "GoogleIamV1Policy" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"setIamPolicy": { +"description": "Sets the access control policy on the specified resource. Replaces any existing policy. Can return `NOT_FOUND`, `INVALID_ARGUMENT`, and `PERMISSION_DENIED` errors.", +"flatPath": "v1/organizations/{organizationsId}/locations/global/partnerTenants/{partnerTenantsId}/proxyConfigs/{proxyConfigsId}:setIamPolicy", +"httpMethod": "POST", +"id": "beyondcorp.organizations.locations.global.partnerTenants.proxyConfigs.setIamPolicy", +"parameterOrder": [ +"resource" +], +"parameters": { +"resource": { +"description": "REQUIRED: The resource for which the policy is being specified. See [Resource names](https://cloud.google.com/apis/design/resource_names) for the appropriate value for this field.", +"location": "path", +"pattern": "^organizations/[^/]+/locations/global/partnerTenants/[^/]+/proxyConfigs/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+resource}:setIamPolicy", +"request": { +"$ref": "GoogleIamV1SetIamPolicyRequest" +}, +"response": { +"$ref": "GoogleIamV1Policy" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"testIamPermissions": { +"description": "Returns permissions that a caller has on the specified resource. If the resource does not exist, this will return an empty set of permissions, not a `NOT_FOUND` error. Note: This operation is designed to be used for building permission-aware UIs and command-line tools, not for authorization checking. This operation may \"fail open\" without warning.", +"flatPath": "v1/organizations/{organizationsId}/locations/global/partnerTenants/{partnerTenantsId}/proxyConfigs/{proxyConfigsId}:testIamPermissions", +"httpMethod": "POST", +"id": "beyondcorp.organizations.locations.global.partnerTenants.proxyConfigs.testIamPermissions", +"parameterOrder": [ +"resource" +], +"parameters": { +"resource": { +"description": "REQUIRED: The resource for which the policy detail is being requested. See [Resource names](https://cloud.google.com/apis/design/resource_names) for the appropriate value for this field.", +"location": "path", +"pattern": "^organizations/[^/]+/locations/global/partnerTenants/[^/]+/proxyConfigs/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+resource}:testIamPermissions", +"request": { +"$ref": "GoogleIamV1TestIamPermissionsRequest" +}, +"response": { +"$ref": "GoogleIamV1TestIamPermissionsResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +} +} +} +} +} +} +}, +"operations": { +"methods": { +"cancel": { +"description": "Starts asynchronous cancellation on a long-running operation. The server makes a best effort to cancel the operation, but success is not guaranteed. If the server doesn't support this method, it returns `google.rpc.Code.UNIMPLEMENTED`. Clients can use Operations.GetOperation or other methods to check whether the cancellation succeeded or whether the operation completed despite cancellation. On successful cancellation, the operation is not deleted; instead, it becomes an operation with an Operation.error value with a google.rpc.Status.code of `1`, corresponding to `Code.CANCELLED`.", +"flatPath": "v1/organizations/{organizationsId}/locations/{locationsId}/operations/{operationsId}:cancel", +"httpMethod": "POST", +"id": "beyondcorp.organizations.locations.operations.cancel", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "The name of the operation resource to be cancelled.", +"location": "path", +"pattern": "^organizations/[^/]+/locations/[^/]+/operations/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+name}:cancel", +"request": { +"$ref": "GoogleLongrunningCancelOperationRequest" +}, +"response": { +"$ref": "Empty" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"delete": { +"description": "Deletes a long-running operation. This method indicates that the client is no longer interested in the operation result. It does not cancel the operation. If the server doesn't support this method, it returns `google.rpc.Code.UNIMPLEMENTED`.", +"flatPath": "v1/organizations/{organizationsId}/locations/{locationsId}/operations/{operationsId}", +"httpMethod": "DELETE", +"id": "beyondcorp.organizations.locations.operations.delete", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "The name of the operation resource to be deleted.", +"location": "path", +"pattern": "^organizations/[^/]+/locations/[^/]+/operations/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+name}", +"response": { +"$ref": "Empty" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"get": { +"description": "Gets the latest state of a long-running operation. Clients can use this method to poll the operation result at intervals as recommended by the API service.", +"flatPath": "v1/organizations/{organizationsId}/locations/{locationsId}/operations/{operationsId}", +"httpMethod": "GET", +"id": "beyondcorp.organizations.locations.operations.get", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "The name of the operation resource.", +"location": "path", +"pattern": "^organizations/[^/]+/locations/[^/]+/operations/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+name}", +"response": { +"$ref": "GoogleLongrunningOperation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"list": { +"description": "Lists operations that match the specified filter in the request. If the server doesn't support this method, it returns `UNIMPLEMENTED`.", +"flatPath": "v1/organizations/{organizationsId}/locations/{locationsId}/operations", +"httpMethod": "GET", +"id": "beyondcorp.organizations.locations.operations.list", +"parameterOrder": [ +"name" +], +"parameters": { +"filter": { +"description": "The standard list filter.", +"location": "query", +"type": "string" +}, +"name": { +"description": "The name of the operation's parent resource.", +"location": "path", +"pattern": "^organizations/[^/]+/locations/[^/]+$", +"required": true, +"type": "string" +}, +"pageSize": { +"description": "The standard list page size.", +"format": "int32", +"location": "query", +"type": "integer" +}, +"pageToken": { +"description": "The standard list page token.", +"location": "query", +"type": "string" +} +}, +"path": "v1/{+name}/operations", +"response": { +"$ref": "GoogleLongrunningListOperationsResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +} +} +} +} +} +} +}, +"projects": { +"resources": { +"locations": { +"methods": { +"get": { +"description": "Gets information about a location.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}", +"httpMethod": "GET", +"id": "beyondcorp.projects.locations.get", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Resource name for the location.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+name}", +"response": { +"$ref": "GoogleCloudLocationLocation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"list": { +"description": "Lists information about the supported locations for this service.", +"flatPath": "v1/projects/{projectsId}/locations", +"httpMethod": "GET", +"id": "beyondcorp.projects.locations.list", +"parameterOrder": [ +"name" +], +"parameters": { +"filter": { +"description": "A filter to narrow down results to a preferred subset. The filtering language accepts strings like `\"displayName=tokyo\"`, and is documented in more detail in [AIP-160](https://google.aip.dev/160).", +"location": "query", +"type": "string" +}, +"name": { +"description": "The resource that owns the locations collection, if applicable.", +"location": "path", +"pattern": "^projects/[^/]+$", +"required": true, +"type": "string" +}, +"pageSize": { +"description": "The maximum number of results to return. If not set, the service selects a default.", +"format": "int32", +"location": "query", +"type": "integer" +}, +"pageToken": { +"description": "A page token received from the `next_page_token` field in the response. Send that page token to receive the subsequent page.", +"location": "query", +"type": "string" +} +}, +"path": "v1/{+name}/locations", +"response": { +"$ref": "GoogleCloudLocationListLocationsResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +} +}, +"resources": { +"appConnections": { +"methods": { +"create": { +"description": "Creates a new AppConnection in a given project and location.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/appConnections", +"httpMethod": "POST", +"id": "beyondcorp.projects.locations.appConnections.create", +"parameterOrder": [ +"parent" +], +"parameters": { +"appConnectionId": { +"description": "Optional. User-settable AppConnection resource ID. * Must start with a letter. * Must contain between 4-63 characters from `/a-z-/`. * Must end with a number or a letter.", +"location": "query", +"type": "string" +}, +"parent": { +"description": "Required. The resource project name of the AppConnection location using the form: `projects/{project_id}/locations/{location_id}`", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+$", +"required": true, +"type": "string" +}, +"requestId": { +"description": "Optional. An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. The server will guarantee that for at least 60 minutes since the first request. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +}, +"validateOnly": { +"description": "Optional. If set, validates request by executing a dry-run which would not alter the resource in any way.", +"location": "query", +"type": "boolean" +} +}, +"path": "v1/{+parent}/appConnections", +"request": { +"$ref": "GoogleCloudBeyondcorpAppconnectionsV1AppConnection" +}, +"response": { +"$ref": "GoogleLongrunningOperation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"delete": { +"description": "Deletes a single AppConnection.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/appConnections/{appConnectionsId}", +"httpMethod": "DELETE", +"id": "beyondcorp.projects.locations.appConnections.delete", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. BeyondCorp Connector name using the form: `projects/{project_id}/locations/{location_id}/appConnections/{app_connection_id}`", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/appConnections/[^/]+$", +"required": true, +"type": "string" +}, +"requestId": { +"description": "Optional. An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. The server will guarantee that for at least 60 minutes after the first request. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +}, +"validateOnly": { +"description": "Optional. If set, validates request by executing a dry-run which would not alter the resource in any way.", +"location": "query", +"type": "boolean" +} +}, +"path": "v1/{+name}", +"response": { +"$ref": "GoogleLongrunningOperation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"get": { +"description": "Gets details of a single AppConnection.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/appConnections/{appConnectionsId}", +"httpMethod": "GET", +"id": "beyondcorp.projects.locations.appConnections.get", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. BeyondCorp AppConnection name using the form: `projects/{project_id}/locations/{location_id}/appConnections/{app_connection_id}`", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/appConnections/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+name}", +"response": { +"$ref": "GoogleCloudBeyondcorpAppconnectionsV1AppConnection" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"getIamPolicy": { +"description": "Gets the access control policy for a resource. Returns an empty policy if the resource exists and does not have a policy set.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/appConnections/{appConnectionsId}:getIamPolicy", +"httpMethod": "GET", +"id": "beyondcorp.projects.locations.appConnections.getIamPolicy", +"parameterOrder": [ +"resource" +], +"parameters": { +"options.requestedPolicyVersion": { +"description": "Optional. The maximum policy version that will be used to format the policy. Valid values are 0, 1, and 3. Requests specifying an invalid value will be rejected. Requests for policies with any conditional role bindings must specify version 3. Policies with no conditional role bindings may specify any valid value or leave the field unset. The policy in the response might use the policy version that you specified, or it might use a lower policy version. For example, if you specify version 3, but the policy has no conditional role bindings, the response uses version 1. To learn which resources support conditions in their IAM policies, see the [IAM documentation](https://cloud.google.com/iam/help/conditions/resource-policies).", +"format": "int32", +"location": "query", +"type": "integer" +}, +"resource": { +"description": "REQUIRED: The resource for which the policy is being requested. See [Resource names](https://cloud.google.com/apis/design/resource_names) for the appropriate value for this field.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/appConnections/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+resource}:getIamPolicy", +"response": { +"$ref": "GoogleIamV1Policy" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"list": { +"description": "Lists AppConnections in a given project and location.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/appConnections", +"httpMethod": "GET", +"id": "beyondcorp.projects.locations.appConnections.list", +"parameterOrder": [ +"parent" +], +"parameters": { +"filter": { +"description": "Optional. A filter specifying constraints of a list operation.", +"location": "query", +"type": "string" +}, +"orderBy": { +"description": "Optional. Specifies the ordering of results. See [Sorting order](https://cloud.google.com/apis/design/design_patterns#sorting_order) for more information.", +"location": "query", +"type": "string" +}, +"pageSize": { +"description": "Optional. The maximum number of items to return. If not specified, a default value of 50 will be used by the service. Regardless of the page_size value, the response may include a partial list and a caller should only rely on response's next_page_token to determine if there are more instances left to be queried.", +"format": "int32", +"location": "query", +"type": "integer" +}, +"pageToken": { +"description": "Optional. The next_page_token value returned from a previous ListAppConnectionsRequest, if any.", +"location": "query", +"type": "string" +}, +"parent": { +"description": "Required. The resource name of the AppConnection location using the form: `projects/{project_id}/locations/{location_id}`", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+parent}/appConnections", +"response": { +"$ref": "GoogleCloudBeyondcorpAppconnectionsV1ListAppConnectionsResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"patch": { +"description": "Updates the parameters of a single AppConnection.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/appConnections/{appConnectionsId}", +"httpMethod": "PATCH", +"id": "beyondcorp.projects.locations.appConnections.patch", +"parameterOrder": [ +"name" +], +"parameters": { +"allowMissing": { +"description": "Optional. If set as true, will create the resource if it is not found.", +"location": "query", +"type": "boolean" +}, +"name": { +"description": "Required. Unique resource name of the AppConnection. The name is ignored when creating a AppConnection.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/appConnections/[^/]+$", +"required": true, +"type": "string" +}, +"requestId": { +"description": "Optional. An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. The server will guarantee that for at least 60 minutes since the first request. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +}, +"updateMask": { +"description": "Required. Mask of fields to update. At least one path must be supplied in this field. The elements of the repeated paths field may only include these fields from [BeyondCorp.AppConnection]: * `labels` * `display_name` * `application_endpoint` * `connectors`", +"format": "google-fieldmask", +"location": "query", +"type": "string" +}, +"validateOnly": { +"description": "Optional. If set, validates request by executing a dry-run which would not alter the resource in any way.", +"location": "query", +"type": "boolean" +} +}, +"path": "v1/{+name}", +"request": { +"$ref": "GoogleCloudBeyondcorpAppconnectionsV1AppConnection" +}, +"response": { +"$ref": "GoogleLongrunningOperation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"resolve": { +"description": "Resolves AppConnections details for a given AppConnector. An internal method called by a connector to find AppConnections to connect to.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/appConnections:resolve", +"httpMethod": "GET", +"id": "beyondcorp.projects.locations.appConnections.resolve", +"parameterOrder": [ +"parent" +], +"parameters": { +"appConnectorId": { +"description": "Required. BeyondCorp Connector name of the connector associated with those AppConnections using the form: `projects/{project_id}/locations/{location_id}/appConnectors/{app_connector_id}`", +"location": "query", +"type": "string" +}, +"pageSize": { +"description": "Optional. The maximum number of items to return. If not specified, a default value of 50 will be used by the service. Regardless of the page_size value, the response may include a partial list and a caller should only rely on response's next_page_token to determine if there are more instances left to be queried.", +"format": "int32", +"location": "query", +"type": "integer" +}, +"pageToken": { +"description": "Optional. The next_page_token value returned from a previous ResolveAppConnectionsResponse, if any.", +"location": "query", +"type": "string" +}, +"parent": { +"description": "Required. The resource name of the AppConnection location using the form: `projects/{project_id}/locations/{location_id}`", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+parent}/appConnections:resolve", +"response": { +"$ref": "GoogleCloudBeyondcorpAppconnectionsV1ResolveAppConnectionsResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"setIamPolicy": { +"description": "Sets the access control policy on the specified resource. Replaces any existing policy. Can return `NOT_FOUND`, `INVALID_ARGUMENT`, and `PERMISSION_DENIED` errors.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/appConnections/{appConnectionsId}:setIamPolicy", +"httpMethod": "POST", +"id": "beyondcorp.projects.locations.appConnections.setIamPolicy", +"parameterOrder": [ +"resource" +], +"parameters": { +"resource": { +"description": "REQUIRED: The resource for which the policy is being specified. See [Resource names](https://cloud.google.com/apis/design/resource_names) for the appropriate value for this field.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/appConnections/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+resource}:setIamPolicy", +"request": { +"$ref": "GoogleIamV1SetIamPolicyRequest" +}, +"response": { +"$ref": "GoogleIamV1Policy" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"testIamPermissions": { +"description": "Returns permissions that a caller has on the specified resource. If the resource does not exist, this will return an empty set of permissions, not a `NOT_FOUND` error. Note: This operation is designed to be used for building permission-aware UIs and command-line tools, not for authorization checking. This operation may \"fail open\" without warning.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/appConnections/{appConnectionsId}:testIamPermissions", +"httpMethod": "POST", +"id": "beyondcorp.projects.locations.appConnections.testIamPermissions", +"parameterOrder": [ +"resource" +], +"parameters": { +"resource": { +"description": "REQUIRED: The resource for which the policy detail is being requested. See [Resource names](https://cloud.google.com/apis/design/resource_names) for the appropriate value for this field.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/appConnections/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+resource}:testIamPermissions", +"request": { +"$ref": "GoogleIamV1TestIamPermissionsRequest" +}, +"response": { +"$ref": "GoogleIamV1TestIamPermissionsResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +} +} +}, +"appConnectors": { +"methods": { +"create": { +"description": "Creates a new AppConnector in a given project and location.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/appConnectors", +"httpMethod": "POST", +"id": "beyondcorp.projects.locations.appConnectors.create", +"parameterOrder": [ +"parent" +], +"parameters": { +"appConnectorId": { +"description": "Optional. User-settable AppConnector resource ID. * Must start with a letter. * Must contain between 4-63 characters from `/a-z-/`. * Must end with a number or a letter.", +"location": "query", +"type": "string" +}, +"parent": { +"description": "Required. The resource project name of the AppConnector location using the form: `projects/{project_id}/locations/{location_id}`", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+$", +"required": true, +"type": "string" +}, +"requestId": { +"description": "Optional. An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. The server will guarantee that for at least 60 minutes since the first request. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +}, +"validateOnly": { +"description": "Optional. If set, validates request by executing a dry-run which would not alter the resource in any way.", +"location": "query", +"type": "boolean" +} +}, +"path": "v1/{+parent}/appConnectors", +"request": { +"$ref": "GoogleCloudBeyondcorpAppconnectorsV1AppConnector" +}, +"response": { +"$ref": "GoogleLongrunningOperation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"delete": { +"description": "Deletes a single AppConnector.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/appConnectors/{appConnectorsId}", +"httpMethod": "DELETE", +"id": "beyondcorp.projects.locations.appConnectors.delete", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. BeyondCorp AppConnector name using the form: `projects/{project_id}/locations/{location_id}/appConnectors/{app_connector_id}`", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/appConnectors/[^/]+$", +"required": true, +"type": "string" +}, +"requestId": { +"description": "Optional. An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. The server will guarantee that for at least 60 minutes after the first request. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +}, +"validateOnly": { +"description": "Optional. If set, validates request by executing a dry-run which would not alter the resource in any way.", +"location": "query", +"type": "boolean" +} +}, +"path": "v1/{+name}", +"response": { +"$ref": "GoogleLongrunningOperation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"get": { +"description": "Gets details of a single AppConnector.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/appConnectors/{appConnectorsId}", +"httpMethod": "GET", +"id": "beyondcorp.projects.locations.appConnectors.get", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. BeyondCorp AppConnector name using the form: `projects/{project_id}/locations/{location_id}/appConnectors/{app_connector_id}`", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/appConnectors/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+name}", +"response": { +"$ref": "GoogleCloudBeyondcorpAppconnectorsV1AppConnector" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"getIamPolicy": { +"description": "Gets the access control policy for a resource. Returns an empty policy if the resource exists and does not have a policy set.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/appConnectors/{appConnectorsId}:getIamPolicy", +"httpMethod": "GET", +"id": "beyondcorp.projects.locations.appConnectors.getIamPolicy", +"parameterOrder": [ +"resource" +], +"parameters": { +"options.requestedPolicyVersion": { +"description": "Optional. The maximum policy version that will be used to format the policy. Valid values are 0, 1, and 3. Requests specifying an invalid value will be rejected. Requests for policies with any conditional role bindings must specify version 3. Policies with no conditional role bindings may specify any valid value or leave the field unset. The policy in the response might use the policy version that you specified, or it might use a lower policy version. For example, if you specify version 3, but the policy has no conditional role bindings, the response uses version 1. To learn which resources support conditions in their IAM policies, see the [IAM documentation](https://cloud.google.com/iam/help/conditions/resource-policies).", +"format": "int32", +"location": "query", +"type": "integer" +}, +"resource": { +"description": "REQUIRED: The resource for which the policy is being requested. See [Resource names](https://cloud.google.com/apis/design/resource_names) for the appropriate value for this field.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/appConnectors/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+resource}:getIamPolicy", +"response": { +"$ref": "GoogleIamV1Policy" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"list": { +"description": "Lists AppConnectors in a given project and location.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/appConnectors", +"httpMethod": "GET", +"id": "beyondcorp.projects.locations.appConnectors.list", +"parameterOrder": [ +"parent" +], +"parameters": { +"filter": { +"description": "Optional. A filter specifying constraints of a list operation.", +"location": "query", +"type": "string" +}, +"orderBy": { +"description": "Optional. Specifies the ordering of results. See [Sorting order](https://cloud.google.com/apis/design/design_patterns#sorting_order) for more information.", +"location": "query", +"type": "string" +}, +"pageSize": { +"description": "Optional. The maximum number of items to return. If not specified, a default value of 50 will be used by the service. Regardless of the page_size value, the response may include a partial list and a caller should only rely on response's next_page_token to determine if there are more instances left to be queried.", +"format": "int32", +"location": "query", +"type": "integer" +}, +"pageToken": { +"description": "Optional. The next_page_token value returned from a previous ListAppConnectorsRequest, if any.", +"location": "query", +"type": "string" +}, +"parent": { +"description": "Required. The resource name of the AppConnector location using the form: `projects/{project_id}/locations/{location_id}`", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+parent}/appConnectors", +"response": { +"$ref": "GoogleCloudBeyondcorpAppconnectorsV1ListAppConnectorsResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"patch": { +"description": "Updates the parameters of a single AppConnector.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/appConnectors/{appConnectorsId}", +"httpMethod": "PATCH", +"id": "beyondcorp.projects.locations.appConnectors.patch", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. Unique resource name of the AppConnector. The name is ignored when creating a AppConnector.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/appConnectors/[^/]+$", +"required": true, +"type": "string" +}, +"requestId": { +"description": "Optional. An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. The server will guarantee that for at least 60 minutes since the first request. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +}, +"updateMask": { +"description": "Required. Mask of fields to update. At least one path must be supplied in this field. The elements of the repeated paths field may only include these fields from [BeyondCorp.AppConnector]: * `labels` * `display_name`", +"format": "google-fieldmask", +"location": "query", +"type": "string" +}, +"validateOnly": { +"description": "Optional. If set, validates request by executing a dry-run which would not alter the resource in any way.", +"location": "query", +"type": "boolean" +} +}, +"path": "v1/{+name}", +"request": { +"$ref": "GoogleCloudBeyondcorpAppconnectorsV1AppConnector" +}, +"response": { +"$ref": "GoogleLongrunningOperation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"reportStatus": { +"description": "Report status for a given connector.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/appConnectors/{appConnectorsId}:reportStatus", +"httpMethod": "POST", +"id": "beyondcorp.projects.locations.appConnectors.reportStatus", +"parameterOrder": [ +"appConnector" +], +"parameters": { +"appConnector": { +"description": "Required. BeyondCorp Connector name using the form: `projects/{project_id}/locations/{location_id}/connectors/{connector}`", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/appConnectors/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+appConnector}:reportStatus", +"request": { +"$ref": "GoogleCloudBeyondcorpAppconnectorsV1ReportStatusRequest" +}, +"response": { +"$ref": "GoogleLongrunningOperation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"resolveInstanceConfig": { +"description": "Gets instance configuration for a given AppConnector. An internal method called by a AppConnector to get its container config.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/appConnectors/{appConnectorsId}:resolveInstanceConfig", +"httpMethod": "GET", +"id": "beyondcorp.projects.locations.appConnectors.resolveInstanceConfig", +"parameterOrder": [ +"appConnector" +], +"parameters": { +"appConnector": { +"description": "Required. BeyondCorp AppConnector name using the form: `projects/{project_id}/locations/{location_id}/appConnectors/{app_connector}`", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/appConnectors/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+appConnector}:resolveInstanceConfig", +"response": { +"$ref": "GoogleCloudBeyondcorpAppconnectorsV1ResolveInstanceConfigResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"setIamPolicy": { +"description": "Sets the access control policy on the specified resource. Replaces any existing policy. Can return `NOT_FOUND`, `INVALID_ARGUMENT`, and `PERMISSION_DENIED` errors.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/appConnectors/{appConnectorsId}:setIamPolicy", +"httpMethod": "POST", +"id": "beyondcorp.projects.locations.appConnectors.setIamPolicy", +"parameterOrder": [ +"resource" +], +"parameters": { +"resource": { +"description": "REQUIRED: The resource for which the policy is being specified. See [Resource names](https://cloud.google.com/apis/design/resource_names) for the appropriate value for this field.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/appConnectors/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+resource}:setIamPolicy", +"request": { +"$ref": "GoogleIamV1SetIamPolicyRequest" +}, +"response": { +"$ref": "GoogleIamV1Policy" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"testIamPermissions": { +"description": "Returns permissions that a caller has on the specified resource. If the resource does not exist, this will return an empty set of permissions, not a `NOT_FOUND` error. Note: This operation is designed to be used for building permission-aware UIs and command-line tools, not for authorization checking. This operation may \"fail open\" without warning.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/appConnectors/{appConnectorsId}:testIamPermissions", +"httpMethod": "POST", +"id": "beyondcorp.projects.locations.appConnectors.testIamPermissions", +"parameterOrder": [ +"resource" +], +"parameters": { +"resource": { +"description": "REQUIRED: The resource for which the policy detail is being requested. See [Resource names](https://cloud.google.com/apis/design/resource_names) for the appropriate value for this field.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/appConnectors/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+resource}:testIamPermissions", +"request": { +"$ref": "GoogleIamV1TestIamPermissionsRequest" +}, +"response": { +"$ref": "GoogleIamV1TestIamPermissionsResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +} +} +}, +"appGateways": { +"methods": { +"create": { +"description": "Creates a new AppGateway in a given project and location.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/appGateways", +"httpMethod": "POST", +"id": "beyondcorp.projects.locations.appGateways.create", +"parameterOrder": [ +"parent" +], +"parameters": { +"appGatewayId": { +"description": "Optional. User-settable AppGateway resource ID. * Must start with a letter. * Must contain between 4-63 characters from `/a-z-/`. * Must end with a number or a letter.", +"location": "query", +"type": "string" +}, +"parent": { +"description": "Required. The resource project name of the AppGateway location using the form: `projects/{project_id}/locations/{location_id}`", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+$", +"required": true, +"type": "string" +}, +"requestId": { +"description": "Optional. An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. The server will guarantee that for at least 60 minutes since the first request. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +}, +"validateOnly": { +"description": "Optional. If set, validates request by executing a dry-run which would not alter the resource in any way.", +"location": "query", +"type": "boolean" +} +}, +"path": "v1/{+parent}/appGateways", +"request": { +"$ref": "AppGateway" +}, +"response": { +"$ref": "GoogleLongrunningOperation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"delete": { +"description": "Deletes a single AppGateway.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/appGateways/{appGatewaysId}", +"httpMethod": "DELETE", +"id": "beyondcorp.projects.locations.appGateways.delete", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. BeyondCorp AppGateway name using the form: `projects/{project_id}/locations/{location_id}/appGateways/{app_gateway_id}`", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/appGateways/[^/]+$", +"required": true, +"type": "string" +}, +"requestId": { +"description": "Optional. An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. The server will guarantee that for at least 60 minutes after the first request. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +}, +"validateOnly": { +"description": "Optional. If set, validates request by executing a dry-run which would not alter the resource in any way.", +"location": "query", +"type": "boolean" +} +}, +"path": "v1/{+name}", +"response": { +"$ref": "GoogleLongrunningOperation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"get": { +"description": "Gets details of a single AppGateway.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/appGateways/{appGatewaysId}", +"httpMethod": "GET", +"id": "beyondcorp.projects.locations.appGateways.get", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. BeyondCorp AppGateway name using the form: `projects/{project_id}/locations/{location_id}/appGateways/{app_gateway_id}`", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/appGateways/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+name}", +"response": { +"$ref": "AppGateway" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"getIamPolicy": { +"description": "Gets the access control policy for a resource. Returns an empty policy if the resource exists and does not have a policy set.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/appGateways/{appGatewaysId}:getIamPolicy", +"httpMethod": "GET", +"id": "beyondcorp.projects.locations.appGateways.getIamPolicy", +"parameterOrder": [ +"resource" +], +"parameters": { +"options.requestedPolicyVersion": { +"description": "Optional. The maximum policy version that will be used to format the policy. Valid values are 0, 1, and 3. Requests specifying an invalid value will be rejected. Requests for policies with any conditional role bindings must specify version 3. Policies with no conditional role bindings may specify any valid value or leave the field unset. The policy in the response might use the policy version that you specified, or it might use a lower policy version. For example, if you specify version 3, but the policy has no conditional role bindings, the response uses version 1. To learn which resources support conditions in their IAM policies, see the [IAM documentation](https://cloud.google.com/iam/help/conditions/resource-policies).", +"format": "int32", +"location": "query", +"type": "integer" +}, +"resource": { +"description": "REQUIRED: The resource for which the policy is being requested. See [Resource names](https://cloud.google.com/apis/design/resource_names) for the appropriate value for this field.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/appGateways/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+resource}:getIamPolicy", +"response": { +"$ref": "GoogleIamV1Policy" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"list": { +"description": "Lists AppGateways in a given project and location.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/appGateways", +"httpMethod": "GET", +"id": "beyondcorp.projects.locations.appGateways.list", +"parameterOrder": [ +"parent" +], +"parameters": { +"filter": { +"description": "Optional. A filter specifying constraints of a list operation.", +"location": "query", +"type": "string" +}, +"orderBy": { +"description": "Optional. Specifies the ordering of results. See [Sorting order](https://cloud.google.com/apis/design/design_patterns#sorting_order) for more information.", +"location": "query", +"type": "string" +}, +"pageSize": { +"description": "Optional. The maximum number of items to return. If not specified, a default value of 50 will be used by the service. Regardless of the page_size value, the response may include a partial list and a caller should only rely on response's next_page_token to determine if there are more instances left to be queried.", +"format": "int32", +"location": "query", +"type": "integer" +}, +"pageToken": { +"description": "Optional. The next_page_token value returned from a previous ListAppGatewaysRequest, if any.", +"location": "query", +"type": "string" +}, +"parent": { +"description": "Required. The resource name of the AppGateway location using the form: `projects/{project_id}/locations/{location_id}`", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+parent}/appGateways", +"response": { +"$ref": "ListAppGatewaysResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"setIamPolicy": { +"description": "Sets the access control policy on the specified resource. Replaces any existing policy. Can return `NOT_FOUND`, `INVALID_ARGUMENT`, and `PERMISSION_DENIED` errors.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/appGateways/{appGatewaysId}:setIamPolicy", +"httpMethod": "POST", +"id": "beyondcorp.projects.locations.appGateways.setIamPolicy", +"parameterOrder": [ +"resource" +], +"parameters": { +"resource": { +"description": "REQUIRED: The resource for which the policy is being specified. See [Resource names](https://cloud.google.com/apis/design/resource_names) for the appropriate value for this field.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/appGateways/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+resource}:setIamPolicy", +"request": { +"$ref": "GoogleIamV1SetIamPolicyRequest" +}, +"response": { +"$ref": "GoogleIamV1Policy" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"shouldThrottle": { +"description": "Calls the Bouncer method ShouldThrottle to check if a request should be throttled.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/appGateways/{appGatewaysId}:shouldThrottle", +"httpMethod": "GET", +"id": "beyondcorp.projects.locations.appGateways.shouldThrottle", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. Name of the resource", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/appGateways/[^/]+$", +"required": true, +"type": "string" +}, +"port": { +"description": "Optional. The port that is being throttled", +"format": "int32", +"location": "query", +"type": "integer" +}, +"requestedAmount": { +"description": "Optional. The current throughput through the port (mbps)", +"format": "int64", +"location": "query", +"type": "string" +} +}, +"path": "v1/{+name}:shouldThrottle", +"response": { +"$ref": "ShouldThrottleResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"testIamPermissions": { +"description": "Returns permissions that a caller has on the specified resource. If the resource does not exist, this will return an empty set of permissions, not a `NOT_FOUND` error. Note: This operation is designed to be used for building permission-aware UIs and command-line tools, not for authorization checking. This operation may \"fail open\" without warning.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/appGateways/{appGatewaysId}:testIamPermissions", +"httpMethod": "POST", +"id": "beyondcorp.projects.locations.appGateways.testIamPermissions", +"parameterOrder": [ +"resource" +], +"parameters": { +"resource": { +"description": "REQUIRED: The resource for which the policy detail is being requested. See [Resource names](https://cloud.google.com/apis/design/resource_names) for the appropriate value for this field.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/appGateways/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+resource}:testIamPermissions", +"request": { +"$ref": "GoogleIamV1TestIamPermissionsRequest" +}, +"response": { +"$ref": "GoogleIamV1TestIamPermissionsResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +} +} +}, +"clientConnectorServices": { +"methods": { +"getIamPolicy": { +"description": "Gets the access control policy for a resource. Returns an empty policy if the resource exists and does not have a policy set.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/clientConnectorServices/{clientConnectorServicesId}:getIamPolicy", +"httpMethod": "GET", +"id": "beyondcorp.projects.locations.clientConnectorServices.getIamPolicy", +"parameterOrder": [ +"resource" +], +"parameters": { +"options.requestedPolicyVersion": { +"description": "Optional. The maximum policy version that will be used to format the policy. Valid values are 0, 1, and 3. Requests specifying an invalid value will be rejected. Requests for policies with any conditional role bindings must specify version 3. Policies with no conditional role bindings may specify any valid value or leave the field unset. The policy in the response might use the policy version that you specified, or it might use a lower policy version. For example, if you specify version 3, but the policy has no conditional role bindings, the response uses version 1. To learn which resources support conditions in their IAM policies, see the [IAM documentation](https://cloud.google.com/iam/help/conditions/resource-policies).", +"format": "int32", +"location": "query", +"type": "integer" +}, +"resource": { +"description": "REQUIRED: The resource for which the policy is being requested. See [Resource names](https://cloud.google.com/apis/design/resource_names) for the appropriate value for this field.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/clientConnectorServices/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+resource}:getIamPolicy", +"response": { +"$ref": "GoogleIamV1Policy" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"setIamPolicy": { +"description": "Sets the access control policy on the specified resource. Replaces any existing policy. Can return `NOT_FOUND`, `INVALID_ARGUMENT`, and `PERMISSION_DENIED` errors.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/clientConnectorServices/{clientConnectorServicesId}:setIamPolicy", +"httpMethod": "POST", +"id": "beyondcorp.projects.locations.clientConnectorServices.setIamPolicy", +"parameterOrder": [ +"resource" +], +"parameters": { +"resource": { +"description": "REQUIRED: The resource for which the policy is being specified. See [Resource names](https://cloud.google.com/apis/design/resource_names) for the appropriate value for this field.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/clientConnectorServices/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+resource}:setIamPolicy", +"request": { +"$ref": "GoogleIamV1SetIamPolicyRequest" +}, +"response": { +"$ref": "GoogleIamV1Policy" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"testIamPermissions": { +"description": "Returns permissions that a caller has on the specified resource. If the resource does not exist, this will return an empty set of permissions, not a `NOT_FOUND` error. Note: This operation is designed to be used for building permission-aware UIs and command-line tools, not for authorization checking. This operation may \"fail open\" without warning.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/clientConnectorServices/{clientConnectorServicesId}:testIamPermissions", +"httpMethod": "POST", +"id": "beyondcorp.projects.locations.clientConnectorServices.testIamPermissions", +"parameterOrder": [ +"resource" +], +"parameters": { +"resource": { +"description": "REQUIRED: The resource for which the policy detail is being requested. See [Resource names](https://cloud.google.com/apis/design/resource_names) for the appropriate value for this field.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/clientConnectorServices/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+resource}:testIamPermissions", +"request": { +"$ref": "GoogleIamV1TestIamPermissionsRequest" +}, +"response": { +"$ref": "GoogleIamV1TestIamPermissionsResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +} +} +}, +"clientGateways": { +"methods": { +"getIamPolicy": { +"description": "Gets the access control policy for a resource. Returns an empty policy if the resource exists and does not have a policy set.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/clientGateways/{clientGatewaysId}:getIamPolicy", +"httpMethod": "GET", +"id": "beyondcorp.projects.locations.clientGateways.getIamPolicy", +"parameterOrder": [ +"resource" +], +"parameters": { +"options.requestedPolicyVersion": { +"description": "Optional. The maximum policy version that will be used to format the policy. Valid values are 0, 1, and 3. Requests specifying an invalid value will be rejected. Requests for policies with any conditional role bindings must specify version 3. Policies with no conditional role bindings may specify any valid value or leave the field unset. The policy in the response might use the policy version that you specified, or it might use a lower policy version. For example, if you specify version 3, but the policy has no conditional role bindings, the response uses version 1. To learn which resources support conditions in their IAM policies, see the [IAM documentation](https://cloud.google.com/iam/help/conditions/resource-policies).", +"format": "int32", +"location": "query", +"type": "integer" +}, +"resource": { +"description": "REQUIRED: The resource for which the policy is being requested. See [Resource names](https://cloud.google.com/apis/design/resource_names) for the appropriate value for this field.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/clientGateways/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+resource}:getIamPolicy", +"response": { +"$ref": "GoogleIamV1Policy" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"setIamPolicy": { +"description": "Sets the access control policy on the specified resource. Replaces any existing policy. Can return `NOT_FOUND`, `INVALID_ARGUMENT`, and `PERMISSION_DENIED` errors.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/clientGateways/{clientGatewaysId}:setIamPolicy", +"httpMethod": "POST", +"id": "beyondcorp.projects.locations.clientGateways.setIamPolicy", +"parameterOrder": [ +"resource" +], +"parameters": { +"resource": { +"description": "REQUIRED: The resource for which the policy is being specified. See [Resource names](https://cloud.google.com/apis/design/resource_names) for the appropriate value for this field.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/clientGateways/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+resource}:setIamPolicy", +"request": { +"$ref": "GoogleIamV1SetIamPolicyRequest" +}, +"response": { +"$ref": "GoogleIamV1Policy" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"testIamPermissions": { +"description": "Returns permissions that a caller has on the specified resource. If the resource does not exist, this will return an empty set of permissions, not a `NOT_FOUND` error. Note: This operation is designed to be used for building permission-aware UIs and command-line tools, not for authorization checking. This operation may \"fail open\" without warning.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/clientGateways/{clientGatewaysId}:testIamPermissions", +"httpMethod": "POST", +"id": "beyondcorp.projects.locations.clientGateways.testIamPermissions", +"parameterOrder": [ +"resource" +], +"parameters": { +"resource": { +"description": "REQUIRED: The resource for which the policy detail is being requested. See [Resource names](https://cloud.google.com/apis/design/resource_names) for the appropriate value for this field.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/clientGateways/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+resource}:testIamPermissions", +"request": { +"$ref": "GoogleIamV1TestIamPermissionsRequest" +}, +"response": { +"$ref": "GoogleIamV1TestIamPermissionsResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +} +} +}, +"global": { +"resources": { +"securityGateways": { +"resources": { +"applications": { +"methods": { +"create": { +"description": "Creates a new Application in a given project and location.", +"flatPath": "v1/projects/{projectsId}/locations/global/securityGateways/{securityGatewaysId}/applications", +"httpMethod": "POST", +"id": "beyondcorp.projects.locations.global.securityGateways.applications.create", +"parameterOrder": [ +"parent" +], +"parameters": { +"applicationId": { +"description": "Optional. User-settable Application resource ID. * Must start with a letter. * Must contain between 4-63 characters from `/a-z-/`. * Must end with a number or letter.", +"location": "query", +"type": "string" +}, +"parent": { +"description": "Required. The resource name of the parent SecurityGateway using the form: `projects/{project_id}/locations/global/securityGateways/{security_gateway_id}`", +"location": "path", +"pattern": "^projects/[^/]+/locations/global/securityGateways/[^/]+$", +"required": true, +"type": "string" +}, +"requestId": { +"description": "Optional. An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore 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" +} +}, +"path": "v1/{+parent}/applications", +"request": { +"$ref": "GoogleCloudBeyondcorpSecuritygatewaysV1Application" +}, +"response": { +"$ref": "GoogleLongrunningOperation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"patch": { +"description": "Updates the parameters of a single Application.", +"flatPath": "v1/projects/{projectsId}/locations/global/securityGateways/{securityGatewaysId}/applications/{applicationsId}", +"httpMethod": "PATCH", +"id": "beyondcorp.projects.locations.global.securityGateways.applications.patch", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Identifier. Name of the resource.", +"location": "path", +"pattern": "^projects/[^/]+/locations/global/securityGateways/[^/]+/applications/[^/]+$", +"required": true, +"type": "string" +}, +"requestId": { +"description": "Optional. An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. The server will guarantee that for at least 60 minutes after the first request. For example, consider a situation where you make an initial request and the request timed out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +}, +"updateMask": { +"description": "Required. Mutable fields include: display_name.", +"format": "google-fieldmask", +"location": "query", +"type": "string" +} +}, +"path": "v1/{+name}", +"request": { +"$ref": "GoogleCloudBeyondcorpSecuritygatewaysV1Application" +}, +"response": { +"$ref": "GoogleLongrunningOperation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"testIamPermissions": { +"description": "Returns permissions that a caller has on the specified resource. If the resource does not exist, this will return an empty set of permissions, not a `NOT_FOUND` error. Note: This operation is designed to be used for building permission-aware UIs and command-line tools, not for authorization checking. This operation may \"fail open\" without warning.", +"flatPath": "v1/projects/{projectsId}/locations/global/securityGateways/{securityGatewaysId}/applications/{applicationsId}:testIamPermissions", +"httpMethod": "POST", +"id": "beyondcorp.projects.locations.global.securityGateways.applications.testIamPermissions", +"parameterOrder": [ +"resource" +], +"parameters": { +"resource": { +"description": "REQUIRED: The resource for which the policy detail is being requested. See [Resource names](https://cloud.google.com/apis/design/resource_names) for the appropriate value for this field.", +"location": "path", +"pattern": "^projects/[^/]+/locations/global/securityGateways/[^/]+/applications/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+resource}:testIamPermissions", +"request": { +"$ref": "GoogleIamV1TestIamPermissionsRequest" +}, +"response": { +"$ref": "GoogleIamV1TestIamPermissionsResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +} +} +} +} +} +} +}, +"operations": { +"methods": { +"cancel": { +"description": "Starts asynchronous cancellation on a long-running operation. The server makes a best effort to cancel the operation, but success is not guaranteed. If the server doesn't support this method, it returns `google.rpc.Code.UNIMPLEMENTED`. Clients can use Operations.GetOperation or other methods to check whether the cancellation succeeded or whether the operation completed despite cancellation. On successful cancellation, the operation is not deleted; instead, it becomes an operation with an Operation.error value with a google.rpc.Status.code of `1`, corresponding to `Code.CANCELLED`.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/operations/{operationsId}:cancel", +"httpMethod": "POST", +"id": "beyondcorp.projects.locations.operations.cancel", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "The name of the operation resource to be cancelled.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/operations/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+name}:cancel", +"request": { +"$ref": "GoogleLongrunningCancelOperationRequest" +}, +"response": { +"$ref": "Empty" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"delete": { +"description": "Deletes a long-running operation. This method indicates that the client is no longer interested in the operation result. It does not cancel the operation. If the server doesn't support this method, it returns `google.rpc.Code.UNIMPLEMENTED`.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/operations/{operationsId}", +"httpMethod": "DELETE", +"id": "beyondcorp.projects.locations.operations.delete", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "The name of the operation resource to be deleted.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/operations/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+name}", +"response": { +"$ref": "Empty" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"get": { +"description": "Gets the latest state of a long-running operation. Clients can use this method to poll the operation result at intervals as recommended by the API service.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/operations/{operationsId}", +"httpMethod": "GET", +"id": "beyondcorp.projects.locations.operations.get", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "The name of the operation resource.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/operations/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+name}", +"response": { +"$ref": "GoogleLongrunningOperation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"list": { +"description": "Lists operations that match the specified filter in the request. If the server doesn't support this method, it returns `UNIMPLEMENTED`.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/operations", +"httpMethod": "GET", +"id": "beyondcorp.projects.locations.operations.list", +"parameterOrder": [ +"name" +], +"parameters": { +"filter": { +"description": "The standard list filter.", +"location": "query", +"type": "string" +}, +"name": { +"description": "The name of the operation's parent resource.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+$", +"required": true, +"type": "string" +}, +"pageSize": { +"description": "The standard list page size.", +"format": "int32", +"location": "query", +"type": "integer" +}, +"pageToken": { +"description": "The standard list page token.", +"location": "query", +"type": "string" +} +}, +"path": "v1/{+name}/operations", +"response": { +"$ref": "GoogleLongrunningListOperationsResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +} +} +}, +"securityGateways": { +"methods": { +"create": { +"description": "Creates a new SecurityGateway in a given project and location.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/securityGateways", +"httpMethod": "POST", +"id": "beyondcorp.projects.locations.securityGateways.create", +"parameterOrder": [ +"parent" +], +"parameters": { +"parent": { +"description": "Required. The resource project name of the SecurityGateway location using the form: `projects/{project_id}/locations/{location_id}`", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+$", +"required": true, +"type": "string" +}, +"requestId": { +"description": "Optional. An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore 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" +}, +"securityGatewayId": { +"description": "Optional. User-settable SecurityGateway resource ID. * Must start with a letter. * Must contain between 4-63 characters from `/a-z-/`. * Must end with a number or letter.", +"location": "query", +"type": "string" +} +}, +"path": "v1/{+parent}/securityGateways", +"request": { +"$ref": "GoogleCloudBeyondcorpSecuritygatewaysV1SecurityGateway" +}, +"response": { +"$ref": "GoogleLongrunningOperation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"delete": { +"description": "Deletes a single SecurityGateway.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/securityGateways/{securityGatewaysId}", +"httpMethod": "DELETE", +"id": "beyondcorp.projects.locations.securityGateways.delete", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. BeyondCorp SecurityGateway name using the form: `projects/{project_id}/locations/{location_id}/securityGateways/{security_gateway_id}`", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/securityGateways/[^/]+$", +"required": true, +"type": "string" +}, +"requestId": { +"description": "Optional. An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. The server will guarantee that for at least 60 minutes after the first request. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +}, +"validateOnly": { +"description": "Optional. If set, validates request by executing a dry-run which would not alter the resource in any way.", +"location": "query", +"type": "boolean" +} +}, +"path": "v1/{+name}", +"response": { +"$ref": "GoogleLongrunningOperation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"get": { +"description": "Gets details of a single SecurityGateway.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/securityGateways/{securityGatewaysId}", +"httpMethod": "GET", +"id": "beyondcorp.projects.locations.securityGateways.get", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. The resource name of the PartnerTenant using the form: `projects/{project_id}/locations/{location_id}/securityGateway/{security_gateway_id}`", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/securityGateways/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+name}", +"response": { +"$ref": "GoogleCloudBeyondcorpSecuritygatewaysV1SecurityGateway" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"getIamPolicy": { +"description": "Gets the access control policy for a resource. Returns an empty policy if the resource exists and does not have a policy set.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/securityGateways/{securityGatewaysId}:getIamPolicy", +"httpMethod": "GET", +"id": "beyondcorp.projects.locations.securityGateways.getIamPolicy", +"parameterOrder": [ +"resource" +], +"parameters": { +"options.requestedPolicyVersion": { +"description": "Optional. The maximum policy version that will be used to format the policy. Valid values are 0, 1, and 3. Requests specifying an invalid value will be rejected. Requests for policies with any conditional role bindings must specify version 3. Policies with no conditional role bindings may specify any valid value or leave the field unset. The policy in the response might use the policy version that you specified, or it might use a lower policy version. For example, if you specify version 3, but the policy has no conditional role bindings, the response uses version 1. To learn which resources support conditions in their IAM policies, see the [IAM documentation](https://cloud.google.com/iam/help/conditions/resource-policies).", +"format": "int32", +"location": "query", +"type": "integer" +}, +"resource": { +"description": "REQUIRED: The resource for which the policy is being requested. See [Resource names](https://cloud.google.com/apis/design/resource_names) for the appropriate value for this field.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/securityGateways/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+resource}:getIamPolicy", +"response": { +"$ref": "GoogleIamV1Policy" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"list": { +"description": "Lists SecurityGateways in a given project and location.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/securityGateways", +"httpMethod": "GET", +"id": "beyondcorp.projects.locations.securityGateways.list", +"parameterOrder": [ +"parent" +], +"parameters": { +"filter": { +"description": "Optional. A filter specifying constraints of a list operation. All fields in the SecurityGateway message are supported. For example, the following query will return the SecurityGateway with displayName \"test-security-gateway\" For more information, please refer to https://google.aip.dev/160.", +"location": "query", +"type": "string" +}, +"orderBy": { +"description": "Optional. Specifies the ordering of results. See [Sorting order](https://cloud.google.com/apis/design/design_patterns#sorting_order) for more information.", +"location": "query", +"type": "string" +}, +"pageSize": { +"description": "Optional. The maximum number of items to return. If not specified, a default value of 50 will be used by the service. Regardless of the page_size value, the response may include a partial list and a caller should only rely on response's next_page_token to determine if there are more instances left to be queried.", +"format": "int32", +"location": "query", +"type": "integer" +}, +"pageToken": { +"description": "Optional. The next_page_token value returned from a previous ListSecurityGatewayRequest, if any.", +"location": "query", +"type": "string" +}, +"parent": { +"description": "Required. The parent location to which the resources belong. `projects/{project_id}/locations/{location_id}/`", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+parent}/securityGateways", +"response": { +"$ref": "GoogleCloudBeyondcorpSecuritygatewaysV1ListSecurityGatewaysResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"patch": { +"description": "Updates the parameters of a single SecurityGateway.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/securityGateways/{securityGatewaysId}", +"httpMethod": "PATCH", +"id": "beyondcorp.projects.locations.securityGateways.patch", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Identifier. Name of the resource.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/securityGateways/[^/]+$", +"required": true, +"type": "string" +}, +"requestId": { +"description": "Optional. An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. The server will guarantee that for at least 60 minutes after the first request. For example, consider a situation where you make an initial request and the request timed out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +}, +"updateMask": { +"description": "Required. Mutable fields include: display_name, hubs.", +"format": "google-fieldmask", +"location": "query", +"type": "string" +} +}, +"path": "v1/{+name}", +"request": { +"$ref": "GoogleCloudBeyondcorpSecuritygatewaysV1SecurityGateway" +}, +"response": { +"$ref": "GoogleLongrunningOperation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"setIamPolicy": { +"description": "Sets the access control policy on the specified resource. Replaces any existing policy. Can return `NOT_FOUND`, `INVALID_ARGUMENT`, and `PERMISSION_DENIED` errors.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/securityGateways/{securityGatewaysId}:setIamPolicy", +"httpMethod": "POST", +"id": "beyondcorp.projects.locations.securityGateways.setIamPolicy", +"parameterOrder": [ +"resource" +], +"parameters": { +"resource": { +"description": "REQUIRED: The resource for which the policy is being specified. See [Resource names](https://cloud.google.com/apis/design/resource_names) for the appropriate value for this field.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/securityGateways/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+resource}:setIamPolicy", +"request": { +"$ref": "GoogleIamV1SetIamPolicyRequest" +}, +"response": { +"$ref": "GoogleIamV1Policy" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"testIamPermissions": { +"description": "Returns permissions that a caller has on the specified resource. If the resource does not exist, this will return an empty set of permissions, not a `NOT_FOUND` error. Note: This operation is designed to be used for building permission-aware UIs and command-line tools, not for authorization checking. This operation may \"fail open\" without warning.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/securityGateways/{securityGatewaysId}:testIamPermissions", +"httpMethod": "POST", +"id": "beyondcorp.projects.locations.securityGateways.testIamPermissions", +"parameterOrder": [ +"resource" +], +"parameters": { +"resource": { +"description": "REQUIRED: The resource for which the policy detail is being requested. See [Resource names](https://cloud.google.com/apis/design/resource_names) for the appropriate value for this field.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/securityGateways/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+resource}:testIamPermissions", +"request": { +"$ref": "GoogleIamV1TestIamPermissionsRequest" +}, +"response": { +"$ref": "GoogleIamV1TestIamPermissionsResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +} +}, +"resources": { +"applications": { +"methods": { +"delete": { +"description": "Deletes a single Application.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/securityGateways/{securityGatewaysId}/applications/{applicationsId}", +"httpMethod": "DELETE", +"id": "beyondcorp.projects.locations.securityGateways.applications.delete", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. Name of the resource.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/securityGateways/[^/]+/applications/[^/]+$", +"required": true, +"type": "string" +}, +"requestId": { +"description": "Optional. An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. The server will guarantee that for at least 60 minutes after the first request. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +}, +"validateOnly": { +"description": "Optional. If set, validates request by executing a dry-run which would not alter the resource in any way.", +"location": "query", +"type": "boolean" +} +}, +"path": "v1/{+name}", +"response": { +"$ref": "GoogleLongrunningOperation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"get": { +"description": "Gets details of a single Application.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/securityGateways/{securityGatewaysId}/applications/{applicationsId}", +"httpMethod": "GET", +"id": "beyondcorp.projects.locations.securityGateways.applications.get", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. The resource name of the Application using the form: `projects/{project_id}/locations/global/securityGateway/{security_gateway_id}/applications/{application_id}`", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/securityGateways/[^/]+/applications/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+name}", +"response": { +"$ref": "GoogleCloudBeyondcorpSecuritygatewaysV1Application" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"getIamPolicy": { +"description": "Gets the access control policy for a resource. Returns an empty policy if the resource exists and does not have a policy set.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/securityGateways/{securityGatewaysId}/applications/{applicationsId}:getIamPolicy", +"httpMethod": "GET", +"id": "beyondcorp.projects.locations.securityGateways.applications.getIamPolicy", +"parameterOrder": [ +"resource" +], +"parameters": { +"options.requestedPolicyVersion": { +"description": "Optional. The maximum policy version that will be used to format the policy. Valid values are 0, 1, and 3. Requests specifying an invalid value will be rejected. Requests for policies with any conditional role bindings must specify version 3. Policies with no conditional role bindings may specify any valid value or leave the field unset. The policy in the response might use the policy version that you specified, or it might use a lower policy version. For example, if you specify version 3, but the policy has no conditional role bindings, the response uses version 1. To learn which resources support conditions in their IAM policies, see the [IAM documentation](https://cloud.google.com/iam/help/conditions/resource-policies).", +"format": "int32", +"location": "query", +"type": "integer" +}, +"resource": { +"description": "REQUIRED: The resource for which the policy is being requested. See [Resource names](https://cloud.google.com/apis/design/resource_names) for the appropriate value for this field.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/securityGateways/[^/]+/applications/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+resource}:getIamPolicy", +"response": { +"$ref": "GoogleIamV1Policy" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"list": { +"description": "Lists Applications in a given project and location.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/securityGateways/{securityGatewaysId}/applications", +"httpMethod": "GET", +"id": "beyondcorp.projects.locations.securityGateways.applications.list", +"parameterOrder": [ +"parent" +], +"parameters": { +"filter": { +"description": "Optional. A filter specifying constraints of a list operation. All fields in the Application message are supported. For example, the following query will return the Application with displayName \"test-application\" For more information, please refer to https://google.aip.dev/160.", +"location": "query", +"type": "string" +}, +"orderBy": { +"description": "Optional. Specifies the ordering of results. See [Sorting order](https://cloud.google.com/apis/design/design_patterns#sorting_order) for more information.", +"location": "query", +"type": "string" +}, +"pageSize": { +"description": "Optional. The maximum number of items to return. If not specified, a default value of 50 will be used by the service. Regardless of the page_size value, the response may include a partial list and a caller should only rely on response's next_page_token to determine if there are more instances left to be queried.", +"format": "int32", +"location": "query", +"type": "integer" +}, +"pageToken": { +"description": "Optional. The next_page_token value returned from a previous ListApplicationsRequest, if any.", +"location": "query", +"type": "string" +}, +"parent": { +"description": "Required. The parent location to which the resources belong. `projects/{project_id}/locations/global/securityGateways/{security_gateway_id}`", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/securityGateways/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+parent}/applications", +"response": { +"$ref": "GoogleCloudBeyondcorpSecuritygatewaysV1ListApplicationsResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"setIamPolicy": { +"description": "Sets the access control policy on the specified resource. Replaces any existing policy. Can return `NOT_FOUND`, `INVALID_ARGUMENT`, and `PERMISSION_DENIED` errors.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/securityGateways/{securityGatewaysId}/applications/{applicationsId}:setIamPolicy", +"httpMethod": "POST", +"id": "beyondcorp.projects.locations.securityGateways.applications.setIamPolicy", +"parameterOrder": [ +"resource" +], +"parameters": { +"resource": { +"description": "REQUIRED: The resource for which the policy is being specified. See [Resource names](https://cloud.google.com/apis/design/resource_names) for the appropriate value for this field.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/securityGateways/[^/]+/applications/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+resource}:setIamPolicy", +"request": { +"$ref": "GoogleIamV1SetIamPolicyRequest" +}, +"response": { +"$ref": "GoogleIamV1Policy" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +} +} +} +} +} +} +} +} +} +}, +"revision": "20241204", +"rootUrl": "https://beyondcorp.googleapis.com/", +"schemas": { +"AllocatedConnection": { +"description": "Allocated connection of the AppGateway.", +"id": "AllocatedConnection", +"properties": { +"ingressPort": { +"description": "Required. The ingress port of an allocated connection", +"format": "int32", +"type": "integer" +}, +"pscUri": { +"description": "Required. The PSC uri of an allocated connection", +"type": "string" +} +}, +"type": "object" +}, +"AppGateway": { +"description": "A BeyondCorp AppGateway resource represents a BeyondCorp protected AppGateway to a remote application. It creates all the necessary GCP components needed for creating a BeyondCorp protected AppGateway. Multiple connectors can be authorised for a single AppGateway.", +"id": "AppGateway", +"properties": { +"allocatedConnections": { +"description": "Output only. A list of connections allocated for the Gateway", +"items": { +"$ref": "AllocatedConnection" +}, +"readOnly": true, +"type": "array" +}, +"createTime": { +"description": "Output only. Timestamp when the resource was created.", +"format": "google-datetime", +"readOnly": true, +"type": "string" +}, +"displayName": { +"description": "Optional. An arbitrary user-provided name for the AppGateway. Cannot exceed 64 characters.", +"type": "string" +}, +"hostType": { +"description": "Required. The type of hosting used by the AppGateway.", +"enum": [ +"HOST_TYPE_UNSPECIFIED", +"GCP_REGIONAL_MIG" +], +"enumDescriptions": [ +"Default value. This value is unused.", +"AppGateway hosted in a GCP regional managed instance group." +], +"type": "string" +}, +"labels": { +"additionalProperties": { +"type": "string" +}, +"description": "Optional. Resource labels to represent user provided metadata.", +"type": "object" +}, +"name": { +"description": "Required. Unique resource name of the AppGateway. The name is ignored when creating an AppGateway.", +"type": "string" +}, +"satisfiesPzi": { +"description": "Output only. Reserved for future use.", +"readOnly": true, +"type": "boolean" +}, +"satisfiesPzs": { +"description": "Output only. Reserved for future use.", +"readOnly": true, +"type": "boolean" +}, +"state": { +"description": "Output only. The current state of the AppGateway.", +"enum": [ +"STATE_UNSPECIFIED", +"CREATING", +"CREATED", +"UPDATING", +"DELETING", +"DOWN" +], +"enumDescriptions": [ +"Default value. This value is unused.", +"AppGateway is being created.", +"AppGateway has been created.", +"AppGateway's configuration is being updated.", +"AppGateway is being deleted.", +"AppGateway is down and may be restored in the future. This happens when CCFE sends ProjectState = OFF." +], +"readOnly": true, +"type": "string" +}, +"type": { +"description": "Required. The type of network connectivity used by the AppGateway.", +"enum": [ +"TYPE_UNSPECIFIED", +"TCP_PROXY" +], +"enumDescriptions": [ +"Default value. This value is unused.", +"TCP Proxy based BeyondCorp Connection. API will default to this if unset." +], +"type": "string" +}, +"uid": { +"description": "Output only. A unique identifier for the instance generated by the system.", +"readOnly": true, +"type": "string" +}, +"updateTime": { +"description": "Output only. Timestamp when the resource was last modified.", +"format": "google-datetime", +"readOnly": true, +"type": "string" +}, +"uri": { +"description": "Output only. Server-defined URI for this resource.", +"readOnly": true, +"type": "string" +} +}, +"type": "object" +}, +"AppGatewayOperationMetadata": { +"description": "Represents the metadata of the long-running operation.", +"id": "AppGatewayOperationMetadata", +"properties": { +"apiVersion": { +"description": "Output only. API version used to start the operation.", +"readOnly": true, +"type": "string" +}, +"createTime": { +"description": "Output only. The time the operation was created.", +"format": "google-datetime", +"readOnly": true, +"type": "string" +}, +"endTime": { +"description": "Output only. The time the operation finished running.", +"format": "google-datetime", +"readOnly": true, +"type": "string" +}, +"requestedCancellation": { +"description": "Output only. Identifies whether the user has requested cancellation of the operation. Operations that have successfully been cancelled have google.longrunning.Operation.error value with a google.rpc.Status.code of `1`, corresponding to `Code.CANCELLED`.", +"readOnly": true, +"type": "boolean" +}, +"statusMessage": { +"description": "Output only. Human-readable status of the operation, if any.", +"readOnly": true, +"type": "string" +}, +"target": { +"description": "Output only. Server-defined resource path for the target of the operation.", +"readOnly": true, +"type": "string" +}, +"verb": { +"description": "Output only. Name of the verb executed by the operation.", +"readOnly": true, +"type": "string" +} +}, +"type": "object" +}, +"CloudSecurityZerotrustApplinkAppConnectorProtoConnectionConfig": { +"description": "ConnectionConfig represents a Connection Configuration object.", +"id": "CloudSecurityZerotrustApplinkAppConnectorProtoConnectionConfig", +"properties": { +"applicationEndpoint": { +"description": "application_endpoint is the endpoint of the application the form of host:port. For example, \"localhost:80\".", +"type": "string" +}, +"applicationName": { +"description": "application_name represents the given name of the application the connection is connecting with.", +"type": "string" +}, +"gateway": { +"description": "gateway lists all instances running a gateway in GCP. They all connect to a connector on the host.", +"items": { +"$ref": "CloudSecurityZerotrustApplinkAppConnectorProtoGateway" +}, +"type": "array" +}, +"name": { +"description": "name is the unique ID for each connection. TODO(b/190732451) returns connection name from user-specified name in config. Now, name = ${application_name}:${application_endpoint}", +"type": "string" +}, +"project": { +"description": "project represents the consumer project the connection belongs to.", +"type": "string" +}, +"tunnelsPerGateway": { +"description": "tunnels_per_gateway reflects the number of tunnels between a connector and a gateway.", +"format": "uint32", +"type": "integer" +}, +"userPort": { +"description": "user_port specifies the reserved port on gateways for user connections.", +"format": "int32", +"type": "integer" +} +}, +"type": "object" +}, +"CloudSecurityZerotrustApplinkAppConnectorProtoConnectorDetails": { +"description": "ConnectorDetails reflects the details of a connector.", +"id": "CloudSecurityZerotrustApplinkAppConnectorProtoConnectorDetails", +"properties": {}, +"type": "object" +}, +"CloudSecurityZerotrustApplinkAppConnectorProtoGateway": { +"description": "Gateway represents a GCE VM Instance endpoint for use by IAP TCP.", +"id": "CloudSecurityZerotrustApplinkAppConnectorProtoGateway", +"properties": { +"interface": { +"description": "interface specifies the network interface of the gateway to connect to.", +"type": "string" +}, +"name": { +"description": "name is the name of an instance running a gateway. It is the unique ID for a gateway. All gateways under the same connection have the same prefix. It is derived from the gateway URL. For example, name=${instance} assuming a gateway URL. https://www.googleapis.com/compute/${version}/projects/${project}/zones/${zone}/instances/${instance}", +"type": "string" +}, +"port": { +"description": "port specifies the port of the gateway for tunnel connections from the connectors.", +"format": "uint32", +"type": "integer" +}, +"project": { +"description": "project is the tenant project the gateway belongs to. Different from the project in the connection, it is a BeyondCorpAPI internally created project to manage all the gateways. It is sharing the same network with the consumer project user owned. It is derived from the gateway URL. For example, project=${project} assuming a gateway URL. https://www.googleapis.com/compute/${version}/projects/${project}/zones/${zone}/instances/${instance}", +"type": "string" +}, +"selfLink": { +"description": "self_link is the gateway URL in the form https://www.googleapis.com/compute/${version}/projects/${project}/zones/${zone}/instances/${instance}", +"type": "string" +}, +"zone": { +"description": "zone represents the zone the instance belongs. It is derived from the gateway URL. For example, zone=${zone} assuming a gateway URL. https://www.googleapis.com/compute/${version}/projects/${project}/zones/${zone}/instances/${instance}", +"type": "string" +} +}, +"type": "object" +}, +"CloudSecurityZerotrustApplinkLogagentProtoLogAgentDetails": { +"description": "LogAgentDetails reflects the details of a log agent.", +"id": "CloudSecurityZerotrustApplinkLogagentProtoLogAgentDetails", +"properties": {}, +"type": "object" +}, +"Empty": { +"description": "A generic empty message that you can re-use to avoid defining duplicated empty messages in your APIs. A typical example is to use it as the request or the response type of an API method. For instance: service Foo { rpc Bar(google.protobuf.Empty) returns (google.protobuf.Empty); }", +"id": "Empty", +"properties": {}, +"type": "object" +}, +"GoogleCloudBeyondcorpAppconnectionsV1AppConnection": { +"description": "A BeyondCorp AppConnection resource represents a BeyondCorp protected AppConnection to a remote application. It creates all the necessary GCP components needed for creating a BeyondCorp protected AppConnection. Multiple connectors can be authorised for a single AppConnection.", +"id": "GoogleCloudBeyondcorpAppconnectionsV1AppConnection", +"properties": { +"applicationEndpoint": { +"$ref": "GoogleCloudBeyondcorpAppconnectionsV1AppConnectionApplicationEndpoint", +"description": "Required. Address of the remote application endpoint for the BeyondCorp AppConnection." +}, +"connectors": { +"description": "Optional. List of [google.cloud.beyondcorp.v1main.Connector.name] that are authorised to be associated with this AppConnection.", +"items": { +"type": "string" +}, +"type": "array" +}, +"createTime": { +"description": "Output only. Timestamp when the resource was created.", +"format": "google-datetime", +"readOnly": true, +"type": "string" +}, +"displayName": { +"description": "Optional. An arbitrary user-provided name for the AppConnection. Cannot exceed 64 characters.", +"type": "string" +}, +"gateway": { +"$ref": "GoogleCloudBeyondcorpAppconnectionsV1AppConnectionGateway", +"description": "Optional. Gateway used by the AppConnection." +}, +"labels": { +"additionalProperties": { +"type": "string" +}, +"description": "Optional. Resource labels to represent user provided metadata.", +"type": "object" +}, +"name": { +"description": "Required. Unique resource name of the AppConnection. The name is ignored when creating a AppConnection.", +"type": "string" +}, +"satisfiesPzi": { +"description": "Output only. Reserved for future use.", +"readOnly": true, +"type": "boolean" +}, +"satisfiesPzs": { +"description": "Output only. Reserved for future use.", +"readOnly": true, +"type": "boolean" +}, +"state": { +"description": "Output only. The current state of the AppConnection.", +"enum": [ +"STATE_UNSPECIFIED", +"CREATING", +"CREATED", +"UPDATING", +"DELETING", +"DOWN" +], +"enumDescriptions": [ +"Default value. This value is unused.", +"AppConnection is being created.", +"AppConnection has been created.", +"AppConnection's configuration is being updated.", +"AppConnection is being deleted.", +"AppConnection is down and may be restored in the future. This happens when CCFE sends ProjectState = OFF." +], +"readOnly": true, +"type": "string" +}, +"type": { +"description": "Required. The type of network connectivity used by the AppConnection.", +"enum": [ +"TYPE_UNSPECIFIED", +"TCP_PROXY" +], +"enumDescriptions": [ +"Default value. This value is unused.", +"TCP Proxy based BeyondCorp AppConnection. API will default to this if unset." +], +"type": "string" +}, +"uid": { +"description": "Output only. A unique identifier for the instance generated by the system.", +"readOnly": true, +"type": "string" +}, +"updateTime": { +"description": "Output only. Timestamp when the resource was last modified.", +"format": "google-datetime", +"readOnly": true, +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudBeyondcorpAppconnectionsV1AppConnectionApplicationEndpoint": { +"description": "ApplicationEndpoint represents a remote application endpoint.", +"id": "GoogleCloudBeyondcorpAppconnectionsV1AppConnectionApplicationEndpoint", +"properties": { +"host": { +"description": "Required. Hostname or IP address of the remote application endpoint.", +"type": "string" +}, +"port": { +"description": "Required. Port of the remote application endpoint.", +"format": "int32", +"type": "integer" +} +}, +"type": "object" +}, +"GoogleCloudBeyondcorpAppconnectionsV1AppConnectionGateway": { +"description": "Gateway represents a user facing component that serves as an entrance to enable connectivity.", +"id": "GoogleCloudBeyondcorpAppconnectionsV1AppConnectionGateway", +"properties": { +"appGateway": { +"description": "Required. AppGateway name in following format: `projects/{project_id}/locations/{location_id}/appgateways/{gateway_id}`", +"type": "string" +}, +"ingressPort": { +"description": "Output only. Ingress port reserved on the gateways for this AppConnection, if not specified or zero, the default port is 19443.", +"format": "int32", +"readOnly": true, +"type": "integer" +}, +"l7psc": { +"description": "Output only. L7 private service connection for this resource.", +"readOnly": true, +"type": "string" +}, +"type": { +"description": "Required. The type of hosting used by the gateway.", +"enum": [ +"TYPE_UNSPECIFIED", +"GCP_REGIONAL_MIG" +], +"enumDescriptions": [ +"Default value. This value is unused.", +"Gateway hosted in a GCP regional managed instance group." +], +"type": "string" +}, +"uri": { +"description": "Output only. Server-defined URI for this resource.", +"readOnly": true, +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudBeyondcorpAppconnectionsV1AppConnectionOperationMetadata": { +"description": "Represents the metadata of the long-running operation.", +"id": "GoogleCloudBeyondcorpAppconnectionsV1AppConnectionOperationMetadata", +"properties": { +"apiVersion": { +"description": "Output only. API version used to start the operation.", +"readOnly": true, +"type": "string" +}, +"createTime": { +"description": "Output only. The time the operation was created.", +"format": "google-datetime", +"readOnly": true, +"type": "string" +}, +"endTime": { +"description": "Output only. The time the operation finished running.", +"format": "google-datetime", +"readOnly": true, +"type": "string" +}, +"requestedCancellation": { +"description": "Output only. Identifies whether the user has requested cancellation of the operation. Operations that have successfully been cancelled have google.longrunning.Operation.error value with a google.rpc.Status.code of 1, corresponding to `Code.CANCELLED`.", +"readOnly": true, +"type": "boolean" +}, +"statusMessage": { +"description": "Output only. Human-readable status of the operation, if any.", +"readOnly": true, +"type": "string" +}, +"target": { +"description": "Output only. Server-defined resource path for the target of the operation.", +"readOnly": true, +"type": "string" +}, +"verb": { +"description": "Output only. Name of the verb executed by the operation.", +"readOnly": true, +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudBeyondcorpAppconnectionsV1ListAppConnectionsResponse": { +"description": "Response message for BeyondCorp.ListAppConnections.", +"id": "GoogleCloudBeyondcorpAppconnectionsV1ListAppConnectionsResponse", +"properties": { +"appConnections": { +"description": "A list of BeyondCorp AppConnections in the project.", +"items": { +"$ref": "GoogleCloudBeyondcorpAppconnectionsV1AppConnection" +}, +"type": "array" +}, +"nextPageToken": { +"description": "A token to retrieve the next page of results, or empty if there are no more results in the list.", +"type": "string" +}, +"unreachable": { +"description": "A list of locations that could not be reached.", +"items": { +"type": "string" +}, +"type": "array" +} +}, +"type": "object" +}, +"GoogleCloudBeyondcorpAppconnectionsV1ResolveAppConnectionsResponse": { +"description": "Response message for BeyondCorp.ResolveAppConnections.", +"id": "GoogleCloudBeyondcorpAppconnectionsV1ResolveAppConnectionsResponse", +"properties": { +"appConnectionDetails": { +"description": "A list of BeyondCorp AppConnections with details in the project.", +"items": { +"$ref": "GoogleCloudBeyondcorpAppconnectionsV1ResolveAppConnectionsResponseAppConnectionDetails" +}, +"type": "array" +}, +"nextPageToken": { +"description": "A token to retrieve the next page of results, or empty if there are no more results in the list.", +"type": "string" +}, +"unreachable": { +"description": "A list of locations that could not be reached.", +"items": { +"type": "string" +}, +"type": "array" +} +}, +"type": "object" +}, +"GoogleCloudBeyondcorpAppconnectionsV1ResolveAppConnectionsResponseAppConnectionDetails": { +"description": "Details of the AppConnection.", +"id": "GoogleCloudBeyondcorpAppconnectionsV1ResolveAppConnectionsResponseAppConnectionDetails", +"properties": { +"appConnection": { +"$ref": "GoogleCloudBeyondcorpAppconnectionsV1AppConnection", +"description": "A BeyondCorp AppConnection in the project." +}, +"recentMigVms": { +"description": "If type=GCP_REGIONAL_MIG, contains most recent VM instances, like `https://www.googleapis.com/compute/v1/projects/{project_id}/zones/{zone_id}/instances/{instance_id}`.", +"items": { +"type": "string" +}, +"type": "array" +} +}, +"type": "object" +}, +"GoogleCloudBeyondcorpAppconnectionsV1alphaAppConnectionOperationMetadata": { +"description": "Represents the metadata of the long-running operation.", +"id": "GoogleCloudBeyondcorpAppconnectionsV1alphaAppConnectionOperationMetadata", +"properties": { +"apiVersion": { +"description": "Output only. API version used to start the operation.", +"readOnly": true, +"type": "string" +}, +"createTime": { +"description": "Output only. The time the operation was created.", +"format": "google-datetime", +"readOnly": true, +"type": "string" +}, +"endTime": { +"description": "Output only. The time the operation finished running.", +"format": "google-datetime", +"readOnly": true, +"type": "string" +}, +"requestedCancellation": { +"description": "Output only. Identifies whether the user has requested cancellation of the operation. Operations that have successfully been cancelled have google.longrunning.Operation.error value with a google.rpc.Status.code of 1, corresponding to `Code.CANCELLED`.", +"readOnly": true, +"type": "boolean" +}, +"statusMessage": { +"description": "Output only. Human-readable status of the operation, if any.", +"readOnly": true, +"type": "string" +}, +"target": { +"description": "Output only. Server-defined resource path for the target of the operation.", +"readOnly": true, +"type": "string" +}, +"verb": { +"description": "Output only. Name of the verb executed by the operation.", +"readOnly": true, +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudBeyondcorpAppconnectorsV1AppConnector": { +"description": "A BeyondCorp connector resource that represents an application facing component deployed proximal to and with direct access to the application instances. It is used to establish connectivity between the remote enterprise environment and GCP. It initiates connections to the applications and can proxy the data from users over the connection.", +"id": "GoogleCloudBeyondcorpAppconnectorsV1AppConnector", +"properties": { +"createTime": { +"description": "Output only. Timestamp when the resource was created.", +"format": "google-datetime", +"readOnly": true, +"type": "string" +}, +"displayName": { +"description": "Optional. An arbitrary user-provided name for the AppConnector. Cannot exceed 64 characters.", +"type": "string" +}, +"labels": { +"additionalProperties": { +"type": "string" +}, +"description": "Optional. Resource labels to represent user provided metadata.", +"type": "object" +}, +"name": { +"description": "Required. Unique resource name of the AppConnector. The name is ignored when creating a AppConnector.", +"type": "string" +}, +"principalInfo": { +"$ref": "GoogleCloudBeyondcorpAppconnectorsV1AppConnectorPrincipalInfo", +"description": "Required. Principal information about the Identity of the AppConnector." +}, +"resourceInfo": { +"$ref": "GoogleCloudBeyondcorpAppconnectorsV1ResourceInfo", +"description": "Optional. Resource info of the connector." +}, +"state": { +"description": "Output only. The current state of the AppConnector.", +"enum": [ +"STATE_UNSPECIFIED", +"CREATING", +"CREATED", +"UPDATING", +"DELETING", +"DOWN" +], +"enumDescriptions": [ +"Default value. This value is unused.", +"AppConnector is being created.", +"AppConnector has been created.", +"AppConnector's configuration is being updated.", +"AppConnector is being deleted.", +"AppConnector is down and may be restored in the future. This happens when CCFE sends ProjectState = OFF." +], +"readOnly": true, +"type": "string" +}, +"uid": { +"description": "Output only. A unique identifier for the instance generated by the system.", +"readOnly": true, +"type": "string" +}, +"updateTime": { +"description": "Output only. Timestamp when the resource was last modified.", +"format": "google-datetime", +"readOnly": true, +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudBeyondcorpAppconnectorsV1AppConnectorInstanceConfig": { +"description": "AppConnectorInstanceConfig defines the instance config of a AppConnector.", +"id": "GoogleCloudBeyondcorpAppconnectorsV1AppConnectorInstanceConfig", +"properties": { +"imageConfig": { +"$ref": "GoogleCloudBeyondcorpAppconnectorsV1ImageConfig", +"description": "ImageConfig defines the GCR images to run for the remote agent's control plane." +}, +"instanceConfig": { +"additionalProperties": { +"description": "Properties of the object. Contains field @type with type URL.", +"type": "any" +}, +"description": "The SLM instance agent configuration.", +"type": "object" +}, +"notificationConfig": { +"$ref": "GoogleCloudBeyondcorpAppconnectorsV1NotificationConfig", +"description": "NotificationConfig defines the notification mechanism that the remote instance should subscribe to in order to receive notification." +}, +"sequenceNumber": { +"description": "Required. A monotonically increasing number generated and maintained by the API provider. Every time a config changes in the backend, the sequenceNumber should be bumped up to reflect the change.", +"format": "int64", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudBeyondcorpAppconnectorsV1AppConnectorOperationMetadata": { +"description": "Represents the metadata of the long-running operation.", +"id": "GoogleCloudBeyondcorpAppconnectorsV1AppConnectorOperationMetadata", +"properties": { +"apiVersion": { +"description": "Output only. API version used to start the operation.", +"readOnly": true, +"type": "string" +}, +"createTime": { +"description": "Output only. The time the operation was created.", +"format": "google-datetime", +"readOnly": true, +"type": "string" +}, +"endTime": { +"description": "Output only. The time the operation finished running.", +"format": "google-datetime", +"readOnly": true, +"type": "string" +}, +"requestedCancellation": { +"description": "Output only. Identifies whether the user has requested cancellation of the operation. Operations that have successfully been cancelled have google.longrunning.Operation.error value with a google.rpc.Status.code of `1`, corresponding to `Code.CANCELLED`.", +"readOnly": true, +"type": "boolean" +}, +"statusMessage": { +"description": "Output only. Human-readable status of the operation, if any.", +"readOnly": true, +"type": "string" +}, +"target": { +"description": "Output only. Server-defined resource path for the target of the operation.", +"readOnly": true, +"type": "string" +}, +"verb": { +"description": "Output only. Name of the verb executed by the operation.", +"readOnly": true, +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudBeyondcorpAppconnectorsV1AppConnectorPrincipalInfo": { +"description": "PrincipalInfo represents an Identity oneof.", +"id": "GoogleCloudBeyondcorpAppconnectorsV1AppConnectorPrincipalInfo", +"properties": { +"serviceAccount": { +"$ref": "GoogleCloudBeyondcorpAppconnectorsV1AppConnectorPrincipalInfoServiceAccount", +"description": "A GCP service account." +} +}, +"type": "object" +}, +"GoogleCloudBeyondcorpAppconnectorsV1AppConnectorPrincipalInfoServiceAccount": { +"description": "ServiceAccount represents a GCP service account.", +"id": "GoogleCloudBeyondcorpAppconnectorsV1AppConnectorPrincipalInfoServiceAccount", +"properties": { +"email": { +"description": "Email address of the service account.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudBeyondcorpAppconnectorsV1ContainerHealthDetails": { +"description": "ContainerHealthDetails reflects the health details of a container.", +"id": "GoogleCloudBeyondcorpAppconnectorsV1ContainerHealthDetails", +"properties": { +"currentConfigVersion": { +"description": "The version of the current config.", +"type": "string" +}, +"errorMsg": { +"description": "The latest error message.", +"type": "string" +}, +"expectedConfigVersion": { +"description": "The version of the expected config.", +"type": "string" +}, +"extendedStatus": { +"additionalProperties": { +"type": "string" +}, +"description": "The extended status. Such as ExitCode, StartedAt, FinishedAt, etc.", +"type": "object" +} +}, +"type": "object" +}, +"GoogleCloudBeyondcorpAppconnectorsV1ImageConfig": { +"description": "ImageConfig defines the control plane images to run.", +"id": "GoogleCloudBeyondcorpAppconnectorsV1ImageConfig", +"properties": { +"stableImage": { +"description": "The stable image that the remote agent will fallback to if the target image fails. Format would be a gcr image path, e.g.: gcr.io/PROJECT-ID/my-image:tag1", +"type": "string" +}, +"targetImage": { +"description": "The initial image the remote agent will attempt to run for the control plane. Format would be a gcr image path, e.g.: gcr.io/PROJECT-ID/my-image:tag1", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudBeyondcorpAppconnectorsV1ListAppConnectorsResponse": { +"description": "Response message for BeyondCorp.ListAppConnectors.", +"id": "GoogleCloudBeyondcorpAppconnectorsV1ListAppConnectorsResponse", +"properties": { +"appConnectors": { +"description": "A list of BeyondCorp AppConnectors in the project.", +"items": { +"$ref": "GoogleCloudBeyondcorpAppconnectorsV1AppConnector" +}, +"type": "array" +}, +"nextPageToken": { +"description": "A token to retrieve the next page of results, or empty if there are no more results in the list.", +"type": "string" +}, +"unreachable": { +"description": "A list of locations that could not be reached.", +"items": { +"type": "string" +}, +"type": "array" +} +}, +"type": "object" +}, +"GoogleCloudBeyondcorpAppconnectorsV1NotificationConfig": { +"description": "NotificationConfig defines the mechanisms to notify instance agent.", +"id": "GoogleCloudBeyondcorpAppconnectorsV1NotificationConfig", +"properties": { +"pubsubNotification": { +"$ref": "GoogleCloudBeyondcorpAppconnectorsV1NotificationConfigCloudPubSubNotificationConfig", +"description": "Cloud Pub/Sub Configuration to receive notifications." +} +}, +"type": "object" +}, +"GoogleCloudBeyondcorpAppconnectorsV1NotificationConfigCloudPubSubNotificationConfig": { +"description": "The configuration for Pub/Sub messaging for the AppConnector.", +"id": "GoogleCloudBeyondcorpAppconnectorsV1NotificationConfigCloudPubSubNotificationConfig", +"properties": { +"pubsubSubscription": { +"description": "The Pub/Sub subscription the AppConnector uses to receive notifications.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudBeyondcorpAppconnectorsV1RemoteAgentDetails": { +"description": "RemoteAgentDetails reflects the details of a remote agent.", +"id": "GoogleCloudBeyondcorpAppconnectorsV1RemoteAgentDetails", +"properties": {}, +"type": "object" +}, +"GoogleCloudBeyondcorpAppconnectorsV1ReportStatusRequest": { +"description": "Request report the connector status.", +"id": "GoogleCloudBeyondcorpAppconnectorsV1ReportStatusRequest", +"properties": { +"requestId": { +"description": "Optional. An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. The server will guarantee that for at least 60 minutes since the first request. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", +"type": "string" +}, +"resourceInfo": { +"$ref": "GoogleCloudBeyondcorpAppconnectorsV1ResourceInfo", +"description": "Required. Resource info of the connector." +}, +"validateOnly": { +"description": "Optional. If set, validates request by executing a dry-run which would not alter the resource in any way.", +"type": "boolean" +} +}, +"type": "object" +}, +"GoogleCloudBeyondcorpAppconnectorsV1ResolveInstanceConfigResponse": { +"description": "Response message for BeyondCorp.ResolveInstanceConfig.", +"id": "GoogleCloudBeyondcorpAppconnectorsV1ResolveInstanceConfigResponse", +"properties": { +"instanceConfig": { +"$ref": "GoogleCloudBeyondcorpAppconnectorsV1AppConnectorInstanceConfig", +"description": "AppConnectorInstanceConfig." +} +}, +"type": "object" +}, +"GoogleCloudBeyondcorpAppconnectorsV1ResourceInfo": { +"description": "ResourceInfo represents the information/status of an app connector resource. Such as: - remote_agent - container - runtime - appgateway - appconnector - appconnection - tunnel - logagent", +"id": "GoogleCloudBeyondcorpAppconnectorsV1ResourceInfo", +"properties": { +"id": { +"description": "Required. Unique Id for the resource.", +"type": "string" +}, +"resource": { +"additionalProperties": { +"description": "Properties of the object. Contains field @type with type URL.", +"type": "any" +}, +"description": "Specific details for the resource. This is for internal use only.", +"type": "object" +}, +"status": { +"description": "Overall health status. Overall status is derived based on the status of each sub level resources.", +"enum": [ +"HEALTH_STATUS_UNSPECIFIED", +"HEALTHY", +"UNHEALTHY", +"UNRESPONSIVE", +"DEGRADED" +], +"enumDescriptions": [ +"Health status is unknown: not initialized or failed to retrieve.", +"The resource is healthy.", +"The resource is unhealthy.", +"The resource is unresponsive.", +"Some sub-resources are UNHEALTHY." +], +"type": "string" +}, +"sub": { +"description": "List of Info for the sub level resources.", +"items": { +"$ref": "GoogleCloudBeyondcorpAppconnectorsV1ResourceInfo" +}, +"type": "array" +}, +"time": { +"description": "The timestamp to collect the info. It is suggested to be set by the topmost level resource only.", +"format": "google-datetime", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudBeyondcorpAppconnectorsV1alphaAppConnectorOperationMetadata": { +"description": "Represents the metadata of the long-running operation.", +"id": "GoogleCloudBeyondcorpAppconnectorsV1alphaAppConnectorOperationMetadata", +"properties": { +"apiVersion": { +"description": "Output only. API version used to start the operation.", +"readOnly": true, +"type": "string" +}, +"createTime": { +"description": "Output only. The time the operation was created.", +"format": "google-datetime", +"readOnly": true, +"type": "string" +}, +"endTime": { +"description": "Output only. The time the operation finished running.", +"format": "google-datetime", +"readOnly": true, +"type": "string" +}, +"requestedCancellation": { +"description": "Output only. Identifies whether the user has requested cancellation of the operation. Operations that have successfully been cancelled have google.longrunning.Operation.error value with a google.rpc.Status.code of `1`, corresponding to `Code.CANCELLED`.", +"readOnly": true, +"type": "boolean" +}, +"statusMessage": { +"description": "Output only. Human-readable status of the operation, if any.", +"readOnly": true, +"type": "string" +}, +"target": { +"description": "Output only. Server-defined resource path for the target of the operation.", +"readOnly": true, +"type": "string" +}, +"verb": { +"description": "Output only. Name of the verb executed by the operation.", +"readOnly": true, +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudBeyondcorpAppconnectorsV1alphaContainerHealthDetails": { +"description": "ContainerHealthDetails reflects the health details of a container.", +"id": "GoogleCloudBeyondcorpAppconnectorsV1alphaContainerHealthDetails", +"properties": { +"currentConfigVersion": { +"description": "The version of the current config.", +"type": "string" +}, +"errorMsg": { +"description": "The latest error message.", +"type": "string" +}, +"expectedConfigVersion": { +"description": "The version of the expected config.", +"type": "string" +}, +"extendedStatus": { +"additionalProperties": { +"type": "string" +}, +"description": "The extended status. Such as ExitCode, StartedAt, FinishedAt, etc.", +"type": "object" +} +}, +"type": "object" +}, +"GoogleCloudBeyondcorpAppconnectorsV1alphaRemoteAgentDetails": { +"description": "RemoteAgentDetails reflects the details of a remote agent.", +"id": "GoogleCloudBeyondcorpAppconnectorsV1alphaRemoteAgentDetails", +"properties": {}, +"type": "object" +}, +"GoogleCloudBeyondcorpAppgatewaysV1alphaAppGatewayOperationMetadata": { +"description": "Represents the metadata of the long-running operation.", +"id": "GoogleCloudBeyondcorpAppgatewaysV1alphaAppGatewayOperationMetadata", +"properties": { +"apiVersion": { +"description": "Output only. API version used to start the operation.", +"readOnly": true, +"type": "string" +}, +"createTime": { +"description": "Output only. The time the operation was created.", +"format": "google-datetime", +"readOnly": true, +"type": "string" +}, +"endTime": { +"description": "Output only. The time the operation finished running.", +"format": "google-datetime", +"readOnly": true, +"type": "string" +}, +"requestedCancellation": { +"description": "Output only. Identifies whether the user has requested cancellation of the operation. Operations that have successfully been cancelled have google.longrunning.Operation.error value with a google.rpc.Status.code of `1`, corresponding to `Code.CANCELLED`.", +"readOnly": true, +"type": "boolean" +}, +"statusMessage": { +"description": "Output only. Human-readable status of the operation, if any.", +"readOnly": true, +"type": "string" +}, +"target": { +"description": "Output only. Server-defined resource path for the target of the operation.", +"readOnly": true, +"type": "string" +}, +"verb": { +"description": "Output only. Name of the verb executed by the operation.", +"readOnly": true, +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudBeyondcorpConnectionsV1alphaConnectionOperationMetadata": { +"description": "Represents the metadata of the long-running operation.", +"id": "GoogleCloudBeyondcorpConnectionsV1alphaConnectionOperationMetadata", +"properties": { +"apiVersion": { +"description": "Output only. API version used to start the operation.", +"readOnly": true, +"type": "string" +}, +"createTime": { +"description": "Output only. The time the operation was created.", +"format": "google-datetime", +"readOnly": true, +"type": "string" +}, +"endTime": { +"description": "Output only. The time the operation finished running.", +"format": "google-datetime", +"readOnly": true, +"type": "string" +}, +"requestedCancellation": { +"description": "Output only. Identifies whether the user has requested cancellation of the operation. Operations that have successfully been cancelled have Operation.error value with a google.rpc.Status.code of 1, corresponding to `Code.CANCELLED`.", +"readOnly": true, +"type": "boolean" +}, +"statusMessage": { +"description": "Output only. Human-readable status of the operation, if any.", +"readOnly": true, +"type": "string" +}, +"target": { +"description": "Output only. Server-defined resource path for the target of the operation.", +"readOnly": true, +"type": "string" +}, +"verb": { +"description": "Output only. Name of the verb executed by the operation.", +"readOnly": true, +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudBeyondcorpConnectorsV1alphaConnectorOperationMetadata": { +"description": "Represents the metadata of the long-running operation.", +"id": "GoogleCloudBeyondcorpConnectorsV1alphaConnectorOperationMetadata", +"properties": { +"apiVersion": { +"description": "Output only. API version used to start the operation.", +"readOnly": true, +"type": "string" +}, +"createTime": { +"description": "Output only. The time the operation was created.", +"format": "google-datetime", +"readOnly": true, +"type": "string" +}, +"endTime": { +"description": "Output only. The time the operation finished running.", +"format": "google-datetime", +"readOnly": true, +"type": "string" +}, +"requestedCancellation": { +"description": "Output only. Identifies whether the user has requested cancellation of the operation. Operations that have successfully been cancelled have Operation.error value with a google.rpc.Status.code of 1, corresponding to `Code.CANCELLED`.", +"readOnly": true, +"type": "boolean" +}, +"statusMessage": { +"description": "Output only. Human-readable status of the operation, if any.", +"readOnly": true, +"type": "string" +}, +"target": { +"description": "Output only. Server-defined resource path for the target of the operation.", +"readOnly": true, +"type": "string" +}, +"verb": { +"description": "Output only. Name of the verb executed by the operation.", +"readOnly": true, +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudBeyondcorpConnectorsV1alphaContainerHealthDetails": { +"description": "ContainerHealthDetails reflects the health details of a container.", +"id": "GoogleCloudBeyondcorpConnectorsV1alphaContainerHealthDetails", +"properties": { +"currentConfigVersion": { +"description": "The version of the current config.", +"type": "string" +}, +"errorMsg": { +"description": "The latest error message.", +"type": "string" +}, +"expectedConfigVersion": { +"description": "The version of the expected config.", +"type": "string" +}, +"extendedStatus": { +"additionalProperties": { +"type": "string" +}, +"description": "The extended status. Such as ExitCode, StartedAt, FinishedAt, etc.", +"type": "object" +} +}, +"type": "object" +}, +"GoogleCloudBeyondcorpConnectorsV1alphaRemoteAgentDetails": { +"description": "RemoteAgentDetails reflects the details of a remote agent.", +"id": "GoogleCloudBeyondcorpConnectorsV1alphaRemoteAgentDetails", +"properties": {}, +"type": "object" +}, +"GoogleCloudBeyondcorpPartnerservicesV1alphaPartnerServiceOperationMetadata": { +"description": "Represents the metadata of the long-running operation.", +"id": "GoogleCloudBeyondcorpPartnerservicesV1alphaPartnerServiceOperationMetadata", +"properties": { +"apiVersion": { +"description": "Output only. API version used to start the operation.", +"readOnly": true, +"type": "string" +}, +"createTime": { +"description": "Output only. The time the operation was created.", +"format": "google-datetime", +"readOnly": true, +"type": "string" +}, +"endTime": { +"description": "Output only. The time the operation finished running.", +"format": "google-datetime", +"readOnly": true, +"type": "string" +}, +"requestedCancellation": { +"description": "Output only. Identifies whether the caller has requested cancellation of the operation. Operations that have successfully been cancelled have Operation.error value with a google.rpc.Status.code of 1, corresponding to `Code.CANCELLED`.", +"readOnly": true, +"type": "boolean" +}, +"statusMessage": { +"description": "Output only. Human-readable status of the operation, if any.", +"readOnly": true, +"type": "string" +}, +"target": { +"description": "Output only. Server-defined resource path for the target of the operation.", +"readOnly": true, +"type": "string" +}, +"verb": { +"description": "Output only. Name of the verb executed by the operation.", +"readOnly": true, +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudBeyondcorpPartnerservicesV1mainPartnerServiceOperationMetadata": { +"description": "Represents the metadata of the long-running operation.", +"id": "GoogleCloudBeyondcorpPartnerservicesV1mainPartnerServiceOperationMetadata", +"properties": { +"apiVersion": { +"description": "Output only. API version used to start the operation.", +"readOnly": true, +"type": "string" +}, +"createTime": { +"description": "Output only. The time the operation was created.", +"format": "google-datetime", +"readOnly": true, +"type": "string" +}, +"endTime": { +"description": "Output only. The time the operation finished running.", +"format": "google-datetime", +"readOnly": true, +"type": "string" +}, +"requestedCancellation": { +"description": "Output only. Identifies whether the caller has requested cancellation of the operation. Operations that have successfully been cancelled have Operation.error value with a google.rpc.Status.code of 1, corresponding to `Code.CANCELLED`.", +"readOnly": true, +"type": "boolean" +}, +"statusMessage": { +"description": "Output only. Human-readable status of the operation, if any.", +"readOnly": true, +"type": "string" +}, +"target": { +"description": "Output only. Server-defined resource path for the target of the operation.", +"readOnly": true, +"type": "string" +}, +"verb": { +"description": "Output only. Name of the verb executed by the operation.", +"readOnly": true, +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudBeyondcorpSecuritygatewaysV1Application": { +"description": "A Beyondcorp Application resource information.", +"id": "GoogleCloudBeyondcorpSecuritygatewaysV1Application", +"properties": { +"createTime": { +"description": "Output only. Timestamp when the resource was created.", +"format": "google-datetime", +"readOnly": true, +"type": "string" +}, +"displayName": { +"description": "Optional. An arbitrary user-provided name for the Application resource. Cannot exceed 64 characters.", +"type": "string" +}, +"endpointMatchers": { +"description": "Required. Endpoint matchers associated with an application. A combination of hostname and ports as endpoint matcher is used to match the application. Match conditions for OR logic. An array of match conditions to allow for multiple matching criteria. The rule is considered a match if one the conditions are met. The conditions can be one of the following combination (Hostname), (Hostname & Ports) EXAMPLES: Hostname - (\"*.abc.com\"), (\"xyz.abc.com\") Hostname and Ports - (\"abc.com\" and \"22\"), (\"abc.com\" and \"22,33\") etc", +"items": { +"$ref": "GoogleCloudBeyondcorpSecuritygatewaysV1EndpointMatcher" +}, +"type": "array" +}, +"name": { +"description": "Identifier. Name of the resource.", +"type": "string" +}, +"updateTime": { +"description": "Output only. Timestamp when the resource was last modified.", +"format": "google-datetime", +"readOnly": true, +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudBeyondcorpSecuritygatewaysV1EndpointMatcher": { +"description": "EndpointMatcher contains the information of the endpoint that will match the application.", +"id": "GoogleCloudBeyondcorpSecuritygatewaysV1EndpointMatcher", +"properties": { +"hostname": { +"description": "Required. Hostname of the application.", +"type": "string" +}, +"ports": { +"description": "Optional. Ports of the application.", +"items": { +"format": "int32", +"type": "integer" +}, +"type": "array" +} +}, +"type": "object" +}, +"GoogleCloudBeyondcorpSecuritygatewaysV1Hub": { +"description": "The Hub message contains information pertaining to the regional data path deployments.", +"id": "GoogleCloudBeyondcorpSecuritygatewaysV1Hub", +"properties": { +"internetGateway": { +"$ref": "GoogleCloudBeyondcorpSecuritygatewaysV1InternetGateway", +"description": "Optional. Internet Gateway configuration." +} +}, +"type": "object" +}, +"GoogleCloudBeyondcorpSecuritygatewaysV1InternetGateway": { +"description": "Represents the Internet Gateway configuration.", +"id": "GoogleCloudBeyondcorpSecuritygatewaysV1InternetGateway", +"properties": { +"assignedIps": { +"description": "Output only. List of IP addresses assigned to the Cloud NAT.", +"items": { +"type": "string" +}, +"readOnly": true, +"type": "array" +} +}, +"type": "object" +}, +"GoogleCloudBeyondcorpSecuritygatewaysV1ListApplicationsResponse": { +"description": "Message for response to listing Applications.", +"id": "GoogleCloudBeyondcorpSecuritygatewaysV1ListApplicationsResponse", +"properties": { +"applications": { +"description": "A list of BeyondCorp Application in the project.", +"items": { +"$ref": "GoogleCloudBeyondcorpSecuritygatewaysV1Application" +}, +"type": "array" +}, +"nextPageToken": { +"description": "A token to retrieve the next page of results, or empty if there are no more results in the list.", +"type": "string" +}, +"unreachable": { +"description": "A list of locations that could not be reached.", +"items": { +"type": "string" +}, +"type": "array" +} +}, +"type": "object" +}, +"GoogleCloudBeyondcorpSecuritygatewaysV1ListSecurityGatewaysResponse": { +"description": "Message for response to listing SecurityGateways.", +"id": "GoogleCloudBeyondcorpSecuritygatewaysV1ListSecurityGatewaysResponse", +"properties": { +"nextPageToken": { +"description": "A token to retrieve the next page of results, or empty if there are no more results in the list.", +"type": "string" +}, +"securityGateways": { +"description": "A list of BeyondCorp SecurityGateway in the project.", +"items": { +"$ref": "GoogleCloudBeyondcorpSecuritygatewaysV1SecurityGateway" +}, +"type": "array" +}, +"unreachable": { +"description": "A list of locations that could not be reached.", +"items": { +"type": "string" +}, +"type": "array" +} +}, +"type": "object" +}, +"GoogleCloudBeyondcorpSecuritygatewaysV1SecurityGateway": { +"description": "Information about a BeyoncCorp SecurityGateway resource.", +"id": "GoogleCloudBeyondcorpSecuritygatewaysV1SecurityGateway", +"properties": { +"createTime": { +"description": "Output only. Timestamp when the resource was created.", +"format": "google-datetime", +"readOnly": true, +"type": "string" +}, +"displayName": { +"description": "Optional. An arbitrary user-provided name for the SecurityGateway. Cannot exceed 64 characters.", +"type": "string" +}, +"externalIps": { +"description": "Output only. IP addresses that will be used for establishing connection to the endpoints.", +"items": { +"type": "string" +}, +"readOnly": true, +"type": "array" +}, +"hubs": { +"additionalProperties": { +"$ref": "GoogleCloudBeyondcorpSecuritygatewaysV1Hub" +}, +"description": "Optional. Map of Hubs that represents regional data path deployment with GCP region as a key.", +"type": "object" +}, +"name": { +"description": "Identifier. Name of the resource.", +"type": "string" +}, +"state": { +"description": "Output only. The operational state of the SecurityGateway.", +"enum": [ +"STATE_UNSPECIFIED", +"CREATING", +"UPDATING", +"DELETING", +"RUNNING", +"DOWN", +"ERROR" +], +"enumDescriptions": [ +"Default value. This value is unused.", +"SecurityGateway is being created.", +"SecurityGateway is being updated.", +"SecurityGateway is being deleted.", +"SecurityGateway is running.", +"SecurityGateway is down and may be restored in the future. This happens when CCFE sends ProjectState = OFF.", +"SecurityGateway encountered an error and is in an indeterministic state." +], +"readOnly": true, +"type": "string" +}, +"updateTime": { +"description": "Output only. Timestamp when the resource was last modified.", +"format": "google-datetime", +"readOnly": true, +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudBeyondcorpSecuritygatewaysV1SecurityGatewayOperationMetadata": { +"description": "Represents the metadata of the long-running operation.", +"id": "GoogleCloudBeyondcorpSecuritygatewaysV1SecurityGatewayOperationMetadata", +"properties": { +"apiVersion": { +"description": "Output only. API version used to start the operation.", +"readOnly": true, +"type": "string" +}, +"createTime": { +"description": "Output only. The time the operation was created.", +"format": "google-datetime", +"readOnly": true, +"type": "string" +}, +"endTime": { +"description": "Output only. The time the operation finished running.", +"format": "google-datetime", +"readOnly": true, +"type": "string" +}, +"requestedCancellation": { +"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`.", +"readOnly": true, +"type": "boolean" +}, +"statusMessage": { +"description": "Output only. Human-readable status of the operation, if any.", +"readOnly": true, +"type": "string" +}, +"target": { +"description": "Output only. Server-defined resource path for the target of the operation.", +"readOnly": true, +"type": "string" +}, +"verb": { +"description": "Output only. Name of the verb executed by the operation.", +"readOnly": true, +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudBeyondcorpSecuritygatewaysV1alphaSecurityGatewayOperationMetadata": { +"description": "Represents the metadata of the long-running operation.", +"id": "GoogleCloudBeyondcorpSecuritygatewaysV1alphaSecurityGatewayOperationMetadata", +"properties": { +"apiVersion": { +"description": "Output only. API version used to start the operation.", +"readOnly": true, +"type": "string" +}, +"createTime": { +"description": "Output only. The time the operation was created.", +"format": "google-datetime", +"readOnly": true, +"type": "string" +}, +"endTime": { +"description": "Output only. The time the operation finished running.", +"format": "google-datetime", +"readOnly": true, +"type": "string" +}, +"requestedCancellation": { +"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`.", +"readOnly": true, +"type": "boolean" +}, +"statusMessage": { +"description": "Output only. Human-readable status of the operation, if any.", +"readOnly": true, +"type": "string" +}, +"target": { +"description": "Output only. Server-defined resource path for the target of the operation.", +"readOnly": true, +"type": "string" +}, +"verb": { +"description": "Output only. Name of the verb executed by the operation.", +"readOnly": true, +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudLocationListLocationsResponse": { +"description": "The response message for Locations.ListLocations.", +"id": "GoogleCloudLocationListLocationsResponse", +"properties": { +"locations": { +"description": "A list of locations that matches the specified filter in the request.", +"items": { +"$ref": "GoogleCloudLocationLocation" +}, +"type": "array" +}, +"nextPageToken": { +"description": "The standard List next-page token.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudLocationLocation": { +"description": "A resource that represents a Google Cloud location.", +"id": "GoogleCloudLocationLocation", +"properties": { +"displayName": { +"description": "The friendly name for this location, typically a nearby city name. For example, \"Tokyo\".", +"type": "string" +}, +"labels": { +"additionalProperties": { +"type": "string" +}, +"description": "Cross-service attributes for the location. For example {\"cloud.googleapis.com/region\": \"us-east1\"}", +"type": "object" +}, +"locationId": { +"description": "The canonical id for this location. For example: `\"us-east1\"`.", +"type": "string" +}, +"metadata": { +"additionalProperties": { +"description": "Properties of the object. Contains field @type with type URL.", +"type": "any" +}, +"description": "Service-specific metadata. For example the available capacity at the given location.", +"type": "object" +}, +"name": { +"description": "Resource name for the location, which may vary between implementations. For example: `\"projects/example-project/locations/us-east1\"`", +"type": "string" +} +}, +"type": "object" +}, +"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", +"properties": { +"auditLogConfigs": { +"description": "The configuration for logging of each type of permission.", +"items": { +"$ref": "GoogleIamV1AuditLogConfig" +}, +"type": "array" +}, +"service": { +"description": "Specifies a service that will be enabled for audit logging. For example, `storage.googleapis.com`, `cloudsql.googleapis.com`. `allServices` is a special value that covers all services.", +"type": "string" +} +}, +"type": "object" +}, +"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.", +"id": "GoogleIamV1AuditLogConfig", +"properties": { +"exemptedMembers": { +"description": "Specifies the identities that do not cause logging for this type of permission. Follows the same format of Binding.members.", +"items": { +"type": "string" +}, +"type": "array" +}, +"logType": { +"description": "The log type that this config enables.", +"enum": [ +"LOG_TYPE_UNSPECIFIED", +"ADMIN_READ", +"DATA_WRITE", +"DATA_READ" +], +"enumDescriptions": [ +"Default case. Should never be this.", +"Admin reads. Example: CloudIAM getIamPolicy", +"Data writes. Example: CloudSQL Users create", +"Data reads. Example: CloudSQL Users list" +], +"type": "string" +} +}, +"type": "object" +}, +"GoogleIamV1Binding": { +"description": "Associates `members`, or principals, with a `role`.", +"id": "GoogleIamV1Binding", +"properties": { +"condition": { +"$ref": "GoogleTypeExpr", +"description": "The condition that is associated with this binding. If the condition evaluates to `true`, then this binding applies to the current request. If the condition evaluates to `false`, then this binding does not apply to the current request. However, a different role binding might grant the same role to one or more of the principals in this binding. To learn which resources support conditions in their IAM policies, see the [IAM documentation](https://cloud.google.com/iam/help/conditions/resource-policies)." +}, +"members": { +"description": "Specifies the principals requesting access for a Google Cloud resource. `members` can have the following values: * `allUsers`: A special identifier that represents anyone who is on the internet; with or without a Google account. * `allAuthenticatedUsers`: A special identifier that represents anyone who is authenticated with a Google account or a service account. Does not include identities that come from external identity providers (IdPs) through identity federation. * `user:{emailid}`: An email address that represents a specific Google account. For example, `alice@example.com` . * `serviceAccount:{emailid}`: An email address that represents a Google service account. For example, `my-other-app@appspot.gserviceaccount.com`. * `serviceAccount:{projectid}.svc.id.goog[{namespace}/{kubernetes-sa}]`: An identifier for a [Kubernetes service account](https://cloud.google.com/kubernetes-engine/docs/how-to/kubernetes-service-accounts). For example, `my-project.svc.id.goog[my-namespace/my-kubernetes-sa]`. * `group:{emailid}`: An email address that represents a Google group. For example, `admins@example.com`. * `domain:{domain}`: The G Suite domain (primary) that represents all the users of that domain. For example, `google.com` or `example.com`. * `principal://iam.googleapis.com/locations/global/workforcePools/{pool_id}/subject/{subject_attribute_value}`: A single identity in a workforce identity pool. * `principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/group/{group_id}`: All workforce identities in a group. * `principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/attribute.{attribute_name}/{attribute_value}`: All workforce identities with a specific attribute value. * `principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/*`: All identities in a workforce identity pool. * `principal://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/subject/{subject_attribute_value}`: A single identity in a workload identity pool. * `principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/group/{group_id}`: A workload identity pool group. * `principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/attribute.{attribute_name}/{attribute_value}`: All identities in a workload identity pool with a certain attribute. * `principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/*`: All identities in a workload identity pool. * `deleted:user:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a user that has been recently deleted. For example, `alice@example.com?uid=123456789012345678901`. If the user is recovered, this value reverts to `user:{emailid}` and the recovered user retains the role in the binding. * `deleted:serviceAccount:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a service account that has been recently deleted. For example, `my-other-app@appspot.gserviceaccount.com?uid=123456789012345678901`. If the service account is undeleted, this value reverts to `serviceAccount:{emailid}` and the undeleted service account retains the role in the binding. * `deleted:group:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a Google group that has been recently deleted. For example, `admins@example.com?uid=123456789012345678901`. If the group is recovered, this value reverts to `group:{emailid}` and the recovered group retains the role in the binding. * `deleted:principal://iam.googleapis.com/locations/global/workforcePools/{pool_id}/subject/{subject_attribute_value}`: Deleted single identity in a workforce identity pool. For example, `deleted:principal://iam.googleapis.com/locations/global/workforcePools/my-pool-id/subject/my-subject-attribute-value`.", +"items": { +"type": "string" +}, +"type": "array" +}, +"role": { +"description": "Role that is assigned to the list of `members`, or principals. For example, `roles/viewer`, `roles/editor`, or `roles/owner`. For an overview of the IAM roles and permissions, see the [IAM documentation](https://cloud.google.com/iam/docs/roles-overview). For a list of the available pre-defined roles, see [here](https://cloud.google.com/iam/docs/understanding-roles).", +"type": "string" +} +}, +"type": "object" +}, +"GoogleIamV1Policy": { +"description": "An Identity and Access Management (IAM) policy, which specifies access controls for Google Cloud resources. A `Policy` is a collection of `bindings`. A `binding` binds one or more `members`, or principals, to a single `role`. Principals can be user accounts, service accounts, Google groups, and domains (such as G Suite). A `role` is a named list of permissions; each `role` can be an IAM predefined role or a user-created custom role. For some types of Google Cloud resources, a `binding` can also specify a `condition`, which is a logical expression that allows access to a resource only if the expression evaluates to `true`. A condition can add constraints based on attributes of the request, the resource, or both. To learn which resources support conditions in their IAM policies, see the [IAM documentation](https://cloud.google.com/iam/help/conditions/resource-policies). **JSON example:** ``` { \"bindings\": [ { \"role\": \"roles/resourcemanager.organizationAdmin\", \"members\": [ \"user:mike@example.com\", \"group:admins@example.com\", \"domain:google.com\", \"serviceAccount:my-project-id@appspot.gserviceaccount.com\" ] }, { \"role\": \"roles/resourcemanager.organizationViewer\", \"members\": [ \"user:eve@example.com\" ], \"condition\": { \"title\": \"expirable access\", \"description\": \"Does not grant access after Sep 2020\", \"expression\": \"request.time < timestamp('2020-10-01T00:00:00.000Z')\", } } ], \"etag\": \"BwWWja0YfJA=\", \"version\": 3 } ``` **YAML example:** ``` bindings: - members: - user:mike@example.com - group:admins@example.com - domain:google.com - serviceAccount:my-project-id@appspot.gserviceaccount.com role: roles/resourcemanager.organizationAdmin - members: - user:eve@example.com role: roles/resourcemanager.organizationViewer condition: title: expirable access description: Does not grant access after Sep 2020 expression: request.time < timestamp('2020-10-01T00:00:00.000Z') etag: BwWWja0YfJA= version: 3 ``` For a description of IAM and its features, see the [IAM documentation](https://cloud.google.com/iam/docs/).", +"id": "GoogleIamV1Policy", +"properties": { +"auditConfigs": { +"description": "Specifies cloud audit logging configuration for this policy.", +"items": { +"$ref": "GoogleIamV1AuditConfig" +}, +"type": "array" +}, +"bindings": { +"description": "Associates a list of `members`, or principals, with a `role`. Optionally, may specify a `condition` that determines how and when the `bindings` are applied. Each of the `bindings` must contain at least one principal. The `bindings` in a `Policy` can refer to up to 1,500 principals; up to 250 of these principals can be Google groups. Each occurrence of a principal counts towards these limits. For example, if the `bindings` grant 50 different roles to `user:alice@example.com`, and not to any other principal, then you can add another 1,450 principals to the `bindings` in the `Policy`.", +"items": { +"$ref": "GoogleIamV1Binding" +}, +"type": "array" +}, +"etag": { +"description": "`etag` is used for optimistic concurrency control as a way to help prevent simultaneous updates of a policy from overwriting each other. It is strongly suggested that systems make use of the `etag` in the read-modify-write cycle to perform policy updates in order to avoid race conditions: An `etag` is returned in the response to `getIamPolicy`, and systems are expected to put that etag in the request to `setIamPolicy` to ensure that their change will be applied to the same version of the policy. **Important:** If you use IAM Conditions, you must include the `etag` field whenever you call `setIamPolicy`. If you omit this field, then IAM allows you to overwrite a version `3` policy with a version `1` policy, and all of the conditions in the version `3` policy are lost.", +"format": "byte", +"type": "string" +}, +"version": { +"description": "Specifies the format of the policy. Valid values are `0`, `1`, and `3`. Requests that specify an invalid value are rejected. Any operation that affects conditional role bindings must specify version `3`. This requirement applies to the following operations: * Getting a policy that includes a conditional role binding * Adding a conditional role binding to a policy * Changing a conditional role binding in a policy * Removing any role binding, with or without a condition, from a policy that includes conditions **Important:** If you use IAM Conditions, you must include the `etag` field whenever you call `setIamPolicy`. If you omit this field, then IAM allows you to overwrite a version `3` policy with a version `1` policy, and all of the conditions in the version `3` policy are lost. If a policy does not include any conditions, operations on that policy may specify any valid version or leave the field unset. To learn which resources support conditions in their IAM policies, see the [IAM documentation](https://cloud.google.com/iam/help/conditions/resource-policies).", +"format": "int32", +"type": "integer" +} +}, +"type": "object" +}, +"GoogleIamV1SetIamPolicyRequest": { +"description": "Request message for `SetIamPolicy` method.", +"id": "GoogleIamV1SetIamPolicyRequest", +"properties": { +"policy": { +"$ref": "GoogleIamV1Policy", +"description": "REQUIRED: The complete policy to be applied to the `resource`. The size of the policy is limited to a few 10s of KB. An empty policy is a valid policy but certain Google Cloud services (such as Projects) might reject them." +}, +"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" +} +}, +"type": "object" +}, +"GoogleIamV1TestIamPermissionsRequest": { +"description": "Request message for `TestIamPermissions` method.", +"id": "GoogleIamV1TestIamPermissionsRequest", +"properties": { +"permissions": { +"description": "The set of permissions to check for the `resource`. Permissions with wildcards (such as `*` or `storage.*`) are not allowed. For more information see [IAM Overview](https://cloud.google.com/iam/docs/overview#permissions).", +"items": { +"type": "string" +}, +"type": "array" +} +}, +"type": "object" +}, +"GoogleIamV1TestIamPermissionsResponse": { +"description": "Response message for `TestIamPermissions` method.", +"id": "GoogleIamV1TestIamPermissionsResponse", +"properties": { +"permissions": { +"description": "A subset of `TestPermissionsRequest.permissions` that the caller is allowed.", +"items": { +"type": "string" +}, +"type": "array" +} +}, +"type": "object" +}, +"GoogleLongrunningCancelOperationRequest": { +"description": "The request message for Operations.CancelOperation.", +"id": "GoogleLongrunningCancelOperationRequest", +"properties": {}, +"type": "object" +}, +"GoogleLongrunningListOperationsResponse": { +"description": "The response message for Operations.ListOperations.", +"id": "GoogleLongrunningListOperationsResponse", +"properties": { +"nextPageToken": { +"description": "The standard List next-page token.", +"type": "string" +}, +"operations": { +"description": "A list of operations that matches the specified filter in the request.", +"items": { +"$ref": "GoogleLongrunningOperation" +}, +"type": "array" +} +}, +"type": "object" +}, +"GoogleLongrunningOperation": { +"description": "This resource represents a long-running operation that is the result of a network API call.", +"id": "GoogleLongrunningOperation", +"properties": { +"done": { +"description": "If the value is `false`, it means the operation is still in progress. If `true`, the operation is completed, and either `error` or `response` is available.", +"type": "boolean" +}, +"error": { +"$ref": "GoogleRpcStatus", +"description": "The error result of the operation in case of failure or cancellation." +}, +"metadata": { +"additionalProperties": { +"description": "Properties of the object. Contains field @type with type URL.", +"type": "any" +}, +"description": "Service-specific metadata associated with the operation. It typically contains progress information and common metadata such as create time. Some services might not provide such metadata. Any method that returns a long-running operation should document the metadata type, if any.", +"type": "object" +}, +"name": { +"description": "The server-assigned name, which is only unique within the same service that originally returns it. If you use the default HTTP mapping, the `name` should be a resource name ending with `operations/{unique_id}`.", +"type": "string" +}, +"response": { +"additionalProperties": { +"description": "Properties of the object. Contains field @type with type URL.", +"type": "any" +}, +"description": "The normal, successful response of the operation. If the original method returns no data on success, such as `Delete`, the response is `google.protobuf.Empty`. If the original method is standard `Get`/`Create`/`Update`, the response should be the resource. For other methods, the response should have the type `XxxResponse`, where `Xxx` is the original method name. For example, if the original method name is `TakeSnapshot()`, the inferred response type is `TakeSnapshotResponse`.", +"type": "object" +} +}, +"type": "object" +}, +"GoogleRpcStatus": { +"description": "The `Status` type defines a logical error model that is suitable for different programming environments, including REST APIs and RPC APIs. It is used by [gRPC](https://github.com/grpc). Each `Status` message contains three pieces of data: error code, error message, and error details. You can find out more about this error model and how to work with it in the [API Design Guide](https://cloud.google.com/apis/design/errors).", +"id": "GoogleRpcStatus", +"properties": { +"code": { +"description": "The status code, which should be an enum value of google.rpc.Code.", +"format": "int32", +"type": "integer" +}, +"details": { +"description": "A list of messages that carry the error details. There is a common set of message types for APIs to use.", +"items": { +"additionalProperties": { +"description": "Properties of the object. Contains field @type with type URL.", +"type": "any" +}, +"type": "object" +}, +"type": "array" +}, +"message": { +"description": "A developer-facing error message, which should be in English. Any user-facing error message should be localized and sent in the google.rpc.Status.details field, or localized by the client.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleTypeExpr": { +"description": "Represents a textual expression in the Common Expression Language (CEL) syntax. CEL is a C-like expression language. The syntax and semantics of CEL are documented at https://github.com/google/cel-spec. Example (Comparison): title: \"Summary size limit\" description: \"Determines if a summary is less than 100 chars\" expression: \"document.summary.size() < 100\" Example (Equality): title: \"Requestor is owner\" description: \"Determines if requestor is the document owner\" expression: \"document.owner == request.auth.claims.email\" Example (Logic): title: \"Public documents\" description: \"Determine whether the document should be publicly visible\" expression: \"document.type != 'private' && document.type != 'internal'\" Example (Data Manipulation): title: \"Notification string\" description: \"Create a notification string with a timestamp.\" expression: \"'New message received at ' + string(document.create_time)\" The exact variables and functions that may be referenced within an expression are determined by the service that evaluates it. See the service documentation for additional information.", +"id": "GoogleTypeExpr", +"properties": { +"description": { +"description": "Optional. Description of the expression. This is a longer text which describes the expression, e.g. when hovered over it in a UI.", +"type": "string" +}, +"expression": { +"description": "Textual representation of an expression in Common Expression Language syntax.", +"type": "string" +}, +"location": { +"description": "Optional. String indicating the location of the expression for error reporting, e.g. a file name and a position in the file.", +"type": "string" +}, +"title": { +"description": "Optional. Title for the expression, i.e. a short string describing its purpose. This can be used e.g. in UIs which allow to enter the expression.", +"type": "string" +} +}, +"type": "object" +}, +"ListAppGatewaysResponse": { +"description": "Response message for BeyondCorp.ListAppGateways.", +"id": "ListAppGatewaysResponse", +"properties": { +"appGateways": { +"description": "A list of BeyondCorp AppGateways in the project.", +"items": { +"$ref": "AppGateway" +}, +"type": "array" +}, +"nextPageToken": { +"description": "A token to retrieve the next page of results, or empty if there are no more results in the list.", +"type": "string" +}, +"unreachable": { +"description": "A list of locations that could not be reached.", +"items": { +"type": "string" +}, +"type": "array" +} +}, +"type": "object" +}, +"ShouldThrottleResponse": { +"description": "Response message for calling ShouldThrottle", +"id": "ShouldThrottleResponse", +"properties": { +"shouldThrottle": { +"description": "Whether the port should be throttled", +"type": "boolean" +} +}, +"type": "object" +}, +"Tunnelv1ProtoTunnelerError": { +"description": "TunnelerError is an error proto for errors returned by the connection manager.", +"id": "Tunnelv1ProtoTunnelerError", +"properties": { +"err": { +"description": "Original raw error", +"type": "string" +}, +"retryable": { +"description": "retryable isn't used for now, but we may want to reuse it in the future.", +"type": "boolean" +} +}, +"type": "object" +}, +"Tunnelv1ProtoTunnelerInfo": { +"description": "TunnelerInfo contains metadata about tunneler launched by connection manager.", +"id": "Tunnelv1ProtoTunnelerInfo", +"properties": { +"backoffRetryCount": { +"description": "backoff_retry_count stores the number of times the tunneler has been retried by tunManager for current backoff sequence. Gets reset to 0 if time difference between 2 consecutive retries exceeds backoffRetryResetTime.", +"format": "uint32", +"type": "integer" +}, +"id": { +"description": "id is the unique id of a tunneler.", +"type": "string" +}, +"latestErr": { +"$ref": "Tunnelv1ProtoTunnelerError", +"description": "latest_err stores the Error for the latest tunneler failure. Gets reset everytime the tunneler is retried by tunManager." +}, +"latestRetryTime": { +"description": "latest_retry_time stores the time when the tunneler was last restarted.", +"format": "google-datetime", +"type": "string" +}, +"totalRetryCount": { +"description": "total_retry_count stores the total number of times the tunneler has been retried by tunManager.", +"format": "uint32", +"type": "integer" +} +}, +"type": "object" +} +}, +"servicePath": "", +"title": "BeyondCorp API", +"version": "v1", +"version_module": true +} \ No newline at end of file diff --git a/.venv/lib/python3.11/site-packages/googleapiclient/discovery_cache/documents/biglake.v1.json b/.venv/lib/python3.11/site-packages/googleapiclient/discovery_cache/documents/biglake.v1.json new file mode 100644 index 0000000000000000000000000000000000000000..ec27041a31c7204fc08946b5dd7cd6d3d7a33068 --- /dev/null +++ b/.venv/lib/python3.11/site-packages/googleapiclient/discovery_cache/documents/biglake.v1.json @@ -0,0 +1,910 @@ +{ +"auth": { +"oauth2": { +"scopes": { +"https://www.googleapis.com/auth/bigquery": { +"description": "View and manage your data in Google BigQuery and see the email address for your Google Account" +}, +"https://www.googleapis.com/auth/cloud-platform": { +"description": "See, edit, configure, and delete your Google Cloud data and see the email address for your Google Account." +} +} +} +}, +"basePath": "", +"baseUrl": "https://biglake.googleapis.com/", +"batchPath": "batch", +"canonicalName": "BigLake Service", +"description": "The BigLake API provides access to BigLake Metastore, a serverless, fully managed, and highly available metastore for open-source data that can be used for querying Apache Iceberg tables in BigQuery.", +"discoveryVersion": "v1", +"documentationLink": "https://cloud.google.com/bigquery/", +"fullyEncodeReservedExpansion": true, +"icons": { +"x16": "http://www.google.com/images/icons/product/search-16.gif", +"x32": "http://www.google.com/images/icons/product/search-32.gif" +}, +"id": "biglake:v1", +"kind": "discovery#restDescription", +"mtlsRootUrl": "https://biglake.mtls.googleapis.com/", +"name": "biglake", +"ownerDomain": "google.com", +"ownerName": "Google", +"parameters": { +"$.xgafv": { +"description": "V1 error format.", +"enum": [ +"1", +"2" +], +"enumDescriptions": [ +"v1 error format", +"v2 error format" +], +"location": "query", +"type": "string" +}, +"access_token": { +"description": "OAuth access token.", +"location": "query", +"type": "string" +}, +"alt": { +"default": "json", +"description": "Data format for response.", +"enum": [ +"json", +"media", +"proto" +], +"enumDescriptions": [ +"Responses with Content-Type of application/json", +"Media download with context-dependent Content-Type", +"Responses with Content-Type of application/x-protobuf" +], +"location": "query", +"type": "string" +}, +"callback": { +"description": "JSONP", +"location": "query", +"type": "string" +}, +"fields": { +"description": "Selector specifying which fields to include in a partial response.", +"location": "query", +"type": "string" +}, +"key": { +"description": "API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token.", +"location": "query", +"type": "string" +}, +"oauth_token": { +"description": "OAuth 2.0 token for the current user.", +"location": "query", +"type": "string" +}, +"prettyPrint": { +"default": "true", +"description": "Returns response with indentations and line breaks.", +"location": "query", +"type": "boolean" +}, +"quotaUser": { +"description": "Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters.", +"location": "query", +"type": "string" +}, +"uploadType": { +"description": "Legacy upload protocol for media (e.g. \"media\", \"multipart\").", +"location": "query", +"type": "string" +}, +"upload_protocol": { +"description": "Upload protocol for media (e.g. \"raw\", \"multipart\").", +"location": "query", +"type": "string" +} +}, +"protocol": "rest", +"resources": { +"projects": { +"resources": { +"locations": { +"resources": { +"catalogs": { +"methods": { +"create": { +"description": "Creates a new catalog.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/catalogs", +"httpMethod": "POST", +"id": "biglake.projects.locations.catalogs.create", +"parameterOrder": [ +"parent" +], +"parameters": { +"catalogId": { +"description": "Required. The ID to use for the catalog, which will become the final component of the catalog's resource name.", +"location": "query", +"type": "string" +}, +"parent": { +"description": "Required. The parent resource where this catalog will be created. Format: projects/{project_id_or_number}/locations/{location_id}", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+parent}/catalogs", +"request": { +"$ref": "Catalog" +}, +"response": { +"$ref": "Catalog" +}, +"scopes": [ +"https://www.googleapis.com/auth/bigquery", +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"delete": { +"description": "Deletes an existing catalog specified by the catalog ID.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/catalogs/{catalogsId}", +"httpMethod": "DELETE", +"id": "biglake.projects.locations.catalogs.delete", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. The name of the catalog to delete. Format: projects/{project_id_or_number}/locations/{location_id}/catalogs/{catalog_id}", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/catalogs/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+name}", +"response": { +"$ref": "Catalog" +}, +"scopes": [ +"https://www.googleapis.com/auth/bigquery", +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"get": { +"description": "Gets the catalog specified by the resource name.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/catalogs/{catalogsId}", +"httpMethod": "GET", +"id": "biglake.projects.locations.catalogs.get", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. The name of the catalog to retrieve. Format: projects/{project_id_or_number}/locations/{location_id}/catalogs/{catalog_id}", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/catalogs/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+name}", +"response": { +"$ref": "Catalog" +}, +"scopes": [ +"https://www.googleapis.com/auth/bigquery", +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"list": { +"description": "List all catalogs in a specified project.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/catalogs", +"httpMethod": "GET", +"id": "biglake.projects.locations.catalogs.list", +"parameterOrder": [ +"parent" +], +"parameters": { +"pageSize": { +"description": "The maximum number of catalogs to return. The service may return fewer than this value. If unspecified, at most 50 catalogs will be returned. The maximum value is 1000; values above 1000 will be coerced to 1000.", +"format": "int32", +"location": "query", +"type": "integer" +}, +"pageToken": { +"description": "A page token, received from a previous `ListCatalogs` call. Provide this to retrieve the subsequent page. When paginating, all other parameters provided to `ListCatalogs` must match the call that provided the page token.", +"location": "query", +"type": "string" +}, +"parent": { +"description": "Required. The parent, which owns this collection of catalogs. Format: projects/{project_id_or_number}/locations/{location_id}", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+parent}/catalogs", +"response": { +"$ref": "ListCatalogsResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/bigquery", +"https://www.googleapis.com/auth/cloud-platform" +] +} +}, +"resources": { +"databases": { +"methods": { +"create": { +"description": "Creates a new database.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/catalogs/{catalogsId}/databases", +"httpMethod": "POST", +"id": "biglake.projects.locations.catalogs.databases.create", +"parameterOrder": [ +"parent" +], +"parameters": { +"databaseId": { +"description": "Required. The ID to use for the database, which will become the final component of the database's resource name.", +"location": "query", +"type": "string" +}, +"parent": { +"description": "Required. The parent resource where this database will be created. Format: projects/{project_id_or_number}/locations/{location_id}/catalogs/{catalog_id}", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/catalogs/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+parent}/databases", +"request": { +"$ref": "Database" +}, +"response": { +"$ref": "Database" +}, +"scopes": [ +"https://www.googleapis.com/auth/bigquery", +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"delete": { +"description": "Deletes an existing database specified by the database ID.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/catalogs/{catalogsId}/databases/{databasesId}", +"httpMethod": "DELETE", +"id": "biglake.projects.locations.catalogs.databases.delete", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. The name of the database to delete. Format: projects/{project_id_or_number}/locations/{location_id}/catalogs/{catalog_id}/databases/{database_id}", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/catalogs/[^/]+/databases/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+name}", +"response": { +"$ref": "Database" +}, +"scopes": [ +"https://www.googleapis.com/auth/bigquery", +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"get": { +"description": "Gets the database specified by the resource name.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/catalogs/{catalogsId}/databases/{databasesId}", +"httpMethod": "GET", +"id": "biglake.projects.locations.catalogs.databases.get", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. The name of the database to retrieve. Format: projects/{project_id_or_number}/locations/{location_id}/catalogs/{catalog_id}/databases/{database_id}", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/catalogs/[^/]+/databases/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+name}", +"response": { +"$ref": "Database" +}, +"scopes": [ +"https://www.googleapis.com/auth/bigquery", +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"list": { +"description": "List all databases in a specified catalog.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/catalogs/{catalogsId}/databases", +"httpMethod": "GET", +"id": "biglake.projects.locations.catalogs.databases.list", +"parameterOrder": [ +"parent" +], +"parameters": { +"pageSize": { +"description": "The maximum number of databases to return. The service may return fewer than this value. If unspecified, at most 50 databases will be returned. The maximum value is 1000; values above 1000 will be coerced to 1000.", +"format": "int32", +"location": "query", +"type": "integer" +}, +"pageToken": { +"description": "A page token, received from a previous `ListDatabases` call. Provide this to retrieve the subsequent page. When paginating, all other parameters provided to `ListDatabases` must match the call that provided the page token.", +"location": "query", +"type": "string" +}, +"parent": { +"description": "Required. The parent, which owns this collection of databases. Format: projects/{project_id_or_number}/locations/{location_id}/catalogs/{catalog_id}", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/catalogs/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+parent}/databases", +"response": { +"$ref": "ListDatabasesResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/bigquery", +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"patch": { +"description": "Updates an existing database specified by the database ID.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/catalogs/{catalogsId}/databases/{databasesId}", +"httpMethod": "PATCH", +"id": "biglake.projects.locations.catalogs.databases.patch", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Output only. The resource name. Format: projects/{project_id_or_number}/locations/{location_id}/catalogs/{catalog_id}/databases/{database_id}", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/catalogs/[^/]+/databases/[^/]+$", +"required": true, +"type": "string" +}, +"updateMask": { +"description": "The list of fields to update. For the `FieldMask` definition, see https://developers.google.com/protocol-buffers/docs/reference/google.protobuf#fieldmask If not set, defaults to all of the fields that are allowed to update.", +"format": "google-fieldmask", +"location": "query", +"type": "string" +} +}, +"path": "v1/{+name}", +"request": { +"$ref": "Database" +}, +"response": { +"$ref": "Database" +}, +"scopes": [ +"https://www.googleapis.com/auth/bigquery", +"https://www.googleapis.com/auth/cloud-platform" +] +} +}, +"resources": { +"tables": { +"methods": { +"create": { +"description": "Creates a new table.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/catalogs/{catalogsId}/databases/{databasesId}/tables", +"httpMethod": "POST", +"id": "biglake.projects.locations.catalogs.databases.tables.create", +"parameterOrder": [ +"parent" +], +"parameters": { +"parent": { +"description": "Required. The parent resource where this table will be created. Format: projects/{project_id_or_number}/locations/{location_id}/catalogs/{catalog_id}/databases/{database_id}", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/catalogs/[^/]+/databases/[^/]+$", +"required": true, +"type": "string" +}, +"tableId": { +"description": "Required. The ID to use for the table, which will become the final component of the table's resource name.", +"location": "query", +"type": "string" +} +}, +"path": "v1/{+parent}/tables", +"request": { +"$ref": "Table" +}, +"response": { +"$ref": "Table" +}, +"scopes": [ +"https://www.googleapis.com/auth/bigquery", +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"delete": { +"description": "Deletes an existing table specified by the table ID.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/catalogs/{catalogsId}/databases/{databasesId}/tables/{tablesId}", +"httpMethod": "DELETE", +"id": "biglake.projects.locations.catalogs.databases.tables.delete", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. The name of the table to delete. Format: projects/{project_id_or_number}/locations/{location_id}/catalogs/{catalog_id}/databases/{database_id}/tables/{table_id}", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/catalogs/[^/]+/databases/[^/]+/tables/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+name}", +"response": { +"$ref": "Table" +}, +"scopes": [ +"https://www.googleapis.com/auth/bigquery", +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"get": { +"description": "Gets the table specified by the resource name.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/catalogs/{catalogsId}/databases/{databasesId}/tables/{tablesId}", +"httpMethod": "GET", +"id": "biglake.projects.locations.catalogs.databases.tables.get", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. The name of the table to retrieve. Format: projects/{project_id_or_number}/locations/{location_id}/catalogs/{catalog_id}/databases/{database_id}/tables/{table_id}", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/catalogs/[^/]+/databases/[^/]+/tables/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+name}", +"response": { +"$ref": "Table" +}, +"scopes": [ +"https://www.googleapis.com/auth/bigquery", +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"list": { +"description": "List all tables in a specified database.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/catalogs/{catalogsId}/databases/{databasesId}/tables", +"httpMethod": "GET", +"id": "biglake.projects.locations.catalogs.databases.tables.list", +"parameterOrder": [ +"parent" +], +"parameters": { +"pageSize": { +"description": "The maximum number of tables to return. The service may return fewer than this value. If unspecified, at most 50 tables will be returned. The maximum value is 1000; values above 1000 will be coerced to 1000.", +"format": "int32", +"location": "query", +"type": "integer" +}, +"pageToken": { +"description": "A page token, received from a previous `ListTables` call. Provide this to retrieve the subsequent page. When paginating, all other parameters provided to `ListTables` must match the call that provided the page token.", +"location": "query", +"type": "string" +}, +"parent": { +"description": "Required. The parent, which owns this collection of tables. Format: projects/{project_id_or_number}/locations/{location_id}/catalogs/{catalog_id}/databases/{database_id}", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/catalogs/[^/]+/databases/[^/]+$", +"required": true, +"type": "string" +}, +"view": { +"description": "The view for the returned tables.", +"enum": [ +"TABLE_VIEW_UNSPECIFIED", +"BASIC", +"FULL" +], +"enumDescriptions": [ +"Default value. The API will default to the BASIC view.", +"Include only table names. This is the default value.", +"Include everything." +], +"location": "query", +"type": "string" +} +}, +"path": "v1/{+parent}/tables", +"response": { +"$ref": "ListTablesResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/bigquery", +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"patch": { +"description": "Updates an existing table specified by the table ID.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/catalogs/{catalogsId}/databases/{databasesId}/tables/{tablesId}", +"httpMethod": "PATCH", +"id": "biglake.projects.locations.catalogs.databases.tables.patch", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Output only. The resource name. Format: projects/{project_id_or_number}/locations/{location_id}/catalogs/{catalog_id}/databases/{database_id}/tables/{table_id}", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/catalogs/[^/]+/databases/[^/]+/tables/[^/]+$", +"required": true, +"type": "string" +}, +"updateMask": { +"description": "The list of fields to update. For the `FieldMask` definition, see https://developers.google.com/protocol-buffers/docs/reference/google.protobuf#fieldmask If not set, defaults to all of the fields that are allowed to update.", +"format": "google-fieldmask", +"location": "query", +"type": "string" +} +}, +"path": "v1/{+name}", +"request": { +"$ref": "Table" +}, +"response": { +"$ref": "Table" +}, +"scopes": [ +"https://www.googleapis.com/auth/bigquery", +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"rename": { +"description": "Renames an existing table specified by the table ID.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/catalogs/{catalogsId}/databases/{databasesId}/tables/{tablesId}:rename", +"httpMethod": "POST", +"id": "biglake.projects.locations.catalogs.databases.tables.rename", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. The table's `name` field is used to identify the table to rename. Format: projects/{project_id_or_number}/locations/{location_id}/catalogs/{catalog_id}/databases/{database_id}/tables/{table_id}", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/catalogs/[^/]+/databases/[^/]+/tables/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+name}:rename", +"request": { +"$ref": "RenameTableRequest" +}, +"response": { +"$ref": "Table" +}, +"scopes": [ +"https://www.googleapis.com/auth/bigquery", +"https://www.googleapis.com/auth/cloud-platform" +] +} +} +} +} +} +} +} +} +} +} +} +}, +"revision": "20240703", +"rootUrl": "https://biglake.googleapis.com/", +"schemas": { +"Catalog": { +"description": "Catalog is the container of databases.", +"id": "Catalog", +"properties": { +"createTime": { +"description": "Output only. The creation time of the catalog.", +"format": "google-datetime", +"readOnly": true, +"type": "string" +}, +"deleteTime": { +"description": "Output only. The deletion time of the catalog. Only set after the catalog is deleted.", +"format": "google-datetime", +"readOnly": true, +"type": "string" +}, +"expireTime": { +"description": "Output only. The time when this catalog is considered expired. Only set after the catalog is deleted.", +"format": "google-datetime", +"readOnly": true, +"type": "string" +}, +"name": { +"description": "Output only. The resource name. Format: projects/{project_id_or_number}/locations/{location_id}/catalogs/{catalog_id}", +"readOnly": true, +"type": "string" +}, +"updateTime": { +"description": "Output only. The last modification time of the catalog.", +"format": "google-datetime", +"readOnly": true, +"type": "string" +} +}, +"type": "object" +}, +"Database": { +"description": "Database is the container of tables.", +"id": "Database", +"properties": { +"createTime": { +"description": "Output only. The creation time of the database.", +"format": "google-datetime", +"readOnly": true, +"type": "string" +}, +"deleteTime": { +"description": "Output only. The deletion time of the database. Only set after the database is deleted.", +"format": "google-datetime", +"readOnly": true, +"type": "string" +}, +"expireTime": { +"description": "Output only. The time when this database is considered expired. Only set after the database is deleted.", +"format": "google-datetime", +"readOnly": true, +"type": "string" +}, +"hiveOptions": { +"$ref": "HiveDatabaseOptions", +"description": "Options of a Hive database." +}, +"name": { +"description": "Output only. The resource name. Format: projects/{project_id_or_number}/locations/{location_id}/catalogs/{catalog_id}/databases/{database_id}", +"readOnly": true, +"type": "string" +}, +"type": { +"description": "The database type.", +"enum": [ +"TYPE_UNSPECIFIED", +"HIVE" +], +"enumDescriptions": [ +"The type is not specified.", +"Represents a database storing tables compatible with Hive Metastore tables." +], +"type": "string" +}, +"updateTime": { +"description": "Output only. The last modification time of the database.", +"format": "google-datetime", +"readOnly": true, +"type": "string" +} +}, +"type": "object" +}, +"HiveDatabaseOptions": { +"description": "Options of a Hive database.", +"id": "HiveDatabaseOptions", +"properties": { +"locationUri": { +"description": "Cloud Storage folder URI where the database data is stored, starting with \"gs://\".", +"type": "string" +}, +"parameters": { +"additionalProperties": { +"type": "string" +}, +"description": "Stores user supplied Hive database parameters.", +"type": "object" +} +}, +"type": "object" +}, +"HiveTableOptions": { +"description": "Options of a Hive table.", +"id": "HiveTableOptions", +"properties": { +"parameters": { +"additionalProperties": { +"type": "string" +}, +"description": "Stores user supplied Hive table parameters.", +"type": "object" +}, +"storageDescriptor": { +"$ref": "StorageDescriptor", +"description": "Stores physical storage information of the data." +}, +"tableType": { +"description": "Hive table type. For example, MANAGED_TABLE, EXTERNAL_TABLE.", +"type": "string" +} +}, +"type": "object" +}, +"ListCatalogsResponse": { +"description": "Response message for the ListCatalogs method.", +"id": "ListCatalogsResponse", +"properties": { +"catalogs": { +"description": "The catalogs from the specified project.", +"items": { +"$ref": "Catalog" +}, +"type": "array" +}, +"nextPageToken": { +"description": "A token, which can be sent as `page_token` to retrieve the next page. If this field is omitted, there are no subsequent pages.", +"type": "string" +} +}, +"type": "object" +}, +"ListDatabasesResponse": { +"description": "Response message for the ListDatabases method.", +"id": "ListDatabasesResponse", +"properties": { +"databases": { +"description": "The databases from the specified catalog.", +"items": { +"$ref": "Database" +}, +"type": "array" +}, +"nextPageToken": { +"description": "A token, which can be sent as `page_token` to retrieve the next page. If this field is omitted, there are no subsequent pages.", +"type": "string" +} +}, +"type": "object" +}, +"ListTablesResponse": { +"description": "Response message for the ListTables method.", +"id": "ListTablesResponse", +"properties": { +"nextPageToken": { +"description": "A token, which can be sent as `page_token` to retrieve the next page. If this field is omitted, there are no subsequent pages.", +"type": "string" +}, +"tables": { +"description": "The tables from the specified database.", +"items": { +"$ref": "Table" +}, +"type": "array" +} +}, +"type": "object" +}, +"RenameTableRequest": { +"description": "Request message for the RenameTable method in MetastoreService", +"id": "RenameTableRequest", +"properties": { +"newName": { +"description": "Required. The new `name` for the specified table, must be in the same database. Format: projects/{project_id_or_number}/locations/{location_id}/catalogs/{catalog_id}/databases/{database_id}/tables/{table_id}", +"type": "string" +} +}, +"type": "object" +}, +"SerDeInfo": { +"description": "Serializer and deserializer information.", +"id": "SerDeInfo", +"properties": { +"serializationLib": { +"description": "The fully qualified Java class name of the serialization library.", +"type": "string" +} +}, +"type": "object" +}, +"StorageDescriptor": { +"description": "Stores physical storage information of the data.", +"id": "StorageDescriptor", +"properties": { +"inputFormat": { +"description": "The fully qualified Java class name of the input format.", +"type": "string" +}, +"locationUri": { +"description": "Cloud Storage folder URI where the table data is stored, starting with \"gs://\".", +"type": "string" +}, +"outputFormat": { +"description": "The fully qualified Java class name of the output format.", +"type": "string" +}, +"serdeInfo": { +"$ref": "SerDeInfo", +"description": "Serializer and deserializer information." +} +}, +"type": "object" +}, +"Table": { +"description": "Represents a table.", +"id": "Table", +"properties": { +"createTime": { +"description": "Output only. The creation time of the table.", +"format": "google-datetime", +"readOnly": true, +"type": "string" +}, +"deleteTime": { +"description": "Output only. The deletion time of the table. Only set after the table is deleted.", +"format": "google-datetime", +"readOnly": true, +"type": "string" +}, +"etag": { +"description": "The checksum of a table object computed by the server based on the value of other fields. It may be sent on update requests to ensure the client has an up-to-date value before proceeding. It is only checked for update table operations.", +"type": "string" +}, +"expireTime": { +"description": "Output only. The time when this table is considered expired. Only set after the table is deleted.", +"format": "google-datetime", +"readOnly": true, +"type": "string" +}, +"hiveOptions": { +"$ref": "HiveTableOptions", +"description": "Options of a Hive table." +}, +"name": { +"description": "Output only. The resource name. Format: projects/{project_id_or_number}/locations/{location_id}/catalogs/{catalog_id}/databases/{database_id}/tables/{table_id}", +"readOnly": true, +"type": "string" +}, +"type": { +"description": "The table type.", +"enum": [ +"TYPE_UNSPECIFIED", +"HIVE" +], +"enumDescriptions": [ +"The type is not specified.", +"Represents a table compatible with Hive Metastore tables." +], +"type": "string" +}, +"updateTime": { +"description": "Output only. The last modification time of the table.", +"format": "google-datetime", +"readOnly": true, +"type": "string" +} +}, +"type": "object" +} +}, +"servicePath": "", +"title": "BigLake API", +"version": "v1", +"version_module": true +} \ No newline at end of file diff --git a/.venv/lib/python3.11/site-packages/googleapiclient/discovery_cache/documents/bigtableadmin.v2.json b/.venv/lib/python3.11/site-packages/googleapiclient/discovery_cache/documents/bigtableadmin.v2.json new file mode 100644 index 0000000000000000000000000000000000000000..92206901774d0c61e0cc3916683be89770812a57 --- /dev/null +++ b/.venv/lib/python3.11/site-packages/googleapiclient/discovery_cache/documents/bigtableadmin.v2.json @@ -0,0 +1,4515 @@ +{ +"auth": { +"oauth2": { +"scopes": { +"https://www.googleapis.com/auth/bigtable.admin": { +"description": "Administer your Cloud Bigtable tables and clusters" +}, +"https://www.googleapis.com/auth/bigtable.admin.cluster": { +"description": "Administer your Cloud Bigtable clusters" +}, +"https://www.googleapis.com/auth/bigtable.admin.instance": { +"description": "Administer your Cloud Bigtable clusters" +}, +"https://www.googleapis.com/auth/bigtable.admin.table": { +"description": "Administer your Cloud Bigtable tables" +}, +"https://www.googleapis.com/auth/cloud-bigtable.admin": { +"description": "Administer your Cloud Bigtable tables and clusters" +}, +"https://www.googleapis.com/auth/cloud-bigtable.admin.cluster": { +"description": "Administer your Cloud Bigtable clusters" +}, +"https://www.googleapis.com/auth/cloud-bigtable.admin.table": { +"description": "Administer your Cloud Bigtable tables" +}, +"https://www.googleapis.com/auth/cloud-platform": { +"description": "See, edit, configure, and delete your Google Cloud data and see the email address for your Google Account." +}, +"https://www.googleapis.com/auth/cloud-platform.read-only": { +"description": "View your data across Google Cloud services and see the email address of your Google Account" +} +} +} +}, +"basePath": "", +"baseUrl": "https://bigtableadmin.googleapis.com/", +"batchPath": "batch", +"canonicalName": "Bigtable Admin", +"description": "Administer your Cloud Bigtable tables and instances.", +"discoveryVersion": "v1", +"documentationLink": "https://cloud.google.com/bigtable/", +"fullyEncodeReservedExpansion": true, +"icons": { +"x16": "http://www.google.com/images/icons/product/search-16.gif", +"x32": "http://www.google.com/images/icons/product/search-32.gif" +}, +"id": "bigtableadmin:v2", +"kind": "discovery#restDescription", +"mtlsRootUrl": "https://bigtableadmin.mtls.googleapis.com/", +"name": "bigtableadmin", +"ownerDomain": "google.com", +"ownerName": "Google", +"parameters": { +"$.xgafv": { +"description": "V1 error format.", +"enum": [ +"1", +"2" +], +"enumDescriptions": [ +"v1 error format", +"v2 error format" +], +"location": "query", +"type": "string" +}, +"access_token": { +"description": "OAuth access token.", +"location": "query", +"type": "string" +}, +"alt": { +"default": "json", +"description": "Data format for response.", +"enum": [ +"json", +"media", +"proto" +], +"enumDescriptions": [ +"Responses with Content-Type of application/json", +"Media download with context-dependent Content-Type", +"Responses with Content-Type of application/x-protobuf" +], +"location": "query", +"type": "string" +}, +"callback": { +"description": "JSONP", +"location": "query", +"type": "string" +}, +"fields": { +"description": "Selector specifying which fields to include in a partial response.", +"location": "query", +"type": "string" +}, +"key": { +"description": "API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token.", +"location": "query", +"type": "string" +}, +"oauth_token": { +"description": "OAuth 2.0 token for the current user.", +"location": "query", +"type": "string" +}, +"prettyPrint": { +"default": "true", +"description": "Returns response with indentations and line breaks.", +"location": "query", +"type": "boolean" +}, +"quotaUser": { +"description": "Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters.", +"location": "query", +"type": "string" +}, +"uploadType": { +"description": "Legacy upload protocol for media (e.g. \"media\", \"multipart\").", +"location": "query", +"type": "string" +}, +"upload_protocol": { +"description": "Upload protocol for media (e.g. \"raw\", \"multipart\").", +"location": "query", +"type": "string" +} +}, +"protocol": "rest", +"resources": { +"operations": { +"methods": { +"get": { +"description": "Gets the latest state of a long-running operation. Clients can use this method to poll the operation result at intervals as recommended by the API service.", +"flatPath": "v2/operations/{operationsId}", +"httpMethod": "GET", +"id": "bigtableadmin.operations.get", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "The name of the operation resource.", +"location": "path", +"pattern": "^operations/.*$", +"required": true, +"type": "string" +} +}, +"path": "v2/{+name}", +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/bigtable.admin", +"https://www.googleapis.com/auth/bigtable.admin.cluster", +"https://www.googleapis.com/auth/bigtable.admin.instance", +"https://www.googleapis.com/auth/cloud-bigtable.admin", +"https://www.googleapis.com/auth/cloud-bigtable.admin.cluster", +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/cloud-platform.read-only" +] +} +}, +"resources": { +"projects": { +"resources": { +"operations": { +"methods": { +"list": { +"description": "Lists operations that match the specified filter in the request. If the server doesn't support this method, it returns `UNIMPLEMENTED`.", +"flatPath": "v2/operations/projects/{projectsId}/operations", +"httpMethod": "GET", +"id": "bigtableadmin.operations.projects.operations.list", +"parameterOrder": [ +"name" +], +"parameters": { +"filter": { +"description": "The standard list filter.", +"location": "query", +"type": "string" +}, +"name": { +"description": "The name of the operation's parent resource.", +"location": "path", +"pattern": "^operations/projects/.*$", +"required": true, +"type": "string" +}, +"pageSize": { +"description": "The standard list page size.", +"format": "int32", +"location": "query", +"type": "integer" +}, +"pageToken": { +"description": "The standard list page token.", +"location": "query", +"type": "string" +} +}, +"path": "v2/{+name}/operations", +"response": { +"$ref": "ListOperationsResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/bigtable.admin", +"https://www.googleapis.com/auth/bigtable.admin.cluster", +"https://www.googleapis.com/auth/bigtable.admin.instance", +"https://www.googleapis.com/auth/cloud-bigtable.admin", +"https://www.googleapis.com/auth/cloud-bigtable.admin.cluster", +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/cloud-platform.read-only" +] +} +} +} +} +} +} +}, +"projects": { +"resources": { +"instances": { +"methods": { +"create": { +"description": "Create an instance within a project. Note that exactly one of Cluster.serve_nodes and Cluster.cluster_config.cluster_autoscaling_config can be set. If serve_nodes is set to non-zero, then the cluster is manually scaled. If cluster_config.cluster_autoscaling_config is non-empty, then autoscaling is enabled.", +"flatPath": "v2/projects/{projectsId}/instances", +"httpMethod": "POST", +"id": "bigtableadmin.projects.instances.create", +"parameterOrder": [ +"parent" +], +"parameters": { +"parent": { +"description": "Required. The unique name of the project in which to create the new instance. Values are of the form `projects/{project}`.", +"location": "path", +"pattern": "^projects/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v2/{+parent}/instances", +"request": { +"$ref": "CreateInstanceRequest" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/bigtable.admin", +"https://www.googleapis.com/auth/bigtable.admin.cluster", +"https://www.googleapis.com/auth/bigtable.admin.instance", +"https://www.googleapis.com/auth/cloud-bigtable.admin", +"https://www.googleapis.com/auth/cloud-bigtable.admin.cluster", +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"delete": { +"description": "Delete an instance from a project.", +"flatPath": "v2/projects/{projectsId}/instances/{instancesId}", +"httpMethod": "DELETE", +"id": "bigtableadmin.projects.instances.delete", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. The unique name of the instance to be deleted. Values are of the form `projects/{project}/instances/{instance}`.", +"location": "path", +"pattern": "^projects/[^/]+/instances/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v2/{+name}", +"response": { +"$ref": "Empty" +}, +"scopes": [ +"https://www.googleapis.com/auth/bigtable.admin", +"https://www.googleapis.com/auth/bigtable.admin.cluster", +"https://www.googleapis.com/auth/bigtable.admin.instance", +"https://www.googleapis.com/auth/cloud-bigtable.admin", +"https://www.googleapis.com/auth/cloud-bigtable.admin.cluster", +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"get": { +"description": "Gets information about an instance.", +"flatPath": "v2/projects/{projectsId}/instances/{instancesId}", +"httpMethod": "GET", +"id": "bigtableadmin.projects.instances.get", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. The unique name of the requested instance. Values are of the form `projects/{project}/instances/{instance}`.", +"location": "path", +"pattern": "^projects/[^/]+/instances/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v2/{+name}", +"response": { +"$ref": "Instance" +}, +"scopes": [ +"https://www.googleapis.com/auth/bigtable.admin", +"https://www.googleapis.com/auth/bigtable.admin.cluster", +"https://www.googleapis.com/auth/bigtable.admin.instance", +"https://www.googleapis.com/auth/cloud-bigtable.admin", +"https://www.googleapis.com/auth/cloud-bigtable.admin.cluster", +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/cloud-platform.read-only" +] +}, +"getIamPolicy": { +"description": "Gets the access control policy for an instance resource. Returns an empty policy if an instance exists but does not have a policy set.", +"flatPath": "v2/projects/{projectsId}/instances/{instancesId}:getIamPolicy", +"httpMethod": "POST", +"id": "bigtableadmin.projects.instances.getIamPolicy", +"parameterOrder": [ +"resource" +], +"parameters": { +"resource": { +"description": "REQUIRED: The resource for which the policy is being requested. See [Resource names](https://cloud.google.com/apis/design/resource_names) for the appropriate value for this field.", +"location": "path", +"pattern": "^projects/[^/]+/instances/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v2/{+resource}:getIamPolicy", +"request": { +"$ref": "GetIamPolicyRequest" +}, +"response": { +"$ref": "Policy" +}, +"scopes": [ +"https://www.googleapis.com/auth/bigtable.admin", +"https://www.googleapis.com/auth/bigtable.admin.cluster", +"https://www.googleapis.com/auth/bigtable.admin.instance", +"https://www.googleapis.com/auth/cloud-bigtable.admin", +"https://www.googleapis.com/auth/cloud-bigtable.admin.cluster", +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"list": { +"description": "Lists information about instances in a project.", +"flatPath": "v2/projects/{projectsId}/instances", +"httpMethod": "GET", +"id": "bigtableadmin.projects.instances.list", +"parameterOrder": [ +"parent" +], +"parameters": { +"pageToken": { +"description": "DEPRECATED: This field is unused and ignored.", +"location": "query", +"type": "string" +}, +"parent": { +"description": "Required. The unique name of the project for which a list of instances is requested. Values are of the form `projects/{project}`.", +"location": "path", +"pattern": "^projects/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v2/{+parent}/instances", +"response": { +"$ref": "ListInstancesResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/bigtable.admin", +"https://www.googleapis.com/auth/bigtable.admin.cluster", +"https://www.googleapis.com/auth/bigtable.admin.instance", +"https://www.googleapis.com/auth/cloud-bigtable.admin", +"https://www.googleapis.com/auth/cloud-bigtable.admin.cluster", +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/cloud-platform.read-only" +] +}, +"partialUpdateInstance": { +"description": "Partially updates an instance within a project. This method can modify all fields of an Instance and is the preferred way to update an Instance.", +"flatPath": "v2/projects/{projectsId}/instances/{instancesId}", +"httpMethod": "PATCH", +"id": "bigtableadmin.projects.instances.partialUpdateInstance", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "The unique name of the instance. Values are of the form `projects/{project}/instances/a-z+[a-z0-9]`.", +"location": "path", +"pattern": "^projects/[^/]+/instances/[^/]+$", +"required": true, +"type": "string" +}, +"updateMask": { +"description": "Required. The subset of Instance fields which should be replaced. Must be explicitly set.", +"format": "google-fieldmask", +"location": "query", +"type": "string" +} +}, +"path": "v2/{+name}", +"request": { +"$ref": "Instance" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/bigtable.admin", +"https://www.googleapis.com/auth/bigtable.admin.cluster", +"https://www.googleapis.com/auth/bigtable.admin.instance", +"https://www.googleapis.com/auth/cloud-bigtable.admin", +"https://www.googleapis.com/auth/cloud-bigtable.admin.cluster", +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"setIamPolicy": { +"description": "Sets the access control policy on an instance resource. Replaces any existing policy.", +"flatPath": "v2/projects/{projectsId}/instances/{instancesId}:setIamPolicy", +"httpMethod": "POST", +"id": "bigtableadmin.projects.instances.setIamPolicy", +"parameterOrder": [ +"resource" +], +"parameters": { +"resource": { +"description": "REQUIRED: The resource for which the policy is being specified. See [Resource names](https://cloud.google.com/apis/design/resource_names) for the appropriate value for this field.", +"location": "path", +"pattern": "^projects/[^/]+/instances/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v2/{+resource}:setIamPolicy", +"request": { +"$ref": "SetIamPolicyRequest" +}, +"response": { +"$ref": "Policy" +}, +"scopes": [ +"https://www.googleapis.com/auth/bigtable.admin", +"https://www.googleapis.com/auth/bigtable.admin.cluster", +"https://www.googleapis.com/auth/bigtable.admin.instance", +"https://www.googleapis.com/auth/cloud-bigtable.admin", +"https://www.googleapis.com/auth/cloud-bigtable.admin.cluster", +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"testIamPermissions": { +"description": "Returns permissions that the caller has on the specified instance resource.", +"flatPath": "v2/projects/{projectsId}/instances/{instancesId}:testIamPermissions", +"httpMethod": "POST", +"id": "bigtableadmin.projects.instances.testIamPermissions", +"parameterOrder": [ +"resource" +], +"parameters": { +"resource": { +"description": "REQUIRED: The resource for which the policy detail is being requested. See [Resource names](https://cloud.google.com/apis/design/resource_names) for the appropriate value for this field.", +"location": "path", +"pattern": "^projects/[^/]+/instances/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v2/{+resource}:testIamPermissions", +"request": { +"$ref": "TestIamPermissionsRequest" +}, +"response": { +"$ref": "TestIamPermissionsResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/bigtable.admin", +"https://www.googleapis.com/auth/bigtable.admin.cluster", +"https://www.googleapis.com/auth/bigtable.admin.instance", +"https://www.googleapis.com/auth/cloud-bigtable.admin", +"https://www.googleapis.com/auth/cloud-bigtable.admin.cluster", +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"update": { +"description": "Updates an instance within a project. This method updates only the display name and type for an Instance. To update other Instance properties, such as labels, use PartialUpdateInstance.", +"flatPath": "v2/projects/{projectsId}/instances/{instancesId}", +"httpMethod": "PUT", +"id": "bigtableadmin.projects.instances.update", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "The unique name of the instance. Values are of the form `projects/{project}/instances/a-z+[a-z0-9]`.", +"location": "path", +"pattern": "^projects/[^/]+/instances/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v2/{+name}", +"request": { +"$ref": "Instance" +}, +"response": { +"$ref": "Instance" +}, +"scopes": [ +"https://www.googleapis.com/auth/bigtable.admin", +"https://www.googleapis.com/auth/bigtable.admin.cluster", +"https://www.googleapis.com/auth/bigtable.admin.instance", +"https://www.googleapis.com/auth/cloud-bigtable.admin", +"https://www.googleapis.com/auth/cloud-bigtable.admin.cluster", +"https://www.googleapis.com/auth/cloud-platform" +] +} +}, +"resources": { +"appProfiles": { +"methods": { +"create": { +"description": "Creates an app profile within an instance.", +"flatPath": "v2/projects/{projectsId}/instances/{instancesId}/appProfiles", +"httpMethod": "POST", +"id": "bigtableadmin.projects.instances.appProfiles.create", +"parameterOrder": [ +"parent" +], +"parameters": { +"appProfileId": { +"description": "Required. The ID to be used when referring to the new app profile within its instance, e.g., just `myprofile` rather than `projects/myproject/instances/myinstance/appProfiles/myprofile`.", +"location": "query", +"type": "string" +}, +"ignoreWarnings": { +"description": "If true, ignore safety checks when creating the app profile.", +"location": "query", +"type": "boolean" +}, +"parent": { +"description": "Required. The unique name of the instance in which to create the new app profile. Values are of the form `projects/{project}/instances/{instance}`.", +"location": "path", +"pattern": "^projects/[^/]+/instances/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v2/{+parent}/appProfiles", +"request": { +"$ref": "AppProfile" +}, +"response": { +"$ref": "AppProfile" +}, +"scopes": [ +"https://www.googleapis.com/auth/bigtable.admin", +"https://www.googleapis.com/auth/bigtable.admin.cluster", +"https://www.googleapis.com/auth/bigtable.admin.instance", +"https://www.googleapis.com/auth/cloud-bigtable.admin", +"https://www.googleapis.com/auth/cloud-bigtable.admin.cluster", +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"delete": { +"description": "Deletes an app profile from an instance.", +"flatPath": "v2/projects/{projectsId}/instances/{instancesId}/appProfiles/{appProfilesId}", +"httpMethod": "DELETE", +"id": "bigtableadmin.projects.instances.appProfiles.delete", +"parameterOrder": [ +"name" +], +"parameters": { +"ignoreWarnings": { +"description": "Required. If true, ignore safety checks when deleting the app profile.", +"location": "query", +"type": "boolean" +}, +"name": { +"description": "Required. The unique name of the app profile to be deleted. Values are of the form `projects/{project}/instances/{instance}/appProfiles/{app_profile}`.", +"location": "path", +"pattern": "^projects/[^/]+/instances/[^/]+/appProfiles/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v2/{+name}", +"response": { +"$ref": "Empty" +}, +"scopes": [ +"https://www.googleapis.com/auth/bigtable.admin", +"https://www.googleapis.com/auth/bigtable.admin.cluster", +"https://www.googleapis.com/auth/bigtable.admin.instance", +"https://www.googleapis.com/auth/cloud-bigtable.admin", +"https://www.googleapis.com/auth/cloud-bigtable.admin.cluster", +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"get": { +"description": "Gets information about an app profile.", +"flatPath": "v2/projects/{projectsId}/instances/{instancesId}/appProfiles/{appProfilesId}", +"httpMethod": "GET", +"id": "bigtableadmin.projects.instances.appProfiles.get", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. The unique name of the requested app profile. Values are of the form `projects/{project}/instances/{instance}/appProfiles/{app_profile}`.", +"location": "path", +"pattern": "^projects/[^/]+/instances/[^/]+/appProfiles/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v2/{+name}", +"response": { +"$ref": "AppProfile" +}, +"scopes": [ +"https://www.googleapis.com/auth/bigtable.admin", +"https://www.googleapis.com/auth/bigtable.admin.cluster", +"https://www.googleapis.com/auth/bigtable.admin.instance", +"https://www.googleapis.com/auth/cloud-bigtable.admin", +"https://www.googleapis.com/auth/cloud-bigtable.admin.cluster", +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/cloud-platform.read-only" +] +}, +"list": { +"description": "Lists information about app profiles in an instance.", +"flatPath": "v2/projects/{projectsId}/instances/{instancesId}/appProfiles", +"httpMethod": "GET", +"id": "bigtableadmin.projects.instances.appProfiles.list", +"parameterOrder": [ +"parent" +], +"parameters": { +"pageSize": { +"description": "Maximum number of results per page. A page_size of zero lets the server choose the number of items to return. A page_size which is strictly positive will return at most that many items. A negative page_size will cause an error. Following the first request, subsequent paginated calls are not required to pass a page_size. If a page_size is set in subsequent calls, it must match the page_size given in the first request.", +"format": "int32", +"location": "query", +"type": "integer" +}, +"pageToken": { +"description": "The value of `next_page_token` returned by a previous call.", +"location": "query", +"type": "string" +}, +"parent": { +"description": "Required. The unique name of the instance for which a list of app profiles is requested. Values are of the form `projects/{project}/instances/{instance}`. Use `{instance} = '-'` to list AppProfiles for all Instances in a project, e.g., `projects/myproject/instances/-`.", +"location": "path", +"pattern": "^projects/[^/]+/instances/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v2/{+parent}/appProfiles", +"response": { +"$ref": "ListAppProfilesResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/bigtable.admin", +"https://www.googleapis.com/auth/bigtable.admin.cluster", +"https://www.googleapis.com/auth/bigtable.admin.instance", +"https://www.googleapis.com/auth/cloud-bigtable.admin", +"https://www.googleapis.com/auth/cloud-bigtable.admin.cluster", +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"patch": { +"description": "Updates an app profile within an instance.", +"flatPath": "v2/projects/{projectsId}/instances/{instancesId}/appProfiles/{appProfilesId}", +"httpMethod": "PATCH", +"id": "bigtableadmin.projects.instances.appProfiles.patch", +"parameterOrder": [ +"name" +], +"parameters": { +"ignoreWarnings": { +"description": "If true, ignore safety checks when updating the app profile.", +"location": "query", +"type": "boolean" +}, +"name": { +"description": "The unique name of the app profile. Values are of the form `projects/{project}/instances/{instance}/appProfiles/_a-zA-Z0-9*`.", +"location": "path", +"pattern": "^projects/[^/]+/instances/[^/]+/appProfiles/[^/]+$", +"required": true, +"type": "string" +}, +"updateMask": { +"description": "Required. The subset of app profile fields which should be replaced. If unset, all fields will be replaced.", +"format": "google-fieldmask", +"location": "query", +"type": "string" +} +}, +"path": "v2/{+name}", +"request": { +"$ref": "AppProfile" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/bigtable.admin", +"https://www.googleapis.com/auth/bigtable.admin.cluster", +"https://www.googleapis.com/auth/bigtable.admin.instance", +"https://www.googleapis.com/auth/cloud-bigtable.admin", +"https://www.googleapis.com/auth/cloud-bigtable.admin.cluster", +"https://www.googleapis.com/auth/cloud-platform" +] +} +} +}, +"clusters": { +"methods": { +"create": { +"description": "Creates a cluster within an instance. Note that exactly one of Cluster.serve_nodes and Cluster.cluster_config.cluster_autoscaling_config can be set. If serve_nodes is set to non-zero, then the cluster is manually scaled. If cluster_config.cluster_autoscaling_config is non-empty, then autoscaling is enabled.", +"flatPath": "v2/projects/{projectsId}/instances/{instancesId}/clusters", +"httpMethod": "POST", +"id": "bigtableadmin.projects.instances.clusters.create", +"parameterOrder": [ +"parent" +], +"parameters": { +"clusterId": { +"description": "Required. The ID to be used when referring to the new cluster within its instance, e.g., just `mycluster` rather than `projects/myproject/instances/myinstance/clusters/mycluster`.", +"location": "query", +"type": "string" +}, +"parent": { +"description": "Required. The unique name of the instance in which to create the new cluster. Values are of the form `projects/{project}/instances/{instance}`.", +"location": "path", +"pattern": "^projects/[^/]+/instances/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v2/{+parent}/clusters", +"request": { +"$ref": "Cluster" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/bigtable.admin", +"https://www.googleapis.com/auth/bigtable.admin.cluster", +"https://www.googleapis.com/auth/bigtable.admin.instance", +"https://www.googleapis.com/auth/cloud-bigtable.admin", +"https://www.googleapis.com/auth/cloud-bigtable.admin.cluster", +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"delete": { +"description": "Deletes a cluster from an instance.", +"flatPath": "v2/projects/{projectsId}/instances/{instancesId}/clusters/{clustersId}", +"httpMethod": "DELETE", +"id": "bigtableadmin.projects.instances.clusters.delete", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. The unique name of the cluster to be deleted. Values are of the form `projects/{project}/instances/{instance}/clusters/{cluster}`.", +"location": "path", +"pattern": "^projects/[^/]+/instances/[^/]+/clusters/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v2/{+name}", +"response": { +"$ref": "Empty" +}, +"scopes": [ +"https://www.googleapis.com/auth/bigtable.admin", +"https://www.googleapis.com/auth/bigtable.admin.cluster", +"https://www.googleapis.com/auth/bigtable.admin.instance", +"https://www.googleapis.com/auth/cloud-bigtable.admin", +"https://www.googleapis.com/auth/cloud-bigtable.admin.cluster", +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"get": { +"description": "Gets information about a cluster.", +"flatPath": "v2/projects/{projectsId}/instances/{instancesId}/clusters/{clustersId}", +"httpMethod": "GET", +"id": "bigtableadmin.projects.instances.clusters.get", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. The unique name of the requested cluster. Values are of the form `projects/{project}/instances/{instance}/clusters/{cluster}`.", +"location": "path", +"pattern": "^projects/[^/]+/instances/[^/]+/clusters/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v2/{+name}", +"response": { +"$ref": "Cluster" +}, +"scopes": [ +"https://www.googleapis.com/auth/bigtable.admin", +"https://www.googleapis.com/auth/bigtable.admin.cluster", +"https://www.googleapis.com/auth/bigtable.admin.instance", +"https://www.googleapis.com/auth/cloud-bigtable.admin", +"https://www.googleapis.com/auth/cloud-bigtable.admin.cluster", +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/cloud-platform.read-only" +] +}, +"list": { +"description": "Lists information about clusters in an instance.", +"flatPath": "v2/projects/{projectsId}/instances/{instancesId}/clusters", +"httpMethod": "GET", +"id": "bigtableadmin.projects.instances.clusters.list", +"parameterOrder": [ +"parent" +], +"parameters": { +"pageToken": { +"description": "DEPRECATED: This field is unused and ignored.", +"location": "query", +"type": "string" +}, +"parent": { +"description": "Required. The unique name of the instance for which a list of clusters is requested. Values are of the form `projects/{project}/instances/{instance}`. Use `{instance} = '-'` to list Clusters for all Instances in a project, e.g., `projects/myproject/instances/-`.", +"location": "path", +"pattern": "^projects/[^/]+/instances/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v2/{+parent}/clusters", +"response": { +"$ref": "ListClustersResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/bigtable.admin", +"https://www.googleapis.com/auth/bigtable.admin.cluster", +"https://www.googleapis.com/auth/bigtable.admin.instance", +"https://www.googleapis.com/auth/cloud-bigtable.admin", +"https://www.googleapis.com/auth/cloud-bigtable.admin.cluster", +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/cloud-platform.read-only" +] +}, +"partialUpdateCluster": { +"description": "Partially updates a cluster within a project. This method is the preferred way to update a Cluster. To enable and update autoscaling, set cluster_config.cluster_autoscaling_config. When autoscaling is enabled, serve_nodes is treated as an OUTPUT_ONLY field, meaning that updates to it are ignored. Note that an update cannot simultaneously set serve_nodes to non-zero and cluster_config.cluster_autoscaling_config to non-empty, and also specify both in the update_mask. To disable autoscaling, clear cluster_config.cluster_autoscaling_config, and explicitly set a serve_node count via the update_mask.", +"flatPath": "v2/projects/{projectsId}/instances/{instancesId}/clusters/{clustersId}", +"httpMethod": "PATCH", +"id": "bigtableadmin.projects.instances.clusters.partialUpdateCluster", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "The unique name of the cluster. Values are of the form `projects/{project}/instances/{instance}/clusters/a-z*`.", +"location": "path", +"pattern": "^projects/[^/]+/instances/[^/]+/clusters/[^/]+$", +"required": true, +"type": "string" +}, +"updateMask": { +"description": "Required. The subset of Cluster fields which should be replaced.", +"format": "google-fieldmask", +"location": "query", +"type": "string" +} +}, +"path": "v2/{+name}", +"request": { +"$ref": "Cluster" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/bigtable.admin", +"https://www.googleapis.com/auth/bigtable.admin.cluster", +"https://www.googleapis.com/auth/bigtable.admin.instance", +"https://www.googleapis.com/auth/cloud-bigtable.admin", +"https://www.googleapis.com/auth/cloud-bigtable.admin.cluster", +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"update": { +"description": "Updates a cluster within an instance. Note that UpdateCluster does not support updating cluster_config.cluster_autoscaling_config. In order to update it, you must use PartialUpdateCluster.", +"flatPath": "v2/projects/{projectsId}/instances/{instancesId}/clusters/{clustersId}", +"httpMethod": "PUT", +"id": "bigtableadmin.projects.instances.clusters.update", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "The unique name of the cluster. Values are of the form `projects/{project}/instances/{instance}/clusters/a-z*`.", +"location": "path", +"pattern": "^projects/[^/]+/instances/[^/]+/clusters/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v2/{+name}", +"request": { +"$ref": "Cluster" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/bigtable.admin", +"https://www.googleapis.com/auth/bigtable.admin.cluster", +"https://www.googleapis.com/auth/bigtable.admin.instance", +"https://www.googleapis.com/auth/cloud-bigtable.admin", +"https://www.googleapis.com/auth/cloud-bigtable.admin.cluster", +"https://www.googleapis.com/auth/cloud-platform" +] +} +}, +"resources": { +"backups": { +"methods": { +"copy": { +"description": "Copy a Cloud Bigtable backup to a new backup in the destination cluster located in the destination instance and project.", +"flatPath": "v2/projects/{projectsId}/instances/{instancesId}/clusters/{clustersId}/backups:copy", +"httpMethod": "POST", +"id": "bigtableadmin.projects.instances.clusters.backups.copy", +"parameterOrder": [ +"parent" +], +"parameters": { +"parent": { +"description": "Required. The name of the destination cluster that will contain the backup copy. The cluster must already exist. Values are of the form: `projects/{project}/instances/{instance}/clusters/{cluster}`.", +"location": "path", +"pattern": "^projects/[^/]+/instances/[^/]+/clusters/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v2/{+parent}/backups:copy", +"request": { +"$ref": "CopyBackupRequest" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/bigtable.admin", +"https://www.googleapis.com/auth/bigtable.admin.table", +"https://www.googleapis.com/auth/cloud-bigtable.admin", +"https://www.googleapis.com/auth/cloud-bigtable.admin.table", +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"create": { +"description": "Starts creating a new Cloud Bigtable Backup. The returned backup long-running operation can be used to track creation of the backup. The metadata field type is CreateBackupMetadata. The response field type is Backup, if successful. Cancelling the returned operation will stop the creation and delete the backup.", +"flatPath": "v2/projects/{projectsId}/instances/{instancesId}/clusters/{clustersId}/backups", +"httpMethod": "POST", +"id": "bigtableadmin.projects.instances.clusters.backups.create", +"parameterOrder": [ +"parent" +], +"parameters": { +"backupId": { +"description": "Required. The id of the backup to be created. The `backup_id` along with the parent `parent` are combined as {parent}/backups/{backup_id} to create the full backup name, of the form: `projects/{project}/instances/{instance}/clusters/{cluster}/backups/{backup_id}`. This string must be between 1 and 50 characters in length and match the regex _a-zA-Z0-9*.", +"location": "query", +"type": "string" +}, +"parent": { +"description": "Required. This must be one of the clusters in the instance in which this table is located. The backup will be stored in this cluster. Values are of the form `projects/{project}/instances/{instance}/clusters/{cluster}`.", +"location": "path", +"pattern": "^projects/[^/]+/instances/[^/]+/clusters/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v2/{+parent}/backups", +"request": { +"$ref": "Backup" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/bigtable.admin", +"https://www.googleapis.com/auth/bigtable.admin.table", +"https://www.googleapis.com/auth/cloud-bigtable.admin", +"https://www.googleapis.com/auth/cloud-bigtable.admin.table", +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"delete": { +"description": "Deletes a pending or completed Cloud Bigtable backup.", +"flatPath": "v2/projects/{projectsId}/instances/{instancesId}/clusters/{clustersId}/backups/{backupsId}", +"httpMethod": "DELETE", +"id": "bigtableadmin.projects.instances.clusters.backups.delete", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. Name of the backup to delete. Values are of the form `projects/{project}/instances/{instance}/clusters/{cluster}/backups/{backup}`.", +"location": "path", +"pattern": "^projects/[^/]+/instances/[^/]+/clusters/[^/]+/backups/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v2/{+name}", +"response": { +"$ref": "Empty" +}, +"scopes": [ +"https://www.googleapis.com/auth/bigtable.admin", +"https://www.googleapis.com/auth/bigtable.admin.table", +"https://www.googleapis.com/auth/cloud-bigtable.admin", +"https://www.googleapis.com/auth/cloud-bigtable.admin.table", +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"get": { +"description": "Gets metadata on a pending or completed Cloud Bigtable Backup.", +"flatPath": "v2/projects/{projectsId}/instances/{instancesId}/clusters/{clustersId}/backups/{backupsId}", +"httpMethod": "GET", +"id": "bigtableadmin.projects.instances.clusters.backups.get", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. Name of the backup. Values are of the form `projects/{project}/instances/{instance}/clusters/{cluster}/backups/{backup}`.", +"location": "path", +"pattern": "^projects/[^/]+/instances/[^/]+/clusters/[^/]+/backups/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v2/{+name}", +"response": { +"$ref": "Backup" +}, +"scopes": [ +"https://www.googleapis.com/auth/bigtable.admin", +"https://www.googleapis.com/auth/bigtable.admin.table", +"https://www.googleapis.com/auth/cloud-bigtable.admin", +"https://www.googleapis.com/auth/cloud-bigtable.admin.table", +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"getIamPolicy": { +"description": "Gets the access control policy for a Bigtable resource. Returns an empty policy if the resource exists but does not have a policy set.", +"flatPath": "v2/projects/{projectsId}/instances/{instancesId}/clusters/{clustersId}/backups/{backupsId}:getIamPolicy", +"httpMethod": "POST", +"id": "bigtableadmin.projects.instances.clusters.backups.getIamPolicy", +"parameterOrder": [ +"resource" +], +"parameters": { +"resource": { +"description": "REQUIRED: The resource for which the policy is being requested. See [Resource names](https://cloud.google.com/apis/design/resource_names) for the appropriate value for this field.", +"location": "path", +"pattern": "^projects/[^/]+/instances/[^/]+/clusters/[^/]+/backups/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v2/{+resource}:getIamPolicy", +"request": { +"$ref": "GetIamPolicyRequest" +}, +"response": { +"$ref": "Policy" +}, +"scopes": [ +"https://www.googleapis.com/auth/bigtable.admin", +"https://www.googleapis.com/auth/bigtable.admin.table", +"https://www.googleapis.com/auth/cloud-bigtable.admin", +"https://www.googleapis.com/auth/cloud-bigtable.admin.table", +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"list": { +"description": "Lists Cloud Bigtable backups. Returns both completed and pending backups.", +"flatPath": "v2/projects/{projectsId}/instances/{instancesId}/clusters/{clustersId}/backups", +"httpMethod": "GET", +"id": "bigtableadmin.projects.instances.clusters.backups.list", +"parameterOrder": [ +"parent" +], +"parameters": { +"filter": { +"description": "A filter expression that filters backups listed in the response. The expression must specify the field name, a comparison operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The comparison operator must be <, >, <=, >=, !=, =, or :. Colon ':' represents a HAS operator which is roughly synonymous with equality. Filter rules are case insensitive. The fields eligible for filtering are: * `name` * `source_table` * `state` * `start_time` (and values are of the format YYYY-MM-DDTHH:MM:SSZ) * `end_time` (and values are of the format YYYY-MM-DDTHH:MM:SSZ) * `expire_time` (and values are of the format YYYY-MM-DDTHH:MM:SSZ) * `size_bytes` To filter on multiple expressions, provide each separate expression within parentheses. By default, each expression is an AND expression. However, you can include AND, OR, and NOT expressions explicitly. Some examples of using filters are: * `name:\"exact\"` --> The backup's name is the string \"exact\". * `name:howl` --> The backup's name contains the string \"howl\". * `source_table:prod` --> The source_table's name contains the string \"prod\". * `state:CREATING` --> The backup is pending creation. * `state:READY` --> The backup is fully created and ready for use. * `(name:howl) AND (start_time < \\\"2018-03-28T14:50:00Z\\\")` --> The backup name contains the string \"howl\" and start_time of the backup is before 2018-03-28T14:50:00Z. * `size_bytes > 10000000000` --> The backup's size is greater than 10GB", +"location": "query", +"type": "string" +}, +"orderBy": { +"description": "An expression for specifying the sort order of the results of the request. The string value should specify one or more fields in Backup. The full syntax is described at https://aip.dev/132#ordering. Fields supported are: * name * source_table * expire_time * start_time * end_time * size_bytes * state For example, \"start_time\". The default sorting order is ascending. To specify descending order for the field, a suffix \" desc\" should be appended to the field name. For example, \"start_time desc\". Redundant space characters in the syntax are insigificant. If order_by is empty, results will be sorted by `start_time` in descending order starting from the most recently created backup.", +"location": "query", +"type": "string" +}, +"pageSize": { +"description": "Number of backups to be returned in the response. If 0 or less, defaults to the server's maximum allowed page size.", +"format": "int32", +"location": "query", +"type": "integer" +}, +"pageToken": { +"description": "If non-empty, `page_token` should contain a next_page_token from a previous ListBackupsResponse to the same `parent` and with the same `filter`.", +"location": "query", +"type": "string" +}, +"parent": { +"description": "Required. The cluster to list backups from. Values are of the form `projects/{project}/instances/{instance}/clusters/{cluster}`. Use `{cluster} = '-'` to list backups for all clusters in an instance, e.g., `projects/{project}/instances/{instance}/clusters/-`.", +"location": "path", +"pattern": "^projects/[^/]+/instances/[^/]+/clusters/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v2/{+parent}/backups", +"response": { +"$ref": "ListBackupsResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/bigtable.admin", +"https://www.googleapis.com/auth/bigtable.admin.table", +"https://www.googleapis.com/auth/cloud-bigtable.admin", +"https://www.googleapis.com/auth/cloud-bigtable.admin.table", +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"patch": { +"description": "Updates a pending or completed Cloud Bigtable Backup.", +"flatPath": "v2/projects/{projectsId}/instances/{instancesId}/clusters/{clustersId}/backups/{backupsId}", +"httpMethod": "PATCH", +"id": "bigtableadmin.projects.instances.clusters.backups.patch", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "A globally unique identifier for the backup which cannot be changed. Values are of the form `projects/{project}/instances/{instance}/clusters/{cluster}/ backups/_a-zA-Z0-9*` The final segment of the name must be between 1 and 50 characters in length. The backup is stored in the cluster identified by the prefix of the backup name of the form `projects/{project}/instances/{instance}/clusters/{cluster}`.", +"location": "path", +"pattern": "^projects/[^/]+/instances/[^/]+/clusters/[^/]+/backups/[^/]+$", +"required": true, +"type": "string" +}, +"updateMask": { +"description": "Required. A mask specifying which fields (e.g. `expire_time`) in the Backup resource should be updated. This mask is relative to the Backup resource, not to the request message. The field mask must always be specified; this prevents any future fields from being erased accidentally by clients that do not know about them.", +"format": "google-fieldmask", +"location": "query", +"type": "string" +} +}, +"path": "v2/{+name}", +"request": { +"$ref": "Backup" +}, +"response": { +"$ref": "Backup" +}, +"scopes": [ +"https://www.googleapis.com/auth/bigtable.admin", +"https://www.googleapis.com/auth/bigtable.admin.table", +"https://www.googleapis.com/auth/cloud-bigtable.admin", +"https://www.googleapis.com/auth/cloud-bigtable.admin.table", +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"setIamPolicy": { +"description": "Sets the access control policy on a Bigtable resource. Replaces any existing policy.", +"flatPath": "v2/projects/{projectsId}/instances/{instancesId}/clusters/{clustersId}/backups/{backupsId}:setIamPolicy", +"httpMethod": "POST", +"id": "bigtableadmin.projects.instances.clusters.backups.setIamPolicy", +"parameterOrder": [ +"resource" +], +"parameters": { +"resource": { +"description": "REQUIRED: The resource for which the policy is being specified. See [Resource names](https://cloud.google.com/apis/design/resource_names) for the appropriate value for this field.", +"location": "path", +"pattern": "^projects/[^/]+/instances/[^/]+/clusters/[^/]+/backups/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v2/{+resource}:setIamPolicy", +"request": { +"$ref": "SetIamPolicyRequest" +}, +"response": { +"$ref": "Policy" +}, +"scopes": [ +"https://www.googleapis.com/auth/bigtable.admin", +"https://www.googleapis.com/auth/bigtable.admin.table", +"https://www.googleapis.com/auth/cloud-bigtable.admin", +"https://www.googleapis.com/auth/cloud-bigtable.admin.table", +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"testIamPermissions": { +"description": "Returns permissions that the caller has on the specified Bigtable resource.", +"flatPath": "v2/projects/{projectsId}/instances/{instancesId}/clusters/{clustersId}/backups/{backupsId}:testIamPermissions", +"httpMethod": "POST", +"id": "bigtableadmin.projects.instances.clusters.backups.testIamPermissions", +"parameterOrder": [ +"resource" +], +"parameters": { +"resource": { +"description": "REQUIRED: The resource for which the policy detail is being requested. See [Resource names](https://cloud.google.com/apis/design/resource_names) for the appropriate value for this field.", +"location": "path", +"pattern": "^projects/[^/]+/instances/[^/]+/clusters/[^/]+/backups/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v2/{+resource}:testIamPermissions", +"request": { +"$ref": "TestIamPermissionsRequest" +}, +"response": { +"$ref": "TestIamPermissionsResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/bigtable.admin", +"https://www.googleapis.com/auth/bigtable.admin.table", +"https://www.googleapis.com/auth/cloud-bigtable.admin", +"https://www.googleapis.com/auth/cloud-bigtable.admin.table", +"https://www.googleapis.com/auth/cloud-platform" +] +} +} +}, +"hotTablets": { +"methods": { +"list": { +"description": "Lists hot tablets in a cluster, within the time range provided. Hot tablets are ordered based on CPU usage.", +"flatPath": "v2/projects/{projectsId}/instances/{instancesId}/clusters/{clustersId}/hotTablets", +"httpMethod": "GET", +"id": "bigtableadmin.projects.instances.clusters.hotTablets.list", +"parameterOrder": [ +"parent" +], +"parameters": { +"endTime": { +"description": "The end time to list hot tablets.", +"format": "google-datetime", +"location": "query", +"type": "string" +}, +"pageSize": { +"description": "Maximum number of results per page. A page_size that is empty or zero lets the server choose the number of items to return. A page_size which is strictly positive will return at most that many items. A negative page_size will cause an error. Following the first request, subsequent paginated calls do not need a page_size field. If a page_size is set in subsequent calls, it must match the page_size given in the first request.", +"format": "int32", +"location": "query", +"type": "integer" +}, +"pageToken": { +"description": "The value of `next_page_token` returned by a previous call.", +"location": "query", +"type": "string" +}, +"parent": { +"description": "Required. The cluster name to list hot tablets. Value is in the following form: `projects/{project}/instances/{instance}/clusters/{cluster}`.", +"location": "path", +"pattern": "^projects/[^/]+/instances/[^/]+/clusters/[^/]+$", +"required": true, +"type": "string" +}, +"startTime": { +"description": "The start time to list hot tablets. The hot tablets in the response will have start times between the requested start time and end time. Start time defaults to Now if it is unset, and end time defaults to Now - 24 hours if it is unset. The start time should be less than the end time, and the maximum allowed time range between start time and end time is 48 hours. Start time and end time should have values between Now and Now - 14 days.", +"format": "google-datetime", +"location": "query", +"type": "string" +} +}, +"path": "v2/{+parent}/hotTablets", +"response": { +"$ref": "ListHotTabletsResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/bigtable.admin", +"https://www.googleapis.com/auth/bigtable.admin.cluster", +"https://www.googleapis.com/auth/bigtable.admin.instance", +"https://www.googleapis.com/auth/cloud-bigtable.admin", +"https://www.googleapis.com/auth/cloud-bigtable.admin.cluster", +"https://www.googleapis.com/auth/cloud-platform" +] +} +} +} +} +}, +"tables": { +"methods": { +"checkConsistency": { +"description": "Checks replication consistency based on a consistency token, that is, if replication has caught up based on the conditions specified in the token and the check request.", +"flatPath": "v2/projects/{projectsId}/instances/{instancesId}/tables/{tablesId}:checkConsistency", +"httpMethod": "POST", +"id": "bigtableadmin.projects.instances.tables.checkConsistency", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. The unique name of the Table for which to check replication consistency. Values are of the form `projects/{project}/instances/{instance}/tables/{table}`.", +"location": "path", +"pattern": "^projects/[^/]+/instances/[^/]+/tables/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v2/{+name}:checkConsistency", +"request": { +"$ref": "CheckConsistencyRequest" +}, +"response": { +"$ref": "CheckConsistencyResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/bigtable.admin", +"https://www.googleapis.com/auth/bigtable.admin.table", +"https://www.googleapis.com/auth/cloud-bigtable.admin", +"https://www.googleapis.com/auth/cloud-bigtable.admin.table", +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"create": { +"description": "Creates a new table in the specified instance. The table can be created with a full set of initial column families, specified in the request.", +"flatPath": "v2/projects/{projectsId}/instances/{instancesId}/tables", +"httpMethod": "POST", +"id": "bigtableadmin.projects.instances.tables.create", +"parameterOrder": [ +"parent" +], +"parameters": { +"parent": { +"description": "Required. The unique name of the instance in which to create the table. Values are of the form `projects/{project}/instances/{instance}`.", +"location": "path", +"pattern": "^projects/[^/]+/instances/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v2/{+parent}/tables", +"request": { +"$ref": "CreateTableRequest" +}, +"response": { +"$ref": "Table" +}, +"scopes": [ +"https://www.googleapis.com/auth/bigtable.admin", +"https://www.googleapis.com/auth/bigtable.admin.table", +"https://www.googleapis.com/auth/cloud-bigtable.admin", +"https://www.googleapis.com/auth/cloud-bigtable.admin.table", +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"delete": { +"description": "Permanently deletes a specified table and all of its data.", +"flatPath": "v2/projects/{projectsId}/instances/{instancesId}/tables/{tablesId}", +"httpMethod": "DELETE", +"id": "bigtableadmin.projects.instances.tables.delete", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. The unique name of the table to be deleted. Values are of the form `projects/{project}/instances/{instance}/tables/{table}`.", +"location": "path", +"pattern": "^projects/[^/]+/instances/[^/]+/tables/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v2/{+name}", +"response": { +"$ref": "Empty" +}, +"scopes": [ +"https://www.googleapis.com/auth/bigtable.admin", +"https://www.googleapis.com/auth/bigtable.admin.table", +"https://www.googleapis.com/auth/cloud-bigtable.admin", +"https://www.googleapis.com/auth/cloud-bigtable.admin.table", +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"dropRowRange": { +"description": "Permanently drop/delete a row range from a specified table. The request can specify whether to delete all rows in a table, or only those that match a particular prefix. Note that row key prefixes used here are treated as service data. For more information about how service data is handled, see the [Google Cloud Privacy Notice](https://cloud.google.com/terms/cloud-privacy-notice).", +"flatPath": "v2/projects/{projectsId}/instances/{instancesId}/tables/{tablesId}:dropRowRange", +"httpMethod": "POST", +"id": "bigtableadmin.projects.instances.tables.dropRowRange", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. The unique name of the table on which to drop a range of rows. Values are of the form `projects/{project}/instances/{instance}/tables/{table}`.", +"location": "path", +"pattern": "^projects/[^/]+/instances/[^/]+/tables/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v2/{+name}:dropRowRange", +"request": { +"$ref": "DropRowRangeRequest" +}, +"response": { +"$ref": "Empty" +}, +"scopes": [ +"https://www.googleapis.com/auth/bigtable.admin", +"https://www.googleapis.com/auth/bigtable.admin.table", +"https://www.googleapis.com/auth/cloud-bigtable.admin", +"https://www.googleapis.com/auth/cloud-bigtable.admin.table", +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"generateConsistencyToken": { +"description": "Generates a consistency token for a Table, which can be used in CheckConsistency to check whether mutations to the table that finished before this call started have been replicated. The tokens will be available for 90 days.", +"flatPath": "v2/projects/{projectsId}/instances/{instancesId}/tables/{tablesId}:generateConsistencyToken", +"httpMethod": "POST", +"id": "bigtableadmin.projects.instances.tables.generateConsistencyToken", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. The unique name of the Table for which to create a consistency token. Values are of the form `projects/{project}/instances/{instance}/tables/{table}`.", +"location": "path", +"pattern": "^projects/[^/]+/instances/[^/]+/tables/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v2/{+name}:generateConsistencyToken", +"request": { +"$ref": "GenerateConsistencyTokenRequest" +}, +"response": { +"$ref": "GenerateConsistencyTokenResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/bigtable.admin", +"https://www.googleapis.com/auth/bigtable.admin.table", +"https://www.googleapis.com/auth/cloud-bigtable.admin", +"https://www.googleapis.com/auth/cloud-bigtable.admin.table", +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"get": { +"description": "Gets metadata information about the specified table.", +"flatPath": "v2/projects/{projectsId}/instances/{instancesId}/tables/{tablesId}", +"httpMethod": "GET", +"id": "bigtableadmin.projects.instances.tables.get", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. The unique name of the requested table. Values are of the form `projects/{project}/instances/{instance}/tables/{table}`.", +"location": "path", +"pattern": "^projects/[^/]+/instances/[^/]+/tables/[^/]+$", +"required": true, +"type": "string" +}, +"view": { +"description": "The view to be applied to the returned table's fields. Defaults to `SCHEMA_VIEW` if unspecified.", +"enum": [ +"VIEW_UNSPECIFIED", +"NAME_ONLY", +"SCHEMA_VIEW", +"REPLICATION_VIEW", +"ENCRYPTION_VIEW", +"STATS_VIEW", +"FULL" +], +"enumDescriptions": [ +"Uses the default view for each method as documented in its request.", +"Only populates `name`.", +"Only populates `name` and fields related to the table's schema.", +"Only populates `name` and fields related to the table's replication state.", +"Only populates `name` and fields related to the table's encryption state.", +"Only populates `name` and fields related to the table's stats (e.g. TableStats and ColumnFamilyStats).", +"Populates all fields except for stats. See STATS_VIEW to request stats." +], +"location": "query", +"type": "string" +} +}, +"path": "v2/{+name}", +"response": { +"$ref": "Table" +}, +"scopes": [ +"https://www.googleapis.com/auth/bigtable.admin", +"https://www.googleapis.com/auth/bigtable.admin.table", +"https://www.googleapis.com/auth/cloud-bigtable.admin", +"https://www.googleapis.com/auth/cloud-bigtable.admin.table", +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/cloud-platform.read-only" +] +}, +"getIamPolicy": { +"description": "Gets the access control policy for a Bigtable resource. Returns an empty policy if the resource exists but does not have a policy set.", +"flatPath": "v2/projects/{projectsId}/instances/{instancesId}/tables/{tablesId}:getIamPolicy", +"httpMethod": "POST", +"id": "bigtableadmin.projects.instances.tables.getIamPolicy", +"parameterOrder": [ +"resource" +], +"parameters": { +"resource": { +"description": "REQUIRED: The resource for which the policy is being requested. See [Resource names](https://cloud.google.com/apis/design/resource_names) for the appropriate value for this field.", +"location": "path", +"pattern": "^projects/[^/]+/instances/[^/]+/tables/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v2/{+resource}:getIamPolicy", +"request": { +"$ref": "GetIamPolicyRequest" +}, +"response": { +"$ref": "Policy" +}, +"scopes": [ +"https://www.googleapis.com/auth/bigtable.admin", +"https://www.googleapis.com/auth/bigtable.admin.table", +"https://www.googleapis.com/auth/cloud-bigtable.admin", +"https://www.googleapis.com/auth/cloud-bigtable.admin.table", +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"list": { +"description": "Lists all tables served from a specified instance.", +"flatPath": "v2/projects/{projectsId}/instances/{instancesId}/tables", +"httpMethod": "GET", +"id": "bigtableadmin.projects.instances.tables.list", +"parameterOrder": [ +"parent" +], +"parameters": { +"pageSize": { +"description": "Maximum number of results per page. A page_size of zero lets the server choose the number of items to return. A page_size which is strictly positive will return at most that many items. A negative page_size will cause an error. Following the first request, subsequent paginated calls are not required to pass a page_size. If a page_size is set in subsequent calls, it must match the page_size given in the first request.", +"format": "int32", +"location": "query", +"type": "integer" +}, +"pageToken": { +"description": "The value of `next_page_token` returned by a previous call.", +"location": "query", +"type": "string" +}, +"parent": { +"description": "Required. The unique name of the instance for which tables should be listed. Values are of the form `projects/{project}/instances/{instance}`.", +"location": "path", +"pattern": "^projects/[^/]+/instances/[^/]+$", +"required": true, +"type": "string" +}, +"view": { +"description": "The view to be applied to the returned tables' fields. Only NAME_ONLY view (default), REPLICATION_VIEW and ENCRYPTION_VIEW are supported.", +"enum": [ +"VIEW_UNSPECIFIED", +"NAME_ONLY", +"SCHEMA_VIEW", +"REPLICATION_VIEW", +"ENCRYPTION_VIEW", +"STATS_VIEW", +"FULL" +], +"enumDescriptions": [ +"Uses the default view for each method as documented in its request.", +"Only populates `name`.", +"Only populates `name` and fields related to the table's schema.", +"Only populates `name` and fields related to the table's replication state.", +"Only populates `name` and fields related to the table's encryption state.", +"Only populates `name` and fields related to the table's stats (e.g. TableStats and ColumnFamilyStats).", +"Populates all fields except for stats. See STATS_VIEW to request stats." +], +"location": "query", +"type": "string" +} +}, +"path": "v2/{+parent}/tables", +"response": { +"$ref": "ListTablesResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/bigtable.admin", +"https://www.googleapis.com/auth/bigtable.admin.table", +"https://www.googleapis.com/auth/cloud-bigtable.admin", +"https://www.googleapis.com/auth/cloud-bigtable.admin.table", +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/cloud-platform.read-only" +] +}, +"modifyColumnFamilies": { +"description": "Performs a series of column family modifications on the specified table. Either all or none of the modifications will occur before this method returns, but data requests received prior to that point may see a table where only some modifications have taken effect.", +"flatPath": "v2/projects/{projectsId}/instances/{instancesId}/tables/{tablesId}:modifyColumnFamilies", +"httpMethod": "POST", +"id": "bigtableadmin.projects.instances.tables.modifyColumnFamilies", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. The unique name of the table whose families should be modified. Values are of the form `projects/{project}/instances/{instance}/tables/{table}`.", +"location": "path", +"pattern": "^projects/[^/]+/instances/[^/]+/tables/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v2/{+name}:modifyColumnFamilies", +"request": { +"$ref": "ModifyColumnFamiliesRequest" +}, +"response": { +"$ref": "Table" +}, +"scopes": [ +"https://www.googleapis.com/auth/bigtable.admin", +"https://www.googleapis.com/auth/bigtable.admin.table", +"https://www.googleapis.com/auth/cloud-bigtable.admin", +"https://www.googleapis.com/auth/cloud-bigtable.admin.table", +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"patch": { +"description": "Updates a specified table.", +"flatPath": "v2/projects/{projectsId}/instances/{instancesId}/tables/{tablesId}", +"httpMethod": "PATCH", +"id": "bigtableadmin.projects.instances.tables.patch", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "The unique name of the table. Values are of the form `projects/{project}/instances/{instance}/tables/_a-zA-Z0-9*`. Views: `NAME_ONLY`, `SCHEMA_VIEW`, `REPLICATION_VIEW`, `STATS_VIEW`, `FULL`", +"location": "path", +"pattern": "^projects/[^/]+/instances/[^/]+/tables/[^/]+$", +"required": true, +"type": "string" +}, +"updateMask": { +"description": "Required. The list of fields to update. A mask specifying which fields (e.g. `change_stream_config`) in the `table` field should be updated. This mask is relative to the `table` field, not to the request message. The wildcard (*) path is currently not supported. Currently UpdateTable is only supported for the following fields: * `change_stream_config` * `change_stream_config.retention_period` * `deletion_protection` If `column_families` is set in `update_mask`, it will return an UNIMPLEMENTED error.", +"format": "google-fieldmask", +"location": "query", +"type": "string" +} +}, +"path": "v2/{+name}", +"request": { +"$ref": "Table" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/bigtable.admin", +"https://www.googleapis.com/auth/bigtable.admin.table", +"https://www.googleapis.com/auth/cloud-bigtable.admin", +"https://www.googleapis.com/auth/cloud-bigtable.admin.table", +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"restore": { +"description": "Create a new table by restoring from a completed backup. The returned table long-running operation can be used to track the progress of the operation, and to cancel it. The metadata field type is RestoreTableMetadata. The response type is Table, if successful.", +"flatPath": "v2/projects/{projectsId}/instances/{instancesId}/tables:restore", +"httpMethod": "POST", +"id": "bigtableadmin.projects.instances.tables.restore", +"parameterOrder": [ +"parent" +], +"parameters": { +"parent": { +"description": "Required. The name of the instance in which to create the restored table. Values are of the form `projects//instances/`.", +"location": "path", +"pattern": "^projects/[^/]+/instances/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v2/{+parent}/tables:restore", +"request": { +"$ref": "RestoreTableRequest" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/bigtable.admin", +"https://www.googleapis.com/auth/bigtable.admin.table", +"https://www.googleapis.com/auth/cloud-bigtable.admin", +"https://www.googleapis.com/auth/cloud-bigtable.admin.table", +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"setIamPolicy": { +"description": "Sets the access control policy on a Bigtable resource. Replaces any existing policy.", +"flatPath": "v2/projects/{projectsId}/instances/{instancesId}/tables/{tablesId}:setIamPolicy", +"httpMethod": "POST", +"id": "bigtableadmin.projects.instances.tables.setIamPolicy", +"parameterOrder": [ +"resource" +], +"parameters": { +"resource": { +"description": "REQUIRED: The resource for which the policy is being specified. See [Resource names](https://cloud.google.com/apis/design/resource_names) for the appropriate value for this field.", +"location": "path", +"pattern": "^projects/[^/]+/instances/[^/]+/tables/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v2/{+resource}:setIamPolicy", +"request": { +"$ref": "SetIamPolicyRequest" +}, +"response": { +"$ref": "Policy" +}, +"scopes": [ +"https://www.googleapis.com/auth/bigtable.admin", +"https://www.googleapis.com/auth/bigtable.admin.table", +"https://www.googleapis.com/auth/cloud-bigtable.admin", +"https://www.googleapis.com/auth/cloud-bigtable.admin.table", +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"testIamPermissions": { +"description": "Returns permissions that the caller has on the specified Bigtable resource.", +"flatPath": "v2/projects/{projectsId}/instances/{instancesId}/tables/{tablesId}:testIamPermissions", +"httpMethod": "POST", +"id": "bigtableadmin.projects.instances.tables.testIamPermissions", +"parameterOrder": [ +"resource" +], +"parameters": { +"resource": { +"description": "REQUIRED: The resource for which the policy detail is being requested. See [Resource names](https://cloud.google.com/apis/design/resource_names) for the appropriate value for this field.", +"location": "path", +"pattern": "^projects/[^/]+/instances/[^/]+/tables/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v2/{+resource}:testIamPermissions", +"request": { +"$ref": "TestIamPermissionsRequest" +}, +"response": { +"$ref": "TestIamPermissionsResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/bigtable.admin", +"https://www.googleapis.com/auth/bigtable.admin.table", +"https://www.googleapis.com/auth/cloud-bigtable.admin", +"https://www.googleapis.com/auth/cloud-bigtable.admin.table", +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"undelete": { +"description": "Restores a specified table which was accidentally deleted.", +"flatPath": "v2/projects/{projectsId}/instances/{instancesId}/tables/{tablesId}:undelete", +"httpMethod": "POST", +"id": "bigtableadmin.projects.instances.tables.undelete", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. The unique name of the table to be restored. Values are of the form `projects/{project}/instances/{instance}/tables/{table}`.", +"location": "path", +"pattern": "^projects/[^/]+/instances/[^/]+/tables/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v2/{+name}:undelete", +"request": { +"$ref": "UndeleteTableRequest" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/bigtable.admin", +"https://www.googleapis.com/auth/bigtable.admin.table", +"https://www.googleapis.com/auth/cloud-bigtable.admin", +"https://www.googleapis.com/auth/cloud-bigtable.admin.table", +"https://www.googleapis.com/auth/cloud-platform" +] +} +}, +"resources": { +"authorizedViews": { +"methods": { +"create": { +"description": "Creates a new AuthorizedView in a table.", +"flatPath": "v2/projects/{projectsId}/instances/{instancesId}/tables/{tablesId}/authorizedViews", +"httpMethod": "POST", +"id": "bigtableadmin.projects.instances.tables.authorizedViews.create", +"parameterOrder": [ +"parent" +], +"parameters": { +"authorizedViewId": { +"description": "Required. The id of the AuthorizedView to create. This AuthorizedView must not already exist. The `authorized_view_id` appended to `parent` forms the full AuthorizedView name of the form `projects/{project}/instances/{instance}/tables/{table}/authorizedView/{authorized_view}`.", +"location": "query", +"type": "string" +}, +"parent": { +"description": "Required. This is the name of the table the AuthorizedView belongs to. Values are of the form `projects/{project}/instances/{instance}/tables/{table}`.", +"location": "path", +"pattern": "^projects/[^/]+/instances/[^/]+/tables/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v2/{+parent}/authorizedViews", +"request": { +"$ref": "AuthorizedView" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/bigtable.admin", +"https://www.googleapis.com/auth/bigtable.admin.table", +"https://www.googleapis.com/auth/cloud-bigtable.admin", +"https://www.googleapis.com/auth/cloud-bigtable.admin.table", +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"delete": { +"description": "Permanently deletes a specified AuthorizedView.", +"flatPath": "v2/projects/{projectsId}/instances/{instancesId}/tables/{tablesId}/authorizedViews/{authorizedViewsId}", +"httpMethod": "DELETE", +"id": "bigtableadmin.projects.instances.tables.authorizedViews.delete", +"parameterOrder": [ +"name" +], +"parameters": { +"etag": { +"description": "Optional. The current etag of the AuthorizedView. If an etag is provided and does not match the current etag of the AuthorizedView, deletion will be blocked and an ABORTED error will be returned.", +"location": "query", +"type": "string" +}, +"name": { +"description": "Required. The unique name of the AuthorizedView to be deleted. Values are of the form `projects/{project}/instances/{instance}/tables/{table}/authorizedViews/{authorized_view}`.", +"location": "path", +"pattern": "^projects/[^/]+/instances/[^/]+/tables/[^/]+/authorizedViews/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v2/{+name}", +"response": { +"$ref": "Empty" +}, +"scopes": [ +"https://www.googleapis.com/auth/bigtable.admin", +"https://www.googleapis.com/auth/bigtable.admin.table", +"https://www.googleapis.com/auth/cloud-bigtable.admin", +"https://www.googleapis.com/auth/cloud-bigtable.admin.table", +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"get": { +"description": "Gets information from a specified AuthorizedView.", +"flatPath": "v2/projects/{projectsId}/instances/{instancesId}/tables/{tablesId}/authorizedViews/{authorizedViewsId}", +"httpMethod": "GET", +"id": "bigtableadmin.projects.instances.tables.authorizedViews.get", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. The unique name of the requested AuthorizedView. Values are of the form `projects/{project}/instances/{instance}/tables/{table}/authorizedViews/{authorized_view}`.", +"location": "path", +"pattern": "^projects/[^/]+/instances/[^/]+/tables/[^/]+/authorizedViews/[^/]+$", +"required": true, +"type": "string" +}, +"view": { +"description": "Optional. The resource_view to be applied to the returned AuthorizedView's fields. Default to BASIC.", +"enum": [ +"RESPONSE_VIEW_UNSPECIFIED", +"NAME_ONLY", +"BASIC", +"FULL" +], +"enumDescriptions": [ +"Uses the default view for each method as documented in the request.", +"Only populates `name`.", +"Only populates the AuthorizedView's basic metadata. This includes: name, deletion_protection, etag.", +"Populates every fields." +], +"location": "query", +"type": "string" +} +}, +"path": "v2/{+name}", +"response": { +"$ref": "AuthorizedView" +}, +"scopes": [ +"https://www.googleapis.com/auth/bigtable.admin", +"https://www.googleapis.com/auth/bigtable.admin.table", +"https://www.googleapis.com/auth/cloud-bigtable.admin", +"https://www.googleapis.com/auth/cloud-bigtable.admin.table", +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"getIamPolicy": { +"description": "Gets the access control policy for a Bigtable resource. Returns an empty policy if the resource exists but does not have a policy set.", +"flatPath": "v2/projects/{projectsId}/instances/{instancesId}/tables/{tablesId}/authorizedViews/{authorizedViewsId}:getIamPolicy", +"httpMethod": "POST", +"id": "bigtableadmin.projects.instances.tables.authorizedViews.getIamPolicy", +"parameterOrder": [ +"resource" +], +"parameters": { +"resource": { +"description": "REQUIRED: The resource for which the policy is being requested. See [Resource names](https://cloud.google.com/apis/design/resource_names) for the appropriate value for this field.", +"location": "path", +"pattern": "^projects/[^/]+/instances/[^/]+/tables/[^/]+/authorizedViews/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v2/{+resource}:getIamPolicy", +"request": { +"$ref": "GetIamPolicyRequest" +}, +"response": { +"$ref": "Policy" +}, +"scopes": [ +"https://www.googleapis.com/auth/bigtable.admin", +"https://www.googleapis.com/auth/bigtable.admin.table", +"https://www.googleapis.com/auth/cloud-bigtable.admin", +"https://www.googleapis.com/auth/cloud-bigtable.admin.table", +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"list": { +"description": "Lists all AuthorizedViews from a specific table.", +"flatPath": "v2/projects/{projectsId}/instances/{instancesId}/tables/{tablesId}/authorizedViews", +"httpMethod": "GET", +"id": "bigtableadmin.projects.instances.tables.authorizedViews.list", +"parameterOrder": [ +"parent" +], +"parameters": { +"pageSize": { +"description": "Optional. Maximum number of results per page. A page_size of zero lets the server choose the number of items to return. A page_size which is strictly positive will return at most that many items. A negative page_size will cause an error. Following the first request, subsequent paginated calls are not required to pass a page_size. If a page_size is set in subsequent calls, it must match the page_size given in the first request.", +"format": "int32", +"location": "query", +"type": "integer" +}, +"pageToken": { +"description": "Optional. The value of `next_page_token` returned by a previous call.", +"location": "query", +"type": "string" +}, +"parent": { +"description": "Required. The unique name of the table for which AuthorizedViews should be listed. Values are of the form `projects/{project}/instances/{instance}/tables/{table}`.", +"location": "path", +"pattern": "^projects/[^/]+/instances/[^/]+/tables/[^/]+$", +"required": true, +"type": "string" +}, +"view": { +"description": "Optional. The resource_view to be applied to the returned AuthorizedViews' fields. Default to NAME_ONLY.", +"enum": [ +"RESPONSE_VIEW_UNSPECIFIED", +"NAME_ONLY", +"BASIC", +"FULL" +], +"enumDescriptions": [ +"Uses the default view for each method as documented in the request.", +"Only populates `name`.", +"Only populates the AuthorizedView's basic metadata. This includes: name, deletion_protection, etag.", +"Populates every fields." +], +"location": "query", +"type": "string" +} +}, +"path": "v2/{+parent}/authorizedViews", +"response": { +"$ref": "ListAuthorizedViewsResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/bigtable.admin", +"https://www.googleapis.com/auth/bigtable.admin.table", +"https://www.googleapis.com/auth/cloud-bigtable.admin", +"https://www.googleapis.com/auth/cloud-bigtable.admin.table", +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"patch": { +"description": "Updates an AuthorizedView in a table.", +"flatPath": "v2/projects/{projectsId}/instances/{instancesId}/tables/{tablesId}/authorizedViews/{authorizedViewsId}", +"httpMethod": "PATCH", +"id": "bigtableadmin.projects.instances.tables.authorizedViews.patch", +"parameterOrder": [ +"name" +], +"parameters": { +"ignoreWarnings": { +"description": "Optional. If true, ignore the safety checks when updating the AuthorizedView.", +"location": "query", +"type": "boolean" +}, +"name": { +"description": "Identifier. The name of this AuthorizedView. Values are of the form `projects/{project}/instances/{instance}/tables/{table}/authorizedViews/{authorized_view}`", +"location": "path", +"pattern": "^projects/[^/]+/instances/[^/]+/tables/[^/]+/authorizedViews/[^/]+$", +"required": true, +"type": "string" +}, +"updateMask": { +"description": "Optional. The list of fields to update. A mask specifying which fields in the AuthorizedView resource should be updated. This mask is relative to the AuthorizedView resource, not to the request message. A field will be overwritten if it is in the mask. If empty, all fields set in the request will be overwritten. A special value `*` means to overwrite all fields (including fields not set in the request).", +"format": "google-fieldmask", +"location": "query", +"type": "string" +} +}, +"path": "v2/{+name}", +"request": { +"$ref": "AuthorizedView" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/bigtable.admin", +"https://www.googleapis.com/auth/bigtable.admin.table", +"https://www.googleapis.com/auth/cloud-bigtable.admin", +"https://www.googleapis.com/auth/cloud-bigtable.admin.table", +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"setIamPolicy": { +"description": "Sets the access control policy on a Bigtable resource. Replaces any existing policy.", +"flatPath": "v2/projects/{projectsId}/instances/{instancesId}/tables/{tablesId}/authorizedViews/{authorizedViewsId}:setIamPolicy", +"httpMethod": "POST", +"id": "bigtableadmin.projects.instances.tables.authorizedViews.setIamPolicy", +"parameterOrder": [ +"resource" +], +"parameters": { +"resource": { +"description": "REQUIRED: The resource for which the policy is being specified. See [Resource names](https://cloud.google.com/apis/design/resource_names) for the appropriate value for this field.", +"location": "path", +"pattern": "^projects/[^/]+/instances/[^/]+/tables/[^/]+/authorizedViews/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v2/{+resource}:setIamPolicy", +"request": { +"$ref": "SetIamPolicyRequest" +}, +"response": { +"$ref": "Policy" +}, +"scopes": [ +"https://www.googleapis.com/auth/bigtable.admin", +"https://www.googleapis.com/auth/bigtable.admin.table", +"https://www.googleapis.com/auth/cloud-bigtable.admin", +"https://www.googleapis.com/auth/cloud-bigtable.admin.table", +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"testIamPermissions": { +"description": "Returns permissions that the caller has on the specified Bigtable resource.", +"flatPath": "v2/projects/{projectsId}/instances/{instancesId}/tables/{tablesId}/authorizedViews/{authorizedViewsId}:testIamPermissions", +"httpMethod": "POST", +"id": "bigtableadmin.projects.instances.tables.authorizedViews.testIamPermissions", +"parameterOrder": [ +"resource" +], +"parameters": { +"resource": { +"description": "REQUIRED: The resource for which the policy detail is being requested. See [Resource names](https://cloud.google.com/apis/design/resource_names) for the appropriate value for this field.", +"location": "path", +"pattern": "^projects/[^/]+/instances/[^/]+/tables/[^/]+/authorizedViews/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v2/{+resource}:testIamPermissions", +"request": { +"$ref": "TestIamPermissionsRequest" +}, +"response": { +"$ref": "TestIamPermissionsResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/bigtable.admin", +"https://www.googleapis.com/auth/bigtable.admin.table", +"https://www.googleapis.com/auth/cloud-bigtable.admin", +"https://www.googleapis.com/auth/cloud-bigtable.admin.table", +"https://www.googleapis.com/auth/cloud-platform" +] +} +} +} +} +} +} +}, +"locations": { +"methods": { +"list": { +"description": "Lists information about the supported locations for this service.", +"flatPath": "v2/projects/{projectsId}/locations", +"httpMethod": "GET", +"id": "bigtableadmin.projects.locations.list", +"parameterOrder": [ +"name" +], +"parameters": { +"filter": { +"description": "A filter to narrow down results to a preferred subset. The filtering language accepts strings like `\"displayName=tokyo\"`, and is documented in more detail in [AIP-160](https://google.aip.dev/160).", +"location": "query", +"type": "string" +}, +"name": { +"description": "The resource that owns the locations collection, if applicable.", +"location": "path", +"pattern": "^projects/[^/]+$", +"required": true, +"type": "string" +}, +"pageSize": { +"description": "The maximum number of results to return. If not set, the service selects a default.", +"format": "int32", +"location": "query", +"type": "integer" +}, +"pageToken": { +"description": "A page token received from the `next_page_token` field in the response. Send that page token to receive the subsequent page.", +"location": "query", +"type": "string" +} +}, +"path": "v2/{+name}/locations", +"response": { +"$ref": "ListLocationsResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/bigtable.admin", +"https://www.googleapis.com/auth/bigtable.admin.cluster", +"https://www.googleapis.com/auth/bigtable.admin.instance", +"https://www.googleapis.com/auth/cloud-bigtable.admin", +"https://www.googleapis.com/auth/cloud-bigtable.admin.cluster", +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/cloud-platform.read-only" +] +} +} +} +} +} +}, +"revision": "20241203", +"rootUrl": "https://bigtableadmin.googleapis.com/", +"schemas": { +"AppProfile": { +"description": "A configuration object describing how Cloud Bigtable should treat traffic from a particular end user application.", +"id": "AppProfile", +"properties": { +"dataBoostIsolationReadOnly": { +"$ref": "DataBoostIsolationReadOnly", +"description": "Specifies that this app profile is intended for read-only usage via the Data Boost feature." +}, +"description": { +"description": "Long form description of the use case for this AppProfile.", +"type": "string" +}, +"etag": { +"description": "Strongly validated etag for optimistic concurrency control. Preserve the value returned from `GetAppProfile` when calling `UpdateAppProfile` to fail the request if there has been a modification in the mean time. The `update_mask` of the request need not include `etag` for this protection to apply. See [Wikipedia](https://en.wikipedia.org/wiki/HTTP_ETag) and [RFC 7232](https://tools.ietf.org/html/rfc7232#section-2.3) for more details.", +"type": "string" +}, +"multiClusterRoutingUseAny": { +"$ref": "MultiClusterRoutingUseAny", +"description": "Use a multi-cluster routing policy." +}, +"name": { +"description": "The unique name of the app profile. Values are of the form `projects/{project}/instances/{instance}/appProfiles/_a-zA-Z0-9*`.", +"type": "string" +}, +"priority": { +"deprecated": true, +"description": "This field has been deprecated in favor of `standard_isolation.priority`. If you set this field, `standard_isolation.priority` will be set instead. The priority of requests sent using this app profile.", +"enum": [ +"PRIORITY_UNSPECIFIED", +"PRIORITY_LOW", +"PRIORITY_MEDIUM", +"PRIORITY_HIGH" +], +"enumDescriptions": [ +"Default value. Mapped to PRIORITY_HIGH (the legacy behavior) on creation.", +"", +"", +"" +], +"type": "string" +}, +"singleClusterRouting": { +"$ref": "SingleClusterRouting", +"description": "Use a single-cluster routing policy." +}, +"standardIsolation": { +"$ref": "StandardIsolation", +"description": "The standard options used for isolating this app profile's traffic from other use cases." +} +}, +"type": "object" +}, +"AuditConfig": { +"description": "Specifies the audit configuration for a service. The configuration determines which permission types are logged, and what identities, if any, are exempted from logging. An AuditConfig must have one or more AuditLogConfigs. If there are AuditConfigs for both `allServices` and a specific service, the union of the two AuditConfigs is used for that service: the log_types specified in each AuditConfig are enabled, and the exempted_members in each AuditLogConfig are exempted. Example Policy with multiple AuditConfigs: { \"audit_configs\": [ { \"service\": \"allServices\", \"audit_log_configs\": [ { \"log_type\": \"DATA_READ\", \"exempted_members\": [ \"user:jose@example.com\" ] }, { \"log_type\": \"DATA_WRITE\" }, { \"log_type\": \"ADMIN_READ\" } ] }, { \"service\": \"sampleservice.googleapis.com\", \"audit_log_configs\": [ { \"log_type\": \"DATA_READ\" }, { \"log_type\": \"DATA_WRITE\", \"exempted_members\": [ \"user:aliya@example.com\" ] } ] } ] } For sampleservice, this policy enables DATA_READ, DATA_WRITE and ADMIN_READ logging. It also exempts `jose@example.com` from DATA_READ logging, and `aliya@example.com` from DATA_WRITE logging.", +"id": "AuditConfig", +"properties": { +"auditLogConfigs": { +"description": "The configuration for logging of each type of permission.", +"items": { +"$ref": "AuditLogConfig" +}, +"type": "array" +}, +"service": { +"description": "Specifies a service that will be enabled for audit logging. For example, `storage.googleapis.com`, `cloudsql.googleapis.com`. `allServices` is a special value that covers all services.", +"type": "string" +} +}, +"type": "object" +}, +"AuditLogConfig": { +"description": "Provides the configuration for logging a type of permissions. Example: { \"audit_log_configs\": [ { \"log_type\": \"DATA_READ\", \"exempted_members\": [ \"user:jose@example.com\" ] }, { \"log_type\": \"DATA_WRITE\" } ] } This enables 'DATA_READ' and 'DATA_WRITE' logging, while exempting jose@example.com from DATA_READ logging.", +"id": "AuditLogConfig", +"properties": { +"exemptedMembers": { +"description": "Specifies the identities that do not cause logging for this type of permission. Follows the same format of Binding.members.", +"items": { +"type": "string" +}, +"type": "array" +}, +"logType": { +"description": "The log type that this config enables.", +"enum": [ +"LOG_TYPE_UNSPECIFIED", +"ADMIN_READ", +"DATA_WRITE", +"DATA_READ" +], +"enumDescriptions": [ +"Default case. Should never be this.", +"Admin reads. Example: CloudIAM getIamPolicy", +"Data writes. Example: CloudSQL Users create", +"Data reads. Example: CloudSQL Users list" +], +"type": "string" +} +}, +"type": "object" +}, +"AuthorizedView": { +"description": "An Authorized View of a Cloud Bigtable Table.", +"id": "AuthorizedView", +"properties": { +"deletionProtection": { +"description": "Set to true to make the AuthorizedView protected against deletion. The parent Table and containing Instance cannot be deleted if an AuthorizedView has this bit set.", +"type": "boolean" +}, +"etag": { +"description": "The etag for this AuthorizedView. If this is provided on update, it must match the server's etag. The server returns ABORTED error on a mismatched etag.", +"type": "string" +}, +"name": { +"description": "Identifier. The name of this AuthorizedView. Values are of the form `projects/{project}/instances/{instance}/tables/{table}/authorizedViews/{authorized_view}`", +"type": "string" +}, +"subsetView": { +"$ref": "GoogleBigtableAdminV2AuthorizedViewSubsetView", +"description": "An AuthorizedView permitting access to an explicit subset of a Table." +} +}, +"type": "object" +}, +"AutomatedBackupPolicy": { +"description": "Defines an automated backup policy for a table", +"id": "AutomatedBackupPolicy", +"properties": { +"frequency": { +"description": "How frequently automated backups should occur. The only supported value at this time is 24 hours. An undefined frequency is treated as 24 hours.", +"format": "google-duration", +"type": "string" +}, +"retentionPeriod": { +"description": "Required. How long the automated backups should be retained. Values must be at least 3 days and at most 90 days.", +"format": "google-duration", +"type": "string" +} +}, +"type": "object" +}, +"AutoscalingLimits": { +"description": "Limits for the number of nodes a Cluster can autoscale up/down to.", +"id": "AutoscalingLimits", +"properties": { +"maxServeNodes": { +"description": "Required. Maximum number of nodes to scale up to.", +"format": "int32", +"type": "integer" +}, +"minServeNodes": { +"description": "Required. Minimum number of nodes to scale down to.", +"format": "int32", +"type": "integer" +} +}, +"type": "object" +}, +"AutoscalingTargets": { +"description": "The Autoscaling targets for a Cluster. These determine the recommended nodes.", +"id": "AutoscalingTargets", +"properties": { +"cpuUtilizationPercent": { +"description": "The cpu utilization that the Autoscaler should be trying to achieve. This number is on a scale from 0 (no utilization) to 100 (total utilization), and is limited between 10 and 80, otherwise it will return INVALID_ARGUMENT error.", +"format": "int32", +"type": "integer" +}, +"storageUtilizationGibPerNode": { +"description": "The storage utilization that the Autoscaler should be trying to achieve. This number is limited between 2560 (2.5TiB) and 5120 (5TiB) for a SSD cluster and between 8192 (8TiB) and 16384 (16TiB) for an HDD cluster, otherwise it will return INVALID_ARGUMENT error. If this value is set to 0, it will be treated as if it were set to the default value: 2560 for SSD, 8192 for HDD.", +"format": "int32", +"type": "integer" +} +}, +"type": "object" +}, +"Backup": { +"description": "A backup of a Cloud Bigtable table.", +"id": "Backup", +"properties": { +"backupType": { +"description": "Indicates the backup type of the backup.", +"enum": [ +"BACKUP_TYPE_UNSPECIFIED", +"STANDARD", +"HOT" +], +"enumDescriptions": [ +"Not specified.", +"The default type for Cloud Bigtable managed backups. Supported for backups created in both HDD and SSD instances. Requires optimization when restored to a table in an SSD instance.", +"A backup type with faster restore to SSD performance. Only supported for backups created in SSD instances. A new SSD table restored from a hot backup reaches production performance more quickly than a standard backup." +], +"type": "string" +}, +"encryptionInfo": { +"$ref": "EncryptionInfo", +"description": "Output only. The encryption information for the backup.", +"readOnly": true +}, +"endTime": { +"description": "Output only. `end_time` is the time that the backup was finished. The row data in the backup will be no newer than this timestamp.", +"format": "google-datetime", +"readOnly": true, +"type": "string" +}, +"expireTime": { +"description": "Required. The expiration time of the backup. When creating a backup or updating its `expire_time`, the value must be greater than the backup creation time by: - At least 6 hours - At most 90 days Once the `expire_time` has passed, Cloud Bigtable will delete the backup.", +"format": "google-datetime", +"type": "string" +}, +"hotToStandardTime": { +"description": "The time at which the hot backup will be converted to a standard backup. Once the `hot_to_standard_time` has passed, Cloud Bigtable will convert the hot backup to a standard backup. This value must be greater than the backup creation time by: - At least 24 hours This field only applies for hot backups. When creating or updating a standard backup, attempting to set this field will fail the request.", +"format": "google-datetime", +"type": "string" +}, +"name": { +"description": "A globally unique identifier for the backup which cannot be changed. Values are of the form `projects/{project}/instances/{instance}/clusters/{cluster}/ backups/_a-zA-Z0-9*` The final segment of the name must be between 1 and 50 characters in length. The backup is stored in the cluster identified by the prefix of the backup name of the form `projects/{project}/instances/{instance}/clusters/{cluster}`.", +"type": "string" +}, +"sizeBytes": { +"description": "Output only. Size of the backup in bytes.", +"format": "int64", +"readOnly": true, +"type": "string" +}, +"sourceBackup": { +"description": "Output only. Name of the backup from which this backup was copied. If a backup is not created by copying a backup, this field will be empty. Values are of the form: projects//instances//clusters//backups/", +"readOnly": true, +"type": "string" +}, +"sourceTable": { +"description": "Required. Immutable. Name of the table from which this backup was created. This needs to be in the same instance as the backup. Values are of the form `projects/{project}/instances/{instance}/tables/{source_table}`.", +"type": "string" +}, +"startTime": { +"description": "Output only. `start_time` is the time that the backup was started (i.e. approximately the time the CreateBackup request is received). The row data in this backup will be no older than this timestamp.", +"format": "google-datetime", +"readOnly": true, +"type": "string" +}, +"state": { +"description": "Output only. The current state of the backup.", +"enum": [ +"STATE_UNSPECIFIED", +"CREATING", +"READY" +], +"enumDescriptions": [ +"Not specified.", +"The pending backup is still being created. Operations on the backup may fail with `FAILED_PRECONDITION` in this state.", +"The backup is complete and ready for use." +], +"readOnly": true, +"type": "string" +} +}, +"type": "object" +}, +"BackupInfo": { +"description": "Information about a backup.", +"id": "BackupInfo", +"properties": { +"backup": { +"description": "Output only. Name of the backup.", +"readOnly": true, +"type": "string" +}, +"endTime": { +"description": "Output only. This time that the backup was finished. Row data in the backup will be no newer than this timestamp.", +"format": "google-datetime", +"readOnly": true, +"type": "string" +}, +"sourceBackup": { +"description": "Output only. Name of the backup from which this backup was copied. If a backup is not created by copying a backup, this field will be empty. Values are of the form: projects//instances//clusters//backups/", +"readOnly": true, +"type": "string" +}, +"sourceTable": { +"description": "Output only. Name of the table the backup was created from.", +"readOnly": true, +"type": "string" +}, +"startTime": { +"description": "Output only. The time that the backup was started. Row data in the backup will be no older than this timestamp.", +"format": "google-datetime", +"readOnly": true, +"type": "string" +} +}, +"type": "object" +}, +"Binding": { +"description": "Associates `members`, or principals, with a `role`.", +"id": "Binding", +"properties": { +"condition": { +"$ref": "Expr", +"description": "The condition that is associated with this binding. If the condition evaluates to `true`, then this binding applies to the current request. If the condition evaluates to `false`, then this binding does not apply to the current request. However, a different role binding might grant the same role to one or more of the principals in this binding. To learn which resources support conditions in their IAM policies, see the [IAM documentation](https://cloud.google.com/iam/help/conditions/resource-policies)." +}, +"members": { +"description": "Specifies the principals requesting access for a Google Cloud resource. `members` can have the following values: * `allUsers`: A special identifier that represents anyone who is on the internet; with or without a Google account. * `allAuthenticatedUsers`: A special identifier that represents anyone who is authenticated with a Google account or a service account. Does not include identities that come from external identity providers (IdPs) through identity federation. * `user:{emailid}`: An email address that represents a specific Google account. For example, `alice@example.com` . * `serviceAccount:{emailid}`: An email address that represents a Google service account. For example, `my-other-app@appspot.gserviceaccount.com`. * `serviceAccount:{projectid}.svc.id.goog[{namespace}/{kubernetes-sa}]`: An identifier for a [Kubernetes service account](https://cloud.google.com/kubernetes-engine/docs/how-to/kubernetes-service-accounts). For example, `my-project.svc.id.goog[my-namespace/my-kubernetes-sa]`. * `group:{emailid}`: An email address that represents a Google group. For example, `admins@example.com`. * `domain:{domain}`: The G Suite domain (primary) that represents all the users of that domain. For example, `google.com` or `example.com`. * `principal://iam.googleapis.com/locations/global/workforcePools/{pool_id}/subject/{subject_attribute_value}`: A single identity in a workforce identity pool. * `principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/group/{group_id}`: All workforce identities in a group. * `principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/attribute.{attribute_name}/{attribute_value}`: All workforce identities with a specific attribute value. * `principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/*`: All identities in a workforce identity pool. * `principal://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/subject/{subject_attribute_value}`: A single identity in a workload identity pool. * `principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/group/{group_id}`: A workload identity pool group. * `principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/attribute.{attribute_name}/{attribute_value}`: All identities in a workload identity pool with a certain attribute. * `principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/*`: All identities in a workload identity pool. * `deleted:user:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a user that has been recently deleted. For example, `alice@example.com?uid=123456789012345678901`. If the user is recovered, this value reverts to `user:{emailid}` and the recovered user retains the role in the binding. * `deleted:serviceAccount:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a service account that has been recently deleted. For example, `my-other-app@appspot.gserviceaccount.com?uid=123456789012345678901`. If the service account is undeleted, this value reverts to `serviceAccount:{emailid}` and the undeleted service account retains the role in the binding. * `deleted:group:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a Google group that has been recently deleted. For example, `admins@example.com?uid=123456789012345678901`. If the group is recovered, this value reverts to `group:{emailid}` and the recovered group retains the role in the binding. * `deleted:principal://iam.googleapis.com/locations/global/workforcePools/{pool_id}/subject/{subject_attribute_value}`: Deleted single identity in a workforce identity pool. For example, `deleted:principal://iam.googleapis.com/locations/global/workforcePools/my-pool-id/subject/my-subject-attribute-value`.", +"items": { +"type": "string" +}, +"type": "array" +}, +"role": { +"description": "Role that is assigned to the list of `members`, or principals. For example, `roles/viewer`, `roles/editor`, or `roles/owner`. For an overview of the IAM roles and permissions, see the [IAM documentation](https://cloud.google.com/iam/docs/roles-overview). For a list of the available pre-defined roles, see [here](https://cloud.google.com/iam/docs/understanding-roles).", +"type": "string" +} +}, +"type": "object" +}, +"ChangeStreamConfig": { +"description": "Change stream configuration.", +"id": "ChangeStreamConfig", +"properties": { +"retentionPeriod": { +"description": "How long the change stream should be retained. Change stream data older than the retention period will not be returned when reading the change stream from the table. Values must be at least 1 day and at most 7 days, and will be truncated to microsecond granularity.", +"format": "google-duration", +"type": "string" +} +}, +"type": "object" +}, +"CheckConsistencyRequest": { +"description": "Request message for google.bigtable.admin.v2.BigtableTableAdmin.CheckConsistency", +"id": "CheckConsistencyRequest", +"properties": { +"consistencyToken": { +"description": "Required. The token created using GenerateConsistencyToken for the Table.", +"type": "string" +}, +"dataBoostReadLocalWrites": { +"$ref": "DataBoostReadLocalWrites", +"description": "Checks that reads using an app profile with `DataBoostIsolationReadOnly` can see all writes committed before the token was created, but only if the read and write target the same cluster." +}, +"standardReadRemoteWrites": { +"$ref": "StandardReadRemoteWrites", +"description": "Checks that reads using an app profile with `StandardIsolation` can see all writes committed before the token was created, even if the read and write target different clusters." +} +}, +"type": "object" +}, +"CheckConsistencyResponse": { +"description": "Response message for google.bigtable.admin.v2.BigtableTableAdmin.CheckConsistency", +"id": "CheckConsistencyResponse", +"properties": { +"consistent": { +"description": "True only if the token is consistent. A token is consistent if replication has caught up with the restrictions specified in the request.", +"type": "boolean" +} +}, +"type": "object" +}, +"Cluster": { +"description": "A resizable group of nodes in a particular cloud location, capable of serving all Tables in the parent Instance.", +"id": "Cluster", +"properties": { +"clusterConfig": { +"$ref": "ClusterConfig", +"description": "Configuration for this cluster." +}, +"defaultStorageType": { +"description": "Immutable. The type of storage used by this cluster to serve its parent instance's tables, unless explicitly overridden.", +"enum": [ +"STORAGE_TYPE_UNSPECIFIED", +"SSD", +"HDD" +], +"enumDescriptions": [ +"The user did not specify a storage type.", +"Flash (SSD) storage should be used.", +"Magnetic drive (HDD) storage should be used." +], +"type": "string" +}, +"encryptionConfig": { +"$ref": "EncryptionConfig", +"description": "Immutable. The encryption configuration for CMEK-protected clusters." +}, +"location": { +"description": "Immutable. The location where this cluster's nodes and storage reside. For best performance, clients should be located as close as possible to this cluster. Currently only zones are supported, so values should be of the form `projects/{project}/locations/{zone}`.", +"type": "string" +}, +"name": { +"description": "The unique name of the cluster. Values are of the form `projects/{project}/instances/{instance}/clusters/a-z*`.", +"type": "string" +}, +"nodeScalingFactor": { +"description": "Immutable. The node scaling factor of this cluster.", +"enum": [ +"NODE_SCALING_FACTOR_UNSPECIFIED", +"NODE_SCALING_FACTOR_1X", +"NODE_SCALING_FACTOR_2X" +], +"enumDescriptions": [ +"No node scaling specified. Defaults to NODE_SCALING_FACTOR_1X.", +"The cluster is running with a scaling factor of 1.", +"The cluster is running with a scaling factor of 2. All node count values must be in increments of 2 with this scaling factor enabled, otherwise an INVALID_ARGUMENT error will be returned." +], +"type": "string" +}, +"serveNodes": { +"description": "The number of nodes in the cluster. If no value is set, Cloud Bigtable automatically allocates nodes based on your data footprint and optimized for 50% storage utilization.", +"format": "int32", +"type": "integer" +}, +"state": { +"description": "Output only. The current state of the cluster.", +"enum": [ +"STATE_NOT_KNOWN", +"READY", +"CREATING", +"RESIZING", +"DISABLED" +], +"enumDescriptions": [ +"The state of the cluster could not be determined.", +"The cluster has been successfully created and is ready to serve requests.", +"The cluster is currently being created, and may be destroyed if the creation process encounters an error. A cluster may not be able to serve requests while being created.", +"The cluster is currently being resized, and may revert to its previous node count if the process encounters an error. A cluster is still capable of serving requests while being resized, but may exhibit performance as if its number of allocated nodes is between the starting and requested states.", +"The cluster has no backing nodes. The data (tables) still exist, but no operations can be performed on the cluster." +], +"readOnly": true, +"type": "string" +} +}, +"type": "object" +}, +"ClusterAutoscalingConfig": { +"description": "Autoscaling config for a cluster.", +"id": "ClusterAutoscalingConfig", +"properties": { +"autoscalingLimits": { +"$ref": "AutoscalingLimits", +"description": "Required. Autoscaling limits for this cluster." +}, +"autoscalingTargets": { +"$ref": "AutoscalingTargets", +"description": "Required. Autoscaling targets for this cluster." +} +}, +"type": "object" +}, +"ClusterConfig": { +"description": "Configuration for a cluster.", +"id": "ClusterConfig", +"properties": { +"clusterAutoscalingConfig": { +"$ref": "ClusterAutoscalingConfig", +"description": "Autoscaling configuration for this cluster." +} +}, +"type": "object" +}, +"ClusterState": { +"description": "The state of a table's data in a particular cluster.", +"id": "ClusterState", +"properties": { +"encryptionInfo": { +"description": "Output only. The encryption information for the table in this cluster. If the encryption key protecting this resource is customer managed, then its version can be rotated in Cloud Key Management Service (Cloud KMS). The primary version of the key and its status will be reflected here when changes propagate from Cloud KMS.", +"items": { +"$ref": "EncryptionInfo" +}, +"readOnly": true, +"type": "array" +}, +"replicationState": { +"description": "Output only. The state of replication for the table in this cluster.", +"enum": [ +"STATE_NOT_KNOWN", +"INITIALIZING", +"PLANNED_MAINTENANCE", +"UNPLANNED_MAINTENANCE", +"READY", +"READY_OPTIMIZING" +], +"enumDescriptions": [ +"The replication state of the table is unknown in this cluster.", +"The cluster was recently created, and the table must finish copying over pre-existing data from other clusters before it can begin receiving live replication updates and serving Data API requests.", +"The table is temporarily unable to serve Data API requests from this cluster due to planned internal maintenance.", +"The table is temporarily unable to serve Data API requests from this cluster due to unplanned or emergency maintenance.", +"The table can serve Data API requests from this cluster. Depending on replication delay, reads may not immediately reflect the state of the table in other clusters.", +"The table is fully created and ready for use after a restore, and is being optimized for performance. When optimizations are complete, the table will transition to `READY` state." +], +"readOnly": true, +"type": "string" +} +}, +"type": "object" +}, +"ColumnFamily": { +"description": "A set of columns within a table which share a common configuration.", +"id": "ColumnFamily", +"properties": { +"gcRule": { +"$ref": "GcRule", +"description": "Garbage collection rule specified as a protobuf. Must serialize to at most 500 bytes. NOTE: Garbage collection executes opportunistically in the background, and so it's possible for reads to return a cell even if it matches the active GC expression for its family." +}, +"stats": { +"$ref": "ColumnFamilyStats", +"description": "Output only. Only available with STATS_VIEW, this includes summary statistics about column family contents. For statistics over an entire table, see TableStats above.", +"readOnly": true +}, +"valueType": { +"$ref": "Type", +"description": "The type of data stored in each of this family's cell values, including its full encoding. If omitted, the family only serves raw untyped bytes. For now, only the `Aggregate` type is supported. `Aggregate` can only be set at family creation and is immutable afterwards. If `value_type` is `Aggregate`, written data must be compatible with: * `value_type.input_type` for `AddInput` mutations" +} +}, +"type": "object" +}, +"ColumnFamilyStats": { +"description": "Approximate statistics related to a single column family within a table. This information may change rapidly, interpreting these values at a point in time may already preset out-of-date information. Everything below is approximate, unless otherwise specified.", +"id": "ColumnFamilyStats", +"properties": { +"averageCellsPerColumn": { +"description": "How many cells are present per column qualifier in this column family, averaged over all rows containing any column in the column family. e.g. For column family \"family\" in a table with 3 rows: * A row with 3 cells in \"family:col\" and 1 cell in \"other:col\" (3 cells / 1 column in \"family\") * A row with 1 cell in \"family:col\", 7 cells in \"family:other_col\", and 7 cells in \"other:data\" (8 cells / 2 columns in \"family\") * A row with 3 cells in \"other:col\" (0 columns in \"family\", \"family\" not present) would report (3 + 8 + 0)/(1 + 2 + 0) = 3.66 in this field.", +"format": "double", +"type": "number" +}, +"averageColumnsPerRow": { +"description": "How many column qualifiers are present in this column family, averaged over all rows in the table. e.g. For column family \"family\" in a table with 3 rows: * A row with cells in \"family:col\" and \"other:col\" (1 column in \"family\") * A row with cells in \"family:col\", \"family:other_col\", and \"other:data\" (2 columns in \"family\") * A row with cells in \"other:col\" (0 columns in \"family\", \"family\" not present) would report (1 + 2 + 0)/3 = 1.5 in this field.", +"format": "double", +"type": "number" +}, +"logicalDataBytes": { +"description": "How much space the data in the column family occupies. This is roughly how many bytes would be needed to read the contents of the entire column family (e.g. by streaming all contents out).", +"format": "int64", +"type": "string" +} +}, +"type": "object" +}, +"CopyBackupMetadata": { +"description": "Metadata type for the google.longrunning.Operation returned by CopyBackup.", +"id": "CopyBackupMetadata", +"properties": { +"name": { +"description": "The name of the backup being created through the copy operation. Values are of the form `projects//instances//clusters//backups/`.", +"type": "string" +}, +"progress": { +"$ref": "OperationProgress", +"description": "The progress of the CopyBackup operation." +}, +"sourceBackupInfo": { +"$ref": "BackupInfo", +"description": "Information about the source backup that is being copied from." +} +}, +"type": "object" +}, +"CopyBackupRequest": { +"description": "The request for CopyBackup.", +"id": "CopyBackupRequest", +"properties": { +"backupId": { +"description": "Required. The id of the new backup. The `backup_id` along with `parent` are combined as {parent}/backups/{backup_id} to create the full backup name, of the form: `projects/{project}/instances/{instance}/clusters/{cluster}/backups/{backup_id}`. This string must be between 1 and 50 characters in length and match the regex _a-zA-Z0-9*.", +"type": "string" +}, +"expireTime": { +"description": "Required. Required. The expiration time of the copied backup with microsecond granularity that must be at least 6 hours and at most 30 days from the time the request is received. Once the `expire_time` has passed, Cloud Bigtable will delete the backup and free the resources used by the backup.", +"format": "google-datetime", +"type": "string" +}, +"sourceBackup": { +"description": "Required. The source backup to be copied from. The source backup needs to be in READY state for it to be copied. Copying a copied backup is not allowed. Once CopyBackup is in progress, the source backup cannot be deleted or cleaned up on expiration until CopyBackup is finished. Values are of the form: `projects//instances//clusters//backups/`.", +"type": "string" +} +}, +"type": "object" +}, +"CreateAuthorizedViewMetadata": { +"description": "The metadata for the Operation returned by CreateAuthorizedView.", +"id": "CreateAuthorizedViewMetadata", +"properties": { +"finishTime": { +"description": "The time at which the operation failed or was completed successfully.", +"format": "google-datetime", +"type": "string" +}, +"originalRequest": { +"$ref": "CreateAuthorizedViewRequest", +"description": "The request that prompted the initiation of this CreateAuthorizedView operation." +}, +"requestTime": { +"description": "The time at which the original request was received.", +"format": "google-datetime", +"type": "string" +} +}, +"type": "object" +}, +"CreateAuthorizedViewRequest": { +"description": "The request for CreateAuthorizedView", +"id": "CreateAuthorizedViewRequest", +"properties": { +"authorizedView": { +"$ref": "AuthorizedView", +"description": "Required. The AuthorizedView to create." +}, +"authorizedViewId": { +"description": "Required. The id of the AuthorizedView to create. This AuthorizedView must not already exist. The `authorized_view_id` appended to `parent` forms the full AuthorizedView name of the form `projects/{project}/instances/{instance}/tables/{table}/authorizedView/{authorized_view}`.", +"type": "string" +}, +"parent": { +"description": "Required. This is the name of the table the AuthorizedView belongs to. Values are of the form `projects/{project}/instances/{instance}/tables/{table}`.", +"type": "string" +} +}, +"type": "object" +}, +"CreateBackupMetadata": { +"description": "Metadata type for the operation returned by CreateBackup.", +"id": "CreateBackupMetadata", +"properties": { +"endTime": { +"description": "If set, the time at which this operation finished or was cancelled.", +"format": "google-datetime", +"type": "string" +}, +"name": { +"description": "The name of the backup being created.", +"type": "string" +}, +"sourceTable": { +"description": "The name of the table the backup is created from.", +"type": "string" +}, +"startTime": { +"description": "The time at which this operation started.", +"format": "google-datetime", +"type": "string" +} +}, +"type": "object" +}, +"CreateClusterMetadata": { +"description": "The metadata for the Operation returned by CreateCluster.", +"id": "CreateClusterMetadata", +"properties": { +"finishTime": { +"description": "The time at which the operation failed or was completed successfully.", +"format": "google-datetime", +"type": "string" +}, +"originalRequest": { +"$ref": "CreateClusterRequest", +"description": "The request that prompted the initiation of this CreateCluster operation." +}, +"requestTime": { +"description": "The time at which the original request was received.", +"format": "google-datetime", +"type": "string" +}, +"tables": { +"additionalProperties": { +"$ref": "TableProgress" +}, +"description": "Keys: the full `name` of each table that existed in the instance when CreateCluster was first called, i.e. `projects//instances//tables/`. Any table added to the instance by a later API call will be created in the new cluster by that API call, not this one. Values: information on how much of a table's data has been copied to the newly-created cluster so far.", +"type": "object" +} +}, +"type": "object" +}, +"CreateClusterRequest": { +"description": "Request message for BigtableInstanceAdmin.CreateCluster.", +"id": "CreateClusterRequest", +"properties": { +"cluster": { +"$ref": "Cluster", +"description": "Required. The cluster to be created. Fields marked `OutputOnly` must be left blank." +}, +"clusterId": { +"description": "Required. The ID to be used when referring to the new cluster within its instance, e.g., just `mycluster` rather than `projects/myproject/instances/myinstance/clusters/mycluster`.", +"type": "string" +}, +"parent": { +"description": "Required. The unique name of the instance in which to create the new cluster. Values are of the form `projects/{project}/instances/{instance}`.", +"type": "string" +} +}, +"type": "object" +}, +"CreateInstanceMetadata": { +"description": "The metadata for the Operation returned by CreateInstance.", +"id": "CreateInstanceMetadata", +"properties": { +"finishTime": { +"description": "The time at which the operation failed or was completed successfully.", +"format": "google-datetime", +"type": "string" +}, +"originalRequest": { +"$ref": "CreateInstanceRequest", +"description": "The request that prompted the initiation of this CreateInstance operation." +}, +"requestTime": { +"description": "The time at which the original request was received.", +"format": "google-datetime", +"type": "string" +} +}, +"type": "object" +}, +"CreateInstanceRequest": { +"description": "Request message for BigtableInstanceAdmin.CreateInstance.", +"id": "CreateInstanceRequest", +"properties": { +"clusters": { +"additionalProperties": { +"$ref": "Cluster" +}, +"description": "Required. The clusters to be created within the instance, mapped by desired cluster ID, e.g., just `mycluster` rather than `projects/myproject/instances/myinstance/clusters/mycluster`. Fields marked `OutputOnly` must be left blank.", +"type": "object" +}, +"instance": { +"$ref": "Instance", +"description": "Required. The instance to create. Fields marked `OutputOnly` must be left blank." +}, +"instanceId": { +"description": "Required. The ID to be used when referring to the new instance within its project, e.g., just `myinstance` rather than `projects/myproject/instances/myinstance`.", +"type": "string" +}, +"parent": { +"description": "Required. The unique name of the project in which to create the new instance. Values are of the form `projects/{project}`.", +"type": "string" +} +}, +"type": "object" +}, +"CreateTableRequest": { +"description": "Request message for google.bigtable.admin.v2.BigtableTableAdmin.CreateTable", +"id": "CreateTableRequest", +"properties": { +"initialSplits": { +"description": "The optional list of row keys that will be used to initially split the table into several tablets (tablets are similar to HBase regions). Given two split keys, `s1` and `s2`, three tablets will be created, spanning the key ranges: `[, s1), [s1, s2), [s2, )`. Example: * Row keys := `[\"a\", \"apple\", \"custom\", \"customer_1\", \"customer_2\",` `\"other\", \"zz\"]` * initial_split_keys := `[\"apple\", \"customer_1\", \"customer_2\", \"other\"]` * Key assignment: - Tablet 1 `[, apple) => {\"a\"}.` - Tablet 2 `[apple, customer_1) => {\"apple\", \"custom\"}.` - Tablet 3 `[customer_1, customer_2) => {\"customer_1\"}.` - Tablet 4 `[customer_2, other) => {\"customer_2\"}.` - Tablet 5 `[other, ) => {\"other\", \"zz\"}.`", +"items": { +"$ref": "Split" +}, +"type": "array" +}, +"table": { +"$ref": "Table", +"description": "Required. The Table to create." +}, +"tableId": { +"description": "Required. The name by which the new table should be referred to within the parent instance, e.g., `foobar` rather than `{parent}/tables/foobar`. Maximum 50 characters.", +"type": "string" +} +}, +"type": "object" +}, +"DataBoostIsolationReadOnly": { +"description": "Data Boost is a serverless compute capability that lets you run high-throughput read jobs and queries on your Bigtable data, without impacting the performance of the clusters that handle your application traffic. Data Boost supports read-only use cases with single-cluster routing.", +"id": "DataBoostIsolationReadOnly", +"properties": { +"computeBillingOwner": { +"description": "The Compute Billing Owner for this Data Boost App Profile.", +"enum": [ +"COMPUTE_BILLING_OWNER_UNSPECIFIED", +"HOST_PAYS" +], +"enumDescriptions": [ +"Unspecified value.", +"The host Cloud Project containing the targeted Bigtable Instance / Table pays for compute." +], +"type": "string" +} +}, +"type": "object" +}, +"DataBoostReadLocalWrites": { +"description": "Checks that all writes before the consistency token was generated in the same cluster are readable by Databoost.", +"id": "DataBoostReadLocalWrites", +"properties": {}, +"type": "object" +}, +"DropRowRangeRequest": { +"description": "Request message for google.bigtable.admin.v2.BigtableTableAdmin.DropRowRange", +"id": "DropRowRangeRequest", +"properties": { +"deleteAllDataFromTable": { +"description": "Delete all rows in the table. Setting this to false is a no-op.", +"type": "boolean" +}, +"rowKeyPrefix": { +"description": "Delete all rows that start with this row key prefix. Prefix cannot be zero length.", +"format": "byte", +"type": "string" +} +}, +"type": "object" +}, +"Empty": { +"description": "A generic empty message that you can re-use to avoid defining duplicated empty messages in your APIs. A typical example is to use it as the request or the response type of an API method. For instance: service Foo { rpc Bar(google.protobuf.Empty) returns (google.protobuf.Empty); }", +"id": "Empty", +"properties": {}, +"type": "object" +}, +"EncryptionConfig": { +"description": "Cloud Key Management Service (Cloud KMS) settings for a CMEK-protected cluster.", +"id": "EncryptionConfig", +"properties": { +"kmsKeyName": { +"description": "Describes the Cloud KMS encryption key that will be used to protect the destination Bigtable cluster. The requirements for this key are: 1) The Cloud Bigtable service account associated with the project that contains this cluster must be granted the `cloudkms.cryptoKeyEncrypterDecrypter` role on the CMEK key. 2) Only regional keys can be used and the region of the CMEK key must match the region of the cluster. Values are of the form `projects/{project}/locations/{location}/keyRings/{keyring}/cryptoKeys/{key}`", +"type": "string" +} +}, +"type": "object" +}, +"EncryptionInfo": { +"description": "Encryption information for a given resource. If this resource is protected with customer managed encryption, the in-use Cloud Key Management Service (Cloud KMS) key version is specified along with its status.", +"id": "EncryptionInfo", +"properties": { +"encryptionStatus": { +"$ref": "Status", +"description": "Output only. The status of encrypt/decrypt calls on underlying data for this resource. Regardless of status, the existing data is always encrypted at rest.", +"readOnly": true +}, +"encryptionType": { +"description": "Output only. The type of encryption used to protect this resource.", +"enum": [ +"ENCRYPTION_TYPE_UNSPECIFIED", +"GOOGLE_DEFAULT_ENCRYPTION", +"CUSTOMER_MANAGED_ENCRYPTION" +], +"enumDescriptions": [ +"Encryption type was not specified, though data at rest remains encrypted.", +"The data backing this resource is encrypted at rest with a key that is fully managed by Google. No key version or status will be populated. This is the default state.", +"The data backing this resource is encrypted at rest with a key that is managed by the customer. The in-use version of the key and its status are populated for CMEK-protected tables. CMEK-protected backups are pinned to the key version that was in use at the time the backup was taken. This key version is populated but its status is not tracked and is reported as `UNKNOWN`." +], +"readOnly": true, +"type": "string" +}, +"kmsKeyVersion": { +"description": "Output only. The version of the Cloud KMS key specified in the parent cluster that is in use for the data underlying this table.", +"readOnly": true, +"type": "string" +} +}, +"type": "object" +}, +"Expr": { +"description": "Represents a textual expression in the Common Expression Language (CEL) syntax. CEL is a C-like expression language. The syntax and semantics of CEL are documented at https://github.com/google/cel-spec. Example (Comparison): title: \"Summary size limit\" description: \"Determines if a summary is less than 100 chars\" expression: \"document.summary.size() < 100\" Example (Equality): title: \"Requestor is owner\" description: \"Determines if requestor is the document owner\" expression: \"document.owner == request.auth.claims.email\" Example (Logic): title: \"Public documents\" description: \"Determine whether the document should be publicly visible\" expression: \"document.type != 'private' && document.type != 'internal'\" Example (Data Manipulation): title: \"Notification string\" description: \"Create a notification string with a timestamp.\" expression: \"'New message received at ' + string(document.create_time)\" The exact variables and functions that may be referenced within an expression are determined by the service that evaluates it. See the service documentation for additional information.", +"id": "Expr", +"properties": { +"description": { +"description": "Optional. Description of the expression. This is a longer text which describes the expression, e.g. when hovered over it in a UI.", +"type": "string" +}, +"expression": { +"description": "Textual representation of an expression in Common Expression Language syntax.", +"type": "string" +}, +"location": { +"description": "Optional. String indicating the location of the expression for error reporting, e.g. a file name and a position in the file.", +"type": "string" +}, +"title": { +"description": "Optional. Title for the expression, i.e. a short string describing its purpose. This can be used e.g. in UIs which allow to enter the expression.", +"type": "string" +} +}, +"type": "object" +}, +"GcRule": { +"description": "Rule for determining which cells to delete during garbage collection.", +"id": "GcRule", +"properties": { +"intersection": { +"$ref": "Intersection", +"description": "Delete cells that would be deleted by every nested rule." +}, +"maxAge": { +"description": "Delete cells in a column older than the given age. Values must be at least one millisecond, and will be truncated to microsecond granularity.", +"format": "google-duration", +"type": "string" +}, +"maxNumVersions": { +"description": "Delete all cells in a column except the most recent N.", +"format": "int32", +"type": "integer" +}, +"union": { +"$ref": "Union", +"description": "Delete cells that would be deleted by any nested rule." +} +}, +"type": "object" +}, +"GenerateConsistencyTokenRequest": { +"description": "Request message for google.bigtable.admin.v2.BigtableTableAdmin.GenerateConsistencyToken", +"id": "GenerateConsistencyTokenRequest", +"properties": {}, +"type": "object" +}, +"GenerateConsistencyTokenResponse": { +"description": "Response message for google.bigtable.admin.v2.BigtableTableAdmin.GenerateConsistencyToken", +"id": "GenerateConsistencyTokenResponse", +"properties": { +"consistencyToken": { +"description": "The generated consistency token.", +"type": "string" +} +}, +"type": "object" +}, +"GetIamPolicyRequest": { +"description": "Request message for `GetIamPolicy` method.", +"id": "GetIamPolicyRequest", +"properties": { +"options": { +"$ref": "GetPolicyOptions", +"description": "OPTIONAL: A `GetPolicyOptions` object for specifying options to `GetIamPolicy`." +} +}, +"type": "object" +}, +"GetPolicyOptions": { +"description": "Encapsulates settings provided to GetIamPolicy.", +"id": "GetPolicyOptions", +"properties": { +"requestedPolicyVersion": { +"description": "Optional. The maximum policy version that will be used to format the policy. Valid values are 0, 1, and 3. Requests specifying an invalid value will be rejected. Requests for policies with any conditional role bindings must specify version 3. Policies with no conditional role bindings may specify any valid value or leave the field unset. The policy in the response might use the policy version that you specified, or it might use a lower policy version. For example, if you specify version 3, but the policy has no conditional role bindings, the response uses version 1. To learn which resources support conditions in their IAM policies, see the [IAM documentation](https://cloud.google.com/iam/help/conditions/resource-policies).", +"format": "int32", +"type": "integer" +} +}, +"type": "object" +}, +"GoogleBigtableAdminV2AuthorizedViewFamilySubsets": { +"description": "Subsets of a column family that are included in this AuthorizedView.", +"id": "GoogleBigtableAdminV2AuthorizedViewFamilySubsets", +"properties": { +"qualifierPrefixes": { +"description": "Prefixes for qualifiers to be included in the AuthorizedView. Every qualifier starting with one of these prefixes is included in the AuthorizedView. To provide access to all qualifiers, include the empty string as a prefix (\"\").", +"items": { +"format": "byte", +"type": "string" +}, +"type": "array" +}, +"qualifiers": { +"description": "Individual exact column qualifiers to be included in the AuthorizedView.", +"items": { +"format": "byte", +"type": "string" +}, +"type": "array" +} +}, +"type": "object" +}, +"GoogleBigtableAdminV2AuthorizedViewSubsetView": { +"description": "Defines a simple AuthorizedView that is a subset of the underlying Table.", +"id": "GoogleBigtableAdminV2AuthorizedViewSubsetView", +"properties": { +"familySubsets": { +"additionalProperties": { +"$ref": "GoogleBigtableAdminV2AuthorizedViewFamilySubsets" +}, +"description": "Map from column family name to the columns in this family to be included in the AuthorizedView.", +"type": "object" +}, +"rowPrefixes": { +"description": "Row prefixes to be included in the AuthorizedView. To provide access to all rows, include the empty string as a prefix (\"\").", +"items": { +"format": "byte", +"type": "string" +}, +"type": "array" +} +}, +"type": "object" +}, +"GoogleBigtableAdminV2TypeAggregate": { +"description": "A value that combines incremental updates into a summarized value. Data is never directly written or read using type `Aggregate`. Writes provide either the `input_type` or `state_type`, and reads always return the `state_type` .", +"id": "GoogleBigtableAdminV2TypeAggregate", +"properties": { +"hllppUniqueCount": { +"$ref": "GoogleBigtableAdminV2TypeAggregateHyperLogLogPlusPlusUniqueCount", +"description": "HyperLogLogPlusPlusUniqueCount aggregator." +}, +"inputType": { +"$ref": "Type", +"description": "Type of the inputs that are accumulated by this `Aggregate`. Use `AddInput` mutations to accumulate new inputs." +}, +"max": { +"$ref": "GoogleBigtableAdminV2TypeAggregateMax", +"description": "Max aggregator." +}, +"min": { +"$ref": "GoogleBigtableAdminV2TypeAggregateMin", +"description": "Min aggregator." +}, +"stateType": { +"$ref": "Type", +"description": "Output only. Type that holds the internal accumulator state for the `Aggregate`. This is a function of the `input_type` and `aggregator` chosen.", +"readOnly": true +}, +"sum": { +"$ref": "GoogleBigtableAdminV2TypeAggregateSum", +"description": "Sum aggregator." +} +}, +"type": "object" +}, +"GoogleBigtableAdminV2TypeAggregateHyperLogLogPlusPlusUniqueCount": { +"description": "Computes an approximate unique count over the input values. When using raw data as input, be careful to use a consistent encoding. Otherwise the same value encoded differently could count more than once, or two distinct values could count as identical. Input: Any, or omit for Raw State: TBD Special state conversions: `Int64` (the unique count estimate)", +"id": "GoogleBigtableAdminV2TypeAggregateHyperLogLogPlusPlusUniqueCount", +"properties": {}, +"type": "object" +}, +"GoogleBigtableAdminV2TypeAggregateMax": { +"description": "Computes the max of the input values. Allowed input: `Int64` State: same as input", +"id": "GoogleBigtableAdminV2TypeAggregateMax", +"properties": {}, +"type": "object" +}, +"GoogleBigtableAdminV2TypeAggregateMin": { +"description": "Computes the min of the input values. Allowed input: `Int64` State: same as input", +"id": "GoogleBigtableAdminV2TypeAggregateMin", +"properties": {}, +"type": "object" +}, +"GoogleBigtableAdminV2TypeAggregateSum": { +"description": "Computes the sum of the input values. Allowed input: `Int64` State: same as input", +"id": "GoogleBigtableAdminV2TypeAggregateSum", +"properties": {}, +"type": "object" +}, +"GoogleBigtableAdminV2TypeArray": { +"description": "An ordered list of elements of a given type. Values of type `Array` are stored in `Value.array_value`.", +"id": "GoogleBigtableAdminV2TypeArray", +"properties": { +"elementType": { +"$ref": "Type", +"description": "The type of the elements in the array. This must not be `Array`." +} +}, +"type": "object" +}, +"GoogleBigtableAdminV2TypeBool": { +"description": "bool Values of type `Bool` are stored in `Value.bool_value`.", +"id": "GoogleBigtableAdminV2TypeBool", +"properties": {}, +"type": "object" +}, +"GoogleBigtableAdminV2TypeBytes": { +"description": "Bytes Values of type `Bytes` are stored in `Value.bytes_value`.", +"id": "GoogleBigtableAdminV2TypeBytes", +"properties": { +"encoding": { +"$ref": "GoogleBigtableAdminV2TypeBytesEncoding", +"description": "The encoding to use when converting to or from lower level types." +} +}, +"type": "object" +}, +"GoogleBigtableAdminV2TypeBytesEncoding": { +"description": "Rules used to convert to or from lower level types.", +"id": "GoogleBigtableAdminV2TypeBytesEncoding", +"properties": { +"raw": { +"$ref": "GoogleBigtableAdminV2TypeBytesEncodingRaw", +"description": "Use `Raw` encoding." +} +}, +"type": "object" +}, +"GoogleBigtableAdminV2TypeBytesEncodingRaw": { +"description": "Leaves the value as-is. Sorted mode: all values are supported. Distinct mode: all values are supported.", +"id": "GoogleBigtableAdminV2TypeBytesEncodingRaw", +"properties": {}, +"type": "object" +}, +"GoogleBigtableAdminV2TypeDate": { +"description": "Date Values of type `Date` are stored in `Value.date_value`.", +"id": "GoogleBigtableAdminV2TypeDate", +"properties": {}, +"type": "object" +}, +"GoogleBigtableAdminV2TypeFloat32": { +"description": "Float32 Values of type `Float32` are stored in `Value.float_value`.", +"id": "GoogleBigtableAdminV2TypeFloat32", +"properties": {}, +"type": "object" +}, +"GoogleBigtableAdminV2TypeFloat64": { +"description": "Float64 Values of type `Float64` are stored in `Value.float_value`.", +"id": "GoogleBigtableAdminV2TypeFloat64", +"properties": {}, +"type": "object" +}, +"GoogleBigtableAdminV2TypeInt64": { +"description": "Int64 Values of type `Int64` are stored in `Value.int_value`.", +"id": "GoogleBigtableAdminV2TypeInt64", +"properties": { +"encoding": { +"$ref": "GoogleBigtableAdminV2TypeInt64Encoding", +"description": "The encoding to use when converting to or from lower level types." +} +}, +"type": "object" +}, +"GoogleBigtableAdminV2TypeInt64Encoding": { +"description": "Rules used to convert to or from lower level types.", +"id": "GoogleBigtableAdminV2TypeInt64Encoding", +"properties": { +"bigEndianBytes": { +"$ref": "GoogleBigtableAdminV2TypeInt64EncodingBigEndianBytes", +"description": "Use `BigEndianBytes` encoding." +} +}, +"type": "object" +}, +"GoogleBigtableAdminV2TypeInt64EncodingBigEndianBytes": { +"description": "Encodes the value as an 8-byte big-endian two's complement value. Sorted mode: non-negative values are supported. Distinct mode: all values are supported. Compatible with: - BigQuery `BINARY` encoding - HBase `Bytes.toBytes` - Java `ByteBuffer.putLong()` with `ByteOrder.BIG_ENDIAN`", +"id": "GoogleBigtableAdminV2TypeInt64EncodingBigEndianBytes", +"properties": { +"bytesType": { +"$ref": "GoogleBigtableAdminV2TypeBytes", +"deprecated": true, +"description": "Deprecated: ignored if set." +} +}, +"type": "object" +}, +"GoogleBigtableAdminV2TypeMap": { +"description": "A mapping of keys to values of a given type. Values of type `Map` are stored in a `Value.array_value` where each entry is another `Value.array_value` with two elements (the key and the value, in that order). Normally encoded Map values won't have repeated keys, however, clients are expected to handle the case in which they do. If the same key appears multiple times, the _last_ value takes precedence.", +"id": "GoogleBigtableAdminV2TypeMap", +"properties": { +"keyType": { +"$ref": "Type", +"description": "The type of a map key. Only `Bytes`, `String`, and `Int64` are allowed as key types." +}, +"valueType": { +"$ref": "Type", +"description": "The type of the values in a map." +} +}, +"type": "object" +}, +"GoogleBigtableAdminV2TypeString": { +"description": "String Values of type `String` are stored in `Value.string_value`.", +"id": "GoogleBigtableAdminV2TypeString", +"properties": { +"encoding": { +"$ref": "GoogleBigtableAdminV2TypeStringEncoding", +"description": "The encoding to use when converting to or from lower level types." +} +}, +"type": "object" +}, +"GoogleBigtableAdminV2TypeStringEncoding": { +"description": "Rules used to convert to or from lower level types.", +"id": "GoogleBigtableAdminV2TypeStringEncoding", +"properties": { +"utf8Bytes": { +"$ref": "GoogleBigtableAdminV2TypeStringEncodingUtf8Bytes", +"description": "Use `Utf8Bytes` encoding." +}, +"utf8Raw": { +"$ref": "GoogleBigtableAdminV2TypeStringEncodingUtf8Raw", +"deprecated": true, +"description": "Deprecated: if set, converts to an empty `utf8_bytes`." +} +}, +"type": "object" +}, +"GoogleBigtableAdminV2TypeStringEncodingUtf8Bytes": { +"description": "UTF-8 encoding. Sorted mode: - All values are supported. - Code point order is preserved. Distinct mode: all values are supported. Compatible with: - BigQuery `TEXT` encoding - HBase `Bytes.toBytes` - Java `String#getBytes(StandardCharsets.UTF_8)`", +"id": "GoogleBigtableAdminV2TypeStringEncodingUtf8Bytes", +"properties": {}, +"type": "object" +}, +"GoogleBigtableAdminV2TypeStringEncodingUtf8Raw": { +"deprecated": true, +"description": "Deprecated: prefer the equivalent `Utf8Bytes`.", +"id": "GoogleBigtableAdminV2TypeStringEncodingUtf8Raw", +"properties": {}, +"type": "object" +}, +"GoogleBigtableAdminV2TypeStruct": { +"description": "A structured data value, consisting of fields which map to dynamically typed values. Values of type `Struct` are stored in `Value.array_value` where entries are in the same order and number as `field_types`.", +"id": "GoogleBigtableAdminV2TypeStruct", +"properties": { +"fields": { +"description": "The names and types of the fields in this struct.", +"items": { +"$ref": "GoogleBigtableAdminV2TypeStructField" +}, +"type": "array" +} +}, +"type": "object" +}, +"GoogleBigtableAdminV2TypeStructField": { +"description": "A struct field and its type.", +"id": "GoogleBigtableAdminV2TypeStructField", +"properties": { +"fieldName": { +"description": "The field name (optional). Fields without a `field_name` are considered anonymous and cannot be referenced by name.", +"type": "string" +}, +"type": { +"$ref": "Type", +"description": "The type of values in this field." +} +}, +"type": "object" +}, +"GoogleBigtableAdminV2TypeTimestamp": { +"description": "Timestamp Values of type `Timestamp` are stored in `Value.timestamp_value`.", +"id": "GoogleBigtableAdminV2TypeTimestamp", +"properties": {}, +"type": "object" +}, +"HotTablet": { +"description": "A tablet is a defined by a start and end key and is explained in https://cloud.google.com/bigtable/docs/overview#architecture and https://cloud.google.com/bigtable/docs/performance#optimization. A Hot tablet is a tablet that exhibits high average cpu usage during the time interval from start time to end time.", +"id": "HotTablet", +"properties": { +"endKey": { +"description": "Tablet End Key (inclusive).", +"type": "string" +}, +"endTime": { +"description": "Output only. The end time of the hot tablet.", +"format": "google-datetime", +"readOnly": true, +"type": "string" +}, +"name": { +"description": "The unique name of the hot tablet. Values are of the form `projects/{project}/instances/{instance}/clusters/{cluster}/hotTablets/[a-zA-Z0-9_-]*`.", +"type": "string" +}, +"nodeCpuUsagePercent": { +"description": "Output only. The average CPU usage spent by a node on this tablet over the start_time to end_time time range. The percentage is the amount of CPU used by the node to serve the tablet, from 0% (tablet was not interacted with) to 100% (the node spent all cycles serving the hot tablet).", +"format": "float", +"readOnly": true, +"type": "number" +}, +"startKey": { +"description": "Tablet Start Key (inclusive).", +"type": "string" +}, +"startTime": { +"description": "Output only. The start time of the hot tablet.", +"format": "google-datetime", +"readOnly": true, +"type": "string" +}, +"tableName": { +"description": "Name of the table that contains the tablet. Values are of the form `projects/{project}/instances/{instance}/tables/_a-zA-Z0-9*`.", +"type": "string" +} +}, +"type": "object" +}, +"Instance": { +"description": "A collection of Bigtable Tables and the resources that serve them. All tables in an instance are served from all Clusters in the instance.", +"id": "Instance", +"properties": { +"createTime": { +"description": "Output only. A commit timestamp representing when this Instance was created. For instances created before this field was added (August 2021), this value is `seconds: 0, nanos: 1`.", +"format": "google-datetime", +"readOnly": true, +"type": "string" +}, +"displayName": { +"description": "Required. The descriptive name for this instance as it appears in UIs. Can be changed at any time, but should be kept globally unique to avoid confusion.", +"type": "string" +}, +"labels": { +"additionalProperties": { +"type": "string" +}, +"description": "Labels are a flexible and lightweight mechanism for organizing cloud resources into groups that reflect a customer's organizational needs and deployment strategies. They can be used to filter resources and aggregate metrics. * Label keys must be between 1 and 63 characters long and must conform to the regular expression: `\\p{Ll}\\p{Lo}{0,62}`. * Label values must be between 0 and 63 characters long and must conform to the regular expression: `[\\p{Ll}\\p{Lo}\\p{N}_-]{0,63}`. * No more than 64 labels can be associated with a given resource. * Keys and values must both be under 128 bytes.", +"type": "object" +}, +"name": { +"description": "The unique name of the instance. Values are of the form `projects/{project}/instances/a-z+[a-z0-9]`.", +"type": "string" +}, +"satisfiesPzi": { +"description": "Output only. Reserved for future use.", +"readOnly": true, +"type": "boolean" +}, +"satisfiesPzs": { +"description": "Output only. Reserved for future use.", +"readOnly": true, +"type": "boolean" +}, +"state": { +"description": "Output only. The current state of the instance.", +"enum": [ +"STATE_NOT_KNOWN", +"READY", +"CREATING" +], +"enumDescriptions": [ +"The state of the instance could not be determined.", +"The instance has been successfully created and can serve requests to its tables.", +"The instance is currently being created, and may be destroyed if the creation process encounters an error." +], +"readOnly": true, +"type": "string" +}, +"type": { +"description": "The type of the instance. Defaults to `PRODUCTION`.", +"enum": [ +"TYPE_UNSPECIFIED", +"PRODUCTION", +"DEVELOPMENT" +], +"enumDescriptions": [ +"The type of the instance is unspecified. If set when creating an instance, a `PRODUCTION` instance will be created. If set when updating an instance, the type will be left unchanged.", +"An instance meant for production use. `serve_nodes` must be set on the cluster.", +"DEPRECATED: Prefer PRODUCTION for all use cases, as it no longer enforces a higher minimum node count than DEVELOPMENT." +], +"type": "string" +} +}, +"type": "object" +}, +"Intersection": { +"description": "A GcRule which deletes cells matching all of the given rules.", +"id": "Intersection", +"properties": { +"rules": { +"description": "Only delete cells which would be deleted by every element of `rules`.", +"items": { +"$ref": "GcRule" +}, +"type": "array" +} +}, +"type": "object" +}, +"ListAppProfilesResponse": { +"description": "Response message for BigtableInstanceAdmin.ListAppProfiles.", +"id": "ListAppProfilesResponse", +"properties": { +"appProfiles": { +"description": "The list of requested app profiles.", +"items": { +"$ref": "AppProfile" +}, +"type": "array" +}, +"failedLocations": { +"description": "Locations from which AppProfile information could not be retrieved, due to an outage or some other transient condition. AppProfiles from these locations may be missing from `app_profiles`. Values are of the form `projects//locations/`", +"items": { +"type": "string" +}, +"type": "array" +}, +"nextPageToken": { +"description": "Set if not all app profiles could be returned in a single response. Pass this value to `page_token` in another request to get the next page of results.", +"type": "string" +} +}, +"type": "object" +}, +"ListAuthorizedViewsResponse": { +"description": "Response message for google.bigtable.admin.v2.BigtableTableAdmin.ListAuthorizedViews", +"id": "ListAuthorizedViewsResponse", +"properties": { +"authorizedViews": { +"description": "The AuthorizedViews present in the requested table.", +"items": { +"$ref": "AuthorizedView" +}, +"type": "array" +}, +"nextPageToken": { +"description": "Set if not all tables could be returned in a single response. Pass this value to `page_token` in another request to get the next page of results.", +"type": "string" +} +}, +"type": "object" +}, +"ListBackupsResponse": { +"description": "The response for ListBackups.", +"id": "ListBackupsResponse", +"properties": { +"backups": { +"description": "The list of matching backups.", +"items": { +"$ref": "Backup" +}, +"type": "array" +}, +"nextPageToken": { +"description": "`next_page_token` can be sent in a subsequent ListBackups call to fetch more of the matching backups.", +"type": "string" +} +}, +"type": "object" +}, +"ListClustersResponse": { +"description": "Response message for BigtableInstanceAdmin.ListClusters.", +"id": "ListClustersResponse", +"properties": { +"clusters": { +"description": "The list of requested clusters.", +"items": { +"$ref": "Cluster" +}, +"type": "array" +}, +"failedLocations": { +"description": "Locations from which Cluster information could not be retrieved, due to an outage or some other transient condition. Clusters from these locations may be missing from `clusters`, or may only have partial information returned. Values are of the form `projects//locations/`", +"items": { +"type": "string" +}, +"type": "array" +}, +"nextPageToken": { +"description": "DEPRECATED: This field is unused and ignored.", +"type": "string" +} +}, +"type": "object" +}, +"ListHotTabletsResponse": { +"description": "Response message for BigtableInstanceAdmin.ListHotTablets.", +"id": "ListHotTabletsResponse", +"properties": { +"hotTablets": { +"description": "List of hot tablets in the tables of the requested cluster that fall within the requested time range. Hot tablets are ordered by node cpu usage percent. If there are multiple hot tablets that correspond to the same tablet within a 15-minute interval, only the hot tablet with the highest node cpu usage will be included in the response.", +"items": { +"$ref": "HotTablet" +}, +"type": "array" +}, +"nextPageToken": { +"description": "Set if not all hot tablets could be returned in a single response. Pass this value to `page_token` in another request to get the next page of results.", +"type": "string" +} +}, +"type": "object" +}, +"ListInstancesResponse": { +"description": "Response message for BigtableInstanceAdmin.ListInstances.", +"id": "ListInstancesResponse", +"properties": { +"failedLocations": { +"description": "Locations from which Instance information could not be retrieved, due to an outage or some other transient condition. Instances whose Clusters are all in one of the failed locations may be missing from `instances`, and Instances with at least one Cluster in a failed location may only have partial information returned. Values are of the form `projects//locations/`", +"items": { +"type": "string" +}, +"type": "array" +}, +"instances": { +"description": "The list of requested instances.", +"items": { +"$ref": "Instance" +}, +"type": "array" +}, +"nextPageToken": { +"description": "DEPRECATED: This field is unused and ignored.", +"type": "string" +} +}, +"type": "object" +}, +"ListLocationsResponse": { +"description": "The response message for Locations.ListLocations.", +"id": "ListLocationsResponse", +"properties": { +"locations": { +"description": "A list of locations that matches the specified filter in the request.", +"items": { +"$ref": "Location" +}, +"type": "array" +}, +"nextPageToken": { +"description": "The standard List next-page token.", +"type": "string" +} +}, +"type": "object" +}, +"ListOperationsResponse": { +"description": "The response message for Operations.ListOperations.", +"id": "ListOperationsResponse", +"properties": { +"nextPageToken": { +"description": "The standard List next-page token.", +"type": "string" +}, +"operations": { +"description": "A list of operations that matches the specified filter in the request.", +"items": { +"$ref": "Operation" +}, +"type": "array" +} +}, +"type": "object" +}, +"ListTablesResponse": { +"description": "Response message for google.bigtable.admin.v2.BigtableTableAdmin.ListTables", +"id": "ListTablesResponse", +"properties": { +"nextPageToken": { +"description": "Set if not all tables could be returned in a single response. Pass this value to `page_token` in another request to get the next page of results.", +"type": "string" +}, +"tables": { +"description": "The tables present in the requested instance.", +"items": { +"$ref": "Table" +}, +"type": "array" +} +}, +"type": "object" +}, +"Location": { +"description": "A resource that represents a Google Cloud location.", +"id": "Location", +"properties": { +"displayName": { +"description": "The friendly name for this location, typically a nearby city name. For example, \"Tokyo\".", +"type": "string" +}, +"labels": { +"additionalProperties": { +"type": "string" +}, +"description": "Cross-service attributes for the location. For example {\"cloud.googleapis.com/region\": \"us-east1\"}", +"type": "object" +}, +"locationId": { +"description": "The canonical id for this location. For example: `\"us-east1\"`.", +"type": "string" +}, +"metadata": { +"additionalProperties": { +"description": "Properties of the object. Contains field @type with type URL.", +"type": "any" +}, +"description": "Service-specific metadata. For example the available capacity at the given location.", +"type": "object" +}, +"name": { +"description": "Resource name for the location, which may vary between implementations. For example: `\"projects/example-project/locations/us-east1\"`", +"type": "string" +} +}, +"type": "object" +}, +"Modification": { +"description": "A create, update, or delete of a particular column family.", +"id": "Modification", +"properties": { +"create": { +"$ref": "ColumnFamily", +"description": "Create a new column family with the specified schema, or fail if one already exists with the given ID." +}, +"drop": { +"description": "Drop (delete) the column family with the given ID, or fail if no such family exists.", +"type": "boolean" +}, +"id": { +"description": "The ID of the column family to be modified.", +"type": "string" +}, +"update": { +"$ref": "ColumnFamily", +"description": "Update an existing column family to the specified schema, or fail if no column family exists with the given ID." +}, +"updateMask": { +"description": "Optional. A mask specifying which fields (e.g. `gc_rule`) in the `update` mod should be updated, ignored for other modification types. If unset or empty, we treat it as updating `gc_rule` to be backward compatible.", +"format": "google-fieldmask", +"type": "string" +} +}, +"type": "object" +}, +"ModifyColumnFamiliesRequest": { +"description": "Request message for google.bigtable.admin.v2.BigtableTableAdmin.ModifyColumnFamilies", +"id": "ModifyColumnFamiliesRequest", +"properties": { +"ignoreWarnings": { +"description": "Optional. If true, ignore safety checks when modifying the column families.", +"type": "boolean" +}, +"modifications": { +"description": "Required. Modifications to be atomically applied to the specified table's families. Entries are applied in order, meaning that earlier modifications can be masked by later ones (in the case of repeated updates to the same family, for example).", +"items": { +"$ref": "Modification" +}, +"type": "array" +} +}, +"type": "object" +}, +"MultiClusterRoutingUseAny": { +"description": "Read/write requests are routed to the nearest cluster in the instance, and will fail over to the nearest cluster that is available in the event of transient errors or delays. Clusters in a region are considered equidistant. Choosing this option sacrifices read-your-writes consistency to improve availability.", +"id": "MultiClusterRoutingUseAny", +"properties": { +"clusterIds": { +"description": "The set of clusters to route to. The order is ignored; clusters will be tried in order of distance. If left empty, all clusters are eligible.", +"items": { +"type": "string" +}, +"type": "array" +}, +"rowAffinity": { +"$ref": "RowAffinity", +"description": "Row affinity sticky routing based on the row key of the request. Requests that span multiple rows are routed non-deterministically." +} +}, +"type": "object" +}, +"Operation": { +"description": "This resource represents a long-running operation that is the result of a network API call.", +"id": "Operation", +"properties": { +"done": { +"description": "If the value is `false`, it means the operation is still in progress. If `true`, the operation is completed, and either `error` or `response` is available.", +"type": "boolean" +}, +"error": { +"$ref": "Status", +"description": "The error result of the operation in case of failure or cancellation." +}, +"metadata": { +"additionalProperties": { +"description": "Properties of the object. Contains field @type with type URL.", +"type": "any" +}, +"description": "Service-specific metadata associated with the operation. It typically contains progress information and common metadata such as create time. Some services might not provide such metadata. Any method that returns a long-running operation should document the metadata type, if any.", +"type": "object" +}, +"name": { +"description": "The server-assigned name, which is only unique within the same service that originally returns it. If you use the default HTTP mapping, the `name` should be a resource name ending with `operations/{unique_id}`.", +"type": "string" +}, +"response": { +"additionalProperties": { +"description": "Properties of the object. Contains field @type with type URL.", +"type": "any" +}, +"description": "The normal, successful response of the operation. If the original method returns no data on success, such as `Delete`, the response is `google.protobuf.Empty`. If the original method is standard `Get`/`Create`/`Update`, the response should be the resource. For other methods, the response should have the type `XxxResponse`, where `Xxx` is the original method name. For example, if the original method name is `TakeSnapshot()`, the inferred response type is `TakeSnapshotResponse`.", +"type": "object" +} +}, +"type": "object" +}, +"OperationProgress": { +"description": "Encapsulates progress related information for a Cloud Bigtable long running operation.", +"id": "OperationProgress", +"properties": { +"endTime": { +"description": "If set, the time at which this operation failed or was completed successfully.", +"format": "google-datetime", +"type": "string" +}, +"progressPercent": { +"description": "Percent completion of the operation. Values are between 0 and 100 inclusive.", +"format": "int32", +"type": "integer" +}, +"startTime": { +"description": "Time the request was received.", +"format": "google-datetime", +"type": "string" +} +}, +"type": "object" +}, +"OptimizeRestoredTableMetadata": { +"description": "Metadata type for the long-running operation used to track the progress of optimizations performed on a newly restored table. This long-running operation is automatically created by the system after the successful completion of a table restore, and cannot be cancelled.", +"id": "OptimizeRestoredTableMetadata", +"properties": { +"name": { +"description": "Name of the restored table being optimized.", +"type": "string" +}, +"progress": { +"$ref": "OperationProgress", +"description": "The progress of the post-restore optimizations." +} +}, +"type": "object" +}, +"PartialUpdateClusterMetadata": { +"description": "The metadata for the Operation returned by PartialUpdateCluster.", +"id": "PartialUpdateClusterMetadata", +"properties": { +"finishTime": { +"description": "The time at which the operation failed or was completed successfully.", +"format": "google-datetime", +"type": "string" +}, +"originalRequest": { +"$ref": "PartialUpdateClusterRequest", +"description": "The original request for PartialUpdateCluster." +}, +"requestTime": { +"description": "The time at which the original request was received.", +"format": "google-datetime", +"type": "string" +} +}, +"type": "object" +}, +"PartialUpdateClusterRequest": { +"description": "Request message for BigtableInstanceAdmin.PartialUpdateCluster.", +"id": "PartialUpdateClusterRequest", +"properties": { +"cluster": { +"$ref": "Cluster", +"description": "Required. The Cluster which contains the partial updates to be applied, subject to the update_mask." +}, +"updateMask": { +"description": "Required. The subset of Cluster fields which should be replaced.", +"format": "google-fieldmask", +"type": "string" +} +}, +"type": "object" +}, +"PartialUpdateInstanceRequest": { +"description": "Request message for BigtableInstanceAdmin.PartialUpdateInstance.", +"id": "PartialUpdateInstanceRequest", +"properties": { +"instance": { +"$ref": "Instance", +"description": "Required. The Instance which will (partially) replace the current value." +}, +"updateMask": { +"description": "Required. The subset of Instance fields which should be replaced. Must be explicitly set.", +"format": "google-fieldmask", +"type": "string" +} +}, +"type": "object" +}, +"Policy": { +"description": "An Identity and Access Management (IAM) policy, which specifies access controls for Google Cloud resources. A `Policy` is a collection of `bindings`. A `binding` binds one or more `members`, or principals, to a single `role`. Principals can be user accounts, service accounts, Google groups, and domains (such as G Suite). A `role` is a named list of permissions; each `role` can be an IAM predefined role or a user-created custom role. For some types of Google Cloud resources, a `binding` can also specify a `condition`, which is a logical expression that allows access to a resource only if the expression evaluates to `true`. A condition can add constraints based on attributes of the request, the resource, or both. To learn which resources support conditions in their IAM policies, see the [IAM documentation](https://cloud.google.com/iam/help/conditions/resource-policies). **JSON example:** ``` { \"bindings\": [ { \"role\": \"roles/resourcemanager.organizationAdmin\", \"members\": [ \"user:mike@example.com\", \"group:admins@example.com\", \"domain:google.com\", \"serviceAccount:my-project-id@appspot.gserviceaccount.com\" ] }, { \"role\": \"roles/resourcemanager.organizationViewer\", \"members\": [ \"user:eve@example.com\" ], \"condition\": { \"title\": \"expirable access\", \"description\": \"Does not grant access after Sep 2020\", \"expression\": \"request.time < timestamp('2020-10-01T00:00:00.000Z')\", } } ], \"etag\": \"BwWWja0YfJA=\", \"version\": 3 } ``` **YAML example:** ``` bindings: - members: - user:mike@example.com - group:admins@example.com - domain:google.com - serviceAccount:my-project-id@appspot.gserviceaccount.com role: roles/resourcemanager.organizationAdmin - members: - user:eve@example.com role: roles/resourcemanager.organizationViewer condition: title: expirable access description: Does not grant access after Sep 2020 expression: request.time < timestamp('2020-10-01T00:00:00.000Z') etag: BwWWja0YfJA= version: 3 ``` For a description of IAM and its features, see the [IAM documentation](https://cloud.google.com/iam/docs/).", +"id": "Policy", +"properties": { +"auditConfigs": { +"description": "Specifies cloud audit logging configuration for this policy.", +"items": { +"$ref": "AuditConfig" +}, +"type": "array" +}, +"bindings": { +"description": "Associates a list of `members`, or principals, with a `role`. Optionally, may specify a `condition` that determines how and when the `bindings` are applied. Each of the `bindings` must contain at least one principal. The `bindings` in a `Policy` can refer to up to 1,500 principals; up to 250 of these principals can be Google groups. Each occurrence of a principal counts towards these limits. For example, if the `bindings` grant 50 different roles to `user:alice@example.com`, and not to any other principal, then you can add another 1,450 principals to the `bindings` in the `Policy`.", +"items": { +"$ref": "Binding" +}, +"type": "array" +}, +"etag": { +"description": "`etag` is used for optimistic concurrency control as a way to help prevent simultaneous updates of a policy from overwriting each other. It is strongly suggested that systems make use of the `etag` in the read-modify-write cycle to perform policy updates in order to avoid race conditions: An `etag` is returned in the response to `getIamPolicy`, and systems are expected to put that etag in the request to `setIamPolicy` to ensure that their change will be applied to the same version of the policy. **Important:** If you use IAM Conditions, you must include the `etag` field whenever you call `setIamPolicy`. If you omit this field, then IAM allows you to overwrite a version `3` policy with a version `1` policy, and all of the conditions in the version `3` policy are lost.", +"format": "byte", +"type": "string" +}, +"version": { +"description": "Specifies the format of the policy. Valid values are `0`, `1`, and `3`. Requests that specify an invalid value are rejected. Any operation that affects conditional role bindings must specify version `3`. This requirement applies to the following operations: * Getting a policy that includes a conditional role binding * Adding a conditional role binding to a policy * Changing a conditional role binding in a policy * Removing any role binding, with or without a condition, from a policy that includes conditions **Important:** If you use IAM Conditions, you must include the `etag` field whenever you call `setIamPolicy`. If you omit this field, then IAM allows you to overwrite a version `3` policy with a version `1` policy, and all of the conditions in the version `3` policy are lost. If a policy does not include any conditions, operations on that policy may specify any valid version or leave the field unset. To learn which resources support conditions in their IAM policies, see the [IAM documentation](https://cloud.google.com/iam/help/conditions/resource-policies).", +"format": "int32", +"type": "integer" +} +}, +"type": "object" +}, +"RestoreInfo": { +"description": "Information about a table restore.", +"id": "RestoreInfo", +"properties": { +"backupInfo": { +"$ref": "BackupInfo", +"description": "Information about the backup used to restore the table. The backup may no longer exist." +}, +"sourceType": { +"description": "The type of the restore source.", +"enum": [ +"RESTORE_SOURCE_TYPE_UNSPECIFIED", +"BACKUP" +], +"enumDescriptions": [ +"No restore associated.", +"A backup was used as the source of the restore." +], +"type": "string" +} +}, +"type": "object" +}, +"RestoreTableMetadata": { +"description": "Metadata type for the long-running operation returned by RestoreTable.", +"id": "RestoreTableMetadata", +"properties": { +"backupInfo": { +"$ref": "BackupInfo" +}, +"name": { +"description": "Name of the table being created and restored to.", +"type": "string" +}, +"optimizeTableOperationName": { +"description": "If exists, the name of the long-running operation that will be used to track the post-restore optimization process to optimize the performance of the restored table. The metadata type of the long-running operation is OptimizeRestoredTableMetadata. The response type is Empty. This long-running operation may be automatically created by the system if applicable after the RestoreTable long-running operation completes successfully. This operation may not be created if the table is already optimized or the restore was not successful.", +"type": "string" +}, +"progress": { +"$ref": "OperationProgress", +"description": "The progress of the RestoreTable operation." +}, +"sourceType": { +"description": "The type of the restore source.", +"enum": [ +"RESTORE_SOURCE_TYPE_UNSPECIFIED", +"BACKUP" +], +"enumDescriptions": [ +"No restore associated.", +"A backup was used as the source of the restore." +], +"type": "string" +} +}, +"type": "object" +}, +"RestoreTableRequest": { +"description": "The request for RestoreTable.", +"id": "RestoreTableRequest", +"properties": { +"backup": { +"description": "Name of the backup from which to restore. Values are of the form `projects//instances//clusters//backups/`.", +"type": "string" +}, +"tableId": { +"description": "Required. The id of the table to create and restore to. This table must not already exist. The `table_id` appended to `parent` forms the full table name of the form `projects//instances//tables/`.", +"type": "string" +} +}, +"type": "object" +}, +"RowAffinity": { +"description": "If enabled, Bigtable will route the request based on the row key of the request, rather than randomly. Instead, each row key will be assigned to a cluster, and will stick to that cluster. If clusters are added or removed, then this may affect which row keys stick to which clusters. To avoid this, users can use a cluster group to specify which clusters are to be used. In this case, new clusters that are not a part of the cluster group will not be routed to, and routing will be unaffected by the new cluster. Moreover, clusters specified in the cluster group cannot be deleted unless removed from the cluster group.", +"id": "RowAffinity", +"properties": {}, +"type": "object" +}, +"SetIamPolicyRequest": { +"description": "Request message for `SetIamPolicy` method.", +"id": "SetIamPolicyRequest", +"properties": { +"policy": { +"$ref": "Policy", +"description": "REQUIRED: The complete policy to be applied to the `resource`. The size of the policy is limited to a few 10s of KB. An empty policy is a valid policy but certain Google Cloud services (such as Projects) might reject them." +}, +"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" +} +}, +"type": "object" +}, +"SingleClusterRouting": { +"description": "Unconditionally routes all read/write requests to a specific cluster. This option preserves read-your-writes consistency but does not improve availability.", +"id": "SingleClusterRouting", +"properties": { +"allowTransactionalWrites": { +"description": "Whether or not `CheckAndMutateRow` and `ReadModifyWriteRow` requests are allowed by this app profile. It is unsafe to send these requests to the same table/row/column in multiple clusters.", +"type": "boolean" +}, +"clusterId": { +"description": "The cluster to which read/write requests should be routed.", +"type": "string" +} +}, +"type": "object" +}, +"Split": { +"description": "An initial split point for a newly created table.", +"id": "Split", +"properties": { +"key": { +"description": "Row key to use as an initial tablet boundary.", +"format": "byte", +"type": "string" +} +}, +"type": "object" +}, +"StandardIsolation": { +"description": "Standard options for isolating this app profile's traffic from other use cases.", +"id": "StandardIsolation", +"properties": { +"priority": { +"description": "The priority of requests sent using this app profile.", +"enum": [ +"PRIORITY_UNSPECIFIED", +"PRIORITY_LOW", +"PRIORITY_MEDIUM", +"PRIORITY_HIGH" +], +"enumDescriptions": [ +"Default value. Mapped to PRIORITY_HIGH (the legacy behavior) on creation.", +"", +"", +"" +], +"type": "string" +} +}, +"type": "object" +}, +"StandardReadRemoteWrites": { +"description": "Checks that all writes before the consistency token was generated are replicated in every cluster and readable.", +"id": "StandardReadRemoteWrites", +"properties": {}, +"type": "object" +}, +"Status": { +"description": "The `Status` type defines a logical error model that is suitable for different programming environments, including REST APIs and RPC APIs. It is used by [gRPC](https://github.com/grpc). Each `Status` message contains three pieces of data: error code, error message, and error details. You can find out more about this error model and how to work with it in the [API Design Guide](https://cloud.google.com/apis/design/errors).", +"id": "Status", +"properties": { +"code": { +"description": "The status code, which should be an enum value of google.rpc.Code.", +"format": "int32", +"type": "integer" +}, +"details": { +"description": "A list of messages that carry the error details. There is a common set of message types for APIs to use.", +"items": { +"additionalProperties": { +"description": "Properties of the object. Contains field @type with type URL.", +"type": "any" +}, +"type": "object" +}, +"type": "array" +}, +"message": { +"description": "A developer-facing error message, which should be in English. Any user-facing error message should be localized and sent in the google.rpc.Status.details field, or localized by the client.", +"type": "string" +} +}, +"type": "object" +}, +"Table": { +"description": "A collection of user data indexed by row, column, and timestamp. Each table is served using the resources of its parent cluster.", +"id": "Table", +"properties": { +"automatedBackupPolicy": { +"$ref": "AutomatedBackupPolicy", +"description": "If specified, automated backups are enabled for this table. Otherwise, automated backups are disabled." +}, +"changeStreamConfig": { +"$ref": "ChangeStreamConfig", +"description": "If specified, enable the change stream on this table. Otherwise, the change stream is disabled and the change stream is not retained." +}, +"clusterStates": { +"additionalProperties": { +"$ref": "ClusterState" +}, +"description": "Output only. Map from cluster ID to per-cluster table state. If it could not be determined whether or not the table has data in a particular cluster (for example, if its zone is unavailable), then there will be an entry for the cluster with UNKNOWN `replication_status`. Views: `REPLICATION_VIEW`, `ENCRYPTION_VIEW`, `FULL`", +"readOnly": true, +"type": "object" +}, +"columnFamilies": { +"additionalProperties": { +"$ref": "ColumnFamily" +}, +"description": "The column families configured for this table, mapped by column family ID. Views: `SCHEMA_VIEW`, `STATS_VIEW`, `FULL`", +"type": "object" +}, +"deletionProtection": { +"description": "Set to true to make the table protected against data loss. i.e. deleting the following resources through Admin APIs are prohibited: * The table. * The column families in the table. * The instance containing the table. Note one can still delete the data stored in the table through Data APIs.", +"type": "boolean" +}, +"granularity": { +"description": "Immutable. The granularity (i.e. `MILLIS`) at which timestamps are stored in this table. Timestamps not matching the granularity will be rejected. If unspecified at creation time, the value will be set to `MILLIS`. Views: `SCHEMA_VIEW`, `FULL`.", +"enum": [ +"TIMESTAMP_GRANULARITY_UNSPECIFIED", +"MILLIS" +], +"enumDescriptions": [ +"The user did not specify a granularity. Should not be returned. When specified during table creation, MILLIS will be used.", +"The table keeps data versioned at a granularity of 1ms." +], +"type": "string" +}, +"name": { +"description": "The unique name of the table. Values are of the form `projects/{project}/instances/{instance}/tables/_a-zA-Z0-9*`. Views: `NAME_ONLY`, `SCHEMA_VIEW`, `REPLICATION_VIEW`, `STATS_VIEW`, `FULL`", +"type": "string" +}, +"restoreInfo": { +"$ref": "RestoreInfo", +"description": "Output only. If this table was restored from another data source (e.g. a backup), this field will be populated with information about the restore.", +"readOnly": true +}, +"stats": { +"$ref": "TableStats", +"description": "Output only. Only available with STATS_VIEW, this includes summary statistics about the entire table contents. For statistics about a specific column family, see ColumnFamilyStats in the mapped ColumnFamily collection above.", +"readOnly": true +} +}, +"type": "object" +}, +"TableProgress": { +"description": "Progress info for copying a table's data to the new cluster.", +"id": "TableProgress", +"properties": { +"estimatedCopiedBytes": { +"description": "Estimate of the number of bytes copied so far for this table. This will eventually reach 'estimated_size_bytes' unless the table copy is CANCELLED.", +"format": "int64", +"type": "string" +}, +"estimatedSizeBytes": { +"description": "Estimate of the size of the table to be copied.", +"format": "int64", +"type": "string" +}, +"state": { +"enum": [ +"STATE_UNSPECIFIED", +"PENDING", +"COPYING", +"COMPLETED", +"CANCELLED" +], +"enumDescriptions": [ +"", +"The table has not yet begun copying to the new cluster.", +"The table is actively being copied to the new cluster.", +"The table has been fully copied to the new cluster.", +"The table was deleted before it finished copying to the new cluster. Note that tables deleted after completion will stay marked as COMPLETED, not CANCELLED." +], +"type": "string" +} +}, +"type": "object" +}, +"TableStats": { +"description": "Approximate statistics related to a table. These statistics are calculated infrequently, while simultaneously, data in the table can change rapidly. Thus the values reported here (e.g. row count) are very likely out-of date, even the instant they are received in this API. Thus, only treat these values as approximate. IMPORTANT: Everything below is approximate, unless otherwise specified.", +"id": "TableStats", +"properties": { +"averageCellsPerColumn": { +"description": "How many cells are present per column (column family, column qualifier) combinations, averaged over all columns in all rows in the table. e.g. A table with 2 rows: * A row with 3 cells in \"family:col\" and 1 cell in \"other:col\" (4 cells / 2 columns) * A row with 1 cell in \"family:col\", 7 cells in \"family:other_col\", and 7 cells in \"other:data\" (15 cells / 3 columns) would report (4 + 15)/(2 + 3) = 3.8 in this field.", +"format": "double", +"type": "number" +}, +"averageColumnsPerRow": { +"description": "How many (column family, column qualifier) combinations are present per row in the table, averaged over all rows in the table. e.g. A table with 2 rows: * A row with cells in \"family:col\" and \"other:col\" (2 distinct columns) * A row with cells in \"family:col\", \"family:other_col\", and \"other:data\" (3 distinct columns) would report (2 + 3)/2 = 2.5 in this field.", +"format": "double", +"type": "number" +}, +"logicalDataBytes": { +"description": "This is roughly how many bytes would be needed to read the entire table (e.g. by streaming all contents out).", +"format": "int64", +"type": "string" +}, +"rowCount": { +"description": "How many rows are in the table.", +"format": "int64", +"type": "string" +} +}, +"type": "object" +}, +"TestIamPermissionsRequest": { +"description": "Request message for `TestIamPermissions` method.", +"id": "TestIamPermissionsRequest", +"properties": { +"permissions": { +"description": "The set of permissions to check for the `resource`. Permissions with wildcards (such as `*` or `storage.*`) are not allowed. For more information see [IAM Overview](https://cloud.google.com/iam/docs/overview#permissions).", +"items": { +"type": "string" +}, +"type": "array" +} +}, +"type": "object" +}, +"TestIamPermissionsResponse": { +"description": "Response message for `TestIamPermissions` method.", +"id": "TestIamPermissionsResponse", +"properties": { +"permissions": { +"description": "A subset of `TestPermissionsRequest.permissions` that the caller is allowed.", +"items": { +"type": "string" +}, +"type": "array" +} +}, +"type": "object" +}, +"Type": { +"description": "`Type` represents the type of data that is written to, read from, or stored in Bigtable. It is heavily based on the GoogleSQL standard to help maintain familiarity and consistency across products and features. For compatibility with Bigtable's existing untyped APIs, each `Type` includes an `Encoding` which describes how to convert to or from the underlying data. Each encoding can operate in one of two modes: - Sorted: In this mode, Bigtable guarantees that `Encode(X) <= Encode(Y)` if and only if `X <= Y`. This is useful anywhere sort order is important, for example when encoding keys. - Distinct: In this mode, Bigtable guarantees that if `X != Y` then `Encode(X) != Encode(Y)`. However, the converse is not guaranteed. For example, both \"{'foo': '1', 'bar': '2'}\" and \"{'bar': '2', 'foo': '1'}\" are valid encodings of the same JSON value. The API clearly documents which mode is used wherever an encoding can be configured. Each encoding also documents which values are supported in which modes. For example, when encoding INT64 as a numeric STRING, negative numbers cannot be encoded in sorted mode. This is because `INT64(1) > INT64(-1)`, but `STRING(\"-00001\") > STRING(\"00001\")`.", +"id": "Type", +"properties": { +"aggregateType": { +"$ref": "GoogleBigtableAdminV2TypeAggregate", +"description": "Aggregate" +}, +"arrayType": { +"$ref": "GoogleBigtableAdminV2TypeArray", +"description": "Array" +}, +"boolType": { +"$ref": "GoogleBigtableAdminV2TypeBool", +"description": "Bool" +}, +"bytesType": { +"$ref": "GoogleBigtableAdminV2TypeBytes", +"description": "Bytes" +}, +"dateType": { +"$ref": "GoogleBigtableAdminV2TypeDate", +"description": "Date" +}, +"float32Type": { +"$ref": "GoogleBigtableAdminV2TypeFloat32", +"description": "Float32" +}, +"float64Type": { +"$ref": "GoogleBigtableAdminV2TypeFloat64", +"description": "Float64" +}, +"int64Type": { +"$ref": "GoogleBigtableAdminV2TypeInt64", +"description": "Int64" +}, +"mapType": { +"$ref": "GoogleBigtableAdminV2TypeMap", +"description": "Map" +}, +"stringType": { +"$ref": "GoogleBigtableAdminV2TypeString", +"description": "String" +}, +"structType": { +"$ref": "GoogleBigtableAdminV2TypeStruct", +"description": "Struct" +}, +"timestampType": { +"$ref": "GoogleBigtableAdminV2TypeTimestamp", +"description": "Timestamp" +} +}, +"type": "object" +}, +"UndeleteTableMetadata": { +"description": "Metadata type for the operation returned by google.bigtable.admin.v2.BigtableTableAdmin.UndeleteTable.", +"id": "UndeleteTableMetadata", +"properties": { +"endTime": { +"description": "If set, the time at which this operation finished or was cancelled.", +"format": "google-datetime", +"type": "string" +}, +"name": { +"description": "The name of the table being restored.", +"type": "string" +}, +"startTime": { +"description": "The time at which this operation started.", +"format": "google-datetime", +"type": "string" +} +}, +"type": "object" +}, +"UndeleteTableRequest": { +"description": "Request message for google.bigtable.admin.v2.BigtableTableAdmin.UndeleteTable", +"id": "UndeleteTableRequest", +"properties": {}, +"type": "object" +}, +"Union": { +"description": "A GcRule which deletes cells matching any of the given rules.", +"id": "Union", +"properties": { +"rules": { +"description": "Delete cells which would be deleted by any element of `rules`.", +"items": { +"$ref": "GcRule" +}, +"type": "array" +} +}, +"type": "object" +}, +"UpdateAppProfileMetadata": { +"description": "The metadata for the Operation returned by UpdateAppProfile.", +"id": "UpdateAppProfileMetadata", +"properties": {}, +"type": "object" +}, +"UpdateAuthorizedViewMetadata": { +"description": "Metadata for the google.longrunning.Operation returned by UpdateAuthorizedView.", +"id": "UpdateAuthorizedViewMetadata", +"properties": { +"finishTime": { +"description": "The time at which the operation failed or was completed successfully.", +"format": "google-datetime", +"type": "string" +}, +"originalRequest": { +"$ref": "UpdateAuthorizedViewRequest", +"description": "The request that prompted the initiation of this UpdateAuthorizedView operation." +}, +"requestTime": { +"description": "The time at which the original request was received.", +"format": "google-datetime", +"type": "string" +} +}, +"type": "object" +}, +"UpdateAuthorizedViewRequest": { +"description": "The request for UpdateAuthorizedView.", +"id": "UpdateAuthorizedViewRequest", +"properties": { +"authorizedView": { +"$ref": "AuthorizedView", +"description": "Required. The AuthorizedView to update. The `name` in `authorized_view` is used to identify the AuthorizedView. AuthorizedView name must in this format: `projects/{project}/instances/{instance}/tables/{table}/authorizedViews/{authorized_view}`." +}, +"ignoreWarnings": { +"description": "Optional. If true, ignore the safety checks when updating the AuthorizedView.", +"type": "boolean" +}, +"updateMask": { +"description": "Optional. The list of fields to update. A mask specifying which fields in the AuthorizedView resource should be updated. This mask is relative to the AuthorizedView resource, not to the request message. A field will be overwritten if it is in the mask. If empty, all fields set in the request will be overwritten. A special value `*` means to overwrite all fields (including fields not set in the request).", +"format": "google-fieldmask", +"type": "string" +} +}, +"type": "object" +}, +"UpdateClusterMetadata": { +"description": "The metadata for the Operation returned by UpdateCluster.", +"id": "UpdateClusterMetadata", +"properties": { +"finishTime": { +"description": "The time at which the operation failed or was completed successfully.", +"format": "google-datetime", +"type": "string" +}, +"originalRequest": { +"$ref": "Cluster", +"description": "The request that prompted the initiation of this UpdateCluster operation." +}, +"requestTime": { +"description": "The time at which the original request was received.", +"format": "google-datetime", +"type": "string" +} +}, +"type": "object" +}, +"UpdateInstanceMetadata": { +"description": "The metadata for the Operation returned by UpdateInstance.", +"id": "UpdateInstanceMetadata", +"properties": { +"finishTime": { +"description": "The time at which the operation failed or was completed successfully.", +"format": "google-datetime", +"type": "string" +}, +"originalRequest": { +"$ref": "PartialUpdateInstanceRequest", +"description": "The request that prompted the initiation of this UpdateInstance operation." +}, +"requestTime": { +"description": "The time at which the original request was received.", +"format": "google-datetime", +"type": "string" +} +}, +"type": "object" +}, +"UpdateTableMetadata": { +"description": "Metadata type for the operation returned by UpdateTable.", +"id": "UpdateTableMetadata", +"properties": { +"endTime": { +"description": "If set, the time at which this operation finished or was canceled.", +"format": "google-datetime", +"type": "string" +}, +"name": { +"description": "The name of the table being updated.", +"type": "string" +}, +"startTime": { +"description": "The time at which this operation started.", +"format": "google-datetime", +"type": "string" +} +}, +"type": "object" +} +}, +"servicePath": "", +"title": "Cloud Bigtable Admin API", +"version": "v2", +"version_module": true +} \ No newline at end of file diff --git a/.venv/lib/python3.11/site-packages/googleapiclient/discovery_cache/documents/blogger.v3.json b/.venv/lib/python3.11/site-packages/googleapiclient/discovery_cache/documents/blogger.v3.json new file mode 100644 index 0000000000000000000000000000000000000000..67ec66758701c1540fdff341576ae1c9535004a2 --- /dev/null +++ b/.venv/lib/python3.11/site-packages/googleapiclient/discovery_cache/documents/blogger.v3.json @@ -0,0 +1,2554 @@ +{ +"auth": { +"oauth2": { +"scopes": { +"https://www.googleapis.com/auth/blogger": { +"description": "Manage your Blogger account" +}, +"https://www.googleapis.com/auth/blogger.readonly": { +"description": "View your Blogger account" +} +} +} +}, +"basePath": "", +"baseUrl": "https://blogger.googleapis.com/", +"batchPath": "batch", +"canonicalName": "Blogger", +"description": "The Blogger API provides access to posts, comments and pages of a Blogger blog.", +"discoveryVersion": "v1", +"documentationLink": "https://developers.google.com/blogger/docs/3.0/getting_started", +"fullyEncodeReservedExpansion": true, +"icons": { +"x16": "http://www.google.com/images/icons/product/search-16.gif", +"x32": "http://www.google.com/images/icons/product/search-32.gif" +}, +"id": "blogger:v3", +"kind": "discovery#restDescription", +"mtlsRootUrl": "https://blogger.mtls.googleapis.com/", +"name": "blogger", +"ownerDomain": "google.com", +"ownerName": "Google", +"parameters": { +"$.xgafv": { +"description": "V1 error format.", +"enum": [ +"1", +"2" +], +"enumDescriptions": [ +"v1 error format", +"v2 error format" +], +"location": "query", +"type": "string" +}, +"access_token": { +"description": "OAuth access token.", +"location": "query", +"type": "string" +}, +"alt": { +"default": "json", +"description": "Data format for response.", +"enum": [ +"json", +"media", +"proto" +], +"enumDescriptions": [ +"Responses with Content-Type of application/json", +"Media download with context-dependent Content-Type", +"Responses with Content-Type of application/x-protobuf" +], +"location": "query", +"type": "string" +}, +"callback": { +"description": "JSONP", +"location": "query", +"type": "string" +}, +"fields": { +"description": "Selector specifying which fields to include in a partial response.", +"location": "query", +"type": "string" +}, +"key": { +"description": "API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token.", +"location": "query", +"type": "string" +}, +"oauth_token": { +"description": "OAuth 2.0 token for the current user.", +"location": "query", +"type": "string" +}, +"prettyPrint": { +"default": "true", +"description": "Returns response with indentations and line breaks.", +"location": "query", +"type": "boolean" +}, +"quotaUser": { +"description": "Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters.", +"location": "query", +"type": "string" +}, +"uploadType": { +"description": "Legacy upload protocol for media (e.g. \"media\", \"multipart\").", +"location": "query", +"type": "string" +}, +"upload_protocol": { +"description": "Upload protocol for media (e.g. \"raw\", \"multipart\").", +"location": "query", +"type": "string" +} +}, +"protocol": "rest", +"resources": { +"blogUserInfos": { +"methods": { +"get": { +"description": "Gets one blog and user info pair by blog id and user id.", +"flatPath": "v3/users/{userId}/blogs/{blogId}", +"httpMethod": "GET", +"id": "blogger.blogUserInfos.get", +"parameterOrder": [ +"userId", +"blogId" +], +"parameters": { +"blogId": { +"location": "path", +"required": true, +"type": "string" +}, +"maxPosts": { +"format": "uint32", +"location": "query", +"type": "integer" +}, +"userId": { +"location": "path", +"required": true, +"type": "string" +} +}, +"path": "v3/users/{userId}/blogs/{blogId}", +"response": { +"$ref": "BlogUserInfo" +}, +"scopes": [ +"https://www.googleapis.com/auth/blogger", +"https://www.googleapis.com/auth/blogger.readonly" +] +} +} +}, +"blogs": { +"methods": { +"get": { +"description": "Gets a blog by id.", +"flatPath": "v3/blogs/{blogId}", +"httpMethod": "GET", +"id": "blogger.blogs.get", +"parameterOrder": [ +"blogId" +], +"parameters": { +"blogId": { +"location": "path", +"required": true, +"type": "string" +}, +"maxPosts": { +"format": "uint32", +"location": "query", +"type": "integer" +}, +"view": { +"enum": [ +"VIEW_TYPE_UNSPECIFIED", +"READER", +"AUTHOR", +"ADMIN" +], +"enumDescriptions": [ +"", +"", +"", +"" +], +"location": "query", +"type": "string" +} +}, +"path": "v3/blogs/{blogId}", +"response": { +"$ref": "Blog" +}, +"scopes": [ +"https://www.googleapis.com/auth/blogger", +"https://www.googleapis.com/auth/blogger.readonly" +] +}, +"getByUrl": { +"description": "Gets a blog by url.", +"flatPath": "v3/blogs/byurl", +"httpMethod": "GET", +"id": "blogger.blogs.getByUrl", +"parameterOrder": [ +"url" +], +"parameters": { +"url": { +"location": "query", +"required": true, +"type": "string" +}, +"view": { +"enum": [ +"VIEW_TYPE_UNSPECIFIED", +"READER", +"AUTHOR", +"ADMIN" +], +"enumDescriptions": [ +"", +"", +"", +"" +], +"location": "query", +"type": "string" +} +}, +"path": "v3/blogs/byurl", +"response": { +"$ref": "Blog" +}, +"scopes": [ +"https://www.googleapis.com/auth/blogger", +"https://www.googleapis.com/auth/blogger.readonly" +] +}, +"listByUser": { +"description": "Lists blogs by user.", +"flatPath": "v3/users/{userId}/blogs", +"httpMethod": "GET", +"id": "blogger.blogs.listByUser", +"parameterOrder": [ +"userId" +], +"parameters": { +"fetchUserInfo": { +"location": "query", +"type": "boolean" +}, +"role": { +"enum": [ +"VIEW_TYPE_UNSPECIFIED", +"READER", +"AUTHOR", +"ADMIN" +], +"enumDescriptions": [ +"", +"", +"", +"" +], +"location": "query", +"repeated": true, +"type": "string" +}, +"status": { +"default": "LIVE", +"description": "Default value of status is LIVE.", +"enum": [ +"LIVE", +"DELETED" +], +"enumDescriptions": [ +"", +"" +], +"location": "query", +"repeated": true, +"type": "string" +}, +"userId": { +"location": "path", +"required": true, +"type": "string" +}, +"view": { +"enum": [ +"VIEW_TYPE_UNSPECIFIED", +"READER", +"AUTHOR", +"ADMIN" +], +"enumDescriptions": [ +"", +"", +"", +"" +], +"location": "query", +"type": "string" +} +}, +"path": "v3/users/{userId}/blogs", +"response": { +"$ref": "BlogList" +}, +"scopes": [ +"https://www.googleapis.com/auth/blogger", +"https://www.googleapis.com/auth/blogger.readonly" +] +} +} +}, +"comments": { +"methods": { +"approve": { +"description": "Marks a comment as not spam by blog id, post id and comment id.", +"flatPath": "v3/blogs/{blogId}/posts/{postId}/comments/{commentId}/approve", +"httpMethod": "POST", +"id": "blogger.comments.approve", +"parameterOrder": [ +"blogId", +"postId", +"commentId" +], +"parameters": { +"blogId": { +"location": "path", +"required": true, +"type": "string" +}, +"commentId": { +"location": "path", +"required": true, +"type": "string" +}, +"postId": { +"location": "path", +"required": true, +"type": "string" +} +}, +"path": "v3/blogs/{blogId}/posts/{postId}/comments/{commentId}/approve", +"response": { +"$ref": "Comment" +}, +"scopes": [ +"https://www.googleapis.com/auth/blogger" +] +}, +"delete": { +"description": "Deletes a comment by blog id, post id and comment id.", +"flatPath": "v3/blogs/{blogId}/posts/{postId}/comments/{commentId}", +"httpMethod": "DELETE", +"id": "blogger.comments.delete", +"parameterOrder": [ +"blogId", +"postId", +"commentId" +], +"parameters": { +"blogId": { +"location": "path", +"required": true, +"type": "string" +}, +"commentId": { +"location": "path", +"required": true, +"type": "string" +}, +"postId": { +"location": "path", +"required": true, +"type": "string" +} +}, +"path": "v3/blogs/{blogId}/posts/{postId}/comments/{commentId}", +"scopes": [ +"https://www.googleapis.com/auth/blogger" +] +}, +"get": { +"description": "Gets a comment by id.", +"flatPath": "v3/blogs/{blogId}/posts/{postId}/comments/{commentId}", +"httpMethod": "GET", +"id": "blogger.comments.get", +"parameterOrder": [ +"blogId", +"postId", +"commentId" +], +"parameters": { +"blogId": { +"location": "path", +"required": true, +"type": "string" +}, +"commentId": { +"location": "path", +"required": true, +"type": "string" +}, +"postId": { +"location": "path", +"required": true, +"type": "string" +}, +"view": { +"enum": [ +"VIEW_TYPE_UNSPECIFIED", +"READER", +"AUTHOR", +"ADMIN" +], +"enumDescriptions": [ +"", +"", +"", +"" +], +"location": "query", +"type": "string" +} +}, +"path": "v3/blogs/{blogId}/posts/{postId}/comments/{commentId}", +"response": { +"$ref": "Comment" +}, +"scopes": [ +"https://www.googleapis.com/auth/blogger", +"https://www.googleapis.com/auth/blogger.readonly" +] +}, +"list": { +"description": "Lists comments.", +"flatPath": "v3/blogs/{blogId}/posts/{postId}/comments", +"httpMethod": "GET", +"id": "blogger.comments.list", +"parameterOrder": [ +"blogId", +"postId" +], +"parameters": { +"blogId": { +"location": "path", +"required": true, +"type": "string" +}, +"endDate": { +"location": "query", +"type": "string" +}, +"fetchBodies": { +"location": "query", +"type": "boolean" +}, +"maxResults": { +"format": "uint32", +"location": "query", +"type": "integer" +}, +"pageToken": { +"location": "query", +"type": "string" +}, +"postId": { +"location": "path", +"required": true, +"type": "string" +}, +"startDate": { +"location": "query", +"type": "string" +}, +"status": { +"enum": [ +"LIVE", +"EMPTIED", +"PENDING", +"SPAM" +], +"enumDescriptions": [ +"", +"", +"", +"" +], +"location": "query", +"type": "string" +}, +"view": { +"enum": [ +"VIEW_TYPE_UNSPECIFIED", +"READER", +"AUTHOR", +"ADMIN" +], +"enumDescriptions": [ +"", +"", +"", +"" +], +"location": "query", +"type": "string" +} +}, +"path": "v3/blogs/{blogId}/posts/{postId}/comments", +"response": { +"$ref": "CommentList" +}, +"scopes": [ +"https://www.googleapis.com/auth/blogger", +"https://www.googleapis.com/auth/blogger.readonly" +] +}, +"listByBlog": { +"description": "Lists comments by blog.", +"flatPath": "v3/blogs/{blogId}/comments", +"httpMethod": "GET", +"id": "blogger.comments.listByBlog", +"parameterOrder": [ +"blogId" +], +"parameters": { +"blogId": { +"location": "path", +"required": true, +"type": "string" +}, +"endDate": { +"location": "query", +"type": "string" +}, +"fetchBodies": { +"location": "query", +"type": "boolean" +}, +"maxResults": { +"format": "uint32", +"location": "query", +"type": "integer" +}, +"pageToken": { +"location": "query", +"type": "string" +}, +"startDate": { +"location": "query", +"type": "string" +}, +"status": { +"enum": [ +"LIVE", +"EMPTIED", +"PENDING", +"SPAM" +], +"enumDescriptions": [ +"", +"", +"", +"" +], +"location": "query", +"repeated": true, +"type": "string" +} +}, +"path": "v3/blogs/{blogId}/comments", +"response": { +"$ref": "CommentList" +}, +"scopes": [ +"https://www.googleapis.com/auth/blogger", +"https://www.googleapis.com/auth/blogger.readonly" +] +}, +"markAsSpam": { +"description": "Marks a comment as spam by blog id, post id and comment id.", +"flatPath": "v3/blogs/{blogId}/posts/{postId}/comments/{commentId}/spam", +"httpMethod": "POST", +"id": "blogger.comments.markAsSpam", +"parameterOrder": [ +"blogId", +"postId", +"commentId" +], +"parameters": { +"blogId": { +"location": "path", +"required": true, +"type": "string" +}, +"commentId": { +"location": "path", +"required": true, +"type": "string" +}, +"postId": { +"location": "path", +"required": true, +"type": "string" +} +}, +"path": "v3/blogs/{blogId}/posts/{postId}/comments/{commentId}/spam", +"response": { +"$ref": "Comment" +}, +"scopes": [ +"https://www.googleapis.com/auth/blogger" +] +}, +"removeContent": { +"description": "Removes the content of a comment by blog id, post id and comment id.", +"flatPath": "v3/blogs/{blogId}/posts/{postId}/comments/{commentId}/removecontent", +"httpMethod": "POST", +"id": "blogger.comments.removeContent", +"parameterOrder": [ +"blogId", +"postId", +"commentId" +], +"parameters": { +"blogId": { +"location": "path", +"required": true, +"type": "string" +}, +"commentId": { +"location": "path", +"required": true, +"type": "string" +}, +"postId": { +"location": "path", +"required": true, +"type": "string" +} +}, +"path": "v3/blogs/{blogId}/posts/{postId}/comments/{commentId}/removecontent", +"response": { +"$ref": "Comment" +}, +"scopes": [ +"https://www.googleapis.com/auth/blogger" +] +} +} +}, +"pageViews": { +"methods": { +"get": { +"description": "Gets page views by blog id.", +"flatPath": "v3/blogs/{blogId}/pageviews", +"httpMethod": "GET", +"id": "blogger.pageViews.get", +"parameterOrder": [ +"blogId" +], +"parameters": { +"blogId": { +"location": "path", +"required": true, +"type": "string" +}, +"range": { +"enum": [ +"all", +"30DAYS", +"7DAYS" +], +"enumDescriptions": [ +"", +"", +"" +], +"location": "query", +"repeated": true, +"type": "string" +} +}, +"path": "v3/blogs/{blogId}/pageviews", +"response": { +"$ref": "Pageviews" +}, +"scopes": [ +"https://www.googleapis.com/auth/blogger" +] +} +} +}, +"pages": { +"methods": { +"delete": { +"description": "Deletes a page by blog id and page id.", +"flatPath": "v3/blogs/{blogId}/pages/{pageId}", +"httpMethod": "DELETE", +"id": "blogger.pages.delete", +"parameterOrder": [ +"blogId", +"pageId" +], +"parameters": { +"blogId": { +"location": "path", +"required": true, +"type": "string" +}, +"pageId": { +"location": "path", +"required": true, +"type": "string" +}, +"useTrash": { +"description": "Move to Trash if possible", +"location": "query", +"type": "boolean" +} +}, +"path": "v3/blogs/{blogId}/pages/{pageId}", +"scopes": [ +"https://www.googleapis.com/auth/blogger" +] +}, +"get": { +"description": "Gets a page by blog id and page id.", +"flatPath": "v3/blogs/{blogId}/pages/{pageId}", +"httpMethod": "GET", +"id": "blogger.pages.get", +"parameterOrder": [ +"blogId", +"pageId" +], +"parameters": { +"blogId": { +"location": "path", +"required": true, +"type": "string" +}, +"pageId": { +"location": "path", +"required": true, +"type": "string" +}, +"view": { +"enum": [ +"VIEW_TYPE_UNSPECIFIED", +"READER", +"AUTHOR", +"ADMIN" +], +"enumDescriptions": [ +"", +"", +"", +"" +], +"location": "query", +"type": "string" +} +}, +"path": "v3/blogs/{blogId}/pages/{pageId}", +"response": { +"$ref": "Page" +}, +"scopes": [ +"https://www.googleapis.com/auth/blogger", +"https://www.googleapis.com/auth/blogger.readonly" +] +}, +"insert": { +"description": "Inserts a page.", +"flatPath": "v3/blogs/{blogId}/pages", +"httpMethod": "POST", +"id": "blogger.pages.insert", +"parameterOrder": [ +"blogId" +], +"parameters": { +"blogId": { +"location": "path", +"required": true, +"type": "string" +}, +"isDraft": { +"location": "query", +"type": "boolean" +} +}, +"path": "v3/blogs/{blogId}/pages", +"request": { +"$ref": "Page" +}, +"response": { +"$ref": "Page" +}, +"scopes": [ +"https://www.googleapis.com/auth/blogger" +] +}, +"list": { +"description": "Lists pages.", +"flatPath": "v3/blogs/{blogId}/pages", +"httpMethod": "GET", +"id": "blogger.pages.list", +"parameterOrder": [ +"blogId" +], +"parameters": { +"blogId": { +"location": "path", +"required": true, +"type": "string" +}, +"fetchBodies": { +"location": "query", +"type": "boolean" +}, +"maxResults": { +"format": "uint32", +"location": "query", +"type": "integer" +}, +"pageToken": { +"location": "query", +"type": "string" +}, +"status": { +"enum": [ +"LIVE", +"DRAFT", +"SOFT_TRASHED" +], +"enumDescriptions": [ +"", +"", +"" +], +"location": "query", +"repeated": true, +"type": "string" +}, +"view": { +"enum": [ +"VIEW_TYPE_UNSPECIFIED", +"READER", +"AUTHOR", +"ADMIN" +], +"enumDescriptions": [ +"", +"", +"", +"" +], +"location": "query", +"type": "string" +} +}, +"path": "v3/blogs/{blogId}/pages", +"response": { +"$ref": "PageList" +}, +"scopes": [ +"https://www.googleapis.com/auth/blogger", +"https://www.googleapis.com/auth/blogger.readonly" +] +}, +"patch": { +"description": "Patches a page.", +"flatPath": "v3/blogs/{blogId}/pages/{pageId}", +"httpMethod": "PATCH", +"id": "blogger.pages.patch", +"parameterOrder": [ +"blogId", +"pageId" +], +"parameters": { +"blogId": { +"location": "path", +"required": true, +"type": "string" +}, +"pageId": { +"location": "path", +"required": true, +"type": "string" +}, +"publish": { +"location": "query", +"type": "boolean" +}, +"revert": { +"location": "query", +"type": "boolean" +} +}, +"path": "v3/blogs/{blogId}/pages/{pageId}", +"request": { +"$ref": "Page" +}, +"response": { +"$ref": "Page" +}, +"scopes": [ +"https://www.googleapis.com/auth/blogger" +] +}, +"publish": { +"description": "Publishes a page.", +"flatPath": "v3/blogs/{blogId}/pages/{pageId}/publish", +"httpMethod": "POST", +"id": "blogger.pages.publish", +"parameterOrder": [ +"blogId", +"pageId" +], +"parameters": { +"blogId": { +"location": "path", +"required": true, +"type": "string" +}, +"pageId": { +"location": "path", +"required": true, +"type": "string" +} +}, +"path": "v3/blogs/{blogId}/pages/{pageId}/publish", +"response": { +"$ref": "Page" +}, +"scopes": [ +"https://www.googleapis.com/auth/blogger" +] +}, +"revert": { +"description": "Reverts a published or scheduled page to draft state.", +"flatPath": "v3/blogs/{blogId}/pages/{pageId}/revert", +"httpMethod": "POST", +"id": "blogger.pages.revert", +"parameterOrder": [ +"blogId", +"pageId" +], +"parameters": { +"blogId": { +"location": "path", +"required": true, +"type": "string" +}, +"pageId": { +"location": "path", +"required": true, +"type": "string" +} +}, +"path": "v3/blogs/{blogId}/pages/{pageId}/revert", +"response": { +"$ref": "Page" +}, +"scopes": [ +"https://www.googleapis.com/auth/blogger" +] +}, +"update": { +"description": "Updates a page by blog id and page id.", +"flatPath": "v3/blogs/{blogId}/pages/{pageId}", +"httpMethod": "PUT", +"id": "blogger.pages.update", +"parameterOrder": [ +"blogId", +"pageId" +], +"parameters": { +"blogId": { +"location": "path", +"required": true, +"type": "string" +}, +"pageId": { +"location": "path", +"required": true, +"type": "string" +}, +"publish": { +"location": "query", +"type": "boolean" +}, +"revert": { +"location": "query", +"type": "boolean" +} +}, +"path": "v3/blogs/{blogId}/pages/{pageId}", +"request": { +"$ref": "Page" +}, +"response": { +"$ref": "Page" +}, +"scopes": [ +"https://www.googleapis.com/auth/blogger" +] +} +} +}, +"postUserInfos": { +"methods": { +"get": { +"description": "Gets one post and user info pair, by post_id and user_id.", +"flatPath": "v3/users/{userId}/blogs/{blogId}/posts/{postId}", +"httpMethod": "GET", +"id": "blogger.postUserInfos.get", +"parameterOrder": [ +"userId", +"blogId", +"postId" +], +"parameters": { +"blogId": { +"location": "path", +"required": true, +"type": "string" +}, +"maxComments": { +"format": "uint32", +"location": "query", +"type": "integer" +}, +"postId": { +"location": "path", +"required": true, +"type": "string" +}, +"userId": { +"location": "path", +"required": true, +"type": "string" +} +}, +"path": "v3/users/{userId}/blogs/{blogId}/posts/{postId}", +"response": { +"$ref": "PostUserInfo" +}, +"scopes": [ +"https://www.googleapis.com/auth/blogger", +"https://www.googleapis.com/auth/blogger.readonly" +] +}, +"list": { +"description": "Lists post and user info pairs.", +"flatPath": "v3/users/{userId}/blogs/{blogId}/posts", +"httpMethod": "GET", +"id": "blogger.postUserInfos.list", +"parameterOrder": [ +"userId", +"blogId" +], +"parameters": { +"blogId": { +"location": "path", +"required": true, +"type": "string" +}, +"endDate": { +"location": "query", +"type": "string" +}, +"fetchBodies": { +"default": "false", +"location": "query", +"type": "boolean" +}, +"labels": { +"location": "query", +"type": "string" +}, +"maxResults": { +"format": "uint32", +"location": "query", +"type": "integer" +}, +"orderBy": { +"default": "PUBLISHED", +"enum": [ +"ORDER_BY_UNSPECIFIED", +"PUBLISHED", +"UPDATED" +], +"enumDescriptions": [ +"", +"", +"" +], +"location": "query", +"type": "string" +}, +"pageToken": { +"location": "query", +"type": "string" +}, +"startDate": { +"location": "query", +"type": "string" +}, +"status": { +"enum": [ +"LIVE", +"DRAFT", +"SCHEDULED", +"SOFT_TRASHED" +], +"enumDescriptions": [ +"", +"", +"", +"" +], +"location": "query", +"repeated": true, +"type": "string" +}, +"userId": { +"location": "path", +"required": true, +"type": "string" +}, +"view": { +"enum": [ +"VIEW_TYPE_UNSPECIFIED", +"READER", +"AUTHOR", +"ADMIN" +], +"enumDescriptions": [ +"", +"", +"", +"" +], +"location": "query", +"type": "string" +} +}, +"path": "v3/users/{userId}/blogs/{blogId}/posts", +"response": { +"$ref": "PostUserInfosList" +}, +"scopes": [ +"https://www.googleapis.com/auth/blogger", +"https://www.googleapis.com/auth/blogger.readonly" +] +} +} +}, +"posts": { +"methods": { +"delete": { +"description": "Deletes a post by blog id and post id.", +"flatPath": "v3/blogs/{blogId}/posts/{postId}", +"httpMethod": "DELETE", +"id": "blogger.posts.delete", +"parameterOrder": [ +"blogId", +"postId" +], +"parameters": { +"blogId": { +"location": "path", +"required": true, +"type": "string" +}, +"postId": { +"location": "path", +"required": true, +"type": "string" +}, +"useTrash": { +"description": "Move to Trash if possible", +"location": "query", +"type": "boolean" +} +}, +"path": "v3/blogs/{blogId}/posts/{postId}", +"scopes": [ +"https://www.googleapis.com/auth/blogger" +] +}, +"get": { +"description": "Gets a post by blog id and post id", +"flatPath": "v3/blogs/{blogId}/posts/{postId}", +"httpMethod": "GET", +"id": "blogger.posts.get", +"parameterOrder": [ +"blogId", +"postId" +], +"parameters": { +"blogId": { +"location": "path", +"required": true, +"type": "string" +}, +"fetchBody": { +"default": "true", +"location": "query", +"type": "boolean" +}, +"fetchImages": { +"location": "query", +"type": "boolean" +}, +"maxComments": { +"format": "uint32", +"location": "query", +"type": "integer" +}, +"postId": { +"location": "path", +"required": true, +"type": "string" +}, +"view": { +"enum": [ +"VIEW_TYPE_UNSPECIFIED", +"READER", +"AUTHOR", +"ADMIN" +], +"enumDescriptions": [ +"", +"", +"", +"" +], +"location": "query", +"type": "string" +} +}, +"path": "v3/blogs/{blogId}/posts/{postId}", +"response": { +"$ref": "Post" +}, +"scopes": [ +"https://www.googleapis.com/auth/blogger", +"https://www.googleapis.com/auth/blogger.readonly" +] +}, +"getByPath": { +"description": "Gets a post by path.", +"flatPath": "v3/blogs/{blogId}/posts/bypath", +"httpMethod": "GET", +"id": "blogger.posts.getByPath", +"parameterOrder": [ +"blogId", +"path" +], +"parameters": { +"blogId": { +"location": "path", +"required": true, +"type": "string" +}, +"maxComments": { +"format": "uint32", +"location": "query", +"type": "integer" +}, +"path": { +"location": "query", +"required": true, +"type": "string" +}, +"view": { +"enum": [ +"VIEW_TYPE_UNSPECIFIED", +"READER", +"AUTHOR", +"ADMIN" +], +"enumDescriptions": [ +"", +"", +"", +"" +], +"location": "query", +"type": "string" +} +}, +"path": "v3/blogs/{blogId}/posts/bypath", +"response": { +"$ref": "Post" +}, +"scopes": [ +"https://www.googleapis.com/auth/blogger", +"https://www.googleapis.com/auth/blogger.readonly" +] +}, +"insert": { +"description": "Inserts a post.", +"flatPath": "v3/blogs/{blogId}/posts", +"httpMethod": "POST", +"id": "blogger.posts.insert", +"parameterOrder": [ +"blogId" +], +"parameters": { +"blogId": { +"location": "path", +"required": true, +"type": "string" +}, +"fetchBody": { +"default": "true", +"location": "query", +"type": "boolean" +}, +"fetchImages": { +"location": "query", +"type": "boolean" +}, +"isDraft": { +"location": "query", +"type": "boolean" +} +}, +"path": "v3/blogs/{blogId}/posts", +"request": { +"$ref": "Post" +}, +"response": { +"$ref": "Post" +}, +"scopes": [ +"https://www.googleapis.com/auth/blogger" +] +}, +"list": { +"description": "Lists posts.", +"flatPath": "v3/blogs/{blogId}/posts", +"httpMethod": "GET", +"id": "blogger.posts.list", +"parameterOrder": [ +"blogId" +], +"parameters": { +"blogId": { +"location": "path", +"required": true, +"type": "string" +}, +"endDate": { +"location": "query", +"type": "string" +}, +"fetchBodies": { +"default": "true", +"location": "query", +"type": "boolean" +}, +"fetchImages": { +"location": "query", +"type": "boolean" +}, +"labels": { +"location": "query", +"type": "string" +}, +"maxResults": { +"format": "uint32", +"location": "query", +"type": "integer" +}, +"orderBy": { +"default": "PUBLISHED", +"enum": [ +"ORDER_BY_UNSPECIFIED", +"PUBLISHED", +"UPDATED" +], +"enumDescriptions": [ +"", +"", +"" +], +"location": "query", +"type": "string" +}, +"pageToken": { +"location": "query", +"type": "string" +}, +"sortOption": { +"default": "DESCENDING", +"description": "Sort direction applied to post list.", +"enum": [ +"SORT_OPTION_UNSPECIFIED", +"DESCENDING", +"ASCENDING" +], +"enumDescriptions": [ +"The unspecified sort option.", +"The option to sort posts in descending order in time.", +"The option to sort posts in ascending order in time." +], +"location": "query", +"type": "string" +}, +"startDate": { +"location": "query", +"type": "string" +}, +"status": { +"enum": [ +"LIVE", +"DRAFT", +"SCHEDULED", +"SOFT_TRASHED" +], +"enumDescriptions": [ +"", +"", +"", +"" +], +"location": "query", +"repeated": true, +"type": "string" +}, +"view": { +"enum": [ +"VIEW_TYPE_UNSPECIFIED", +"READER", +"AUTHOR", +"ADMIN" +], +"enumDescriptions": [ +"", +"", +"", +"" +], +"location": "query", +"type": "string" +} +}, +"path": "v3/blogs/{blogId}/posts", +"response": { +"$ref": "PostList" +}, +"scopes": [ +"https://www.googleapis.com/auth/blogger", +"https://www.googleapis.com/auth/blogger.readonly" +] +}, +"patch": { +"description": "Patches a post.", +"flatPath": "v3/blogs/{blogId}/posts/{postId}", +"httpMethod": "PATCH", +"id": "blogger.posts.patch", +"parameterOrder": [ +"blogId", +"postId" +], +"parameters": { +"blogId": { +"location": "path", +"required": true, +"type": "string" +}, +"fetchBody": { +"default": "true", +"location": "query", +"type": "boolean" +}, +"fetchImages": { +"location": "query", +"type": "boolean" +}, +"maxComments": { +"format": "uint32", +"location": "query", +"type": "integer" +}, +"postId": { +"location": "path", +"required": true, +"type": "string" +}, +"publish": { +"location": "query", +"type": "boolean" +}, +"revert": { +"location": "query", +"type": "boolean" +} +}, +"path": "v3/blogs/{blogId}/posts/{postId}", +"request": { +"$ref": "Post" +}, +"response": { +"$ref": "Post" +}, +"scopes": [ +"https://www.googleapis.com/auth/blogger" +] +}, +"publish": { +"description": "Publishes a post.", +"flatPath": "v3/blogs/{blogId}/posts/{postId}/publish", +"httpMethod": "POST", +"id": "blogger.posts.publish", +"parameterOrder": [ +"blogId", +"postId" +], +"parameters": { +"blogId": { +"location": "path", +"required": true, +"type": "string" +}, +"postId": { +"location": "path", +"required": true, +"type": "string" +}, +"publishDate": { +"location": "query", +"type": "string" +} +}, +"path": "v3/blogs/{blogId}/posts/{postId}/publish", +"response": { +"$ref": "Post" +}, +"scopes": [ +"https://www.googleapis.com/auth/blogger" +] +}, +"revert": { +"description": "Reverts a published or scheduled post to draft state.", +"flatPath": "v3/blogs/{blogId}/posts/{postId}/revert", +"httpMethod": "POST", +"id": "blogger.posts.revert", +"parameterOrder": [ +"blogId", +"postId" +], +"parameters": { +"blogId": { +"location": "path", +"required": true, +"type": "string" +}, +"postId": { +"location": "path", +"required": true, +"type": "string" +} +}, +"path": "v3/blogs/{blogId}/posts/{postId}/revert", +"response": { +"$ref": "Post" +}, +"scopes": [ +"https://www.googleapis.com/auth/blogger" +] +}, +"search": { +"description": "Searches for posts matching given query terms in the specified blog.", +"flatPath": "v3/blogs/{blogId}/posts/search", +"httpMethod": "GET", +"id": "blogger.posts.search", +"parameterOrder": [ +"blogId", +"q" +], +"parameters": { +"blogId": { +"location": "path", +"required": true, +"type": "string" +}, +"fetchBodies": { +"default": "true", +"location": "query", +"type": "boolean" +}, +"orderBy": { +"default": "PUBLISHED", +"enum": [ +"ORDER_BY_UNSPECIFIED", +"PUBLISHED", +"UPDATED" +], +"enumDescriptions": [ +"", +"", +"" +], +"location": "query", +"type": "string" +}, +"q": { +"location": "query", +"required": true, +"type": "string" +} +}, +"path": "v3/blogs/{blogId}/posts/search", +"response": { +"$ref": "PostList" +}, +"scopes": [ +"https://www.googleapis.com/auth/blogger", +"https://www.googleapis.com/auth/blogger.readonly" +] +}, +"update": { +"description": "Updates a post by blog id and post id.", +"flatPath": "v3/blogs/{blogId}/posts/{postId}", +"httpMethod": "PUT", +"id": "blogger.posts.update", +"parameterOrder": [ +"blogId", +"postId" +], +"parameters": { +"blogId": { +"location": "path", +"required": true, +"type": "string" +}, +"fetchBody": { +"default": "true", +"location": "query", +"type": "boolean" +}, +"fetchImages": { +"location": "query", +"type": "boolean" +}, +"maxComments": { +"format": "uint32", +"location": "query", +"type": "integer" +}, +"postId": { +"location": "path", +"required": true, +"type": "string" +}, +"publish": { +"location": "query", +"type": "boolean" +}, +"revert": { +"location": "query", +"type": "boolean" +} +}, +"path": "v3/blogs/{blogId}/posts/{postId}", +"request": { +"$ref": "Post" +}, +"response": { +"$ref": "Post" +}, +"scopes": [ +"https://www.googleapis.com/auth/blogger" +] +} +} +}, +"users": { +"methods": { +"get": { +"description": "Gets one user by user_id.", +"flatPath": "v3/users/{userId}", +"httpMethod": "GET", +"id": "blogger.users.get", +"parameterOrder": [ +"userId" +], +"parameters": { +"userId": { +"location": "path", +"required": true, +"type": "string" +} +}, +"path": "v3/users/{userId}", +"response": { +"$ref": "User" +}, +"scopes": [ +"https://www.googleapis.com/auth/blogger", +"https://www.googleapis.com/auth/blogger.readonly" +] +} +} +} +}, +"revision": "20240708", +"rootUrl": "https://blogger.googleapis.com/", +"schemas": { +"Blog": { +"id": "Blog", +"properties": { +"customMetaData": { +"description": "The JSON custom meta-data for the Blog.", +"type": "string" +}, +"description": { +"description": "The description of this blog. This is displayed underneath the title.", +"type": "string" +}, +"id": { +"description": "The identifier for this resource.", +"type": "string" +}, +"kind": { +"description": "The kind of this entry. Always blogger#blog.", +"type": "string" +}, +"locale": { +"description": "The locale this Blog is set to.", +"properties": { +"country": { +"description": "The country this blog's locale is set to.", +"type": "string" +}, +"language": { +"description": "The language this blog is authored in.", +"type": "string" +}, +"variant": { +"description": "The language variant this blog is authored in.", +"type": "string" +} +}, +"type": "object" +}, +"name": { +"description": "The name of this blog. This is displayed as the title.", +"type": "string" +}, +"pages": { +"description": "The container of pages in this blog.", +"properties": { +"selfLink": { +"description": "The URL of the container for pages in this blog.", +"type": "string" +}, +"totalItems": { +"description": "The count of pages in this blog.", +"format": "int32", +"type": "integer" +} +}, +"type": "object" +}, +"posts": { +"description": "The container of posts in this blog.", +"properties": { +"items": { +"description": "The List of Posts for this Blog.", +"items": { +"$ref": "Post" +}, +"type": "array" +}, +"selfLink": { +"description": "The URL of the container for posts in this blog.", +"type": "string" +}, +"totalItems": { +"description": "The count of posts in this blog.", +"format": "int32", +"type": "integer" +} +}, +"type": "object" +}, +"published": { +"description": "RFC 3339 date-time when this blog was published.", +"type": "string" +}, +"selfLink": { +"description": "The API REST URL to fetch this resource from.", +"type": "string" +}, +"status": { +"description": "The status of the blog.", +"enum": [ +"LIVE", +"DELETED" +], +"enumDescriptions": [ +"", +"" +], +"type": "string" +}, +"updated": { +"description": "RFC 3339 date-time when this blog was last updated.", +"type": "string" +}, +"url": { +"description": "The URL where this blog is published.", +"type": "string" +} +}, +"type": "object" +}, +"BlogList": { +"id": "BlogList", +"properties": { +"blogUserInfos": { +"description": "Admin level list of blog per-user information.", +"items": { +"$ref": "BlogUserInfo" +}, +"type": "array" +}, +"items": { +"description": "The list of Blogs this user has Authorship or Admin rights over.", +"items": { +"$ref": "Blog" +}, +"type": "array" +}, +"kind": { +"description": "The kind of this entity. Always blogger#blogList.", +"type": "string" +} +}, +"type": "object" +}, +"BlogPerUserInfo": { +"id": "BlogPerUserInfo", +"properties": { +"blogId": { +"description": "ID of the Blog resource.", +"type": "string" +}, +"hasAdminAccess": { +"description": "True if the user has Admin level access to the blog.", +"type": "boolean" +}, +"kind": { +"description": "The kind of this entity. Always blogger#blogPerUserInfo.", +"type": "string" +}, +"photosAlbumKey": { +"description": "The Photo Album Key for the user when adding photos to the blog.", +"type": "string" +}, +"role": { +"description": "Access permissions that the user has for the blog (ADMIN, AUTHOR, or READER).", +"enum": [ +"VIEW_TYPE_UNSPECIFIED", +"READER", +"AUTHOR", +"ADMIN" +], +"enumDescriptions": [ +"", +"", +"", +"" +], +"type": "string" +}, +"userId": { +"description": "ID of the User.", +"type": "string" +} +}, +"type": "object" +}, +"BlogUserInfo": { +"id": "BlogUserInfo", +"properties": { +"blog": { +"$ref": "Blog", +"description": "The Blog resource." +}, +"blog_user_info": { +"$ref": "BlogPerUserInfo", +"description": "Information about a User for the Blog." +}, +"kind": { +"description": "The kind of this entity. Always blogger#blogUserInfo.", +"type": "string" +} +}, +"type": "object" +}, +"Comment": { +"id": "Comment", +"properties": { +"author": { +"description": "The author of this Comment.", +"properties": { +"displayName": { +"description": "The display name.", +"type": "string" +}, +"id": { +"description": "The identifier of the creator.", +"type": "string" +}, +"image": { +"description": "The creator's avatar.", +"properties": { +"url": { +"description": "The creator's avatar URL.", +"type": "string" +} +}, +"type": "object" +}, +"url": { +"description": "The URL of the creator's Profile page.", +"type": "string" +} +}, +"type": "object" +}, +"blog": { +"description": "Data about the blog containing this comment.", +"properties": { +"id": { +"description": "The identifier of the blog containing this comment.", +"type": "string" +} +}, +"type": "object" +}, +"content": { +"description": "The actual content of the comment. May include HTML markup.", +"type": "string" +}, +"id": { +"description": "The identifier for this resource.", +"type": "string" +}, +"inReplyTo": { +"description": "Data about the comment this is in reply to.", +"properties": { +"id": { +"description": "The identified of the parent of this comment.", +"type": "string" +} +}, +"type": "object" +}, +"kind": { +"description": "The kind of this entry. Always blogger#comment.", +"type": "string" +}, +"post": { +"description": "Data about the post containing this comment.", +"properties": { +"id": { +"description": "The identifier of the post containing this comment.", +"type": "string" +} +}, +"type": "object" +}, +"published": { +"description": "RFC 3339 date-time when this comment was published.", +"type": "string" +}, +"selfLink": { +"description": "The API REST URL to fetch this resource from.", +"type": "string" +}, +"status": { +"description": "The status of the comment (only populated for admin users).", +"enum": [ +"LIVE", +"EMPTIED", +"PENDING", +"SPAM" +], +"enumDescriptions": [ +"", +"", +"", +"" +], +"type": "string" +}, +"updated": { +"description": "RFC 3339 date-time when this comment was last updated.", +"type": "string" +} +}, +"type": "object" +}, +"CommentList": { +"id": "CommentList", +"properties": { +"etag": { +"description": "Etag of the response.", +"type": "string" +}, +"items": { +"description": "The List of Comments for a Post.", +"items": { +"$ref": "Comment" +}, +"type": "array" +}, +"kind": { +"description": "The kind of this entry. Always blogger#commentList.", +"type": "string" +}, +"nextPageToken": { +"description": "Pagination token to fetch the next page, if one exists.", +"type": "string" +}, +"prevPageToken": { +"description": "Pagination token to fetch the previous page, if one exists.", +"type": "string" +} +}, +"type": "object" +}, +"Page": { +"id": "Page", +"properties": { +"author": { +"description": "The author of this Page.", +"properties": { +"displayName": { +"description": "The display name.", +"type": "string" +}, +"id": { +"description": "The identifier of the creator.", +"type": "string" +}, +"image": { +"description": "The creator's avatar.", +"properties": { +"url": { +"description": "The creator's avatar URL.", +"type": "string" +} +}, +"type": "object" +}, +"url": { +"description": "The URL of the creator's Profile page.", +"type": "string" +} +}, +"type": "object" +}, +"blog": { +"description": "Data about the blog containing this Page.", +"properties": { +"id": { +"description": "The identifier of the blog containing this page.", +"type": "string" +} +}, +"type": "object" +}, +"content": { +"description": "The body content of this Page, in HTML.", +"type": "string" +}, +"etag": { +"description": "Etag of the resource.", +"type": "string" +}, +"id": { +"description": "The identifier for this resource.", +"type": "string" +}, +"kind": { +"description": "The kind of this entity. Always blogger#page.", +"type": "string" +}, +"published": { +"description": "RFC 3339 date-time when this Page was published.", +"type": "string" +}, +"selfLink": { +"description": "The API REST URL to fetch this resource from.", +"type": "string" +}, +"status": { +"description": "The status of the page for admin resources (either LIVE or DRAFT).", +"enum": [ +"LIVE", +"DRAFT", +"SOFT_TRASHED" +], +"enumDescriptions": [ +"", +"", +"" +], +"type": "string" +}, +"title": { +"description": "The title of this entity. This is the name displayed in the Admin user interface.", +"type": "string" +}, +"trashed": { +"description": "RFC 3339 date-time when this Page was trashed.", +"type": "string" +}, +"updated": { +"description": "RFC 3339 date-time when this Page was last updated.", +"type": "string" +}, +"url": { +"description": "The URL that this Page is displayed at.", +"type": "string" +} +}, +"type": "object" +}, +"PageList": { +"id": "PageList", +"properties": { +"etag": { +"description": "Etag of the response.", +"type": "string" +}, +"items": { +"description": "The list of Pages for a Blog.", +"items": { +"$ref": "Page" +}, +"type": "array" +}, +"kind": { +"description": "The kind of this entity. Always blogger#pageList.", +"type": "string" +}, +"nextPageToken": { +"description": "Pagination token to fetch the next page, if one exists.", +"type": "string" +} +}, +"type": "object" +}, +"Pageviews": { +"id": "Pageviews", +"properties": { +"blogId": { +"description": "Blog Id.", +"type": "string" +}, +"counts": { +"description": "The container of posts in this blog.", +"items": { +"properties": { +"count": { +"description": "Count of page views for the given time range.", +"format": "int64", +"type": "string" +}, +"timeRange": { +"description": "Time range the given count applies to.", +"enum": [ +"ALL_TIME", +"THIRTY_DAYS", +"SEVEN_DAYS" +], +"enumDescriptions": [ +"", +"", +"" +], +"type": "string" +} +}, +"type": "object" +}, +"type": "array" +}, +"kind": { +"description": "The kind of this entry. Always blogger#page_views.", +"type": "string" +} +}, +"type": "object" +}, +"Post": { +"id": "Post", +"properties": { +"author": { +"description": "The author of this Post.", +"properties": { +"displayName": { +"description": "The display name.", +"type": "string" +}, +"id": { +"description": "The identifier of the creator.", +"type": "string" +}, +"image": { +"description": "The creator's avatar.", +"properties": { +"url": { +"description": "The creator's avatar URL.", +"type": "string" +} +}, +"type": "object" +}, +"url": { +"description": "The URL of the creator's Profile page.", +"type": "string" +} +}, +"type": "object" +}, +"blog": { +"description": "Data about the blog containing this Post.", +"properties": { +"id": { +"description": "The identifier of the Blog that contains this Post.", +"type": "string" +} +}, +"type": "object" +}, +"content": { +"description": "The content of the Post. May contain HTML markup.", +"type": "string" +}, +"customMetaData": { +"description": "The JSON meta-data for the Post.", +"type": "string" +}, +"etag": { +"description": "Etag of the resource.", +"type": "string" +}, +"id": { +"description": "The identifier of this Post.", +"type": "string" +}, +"images": { +"description": "Display image for the Post.", +"items": { +"properties": { +"url": { +"type": "string" +} +}, +"type": "object" +}, +"type": "array" +}, +"kind": { +"description": "The kind of this entity. Always blogger#post.", +"type": "string" +}, +"labels": { +"description": "The list of labels this Post was tagged with.", +"items": { +"type": "string" +}, +"type": "array" +}, +"location": { +"description": "The location for geotagged posts.", +"properties": { +"lat": { +"description": "Location's latitude.", +"format": "double", +"type": "number" +}, +"lng": { +"description": "Location's longitude.", +"format": "double", +"type": "number" +}, +"name": { +"description": "Location name.", +"type": "string" +}, +"span": { +"description": "Location's viewport span. Can be used when rendering a map preview.", +"type": "string" +} +}, +"type": "object" +}, +"published": { +"description": "RFC 3339 date-time when this Post was published.", +"type": "string" +}, +"readerComments": { +"description": "Comment control and display setting for readers of this post.", +"enum": [ +"ALLOW", +"DONT_ALLOW_SHOW_EXISTING", +"DONT_ALLOW_HIDE_EXISTING" +], +"enumDescriptions": [ +"", +"", +"" +], +"type": "string" +}, +"replies": { +"description": "The container of comments on this Post.", +"properties": { +"items": { +"description": "The List of Comments for this Post.", +"items": { +"$ref": "Comment" +}, +"type": "array" +}, +"selfLink": { +"description": "The URL of the comments on this post.", +"type": "string" +}, +"totalItems": { +"description": "The count of comments on this post.", +"format": "int64", +"type": "string" +} +}, +"type": "object" +}, +"selfLink": { +"description": "The API REST URL to fetch this resource from.", +"type": "string" +}, +"status": { +"description": "Status of the post. Only set for admin-level requests.", +"enum": [ +"LIVE", +"DRAFT", +"SCHEDULED", +"SOFT_TRASHED" +], +"enumDescriptions": [ +"", +"", +"", +"" +], +"type": "string" +}, +"title": { +"description": "The title of the Post.", +"type": "string" +}, +"titleLink": { +"description": "The title link URL, similar to atom's related link.", +"type": "string" +}, +"trashed": { +"description": "RFC 3339 date-time when this Post was last trashed.", +"type": "string" +}, +"updated": { +"description": "RFC 3339 date-time when this Post was last updated.", +"type": "string" +}, +"url": { +"description": "The URL where this Post is displayed.", +"type": "string" +} +}, +"type": "object" +}, +"PostList": { +"id": "PostList", +"properties": { +"etag": { +"description": "Etag of the response.", +"type": "string" +}, +"items": { +"description": "The list of Posts for this Blog.", +"items": { +"$ref": "Post" +}, +"type": "array" +}, +"kind": { +"description": "The kind of this entity. Always blogger#postList.", +"type": "string" +}, +"nextPageToken": { +"description": "Pagination token to fetch the next page, if one exists.", +"type": "string" +}, +"prevPageToken": { +"description": "Pagination token to fetch the previous page, if one exists.", +"type": "string" +} +}, +"type": "object" +}, +"PostPerUserInfo": { +"id": "PostPerUserInfo", +"properties": { +"blogId": { +"description": "ID of the Blog that the post resource belongs to.", +"type": "string" +}, +"hasEditAccess": { +"description": "True if the user has Author level access to the post.", +"type": "boolean" +}, +"kind": { +"description": "The kind of this entity. Always blogger#postPerUserInfo.", +"type": "string" +}, +"postId": { +"description": "ID of the Post resource.", +"type": "string" +}, +"userId": { +"description": "ID of the User.", +"type": "string" +} +}, +"type": "object" +}, +"PostUserInfo": { +"id": "PostUserInfo", +"properties": { +"kind": { +"description": "The kind of this entity. Always blogger#postUserInfo.", +"type": "string" +}, +"post": { +"$ref": "Post", +"description": "The Post resource." +}, +"post_user_info": { +"$ref": "PostPerUserInfo", +"description": "Information about a User for the Post." +} +}, +"type": "object" +}, +"PostUserInfosList": { +"id": "PostUserInfosList", +"properties": { +"items": { +"description": "The list of Posts with User information for the post, for this Blog.", +"items": { +"$ref": "PostUserInfo" +}, +"type": "array" +}, +"kind": { +"description": "The kind of this entity. Always blogger#postList.", +"type": "string" +}, +"nextPageToken": { +"description": "Pagination token to fetch the next page, if one exists.", +"type": "string" +} +}, +"type": "object" +}, +"User": { +"id": "User", +"properties": { +"about": { +"description": "Profile summary information.", +"type": "string" +}, +"blogs": { +"description": "The container of blogs for this user.", +"properties": { +"selfLink": { +"description": "The URL of the Blogs for this user.", +"type": "string" +} +}, +"type": "object" +}, +"created": { +"description": "The timestamp of when this profile was created, in seconds since epoch.", +"type": "string" +}, +"displayName": { +"description": "The display name.", +"type": "string" +}, +"id": { +"description": "The identifier for this User.", +"type": "string" +}, +"kind": { +"description": "The kind of this entity. Always blogger#user.", +"type": "string" +}, +"locale": { +"description": "This user's locale", +"properties": { +"country": { +"description": "The country this blog's locale is set to.", +"type": "string" +}, +"language": { +"description": "The language this blog is authored in.", +"type": "string" +}, +"variant": { +"description": "The language variant this blog is authored in.", +"type": "string" +} +}, +"type": "object" +}, +"selfLink": { +"description": "The API REST URL to fetch this resource from.", +"type": "string" +}, +"url": { +"description": "The user's profile page.", +"type": "string" +} +}, +"type": "object" +} +}, +"servicePath": "", +"title": "Blogger API", +"version": "v3" +} \ No newline at end of file diff --git a/.venv/lib/python3.11/site-packages/googleapiclient/discovery_cache/documents/classroom.v1.json b/.venv/lib/python3.11/site-packages/googleapiclient/discovery_cache/documents/classroom.v1.json new file mode 100644 index 0000000000000000000000000000000000000000..feb626a5902a41f7ab1fbfb44bb3c99df959b349 --- /dev/null +++ b/.venv/lib/python3.11/site-packages/googleapiclient/discovery_cache/documents/classroom.v1.json @@ -0,0 +1,6002 @@ +{ +"auth": { +"oauth2": { +"scopes": { +"https://www.googleapis.com/auth/classroom.announcements": { +"description": "View and manage announcements in Google Classroom" +}, +"https://www.googleapis.com/auth/classroom.announcements.readonly": { +"description": "View announcements in Google Classroom" +}, +"https://www.googleapis.com/auth/classroom.courses": { +"description": "See, edit, create, and permanently delete your Google Classroom classes" +}, +"https://www.googleapis.com/auth/classroom.courses.readonly": { +"description": "View your Google Classroom classes" +}, +"https://www.googleapis.com/auth/classroom.coursework.me": { +"description": "See, create and edit coursework items including assignments, questions, and grades" +}, +"https://www.googleapis.com/auth/classroom.coursework.me.readonly": { +"description": "View your course work and grades in Google Classroom" +}, +"https://www.googleapis.com/auth/classroom.coursework.students": { +"description": "Manage course work and grades for students in the Google Classroom classes you teach and view the course work and grades for classes you administer" +}, +"https://www.googleapis.com/auth/classroom.coursework.students.readonly": { +"description": "View course work and grades for students in the Google Classroom classes you teach or administer" +}, +"https://www.googleapis.com/auth/classroom.courseworkmaterials": { +"description": "See, edit, and create classwork materials in Google Classroom" +}, +"https://www.googleapis.com/auth/classroom.courseworkmaterials.readonly": { +"description": "See all classwork materials for your Google Classroom classes" +}, +"https://www.googleapis.com/auth/classroom.guardianlinks.me.readonly": { +"description": "View your Google Classroom guardians" +}, +"https://www.googleapis.com/auth/classroom.guardianlinks.students": { +"description": "View and manage guardians for students in your Google Classroom classes" +}, +"https://www.googleapis.com/auth/classroom.guardianlinks.students.readonly": { +"description": "View guardians for students in your Google Classroom classes" +}, +"https://www.googleapis.com/auth/classroom.profile.emails": { +"description": "View the email addresses of people in your classes" +}, +"https://www.googleapis.com/auth/classroom.profile.photos": { +"description": "View the profile photos of people in your classes" +}, +"https://www.googleapis.com/auth/classroom.push-notifications": { +"description": "Receive notifications about your Google Classroom data" +}, +"https://www.googleapis.com/auth/classroom.rosters": { +"description": "Manage your Google Classroom class rosters" +}, +"https://www.googleapis.com/auth/classroom.rosters.readonly": { +"description": "View your Google Classroom class rosters" +}, +"https://www.googleapis.com/auth/classroom.student-submissions.me.readonly": { +"description": "View your course work and grades in Google Classroom" +}, +"https://www.googleapis.com/auth/classroom.student-submissions.students.readonly": { +"description": "View course work and grades for students in the Google Classroom classes you teach or administer" +}, +"https://www.googleapis.com/auth/classroom.topics": { +"description": "See, create, and edit topics in Google Classroom" +}, +"https://www.googleapis.com/auth/classroom.topics.readonly": { +"description": "View topics in Google Classroom" +} +} +} +}, +"basePath": "", +"baseUrl": "https://classroom.googleapis.com/", +"batchPath": "batch", +"description": "Manages classes, rosters, and invitations in Google Classroom.", +"discoveryVersion": "v1", +"documentationLink": "https://developers.google.com/classroom/", +"fullyEncodeReservedExpansion": true, +"icons": { +"x16": "http://www.google.com/images/icons/product/search-16.gif", +"x32": "http://www.google.com/images/icons/product/search-32.gif" +}, +"id": "classroom:v1", +"kind": "discovery#restDescription", +"mtlsRootUrl": "https://classroom.mtls.googleapis.com/", +"name": "classroom", +"ownerDomain": "google.com", +"ownerName": "Google", +"parameters": { +"$.xgafv": { +"description": "V1 error format.", +"enum": [ +"1", +"2" +], +"enumDescriptions": [ +"v1 error format", +"v2 error format" +], +"location": "query", +"type": "string" +}, +"access_token": { +"description": "OAuth access token.", +"location": "query", +"type": "string" +}, +"alt": { +"default": "json", +"description": "Data format for response.", +"enum": [ +"json", +"media", +"proto" +], +"enumDescriptions": [ +"Responses with Content-Type of application/json", +"Media download with context-dependent Content-Type", +"Responses with Content-Type of application/x-protobuf" +], +"location": "query", +"type": "string" +}, +"callback": { +"description": "JSONP", +"location": "query", +"type": "string" +}, +"fields": { +"description": "Selector specifying which fields to include in a partial response.", +"location": "query", +"type": "string" +}, +"key": { +"description": "API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token.", +"location": "query", +"type": "string" +}, +"oauth_token": { +"description": "OAuth 2.0 token for the current user.", +"location": "query", +"type": "string" +}, +"prettyPrint": { +"default": "true", +"description": "Returns response with indentations and line breaks.", +"location": "query", +"type": "boolean" +}, +"quotaUser": { +"description": "Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters.", +"location": "query", +"type": "string" +}, +"uploadType": { +"description": "Legacy upload protocol for media (e.g. \"media\", \"multipart\").", +"location": "query", +"type": "string" +}, +"upload_protocol": { +"description": "Upload protocol for media (e.g. \"raw\", \"multipart\").", +"location": "query", +"type": "string" +} +}, +"protocol": "rest", +"resources": { +"courses": { +"methods": { +"create": { +"description": "Creates a course. The user specified in `ownerId` is the owner of the created course and added as a teacher. A non-admin requesting user can only create a course with themselves as the owner. Domain admins can create courses owned by any user within their domain. This method returns the following error codes: * `PERMISSION_DENIED` if the requesting user is not permitted to create courses or for access errors. * `NOT_FOUND` if the primary teacher is not a valid user. * `FAILED_PRECONDITION` if the course owner's account is disabled or for the following request errors: * UserCannotOwnCourse * UserGroupsMembershipLimitReached * `ALREADY_EXISTS` if an alias was specified in the `id` and already exists.", +"flatPath": "v1/courses", +"httpMethod": "POST", +"id": "classroom.courses.create", +"parameterOrder": [], +"parameters": {}, +"path": "v1/courses", +"request": { +"$ref": "Course" +}, +"response": { +"$ref": "Course" +}, +"scopes": [ +"https://www.googleapis.com/auth/classroom.courses" +] +}, +"delete": { +"description": "Deletes a course. This method returns the following error codes: * `PERMISSION_DENIED` if the requesting user is not permitted to delete the requested course or for access errors. * `NOT_FOUND` if no course exists with the requested ID.", +"flatPath": "v1/courses/{id}", +"httpMethod": "DELETE", +"id": "classroom.courses.delete", +"parameterOrder": [ +"id" +], +"parameters": { +"id": { +"description": "Identifier of the course to delete. This identifier can be either the Classroom-assigned identifier or an alias.", +"location": "path", +"required": true, +"type": "string" +} +}, +"path": "v1/courses/{id}", +"response": { +"$ref": "Empty" +}, +"scopes": [ +"https://www.googleapis.com/auth/classroom.courses" +] +}, +"get": { +"description": "Returns a course. This method returns the following error codes: * `PERMISSION_DENIED` if the requesting user is not permitted to access the requested course or for access errors. * `NOT_FOUND` if no course exists with the requested ID.", +"flatPath": "v1/courses/{id}", +"httpMethod": "GET", +"id": "classroom.courses.get", +"parameterOrder": [ +"id" +], +"parameters": { +"id": { +"description": "Identifier of the course to return. This identifier can be either the Classroom-assigned identifier or an alias.", +"location": "path", +"required": true, +"type": "string" +} +}, +"path": "v1/courses/{id}", +"response": { +"$ref": "Course" +}, +"scopes": [ +"https://www.googleapis.com/auth/classroom.courses", +"https://www.googleapis.com/auth/classroom.courses.readonly" +] +}, +"list": { +"description": "Returns a list of courses that the requesting user is permitted to view, restricted to those that match the request. Returned courses are ordered by creation time, with the most recently created coming first. This method returns the following error codes: * `PERMISSION_DENIED` for access errors. * `INVALID_ARGUMENT` if the query argument is malformed. * `NOT_FOUND` if any users specified in the query arguments do not exist.", +"flatPath": "v1/courses", +"httpMethod": "GET", +"id": "classroom.courses.list", +"parameterOrder": [], +"parameters": { +"courseStates": { +"description": "Restricts returned courses to those in one of the specified states The default value is ACTIVE, ARCHIVED, PROVISIONED, DECLINED.", +"enum": [ +"COURSE_STATE_UNSPECIFIED", +"ACTIVE", +"ARCHIVED", +"PROVISIONED", +"DECLINED", +"SUSPENDED" +], +"enumDescriptions": [ +"No course state. No returned Course message will use this value.", +"The course is active.", +"The course has been archived. You cannot modify it except to change it to a different state.", +"The course has been created, but not yet activated. It is accessible by the primary teacher and domain administrators, who may modify it or change it to the `ACTIVE` or `DECLINED` states. A course may only be changed to `PROVISIONED` if it is in the `DECLINED` state.", +"The course has been created, but declined. It is accessible by the course owner and domain administrators, though it will not be displayed in the web UI. You cannot modify the course except to change it to the `PROVISIONED` state. A course may only be changed to `DECLINED` if it is in the `PROVISIONED` state.", +"The course has been suspended. You cannot modify the course, and only the user identified by the `owner_id` can view the course. A course may be placed in this state if it potentially violates the Terms of Service." +], +"location": "query", +"repeated": true, +"type": "string" +}, +"pageSize": { +"description": "Maximum number of items to return. Zero or unspecified indicates that the server may assign a maximum. The server may return fewer than the specified number of results.", +"format": "int32", +"location": "query", +"type": "integer" +}, +"pageToken": { +"description": "nextPageToken value returned from a previous list call, indicating that the subsequent page of results should be returned. The list request must be otherwise identical to the one that resulted in this token.", +"location": "query", +"type": "string" +}, +"studentId": { +"description": "Restricts returned courses to those having a student with the specified identifier. The identifier can be one of the following: * the numeric identifier for the user * the email address of the user * the string literal `\"me\"`, indicating the requesting user", +"location": "query", +"type": "string" +}, +"teacherId": { +"description": "Restricts returned courses to those having a teacher with the specified identifier. The identifier can be one of the following: * the numeric identifier for the user * the email address of the user * the string literal `\"me\"`, indicating the requesting user", +"location": "query", +"type": "string" +} +}, +"path": "v1/courses", +"response": { +"$ref": "ListCoursesResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/classroom.courses", +"https://www.googleapis.com/auth/classroom.courses.readonly" +] +}, +"patch": { +"description": "Updates one or more fields in a course. This method returns the following error codes: * `PERMISSION_DENIED` if the requesting user is not permitted to modify the requested course or for access errors. * `NOT_FOUND` if no course exists with the requested ID. * `INVALID_ARGUMENT` if invalid fields are specified in the update mask or if no update mask is supplied. * `FAILED_PRECONDITION` for the following request errors: * CourseNotModifiable * InactiveCourseOwner * IneligibleOwner", +"flatPath": "v1/courses/{id}", +"httpMethod": "PATCH", +"id": "classroom.courses.patch", +"parameterOrder": [ +"id" +], +"parameters": { +"id": { +"description": "Identifier of the course to update. This identifier can be either the Classroom-assigned identifier or an alias.", +"location": "path", +"required": true, +"type": "string" +}, +"updateMask": { +"description": "Mask that identifies which fields on the course to update. This field is required to do an update. The update will fail if invalid fields are specified. The following fields are valid: * `name` * `section` * `descriptionHeading` * `description` * `room` * `courseState` * `ownerId` Note: patches to ownerId are treated as being effective immediately, but in practice it may take some time for the ownership transfer of all affected resources to complete. When set in a query parameter, this field should be specified as `updateMask=,,...`", +"format": "google-fieldmask", +"location": "query", +"type": "string" +} +}, +"path": "v1/courses/{id}", +"request": { +"$ref": "Course" +}, +"response": { +"$ref": "Course" +}, +"scopes": [ +"https://www.googleapis.com/auth/classroom.courses" +] +}, +"update": { +"description": "Updates a course. This method returns the following error codes: * `PERMISSION_DENIED` if the requesting user is not permitted to modify the requested course or for access errors. * `NOT_FOUND` if no course exists with the requested ID. * `FAILED_PRECONDITION` for the following request errors: * CourseNotModifiable", +"flatPath": "v1/courses/{id}", +"httpMethod": "PUT", +"id": "classroom.courses.update", +"parameterOrder": [ +"id" +], +"parameters": { +"id": { +"description": "Identifier of the course to update. This identifier can be either the Classroom-assigned identifier or an alias.", +"location": "path", +"required": true, +"type": "string" +} +}, +"path": "v1/courses/{id}", +"request": { +"$ref": "Course" +}, +"response": { +"$ref": "Course" +}, +"scopes": [ +"https://www.googleapis.com/auth/classroom.courses" +] +} +}, +"resources": { +"aliases": { +"methods": { +"create": { +"description": "Creates an alias for a course. This method returns the following error codes: * `PERMISSION_DENIED` if the requesting user is not permitted to create the alias or for access errors. * `NOT_FOUND` if the course does not exist. * `ALREADY_EXISTS` if the alias already exists. * `FAILED_PRECONDITION` if the alias requested does not make sense for the requesting user or course (for example, if a user not in a domain attempts to access a domain-scoped alias).", +"flatPath": "v1/courses/{courseId}/aliases", +"httpMethod": "POST", +"id": "classroom.courses.aliases.create", +"parameterOrder": [ +"courseId" +], +"parameters": { +"courseId": { +"description": "Identifier of the course to alias. This identifier can be either the Classroom-assigned identifier or an alias.", +"location": "path", +"required": true, +"type": "string" +} +}, +"path": "v1/courses/{courseId}/aliases", +"request": { +"$ref": "CourseAlias" +}, +"response": { +"$ref": "CourseAlias" +}, +"scopes": [ +"https://www.googleapis.com/auth/classroom.courses" +] +}, +"delete": { +"description": "Deletes an alias of a course. This method returns the following error codes: * `PERMISSION_DENIED` if the requesting user is not permitted to remove the alias or for access errors. * `NOT_FOUND` if the alias does not exist. * `FAILED_PRECONDITION` if the alias requested does not make sense for the requesting user or course (for example, if a user not in a domain attempts to delete a domain-scoped alias).", +"flatPath": "v1/courses/{courseId}/aliases/{alias}", +"httpMethod": "DELETE", +"id": "classroom.courses.aliases.delete", +"parameterOrder": [ +"courseId", +"alias" +], +"parameters": { +"alias": { +"description": "Alias to delete. This may not be the Classroom-assigned identifier.", +"location": "path", +"required": true, +"type": "string" +}, +"courseId": { +"description": "Identifier of the course whose alias should be deleted. This identifier can be either the Classroom-assigned identifier or an alias.", +"location": "path", +"required": true, +"type": "string" +} +}, +"path": "v1/courses/{courseId}/aliases/{alias}", +"response": { +"$ref": "Empty" +}, +"scopes": [ +"https://www.googleapis.com/auth/classroom.courses" +] +}, +"list": { +"description": "Returns a list of aliases for a course. This method returns the following error codes: * `PERMISSION_DENIED` if the requesting user is not permitted to access the course or for access errors. * `NOT_FOUND` if the course does not exist.", +"flatPath": "v1/courses/{courseId}/aliases", +"httpMethod": "GET", +"id": "classroom.courses.aliases.list", +"parameterOrder": [ +"courseId" +], +"parameters": { +"courseId": { +"description": "The identifier of the course. This identifier can be either the Classroom-assigned identifier or an alias.", +"location": "path", +"required": true, +"type": "string" +}, +"pageSize": { +"description": "Maximum number of items to return. Zero or unspecified indicates that the server may assign a maximum. The server may return fewer than the specified number of results.", +"format": "int32", +"location": "query", +"type": "integer" +}, +"pageToken": { +"description": "nextPageToken value returned from a previous list call, indicating that the subsequent page of results should be returned. The list request must be otherwise identical to the one that resulted in this token.", +"location": "query", +"type": "string" +} +}, +"path": "v1/courses/{courseId}/aliases", +"response": { +"$ref": "ListCourseAliasesResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/classroom.courses", +"https://www.googleapis.com/auth/classroom.courses.readonly" +] +} +} +}, +"announcements": { +"methods": { +"create": { +"description": "Creates an announcement. This method returns the following error codes: * `PERMISSION_DENIED` if the requesting user is not permitted to access the requested course, create announcements in the requested course, share a Drive attachment, or for access errors. * `INVALID_ARGUMENT` if the request is malformed. * `NOT_FOUND` if the requested course does not exist. * `FAILED_PRECONDITION` for the following request error: * AttachmentNotVisible", +"flatPath": "v1/courses/{courseId}/announcements", +"httpMethod": "POST", +"id": "classroom.courses.announcements.create", +"parameterOrder": [ +"courseId" +], +"parameters": { +"courseId": { +"description": "Identifier of the course. This identifier can be either the Classroom-assigned identifier or an alias.", +"location": "path", +"required": true, +"type": "string" +} +}, +"path": "v1/courses/{courseId}/announcements", +"request": { +"$ref": "Announcement" +}, +"response": { +"$ref": "Announcement" +}, +"scopes": [ +"https://www.googleapis.com/auth/classroom.announcements" +] +}, +"delete": { +"description": "Deletes an announcement. This request must be made by the Developer Console project of the [OAuth client ID](https://support.google.com/cloud/answer/6158849) used to create the corresponding announcement item. This method returns the following error codes: * `PERMISSION_DENIED` if the requesting developer project did not create the corresponding announcement, if the requesting user is not permitted to delete the requested course or for access errors. * `FAILED_PRECONDITION` if the requested announcement has already been deleted. * `NOT_FOUND` if no course exists with the requested ID.", +"flatPath": "v1/courses/{courseId}/announcements/{id}", +"httpMethod": "DELETE", +"id": "classroom.courses.announcements.delete", +"parameterOrder": [ +"courseId", +"id" +], +"parameters": { +"courseId": { +"description": "Identifier of the course. This identifier can be either the Classroom-assigned identifier or an alias.", +"location": "path", +"required": true, +"type": "string" +}, +"id": { +"description": "Identifier of the announcement to delete. This identifier is a Classroom-assigned identifier.", +"location": "path", +"required": true, +"type": "string" +} +}, +"path": "v1/courses/{courseId}/announcements/{id}", +"response": { +"$ref": "Empty" +}, +"scopes": [ +"https://www.googleapis.com/auth/classroom.announcements" +] +}, +"get": { +"description": "Returns an announcement. This method returns the following error codes: * `PERMISSION_DENIED` if the requesting user is not permitted to access the requested course or announcement, or for access errors. * `INVALID_ARGUMENT` if the request is malformed. * `NOT_FOUND` if the requested course or announcement does not exist.", +"flatPath": "v1/courses/{courseId}/announcements/{id}", +"httpMethod": "GET", +"id": "classroom.courses.announcements.get", +"parameterOrder": [ +"courseId", +"id" +], +"parameters": { +"courseId": { +"description": "Identifier of the course. This identifier can be either the Classroom-assigned identifier or an alias.", +"location": "path", +"required": true, +"type": "string" +}, +"id": { +"description": "Identifier of the announcement.", +"location": "path", +"required": true, +"type": "string" +} +}, +"path": "v1/courses/{courseId}/announcements/{id}", +"response": { +"$ref": "Announcement" +}, +"scopes": [ +"https://www.googleapis.com/auth/classroom.announcements", +"https://www.googleapis.com/auth/classroom.announcements.readonly" +] +}, +"getAddOnContext": { +"description": "Gets metadata for Classroom add-ons in the context of a specific post. To maintain the integrity of its own data and permissions model, an add-on should call this to validate query parameters and the requesting user's role whenever the add-on is opened in an [iframe](https://developers.google.com/classroom/add-ons/get-started/iframes/iframes-overview). This method returns the following error codes: * `PERMISSION_DENIED` for access errors. * `INVALID_ARGUMENT` if the request is malformed. * `NOT_FOUND` if one of the identified resources does not exist.", +"flatPath": "v1/courses/{courseId}/announcements/{itemId}/addOnContext", +"httpMethod": "GET", +"id": "classroom.courses.announcements.getAddOnContext", +"parameterOrder": [ +"courseId", +"itemId" +], +"parameters": { +"addOnToken": { +"description": "Optional. Token that authorizes the request. The token is passed as a query parameter when the user is redirected from Classroom to the add-on's URL. The authorization token is required when neither of the following is true: * The add-on has attachments on the post. * The developer project issuing the request is the same project that created the post.", +"location": "query", +"type": "string" +}, +"attachmentId": { +"description": "Optional. The identifier of the attachment. This field is required for all requests except when the user is in the [Attachment Discovery iframe](https://developers.google.com/classroom/add-ons/get-started/iframes/attachment-discovery-iframe).", +"location": "query", +"type": "string" +}, +"courseId": { +"description": "Required. Identifier of the course.", +"location": "path", +"required": true, +"type": "string" +}, +"itemId": { +"description": "Identifier of the `Announcement`, `CourseWork`, or `CourseWorkMaterial` under which the attachment is attached. This field is required, but is not marked as such while we are migrating from post_id.", +"location": "path", +"required": true, +"type": "string" +}, +"postId": { +"deprecated": true, +"description": "Optional. Deprecated, use `item_id` instead.", +"location": "query", +"type": "string" +} +}, +"path": "v1/courses/{courseId}/announcements/{itemId}/addOnContext", +"response": { +"$ref": "AddOnContext" +} +}, +"list": { +"description": "Returns a list of announcements that the requester is permitted to view. Course students may only view `PUBLISHED` announcements. Course teachers and domain administrators may view all announcements. This method returns the following error codes: * `PERMISSION_DENIED` if the requesting user is not permitted to access the requested course or for access errors. * `INVALID_ARGUMENT` if the request is malformed. * `NOT_FOUND` if the requested course does not exist.", +"flatPath": "v1/courses/{courseId}/announcements", +"httpMethod": "GET", +"id": "classroom.courses.announcements.list", +"parameterOrder": [ +"courseId" +], +"parameters": { +"announcementStates": { +"description": "Restriction on the `state` of announcements returned. If this argument is left unspecified, the default value is `PUBLISHED`.", +"enum": [ +"ANNOUNCEMENT_STATE_UNSPECIFIED", +"PUBLISHED", +"DRAFT", +"DELETED" +], +"enumDescriptions": [ +"No state specified. This is never returned.", +"Status for announcement that has been published. This is the default state.", +"Status for an announcement that is not yet published. Announcement in this state is visible only to course teachers and domain administrators.", +"Status for announcement that was published but is now deleted. Announcement in this state is visible only to course teachers and domain administrators. Announcement in this state is deleted after some time." +], +"location": "query", +"repeated": true, +"type": "string" +}, +"courseId": { +"description": "Identifier of the course. This identifier can be either the Classroom-assigned identifier or an alias.", +"location": "path", +"required": true, +"type": "string" +}, +"orderBy": { +"description": "Optional sort ordering for results. A comma-separated list of fields with an optional sort direction keyword. Supported field is `updateTime`. Supported direction keywords are `asc` and `desc`. If not specified, `updateTime desc` is the default behavior. Examples: `updateTime asc`, `updateTime`", +"location": "query", +"type": "string" +}, +"pageSize": { +"description": "Maximum number of items to return. Zero or unspecified indicates that the server may assign a maximum. The server may return fewer than the specified number of results.", +"format": "int32", +"location": "query", +"type": "integer" +}, +"pageToken": { +"description": "nextPageToken value returned from a previous list call, indicating that the subsequent page of results should be returned. The list request must be otherwise identical to the one that resulted in this token.", +"location": "query", +"type": "string" +} +}, +"path": "v1/courses/{courseId}/announcements", +"response": { +"$ref": "ListAnnouncementsResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/classroom.announcements", +"https://www.googleapis.com/auth/classroom.announcements.readonly" +] +}, +"modifyAssignees": { +"description": "Modifies assignee mode and options of an announcement. Only a teacher of the course that contains the announcement may call this method. This method returns the following error codes: * `PERMISSION_DENIED` if the requesting user is not permitted to access the requested course or course work or for access errors. * `INVALID_ARGUMENT` if the request is malformed. * `NOT_FOUND` if the requested course or course work does not exist.", +"flatPath": "v1/courses/{courseId}/announcements/{id}:modifyAssignees", +"httpMethod": "POST", +"id": "classroom.courses.announcements.modifyAssignees", +"parameterOrder": [ +"courseId", +"id" +], +"parameters": { +"courseId": { +"description": "Identifier of the course. This identifier can be either the Classroom-assigned identifier or an alias.", +"location": "path", +"required": true, +"type": "string" +}, +"id": { +"description": "Identifier of the announcement.", +"location": "path", +"required": true, +"type": "string" +} +}, +"path": "v1/courses/{courseId}/announcements/{id}:modifyAssignees", +"request": { +"$ref": "ModifyAnnouncementAssigneesRequest" +}, +"response": { +"$ref": "Announcement" +}, +"scopes": [ +"https://www.googleapis.com/auth/classroom.announcements" +] +}, +"patch": { +"description": "Updates one or more fields of an announcement. This method returns the following error codes: * `PERMISSION_DENIED` if the requesting developer project did not create the corresponding announcement or for access errors. * `INVALID_ARGUMENT` if the request is malformed. * `FAILED_PRECONDITION` if the requested announcement has already been deleted. * `NOT_FOUND` if the requested course or announcement does not exist", +"flatPath": "v1/courses/{courseId}/announcements/{id}", +"httpMethod": "PATCH", +"id": "classroom.courses.announcements.patch", +"parameterOrder": [ +"courseId", +"id" +], +"parameters": { +"courseId": { +"description": "Identifier of the course. This identifier can be either the Classroom-assigned identifier or an alias.", +"location": "path", +"required": true, +"type": "string" +}, +"id": { +"description": "Identifier of the announcement.", +"location": "path", +"required": true, +"type": "string" +}, +"updateMask": { +"description": "Mask that identifies which fields on the announcement to update. This field is required to do an update. The update fails if invalid fields are specified. If a field supports empty values, it can be cleared by specifying it in the update mask and not in the Announcement object. If a field that does not support empty values is included in the update mask and not set in the Announcement object, an `INVALID_ARGUMENT` error is returned. The following fields may be specified by teachers: * `text` * `state` * `scheduled_time`", +"format": "google-fieldmask", +"location": "query", +"type": "string" +} +}, +"path": "v1/courses/{courseId}/announcements/{id}", +"request": { +"$ref": "Announcement" +}, +"response": { +"$ref": "Announcement" +}, +"scopes": [ +"https://www.googleapis.com/auth/classroom.announcements" +] +} +}, +"resources": { +"addOnAttachments": { +"methods": { +"create": { +"description": "Creates an add-on attachment under a post. Requires the add-on to have permission to create new attachments on the post. This method returns the following error codes: * `PERMISSION_DENIED` for access errors. * `INVALID_ARGUMENT` if the request is malformed. * `NOT_FOUND` if one of the identified resources does not exist.", +"flatPath": "v1/courses/{courseId}/announcements/{itemId}/addOnAttachments", +"httpMethod": "POST", +"id": "classroom.courses.announcements.addOnAttachments.create", +"parameterOrder": [ +"courseId", +"itemId" +], +"parameters": { +"addOnToken": { +"description": "Optional. Token that authorizes the request. The token is passed as a query parameter when the user is redirected from Classroom to the add-on's URL. This authorization token is required for in-Classroom attachment creation but optional for partner-first attachment creation. Returns an error if not provided for partner-first attachment creation and the developer projects that created the attachment and its parent stream item do not match.", +"location": "query", +"type": "string" +}, +"courseId": { +"description": "Required. Identifier of the course.", +"location": "path", +"required": true, +"type": "string" +}, +"itemId": { +"description": "Identifier of the `Announcement`, `CourseWork`, or `CourseWorkMaterial` under which to create the attachment. This field is required, but is not marked as such while we are migrating from post_id.", +"location": "path", +"required": true, +"type": "string" +}, +"postId": { +"deprecated": true, +"description": "Optional. Deprecated, use `item_id` instead.", +"location": "query", +"type": "string" +} +}, +"path": "v1/courses/{courseId}/announcements/{itemId}/addOnAttachments", +"request": { +"$ref": "AddOnAttachment" +}, +"response": { +"$ref": "AddOnAttachment" +} +}, +"delete": { +"description": "Deletes an add-on attachment. Requires the add-on to have been the original creator of the attachment. This method returns the following error codes: * `PERMISSION_DENIED` for access errors. * `INVALID_ARGUMENT` if the request is malformed. * `NOT_FOUND` if one of the identified resources does not exist.", +"flatPath": "v1/courses/{courseId}/announcements/{itemId}/addOnAttachments/{attachmentId}", +"httpMethod": "DELETE", +"id": "classroom.courses.announcements.addOnAttachments.delete", +"parameterOrder": [ +"courseId", +"itemId", +"attachmentId" +], +"parameters": { +"attachmentId": { +"description": "Required. Identifier of the attachment.", +"location": "path", +"required": true, +"type": "string" +}, +"courseId": { +"description": "Required. Identifier of the course.", +"location": "path", +"required": true, +"type": "string" +}, +"itemId": { +"description": "Identifier of the `Announcement`, `CourseWork`, or `CourseWorkMaterial` under which the attachment is attached. This field is required, but is not marked as such while we are migrating from post_id.", +"location": "path", +"required": true, +"type": "string" +}, +"postId": { +"deprecated": true, +"description": "Optional. Deprecated, use `item_id` instead.", +"location": "query", +"type": "string" +} +}, +"path": "v1/courses/{courseId}/announcements/{itemId}/addOnAttachments/{attachmentId}", +"response": { +"$ref": "Empty" +} +}, +"get": { +"description": "Returns an add-on attachment. Requires the add-on requesting the attachment to be the original creator of the attachment. This method returns the following error codes: * `PERMISSION_DENIED` for access errors. * `INVALID_ARGUMENT` if the request is malformed. * `NOT_FOUND` if one of the identified resources does not exist.", +"flatPath": "v1/courses/{courseId}/announcements/{itemId}/addOnAttachments/{attachmentId}", +"httpMethod": "GET", +"id": "classroom.courses.announcements.addOnAttachments.get", +"parameterOrder": [ +"courseId", +"itemId", +"attachmentId" +], +"parameters": { +"attachmentId": { +"description": "Required. Identifier of the attachment.", +"location": "path", +"required": true, +"type": "string" +}, +"courseId": { +"description": "Required. Identifier of the course.", +"location": "path", +"required": true, +"type": "string" +}, +"itemId": { +"description": "Identifier of the `Announcement`, `CourseWork`, or `CourseWorkMaterial` under which the attachment is attached. This field is required, but is not marked as such while we are migrating from post_id.", +"location": "path", +"required": true, +"type": "string" +}, +"postId": { +"deprecated": true, +"description": "Optional. Deprecated, use `item_id` instead.", +"location": "query", +"type": "string" +} +}, +"path": "v1/courses/{courseId}/announcements/{itemId}/addOnAttachments/{attachmentId}", +"response": { +"$ref": "AddOnAttachment" +} +}, +"list": { +"description": "Returns all attachments created by an add-on under the post. Requires the add-on to have active attachments on the post or have permission to create new attachments on the post. This method returns the following error codes: * `PERMISSION_DENIED` for access errors. * `INVALID_ARGUMENT` if the request is malformed. * `NOT_FOUND` if one of the identified resources does not exist.", +"flatPath": "v1/courses/{courseId}/announcements/{itemId}/addOnAttachments", +"httpMethod": "GET", +"id": "classroom.courses.announcements.addOnAttachments.list", +"parameterOrder": [ +"courseId", +"itemId" +], +"parameters": { +"courseId": { +"description": "Required. Identifier of the course.", +"location": "path", +"required": true, +"type": "string" +}, +"itemId": { +"description": "Identifier of the `Announcement`, `CourseWork`, or `CourseWorkMaterial` whose attachments should be enumerated. This field is required, but is not marked as such while we are migrating from post_id.", +"location": "path", +"required": true, +"type": "string" +}, +"pageSize": { +"description": "The maximum number of attachments to return. The service may return fewer than this value. If unspecified, at most 20 attachments will be returned. The maximum value is 20; values above 20 will be coerced to 20.", +"format": "int32", +"location": "query", +"type": "integer" +}, +"pageToken": { +"description": "A page token, received from a previous `ListAddOnAttachments` call. Provide this to retrieve the subsequent page. When paginating, all other parameters provided to `ListAddOnAttachments` must match the call that provided the page token.", +"location": "query", +"type": "string" +}, +"postId": { +"deprecated": true, +"description": "Optional. Identifier of the post under the course whose attachments to enumerate. Deprecated, use `item_id` instead.", +"location": "query", +"type": "string" +} +}, +"path": "v1/courses/{courseId}/announcements/{itemId}/addOnAttachments", +"response": { +"$ref": "ListAddOnAttachmentsResponse" +} +}, +"patch": { +"description": "Updates an add-on attachment. Requires the add-on to have been the original creator of the attachment. This method returns the following error codes: * `PERMISSION_DENIED` for access errors. * `INVALID_ARGUMENT` if the request is malformed. * `NOT_FOUND` if one of the identified resources does not exist.", +"flatPath": "v1/courses/{courseId}/announcements/{itemId}/addOnAttachments/{attachmentId}", +"httpMethod": "PATCH", +"id": "classroom.courses.announcements.addOnAttachments.patch", +"parameterOrder": [ +"courseId", +"itemId", +"attachmentId" +], +"parameters": { +"attachmentId": { +"description": "Required. Identifier of the attachment.", +"location": "path", +"required": true, +"type": "string" +}, +"courseId": { +"description": "Required. Identifier of the course.", +"location": "path", +"required": true, +"type": "string" +}, +"itemId": { +"description": "Identifier of the post under which the attachment is attached.", +"location": "path", +"required": true, +"type": "string" +}, +"postId": { +"description": "Required. Identifier of the post under which the attachment is attached.", +"location": "query", +"type": "string" +}, +"updateMask": { +"description": "Required. Mask that identifies which fields on the attachment to update. The update fails if invalid fields are specified. If a field supports empty values, it can be cleared by specifying it in the update mask and not in the `AddOnAttachment` object. If a field that does not support empty values is included in the update mask and not set in the `AddOnAttachment` object, an `INVALID_ARGUMENT` error is returned. The following fields may be specified by teachers: * `title` * `teacher_view_uri` * `student_view_uri` * `student_work_review_uri` * `due_date` * `due_time` * `max_points`", +"format": "google-fieldmask", +"location": "query", +"type": "string" +} +}, +"path": "v1/courses/{courseId}/announcements/{itemId}/addOnAttachments/{attachmentId}", +"request": { +"$ref": "AddOnAttachment" +}, +"response": { +"$ref": "AddOnAttachment" +} +} +} +} +} +}, +"courseWork": { +"methods": { +"create": { +"description": "Creates course work. The resulting course work (and corresponding student submissions) are associated with the Developer Console project of the [OAuth client ID](https://support.google.com/cloud/answer/6158849) used to make the request. Classroom API requests to modify course work and student submissions must be made with an OAuth client ID from the associated Developer Console project. This method returns the following error codes: * `PERMISSION_DENIED` if the requesting user is not permitted to access the requested course, create course work in the requested course, share a Drive attachment, or for access errors. * `INVALID_ARGUMENT` if the request is malformed. * `NOT_FOUND` if the requested course does not exist. * `FAILED_PRECONDITION` for the following request error: * AttachmentNotVisible", +"flatPath": "v1/courses/{courseId}/courseWork", +"httpMethod": "POST", +"id": "classroom.courses.courseWork.create", +"parameterOrder": [ +"courseId" +], +"parameters": { +"courseId": { +"description": "Identifier of the course. This identifier can be either the Classroom-assigned identifier or an alias.", +"location": "path", +"required": true, +"type": "string" +} +}, +"path": "v1/courses/{courseId}/courseWork", +"request": { +"$ref": "CourseWork" +}, +"response": { +"$ref": "CourseWork" +}, +"scopes": [ +"https://www.googleapis.com/auth/classroom.coursework.students" +] +}, +"delete": { +"description": "Deletes a course work. This request must be made by the Developer Console project of the [OAuth client ID](https://support.google.com/cloud/answer/6158849) used to create the corresponding course work item. This method returns the following error codes: * `PERMISSION_DENIED` if the requesting developer project did not create the corresponding course work, if the requesting user is not permitted to delete the requested course or for access errors. * `FAILED_PRECONDITION` if the requested course work has already been deleted. * `NOT_FOUND` if no course exists with the requested ID.", +"flatPath": "v1/courses/{courseId}/courseWork/{id}", +"httpMethod": "DELETE", +"id": "classroom.courses.courseWork.delete", +"parameterOrder": [ +"courseId", +"id" +], +"parameters": { +"courseId": { +"description": "Identifier of the course. This identifier can be either the Classroom-assigned identifier or an alias.", +"location": "path", +"required": true, +"type": "string" +}, +"id": { +"description": "Identifier of the course work to delete. This identifier is a Classroom-assigned identifier.", +"location": "path", +"required": true, +"type": "string" +} +}, +"path": "v1/courses/{courseId}/courseWork/{id}", +"response": { +"$ref": "Empty" +}, +"scopes": [ +"https://www.googleapis.com/auth/classroom.coursework.students" +] +}, +"get": { +"description": "Returns course work. This method returns the following error codes: * `PERMISSION_DENIED` if the requesting user is not permitted to access the requested course or course work, or for access errors. * `INVALID_ARGUMENT` if the request is malformed. * `NOT_FOUND` if the requested course or course work does not exist.", +"flatPath": "v1/courses/{courseId}/courseWork/{id}", +"httpMethod": "GET", +"id": "classroom.courses.courseWork.get", +"parameterOrder": [ +"courseId", +"id" +], +"parameters": { +"courseId": { +"description": "Identifier of the course. This identifier can be either the Classroom-assigned identifier or an alias.", +"location": "path", +"required": true, +"type": "string" +}, +"id": { +"description": "Identifier of the course work.", +"location": "path", +"required": true, +"type": "string" +} +}, +"path": "v1/courses/{courseId}/courseWork/{id}", +"response": { +"$ref": "CourseWork" +}, +"scopes": [ +"https://www.googleapis.com/auth/classroom.coursework.me", +"https://www.googleapis.com/auth/classroom.coursework.me.readonly", +"https://www.googleapis.com/auth/classroom.coursework.students", +"https://www.googleapis.com/auth/classroom.coursework.students.readonly" +] +}, +"getAddOnContext": { +"description": "Gets metadata for Classroom add-ons in the context of a specific post. To maintain the integrity of its own data and permissions model, an add-on should call this to validate query parameters and the requesting user's role whenever the add-on is opened in an [iframe](https://developers.google.com/classroom/add-ons/get-started/iframes/iframes-overview). This method returns the following error codes: * `PERMISSION_DENIED` for access errors. * `INVALID_ARGUMENT` if the request is malformed. * `NOT_FOUND` if one of the identified resources does not exist.", +"flatPath": "v1/courses/{courseId}/courseWork/{itemId}/addOnContext", +"httpMethod": "GET", +"id": "classroom.courses.courseWork.getAddOnContext", +"parameterOrder": [ +"courseId", +"itemId" +], +"parameters": { +"addOnToken": { +"description": "Optional. Token that authorizes the request. The token is passed as a query parameter when the user is redirected from Classroom to the add-on's URL. The authorization token is required when neither of the following is true: * The add-on has attachments on the post. * The developer project issuing the request is the same project that created the post.", +"location": "query", +"type": "string" +}, +"attachmentId": { +"description": "Optional. The identifier of the attachment. This field is required for all requests except when the user is in the [Attachment Discovery iframe](https://developers.google.com/classroom/add-ons/get-started/iframes/attachment-discovery-iframe).", +"location": "query", +"type": "string" +}, +"courseId": { +"description": "Required. Identifier of the course.", +"location": "path", +"required": true, +"type": "string" +}, +"itemId": { +"description": "Identifier of the `Announcement`, `CourseWork`, or `CourseWorkMaterial` under which the attachment is attached. This field is required, but is not marked as such while we are migrating from post_id.", +"location": "path", +"required": true, +"type": "string" +}, +"postId": { +"deprecated": true, +"description": "Optional. Deprecated, use `item_id` instead.", +"location": "query", +"type": "string" +} +}, +"path": "v1/courses/{courseId}/courseWork/{itemId}/addOnContext", +"response": { +"$ref": "AddOnContext" +} +}, +"list": { +"description": "Returns a list of course work that the requester is permitted to view. Course students may only view `PUBLISHED` course work. Course teachers and domain administrators may view all course work. This method returns the following error codes: * `PERMISSION_DENIED` if the requesting user is not permitted to access the requested course or for access errors. * `INVALID_ARGUMENT` if the request is malformed. * `NOT_FOUND` if the requested course does not exist.", +"flatPath": "v1/courses/{courseId}/courseWork", +"httpMethod": "GET", +"id": "classroom.courses.courseWork.list", +"parameterOrder": [ +"courseId" +], +"parameters": { +"courseId": { +"description": "Identifier of the course. This identifier can be either the Classroom-assigned identifier or an alias.", +"location": "path", +"required": true, +"type": "string" +}, +"courseWorkStates": { +"description": "Restriction on the work status to return. Only courseWork that matches is returned. If unspecified, items with a work status of `PUBLISHED` is returned.", +"enum": [ +"COURSE_WORK_STATE_UNSPECIFIED", +"PUBLISHED", +"DRAFT", +"DELETED" +], +"enumDescriptions": [ +"No state specified. This is never returned.", +"Status for work that has been published. This is the default state.", +"Status for work that is not yet published. Work in this state is visible only to course teachers and domain administrators.", +"Status for work that was published but is now deleted. Work in this state is visible only to course teachers and domain administrators. Work in this state is deleted after some time." +], +"location": "query", +"repeated": true, +"type": "string" +}, +"orderBy": { +"description": "Optional sort ordering for results. A comma-separated list of fields with an optional sort direction keyword. Supported fields are `updateTime` and `dueDate`. Supported direction keywords are `asc` and `desc`. If not specified, `updateTime desc` is the default behavior. Examples: `dueDate asc,updateTime desc`, `updateTime,dueDate desc`", +"location": "query", +"type": "string" +}, +"pageSize": { +"description": "Maximum number of items to return. Zero or unspecified indicates that the server may assign a maximum. The server may return fewer than the specified number of results.", +"format": "int32", +"location": "query", +"type": "integer" +}, +"pageToken": { +"description": "nextPageToken value returned from a previous list call, indicating that the subsequent page of results should be returned. The list request must be otherwise identical to the one that resulted in this token.", +"location": "query", +"type": "string" +} +}, +"path": "v1/courses/{courseId}/courseWork", +"response": { +"$ref": "ListCourseWorkResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/classroom.coursework.me", +"https://www.googleapis.com/auth/classroom.coursework.me.readonly", +"https://www.googleapis.com/auth/classroom.coursework.students", +"https://www.googleapis.com/auth/classroom.coursework.students.readonly" +] +}, +"modifyAssignees": { +"description": "Modifies assignee mode and options of a coursework. Only a teacher of the course that contains the coursework may call this method. This method returns the following error codes: * `PERMISSION_DENIED` if the requesting user is not permitted to access the requested course or course work or for access errors. * `INVALID_ARGUMENT` if the request is malformed. * `NOT_FOUND` if the requested course or course work does not exist.", +"flatPath": "v1/courses/{courseId}/courseWork/{id}:modifyAssignees", +"httpMethod": "POST", +"id": "classroom.courses.courseWork.modifyAssignees", +"parameterOrder": [ +"courseId", +"id" +], +"parameters": { +"courseId": { +"description": "Identifier of the course. This identifier can be either the Classroom-assigned identifier or an alias.", +"location": "path", +"required": true, +"type": "string" +}, +"id": { +"description": "Identifier of the coursework.", +"location": "path", +"required": true, +"type": "string" +} +}, +"path": "v1/courses/{courseId}/courseWork/{id}:modifyAssignees", +"request": { +"$ref": "ModifyCourseWorkAssigneesRequest" +}, +"response": { +"$ref": "CourseWork" +}, +"scopes": [ +"https://www.googleapis.com/auth/classroom.coursework.students" +] +}, +"patch": { +"description": "Updates one or more fields of a course work. See google.classroom.v1.CourseWork for details of which fields may be updated and who may change them. This request must be made by the Developer Console project of the [OAuth client ID](https://support.google.com/cloud/answer/6158849) used to create the corresponding course work item. This method returns the following error codes: * `PERMISSION_DENIED` if the requesting developer project did not create the corresponding course work, if the user is not permitted to make the requested modification to the student submission, or for access errors. * `INVALID_ARGUMENT` if the request is malformed. * `FAILED_PRECONDITION` if the requested course work has already been deleted. * `NOT_FOUND` if the requested course or course work does not exist.", +"flatPath": "v1/courses/{courseId}/courseWork/{id}", +"httpMethod": "PATCH", +"id": "classroom.courses.courseWork.patch", +"parameterOrder": [ +"courseId", +"id" +], +"parameters": { +"courseId": { +"description": "Identifier of the course. This identifier can be either the Classroom-assigned identifier or an alias.", +"location": "path", +"required": true, +"type": "string" +}, +"id": { +"description": "Identifier of the course work.", +"location": "path", +"required": true, +"type": "string" +}, +"updateMask": { +"description": "Mask that identifies which fields on the course work to update. This field is required to do an update. The update fails if invalid fields are specified. If a field supports empty values, it can be cleared by specifying it in the update mask and not in the `CourseWork` object. If a field that does not support empty values is included in the update mask and not set in the `CourseWork` object, an `INVALID_ARGUMENT` error is returned. The following fields may be specified by teachers: * `title` * `description` * `state` * `due_date` * `due_time` * `max_points` * `scheduled_time` * `submission_modification_mode` * `topic_id` * `grading_period_id` Available in [V1_20240401_PREVIEW](https://developers.google.com/classroom/reference/preview) and later.", +"format": "google-fieldmask", +"location": "query", +"type": "string" +} +}, +"path": "v1/courses/{courseId}/courseWork/{id}", +"request": { +"$ref": "CourseWork" +}, +"response": { +"$ref": "CourseWork" +}, +"scopes": [ +"https://www.googleapis.com/auth/classroom.coursework.students" +] +}, +"updateRubric": { +"description": "Updates a rubric. See google.classroom.v1.Rubric for details of which fields can be updated. Rubric update capabilities are [limited](/classroom/rubrics/limitations) once grading has started. The requesting user and course owner must have rubrics creation capabilities. For details, see [licensing requirements](https://developers.google.com/classroom/rubrics/limitations#license-requirements). This request must be made by the Google Cloud console of the [OAuth client ID](https://support.google.com/cloud/answer/6158849) used to create the parent course work item. This method returns the following error codes: * `PERMISSION_DENIED` if the requesting developer project didn't create the corresponding course work, if the user isn't permitted to make the requested modification to the rubric, or for access errors. This error code is also returned if grading has already started on the rubric. * `INVALID_ARGUMENT` if the request is malformed and for the following request error: * `RubricCriteriaInvalidFormat` * `NOT_FOUND` if the requested course, course work, or rubric doesn't exist or if the user doesn't have access to the corresponding course work. * `INTERNAL` if grading has already started on the rubric.", +"flatPath": "v1/courses/{courseId}/courseWork/{courseWorkId}/rubric", +"httpMethod": "PATCH", +"id": "classroom.courses.courseWork.updateRubric", +"parameterOrder": [ +"courseId", +"courseWorkId" +], +"parameters": { +"courseId": { +"description": "Required. Identifier of the course.", +"location": "path", +"required": true, +"type": "string" +}, +"courseWorkId": { +"description": "Required. Identifier of the course work.", +"location": "path", +"required": true, +"type": "string" +}, +"id": { +"description": "Optional. Identifier of the rubric.", +"location": "query", +"type": "string" +}, +"updateMask": { +"description": "Optional. Mask that identifies which fields on the rubric to update. This field is required to do an update. The update fails if invalid fields are specified. There are multiple options to define the criteria of a rubric: the `source_spreadsheet_id` and the `criteria` list. Only one of these can be used at a time to define a rubric. The rubric `criteria` list is fully replaced by the rubric criteria specified in the update request. For example, if a criterion or level is missing from the request, it is deleted. New criteria and levels are added and an ID is assigned. Existing criteria and levels retain the previously assigned ID if the ID is specified in the request. The following fields can be specified by teachers: * `criteria` * `source_spreadsheet_id`", +"format": "google-fieldmask", +"location": "query", +"type": "string" +} +}, +"path": "v1/courses/{courseId}/courseWork/{courseWorkId}/rubric", +"request": { +"$ref": "Rubric" +}, +"response": { +"$ref": "Rubric" +}, +"scopes": [ +"https://www.googleapis.com/auth/classroom.coursework.students" +] +} +}, +"resources": { +"addOnAttachments": { +"methods": { +"create": { +"description": "Creates an add-on attachment under a post. Requires the add-on to have permission to create new attachments on the post. This method returns the following error codes: * `PERMISSION_DENIED` for access errors. * `INVALID_ARGUMENT` if the request is malformed. * `NOT_FOUND` if one of the identified resources does not exist.", +"flatPath": "v1/courses/{courseId}/courseWork/{itemId}/addOnAttachments", +"httpMethod": "POST", +"id": "classroom.courses.courseWork.addOnAttachments.create", +"parameterOrder": [ +"courseId", +"itemId" +], +"parameters": { +"addOnToken": { +"description": "Optional. Token that authorizes the request. The token is passed as a query parameter when the user is redirected from Classroom to the add-on's URL. This authorization token is required for in-Classroom attachment creation but optional for partner-first attachment creation. Returns an error if not provided for partner-first attachment creation and the developer projects that created the attachment and its parent stream item do not match.", +"location": "query", +"type": "string" +}, +"courseId": { +"description": "Required. Identifier of the course.", +"location": "path", +"required": true, +"type": "string" +}, +"itemId": { +"description": "Identifier of the `Announcement`, `CourseWork`, or `CourseWorkMaterial` under which to create the attachment. This field is required, but is not marked as such while we are migrating from post_id.", +"location": "path", +"required": true, +"type": "string" +}, +"postId": { +"deprecated": true, +"description": "Optional. Deprecated, use `item_id` instead.", +"location": "query", +"type": "string" +} +}, +"path": "v1/courses/{courseId}/courseWork/{itemId}/addOnAttachments", +"request": { +"$ref": "AddOnAttachment" +}, +"response": { +"$ref": "AddOnAttachment" +} +}, +"delete": { +"description": "Deletes an add-on attachment. Requires the add-on to have been the original creator of the attachment. This method returns the following error codes: * `PERMISSION_DENIED` for access errors. * `INVALID_ARGUMENT` if the request is malformed. * `NOT_FOUND` if one of the identified resources does not exist.", +"flatPath": "v1/courses/{courseId}/courseWork/{itemId}/addOnAttachments/{attachmentId}", +"httpMethod": "DELETE", +"id": "classroom.courses.courseWork.addOnAttachments.delete", +"parameterOrder": [ +"courseId", +"itemId", +"attachmentId" +], +"parameters": { +"attachmentId": { +"description": "Required. Identifier of the attachment.", +"location": "path", +"required": true, +"type": "string" +}, +"courseId": { +"description": "Required. Identifier of the course.", +"location": "path", +"required": true, +"type": "string" +}, +"itemId": { +"description": "Identifier of the `Announcement`, `CourseWork`, or `CourseWorkMaterial` under which the attachment is attached. This field is required, but is not marked as such while we are migrating from post_id.", +"location": "path", +"required": true, +"type": "string" +}, +"postId": { +"deprecated": true, +"description": "Optional. Deprecated, use `item_id` instead.", +"location": "query", +"type": "string" +} +}, +"path": "v1/courses/{courseId}/courseWork/{itemId}/addOnAttachments/{attachmentId}", +"response": { +"$ref": "Empty" +} +}, +"get": { +"description": "Returns an add-on attachment. Requires the add-on requesting the attachment to be the original creator of the attachment. This method returns the following error codes: * `PERMISSION_DENIED` for access errors. * `INVALID_ARGUMENT` if the request is malformed. * `NOT_FOUND` if one of the identified resources does not exist.", +"flatPath": "v1/courses/{courseId}/courseWork/{itemId}/addOnAttachments/{attachmentId}", +"httpMethod": "GET", +"id": "classroom.courses.courseWork.addOnAttachments.get", +"parameterOrder": [ +"courseId", +"itemId", +"attachmentId" +], +"parameters": { +"attachmentId": { +"description": "Required. Identifier of the attachment.", +"location": "path", +"required": true, +"type": "string" +}, +"courseId": { +"description": "Required. Identifier of the course.", +"location": "path", +"required": true, +"type": "string" +}, +"itemId": { +"description": "Identifier of the `Announcement`, `CourseWork`, or `CourseWorkMaterial` under which the attachment is attached. This field is required, but is not marked as such while we are migrating from post_id.", +"location": "path", +"required": true, +"type": "string" +}, +"postId": { +"deprecated": true, +"description": "Optional. Deprecated, use `item_id` instead.", +"location": "query", +"type": "string" +} +}, +"path": "v1/courses/{courseId}/courseWork/{itemId}/addOnAttachments/{attachmentId}", +"response": { +"$ref": "AddOnAttachment" +} +}, +"list": { +"description": "Returns all attachments created by an add-on under the post. Requires the add-on to have active attachments on the post or have permission to create new attachments on the post. This method returns the following error codes: * `PERMISSION_DENIED` for access errors. * `INVALID_ARGUMENT` if the request is malformed. * `NOT_FOUND` if one of the identified resources does not exist.", +"flatPath": "v1/courses/{courseId}/courseWork/{itemId}/addOnAttachments", +"httpMethod": "GET", +"id": "classroom.courses.courseWork.addOnAttachments.list", +"parameterOrder": [ +"courseId", +"itemId" +], +"parameters": { +"courseId": { +"description": "Required. Identifier of the course.", +"location": "path", +"required": true, +"type": "string" +}, +"itemId": { +"description": "Identifier of the `Announcement`, `CourseWork`, or `CourseWorkMaterial` whose attachments should be enumerated. This field is required, but is not marked as such while we are migrating from post_id.", +"location": "path", +"required": true, +"type": "string" +}, +"pageSize": { +"description": "The maximum number of attachments to return. The service may return fewer than this value. If unspecified, at most 20 attachments will be returned. The maximum value is 20; values above 20 will be coerced to 20.", +"format": "int32", +"location": "query", +"type": "integer" +}, +"pageToken": { +"description": "A page token, received from a previous `ListAddOnAttachments` call. Provide this to retrieve the subsequent page. When paginating, all other parameters provided to `ListAddOnAttachments` must match the call that provided the page token.", +"location": "query", +"type": "string" +}, +"postId": { +"deprecated": true, +"description": "Optional. Identifier of the post under the course whose attachments to enumerate. Deprecated, use `item_id` instead.", +"location": "query", +"type": "string" +} +}, +"path": "v1/courses/{courseId}/courseWork/{itemId}/addOnAttachments", +"response": { +"$ref": "ListAddOnAttachmentsResponse" +} +}, +"patch": { +"description": "Updates an add-on attachment. Requires the add-on to have been the original creator of the attachment. This method returns the following error codes: * `PERMISSION_DENIED` for access errors. * `INVALID_ARGUMENT` if the request is malformed. * `NOT_FOUND` if one of the identified resources does not exist.", +"flatPath": "v1/courses/{courseId}/courseWork/{itemId}/addOnAttachments/{attachmentId}", +"httpMethod": "PATCH", +"id": "classroom.courses.courseWork.addOnAttachments.patch", +"parameterOrder": [ +"courseId", +"itemId", +"attachmentId" +], +"parameters": { +"attachmentId": { +"description": "Required. Identifier of the attachment.", +"location": "path", +"required": true, +"type": "string" +}, +"courseId": { +"description": "Required. Identifier of the course.", +"location": "path", +"required": true, +"type": "string" +}, +"itemId": { +"description": "Identifier of the post under which the attachment is attached.", +"location": "path", +"required": true, +"type": "string" +}, +"postId": { +"description": "Required. Identifier of the post under which the attachment is attached.", +"location": "query", +"type": "string" +}, +"updateMask": { +"description": "Required. Mask that identifies which fields on the attachment to update. The update fails if invalid fields are specified. If a field supports empty values, it can be cleared by specifying it in the update mask and not in the `AddOnAttachment` object. If a field that does not support empty values is included in the update mask and not set in the `AddOnAttachment` object, an `INVALID_ARGUMENT` error is returned. The following fields may be specified by teachers: * `title` * `teacher_view_uri` * `student_view_uri` * `student_work_review_uri` * `due_date` * `due_time` * `max_points`", +"format": "google-fieldmask", +"location": "query", +"type": "string" +} +}, +"path": "v1/courses/{courseId}/courseWork/{itemId}/addOnAttachments/{attachmentId}", +"request": { +"$ref": "AddOnAttachment" +}, +"response": { +"$ref": "AddOnAttachment" +} +} +}, +"resources": { +"studentSubmissions": { +"methods": { +"get": { +"description": "Returns a student submission for an add-on attachment. This method returns the following error codes: * `PERMISSION_DENIED` for access errors. * `INVALID_ARGUMENT` if the request is malformed. * `NOT_FOUND` if one of the identified resources does not exist.", +"flatPath": "v1/courses/{courseId}/courseWork/{itemId}/addOnAttachments/{attachmentId}/studentSubmissions/{submissionId}", +"httpMethod": "GET", +"id": "classroom.courses.courseWork.addOnAttachments.studentSubmissions.get", +"parameterOrder": [ +"courseId", +"itemId", +"attachmentId", +"submissionId" +], +"parameters": { +"attachmentId": { +"description": "Required. Identifier of the attachment.", +"location": "path", +"required": true, +"type": "string" +}, +"courseId": { +"description": "Required. Identifier of the course.", +"location": "path", +"required": true, +"type": "string" +}, +"itemId": { +"description": "Identifier of the `Announcement`, `CourseWork`, or `CourseWorkMaterial` under which the attachment is attached. This field is required, but is not marked as such while we are migrating from post_id.", +"location": "path", +"required": true, +"type": "string" +}, +"postId": { +"deprecated": true, +"description": "Optional. Deprecated, use `item_id` instead.", +"location": "query", +"type": "string" +}, +"submissionId": { +"description": "Required. Identifier of the student\u2019s submission.", +"location": "path", +"required": true, +"type": "string" +} +}, +"path": "v1/courses/{courseId}/courseWork/{itemId}/addOnAttachments/{attachmentId}/studentSubmissions/{submissionId}", +"response": { +"$ref": "AddOnAttachmentStudentSubmission" +}, +"scopes": [ +"https://www.googleapis.com/auth/classroom.student-submissions.students.readonly" +] +}, +"patch": { +"description": "Updates data associated with an add-on attachment submission. Requires the add-on to have been the original creator of the attachment and the attachment to have a positive `max_points` value set. This method returns the following error codes: * `PERMISSION_DENIED` for access errors. * `INVALID_ARGUMENT` if the request is malformed. * `NOT_FOUND` if one of the identified resources does not exist.", +"flatPath": "v1/courses/{courseId}/courseWork/{itemId}/addOnAttachments/{attachmentId}/studentSubmissions/{submissionId}", +"httpMethod": "PATCH", +"id": "classroom.courses.courseWork.addOnAttachments.studentSubmissions.patch", +"parameterOrder": [ +"courseId", +"itemId", +"attachmentId", +"submissionId" +], +"parameters": { +"attachmentId": { +"description": "Required. Identifier of the attachment.", +"location": "path", +"required": true, +"type": "string" +}, +"courseId": { +"description": "Required. Identifier of the course.", +"location": "path", +"required": true, +"type": "string" +}, +"itemId": { +"description": "Identifier of the `Announcement`, `CourseWork`, or `CourseWorkMaterial` under which the attachment is attached. This field is required, but is not marked as such while we are migrating from post_id.", +"location": "path", +"required": true, +"type": "string" +}, +"postId": { +"deprecated": true, +"description": "Optional. Deprecated, use `item_id` instead.", +"location": "query", +"type": "string" +}, +"submissionId": { +"description": "Required. Identifier of the student's submission.", +"location": "path", +"required": true, +"type": "string" +}, +"updateMask": { +"description": "Required. Mask that identifies which fields on the attachment to update. The update fails if invalid fields are specified. If a field supports empty values, it can be cleared by specifying it in the update mask and not in the `AddOnAttachmentStudentSubmission` object. The following fields may be specified by teachers: * `points_earned`", +"format": "google-fieldmask", +"location": "query", +"type": "string" +} +}, +"path": "v1/courses/{courseId}/courseWork/{itemId}/addOnAttachments/{attachmentId}/studentSubmissions/{submissionId}", +"request": { +"$ref": "AddOnAttachmentStudentSubmission" +}, +"response": { +"$ref": "AddOnAttachmentStudentSubmission" +} +} +} +} +} +}, +"rubrics": { +"methods": { +"create": { +"description": "Creates a rubric. The requesting user and course owner must have rubrics creation capabilities. For details, see [licensing requirements](https://developers.google.com/classroom/rubrics/limitations#license-requirements). For further details, see [Rubrics structure and known limitations](/classroom/rubrics/limitations). This request must be made by the Google Cloud console of the [OAuth client ID](https://support.google.com/cloud/answer/6158849) used to create the parent course work item. This method returns the following error codes: * `PERMISSION_DENIED` if the requesting user isn't permitted to create rubrics for course work in the requested course. * `INTERNAL` if the request has insufficient OAuth scopes. * `INVALID_ARGUMENT` if the request is malformed and for the following request error: * `RubricCriteriaInvalidFormat` * `NOT_FOUND` if the requested course or course work don't exist or the user doesn't have access to the course or course work. * `FAILED_PRECONDITION` for the following request error: * `AttachmentNotVisible`", +"flatPath": "v1/courses/{courseId}/courseWork/{courseWorkId}/rubrics", +"httpMethod": "POST", +"id": "classroom.courses.courseWork.rubrics.create", +"parameterOrder": [ +"courseId", +"courseWorkId" +], +"parameters": { +"courseId": { +"description": "Required. Identifier of the course.", +"location": "path", +"required": true, +"type": "string" +}, +"courseWorkId": { +"description": "Required. Identifier of the course work.", +"location": "path", +"required": true, +"type": "string" +} +}, +"path": "v1/courses/{courseId}/courseWork/{courseWorkId}/rubrics", +"request": { +"$ref": "Rubric" +}, +"response": { +"$ref": "Rubric" +}, +"scopes": [ +"https://www.googleapis.com/auth/classroom.coursework.students" +] +}, +"delete": { +"description": "Deletes a rubric. The requesting user and course owner must have rubrics creation capabilities. For details, see [licensing requirements](https://developers.google.com/classroom/rubrics/limitations#license-requirements). This request must be made by the Google Cloud console of the [OAuth client ID](https://support.google.com/cloud/answer/6158849) used to create the corresponding rubric. This method returns the following error codes: * `PERMISSION_DENIED` if the requesting developer project didn't create the corresponding rubric, or if the requesting user isn't permitted to delete the requested rubric. * `NOT_FOUND` if no rubric exists with the requested ID or the user does not have access to the course, course work, or rubric. * `INVALID_ARGUMENT` if grading has already started on the rubric.", +"flatPath": "v1/courses/{courseId}/courseWork/{courseWorkId}/rubrics/{id}", +"httpMethod": "DELETE", +"id": "classroom.courses.courseWork.rubrics.delete", +"parameterOrder": [ +"courseId", +"courseWorkId", +"id" +], +"parameters": { +"courseId": { +"description": "Required. Identifier of the course.", +"location": "path", +"required": true, +"type": "string" +}, +"courseWorkId": { +"description": "Required. Identifier of the course work.", +"location": "path", +"required": true, +"type": "string" +}, +"id": { +"description": "Required. Identifier of the rubric.", +"location": "path", +"required": true, +"type": "string" +} +}, +"path": "v1/courses/{courseId}/courseWork/{courseWorkId}/rubrics/{id}", +"response": { +"$ref": "Empty" +}, +"scopes": [ +"https://www.googleapis.com/auth/classroom.coursework.students" +] +}, +"get": { +"description": "Returns a rubric. This method returns the following error codes: * `PERMISSION_DENIED` for access errors. * `INVALID_ARGUMENT` if the request is malformed. * `NOT_FOUND` if the requested course, course work, or rubric doesn't exist or if the user doesn't have access to the corresponding course work.", +"flatPath": "v1/courses/{courseId}/courseWork/{courseWorkId}/rubrics/{id}", +"httpMethod": "GET", +"id": "classroom.courses.courseWork.rubrics.get", +"parameterOrder": [ +"courseId", +"courseWorkId", +"id" +], +"parameters": { +"courseId": { +"description": "Required. Identifier of the course.", +"location": "path", +"required": true, +"type": "string" +}, +"courseWorkId": { +"description": "Required. Identifier of the course work.", +"location": "path", +"required": true, +"type": "string" +}, +"id": { +"description": "Required. Identifier of the rubric.", +"location": "path", +"required": true, +"type": "string" +} +}, +"path": "v1/courses/{courseId}/courseWork/{courseWorkId}/rubrics/{id}", +"response": { +"$ref": "Rubric" +}, +"scopes": [ +"https://www.googleapis.com/auth/classroom.coursework.me", +"https://www.googleapis.com/auth/classroom.coursework.me.readonly", +"https://www.googleapis.com/auth/classroom.coursework.students", +"https://www.googleapis.com/auth/classroom.coursework.students.readonly" +] +}, +"list": { +"description": "Returns a list of rubrics that the requester is permitted to view. This method returns the following error codes: * `PERMISSION_DENIED` for access errors. * `INVALID_ARGUMENT` if the request is malformed. * `NOT_FOUND` if the requested course or course work doesn't exist or if the user doesn't have access to the corresponding course work.", +"flatPath": "v1/courses/{courseId}/courseWork/{courseWorkId}/rubrics", +"httpMethod": "GET", +"id": "classroom.courses.courseWork.rubrics.list", +"parameterOrder": [ +"courseId", +"courseWorkId" +], +"parameters": { +"courseId": { +"description": "Required. Identifier of the course.", +"location": "path", +"required": true, +"type": "string" +}, +"courseWorkId": { +"description": "Required. Identifier of the course work.", +"location": "path", +"required": true, +"type": "string" +}, +"pageSize": { +"description": "The maximum number of rubrics to return. If unspecified, at most 1 rubric is returned. The maximum value is 1; values above 1 are coerced to 1.", +"format": "int32", +"location": "query", +"type": "integer" +}, +"pageToken": { +"description": "nextPageToken value returned from a previous list call, indicating that the subsequent page of results should be returned. The list request must be otherwise identical to the one that resulted in this token.", +"location": "query", +"type": "string" +} +}, +"path": "v1/courses/{courseId}/courseWork/{courseWorkId}/rubrics", +"response": { +"$ref": "ListRubricsResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/classroom.coursework.me", +"https://www.googleapis.com/auth/classroom.coursework.me.readonly", +"https://www.googleapis.com/auth/classroom.coursework.students", +"https://www.googleapis.com/auth/classroom.coursework.students.readonly" +] +}, +"patch": { +"description": "Updates a rubric. See google.classroom.v1.Rubric for details of which fields can be updated. Rubric update capabilities are [limited](/classroom/rubrics/limitations) once grading has started. The requesting user and course owner must have rubrics creation capabilities. For details, see [licensing requirements](https://developers.google.com/classroom/rubrics/limitations#license-requirements). This request must be made by the Google Cloud console of the [OAuth client ID](https://support.google.com/cloud/answer/6158849) used to create the parent course work item. This method returns the following error codes: * `PERMISSION_DENIED` if the requesting developer project didn't create the corresponding course work, if the user isn't permitted to make the requested modification to the rubric, or for access errors. This error code is also returned if grading has already started on the rubric. * `INVALID_ARGUMENT` if the request is malformed and for the following request error: * `RubricCriteriaInvalidFormat` * `NOT_FOUND` if the requested course, course work, or rubric doesn't exist or if the user doesn't have access to the corresponding course work. * `INTERNAL` if grading has already started on the rubric.", +"flatPath": "v1/courses/{courseId}/courseWork/{courseWorkId}/rubrics/{id}", +"httpMethod": "PATCH", +"id": "classroom.courses.courseWork.rubrics.patch", +"parameterOrder": [ +"courseId", +"courseWorkId", +"id" +], +"parameters": { +"courseId": { +"description": "Required. Identifier of the course.", +"location": "path", +"required": true, +"type": "string" +}, +"courseWorkId": { +"description": "Required. Identifier of the course work.", +"location": "path", +"required": true, +"type": "string" +}, +"id": { +"description": "Optional. Identifier of the rubric.", +"location": "path", +"required": true, +"type": "string" +}, +"updateMask": { +"description": "Optional. Mask that identifies which fields on the rubric to update. This field is required to do an update. The update fails if invalid fields are specified. There are multiple options to define the criteria of a rubric: the `source_spreadsheet_id` and the `criteria` list. Only one of these can be used at a time to define a rubric. The rubric `criteria` list is fully replaced by the rubric criteria specified in the update request. For example, if a criterion or level is missing from the request, it is deleted. New criteria and levels are added and an ID is assigned. Existing criteria and levels retain the previously assigned ID if the ID is specified in the request. The following fields can be specified by teachers: * `criteria` * `source_spreadsheet_id`", +"format": "google-fieldmask", +"location": "query", +"type": "string" +} +}, +"path": "v1/courses/{courseId}/courseWork/{courseWorkId}/rubrics/{id}", +"request": { +"$ref": "Rubric" +}, +"response": { +"$ref": "Rubric" +}, +"scopes": [ +"https://www.googleapis.com/auth/classroom.coursework.students" +] +} +} +}, +"studentSubmissions": { +"methods": { +"get": { +"description": "Returns a student submission. * `PERMISSION_DENIED` if the requesting user is not permitted to access the requested course, course work, or student submission or for access errors. * `INVALID_ARGUMENT` if the request is malformed. * `NOT_FOUND` if the requested course, course work, or student submission does not exist.", +"flatPath": "v1/courses/{courseId}/courseWork/{courseWorkId}/studentSubmissions/{id}", +"httpMethod": "GET", +"id": "classroom.courses.courseWork.studentSubmissions.get", +"parameterOrder": [ +"courseId", +"courseWorkId", +"id" +], +"parameters": { +"courseId": { +"description": "Identifier of the course. This identifier can be either the Classroom-assigned identifier or an alias.", +"location": "path", +"required": true, +"type": "string" +}, +"courseWorkId": { +"description": "Identifier of the course work.", +"location": "path", +"required": true, +"type": "string" +}, +"id": { +"description": "Identifier of the student submission.", +"location": "path", +"required": true, +"type": "string" +} +}, +"path": "v1/courses/{courseId}/courseWork/{courseWorkId}/studentSubmissions/{id}", +"response": { +"$ref": "StudentSubmission" +}, +"scopes": [ +"https://www.googleapis.com/auth/classroom.coursework.me", +"https://www.googleapis.com/auth/classroom.coursework.me.readonly", +"https://www.googleapis.com/auth/classroom.coursework.students", +"https://www.googleapis.com/auth/classroom.coursework.students.readonly", +"https://www.googleapis.com/auth/classroom.student-submissions.me.readonly", +"https://www.googleapis.com/auth/classroom.student-submissions.students.readonly" +] +}, +"list": { +"description": "Returns a list of student submissions that the requester is permitted to view, factoring in the OAuth scopes of the request. `-` may be specified as the `course_work_id` to include student submissions for multiple course work items. Course students may only view their own work. Course teachers and domain administrators may view all student submissions. This method returns the following error codes: * `PERMISSION_DENIED` if the requesting user is not permitted to access the requested course or course work, or for access errors. * `INVALID_ARGUMENT` if the request is malformed. * `NOT_FOUND` if the requested course does not exist.", +"flatPath": "v1/courses/{courseId}/courseWork/{courseWorkId}/studentSubmissions", +"httpMethod": "GET", +"id": "classroom.courses.courseWork.studentSubmissions.list", +"parameterOrder": [ +"courseId", +"courseWorkId" +], +"parameters": { +"courseId": { +"description": "Identifier of the course. This identifier can be either the Classroom-assigned identifier or an alias.", +"location": "path", +"required": true, +"type": "string" +}, +"courseWorkId": { +"description": "Identifier of the student work to request. This may be set to the string literal `\"-\"` to request student work for all course work in the specified course.", +"location": "path", +"required": true, +"type": "string" +}, +"late": { +"description": "Requested lateness value. If specified, returned student submissions are restricted by the requested value. If unspecified, submissions are returned regardless of `late` value.", +"enum": [ +"LATE_VALUES_UNSPECIFIED", +"LATE_ONLY", +"NOT_LATE_ONLY" +], +"enumDescriptions": [ +"No restriction on submission late values specified.", +"Return StudentSubmissions where late is true.", +"Return StudentSubmissions where late is false." +], +"location": "query", +"type": "string" +}, +"pageSize": { +"description": "Maximum number of items to return. Zero or unspecified indicates that the server may assign a maximum. The server may return fewer than the specified number of results.", +"format": "int32", +"location": "query", +"type": "integer" +}, +"pageToken": { +"description": "nextPageToken value returned from a previous list call, indicating that the subsequent page of results should be returned. The list request must be otherwise identical to the one that resulted in this token.", +"location": "query", +"type": "string" +}, +"states": { +"description": "Requested submission states. If specified, returned student submissions match one of the specified submission states.", +"enum": [ +"SUBMISSION_STATE_UNSPECIFIED", +"NEW", +"CREATED", +"TURNED_IN", +"RETURNED", +"RECLAIMED_BY_STUDENT" +], +"enumDescriptions": [ +"No state specified. This should never be returned.", +"The student has never accessed this submission. Attachments are not returned and timestamps is not set.", +"Has been created.", +"Has been turned in to the teacher.", +"Has been returned to the student.", +"Student chose to \"unsubmit\" the assignment." +], +"location": "query", +"repeated": true, +"type": "string" +}, +"userId": { +"description": "Optional argument to restrict returned student work to those owned by the student with the specified identifier. The identifier can be one of the following: * the numeric identifier for the user * the email address of the user * the string literal `\"me\"`, indicating the requesting user", +"location": "query", +"type": "string" +} +}, +"path": "v1/courses/{courseId}/courseWork/{courseWorkId}/studentSubmissions", +"response": { +"$ref": "ListStudentSubmissionsResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/classroom.coursework.me", +"https://www.googleapis.com/auth/classroom.coursework.me.readonly", +"https://www.googleapis.com/auth/classroom.coursework.students", +"https://www.googleapis.com/auth/classroom.coursework.students.readonly", +"https://www.googleapis.com/auth/classroom.student-submissions.me.readonly", +"https://www.googleapis.com/auth/classroom.student-submissions.students.readonly" +] +}, +"modifyAttachments": { +"description": "Modifies attachments of student submission. Attachments may only be added to student submissions belonging to course work objects with a `workType` of `ASSIGNMENT`. This request must be made by the Developer Console project of the [OAuth client ID](https://support.google.com/cloud/answer/6158849) used to create the corresponding course work item. This method returns the following error codes: * `PERMISSION_DENIED` if the requesting user is not permitted to access the requested course or course work, if the user is not permitted to modify attachments on the requested student submission, or for access errors. * `INVALID_ARGUMENT` if the request is malformed. * `NOT_FOUND` if the requested course, course work, or student submission does not exist.", +"flatPath": "v1/courses/{courseId}/courseWork/{courseWorkId}/studentSubmissions/{id}:modifyAttachments", +"httpMethod": "POST", +"id": "classroom.courses.courseWork.studentSubmissions.modifyAttachments", +"parameterOrder": [ +"courseId", +"courseWorkId", +"id" +], +"parameters": { +"courseId": { +"description": "Identifier of the course. This identifier can be either the Classroom-assigned identifier or an alias.", +"location": "path", +"required": true, +"type": "string" +}, +"courseWorkId": { +"description": "Identifier of the course work.", +"location": "path", +"required": true, +"type": "string" +}, +"id": { +"description": "Identifier of the student submission.", +"location": "path", +"required": true, +"type": "string" +} +}, +"path": "v1/courses/{courseId}/courseWork/{courseWorkId}/studentSubmissions/{id}:modifyAttachments", +"request": { +"$ref": "ModifyAttachmentsRequest" +}, +"response": { +"$ref": "StudentSubmission" +}, +"scopes": [ +"https://www.googleapis.com/auth/classroom.coursework.me", +"https://www.googleapis.com/auth/classroom.coursework.students" +] +}, +"patch": { +"description": "Updates one or more fields of a student submission. See google.classroom.v1.StudentSubmission for details of which fields may be updated and who may change them. This request must be made by the Developer Console project of the [OAuth client ID](https://support.google.com/cloud/answer/6158849) used to create the corresponding course work item. This method returns the following error codes: * `PERMISSION_DENIED` if the requesting developer project did not create the corresponding course work, if the user is not permitted to make the requested modification to the student submission, or for access errors. * `INVALID_ARGUMENT` if the request is malformed. * `NOT_FOUND` if the requested course, course work, or student submission does not exist.", +"flatPath": "v1/courses/{courseId}/courseWork/{courseWorkId}/studentSubmissions/{id}", +"httpMethod": "PATCH", +"id": "classroom.courses.courseWork.studentSubmissions.patch", +"parameterOrder": [ +"courseId", +"courseWorkId", +"id" +], +"parameters": { +"courseId": { +"description": "Identifier of the course. This identifier can be either the Classroom-assigned identifier or an alias.", +"location": "path", +"required": true, +"type": "string" +}, +"courseWorkId": { +"description": "Identifier of the course work.", +"location": "path", +"required": true, +"type": "string" +}, +"id": { +"description": "Identifier of the student submission.", +"location": "path", +"required": true, +"type": "string" +}, +"updateMask": { +"description": "Mask that identifies which fields on the student submission to update. This field is required to do an update. The update fails if invalid fields are specified. The following fields may be specified by teachers: * `draft_grade` * `assigned_grade`", +"format": "google-fieldmask", +"location": "query", +"type": "string" +} +}, +"path": "v1/courses/{courseId}/courseWork/{courseWorkId}/studentSubmissions/{id}", +"request": { +"$ref": "StudentSubmission" +}, +"response": { +"$ref": "StudentSubmission" +}, +"scopes": [ +"https://www.googleapis.com/auth/classroom.coursework.me", +"https://www.googleapis.com/auth/classroom.coursework.students" +] +}, +"reclaim": { +"description": "Reclaims a student submission on behalf of the student that owns it. Reclaiming a student submission transfers ownership of attached Drive files to the student and updates the submission state. Only the student that owns the requested student submission may call this method, and only for a student submission that has been turned in. This request must be made by the Developer Console project of the [OAuth client ID](https://support.google.com/cloud/answer/6158849) used to create the corresponding course work item. This method returns the following error codes: * `PERMISSION_DENIED` if the requesting user is not permitted to access the requested course or course work, unsubmit the requested student submission, or for access errors. * `FAILED_PRECONDITION` if the student submission has not been turned in. * `INVALID_ARGUMENT` if the request is malformed. * `NOT_FOUND` if the requested course, course work, or student submission does not exist.", +"flatPath": "v1/courses/{courseId}/courseWork/{courseWorkId}/studentSubmissions/{id}:reclaim", +"httpMethod": "POST", +"id": "classroom.courses.courseWork.studentSubmissions.reclaim", +"parameterOrder": [ +"courseId", +"courseWorkId", +"id" +], +"parameters": { +"courseId": { +"description": "Identifier of the course. This identifier can be either the Classroom-assigned identifier or an alias.", +"location": "path", +"required": true, +"type": "string" +}, +"courseWorkId": { +"description": "Identifier of the course work.", +"location": "path", +"required": true, +"type": "string" +}, +"id": { +"description": "Identifier of the student submission.", +"location": "path", +"required": true, +"type": "string" +} +}, +"path": "v1/courses/{courseId}/courseWork/{courseWorkId}/studentSubmissions/{id}:reclaim", +"request": { +"$ref": "ReclaimStudentSubmissionRequest" +}, +"response": { +"$ref": "Empty" +}, +"scopes": [ +"https://www.googleapis.com/auth/classroom.coursework.me" +] +}, +"return": { +"description": "Returns a student submission. Returning a student submission transfers ownership of attached Drive files to the student and may also update the submission state. Unlike the Classroom application, returning a student submission does not set assignedGrade to the draftGrade value. Only a teacher of the course that contains the requested student submission may call this method. This request must be made by the Developer Console project of the [OAuth client ID](https://support.google.com/cloud/answer/6158849) used to create the corresponding course work item. This method returns the following error codes: * `PERMISSION_DENIED` if the requesting user is not permitted to access the requested course or course work, return the requested student submission, or for access errors. * `INVALID_ARGUMENT` if the request is malformed. * `NOT_FOUND` if the requested course, course work, or student submission does not exist.", +"flatPath": "v1/courses/{courseId}/courseWork/{courseWorkId}/studentSubmissions/{id}:return", +"httpMethod": "POST", +"id": "classroom.courses.courseWork.studentSubmissions.return", +"parameterOrder": [ +"courseId", +"courseWorkId", +"id" +], +"parameters": { +"courseId": { +"description": "Identifier of the course. This identifier can be either the Classroom-assigned identifier or an alias.", +"location": "path", +"required": true, +"type": "string" +}, +"courseWorkId": { +"description": "Identifier of the course work.", +"location": "path", +"required": true, +"type": "string" +}, +"id": { +"description": "Identifier of the student submission.", +"location": "path", +"required": true, +"type": "string" +} +}, +"path": "v1/courses/{courseId}/courseWork/{courseWorkId}/studentSubmissions/{id}:return", +"request": { +"$ref": "ReturnStudentSubmissionRequest" +}, +"response": { +"$ref": "Empty" +}, +"scopes": [ +"https://www.googleapis.com/auth/classroom.coursework.students" +] +}, +"turnIn": { +"description": "Turns in a student submission. Turning in a student submission transfers ownership of attached Drive files to the teacher and may also update the submission state. This may only be called by the student that owns the specified student submission. This request must be made by the Developer Console project of the [OAuth client ID](https://support.google.com/cloud/answer/6158849) used to create the corresponding course work item. This method returns the following error codes: * `PERMISSION_DENIED` if the requesting user is not permitted to access the requested course or course work, turn in the requested student submission, or for access errors. * `INVALID_ARGUMENT` if the request is malformed. * `NOT_FOUND` if the requested course, course work, or student submission does not exist.", +"flatPath": "v1/courses/{courseId}/courseWork/{courseWorkId}/studentSubmissions/{id}:turnIn", +"httpMethod": "POST", +"id": "classroom.courses.courseWork.studentSubmissions.turnIn", +"parameterOrder": [ +"courseId", +"courseWorkId", +"id" +], +"parameters": { +"courseId": { +"description": "Identifier of the course. This identifier can be either the Classroom-assigned identifier or an alias.", +"location": "path", +"required": true, +"type": "string" +}, +"courseWorkId": { +"description": "Identifier of the course work.", +"location": "path", +"required": true, +"type": "string" +}, +"id": { +"description": "Identifier of the student submission.", +"location": "path", +"required": true, +"type": "string" +} +}, +"path": "v1/courses/{courseId}/courseWork/{courseWorkId}/studentSubmissions/{id}:turnIn", +"request": { +"$ref": "TurnInStudentSubmissionRequest" +}, +"response": { +"$ref": "Empty" +}, +"scopes": [ +"https://www.googleapis.com/auth/classroom.coursework.me" +] +} +} +} +} +}, +"courseWorkMaterials": { +"methods": { +"create": { +"description": "Creates a course work material. This method returns the following error codes: * `PERMISSION_DENIED` if the requesting user is not permitted to access the requested course, create course work material in the requested course, share a Drive attachment, or for access errors. * `INVALID_ARGUMENT` if the request is malformed or if more than 20 * materials are provided. * `NOT_FOUND` if the requested course does not exist. * `FAILED_PRECONDITION` for the following request error: * AttachmentNotVisible", +"flatPath": "v1/courses/{courseId}/courseWorkMaterials", +"httpMethod": "POST", +"id": "classroom.courses.courseWorkMaterials.create", +"parameterOrder": [ +"courseId" +], +"parameters": { +"courseId": { +"description": "Identifier of the course. This identifier can be either the Classroom-assigned identifier or an alias.", +"location": "path", +"required": true, +"type": "string" +} +}, +"path": "v1/courses/{courseId}/courseWorkMaterials", +"request": { +"$ref": "CourseWorkMaterial" +}, +"response": { +"$ref": "CourseWorkMaterial" +}, +"scopes": [ +"https://www.googleapis.com/auth/classroom.courseworkmaterials" +] +}, +"delete": { +"description": "Deletes a course work material. This request must be made by the Developer Console project of the [OAuth client ID](https://support.google.com/cloud/answer/6158849) used to create the corresponding course work material item. This method returns the following error codes: * `PERMISSION_DENIED` if the requesting developer project did not create the corresponding course work material, if the requesting user is not permitted to delete the requested course or for access errors. * `FAILED_PRECONDITION` if the requested course work material has already been deleted. * `NOT_FOUND` if no course exists with the requested ID.", +"flatPath": "v1/courses/{courseId}/courseWorkMaterials/{id}", +"httpMethod": "DELETE", +"id": "classroom.courses.courseWorkMaterials.delete", +"parameterOrder": [ +"courseId", +"id" +], +"parameters": { +"courseId": { +"description": "Identifier of the course. This identifier can be either the Classroom-assigned identifier or an alias.", +"location": "path", +"required": true, +"type": "string" +}, +"id": { +"description": "Identifier of the course work material to delete. This identifier is a Classroom-assigned identifier.", +"location": "path", +"required": true, +"type": "string" +} +}, +"path": "v1/courses/{courseId}/courseWorkMaterials/{id}", +"response": { +"$ref": "Empty" +}, +"scopes": [ +"https://www.googleapis.com/auth/classroom.courseworkmaterials" +] +}, +"get": { +"description": "Returns a course work material. This method returns the following error codes: * `PERMISSION_DENIED` if the requesting user is not permitted to access the requested course or course work material, or for access errors. * `INVALID_ARGUMENT` if the request is malformed. * `NOT_FOUND` if the requested course or course work material does not exist.", +"flatPath": "v1/courses/{courseId}/courseWorkMaterials/{id}", +"httpMethod": "GET", +"id": "classroom.courses.courseWorkMaterials.get", +"parameterOrder": [ +"courseId", +"id" +], +"parameters": { +"courseId": { +"description": "Identifier of the course. This identifier can be either the Classroom-assigned identifier or an alias.", +"location": "path", +"required": true, +"type": "string" +}, +"id": { +"description": "Identifier of the course work material.", +"location": "path", +"required": true, +"type": "string" +} +}, +"path": "v1/courses/{courseId}/courseWorkMaterials/{id}", +"response": { +"$ref": "CourseWorkMaterial" +}, +"scopes": [ +"https://www.googleapis.com/auth/classroom.courseworkmaterials", +"https://www.googleapis.com/auth/classroom.courseworkmaterials.readonly" +] +}, +"getAddOnContext": { +"description": "Gets metadata for Classroom add-ons in the context of a specific post. To maintain the integrity of its own data and permissions model, an add-on should call this to validate query parameters and the requesting user's role whenever the add-on is opened in an [iframe](https://developers.google.com/classroom/add-ons/get-started/iframes/iframes-overview). This method returns the following error codes: * `PERMISSION_DENIED` for access errors. * `INVALID_ARGUMENT` if the request is malformed. * `NOT_FOUND` if one of the identified resources does not exist.", +"flatPath": "v1/courses/{courseId}/courseWorkMaterials/{itemId}/addOnContext", +"httpMethod": "GET", +"id": "classroom.courses.courseWorkMaterials.getAddOnContext", +"parameterOrder": [ +"courseId", +"itemId" +], +"parameters": { +"addOnToken": { +"description": "Optional. Token that authorizes the request. The token is passed as a query parameter when the user is redirected from Classroom to the add-on's URL. The authorization token is required when neither of the following is true: * The add-on has attachments on the post. * The developer project issuing the request is the same project that created the post.", +"location": "query", +"type": "string" +}, +"attachmentId": { +"description": "Optional. The identifier of the attachment. This field is required for all requests except when the user is in the [Attachment Discovery iframe](https://developers.google.com/classroom/add-ons/get-started/iframes/attachment-discovery-iframe).", +"location": "query", +"type": "string" +}, +"courseId": { +"description": "Required. Identifier of the course.", +"location": "path", +"required": true, +"type": "string" +}, +"itemId": { +"description": "Identifier of the `Announcement`, `CourseWork`, or `CourseWorkMaterial` under which the attachment is attached. This field is required, but is not marked as such while we are migrating from post_id.", +"location": "path", +"required": true, +"type": "string" +}, +"postId": { +"deprecated": true, +"description": "Optional. Deprecated, use `item_id` instead.", +"location": "query", +"type": "string" +} +}, +"path": "v1/courses/{courseId}/courseWorkMaterials/{itemId}/addOnContext", +"response": { +"$ref": "AddOnContext" +} +}, +"list": { +"description": "Returns a list of course work material that the requester is permitted to view. Course students may only view `PUBLISHED` course work material. Course teachers and domain administrators may view all course work material. This method returns the following error codes: * `PERMISSION_DENIED` if the requesting user is not permitted to access the requested course or for access errors. * `INVALID_ARGUMENT` if the request is malformed. * `NOT_FOUND` if the requested course does not exist.", +"flatPath": "v1/courses/{courseId}/courseWorkMaterials", +"httpMethod": "GET", +"id": "classroom.courses.courseWorkMaterials.list", +"parameterOrder": [ +"courseId" +], +"parameters": { +"courseId": { +"description": "Identifier of the course. This identifier can be either the Classroom-assigned identifier or an alias.", +"location": "path", +"required": true, +"type": "string" +}, +"courseWorkMaterialStates": { +"description": "Restriction on the work status to return. Only course work material that matches is returned. If unspecified, items with a work status of `PUBLISHED` is returned.", +"enum": [ +"COURSEWORK_MATERIAL_STATE_UNSPECIFIED", +"PUBLISHED", +"DRAFT", +"DELETED" +], +"enumDescriptions": [ +"No state specified. This is never returned.", +"Status for course work material that has been published. This is the default state.", +"Status for a course work material that is not yet published. Course work material in this state is visible only to course teachers and domain administrators.", +"Status for course work material that was published but is now deleted. Course work material in this state is visible only to course teachers and domain administrators. Course work material in this state is deleted after some time." +], +"location": "query", +"repeated": true, +"type": "string" +}, +"materialDriveId": { +"description": "Optional filtering for course work material with at least one Drive material whose ID matches the provided string. If `material_link` is also specified, course work material must have materials matching both filters.", +"location": "query", +"type": "string" +}, +"materialLink": { +"description": "Optional filtering for course work material with at least one link material whose URL partially matches the provided string.", +"location": "query", +"type": "string" +}, +"orderBy": { +"description": "Optional sort ordering for results. A comma-separated list of fields with an optional sort direction keyword. Supported field is `updateTime`. Supported direction keywords are `asc` and `desc`. If not specified, `updateTime desc` is the default behavior. Examples: `updateTime asc`, `updateTime`", +"location": "query", +"type": "string" +}, +"pageSize": { +"description": "Maximum number of items to return. Zero or unspecified indicates that the server may assign a maximum. The server may return fewer than the specified number of results.", +"format": "int32", +"location": "query", +"type": "integer" +}, +"pageToken": { +"description": "nextPageToken value returned from a previous list call, indicating that the subsequent page of results should be returned. The list request must be otherwise identical to the one that resulted in this token.", +"location": "query", +"type": "string" +} +}, +"path": "v1/courses/{courseId}/courseWorkMaterials", +"response": { +"$ref": "ListCourseWorkMaterialResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/classroom.courseworkmaterials", +"https://www.googleapis.com/auth/classroom.courseworkmaterials.readonly" +] +}, +"patch": { +"description": "Updates one or more fields of a course work material. This method returns the following error codes: * `PERMISSION_DENIED` if the requesting developer project for access errors. * `INVALID_ARGUMENT` if the request is malformed. * `FAILED_PRECONDITION` if the requested course work material has already been deleted. * `NOT_FOUND` if the requested course or course work material does not exist", +"flatPath": "v1/courses/{courseId}/courseWorkMaterials/{id}", +"httpMethod": "PATCH", +"id": "classroom.courses.courseWorkMaterials.patch", +"parameterOrder": [ +"courseId", +"id" +], +"parameters": { +"courseId": { +"description": "Identifier of the course. This identifier can be either the Classroom-assigned identifier or an alias.", +"location": "path", +"required": true, +"type": "string" +}, +"id": { +"description": "Identifier of the course work material.", +"location": "path", +"required": true, +"type": "string" +}, +"updateMask": { +"description": "Mask that identifies which fields on the course work material to update. This field is required to do an update. The update fails if invalid fields are specified. If a field supports empty values, it can be cleared by specifying it in the update mask and not in the course work material object. If a field that does not support empty values is included in the update mask and not set in the course work material object, an `INVALID_ARGUMENT` error is returned. The following fields may be specified by teachers: * `title` * `description` * `state` * `scheduled_time` * `topic_id`", +"format": "google-fieldmask", +"location": "query", +"type": "string" +} +}, +"path": "v1/courses/{courseId}/courseWorkMaterials/{id}", +"request": { +"$ref": "CourseWorkMaterial" +}, +"response": { +"$ref": "CourseWorkMaterial" +}, +"scopes": [ +"https://www.googleapis.com/auth/classroom.courseworkmaterials" +] +} +}, +"resources": { +"addOnAttachments": { +"methods": { +"create": { +"description": "Creates an add-on attachment under a post. Requires the add-on to have permission to create new attachments on the post. This method returns the following error codes: * `PERMISSION_DENIED` for access errors. * `INVALID_ARGUMENT` if the request is malformed. * `NOT_FOUND` if one of the identified resources does not exist.", +"flatPath": "v1/courses/{courseId}/courseWorkMaterials/{itemId}/addOnAttachments", +"httpMethod": "POST", +"id": "classroom.courses.courseWorkMaterials.addOnAttachments.create", +"parameterOrder": [ +"courseId", +"itemId" +], +"parameters": { +"addOnToken": { +"description": "Optional. Token that authorizes the request. The token is passed as a query parameter when the user is redirected from Classroom to the add-on's URL. This authorization token is required for in-Classroom attachment creation but optional for partner-first attachment creation. Returns an error if not provided for partner-first attachment creation and the developer projects that created the attachment and its parent stream item do not match.", +"location": "query", +"type": "string" +}, +"courseId": { +"description": "Required. Identifier of the course.", +"location": "path", +"required": true, +"type": "string" +}, +"itemId": { +"description": "Identifier of the `Announcement`, `CourseWork`, or `CourseWorkMaterial` under which to create the attachment. This field is required, but is not marked as such while we are migrating from post_id.", +"location": "path", +"required": true, +"type": "string" +}, +"postId": { +"deprecated": true, +"description": "Optional. Deprecated, use `item_id` instead.", +"location": "query", +"type": "string" +} +}, +"path": "v1/courses/{courseId}/courseWorkMaterials/{itemId}/addOnAttachments", +"request": { +"$ref": "AddOnAttachment" +}, +"response": { +"$ref": "AddOnAttachment" +} +}, +"delete": { +"description": "Deletes an add-on attachment. Requires the add-on to have been the original creator of the attachment. This method returns the following error codes: * `PERMISSION_DENIED` for access errors. * `INVALID_ARGUMENT` if the request is malformed. * `NOT_FOUND` if one of the identified resources does not exist.", +"flatPath": "v1/courses/{courseId}/courseWorkMaterials/{itemId}/addOnAttachments/{attachmentId}", +"httpMethod": "DELETE", +"id": "classroom.courses.courseWorkMaterials.addOnAttachments.delete", +"parameterOrder": [ +"courseId", +"itemId", +"attachmentId" +], +"parameters": { +"attachmentId": { +"description": "Required. Identifier of the attachment.", +"location": "path", +"required": true, +"type": "string" +}, +"courseId": { +"description": "Required. Identifier of the course.", +"location": "path", +"required": true, +"type": "string" +}, +"itemId": { +"description": "Identifier of the `Announcement`, `CourseWork`, or `CourseWorkMaterial` under which the attachment is attached. This field is required, but is not marked as such while we are migrating from post_id.", +"location": "path", +"required": true, +"type": "string" +}, +"postId": { +"deprecated": true, +"description": "Optional. Deprecated, use `item_id` instead.", +"location": "query", +"type": "string" +} +}, +"path": "v1/courses/{courseId}/courseWorkMaterials/{itemId}/addOnAttachments/{attachmentId}", +"response": { +"$ref": "Empty" +} +}, +"get": { +"description": "Returns an add-on attachment. Requires the add-on requesting the attachment to be the original creator of the attachment. This method returns the following error codes: * `PERMISSION_DENIED` for access errors. * `INVALID_ARGUMENT` if the request is malformed. * `NOT_FOUND` if one of the identified resources does not exist.", +"flatPath": "v1/courses/{courseId}/courseWorkMaterials/{itemId}/addOnAttachments/{attachmentId}", +"httpMethod": "GET", +"id": "classroom.courses.courseWorkMaterials.addOnAttachments.get", +"parameterOrder": [ +"courseId", +"itemId", +"attachmentId" +], +"parameters": { +"attachmentId": { +"description": "Required. Identifier of the attachment.", +"location": "path", +"required": true, +"type": "string" +}, +"courseId": { +"description": "Required. Identifier of the course.", +"location": "path", +"required": true, +"type": "string" +}, +"itemId": { +"description": "Identifier of the `Announcement`, `CourseWork`, or `CourseWorkMaterial` under which the attachment is attached. This field is required, but is not marked as such while we are migrating from post_id.", +"location": "path", +"required": true, +"type": "string" +}, +"postId": { +"deprecated": true, +"description": "Optional. Deprecated, use `item_id` instead.", +"location": "query", +"type": "string" +} +}, +"path": "v1/courses/{courseId}/courseWorkMaterials/{itemId}/addOnAttachments/{attachmentId}", +"response": { +"$ref": "AddOnAttachment" +} +}, +"list": { +"description": "Returns all attachments created by an add-on under the post. Requires the add-on to have active attachments on the post or have permission to create new attachments on the post. This method returns the following error codes: * `PERMISSION_DENIED` for access errors. * `INVALID_ARGUMENT` if the request is malformed. * `NOT_FOUND` if one of the identified resources does not exist.", +"flatPath": "v1/courses/{courseId}/courseWorkMaterials/{itemId}/addOnAttachments", +"httpMethod": "GET", +"id": "classroom.courses.courseWorkMaterials.addOnAttachments.list", +"parameterOrder": [ +"courseId", +"itemId" +], +"parameters": { +"courseId": { +"description": "Required. Identifier of the course.", +"location": "path", +"required": true, +"type": "string" +}, +"itemId": { +"description": "Identifier of the `Announcement`, `CourseWork`, or `CourseWorkMaterial` whose attachments should be enumerated. This field is required, but is not marked as such while we are migrating from post_id.", +"location": "path", +"required": true, +"type": "string" +}, +"pageSize": { +"description": "The maximum number of attachments to return. The service may return fewer than this value. If unspecified, at most 20 attachments will be returned. The maximum value is 20; values above 20 will be coerced to 20.", +"format": "int32", +"location": "query", +"type": "integer" +}, +"pageToken": { +"description": "A page token, received from a previous `ListAddOnAttachments` call. Provide this to retrieve the subsequent page. When paginating, all other parameters provided to `ListAddOnAttachments` must match the call that provided the page token.", +"location": "query", +"type": "string" +}, +"postId": { +"deprecated": true, +"description": "Optional. Identifier of the post under the course whose attachments to enumerate. Deprecated, use `item_id` instead.", +"location": "query", +"type": "string" +} +}, +"path": "v1/courses/{courseId}/courseWorkMaterials/{itemId}/addOnAttachments", +"response": { +"$ref": "ListAddOnAttachmentsResponse" +} +}, +"patch": { +"description": "Updates an add-on attachment. Requires the add-on to have been the original creator of the attachment. This method returns the following error codes: * `PERMISSION_DENIED` for access errors. * `INVALID_ARGUMENT` if the request is malformed. * `NOT_FOUND` if one of the identified resources does not exist.", +"flatPath": "v1/courses/{courseId}/courseWorkMaterials/{itemId}/addOnAttachments/{attachmentId}", +"httpMethod": "PATCH", +"id": "classroom.courses.courseWorkMaterials.addOnAttachments.patch", +"parameterOrder": [ +"courseId", +"itemId", +"attachmentId" +], +"parameters": { +"attachmentId": { +"description": "Required. Identifier of the attachment.", +"location": "path", +"required": true, +"type": "string" +}, +"courseId": { +"description": "Required. Identifier of the course.", +"location": "path", +"required": true, +"type": "string" +}, +"itemId": { +"description": "Identifier of the post under which the attachment is attached.", +"location": "path", +"required": true, +"type": "string" +}, +"postId": { +"description": "Required. Identifier of the post under which the attachment is attached.", +"location": "query", +"type": "string" +}, +"updateMask": { +"description": "Required. Mask that identifies which fields on the attachment to update. The update fails if invalid fields are specified. If a field supports empty values, it can be cleared by specifying it in the update mask and not in the `AddOnAttachment` object. If a field that does not support empty values is included in the update mask and not set in the `AddOnAttachment` object, an `INVALID_ARGUMENT` error is returned. The following fields may be specified by teachers: * `title` * `teacher_view_uri` * `student_view_uri` * `student_work_review_uri` * `due_date` * `due_time` * `max_points`", +"format": "google-fieldmask", +"location": "query", +"type": "string" +} +}, +"path": "v1/courses/{courseId}/courseWorkMaterials/{itemId}/addOnAttachments/{attachmentId}", +"request": { +"$ref": "AddOnAttachment" +}, +"response": { +"$ref": "AddOnAttachment" +} +} +} +} +} +}, +"posts": { +"methods": { +"getAddOnContext": { +"description": "Gets metadata for Classroom add-ons in the context of a specific post. To maintain the integrity of its own data and permissions model, an add-on should call this to validate query parameters and the requesting user's role whenever the add-on is opened in an [iframe](https://developers.google.com/classroom/add-ons/get-started/iframes/iframes-overview). This method returns the following error codes: * `PERMISSION_DENIED` for access errors. * `INVALID_ARGUMENT` if the request is malformed. * `NOT_FOUND` if one of the identified resources does not exist.", +"flatPath": "v1/courses/{courseId}/posts/{postId}/addOnContext", +"httpMethod": "GET", +"id": "classroom.courses.posts.getAddOnContext", +"parameterOrder": [ +"courseId", +"postId" +], +"parameters": { +"addOnToken": { +"description": "Optional. Token that authorizes the request. The token is passed as a query parameter when the user is redirected from Classroom to the add-on's URL. The authorization token is required when neither of the following is true: * The add-on has attachments on the post. * The developer project issuing the request is the same project that created the post.", +"location": "query", +"type": "string" +}, +"attachmentId": { +"description": "Optional. The identifier of the attachment. This field is required for all requests except when the user is in the [Attachment Discovery iframe](https://developers.google.com/classroom/add-ons/get-started/iframes/attachment-discovery-iframe).", +"location": "query", +"type": "string" +}, +"courseId": { +"description": "Required. Identifier of the course.", +"location": "path", +"required": true, +"type": "string" +}, +"itemId": { +"description": "Identifier of the `Announcement`, `CourseWork`, or `CourseWorkMaterial` under which the attachment is attached. This field is required, but is not marked as such while we are migrating from post_id.", +"location": "query", +"type": "string" +}, +"postId": { +"description": "Optional. Deprecated, use `item_id` instead.", +"location": "path", +"required": true, +"type": "string" +} +}, +"path": "v1/courses/{courseId}/posts/{postId}/addOnContext", +"response": { +"$ref": "AddOnContext" +} +} +}, +"resources": { +"addOnAttachments": { +"methods": { +"create": { +"description": "Creates an add-on attachment under a post. Requires the add-on to have permission to create new attachments on the post. This method returns the following error codes: * `PERMISSION_DENIED` for access errors. * `INVALID_ARGUMENT` if the request is malformed. * `NOT_FOUND` if one of the identified resources does not exist.", +"flatPath": "v1/courses/{courseId}/posts/{postId}/addOnAttachments", +"httpMethod": "POST", +"id": "classroom.courses.posts.addOnAttachments.create", +"parameterOrder": [ +"courseId", +"postId" +], +"parameters": { +"addOnToken": { +"description": "Optional. Token that authorizes the request. The token is passed as a query parameter when the user is redirected from Classroom to the add-on's URL. This authorization token is required for in-Classroom attachment creation but optional for partner-first attachment creation. Returns an error if not provided for partner-first attachment creation and the developer projects that created the attachment and its parent stream item do not match.", +"location": "query", +"type": "string" +}, +"courseId": { +"description": "Required. Identifier of the course.", +"location": "path", +"required": true, +"type": "string" +}, +"itemId": { +"description": "Identifier of the `Announcement`, `CourseWork`, or `CourseWorkMaterial` under which to create the attachment. This field is required, but is not marked as such while we are migrating from post_id.", +"location": "query", +"type": "string" +}, +"postId": { +"description": "Optional. Deprecated, use `item_id` instead.", +"location": "path", +"required": true, +"type": "string" +} +}, +"path": "v1/courses/{courseId}/posts/{postId}/addOnAttachments", +"request": { +"$ref": "AddOnAttachment" +}, +"response": { +"$ref": "AddOnAttachment" +} +}, +"delete": { +"description": "Deletes an add-on attachment. Requires the add-on to have been the original creator of the attachment. This method returns the following error codes: * `PERMISSION_DENIED` for access errors. * `INVALID_ARGUMENT` if the request is malformed. * `NOT_FOUND` if one of the identified resources does not exist.", +"flatPath": "v1/courses/{courseId}/posts/{postId}/addOnAttachments/{attachmentId}", +"httpMethod": "DELETE", +"id": "classroom.courses.posts.addOnAttachments.delete", +"parameterOrder": [ +"courseId", +"postId", +"attachmentId" +], +"parameters": { +"attachmentId": { +"description": "Required. Identifier of the attachment.", +"location": "path", +"required": true, +"type": "string" +}, +"courseId": { +"description": "Required. Identifier of the course.", +"location": "path", +"required": true, +"type": "string" +}, +"itemId": { +"description": "Identifier of the `Announcement`, `CourseWork`, or `CourseWorkMaterial` under which the attachment is attached. This field is required, but is not marked as such while we are migrating from post_id.", +"location": "query", +"type": "string" +}, +"postId": { +"description": "Optional. Deprecated, use `item_id` instead.", +"location": "path", +"required": true, +"type": "string" +} +}, +"path": "v1/courses/{courseId}/posts/{postId}/addOnAttachments/{attachmentId}", +"response": { +"$ref": "Empty" +} +}, +"get": { +"description": "Returns an add-on attachment. Requires the add-on requesting the attachment to be the original creator of the attachment. This method returns the following error codes: * `PERMISSION_DENIED` for access errors. * `INVALID_ARGUMENT` if the request is malformed. * `NOT_FOUND` if one of the identified resources does not exist.", +"flatPath": "v1/courses/{courseId}/posts/{postId}/addOnAttachments/{attachmentId}", +"httpMethod": "GET", +"id": "classroom.courses.posts.addOnAttachments.get", +"parameterOrder": [ +"courseId", +"postId", +"attachmentId" +], +"parameters": { +"attachmentId": { +"description": "Required. Identifier of the attachment.", +"location": "path", +"required": true, +"type": "string" +}, +"courseId": { +"description": "Required. Identifier of the course.", +"location": "path", +"required": true, +"type": "string" +}, +"itemId": { +"description": "Identifier of the `Announcement`, `CourseWork`, or `CourseWorkMaterial` under which the attachment is attached. This field is required, but is not marked as such while we are migrating from post_id.", +"location": "query", +"type": "string" +}, +"postId": { +"description": "Optional. Deprecated, use `item_id` instead.", +"location": "path", +"required": true, +"type": "string" +} +}, +"path": "v1/courses/{courseId}/posts/{postId}/addOnAttachments/{attachmentId}", +"response": { +"$ref": "AddOnAttachment" +} +}, +"list": { +"description": "Returns all attachments created by an add-on under the post. Requires the add-on to have active attachments on the post or have permission to create new attachments on the post. This method returns the following error codes: * `PERMISSION_DENIED` for access errors. * `INVALID_ARGUMENT` if the request is malformed. * `NOT_FOUND` if one of the identified resources does not exist.", +"flatPath": "v1/courses/{courseId}/posts/{postId}/addOnAttachments", +"httpMethod": "GET", +"id": "classroom.courses.posts.addOnAttachments.list", +"parameterOrder": [ +"courseId", +"postId" +], +"parameters": { +"courseId": { +"description": "Required. Identifier of the course.", +"location": "path", +"required": true, +"type": "string" +}, +"itemId": { +"description": "Identifier of the `Announcement`, `CourseWork`, or `CourseWorkMaterial` whose attachments should be enumerated. This field is required, but is not marked as such while we are migrating from post_id.", +"location": "query", +"type": "string" +}, +"pageSize": { +"description": "The maximum number of attachments to return. The service may return fewer than this value. If unspecified, at most 20 attachments will be returned. The maximum value is 20; values above 20 will be coerced to 20.", +"format": "int32", +"location": "query", +"type": "integer" +}, +"pageToken": { +"description": "A page token, received from a previous `ListAddOnAttachments` call. Provide this to retrieve the subsequent page. When paginating, all other parameters provided to `ListAddOnAttachments` must match the call that provided the page token.", +"location": "query", +"type": "string" +}, +"postId": { +"description": "Optional. Identifier of the post under the course whose attachments to enumerate. Deprecated, use `item_id` instead.", +"location": "path", +"required": true, +"type": "string" +} +}, +"path": "v1/courses/{courseId}/posts/{postId}/addOnAttachments", +"response": { +"$ref": "ListAddOnAttachmentsResponse" +} +}, +"patch": { +"description": "Updates an add-on attachment. Requires the add-on to have been the original creator of the attachment. This method returns the following error codes: * `PERMISSION_DENIED` for access errors. * `INVALID_ARGUMENT` if the request is malformed. * `NOT_FOUND` if one of the identified resources does not exist.", +"flatPath": "v1/courses/{courseId}/posts/{postId}/addOnAttachments/{attachmentId}", +"httpMethod": "PATCH", +"id": "classroom.courses.posts.addOnAttachments.patch", +"parameterOrder": [ +"courseId", +"postId", +"attachmentId" +], +"parameters": { +"attachmentId": { +"description": "Required. Identifier of the attachment.", +"location": "path", +"required": true, +"type": "string" +}, +"courseId": { +"description": "Required. Identifier of the course.", +"location": "path", +"required": true, +"type": "string" +}, +"itemId": { +"description": "Identifier of the post under which the attachment is attached.", +"location": "query", +"type": "string" +}, +"postId": { +"description": "Required. Identifier of the post under which the attachment is attached.", +"location": "path", +"required": true, +"type": "string" +}, +"updateMask": { +"description": "Required. Mask that identifies which fields on the attachment to update. The update fails if invalid fields are specified. If a field supports empty values, it can be cleared by specifying it in the update mask and not in the `AddOnAttachment` object. If a field that does not support empty values is included in the update mask and not set in the `AddOnAttachment` object, an `INVALID_ARGUMENT` error is returned. The following fields may be specified by teachers: * `title` * `teacher_view_uri` * `student_view_uri` * `student_work_review_uri` * `due_date` * `due_time` * `max_points`", +"format": "google-fieldmask", +"location": "query", +"type": "string" +} +}, +"path": "v1/courses/{courseId}/posts/{postId}/addOnAttachments/{attachmentId}", +"request": { +"$ref": "AddOnAttachment" +}, +"response": { +"$ref": "AddOnAttachment" +} +} +}, +"resources": { +"studentSubmissions": { +"methods": { +"get": { +"description": "Returns a student submission for an add-on attachment. This method returns the following error codes: * `PERMISSION_DENIED` for access errors. * `INVALID_ARGUMENT` if the request is malformed. * `NOT_FOUND` if one of the identified resources does not exist.", +"flatPath": "v1/courses/{courseId}/posts/{postId}/addOnAttachments/{attachmentId}/studentSubmissions/{submissionId}", +"httpMethod": "GET", +"id": "classroom.courses.posts.addOnAttachments.studentSubmissions.get", +"parameterOrder": [ +"courseId", +"postId", +"attachmentId", +"submissionId" +], +"parameters": { +"attachmentId": { +"description": "Required. Identifier of the attachment.", +"location": "path", +"required": true, +"type": "string" +}, +"courseId": { +"description": "Required. Identifier of the course.", +"location": "path", +"required": true, +"type": "string" +}, +"itemId": { +"description": "Identifier of the `Announcement`, `CourseWork`, or `CourseWorkMaterial` under which the attachment is attached. This field is required, but is not marked as such while we are migrating from post_id.", +"location": "query", +"type": "string" +}, +"postId": { +"description": "Optional. Deprecated, use `item_id` instead.", +"location": "path", +"required": true, +"type": "string" +}, +"submissionId": { +"description": "Required. Identifier of the student\u2019s submission.", +"location": "path", +"required": true, +"type": "string" +} +}, +"path": "v1/courses/{courseId}/posts/{postId}/addOnAttachments/{attachmentId}/studentSubmissions/{submissionId}", +"response": { +"$ref": "AddOnAttachmentStudentSubmission" +}, +"scopes": [ +"https://www.googleapis.com/auth/classroom.student-submissions.students.readonly" +] +}, +"patch": { +"description": "Updates data associated with an add-on attachment submission. Requires the add-on to have been the original creator of the attachment and the attachment to have a positive `max_points` value set. This method returns the following error codes: * `PERMISSION_DENIED` for access errors. * `INVALID_ARGUMENT` if the request is malformed. * `NOT_FOUND` if one of the identified resources does not exist.", +"flatPath": "v1/courses/{courseId}/posts/{postId}/addOnAttachments/{attachmentId}/studentSubmissions/{submissionId}", +"httpMethod": "PATCH", +"id": "classroom.courses.posts.addOnAttachments.studentSubmissions.patch", +"parameterOrder": [ +"courseId", +"postId", +"attachmentId", +"submissionId" +], +"parameters": { +"attachmentId": { +"description": "Required. Identifier of the attachment.", +"location": "path", +"required": true, +"type": "string" +}, +"courseId": { +"description": "Required. Identifier of the course.", +"location": "path", +"required": true, +"type": "string" +}, +"itemId": { +"description": "Identifier of the `Announcement`, `CourseWork`, or `CourseWorkMaterial` under which the attachment is attached. This field is required, but is not marked as such while we are migrating from post_id.", +"location": "query", +"type": "string" +}, +"postId": { +"description": "Optional. Deprecated, use `item_id` instead.", +"location": "path", +"required": true, +"type": "string" +}, +"submissionId": { +"description": "Required. Identifier of the student's submission.", +"location": "path", +"required": true, +"type": "string" +}, +"updateMask": { +"description": "Required. Mask that identifies which fields on the attachment to update. The update fails if invalid fields are specified. If a field supports empty values, it can be cleared by specifying it in the update mask and not in the `AddOnAttachmentStudentSubmission` object. The following fields may be specified by teachers: * `points_earned`", +"format": "google-fieldmask", +"location": "query", +"type": "string" +} +}, +"path": "v1/courses/{courseId}/posts/{postId}/addOnAttachments/{attachmentId}/studentSubmissions/{submissionId}", +"request": { +"$ref": "AddOnAttachmentStudentSubmission" +}, +"response": { +"$ref": "AddOnAttachmentStudentSubmission" +} +} +} +} +} +} +} +}, +"students": { +"methods": { +"create": { +"description": "Adds a user as a student of a course. Domain administrators are permitted to [directly add](https://developers.google.com/classroom/guides/manage-users) users within their domain as students to courses within their domain. Students are permitted to add themselves to a course using an enrollment code. This method returns the following error codes: * `PERMISSION_DENIED` if the requesting user is not permitted to create students in this course or for access errors. * `NOT_FOUND` if the requested course ID does not exist. * `FAILED_PRECONDITION` if the requested user's account is disabled, for the following request errors: * CourseMemberLimitReached * CourseNotModifiable * UserGroupsMembershipLimitReached * InactiveCourseOwner * `ALREADY_EXISTS` if the user is already a student or teacher in the course.", +"flatPath": "v1/courses/{courseId}/students", +"httpMethod": "POST", +"id": "classroom.courses.students.create", +"parameterOrder": [ +"courseId" +], +"parameters": { +"courseId": { +"description": "Identifier of the course to create the student in. This identifier can be either the Classroom-assigned identifier or an alias.", +"location": "path", +"required": true, +"type": "string" +}, +"enrollmentCode": { +"description": "Enrollment code of the course to create the student in. This code is required if userId corresponds to the requesting user; it may be omitted if the requesting user has administrative permissions to create students for any user.", +"location": "query", +"type": "string" +} +}, +"path": "v1/courses/{courseId}/students", +"request": { +"$ref": "Student" +}, +"response": { +"$ref": "Student" +}, +"scopes": [ +"https://www.googleapis.com/auth/classroom.profile.emails", +"https://www.googleapis.com/auth/classroom.profile.photos", +"https://www.googleapis.com/auth/classroom.rosters" +] +}, +"delete": { +"description": "Deletes a student of a course. This method returns the following error codes: * `PERMISSION_DENIED` if the requesting user is not permitted to delete students of this course or for access errors. * `NOT_FOUND` if no student of this course has the requested ID or if the course does not exist.", +"flatPath": "v1/courses/{courseId}/students/{userId}", +"httpMethod": "DELETE", +"id": "classroom.courses.students.delete", +"parameterOrder": [ +"courseId", +"userId" +], +"parameters": { +"courseId": { +"description": "Identifier of the course. This identifier can be either the Classroom-assigned identifier or an alias.", +"location": "path", +"required": true, +"type": "string" +}, +"userId": { +"description": "Identifier of the student to delete. The identifier can be one of the following: * the numeric identifier for the user * the email address of the user * the string literal `\"me\"`, indicating the requesting user", +"location": "path", +"required": true, +"type": "string" +} +}, +"path": "v1/courses/{courseId}/students/{userId}", +"response": { +"$ref": "Empty" +}, +"scopes": [ +"https://www.googleapis.com/auth/classroom.rosters" +] +}, +"get": { +"description": "Returns a student of a course. This method returns the following error codes: * `PERMISSION_DENIED` if the requesting user is not permitted to view students of this course or for access errors. * `NOT_FOUND` if no student of this course has the requested ID or if the course does not exist.", +"flatPath": "v1/courses/{courseId}/students/{userId}", +"httpMethod": "GET", +"id": "classroom.courses.students.get", +"parameterOrder": [ +"courseId", +"userId" +], +"parameters": { +"courseId": { +"description": "Identifier of the course. This identifier can be either the Classroom-assigned identifier or an alias.", +"location": "path", +"required": true, +"type": "string" +}, +"userId": { +"description": "Identifier of the student to return. The identifier can be one of the following: * the numeric identifier for the user * the email address of the user * the string literal `\"me\"`, indicating the requesting user", +"location": "path", +"required": true, +"type": "string" +} +}, +"path": "v1/courses/{courseId}/students/{userId}", +"response": { +"$ref": "Student" +}, +"scopes": [ +"https://www.googleapis.com/auth/classroom.profile.emails", +"https://www.googleapis.com/auth/classroom.profile.photos", +"https://www.googleapis.com/auth/classroom.rosters", +"https://www.googleapis.com/auth/classroom.rosters.readonly" +] +}, +"list": { +"description": "Returns a list of students of this course that the requester is permitted to view. This method returns the following error codes: * `NOT_FOUND` if the course does not exist. * `PERMISSION_DENIED` for access errors.", +"flatPath": "v1/courses/{courseId}/students", +"httpMethod": "GET", +"id": "classroom.courses.students.list", +"parameterOrder": [ +"courseId" +], +"parameters": { +"courseId": { +"description": "Identifier of the course. This identifier can be either the Classroom-assigned identifier or an alias.", +"location": "path", +"required": true, +"type": "string" +}, +"pageSize": { +"description": "Maximum number of items to return. The default is 30 if unspecified or `0`. The server may return fewer than the specified number of results.", +"format": "int32", +"location": "query", +"type": "integer" +}, +"pageToken": { +"description": "nextPageToken value returned from a previous list call, indicating that the subsequent page of results should be returned. The list request must be otherwise identical to the one that resulted in this token.", +"location": "query", +"type": "string" +} +}, +"path": "v1/courses/{courseId}/students", +"response": { +"$ref": "ListStudentsResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/classroom.profile.emails", +"https://www.googleapis.com/auth/classroom.profile.photos", +"https://www.googleapis.com/auth/classroom.rosters", +"https://www.googleapis.com/auth/classroom.rosters.readonly" +] +} +} +}, +"teachers": { +"methods": { +"create": { +"description": "Creates a teacher of a course. Domain administrators are permitted to [directly add](https://developers.google.com/classroom/guides/manage-users) users within their domain as teachers to courses within their domain. Non-admin users should send an Invitation instead. This method returns the following error codes: * `PERMISSION_DENIED` if the requesting user is not permitted to create teachers in this course or for access errors. * `NOT_FOUND` if the requested course ID does not exist. * `FAILED_PRECONDITION` if the requested user's account is disabled, for the following request errors: * CourseMemberLimitReached * CourseNotModifiable * CourseTeacherLimitReached * UserGroupsMembershipLimitReached * InactiveCourseOwner * `ALREADY_EXISTS` if the user is already a teacher or student in the course.", +"flatPath": "v1/courses/{courseId}/teachers", +"httpMethod": "POST", +"id": "classroom.courses.teachers.create", +"parameterOrder": [ +"courseId" +], +"parameters": { +"courseId": { +"description": "Identifier of the course. This identifier can be either the Classroom-assigned identifier or an alias.", +"location": "path", +"required": true, +"type": "string" +} +}, +"path": "v1/courses/{courseId}/teachers", +"request": { +"$ref": "Teacher" +}, +"response": { +"$ref": "Teacher" +}, +"scopes": [ +"https://www.googleapis.com/auth/classroom.profile.emails", +"https://www.googleapis.com/auth/classroom.profile.photos", +"https://www.googleapis.com/auth/classroom.rosters" +] +}, +"delete": { +"description": "Removes the specified teacher from the specified course. This method returns the following error codes: * `PERMISSION_DENIED` if the requesting user is not permitted to delete teachers of this course or for access errors. * `NOT_FOUND` if no teacher of this course has the requested ID or if the course does not exist. * `FAILED_PRECONDITION` if the requested ID belongs to the primary teacher of this course. * `FAILED_PRECONDITION` if the requested ID belongs to the owner of the course Drive folder. * `FAILED_PRECONDITION` if the course no longer has an active owner.", +"flatPath": "v1/courses/{courseId}/teachers/{userId}", +"httpMethod": "DELETE", +"id": "classroom.courses.teachers.delete", +"parameterOrder": [ +"courseId", +"userId" +], +"parameters": { +"courseId": { +"description": "Identifier of the course. This identifier can be either the Classroom-assigned identifier or an alias.", +"location": "path", +"required": true, +"type": "string" +}, +"userId": { +"description": "Identifier of the teacher to delete. The identifier can be one of the following: * the numeric identifier for the user * the email address of the user * the string literal `\"me\"`, indicating the requesting user", +"location": "path", +"required": true, +"type": "string" +} +}, +"path": "v1/courses/{courseId}/teachers/{userId}", +"response": { +"$ref": "Empty" +}, +"scopes": [ +"https://www.googleapis.com/auth/classroom.rosters" +] +}, +"get": { +"description": "Returns a teacher of a course. This method returns the following error codes: * `PERMISSION_DENIED` if the requesting user is not permitted to view teachers of this course or for access errors. * `NOT_FOUND` if no teacher of this course has the requested ID or if the course does not exist.", +"flatPath": "v1/courses/{courseId}/teachers/{userId}", +"httpMethod": "GET", +"id": "classroom.courses.teachers.get", +"parameterOrder": [ +"courseId", +"userId" +], +"parameters": { +"courseId": { +"description": "Identifier of the course. This identifier can be either the Classroom-assigned identifier or an alias.", +"location": "path", +"required": true, +"type": "string" +}, +"userId": { +"description": "Identifier of the teacher to return. The identifier can be one of the following: * the numeric identifier for the user * the email address of the user * the string literal `\"me\"`, indicating the requesting user", +"location": "path", +"required": true, +"type": "string" +} +}, +"path": "v1/courses/{courseId}/teachers/{userId}", +"response": { +"$ref": "Teacher" +}, +"scopes": [ +"https://www.googleapis.com/auth/classroom.profile.emails", +"https://www.googleapis.com/auth/classroom.profile.photos", +"https://www.googleapis.com/auth/classroom.rosters", +"https://www.googleapis.com/auth/classroom.rosters.readonly" +] +}, +"list": { +"description": "Returns a list of teachers of this course that the requester is permitted to view. This method returns the following error codes: * `NOT_FOUND` if the course does not exist. * `PERMISSION_DENIED` for access errors.", +"flatPath": "v1/courses/{courseId}/teachers", +"httpMethod": "GET", +"id": "classroom.courses.teachers.list", +"parameterOrder": [ +"courseId" +], +"parameters": { +"courseId": { +"description": "Identifier of the course. This identifier can be either the Classroom-assigned identifier or an alias.", +"location": "path", +"required": true, +"type": "string" +}, +"pageSize": { +"description": "Maximum number of items to return. The default is 30 if unspecified or `0`. The server may return fewer than the specified number of results.", +"format": "int32", +"location": "query", +"type": "integer" +}, +"pageToken": { +"description": "nextPageToken value returned from a previous list call, indicating that the subsequent page of results should be returned. The list request must be otherwise identical to the one that resulted in this token.", +"location": "query", +"type": "string" +} +}, +"path": "v1/courses/{courseId}/teachers", +"response": { +"$ref": "ListTeachersResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/classroom.profile.emails", +"https://www.googleapis.com/auth/classroom.profile.photos", +"https://www.googleapis.com/auth/classroom.rosters", +"https://www.googleapis.com/auth/classroom.rosters.readonly" +] +} +} +}, +"topics": { +"methods": { +"create": { +"description": "Creates a topic. This method returns the following error codes: * `PERMISSION_DENIED` if the requesting user is not permitted to access the requested course, create a topic in the requested course, or for access errors. * `INVALID_ARGUMENT` if the request is malformed. * `NOT_FOUND` if the requested course does not exist.", +"flatPath": "v1/courses/{courseId}/topics", +"httpMethod": "POST", +"id": "classroom.courses.topics.create", +"parameterOrder": [ +"courseId" +], +"parameters": { +"courseId": { +"description": "Identifier of the course. This identifier can be either the Classroom-assigned identifier or an alias.", +"location": "path", +"required": true, +"type": "string" +} +}, +"path": "v1/courses/{courseId}/topics", +"request": { +"$ref": "Topic" +}, +"response": { +"$ref": "Topic" +}, +"scopes": [ +"https://www.googleapis.com/auth/classroom.topics" +] +}, +"delete": { +"description": "Deletes a topic. This method returns the following error codes: * `PERMISSION_DENIED` if the requesting user is not allowed to delete the requested topic or for access errors. * `FAILED_PRECONDITION` if the requested topic has already been deleted. * `NOT_FOUND` if no course or topic exists with the requested ID.", +"flatPath": "v1/courses/{courseId}/topics/{id}", +"httpMethod": "DELETE", +"id": "classroom.courses.topics.delete", +"parameterOrder": [ +"courseId", +"id" +], +"parameters": { +"courseId": { +"description": "Identifier of the course. This identifier can be either the Classroom-assigned identifier or an alias.", +"location": "path", +"required": true, +"type": "string" +}, +"id": { +"description": "Identifier of the topic to delete.", +"location": "path", +"required": true, +"type": "string" +} +}, +"path": "v1/courses/{courseId}/topics/{id}", +"response": { +"$ref": "Empty" +}, +"scopes": [ +"https://www.googleapis.com/auth/classroom.topics" +] +}, +"get": { +"description": "Returns a topic. This method returns the following error codes: * `PERMISSION_DENIED` if the requesting user is not permitted to access the requested course or topic, or for access errors. * `INVALID_ARGUMENT` if the request is malformed. * `NOT_FOUND` if the requested course or topic does not exist.", +"flatPath": "v1/courses/{courseId}/topics/{id}", +"httpMethod": "GET", +"id": "classroom.courses.topics.get", +"parameterOrder": [ +"courseId", +"id" +], +"parameters": { +"courseId": { +"description": "Identifier of the course.", +"location": "path", +"required": true, +"type": "string" +}, +"id": { +"description": "Identifier of the topic.", +"location": "path", +"required": true, +"type": "string" +} +}, +"path": "v1/courses/{courseId}/topics/{id}", +"response": { +"$ref": "Topic" +}, +"scopes": [ +"https://www.googleapis.com/auth/classroom.topics", +"https://www.googleapis.com/auth/classroom.topics.readonly" +] +}, +"list": { +"description": "Returns the list of topics that the requester is permitted to view. This method returns the following error codes: * `PERMISSION_DENIED` if the requesting user is not permitted to access the requested course or for access errors. * `INVALID_ARGUMENT` if the request is malformed. * `NOT_FOUND` if the requested course does not exist.", +"flatPath": "v1/courses/{courseId}/topics", +"httpMethod": "GET", +"id": "classroom.courses.topics.list", +"parameterOrder": [ +"courseId" +], +"parameters": { +"courseId": { +"description": "Identifier of the course. This identifier can be either the Classroom-assigned identifier or an alias.", +"location": "path", +"required": true, +"type": "string" +}, +"pageSize": { +"description": "Maximum number of items to return. Zero or unspecified indicates that the server may assign a maximum. The server may return fewer than the specified number of results.", +"format": "int32", +"location": "query", +"type": "integer" +}, +"pageToken": { +"description": "nextPageToken value returned from a previous list call, indicating that the subsequent page of results should be returned. The list request must be otherwise identical to the one that resulted in this token.", +"location": "query", +"type": "string" +} +}, +"path": "v1/courses/{courseId}/topics", +"response": { +"$ref": "ListTopicResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/classroom.topics", +"https://www.googleapis.com/auth/classroom.topics.readonly" +] +}, +"patch": { +"description": "Updates one or more fields of a topic. This method returns the following error codes: * `PERMISSION_DENIED` if the requesting developer project did not create the corresponding topic or for access errors. * `INVALID_ARGUMENT` if the request is malformed. * `NOT_FOUND` if the requested course or topic does not exist", +"flatPath": "v1/courses/{courseId}/topics/{id}", +"httpMethod": "PATCH", +"id": "classroom.courses.topics.patch", +"parameterOrder": [ +"courseId", +"id" +], +"parameters": { +"courseId": { +"description": "Identifier of the course. This identifier can be either the Classroom-assigned identifier or an alias.", +"location": "path", +"required": true, +"type": "string" +}, +"id": { +"description": "Identifier of the topic.", +"location": "path", +"required": true, +"type": "string" +}, +"updateMask": { +"description": "Mask that identifies which fields on the topic to update. This field is required to do an update. The update fails if invalid fields are specified. If a field supports empty values, it can be cleared by specifying it in the update mask and not in the Topic object. If a field that does not support empty values is included in the update mask and not set in the Topic object, an `INVALID_ARGUMENT` error is returned. The following fields may be specified: * `name`", +"format": "google-fieldmask", +"location": "query", +"type": "string" +} +}, +"path": "v1/courses/{courseId}/topics/{id}", +"request": { +"$ref": "Topic" +}, +"response": { +"$ref": "Topic" +}, +"scopes": [ +"https://www.googleapis.com/auth/classroom.topics" +] +} +} +} +} +}, +"invitations": { +"methods": { +"accept": { +"description": "Accepts an invitation, removing it and adding the invited user to the teachers or students (as appropriate) of the specified course. Only the invited user may accept an invitation. This method returns the following error codes: * `PERMISSION_DENIED` if the requesting user is not permitted to accept the requested invitation or for access errors. * `FAILED_PRECONDITION` for the following request errors: * CourseMemberLimitReached * CourseNotModifiable * CourseTeacherLimitReached * UserGroupsMembershipLimitReached * `NOT_FOUND` if no invitation exists with the requested ID.", +"flatPath": "v1/invitations/{id}:accept", +"httpMethod": "POST", +"id": "classroom.invitations.accept", +"parameterOrder": [ +"id" +], +"parameters": { +"id": { +"description": "Identifier of the invitation to accept.", +"location": "path", +"required": true, +"type": "string" +} +}, +"path": "v1/invitations/{id}:accept", +"response": { +"$ref": "Empty" +}, +"scopes": [ +"https://www.googleapis.com/auth/classroom.rosters" +] +}, +"create": { +"description": "Creates an invitation. Only one invitation for a user and course may exist at a time. Delete and re-create an invitation to make changes. This method returns the following error codes: * `PERMISSION_DENIED` if the requesting user is not permitted to create invitations for this course or for access errors. * `NOT_FOUND` if the course or the user does not exist. * `FAILED_PRECONDITION`: * if the requested user's account is disabled. * if the user already has this role or a role with greater permissions. * for the following request errors: * IneligibleOwner * `ALREADY_EXISTS` if an invitation for the specified user and course already exists.", +"flatPath": "v1/invitations", +"httpMethod": "POST", +"id": "classroom.invitations.create", +"parameterOrder": [], +"parameters": {}, +"path": "v1/invitations", +"request": { +"$ref": "Invitation" +}, +"response": { +"$ref": "Invitation" +}, +"scopes": [ +"https://www.googleapis.com/auth/classroom.rosters" +] +}, +"delete": { +"description": "Deletes an invitation. This method returns the following error codes: * `PERMISSION_DENIED` if the requesting user is not permitted to delete the requested invitation or for access errors. * `NOT_FOUND` if no invitation exists with the requested ID.", +"flatPath": "v1/invitations/{id}", +"httpMethod": "DELETE", +"id": "classroom.invitations.delete", +"parameterOrder": [ +"id" +], +"parameters": { +"id": { +"description": "Identifier of the invitation to delete.", +"location": "path", +"required": true, +"type": "string" +} +}, +"path": "v1/invitations/{id}", +"response": { +"$ref": "Empty" +}, +"scopes": [ +"https://www.googleapis.com/auth/classroom.rosters" +] +}, +"get": { +"description": "Returns an invitation. This method returns the following error codes: * `PERMISSION_DENIED` if the requesting user is not permitted to view the requested invitation or for access errors. * `NOT_FOUND` if no invitation exists with the requested ID.", +"flatPath": "v1/invitations/{id}", +"httpMethod": "GET", +"id": "classroom.invitations.get", +"parameterOrder": [ +"id" +], +"parameters": { +"id": { +"description": "Identifier of the invitation to return.", +"location": "path", +"required": true, +"type": "string" +} +}, +"path": "v1/invitations/{id}", +"response": { +"$ref": "Invitation" +}, +"scopes": [ +"https://www.googleapis.com/auth/classroom.rosters", +"https://www.googleapis.com/auth/classroom.rosters.readonly" +] +}, +"list": { +"description": "Returns a list of invitations that the requesting user is permitted to view, restricted to those that match the list request. *Note:* At least one of `user_id` or `course_id` must be supplied. Both fields can be supplied. This method returns the following error codes: * `PERMISSION_DENIED` for access errors.", +"flatPath": "v1/invitations", +"httpMethod": "GET", +"id": "classroom.invitations.list", +"parameterOrder": [], +"parameters": { +"courseId": { +"description": "Restricts returned invitations to those for a course with the specified identifier.", +"location": "query", +"type": "string" +}, +"pageSize": { +"description": "Maximum number of items to return. The default is 500 if unspecified or `0`. The server may return fewer than the specified number of results.", +"format": "int32", +"location": "query", +"type": "integer" +}, +"pageToken": { +"description": "nextPageToken value returned from a previous list call, indicating that the subsequent page of results should be returned. The list request must be otherwise identical to the one that resulted in this token.", +"location": "query", +"type": "string" +}, +"userId": { +"description": "Restricts returned invitations to those for a specific user. The identifier can be one of the following: * the numeric identifier for the user * the email address of the user * the string literal `\"me\"`, indicating the requesting user", +"location": "query", +"type": "string" +} +}, +"path": "v1/invitations", +"response": { +"$ref": "ListInvitationsResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/classroom.rosters", +"https://www.googleapis.com/auth/classroom.rosters.readonly" +] +} +} +}, +"registrations": { +"methods": { +"create": { +"description": "Creates a `Registration`, causing Classroom to start sending notifications from the provided `feed` to the destination provided in `cloudPubSubTopic`. Returns the created `Registration`. Currently, this will be the same as the argument, but with server-assigned fields such as `expiry_time` and `id` filled in. Note that any value specified for the `expiry_time` or `id` fields will be ignored. While Classroom may validate the `cloudPubSubTopic` and return errors on a best effort basis, it is the caller's responsibility to ensure that it exists and that Classroom has permission to publish to it. This method may return the following error codes: * `PERMISSION_DENIED` if: * the authenticated user does not have permission to receive notifications from the requested field; or * the current user has not granted access to the current Cloud project with the appropriate scope for the requested feed. Note that domain-wide delegation of authority is not currently supported for this purpose. If the request has the appropriate scope, but no grant exists, a Request Errors is returned. * another access error is encountered. * `INVALID_ARGUMENT` if: * no `cloudPubsubTopic` is specified, or the specified `cloudPubsubTopic` is not valid; or * no `feed` is specified, or the specified `feed` is not valid. * `NOT_FOUND` if: * the specified `feed` cannot be located, or the requesting user does not have permission to determine whether or not it exists; or * the specified `cloudPubsubTopic` cannot be located, or Classroom has not been granted permission to publish to it.", +"flatPath": "v1/registrations", +"httpMethod": "POST", +"id": "classroom.registrations.create", +"parameterOrder": [], +"parameters": {}, +"path": "v1/registrations", +"request": { +"$ref": "Registration" +}, +"response": { +"$ref": "Registration" +}, +"scopes": [ +"https://www.googleapis.com/auth/classroom.push-notifications" +] +}, +"delete": { +"description": "Deletes a `Registration`, causing Classroom to stop sending notifications for that `Registration`.", +"flatPath": "v1/registrations/{registrationId}", +"httpMethod": "DELETE", +"id": "classroom.registrations.delete", +"parameterOrder": [ +"registrationId" +], +"parameters": { +"registrationId": { +"description": "The `registration_id` of the `Registration` to be deleted.", +"location": "path", +"required": true, +"type": "string" +} +}, +"path": "v1/registrations/{registrationId}", +"response": { +"$ref": "Empty" +}, +"scopes": [ +"https://www.googleapis.com/auth/classroom.push-notifications" +] +} +} +}, +"userProfiles": { +"methods": { +"get": { +"description": "Returns a user profile. This method returns the following error codes: * `PERMISSION_DENIED` if the requesting user is not permitted to access this user profile, if no profile exists with the requested ID, or for access errors.", +"flatPath": "v1/userProfiles/{userId}", +"httpMethod": "GET", +"id": "classroom.userProfiles.get", +"parameterOrder": [ +"userId" +], +"parameters": { +"userId": { +"description": "Identifier of the profile to return. The identifier can be one of the following: * the numeric identifier for the user * the email address of the user * the string literal `\"me\"`, indicating the requesting user", +"location": "path", +"required": true, +"type": "string" +} +}, +"path": "v1/userProfiles/{userId}", +"response": { +"$ref": "UserProfile" +}, +"scopes": [ +"https://www.googleapis.com/auth/classroom.profile.emails", +"https://www.googleapis.com/auth/classroom.profile.photos", +"https://www.googleapis.com/auth/classroom.rosters", +"https://www.googleapis.com/auth/classroom.rosters.readonly" +] +} +}, +"resources": { +"guardianInvitations": { +"methods": { +"create": { +"description": "Creates a guardian invitation, and sends an email to the guardian asking them to confirm that they are the student's guardian. Once the guardian accepts the invitation, their `state` will change to `COMPLETED` and they will start receiving guardian notifications. A `Guardian` resource will also be created to represent the active guardian. The request object must have the `student_id` and `invited_email_address` fields set. Failing to set these fields, or setting any other fields in the request, will result in an error. This method returns the following error codes: * `PERMISSION_DENIED` if the current user does not have permission to manage guardians, if the guardian in question has already rejected too many requests for that student, if guardians are not enabled for the domain in question, or for other access errors. * `RESOURCE_EXHAUSTED` if the student or guardian has exceeded the guardian link limit. * `INVALID_ARGUMENT` if the guardian email address is not valid (for example, if it is too long), or if the format of the student ID provided cannot be recognized (it is not an email address, nor a `user_id` from this API). This error will also be returned if read-only fields are set, or if the `state` field is set to to a value other than `PENDING`. * `NOT_FOUND` if the student ID provided is a valid student ID, but Classroom has no record of that student. * `ALREADY_EXISTS` if there is already a pending guardian invitation for the student and `invited_email_address` provided, or if the provided `invited_email_address` matches the Google account of an existing `Guardian` for this user.", +"flatPath": "v1/userProfiles/{studentId}/guardianInvitations", +"httpMethod": "POST", +"id": "classroom.userProfiles.guardianInvitations.create", +"parameterOrder": [ +"studentId" +], +"parameters": { +"studentId": { +"description": "ID of the student (in standard format)", +"location": "path", +"required": true, +"type": "string" +} +}, +"path": "v1/userProfiles/{studentId}/guardianInvitations", +"request": { +"$ref": "GuardianInvitation" +}, +"response": { +"$ref": "GuardianInvitation" +}, +"scopes": [ +"https://www.googleapis.com/auth/classroom.guardianlinks.students" +] +}, +"get": { +"description": "Returns a specific guardian invitation. This method returns the following error codes: * `PERMISSION_DENIED` if the requesting user is not permitted to view guardian invitations for the student identified by the `student_id`, if guardians are not enabled for the domain in question, or for other access errors. * `INVALID_ARGUMENT` if a `student_id` is specified, but its format cannot be recognized (it is not an email address, nor a `student_id` from the API, nor the literal string `me`). * `NOT_FOUND` if Classroom cannot find any record of the given student or `invitation_id`. May also be returned if the student exists, but the requesting user does not have access to see that student.", +"flatPath": "v1/userProfiles/{studentId}/guardianInvitations/{invitationId}", +"httpMethod": "GET", +"id": "classroom.userProfiles.guardianInvitations.get", +"parameterOrder": [ +"studentId", +"invitationId" +], +"parameters": { +"invitationId": { +"description": "The `id` field of the `GuardianInvitation` being requested.", +"location": "path", +"required": true, +"type": "string" +}, +"studentId": { +"description": "The ID of the student whose guardian invitation is being requested.", +"location": "path", +"required": true, +"type": "string" +} +}, +"path": "v1/userProfiles/{studentId}/guardianInvitations/{invitationId}", +"response": { +"$ref": "GuardianInvitation" +}, +"scopes": [ +"https://www.googleapis.com/auth/classroom.guardianlinks.students", +"https://www.googleapis.com/auth/classroom.guardianlinks.students.readonly" +] +}, +"list": { +"description": "Returns a list of guardian invitations that the requesting user is permitted to view, filtered by the parameters provided. This method returns the following error codes: * `PERMISSION_DENIED` if a `student_id` is specified, and the requesting user is not permitted to view guardian invitations for that student, if `\"-\"` is specified as the `student_id` and the user is not a domain administrator, if guardians are not enabled for the domain in question, or for other access errors. * `INVALID_ARGUMENT` if a `student_id` is specified, but its format cannot be recognized (it is not an email address, nor a `student_id` from the API, nor the literal string `me`). May also be returned if an invalid `page_token` or `state` is provided. * `NOT_FOUND` if a `student_id` is specified, and its format can be recognized, but Classroom has no record of that student.", +"flatPath": "v1/userProfiles/{studentId}/guardianInvitations", +"httpMethod": "GET", +"id": "classroom.userProfiles.guardianInvitations.list", +"parameterOrder": [ +"studentId" +], +"parameters": { +"invitedEmailAddress": { +"description": "If specified, only results with the specified `invited_email_address` are returned.", +"location": "query", +"type": "string" +}, +"pageSize": { +"description": "Maximum number of items to return. Zero or unspecified indicates that the server may assign a maximum. The server may return fewer than the specified number of results.", +"format": "int32", +"location": "query", +"type": "integer" +}, +"pageToken": { +"description": "nextPageToken value returned from a previous list call, indicating that the subsequent page of results should be returned. The list request must be otherwise identical to the one that resulted in this token.", +"location": "query", +"type": "string" +}, +"states": { +"description": "If specified, only results with the specified `state` values are returned. Otherwise, results with a `state` of `PENDING` are returned.", +"enum": [ +"GUARDIAN_INVITATION_STATE_UNSPECIFIED", +"PENDING", +"COMPLETE" +], +"enumDescriptions": [ +"Should never be returned.", +"The invitation is active and awaiting a response.", +"The invitation is no longer active. It may have been accepted, declined, withdrawn or it may have expired." +], +"location": "query", +"repeated": true, +"type": "string" +}, +"studentId": { +"description": "The ID of the student whose guardian invitations are to be returned. The identifier can be one of the following: * the numeric identifier for the user * the email address of the user * the string literal `\"me\"`, indicating the requesting user * the string literal `\"-\"`, indicating that results should be returned for all students that the requesting user is permitted to view guardian invitations.", +"location": "path", +"required": true, +"type": "string" +} +}, +"path": "v1/userProfiles/{studentId}/guardianInvitations", +"response": { +"$ref": "ListGuardianInvitationsResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/classroom.guardianlinks.students", +"https://www.googleapis.com/auth/classroom.guardianlinks.students.readonly" +] +}, +"patch": { +"description": "Modifies a guardian invitation. Currently, the only valid modification is to change the `state` from `PENDING` to `COMPLETE`. This has the effect of withdrawing the invitation. This method returns the following error codes: * `PERMISSION_DENIED` if the current user does not have permission to manage guardians, if guardians are not enabled for the domain in question or for other access errors. * `FAILED_PRECONDITION` if the guardian link is not in the `PENDING` state. * `INVALID_ARGUMENT` if the format of the student ID provided cannot be recognized (it is not an email address, nor a `user_id` from this API), or if the passed `GuardianInvitation` has a `state` other than `COMPLETE`, or if it modifies fields other than `state`. * `NOT_FOUND` if the student ID provided is a valid student ID, but Classroom has no record of that student, or if the `id` field does not refer to a guardian invitation known to Classroom.", +"flatPath": "v1/userProfiles/{studentId}/guardianInvitations/{invitationId}", +"httpMethod": "PATCH", +"id": "classroom.userProfiles.guardianInvitations.patch", +"parameterOrder": [ +"studentId", +"invitationId" +], +"parameters": { +"invitationId": { +"description": "The `id` field of the `GuardianInvitation` to be modified.", +"location": "path", +"required": true, +"type": "string" +}, +"studentId": { +"description": "The ID of the student whose guardian invitation is to be modified.", +"location": "path", +"required": true, +"type": "string" +}, +"updateMask": { +"description": "Mask that identifies which fields on the course to update. This field is required to do an update. The update fails if invalid fields are specified. The following fields are valid: * `state` When set in a query parameter, this field should be specified as `updateMask=,,...`", +"format": "google-fieldmask", +"location": "query", +"type": "string" +} +}, +"path": "v1/userProfiles/{studentId}/guardianInvitations/{invitationId}", +"request": { +"$ref": "GuardianInvitation" +}, +"response": { +"$ref": "GuardianInvitation" +}, +"scopes": [ +"https://www.googleapis.com/auth/classroom.guardianlinks.students" +] +} +} +}, +"guardians": { +"methods": { +"delete": { +"description": "Deletes a guardian. The guardian will no longer receive guardian notifications and the guardian will no longer be accessible via the API. This method returns the following error codes: * `PERMISSION_DENIED` if no user that matches the provided `student_id` is visible to the requesting user, if the requesting user is not permitted to manage guardians for the student identified by the `student_id`, if guardians are not enabled for the domain in question, or for other access errors. * `INVALID_ARGUMENT` if a `student_id` is specified, but its format cannot be recognized (it is not an email address, nor a `student_id` from the API). * `NOT_FOUND` if the requesting user is permitted to modify guardians for the requested `student_id`, but no `Guardian` record exists for that student with the provided `guardian_id`.", +"flatPath": "v1/userProfiles/{studentId}/guardians/{guardianId}", +"httpMethod": "DELETE", +"id": "classroom.userProfiles.guardians.delete", +"parameterOrder": [ +"studentId", +"guardianId" +], +"parameters": { +"guardianId": { +"description": "The `id` field from a `Guardian`.", +"location": "path", +"required": true, +"type": "string" +}, +"studentId": { +"description": "The student whose guardian is to be deleted. One of the following: * the numeric identifier for the user * the email address of the user * the string literal `\"me\"`, indicating the requesting user", +"location": "path", +"required": true, +"type": "string" +} +}, +"path": "v1/userProfiles/{studentId}/guardians/{guardianId}", +"response": { +"$ref": "Empty" +}, +"scopes": [ +"https://www.googleapis.com/auth/classroom.guardianlinks.students" +] +}, +"get": { +"description": "Returns a specific guardian. This method returns the following error codes: * `PERMISSION_DENIED` if no user that matches the provided `student_id` is visible to the requesting user, if the requesting user is not permitted to view guardian information for the student identified by the `student_id`, if guardians are not enabled for the domain in question, or for other access errors. * `INVALID_ARGUMENT` if a `student_id` is specified, but its format cannot be recognized (it is not an email address, nor a `student_id` from the API, nor the literal string `me`). * `NOT_FOUND` if the requesting user is permitted to view guardians for the requested `student_id`, but no `Guardian` record exists for that student that matches the provided `guardian_id`.", +"flatPath": "v1/userProfiles/{studentId}/guardians/{guardianId}", +"httpMethod": "GET", +"id": "classroom.userProfiles.guardians.get", +"parameterOrder": [ +"studentId", +"guardianId" +], +"parameters": { +"guardianId": { +"description": "The `id` field from a `Guardian`.", +"location": "path", +"required": true, +"type": "string" +}, +"studentId": { +"description": "The student whose guardian is being requested. One of the following: * the numeric identifier for the user * the email address of the user * the string literal `\"me\"`, indicating the requesting user", +"location": "path", +"required": true, +"type": "string" +} +}, +"path": "v1/userProfiles/{studentId}/guardians/{guardianId}", +"response": { +"$ref": "Guardian" +}, +"scopes": [ +"https://www.googleapis.com/auth/classroom.guardianlinks.me.readonly", +"https://www.googleapis.com/auth/classroom.guardianlinks.students", +"https://www.googleapis.com/auth/classroom.guardianlinks.students.readonly" +] +}, +"list": { +"description": "Returns a list of guardians that the requesting user is permitted to view, restricted to those that match the request. To list guardians for any student that the requesting user may view guardians for, use the literal character `-` for the student ID. This method returns the following error codes: * `PERMISSION_DENIED` if a `student_id` is specified, and the requesting user is not permitted to view guardian information for that student, if `\"-\"` is specified as the `student_id` and the user is not a domain administrator, if guardians are not enabled for the domain in question, if the `invited_email_address` filter is set by a user who is not a domain administrator, or for other access errors. * `INVALID_ARGUMENT` if a `student_id` is specified, but its format cannot be recognized (it is not an email address, nor a `student_id` from the API, nor the literal string `me`). May also be returned if an invalid `page_token` is provided. * `NOT_FOUND` if a `student_id` is specified, and its format can be recognized, but Classroom has no record of that student.", +"flatPath": "v1/userProfiles/{studentId}/guardians", +"httpMethod": "GET", +"id": "classroom.userProfiles.guardians.list", +"parameterOrder": [ +"studentId" +], +"parameters": { +"invitedEmailAddress": { +"description": "Filter results by the email address that the original invitation was sent to, resulting in this guardian link. This filter can only be used by domain administrators.", +"location": "query", +"type": "string" +}, +"pageSize": { +"description": "Maximum number of items to return. Zero or unspecified indicates that the server may assign a maximum. The server may return fewer than the specified number of results.", +"format": "int32", +"location": "query", +"type": "integer" +}, +"pageToken": { +"description": "nextPageToken value returned from a previous list call, indicating that the subsequent page of results should be returned. The list request must be otherwise identical to the one that resulted in this token.", +"location": "query", +"type": "string" +}, +"studentId": { +"description": "Filter results by the student who the guardian is linked to. The identifier can be one of the following: * the numeric identifier for the user * the email address of the user * the string literal `\"me\"`, indicating the requesting user * the string literal `\"-\"`, indicating that results should be returned for all students that the requesting user has access to view.", +"location": "path", +"required": true, +"type": "string" +} +}, +"path": "v1/userProfiles/{studentId}/guardians", +"response": { +"$ref": "ListGuardiansResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/classroom.guardianlinks.me.readonly", +"https://www.googleapis.com/auth/classroom.guardianlinks.students", +"https://www.googleapis.com/auth/classroom.guardianlinks.students.readonly" +] +} +} +} +} +} +}, +"revision": "20241209", +"rootUrl": "https://classroom.googleapis.com/", +"schemas": { +"AddOnAttachment": { +"description": "An add-on attachment on a post.", +"id": "AddOnAttachment", +"properties": { +"copyHistory": { +"description": "Output only. Identifiers of attachments that were previous copies of this attachment. If the attachment was previously copied by virtue of its parent post being copied, this enumerates the identifiers of attachments that were its previous copies in ascending chronological order of copy.", +"items": { +"$ref": "CopyHistory" +}, +"readOnly": true, +"type": "array" +}, +"courseId": { +"description": "Immutable. Identifier of the course.", +"type": "string" +}, +"dueDate": { +"$ref": "Date", +"description": "Date, in UTC, that work on this attachment is due. This must be specified if `due_time` is specified." +}, +"dueTime": { +"$ref": "TimeOfDay", +"description": "Time of day, in UTC, that work on this attachment is due. This must be specified if `due_date` is specified." +}, +"id": { +"description": "Immutable. Classroom-assigned identifier for this attachment, unique per post.", +"type": "string" +}, +"itemId": { +"description": "Immutable. Identifier of the `Announcement`, `CourseWork`, or `CourseWorkMaterial` under which the attachment is attached. Unique per course.", +"type": "string" +}, +"maxPoints": { +"description": "Maximum grade for this attachment. Can only be set if `studentWorkReviewUri` is set. Set to a non-zero value to indicate that the attachment supports grade passback. If set, this must be a non-negative integer value. When set to zero, the attachment will not support grade passback.", +"format": "double", +"type": "number" +}, +"postId": { +"deprecated": true, +"description": "Immutable. Deprecated, use `item_id` instead.", +"type": "string" +}, +"studentViewUri": { +"$ref": "EmbedUri", +"description": "Required. URI to show the student view of the attachment. The URI will be opened in an iframe with the `courseId`, `itemId`, `itemType`, and `attachmentId` query parameters set." +}, +"studentWorkReviewUri": { +"$ref": "EmbedUri", +"description": "URI for the teacher to see student work on the attachment, if applicable. The URI will be opened in an iframe with the `courseId`, `itemId`, `itemType`, `attachmentId`, and `submissionId` query parameters set. This is the same `submissionId` returned in the [`AddOnContext.studentContext`](//devsite.google.com/classroom/reference/rest/v1/AddOnContext#StudentContext) field when a student views the attachment. If the URI is omitted or removed, `max_points` will also be discarded." +}, +"teacherViewUri": { +"$ref": "EmbedUri", +"description": "Required. URI to show the teacher view of the attachment. The URI will be opened in an iframe with the `courseId`, `itemId`, `itemType`, and `attachmentId` query parameters set." +}, +"title": { +"description": "Required. Title of this attachment. The title must be between 1 and 1000 characters.", +"type": "string" +} +}, +"type": "object" +}, +"AddOnAttachmentStudentSubmission": { +"description": "Payload for grade update requests.", +"id": "AddOnAttachmentStudentSubmission", +"properties": { +"pointsEarned": { +"description": "Student grade on this attachment. If unset, no grade was set.", +"format": "double", +"type": "number" +}, +"postSubmissionState": { +"description": "Submission state of add-on attachment's parent post (i.e. assignment).", +"enum": [ +"SUBMISSION_STATE_UNSPECIFIED", +"NEW", +"CREATED", +"TURNED_IN", +"RETURNED", +"RECLAIMED_BY_STUDENT" +], +"enumDescriptions": [ +"No state specified. This should never be returned.", +"The student has never accessed this submission. Attachments are not returned and timestamps is not set.", +"Has been created.", +"Has been turned in to the teacher.", +"Has been returned to the student.", +"Student chose to \"unsubmit\" the assignment." +], +"type": "string" +} +}, +"type": "object" +}, +"AddOnContext": { +"description": "Attachment-relevant metadata for Classroom add-ons in the context of a specific post.", +"id": "AddOnContext", +"properties": { +"courseId": { +"description": "Immutable. Identifier of the course.", +"type": "string" +}, +"itemId": { +"description": "Immutable. Identifier of the `Announcement`, `CourseWork`, or `CourseWorkMaterial` under which the attachment is attached.", +"type": "string" +}, +"postId": { +"deprecated": true, +"description": "Immutable. Deprecated, use `item_id` instead.", +"type": "string" +}, +"studentContext": { +"$ref": "StudentContext", +"description": "Add-on context corresponding to the requesting user's role as a student. Its presence implies that the requesting user is a student in the course." +}, +"supportsStudentWork": { +"description": "Optional. Whether the post allows the teacher to see student work and passback grades.", +"type": "boolean" +}, +"teacherContext": { +"$ref": "TeacherContext", +"description": "Add-on context corresponding to the requesting user's role as a teacher. Its presence implies that the requesting user is a teacher in the course." +} +}, +"type": "object" +}, +"Announcement": { +"description": "Announcement created by a teacher for students of the course", +"id": "Announcement", +"properties": { +"alternateLink": { +"description": "Absolute link to this announcement in the Classroom web UI. This is only populated if `state` is `PUBLISHED`. Read-only.", +"type": "string" +}, +"assigneeMode": { +"description": "Assignee mode of the announcement. If unspecified, the default value is `ALL_STUDENTS`.", +"enum": [ +"ASSIGNEE_MODE_UNSPECIFIED", +"ALL_STUDENTS", +"INDIVIDUAL_STUDENTS" +], +"enumDescriptions": [ +"No mode specified. This is never returned.", +"All students can see the item. This is the default state.", +"A subset of the students can see the item." +], +"type": "string" +}, +"courseId": { +"description": "Identifier of the course. Read-only.", +"type": "string" +}, +"creationTime": { +"description": "Timestamp when this announcement was created. Read-only.", +"format": "google-datetime", +"type": "string" +}, +"creatorUserId": { +"description": "Identifier for the user that created the announcement. Read-only.", +"type": "string" +}, +"id": { +"description": "Classroom-assigned identifier of this announcement, unique per course. Read-only.", +"type": "string" +}, +"individualStudentsOptions": { +"$ref": "IndividualStudentsOptions", +"description": "Identifiers of students with access to the announcement. This field is set only if `assigneeMode` is `INDIVIDUAL_STUDENTS`. If the `assigneeMode` is `INDIVIDUAL_STUDENTS`, then only students specified in this field can see the announcement." +}, +"materials": { +"description": "Additional materials. Announcements must have no more than 20 material items.", +"items": { +"$ref": "Material" +}, +"type": "array" +}, +"scheduledTime": { +"description": "Optional timestamp when this announcement is scheduled to be published.", +"format": "google-datetime", +"type": "string" +}, +"state": { +"description": "Status of this announcement. If unspecified, the default state is `DRAFT`.", +"enum": [ +"ANNOUNCEMENT_STATE_UNSPECIFIED", +"PUBLISHED", +"DRAFT", +"DELETED" +], +"enumDescriptions": [ +"No state specified. This is never returned.", +"Status for announcement that has been published. This is the default state.", +"Status for an announcement that is not yet published. Announcement in this state is visible only to course teachers and domain administrators.", +"Status for announcement that was published but is now deleted. Announcement in this state is visible only to course teachers and domain administrators. Announcement in this state is deleted after some time." +], +"type": "string" +}, +"text": { +"description": "Description of this announcement. The text must be a valid UTF-8 string containing no more than 30,000 characters.", +"type": "string" +}, +"updateTime": { +"description": "Timestamp of the most recent change to this announcement. Read-only.", +"format": "google-datetime", +"type": "string" +} +}, +"type": "object" +}, +"Assignment": { +"description": "Additional details for assignments.", +"id": "Assignment", +"properties": { +"studentWorkFolder": { +"$ref": "DriveFolder", +"description": "Drive folder where attachments from student submissions are placed. This is only populated for course teachers and administrators." +} +}, +"type": "object" +}, +"AssignmentSubmission": { +"description": "Student work for an assignment.", +"id": "AssignmentSubmission", +"properties": { +"attachments": { +"description": "Attachments added by the student. Drive files that correspond to materials with a share mode of STUDENT_COPY may not exist yet if the student has not accessed the assignment in Classroom. Some attachment metadata is only populated if the requesting user has permission to access it. Identifier and alternate_link fields are always available, but others (for example, title) may not be.", +"items": { +"$ref": "Attachment" +}, +"type": "array" +} +}, +"type": "object" +}, +"Attachment": { +"description": "Attachment added to student assignment work. When creating attachments, setting the `form` field is not supported.", +"id": "Attachment", +"properties": { +"driveFile": { +"$ref": "DriveFile", +"description": "Google Drive file attachment." +}, +"form": { +"$ref": "Form", +"description": "Google Forms attachment." +}, +"link": { +"$ref": "Link", +"description": "Link attachment." +}, +"youTubeVideo": { +"$ref": "YouTubeVideo", +"description": "Youtube video attachment." +} +}, +"type": "object" +}, +"CloudPubsubTopic": { +"description": "A reference to a Cloud Pub/Sub topic. To register for notifications, the owner of the topic must grant `classroom-notifications@system.gserviceaccount.com` the `projects.topics.publish` permission.", +"id": "CloudPubsubTopic", +"properties": { +"topicName": { +"description": "The `name` field of a Cloud Pub/Sub [Topic](https://cloud.google.com/pubsub/docs/reference/rest/v1/projects.topics#Topic).", +"type": "string" +} +}, +"type": "object" +}, +"CopyHistory": { +"description": "Identifier of a previous copy of a given attachment.", +"id": "CopyHistory", +"properties": { +"attachmentId": { +"description": "Immutable. Identifier of the attachment.", +"type": "string" +}, +"courseId": { +"description": "Immutable. Identifier of the course.", +"type": "string" +}, +"itemId": { +"description": "Immutable. Identifier of the `Announcement`, `CourseWork`, or `CourseWorkMaterial` under which the attachment is attached.", +"type": "string" +}, +"postId": { +"deprecated": true, +"description": "Immutable. Deprecated, use `item_id` instead.", +"type": "string" +} +}, +"type": "object" +}, +"Course": { +"description": "A Course in Classroom.", +"id": "Course", +"properties": { +"alternateLink": { +"description": "Absolute link to this course in the Classroom web UI. Read-only.", +"type": "string" +}, +"calendarId": { +"description": "The Calendar ID for a calendar that all course members can see, to which Classroom adds events for course work and announcements in the course. The Calendar for a course is created asynchronously when the course is set to `CourseState.ACTIVE` for the first time (at creation time or when it is updated to `ACTIVE` through the UI or the API). The Calendar ID will not be populated until the creation process is completed. Read-only.", +"type": "string" +}, +"courseGroupEmail": { +"description": "The email address of a Google group containing all members of the course. This group does not accept email and can only be used for permissions. Read-only.", +"type": "string" +}, +"courseMaterialSets": { +"deprecated": true, +"description": "Sets of materials that appear on the \"about\" page of this course. Read-only.", +"items": { +"$ref": "CourseMaterialSet" +}, +"type": "array" +}, +"courseState": { +"description": "State of the course. If unspecified, the default state is `PROVISIONED`.", +"enum": [ +"COURSE_STATE_UNSPECIFIED", +"ACTIVE", +"ARCHIVED", +"PROVISIONED", +"DECLINED", +"SUSPENDED" +], +"enumDescriptions": [ +"No course state. No returned Course message will use this value.", +"The course is active.", +"The course has been archived. You cannot modify it except to change it to a different state.", +"The course has been created, but not yet activated. It is accessible by the primary teacher and domain administrators, who may modify it or change it to the `ACTIVE` or `DECLINED` states. A course may only be changed to `PROVISIONED` if it is in the `DECLINED` state.", +"The course has been created, but declined. It is accessible by the course owner and domain administrators, though it will not be displayed in the web UI. You cannot modify the course except to change it to the `PROVISIONED` state. A course may only be changed to `DECLINED` if it is in the `PROVISIONED` state.", +"The course has been suspended. You cannot modify the course, and only the user identified by the `owner_id` can view the course. A course may be placed in this state if it potentially violates the Terms of Service." +], +"type": "string" +}, +"creationTime": { +"description": "Creation time of the course. Specifying this field in a course update mask results in an error. Read-only.", +"format": "google-datetime", +"type": "string" +}, +"description": { +"description": "Optional description. For example, \"We'll be learning about the structure of living creatures from a combination of textbooks, guest lectures, and lab work. Expect to be excited!\" If set, this field must be a valid UTF-8 string and no longer than 30,000 characters.", +"type": "string" +}, +"descriptionHeading": { +"description": "Optional heading for the description. For example, \"Welcome to 10th Grade Biology.\" If set, this field must be a valid UTF-8 string and no longer than 3600 characters.", +"type": "string" +}, +"enrollmentCode": { +"description": "Enrollment code to use when joining this course. Specifying this field in a course update mask results in an error. Read-only.", +"type": "string" +}, +"gradebookSettings": { +"$ref": "GradebookSettings", +"description": "The gradebook settings that specify how a student's overall grade for the course will be calculated and who it will be displayed to. Read-only" +}, +"guardiansEnabled": { +"description": "Whether or not guardian notifications are enabled for this course. Read-only.", +"type": "boolean" +}, +"id": { +"description": "Identifier for this course assigned by Classroom. When creating a course, you may optionally set this identifier to an alias string in the request to create a corresponding alias. The `id` is still assigned by Classroom and cannot be updated after the course is created. Specifying this field in a course update mask results in an error.", +"type": "string" +}, +"name": { +"description": "Name of the course. For example, \"10th Grade Biology\". The name is required. It must be between 1 and 750 characters and a valid UTF-8 string.", +"type": "string" +}, +"ownerId": { +"description": "The identifier of the owner of a course. When specified as a parameter of a create course request, this field is required. The identifier can be one of the following: * the numeric identifier for the user * the email address of the user * the string literal `\"me\"`, indicating the requesting user This must be set in a create request. Admins can also specify this field in a patch course request to transfer ownership. In other contexts, it is read-only.", +"type": "string" +}, +"room": { +"description": "Optional room location. For example, \"301\". If set, this field must be a valid UTF-8 string and no longer than 650 characters.", +"type": "string" +}, +"section": { +"description": "Section of the course. For example, \"Period 2\". If set, this field must be a valid UTF-8 string and no longer than 2800 characters.", +"type": "string" +}, +"teacherFolder": { +"$ref": "DriveFolder", +"description": "Information about a Drive Folder that is shared with all teachers of the course. This field will only be set for teachers of the course and domain administrators. Read-only." +}, +"teacherGroupEmail": { +"description": "The email address of a Google group containing all teachers of the course. This group does not accept email and can only be used for permissions. Read-only.", +"type": "string" +}, +"updateTime": { +"description": "Time of the most recent update to this course. Specifying this field in a course update mask results in an error. Read-only.", +"format": "google-datetime", +"type": "string" +} +}, +"type": "object" +}, +"CourseAlias": { +"description": "Alternative identifier for a course. An alias uniquely identifies a course. It must be unique within one of the following scopes: * domain: A domain-scoped alias is visible to all users within the alias creator's domain and can be created only by a domain admin. A domain-scoped alias is often used when a course has an identifier external to Classroom. * project: A project-scoped alias is visible to any request from an application using the Developer Console project ID that created the alias and can be created by any project. A project-scoped alias is often used when an application has alternative identifiers. A random value can also be used to avoid duplicate courses in the event of transmission failures, as retrying a request will return `ALREADY_EXISTS` if a previous one has succeeded.", +"id": "CourseAlias", +"properties": { +"alias": { +"description": "Alias string. The format of the string indicates the desired alias scoping. * `d:` indicates a domain-scoped alias. Example: `d:math_101` * `p:` indicates a project-scoped alias. Example: `p:abc123` This field has a maximum length of 256 characters.", +"type": "string" +} +}, +"type": "object" +}, +"CourseMaterial": { +"description": "A material attached to a course as part of a material set.", +"id": "CourseMaterial", +"properties": { +"driveFile": { +"$ref": "DriveFile", +"description": "Google Drive file attachment." +}, +"form": { +"$ref": "Form", +"description": "Google Forms attachment." +}, +"link": { +"$ref": "Link", +"description": "Link atatchment." +}, +"youTubeVideo": { +"$ref": "YouTubeVideo", +"description": "Youtube video attachment." +} +}, +"type": "object" +}, +"CourseMaterialSet": { +"description": "A set of materials that appears on the \"About\" page of the course. These materials might include a syllabus, schedule, or other background information relating to the course as a whole.", +"id": "CourseMaterialSet", +"properties": { +"materials": { +"description": "Materials attached to this set.", +"items": { +"$ref": "CourseMaterial" +}, +"type": "array" +}, +"title": { +"description": "Title for this set.", +"type": "string" +} +}, +"type": "object" +}, +"CourseRosterChangesInfo": { +"description": "Information about a `Feed` with a `feed_type` of `COURSE_ROSTER_CHANGES`.", +"id": "CourseRosterChangesInfo", +"properties": { +"courseId": { +"description": "The `course_id` of the course to subscribe to roster changes for.", +"type": "string" +} +}, +"type": "object" +}, +"CourseWork": { +"description": "Course work created by a teacher for students of the course.", +"id": "CourseWork", +"properties": { +"alternateLink": { +"description": "Absolute link to this course work in the Classroom web UI. This is only populated if `state` is `PUBLISHED`. Read-only.", +"type": "string" +}, +"assigneeMode": { +"description": "Assignee mode of the coursework. If unspecified, the default value is `ALL_STUDENTS`.", +"enum": [ +"ASSIGNEE_MODE_UNSPECIFIED", +"ALL_STUDENTS", +"INDIVIDUAL_STUDENTS" +], +"enumDescriptions": [ +"No mode specified. This is never returned.", +"All students can see the item. This is the default state.", +"A subset of the students can see the item." +], +"type": "string" +}, +"assignment": { +"$ref": "Assignment", +"description": "Assignment details. This is populated only when `work_type` is `ASSIGNMENT`. Read-only." +}, +"associatedWithDeveloper": { +"description": "Whether this course work item is associated with the Developer Console project making the request. See CreateCourseWork for more details. Read-only.", +"type": "boolean" +}, +"courseId": { +"description": "Identifier of the course. Read-only.", +"type": "string" +}, +"creationTime": { +"description": "Timestamp when this course work was created. Read-only.", +"format": "google-datetime", +"type": "string" +}, +"creatorUserId": { +"description": "Identifier for the user that created the coursework. Read-only.", +"type": "string" +}, +"description": { +"description": "Optional description of this course work. If set, the description must be a valid UTF-8 string containing no more than 30,000 characters.", +"type": "string" +}, +"dueDate": { +"$ref": "Date", +"description": "Optional date, in UTC, that submissions for this course work are due. This must be specified if `due_time` is specified." +}, +"dueTime": { +"$ref": "TimeOfDay", +"description": "Optional time of day, in UTC, that submissions for this course work are due. This must be specified if `due_date` is specified." +}, +"gradeCategory": { +"$ref": "GradeCategory", +"description": "The category that this coursework's grade contributes to. Present only when a category has been chosen for the coursework. May be used in calculating the overall grade. Read-only." +}, +"id": { +"description": "Classroom-assigned identifier of this course work, unique per course. Read-only.", +"type": "string" +}, +"individualStudentsOptions": { +"$ref": "IndividualStudentsOptions", +"description": "Identifiers of students with access to the coursework. This field is set only if `assigneeMode` is `INDIVIDUAL_STUDENTS`. If the `assigneeMode` is `INDIVIDUAL_STUDENTS`, then only students specified in this field are assigned the coursework." +}, +"materials": { +"description": "Additional materials. CourseWork must have no more than 20 material items.", +"items": { +"$ref": "Material" +}, +"type": "array" +}, +"maxPoints": { +"description": "Maximum grade for this course work. If zero or unspecified, this assignment is considered ungraded. This must be a non-negative integer value.", +"format": "double", +"type": "number" +}, +"multipleChoiceQuestion": { +"$ref": "MultipleChoiceQuestion", +"description": "Multiple choice question details. For read operations, this field is populated only when `work_type` is `MULTIPLE_CHOICE_QUESTION`. For write operations, this field must be specified when creating course work with a `work_type` of `MULTIPLE_CHOICE_QUESTION`, and it must not be set otherwise." +}, +"scheduledTime": { +"description": "Optional timestamp when this course work is scheduled to be published.", +"format": "google-datetime", +"type": "string" +}, +"state": { +"description": "Status of this course work. If unspecified, the default state is `DRAFT`.", +"enum": [ +"COURSE_WORK_STATE_UNSPECIFIED", +"PUBLISHED", +"DRAFT", +"DELETED" +], +"enumDescriptions": [ +"No state specified. This is never returned.", +"Status for work that has been published. This is the default state.", +"Status for work that is not yet published. Work in this state is visible only to course teachers and domain administrators.", +"Status for work that was published but is now deleted. Work in this state is visible only to course teachers and domain administrators. Work in this state is deleted after some time." +], +"type": "string" +}, +"submissionModificationMode": { +"description": "Setting to determine when students are allowed to modify submissions. If unspecified, the default value is `MODIFIABLE_UNTIL_TURNED_IN`.", +"enum": [ +"SUBMISSION_MODIFICATION_MODE_UNSPECIFIED", +"MODIFIABLE_UNTIL_TURNED_IN", +"MODIFIABLE" +], +"enumDescriptions": [ +"No modification mode specified. This is never returned.", +"Submissions can be modified before being turned in.", +"Submissions can be modified at any time." +], +"type": "string" +}, +"title": { +"description": "Title of this course work. The title must be a valid UTF-8 string containing between 1 and 3000 characters.", +"type": "string" +}, +"topicId": { +"description": "Identifier for the topic that this coursework is associated with. Must match an existing topic in the course.", +"type": "string" +}, +"updateTime": { +"description": "Timestamp of the most recent change to this course work. Read-only.", +"format": "google-datetime", +"type": "string" +}, +"workType": { +"description": "Type of this course work. The type is set when the course work is created and cannot be changed.", +"enum": [ +"COURSE_WORK_TYPE_UNSPECIFIED", +"ASSIGNMENT", +"SHORT_ANSWER_QUESTION", +"MULTIPLE_CHOICE_QUESTION" +], +"enumDescriptions": [ +"No work type specified. This is never returned.", +"An assignment.", +"A short answer question.", +"A multiple-choice question." +], +"type": "string" +} +}, +"type": "object" +}, +"CourseWorkChangesInfo": { +"description": "Information about a `Feed` with a `feed_type` of `COURSE_WORK_CHANGES`.", +"id": "CourseWorkChangesInfo", +"properties": { +"courseId": { +"description": "The `course_id` of the course to subscribe to work changes for.", +"type": "string" +} +}, +"type": "object" +}, +"CourseWorkMaterial": { +"description": "Course work material created by a teacher for students of the course", +"id": "CourseWorkMaterial", +"properties": { +"alternateLink": { +"description": "Absolute link to this course work material in the Classroom web UI. This is only populated if `state` is `PUBLISHED`. Read-only.", +"type": "string" +}, +"assigneeMode": { +"description": "Assignee mode of the course work material. If unspecified, the default value is `ALL_STUDENTS`.", +"enum": [ +"ASSIGNEE_MODE_UNSPECIFIED", +"ALL_STUDENTS", +"INDIVIDUAL_STUDENTS" +], +"enumDescriptions": [ +"No mode specified. This is never returned.", +"All students can see the item. This is the default state.", +"A subset of the students can see the item." +], +"type": "string" +}, +"courseId": { +"description": "Identifier of the course. Read-only.", +"type": "string" +}, +"creationTime": { +"description": "Timestamp when this course work material was created. Read-only.", +"format": "google-datetime", +"type": "string" +}, +"creatorUserId": { +"description": "Identifier for the user that created the course work material. Read-only.", +"type": "string" +}, +"description": { +"description": "Optional description of this course work material. The text must be a valid UTF-8 string containing no more than 30,000 characters.", +"type": "string" +}, +"id": { +"description": "Classroom-assigned identifier of this course work material, unique per course. Read-only.", +"type": "string" +}, +"individualStudentsOptions": { +"$ref": "IndividualStudentsOptions", +"description": "Identifiers of students with access to the course work material. This field is set only if `assigneeMode` is `INDIVIDUAL_STUDENTS`. If the `assigneeMode` is `INDIVIDUAL_STUDENTS`, then only students specified in this field can see the course work material." +}, +"materials": { +"description": "Additional materials. A course work material must have no more than 20 material items.", +"items": { +"$ref": "Material" +}, +"type": "array" +}, +"scheduledTime": { +"description": "Optional timestamp when this course work material is scheduled to be published.", +"format": "google-datetime", +"type": "string" +}, +"state": { +"description": "Status of this course work material. If unspecified, the default state is `DRAFT`.", +"enum": [ +"COURSEWORK_MATERIAL_STATE_UNSPECIFIED", +"PUBLISHED", +"DRAFT", +"DELETED" +], +"enumDescriptions": [ +"No state specified. This is never returned.", +"Status for course work material that has been published. This is the default state.", +"Status for a course work material that is not yet published. Course work material in this state is visible only to course teachers and domain administrators.", +"Status for course work material that was published but is now deleted. Course work material in this state is visible only to course teachers and domain administrators. Course work material in this state is deleted after some time." +], +"type": "string" +}, +"title": { +"description": "Title of this course work material. The title must be a valid UTF-8 string containing between 1 and 3000 characters.", +"type": "string" +}, +"topicId": { +"description": "Identifier for the topic that this course work material is associated with. Must match an existing topic in the course.", +"type": "string" +}, +"updateTime": { +"description": "Timestamp of the most recent change to this course work material. Read-only.", +"format": "google-datetime", +"type": "string" +} +}, +"type": "object" +}, +"Criterion": { +"description": "A rubric criterion. Each criterion is a dimension on which performance is rated.", +"id": "Criterion", +"properties": { +"description": { +"description": "The description of the criterion.", +"type": "string" +}, +"id": { +"description": "The criterion ID. On creation, an ID is assigned.", +"type": "string" +}, +"levels": { +"description": "The list of levels within this criterion.", +"items": { +"$ref": "Level" +}, +"type": "array" +}, +"title": { +"description": "The title of the criterion.", +"type": "string" +} +}, +"type": "object" +}, +"Date": { +"description": "Represents a whole or partial calendar date, such as a birthday. The time of day and time zone are either specified elsewhere or are insignificant. The date is relative to the Gregorian Calendar. This can represent one of the following: * A full date, with non-zero year, month, and day values. * A month and day, with a zero year (for example, an anniversary). * A year on its own, with a zero month and a zero day. * A year and month, with a zero day (for example, a credit card expiration date). Related types: * google.type.TimeOfDay * google.type.DateTime * google.protobuf.Timestamp", +"id": "Date", +"properties": { +"day": { +"description": "Day of a month. Must be from 1 to 31 and valid for the year and month, or 0 to specify a year by itself or a year and month where the day isn't significant.", +"format": "int32", +"type": "integer" +}, +"month": { +"description": "Month of a year. Must be from 1 to 12, or 0 to specify a year without a month and day.", +"format": "int32", +"type": "integer" +}, +"year": { +"description": "Year of the date. Must be from 1 to 9999, or 0 to specify a date without a year.", +"format": "int32", +"type": "integer" +} +}, +"type": "object" +}, +"DriveFile": { +"description": "Representation of a Google Drive file.", +"id": "DriveFile", +"properties": { +"alternateLink": { +"description": "URL that can be used to access the Drive item. Read-only.", +"type": "string" +}, +"id": { +"description": "Drive API resource ID.", +"type": "string" +}, +"thumbnailUrl": { +"description": "URL of a thumbnail image of the Drive item. Read-only.", +"type": "string" +}, +"title": { +"description": "Title of the Drive item. Read-only.", +"type": "string" +} +}, +"type": "object" +}, +"DriveFolder": { +"description": "Representation of a Google Drive folder.", +"id": "DriveFolder", +"properties": { +"alternateLink": { +"description": "URL that can be used to access the Drive folder. Read-only.", +"type": "string" +}, +"id": { +"description": "Drive API resource ID.", +"type": "string" +}, +"title": { +"description": "Title of the Drive folder. Read-only.", +"type": "string" +} +}, +"type": "object" +}, +"EmbedUri": { +"description": "URI to be iframed after being populated with query parameters.", +"id": "EmbedUri", +"properties": { +"uri": { +"description": "Required. URI to be iframed after being populated with query parameters. This must be a valid UTF-8 string containing between 1 and 1800 characters.", +"type": "string" +} +}, +"type": "object" +}, +"Empty": { +"description": "A generic empty message that you can re-use to avoid defining duplicated empty messages in your APIs. A typical example is to use it as the request or the response type of an API method. For instance: service Foo { rpc Bar(google.protobuf.Empty) returns (google.protobuf.Empty); }", +"id": "Empty", +"properties": {}, +"type": "object" +}, +"Feed": { +"description": "A class of notifications that an application can register to receive. For example: \"all roster changes for a domain\".", +"id": "Feed", +"properties": { +"courseRosterChangesInfo": { +"$ref": "CourseRosterChangesInfo", +"description": "Information about a `Feed` with a `feed_type` of `COURSE_ROSTER_CHANGES`. This field must be specified if `feed_type` is `COURSE_ROSTER_CHANGES`." +}, +"courseWorkChangesInfo": { +"$ref": "CourseWorkChangesInfo", +"description": "Information about a `Feed` with a `feed_type` of `COURSE_WORK_CHANGES`. This field must be specified if `feed_type` is `COURSE_WORK_CHANGES`." +}, +"feedType": { +"description": "The type of feed.", +"enum": [ +"FEED_TYPE_UNSPECIFIED", +"DOMAIN_ROSTER_CHANGES", +"COURSE_ROSTER_CHANGES", +"COURSE_WORK_CHANGES" +], +"enumDescriptions": [ +"Should never be returned or provided.", +"All roster changes for a particular domain. Notifications will be generated whenever a user joins or leaves a course. No notifications will be generated when an invitation is created or deleted, but notifications will be generated when a user joins a course by accepting an invitation.", +"All roster changes for a particular course. Notifications will be generated whenever a user joins or leaves a course. No notifications will be generated when an invitation is created or deleted, but notifications will be generated when a user joins a course by accepting an invitation.", +"All course work activity for a particular course. Notifications will be generated when a CourseWork or StudentSubmission object is created or modified. No notification will be generated when a StudentSubmission object is created in connection with the creation or modification of its parent CourseWork object (but a notification will be generated for that CourseWork object's creation or modification)." +], +"type": "string" +} +}, +"type": "object" +}, +"Form": { +"description": "Google Forms item.", +"id": "Form", +"properties": { +"formUrl": { +"description": "URL of the form.", +"type": "string" +}, +"responseUrl": { +"description": "URL of the form responses document. Only set if responses have been recorded and only when the requesting user is an editor of the form. Read-only.", +"type": "string" +}, +"thumbnailUrl": { +"description": "URL of a thumbnail image of the Form. Read-only.", +"type": "string" +}, +"title": { +"description": "Title of the Form. Read-only.", +"type": "string" +} +}, +"type": "object" +}, +"GlobalPermission": { +"description": "Global user permission description.", +"id": "GlobalPermission", +"properties": { +"permission": { +"description": "Permission value.", +"enum": [ +"PERMISSION_UNSPECIFIED", +"CREATE_COURSE" +], +"enumDescriptions": [ +"No permission is specified. This is not returned and is not a valid value.", +"User is permitted to create a course." +], +"type": "string" +} +}, +"type": "object" +}, +"GradeCategory": { +"description": "Details for a grade category in a course. Coursework may have zero or one grade category, and the category may be used in computing the overall grade. See the [help center article](https://support.google.com/edu/classroom/answer/9184995) for details.", +"id": "GradeCategory", +"properties": { +"defaultGradeDenominator": { +"description": "Default value of denominator. Only applicable when grade calculation type is TOTAL_POINTS.", +"format": "int32", +"type": "integer" +}, +"id": { +"description": "ID of the grade category.", +"type": "string" +}, +"name": { +"description": "Name of the grade category.", +"type": "string" +}, +"weight": { +"description": "The weight of the category average as part of overall average. A weight of 12.34% is represented as 123400 (100% is 1,000,000). The last two digits should always be zero since we use two decimal precision. Only applicable when grade calculation type is WEIGHTED_CATEGORIES.", +"format": "int32", +"type": "integer" +} +}, +"type": "object" +}, +"GradeHistory": { +"description": "The history of each grade on this submission.", +"id": "GradeHistory", +"properties": { +"actorUserId": { +"description": "The teacher who made the grade change.", +"type": "string" +}, +"gradeChangeType": { +"description": "The type of grade change at this time in the submission grade history.", +"enum": [ +"UNKNOWN_GRADE_CHANGE_TYPE", +"DRAFT_GRADE_POINTS_EARNED_CHANGE", +"ASSIGNED_GRADE_POINTS_EARNED_CHANGE", +"MAX_POINTS_CHANGE" +], +"enumDescriptions": [ +"No grade change type specified. This should never be returned.", +"A change in the numerator of the draft grade.", +"A change in the numerator of the assigned grade.", +"A change in the denominator of the grade." +], +"type": "string" +}, +"gradeTimestamp": { +"description": "When the grade of the submission was changed.", +"format": "google-datetime", +"type": "string" +}, +"maxPoints": { +"description": "The denominator of the grade at this time in the submission grade history.", +"format": "double", +"type": "number" +}, +"pointsEarned": { +"description": "The numerator of the grade at this time in the submission grade history.", +"format": "double", +"type": "number" +} +}, +"type": "object" +}, +"GradebookSettings": { +"description": "The gradebook settings for a course. See the [help center article](https://support.google.com/edu/classroom/answer/9184995) for details.", +"id": "GradebookSettings", +"properties": { +"calculationType": { +"description": "Indicates how the overall grade is calculated.", +"enum": [ +"CALCULATION_TYPE_UNSPECIFIED", +"TOTAL_POINTS", +"WEIGHTED_CATEGORIES" +], +"enumDescriptions": [ +"No method specified. This is never returned.", +"Overall grade is the sum of grades divided by the sum of total points regardless of category.", +"Overall grade is the weighted average by category." +], +"type": "string" +}, +"displaySetting": { +"description": "Indicates who can see the overall grade..", +"enum": [ +"DISPLAY_SETTING_UNSPECIFIED", +"SHOW_OVERALL_GRADE", +"HIDE_OVERALL_GRADE", +"SHOW_TEACHERS_ONLY" +], +"enumDescriptions": [ +"No setting specified. This is never returned.", +"Shows overall grade in the gradebook and student profile to both teachers and students.", +"Does not show overall grade in the gradebook or student profile.", +"Shows the overall grade to teachers in the gradebook and student profile. Hides from students in their student profile." +], +"type": "string" +}, +"gradeCategories": { +"description": "Grade categories that are available for coursework in the course.", +"items": { +"$ref": "GradeCategory" +}, +"type": "array" +} +}, +"type": "object" +}, +"Guardian": { +"description": "Association between a student and a guardian of that student. The guardian may receive information about the student's course work.", +"id": "Guardian", +"properties": { +"guardianId": { +"description": "Identifier for the guardian.", +"type": "string" +}, +"guardianProfile": { +"$ref": "UserProfile", +"description": "User profile for the guardian." +}, +"invitedEmailAddress": { +"description": "The email address to which the initial guardian invitation was sent. This field is only visible to domain administrators.", +"type": "string" +}, +"studentId": { +"description": "Identifier for the student to whom the guardian relationship applies.", +"type": "string" +} +}, +"type": "object" +}, +"GuardianInvitation": { +"description": "An invitation to become the guardian of a specified user, sent to a specified email address.", +"id": "GuardianInvitation", +"properties": { +"creationTime": { +"description": "The time that this invitation was created. Read-only.", +"format": "google-datetime", +"type": "string" +}, +"invitationId": { +"description": "Unique identifier for this invitation. Read-only.", +"type": "string" +}, +"invitedEmailAddress": { +"description": "Email address that the invitation was sent to. This field is only visible to domain administrators.", +"type": "string" +}, +"state": { +"description": "The state that this invitation is in.", +"enum": [ +"GUARDIAN_INVITATION_STATE_UNSPECIFIED", +"PENDING", +"COMPLETE" +], +"enumDescriptions": [ +"Should never be returned.", +"The invitation is active and awaiting a response.", +"The invitation is no longer active. It may have been accepted, declined, withdrawn or it may have expired." +], +"type": "string" +}, +"studentId": { +"description": "ID of the student (in standard format)", +"type": "string" +} +}, +"type": "object" +}, +"IndividualStudentsOptions": { +"description": "Assignee details about a coursework/announcement. This field is set if and only if `assigneeMode` is `INDIVIDUAL_STUDENTS`.", +"id": "IndividualStudentsOptions", +"properties": { +"studentIds": { +"description": "Identifiers for the students that have access to the coursework/announcement.", +"items": { +"type": "string" +}, +"type": "array" +} +}, +"type": "object" +}, +"Invitation": { +"description": "An invitation to join a course.", +"id": "Invitation", +"properties": { +"courseId": { +"description": "Identifier of the course to invite the user to.", +"type": "string" +}, +"id": { +"description": "Identifier assigned by Classroom. Read-only.", +"type": "string" +}, +"role": { +"description": "Role to invite the user to have. Must not be `COURSE_ROLE_UNSPECIFIED`.", +"enum": [ +"COURSE_ROLE_UNSPECIFIED", +"STUDENT", +"TEACHER", +"OWNER" +], +"enumDescriptions": [ +"No course role.", +"Student in the course.", +"Teacher of the course.", +"Owner of the course." +], +"type": "string" +}, +"userId": { +"description": "Identifier of the invited user. When specified as a parameter of a request, this identifier can be set to one of the following: * the numeric identifier for the user * the email address of the user * the string literal `\"me\"`, indicating the requesting user", +"type": "string" +} +}, +"type": "object" +}, +"Level": { +"description": "A level of the criterion.", +"id": "Level", +"properties": { +"description": { +"description": "The description of the level.", +"type": "string" +}, +"id": { +"description": "The level ID. On creation, an ID is assigned.", +"type": "string" +}, +"points": { +"description": "Optional points associated with this level. If set, all levels within the rubric must specify points and the value must be distinct across all levels within a single criterion. 0 is distinct from no points.", +"format": "double", +"type": "number" +}, +"title": { +"description": "The title of the level. If the level has no points set, title must be set.", +"type": "string" +} +}, +"type": "object" +}, +"Link": { +"description": "URL item.", +"id": "Link", +"properties": { +"thumbnailUrl": { +"description": "URL of a thumbnail image of the target URL. Read-only.", +"type": "string" +}, +"title": { +"description": "Title of the target of the URL. Read-only.", +"type": "string" +}, +"url": { +"description": "URL to link to. This must be a valid UTF-8 string containing between 1 and 2024 characters.", +"type": "string" +} +}, +"type": "object" +}, +"ListAddOnAttachmentsResponse": { +"description": "Response when listing add-on attachments.", +"id": "ListAddOnAttachmentsResponse", +"properties": { +"addOnAttachments": { +"description": "Attachments under the given post.", +"items": { +"$ref": "AddOnAttachment" +}, +"type": "array" +}, +"nextPageToken": { +"description": "A token, which can be sent as `pageToken` to retrieve the next page. If this field is omitted, there are no subsequent pages.", +"type": "string" +} +}, +"type": "object" +}, +"ListAnnouncementsResponse": { +"description": "Response when listing course work.", +"id": "ListAnnouncementsResponse", +"properties": { +"announcements": { +"description": "Announcement items that match the request.", +"items": { +"$ref": "Announcement" +}, +"type": "array" +}, +"nextPageToken": { +"description": "Token identifying the next page of results to return. If empty, no further results are available.", +"type": "string" +} +}, +"type": "object" +}, +"ListCourseAliasesResponse": { +"description": "Response when listing course aliases.", +"id": "ListCourseAliasesResponse", +"properties": { +"aliases": { +"description": "The course aliases.", +"items": { +"$ref": "CourseAlias" +}, +"type": "array" +}, +"nextPageToken": { +"description": "Token identifying the next page of results to return. If empty, no further results are available.", +"type": "string" +} +}, +"type": "object" +}, +"ListCourseWorkMaterialResponse": { +"description": "Response when listing course work material.", +"id": "ListCourseWorkMaterialResponse", +"properties": { +"courseWorkMaterial": { +"description": "Course work material items that match the request.", +"items": { +"$ref": "CourseWorkMaterial" +}, +"type": "array" +}, +"nextPageToken": { +"description": "Token identifying the next page of results to return. If empty, no further results are available.", +"type": "string" +} +}, +"type": "object" +}, +"ListCourseWorkResponse": { +"description": "Response when listing course work.", +"id": "ListCourseWorkResponse", +"properties": { +"courseWork": { +"description": "Course work items that match the request.", +"items": { +"$ref": "CourseWork" +}, +"type": "array" +}, +"nextPageToken": { +"description": "Token identifying the next page of results to return. If empty, no further results are available.", +"type": "string" +} +}, +"type": "object" +}, +"ListCoursesResponse": { +"description": "Response when listing courses.", +"id": "ListCoursesResponse", +"properties": { +"courses": { +"description": "Courses that match the list request.", +"items": { +"$ref": "Course" +}, +"type": "array" +}, +"nextPageToken": { +"description": "Token identifying the next page of results to return. If empty, no further results are available.", +"type": "string" +} +}, +"type": "object" +}, +"ListGuardianInvitationsResponse": { +"description": "Response when listing guardian invitations.", +"id": "ListGuardianInvitationsResponse", +"properties": { +"guardianInvitations": { +"description": "Guardian invitations that matched the list request.", +"items": { +"$ref": "GuardianInvitation" +}, +"type": "array" +}, +"nextPageToken": { +"description": "Token identifying the next page of results to return. If empty, no further results are available.", +"type": "string" +} +}, +"type": "object" +}, +"ListGuardiansResponse": { +"description": "Response when listing guardians.", +"id": "ListGuardiansResponse", +"properties": { +"guardians": { +"description": "Guardians on this page of results that met the criteria specified in the request.", +"items": { +"$ref": "Guardian" +}, +"type": "array" +}, +"nextPageToken": { +"description": "Token identifying the next page of results to return. If empty, no further results are available.", +"type": "string" +} +}, +"type": "object" +}, +"ListInvitationsResponse": { +"description": "Response when listing invitations.", +"id": "ListInvitationsResponse", +"properties": { +"invitations": { +"description": "Invitations that match the list request.", +"items": { +"$ref": "Invitation" +}, +"type": "array" +}, +"nextPageToken": { +"description": "Token identifying the next page of results to return. If empty, no further results are available.", +"type": "string" +} +}, +"type": "object" +}, +"ListRubricsResponse": { +"description": "Response when listing rubrics.", +"id": "ListRubricsResponse", +"properties": { +"nextPageToken": { +"description": "Token identifying the next page of results to return. If empty, no further results are available.", +"type": "string" +}, +"rubrics": { +"description": "Rubrics that match the request.", +"items": { +"$ref": "Rubric" +}, +"type": "array" +} +}, +"type": "object" +}, +"ListStudentSubmissionsResponse": { +"description": "Response when listing student submissions.", +"id": "ListStudentSubmissionsResponse", +"properties": { +"nextPageToken": { +"description": "Token identifying the next page of results to return. If empty, no further results are available.", +"type": "string" +}, +"studentSubmissions": { +"description": "Student work that matches the request.", +"items": { +"$ref": "StudentSubmission" +}, +"type": "array" +} +}, +"type": "object" +}, +"ListStudentsResponse": { +"description": "Response when listing students.", +"id": "ListStudentsResponse", +"properties": { +"nextPageToken": { +"description": "Token identifying the next page of results to return. If empty, no further results are available.", +"type": "string" +}, +"students": { +"description": "Students who match the list request.", +"items": { +"$ref": "Student" +}, +"type": "array" +} +}, +"type": "object" +}, +"ListTeachersResponse": { +"description": "Response when listing teachers.", +"id": "ListTeachersResponse", +"properties": { +"nextPageToken": { +"description": "Token identifying the next page of results to return. If empty, no further results are available.", +"type": "string" +}, +"teachers": { +"description": "Teachers who match the list request.", +"items": { +"$ref": "Teacher" +}, +"type": "array" +} +}, +"type": "object" +}, +"ListTopicResponse": { +"description": "Response when listing topics.", +"id": "ListTopicResponse", +"properties": { +"nextPageToken": { +"description": "Token identifying the next page of results to return. If empty, no further results are available.", +"type": "string" +}, +"topic": { +"description": "Topic items that match the request.", +"items": { +"$ref": "Topic" +}, +"type": "array" +} +}, +"type": "object" +}, +"Material": { +"description": "Material attached to course work. When creating attachments, setting the `form` field is not supported.", +"id": "Material", +"properties": { +"driveFile": { +"$ref": "SharedDriveFile", +"description": "Google Drive file material." +}, +"form": { +"$ref": "Form", +"description": "Google Forms material." +}, +"link": { +"$ref": "Link", +"description": "Link material. On creation, this is upgraded to a more appropriate type if possible, and this is reflected in the response." +}, +"youtubeVideo": { +"$ref": "YouTubeVideo", +"description": "YouTube video material." +} +}, +"type": "object" +}, +"ModifyAnnouncementAssigneesRequest": { +"description": "Request to modify assignee mode and options of an announcement.", +"id": "ModifyAnnouncementAssigneesRequest", +"properties": { +"assigneeMode": { +"description": "Mode of the announcement describing whether it is accessible by all students or specified individual students.", +"enum": [ +"ASSIGNEE_MODE_UNSPECIFIED", +"ALL_STUDENTS", +"INDIVIDUAL_STUDENTS" +], +"enumDescriptions": [ +"No mode specified. This is never returned.", +"All students can see the item. This is the default state.", +"A subset of the students can see the item." +], +"type": "string" +}, +"modifyIndividualStudentsOptions": { +"$ref": "ModifyIndividualStudentsOptions", +"description": "Set which students can view or cannot view the announcement. Must be specified only when `assigneeMode` is `INDIVIDUAL_STUDENTS`." +} +}, +"type": "object" +}, +"ModifyAttachmentsRequest": { +"description": "Request to modify the attachments of a student submission.", +"id": "ModifyAttachmentsRequest", +"properties": { +"addAttachments": { +"description": "Attachments to add. A student submission may not have more than 20 attachments. Form attachments are not supported.", +"items": { +"$ref": "Attachment" +}, +"type": "array" +} +}, +"type": "object" +}, +"ModifyCourseWorkAssigneesRequest": { +"description": "Request to modify assignee mode and options of a coursework.", +"id": "ModifyCourseWorkAssigneesRequest", +"properties": { +"assigneeMode": { +"description": "Mode of the coursework describing whether it will be assigned to all students or specified individual students.", +"enum": [ +"ASSIGNEE_MODE_UNSPECIFIED", +"ALL_STUDENTS", +"INDIVIDUAL_STUDENTS" +], +"enumDescriptions": [ +"No mode specified. This is never returned.", +"All students can see the item. This is the default state.", +"A subset of the students can see the item." +], +"type": "string" +}, +"modifyIndividualStudentsOptions": { +"$ref": "ModifyIndividualStudentsOptions", +"description": "Set which students are assigned or not assigned to the coursework. Must be specified only when `assigneeMode` is `INDIVIDUAL_STUDENTS`." +} +}, +"type": "object" +}, +"ModifyIndividualStudentsOptions": { +"description": "Contains fields to add or remove students from a course work or announcement where the `assigneeMode` is set to `INDIVIDUAL_STUDENTS`.", +"id": "ModifyIndividualStudentsOptions", +"properties": { +"addStudentIds": { +"description": "IDs of students to be added as having access to this coursework/announcement.", +"items": { +"type": "string" +}, +"type": "array" +}, +"removeStudentIds": { +"description": "IDs of students to be removed from having access to this coursework/announcement.", +"items": { +"type": "string" +}, +"type": "array" +} +}, +"type": "object" +}, +"MultipleChoiceQuestion": { +"description": "Additional details for multiple-choice questions.", +"id": "MultipleChoiceQuestion", +"properties": { +"choices": { +"description": "Possible choices.", +"items": { +"type": "string" +}, +"type": "array" +} +}, +"type": "object" +}, +"MultipleChoiceSubmission": { +"description": "Student work for a multiple-choice question.", +"id": "MultipleChoiceSubmission", +"properties": { +"answer": { +"description": "Student's select choice.", +"type": "string" +} +}, +"type": "object" +}, +"Name": { +"description": "Details of the user's name.", +"id": "Name", +"properties": { +"familyName": { +"description": "The user's last name. Read-only.", +"type": "string" +}, +"fullName": { +"description": "The user's full name formed by concatenating the first and last name values. Read-only.", +"type": "string" +}, +"givenName": { +"description": "The user's first name. Read-only.", +"type": "string" +} +}, +"type": "object" +}, +"ReclaimStudentSubmissionRequest": { +"description": "Request to reclaim a student submission.", +"id": "ReclaimStudentSubmissionRequest", +"properties": {}, +"type": "object" +}, +"Registration": { +"description": "An instruction to Classroom to send notifications from the `feed` to the provided destination.", +"id": "Registration", +"properties": { +"cloudPubsubTopic": { +"$ref": "CloudPubsubTopic", +"description": "The Cloud Pub/Sub topic that notifications are to be sent to." +}, +"expiryTime": { +"description": "The time until which the `Registration` is effective. This is a read-only field assigned by the server.", +"format": "google-datetime", +"type": "string" +}, +"feed": { +"$ref": "Feed", +"description": "Specification for the class of notifications that Classroom should deliver to the destination." +}, +"registrationId": { +"description": "A server-generated unique identifier for this `Registration`. Read-only.", +"type": "string" +} +}, +"type": "object" +}, +"ReturnStudentSubmissionRequest": { +"description": "Request to return a student submission.", +"id": "ReturnStudentSubmissionRequest", +"properties": {}, +"type": "object" +}, +"Rubric": { +"description": "The rubric of the course work. A rubric is a scoring guide used to evaluate student work and give feedback. For further details, see [Rubrics structure and known limitations](/classroom/rubrics/limitations).", +"id": "Rubric", +"properties": { +"courseId": { +"description": "Identifier of the course. Read-only.", +"type": "string" +}, +"courseWorkId": { +"description": "Identifier for the course work this corresponds to. Read-only.", +"type": "string" +}, +"creationTime": { +"description": "Output only. Timestamp when this rubric was created. Read-only.", +"format": "google-datetime", +"readOnly": true, +"type": "string" +}, +"criteria": { +"description": "List of criteria. Each criterion is a dimension on which performance is rated.", +"items": { +"$ref": "Criterion" +}, +"type": "array" +}, +"id": { +"description": "Classroom-assigned identifier for the rubric. This is unique among rubrics for the relevant course work. Read-only.", +"type": "string" +}, +"sourceSpreadsheetId": { +"description": "Input only. Immutable. Google Sheets ID of the spreadsheet. This spreadsheet must contain formatted rubric settings. See [Create or reuse a rubric for an assignment](https://support.google.com/edu/classroom/answer/9335069). Use of this field requires the `https://www.googleapis.com/auth/spreadsheets.readonly` or `https://www.googleapis.com/auth/spreadsheets` scope.", +"type": "string" +}, +"updateTime": { +"description": "Output only. Timestamp of the most recent change to this rubric. Read-only.", +"format": "google-datetime", +"readOnly": true, +"type": "string" +} +}, +"type": "object" +}, +"RubricGrade": { +"description": "A rubric grade set for the student submission. There is at most one entry per rubric criterion.", +"id": "RubricGrade", +"properties": { +"criterionId": { +"description": "Optional. Criterion ID.", +"type": "string" +}, +"levelId": { +"description": "Optional. Optional level ID of the selected level. If empty, no level was selected.", +"type": "string" +}, +"points": { +"description": "Optional. Optional points assigned for this criterion, typically based on the level. Levels might or might not have points. If unset, no points were set for this criterion.", +"format": "double", +"type": "number" +} +}, +"type": "object" +}, +"SharedDriveFile": { +"description": "Drive file that is used as material for course work.", +"id": "SharedDriveFile", +"properties": { +"driveFile": { +"$ref": "DriveFile", +"description": "Drive file details." +}, +"shareMode": { +"description": "Mechanism by which students access the Drive item.", +"enum": [ +"UNKNOWN_SHARE_MODE", +"VIEW", +"EDIT", +"STUDENT_COPY" +], +"enumDescriptions": [ +"No sharing mode specified. This should never be returned.", +"Students can view the shared file.", +"Students can edit the shared file.", +"Students have a personal copy of the shared file." +], +"type": "string" +} +}, +"type": "object" +}, +"ShortAnswerSubmission": { +"description": "Student work for a short answer question.", +"id": "ShortAnswerSubmission", +"properties": { +"answer": { +"description": "Student response to a short-answer question.", +"type": "string" +} +}, +"type": "object" +}, +"StateHistory": { +"description": "The history of each state this submission has been in.", +"id": "StateHistory", +"properties": { +"actorUserId": { +"description": "The teacher or student who made the change.", +"type": "string" +}, +"state": { +"description": "The workflow pipeline stage.", +"enum": [ +"STATE_UNSPECIFIED", +"CREATED", +"TURNED_IN", +"RETURNED", +"RECLAIMED_BY_STUDENT", +"STUDENT_EDITED_AFTER_TURN_IN" +], +"enumDescriptions": [ +"No state specified. This should never be returned.", +"The Submission has been created.", +"The student has turned in an assigned document, which may or may not be a template.", +"The teacher has returned the assigned document to the student.", +"The student turned in the assigned document, and then chose to \"unsubmit\" the assignment, giving the student control again as the owner.", +"The student edited their submission after turning it in. Currently, only used by Questions, when the student edits their answer." +], +"type": "string" +}, +"stateTimestamp": { +"description": "When the submission entered this state.", +"format": "google-datetime", +"type": "string" +} +}, +"type": "object" +}, +"Student": { +"description": "Student in a course.", +"id": "Student", +"properties": { +"courseId": { +"description": "Identifier of the course. Read-only.", +"type": "string" +}, +"profile": { +"$ref": "UserProfile", +"description": "Global user information for the student. Read-only." +}, +"studentWorkFolder": { +"$ref": "DriveFolder", +"description": "Information about a Drive Folder for this student's work in this course. Only visible to the student and domain administrators. Read-only." +}, +"userId": { +"description": "Identifier of the user. When specified as a parameter of a request, this identifier can be one of the following: * the numeric identifier for the user * the email address of the user * the string literal `\"me\"`, indicating the requesting user", +"type": "string" +} +}, +"type": "object" +}, +"StudentContext": { +"description": "Role-specific context if the requesting user is a student.", +"id": "StudentContext", +"properties": { +"submissionId": { +"description": "Requesting user's submission id to be used for grade passback and to identify the student when showing student work to the teacher. This is set exactly when `supportsStudentWork` is `true`.", +"type": "string" +} +}, +"type": "object" +}, +"StudentSubmission": { +"description": "Student submission for course work. `StudentSubmission` items are generated when a `CourseWork` item is created. Student submissions that have never been accessed (i.e. with `state` = NEW) may not have a creation time or update time.", +"id": "StudentSubmission", +"properties": { +"alternateLink": { +"description": "Absolute link to the submission in the Classroom web UI. Read-only.", +"type": "string" +}, +"assignedGrade": { +"description": "Optional grade. If unset, no grade was set. This value must be non-negative. Decimal (that is, non-integer) values are allowed, but are rounded to two decimal places. This may be modified only by course teachers.", +"format": "double", +"type": "number" +}, +"assignedRubricGrades": { +"additionalProperties": { +"$ref": "RubricGrade" +}, +"description": "Assigned rubric grades based on the rubric's Criteria. This map is empty if there is no rubric attached to this course work or if a rubric is attached, but no grades have been set on any Criteria. Entries are only populated for grades that have been set. Key: The rubric's criterion ID. Read-only.", +"type": "object" +}, +"assignmentSubmission": { +"$ref": "AssignmentSubmission", +"description": "Submission content when course_work_type is ASSIGNMENT. Students can modify this content using ModifyAttachments." +}, +"associatedWithDeveloper": { +"description": "Whether this student submission is associated with the Developer Console project making the request. See CreateCourseWork for more details. Read-only.", +"type": "boolean" +}, +"courseId": { +"description": "Identifier of the course. Read-only.", +"type": "string" +}, +"courseWorkId": { +"description": "Identifier for the course work this corresponds to. Read-only.", +"type": "string" +}, +"courseWorkType": { +"description": "Type of course work this submission is for. Read-only.", +"enum": [ +"COURSE_WORK_TYPE_UNSPECIFIED", +"ASSIGNMENT", +"SHORT_ANSWER_QUESTION", +"MULTIPLE_CHOICE_QUESTION" +], +"enumDescriptions": [ +"No work type specified. This is never returned.", +"An assignment.", +"A short answer question.", +"A multiple-choice question." +], +"type": "string" +}, +"creationTime": { +"description": "Creation time of this submission. This may be unset if the student has not accessed this item. Read-only.", +"format": "google-datetime", +"type": "string" +}, +"draftGrade": { +"description": "Optional pending grade. If unset, no grade was set. This value must be non-negative. Decimal (that is, non-integer) values are allowed, but are rounded to two decimal places. This is only visible to and modifiable by course teachers.", +"format": "double", +"type": "number" +}, +"draftRubricGrades": { +"additionalProperties": { +"$ref": "RubricGrade" +}, +"description": "Pending rubric grades based on the rubric's criteria. This map is empty if there is no rubric attached to this course work or if a rubric is attached, but no grades have been set on any criteria. Entries are only populated for grades that have been set. Key: The rubric's criterion ID. Read-only.", +"type": "object" +}, +"id": { +"description": "Classroom-assigned Identifier for the student submission. This is unique among submissions for the relevant course work. Read-only.", +"type": "string" +}, +"late": { +"description": "Whether this submission is late. Read-only.", +"type": "boolean" +}, +"multipleChoiceSubmission": { +"$ref": "MultipleChoiceSubmission", +"description": "Submission content when course_work_type is MULTIPLE_CHOICE_QUESTION." +}, +"shortAnswerSubmission": { +"$ref": "ShortAnswerSubmission", +"description": "Submission content when course_work_type is SHORT_ANSWER_QUESTION." +}, +"state": { +"description": "State of this submission. Read-only.", +"enum": [ +"SUBMISSION_STATE_UNSPECIFIED", +"NEW", +"CREATED", +"TURNED_IN", +"RETURNED", +"RECLAIMED_BY_STUDENT" +], +"enumDescriptions": [ +"No state specified. This should never be returned.", +"The student has never accessed this submission. Attachments are not returned and timestamps is not set.", +"Has been created.", +"Has been turned in to the teacher.", +"Has been returned to the student.", +"Student chose to \"unsubmit\" the assignment." +], +"type": "string" +}, +"submissionHistory": { +"description": "The history of the submission (includes state and grade histories). Read-only.", +"items": { +"$ref": "SubmissionHistory" +}, +"type": "array" +}, +"updateTime": { +"description": "Last update time of this submission. This may be unset if the student has not accessed this item. Read-only.", +"format": "google-datetime", +"type": "string" +}, +"userId": { +"description": "Identifier for the student that owns this submission. Read-only.", +"type": "string" +} +}, +"type": "object" +}, +"SubmissionHistory": { +"description": "The history of the submission. This currently includes state and grade histories.", +"id": "SubmissionHistory", +"properties": { +"gradeHistory": { +"$ref": "GradeHistory", +"description": "The grade history information of the submission, if present." +}, +"stateHistory": { +"$ref": "StateHistory", +"description": "The state history information of the submission, if present." +} +}, +"type": "object" +}, +"Teacher": { +"description": "Teacher of a course.", +"id": "Teacher", +"properties": { +"courseId": { +"description": "Identifier of the course. Read-only.", +"type": "string" +}, +"profile": { +"$ref": "UserProfile", +"description": "Global user information for the teacher. Read-only." +}, +"userId": { +"description": "Identifier of the user. When specified as a parameter of a request, this identifier can be one of the following: * the numeric identifier for the user * the email address of the user * the string literal `\"me\"`, indicating the requesting user", +"type": "string" +} +}, +"type": "object" +}, +"TeacherContext": { +"description": "Role-specific context if the requesting user is a teacher.", +"id": "TeacherContext", +"properties": {}, +"type": "object" +}, +"TimeOfDay": { +"description": "Represents a time of day. The date and time zone are either not significant or are specified elsewhere. An API may choose to allow leap seconds. Related types are google.type.Date and `google.protobuf.Timestamp`.", +"id": "TimeOfDay", +"properties": { +"hours": { +"description": "Hours of a day in 24 hour format. Must be greater than or equal to 0 and typically must be less than or equal to 23. An API may choose to allow the value \"24:00:00\" for scenarios like business closing time.", +"format": "int32", +"type": "integer" +}, +"minutes": { +"description": "Minutes of an hour. Must be greater than or equal to 0 and less than or equal to 59.", +"format": "int32", +"type": "integer" +}, +"nanos": { +"description": "Fractions of seconds, in nanoseconds. Must be greater than or equal to 0 and less than or equal to 999,999,999.", +"format": "int32", +"type": "integer" +}, +"seconds": { +"description": "Seconds of a minute. Must be greater than or equal to 0 and typically must be less than or equal to 59. An API may allow the value 60 if it allows leap-seconds.", +"format": "int32", +"type": "integer" +} +}, +"type": "object" +}, +"Topic": { +"description": "Topic created by a teacher for the course", +"id": "Topic", +"properties": { +"courseId": { +"description": "Identifier of the course. Read-only.", +"type": "string" +}, +"name": { +"description": "The name of the topic, generated by the user. Leading and trailing whitespaces, if any, are trimmed. Also, multiple consecutive whitespaces are collapsed into one inside the name. The result must be a non-empty string. Topic names are case sensitive, and must be no longer than 100 characters.", +"type": "string" +}, +"topicId": { +"description": "Unique identifier for the topic. Read-only.", +"type": "string" +}, +"updateTime": { +"description": "The time the topic was last updated by the system. Read-only.", +"format": "google-datetime", +"type": "string" +} +}, +"type": "object" +}, +"TurnInStudentSubmissionRequest": { +"description": "Request to turn in a student submission.", +"id": "TurnInStudentSubmissionRequest", +"properties": {}, +"type": "object" +}, +"UserProfile": { +"description": "Global information for a user.", +"id": "UserProfile", +"properties": { +"emailAddress": { +"description": "Email address of the user. Must request `https://www.googleapis.com/auth/classroom.profile.emails` scope for this field to be populated in a response body. Read-only.", +"type": "string" +}, +"id": { +"description": "Identifier of the user. Read-only.", +"type": "string" +}, +"name": { +"$ref": "Name", +"description": "Name of the user. Read-only." +}, +"permissions": { +"description": "Global permissions of the user. Read-only.", +"items": { +"$ref": "GlobalPermission" +}, +"type": "array" +}, +"photoUrl": { +"description": "URL of user's profile photo. Must request `https://www.googleapis.com/auth/classroom.profile.photos` scope for this field to be populated in a response body. Read-only.", +"type": "string" +}, +"verifiedTeacher": { +"description": "Represents whether a Google Workspace for Education user's domain administrator has explicitly verified them as being a teacher. This field is always false if the user is not a member of a Google Workspace for Education domain. Read-only", +"type": "boolean" +} +}, +"type": "object" +}, +"YouTubeVideo": { +"description": "YouTube video item.", +"id": "YouTubeVideo", +"properties": { +"alternateLink": { +"description": "URL that can be used to view the YouTube video. Read-only.", +"type": "string" +}, +"id": { +"description": "YouTube API resource ID.", +"type": "string" +}, +"thumbnailUrl": { +"description": "URL of a thumbnail image of the YouTube video. Read-only.", +"type": "string" +}, +"title": { +"description": "Title of the YouTube video. Read-only.", +"type": "string" +} +}, +"type": "object" +} +}, +"servicePath": "", +"title": "Google Classroom API", +"version": "v1" +} \ No newline at end of file diff --git a/.venv/lib/python3.11/site-packages/googleapiclient/discovery_cache/documents/cloudasset.v1p5beta1.json b/.venv/lib/python3.11/site-packages/googleapiclient/discovery_cache/documents/cloudasset.v1p5beta1.json new file mode 100644 index 0000000000000000000000000000000000000000..9d8dacbe614ca2c11300916330cc4fcb3c359324 --- /dev/null +++ b/.venv/lib/python3.11/site-packages/googleapiclient/discovery_cache/documents/cloudasset.v1p5beta1.json @@ -0,0 +1,1320 @@ +{ +"auth": { +"oauth2": { +"scopes": { +"https://www.googleapis.com/auth/cloud-platform": { +"description": "See, edit, configure, and delete your Google Cloud data and see the email address for your Google Account." +} +} +} +}, +"basePath": "", +"baseUrl": "https://cloudasset.googleapis.com/", +"batchPath": "batch", +"canonicalName": "Cloud Asset", +"description": "The Cloud Asset API manages the history and inventory of Google Cloud resources.", +"discoveryVersion": "v1", +"documentationLink": "https://cloud.google.com/asset-inventory/docs/quickstart", +"fullyEncodeReservedExpansion": true, +"icons": { +"x16": "http://www.google.com/images/icons/product/search-16.gif", +"x32": "http://www.google.com/images/icons/product/search-32.gif" +}, +"id": "cloudasset:v1p5beta1", +"kind": "discovery#restDescription", +"mtlsRootUrl": "https://cloudasset.mtls.googleapis.com/", +"name": "cloudasset", +"ownerDomain": "google.com", +"ownerName": "Google", +"parameters": { +"$.xgafv": { +"description": "V1 error format.", +"enum": [ +"1", +"2" +], +"enumDescriptions": [ +"v1 error format", +"v2 error format" +], +"location": "query", +"type": "string" +}, +"access_token": { +"description": "OAuth access token.", +"location": "query", +"type": "string" +}, +"alt": { +"default": "json", +"description": "Data format for response.", +"enum": [ +"json", +"media", +"proto" +], +"enumDescriptions": [ +"Responses with Content-Type of application/json", +"Media download with context-dependent Content-Type", +"Responses with Content-Type of application/x-protobuf" +], +"location": "query", +"type": "string" +}, +"callback": { +"description": "JSONP", +"location": "query", +"type": "string" +}, +"fields": { +"description": "Selector specifying which fields to include in a partial response.", +"location": "query", +"type": "string" +}, +"key": { +"description": "API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token.", +"location": "query", +"type": "string" +}, +"oauth_token": { +"description": "OAuth 2.0 token for the current user.", +"location": "query", +"type": "string" +}, +"prettyPrint": { +"default": "true", +"description": "Returns response with indentations and line breaks.", +"location": "query", +"type": "boolean" +}, +"quotaUser": { +"description": "Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters.", +"location": "query", +"type": "string" +}, +"uploadType": { +"description": "Legacy upload protocol for media (e.g. \"media\", \"multipart\").", +"location": "query", +"type": "string" +}, +"upload_protocol": { +"description": "Upload protocol for media (e.g. \"raw\", \"multipart\").", +"location": "query", +"type": "string" +} +}, +"protocol": "rest", +"resources": { +"assets": { +"methods": { +"list": { +"description": "Lists assets with time and resource types and returns paged results in response.", +"flatPath": "v1p5beta1/{v1p5beta1Id}/{v1p5beta1Id1}/assets", +"httpMethod": "GET", +"id": "cloudasset.assets.list", +"parameterOrder": [ +"parent" +], +"parameters": { +"assetTypes": { +"description": "A list of asset types to take a snapshot for. For example: \"compute.googleapis.com/Disk\". Regular expression is also supported. For example: * \"compute.googleapis.com.*\" snapshots resources whose asset type starts with \"compute.googleapis.com\". * \".*Instance\" snapshots resources whose asset type ends with \"Instance\". * \".*Instance.*\" snapshots resources whose asset type contains \"Instance\". See [RE2](https://github.com/google/re2/wiki/Syntax) for all supported regular expression syntax. If the regular expression does not match any supported asset type, an INVALID_ARGUMENT error will be returned. If specified, only matching assets will be returned, otherwise, it will snapshot all asset types. See [Introduction to Cloud Asset Inventory](https://cloud.google.com/asset-inventory/docs/overview) for all supported asset types.", +"location": "query", +"repeated": true, +"type": "string" +}, +"contentType": { +"description": "Asset content type. If not specified, no content but the asset name will be returned.", +"enum": [ +"CONTENT_TYPE_UNSPECIFIED", +"RESOURCE", +"IAM_POLICY", +"ORG_POLICY", +"ACCESS_POLICY" +], +"enumDescriptions": [ +"Unspecified content type.", +"Resource metadata.", +"The actual IAM policy set on a resource.", +"The organization policy set on an asset.", +"The Access Context Manager policy set on an asset." +], +"location": "query", +"type": "string" +}, +"pageSize": { +"description": "The maximum number of assets to be returned in a single response. Default is 100, minimum is 1, and maximum is 1000.", +"format": "int32", +"location": "query", +"type": "integer" +}, +"pageToken": { +"description": "The `next_page_token` returned from the previous `ListAssetsResponse`, or unspecified for the first `ListAssetsRequest`. It is a continuation of a prior `ListAssets` call, and the API should return the next page of assets.", +"location": "query", +"type": "string" +}, +"parent": { +"description": "Required. Name of the organization or project the assets belong to. Format: \"organizations/[organization-number]\" (such as \"organizations/123\"), \"projects/[project-id]\" (such as \"projects/my-project-id\"), or \"projects/[project-number]\" (such as \"projects/12345\").", +"location": "path", +"pattern": "^[^/]+/[^/]+$", +"required": true, +"type": "string" +}, +"readTime": { +"description": "Timestamp to take an asset snapshot. This can only be set to a timestamp between the current time and the current time minus 35 days (inclusive). If not specified, the current time will be used. Due to delays in resource data collection and indexing, there is a volatile window during which running the same query may get different results.", +"format": "google-datetime", +"location": "query", +"type": "string" +} +}, +"path": "v1p5beta1/{+parent}/assets", +"response": { +"$ref": "ListAssetsResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +} +} +} +}, +"revision": "20250104", +"rootUrl": "https://cloudasset.googleapis.com/", +"schemas": { +"AnalyzeIamPolicyLongrunningMetadata": { +"description": "Represents the metadata of the longrunning operation for the AnalyzeIamPolicyLongrunning RPC.", +"id": "AnalyzeIamPolicyLongrunningMetadata", +"properties": { +"createTime": { +"description": "Output only. The time the operation was created.", +"format": "google-datetime", +"readOnly": true, +"type": "string" +} +}, +"type": "object" +}, +"AnalyzeIamPolicyLongrunningResponse": { +"description": "A response message for AssetService.AnalyzeIamPolicyLongrunning.", +"id": "AnalyzeIamPolicyLongrunningResponse", +"properties": {}, +"type": "object" +}, +"Asset": { +"description": "An asset in Google Cloud. An asset can be any resource in the Google Cloud [resource hierarchy](https://cloud.google.com/resource-manager/docs/cloud-platform-resource-hierarchy), a resource outside the Google Cloud resource hierarchy (such as Google Kubernetes Engine clusters and objects), or a policy (e.g. IAM policy). See [Supported asset types](https://cloud.google.com/asset-inventory/docs/supported-asset-types) for more information.", +"id": "Asset", +"properties": { +"accessLevel": { +"$ref": "GoogleIdentityAccesscontextmanagerV1AccessLevel", +"description": "Please also refer to the [access level user guide](https://cloud.google.com/access-context-manager/docs/overview#access-levels)." +}, +"accessPolicy": { +"$ref": "GoogleIdentityAccesscontextmanagerV1AccessPolicy", +"description": "Please also refer to the [access policy user guide](https://cloud.google.com/access-context-manager/docs/overview#access-policies)." +}, +"ancestors": { +"description": "The ancestry path of an asset in Google Cloud [resource hierarchy](https://cloud.google.com/resource-manager/docs/cloud-platform-resource-hierarchy), represented as a list of relative resource names. An ancestry path starts with the closest ancestor in the hierarchy and ends at root. If the asset is a project, folder, or organization, the ancestry path starts from the asset itself. Example: `[\"projects/123456789\", \"folders/5432\", \"organizations/1234\"]`", +"items": { +"type": "string" +}, +"type": "array" +}, +"assetType": { +"description": "The type of the asset. Example: `compute.googleapis.com/Disk` See [Supported asset types](https://cloud.google.com/asset-inventory/docs/supported-asset-types) for more information.", +"type": "string" +}, +"iamPolicy": { +"$ref": "Policy", +"description": "A representation of the IAM policy set on a Google Cloud resource. There can be a maximum of one IAM policy set on any given resource. In addition, IAM policies inherit their granted access scope from any policies set on parent resources in the resource hierarchy. Therefore, the effectively policy is the union of both the policy set on this resource and each policy set on all of the resource's ancestry resource levels in the hierarchy. See [this topic](https://cloud.google.com/iam/help/allow-policies/inheritance) for more information." +}, +"name": { +"description": "The full name of the asset. Example: `//compute.googleapis.com/projects/my_project_123/zones/zone1/instances/instance1` See [Resource names](https://cloud.google.com/apis/design/resource_names#full_resource_name) for more information.", +"type": "string" +}, +"orgPolicy": { +"description": "A representation of an [organization policy](https://cloud.google.com/resource-manager/docs/organization-policy/overview#organization_policy). There can be more than one organization policy with different constraints set on a given resource.", +"items": { +"$ref": "GoogleCloudOrgpolicyV1Policy" +}, +"type": "array" +}, +"resource": { +"$ref": "Resource", +"description": "A representation of the resource." +}, +"servicePerimeter": { +"$ref": "GoogleIdentityAccesscontextmanagerV1ServicePerimeter", +"description": "Please also refer to the [service perimeter user guide](https://cloud.google.com/vpc-service-controls/docs/overview)." +} +}, +"type": "object" +}, +"AuditConfig": { +"description": "Specifies the audit configuration for a service. The configuration determines which permission types are logged, and what identities, if any, are exempted from logging. An AuditConfig must have one or more AuditLogConfigs. If there are AuditConfigs for both `allServices` and a specific service, the union of the two AuditConfigs is used for that service: the log_types specified in each AuditConfig are enabled, and the exempted_members in each AuditLogConfig are exempted. Example Policy with multiple AuditConfigs: { \"audit_configs\": [ { \"service\": \"allServices\", \"audit_log_configs\": [ { \"log_type\": \"DATA_READ\", \"exempted_members\": [ \"user:jose@example.com\" ] }, { \"log_type\": \"DATA_WRITE\" }, { \"log_type\": \"ADMIN_READ\" } ] }, { \"service\": \"sampleservice.googleapis.com\", \"audit_log_configs\": [ { \"log_type\": \"DATA_READ\" }, { \"log_type\": \"DATA_WRITE\", \"exempted_members\": [ \"user:aliya@example.com\" ] } ] } ] } For sampleservice, this policy enables DATA_READ, DATA_WRITE and ADMIN_READ logging. It also exempts `jose@example.com` from DATA_READ logging, and `aliya@example.com` from DATA_WRITE logging.", +"id": "AuditConfig", +"properties": { +"auditLogConfigs": { +"description": "The configuration for logging of each type of permission.", +"items": { +"$ref": "AuditLogConfig" +}, +"type": "array" +}, +"service": { +"description": "Specifies a service that will be enabled for audit logging. For example, `storage.googleapis.com`, `cloudsql.googleapis.com`. `allServices` is a special value that covers all services.", +"type": "string" +} +}, +"type": "object" +}, +"AuditLogConfig": { +"description": "Provides the configuration for logging a type of permissions. Example: { \"audit_log_configs\": [ { \"log_type\": \"DATA_READ\", \"exempted_members\": [ \"user:jose@example.com\" ] }, { \"log_type\": \"DATA_WRITE\" } ] } This enables 'DATA_READ' and 'DATA_WRITE' logging, while exempting jose@example.com from DATA_READ logging.", +"id": "AuditLogConfig", +"properties": { +"exemptedMembers": { +"description": "Specifies the identities that do not cause logging for this type of permission. Follows the same format of Binding.members.", +"items": { +"type": "string" +}, +"type": "array" +}, +"logType": { +"description": "The log type that this config enables.", +"enum": [ +"LOG_TYPE_UNSPECIFIED", +"ADMIN_READ", +"DATA_WRITE", +"DATA_READ" +], +"enumDescriptions": [ +"Default case. Should never be this.", +"Admin reads. Example: CloudIAM getIamPolicy", +"Data writes. Example: CloudSQL Users create", +"Data reads. Example: CloudSQL Users list" +], +"type": "string" +} +}, +"type": "object" +}, +"Binding": { +"description": "Associates `members`, or principals, with a `role`.", +"id": "Binding", +"properties": { +"condition": { +"$ref": "Expr", +"description": "The condition that is associated with this binding. If the condition evaluates to `true`, then this binding applies to the current request. If the condition evaluates to `false`, then this binding does not apply to the current request. However, a different role binding might grant the same role to one or more of the principals in this binding. To learn which resources support conditions in their IAM policies, see the [IAM documentation](https://cloud.google.com/iam/help/conditions/resource-policies)." +}, +"members": { +"description": "Specifies the principals requesting access for a Google Cloud resource. `members` can have the following values: * `allUsers`: A special identifier that represents anyone who is on the internet; with or without a Google account. * `allAuthenticatedUsers`: A special identifier that represents anyone who is authenticated with a Google account or a service account. Does not include identities that come from external identity providers (IdPs) through identity federation. * `user:{emailid}`: An email address that represents a specific Google account. For example, `alice@example.com` . * `serviceAccount:{emailid}`: An email address that represents a Google service account. For example, `my-other-app@appspot.gserviceaccount.com`. * `serviceAccount:{projectid}.svc.id.goog[{namespace}/{kubernetes-sa}]`: An identifier for a [Kubernetes service account](https://cloud.google.com/kubernetes-engine/docs/how-to/kubernetes-service-accounts). For example, `my-project.svc.id.goog[my-namespace/my-kubernetes-sa]`. * `group:{emailid}`: An email address that represents a Google group. For example, `admins@example.com`. * `domain:{domain}`: The G Suite domain (primary) that represents all the users of that domain. For example, `google.com` or `example.com`. * `principal://iam.googleapis.com/locations/global/workforcePools/{pool_id}/subject/{subject_attribute_value}`: A single identity in a workforce identity pool. * `principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/group/{group_id}`: All workforce identities in a group. * `principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/attribute.{attribute_name}/{attribute_value}`: All workforce identities with a specific attribute value. * `principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/*`: All identities in a workforce identity pool. * `principal://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/subject/{subject_attribute_value}`: A single identity in a workload identity pool. * `principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/group/{group_id}`: A workload identity pool group. * `principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/attribute.{attribute_name}/{attribute_value}`: All identities in a workload identity pool with a certain attribute. * `principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/*`: All identities in a workload identity pool. * `deleted:user:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a user that has been recently deleted. For example, `alice@example.com?uid=123456789012345678901`. If the user is recovered, this value reverts to `user:{emailid}` and the recovered user retains the role in the binding. * `deleted:serviceAccount:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a service account that has been recently deleted. For example, `my-other-app@appspot.gserviceaccount.com?uid=123456789012345678901`. If the service account is undeleted, this value reverts to `serviceAccount:{emailid}` and the undeleted service account retains the role in the binding. * `deleted:group:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a Google group that has been recently deleted. For example, `admins@example.com?uid=123456789012345678901`. If the group is recovered, this value reverts to `group:{emailid}` and the recovered group retains the role in the binding. * `deleted:principal://iam.googleapis.com/locations/global/workforcePools/{pool_id}/subject/{subject_attribute_value}`: Deleted single identity in a workforce identity pool. For example, `deleted:principal://iam.googleapis.com/locations/global/workforcePools/my-pool-id/subject/my-subject-attribute-value`.", +"items": { +"type": "string" +}, +"type": "array" +}, +"role": { +"description": "Role that is assigned to the list of `members`, or principals. For example, `roles/viewer`, `roles/editor`, or `roles/owner`. For an overview of the IAM roles and permissions, see the [IAM documentation](https://cloud.google.com/iam/docs/roles-overview). For a list of the available pre-defined roles, see [here](https://cloud.google.com/iam/docs/understanding-roles).", +"type": "string" +} +}, +"type": "object" +}, +"Expr": { +"description": "Represents a textual expression in the Common Expression Language (CEL) syntax. CEL is a C-like expression language. The syntax and semantics of CEL are documented at https://github.com/google/cel-spec. Example (Comparison): title: \"Summary size limit\" description: \"Determines if a summary is less than 100 chars\" expression: \"document.summary.size() < 100\" Example (Equality): title: \"Requestor is owner\" description: \"Determines if requestor is the document owner\" expression: \"document.owner == request.auth.claims.email\" Example (Logic): title: \"Public documents\" description: \"Determine whether the document should be publicly visible\" expression: \"document.type != 'private' && document.type != 'internal'\" Example (Data Manipulation): title: \"Notification string\" description: \"Create a notification string with a timestamp.\" expression: \"'New message received at ' + string(document.create_time)\" The exact variables and functions that may be referenced within an expression are determined by the service that evaluates it. See the service documentation for additional information.", +"id": "Expr", +"properties": { +"description": { +"description": "Optional. Description of the expression. This is a longer text which describes the expression, e.g. when hovered over it in a UI.", +"type": "string" +}, +"expression": { +"description": "Textual representation of an expression in Common Expression Language syntax.", +"type": "string" +}, +"location": { +"description": "Optional. String indicating the location of the expression for error reporting, e.g. a file name and a position in the file.", +"type": "string" +}, +"title": { +"description": "Optional. Title for the expression, i.e. a short string describing its purpose. This can be used e.g. in UIs which allow to enter the expression.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudAssetV1p7beta1Asset": { +"description": "An asset in Google Cloud. An asset can be any resource in the Google Cloud [resource hierarchy](https://cloud.google.com/resource-manager/docs/cloud-platform-resource-hierarchy), a resource outside the Google Cloud resource hierarchy (such as Google Kubernetes Engine clusters and objects), or a policy (e.g. IAM policy). See [Supported asset types](https://cloud.google.com/asset-inventory/docs/supported-asset-types) for more information.", +"id": "GoogleCloudAssetV1p7beta1Asset", +"properties": { +"accessLevel": { +"$ref": "GoogleIdentityAccesscontextmanagerV1AccessLevel", +"description": "Please also refer to the [access level user guide](https://cloud.google.com/access-context-manager/docs/overview#access-levels)." +}, +"accessPolicy": { +"$ref": "GoogleIdentityAccesscontextmanagerV1AccessPolicy", +"description": "Please also refer to the [access policy user guide](https://cloud.google.com/access-context-manager/docs/overview#access-policies)." +}, +"ancestors": { +"description": "The ancestry path of an asset in Google Cloud [resource hierarchy](https://cloud.google.com/resource-manager/docs/cloud-platform-resource-hierarchy), represented as a list of relative resource names. An ancestry path starts with the closest ancestor in the hierarchy and ends at root. If the asset is a project, folder, or organization, the ancestry path starts from the asset itself. Example: `[\"projects/123456789\", \"folders/5432\", \"organizations/1234\"]`", +"items": { +"type": "string" +}, +"type": "array" +}, +"assetType": { +"description": "The type of the asset. Example: `compute.googleapis.com/Disk` See [Supported asset types](https://cloud.google.com/asset-inventory/docs/supported-asset-types) for more information.", +"type": "string" +}, +"iamPolicy": { +"$ref": "Policy", +"description": "A representation of the IAM policy set on a Google Cloud resource. There can be a maximum of one IAM policy set on any given resource. In addition, IAM policies inherit their granted access scope from any policies set on parent resources in the resource hierarchy. Therefore, the effectively policy is the union of both the policy set on this resource and each policy set on all of the resource's ancestry resource levels in the hierarchy. See [this topic](https://cloud.google.com/iam/help/allow-policies/inheritance) for more information." +}, +"name": { +"description": "The full name of the asset. Example: `//compute.googleapis.com/projects/my_project_123/zones/zone1/instances/instance1` See [Resource names](https://cloud.google.com/apis/design/resource_names#full_resource_name) for more information.", +"type": "string" +}, +"orgPolicy": { +"description": "A representation of an [organization policy](https://cloud.google.com/resource-manager/docs/organization-policy/overview#organization_policy). There can be more than one organization policy with different constraints set on a given resource.", +"items": { +"$ref": "GoogleCloudOrgpolicyV1Policy" +}, +"type": "array" +}, +"relatedAssets": { +"$ref": "GoogleCloudAssetV1p7beta1RelatedAssets", +"description": "The related assets of the asset of one relationship type. One asset only represents one type of relationship." +}, +"resource": { +"$ref": "GoogleCloudAssetV1p7beta1Resource", +"description": "A representation of the resource." +}, +"servicePerimeter": { +"$ref": "GoogleIdentityAccesscontextmanagerV1ServicePerimeter", +"description": "Please also refer to the [service perimeter user guide](https://cloud.google.com/vpc-service-controls/docs/overview)." +}, +"updateTime": { +"description": "The last update timestamp of an asset. update_time is updated when create/update/delete operation is performed.", +"format": "google-datetime", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudAssetV1p7beta1RelatedAsset": { +"description": "An asset identify in Google Cloud which contains its name, type and ancestors. An asset can be any resource in the Google Cloud [resource hierarchy](https://cloud.google.com/resource-manager/docs/cloud-platform-resource-hierarchy), a resource outside the Google Cloud resource hierarchy (such as Google Kubernetes Engine clusters and objects), or a policy (e.g. IAM policy). See [Supported asset types](https://cloud.google.com/asset-inventory/docs/supported-asset-types) for more information.", +"id": "GoogleCloudAssetV1p7beta1RelatedAsset", +"properties": { +"ancestors": { +"description": "The ancestors of an asset in Google Cloud [resource hierarchy](https://cloud.google.com/resource-manager/docs/cloud-platform-resource-hierarchy), represented as a list of relative resource names. An ancestry path starts with the closest ancestor in the hierarchy and ends at root. Example: `[\"projects/123456789\", \"folders/5432\", \"organizations/1234\"]`", +"items": { +"type": "string" +}, +"type": "array" +}, +"asset": { +"description": "The full name of the asset. Example: `//compute.googleapis.com/projects/my_project_123/zones/zone1/instances/instance1` See [Resource names](https://cloud.google.com/apis/design/resource_names#full_resource_name) for more information.", +"type": "string" +}, +"assetType": { +"description": "The type of the asset. Example: `compute.googleapis.com/Disk` See [Supported asset types](https://cloud.google.com/asset-inventory/docs/supported-asset-types) for more information.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudAssetV1p7beta1RelatedAssets": { +"description": "The detailed related assets with the `relationship_type`.", +"id": "GoogleCloudAssetV1p7beta1RelatedAssets", +"properties": { +"assets": { +"description": "The peer resources of the relationship.", +"items": { +"$ref": "GoogleCloudAssetV1p7beta1RelatedAsset" +}, +"type": "array" +}, +"relationshipAttributes": { +"$ref": "GoogleCloudAssetV1p7beta1RelationshipAttributes", +"description": "The detailed relation attributes." +} +}, +"type": "object" +}, +"GoogleCloudAssetV1p7beta1RelationshipAttributes": { +"description": "The relationship attributes which include `type`, `source_resource_type`, `target_resource_type` and `action`.", +"id": "GoogleCloudAssetV1p7beta1RelationshipAttributes", +"properties": { +"action": { +"description": "The detail of the relationship, e.g. `contains`, `attaches`", +"type": "string" +}, +"sourceResourceType": { +"description": "The source asset type. Example: `compute.googleapis.com/Instance`", +"type": "string" +}, +"targetResourceType": { +"description": "The target asset type. Example: `compute.googleapis.com/Disk`", +"type": "string" +}, +"type": { +"description": "The unique identifier of the relationship type. Example: `INSTANCE_TO_INSTANCEGROUP`", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudAssetV1p7beta1Resource": { +"description": "A representation of a Google Cloud resource.", +"id": "GoogleCloudAssetV1p7beta1Resource", +"properties": { +"data": { +"additionalProperties": { +"description": "Properties of the object.", +"type": "any" +}, +"description": "The content of the resource, in which some sensitive fields are removed and may not be present.", +"type": "object" +}, +"discoveryDocumentUri": { +"description": "The URL of the discovery document containing the resource's JSON schema. Example: `https://www.googleapis.com/discovery/v1/apis/compute/v1/rest` This value is unspecified for resources that do not have an API based on a discovery document, such as Cloud Bigtable.", +"type": "string" +}, +"discoveryName": { +"description": "The JSON schema name listed in the discovery document. Example: `Project` This value is unspecified for resources that do not have an API based on a discovery document, such as Cloud Bigtable.", +"type": "string" +}, +"location": { +"description": "The location of the resource in Google Cloud, such as its zone and region. For more information, see https://cloud.google.com/about/locations/.", +"type": "string" +}, +"parent": { +"description": "The full name of the immediate parent of this resource. See [Resource Names](https://cloud.google.com/apis/design/resource_names#full_resource_name) for more information. For Google Cloud assets, this value is the parent resource defined in the [IAM policy hierarchy](https://cloud.google.com/iam/docs/overview#policy_hierarchy). Example: `//cloudresourcemanager.googleapis.com/projects/my_project_123` For third-party assets, this field may be set differently.", +"type": "string" +}, +"resourceUrl": { +"description": "The REST URL for accessing the resource. An HTTP `GET` request using this URL returns the resource itself. Example: `https://cloudresourcemanager.googleapis.com/v1/projects/my-project-123` This value is unspecified for resources without a REST API.", +"type": "string" +}, +"version": { +"description": "The API version. Example: `v1`", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudOrgpolicyV1BooleanPolicy": { +"description": "Used in `policy_type` to specify how `boolean_policy` will behave at this resource.", +"id": "GoogleCloudOrgpolicyV1BooleanPolicy", +"properties": { +"enforced": { +"description": "If `true`, then the `Policy` is enforced. If `false`, then any configuration is acceptable. Suppose you have a `Constraint` `constraints/compute.disableSerialPortAccess` with `constraint_default` set to `ALLOW`. A `Policy` for that `Constraint` exhibits the following behavior: - If the `Policy` at this resource has enforced set to `false`, serial port connection attempts will be allowed. - If the `Policy` at this resource has enforced set to `true`, serial port connection attempts will be refused. - If the `Policy` at this resource is `RestoreDefault`, serial port connection attempts will be allowed. - If no `Policy` is set at this resource or anywhere higher in the resource hierarchy, serial port connection attempts will be allowed. - If no `Policy` is set at this resource, but one exists higher in the resource hierarchy, the behavior is as if the`Policy` were set at this resource. The following examples demonstrate the different possible layerings: Example 1 (nearest `Constraint` wins): `organizations/foo` has a `Policy` with: {enforced: false} `projects/bar` has no `Policy` set. The constraint at `projects/bar` and `organizations/foo` will not be enforced. Example 2 (enforcement gets replaced): `organizations/foo` has a `Policy` with: {enforced: false} `projects/bar` has a `Policy` with: {enforced: true} The constraint at `organizations/foo` is not enforced. The constraint at `projects/bar` is enforced. Example 3 (RestoreDefault): `organizations/foo` has a `Policy` with: {enforced: true} `projects/bar` has a `Policy` with: {RestoreDefault: {}} The constraint at `organizations/foo` is enforced. The constraint at `projects/bar` is not enforced, because `constraint_default` for the `Constraint` is `ALLOW`.", +"type": "boolean" +} +}, +"type": "object" +}, +"GoogleCloudOrgpolicyV1ListPolicy": { +"description": "Used in `policy_type` to specify how `list_policy` behaves at this resource. `ListPolicy` can define specific values and subtrees of Cloud Resource Manager resource hierarchy (`Organizations`, `Folders`, `Projects`) that are allowed or denied by setting the `allowed_values` and `denied_values` fields. This is achieved by using the `under:` and optional `is:` prefixes. The `under:` prefix is used to denote resource subtree values. The `is:` prefix is used to denote specific values, and is required only if the value contains a \":\". Values prefixed with \"is:\" are treated the same as values with no prefix. Ancestry subtrees must be in one of the following formats: - \"projects/\", e.g. \"projects/tokyo-rain-123\" - \"folders/\", e.g. \"folders/1234\" - \"organizations/\", e.g. \"organizations/1234\" The `supports_under` field of the associated `Constraint` defines whether ancestry prefixes can be used. You can set `allowed_values` and `denied_values` in the same `Policy` if `all_values` is `ALL_VALUES_UNSPECIFIED`. `ALLOW` or `DENY` are used to allow or deny all values. If `all_values` is set to either `ALLOW` or `DENY`, `allowed_values` and `denied_values` must be unset.", +"id": "GoogleCloudOrgpolicyV1ListPolicy", +"properties": { +"allValues": { +"description": "The policy all_values state.", +"enum": [ +"ALL_VALUES_UNSPECIFIED", +"ALLOW", +"DENY" +], +"enumDescriptions": [ +"Indicates that allowed_values or denied_values must be set.", +"A policy with this set allows all values.", +"A policy with this set denies all values." +], +"type": "string" +}, +"allowedValues": { +"description": "List of values allowed at this resource. Can only be set if `all_values` is set to `ALL_VALUES_UNSPECIFIED`.", +"items": { +"type": "string" +}, +"type": "array" +}, +"deniedValues": { +"description": "List of values denied at this resource. Can only be set if `all_values` is set to `ALL_VALUES_UNSPECIFIED`.", +"items": { +"type": "string" +}, +"type": "array" +}, +"inheritFromParent": { +"description": "Determines the inheritance behavior for this `Policy`. By default, a `ListPolicy` set at a resource supersedes any `Policy` set anywhere up the resource hierarchy. However, if `inherit_from_parent` is set to `true`, then the values from the effective `Policy` of the parent resource are inherited, meaning the values set in this `Policy` are added to the values inherited up the hierarchy. Setting `Policy` hierarchies that inherit both allowed values and denied values isn't recommended in most circumstances to keep the configuration simple and understandable. However, it is possible to set a `Policy` with `allowed_values` set that inherits a `Policy` with `denied_values` set. In this case, the values that are allowed must be in `allowed_values` and not present in `denied_values`. For example, suppose you have a `Constraint` `constraints/serviceuser.services`, which has a `constraint_type` of `list_constraint`, and with `constraint_default` set to `ALLOW`. Suppose that at the Organization level, a `Policy` is applied that restricts the allowed API activations to {`E1`, `E2`}. Then, if a `Policy` is applied to a project below the Organization that has `inherit_from_parent` set to `false` and field all_values set to DENY, then an attempt to activate any API will be denied. The following examples demonstrate different possible layerings for `projects/bar` parented by `organizations/foo`: Example 1 (no inherited values): `organizations/foo` has a `Policy` with values: {allowed_values: \"E1\" allowed_values:\"E2\"} `projects/bar` has `inherit_from_parent` `false` and values: {allowed_values: \"E3\" allowed_values: \"E4\"} The accepted values at `organizations/foo` are `E1`, `E2`. The accepted values at `projects/bar` are `E3`, and `E4`. Example 2 (inherited values): `organizations/foo` has a `Policy` with values: {allowed_values: \"E1\" allowed_values:\"E2\"} `projects/bar` has a `Policy` with values: {value: \"E3\" value: \"E4\" inherit_from_parent: true} The accepted values at `organizations/foo` are `E1`, `E2`. The accepted values at `projects/bar` are `E1`, `E2`, `E3`, and `E4`. Example 3 (inheriting both allowed and denied values): `organizations/foo` has a `Policy` with values: {allowed_values: \"E1\" allowed_values: \"E2\"} `projects/bar` has a `Policy` with: {denied_values: \"E1\"} The accepted values at `organizations/foo` are `E1`, `E2`. The value accepted at `projects/bar` is `E2`. Example 4 (RestoreDefault): `organizations/foo` has a `Policy` with values: {allowed_values: \"E1\" allowed_values:\"E2\"} `projects/bar` has a `Policy` with values: {RestoreDefault: {}} The accepted values at `organizations/foo` are `E1`, `E2`. The accepted values at `projects/bar` are either all or none depending on the value of `constraint_default` (if `ALLOW`, all; if `DENY`, none). Example 5 (no policy inherits parent policy): `organizations/foo` has no `Policy` set. `projects/bar` has no `Policy` set. The accepted values at both levels are either all or none depending on the value of `constraint_default` (if `ALLOW`, all; if `DENY`, none). Example 6 (ListConstraint allowing all): `organizations/foo` has a `Policy` with values: {allowed_values: \"E1\" allowed_values: \"E2\"} `projects/bar` has a `Policy` with: {all: ALLOW} The accepted values at `organizations/foo` are `E1`, E2`. Any value is accepted at `projects/bar`. Example 7 (ListConstraint allowing none): `organizations/foo` has a `Policy` with values: {allowed_values: \"E1\" allowed_values: \"E2\"} `projects/bar` has a `Policy` with: {all: DENY} The accepted values at `organizations/foo` are `E1`, E2`. No value is accepted at `projects/bar`. Example 10 (allowed and denied subtrees of Resource Manager hierarchy): Given the following resource hierarchy O1->{F1, F2}; F1->{P1}; F2->{P2, P3}, `organizations/foo` has a `Policy` with values: {allowed_values: \"under:organizations/O1\"} `projects/bar` has a `Policy` with: {allowed_values: \"under:projects/P3\"} {denied_values: \"under:folders/F2\"} The accepted values at `organizations/foo` are `organizations/O1`, `folders/F1`, `folders/F2`, `projects/P1`, `projects/P2`, `projects/P3`. The accepted values at `projects/bar` are `organizations/O1`, `folders/F1`, `projects/P1`.", +"type": "boolean" +}, +"suggestedValue": { +"description": "Optional. The Google Cloud Console will try to default to a configuration that matches the value specified in this `Policy`. If `suggested_value` is not set, it will inherit the value specified higher in the hierarchy, unless `inherit_from_parent` is `false`.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudOrgpolicyV1Policy": { +"description": "Defines a Cloud Organization `Policy` which is used to specify `Constraints` for configurations of Cloud Platform resources.", +"id": "GoogleCloudOrgpolicyV1Policy", +"properties": { +"booleanPolicy": { +"$ref": "GoogleCloudOrgpolicyV1BooleanPolicy", +"description": "For boolean `Constraints`, whether to enforce the `Constraint` or not." +}, +"constraint": { +"description": "The name of the `Constraint` the `Policy` is configuring, for example, `constraints/serviceuser.services`. A [list of available constraints](/resource-manager/docs/organization-policy/org-policy-constraints) is available. Immutable after creation.", +"type": "string" +}, +"etag": { +"description": "An opaque tag indicating the current version of the `Policy`, used for concurrency control. When the `Policy` is returned from either a `GetPolicy` or a `ListOrgPolicy` request, this `etag` indicates the version of the current `Policy` to use when executing a read-modify-write loop. When the `Policy` is returned from a `GetEffectivePolicy` request, the `etag` will be unset. When the `Policy` is used in a `SetOrgPolicy` method, use the `etag` value that was returned from a `GetOrgPolicy` request as part of a read-modify-write loop for concurrency control. Not setting the `etag`in a `SetOrgPolicy` request will result in an unconditional write of the `Policy`.", +"format": "byte", +"type": "string" +}, +"listPolicy": { +"$ref": "GoogleCloudOrgpolicyV1ListPolicy", +"description": "List of values either allowed or disallowed." +}, +"restoreDefault": { +"$ref": "GoogleCloudOrgpolicyV1RestoreDefault", +"description": "Restores the default behavior of the constraint; independent of `Constraint` type." +}, +"updateTime": { +"description": "The time stamp the `Policy` was previously updated. This is set by the server, not specified by the caller, and represents the last time a call to `SetOrgPolicy` was made for that `Policy`. Any value set by the client will be ignored.", +"format": "google-datetime", +"type": "string" +}, +"version": { +"description": "Version of the `Policy`. Default version is 0;", +"format": "int32", +"type": "integer" +} +}, +"type": "object" +}, +"GoogleCloudOrgpolicyV1RestoreDefault": { +"description": "Ignores policies set above this resource and restores the `constraint_default` enforcement behavior of the specific `Constraint` at this resource. Suppose that `constraint_default` is set to `ALLOW` for the `Constraint` `constraints/serviceuser.services`. Suppose that organization foo.com sets a `Policy` at their Organization resource node that restricts the allowed service activations to deny all service activations. They could then set a `Policy` with the `policy_type` `restore_default` on several experimental projects, restoring the `constraint_default` enforcement of the `Constraint` for only those projects, allowing those projects to have all services activated.", +"id": "GoogleCloudOrgpolicyV1RestoreDefault", +"properties": {}, +"type": "object" +}, +"GoogleIdentityAccesscontextmanagerV1AccessLevel": { +"description": "An `AccessLevel` is a label that can be applied to requests to Google Cloud services, along with a list of requirements necessary for the label to be applied.", +"id": "GoogleIdentityAccesscontextmanagerV1AccessLevel", +"properties": { +"basic": { +"$ref": "GoogleIdentityAccesscontextmanagerV1BasicLevel", +"description": "A `BasicLevel` composed of `Conditions`." +}, +"custom": { +"$ref": "GoogleIdentityAccesscontextmanagerV1CustomLevel", +"description": "A `CustomLevel` written in the Common Expression Language." +}, +"description": { +"description": "Description of the `AccessLevel` and its use. Does not affect behavior.", +"type": "string" +}, +"name": { +"description": "Identifier. Resource name for the `AccessLevel`. Format: `accessPolicies/{access_policy}/accessLevels/{access_level}`. The `access_level` component must begin with a letter, followed by alphanumeric characters or `_`. Its maximum length is 50 characters. After you create an `AccessLevel`, you cannot change its `name`.", +"type": "string" +}, +"title": { +"description": "Human readable title. Must be unique within the Policy.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleIdentityAccesscontextmanagerV1AccessPolicy": { +"description": "`AccessPolicy` is a container for `AccessLevels` (which define the necessary attributes to use Google Cloud services) and `ServicePerimeters` (which define regions of services able to freely pass data within a perimeter). An access policy is globally visible within an organization, and the restrictions it specifies apply to all projects within an organization.", +"id": "GoogleIdentityAccesscontextmanagerV1AccessPolicy", +"properties": { +"etag": { +"description": "Output only. An opaque identifier for the current version of the `AccessPolicy`. This will always be a strongly validated etag, meaning that two Access Policies will be identical if and only if their etags are identical. Clients should not expect this to be in any specific format.", +"readOnly": true, +"type": "string" +}, +"name": { +"description": "Output only. Identifier. Resource name of the `AccessPolicy`. Format: `accessPolicies/{access_policy}`", +"type": "string" +}, +"parent": { +"description": "Required. The parent of this `AccessPolicy` in the Cloud Resource Hierarchy. Currently immutable once created. Format: `organizations/{organization_id}`", +"type": "string" +}, +"scopes": { +"description": "The scopes of the AccessPolicy. Scopes define which resources a policy can restrict and where its resources can be referenced. For example, policy A with `scopes=[\"folders/123\"]` has the following behavior: - ServicePerimeter can only restrict projects within `folders/123`. - ServicePerimeter within policy A can only reference access levels defined within policy A. - Only one policy can include a given scope; thus, attempting to create a second policy which includes `folders/123` will result in an error. If no scopes are provided, then any resource within the organization can be restricted. Scopes cannot be modified after a policy is created. Policies can only have a single scope. Format: list of `folders/{folder_number}` or `projects/{project_number}`", +"items": { +"type": "string" +}, +"type": "array" +}, +"title": { +"description": "Required. Human readable title. Does not affect behavior.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleIdentityAccesscontextmanagerV1ApiOperation": { +"description": "Identification for an API Operation.", +"id": "GoogleIdentityAccesscontextmanagerV1ApiOperation", +"properties": { +"methodSelectors": { +"description": "API methods or permissions to allow. Method or permission must belong to the service specified by `service_name` field. A single MethodSelector entry with `*` specified for the `method` field will allow all methods AND permissions for the service specified in `service_name`.", +"items": { +"$ref": "GoogleIdentityAccesscontextmanagerV1MethodSelector" +}, +"type": "array" +}, +"serviceName": { +"description": "The name of the API whose methods or permissions the IngressPolicy or EgressPolicy want to allow. A single ApiOperation with `service_name` field set to `*` will allow all methods AND permissions for all services.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleIdentityAccesscontextmanagerV1BasicLevel": { +"description": "`BasicLevel` is an `AccessLevel` using a set of recommended features.", +"id": "GoogleIdentityAccesscontextmanagerV1BasicLevel", +"properties": { +"combiningFunction": { +"description": "How the `conditions` list should be combined to determine if a request is granted this `AccessLevel`. If AND is used, each `Condition` in `conditions` must be satisfied for the `AccessLevel` to be applied. If OR is used, at least one `Condition` in `conditions` must be satisfied for the `AccessLevel` to be applied. Default behavior is AND.", +"enum": [ +"AND", +"OR" +], +"enumDescriptions": [ +"All `Conditions` must be true for the `BasicLevel` to be true.", +"If at least one `Condition` is true, then the `BasicLevel` is true." +], +"type": "string" +}, +"conditions": { +"description": "Required. A list of requirements for the `AccessLevel` to be granted.", +"items": { +"$ref": "GoogleIdentityAccesscontextmanagerV1Condition" +}, +"type": "array" +} +}, +"type": "object" +}, +"GoogleIdentityAccesscontextmanagerV1Condition": { +"description": "A condition necessary for an `AccessLevel` to be granted. The Condition is an AND over its fields. So a Condition is true if: 1) the request IP is from one of the listed subnetworks AND 2) the originating device complies with the listed device policy AND 3) all listed access levels are granted AND 4) the request was sent at a time allowed by the DateTimeRestriction.", +"id": "GoogleIdentityAccesscontextmanagerV1Condition", +"properties": { +"devicePolicy": { +"$ref": "GoogleIdentityAccesscontextmanagerV1DevicePolicy", +"description": "Device specific restrictions, all restrictions must hold for the Condition to be true. If not specified, all devices are allowed." +}, +"ipSubnetworks": { +"description": "CIDR block IP subnetwork specification. May be IPv4 or IPv6. Note that for a CIDR IP address block, the specified IP address portion must be properly truncated (i.e. all the host bits must be zero) or the input is considered malformed. For example, \"192.0.2.0/24\" is accepted but \"192.0.2.1/24\" is not. Similarly, for IPv6, \"2001:db8::/32\" is accepted whereas \"2001:db8::1/32\" is not. The originating IP of a request must be in one of the listed subnets in order for this Condition to be true. If empty, all IP addresses are allowed.", +"items": { +"type": "string" +}, +"type": "array" +}, +"members": { +"description": "The request must be made by one of the provided user or service accounts. Groups are not supported. Syntax: `user:{emailid}` `serviceAccount:{emailid}` If not specified, a request may come from any user.", +"items": { +"type": "string" +}, +"type": "array" +}, +"negate": { +"description": "Whether to negate the Condition. If true, the Condition becomes a NAND over its non-empty fields. Any non-empty field criteria evaluating to false will result in the Condition to be satisfied. Defaults to false.", +"type": "boolean" +}, +"regions": { +"description": "The request must originate from one of the provided countries/regions. Must be valid ISO 3166-1 alpha-2 codes.", +"items": { +"type": "string" +}, +"type": "array" +}, +"requiredAccessLevels": { +"description": "A list of other access levels defined in the same `Policy`, referenced by resource name. Referencing an `AccessLevel` which does not exist is an error. All access levels listed must be granted for the Condition to be true. Example: \"`accessPolicies/MY_POLICY/accessLevels/LEVEL_NAME\"`", +"items": { +"type": "string" +}, +"type": "array" +}, +"vpcNetworkSources": { +"description": "The request must originate from one of the provided VPC networks in Google Cloud. Cannot specify this field together with `ip_subnetworks`.", +"items": { +"$ref": "GoogleIdentityAccesscontextmanagerV1VpcNetworkSource" +}, +"type": "array" +} +}, +"type": "object" +}, +"GoogleIdentityAccesscontextmanagerV1CustomLevel": { +"description": "`CustomLevel` is an `AccessLevel` using the Cloud Common Expression Language to represent the necessary conditions for the level to apply to a request. See CEL spec at: https://github.com/google/cel-spec", +"id": "GoogleIdentityAccesscontextmanagerV1CustomLevel", +"properties": { +"expr": { +"$ref": "Expr", +"description": "Required. A Cloud CEL expression evaluating to a boolean." +} +}, +"type": "object" +}, +"GoogleIdentityAccesscontextmanagerV1DevicePolicy": { +"description": "`DevicePolicy` specifies device specific restrictions necessary to acquire a given access level. A `DevicePolicy` specifies requirements for requests from devices to be granted access levels, it does not do any enforcement on the device. `DevicePolicy` acts as an AND over all specified fields, and each repeated field is an OR over its elements. Any unset fields are ignored. For example, if the proto is { os_type : DESKTOP_WINDOWS, os_type : DESKTOP_LINUX, encryption_status: ENCRYPTED}, then the DevicePolicy will be true for requests originating from encrypted Linux desktops and encrypted Windows desktops.", +"id": "GoogleIdentityAccesscontextmanagerV1DevicePolicy", +"properties": { +"allowedDeviceManagementLevels": { +"description": "Allowed device management levels, an empty list allows all management levels.", +"items": { +"enum": [ +"MANAGEMENT_UNSPECIFIED", +"NONE", +"BASIC", +"COMPLETE" +], +"enumDescriptions": [ +"The device's management level is not specified or not known.", +"The device is not managed.", +"Basic management is enabled, which is generally limited to monitoring and wiping the corporate account.", +"Complete device management. This includes more thorough monitoring and the ability to directly manage the device (such as remote wiping). This can be enabled through the Android Enterprise Platform." +], +"type": "string" +}, +"type": "array" +}, +"allowedEncryptionStatuses": { +"description": "Allowed encryptions statuses, an empty list allows all statuses.", +"items": { +"enum": [ +"ENCRYPTION_UNSPECIFIED", +"ENCRYPTION_UNSUPPORTED", +"UNENCRYPTED", +"ENCRYPTED" +], +"enumDescriptions": [ +"The encryption status of the device is not specified or not known.", +"The device does not support encryption.", +"The device supports encryption, but is currently unencrypted.", +"The device is encrypted." +], +"type": "string" +}, +"type": "array" +}, +"osConstraints": { +"description": "Allowed OS versions, an empty list allows all types and all versions.", +"items": { +"$ref": "GoogleIdentityAccesscontextmanagerV1OsConstraint" +}, +"type": "array" +}, +"requireAdminApproval": { +"description": "Whether the device needs to be approved by the customer admin.", +"type": "boolean" +}, +"requireCorpOwned": { +"description": "Whether the device needs to be corp owned.", +"type": "boolean" +}, +"requireScreenlock": { +"description": "Whether or not screenlock is required for the DevicePolicy to be true. Defaults to `false`.", +"type": "boolean" +} +}, +"type": "object" +}, +"GoogleIdentityAccesscontextmanagerV1EgressFrom": { +"description": "Defines the conditions under which an EgressPolicy matches a request. Conditions based on information about the source of the request. Note that if the destination of the request is also protected by a ServicePerimeter, then that ServicePerimeter must have an IngressPolicy which allows access in order for this request to succeed.", +"id": "GoogleIdentityAccesscontextmanagerV1EgressFrom", +"properties": { +"identities": { +"description": "A list of identities that are allowed access through [EgressPolicy]. Identities can be an individual user, service account, Google group, or third-party identity. For third-party identity, only single identities are supported and other identity types are not supported. The `v1` identities that have the prefix `user`, `group`, `serviceAccount`, and `principal` in https://cloud.google.com/iam/docs/principal-identifiers#v1 are supported.", +"items": { +"type": "string" +}, +"type": "array" +}, +"identityType": { +"description": "Specifies the type of identities that are allowed access to outside the perimeter. If left unspecified, then members of `identities` field will be allowed access.", +"enum": [ +"IDENTITY_TYPE_UNSPECIFIED", +"ANY_IDENTITY", +"ANY_USER_ACCOUNT", +"ANY_SERVICE_ACCOUNT" +], +"enumDescriptions": [ +"No blanket identity group specified.", +"Authorize access from all identities outside the perimeter.", +"Authorize access from all human users outside the perimeter.", +"Authorize access from all service accounts outside the perimeter." +], +"type": "string" +}, +"sourceRestriction": { +"description": "Whether to enforce traffic restrictions based on `sources` field. If the `sources` fields is non-empty, then this field must be set to `SOURCE_RESTRICTION_ENABLED`.", +"enum": [ +"SOURCE_RESTRICTION_UNSPECIFIED", +"SOURCE_RESTRICTION_ENABLED", +"SOURCE_RESTRICTION_DISABLED" +], +"enumDescriptions": [ +"Enforcement preference unspecified, will not enforce traffic restrictions based on `sources` in EgressFrom.", +"Enforcement preference enabled, traffic restrictions will be enforced based on `sources` in EgressFrom.", +"Enforcement preference disabled, will not enforce traffic restrictions based on `sources` in EgressFrom." +], +"type": "string" +}, +"sources": { +"description": "Sources that this EgressPolicy authorizes access from. If this field is not empty, then `source_restriction` must be set to `SOURCE_RESTRICTION_ENABLED`.", +"items": { +"$ref": "GoogleIdentityAccesscontextmanagerV1EgressSource" +}, +"type": "array" +} +}, +"type": "object" +}, +"GoogleIdentityAccesscontextmanagerV1EgressPolicy": { +"description": "Policy for egress from perimeter. EgressPolicies match requests based on `egress_from` and `egress_to` stanzas. For an EgressPolicy to match, both `egress_from` and `egress_to` stanzas must be matched. If an EgressPolicy matches a request, the request is allowed to span the ServicePerimeter boundary. For example, an EgressPolicy can be used to allow VMs on networks within the ServicePerimeter to access a defined set of projects outside the perimeter in certain contexts (e.g. to read data from a Cloud Storage bucket or query against a BigQuery dataset). EgressPolicies are concerned with the *resources* that a request relates as well as the API services and API actions being used. They do not related to the direction of data movement. More detailed documentation for this concept can be found in the descriptions of EgressFrom and EgressTo.", +"id": "GoogleIdentityAccesscontextmanagerV1EgressPolicy", +"properties": { +"egressFrom": { +"$ref": "GoogleIdentityAccesscontextmanagerV1EgressFrom", +"description": "Defines conditions on the source of a request causing this EgressPolicy to apply." +}, +"egressTo": { +"$ref": "GoogleIdentityAccesscontextmanagerV1EgressTo", +"description": "Defines the conditions on the ApiOperation and destination resources that cause this EgressPolicy to apply." +}, +"title": { +"description": "Optional. Human-readable title for the egress rule. The title must be unique within the perimeter and can not exceed 100 characters. Within the access policy, the combined length of all rule titles must not exceed 240,000 characters.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleIdentityAccesscontextmanagerV1EgressSource": { +"description": "The source that EgressPolicy authorizes access from inside the ServicePerimeter to somewhere outside the ServicePerimeter boundaries.", +"id": "GoogleIdentityAccesscontextmanagerV1EgressSource", +"properties": { +"accessLevel": { +"description": "An AccessLevel resource name that allows protected resources inside the ServicePerimeters to access outside the ServicePerimeter boundaries. AccessLevels listed must be in the same policy as this ServicePerimeter. Referencing a nonexistent AccessLevel will cause an error. If an AccessLevel name is not specified, only resources within the perimeter can be accessed through Google Cloud calls with request origins within the perimeter. Example: `accessPolicies/MY_POLICY/accessLevels/MY_LEVEL`. If a single `*` is specified for `access_level`, then all EgressSources will be allowed.", +"type": "string" +}, +"resource": { +"description": "A Google Cloud resource that you want to allow to egress the perimeter. These resources can access data outside the perimeter. This field only supports projects. The project format is `projects/{project_number}`. The resource can be in any Google Cloud organization, not just the organization where the perimeter is defined. You can't use `*` in this field to allow all Google Cloud resources.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleIdentityAccesscontextmanagerV1EgressTo": { +"description": "Defines the conditions under which an EgressPolicy matches a request. Conditions are based on information about the ApiOperation intended to be performed on the `resources` specified. Note that if the destination of the request is also protected by a ServicePerimeter, then that ServicePerimeter must have an IngressPolicy which allows access in order for this request to succeed. The request must match `operations` AND `resources` fields in order to be allowed egress out of the perimeter.", +"id": "GoogleIdentityAccesscontextmanagerV1EgressTo", +"properties": { +"externalResources": { +"description": "A list of external resources that are allowed to be accessed. Only AWS and Azure resources are supported. For Amazon S3, the supported formats are s3://BUCKET_NAME, s3a://BUCKET_NAME, and s3n://BUCKET_NAME. For Azure Storage, the supported format is azure://myaccount.blob.core.windows.net/CONTAINER_NAME. A request matches if it contains an external resource in this list (Example: s3://bucket/path). Currently '*' is not allowed.", +"items": { +"type": "string" +}, +"type": "array" +}, +"operations": { +"description": "A list of ApiOperations allowed to be performed by the sources specified in the corresponding EgressFrom. A request matches if it uses an operation/service in this list.", +"items": { +"$ref": "GoogleIdentityAccesscontextmanagerV1ApiOperation" +}, +"type": "array" +}, +"resources": { +"description": "A list of resources, currently only projects in the form `projects/`, that are allowed to be accessed by sources defined in the corresponding EgressFrom. A request matches if it contains a resource in this list. If `*` is specified for `resources`, then this EgressTo rule will authorize access to all resources outside the perimeter.", +"items": { +"type": "string" +}, +"type": "array" +} +}, +"type": "object" +}, +"GoogleIdentityAccesscontextmanagerV1IngressFrom": { +"description": "Defines the conditions under which an IngressPolicy matches a request. Conditions are based on information about the source of the request. The request must satisfy what is defined in `sources` AND identity related fields in order to match.", +"id": "GoogleIdentityAccesscontextmanagerV1IngressFrom", +"properties": { +"identities": { +"description": "A list of identities that are allowed access through [IngressPolicy]. Identities can be an individual user, service account, Google group, or third-party identity. For third-party identity, only single identities are supported and other identity types are not supported. The `v1` identities that have the prefix `user`, `group`, `serviceAccount`, and `principal` in https://cloud.google.com/iam/docs/principal-identifiers#v1 are supported.", +"items": { +"type": "string" +}, +"type": "array" +}, +"identityType": { +"description": "Specifies the type of identities that are allowed access from outside the perimeter. If left unspecified, then members of `identities` field will be allowed access.", +"enum": [ +"IDENTITY_TYPE_UNSPECIFIED", +"ANY_IDENTITY", +"ANY_USER_ACCOUNT", +"ANY_SERVICE_ACCOUNT" +], +"enumDescriptions": [ +"No blanket identity group specified.", +"Authorize access from all identities outside the perimeter.", +"Authorize access from all human users outside the perimeter.", +"Authorize access from all service accounts outside the perimeter." +], +"type": "string" +}, +"sources": { +"description": "Sources that this IngressPolicy authorizes access from.", +"items": { +"$ref": "GoogleIdentityAccesscontextmanagerV1IngressSource" +}, +"type": "array" +} +}, +"type": "object" +}, +"GoogleIdentityAccesscontextmanagerV1IngressPolicy": { +"description": "Policy for ingress into ServicePerimeter. IngressPolicies match requests based on `ingress_from` and `ingress_to` stanzas. For an ingress policy to match, both the `ingress_from` and `ingress_to` stanzas must be matched. If an IngressPolicy matches a request, the request is allowed through the perimeter boundary from outside the perimeter. For example, access from the internet can be allowed either based on an AccessLevel or, for traffic hosted on Google Cloud, the project of the source network. For access from private networks, using the project of the hosting network is required. Individual ingress policies can be limited by restricting which services and/or actions they match using the `ingress_to` field.", +"id": "GoogleIdentityAccesscontextmanagerV1IngressPolicy", +"properties": { +"ingressFrom": { +"$ref": "GoogleIdentityAccesscontextmanagerV1IngressFrom", +"description": "Defines the conditions on the source of a request causing this IngressPolicy to apply." +}, +"ingressTo": { +"$ref": "GoogleIdentityAccesscontextmanagerV1IngressTo", +"description": "Defines the conditions on the ApiOperation and request destination that cause this IngressPolicy to apply." +}, +"title": { +"description": "Optional. Human-readable title for the ingress rule. The title must be unique within the perimeter and can not exceed 100 characters. Within the access policy, the combined length of all rule titles must not exceed 240,000 characters.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleIdentityAccesscontextmanagerV1IngressSource": { +"description": "The source that IngressPolicy authorizes access from.", +"id": "GoogleIdentityAccesscontextmanagerV1IngressSource", +"properties": { +"accessLevel": { +"description": "An AccessLevel resource name that allow resources within the ServicePerimeters to be accessed from the internet. AccessLevels listed must be in the same policy as this ServicePerimeter. Referencing a nonexistent AccessLevel will cause an error. If no AccessLevel names are listed, resources within the perimeter can only be accessed via Google Cloud calls with request origins within the perimeter. Example: `accessPolicies/MY_POLICY/accessLevels/MY_LEVEL`. If a single `*` is specified for `access_level`, then all IngressSources will be allowed.", +"type": "string" +}, +"resource": { +"description": "A Google Cloud resource that is allowed to ingress the perimeter. Requests from these resources will be allowed to access perimeter data. Currently only projects and VPCs are allowed. Project format: `projects/{project_number}` VPC network format: `//compute.googleapis.com/projects/{PROJECT_ID}/global/networks/{NAME}`. The project may be in any Google Cloud organization, not just the organization that the perimeter is defined in. `*` is not allowed, the case of allowing all Google Cloud resources only is not supported.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleIdentityAccesscontextmanagerV1IngressTo": { +"description": "Defines the conditions under which an IngressPolicy matches a request. Conditions are based on information about the ApiOperation intended to be performed on the target resource of the request. The request must satisfy what is defined in `operations` AND `resources` in order to match.", +"id": "GoogleIdentityAccesscontextmanagerV1IngressTo", +"properties": { +"operations": { +"description": "A list of ApiOperations allowed to be performed by the sources specified in corresponding IngressFrom in this ServicePerimeter.", +"items": { +"$ref": "GoogleIdentityAccesscontextmanagerV1ApiOperation" +}, +"type": "array" +}, +"resources": { +"description": "A list of resources, currently only projects in the form `projects/`, protected by this ServicePerimeter that are allowed to be accessed by sources defined in the corresponding IngressFrom. If a single `*` is specified, then access to all resources inside the perimeter are allowed.", +"items": { +"type": "string" +}, +"type": "array" +} +}, +"type": "object" +}, +"GoogleIdentityAccesscontextmanagerV1MethodSelector": { +"description": "An allowed method or permission of a service specified in ApiOperation.", +"id": "GoogleIdentityAccesscontextmanagerV1MethodSelector", +"properties": { +"method": { +"description": "A valid method name for the corresponding `service_name` in ApiOperation. If `*` is used as the value for the `method`, then ALL methods and permissions are allowed.", +"type": "string" +}, +"permission": { +"description": "A valid Cloud IAM permission for the corresponding `service_name` in ApiOperation.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleIdentityAccesscontextmanagerV1OsConstraint": { +"description": "A restriction on the OS type and version of devices making requests.", +"id": "GoogleIdentityAccesscontextmanagerV1OsConstraint", +"properties": { +"minimumVersion": { +"description": "The minimum allowed OS version. If not set, any version of this OS satisfies the constraint. Format: `\"major.minor.patch\"`. Examples: `\"10.5.301\"`, `\"9.2.1\"`.", +"type": "string" +}, +"osType": { +"description": "Required. The allowed OS type.", +"enum": [ +"OS_UNSPECIFIED", +"DESKTOP_MAC", +"DESKTOP_WINDOWS", +"DESKTOP_LINUX", +"DESKTOP_CHROME_OS", +"ANDROID", +"IOS" +], +"enumDescriptions": [ +"The operating system of the device is not specified or not known.", +"A desktop Mac operating system.", +"A desktop Windows operating system.", +"A desktop Linux operating system.", +"A desktop ChromeOS operating system.", +"An Android operating system.", +"An iOS operating system." +], +"type": "string" +}, +"requireVerifiedChromeOs": { +"description": "Only allows requests from devices with a verified Chrome OS. Verifications includes requirements that the device is enterprise-managed, conformant to domain policies, and the caller has permission to call the API targeted by the request.", +"type": "boolean" +} +}, +"type": "object" +}, +"GoogleIdentityAccesscontextmanagerV1ServicePerimeter": { +"description": "`ServicePerimeter` describes a set of Google Cloud resources which can freely import and export data amongst themselves, but not export outside of the `ServicePerimeter`. If a request with a source within this `ServicePerimeter` has a target outside of the `ServicePerimeter`, the request will be blocked. Otherwise the request is allowed. There are two types of Service Perimeter - Regular and Bridge. Regular Service Perimeters cannot overlap, a single Google Cloud project or VPC network can only belong to a single regular Service Perimeter. Service Perimeter Bridges can contain only Google Cloud projects as members, a single Google Cloud project may belong to multiple Service Perimeter Bridges.", +"id": "GoogleIdentityAccesscontextmanagerV1ServicePerimeter", +"properties": { +"description": { +"description": "Description of the `ServicePerimeter` and its use. Does not affect behavior.", +"type": "string" +}, +"etag": { +"description": "Optional. An opaque identifier for the current version of the `ServicePerimeter`. This identifier does not follow any specific format. If an etag is not provided, the operation will be performed as if a valid etag is provided.", +"type": "string" +}, +"name": { +"description": "Identifier. Resource name for the `ServicePerimeter`. Format: `accessPolicies/{access_policy}/servicePerimeters/{service_perimeter}`. The `service_perimeter` component must begin with a letter, followed by alphanumeric characters or `_`. After you create a `ServicePerimeter`, you cannot change its `name`.", +"type": "string" +}, +"perimeterType": { +"description": "Perimeter type indicator. A single project or VPC network is allowed to be a member of single regular perimeter, but multiple service perimeter bridges. A project cannot be a included in a perimeter bridge without being included in regular perimeter. For perimeter bridges, the restricted service list as well as access level lists must be empty.", +"enum": [ +"PERIMETER_TYPE_REGULAR", +"PERIMETER_TYPE_BRIDGE" +], +"enumDescriptions": [ +"Regular Perimeter. When no value is specified, the perimeter uses this type.", +"Perimeter Bridge." +], +"type": "string" +}, +"spec": { +"$ref": "GoogleIdentityAccesscontextmanagerV1ServicePerimeterConfig", +"description": "Proposed (or dry run) ServicePerimeter configuration. This configuration allows to specify and test ServicePerimeter configuration without enforcing actual access restrictions. Only allowed to be set when the \"use_explicit_dry_run_spec\" flag is set." +}, +"status": { +"$ref": "GoogleIdentityAccesscontextmanagerV1ServicePerimeterConfig", +"description": "Current ServicePerimeter configuration. Specifies sets of resources, restricted services and access levels that determine perimeter content and boundaries." +}, +"title": { +"description": "Human readable title. Must be unique within the Policy.", +"type": "string" +}, +"useExplicitDryRunSpec": { +"description": "Use explicit dry run spec flag. Ordinarily, a dry-run spec implicitly exists for all Service Perimeters, and that spec is identical to the status for those Service Perimeters. When this flag is set, it inhibits the generation of the implicit spec, thereby allowing the user to explicitly provide a configuration (\"spec\") to use in a dry-run version of the Service Perimeter. This allows the user to test changes to the enforced config (\"status\") without actually enforcing them. This testing is done through analyzing the differences between currently enforced and suggested restrictions. use_explicit_dry_run_spec must bet set to True if any of the fields in the spec are set to non-default values.", +"type": "boolean" +} +}, +"type": "object" +}, +"GoogleIdentityAccesscontextmanagerV1ServicePerimeterConfig": { +"description": "`ServicePerimeterConfig` specifies a set of Google Cloud resources that describe specific Service Perimeter configuration.", +"id": "GoogleIdentityAccesscontextmanagerV1ServicePerimeterConfig", +"properties": { +"accessLevels": { +"description": "A list of `AccessLevel` resource names that allow resources within the `ServicePerimeter` to be accessed from the internet. `AccessLevels` listed must be in the same policy as this `ServicePerimeter`. Referencing a nonexistent `AccessLevel` is a syntax error. If no `AccessLevel` names are listed, resources within the perimeter can only be accessed via Google Cloud calls with request origins within the perimeter. Example: `\"accessPolicies/MY_POLICY/accessLevels/MY_LEVEL\"`. For Service Perimeter Bridge, must be empty.", +"items": { +"type": "string" +}, +"type": "array" +}, +"egressPolicies": { +"description": "List of EgressPolicies to apply to the perimeter. A perimeter may have multiple EgressPolicies, each of which is evaluated separately. Access is granted if any EgressPolicy grants it. Must be empty for a perimeter bridge.", +"items": { +"$ref": "GoogleIdentityAccesscontextmanagerV1EgressPolicy" +}, +"type": "array" +}, +"ingressPolicies": { +"description": "List of IngressPolicies to apply to the perimeter. A perimeter may have multiple IngressPolicies, each of which is evaluated separately. Access is granted if any Ingress Policy grants it. Must be empty for a perimeter bridge.", +"items": { +"$ref": "GoogleIdentityAccesscontextmanagerV1IngressPolicy" +}, +"type": "array" +}, +"resources": { +"description": "A list of Google Cloud resources that are inside of the service perimeter. Currently only projects and VPCs are allowed. Project format: `projects/{project_number}` VPC network format: `//compute.googleapis.com/projects/{PROJECT_ID}/global/networks/{NAME}`.", +"items": { +"type": "string" +}, +"type": "array" +}, +"restrictedServices": { +"description": "Google Cloud services that are subject to the Service Perimeter restrictions. For example, if `storage.googleapis.com` is specified, access to the storage buckets inside the perimeter must meet the perimeter's access restrictions.", +"items": { +"type": "string" +}, +"type": "array" +}, +"vpcAccessibleServices": { +"$ref": "GoogleIdentityAccesscontextmanagerV1VpcAccessibleServices", +"description": "Configuration for APIs allowed within Perimeter." +} +}, +"type": "object" +}, +"GoogleIdentityAccesscontextmanagerV1VpcAccessibleServices": { +"description": "Specifies how APIs are allowed to communicate within the Service Perimeter.", +"id": "GoogleIdentityAccesscontextmanagerV1VpcAccessibleServices", +"properties": { +"allowedServices": { +"description": "The list of APIs usable within the Service Perimeter. Must be empty unless 'enable_restriction' is True. You can specify a list of individual services, as well as include the 'RESTRICTED-SERVICES' value, which automatically includes all of the services protected by the perimeter.", +"items": { +"type": "string" +}, +"type": "array" +}, +"enableRestriction": { +"description": "Whether to restrict API calls within the Service Perimeter to the list of APIs specified in 'allowed_services'.", +"type": "boolean" +} +}, +"type": "object" +}, +"GoogleIdentityAccesscontextmanagerV1VpcNetworkSource": { +"description": "The originating network source in Google Cloud.", +"id": "GoogleIdentityAccesscontextmanagerV1VpcNetworkSource", +"properties": { +"vpcSubnetwork": { +"$ref": "GoogleIdentityAccesscontextmanagerV1VpcSubNetwork", +"description": "Sub-segment ranges of a VPC network." +} +}, +"type": "object" +}, +"GoogleIdentityAccesscontextmanagerV1VpcSubNetwork": { +"description": "Sub-segment ranges inside of a VPC Network.", +"id": "GoogleIdentityAccesscontextmanagerV1VpcSubNetwork", +"properties": { +"network": { +"description": "Required. Network name. If the network is not part of the organization, the `compute.network.get` permission must be granted to the caller. Format: `//compute.googleapis.com/projects/{PROJECT_ID}/global/networks/{NETWORK_NAME}` Example: `//compute.googleapis.com/projects/my-project/global/networks/network-1`", +"type": "string" +}, +"vpcIpSubnetworks": { +"description": "CIDR block IP subnetwork specification. The IP address must be an IPv4 address and can be a public or private IP address. Note that for a CIDR IP address block, the specified IP address portion must be properly truncated (i.e. all the host bits must be zero) or the input is considered malformed. For example, \"192.0.2.0/24\" is accepted but \"192.0.2.1/24\" is not. If empty, all IP addresses are allowed.", +"items": { +"type": "string" +}, +"type": "array" +} +}, +"type": "object" +}, +"ListAssetsResponse": { +"description": "ListAssets response.", +"id": "ListAssetsResponse", +"properties": { +"assets": { +"description": "Assets.", +"items": { +"$ref": "Asset" +}, +"type": "array" +}, +"nextPageToken": { +"description": "Token to retrieve the next page of results. It expires 72 hours after the page token for the first page is generated. Set to empty if there are no remaining results.", +"type": "string" +}, +"readTime": { +"description": "Time the snapshot was taken.", +"format": "google-datetime", +"type": "string" +} +}, +"type": "object" +}, +"Policy": { +"description": "An Identity and Access Management (IAM) policy, which specifies access controls for Google Cloud resources. A `Policy` is a collection of `bindings`. A `binding` binds one or more `members`, or principals, to a single `role`. Principals can be user accounts, service accounts, Google groups, and domains (such as G Suite). A `role` is a named list of permissions; each `role` can be an IAM predefined role or a user-created custom role. For some types of Google Cloud resources, a `binding` can also specify a `condition`, which is a logical expression that allows access to a resource only if the expression evaluates to `true`. A condition can add constraints based on attributes of the request, the resource, or both. To learn which resources support conditions in their IAM policies, see the [IAM documentation](https://cloud.google.com/iam/help/conditions/resource-policies). **JSON example:** ``` { \"bindings\": [ { \"role\": \"roles/resourcemanager.organizationAdmin\", \"members\": [ \"user:mike@example.com\", \"group:admins@example.com\", \"domain:google.com\", \"serviceAccount:my-project-id@appspot.gserviceaccount.com\" ] }, { \"role\": \"roles/resourcemanager.organizationViewer\", \"members\": [ \"user:eve@example.com\" ], \"condition\": { \"title\": \"expirable access\", \"description\": \"Does not grant access after Sep 2020\", \"expression\": \"request.time < timestamp('2020-10-01T00:00:00.000Z')\", } } ], \"etag\": \"BwWWja0YfJA=\", \"version\": 3 } ``` **YAML example:** ``` bindings: - members: - user:mike@example.com - group:admins@example.com - domain:google.com - serviceAccount:my-project-id@appspot.gserviceaccount.com role: roles/resourcemanager.organizationAdmin - members: - user:eve@example.com role: roles/resourcemanager.organizationViewer condition: title: expirable access description: Does not grant access after Sep 2020 expression: request.time < timestamp('2020-10-01T00:00:00.000Z') etag: BwWWja0YfJA= version: 3 ``` For a description of IAM and its features, see the [IAM documentation](https://cloud.google.com/iam/docs/).", +"id": "Policy", +"properties": { +"auditConfigs": { +"description": "Specifies cloud audit logging configuration for this policy.", +"items": { +"$ref": "AuditConfig" +}, +"type": "array" +}, +"bindings": { +"description": "Associates a list of `members`, or principals, with a `role`. Optionally, may specify a `condition` that determines how and when the `bindings` are applied. Each of the `bindings` must contain at least one principal. The `bindings` in a `Policy` can refer to up to 1,500 principals; up to 250 of these principals can be Google groups. Each occurrence of a principal counts towards these limits. For example, if the `bindings` grant 50 different roles to `user:alice@example.com`, and not to any other principal, then you can add another 1,450 principals to the `bindings` in the `Policy`.", +"items": { +"$ref": "Binding" +}, +"type": "array" +}, +"etag": { +"description": "`etag` is used for optimistic concurrency control as a way to help prevent simultaneous updates of a policy from overwriting each other. It is strongly suggested that systems make use of the `etag` in the read-modify-write cycle to perform policy updates in order to avoid race conditions: An `etag` is returned in the response to `getIamPolicy`, and systems are expected to put that etag in the request to `setIamPolicy` to ensure that their change will be applied to the same version of the policy. **Important:** If you use IAM Conditions, you must include the `etag` field whenever you call `setIamPolicy`. If you omit this field, then IAM allows you to overwrite a version `3` policy with a version `1` policy, and all of the conditions in the version `3` policy are lost.", +"format": "byte", +"type": "string" +}, +"version": { +"description": "Specifies the format of the policy. Valid values are `0`, `1`, and `3`. Requests that specify an invalid value are rejected. Any operation that affects conditional role bindings must specify version `3`. This requirement applies to the following operations: * Getting a policy that includes a conditional role binding * Adding a conditional role binding to a policy * Changing a conditional role binding in a policy * Removing any role binding, with or without a condition, from a policy that includes conditions **Important:** If you use IAM Conditions, you must include the `etag` field whenever you call `setIamPolicy`. If you omit this field, then IAM allows you to overwrite a version `3` policy with a version `1` policy, and all of the conditions in the version `3` policy are lost. If a policy does not include any conditions, operations on that policy may specify any valid version or leave the field unset. To learn which resources support conditions in their IAM policies, see the [IAM documentation](https://cloud.google.com/iam/help/conditions/resource-policies).", +"format": "int32", +"type": "integer" +} +}, +"type": "object" +}, +"Resource": { +"description": "A representation of a Google Cloud resource.", +"id": "Resource", +"properties": { +"data": { +"additionalProperties": { +"description": "Properties of the object.", +"type": "any" +}, +"description": "The content of the resource, in which some sensitive fields are removed and may not be present.", +"type": "object" +}, +"discoveryDocumentUri": { +"description": "The URL of the discovery document containing the resource's JSON schema. Example: `https://www.googleapis.com/discovery/v1/apis/compute/v1/rest` This value is unspecified for resources that do not have an API based on a discovery document, such as Cloud Bigtable.", +"type": "string" +}, +"discoveryName": { +"description": "The JSON schema name listed in the discovery document. Example: `Project` This value is unspecified for resources that do not have an API based on a discovery document, such as Cloud Bigtable.", +"type": "string" +}, +"parent": { +"description": "The full name of the immediate parent of this resource. See [Resource Names](https://cloud.google.com/apis/design/resource_names#full_resource_name) for more information. For Google Cloud assets, this value is the parent resource defined in the [IAM policy hierarchy](https://cloud.google.com/iam/docs/overview#policy_hierarchy). Example: `//cloudresourcemanager.googleapis.com/projects/my_project_123` For third-party assets, this field may be set differently.", +"type": "string" +}, +"resourceUrl": { +"description": "The REST URL for accessing the resource. An HTTP `GET` request using this URL returns the resource itself. Example: `https://cloudresourcemanager.googleapis.com/v1/projects/my-project-123` This value is unspecified for resources without a REST API.", +"type": "string" +}, +"version": { +"description": "The API version. Example: \"v1\".", +"type": "string" +} +}, +"type": "object" +} +}, +"servicePath": "", +"title": "Cloud Asset API", +"version": "v1p5beta1", +"version_module": true +} \ No newline at end of file diff --git a/.venv/lib/python3.11/site-packages/googleapiclient/discovery_cache/documents/cloudasset.v1p7beta1.json b/.venv/lib/python3.11/site-packages/googleapiclient/discovery_cache/documents/cloudasset.v1p7beta1.json new file mode 100644 index 0000000000000000000000000000000000000000..2eff25d12adc8b69f6c29ad18bf75b7511cb204f --- /dev/null +++ b/.venv/lib/python3.11/site-packages/googleapiclient/discovery_cache/documents/cloudasset.v1p7beta1.json @@ -0,0 +1,1393 @@ +{ +"auth": { +"oauth2": { +"scopes": { +"https://www.googleapis.com/auth/cloud-platform": { +"description": "See, edit, configure, and delete your Google Cloud data and see the email address for your Google Account." +} +} +} +}, +"basePath": "", +"baseUrl": "https://cloudasset.googleapis.com/", +"batchPath": "batch", +"canonicalName": "Cloud Asset", +"description": "The Cloud Asset API manages the history and inventory of Google Cloud resources.", +"discoveryVersion": "v1", +"documentationLink": "https://cloud.google.com/asset-inventory/docs/quickstart", +"fullyEncodeReservedExpansion": true, +"icons": { +"x16": "http://www.google.com/images/icons/product/search-16.gif", +"x32": "http://www.google.com/images/icons/product/search-32.gif" +}, +"id": "cloudasset:v1p7beta1", +"kind": "discovery#restDescription", +"mtlsRootUrl": "https://cloudasset.mtls.googleapis.com/", +"name": "cloudasset", +"ownerDomain": "google.com", +"ownerName": "Google", +"parameters": { +"$.xgafv": { +"description": "V1 error format.", +"enum": [ +"1", +"2" +], +"enumDescriptions": [ +"v1 error format", +"v2 error format" +], +"location": "query", +"type": "string" +}, +"access_token": { +"description": "OAuth access token.", +"location": "query", +"type": "string" +}, +"alt": { +"default": "json", +"description": "Data format for response.", +"enum": [ +"json", +"media", +"proto" +], +"enumDescriptions": [ +"Responses with Content-Type of application/json", +"Media download with context-dependent Content-Type", +"Responses with Content-Type of application/x-protobuf" +], +"location": "query", +"type": "string" +}, +"callback": { +"description": "JSONP", +"location": "query", +"type": "string" +}, +"fields": { +"description": "Selector specifying which fields to include in a partial response.", +"location": "query", +"type": "string" +}, +"key": { +"description": "API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token.", +"location": "query", +"type": "string" +}, +"oauth_token": { +"description": "OAuth 2.0 token for the current user.", +"location": "query", +"type": "string" +}, +"prettyPrint": { +"default": "true", +"description": "Returns response with indentations and line breaks.", +"location": "query", +"type": "boolean" +}, +"quotaUser": { +"description": "Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters.", +"location": "query", +"type": "string" +}, +"uploadType": { +"description": "Legacy upload protocol for media (e.g. \"media\", \"multipart\").", +"location": "query", +"type": "string" +}, +"upload_protocol": { +"description": "Upload protocol for media (e.g. \"raw\", \"multipart\").", +"location": "query", +"type": "string" +} +}, +"protocol": "rest", +"resources": { +"operations": { +"methods": { +"get": { +"description": "Gets the latest state of a long-running operation. Clients can use this method to poll the operation result at intervals as recommended by the API service.", +"flatPath": "v1p7beta1/{v1p7beta1Id}/{v1p7beta1Id1}/operations/{operationsId}/{operationsId1}", +"httpMethod": "GET", +"id": "cloudasset.operations.get", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "The name of the operation resource.", +"location": "path", +"pattern": "^[^/]+/[^/]+/operations/[^/]+/.*$", +"required": true, +"type": "string" +} +}, +"path": "v1p7beta1/{+name}", +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +} +} +}, +"v1p7beta1": { +"methods": { +"exportAssets": { +"description": "Exports assets with time and resource types to a given Cloud Storage location/BigQuery table. For Cloud Storage location destinations, the output format is newline-delimited JSON. Each line represents a google.cloud.asset.v1p7beta1.Asset in the JSON format; for BigQuery table destinations, the output table stores the fields in asset proto as columns. This API implements the google.longrunning.Operation API , which allows you to keep track of the export. We recommend intervals of at least 2 seconds with exponential retry to poll the export operation result. For regular-size resource parent, the export operation usually finishes within 5 minutes.", +"flatPath": "v1p7beta1/{v1p7beta1Id}/{v1p7beta1Id1}:exportAssets", +"httpMethod": "POST", +"id": "cloudasset.exportAssets", +"parameterOrder": [ +"parent" +], +"parameters": { +"parent": { +"description": "Required. The relative name of the root asset. This can only be an organization number (such as \"organizations/123\"), a project ID (such as \"projects/my-project-id\"), or a project number (such as \"projects/12345\"), or a folder number (such as \"folders/123\").", +"location": "path", +"pattern": "^[^/]+/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1p7beta1/{+parent}:exportAssets", +"request": { +"$ref": "GoogleCloudAssetV1p7beta1ExportAssetsRequest" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +} +} +} +}, +"revision": "20250104", +"rootUrl": "https://cloudasset.googleapis.com/", +"schemas": { +"AnalyzeIamPolicyLongrunningMetadata": { +"description": "Represents the metadata of the longrunning operation for the AnalyzeIamPolicyLongrunning RPC.", +"id": "AnalyzeIamPolicyLongrunningMetadata", +"properties": { +"createTime": { +"description": "Output only. The time the operation was created.", +"format": "google-datetime", +"readOnly": true, +"type": "string" +} +}, +"type": "object" +}, +"AnalyzeIamPolicyLongrunningResponse": { +"description": "A response message for AssetService.AnalyzeIamPolicyLongrunning.", +"id": "AnalyzeIamPolicyLongrunningResponse", +"properties": {}, +"type": "object" +}, +"AuditConfig": { +"description": "Specifies the audit configuration for a service. The configuration determines which permission types are logged, and what identities, if any, are exempted from logging. An AuditConfig must have one or more AuditLogConfigs. If there are AuditConfigs for both `allServices` and a specific service, the union of the two AuditConfigs is used for that service: the log_types specified in each AuditConfig are enabled, and the exempted_members in each AuditLogConfig are exempted. Example Policy with multiple AuditConfigs: { \"audit_configs\": [ { \"service\": \"allServices\", \"audit_log_configs\": [ { \"log_type\": \"DATA_READ\", \"exempted_members\": [ \"user:jose@example.com\" ] }, { \"log_type\": \"DATA_WRITE\" }, { \"log_type\": \"ADMIN_READ\" } ] }, { \"service\": \"sampleservice.googleapis.com\", \"audit_log_configs\": [ { \"log_type\": \"DATA_READ\" }, { \"log_type\": \"DATA_WRITE\", \"exempted_members\": [ \"user:aliya@example.com\" ] } ] } ] } For sampleservice, this policy enables DATA_READ, DATA_WRITE and ADMIN_READ logging. It also exempts `jose@example.com` from DATA_READ logging, and `aliya@example.com` from DATA_WRITE logging.", +"id": "AuditConfig", +"properties": { +"auditLogConfigs": { +"description": "The configuration for logging of each type of permission.", +"items": { +"$ref": "AuditLogConfig" +}, +"type": "array" +}, +"service": { +"description": "Specifies a service that will be enabled for audit logging. For example, `storage.googleapis.com`, `cloudsql.googleapis.com`. `allServices` is a special value that covers all services.", +"type": "string" +} +}, +"type": "object" +}, +"AuditLogConfig": { +"description": "Provides the configuration for logging a type of permissions. Example: { \"audit_log_configs\": [ { \"log_type\": \"DATA_READ\", \"exempted_members\": [ \"user:jose@example.com\" ] }, { \"log_type\": \"DATA_WRITE\" } ] } This enables 'DATA_READ' and 'DATA_WRITE' logging, while exempting jose@example.com from DATA_READ logging.", +"id": "AuditLogConfig", +"properties": { +"exemptedMembers": { +"description": "Specifies the identities that do not cause logging for this type of permission. Follows the same format of Binding.members.", +"items": { +"type": "string" +}, +"type": "array" +}, +"logType": { +"description": "The log type that this config enables.", +"enum": [ +"LOG_TYPE_UNSPECIFIED", +"ADMIN_READ", +"DATA_WRITE", +"DATA_READ" +], +"enumDescriptions": [ +"Default case. Should never be this.", +"Admin reads. Example: CloudIAM getIamPolicy", +"Data writes. Example: CloudSQL Users create", +"Data reads. Example: CloudSQL Users list" +], +"type": "string" +} +}, +"type": "object" +}, +"Binding": { +"description": "Associates `members`, or principals, with a `role`.", +"id": "Binding", +"properties": { +"condition": { +"$ref": "Expr", +"description": "The condition that is associated with this binding. If the condition evaluates to `true`, then this binding applies to the current request. If the condition evaluates to `false`, then this binding does not apply to the current request. However, a different role binding might grant the same role to one or more of the principals in this binding. To learn which resources support conditions in their IAM policies, see the [IAM documentation](https://cloud.google.com/iam/help/conditions/resource-policies)." +}, +"members": { +"description": "Specifies the principals requesting access for a Google Cloud resource. `members` can have the following values: * `allUsers`: A special identifier that represents anyone who is on the internet; with or without a Google account. * `allAuthenticatedUsers`: A special identifier that represents anyone who is authenticated with a Google account or a service account. Does not include identities that come from external identity providers (IdPs) through identity federation. * `user:{emailid}`: An email address that represents a specific Google account. For example, `alice@example.com` . * `serviceAccount:{emailid}`: An email address that represents a Google service account. For example, `my-other-app@appspot.gserviceaccount.com`. * `serviceAccount:{projectid}.svc.id.goog[{namespace}/{kubernetes-sa}]`: An identifier for a [Kubernetes service account](https://cloud.google.com/kubernetes-engine/docs/how-to/kubernetes-service-accounts). For example, `my-project.svc.id.goog[my-namespace/my-kubernetes-sa]`. * `group:{emailid}`: An email address that represents a Google group. For example, `admins@example.com`. * `domain:{domain}`: The G Suite domain (primary) that represents all the users of that domain. For example, `google.com` or `example.com`. * `principal://iam.googleapis.com/locations/global/workforcePools/{pool_id}/subject/{subject_attribute_value}`: A single identity in a workforce identity pool. * `principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/group/{group_id}`: All workforce identities in a group. * `principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/attribute.{attribute_name}/{attribute_value}`: All workforce identities with a specific attribute value. * `principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/*`: All identities in a workforce identity pool. * `principal://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/subject/{subject_attribute_value}`: A single identity in a workload identity pool. * `principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/group/{group_id}`: A workload identity pool group. * `principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/attribute.{attribute_name}/{attribute_value}`: All identities in a workload identity pool with a certain attribute. * `principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/*`: All identities in a workload identity pool. * `deleted:user:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a user that has been recently deleted. For example, `alice@example.com?uid=123456789012345678901`. If the user is recovered, this value reverts to `user:{emailid}` and the recovered user retains the role in the binding. * `deleted:serviceAccount:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a service account that has been recently deleted. For example, `my-other-app@appspot.gserviceaccount.com?uid=123456789012345678901`. If the service account is undeleted, this value reverts to `serviceAccount:{emailid}` and the undeleted service account retains the role in the binding. * `deleted:group:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a Google group that has been recently deleted. For example, `admins@example.com?uid=123456789012345678901`. If the group is recovered, this value reverts to `group:{emailid}` and the recovered group retains the role in the binding. * `deleted:principal://iam.googleapis.com/locations/global/workforcePools/{pool_id}/subject/{subject_attribute_value}`: Deleted single identity in a workforce identity pool. For example, `deleted:principal://iam.googleapis.com/locations/global/workforcePools/my-pool-id/subject/my-subject-attribute-value`.", +"items": { +"type": "string" +}, +"type": "array" +}, +"role": { +"description": "Role that is assigned to the list of `members`, or principals. For example, `roles/viewer`, `roles/editor`, or `roles/owner`. For an overview of the IAM roles and permissions, see the [IAM documentation](https://cloud.google.com/iam/docs/roles-overview). For a list of the available pre-defined roles, see [here](https://cloud.google.com/iam/docs/understanding-roles).", +"type": "string" +} +}, +"type": "object" +}, +"Expr": { +"description": "Represents a textual expression in the Common Expression Language (CEL) syntax. CEL is a C-like expression language. The syntax and semantics of CEL are documented at https://github.com/google/cel-spec. Example (Comparison): title: \"Summary size limit\" description: \"Determines if a summary is less than 100 chars\" expression: \"document.summary.size() < 100\" Example (Equality): title: \"Requestor is owner\" description: \"Determines if requestor is the document owner\" expression: \"document.owner == request.auth.claims.email\" Example (Logic): title: \"Public documents\" description: \"Determine whether the document should be publicly visible\" expression: \"document.type != 'private' && document.type != 'internal'\" Example (Data Manipulation): title: \"Notification string\" description: \"Create a notification string with a timestamp.\" expression: \"'New message received at ' + string(document.create_time)\" The exact variables and functions that may be referenced within an expression are determined by the service that evaluates it. See the service documentation for additional information.", +"id": "Expr", +"properties": { +"description": { +"description": "Optional. Description of the expression. This is a longer text which describes the expression, e.g. when hovered over it in a UI.", +"type": "string" +}, +"expression": { +"description": "Textual representation of an expression in Common Expression Language syntax.", +"type": "string" +}, +"location": { +"description": "Optional. String indicating the location of the expression for error reporting, e.g. a file name and a position in the file.", +"type": "string" +}, +"title": { +"description": "Optional. Title for the expression, i.e. a short string describing its purpose. This can be used e.g. in UIs which allow to enter the expression.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudAssetV1p7beta1Asset": { +"description": "An asset in Google Cloud. An asset can be any resource in the Google Cloud [resource hierarchy](https://cloud.google.com/resource-manager/docs/cloud-platform-resource-hierarchy), a resource outside the Google Cloud resource hierarchy (such as Google Kubernetes Engine clusters and objects), or a policy (e.g. IAM policy). See [Supported asset types](https://cloud.google.com/asset-inventory/docs/supported-asset-types) for more information.", +"id": "GoogleCloudAssetV1p7beta1Asset", +"properties": { +"accessLevel": { +"$ref": "GoogleIdentityAccesscontextmanagerV1AccessLevel", +"description": "Please also refer to the [access level user guide](https://cloud.google.com/access-context-manager/docs/overview#access-levels)." +}, +"accessPolicy": { +"$ref": "GoogleIdentityAccesscontextmanagerV1AccessPolicy", +"description": "Please also refer to the [access policy user guide](https://cloud.google.com/access-context-manager/docs/overview#access-policies)." +}, +"ancestors": { +"description": "The ancestry path of an asset in Google Cloud [resource hierarchy](https://cloud.google.com/resource-manager/docs/cloud-platform-resource-hierarchy), represented as a list of relative resource names. An ancestry path starts with the closest ancestor in the hierarchy and ends at root. If the asset is a project, folder, or organization, the ancestry path starts from the asset itself. Example: `[\"projects/123456789\", \"folders/5432\", \"organizations/1234\"]`", +"items": { +"type": "string" +}, +"type": "array" +}, +"assetType": { +"description": "The type of the asset. Example: `compute.googleapis.com/Disk` See [Supported asset types](https://cloud.google.com/asset-inventory/docs/supported-asset-types) for more information.", +"type": "string" +}, +"iamPolicy": { +"$ref": "Policy", +"description": "A representation of the IAM policy set on a Google Cloud resource. There can be a maximum of one IAM policy set on any given resource. In addition, IAM policies inherit their granted access scope from any policies set on parent resources in the resource hierarchy. Therefore, the effectively policy is the union of both the policy set on this resource and each policy set on all of the resource's ancestry resource levels in the hierarchy. See [this topic](https://cloud.google.com/iam/help/allow-policies/inheritance) for more information." +}, +"name": { +"description": "The full name of the asset. Example: `//compute.googleapis.com/projects/my_project_123/zones/zone1/instances/instance1` See [Resource names](https://cloud.google.com/apis/design/resource_names#full_resource_name) for more information.", +"type": "string" +}, +"orgPolicy": { +"description": "A representation of an [organization policy](https://cloud.google.com/resource-manager/docs/organization-policy/overview#organization_policy). There can be more than one organization policy with different constraints set on a given resource.", +"items": { +"$ref": "GoogleCloudOrgpolicyV1Policy" +}, +"type": "array" +}, +"relatedAssets": { +"$ref": "GoogleCloudAssetV1p7beta1RelatedAssets", +"description": "The related assets of the asset of one relationship type. One asset only represents one type of relationship." +}, +"resource": { +"$ref": "GoogleCloudAssetV1p7beta1Resource", +"description": "A representation of the resource." +}, +"servicePerimeter": { +"$ref": "GoogleIdentityAccesscontextmanagerV1ServicePerimeter", +"description": "Please also refer to the [service perimeter user guide](https://cloud.google.com/vpc-service-controls/docs/overview)." +}, +"updateTime": { +"description": "The last update timestamp of an asset. update_time is updated when create/update/delete operation is performed.", +"format": "google-datetime", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudAssetV1p7beta1BigQueryDestination": { +"description": "A BigQuery destination for exporting assets to.", +"id": "GoogleCloudAssetV1p7beta1BigQueryDestination", +"properties": { +"dataset": { +"description": "Required. The BigQuery dataset in format \"projects/projectId/datasets/datasetId\", to which the snapshot result should be exported. If this dataset does not exist, the export call returns an INVALID_ARGUMENT error.", +"type": "string" +}, +"force": { +"description": "If the destination table already exists and this flag is `TRUE`, the table will be overwritten by the contents of assets snapshot. If the flag is `FALSE` or unset and the destination table already exists, the export call returns an INVALID_ARGUMEMT error.", +"type": "boolean" +}, +"partitionSpec": { +"$ref": "GoogleCloudAssetV1p7beta1PartitionSpec", +"description": "[partition_spec] determines whether to export to partitioned table(s) and how to partition the data. If [partition_spec] is unset or [partition_spec.partition_key] is unset or `PARTITION_KEY_UNSPECIFIED`, the snapshot results will be exported to non-partitioned table(s). [force] will decide whether to overwrite existing table(s). If [partition_spec] is specified. First, the snapshot results will be written to partitioned table(s) with two additional timestamp columns, readTime and requestTime, one of which will be the partition key. Secondly, in the case when any destination table already exists, it will first try to update existing table's schema as necessary by appending additional columns. Then, if [force] is `TRUE`, the corresponding partition will be overwritten by the snapshot results (data in different partitions will remain intact); if [force] is unset or `FALSE`, it will append the data. An error will be returned if the schema update or data appension fails." +}, +"separateTablesPerAssetType": { +"description": "If this flag is `TRUE`, the snapshot results will be written to one or multiple tables, each of which contains results of one asset type. The [force] and [partition_spec] fields will apply to each of them. Field [table] will be concatenated with \"_\" and the asset type names (see https://cloud.google.com/asset-inventory/docs/supported-asset-types for supported asset types) to construct per-asset-type table names, in which all non-alphanumeric characters like \".\" and \"/\" will be substituted by \"_\". Example: if field [table] is \"mytable\" and snapshot results contain \"storage.googleapis.com/Bucket\" assets, the corresponding table name will be \"mytable_storage_googleapis_com_Bucket\". If any of these tables does not exist, a new table with the concatenated name will be created. When [content_type] in the ExportAssetsRequest is `RESOURCE`, the schema of each table will include RECORD-type columns mapped to the nested fields in the Asset.resource.data field of that asset type (up to the 15 nested level BigQuery supports (https://cloud.google.com/bigquery/docs/nested-repeated#limitations)). The fields in >15 nested levels will be stored in JSON format string as a child column of its parent RECORD column. If error occurs when exporting to any table, the whole export call will return an error but the export results that already succeed will persist. Example: if exporting to table_type_A succeeds when exporting to table_type_B fails during one export call, the results in table_type_A will persist and there will not be partial results persisting in a table.", +"type": "boolean" +}, +"table": { +"description": "Required. The BigQuery table to which the snapshot result should be written. If this table does not exist, a new table with the given name will be created.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudAssetV1p7beta1ExportAssetsRequest": { +"description": "Export asset request.", +"id": "GoogleCloudAssetV1p7beta1ExportAssetsRequest", +"properties": { +"assetTypes": { +"description": "A list of asset types to take a snapshot for. For example: \"compute.googleapis.com/Disk\". Regular expressions are also supported. For example: * \"compute.googleapis.com.*\" snapshots resources whose asset type starts with \"compute.googleapis.com\". * \".*Instance\" snapshots resources whose asset type ends with \"Instance\". * \".*Instance.*\" snapshots resources whose asset type contains \"Instance\". See [RE2](https://github.com/google/re2/wiki/Syntax) for all supported regular expression syntax. If the regular expression does not match any supported asset type, an INVALID_ARGUMENT error will be returned. If specified, only matching assets will be returned, otherwise, it will snapshot all asset types. See [Introduction to Cloud Asset Inventory](https://cloud.google.com/asset-inventory/docs/overview) for all supported asset types.", +"items": { +"type": "string" +}, +"type": "array" +}, +"contentType": { +"description": "Asset content type. If not specified, no content but the asset name will be returned.", +"enum": [ +"CONTENT_TYPE_UNSPECIFIED", +"RESOURCE", +"IAM_POLICY", +"ORG_POLICY", +"ACCESS_POLICY", +"RELATIONSHIP" +], +"enumDescriptions": [ +"Unspecified content type.", +"Resource metadata.", +"The actual IAM policy set on a resource.", +"The organization policy set on an asset.", +"The Access Context Manager policy set on an asset.", +"The related resources." +], +"type": "string" +}, +"outputConfig": { +"$ref": "GoogleCloudAssetV1p7beta1OutputConfig", +"description": "Required. Output configuration indicating where the results will be output to." +}, +"readTime": { +"description": "Timestamp to take an asset snapshot. This can only be set to a timestamp between the current time and the current time minus 35 days (inclusive). If not specified, the current time will be used. Due to delays in resource data collection and indexing, there is a volatile window during which running the same query may get different results.", +"format": "google-datetime", +"type": "string" +}, +"relationshipTypes": { +"description": "A list of relationship types to export, for example: `INSTANCE_TO_INSTANCEGROUP`. This field should only be specified if content_type=RELATIONSHIP. If specified, it will snapshot [asset_types]' specified relationships, or give errors if any relationship_types' supported types are not in [asset_types]. If not specified, it will snapshot all [asset_types]' supported relationships. An unspecified [asset_types] field means all supported asset_types. See [Introduction to Cloud Asset Inventory](https://cloud.google.com/asset-inventory/docs/overview) for all supported asset types and relationship types.", +"items": { +"type": "string" +}, +"type": "array" +} +}, +"type": "object" +}, +"GoogleCloudAssetV1p7beta1GcsDestination": { +"description": "A Cloud Storage location.", +"id": "GoogleCloudAssetV1p7beta1GcsDestination", +"properties": { +"uri": { +"description": "The URI of the Cloud Storage object. It's the same URI that is used by gsutil. Example: \"gs://bucket_name/object_name\". See [Viewing and Editing Object Metadata](https://cloud.google.com/storage/docs/viewing-editing-metadata) for more information.", +"type": "string" +}, +"uriPrefix": { +"description": "The URI prefix of all generated Cloud Storage objects. Example: \"gs://bucket_name/object_name_prefix\". Each object URI is in format: \"gs://bucket_name/object_name_prefix/{ASSET_TYPE}/{SHARD_NUMBER} and only contains assets for that type. starts from 0. Example: \"gs://bucket_name/object_name_prefix/compute.googleapis.com/Disk/0\" is the first shard of output objects containing all compute.googleapis.com/Disk assets. An INVALID_ARGUMENT error will be returned if file with the same name \"gs://bucket_name/object_name_prefix\" already exists.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudAssetV1p7beta1OutputConfig": { +"description": "Output configuration for export assets destination.", +"id": "GoogleCloudAssetV1p7beta1OutputConfig", +"properties": { +"bigqueryDestination": { +"$ref": "GoogleCloudAssetV1p7beta1BigQueryDestination", +"description": "Destination on BigQuery. The output table stores the fields in asset proto as columns in BigQuery." +}, +"gcsDestination": { +"$ref": "GoogleCloudAssetV1p7beta1GcsDestination", +"description": "Destination on Cloud Storage." +} +}, +"type": "object" +}, +"GoogleCloudAssetV1p7beta1PartitionSpec": { +"description": "Specifications of BigQuery partitioned table as export destination.", +"id": "GoogleCloudAssetV1p7beta1PartitionSpec", +"properties": { +"partitionKey": { +"description": "The partition key for BigQuery partitioned table.", +"enum": [ +"PARTITION_KEY_UNSPECIFIED", +"READ_TIME", +"REQUEST_TIME" +], +"enumDescriptions": [ +"Unspecified partition key. If used, it means using non-partitioned table.", +"The time when the snapshot is taken. If specified as partition key, the result table(s) is partitoned by the additional timestamp column, readTime. If [read_time] in ExportAssetsRequest is specified, the readTime column's value will be the same as it. Otherwise, its value will be the current time that is used to take the snapshot.", +"The time when the request is received and started to be processed. If specified as partition key, the result table(s) is partitoned by the requestTime column, an additional timestamp column representing when the request was received." +], +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudAssetV1p7beta1RelatedAsset": { +"description": "An asset identify in Google Cloud which contains its name, type and ancestors. An asset can be any resource in the Google Cloud [resource hierarchy](https://cloud.google.com/resource-manager/docs/cloud-platform-resource-hierarchy), a resource outside the Google Cloud resource hierarchy (such as Google Kubernetes Engine clusters and objects), or a policy (e.g. IAM policy). See [Supported asset types](https://cloud.google.com/asset-inventory/docs/supported-asset-types) for more information.", +"id": "GoogleCloudAssetV1p7beta1RelatedAsset", +"properties": { +"ancestors": { +"description": "The ancestors of an asset in Google Cloud [resource hierarchy](https://cloud.google.com/resource-manager/docs/cloud-platform-resource-hierarchy), represented as a list of relative resource names. An ancestry path starts with the closest ancestor in the hierarchy and ends at root. Example: `[\"projects/123456789\", \"folders/5432\", \"organizations/1234\"]`", +"items": { +"type": "string" +}, +"type": "array" +}, +"asset": { +"description": "The full name of the asset. Example: `//compute.googleapis.com/projects/my_project_123/zones/zone1/instances/instance1` See [Resource names](https://cloud.google.com/apis/design/resource_names#full_resource_name) for more information.", +"type": "string" +}, +"assetType": { +"description": "The type of the asset. Example: `compute.googleapis.com/Disk` See [Supported asset types](https://cloud.google.com/asset-inventory/docs/supported-asset-types) for more information.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudAssetV1p7beta1RelatedAssets": { +"description": "The detailed related assets with the `relationship_type`.", +"id": "GoogleCloudAssetV1p7beta1RelatedAssets", +"properties": { +"assets": { +"description": "The peer resources of the relationship.", +"items": { +"$ref": "GoogleCloudAssetV1p7beta1RelatedAsset" +}, +"type": "array" +}, +"relationshipAttributes": { +"$ref": "GoogleCloudAssetV1p7beta1RelationshipAttributes", +"description": "The detailed relation attributes." +} +}, +"type": "object" +}, +"GoogleCloudAssetV1p7beta1RelationshipAttributes": { +"description": "The relationship attributes which include `type`, `source_resource_type`, `target_resource_type` and `action`.", +"id": "GoogleCloudAssetV1p7beta1RelationshipAttributes", +"properties": { +"action": { +"description": "The detail of the relationship, e.g. `contains`, `attaches`", +"type": "string" +}, +"sourceResourceType": { +"description": "The source asset type. Example: `compute.googleapis.com/Instance`", +"type": "string" +}, +"targetResourceType": { +"description": "The target asset type. Example: `compute.googleapis.com/Disk`", +"type": "string" +}, +"type": { +"description": "The unique identifier of the relationship type. Example: `INSTANCE_TO_INSTANCEGROUP`", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudAssetV1p7beta1Resource": { +"description": "A representation of a Google Cloud resource.", +"id": "GoogleCloudAssetV1p7beta1Resource", +"properties": { +"data": { +"additionalProperties": { +"description": "Properties of the object.", +"type": "any" +}, +"description": "The content of the resource, in which some sensitive fields are removed and may not be present.", +"type": "object" +}, +"discoveryDocumentUri": { +"description": "The URL of the discovery document containing the resource's JSON schema. Example: `https://www.googleapis.com/discovery/v1/apis/compute/v1/rest` This value is unspecified for resources that do not have an API based on a discovery document, such as Cloud Bigtable.", +"type": "string" +}, +"discoveryName": { +"description": "The JSON schema name listed in the discovery document. Example: `Project` This value is unspecified for resources that do not have an API based on a discovery document, such as Cloud Bigtable.", +"type": "string" +}, +"location": { +"description": "The location of the resource in Google Cloud, such as its zone and region. For more information, see https://cloud.google.com/about/locations/.", +"type": "string" +}, +"parent": { +"description": "The full name of the immediate parent of this resource. See [Resource Names](https://cloud.google.com/apis/design/resource_names#full_resource_name) for more information. For Google Cloud assets, this value is the parent resource defined in the [IAM policy hierarchy](https://cloud.google.com/iam/docs/overview#policy_hierarchy). Example: `//cloudresourcemanager.googleapis.com/projects/my_project_123` For third-party assets, this field may be set differently.", +"type": "string" +}, +"resourceUrl": { +"description": "The REST URL for accessing the resource. An HTTP `GET` request using this URL returns the resource itself. Example: `https://cloudresourcemanager.googleapis.com/v1/projects/my-project-123` This value is unspecified for resources without a REST API.", +"type": "string" +}, +"version": { +"description": "The API version. Example: `v1`", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudOrgpolicyV1BooleanPolicy": { +"description": "Used in `policy_type` to specify how `boolean_policy` will behave at this resource.", +"id": "GoogleCloudOrgpolicyV1BooleanPolicy", +"properties": { +"enforced": { +"description": "If `true`, then the `Policy` is enforced. If `false`, then any configuration is acceptable. Suppose you have a `Constraint` `constraints/compute.disableSerialPortAccess` with `constraint_default` set to `ALLOW`. A `Policy` for that `Constraint` exhibits the following behavior: - If the `Policy` at this resource has enforced set to `false`, serial port connection attempts will be allowed. - If the `Policy` at this resource has enforced set to `true`, serial port connection attempts will be refused. - If the `Policy` at this resource is `RestoreDefault`, serial port connection attempts will be allowed. - If no `Policy` is set at this resource or anywhere higher in the resource hierarchy, serial port connection attempts will be allowed. - If no `Policy` is set at this resource, but one exists higher in the resource hierarchy, the behavior is as if the`Policy` were set at this resource. The following examples demonstrate the different possible layerings: Example 1 (nearest `Constraint` wins): `organizations/foo` has a `Policy` with: {enforced: false} `projects/bar` has no `Policy` set. The constraint at `projects/bar` and `organizations/foo` will not be enforced. Example 2 (enforcement gets replaced): `organizations/foo` has a `Policy` with: {enforced: false} `projects/bar` has a `Policy` with: {enforced: true} The constraint at `organizations/foo` is not enforced. The constraint at `projects/bar` is enforced. Example 3 (RestoreDefault): `organizations/foo` has a `Policy` with: {enforced: true} `projects/bar` has a `Policy` with: {RestoreDefault: {}} The constraint at `organizations/foo` is enforced. The constraint at `projects/bar` is not enforced, because `constraint_default` for the `Constraint` is `ALLOW`.", +"type": "boolean" +} +}, +"type": "object" +}, +"GoogleCloudOrgpolicyV1ListPolicy": { +"description": "Used in `policy_type` to specify how `list_policy` behaves at this resource. `ListPolicy` can define specific values and subtrees of Cloud Resource Manager resource hierarchy (`Organizations`, `Folders`, `Projects`) that are allowed or denied by setting the `allowed_values` and `denied_values` fields. This is achieved by using the `under:` and optional `is:` prefixes. The `under:` prefix is used to denote resource subtree values. The `is:` prefix is used to denote specific values, and is required only if the value contains a \":\". Values prefixed with \"is:\" are treated the same as values with no prefix. Ancestry subtrees must be in one of the following formats: - \"projects/\", e.g. \"projects/tokyo-rain-123\" - \"folders/\", e.g. \"folders/1234\" - \"organizations/\", e.g. \"organizations/1234\" The `supports_under` field of the associated `Constraint` defines whether ancestry prefixes can be used. You can set `allowed_values` and `denied_values` in the same `Policy` if `all_values` is `ALL_VALUES_UNSPECIFIED`. `ALLOW` or `DENY` are used to allow or deny all values. If `all_values` is set to either `ALLOW` or `DENY`, `allowed_values` and `denied_values` must be unset.", +"id": "GoogleCloudOrgpolicyV1ListPolicy", +"properties": { +"allValues": { +"description": "The policy all_values state.", +"enum": [ +"ALL_VALUES_UNSPECIFIED", +"ALLOW", +"DENY" +], +"enumDescriptions": [ +"Indicates that allowed_values or denied_values must be set.", +"A policy with this set allows all values.", +"A policy with this set denies all values." +], +"type": "string" +}, +"allowedValues": { +"description": "List of values allowed at this resource. Can only be set if `all_values` is set to `ALL_VALUES_UNSPECIFIED`.", +"items": { +"type": "string" +}, +"type": "array" +}, +"deniedValues": { +"description": "List of values denied at this resource. Can only be set if `all_values` is set to `ALL_VALUES_UNSPECIFIED`.", +"items": { +"type": "string" +}, +"type": "array" +}, +"inheritFromParent": { +"description": "Determines the inheritance behavior for this `Policy`. By default, a `ListPolicy` set at a resource supersedes any `Policy` set anywhere up the resource hierarchy. However, if `inherit_from_parent` is set to `true`, then the values from the effective `Policy` of the parent resource are inherited, meaning the values set in this `Policy` are added to the values inherited up the hierarchy. Setting `Policy` hierarchies that inherit both allowed values and denied values isn't recommended in most circumstances to keep the configuration simple and understandable. However, it is possible to set a `Policy` with `allowed_values` set that inherits a `Policy` with `denied_values` set. In this case, the values that are allowed must be in `allowed_values` and not present in `denied_values`. For example, suppose you have a `Constraint` `constraints/serviceuser.services`, which has a `constraint_type` of `list_constraint`, and with `constraint_default` set to `ALLOW`. Suppose that at the Organization level, a `Policy` is applied that restricts the allowed API activations to {`E1`, `E2`}. Then, if a `Policy` is applied to a project below the Organization that has `inherit_from_parent` set to `false` and field all_values set to DENY, then an attempt to activate any API will be denied. The following examples demonstrate different possible layerings for `projects/bar` parented by `organizations/foo`: Example 1 (no inherited values): `organizations/foo` has a `Policy` with values: {allowed_values: \"E1\" allowed_values:\"E2\"} `projects/bar` has `inherit_from_parent` `false` and values: {allowed_values: \"E3\" allowed_values: \"E4\"} The accepted values at `organizations/foo` are `E1`, `E2`. The accepted values at `projects/bar` are `E3`, and `E4`. Example 2 (inherited values): `organizations/foo` has a `Policy` with values: {allowed_values: \"E1\" allowed_values:\"E2\"} `projects/bar` has a `Policy` with values: {value: \"E3\" value: \"E4\" inherit_from_parent: true} The accepted values at `organizations/foo` are `E1`, `E2`. The accepted values at `projects/bar` are `E1`, `E2`, `E3`, and `E4`. Example 3 (inheriting both allowed and denied values): `organizations/foo` has a `Policy` with values: {allowed_values: \"E1\" allowed_values: \"E2\"} `projects/bar` has a `Policy` with: {denied_values: \"E1\"} The accepted values at `organizations/foo` are `E1`, `E2`. The value accepted at `projects/bar` is `E2`. Example 4 (RestoreDefault): `organizations/foo` has a `Policy` with values: {allowed_values: \"E1\" allowed_values:\"E2\"} `projects/bar` has a `Policy` with values: {RestoreDefault: {}} The accepted values at `organizations/foo` are `E1`, `E2`. The accepted values at `projects/bar` are either all or none depending on the value of `constraint_default` (if `ALLOW`, all; if `DENY`, none). Example 5 (no policy inherits parent policy): `organizations/foo` has no `Policy` set. `projects/bar` has no `Policy` set. The accepted values at both levels are either all or none depending on the value of `constraint_default` (if `ALLOW`, all; if `DENY`, none). Example 6 (ListConstraint allowing all): `organizations/foo` has a `Policy` with values: {allowed_values: \"E1\" allowed_values: \"E2\"} `projects/bar` has a `Policy` with: {all: ALLOW} The accepted values at `organizations/foo` are `E1`, E2`. Any value is accepted at `projects/bar`. Example 7 (ListConstraint allowing none): `organizations/foo` has a `Policy` with values: {allowed_values: \"E1\" allowed_values: \"E2\"} `projects/bar` has a `Policy` with: {all: DENY} The accepted values at `organizations/foo` are `E1`, E2`. No value is accepted at `projects/bar`. Example 10 (allowed and denied subtrees of Resource Manager hierarchy): Given the following resource hierarchy O1->{F1, F2}; F1->{P1}; F2->{P2, P3}, `organizations/foo` has a `Policy` with values: {allowed_values: \"under:organizations/O1\"} `projects/bar` has a `Policy` with: {allowed_values: \"under:projects/P3\"} {denied_values: \"under:folders/F2\"} The accepted values at `organizations/foo` are `organizations/O1`, `folders/F1`, `folders/F2`, `projects/P1`, `projects/P2`, `projects/P3`. The accepted values at `projects/bar` are `organizations/O1`, `folders/F1`, `projects/P1`.", +"type": "boolean" +}, +"suggestedValue": { +"description": "Optional. The Google Cloud Console will try to default to a configuration that matches the value specified in this `Policy`. If `suggested_value` is not set, it will inherit the value specified higher in the hierarchy, unless `inherit_from_parent` is `false`.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudOrgpolicyV1Policy": { +"description": "Defines a Cloud Organization `Policy` which is used to specify `Constraints` for configurations of Cloud Platform resources.", +"id": "GoogleCloudOrgpolicyV1Policy", +"properties": { +"booleanPolicy": { +"$ref": "GoogleCloudOrgpolicyV1BooleanPolicy", +"description": "For boolean `Constraints`, whether to enforce the `Constraint` or not." +}, +"constraint": { +"description": "The name of the `Constraint` the `Policy` is configuring, for example, `constraints/serviceuser.services`. A [list of available constraints](/resource-manager/docs/organization-policy/org-policy-constraints) is available. Immutable after creation.", +"type": "string" +}, +"etag": { +"description": "An opaque tag indicating the current version of the `Policy`, used for concurrency control. When the `Policy` is returned from either a `GetPolicy` or a `ListOrgPolicy` request, this `etag` indicates the version of the current `Policy` to use when executing a read-modify-write loop. When the `Policy` is returned from a `GetEffectivePolicy` request, the `etag` will be unset. When the `Policy` is used in a `SetOrgPolicy` method, use the `etag` value that was returned from a `GetOrgPolicy` request as part of a read-modify-write loop for concurrency control. Not setting the `etag`in a `SetOrgPolicy` request will result in an unconditional write of the `Policy`.", +"format": "byte", +"type": "string" +}, +"listPolicy": { +"$ref": "GoogleCloudOrgpolicyV1ListPolicy", +"description": "List of values either allowed or disallowed." +}, +"restoreDefault": { +"$ref": "GoogleCloudOrgpolicyV1RestoreDefault", +"description": "Restores the default behavior of the constraint; independent of `Constraint` type." +}, +"updateTime": { +"description": "The time stamp the `Policy` was previously updated. This is set by the server, not specified by the caller, and represents the last time a call to `SetOrgPolicy` was made for that `Policy`. Any value set by the client will be ignored.", +"format": "google-datetime", +"type": "string" +}, +"version": { +"description": "Version of the `Policy`. Default version is 0;", +"format": "int32", +"type": "integer" +} +}, +"type": "object" +}, +"GoogleCloudOrgpolicyV1RestoreDefault": { +"description": "Ignores policies set above this resource and restores the `constraint_default` enforcement behavior of the specific `Constraint` at this resource. Suppose that `constraint_default` is set to `ALLOW` for the `Constraint` `constraints/serviceuser.services`. Suppose that organization foo.com sets a `Policy` at their Organization resource node that restricts the allowed service activations to deny all service activations. They could then set a `Policy` with the `policy_type` `restore_default` on several experimental projects, restoring the `constraint_default` enforcement of the `Constraint` for only those projects, allowing those projects to have all services activated.", +"id": "GoogleCloudOrgpolicyV1RestoreDefault", +"properties": {}, +"type": "object" +}, +"GoogleIdentityAccesscontextmanagerV1AccessLevel": { +"description": "An `AccessLevel` is a label that can be applied to requests to Google Cloud services, along with a list of requirements necessary for the label to be applied.", +"id": "GoogleIdentityAccesscontextmanagerV1AccessLevel", +"properties": { +"basic": { +"$ref": "GoogleIdentityAccesscontextmanagerV1BasicLevel", +"description": "A `BasicLevel` composed of `Conditions`." +}, +"custom": { +"$ref": "GoogleIdentityAccesscontextmanagerV1CustomLevel", +"description": "A `CustomLevel` written in the Common Expression Language." +}, +"description": { +"description": "Description of the `AccessLevel` and its use. Does not affect behavior.", +"type": "string" +}, +"name": { +"description": "Identifier. Resource name for the `AccessLevel`. Format: `accessPolicies/{access_policy}/accessLevels/{access_level}`. The `access_level` component must begin with a letter, followed by alphanumeric characters or `_`. Its maximum length is 50 characters. After you create an `AccessLevel`, you cannot change its `name`.", +"type": "string" +}, +"title": { +"description": "Human readable title. Must be unique within the Policy.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleIdentityAccesscontextmanagerV1AccessPolicy": { +"description": "`AccessPolicy` is a container for `AccessLevels` (which define the necessary attributes to use Google Cloud services) and `ServicePerimeters` (which define regions of services able to freely pass data within a perimeter). An access policy is globally visible within an organization, and the restrictions it specifies apply to all projects within an organization.", +"id": "GoogleIdentityAccesscontextmanagerV1AccessPolicy", +"properties": { +"etag": { +"description": "Output only. An opaque identifier for the current version of the `AccessPolicy`. This will always be a strongly validated etag, meaning that two Access Policies will be identical if and only if their etags are identical. Clients should not expect this to be in any specific format.", +"readOnly": true, +"type": "string" +}, +"name": { +"description": "Output only. Identifier. Resource name of the `AccessPolicy`. Format: `accessPolicies/{access_policy}`", +"type": "string" +}, +"parent": { +"description": "Required. The parent of this `AccessPolicy` in the Cloud Resource Hierarchy. Currently immutable once created. Format: `organizations/{organization_id}`", +"type": "string" +}, +"scopes": { +"description": "The scopes of the AccessPolicy. Scopes define which resources a policy can restrict and where its resources can be referenced. For example, policy A with `scopes=[\"folders/123\"]` has the following behavior: - ServicePerimeter can only restrict projects within `folders/123`. - ServicePerimeter within policy A can only reference access levels defined within policy A. - Only one policy can include a given scope; thus, attempting to create a second policy which includes `folders/123` will result in an error. If no scopes are provided, then any resource within the organization can be restricted. Scopes cannot be modified after a policy is created. Policies can only have a single scope. Format: list of `folders/{folder_number}` or `projects/{project_number}`", +"items": { +"type": "string" +}, +"type": "array" +}, +"title": { +"description": "Required. Human readable title. Does not affect behavior.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleIdentityAccesscontextmanagerV1ApiOperation": { +"description": "Identification for an API Operation.", +"id": "GoogleIdentityAccesscontextmanagerV1ApiOperation", +"properties": { +"methodSelectors": { +"description": "API methods or permissions to allow. Method or permission must belong to the service specified by `service_name` field. A single MethodSelector entry with `*` specified for the `method` field will allow all methods AND permissions for the service specified in `service_name`.", +"items": { +"$ref": "GoogleIdentityAccesscontextmanagerV1MethodSelector" +}, +"type": "array" +}, +"serviceName": { +"description": "The name of the API whose methods or permissions the IngressPolicy or EgressPolicy want to allow. A single ApiOperation with `service_name` field set to `*` will allow all methods AND permissions for all services.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleIdentityAccesscontextmanagerV1BasicLevel": { +"description": "`BasicLevel` is an `AccessLevel` using a set of recommended features.", +"id": "GoogleIdentityAccesscontextmanagerV1BasicLevel", +"properties": { +"combiningFunction": { +"description": "How the `conditions` list should be combined to determine if a request is granted this `AccessLevel`. If AND is used, each `Condition` in `conditions` must be satisfied for the `AccessLevel` to be applied. If OR is used, at least one `Condition` in `conditions` must be satisfied for the `AccessLevel` to be applied. Default behavior is AND.", +"enum": [ +"AND", +"OR" +], +"enumDescriptions": [ +"All `Conditions` must be true for the `BasicLevel` to be true.", +"If at least one `Condition` is true, then the `BasicLevel` is true." +], +"type": "string" +}, +"conditions": { +"description": "Required. A list of requirements for the `AccessLevel` to be granted.", +"items": { +"$ref": "GoogleIdentityAccesscontextmanagerV1Condition" +}, +"type": "array" +} +}, +"type": "object" +}, +"GoogleIdentityAccesscontextmanagerV1Condition": { +"description": "A condition necessary for an `AccessLevel` to be granted. The Condition is an AND over its fields. So a Condition is true if: 1) the request IP is from one of the listed subnetworks AND 2) the originating device complies with the listed device policy AND 3) all listed access levels are granted AND 4) the request was sent at a time allowed by the DateTimeRestriction.", +"id": "GoogleIdentityAccesscontextmanagerV1Condition", +"properties": { +"devicePolicy": { +"$ref": "GoogleIdentityAccesscontextmanagerV1DevicePolicy", +"description": "Device specific restrictions, all restrictions must hold for the Condition to be true. If not specified, all devices are allowed." +}, +"ipSubnetworks": { +"description": "CIDR block IP subnetwork specification. May be IPv4 or IPv6. Note that for a CIDR IP address block, the specified IP address portion must be properly truncated (i.e. all the host bits must be zero) or the input is considered malformed. For example, \"192.0.2.0/24\" is accepted but \"192.0.2.1/24\" is not. Similarly, for IPv6, \"2001:db8::/32\" is accepted whereas \"2001:db8::1/32\" is not. The originating IP of a request must be in one of the listed subnets in order for this Condition to be true. If empty, all IP addresses are allowed.", +"items": { +"type": "string" +}, +"type": "array" +}, +"members": { +"description": "The request must be made by one of the provided user or service accounts. Groups are not supported. Syntax: `user:{emailid}` `serviceAccount:{emailid}` If not specified, a request may come from any user.", +"items": { +"type": "string" +}, +"type": "array" +}, +"negate": { +"description": "Whether to negate the Condition. If true, the Condition becomes a NAND over its non-empty fields. Any non-empty field criteria evaluating to false will result in the Condition to be satisfied. Defaults to false.", +"type": "boolean" +}, +"regions": { +"description": "The request must originate from one of the provided countries/regions. Must be valid ISO 3166-1 alpha-2 codes.", +"items": { +"type": "string" +}, +"type": "array" +}, +"requiredAccessLevels": { +"description": "A list of other access levels defined in the same `Policy`, referenced by resource name. Referencing an `AccessLevel` which does not exist is an error. All access levels listed must be granted for the Condition to be true. Example: \"`accessPolicies/MY_POLICY/accessLevels/LEVEL_NAME\"`", +"items": { +"type": "string" +}, +"type": "array" +}, +"vpcNetworkSources": { +"description": "The request must originate from one of the provided VPC networks in Google Cloud. Cannot specify this field together with `ip_subnetworks`.", +"items": { +"$ref": "GoogleIdentityAccesscontextmanagerV1VpcNetworkSource" +}, +"type": "array" +} +}, +"type": "object" +}, +"GoogleIdentityAccesscontextmanagerV1CustomLevel": { +"description": "`CustomLevel` is an `AccessLevel` using the Cloud Common Expression Language to represent the necessary conditions for the level to apply to a request. See CEL spec at: https://github.com/google/cel-spec", +"id": "GoogleIdentityAccesscontextmanagerV1CustomLevel", +"properties": { +"expr": { +"$ref": "Expr", +"description": "Required. A Cloud CEL expression evaluating to a boolean." +} +}, +"type": "object" +}, +"GoogleIdentityAccesscontextmanagerV1DevicePolicy": { +"description": "`DevicePolicy` specifies device specific restrictions necessary to acquire a given access level. A `DevicePolicy` specifies requirements for requests from devices to be granted access levels, it does not do any enforcement on the device. `DevicePolicy` acts as an AND over all specified fields, and each repeated field is an OR over its elements. Any unset fields are ignored. For example, if the proto is { os_type : DESKTOP_WINDOWS, os_type : DESKTOP_LINUX, encryption_status: ENCRYPTED}, then the DevicePolicy will be true for requests originating from encrypted Linux desktops and encrypted Windows desktops.", +"id": "GoogleIdentityAccesscontextmanagerV1DevicePolicy", +"properties": { +"allowedDeviceManagementLevels": { +"description": "Allowed device management levels, an empty list allows all management levels.", +"items": { +"enum": [ +"MANAGEMENT_UNSPECIFIED", +"NONE", +"BASIC", +"COMPLETE" +], +"enumDescriptions": [ +"The device's management level is not specified or not known.", +"The device is not managed.", +"Basic management is enabled, which is generally limited to monitoring and wiping the corporate account.", +"Complete device management. This includes more thorough monitoring and the ability to directly manage the device (such as remote wiping). This can be enabled through the Android Enterprise Platform." +], +"type": "string" +}, +"type": "array" +}, +"allowedEncryptionStatuses": { +"description": "Allowed encryptions statuses, an empty list allows all statuses.", +"items": { +"enum": [ +"ENCRYPTION_UNSPECIFIED", +"ENCRYPTION_UNSUPPORTED", +"UNENCRYPTED", +"ENCRYPTED" +], +"enumDescriptions": [ +"The encryption status of the device is not specified or not known.", +"The device does not support encryption.", +"The device supports encryption, but is currently unencrypted.", +"The device is encrypted." +], +"type": "string" +}, +"type": "array" +}, +"osConstraints": { +"description": "Allowed OS versions, an empty list allows all types and all versions.", +"items": { +"$ref": "GoogleIdentityAccesscontextmanagerV1OsConstraint" +}, +"type": "array" +}, +"requireAdminApproval": { +"description": "Whether the device needs to be approved by the customer admin.", +"type": "boolean" +}, +"requireCorpOwned": { +"description": "Whether the device needs to be corp owned.", +"type": "boolean" +}, +"requireScreenlock": { +"description": "Whether or not screenlock is required for the DevicePolicy to be true. Defaults to `false`.", +"type": "boolean" +} +}, +"type": "object" +}, +"GoogleIdentityAccesscontextmanagerV1EgressFrom": { +"description": "Defines the conditions under which an EgressPolicy matches a request. Conditions based on information about the source of the request. Note that if the destination of the request is also protected by a ServicePerimeter, then that ServicePerimeter must have an IngressPolicy which allows access in order for this request to succeed.", +"id": "GoogleIdentityAccesscontextmanagerV1EgressFrom", +"properties": { +"identities": { +"description": "A list of identities that are allowed access through [EgressPolicy]. Identities can be an individual user, service account, Google group, or third-party identity. For third-party identity, only single identities are supported and other identity types are not supported. The `v1` identities that have the prefix `user`, `group`, `serviceAccount`, and `principal` in https://cloud.google.com/iam/docs/principal-identifiers#v1 are supported.", +"items": { +"type": "string" +}, +"type": "array" +}, +"identityType": { +"description": "Specifies the type of identities that are allowed access to outside the perimeter. If left unspecified, then members of `identities` field will be allowed access.", +"enum": [ +"IDENTITY_TYPE_UNSPECIFIED", +"ANY_IDENTITY", +"ANY_USER_ACCOUNT", +"ANY_SERVICE_ACCOUNT" +], +"enumDescriptions": [ +"No blanket identity group specified.", +"Authorize access from all identities outside the perimeter.", +"Authorize access from all human users outside the perimeter.", +"Authorize access from all service accounts outside the perimeter." +], +"type": "string" +}, +"sourceRestriction": { +"description": "Whether to enforce traffic restrictions based on `sources` field. If the `sources` fields is non-empty, then this field must be set to `SOURCE_RESTRICTION_ENABLED`.", +"enum": [ +"SOURCE_RESTRICTION_UNSPECIFIED", +"SOURCE_RESTRICTION_ENABLED", +"SOURCE_RESTRICTION_DISABLED" +], +"enumDescriptions": [ +"Enforcement preference unspecified, will not enforce traffic restrictions based on `sources` in EgressFrom.", +"Enforcement preference enabled, traffic restrictions will be enforced based on `sources` in EgressFrom.", +"Enforcement preference disabled, will not enforce traffic restrictions based on `sources` in EgressFrom." +], +"type": "string" +}, +"sources": { +"description": "Sources that this EgressPolicy authorizes access from. If this field is not empty, then `source_restriction` must be set to `SOURCE_RESTRICTION_ENABLED`.", +"items": { +"$ref": "GoogleIdentityAccesscontextmanagerV1EgressSource" +}, +"type": "array" +} +}, +"type": "object" +}, +"GoogleIdentityAccesscontextmanagerV1EgressPolicy": { +"description": "Policy for egress from perimeter. EgressPolicies match requests based on `egress_from` and `egress_to` stanzas. For an EgressPolicy to match, both `egress_from` and `egress_to` stanzas must be matched. If an EgressPolicy matches a request, the request is allowed to span the ServicePerimeter boundary. For example, an EgressPolicy can be used to allow VMs on networks within the ServicePerimeter to access a defined set of projects outside the perimeter in certain contexts (e.g. to read data from a Cloud Storage bucket or query against a BigQuery dataset). EgressPolicies are concerned with the *resources* that a request relates as well as the API services and API actions being used. They do not related to the direction of data movement. More detailed documentation for this concept can be found in the descriptions of EgressFrom and EgressTo.", +"id": "GoogleIdentityAccesscontextmanagerV1EgressPolicy", +"properties": { +"egressFrom": { +"$ref": "GoogleIdentityAccesscontextmanagerV1EgressFrom", +"description": "Defines conditions on the source of a request causing this EgressPolicy to apply." +}, +"egressTo": { +"$ref": "GoogleIdentityAccesscontextmanagerV1EgressTo", +"description": "Defines the conditions on the ApiOperation and destination resources that cause this EgressPolicy to apply." +}, +"title": { +"description": "Optional. Human-readable title for the egress rule. The title must be unique within the perimeter and can not exceed 100 characters. Within the access policy, the combined length of all rule titles must not exceed 240,000 characters.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleIdentityAccesscontextmanagerV1EgressSource": { +"description": "The source that EgressPolicy authorizes access from inside the ServicePerimeter to somewhere outside the ServicePerimeter boundaries.", +"id": "GoogleIdentityAccesscontextmanagerV1EgressSource", +"properties": { +"accessLevel": { +"description": "An AccessLevel resource name that allows protected resources inside the ServicePerimeters to access outside the ServicePerimeter boundaries. AccessLevels listed must be in the same policy as this ServicePerimeter. Referencing a nonexistent AccessLevel will cause an error. If an AccessLevel name is not specified, only resources within the perimeter can be accessed through Google Cloud calls with request origins within the perimeter. Example: `accessPolicies/MY_POLICY/accessLevels/MY_LEVEL`. If a single `*` is specified for `access_level`, then all EgressSources will be allowed.", +"type": "string" +}, +"resource": { +"description": "A Google Cloud resource that you want to allow to egress the perimeter. These resources can access data outside the perimeter. This field only supports projects. The project format is `projects/{project_number}`. The resource can be in any Google Cloud organization, not just the organization where the perimeter is defined. You can't use `*` in this field to allow all Google Cloud resources.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleIdentityAccesscontextmanagerV1EgressTo": { +"description": "Defines the conditions under which an EgressPolicy matches a request. Conditions are based on information about the ApiOperation intended to be performed on the `resources` specified. Note that if the destination of the request is also protected by a ServicePerimeter, then that ServicePerimeter must have an IngressPolicy which allows access in order for this request to succeed. The request must match `operations` AND `resources` fields in order to be allowed egress out of the perimeter.", +"id": "GoogleIdentityAccesscontextmanagerV1EgressTo", +"properties": { +"externalResources": { +"description": "A list of external resources that are allowed to be accessed. Only AWS and Azure resources are supported. For Amazon S3, the supported formats are s3://BUCKET_NAME, s3a://BUCKET_NAME, and s3n://BUCKET_NAME. For Azure Storage, the supported format is azure://myaccount.blob.core.windows.net/CONTAINER_NAME. A request matches if it contains an external resource in this list (Example: s3://bucket/path). Currently '*' is not allowed.", +"items": { +"type": "string" +}, +"type": "array" +}, +"operations": { +"description": "A list of ApiOperations allowed to be performed by the sources specified in the corresponding EgressFrom. A request matches if it uses an operation/service in this list.", +"items": { +"$ref": "GoogleIdentityAccesscontextmanagerV1ApiOperation" +}, +"type": "array" +}, +"resources": { +"description": "A list of resources, currently only projects in the form `projects/`, that are allowed to be accessed by sources defined in the corresponding EgressFrom. A request matches if it contains a resource in this list. If `*` is specified for `resources`, then this EgressTo rule will authorize access to all resources outside the perimeter.", +"items": { +"type": "string" +}, +"type": "array" +} +}, +"type": "object" +}, +"GoogleIdentityAccesscontextmanagerV1IngressFrom": { +"description": "Defines the conditions under which an IngressPolicy matches a request. Conditions are based on information about the source of the request. The request must satisfy what is defined in `sources` AND identity related fields in order to match.", +"id": "GoogleIdentityAccesscontextmanagerV1IngressFrom", +"properties": { +"identities": { +"description": "A list of identities that are allowed access through [IngressPolicy]. Identities can be an individual user, service account, Google group, or third-party identity. For third-party identity, only single identities are supported and other identity types are not supported. The `v1` identities that have the prefix `user`, `group`, `serviceAccount`, and `principal` in https://cloud.google.com/iam/docs/principal-identifiers#v1 are supported.", +"items": { +"type": "string" +}, +"type": "array" +}, +"identityType": { +"description": "Specifies the type of identities that are allowed access from outside the perimeter. If left unspecified, then members of `identities` field will be allowed access.", +"enum": [ +"IDENTITY_TYPE_UNSPECIFIED", +"ANY_IDENTITY", +"ANY_USER_ACCOUNT", +"ANY_SERVICE_ACCOUNT" +], +"enumDescriptions": [ +"No blanket identity group specified.", +"Authorize access from all identities outside the perimeter.", +"Authorize access from all human users outside the perimeter.", +"Authorize access from all service accounts outside the perimeter." +], +"type": "string" +}, +"sources": { +"description": "Sources that this IngressPolicy authorizes access from.", +"items": { +"$ref": "GoogleIdentityAccesscontextmanagerV1IngressSource" +}, +"type": "array" +} +}, +"type": "object" +}, +"GoogleIdentityAccesscontextmanagerV1IngressPolicy": { +"description": "Policy for ingress into ServicePerimeter. IngressPolicies match requests based on `ingress_from` and `ingress_to` stanzas. For an ingress policy to match, both the `ingress_from` and `ingress_to` stanzas must be matched. If an IngressPolicy matches a request, the request is allowed through the perimeter boundary from outside the perimeter. For example, access from the internet can be allowed either based on an AccessLevel or, for traffic hosted on Google Cloud, the project of the source network. For access from private networks, using the project of the hosting network is required. Individual ingress policies can be limited by restricting which services and/or actions they match using the `ingress_to` field.", +"id": "GoogleIdentityAccesscontextmanagerV1IngressPolicy", +"properties": { +"ingressFrom": { +"$ref": "GoogleIdentityAccesscontextmanagerV1IngressFrom", +"description": "Defines the conditions on the source of a request causing this IngressPolicy to apply." +}, +"ingressTo": { +"$ref": "GoogleIdentityAccesscontextmanagerV1IngressTo", +"description": "Defines the conditions on the ApiOperation and request destination that cause this IngressPolicy to apply." +}, +"title": { +"description": "Optional. Human-readable title for the ingress rule. The title must be unique within the perimeter and can not exceed 100 characters. Within the access policy, the combined length of all rule titles must not exceed 240,000 characters.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleIdentityAccesscontextmanagerV1IngressSource": { +"description": "The source that IngressPolicy authorizes access from.", +"id": "GoogleIdentityAccesscontextmanagerV1IngressSource", +"properties": { +"accessLevel": { +"description": "An AccessLevel resource name that allow resources within the ServicePerimeters to be accessed from the internet. AccessLevels listed must be in the same policy as this ServicePerimeter. Referencing a nonexistent AccessLevel will cause an error. If no AccessLevel names are listed, resources within the perimeter can only be accessed via Google Cloud calls with request origins within the perimeter. Example: `accessPolicies/MY_POLICY/accessLevels/MY_LEVEL`. If a single `*` is specified for `access_level`, then all IngressSources will be allowed.", +"type": "string" +}, +"resource": { +"description": "A Google Cloud resource that is allowed to ingress the perimeter. Requests from these resources will be allowed to access perimeter data. Currently only projects and VPCs are allowed. Project format: `projects/{project_number}` VPC network format: `//compute.googleapis.com/projects/{PROJECT_ID}/global/networks/{NAME}`. The project may be in any Google Cloud organization, not just the organization that the perimeter is defined in. `*` is not allowed, the case of allowing all Google Cloud resources only is not supported.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleIdentityAccesscontextmanagerV1IngressTo": { +"description": "Defines the conditions under which an IngressPolicy matches a request. Conditions are based on information about the ApiOperation intended to be performed on the target resource of the request. The request must satisfy what is defined in `operations` AND `resources` in order to match.", +"id": "GoogleIdentityAccesscontextmanagerV1IngressTo", +"properties": { +"operations": { +"description": "A list of ApiOperations allowed to be performed by the sources specified in corresponding IngressFrom in this ServicePerimeter.", +"items": { +"$ref": "GoogleIdentityAccesscontextmanagerV1ApiOperation" +}, +"type": "array" +}, +"resources": { +"description": "A list of resources, currently only projects in the form `projects/`, protected by this ServicePerimeter that are allowed to be accessed by sources defined in the corresponding IngressFrom. If a single `*` is specified, then access to all resources inside the perimeter are allowed.", +"items": { +"type": "string" +}, +"type": "array" +} +}, +"type": "object" +}, +"GoogleIdentityAccesscontextmanagerV1MethodSelector": { +"description": "An allowed method or permission of a service specified in ApiOperation.", +"id": "GoogleIdentityAccesscontextmanagerV1MethodSelector", +"properties": { +"method": { +"description": "A valid method name for the corresponding `service_name` in ApiOperation. If `*` is used as the value for the `method`, then ALL methods and permissions are allowed.", +"type": "string" +}, +"permission": { +"description": "A valid Cloud IAM permission for the corresponding `service_name` in ApiOperation.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleIdentityAccesscontextmanagerV1OsConstraint": { +"description": "A restriction on the OS type and version of devices making requests.", +"id": "GoogleIdentityAccesscontextmanagerV1OsConstraint", +"properties": { +"minimumVersion": { +"description": "The minimum allowed OS version. If not set, any version of this OS satisfies the constraint. Format: `\"major.minor.patch\"`. Examples: `\"10.5.301\"`, `\"9.2.1\"`.", +"type": "string" +}, +"osType": { +"description": "Required. The allowed OS type.", +"enum": [ +"OS_UNSPECIFIED", +"DESKTOP_MAC", +"DESKTOP_WINDOWS", +"DESKTOP_LINUX", +"DESKTOP_CHROME_OS", +"ANDROID", +"IOS" +], +"enumDescriptions": [ +"The operating system of the device is not specified or not known.", +"A desktop Mac operating system.", +"A desktop Windows operating system.", +"A desktop Linux operating system.", +"A desktop ChromeOS operating system.", +"An Android operating system.", +"An iOS operating system." +], +"type": "string" +}, +"requireVerifiedChromeOs": { +"description": "Only allows requests from devices with a verified Chrome OS. Verifications includes requirements that the device is enterprise-managed, conformant to domain policies, and the caller has permission to call the API targeted by the request.", +"type": "boolean" +} +}, +"type": "object" +}, +"GoogleIdentityAccesscontextmanagerV1ServicePerimeter": { +"description": "`ServicePerimeter` describes a set of Google Cloud resources which can freely import and export data amongst themselves, but not export outside of the `ServicePerimeter`. If a request with a source within this `ServicePerimeter` has a target outside of the `ServicePerimeter`, the request will be blocked. Otherwise the request is allowed. There are two types of Service Perimeter - Regular and Bridge. Regular Service Perimeters cannot overlap, a single Google Cloud project or VPC network can only belong to a single regular Service Perimeter. Service Perimeter Bridges can contain only Google Cloud projects as members, a single Google Cloud project may belong to multiple Service Perimeter Bridges.", +"id": "GoogleIdentityAccesscontextmanagerV1ServicePerimeter", +"properties": { +"description": { +"description": "Description of the `ServicePerimeter` and its use. Does not affect behavior.", +"type": "string" +}, +"etag": { +"description": "Optional. An opaque identifier for the current version of the `ServicePerimeter`. This identifier does not follow any specific format. If an etag is not provided, the operation will be performed as if a valid etag is provided.", +"type": "string" +}, +"name": { +"description": "Identifier. Resource name for the `ServicePerimeter`. Format: `accessPolicies/{access_policy}/servicePerimeters/{service_perimeter}`. The `service_perimeter` component must begin with a letter, followed by alphanumeric characters or `_`. After you create a `ServicePerimeter`, you cannot change its `name`.", +"type": "string" +}, +"perimeterType": { +"description": "Perimeter type indicator. A single project or VPC network is allowed to be a member of single regular perimeter, but multiple service perimeter bridges. A project cannot be a included in a perimeter bridge without being included in regular perimeter. For perimeter bridges, the restricted service list as well as access level lists must be empty.", +"enum": [ +"PERIMETER_TYPE_REGULAR", +"PERIMETER_TYPE_BRIDGE" +], +"enumDescriptions": [ +"Regular Perimeter. When no value is specified, the perimeter uses this type.", +"Perimeter Bridge." +], +"type": "string" +}, +"spec": { +"$ref": "GoogleIdentityAccesscontextmanagerV1ServicePerimeterConfig", +"description": "Proposed (or dry run) ServicePerimeter configuration. This configuration allows to specify and test ServicePerimeter configuration without enforcing actual access restrictions. Only allowed to be set when the \"use_explicit_dry_run_spec\" flag is set." +}, +"status": { +"$ref": "GoogleIdentityAccesscontextmanagerV1ServicePerimeterConfig", +"description": "Current ServicePerimeter configuration. Specifies sets of resources, restricted services and access levels that determine perimeter content and boundaries." +}, +"title": { +"description": "Human readable title. Must be unique within the Policy.", +"type": "string" +}, +"useExplicitDryRunSpec": { +"description": "Use explicit dry run spec flag. Ordinarily, a dry-run spec implicitly exists for all Service Perimeters, and that spec is identical to the status for those Service Perimeters. When this flag is set, it inhibits the generation of the implicit spec, thereby allowing the user to explicitly provide a configuration (\"spec\") to use in a dry-run version of the Service Perimeter. This allows the user to test changes to the enforced config (\"status\") without actually enforcing them. This testing is done through analyzing the differences between currently enforced and suggested restrictions. use_explicit_dry_run_spec must bet set to True if any of the fields in the spec are set to non-default values.", +"type": "boolean" +} +}, +"type": "object" +}, +"GoogleIdentityAccesscontextmanagerV1ServicePerimeterConfig": { +"description": "`ServicePerimeterConfig` specifies a set of Google Cloud resources that describe specific Service Perimeter configuration.", +"id": "GoogleIdentityAccesscontextmanagerV1ServicePerimeterConfig", +"properties": { +"accessLevels": { +"description": "A list of `AccessLevel` resource names that allow resources within the `ServicePerimeter` to be accessed from the internet. `AccessLevels` listed must be in the same policy as this `ServicePerimeter`. Referencing a nonexistent `AccessLevel` is a syntax error. If no `AccessLevel` names are listed, resources within the perimeter can only be accessed via Google Cloud calls with request origins within the perimeter. Example: `\"accessPolicies/MY_POLICY/accessLevels/MY_LEVEL\"`. For Service Perimeter Bridge, must be empty.", +"items": { +"type": "string" +}, +"type": "array" +}, +"egressPolicies": { +"description": "List of EgressPolicies to apply to the perimeter. A perimeter may have multiple EgressPolicies, each of which is evaluated separately. Access is granted if any EgressPolicy grants it. Must be empty for a perimeter bridge.", +"items": { +"$ref": "GoogleIdentityAccesscontextmanagerV1EgressPolicy" +}, +"type": "array" +}, +"ingressPolicies": { +"description": "List of IngressPolicies to apply to the perimeter. A perimeter may have multiple IngressPolicies, each of which is evaluated separately. Access is granted if any Ingress Policy grants it. Must be empty for a perimeter bridge.", +"items": { +"$ref": "GoogleIdentityAccesscontextmanagerV1IngressPolicy" +}, +"type": "array" +}, +"resources": { +"description": "A list of Google Cloud resources that are inside of the service perimeter. Currently only projects and VPCs are allowed. Project format: `projects/{project_number}` VPC network format: `//compute.googleapis.com/projects/{PROJECT_ID}/global/networks/{NAME}`.", +"items": { +"type": "string" +}, +"type": "array" +}, +"restrictedServices": { +"description": "Google Cloud services that are subject to the Service Perimeter restrictions. For example, if `storage.googleapis.com` is specified, access to the storage buckets inside the perimeter must meet the perimeter's access restrictions.", +"items": { +"type": "string" +}, +"type": "array" +}, +"vpcAccessibleServices": { +"$ref": "GoogleIdentityAccesscontextmanagerV1VpcAccessibleServices", +"description": "Configuration for APIs allowed within Perimeter." +} +}, +"type": "object" +}, +"GoogleIdentityAccesscontextmanagerV1VpcAccessibleServices": { +"description": "Specifies how APIs are allowed to communicate within the Service Perimeter.", +"id": "GoogleIdentityAccesscontextmanagerV1VpcAccessibleServices", +"properties": { +"allowedServices": { +"description": "The list of APIs usable within the Service Perimeter. Must be empty unless 'enable_restriction' is True. You can specify a list of individual services, as well as include the 'RESTRICTED-SERVICES' value, which automatically includes all of the services protected by the perimeter.", +"items": { +"type": "string" +}, +"type": "array" +}, +"enableRestriction": { +"description": "Whether to restrict API calls within the Service Perimeter to the list of APIs specified in 'allowed_services'.", +"type": "boolean" +} +}, +"type": "object" +}, +"GoogleIdentityAccesscontextmanagerV1VpcNetworkSource": { +"description": "The originating network source in Google Cloud.", +"id": "GoogleIdentityAccesscontextmanagerV1VpcNetworkSource", +"properties": { +"vpcSubnetwork": { +"$ref": "GoogleIdentityAccesscontextmanagerV1VpcSubNetwork", +"description": "Sub-segment ranges of a VPC network." +} +}, +"type": "object" +}, +"GoogleIdentityAccesscontextmanagerV1VpcSubNetwork": { +"description": "Sub-segment ranges inside of a VPC Network.", +"id": "GoogleIdentityAccesscontextmanagerV1VpcSubNetwork", +"properties": { +"network": { +"description": "Required. Network name. If the network is not part of the organization, the `compute.network.get` permission must be granted to the caller. Format: `//compute.googleapis.com/projects/{PROJECT_ID}/global/networks/{NETWORK_NAME}` Example: `//compute.googleapis.com/projects/my-project/global/networks/network-1`", +"type": "string" +}, +"vpcIpSubnetworks": { +"description": "CIDR block IP subnetwork specification. The IP address must be an IPv4 address and can be a public or private IP address. Note that for a CIDR IP address block, the specified IP address portion must be properly truncated (i.e. all the host bits must be zero) or the input is considered malformed. For example, \"192.0.2.0/24\" is accepted but \"192.0.2.1/24\" is not. If empty, all IP addresses are allowed.", +"items": { +"type": "string" +}, +"type": "array" +} +}, +"type": "object" +}, +"Operation": { +"description": "This resource represents a long-running operation that is the result of a network API call.", +"id": "Operation", +"properties": { +"done": { +"description": "If the value is `false`, it means the operation is still in progress. If `true`, the operation is completed, and either `error` or `response` is available.", +"type": "boolean" +}, +"error": { +"$ref": "Status", +"description": "The error result of the operation in case of failure or cancellation." +}, +"metadata": { +"additionalProperties": { +"description": "Properties of the object. Contains field @type with type URL.", +"type": "any" +}, +"description": "Service-specific metadata associated with the operation. It typically contains progress information and common metadata such as create time. Some services might not provide such metadata. Any method that returns a long-running operation should document the metadata type, if any.", +"type": "object" +}, +"name": { +"description": "The server-assigned name, which is only unique within the same service that originally returns it. If you use the default HTTP mapping, the `name` should be a resource name ending with `operations/{unique_id}`.", +"type": "string" +}, +"response": { +"additionalProperties": { +"description": "Properties of the object. Contains field @type with type URL.", +"type": "any" +}, +"description": "The normal, successful response of the operation. If the original method returns no data on success, such as `Delete`, the response is `google.protobuf.Empty`. If the original method is standard `Get`/`Create`/`Update`, the response should be the resource. For other methods, the response should have the type `XxxResponse`, where `Xxx` is the original method name. For example, if the original method name is `TakeSnapshot()`, the inferred response type is `TakeSnapshotResponse`.", +"type": "object" +} +}, +"type": "object" +}, +"Policy": { +"description": "An Identity and Access Management (IAM) policy, which specifies access controls for Google Cloud resources. A `Policy` is a collection of `bindings`. A `binding` binds one or more `members`, or principals, to a single `role`. Principals can be user accounts, service accounts, Google groups, and domains (such as G Suite). A `role` is a named list of permissions; each `role` can be an IAM predefined role or a user-created custom role. For some types of Google Cloud resources, a `binding` can also specify a `condition`, which is a logical expression that allows access to a resource only if the expression evaluates to `true`. A condition can add constraints based on attributes of the request, the resource, or both. To learn which resources support conditions in their IAM policies, see the [IAM documentation](https://cloud.google.com/iam/help/conditions/resource-policies). **JSON example:** ``` { \"bindings\": [ { \"role\": \"roles/resourcemanager.organizationAdmin\", \"members\": [ \"user:mike@example.com\", \"group:admins@example.com\", \"domain:google.com\", \"serviceAccount:my-project-id@appspot.gserviceaccount.com\" ] }, { \"role\": \"roles/resourcemanager.organizationViewer\", \"members\": [ \"user:eve@example.com\" ], \"condition\": { \"title\": \"expirable access\", \"description\": \"Does not grant access after Sep 2020\", \"expression\": \"request.time < timestamp('2020-10-01T00:00:00.000Z')\", } } ], \"etag\": \"BwWWja0YfJA=\", \"version\": 3 } ``` **YAML example:** ``` bindings: - members: - user:mike@example.com - group:admins@example.com - domain:google.com - serviceAccount:my-project-id@appspot.gserviceaccount.com role: roles/resourcemanager.organizationAdmin - members: - user:eve@example.com role: roles/resourcemanager.organizationViewer condition: title: expirable access description: Does not grant access after Sep 2020 expression: request.time < timestamp('2020-10-01T00:00:00.000Z') etag: BwWWja0YfJA= version: 3 ``` For a description of IAM and its features, see the [IAM documentation](https://cloud.google.com/iam/docs/).", +"id": "Policy", +"properties": { +"auditConfigs": { +"description": "Specifies cloud audit logging configuration for this policy.", +"items": { +"$ref": "AuditConfig" +}, +"type": "array" +}, +"bindings": { +"description": "Associates a list of `members`, or principals, with a `role`. Optionally, may specify a `condition` that determines how and when the `bindings` are applied. Each of the `bindings` must contain at least one principal. The `bindings` in a `Policy` can refer to up to 1,500 principals; up to 250 of these principals can be Google groups. Each occurrence of a principal counts towards these limits. For example, if the `bindings` grant 50 different roles to `user:alice@example.com`, and not to any other principal, then you can add another 1,450 principals to the `bindings` in the `Policy`.", +"items": { +"$ref": "Binding" +}, +"type": "array" +}, +"etag": { +"description": "`etag` is used for optimistic concurrency control as a way to help prevent simultaneous updates of a policy from overwriting each other. It is strongly suggested that systems make use of the `etag` in the read-modify-write cycle to perform policy updates in order to avoid race conditions: An `etag` is returned in the response to `getIamPolicy`, and systems are expected to put that etag in the request to `setIamPolicy` to ensure that their change will be applied to the same version of the policy. **Important:** If you use IAM Conditions, you must include the `etag` field whenever you call `setIamPolicy`. If you omit this field, then IAM allows you to overwrite a version `3` policy with a version `1` policy, and all of the conditions in the version `3` policy are lost.", +"format": "byte", +"type": "string" +}, +"version": { +"description": "Specifies the format of the policy. Valid values are `0`, `1`, and `3`. Requests that specify an invalid value are rejected. Any operation that affects conditional role bindings must specify version `3`. This requirement applies to the following operations: * Getting a policy that includes a conditional role binding * Adding a conditional role binding to a policy * Changing a conditional role binding in a policy * Removing any role binding, with or without a condition, from a policy that includes conditions **Important:** If you use IAM Conditions, you must include the `etag` field whenever you call `setIamPolicy`. If you omit this field, then IAM allows you to overwrite a version `3` policy with a version `1` policy, and all of the conditions in the version `3` policy are lost. If a policy does not include any conditions, operations on that policy may specify any valid version or leave the field unset. To learn which resources support conditions in their IAM policies, see the [IAM documentation](https://cloud.google.com/iam/help/conditions/resource-policies).", +"format": "int32", +"type": "integer" +} +}, +"type": "object" +}, +"Status": { +"description": "The `Status` type defines a logical error model that is suitable for different programming environments, including REST APIs and RPC APIs. It is used by [gRPC](https://github.com/grpc). Each `Status` message contains three pieces of data: error code, error message, and error details. You can find out more about this error model and how to work with it in the [API Design Guide](https://cloud.google.com/apis/design/errors).", +"id": "Status", +"properties": { +"code": { +"description": "The status code, which should be an enum value of google.rpc.Code.", +"format": "int32", +"type": "integer" +}, +"details": { +"description": "A list of messages that carry the error details. There is a common set of message types for APIs to use.", +"items": { +"additionalProperties": { +"description": "Properties of the object. Contains field @type with type URL.", +"type": "any" +}, +"type": "object" +}, +"type": "array" +}, +"message": { +"description": "A developer-facing error message, which should be in English. Any user-facing error message should be localized and sent in the google.rpc.Status.details field, or localized by the client.", +"type": "string" +} +}, +"type": "object" +} +}, +"servicePath": "", +"title": "Cloud Asset API", +"version": "v1p7beta1", +"version_module": true +} \ No newline at end of file diff --git a/.venv/lib/python3.11/site-packages/googleapiclient/discovery_cache/documents/cloudbilling.v1beta.json b/.venv/lib/python3.11/site-packages/googleapiclient/discovery_cache/documents/cloudbilling.v1beta.json new file mode 100644 index 0000000000000000000000000000000000000000..4d3cac13962f1e3ddd8d9baebf2e9e066ccfc1ed --- /dev/null +++ b/.venv/lib/python3.11/site-packages/googleapiclient/discovery_cache/documents/cloudbilling.v1beta.json @@ -0,0 +1,2853 @@ +{ +"auth": { +"oauth2": { +"scopes": { +"https://www.googleapis.com/auth/cloud-billing": { +"description": "View and manage your Google Cloud Platform billing accounts" +}, +"https://www.googleapis.com/auth/cloud-billing.readonly": { +"description": "View your Google Cloud Platform billing accounts" +}, +"https://www.googleapis.com/auth/cloud-platform": { +"description": "See, edit, configure, and delete your Google Cloud data and see the email address for your Google Account." +} +} +} +}, +"basePath": "", +"baseUrl": "https://cloudbilling.googleapis.com/", +"batchPath": "batch", +"canonicalName": "Cloudbilling", +"description": "Allows developers to manage billing for their Google Cloud Platform projects programmatically.", +"discoveryVersion": "v1", +"documentationLink": "https://cloud.google.com/billing/docs/apis", +"fullyEncodeReservedExpansion": true, +"icons": { +"x16": "http://www.google.com/images/icons/product/search-16.gif", +"x32": "http://www.google.com/images/icons/product/search-32.gif" +}, +"id": "cloudbilling:v1beta", +"kind": "discovery#restDescription", +"mtlsRootUrl": "https://cloudbilling.mtls.googleapis.com/", +"name": "cloudbilling", +"ownerDomain": "google.com", +"ownerName": "Google", +"parameters": { +"$.xgafv": { +"description": "V1 error format.", +"enum": [ +"1", +"2" +], +"enumDescriptions": [ +"v1 error format", +"v2 error format" +], +"location": "query", +"type": "string" +}, +"access_token": { +"description": "OAuth access token.", +"location": "query", +"type": "string" +}, +"alt": { +"default": "json", +"description": "Data format for response.", +"enum": [ +"json", +"media", +"proto" +], +"enumDescriptions": [ +"Responses with Content-Type of application/json", +"Media download with context-dependent Content-Type", +"Responses with Content-Type of application/x-protobuf" +], +"location": "query", +"type": "string" +}, +"callback": { +"description": "JSONP", +"location": "query", +"type": "string" +}, +"fields": { +"description": "Selector specifying which fields to include in a partial response.", +"location": "query", +"type": "string" +}, +"key": { +"description": "API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token.", +"location": "query", +"type": "string" +}, +"oauth_token": { +"description": "OAuth 2.0 token for the current user.", +"location": "query", +"type": "string" +}, +"prettyPrint": { +"default": "true", +"description": "Returns response with indentations and line breaks.", +"location": "query", +"type": "boolean" +}, +"quotaUser": { +"description": "Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters.", +"location": "query", +"type": "string" +}, +"uploadType": { +"description": "Legacy upload protocol for media (e.g. \"media\", \"multipart\").", +"location": "query", +"type": "string" +}, +"upload_protocol": { +"description": "Upload protocol for media (e.g. \"raw\", \"multipart\").", +"location": "query", +"type": "string" +} +}, +"protocol": "rest", +"resources": { +"billingAccounts": { +"methods": { +"estimateCostScenario": { +"deprecated": true, +"description": "Use custom pricing in the estimate, using a `CostScenario` with a defined `billingAccount`.", +"flatPath": "v1beta/billingAccounts/{billingAccountsId}:estimateCostScenario", +"httpMethod": "POST", +"id": "cloudbilling.billingAccounts.estimateCostScenario", +"parameterOrder": [ +"billingAccount" +], +"parameters": { +"billingAccount": { +"description": "Resource name of the billing account for the cost estimate. The resource name has the form `billingAccounts/{billing_account_id}`. For example, `billingAccounts/012345-567890-ABCDEF` is the resource name for billing account `012345-567890-ABCDEF`. Must be specified.", +"location": "path", +"pattern": "^billingAccounts/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1beta/{+billingAccount}:estimateCostScenario", +"request": { +"$ref": "EstimateCostScenarioForBillingAccountRequest" +}, +"response": { +"$ref": "EstimateCostScenarioForBillingAccountResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-billing", +"https://www.googleapis.com/auth/cloud-billing.readonly", +"https://www.googleapis.com/auth/cloud-platform" +] +} +}, +"resources": { +"services": { +"methods": { +"get": { +"description": "Gets a Google Cloud service visible to a billing account.", +"flatPath": "v1beta/billingAccounts/{billingAccountsId}/services/{servicesId}", +"httpMethod": "GET", +"id": "cloudbilling.billingAccounts.services.get", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. The name of the billing account service to retrieve. Format: billingAccounts/{billing_account}/services/{service}", +"location": "path", +"pattern": "^billingAccounts/[^/]+/services/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1beta/{+name}", +"response": { +"$ref": "GoogleCloudBillingBillingaccountservicesV1betaBillingAccountService" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-billing", +"https://www.googleapis.com/auth/cloud-billing.readonly", +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"list": { +"description": "Lists services visible to a billing account.", +"flatPath": "v1beta/billingAccounts/{billingAccountsId}/services", +"httpMethod": "GET", +"id": "cloudbilling.billingAccounts.services.list", +"parameterOrder": [ +"parent" +], +"parameters": { +"pageSize": { +"description": "Maximum number of billing account service to return. Results may return fewer than this value. Default value is 50 and maximum value is 5000.", +"format": "int32", +"location": "query", +"type": "integer" +}, +"pageToken": { +"description": "Page token received from a previous ListBillingAccountServices call to retrieve the next page of results. If this field is empty, the first page is returned.", +"location": "query", +"type": "string" +}, +"parent": { +"description": "Required. The billing account to list billing account service from. Format: billingAccounts/{billing_account}", +"location": "path", +"pattern": "^billingAccounts/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1beta/{+parent}/services", +"response": { +"$ref": "GoogleCloudBillingBillingaccountservicesV1betaListBillingAccountServicesResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-billing", +"https://www.googleapis.com/auth/cloud-billing.readonly", +"https://www.googleapis.com/auth/cloud-platform" +] +} +} +}, +"skuGroups": { +"methods": { +"get": { +"description": "Gets a SKU group visible to a billing account.", +"flatPath": "v1beta/billingAccounts/{billingAccountsId}/skuGroups/{skuGroupsId}", +"httpMethod": "GET", +"id": "cloudbilling.billingAccounts.skuGroups.get", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. The name of the BillingAccountSkuGroup to retrieve. Format: billingAccounts/{billing_account}/skuGroups/{sku_group}", +"location": "path", +"pattern": "^billingAccounts/[^/]+/skuGroups/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1beta/{+name}", +"response": { +"$ref": "GoogleCloudBillingBillingaccountskugroupsV1betaBillingAccountSkuGroup" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-billing", +"https://www.googleapis.com/auth/cloud-billing.readonly", +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"list": { +"description": "Lists SKU groups visible to a billing account.", +"flatPath": "v1beta/billingAccounts/{billingAccountsId}/skuGroups", +"httpMethod": "GET", +"id": "cloudbilling.billingAccounts.skuGroups.list", +"parameterOrder": [ +"parent" +], +"parameters": { +"pageSize": { +"description": "Maximum number of billing account SKU groups to return. Results may return fewer than this value. Default value is 50 and maximum value is 5000.", +"format": "int32", +"location": "query", +"type": "integer" +}, +"pageToken": { +"description": "Page token received from a previous ListBillingAccountSkuGroups call to retrieve the next page of results. If this field is empty, the first page is returned.", +"location": "query", +"type": "string" +}, +"parent": { +"description": "Required. The billing account to list billing account SKU groups from. Format: billingAccounts/{billing_account}", +"location": "path", +"pattern": "^billingAccounts/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1beta/{+parent}/skuGroups", +"response": { +"$ref": "GoogleCloudBillingBillingaccountskugroupsV1betaListBillingAccountSkuGroupsResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-billing", +"https://www.googleapis.com/auth/cloud-billing.readonly", +"https://www.googleapis.com/auth/cloud-platform" +] +} +}, +"resources": { +"skus": { +"methods": { +"get": { +"description": "Gets a SKU that is part of a billing account SKU group.", +"flatPath": "v1beta/billingAccounts/{billingAccountsId}/skuGroups/{skuGroupsId}/skus/{skusId}", +"httpMethod": "GET", +"id": "cloudbilling.billingAccounts.skuGroups.skus.get", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. The name of the billing account SKU group SKU to retrieve. Format: billingAccounts/{billing_account}/skuGroups/{sku_group}/skus/{sku}", +"location": "path", +"pattern": "^billingAccounts/[^/]+/skuGroups/[^/]+/skus/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1beta/{+name}", +"response": { +"$ref": "GoogleCloudBillingBillingaccountskugroupskusV1betaBillingAccountSkuGroupSku" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-billing", +"https://www.googleapis.com/auth/cloud-billing.readonly", +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"list": { +"description": "Lists SKUs that is part of billing account SKU groups.", +"flatPath": "v1beta/billingAccounts/{billingAccountsId}/skuGroups/{skuGroupsId}/skus", +"httpMethod": "GET", +"id": "cloudbilling.billingAccounts.skuGroups.skus.list", +"parameterOrder": [ +"parent" +], +"parameters": { +"pageSize": { +"description": "Maximum number of billing account SKU group SKUs to return. Results may return fewer than this value. Default value is 50 and maximum value is 5000.", +"format": "int32", +"location": "query", +"type": "integer" +}, +"pageToken": { +"description": "Page token received from a previous ListBillingAccountSkuGroupSkus call to retrieve the next page of results. If this field is empty, the first page is returned.", +"location": "query", +"type": "string" +}, +"parent": { +"description": "Required. The billing account SKU group to list billing account SKU group SKUs from. Format: billingAccounts/{billing_account}/skuGroups/{sku_group}", +"location": "path", +"pattern": "^billingAccounts/[^/]+/skuGroups/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1beta/{+parent}/skus", +"response": { +"$ref": "GoogleCloudBillingBillingaccountskugroupskusV1betaListBillingAccountSkuGroupSkusResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-billing", +"https://www.googleapis.com/auth/cloud-billing.readonly", +"https://www.googleapis.com/auth/cloud-platform" +] +} +} +} +} +}, +"skus": { +"methods": { +"get": { +"description": "Gets a SKU visible to a billing account.", +"flatPath": "v1beta/billingAccounts/{billingAccountsId}/skus/{skusId}", +"httpMethod": "GET", +"id": "cloudbilling.billingAccounts.skus.get", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. The name of the billing account SKU to retrieve. Format: billingAccounts/{billing_account}/skus/{sku}", +"location": "path", +"pattern": "^billingAccounts/[^/]+/skus/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1beta/{+name}", +"response": { +"$ref": "GoogleCloudBillingBillingaccountskusV1betaBillingAccountSku" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-billing", +"https://www.googleapis.com/auth/cloud-billing.readonly", +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"list": { +"description": "Lists SKUs visible to a billing account.", +"flatPath": "v1beta/billingAccounts/{billingAccountsId}/skus", +"httpMethod": "GET", +"id": "cloudbilling.billingAccounts.skus.list", +"parameterOrder": [ +"parent" +], +"parameters": { +"filter": { +"description": "Options for how to filter the billing account SKUs. Currently, only filter on `billing_account_service` is supported. Only !=, = operators are supported. Examples: - billing_account_service = \"billingAccounts/012345-567890-ABCDEF/services/DA34-426B-A397\"", +"location": "query", +"type": "string" +}, +"pageSize": { +"description": "Maximum number of billing account SKUs to return. Results may return fewer than this value. Default value is 50 and maximum value is 5000.", +"format": "int32", +"location": "query", +"type": "integer" +}, +"pageToken": { +"description": "Page token received from a previous ListBillingAccountSkus call to retrieve the next page of results. If this field is empty, the first page is returned.", +"location": "query", +"type": "string" +}, +"parent": { +"description": "Required. The billing account to list billing account SKU from. Format: billingAccounts/{billing_account}", +"location": "path", +"pattern": "^billingAccounts/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1beta/{+parent}/skus", +"response": { +"$ref": "GoogleCloudBillingBillingaccountskusV1betaListBillingAccountSkusResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-billing", +"https://www.googleapis.com/auth/cloud-billing.readonly", +"https://www.googleapis.com/auth/cloud-platform" +] +} +}, +"resources": { +"price": { +"methods": { +"get": { +"description": "Gets the latest price for SKUs available to your Cloud Billing account.", +"flatPath": "v1beta/billingAccounts/{billingAccountsId}/skus/{skusId}/price", +"httpMethod": "GET", +"id": "cloudbilling.billingAccounts.skus.price.get", +"parameterOrder": [ +"name" +], +"parameters": { +"currencyCode": { +"description": "Optional. ISO-4217 currency code for the price. If not specified, the currency of the billing account is used.", +"location": "query", +"type": "string" +}, +"name": { +"description": "Required. Name of the billing account price to retrieve. Format: billingAccounts/{billing_account}/skus/{sku}/price", +"location": "path", +"pattern": "^billingAccounts/[^/]+/skus/[^/]+/price$", +"required": true, +"type": "string" +} +}, +"path": "v1beta/{+name}", +"response": { +"$ref": "GoogleCloudBillingBillingaccountpricesV1betaBillingAccountPrice" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-billing", +"https://www.googleapis.com/auth/cloud-billing.readonly", +"https://www.googleapis.com/auth/cloud-platform" +] +} +} +}, +"prices": { +"methods": { +"list": { +"description": "Lists the latest prices for SKUs available to your Cloud Billing account.", +"flatPath": "v1beta/billingAccounts/{billingAccountsId}/skus/{skusId}/prices", +"httpMethod": "GET", +"id": "cloudbilling.billingAccounts.skus.prices.list", +"parameterOrder": [ +"parent" +], +"parameters": { +"currencyCode": { +"description": "Optional. ISO-4217 currency code for the price. If not specified, currency of billing account will be used.", +"location": "query", +"type": "string" +}, +"pageSize": { +"description": "Optional. Maximum number of billing account price to return. Results may return fewer than this value. Default value is 50 and maximum value is 5000.", +"format": "int32", +"location": "query", +"type": "integer" +}, +"pageToken": { +"description": "Optional. Page token received from a previous ListBillingAccountPrices call to retrieve the next page of results. If this field is empty, the first page is returned.", +"location": "query", +"type": "string" +}, +"parent": { +"description": "Required. To list all Billing Account SKUs, use `-` as the SKU ID. Format: `billingAccounts/{billing_account}/skus/-` Note: Specifying an actual SKU resource id will return a collection of one Billing Account Price.", +"location": "path", +"pattern": "^billingAccounts/[^/]+/skus/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1beta/{+parent}/prices", +"response": { +"$ref": "GoogleCloudBillingBillingaccountpricesV1betaListBillingAccountPricesResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-billing", +"https://www.googleapis.com/auth/cloud-billing.readonly", +"https://www.googleapis.com/auth/cloud-platform" +] +} +} +} +} +} +} +}, +"skuGroups": { +"methods": { +"get": { +"description": "Gets a publicly listed SKU group.", +"flatPath": "v1beta/skuGroups/{skuGroupsId}", +"httpMethod": "GET", +"id": "cloudbilling.skuGroups.get", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. The name of the SKU group to retrieve. Format: skuGroups/{sku_group}", +"location": "path", +"pattern": "^skuGroups/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1beta/{+name}", +"response": { +"$ref": "GoogleCloudBillingSkugroupsV1betaSkuGroup" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-billing", +"https://www.googleapis.com/auth/cloud-billing.readonly", +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"list": { +"description": "Lists all publicly listed SKU groups.", +"flatPath": "v1beta/skuGroups", +"httpMethod": "GET", +"id": "cloudbilling.skuGroups.list", +"parameterOrder": [], +"parameters": { +"pageSize": { +"description": "Maximum number of SKU groups to return. Results may return fewer than this value. Default value is 50 and maximum value is 5000.", +"format": "int32", +"location": "query", +"type": "integer" +}, +"pageToken": { +"description": "Page token received from a previous ListSkuGroups call to retrieve the next page of results. If this field is empty, the first page is returned.", +"location": "query", +"type": "string" +} +}, +"path": "v1beta/skuGroups", +"response": { +"$ref": "GoogleCloudBillingSkugroupsV1betaListSkuGroupsResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-billing", +"https://www.googleapis.com/auth/cloud-billing.readonly", +"https://www.googleapis.com/auth/cloud-platform" +] +} +}, +"resources": { +"skus": { +"methods": { +"get": { +"description": "Gets a publicly listed SKU that is part of a publicly listed SKU group.", +"flatPath": "v1beta/skuGroups/{skuGroupsId}/skus/{skusId}", +"httpMethod": "GET", +"id": "cloudbilling.skuGroups.skus.get", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. The name of the SKU group SKU to retrieve. Format: skuGroups/{sku_group}/skus/{sku}", +"location": "path", +"pattern": "^skuGroups/[^/]+/skus/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1beta/{+name}", +"response": { +"$ref": "GoogleCloudBillingSkugroupskusV1betaSkuGroupSku" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-billing", +"https://www.googleapis.com/auth/cloud-billing.readonly", +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"list": { +"description": "Lists all publicly listed SKUs contained by a publicly listed SKU group.", +"flatPath": "v1beta/skuGroups/{skuGroupsId}/skus", +"httpMethod": "GET", +"id": "cloudbilling.skuGroups.skus.list", +"parameterOrder": [ +"parent" +], +"parameters": { +"pageSize": { +"description": "Maximum number of SKU group SKUs to return. Results may return fewer than this value. Default value is 50 and maximum value is 5000.", +"format": "int32", +"location": "query", +"type": "integer" +}, +"pageToken": { +"description": "Page token received from a previous ListSkuGroupSkus call to retrieve the next page of results. If this field is empty, the first page is returned.", +"location": "query", +"type": "string" +}, +"parent": { +"description": "Required. The SkuGroup to list SkuGroupSku from. Format: skuGroups/{sku_group}", +"location": "path", +"pattern": "^skuGroups/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1beta/{+parent}/skus", +"response": { +"$ref": "GoogleCloudBillingSkugroupskusV1betaListSkuGroupSkusResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-billing", +"https://www.googleapis.com/auth/cloud-billing.readonly", +"https://www.googleapis.com/auth/cloud-platform" +] +} +} +} +} +}, +"skus": { +"resources": { +"price": { +"methods": { +"get": { +"description": "Gets the latest price for the given SKU.", +"flatPath": "v1beta/skus/{skusId}/price", +"httpMethod": "GET", +"id": "cloudbilling.skus.price.get", +"parameterOrder": [ +"name" +], +"parameters": { +"currencyCode": { +"description": "Optional. ISO-4217 currency code for the price. If not specified, USD will be used.", +"location": "query", +"type": "string" +}, +"name": { +"description": "Required. Name of the latest price to retrieve. Format: skus/{sku}/price", +"location": "path", +"pattern": "^skus/[^/]+/price$", +"required": true, +"type": "string" +} +}, +"path": "v1beta/{+name}", +"response": { +"$ref": "GoogleCloudBillingPricesV1betaPrice" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-billing", +"https://www.googleapis.com/auth/cloud-billing.readonly", +"https://www.googleapis.com/auth/cloud-platform" +] +} +} +}, +"prices": { +"methods": { +"list": { +"description": "Lists the latest prices for all SKUs.", +"flatPath": "v1beta/skus/{skusId}/prices", +"httpMethod": "GET", +"id": "cloudbilling.skus.prices.list", +"parameterOrder": [ +"parent" +], +"parameters": { +"currencyCode": { +"description": "Optional. ISO-4217 currency code for the price. If not specified, USD will be used.", +"location": "query", +"type": "string" +}, +"pageSize": { +"description": "Optional. Maximum number of prices to return. Results may return fewer than this value. Default value is 50 and maximum value is 5000.", +"format": "int32", +"location": "query", +"type": "integer" +}, +"pageToken": { +"description": "Optional. Page token received from a previous ListPrices call to retrieve the next page of results. If this field is empty, the first page is returned.", +"location": "query", +"type": "string" +}, +"parent": { +"description": "Required. To list the prices for all SKUs, use `-` as the SKU ID. Format: `skus/-` Specifying a specific SKU ID returns a collection with one Price object for the SKU.", +"location": "path", +"pattern": "^skus/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1beta/{+parent}/prices", +"response": { +"$ref": "GoogleCloudBillingPricesV1betaListPricesResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-billing", +"https://www.googleapis.com/auth/cloud-billing.readonly", +"https://www.googleapis.com/auth/cloud-platform" +] +} +} +} +} +}, +"v1beta": { +"deprecated": true, +"methods": { +"estimateCostScenario": { +"deprecated": true, +"description": "Estimate list prices using a `CostScenario` without a defined `billingAccount`.", +"flatPath": "v1beta:estimateCostScenario", +"httpMethod": "POST", +"id": "cloudbilling.estimateCostScenario", +"parameterOrder": [], +"parameters": {}, +"path": "v1beta:estimateCostScenario", +"request": { +"$ref": "EstimateCostScenarioWithListPriceRequest" +}, +"response": { +"$ref": "EstimateCostScenarioWithListPriceResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-billing", +"https://www.googleapis.com/auth/cloud-billing.readonly", +"https://www.googleapis.com/auth/cloud-platform" +] +} +} +} +}, +"revision": "20241106", +"rootUrl": "https://cloudbilling.googleapis.com/", +"schemas": { +"CacheFillRegions": { +"description": "Specifies the regions for Cache Fill.", +"id": "CacheFillRegions", +"properties": { +"destinationRegion": { +"description": "The destination region for cache fill.", +"enum": [ +"CACHE_FILL_DESTINATION_REGION_UNSPECIFIED", +"CACHE_FILL_DESTINATION_REGION_ASIA_PACIFIC", +"CACHE_FILL_DESTINATION_REGION_EUROPE", +"CACHE_FILL_DESTINATION_REGION_NORTH_AMERICA", +"CACHE_FILL_DESTINATION_REGION_OCEANIA", +"CACHE_FILL_DESTINATION_REGION_SOUTH_AMERICA", +"CACHE_FILL_DESTINATION_REGION_CHINA", +"CACHE_FILL_DESTINATION_REGION_OTHERS" +], +"enumDescriptions": [ +"Not specified", +"Asia Pacific", +"Europe", +"North America", +"Oceania", +"South America", +"China", +"Others" +], +"type": "string" +}, +"sourceRegion": { +"description": "The source region for cache fill.", +"enum": [ +"CACHE_FILL_SOURCE_REGION_UNSPECIFIED", +"CACHE_FILL_REGION_ASIA_PACIFIC", +"CACHE_FILL_SOURCE_REGION_EUROPE", +"CACHE_FILL_SOURCE_REGION_NORTH_AMERICA", +"CACHE_FILL_SOURCE_REGION_OCEANIA", +"CACHE_FILL_SOURCE_REGION_SOUTH_AMERICA" +], +"enumDescriptions": [ +"Not specified", +"Asia Pacific", +"Europe", +"North America", +"Oceania", +"South America" +], +"type": "string" +} +}, +"type": "object" +}, +"CloudCdnEgressWorkload": { +"description": "Specifies usage for Cloud CDN Data Transfer.", +"id": "CloudCdnEgressWorkload", +"properties": { +"cacheEgressDestination": { +"description": "The destination for the cache data transfer.", +"enum": [ +"CACHE_EGRESS_DESTINATION_UNSPECIFIED", +"CACHE_EGRESS_DESTINATION_ASIA_PACIFIC", +"CACHE_EGRESS_DESTINATION_CHINA", +"CACHE_EGRESS_DESTINATION_EUROPE", +"CACHE_EGRESS_DESTINATION_NORTH_AMERICA", +"CACHE_EGRESS_DESTINATION_OCEANIA", +"CACHE_EGRESS_DESTINATION_LATIN_AMERICA", +"CACHE_EGRESS_DESTINATION_OTHER_DESTINATIONS" +], +"enumDescriptions": [ +"Unspecified.", +"Asia Pacific.", +"China.", +"Europe.", +"North America.", +"Oceania including Australia, New Zealand, and surrounding Pacific Ocean islands such as Papua New Guinea and Fiji. This region excludes Hawaii.", +"Latin America (Including the Caribbean, South America and Central America.)", +"All other destinations (including Africa and Antarctica)" +], +"type": "string" +}, +"cacheEgressRate": { +"$ref": "Usage", +"description": "Cache data transfer usage. The rate of data cache transferred to the destination. Use units such as GiBy/s or TiBy/mo, based on [The Unified Code for Units of Measure](https://ucum.org/ucum.html) standard." +} +}, +"type": "object" +}, +"CloudCdnWorkload": { +"description": "Specifies usage for Cloud CDN resources.", +"id": "CloudCdnWorkload", +"properties": { +"cacheFillOriginService": { +"description": "The source service for the cache fill.", +"enum": [ +"CACHE_FILL_ORIGIN_SERVICE_UNSPECIFIED", +"CACHE_FILL_ORIGIN_SERVICE_GOOGLE_CLOUD_STORAGE_BUCKET", +"CACHE_FILL_ORIGIN_SERVICE_BACKEND_SERVICE" +], +"enumDescriptions": [ +"Not specified.", +"Origin service is Google Cloud Storage.", +"Origin service is backend service, such as Compute VMs, external backend, etc." +], +"type": "string" +}, +"cacheFillRate": { +"$ref": "Usage", +"description": "Cache fill usage. The rate of data transferred between cache fill regions. For example: units such as \"GiBy/s\" or \"TBy/mo\"." +}, +"cacheFillRegions": { +"$ref": "CacheFillRegions", +"description": "The regions where data is transferred from Google data locations into Google global cache servers. The SKU prices for cache fill across services are the same." +}, +"cacheLookUpRate": { +"$ref": "Usage", +"description": "Cache look up requests. This is specified to indicate the number of requests. For example: units such as \"1/s\"." +} +}, +"type": "object" +}, +"CloudInterconnectEgressWorkload": { +"description": "Includes the estimate for Interconnect Data Transfer only. To specify usage for data transfer between VMs and internet end-points, use the Standard Tier Internet Data Transfer interface.", +"id": "CloudInterconnectEgressWorkload", +"properties": { +"egressRate": { +"$ref": "Usage", +"description": "Outbound data transfer usage. This usage applies when you move or copy data from one Google Cloud service to another service. The units are GiBy/s, By/s, and so on, based on [The Unified Code for Units of Measure](https://ucum.org/ucum.html) standard." +}, +"interconnectConnectionLocation": { +"description": "Locations in the [Interconnect connection location table](https://cloud.google.com/vpc/network-pricing#interconnect-pricing). These are the Interconnect Data Transfer charges.", +"enum": [ +"INTERCONNECT_CONNECTION_LOCATION_UNSPECIFIED", +"INTERCONNECT_CONNECTION_LOCATION_ASIA", +"INTERCONNECT_CONNECTION_LOCATION_EUROPE", +"INTERCONNECT_CONNECTION_LOCATION_NORTH_AMERICA", +"INTERCONNECT_CONNECTION_LOCATION_SOUTH_AMERICA", +"INTERCONNECT_CONNECTION_LOCATION_AUSTRALIA" +], +"enumDescriptions": [ +"Unspecified.", +"Asia.", +"Europe.", +"North America.", +"South America.", +"Australia." +], +"type": "string" +} +}, +"type": "object" +}, +"CloudInterconnectWorkload": { +"description": "Specifies usage for Cloud Interconnect resources.", +"id": "CloudInterconnectWorkload", +"properties": { +"interconnectAttachments": { +"description": "VLAN attachment used for interconnect.", +"items": { +"$ref": "VlanAttachment" +}, +"type": "array" +}, +"interconnectType": { +"description": "VLAN attachment type", +"enum": [ +"INTERCONNECT_TYPE_UNSPECIFIED", +"INTERCONNECT_TYPE_DEDICATED", +"INTERCONNECT_TYPE_PARTNER" +], +"enumDescriptions": [ +"Unspecified", +"Type is dedicated", +"Type is partner" +], +"type": "string" +}, +"linkType": { +"description": "Interconnect circuit link type.", +"enum": [ +"LINK_TYPE_UNSPECIFIED", +"LINK_TYPE_ETHERNET_10G_LR", +"LINK_TYPE_ETHERNET_100G_LR" +], +"enumDescriptions": [ +"Unspecified", +"Link type is 10 Gbps.", +"Link type is 100 Gbps." +], +"type": "string" +}, +"provisionedLinkCount": { +"$ref": "Usage", +"description": "Interconnect usage. This is specified as a unitless quantity which indicates the number of circuit provisioned in interconnect." +} +}, +"type": "object" +}, +"CloudStorageEgressWorkload": { +"description": "Specification of a network type. Network data transfer within Google Cloud applies when you move or copy data from one Cloud Storage bucket to another or when another Google Cloud service accesses data in your Cloud Storage bucket.This includes the network data transfer within Google Cloud and the general network usage. * If transferring data between two regions, the source and destination fields are set to different values. For example: `source_continent` = \"SOURCE_CONTINENT_ASIA_PACIFIC\", `destination_continent` = \"SOURCE_CONTINENT_SOUTH_AMERICA\". * If transferring data within one region, the source and destination fields are set to the same value. For example: `source_continent` = \"SOURCE_CONTINENT_ASIA_PACIFIC\", `destination_continent` = \"SOURCE_CONTINENT_ASIA_PACIFIC\". Some examples for the Network data transfer traffic type on the pricing page. * Data moves between different locations on the same continent. `source_continent` = \"SOURCE_CONTINENT_ASIA_PACIFIC\", `destination_continent` = \"SOURCE_CONTINENT_ASIA_PACIFIC\". * Data moves between different continents and neither is Australia. `source_continent` = \"SOURCE_CONTINENT_NORTH_AMERICA\", `destination_continent` = \"SOURCE_CONTINENT_ASIA_PACIFIC\". * Data moves between different continents and one is Australia. `source_continent` = \"SOURCE_CONTINENT_NORTH_AMERICA\", `destination_continent` = \"SOURCE_CONTINENT_AUSTRALIA\".", +"id": "CloudStorageEgressWorkload", +"properties": { +"destinationContinent": { +"description": "Where the data is sent to.", +"enum": [ +"DESTINATION_CONTINENT_UNSPECIFIED", +"DESTINATION_CONTINENT_ASIA_PACIFIC", +"DESTINATION_CONTINENT_AUTRALIA", +"DESTINATION_CONTINENT_EUROPE", +"DESTINATION_CONTINENT_NORTH_AMERICA", +"DESTINATION_CONTINENT_SOUTH_AMERICA" +], +"enumDescriptions": [ +"Not specified.", +"Asia Pacific.", +"Australia.", +"Europe.", +"North America.", +"South America" +], +"type": "string" +}, +"egressRate": { +"$ref": "Usage", +"description": "Data transfer usage rate. This usage applies when you move or copy data from one Cloud Storage bucket to another or when another Google Cloud service accesses data in your Cloud Storage bucket. The expected units are GiBy/s, By/s, and so on, based on [The Unified Code for Units of Measure](https://ucum.org/ucum.html) standard." +}, +"sourceContinent": { +"description": "Where the data comes from.", +"enum": [ +"SOURCE_CONTINENT_UNSPECIFIED", +"SOURCE_CONTINENT_ASIA_PACIFIC", +"SOURCE_CONTINENT_AUSTRALIA", +"SOURCE_CONTINENT_EUROPE", +"SOURCE_CONTINENT_NORTH_AMERICA", +"SOURCE_CONTINENT_SOUTH_AMERICA" +], +"enumDescriptions": [ +"Not specified.", +"Asia Pacific.", +"Australia.", +"Europe.", +"North America.", +"South America." +], +"type": "string" +} +}, +"type": "object" +}, +"CloudStorageWorkload": { +"description": "Specifies usage of Cloud Storage resources.", +"id": "CloudStorageWorkload", +"properties": { +"dataRetrieval": { +"$ref": "Usage", +"description": "Data retrieval usage. A retrieval cost applies when data or metadata is read, copied, or rewritten . For example: units such as \"GiB/s\" or \"B/s\"." +}, +"dataStored": { +"$ref": "Usage", +"description": "Data storage usage. The amount of data stored in buckets. For example: units such as GiBy/s or TiBy/mo, based on [The Unified Code for Units of Measure](https://ucum.org/ucum.html) standard." +}, +"dualRegion": { +"$ref": "DualRegional", +"description": "Specify dual regions." +}, +"multiRegion": { +"$ref": "MultiRegional", +"description": "Specify multi regions." +}, +"operationA": { +"$ref": "Usage", +"description": "Class A operation usage in Cloud Storage, such as listing the objects in buckets. See the [operations pricing](https://cloud.google.com/storage/pricing#operations-pricing) tables for a list of which operations fall into each class. For example: units such as \"1/s\"." +}, +"operationB": { +"$ref": "Usage", +"description": "Class B operation usage in Cloud Storage, such as `getIamPolicy`. See the [operations pricing](https://cloud.google.com/storage/pricing#operations-pricing) tables for a list of which operations fall into each class. For example: units such as \"1/s\"." +}, +"region": { +"$ref": "Regional", +"description": "Specify a single region." +}, +"storageClass": { +"description": "The [storage class](https://cloud.google.com/storage/docs/storage-classes#classes) of the data and operation. For example: \"standard\" and \"nearline\".", +"type": "string" +} +}, +"type": "object" +}, +"Commitment": { +"description": "Commitments give you the ability to pay a recurring fee in exchange for a benefit, such as a discount for your use. For example, this object might contain details of a [spend-based committed use discount (CUD)](https://cloud.google.com/docs/cuds#spend_based_commitments). Within a CostScenario, adding a commitment includes the cost of the commitment and any discounts.", +"id": "Commitment", +"properties": { +"name": { +"description": "Required. A name for this commitment. All commitments in a CostScenario must have unique names. Each name may be at most 128 characters long.", +"type": "string" +}, +"vmResourceBasedCud": { +"$ref": "VmResourceBasedCud", +"description": "A resource-based committed use discount (CUD)." +} +}, +"type": "object" +}, +"CommitmentCostEstimate": { +"description": "Estimated cost for a commitment.", +"id": "CommitmentCostEstimate", +"properties": { +"commitmentTotalCostEstimate": { +"$ref": "CostEstimate", +"description": "Total estimated costs for the commitment." +}, +"name": { +"description": "The name of the commitment, as specified in the `CostScenario`.", +"type": "string" +}, +"skuCostEstimates": { +"description": "Estimated costs for each SKU in the commitment.", +"items": { +"$ref": "SkuCostEstimate" +}, +"type": "array" +} +}, +"type": "object" +}, +"ComputeVmWorkload": { +"description": "Specificies usage of a set of identical compute VM instances.", +"id": "ComputeVmWorkload", +"properties": { +"enableConfidentialCompute": { +"description": "Defines whether each instance has confidential compute enabled.", +"type": "boolean" +}, +"guestAccelerator": { +"$ref": "GuestAccelerator", +"description": "Guest accelerators attached to each machine." +}, +"instancesRunning": { +"$ref": "Usage", +"description": "VM usage. This is specified as a unitless quantity which indicates the number of instances running." +}, +"licenses": { +"description": "Premium image licenses used by each instance.", +"items": { +"type": "string" +}, +"type": "array" +}, +"machineType": { +"$ref": "MachineType", +"description": "The machine type." +}, +"persistentDisks": { +"description": "Persistent disks attached to each instance. Must include a boot disk.", +"items": { +"$ref": "PersistentDisk" +}, +"type": "array" +}, +"preemptible": { +"description": "Defines whether each instance is preemptible.", +"type": "boolean" +}, +"region": { +"description": "The [region](https://cloud.google.com/compute/docs/regions-zones) where the VMs run. For example: \"us-central1\".", +"type": "string" +} +}, +"type": "object" +}, +"CostEstimate": { +"description": "An estimated cost.", +"id": "CostEstimate", +"properties": { +"creditEstimates": { +"description": "The estimated credits applied.", +"items": { +"$ref": "CreditEstimate" +}, +"type": "array" +}, +"netCostEstimate": { +"$ref": "Money", +"description": "The estimated net cost after applying credits." +}, +"preCreditCostEstimate": { +"$ref": "Money", +"description": "The estimated cost prior to applying credits." +} +}, +"type": "object" +}, +"CostEstimationResult": { +"description": "The result of a estimating the costs of a `CostScenario`.", +"id": "CostEstimationResult", +"properties": { +"currencyCode": { +"description": "Required. The ISO 4217 currency code for the cost estimate.", +"type": "string" +}, +"segmentCostEstimates": { +"description": "Required. Estimated costs for each idealized month of a `CostScenario`.", +"items": { +"$ref": "SegmentCostEstimate" +}, +"type": "array" +}, +"skus": { +"description": "Required. Information about SKUs used in the estimate.", +"items": { +"$ref": "Sku" +}, +"type": "array" +} +}, +"type": "object" +}, +"CostScenario": { +"description": "Encapsulates all the information needed to perform a cost estimate. It includes a specification of the Google Cloud usage whose costs are estimated, and configuration options.", +"id": "CostScenario", +"properties": { +"commitments": { +"description": "New commitments to estimate the costs for. The cost of the commitments will be included in the estimate result and discounts the commitment entitles will be included in the workload cost estimates. A maximum of 100 workloads can be provided.", +"items": { +"$ref": "Commitment" +}, +"type": "array" +}, +"scenarioConfig": { +"$ref": "ScenarioConfig", +"description": "Configuration for the scenario." +}, +"workloads": { +"description": "The Google Cloud usage whose costs are estimated. A maximum of 100 workloads can be provided.", +"items": { +"$ref": "Workload" +}, +"type": "array" +} +}, +"type": "object" +}, +"CreditEstimate": { +"description": "An estimated credit applied to the costs on a SKU.", +"id": "CreditEstimate", +"properties": { +"creditAmount": { +"$ref": "Money", +"description": "The estimated credit amount." +}, +"creditDescription": { +"description": "The credit description.", +"type": "string" +}, +"creditType": { +"description": "The credit type.", +"type": "string" +} +}, +"type": "object" +}, +"CustomMachineType": { +"description": "Specification of a custom machine type.", +"id": "CustomMachineType", +"properties": { +"machineSeries": { +"description": "Required. The machine series. Only certain [machine series](https://cloud.google.com/compute/docs/general-purpose-machines#custom_machine_types) support custom configurations. For example: \"n1\".", +"type": "string" +}, +"memorySizeGb": { +"description": "Required. Memory size of the VM in GB (2^30 bytes). Must be an increment of 0.25 (256 MB). Each [machine series](https://cloud.google.com/compute/docs/machine-types#machine_type_comparison) has limitations on allowed values for the ratio of memory-to-vCPU count.", +"format": "double", +"type": "number" +}, +"virtualCpuCount": { +"description": "Required. The number of vCPUs. The allowed values depend on the [machine series](https://cloud.google.com/compute/docs/machine-types#machine_type_comparison).", +"format": "int64", +"type": "string" +} +}, +"type": "object" +}, +"Decimal": { +"description": "A representation of a decimal value, such as 2.5. Clients may convert values into language-native decimal formats, such as Java's [BigDecimal](https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/math/BigDecimal.html) or Python's [decimal.Decimal](https://docs.python.org/3/library/decimal.html).", +"id": "Decimal", +"properties": { +"value": { +"description": "The decimal value, as a string. The string representation consists of an optional sign, `+` (`U+002B`) or `-` (`U+002D`), followed by a sequence of zero or more decimal digits (\"the integer\"), optionally followed by a fraction, optionally followed by an exponent. An empty string **should** be interpreted as `0`. The fraction consists of a decimal point followed by zero or more decimal digits. The string must contain at least one digit in either the integer or the fraction. The number formed by the sign, the integer and the fraction is referred to as the significand. The exponent consists of the character `e` (`U+0065`) or `E` (`U+0045`) followed by one or more decimal digits. Services **should** normalize decimal values before storing them by: - Removing an explicitly-provided `+` sign (`+2.5` -> `2.5`). - Replacing a zero-length integer value with `0` (`.5` -> `0.5`). - Coercing the exponent character to upper-case, with explicit sign (`2.5e8` -> `2.5E+8`). - Removing an explicitly-provided zero exponent (`2.5E0` -> `2.5`). Services **may** perform additional normalization based on its own needs and the internal decimal implementation selected, such as shifting the decimal point and exponent value together (example: `2.5E-1` <-> `0.25`). Additionally, services **may** preserve trailing zeroes in the fraction to indicate increased precision, but are not required to do so. Note that only the `.` character is supported to divide the integer and the fraction; `,` **should not** be supported regardless of locale. Additionally, thousand separators **should not** be supported. If a service does support them, values **must** be normalized. The ENBF grammar is: DecimalString = '' | [Sign] Significand [Exponent]; Sign = '+' | '-'; Significand = Digits '.' | [Digits] '.' Digits; Exponent = ('e' | 'E') [Sign] Digits; Digits = { '0' | '1' | '2' | '3' | '4' | '5' | '6' | '7' | '8' | '9' }; Services **should** clearly document the range of supported values, the maximum supported precision (total number of digits), and, if applicable, the scale (number of digits after the decimal point), as well as how it behaves when receiving out-of-bounds values. Services **may** choose to accept values passed as input even when the value has a higher precision or scale than the service supports, and **should** round the value to fit the supported scale. Alternatively, the service **may** error with `400 Bad Request` (`INVALID_ARGUMENT` in gRPC) if precision would be lost. Services **should** error with `400 Bad Request` (`INVALID_ARGUMENT` in gRPC) if the service receives a value outside of the supported range.", +"type": "string" +} +}, +"type": "object" +}, +"DualRegional": { +"description": "Area contains dual locations.", +"id": "DualRegional", +"properties": { +"name": { +"description": "The [location name](https://cloud.google.com/storage/docs/locations#available-locations) where the data is stored. For example: \"asia1\" for dual region.", +"type": "string" +} +}, +"type": "object" +}, +"EstimateCostScenarioForBillingAccountRequest": { +"description": "Request for EstimateCostScenarioForBillingAccount.", +"id": "EstimateCostScenarioForBillingAccountRequest", +"properties": { +"costScenario": { +"$ref": "CostScenario", +"description": "The scenario to estimate costs for." +} +}, +"type": "object" +}, +"EstimateCostScenarioForBillingAccountResponse": { +"description": "Response for EstimateCostScenarioForBillingAccount", +"id": "EstimateCostScenarioForBillingAccountResponse", +"properties": { +"costEstimationResult": { +"$ref": "CostEstimationResult", +"description": "The result of the cost estimation." +} +}, +"type": "object" +}, +"EstimateCostScenarioWithListPriceRequest": { +"description": "Request for EstimateCostScenarioWithListPrice.", +"id": "EstimateCostScenarioWithListPriceRequest", +"properties": { +"costScenario": { +"$ref": "CostScenario", +"description": "The scenario to estimate costs for." +} +}, +"type": "object" +}, +"EstimateCostScenarioWithListPriceResponse": { +"description": "Response for EstimateCostScenarioWithListPrice", +"id": "EstimateCostScenarioWithListPriceResponse", +"properties": { +"costEstimationResult": { +"$ref": "CostEstimationResult", +"description": "The result of the cost estimation." +} +}, +"type": "object" +}, +"EstimationTimePoint": { +"description": "Represents a point in time.", +"id": "EstimationTimePoint", +"properties": { +"estimationTimeFrameOffset": { +"description": "The point in time, relative to the start of the time frame covered by the cost estimate.", +"format": "google-duration", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudBillingBillingaccountpricesV1betaAggregationInfo": { +"description": "Encapsulates the aggregation information such as aggregation level and interval for a billing account price.", +"id": "GoogleCloudBillingBillingaccountpricesV1betaAggregationInfo", +"properties": { +"interval": { +"description": "Interval at which usage is aggregated to compute cost. Example: \"MONTHLY\" interval indicates that usage is aggregated every month.", +"enum": [ +"INTERVAL_UNSPECIFIED", +"INTERVAL_MONTHLY", +"INTERVAL_DAILY" +], +"enumDescriptions": [ +"Default unspecified value.", +"Usage is aggregated every month.", +"Usage is aggregated every day." +], +"type": "string" +}, +"level": { +"description": "Level at which usage is aggregated to compute cost. Example: \"ACCOUNT\" level indicates that usage is aggregated across all projects in a single account.", +"enum": [ +"LEVEL_UNSPECIFIED", +"LEVEL_ACCOUNT", +"LEVEL_PROJECT" +], +"enumDescriptions": [ +"Default unspecified value.", +"Usage is aggregated at an account level.", +"Usage is aggregated at a project level." +], +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudBillingBillingaccountpricesV1betaBillingAccountPrice": { +"description": "Encapsulates the latest price for a billing account SKU.", +"id": "GoogleCloudBillingBillingaccountpricesV1betaBillingAccountPrice", +"properties": { +"currencyCode": { +"description": "ISO-4217 currency code for the price.", +"type": "string" +}, +"name": { +"description": "Resource name for the latest billing account price.", +"type": "string" +}, +"priceReason": { +"$ref": "GoogleCloudBillingBillingaccountpricesV1betaPriceReason", +"description": "Background information on the origin of the price." +}, +"rate": { +"$ref": "GoogleCloudBillingBillingaccountpricesV1betaRate", +"description": "Rate price metadata. Billing account SKUs with `Rate` price are offered by pricing tiers. The price can have 1 or more rate pricing tiers." +}, +"valueType": { +"description": "Type of the price. The possible values are: [\"unspecified\", \"rate\"].", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudBillingBillingaccountpricesV1betaDefaultPrice": { +"description": "Encapsulates a default price which is the current list price.", +"id": "GoogleCloudBillingBillingaccountpricesV1betaDefaultPrice", +"properties": {}, +"type": "object" +}, +"GoogleCloudBillingBillingaccountpricesV1betaFixedDiscount": { +"description": "Encapsulates a discount off the list price, anchored to the list price as of a fixed time.", +"id": "GoogleCloudBillingBillingaccountpricesV1betaFixedDiscount", +"properties": { +"discountPercent": { +"$ref": "Decimal", +"description": "Percentage of the fixed discount." +}, +"discountScopeType": { +"description": "Type of the fixed discount scope which indicates the source of the discount. It can have values such as 'unspecified' and 'sku-group'.", +"type": "string" +}, +"fixTime": { +"description": "Time that the fixed discount is anchored to.", +"format": "google-datetime", +"type": "string" +}, +"skuGroup": { +"description": "SKU group where the fixed discount comes from.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudBillingBillingaccountpricesV1betaFixedPrice": { +"description": "Encapsulates a set fixed price applicable during the terms of a contract agreement.", +"id": "GoogleCloudBillingBillingaccountpricesV1betaFixedPrice", +"properties": {}, +"type": "object" +}, +"GoogleCloudBillingBillingaccountpricesV1betaFloatingDiscount": { +"description": "Encapsulates a discount off the current list price, not anchored to any list price as of a fixed time.", +"id": "GoogleCloudBillingBillingaccountpricesV1betaFloatingDiscount", +"properties": { +"discountPercent": { +"$ref": "Decimal", +"description": "Percentage of the floating discount." +}, +"discountScopeType": { +"description": "Type of the floating discount scope which indicates the source of the discount. It can have values such as 'unspecified' and 'sku-group'.", +"type": "string" +}, +"skuGroup": { +"description": "SKU group where the floating discount comes from.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudBillingBillingaccountpricesV1betaListBillingAccountPricesResponse": { +"description": "Response message for ListBillingAccountPrices.", +"id": "GoogleCloudBillingBillingaccountpricesV1betaListBillingAccountPricesResponse", +"properties": { +"billingAccountPrices": { +"description": "The returned billing account prices.", +"items": { +"$ref": "GoogleCloudBillingBillingaccountpricesV1betaBillingAccountPrice" +}, +"type": "array" +}, +"nextPageToken": { +"description": "Token that can be sent as `page_token` in the subsequent request to retrieve the next page. If this field is empty, there are no subsequent pages.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudBillingBillingaccountpricesV1betaListPriceAsCeiling": { +"description": "Encapsulates a contract feature that the list price (DefaultPrice) will be used for the price if the current list price drops lower than the custom fixed price. Available to new contracts after March 21, 2022. Applies to all fixed price SKUs in the contract, including FixedPrice, FixedDiscount, MigratedPrice, and MergedPrice.", +"id": "GoogleCloudBillingBillingaccountpricesV1betaListPriceAsCeiling", +"properties": {}, +"type": "object" +}, +"GoogleCloudBillingBillingaccountpricesV1betaMergedPrice": { +"description": "Encapsulates a price after merging from multiple sources. With merged tiers, each individual tier can be from a different source with different discount types.", +"id": "GoogleCloudBillingBillingaccountpricesV1betaMergedPrice", +"properties": {}, +"type": "object" +}, +"GoogleCloudBillingBillingaccountpricesV1betaMigratedPrice": { +"description": "Encapsulates a price migrated from other SKUs.", +"id": "GoogleCloudBillingBillingaccountpricesV1betaMigratedPrice", +"properties": { +"sourceSku": { +"description": "Source SKU where the discount is migrated from. Format: billingAccounts/{billing_account}/skus/{sku}", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudBillingBillingaccountpricesV1betaPriceReason": { +"description": "Encapsulates a price reason which contains background information about the origin of the price.", +"id": "GoogleCloudBillingBillingaccountpricesV1betaPriceReason", +"properties": { +"defaultPrice": { +"$ref": "GoogleCloudBillingBillingaccountpricesV1betaDefaultPrice", +"description": "Default price which is the current list price." +}, +"fixedDiscount": { +"$ref": "GoogleCloudBillingBillingaccountpricesV1betaFixedDiscount", +"description": "Discount off the list price, anchored to the list price as of a fixed time." +}, +"fixedPrice": { +"$ref": "GoogleCloudBillingBillingaccountpricesV1betaFixedPrice", +"description": "Fixed price applicable during the terms of a contract agreement." +}, +"floatingDiscount": { +"$ref": "GoogleCloudBillingBillingaccountpricesV1betaFloatingDiscount", +"description": "Discount off the current list price, not anchored to any list price as of a fixed time." +}, +"listPriceAsCeiling": { +"$ref": "GoogleCloudBillingBillingaccountpricesV1betaListPriceAsCeiling", +"description": "Contract feature that the list price (DefaultPrice) will be used for the price if the current list price drops lower than the custom fixed price. Available to new contracts after March 21, 2022. Applies to all fixed price SKUs in the contract, including FixedPrice, FixedDiscount, MigratedPrice, and MergedPrice." +}, +"mergedPrice": { +"$ref": "GoogleCloudBillingBillingaccountpricesV1betaMergedPrice", +"description": "Price after merging from multiple sources." +}, +"migratedPrice": { +"$ref": "GoogleCloudBillingBillingaccountpricesV1betaMigratedPrice", +"description": "Price migrated from other SKUs." +}, +"type": { +"description": "Type of the price reason. It can have values such as 'unspecified', 'default-price', 'fixed-price', 'fixed-discount', 'floating-discount', 'migrated-price', 'merged-price', 'list-price-as-ceiling'.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudBillingBillingaccountpricesV1betaRate": { +"description": "Encapsulates a `Rate` price. Billing account SKUs with `Rate` price are offered by pricing tiers. The price have 1 or more rate pricing tiers.", +"id": "GoogleCloudBillingBillingaccountpricesV1betaRate", +"properties": { +"aggregationInfo": { +"$ref": "GoogleCloudBillingBillingaccountpricesV1betaAggregationInfo", +"description": "Aggregation info for tiers such as aggregation level and interval." +}, +"tiers": { +"description": "All tiers associated with the `Rate` price.", +"items": { +"$ref": "GoogleCloudBillingBillingaccountpricesV1betaRateTier" +}, +"type": "array" +}, +"unitInfo": { +"$ref": "GoogleCloudBillingBillingaccountpricesV1betaUnitInfo", +"description": "Unit info such as name and quantity." +} +}, +"type": "object" +}, +"GoogleCloudBillingBillingaccountpricesV1betaRateTier": { +"description": "Encapsulates a rate price tier.", +"id": "GoogleCloudBillingBillingaccountpricesV1betaRateTier", +"properties": { +"contractPrice": { +"$ref": "Money", +"description": "Negotiated contract price specific for a billing account." +}, +"effectiveDiscountPercent": { +"$ref": "Decimal", +"description": "Percentage of effective discount calculated using the current list price per pricing tier. Formula used: effective_discount_percent = (list_price - contract_price) / list_price \u00d7 100 If list_price and contract_price are zero, this field is the same as `discount_percent` of FixedDiscount and FloatingDiscount. If your contract does NOT have the feature LIST_PRICE_AS_CEILING enabled, the effective_discount_percent can be negative if the SKU has a FixedDiscount and the current list price is lower than the list price on the date of the contract agreement. See the `FixedDiscount.fix_time` on when the discount was set. If you have questions regarding pricing per SKU, contact your Account team for more details." +}, +"listPrice": { +"$ref": "Money", +"description": "List price of one tier." +}, +"startAmount": { +"$ref": "Decimal", +"description": "Lower bound amount for a tier. Tiers 0-100, 100-200 will be represented with two tiers with `start_amount` 0 and 100." +} +}, +"type": "object" +}, +"GoogleCloudBillingBillingaccountpricesV1betaUnitInfo": { +"description": "Encapsulates the unit information for a Rate", +"id": "GoogleCloudBillingBillingaccountpricesV1betaUnitInfo", +"properties": { +"unit": { +"description": "Shorthand for the unit. Example: GiBy.mo.", +"type": "string" +}, +"unitDescription": { +"description": "Human-readable description of the unit. Example: gibibyte month.", +"type": "string" +}, +"unitQuantity": { +"$ref": "Decimal", +"description": "Unit quantity for the tier. Example: if the RateTier price is $1 per 1000000 Bytes, then `unit_quantity` is set to 1000000." +} +}, +"type": "object" +}, +"GoogleCloudBillingBillingaccountservicesV1betaBillingAccountService": { +"description": "Encapsulates a Google Cloud service visible to a billing account.", +"id": "GoogleCloudBillingBillingaccountservicesV1betaBillingAccountService", +"properties": { +"displayName": { +"description": "Description of the BillingAccountService. Example: \"BigQuery\", \"Compute Engine\".", +"type": "string" +}, +"name": { +"description": "Resource name for the BillingAccountService. Example: \"billingAccounts/012345-567890-ABCDEF/services/DA34-426B-A397\".", +"type": "string" +}, +"serviceId": { +"description": "Identifier for the service. It is the string after the collection identifier \"services/\". Example: \"DA34-426B-A397\".", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudBillingBillingaccountservicesV1betaListBillingAccountServicesResponse": { +"description": "Response message for ListBillingAccountServices.", +"id": "GoogleCloudBillingBillingaccountservicesV1betaListBillingAccountServicesResponse", +"properties": { +"billingAccountServices": { +"description": "The returned billing account services.", +"items": { +"$ref": "GoogleCloudBillingBillingaccountservicesV1betaBillingAccountService" +}, +"type": "array" +}, +"nextPageToken": { +"description": "Token that can be sent as `page_token` in the subsequent request to retrieve the next page. If this field is empty, there are no subsequent pages.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudBillingBillingaccountskugroupsV1betaBillingAccountSkuGroup": { +"description": "Encapsulates a stock keeping (SKU) group visible to a billing account. A SKU group represents a collection of SKUs that are related to each other. For example, the `AI Platform APIs` SKU group includes SKUs from the Cloud Dialogflow API, the Cloud Text-to-Speech API, and additional related APIs.", +"id": "GoogleCloudBillingBillingaccountskugroupsV1betaBillingAccountSkuGroup", +"properties": { +"displayName": { +"description": "Description of the BillingAccountSkuGroup. Example: \"A2 VMs (1 Year CUD)\".", +"type": "string" +}, +"name": { +"description": "Resource name for the BillingAccountSkuGroup. Example: \"billingAccounts/012345-567890-ABCDEF/skuGroups/0e6403d1-4694-44d2-a696-7a78b1a69301\".", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudBillingBillingaccountskugroupsV1betaListBillingAccountSkuGroupsResponse": { +"description": "Response message for ListBillingAccountSkuGroups.", +"id": "GoogleCloudBillingBillingaccountskugroupsV1betaListBillingAccountSkuGroupsResponse", +"properties": { +"billingAccountSkuGroups": { +"description": "The returned publicly listed billing account SKU groups.", +"items": { +"$ref": "GoogleCloudBillingBillingaccountskugroupsV1betaBillingAccountSkuGroup" +}, +"type": "array" +}, +"nextPageToken": { +"description": "Token that can be sent as `page_token` in the subsequent request to retrieve the next page. If this field is empty, there are no subsequent pages.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudBillingBillingaccountskugroupskusV1betaBillingAccountSkuGroupSku": { +"description": "Encapsulates a SKU that is part of a billing account SKU group.", +"id": "GoogleCloudBillingBillingaccountskugroupskusV1betaBillingAccountSkuGroupSku", +"properties": { +"billingAccountService": { +"description": "BillingAccountService that the BillingAccountSkuGroupSku belongs to.", +"type": "string" +}, +"displayName": { +"description": "Description of the BillingAccountSkuGroupSku. Example: \"A2 Instance Core running in Hong Kong\".", +"type": "string" +}, +"geoTaxonomy": { +"$ref": "GoogleCloudBillingBillingaccountskugroupskusV1betaGeoTaxonomy", +"description": "Geographic metadata that applies to the BillingAccountSkuGroupSku." +}, +"name": { +"description": "Resource name for the BillingAccountSkuGroupSku. Example: \"billingAccounts/012345-567890-ABCDEF/skuGroups/0e6403d1-4694-44d2-a696-7a78b1a69301/skus/AA95-CD31-42FE\".", +"type": "string" +}, +"productTaxonomy": { +"$ref": "GoogleCloudBillingBillingaccountskugroupskusV1betaProductTaxonomy", +"description": "List of product categories that apply to the BillingAccountSkuGroupSku." +}, +"skuId": { +"description": "Unique identifier for the SKU. It is the string after the collection identifier \"skus/\" Example: \"AA95-CD31-42FE\".", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudBillingBillingaccountskugroupskusV1betaGeoTaxonomy": { +"description": "Encapsulates geographic metadata, such as regions and multi-regions like `us-east4` or `European Union`.", +"id": "GoogleCloudBillingBillingaccountskugroupskusV1betaGeoTaxonomy", +"properties": { +"globalMetadata": { +"$ref": "GoogleCloudBillingBillingaccountskugroupskusV1betaGeoTaxonomyGlobal", +"description": "Global geographic metadata with no regions." +}, +"multiRegionalMetadata": { +"$ref": "GoogleCloudBillingBillingaccountskugroupskusV1betaGeoTaxonomyMultiRegional", +"description": "Multi-regional geographic metadata with 2 or more regions." +}, +"regionalMetadata": { +"$ref": "GoogleCloudBillingBillingaccountskugroupskusV1betaGeoTaxonomyRegional", +"description": "Regional geographic metadata with 1 region." +}, +"type": { +"description": "Type of geographic taxonomy associated with the billing account SKU group SKU.", +"enum": [ +"TYPE_UNSPECIFIED", +"TYPE_GLOBAL", +"TYPE_REGIONAL", +"TYPE_MULTI_REGIONAL" +], +"enumDescriptions": [ +"Default value. Unspecified type.", +"Global geographic taxonomy with no regions.", +"Regional geographic taxonomy with 1 region.", +"Multi-regional geographic taxonomy with 2 or more regions." +], +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudBillingBillingaccountskugroupskusV1betaGeoTaxonomyGlobal": { +"description": "Encapsulates a global geographic taxonomy.", +"id": "GoogleCloudBillingBillingaccountskugroupskusV1betaGeoTaxonomyGlobal", +"properties": {}, +"type": "object" +}, +"GoogleCloudBillingBillingaccountskugroupskusV1betaGeoTaxonomyMultiRegional": { +"description": "Encapsulates a multi-regional geographic taxonomy.", +"id": "GoogleCloudBillingBillingaccountskugroupskusV1betaGeoTaxonomyMultiRegional", +"properties": { +"regions": { +"description": "Google Cloud regions associated with the multi-regional geographic taxonomy.", +"items": { +"$ref": "GoogleCloudBillingBillingaccountskugroupskusV1betaGeoTaxonomyRegion" +}, +"type": "array" +} +}, +"type": "object" +}, +"GoogleCloudBillingBillingaccountskugroupskusV1betaGeoTaxonomyRegion": { +"description": "Encapsulates a Google Cloud region.", +"id": "GoogleCloudBillingBillingaccountskugroupskusV1betaGeoTaxonomyRegion", +"properties": { +"region": { +"description": "Description of a Google Cloud region. Example: \"us-west2\".", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudBillingBillingaccountskugroupskusV1betaGeoTaxonomyRegional": { +"description": "Encapsulates a regional geographic taxonomy.", +"id": "GoogleCloudBillingBillingaccountskugroupskusV1betaGeoTaxonomyRegional", +"properties": { +"region": { +"$ref": "GoogleCloudBillingBillingaccountskugroupskusV1betaGeoTaxonomyRegion", +"description": "Google Cloud region associated with the regional geographic taxonomy." +} +}, +"type": "object" +}, +"GoogleCloudBillingBillingaccountskugroupskusV1betaListBillingAccountSkuGroupSkusResponse": { +"description": "Response message for ListBillingAccountSkuGroupSkus.", +"id": "GoogleCloudBillingBillingaccountskugroupskusV1betaListBillingAccountSkuGroupSkusResponse", +"properties": { +"billingAccountSkuGroupSkus": { +"description": "The returned billing account SKU group SKUs.", +"items": { +"$ref": "GoogleCloudBillingBillingaccountskugroupskusV1betaBillingAccountSkuGroupSku" +}, +"type": "array" +}, +"nextPageToken": { +"description": "Token that can be sent as `page_token` in the subsequent request to retrieve the next page. If this field is empty, there are no subsequent pages.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudBillingBillingaccountskugroupskusV1betaProductTaxonomy": { +"description": "Encapsulates product categories, such as `Serverless`, `Cloud Run`, `TaskQueue`, and others.", +"id": "GoogleCloudBillingBillingaccountskugroupskusV1betaProductTaxonomy", +"properties": { +"taxonomyCategories": { +"description": "All product categories that the billing account SKU group SKU belong to.", +"items": { +"$ref": "GoogleCloudBillingBillingaccountskugroupskusV1betaTaxonomyCategory" +}, +"type": "array" +} +}, +"type": "object" +}, +"GoogleCloudBillingBillingaccountskugroupskusV1betaTaxonomyCategory": { +"description": "Encapsulates a product category.", +"id": "GoogleCloudBillingBillingaccountskugroupskusV1betaTaxonomyCategory", +"properties": { +"category": { +"description": "Name of the product category.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudBillingBillingaccountskusV1betaBillingAccountSku": { +"description": "Encapsulates a stock keeping unit (SKU) visible to a billing account. A SKU distinctly identifies a resource that you can purchase. For a list of available SKUs, see [SKUs](https://cloud.google.com/skus).", +"id": "GoogleCloudBillingBillingaccountskusV1betaBillingAccountSku", +"properties": { +"billingAccountService": { +"description": "BillingAccountService that the BillingAccountSku belongs to.", +"type": "string" +}, +"displayName": { +"description": "Description of the BillingAccountSku. Example: \"A2 Instance Core running in Hong Kong\".", +"type": "string" +}, +"geoTaxonomy": { +"$ref": "GoogleCloudBillingBillingaccountskusV1betaGeoTaxonomy", +"description": "Geographic metadata that applies to the BillingAccountSku." +}, +"name": { +"description": "Resource name for the BillingAccountSku. Example: \"billingAccounts/012345-567890-ABCDEF/skus/AA95-CD31-42FE\".", +"type": "string" +}, +"productTaxonomy": { +"$ref": "GoogleCloudBillingBillingaccountskusV1betaProductTaxonomy", +"description": "List of product categories that apply to the BillingAccountSku." +}, +"skuId": { +"description": "Unique identifier for the SKU. It is the string after the collection identifier \"skus/\" Example: \"AA95-CD31-42FE\".", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudBillingBillingaccountskusV1betaGeoTaxonomy": { +"description": "Encapsulates geographic metadata, such as regions and multi-regions like `us-east4` or `European Union`.", +"id": "GoogleCloudBillingBillingaccountskusV1betaGeoTaxonomy", +"properties": { +"globalMetadata": { +"$ref": "GoogleCloudBillingBillingaccountskusV1betaGeoTaxonomyGlobal", +"description": "Global geographic metadata with no regions." +}, +"multiRegionalMetadata": { +"$ref": "GoogleCloudBillingBillingaccountskusV1betaGeoTaxonomyMultiRegional", +"description": "Multi-regional geographic metadata with 2 or more regions." +}, +"regionalMetadata": { +"$ref": "GoogleCloudBillingBillingaccountskusV1betaGeoTaxonomyRegional", +"description": "Regional geographic metadata with 1 region." +}, +"type": { +"description": "Type of geographic taxonomy associated with the billing account SKU.", +"enum": [ +"TYPE_UNSPECIFIED", +"TYPE_GLOBAL", +"TYPE_REGIONAL", +"TYPE_MULTI_REGIONAL" +], +"enumDescriptions": [ +"Default value. Unspecified type.", +"Global geographic taxonomy with no regions.", +"Regional geographic taxonomy with 1 region.", +"Multi-regional geographic taxonomy with 2 or more regions." +], +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudBillingBillingaccountskusV1betaGeoTaxonomyGlobal": { +"description": "Encapsulates a global geographic taxonomy.", +"id": "GoogleCloudBillingBillingaccountskusV1betaGeoTaxonomyGlobal", +"properties": {}, +"type": "object" +}, +"GoogleCloudBillingBillingaccountskusV1betaGeoTaxonomyMultiRegional": { +"description": "Encapsulates a multi-regional geographic taxonomy.", +"id": "GoogleCloudBillingBillingaccountskusV1betaGeoTaxonomyMultiRegional", +"properties": { +"regions": { +"description": "Google Cloud regions associated with the multi-regional geographic taxonomy.", +"items": { +"$ref": "GoogleCloudBillingBillingaccountskusV1betaGeoTaxonomyRegion" +}, +"type": "array" +} +}, +"type": "object" +}, +"GoogleCloudBillingBillingaccountskusV1betaGeoTaxonomyRegion": { +"description": "Encapsulates a Google Cloud region.", +"id": "GoogleCloudBillingBillingaccountskusV1betaGeoTaxonomyRegion", +"properties": { +"region": { +"description": "Description of a Google Cloud region. Example: \"us-west2\".", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudBillingBillingaccountskusV1betaGeoTaxonomyRegional": { +"description": "Encapsulates a regional geographic taxonomy.", +"id": "GoogleCloudBillingBillingaccountskusV1betaGeoTaxonomyRegional", +"properties": { +"region": { +"$ref": "GoogleCloudBillingBillingaccountskusV1betaGeoTaxonomyRegion", +"description": "Google Cloud region associated with the regional geographic taxonomy." +} +}, +"type": "object" +}, +"GoogleCloudBillingBillingaccountskusV1betaListBillingAccountSkusResponse": { +"description": "Response message for ListBillingAccountSkus.", +"id": "GoogleCloudBillingBillingaccountskusV1betaListBillingAccountSkusResponse", +"properties": { +"billingAccountSkus": { +"description": "The returned billing account SKUs.", +"items": { +"$ref": "GoogleCloudBillingBillingaccountskusV1betaBillingAccountSku" +}, +"type": "array" +}, +"nextPageToken": { +"description": "Token that can be sent as `page_token` in the subsequent request to retrieve the next page. If this field is empty, there are no subsequent pages.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudBillingBillingaccountskusV1betaProductTaxonomy": { +"description": "Encapsulates product categories, such as `Serverless`, `Cloud Run`, `TaskQueue`, and others.", +"id": "GoogleCloudBillingBillingaccountskusV1betaProductTaxonomy", +"properties": { +"taxonomyCategories": { +"description": "All product categories that the billing account SKU belong to.", +"items": { +"$ref": "GoogleCloudBillingBillingaccountskusV1betaTaxonomyCategory" +}, +"type": "array" +} +}, +"type": "object" +}, +"GoogleCloudBillingBillingaccountskusV1betaTaxonomyCategory": { +"description": "Encapsulates a product category.", +"id": "GoogleCloudBillingBillingaccountskusV1betaTaxonomyCategory", +"properties": { +"category": { +"description": "Name of the product category.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudBillingPricesV1betaAggregationInfo": { +"description": "Encapsulates the aggregation information such as aggregation level and interval for a price.", +"id": "GoogleCloudBillingPricesV1betaAggregationInfo", +"properties": { +"interval": { +"description": "Interval at which usage is aggregated to compute cost. Example: \"MONTHLY\" interval indicates that usage is aggregated every month.", +"enum": [ +"INTERVAL_UNSPECIFIED", +"INTERVAL_MONTHLY", +"INTERVAL_DAILY" +], +"enumDescriptions": [ +"Default unspecified value.", +"Usage is aggregated every month.", +"Usage is aggregated every day." +], +"type": "string" +}, +"level": { +"description": "Level at which usage is aggregated to compute cost. Example: \"ACCOUNT\" level indicates that usage is aggregated across all projects in a single account.", +"enum": [ +"LEVEL_UNSPECIFIED", +"LEVEL_ACCOUNT", +"LEVEL_PROJECT" +], +"enumDescriptions": [ +"Default unspecified value.", +"Usage is aggregated at an account level.", +"Usage is aggregated at a project level." +], +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudBillingPricesV1betaListPricesResponse": { +"description": "Response message for ListPrices.", +"id": "GoogleCloudBillingPricesV1betaListPricesResponse", +"properties": { +"nextPageToken": { +"description": "Token that can be sent as `page_token` in the subsequent request to retrieve the next page. If this field is empty, there are no subsequent pages.", +"type": "string" +}, +"prices": { +"description": "The returned publicly listed prices.", +"items": { +"$ref": "GoogleCloudBillingPricesV1betaPrice" +}, +"type": "array" +} +}, +"type": "object" +}, +"GoogleCloudBillingPricesV1betaPrice": { +"description": "Encapsulates the latest price for a SKU.", +"id": "GoogleCloudBillingPricesV1betaPrice", +"properties": { +"currencyCode": { +"description": "ISO-4217 currency code for the price.", +"type": "string" +}, +"name": { +"description": "Resource name for the latest price.", +"type": "string" +}, +"rate": { +"$ref": "GoogleCloudBillingPricesV1betaRate", +"description": "Rate price metadata. SKUs with `Rate` price are offered by pricing tiers. The price can have 1 or more rate pricing tiers." +}, +"valueType": { +"description": "Type of the price. It can have values: [\"unspecified\", \"rate\"].", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudBillingPricesV1betaRate": { +"description": "Encapsulates a `Rate` price. SKUs with `Rate` price are offered by pricing tiers. The price have 1 or more rate pricing tiers.", +"id": "GoogleCloudBillingPricesV1betaRate", +"properties": { +"aggregationInfo": { +"$ref": "GoogleCloudBillingPricesV1betaAggregationInfo", +"description": "Aggregation info for tiers such as aggregation level and interval." +}, +"tiers": { +"description": "All tiers associated with the `Rate` price.", +"items": { +"$ref": "GoogleCloudBillingPricesV1betaRateTier" +}, +"type": "array" +}, +"unitInfo": { +"$ref": "GoogleCloudBillingPricesV1betaUnitInfo", +"description": "Unit info such as name and quantity." +} +}, +"type": "object" +}, +"GoogleCloudBillingPricesV1betaRateTier": { +"description": "Encapsulates a rate price tier.", +"id": "GoogleCloudBillingPricesV1betaRateTier", +"properties": { +"listPrice": { +"$ref": "Money", +"description": "List price of one tier." +}, +"startAmount": { +"$ref": "Decimal", +"description": "Lower bound amount for a tier. Tiers 0-100, 100-200 will be represented with two tiers with `start_amount` 0 and 100." +} +}, +"type": "object" +}, +"GoogleCloudBillingPricesV1betaUnitInfo": { +"description": "Encapsulates the unit information for a Rate", +"id": "GoogleCloudBillingPricesV1betaUnitInfo", +"properties": { +"unit": { +"description": "Shorthand for the unit. Example: GiBy.mo.", +"type": "string" +}, +"unitDescription": { +"description": "Human-readable description of the unit. Example: gibibyte month.", +"type": "string" +}, +"unitQuantity": { +"$ref": "Decimal", +"description": "Unit quantity for the tier. Example: if the RateTier price is $1 per 1000000 Bytes, then `unit_quantity` is set to 1000000." +} +}, +"type": "object" +}, +"GoogleCloudBillingSkugroupsV1betaListSkuGroupsResponse": { +"description": "Response message for ListSkuGroups.", +"id": "GoogleCloudBillingSkugroupsV1betaListSkuGroupsResponse", +"properties": { +"nextPageToken": { +"description": "Token that can be sent as `page_token` in the subsequent request to retrieve the next page. If this field is empty, there are no subsequent pages.", +"type": "string" +}, +"skuGroups": { +"description": "The returned publicly listed SKU groups.", +"items": { +"$ref": "GoogleCloudBillingSkugroupsV1betaSkuGroup" +}, +"type": "array" +} +}, +"type": "object" +}, +"GoogleCloudBillingSkugroupsV1betaSkuGroup": { +"description": "Encapsulates a publicly listed stock keeping unit (SKU) group. A SKU group represents a collection of SKUs that are related to each other. For example, the `AI Platform APIs` SKU group includes SKUs from the Cloud Dialogflow API, the Cloud Text-to-Speech API, and additional related APIs.", +"id": "GoogleCloudBillingSkugroupsV1betaSkuGroup", +"properties": { +"displayName": { +"description": "Description of the SKU group. Example: \"A2 VMs (1 Year CUD)\".", +"type": "string" +}, +"name": { +"description": "Resource name for the SKU group. Example: \"skuGroups/0e6403d1-4694-44d2-a696-7a78b1a69301\".", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudBillingSkugroupskusV1betaGeoTaxonomy": { +"description": "Encapsulates geographic metadata, such as regions and multi-regions like `us-east4` or `European Union`.", +"id": "GoogleCloudBillingSkugroupskusV1betaGeoTaxonomy", +"properties": { +"globalMetadata": { +"$ref": "GoogleCloudBillingSkugroupskusV1betaGeoTaxonomyGlobal", +"description": "Global geographic metadata with no regions." +}, +"multiRegionalMetadata": { +"$ref": "GoogleCloudBillingSkugroupskusV1betaGeoTaxonomyMultiRegional", +"description": "Multi-regional geographic metadata with 2 or more regions." +}, +"regionalMetadata": { +"$ref": "GoogleCloudBillingSkugroupskusV1betaGeoTaxonomyRegional", +"description": "Regional geographic metadata with 1 region." +}, +"type": { +"description": "Type of geographic taxonomy associated with the SKU group SKU.", +"enum": [ +"TYPE_UNSPECIFIED", +"TYPE_GLOBAL", +"TYPE_REGIONAL", +"TYPE_MULTI_REGIONAL" +], +"enumDescriptions": [ +"Default value. Unspecified type.", +"Global geographic taxonomy with no regions.", +"Regional geographic taxonomy with 1 region.", +"Multi-regional geographic taxonomy with 2 or more regions." +], +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudBillingSkugroupskusV1betaGeoTaxonomyGlobal": { +"description": "Encapsulates a global geographic taxonomy.", +"id": "GoogleCloudBillingSkugroupskusV1betaGeoTaxonomyGlobal", +"properties": {}, +"type": "object" +}, +"GoogleCloudBillingSkugroupskusV1betaGeoTaxonomyMultiRegional": { +"description": "Encapsulates a multi-regional geographic taxonomy.", +"id": "GoogleCloudBillingSkugroupskusV1betaGeoTaxonomyMultiRegional", +"properties": { +"regions": { +"description": "Google Cloud regions associated with the multi-regional geographic taxonomy.", +"items": { +"$ref": "GoogleCloudBillingSkugroupskusV1betaGeoTaxonomyRegion" +}, +"type": "array" +} +}, +"type": "object" +}, +"GoogleCloudBillingSkugroupskusV1betaGeoTaxonomyRegion": { +"description": "Encapsulates a Google Cloud region.", +"id": "GoogleCloudBillingSkugroupskusV1betaGeoTaxonomyRegion", +"properties": { +"region": { +"description": "Description of a Google Cloud region. Example: \"us-west2\".", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudBillingSkugroupskusV1betaGeoTaxonomyRegional": { +"description": "Encapsulates a regional geographic taxonomy.", +"id": "GoogleCloudBillingSkugroupskusV1betaGeoTaxonomyRegional", +"properties": { +"region": { +"$ref": "GoogleCloudBillingSkugroupskusV1betaGeoTaxonomyRegion", +"description": "Google Cloud region associated with the regional geographic taxonomy." +} +}, +"type": "object" +}, +"GoogleCloudBillingSkugroupskusV1betaListSkuGroupSkusResponse": { +"description": "Response message for ListSkuGroupSkus.", +"id": "GoogleCloudBillingSkugroupskusV1betaListSkuGroupSkusResponse", +"properties": { +"nextPageToken": { +"description": "Token that can be sent as `page_token` in the subsequent request to retrieve the next page. If this field is empty, there are no subsequent pages.", +"type": "string" +}, +"skuGroupSkus": { +"description": "The returned SKU group SKUs.", +"items": { +"$ref": "GoogleCloudBillingSkugroupskusV1betaSkuGroupSku" +}, +"type": "array" +} +}, +"type": "object" +}, +"GoogleCloudBillingSkugroupskusV1betaProductTaxonomy": { +"description": "Encapsulates product categories, such as `Serverless`, `Cloud Run`, `TaskQueue`, and others.", +"id": "GoogleCloudBillingSkugroupskusV1betaProductTaxonomy", +"properties": { +"taxonomyCategories": { +"description": "All product categories that the SKU group SKU belongs to.", +"items": { +"$ref": "GoogleCloudBillingSkugroupskusV1betaTaxonomyCategory" +}, +"type": "array" +} +}, +"type": "object" +}, +"GoogleCloudBillingSkugroupskusV1betaSkuGroupSku": { +"description": "Encapsulates a publicly listed stock keeping unit (SKU) that is part of a publicly listed SKU group. A SKU group represents a collection of SKUs that are related to each other. For example, the `AI Platform APIs` SKU group includes SKUs from the Cloud Dialogflow API, the Cloud Text-to-Speech API, and additional related APIs.", +"id": "GoogleCloudBillingSkugroupskusV1betaSkuGroupSku", +"properties": { +"displayName": { +"description": "Description of the SkuGroupSku. Example: \"A2 Instance Core running in Hong Kong\".", +"type": "string" +}, +"geoTaxonomy": { +"$ref": "GoogleCloudBillingSkugroupskusV1betaGeoTaxonomy", +"description": "Geographic metadata that applies to the SkuGroupSku." +}, +"name": { +"description": "Resource name for the SkuGroupSku. Example: \"skuGroups/0e6403d1-4694-44d2-a696-7a78b1a69301/skus/AA95-CD31-42FE\".", +"type": "string" +}, +"productTaxonomy": { +"$ref": "GoogleCloudBillingSkugroupskusV1betaProductTaxonomy", +"description": "List of product categories that apply to the SkuGroupSku." +}, +"service": { +"description": "Service that the SkuGroupSku belongs to.", +"type": "string" +}, +"skuId": { +"description": "Unique identifier for the SKU. It is the string after the collection identifier \"skus/\" Example: \"AA95-CD31-42FE\".", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudBillingSkugroupskusV1betaTaxonomyCategory": { +"description": "Encapsulates a product category.", +"id": "GoogleCloudBillingSkugroupskusV1betaTaxonomyCategory", +"properties": { +"category": { +"description": "Name of the product category.", +"type": "string" +} +}, +"type": "object" +}, +"GuestAccelerator": { +"description": "Specification of a set of guest accelerators attached to a machine.", +"id": "GuestAccelerator", +"properties": { +"acceleratorCount": { +"description": "The number of the guest accelerator cards exposed to each instance.", +"format": "int64", +"type": "string" +}, +"acceleratorType": { +"description": "The type of the guest accelerator cards. For example: \"nvidia-tesla-t4\".", +"type": "string" +} +}, +"type": "object" +}, +"InterRegionEgress": { +"description": "Data transfer between two regions.", +"id": "InterRegionEgress", +"properties": { +"destinationRegion": { +"description": "Which [region](https://cloud.google.com/compute/docs/regions-zones) the data is transferred to.", +"type": "string" +}, +"egressRate": { +"$ref": "Usage", +"description": "VM to VM data transfer usage. The expected units such are GiBy/s, By/s, and so on." +}, +"sourceRegion": { +"description": "Which [region](https://cloud.google.com/compute/docs/regions-zones) the data is transferred from.", +"type": "string" +} +}, +"type": "object" +}, +"IntraRegionEgress": { +"description": "Data transfer within the same region. When the source region and destination region are in the same zone, using internal IP addresses, there isn't any charge for data transfer.", +"id": "IntraRegionEgress", +"properties": { +"egressRate": { +"$ref": "Usage", +"description": "VM to VM data transfer usage. The expected are GiBy/s, By/s, and so on." +} +}, +"type": "object" +}, +"MachineType": { +"description": "Specification of machine series, memory, and number of vCPUs.", +"id": "MachineType", +"properties": { +"customMachineType": { +"$ref": "CustomMachineType" +}, +"predefinedMachineType": { +"$ref": "PredefinedMachineType" +} +}, +"type": "object" +}, +"Money": { +"description": "Represents an amount of money with its currency type.", +"id": "Money", +"properties": { +"currencyCode": { +"description": "The three-letter currency code defined in ISO 4217.", +"type": "string" +}, +"nanos": { +"description": "Number of nano (10^-9) units of the amount. The value must be between -999,999,999 and +999,999,999 inclusive. If `units` is positive, `nanos` must be positive or zero. If `units` is zero, `nanos` can be positive, zero, or negative. If `units` is negative, `nanos` must be negative or zero. For example $-1.75 is represented as `units`=-1 and `nanos`=-750,000,000.", +"format": "int32", +"type": "integer" +}, +"units": { +"description": "The whole units of the amount. For example if `currencyCode` is `\"USD\"`, then 1 unit is one US dollar.", +"format": "int64", +"type": "string" +} +}, +"type": "object" +}, +"MultiRegional": { +"description": "Area contains multiple locations.", +"id": "MultiRegional", +"properties": { +"name": { +"description": "The [location name](https://cloud.google.com/storage/docs/locations#available-locations) where the data is stored. For example: \"us\" for multi-region.", +"type": "string" +} +}, +"type": "object" +}, +"PersistentDisk": { +"description": "Specification of a persistent disk attached to a VM.", +"id": "PersistentDisk", +"properties": { +"diskSize": { +"$ref": "Usage", +"description": "Specifies the size of disk. Must be at least 10 GB." +}, +"diskType": { +"description": "The [disk type](https://cloud.google.com/compute/docs/disks#disk-types). For example: \"pd-standard\".", +"type": "string" +}, +"provisionedIops": { +"$ref": "Usage", +"description": "Indicates how many IOPS to provision for the disk for extreme persistent disks. This sets the number of I/O operations per second that the disk can handle. Values must be between 10,000 and 120,000." +}, +"scope": { +"description": "The geographic scope of the disk. Defaults to `SCOPE_ZONAL` if not specified.", +"enum": [ +"SCOPE_UNSPECIFIED", +"SCOPE_ZONAL", +"SCOPE_REGIONAL" +], +"enumDescriptions": [ +"Unspecified.", +"The disk exists in a single zone.", +"The disk is replicated in a secondary zone within the same region." +], +"type": "string" +} +}, +"type": "object" +}, +"PredefinedMachineType": { +"description": "Specification of a predefined machine type.", +"id": "PredefinedMachineType", +"properties": { +"machineType": { +"description": "The [machine type](https://cloud.google.com/compute/docs/machine-types). For example: \"n1-standard1\".", +"type": "string" +} +}, +"type": "object" +}, +"PremiumTierEgressWorkload": { +"description": "Specify a Premium Tier Internet Data Transfer networking workload.", +"id": "PremiumTierEgressWorkload", +"properties": { +"destinationContinent": { +"description": "Where the data is sent to.", +"enum": [ +"DESTINATION_CONTINENT_UNSPECIFIED", +"DESTINATION_CONTINENT_ASIA_PACIFIC", +"DESTINATION_CONTINENT_AFRICA", +"DESTINATION_CONTINENT_NORTH_AMERICA", +"DESTINATION_CONTINENT_AUTRALIA", +"DESTINATION_CONTINENT_CENTRAL_AMERICA", +"DESTINATION_CONTINENT_CHINA", +"DESTINATION_CONTINENT_EASTERN_EUROPE", +"DESTINATION_CONTINENT_WESTERN_EUROPE", +"DESTINATION_CONTINENT_EMEA", +"DESTINATION_CONTINENT_INDIA", +"DESTINATION_CONTINENT_MIDDLE_EAST", +"DESTINATION_CONTINENT_SOUTH_AMERICA" +], +"enumDescriptions": [ +"Not specified.", +"Asia Pacific.", +"Africa.", +"North America.", +"Australia.", +"Central America.", +"China.", +"Eastern Europe.", +"Western Europe.", +"Other regions in Europe, Middle East and Africa.", +"India", +"Middle East.", +"South America." +], +"type": "string" +}, +"egressRate": { +"$ref": "Usage", +"description": "Premium Tier Data Transfer usage. The expected units are GiBy/s, By/s, and so on, based on [The Unified Code for Units of Measure](https://ucum.org/ucum.html) standard." +}, +"sourceRegion": { +"description": "Which [region](https://cloud.google.com/compute/docs/regions-zones) the data comes from.", +"type": "string" +} +}, +"type": "object" +}, +"Price": { +"description": "The price of a SKU at a point int time.", +"id": "Price", +"properties": { +"effectiveTime": { +"$ref": "EstimationTimePoint", +"description": "The timestamp within the estimation time frame when the price was set." +}, +"priceType": { +"description": "The type of price. Possible values: \"RATE\"", +"type": "string" +}, +"rate": { +"$ref": "Rate", +"description": "A set of tiered rates." +} +}, +"type": "object" +}, +"Rate": { +"description": "A SKU price consisting of tiered rates.", +"id": "Rate", +"properties": { +"tiers": { +"description": "The service tiers.", +"items": { +"$ref": "RateTier" +}, +"type": "array" +}, +"unit": { +"description": "The SKU's pricing unit. For example, if the tier price is $1 per 1000000 Bytes, then this field will show 'By'. The `start_amount` field in each tier will be in this unit.", +"type": "string" +}, +"unitCount": { +"description": "The SKU's count for the pricing unit. For example, if the tier price is $1 per 1000000 Bytes, then this column will show 1000000.", +"format": "double", +"type": "number" +} +}, +"type": "object" +}, +"RateTier": { +"description": "Pricing details for a service tier.", +"id": "RateTier", +"properties": { +"price": { +"$ref": "Money", +"description": "The price for this tier." +}, +"startAmount": { +"description": "The magnitude of usage in which the tier interval begins. Example: \"From 100 GiBi the price is $1 per byte\" implies `start_amount` = 100", +"format": "double", +"type": "number" +} +}, +"type": "object" +}, +"Regional": { +"description": "Area contains only one location.", +"id": "Regional", +"properties": { +"name": { +"description": "The [location name](https://cloud.google.com/storage/docs/locations#available-locations). For example: \"us-central1\" for region.", +"type": "string" +} +}, +"type": "object" +}, +"ScenarioConfig": { +"description": "Configuration for a CostScenario. Specifies how costs are calculated.", +"id": "ScenarioConfig", +"properties": { +"estimateDuration": { +"description": "Time frame for the estimate. Workloads must specify usage for this duration. Duration must be at least 1 hour (3,600 seconds) and at most 10 years (315,360,000 seconds). The calculations for years and months are based on a 730-hour (2,628,000-second) month. For durations longer than one month (2,628,000 seconds), the duration is rounded up to the next month, so the estimate shows you the costs for full months. For example, a duration of 3,232,800 seconds (roughly 5 weeks) is rounded up to 2 months.", +"format": "google-duration", +"type": "string" +} +}, +"type": "object" +}, +"SegmentCostEstimate": { +"description": "Workload cost estimates for a single time segment.", +"id": "SegmentCostEstimate", +"properties": { +"commitmentCostEstimates": { +"description": "Estimated costs for each commitment.", +"items": { +"$ref": "CommitmentCostEstimate" +}, +"type": "array" +}, +"segmentStartTime": { +"$ref": "EstimationTimePoint", +"description": "Timestamp for the start of the segment." +}, +"segmentTotalCostEstimate": { +"$ref": "CostEstimate", +"description": "Total estimated costs for the time segment." +}, +"workloadCostEstimates": { +"description": "Estimated costs for each workload.", +"items": { +"$ref": "WorkloadCostEstimate" +}, +"type": "array" +} +}, +"type": "object" +}, +"Sku": { +"description": "Information about SKUs appearing in the cost estimate.", +"id": "Sku", +"properties": { +"displayName": { +"description": "The display name for the SKU. Example: A2 Instance Core running in Americas", +"type": "string" +}, +"prices": { +"description": "A timeline of prices for a SKU in chronological order. Note: The API currently only supports using a constant price for the entire estimation time frame so this list will contain a single value.", +"items": { +"$ref": "Price" +}, +"type": "array" +}, +"sku": { +"description": "The resource name for the SKU. Example: \"services/DA34-426B-A397/skus/AA95-CD31-42FE\"", +"type": "string" +} +}, +"type": "object" +}, +"SkuCostEstimate": { +"description": "Estimated cost for usage on a SKU.", +"id": "SkuCostEstimate", +"properties": { +"costEstimate": { +"$ref": "CostEstimate", +"description": "The estimated cost for the usage on this SKU." +}, +"sku": { +"description": "The resource name for the SKU. Example: \"services/DA34-426B-A397/skus/AA95-CD31-42FE\" More information about the SKU can be found in the `skus` field of the `CostEstimationResult`.", +"type": "string" +}, +"usageAmount": { +"description": "The amount of usage on this SKU.", +"format": "double", +"type": "number" +}, +"usageUnit": { +"description": "The unit for the usage on this SKU.", +"type": "string" +} +}, +"type": "object" +}, +"StandardTierEgressWorkload": { +"description": "Specify Standard Tier Internet Data Transfer.", +"id": "StandardTierEgressWorkload", +"properties": { +"egressRate": { +"$ref": "Usage", +"description": "Standard Tier Data Transfer usage. The expected units are GiBy/s, By/s, and so on, based on the [The Unified Code for Units of Measure](https://ucum.org/ucum.html) standard." +}, +"sourceRegion": { +"description": "Which [region](https://cloud.google.com/compute/docs/regions-zones) the data is transferred from.", +"type": "string" +} +}, +"type": "object" +}, +"Usage": { +"description": "An amount of usage over a time frame.", +"id": "Usage", +"properties": { +"usageRateTimeline": { +"$ref": "UsageRateTimeline", +"description": "A timeline of usage rates over the estimate interval." +} +}, +"type": "object" +}, +"UsageRateTimeline": { +"description": "A timeline of usage rates. Consists of a series of entries, each of which specifies a constant rate of usage during a time interval. Each entry contains an effective time. The usage rate is in effect from that time until the effective time of the subsequent entry, or, for the last entry, for the remaining portion of estimation time frame. Effective times are specified as an offset into the estimation time frame. Usage is considered to be zero until the `effective_time` of the first entry. All subsequent entries must have an effective time greater than the previous entry and less than the estimate time frame. The effective time on all entries must be an integer number of hours.", +"id": "UsageRateTimeline", +"properties": { +"unit": { +"description": "The unit for the usage rate in each timeline entry. If you provide an incorrect unit for an instance, the correct unit is provided in the error message. The supported units are a subset of [The Unified Code for Units of Measure](https://ucum.org/ucum.html) standard: * **Time units (TIME-UNIT)** * `s` second * `min` minute * `h` hour * `d` day * `wk` week * `mo` month * `yr` year * `ms` millisecond * `us` microsecond * `ns` nanosecond * **Basic storage units (BASIC-STORAGE-UNIT)** * `bit` bit * `By` byte * **Count units (COUNT-UNIT)** * `count` count * **Prefixes (PREFIX)** * `k` kilo (10^3) * `M` mega (10^6) * `G` giga (10^9) * `T` tera (10^12) * `P` peta (10^15) * `Ki` kibi (2^10) * `Mi` mebi (2^20) * `Gi` gibi (2^30) * `Ti` tebi (2^40) * `Pi` pebi (2^50) **Grammar** The grammar also includes these connectors: * `/` division or ratio (as an infix operator). For example: `kBy/{email}` or `MiBy/10ms`. * `.` multiplication or composition (as an infix operator). For example: `GBy.d` or `k{watt}.h`. The grammar for a unit is as follows: ``` Expression = Component { \".\" Component } { \"/\" Component } ; Component = ( [ PREFIX ] UNIT | \"%\" ) [ Annotation ] | Annotation | \"1\" ; UNIT = TIME-UNIT | STORAGE-UNIT | DATA-UNIT | COUNT-UNIT Annotation = \"{\" NAME \"}\" ; ``` Examples: * Request per second: `1/s` or `{requests}/s` * GibiBytes: `GiBy` * GibiBytes * seconds: `GiBy.s`", +"type": "string" +}, +"usageRateTimelineEntries": { +"description": "The timeline entries. Each entry has a start time and usage rate. The start time specifies the effective time of the usage rate. The entries must be sorted by start time in an increasing order.", +"items": { +"$ref": "UsageRateTimelineEntry" +}, +"type": "array" +} +}, +"type": "object" +}, +"UsageRateTimelineEntry": { +"description": "A usage rate timeline entry. Each entry specifies a constant usage rate during a time interval.", +"id": "UsageRateTimelineEntry", +"properties": { +"effectiveTime": { +"$ref": "EstimationTimePoint", +"description": "The effective time for this entry. The usage rate is in effect starting at this time until the effective time of the subsequent entry in the timeline. The last entry defines the usage rate until the end of the `Usage` time frame. Must correspond to an integer number of hours." +}, +"usageRate": { +"description": "The usage rate.", +"format": "double", +"type": "number" +} +}, +"type": "object" +}, +"VlanAttachment": { +"description": "VLAN attachment for Cloud Interconnect.", +"id": "VlanAttachment", +"properties": { +"bandwidth": { +"description": "Capacities in the [pricing table](https://cloud.google.com/vpc/network-pricing#interconnect-pricing) Examples of capacity are: 50/100/200/300/400/500-Mbps, 1/2/5/10/20/50-Gbps.", +"enum": [ +"BANDWIDTH_UNSPECIFIED", +"BANDWIDTH_BPS_50M", +"BANDWIDTH_BPS_100M", +"BANDWIDTH_BPS_200M", +"BANDWIDTH_BPS_300M", +"BANDWIDTH_BPS_400M", +"BANDWIDTH_BPS_500M", +"BANDWIDTH_BPS_1G", +"BANDWIDTH_BPS_2G", +"BANDWIDTH_BPS_5G", +"BANDWIDTH_BPS_10G", +"BANDWIDTH_BPS_20G", +"BANDWIDTH_BPS_50G" +], +"enumDescriptions": [ +"Unspecified", +"50 Mbit/s", +"100 Mbit/s", +"200 Mbit/s", +"300 Mbit/s", +"400 Mbit/s", +"500 Mbit/s", +"1 Gbit/s", +"2 Gbit/s", +"5 Gbit/s", +"10 Gbit/s", +"20 Gbit/s", +"50 Gbit/s" +], +"type": "string" +}, +"vlanCount": { +"$ref": "Usage", +"description": "VLAN usage. This is specified as a unitless quantity which indicates the number of VLAN attachment used in interconnect." +} +}, +"type": "object" +}, +"VmResourceBasedCud": { +"description": "Specifies a resource-based committed use discount (CUD).", +"id": "VmResourceBasedCud", +"properties": { +"guestAccelerator": { +"$ref": "GuestAccelerator", +"description": "Guest accelerator, known as GPU." +}, +"machineSeries": { +"description": "The machine series for CUD. For example: \"n1\" for general purpose N1 machine type commitments. \"n2\" for general purpose N2 machine type commitments. \"e2\" for general purpose E2 machine type commitments. \"n2d\" for general purpose N2D machine type commitments. \"t2d\" for general purpose T2D machine type commitments. \"c2\"/\"c2d\" for compute-optimized commitments. \"m1\"/\"m2\" for the memory-optimized commitments. \"a2' for the accelerator-optimized commitments.", +"type": "string" +}, +"memorySizeGb": { +"description": "Memory size of the VM in GB (2^30 bytes). Must be an increment of 0.25 (256 MB).", +"format": "double", +"type": "number" +}, +"plan": { +"description": "Commitment usage plan.", +"enum": [ +"COMMITMENT_PLAN_UNSPECIFIED", +"TWELVE_MONTH", +"THIRTY_SIX_MONTH" +], +"enumDescriptions": [ +"Not specified commitment plan.", +"1 year commitment.", +"3 years commitment." +], +"type": "string" +}, +"region": { +"description": "The region where the VM runs. For example: \"us-central1\"", +"type": "string" +}, +"virtualCpuCount": { +"description": "The number of vCPUs. The number of vCPUs must be an integer of 0 or more and can be even or odd.", +"format": "int64", +"type": "string" +} +}, +"type": "object" +}, +"VmToVmEgressWorkload": { +"description": "Specify VM to VM data transfer.", +"id": "VmToVmEgressWorkload", +"properties": { +"interRegionEgress": { +"$ref": "InterRegionEgress" +}, +"intraRegionEgress": { +"$ref": "IntraRegionEgress" +} +}, +"type": "object" +}, +"Workload": { +"description": "Specifies usage on a single Google Cloud product over a time frame. Each Google Cloud product has its own message, containing specific product configuration parameters of the product usage amounts along each dimension in which the product is billed.", +"id": "Workload", +"properties": { +"cloudCdnEgressWorkload": { +"$ref": "CloudCdnEgressWorkload", +"description": "Usage on Google Cloud CDN Data Transfer." +}, +"cloudCdnWorkload": { +"$ref": "CloudCdnWorkload", +"description": "Usage on Google Cloud CDN." +}, +"cloudInterconnectEgressWorkload": { +"$ref": "CloudInterconnectEgressWorkload", +"description": "Usage on Google Cloud Interconnect Data Transfer." +}, +"cloudInterconnectWorkload": { +"$ref": "CloudInterconnectWorkload", +"description": "Usage on Google Cloud Interconnect." +}, +"cloudStorageEgressWorkload": { +"$ref": "CloudStorageEgressWorkload", +"description": "Usage on Cloud Storage Data Transfer." +}, +"cloudStorageWorkload": { +"$ref": "CloudStorageWorkload", +"description": "Usage on Google Cloud Storage." +}, +"computeVmWorkload": { +"$ref": "ComputeVmWorkload", +"description": "Usage of a Google Compute Engine Virtual Machine." +}, +"name": { +"description": "Required. A name for this workload. All workloads in a `CostScenario` must have a unique `name`. Each `name` may be at most 128 characters long.", +"type": "string" +}, +"premiumTierEgressWorkload": { +"$ref": "PremiumTierEgressWorkload", +"description": "Usage on Premium Tier Internet Data Transfer." +}, +"standardTierEgressWorkload": { +"$ref": "StandardTierEgressWorkload", +"description": "Usage on Standard Tier Internet Data Transfer." +}, +"vmToVmEgressWorkload": { +"$ref": "VmToVmEgressWorkload", +"description": "Usage on VM to VM Data Transfer." +} +}, +"type": "object" +}, +"WorkloadCostEstimate": { +"description": "Estimated cost for a workload.", +"id": "WorkloadCostEstimate", +"properties": { +"name": { +"description": "The name of the workload, as specified in the `CostScenario`.", +"type": "string" +}, +"skuCostEstimates": { +"description": "Estimated costs for each SKU in the workload.", +"items": { +"$ref": "SkuCostEstimate" +}, +"type": "array" +}, +"workloadTotalCostEstimate": { +"$ref": "CostEstimate", +"description": "Total estimated costs for the workload." +} +}, +"type": "object" +} +}, +"servicePath": "", +"title": "Cloud Billing API", +"version": "v1beta", +"version_module": true +} \ No newline at end of file diff --git a/.venv/lib/python3.11/site-packages/googleapiclient/discovery_cache/documents/cloudbuild.v1alpha2.json b/.venv/lib/python3.11/site-packages/googleapiclient/discovery_cache/documents/cloudbuild.v1alpha2.json new file mode 100644 index 0000000000000000000000000000000000000000..df9964cb4f00a65bb54e652557bf1aea692347dd --- /dev/null +++ b/.venv/lib/python3.11/site-packages/googleapiclient/discovery_cache/documents/cloudbuild.v1alpha2.json @@ -0,0 +1,2406 @@ +{ + "auth": { + "oauth2": { + "scopes": { + "https://www.googleapis.com/auth/cloud-platform": { + "description": "See, edit, configure, and delete your Google Cloud data and see the email address for your Google Account." + } + } + } + }, + "basePath": "", + "baseUrl": "https://cloudbuild.googleapis.com/", + "batchPath": "batch", + "canonicalName": "Cloud Build", + "description": "Creates and manages builds on Google Cloud Platform.", + "discoveryVersion": "v1", + "documentationLink": "https://cloud.google.com/cloud-build/docs/", + "fullyEncodeReservedExpansion": true, + "icons": { + "x16": "http://www.google.com/images/icons/product/search-16.gif", + "x32": "http://www.google.com/images/icons/product/search-32.gif" + }, + "id": "cloudbuild:v1alpha2", + "kind": "discovery#restDescription", + "mtlsRootUrl": "https://cloudbuild.mtls.googleapis.com/", + "name": "cloudbuild", + "ownerDomain": "google.com", + "ownerName": "Google", + "parameters": { + "$.xgafv": { + "description": "V1 error format.", + "enum": [ + "1", + "2" + ], + "enumDescriptions": [ + "v1 error format", + "v2 error format" + ], + "location": "query", + "type": "string" + }, + "access_token": { + "description": "OAuth access token.", + "location": "query", + "type": "string" + }, + "alt": { + "default": "json", + "description": "Data format for response.", + "enum": [ + "json", + "media", + "proto" + ], + "enumDescriptions": [ + "Responses with Content-Type of application/json", + "Media download with context-dependent Content-Type", + "Responses with Content-Type of application/x-protobuf" + ], + "location": "query", + "type": "string" + }, + "callback": { + "description": "JSONP", + "location": "query", + "type": "string" + }, + "fields": { + "description": "Selector specifying which fields to include in a partial response.", + "location": "query", + "type": "string" + }, + "key": { + "description": "API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token.", + "location": "query", + "type": "string" + }, + "oauth_token": { + "description": "OAuth 2.0 token for the current user.", + "location": "query", + "type": "string" + }, + "prettyPrint": { + "default": "true", + "description": "Returns response with indentations and line breaks.", + "location": "query", + "type": "boolean" + }, + "quotaUser": { + "description": "Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters.", + "location": "query", + "type": "string" + }, + "uploadType": { + "description": "Legacy upload protocol for media (e.g. \"media\", \"multipart\").", + "location": "query", + "type": "string" + }, + "upload_protocol": { + "description": "Upload protocol for media (e.g. \"raw\", \"multipart\").", + "location": "query", + "type": "string" + } + }, + "protocol": "rest", + "resources": { + "projects": { + "resources": { + "locations": { + "resources": { + "operations": { + "methods": { + "cancel": { + "description": "Starts asynchronous cancellation on a long-running operation. The server makes a best effort to cancel the operation, but success is not guaranteed. If the server doesn't support this method, it returns `google.rpc.Code.UNIMPLEMENTED`. Clients can use Operations.GetOperation or other methods to check whether the cancellation succeeded or whether the operation completed despite cancellation. On successful cancellation, the operation is not deleted; instead, it becomes an operation with an Operation.error value with a google.rpc.Status.code of 1, corresponding to `Code.CANCELLED`.", + "flatPath": "v1alpha2/projects/{projectsId}/locations/{locationsId}/operations/{operationsId}:cancel", + "httpMethod": "POST", + "id": "cloudbuild.projects.locations.operations.cancel", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "The name of the operation resource to be cancelled.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/operations/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1alpha2/{+name}:cancel", + "request": { + "$ref": "CancelOperationRequest" + }, + "response": { + "$ref": "Empty" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "get": { + "description": "Gets the latest state of a long-running operation. Clients can use this method to poll the operation result at intervals as recommended by the API service.", + "flatPath": "v1alpha2/projects/{projectsId}/locations/{locationsId}/operations/{operationsId}", + "httpMethod": "GET", + "id": "cloudbuild.projects.locations.operations.get", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "The name of the operation resource.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/operations/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1alpha2/{+name}", + "response": { + "$ref": "Operation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + } + } + } + } + }, + "workerPools": { + "methods": { + "create": { + "description": "Creates a `WorkerPool` to run the builds, and returns the new worker pool.", + "flatPath": "v1alpha2/projects/{projectsId}/workerPools", + "httpMethod": "POST", + "id": "cloudbuild.projects.workerPools.create", + "parameterOrder": [ + "parent" + ], + "parameters": { + "parent": { + "description": "Required. The parent resource where this book will be created. Format: projects/{project}", + "location": "path", + "pattern": "^projects/[^/]+$", + "required": true, + "type": "string" + }, + "workerPoolId": { + "description": "Required. Immutable. The ID to use for the `WorkerPool`, which will become the final component of the resource name. This value should be 1-63 characters, and valid characters are /a-z-/.", + "location": "query", + "type": "string" + } + }, + "path": "v1alpha2/{+parent}/workerPools", + "request": { + "$ref": "WorkerPool" + }, + "response": { + "$ref": "WorkerPool" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "delete": { + "description": "Deletes a `WorkerPool`.", + "flatPath": "v1alpha2/projects/{projectsId}/workerPools/{workerPoolsId}", + "httpMethod": "DELETE", + "id": "cloudbuild.projects.workerPools.delete", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. The name of the `WorkerPool` to delete. Format: projects/{project}/workerPools/{workerPool}", + "location": "path", + "pattern": "^projects/[^/]+/workerPools/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1alpha2/{+name}", + "response": { + "$ref": "Empty" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "get": { + "description": "Returns details of a `WorkerPool`.", + "flatPath": "v1alpha2/projects/{projectsId}/workerPools/{workerPoolsId}", + "httpMethod": "GET", + "id": "cloudbuild.projects.workerPools.get", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. The name of the `WorkerPool` to retrieve. Format: projects/{project}/workerPools/{workerPool}", + "location": "path", + "pattern": "^projects/[^/]+/workerPools/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1alpha2/{+name}", + "response": { + "$ref": "WorkerPool" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "list": { + "description": "Lists `WorkerPool`s by project.", + "flatPath": "v1alpha2/projects/{projectsId}/workerPools", + "httpMethod": "GET", + "id": "cloudbuild.projects.workerPools.list", + "parameterOrder": [ + "parent" + ], + "parameters": { + "parent": { + "description": "Required. The parent, which owns this collection of `WorkerPools`. Format: projects/{project}", + "location": "path", + "pattern": "^projects/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1alpha2/{+parent}/workerPools", + "response": { + "$ref": "ListWorkerPoolsResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "patch": { + "description": "Updates a `WorkerPool`.", + "flatPath": "v1alpha2/projects/{projectsId}/workerPools/{workerPoolsId}", + "httpMethod": "PATCH", + "id": "cloudbuild.projects.workerPools.patch", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Output only. The resource name of the `WorkerPool`. Format of the name is `projects/{project_id}/workerPools/{worker_pool_id}`, where the value of {worker_pool_id} is provided in the CreateWorkerPool request.", + "location": "path", + "pattern": "^projects/[^/]+/workerPools/[^/]+$", + "required": true, + "type": "string" + }, + "updateMask": { + "description": "A mask specifying which fields in `WorkerPool` should be updated.", + "format": "google-fieldmask", + "location": "query", + "type": "string" + } + }, + "path": "v1alpha2/{+name}", + "request": { + "$ref": "WorkerPool" + }, + "response": { + "$ref": "WorkerPool" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + } + } + } + } + } + }, + "revision": "20230102", + "rootUrl": "https://cloudbuild.googleapis.com/", + "schemas": { + "ApprovalConfig": { + "description": "ApprovalConfig describes configuration for manual approval of a build.", + "id": "ApprovalConfig", + "properties": { + "approvalRequired": { + "description": "Whether or not approval is needed. If this is set on a build, it will become pending when created, and will need to be explicitly approved to start.", + "type": "boolean" + } + }, + "type": "object" + }, + "ApprovalResult": { + "description": "ApprovalResult describes the decision and associated metadata of a manual approval of a build.", + "id": "ApprovalResult", + "properties": { + "approvalTime": { + "description": "Output only. The time when the approval decision was made.", + "format": "google-datetime", + "readOnly": true, + "type": "string" + }, + "approverAccount": { + "description": "Output only. Email of the user that called the ApproveBuild API to approve or reject a build at the time that the API was called.", + "readOnly": true, + "type": "string" + }, + "comment": { + "description": "Optional. An optional comment for this manual approval result.", + "type": "string" + }, + "decision": { + "description": "Required. The decision of this manual approval.", + "enum": [ + "DECISION_UNSPECIFIED", + "APPROVED", + "REJECTED" + ], + "enumDescriptions": [ + "Default enum type. This should not be used.", + "Build is approved.", + "Build is rejected." + ], + "type": "string" + }, + "url": { + "description": "Optional. An optional URL tied to this manual approval result. This field is essentially the same as comment, except that it will be rendered by the UI differently. An example use case is a link to an external job that approved this Build.", + "type": "string" + } + }, + "type": "object" + }, + "ArtifactObjects": { + "description": "Files in the workspace to upload to Cloud Storage upon successful completion of all build steps.", + "id": "ArtifactObjects", + "properties": { + "location": { + "description": "Cloud Storage bucket and optional object path, in the form \"gs://bucket/path/to/somewhere/\". (see [Bucket Name Requirements](https://cloud.google.com/storage/docs/bucket-naming#requirements)). Files in the workspace matching any path pattern will be uploaded to Cloud Storage with this location as a prefix.", + "type": "string" + }, + "paths": { + "description": "Path globs used to match files in the build's workspace.", + "items": { + "type": "string" + }, + "type": "array" + }, + "timing": { + "$ref": "TimeSpan", + "description": "Output only. Stores timing information for pushing all artifact objects.", + "readOnly": true + } + }, + "type": "object" + }, + "ArtifactResult": { + "description": "An artifact that was uploaded during a build. This is a single record in the artifact manifest JSON file.", + "id": "ArtifactResult", + "properties": { + "fileHash": { + "description": "The file hash of the artifact.", + "items": { + "$ref": "FileHashes" + }, + "type": "array" + }, + "location": { + "description": "The path of an artifact in a Google Cloud Storage bucket, with the generation number. For example, `gs://mybucket/path/to/output.jar#generation`.", + "type": "string" + } + }, + "type": "object" + }, + "Artifacts": { + "description": "Artifacts produced by a build that should be uploaded upon successful completion of all build steps.", + "id": "Artifacts", + "properties": { + "images": { + "description": "A list of images to be pushed upon the successful completion of all build steps. The images will be pushed using the builder service account's credentials. The digests of the pushed images will be stored in the Build resource's results field. If any of the images fail to be pushed, the build is marked FAILURE.", + "items": { + "type": "string" + }, + "type": "array" + }, + "mavenArtifacts": { + "description": "A list of Maven artifacts to be uploaded to Artifact Registry upon successful completion of all build steps. Artifacts in the workspace matching specified paths globs will be uploaded to the specified Artifact Registry repository using the builder service account's credentials. If any artifacts fail to be pushed, the build is marked FAILURE.", + "items": { + "$ref": "MavenArtifact" + }, + "type": "array" + }, + "objects": { + "$ref": "ArtifactObjects", + "description": "A list of objects to be uploaded to Cloud Storage upon successful completion of all build steps. Files in the workspace matching specified paths globs will be uploaded to the specified Cloud Storage location using the builder service account's credentials. The location and generation of the uploaded objects will be stored in the Build resource's results field. If any objects fail to be pushed, the build is marked FAILURE." + }, + "pythonPackages": { + "description": "A list of Python packages to be uploaded to Artifact Registry upon successful completion of all build steps. The build service account credentials will be used to perform the upload. If any objects fail to be pushed, the build is marked FAILURE.", + "items": { + "$ref": "PythonPackage" + }, + "type": "array" + } + }, + "type": "object" + }, + "BatchCreateBitbucketServerConnectedRepositoriesResponse": { + "description": "Response of BatchCreateBitbucketServerConnectedRepositories RPC method including all successfully connected Bitbucket Server repositories.", + "id": "BatchCreateBitbucketServerConnectedRepositoriesResponse", + "properties": { + "bitbucketServerConnectedRepositories": { + "description": "The connected Bitbucket Server repositories.", + "items": { + "$ref": "BitbucketServerConnectedRepository" + }, + "type": "array" + } + }, + "type": "object" + }, + "BatchCreateBitbucketServerConnectedRepositoriesResponseMetadata": { + "description": "Metadata for `BatchCreateBitbucketServerConnectedRepositories` operation.", + "id": "BatchCreateBitbucketServerConnectedRepositoriesResponseMetadata", + "properties": { + "completeTime": { + "description": "Time the operation was completed.", + "format": "google-datetime", + "type": "string" + }, + "config": { + "description": "The name of the `BitbucketServerConfig` that added connected repositories. Format: `projects/{project}/locations/{location}/bitbucketServerConfigs/{config}`", + "type": "string" + }, + "createTime": { + "description": "Time the operation was created.", + "format": "google-datetime", + "type": "string" + } + }, + "type": "object" + }, + "BatchCreateGitLabConnectedRepositoriesResponse": { + "description": "Response of BatchCreateGitLabConnectedRepositories RPC method.", + "id": "BatchCreateGitLabConnectedRepositoriesResponse", + "properties": { + "gitlabConnectedRepositories": { + "description": "The GitLab connected repository requests' responses.", + "items": { + "$ref": "GitLabConnectedRepository" + }, + "type": "array" + } + }, + "type": "object" + }, + "BatchCreateGitLabConnectedRepositoriesResponseMetadata": { + "description": "Metadata for `BatchCreateGitLabConnectedRepositories` operation.", + "id": "BatchCreateGitLabConnectedRepositoriesResponseMetadata", + "properties": { + "completeTime": { + "description": "Time the operation was completed.", + "format": "google-datetime", + "type": "string" + }, + "config": { + "description": "The name of the `GitLabConfig` that added connected repositories. Format: `projects/{project}/locations/{location}/gitLabConfigs/{config}`", + "type": "string" + }, + "createTime": { + "description": "Time the operation was created.", + "format": "google-datetime", + "type": "string" + } + }, + "type": "object" + }, + "BatchCreateRepositoriesResponse": { + "description": "Message for response of creating repositories in batch.", + "id": "BatchCreateRepositoriesResponse", + "properties": { + "repositories": { + "description": "Repository resources created.", + "items": { + "$ref": "Repository" + }, + "type": "array" + } + }, + "type": "object" + }, + "BitbucketServerConnectedRepository": { + "description": "/ BitbucketServerConnectedRepository represents a connected Bitbucket Server / repository.", + "id": "BitbucketServerConnectedRepository", + "properties": { + "parent": { + "description": "The name of the `BitbucketServerConfig` that added connected repository. Format: `projects/{project}/locations/{location}/bitbucketServerConfigs/{config}`", + "type": "string" + }, + "repo": { + "$ref": "BitbucketServerRepositoryId", + "description": "The Bitbucket Server repositories to connect." + }, + "status": { + "$ref": "Status", + "description": "Output only. The status of the repo connection request.", + "readOnly": true + } + }, + "type": "object" + }, + "BitbucketServerRepositoryId": { + "description": "BitbucketServerRepositoryId identifies a specific repository hosted on a Bitbucket Server.", + "id": "BitbucketServerRepositoryId", + "properties": { + "projectKey": { + "description": "Required. Identifier for the project storing the repository.", + "type": "string" + }, + "repoSlug": { + "description": "Required. Identifier for the repository.", + "type": "string" + }, + "webhookId": { + "description": "Output only. The ID of the webhook that was created for receiving events from this repo. We only create and manage a single webhook for each repo.", + "format": "int32", + "readOnly": true, + "type": "integer" + } + }, + "type": "object" + }, + "Build": { + "description": "A build resource in the Cloud Build API. At a high level, a `Build` describes where to find source code, how to build it (for example, the builder image to run on the source), and where to store the built artifacts. Fields can include the following variables, which will be expanded when the build is created: - $PROJECT_ID: the project ID of the build. - $PROJECT_NUMBER: the project number of the build. - $LOCATION: the location/region of the build. - $BUILD_ID: the autogenerated ID of the build. - $REPO_NAME: the source repository name specified by RepoSource. - $BRANCH_NAME: the branch name specified by RepoSource. - $TAG_NAME: the tag name specified by RepoSource. - $REVISION_ID or $COMMIT_SHA: the commit SHA specified by RepoSource or resolved from the specified branch or tag. - $SHORT_SHA: first 7 characters of $REVISION_ID or $COMMIT_SHA.", + "id": "Build", + "properties": { + "approval": { + "$ref": "BuildApproval", + "description": "Output only. Describes this build's approval configuration, status, and result.", + "readOnly": true + }, + "artifacts": { + "$ref": "Artifacts", + "description": "Artifacts produced by the build that should be uploaded upon successful completion of all build steps." + }, + "availableSecrets": { + "$ref": "Secrets", + "description": "Secrets and secret environment variables." + }, + "buildTriggerId": { + "description": "Output only. The ID of the `BuildTrigger` that triggered this build, if it was triggered automatically.", + "readOnly": true, + "type": "string" + }, + "createTime": { + "description": "Output only. Time at which the request to create the build was received.", + "format": "google-datetime", + "readOnly": true, + "type": "string" + }, + "failureInfo": { + "$ref": "FailureInfo", + "description": "Output only. Contains information about the build when status=FAILURE.", + "readOnly": true + }, + "finishTime": { + "description": "Output only. Time at which execution of the build was finished. The difference between finish_time and start_time is the duration of the build's execution.", + "format": "google-datetime", + "readOnly": true, + "type": "string" + }, + "id": { + "description": "Output only. Unique identifier of the build.", + "readOnly": true, + "type": "string" + }, + "images": { + "description": "A list of images to be pushed upon the successful completion of all build steps. The images are pushed using the builder service account's credentials. The digests of the pushed images will be stored in the `Build` resource's results field. If any of the images fail to be pushed, the build status is marked `FAILURE`.", + "items": { + "type": "string" + }, + "type": "array" + }, + "logUrl": { + "description": "Output only. URL to logs for this build in Google Cloud Console.", + "readOnly": true, + "type": "string" + }, + "logsBucket": { + "description": "Google Cloud Storage bucket where logs should be written (see [Bucket Name Requirements](https://cloud.google.com/storage/docs/bucket-naming#requirements)). Logs file names will be of the format `${logs_bucket}/log-${build_id}.txt`.", + "type": "string" + }, + "name": { + "description": "Output only. The 'Build' name with format: `projects/{project}/locations/{location}/builds/{build}`, where {build} is a unique identifier generated by the service.", + "readOnly": true, + "type": "string" + }, + "options": { + "$ref": "BuildOptions", + "description": "Special options for this build." + }, + "projectId": { + "description": "Output only. ID of the project.", + "readOnly": true, + "type": "string" + }, + "queueTtl": { + "description": "TTL in queue for this build. If provided and the build is enqueued longer than this value, the build will expire and the build status will be `EXPIRED`. The TTL starts ticking from create_time.", + "format": "google-duration", + "type": "string" + }, + "results": { + "$ref": "Results", + "description": "Output only. Results of the build.", + "readOnly": true + }, + "secrets": { + "description": "Secrets to decrypt using Cloud Key Management Service. Note: Secret Manager is the recommended technique for managing sensitive data with Cloud Build. Use `available_secrets` to configure builds to access secrets from Secret Manager. For instructions, see: https://cloud.google.com/cloud-build/docs/securing-builds/use-secrets", + "items": { + "$ref": "Secret" + }, + "type": "array" + }, + "serviceAccount": { + "description": "IAM service account whose credentials will be used at build runtime. Must be of the format `projects/{PROJECT_ID}/serviceAccounts/{ACCOUNT}`. ACCOUNT can be email address or uniqueId of the service account. ", + "type": "string" + }, + "source": { + "$ref": "Source", + "description": "The location of the source files to build." + }, + "sourceProvenance": { + "$ref": "SourceProvenance", + "description": "Output only. A permanent fixed identifier for source.", + "readOnly": true + }, + "startTime": { + "description": "Output only. Time at which execution of the build was started.", + "format": "google-datetime", + "readOnly": true, + "type": "string" + }, + "status": { + "description": "Output only. Status of the build.", + "enum": [ + "STATUS_UNKNOWN", + "PENDING", + "QUEUED", + "WORKING", + "SUCCESS", + "FAILURE", + "INTERNAL_ERROR", + "TIMEOUT", + "CANCELLED", + "EXPIRED" + ], + "enumDescriptions": [ + "Status of the build is unknown.", + "Build has been created and is pending execution and queuing. It has not been queued.", + "Build or step is queued; work has not yet begun.", + "Build or step is being executed.", + "Build or step finished successfully.", + "Build or step failed to complete successfully.", + "Build or step failed due to an internal cause.", + "Build or step took longer than was allowed.", + "Build or step was canceled by a user.", + "Build was enqueued for longer than the value of `queue_ttl`." + ], + "readOnly": true, + "type": "string" + }, + "statusDetail": { + "description": "Output only. Customer-readable message about the current status.", + "readOnly": true, + "type": "string" + }, + "steps": { + "description": "Required. The operations to be performed on the workspace.", + "items": { + "$ref": "BuildStep" + }, + "type": "array" + }, + "substitutions": { + "additionalProperties": { + "type": "string" + }, + "description": "Substitutions data for `Build` resource.", + "type": "object" + }, + "tags": { + "description": "Tags for annotation of a `Build`. These are not docker tags.", + "items": { + "type": "string" + }, + "type": "array" + }, + "timeout": { + "description": "Amount of time that this build should be allowed to run, to second granularity. If this amount of time elapses, work on the build will cease and the build status will be `TIMEOUT`. `timeout` starts ticking from `startTime`. Default time is ten minutes.", + "format": "google-duration", + "type": "string" + }, + "timing": { + "additionalProperties": { + "$ref": "TimeSpan" + }, + "description": "Output only. Stores timing information for phases of the build. Valid keys are: * BUILD: time to execute all build steps. * PUSH: time to push all artifacts including docker images and non docker artifacts. * FETCHSOURCE: time to fetch source. * SETUPBUILD: time to set up build. If the build does not specify source or images, these keys will not be included.", + "readOnly": true, + "type": "object" + }, + "warnings": { + "description": "Output only. Non-fatal problems encountered during the execution of the build.", + "items": { + "$ref": "Warning" + }, + "readOnly": true, + "type": "array" + } + }, + "type": "object" + }, + "BuildApproval": { + "description": "BuildApproval describes a build's approval configuration, state, and result.", + "id": "BuildApproval", + "properties": { + "config": { + "$ref": "ApprovalConfig", + "description": "Output only. Configuration for manual approval of this build.", + "readOnly": true + }, + "result": { + "$ref": "ApprovalResult", + "description": "Output only. Result of manual approval for this Build.", + "readOnly": true + }, + "state": { + "description": "Output only. The state of this build's approval.", + "enum": [ + "STATE_UNSPECIFIED", + "PENDING", + "APPROVED", + "REJECTED", + "CANCELLED" + ], + "enumDescriptions": [ + "Default enum type. This should not be used.", + "Build approval is pending.", + "Build approval has been approved.", + "Build approval has been rejected.", + "Build was cancelled while it was still pending approval." + ], + "readOnly": true, + "type": "string" + } + }, + "type": "object" + }, + "BuildOperationMetadata": { + "description": "Metadata for build operations.", + "id": "BuildOperationMetadata", + "properties": { + "build": { + "$ref": "Build", + "description": "The build that the operation is tracking." + } + }, + "type": "object" + }, + "BuildOptions": { + "description": "Optional arguments to enable specific features of builds.", + "id": "BuildOptions", + "properties": { + "diskSizeGb": { + "description": "Requested disk size for the VM that runs the build. Note that this is *NOT* \"disk free\"; some of the space will be used by the operating system and build utilities. Also note that this is the minimum disk size that will be allocated for the build -- the build may run with a larger disk than requested. At present, the maximum disk size is 2000GB; builds that request more than the maximum are rejected with an error.", + "format": "int64", + "type": "string" + }, + "dynamicSubstitutions": { + "description": "Option to specify whether or not to apply bash style string operations to the substitutions. NOTE: this is always enabled for triggered builds and cannot be overridden in the build configuration file.", + "type": "boolean" + }, + "env": { + "description": "A list of global environment variable definitions that will exist for all build steps in this build. If a variable is defined in both globally and in a build step, the variable will use the build step value. The elements are of the form \"KEY=VALUE\" for the environment variable \"KEY\" being given the value \"VALUE\".", + "items": { + "type": "string" + }, + "type": "array" + }, + "logStreamingOption": { + "description": "Option to define build log streaming behavior to Google Cloud Storage.", + "enum": [ + "STREAM_DEFAULT", + "STREAM_ON", + "STREAM_OFF" + ], + "enumDescriptions": [ + "Service may automatically determine build log streaming behavior.", + "Build logs should be streamed to Google Cloud Storage.", + "Build logs should not be streamed to Google Cloud Storage; they will be written when the build is completed." + ], + "type": "string" + }, + "logging": { + "description": "Option to specify the logging mode, which determines if and where build logs are stored.", + "enum": [ + "LOGGING_UNSPECIFIED", + "LEGACY", + "GCS_ONLY", + "STACKDRIVER_ONLY", + "CLOUD_LOGGING_ONLY", + "NONE" + ], + "enumDescriptions": [ + "The service determines the logging mode. The default is `LEGACY`. Do not rely on the default logging behavior as it may change in the future.", + "Build logs are stored in Cloud Logging and Cloud Storage.", + "Build logs are stored in Cloud Storage.", + "This option is the same as CLOUD_LOGGING_ONLY.", + "Build logs are stored in Cloud Logging. Selecting this option will not allow [logs streaming](https://cloud.google.com/sdk/gcloud/reference/builds/log).", + "Turn off all logging. No build logs will be captured." + ], + "type": "string" + }, + "machineType": { + "description": "Compute Engine machine type on which to run the build.", + "enum": [ + "UNSPECIFIED", + "N1_HIGHCPU_8", + "N1_HIGHCPU_32", + "E2_HIGHCPU_8", + "E2_HIGHCPU_32" + ], + "enumDescriptions": [ + "Standard machine type.", + "Highcpu machine with 8 CPUs.", + "Highcpu machine with 32 CPUs.", + "Highcpu e2 machine with 8 CPUs.", + "Highcpu e2 machine with 32 CPUs." + ], + "type": "string" + }, + "pool": { + "$ref": "PoolOption", + "description": "Optional. Specification for execution on a `WorkerPool`. See [running builds in a private pool](https://cloud.google.com/build/docs/private-pools/run-builds-in-private-pool) for more information." + }, + "requestedVerifyOption": { + "description": "Requested verifiability options.", + "enum": [ + "NOT_VERIFIED", + "VERIFIED" + ], + "enumDescriptions": [ + "Not a verifiable build (the default).", + "Build must be verified." + ], + "type": "string" + }, + "secretEnv": { + "description": "A list of global environment variables, which are encrypted using a Cloud Key Management Service crypto key. These values must be specified in the build's `Secret`. These variables will be available to all build steps in this build.", + "items": { + "type": "string" + }, + "type": "array" + }, + "sourceProvenanceHash": { + "description": "Requested hash for SourceProvenance.", + "items": { + "enum": [ + "NONE", + "SHA256", + "MD5" + ], + "enumDescriptions": [ + "No hash requested.", + "Use a sha256 hash.", + "Use a md5 hash." + ], + "type": "string" + }, + "type": "array" + }, + "substitutionOption": { + "description": "Option to specify behavior when there is an error in the substitution checks. NOTE: this is always set to ALLOW_LOOSE for triggered builds and cannot be overridden in the build configuration file.", + "enum": [ + "MUST_MATCH", + "ALLOW_LOOSE" + ], + "enumDescriptions": [ + "Fails the build if error in substitutions checks, like missing a substitution in the template or in the map.", + "Do not fail the build if error in substitutions checks." + ], + "type": "string" + }, + "volumes": { + "description": "Global list of volumes to mount for ALL build steps Each volume is created as an empty volume prior to starting the build process. Upon completion of the build, volumes and their contents are discarded. Global volume names and paths cannot conflict with the volumes defined a build step. Using a global volume in a build with only one step is not valid as it is indicative of a build request with an incorrect configuration.", + "items": { + "$ref": "Volume" + }, + "type": "array" + }, + "workerPool": { + "description": "This field deprecated; please use `pool.name` instead.", + "type": "string" + } + }, + "type": "object" + }, + "BuildStep": { + "description": "A step in the build pipeline.", + "id": "BuildStep", + "properties": { + "allowExitCodes": { + "description": "Allow this build step to fail without failing the entire build if and only if the exit code is one of the specified codes. If allow_failure is also specified, this field will take precedence.", + "items": { + "format": "int32", + "type": "integer" + }, + "type": "array" + }, + "allowFailure": { + "description": "Allow this build step to fail without failing the entire build. If false, the entire build will fail if this step fails. Otherwise, the build will succeed, but this step will still have a failure status. Error information will be reported in the failure_detail field.", + "type": "boolean" + }, + "args": { + "description": "A list of arguments that will be presented to the step when it is started. If the image used to run the step's container has an entrypoint, the `args` are used as arguments to that entrypoint. If the image does not define an entrypoint, the first element in args is used as the entrypoint, and the remainder will be used as arguments.", + "items": { + "type": "string" + }, + "type": "array" + }, + "dir": { + "description": "Working directory to use when running this step's container. If this value is a relative path, it is relative to the build's working directory. If this value is absolute, it may be outside the build's working directory, in which case the contents of the path may not be persisted across build step executions, unless a `volume` for that path is specified. If the build specifies a `RepoSource` with `dir` and a step with a `dir`, which specifies an absolute path, the `RepoSource` `dir` is ignored for the step's execution.", + "type": "string" + }, + "entrypoint": { + "description": "Entrypoint to be used instead of the build step image's default entrypoint. If unset, the image's default entrypoint is used.", + "type": "string" + }, + "env": { + "description": "A list of environment variable definitions to be used when running a step. The elements are of the form \"KEY=VALUE\" for the environment variable \"KEY\" being given the value \"VALUE\".", + "items": { + "type": "string" + }, + "type": "array" + }, + "exitCode": { + "description": "Output only. Return code from running the step.", + "format": "int32", + "readOnly": true, + "type": "integer" + }, + "id": { + "description": "Unique identifier for this build step, used in `wait_for` to reference this build step as a dependency.", + "type": "string" + }, + "name": { + "description": "Required. The name of the container image that will run this particular build step. If the image is available in the host's Docker daemon's cache, it will be run directly. If not, the host will attempt to pull the image first, using the builder service account's credentials if necessary. The Docker daemon's cache will already have the latest versions of all of the officially supported build steps ([https://github.com/GoogleCloudPlatform/cloud-builders](https://github.com/GoogleCloudPlatform/cloud-builders)). The Docker daemon will also have cached many of the layers for some popular images, like \"ubuntu\", \"debian\", but they will be refreshed at the time you attempt to use them. If you built an image in a previous build step, it will be stored in the host's Docker daemon's cache and is available to use as the name for a later build step.", + "type": "string" + }, + "pullTiming": { + "$ref": "TimeSpan", + "description": "Output only. Stores timing information for pulling this build step's builder image only.", + "readOnly": true + }, + "script": { + "description": "A shell script to be executed in the step. When script is provided, the user cannot specify the entrypoint or args.", + "type": "string" + }, + "secretEnv": { + "description": "A list of environment variables which are encrypted using a Cloud Key Management Service crypto key. These values must be specified in the build's `Secret`.", + "items": { + "type": "string" + }, + "type": "array" + }, + "status": { + "description": "Output only. Status of the build step. At this time, build step status is only updated on build completion; step status is not updated in real-time as the build progresses.", + "enum": [ + "STATUS_UNKNOWN", + "PENDING", + "QUEUED", + "WORKING", + "SUCCESS", + "FAILURE", + "INTERNAL_ERROR", + "TIMEOUT", + "CANCELLED", + "EXPIRED" + ], + "enumDescriptions": [ + "Status of the build is unknown.", + "Build has been created and is pending execution and queuing. It has not been queued.", + "Build or step is queued; work has not yet begun.", + "Build or step is being executed.", + "Build or step finished successfully.", + "Build or step failed to complete successfully.", + "Build or step failed due to an internal cause.", + "Build or step took longer than was allowed.", + "Build or step was canceled by a user.", + "Build was enqueued for longer than the value of `queue_ttl`." + ], + "readOnly": true, + "type": "string" + }, + "timeout": { + "description": "Time limit for executing this build step. If not defined, the step has no time limit and will be allowed to continue to run until either it completes or the build itself times out.", + "format": "google-duration", + "type": "string" + }, + "timing": { + "$ref": "TimeSpan", + "description": "Output only. Stores timing information for executing this build step.", + "readOnly": true + }, + "volumes": { + "description": "List of volumes to mount into the build step. Each volume is created as an empty volume prior to execution of the build step. Upon completion of the build, volumes and their contents are discarded. Using a named volume in only one step is not valid as it is indicative of a build request with an incorrect configuration.", + "items": { + "$ref": "Volume" + }, + "type": "array" + }, + "waitFor": { + "description": "The ID(s) of the step(s) that this build step depends on. This build step will not start until all the build steps in `wait_for` have completed successfully. If `wait_for` is empty, this build step will start when all previous build steps in the `Build.Steps` list have completed successfully.", + "items": { + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, + "BuiltImage": { + "description": "An image built by the pipeline.", + "id": "BuiltImage", + "properties": { + "digest": { + "description": "Docker Registry 2.0 digest.", + "type": "string" + }, + "name": { + "description": "Name used to push the container image to Google Container Registry, as presented to `docker push`.", + "type": "string" + }, + "pushTiming": { + "$ref": "TimeSpan", + "description": "Output only. Stores timing information for pushing the specified image.", + "readOnly": true + } + }, + "type": "object" + }, + "CancelOperationRequest": { + "description": "The request message for Operations.CancelOperation.", + "id": "CancelOperationRequest", + "properties": {}, + "type": "object" + }, + "CreateBitbucketServerConfigOperationMetadata": { + "description": "Metadata for `CreateBitbucketServerConfig` operation.", + "id": "CreateBitbucketServerConfigOperationMetadata", + "properties": { + "bitbucketServerConfig": { + "description": "The resource name of the BitbucketServerConfig to be created. Format: `projects/{project}/locations/{location}/bitbucketServerConfigs/{id}`.", + "type": "string" + }, + "completeTime": { + "description": "Time the operation was completed.", + "format": "google-datetime", + "type": "string" + }, + "createTime": { + "description": "Time the operation was created.", + "format": "google-datetime", + "type": "string" + } + }, + "type": "object" + }, + "CreateGitHubEnterpriseConfigOperationMetadata": { + "description": "Metadata for `CreateGithubEnterpriseConfig` operation.", + "id": "CreateGitHubEnterpriseConfigOperationMetadata", + "properties": { + "completeTime": { + "description": "Time the operation was completed.", + "format": "google-datetime", + "type": "string" + }, + "createTime": { + "description": "Time the operation was created.", + "format": "google-datetime", + "type": "string" + }, + "githubEnterpriseConfig": { + "description": "The resource name of the GitHubEnterprise to be created. Format: `projects/{project}/locations/{location}/githubEnterpriseConfigs/{id}`.", + "type": "string" + } + }, + "type": "object" + }, + "CreateGitLabConfigOperationMetadata": { + "description": "Metadata for `CreateGitLabConfig` operation.", + "id": "CreateGitLabConfigOperationMetadata", + "properties": { + "completeTime": { + "description": "Time the operation was completed.", + "format": "google-datetime", + "type": "string" + }, + "createTime": { + "description": "Time the operation was created.", + "format": "google-datetime", + "type": "string" + }, + "gitlabConfig": { + "description": "The resource name of the GitLabConfig to be created. Format: `projects/{project}/locations/{location}/gitlabConfigs/{id}`.", + "type": "string" + } + }, + "type": "object" + }, + "CreateWorkerPoolOperationMetadata": { + "description": "Metadata for the `CreateWorkerPool` operation.", + "id": "CreateWorkerPoolOperationMetadata", + "properties": { + "completeTime": { + "description": "Time the operation was completed.", + "format": "google-datetime", + "type": "string" + }, + "createTime": { + "description": "Time the operation was created.", + "format": "google-datetime", + "type": "string" + }, + "workerPool": { + "description": "The resource name of the `WorkerPool` to create. Format: `projects/{project}/locations/{location}/workerPools/{worker_pool}`.", + "type": "string" + } + }, + "type": "object" + }, + "DeleteBitbucketServerConfigOperationMetadata": { + "description": "Metadata for `DeleteBitbucketServerConfig` operation.", + "id": "DeleteBitbucketServerConfigOperationMetadata", + "properties": { + "bitbucketServerConfig": { + "description": "The resource name of the BitbucketServerConfig to be deleted. Format: `projects/{project}/locations/{location}/bitbucketServerConfigs/{id}`.", + "type": "string" + }, + "completeTime": { + "description": "Time the operation was completed.", + "format": "google-datetime", + "type": "string" + }, + "createTime": { + "description": "Time the operation was created.", + "format": "google-datetime", + "type": "string" + } + }, + "type": "object" + }, + "DeleteGitHubEnterpriseConfigOperationMetadata": { + "description": "Metadata for `DeleteGitHubEnterpriseConfig` operation.", + "id": "DeleteGitHubEnterpriseConfigOperationMetadata", + "properties": { + "completeTime": { + "description": "Time the operation was completed.", + "format": "google-datetime", + "type": "string" + }, + "createTime": { + "description": "Time the operation was created.", + "format": "google-datetime", + "type": "string" + }, + "githubEnterpriseConfig": { + "description": "The resource name of the GitHubEnterprise to be deleted. Format: `projects/{project}/locations/{location}/githubEnterpriseConfigs/{id}`.", + "type": "string" + } + }, + "type": "object" + }, + "DeleteGitLabConfigOperationMetadata": { + "description": "Metadata for `DeleteGitLabConfig` operation.", + "id": "DeleteGitLabConfigOperationMetadata", + "properties": { + "completeTime": { + "description": "Time the operation was completed.", + "format": "google-datetime", + "type": "string" + }, + "createTime": { + "description": "Time the operation was created.", + "format": "google-datetime", + "type": "string" + }, + "gitlabConfig": { + "description": "The resource name of the GitLabConfig to be created. Format: `projects/{project}/locations/{location}/gitlabConfigs/{id}`.", + "type": "string" + } + }, + "type": "object" + }, + "DeleteWorkerPoolOperationMetadata": { + "description": "Metadata for the `DeleteWorkerPool` operation.", + "id": "DeleteWorkerPoolOperationMetadata", + "properties": { + "completeTime": { + "description": "Time the operation was completed.", + "format": "google-datetime", + "type": "string" + }, + "createTime": { + "description": "Time the operation was created.", + "format": "google-datetime", + "type": "string" + }, + "workerPool": { + "description": "The resource name of the `WorkerPool` being deleted. Format: `projects/{project}/locations/{location}/workerPools/{worker_pool}`.", + "type": "string" + } + }, + "type": "object" + }, + "Empty": { + "description": "A generic empty message that you can re-use to avoid defining duplicated empty messages in your APIs. A typical example is to use it as the request or the response type of an API method. For instance: service Foo { rpc Bar(google.protobuf.Empty) returns (google.protobuf.Empty); }", + "id": "Empty", + "properties": {}, + "type": "object" + }, + "FailureInfo": { + "description": "A fatal problem encountered during the execution of the build.", + "id": "FailureInfo", + "properties": { + "detail": { + "description": "Explains the failure issue in more detail using hard-coded text.", + "type": "string" + }, + "type": { + "description": "The name of the failure.", + "enum": [ + "FAILURE_TYPE_UNSPECIFIED", + "PUSH_FAILED", + "PUSH_IMAGE_NOT_FOUND", + "PUSH_NOT_AUTHORIZED", + "LOGGING_FAILURE", + "USER_BUILD_STEP", + "FETCH_SOURCE_FAILED" + ], + "enumDescriptions": [ + "Type unspecified", + "Unable to push the image to the repository.", + "Final image not found.", + "Unauthorized push of the final image.", + "Backend logging failures. Should retry.", + "A build step has failed.", + "The source fetching has failed." + ], + "type": "string" + } + }, + "type": "object" + }, + "FileHashes": { + "description": "Container message for hashes of byte content of files, used in SourceProvenance messages to verify integrity of source input to the build.", + "id": "FileHashes", + "properties": { + "fileHash": { + "description": "Collection of file hashes.", + "items": { + "$ref": "Hash" + }, + "type": "array" + } + }, + "type": "object" + }, + "GitLabConnectedRepository": { + "description": "GitLabConnectedRepository represents a GitLab connected repository request response.", + "id": "GitLabConnectedRepository", + "properties": { + "parent": { + "description": "The name of the `GitLabConfig` that added connected repository. Format: `projects/{project}/locations/{location}/gitLabConfigs/{config}`", + "type": "string" + }, + "repo": { + "$ref": "GitLabRepositoryId", + "description": "The GitLab repositories to connect." + }, + "status": { + "$ref": "Status", + "description": "Output only. The status of the repo connection request.", + "readOnly": true + } + }, + "type": "object" + }, + "GitLabRepositoryId": { + "description": "GitLabRepositoryId identifies a specific repository hosted on GitLab.com or GitLabEnterprise", + "id": "GitLabRepositoryId", + "properties": { + "id": { + "description": "Required. Identifier for the repository. example: \"namespace/project-slug\", namespace is usually the username or group ID", + "type": "string" + }, + "webhookId": { + "description": "Output only. The ID of the webhook that was created for receiving events from this repo. We only create and manage a single webhook for each repo.", + "format": "int32", + "readOnly": true, + "type": "integer" + } + }, + "type": "object" + }, + "GoogleDevtoolsCloudbuildV2OperationMetadata": { + "description": "Represents the metadata of the long-running operation.", + "id": "GoogleDevtoolsCloudbuildV2OperationMetadata", + "properties": { + "apiVersion": { + "description": "Output only. API version used to start the operation.", + "readOnly": true, + "type": "string" + }, + "createTime": { + "description": "Output only. The time the operation was created.", + "format": "google-datetime", + "readOnly": true, + "type": "string" + }, + "endTime": { + "description": "Output only. The time the operation finished running.", + "format": "google-datetime", + "readOnly": true, + "type": "string" + }, + "requestedCancellation": { + "description": "Output only. Identifies whether the user has requested cancellation of the operation. Operations that have successfully been cancelled have Operation.error value with a google.rpc.Status.code of 1, corresponding to `Code.CANCELLED`.", + "readOnly": true, + "type": "boolean" + }, + "statusMessage": { + "description": "Output only. Human-readable status of the operation, if any.", + "readOnly": true, + "type": "string" + }, + "target": { + "description": "Output only. Server-defined resource path for the target of the operation.", + "readOnly": true, + "type": "string" + }, + "verb": { + "description": "Output only. Name of the verb executed by the operation.", + "readOnly": true, + "type": "string" + } + }, + "type": "object" + }, + "HTTPDelivery": { + "description": "HTTPDelivery is the delivery configuration for an HTTP notification.", + "id": "HTTPDelivery", + "properties": { + "uri": { + "description": "The URI to which JSON-containing HTTP POST requests should be sent.", + "type": "string" + } + }, + "type": "object" + }, + "Hash": { + "description": "Container message for hash values.", + "id": "Hash", + "properties": { + "type": { + "description": "The type of hash that was performed.", + "enum": [ + "NONE", + "SHA256", + "MD5" + ], + "enumDescriptions": [ + "No hash requested.", + "Use a sha256 hash.", + "Use a md5 hash." + ], + "type": "string" + }, + "value": { + "description": "The hash value.", + "format": "byte", + "type": "string" + } + }, + "type": "object" + }, + "InlineSecret": { + "description": "Pairs a set of secret environment variables mapped to encrypted values with the Cloud KMS key to use to decrypt the value.", + "id": "InlineSecret", + "properties": { + "envMap": { + "additionalProperties": { + "format": "byte", + "type": "string" + }, + "description": "Map of environment variable name to its encrypted value. Secret environment variables must be unique across all of a build's secrets, and must be used by at least one build step. Values can be at most 64 KB in size. There can be at most 100 secret values across all of a build's secrets.", + "type": "object" + }, + "kmsKeyName": { + "description": "Resource name of Cloud KMS crypto key to decrypt the encrypted value. In format: projects/*/locations/*/keyRings/*/cryptoKeys/*", + "type": "string" + } + }, + "type": "object" + }, + "ListWorkerPoolsResponse": { + "description": "Response containing existing `WorkerPools`.", + "id": "ListWorkerPoolsResponse", + "properties": { + "workerPools": { + "description": "`WorkerPools` for the specified project.", + "items": { + "$ref": "WorkerPool" + }, + "type": "array" + } + }, + "type": "object" + }, + "MavenArtifact": { + "description": "A Maven artifact to upload to Artifact Registry upon successful completion of all build steps.", + "id": "MavenArtifact", + "properties": { + "artifactId": { + "description": "Maven `artifactId` value used when uploading the artifact to Artifact Registry.", + "type": "string" + }, + "groupId": { + "description": "Maven `groupId` value used when uploading the artifact to Artifact Registry.", + "type": "string" + }, + "path": { + "description": "Path to an artifact in the build's workspace to be uploaded to Artifact Registry. This can be either an absolute path, e.g. /workspace/my-app/target/my-app-1.0.SNAPSHOT.jar or a relative path from /workspace, e.g. my-app/target/my-app-1.0.SNAPSHOT.jar.", + "type": "string" + }, + "repository": { + "description": "Artifact Registry repository, in the form \"https://$REGION-maven.pkg.dev/$PROJECT/$REPOSITORY\" Artifact in the workspace specified by path will be uploaded to Artifact Registry with this location as a prefix.", + "type": "string" + }, + "version": { + "description": "Maven `version` value used when uploading the artifact to Artifact Registry.", + "type": "string" + } + }, + "type": "object" + }, + "NetworkConfig": { + "description": "Network describes the network configuration for a `WorkerPool`.", + "id": "NetworkConfig", + "properties": { + "peeredNetwork": { + "description": "Required. Immutable. The network definition that the workers are peered to. If this section is left empty, the workers will be peered to WorkerPool.project_id on the default network. Must be in the format `projects/{project}/global/networks/{network}`, where {project} is a project number, such as `12345`, and {network} is the name of a VPC network in the project.", + "type": "string" + } + }, + "type": "object" + }, + "Notification": { + "description": "Notification is the container which holds the data that is relevant to this particular notification.", + "id": "Notification", + "properties": { + "filter": { + "description": "The filter string to use for notification filtering. Currently, this is assumed to be a CEL program. See https://opensource.google/projects/cel for more.", + "type": "string" + }, + "httpDelivery": { + "$ref": "HTTPDelivery", + "description": "Configuration for HTTP delivery." + }, + "slackDelivery": { + "$ref": "SlackDelivery", + "description": "Configuration for Slack delivery." + }, + "smtpDelivery": { + "$ref": "SMTPDelivery", + "description": "Configuration for SMTP (email) delivery." + }, + "structDelivery": { + "additionalProperties": { + "description": "Properties of the object.", + "type": "any" + }, + "description": "Escape hatch for users to supply custom delivery configs.", + "type": "object" + } + }, + "type": "object" + }, + "NotifierConfig": { + "description": "NotifierConfig is the top-level configuration message.", + "id": "NotifierConfig", + "properties": { + "apiVersion": { + "description": "The API version of this configuration format.", + "type": "string" + }, + "kind": { + "description": "The type of notifier to use (e.g. SMTPNotifier).", + "type": "string" + }, + "metadata": { + "$ref": "NotifierMetadata", + "description": "Metadata for referring to/handling/deploying this notifier." + }, + "spec": { + "$ref": "NotifierSpec", + "description": "The actual configuration for this notifier." + } + }, + "type": "object" + }, + "NotifierMetadata": { + "description": "NotifierMetadata contains the data which can be used to reference or describe this notifier.", + "id": "NotifierMetadata", + "properties": { + "name": { + "description": "The human-readable and user-given name for the notifier. For example: \"repo-merge-email-notifier\".", + "type": "string" + }, + "notifier": { + "description": "The string representing the name and version of notifier to deploy. Expected to be of the form of \"/:\". For example: \"gcr.io/my-project/notifiers/smtp:1.2.34\".", + "type": "string" + } + }, + "type": "object" + }, + "NotifierSecret": { + "description": "NotifierSecret is the container that maps a secret name (reference) to its Google Cloud Secret Manager resource path.", + "id": "NotifierSecret", + "properties": { + "name": { + "description": "Name is the local name of the secret, such as the verbatim string \"my-smtp-password\".", + "type": "string" + }, + "value": { + "description": "Value is interpreted to be a resource path for fetching the actual (versioned) secret data for this secret. For example, this would be a Google Cloud Secret Manager secret version resource path like: \"projects/my-project/secrets/my-secret/versions/latest\".", + "type": "string" + } + }, + "type": "object" + }, + "NotifierSecretRef": { + "description": "NotifierSecretRef contains the reference to a secret stored in the corresponding NotifierSpec.", + "id": "NotifierSecretRef", + "properties": { + "secretRef": { + "description": "The value of `secret_ref` should be a `name` that is registered in a `Secret` in the `secrets` list of the `Spec`.", + "type": "string" + } + }, + "type": "object" + }, + "NotifierSpec": { + "description": "NotifierSpec is the configuration container for notifications.", + "id": "NotifierSpec", + "properties": { + "notification": { + "$ref": "Notification", + "description": "The configuration of this particular notifier." + }, + "secrets": { + "description": "Configurations for secret resources used by this particular notifier.", + "items": { + "$ref": "NotifierSecret" + }, + "type": "array" + } + }, + "type": "object" + }, + "Operation": { + "description": "This resource represents a long-running operation that is the result of a network API call.", + "id": "Operation", + "properties": { + "done": { + "description": "If the value is `false`, it means the operation is still in progress. If `true`, the operation is completed, and either `error` or `response` is available.", + "type": "boolean" + }, + "error": { + "$ref": "Status", + "description": "The error result of the operation in case of failure or cancellation." + }, + "metadata": { + "additionalProperties": { + "description": "Properties of the object. Contains field @type with type URL.", + "type": "any" + }, + "description": "Service-specific metadata associated with the operation. It typically contains progress information and common metadata such as create time. Some services might not provide such metadata. Any method that returns a long-running operation should document the metadata type, if any.", + "type": "object" + }, + "name": { + "description": "The server-assigned name, which is only unique within the same service that originally returns it. If you use the default HTTP mapping, the `name` should be a resource name ending with `operations/{unique_id}`.", + "type": "string" + }, + "response": { + "additionalProperties": { + "description": "Properties of the object. Contains field @type with type URL.", + "type": "any" + }, + "description": "The normal response of the operation in case of success. If the original method returns no data on success, such as `Delete`, the response is `google.protobuf.Empty`. If the original method is standard `Get`/`Create`/`Update`, the response should be the resource. For other methods, the response should have the type `XxxResponse`, where `Xxx` is the original method name. For example, if the original method name is `TakeSnapshot()`, the inferred response type is `TakeSnapshotResponse`.", + "type": "object" + } + }, + "type": "object" + }, + "OperationMetadata": { + "description": "Represents the metadata of the long-running operation.", + "id": "OperationMetadata", + "properties": { + "apiVersion": { + "description": "Output only. API version used to start the operation.", + "readOnly": true, + "type": "string" + }, + "cancelRequested": { + "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`.", + "readOnly": true, + "type": "boolean" + }, + "createTime": { + "description": "Output only. The time the operation was created.", + "format": "google-datetime", + "readOnly": true, + "type": "string" + }, + "endTime": { + "description": "Output only. The time the operation finished running.", + "format": "google-datetime", + "readOnly": true, + "type": "string" + }, + "statusDetail": { + "description": "Output only. Human-readable status of the operation, if any.", + "readOnly": true, + "type": "string" + }, + "target": { + "description": "Output only. Server-defined resource path for the target of the operation.", + "readOnly": true, + "type": "string" + }, + "verb": { + "description": "Output only. Name of the verb executed by the operation.", + "readOnly": true, + "type": "string" + } + }, + "type": "object" + }, + "PoolOption": { + "description": "Details about how a build should be executed on a `WorkerPool`. See [running builds in a private pool](https://cloud.google.com/build/docs/private-pools/run-builds-in-private-pool) for more information.", + "id": "PoolOption", + "properties": { + "name": { + "description": "The `WorkerPool` resource to execute the build on. You must have `cloudbuild.workerpools.use` on the project hosting the WorkerPool. Format projects/{project}/locations/{location}/workerPools/{workerPoolId}", + "type": "string" + } + }, + "type": "object" + }, + "ProcessAppManifestCallbackOperationMetadata": { + "description": "Metadata for `ProcessAppManifestCallback` operation.", + "id": "ProcessAppManifestCallbackOperationMetadata", + "properties": { + "completeTime": { + "description": "Time the operation was completed.", + "format": "google-datetime", + "type": "string" + }, + "createTime": { + "description": "Time the operation was created.", + "format": "google-datetime", + "type": "string" + }, + "githubEnterpriseConfig": { + "description": "The resource name of the GitHubEnterprise to be created. Format: `projects/{project}/locations/{location}/githubEnterpriseConfigs/{id}`.", + "type": "string" + } + }, + "type": "object" + }, + "PythonPackage": { + "description": "Python package to upload to Artifact Registry upon successful completion of all build steps. A package can encapsulate multiple objects to be uploaded to a single repository.", + "id": "PythonPackage", + "properties": { + "paths": { + "description": "Path globs used to match files in the build's workspace. For Python/ Twine, this is usually `dist/*`, and sometimes additionally an `.asc` file.", + "items": { + "type": "string" + }, + "type": "array" + }, + "repository": { + "description": "Artifact Registry repository, in the form \"https://$REGION-python.pkg.dev/$PROJECT/$REPOSITORY\" Files in the workspace matching any path pattern will be uploaded to Artifact Registry with this location as a prefix.", + "type": "string" + } + }, + "type": "object" + }, + "RepoSource": { + "description": "Location of the source in a Google Cloud Source Repository.", + "id": "RepoSource", + "properties": { + "branchName": { + "description": "Regex matching branches to build. The syntax of the regular expressions accepted is the syntax accepted by RE2 and described at https://github.com/google/re2/wiki/Syntax", + "type": "string" + }, + "commitSha": { + "description": "Explicit commit SHA to build.", + "type": "string" + }, + "dir": { + "description": "Directory, relative to the source root, in which to run the build. This must be a relative path. If a step's `dir` is specified and is an absolute path, this value is ignored for that step's execution.", + "type": "string" + }, + "invertRegex": { + "description": "Only trigger a build if the revision regex does NOT match the revision regex.", + "type": "boolean" + }, + "projectId": { + "description": "ID of the project that owns the Cloud Source Repository. If omitted, the project ID requesting the build is assumed.", + "type": "string" + }, + "repoName": { + "description": "Name of the Cloud Source Repository.", + "type": "string" + }, + "substitutions": { + "additionalProperties": { + "type": "string" + }, + "description": "Substitutions to use in a triggered build. Should only be used with RunBuildTrigger", + "type": "object" + }, + "tagName": { + "description": "Regex matching tags to build. The syntax of the regular expressions accepted is the syntax accepted by RE2 and described at https://github.com/google/re2/wiki/Syntax", + "type": "string" + } + }, + "type": "object" + }, + "Repository": { + "description": "A repository associated to a parent connection.", + "id": "Repository", + "properties": { + "annotations": { + "additionalProperties": { + "type": "string" + }, + "description": "Allows clients to store small amounts of arbitrary data.", + "type": "object" + }, + "createTime": { + "description": "Output only. Server assigned timestamp for when the connection was created.", + "format": "google-datetime", + "readOnly": true, + "type": "string" + }, + "etag": { + "description": "This checksum is computed by the server based on the value of other fields, and may be sent on update and delete requests to ensure the client has an up-to-date value before proceeding.", + "type": "string" + }, + "name": { + "description": "Immutable. Resource name of the repository, in the format `projects/*/locations/*/connections/*/repositories/*`.", + "type": "string" + }, + "remoteUri": { + "description": "Required. Git Clone HTTPS URI.", + "type": "string" + }, + "updateTime": { + "description": "Output only. Server assigned timestamp for when the connection was updated.", + "format": "google-datetime", + "readOnly": true, + "type": "string" + } + }, + "type": "object" + }, + "Results": { + "description": "Artifacts created by the build pipeline.", + "id": "Results", + "properties": { + "artifactManifest": { + "description": "Path to the artifact manifest for non-container artifacts uploaded to Cloud Storage. Only populated when artifacts are uploaded to Cloud Storage.", + "type": "string" + }, + "artifactTiming": { + "$ref": "TimeSpan", + "description": "Time to push all non-container artifacts to Cloud Storage." + }, + "buildStepImages": { + "description": "List of build step digests, in the order corresponding to build step indices.", + "items": { + "type": "string" + }, + "type": "array" + }, + "buildStepOutputs": { + "description": "List of build step outputs, produced by builder images, in the order corresponding to build step indices. [Cloud Builders](https://cloud.google.com/cloud-build/docs/cloud-builders) can produce this output by writing to `$BUILDER_OUTPUT/output`. Only the first 4KB of data is stored.", + "items": { + "format": "byte", + "type": "string" + }, + "type": "array" + }, + "images": { + "description": "Container images that were built as a part of the build.", + "items": { + "$ref": "BuiltImage" + }, + "type": "array" + }, + "mavenArtifacts": { + "description": "Maven artifacts uploaded to Artifact Registry at the end of the build.", + "items": { + "$ref": "UploadedMavenArtifact" + }, + "type": "array" + }, + "numArtifacts": { + "description": "Number of non-container artifacts uploaded to Cloud Storage. Only populated when artifacts are uploaded to Cloud Storage.", + "format": "int64", + "type": "string" + }, + "pythonPackages": { + "description": "Python artifacts uploaded to Artifact Registry at the end of the build.", + "items": { + "$ref": "UploadedPythonPackage" + }, + "type": "array" + } + }, + "type": "object" + }, + "RunWorkflowCustomOperationMetadata": { + "description": "Represents the custom metadata of the RunWorkflow long-running operation.", + "id": "RunWorkflowCustomOperationMetadata", + "properties": { + "apiVersion": { + "description": "Output only. API version used to start the operation.", + "readOnly": true, + "type": "string" + }, + "createTime": { + "description": "Output only. The time the operation was created.", + "format": "google-datetime", + "readOnly": true, + "type": "string" + }, + "endTime": { + "description": "Output only. The time the operation finished running.", + "format": "google-datetime", + "readOnly": true, + "type": "string" + }, + "pipelineRunId": { + "description": "Output only. ID of the pipeline run created by RunWorkflow.", + "readOnly": true, + "type": "string" + }, + "requestedCancellation": { + "description": "Output only. Identifies whether the user has requested cancellation of the operation. Operations that have successfully been cancelled have Operation.error value with a google.rpc.Status.code of 1, corresponding to `Code.CANCELLED`.", + "readOnly": true, + "type": "boolean" + }, + "target": { + "description": "Output only. Server-defined resource path for the target of the operation.", + "readOnly": true, + "type": "string" + }, + "verb": { + "description": "Output only. Name of the verb executed by the operation.", + "readOnly": true, + "type": "string" + } + }, + "type": "object" + }, + "SMTPDelivery": { + "description": "SMTPDelivery is the delivery configuration for an SMTP (email) notification.", + "id": "SMTPDelivery", + "properties": { + "fromAddress": { + "description": "This is the SMTP account/email that appears in the `From:` of the email. If empty, it is assumed to be sender.", + "type": "string" + }, + "password": { + "$ref": "NotifierSecretRef", + "description": "The SMTP sender's password." + }, + "port": { + "description": "The SMTP port of the server.", + "type": "string" + }, + "recipientAddresses": { + "description": "This is the list of addresses to which we send the email (i.e. in the `To:` of the email).", + "items": { + "type": "string" + }, + "type": "array" + }, + "senderAddress": { + "description": "This is the SMTP account/email that is used to send the message.", + "type": "string" + }, + "server": { + "description": "The address of the SMTP server.", + "type": "string" + } + }, + "type": "object" + }, + "Secret": { + "description": "Pairs a set of secret environment variables containing encrypted values with the Cloud KMS key to use to decrypt the value. Note: Use `kmsKeyName` with `available_secrets` instead of using `kmsKeyName` with `secret`. For instructions see: https://cloud.google.com/cloud-build/docs/securing-builds/use-encrypted-credentials.", + "id": "Secret", + "properties": { + "kmsKeyName": { + "description": "Cloud KMS key name to use to decrypt these envs.", + "type": "string" + }, + "secretEnv": { + "additionalProperties": { + "format": "byte", + "type": "string" + }, + "description": "Map of environment variable name to its encrypted value. Secret environment variables must be unique across all of a build's secrets, and must be used by at least one build step. Values can be at most 64 KB in size. There can be at most 100 secret values across all of a build's secrets.", + "type": "object" + } + }, + "type": "object" + }, + "SecretManagerSecret": { + "description": "Pairs a secret environment variable with a SecretVersion in Secret Manager.", + "id": "SecretManagerSecret", + "properties": { + "env": { + "description": "Environment variable name to associate with the secret. Secret environment variables must be unique across all of a build's secrets, and must be used by at least one build step.", + "type": "string" + }, + "versionName": { + "description": "Resource name of the SecretVersion. In format: projects/*/secrets/*/versions/*", + "type": "string" + } + }, + "type": "object" + }, + "Secrets": { + "description": "Secrets and secret environment variables.", + "id": "Secrets", + "properties": { + "inline": { + "description": "Secrets encrypted with KMS key and the associated secret environment variable.", + "items": { + "$ref": "InlineSecret" + }, + "type": "array" + }, + "secretManager": { + "description": "Secrets in Secret Manager and associated secret environment variable.", + "items": { + "$ref": "SecretManagerSecret" + }, + "type": "array" + } + }, + "type": "object" + }, + "SlackDelivery": { + "description": "SlackDelivery is the delivery configuration for delivering Slack messages via webhooks. See Slack webhook documentation at: https://api.slack.com/messaging/webhooks.", + "id": "SlackDelivery", + "properties": { + "webhookUri": { + "$ref": "NotifierSecretRef", + "description": "The secret reference for the Slack webhook URI for sending messages to a channel." + } + }, + "type": "object" + }, + "Source": { + "description": "Location of the source in a supported storage service.", + "id": "Source", + "properties": { + "repoSource": { + "$ref": "RepoSource", + "description": "If provided, get the source from this location in a Cloud Source Repository." + }, + "storageSource": { + "$ref": "StorageSource", + "description": "If provided, get the source from this location in Google Cloud Storage." + }, + "storageSourceManifest": { + "$ref": "StorageSourceManifest", + "description": "If provided, get the source from this manifest in Google Cloud Storage. This feature is in Preview; see description [here](https://github.com/GoogleCloudPlatform/cloud-builders/tree/master/gcs-fetcher)." + } + }, + "type": "object" + }, + "SourceProvenance": { + "description": "Provenance of the source. Ways to find the original source, or verify that some source was used for this build.", + "id": "SourceProvenance", + "properties": { + "fileHashes": { + "additionalProperties": { + "$ref": "FileHashes" + }, + "description": "Output only. Hash(es) of the build source, which can be used to verify that the original source integrity was maintained in the build. Note that `FileHashes` will only be populated if `BuildOptions` has requested a `SourceProvenanceHash`. The keys to this map are file paths used as build source and the values contain the hash values for those files. If the build source came in a single package such as a gzipped tarfile (`.tar.gz`), the `FileHash` will be for the single path to that file.", + "readOnly": true, + "type": "object" + }, + "resolvedRepoSource": { + "$ref": "RepoSource", + "description": "A copy of the build's `source.repo_source`, if exists, with any revisions resolved." + }, + "resolvedStorageSource": { + "$ref": "StorageSource", + "description": "A copy of the build's `source.storage_source`, if exists, with any generations resolved." + }, + "resolvedStorageSourceManifest": { + "$ref": "StorageSourceManifest", + "description": "A copy of the build's `source.storage_source_manifest`, if exists, with any revisions resolved. This feature is in Preview." + } + }, + "type": "object" + }, + "Status": { + "description": "The `Status` type defines a logical error model that is suitable for different programming environments, including REST APIs and RPC APIs. It is used by [gRPC](https://github.com/grpc). Each `Status` message contains three pieces of data: error code, error message, and error details. You can find out more about this error model and how to work with it in the [API Design Guide](https://cloud.google.com/apis/design/errors).", + "id": "Status", + "properties": { + "code": { + "description": "The status code, which should be an enum value of google.rpc.Code.", + "format": "int32", + "type": "integer" + }, + "details": { + "description": "A list of messages that carry the error details. There is a common set of message types for APIs to use.", + "items": { + "additionalProperties": { + "description": "Properties of the object. Contains field @type with type URL.", + "type": "any" + }, + "type": "object" + }, + "type": "array" + }, + "message": { + "description": "A developer-facing error message, which should be in English. Any user-facing error message should be localized and sent in the google.rpc.Status.details field, or localized by the client.", + "type": "string" + } + }, + "type": "object" + }, + "StorageSource": { + "description": "Location of the source in an archive file in Google Cloud Storage.", + "id": "StorageSource", + "properties": { + "bucket": { + "description": "Google Cloud Storage bucket containing the source (see [Bucket Name Requirements](https://cloud.google.com/storage/docs/bucket-naming#requirements)).", + "type": "string" + }, + "generation": { + "description": "Google Cloud Storage generation for the object. If the generation is omitted, the latest generation will be used.", + "format": "int64", + "type": "string" + }, + "object": { + "description": "Google Cloud Storage object containing the source. This object must be a zipped (`.zip`) or gzipped archive file (`.tar.gz`) containing source to build.", + "type": "string" + } + }, + "type": "object" + }, + "StorageSourceManifest": { + "description": "Location of the source manifest in Google Cloud Storage. This feature is in Preview; see description [here](https://github.com/GoogleCloudPlatform/cloud-builders/tree/master/gcs-fetcher).", + "id": "StorageSourceManifest", + "properties": { + "bucket": { + "description": "Google Cloud Storage bucket containing the source manifest (see [Bucket Name Requirements](https://cloud.google.com/storage/docs/bucket-naming#requirements)).", + "type": "string" + }, + "generation": { + "description": "Google Cloud Storage generation for the object. If the generation is omitted, the latest generation will be used.", + "format": "int64", + "type": "string" + }, + "object": { + "description": "Google Cloud Storage object containing the source manifest. This object must be a JSON file.", + "type": "string" + } + }, + "type": "object" + }, + "TimeSpan": { + "description": "Start and end times for a build execution phase.", + "id": "TimeSpan", + "properties": { + "endTime": { + "description": "End of time span.", + "format": "google-datetime", + "type": "string" + }, + "startTime": { + "description": "Start of time span.", + "format": "google-datetime", + "type": "string" + } + }, + "type": "object" + }, + "UpdateBitbucketServerConfigOperationMetadata": { + "description": "Metadata for `UpdateBitbucketServerConfig` operation.", + "id": "UpdateBitbucketServerConfigOperationMetadata", + "properties": { + "bitbucketServerConfig": { + "description": "The resource name of the BitbucketServerConfig to be updated. Format: `projects/{project}/locations/{location}/bitbucketServerConfigs/{id}`.", + "type": "string" + }, + "completeTime": { + "description": "Time the operation was completed.", + "format": "google-datetime", + "type": "string" + }, + "createTime": { + "description": "Time the operation was created.", + "format": "google-datetime", + "type": "string" + } + }, + "type": "object" + }, + "UpdateGitHubEnterpriseConfigOperationMetadata": { + "description": "Metadata for `UpdateGitHubEnterpriseConfig` operation.", + "id": "UpdateGitHubEnterpriseConfigOperationMetadata", + "properties": { + "completeTime": { + "description": "Time the operation was completed.", + "format": "google-datetime", + "type": "string" + }, + "createTime": { + "description": "Time the operation was created.", + "format": "google-datetime", + "type": "string" + }, + "githubEnterpriseConfig": { + "description": "The resource name of the GitHubEnterprise to be updated. Format: `projects/{project}/locations/{location}/githubEnterpriseConfigs/{id}`.", + "type": "string" + } + }, + "type": "object" + }, + "UpdateGitLabConfigOperationMetadata": { + "description": "Metadata for `UpdateGitLabConfig` operation.", + "id": "UpdateGitLabConfigOperationMetadata", + "properties": { + "completeTime": { + "description": "Time the operation was completed.", + "format": "google-datetime", + "type": "string" + }, + "createTime": { + "description": "Time the operation was created.", + "format": "google-datetime", + "type": "string" + }, + "gitlabConfig": { + "description": "The resource name of the GitLabConfig to be created. Format: `projects/{project}/locations/{location}/gitlabConfigs/{id}`.", + "type": "string" + } + }, + "type": "object" + }, + "UpdateWorkerPoolOperationMetadata": { + "description": "Metadata for the `UpdateWorkerPool` operation.", + "id": "UpdateWorkerPoolOperationMetadata", + "properties": { + "completeTime": { + "description": "Time the operation was completed.", + "format": "google-datetime", + "type": "string" + }, + "createTime": { + "description": "Time the operation was created.", + "format": "google-datetime", + "type": "string" + }, + "workerPool": { + "description": "The resource name of the `WorkerPool` being updated. Format: `projects/{project}/locations/{location}/workerPools/{worker_pool}`.", + "type": "string" + } + }, + "type": "object" + }, + "UploadedMavenArtifact": { + "description": "A Maven artifact uploaded using the MavenArtifact directive.", + "id": "UploadedMavenArtifact", + "properties": { + "fileHashes": { + "$ref": "FileHashes", + "description": "Hash types and values of the Maven Artifact." + }, + "pushTiming": { + "$ref": "TimeSpan", + "description": "Output only. Stores timing information for pushing the specified artifact.", + "readOnly": true + }, + "uri": { + "description": "URI of the uploaded artifact.", + "type": "string" + } + }, + "type": "object" + }, + "UploadedPythonPackage": { + "description": "Artifact uploaded using the PythonPackage directive.", + "id": "UploadedPythonPackage", + "properties": { + "fileHashes": { + "$ref": "FileHashes", + "description": "Hash types and values of the Python Artifact." + }, + "pushTiming": { + "$ref": "TimeSpan", + "description": "Output only. Stores timing information for pushing the specified artifact.", + "readOnly": true + }, + "uri": { + "description": "URI of the uploaded artifact.", + "type": "string" + } + }, + "type": "object" + }, + "Volume": { + "description": "Volume describes a Docker container volume which is mounted into build steps in order to persist files across build step execution.", + "id": "Volume", + "properties": { + "name": { + "description": "Name of the volume to mount. Volume names must be unique per build step and must be valid names for Docker volumes. Each named volume must be used by at least two build steps.", + "type": "string" + }, + "path": { + "description": "Path at which to mount the volume. Paths must be absolute and cannot conflict with other volume paths on the same build step or with certain reserved volume paths.", + "type": "string" + } + }, + "type": "object" + }, + "Warning": { + "description": "A non-fatal problem encountered during the execution of the build.", + "id": "Warning", + "properties": { + "priority": { + "description": "The priority for this warning.", + "enum": [ + "PRIORITY_UNSPECIFIED", + "INFO", + "WARNING", + "ALERT" + ], + "enumDescriptions": [ + "Should not be used.", + "e.g. deprecation warnings and alternative feature highlights.", + "e.g. automated detection of possible issues with the build.", + "e.g. alerts that a feature used in the build is pending removal" + ], + "type": "string" + }, + "text": { + "description": "Explanation of the warning generated.", + "type": "string" + } + }, + "type": "object" + }, + "WorkerConfig": { + "description": "WorkerConfig defines the configuration to be used for a creating workers in the pool.", + "id": "WorkerConfig", + "properties": { + "diskSizeGb": { + "description": "Size of the disk attached to the worker, in GB. See https://cloud.google.com/compute/docs/disks/ If `0` is specified, Cloud Build will use a standard disk size.", + "format": "int64", + "type": "string" + }, + "machineType": { + "description": "Machine Type of the worker, such as n1-standard-1. See https://cloud.google.com/compute/docs/machine-types. If left blank, Cloud Build will use a standard unspecified machine to create the worker pool.", + "type": "string" + } + }, + "type": "object" + }, + "WorkerPool": { + "description": "Configuration for a WorkerPool to run the builds. Workers are machines that Cloud Build uses to run your builds. By default, all workers run in a project owned by Cloud Build. To have full control over the workers that execute your builds -- such as enabling them to access private resources on your private network -- you can request Cloud Build to run the workers in your own project by creating a custom workers pool.", + "id": "WorkerPool", + "properties": { + "createTime": { + "description": "Output only. Time at which the request to create the `WorkerPool` was received.", + "format": "google-datetime", + "readOnly": true, + "type": "string" + }, + "deleteTime": { + "description": "Output only. Time at which the request to delete the `WorkerPool` was received.", + "format": "google-datetime", + "readOnly": true, + "type": "string" + }, + "name": { + "description": "Output only. The resource name of the `WorkerPool`. Format of the name is `projects/{project_id}/workerPools/{worker_pool_id}`, where the value of {worker_pool_id} is provided in the CreateWorkerPool request.", + "readOnly": true, + "type": "string" + }, + "networkConfig": { + "$ref": "NetworkConfig", + "description": "Network configuration for the `WorkerPool`." + }, + "region": { + "description": "Required. Immutable. The region where the `WorkerPool` runs. Only \"us-central1\" is currently supported. Note that `region` cannot be changed once the `WorkerPool` is created.", + "type": "string" + }, + "state": { + "description": "Output only. WorkerPool state.", + "enum": [ + "STATE_UNSPECIFIED", + "CREATING", + "RUNNING", + "DELETING", + "DELETED" + ], + "enumDescriptions": [ + "State of the `WorkerPool` is unknown.", + "`WorkerPool` is being created.", + "`WorkerPool` is running.", + "`WorkerPool` is being deleted: cancelling builds and draining workers.", + "`WorkerPool` is deleted." + ], + "readOnly": true, + "type": "string" + }, + "updateTime": { + "description": "Output only. Time at which the request to update the `WorkerPool` was received.", + "format": "google-datetime", + "readOnly": true, + "type": "string" + }, + "workerConfig": { + "$ref": "WorkerConfig", + "description": "Worker configuration for the `WorkerPool`." + } + }, + "type": "object" + } + }, + "servicePath": "", + "title": "Cloud Build API", + "version": "v1alpha2", + "version_module": true +} \ No newline at end of file diff --git a/.venv/lib/python3.11/site-packages/googleapiclient/discovery_cache/documents/cloudcontrolspartner.v1beta.json b/.venv/lib/python3.11/site-packages/googleapiclient/discovery_cache/documents/cloudcontrolspartner.v1beta.json new file mode 100644 index 0000000000000000000000000000000000000000..d05a5c6ad4db65c3ecfdecba2779d60fb8e3afef --- /dev/null +++ b/.venv/lib/python3.11/site-packages/googleapiclient/discovery_cache/documents/cloudcontrolspartner.v1beta.json @@ -0,0 +1,1400 @@ +{ +"auth": { +"oauth2": { +"scopes": { +"https://www.googleapis.com/auth/cloud-platform": { +"description": "See, edit, configure, and delete your Google Cloud data and see the email address for your Google Account." +} +} +} +}, +"basePath": "", +"baseUrl": "https://cloudcontrolspartner.googleapis.com/", +"batchPath": "batch", +"canonicalName": "Cloud Controls Partner Service", +"description": "Provides insights about your customers and their Assured Workloads based on your Sovereign Controls by Partners offering.", +"discoveryVersion": "v1", +"documentationLink": "https://cloud.google.com/sovereign-controls-by-partners/docs/sovereign-partners/reference/rest", +"fullyEncodeReservedExpansion": true, +"icons": { +"x16": "http://www.google.com/images/icons/product/search-16.gif", +"x32": "http://www.google.com/images/icons/product/search-32.gif" +}, +"id": "cloudcontrolspartner:v1beta", +"kind": "discovery#restDescription", +"mtlsRootUrl": "https://cloudcontrolspartner.mtls.googleapis.com/", +"name": "cloudcontrolspartner", +"ownerDomain": "google.com", +"ownerName": "Google", +"parameters": { +"$.xgafv": { +"description": "V1 error format.", +"enum": [ +"1", +"2" +], +"enumDescriptions": [ +"v1 error format", +"v2 error format" +], +"location": "query", +"type": "string" +}, +"access_token": { +"description": "OAuth access token.", +"location": "query", +"type": "string" +}, +"alt": { +"default": "json", +"description": "Data format for response.", +"enum": [ +"json", +"media", +"proto" +], +"enumDescriptions": [ +"Responses with Content-Type of application/json", +"Media download with context-dependent Content-Type", +"Responses with Content-Type of application/x-protobuf" +], +"location": "query", +"type": "string" +}, +"callback": { +"description": "JSONP", +"location": "query", +"type": "string" +}, +"fields": { +"description": "Selector specifying which fields to include in a partial response.", +"location": "query", +"type": "string" +}, +"key": { +"description": "API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token.", +"location": "query", +"type": "string" +}, +"oauth_token": { +"description": "OAuth 2.0 token for the current user.", +"location": "query", +"type": "string" +}, +"prettyPrint": { +"default": "true", +"description": "Returns response with indentations and line breaks.", +"location": "query", +"type": "boolean" +}, +"quotaUser": { +"description": "Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters.", +"location": "query", +"type": "string" +}, +"uploadType": { +"description": "Legacy upload protocol for media (e.g. \"media\", \"multipart\").", +"location": "query", +"type": "string" +}, +"upload_protocol": { +"description": "Upload protocol for media (e.g. \"raw\", \"multipart\").", +"location": "query", +"type": "string" +} +}, +"protocol": "rest", +"resources": { +"organizations": { +"resources": { +"locations": { +"methods": { +"getPartner": { +"description": "Get details of a Partner.", +"flatPath": "v1beta/organizations/{organizationsId}/locations/{locationsId}/partner", +"httpMethod": "GET", +"id": "cloudcontrolspartner.organizations.locations.getPartner", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. Format: `organizations/{organization}/locations/{location}/partner`", +"location": "path", +"pattern": "^organizations/[^/]+/locations/[^/]+/partner$", +"required": true, +"type": "string" +} +}, +"path": "v1beta/{+name}", +"response": { +"$ref": "Partner" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +} +}, +"resources": { +"customers": { +"methods": { +"create": { +"description": "Creates a new customer.", +"flatPath": "v1beta/organizations/{organizationsId}/locations/{locationsId}/customers", +"httpMethod": "POST", +"id": "cloudcontrolspartner.organizations.locations.customers.create", +"parameterOrder": [ +"parent" +], +"parameters": { +"customerId": { +"description": "Required. The customer id to use for the customer, which will become the final component of the customer's resource name. The specified value must be a valid Google cloud organization id.", +"location": "query", +"type": "string" +}, +"parent": { +"description": "Required. Parent resource Format: `organizations/{organization}/locations/{location}`", +"location": "path", +"pattern": "^organizations/[^/]+/locations/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1beta/{+parent}/customers", +"request": { +"$ref": "Customer" +}, +"response": { +"$ref": "Customer" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"delete": { +"description": "Delete details of a single customer", +"flatPath": "v1beta/organizations/{organizationsId}/locations/{locationsId}/customers/{customersId}", +"httpMethod": "DELETE", +"id": "cloudcontrolspartner.organizations.locations.customers.delete", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. name of the resource to be deleted format: name=organizations/*/locations/*/customers/*", +"location": "path", +"pattern": "^organizations/[^/]+/locations/[^/]+/customers/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1beta/{+name}", +"response": { +"$ref": "Empty" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"get": { +"description": "Gets details of a single customer", +"flatPath": "v1beta/organizations/{organizationsId}/locations/{locationsId}/customers/{customersId}", +"httpMethod": "GET", +"id": "cloudcontrolspartner.organizations.locations.customers.get", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. Format: `organizations/{organization}/locations/{location}/customers/{customer}`", +"location": "path", +"pattern": "^organizations/[^/]+/locations/[^/]+/customers/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1beta/{+name}", +"response": { +"$ref": "Customer" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"list": { +"description": "Lists customers of a partner identified by its Google Cloud organization ID", +"flatPath": "v1beta/organizations/{organizationsId}/locations/{locationsId}/customers", +"httpMethod": "GET", +"id": "cloudcontrolspartner.organizations.locations.customers.list", +"parameterOrder": [ +"parent" +], +"parameters": { +"filter": { +"description": "Optional. Filtering results", +"location": "query", +"type": "string" +}, +"orderBy": { +"description": "Optional. Hint for how to order the results", +"location": "query", +"type": "string" +}, +"pageSize": { +"description": "The maximum number of Customers to return. The service may return fewer than this value. If unspecified, at most 500 Customers will be returned.", +"format": "int32", +"location": "query", +"type": "integer" +}, +"pageToken": { +"description": "A page token, received from a previous `ListCustomers` call. Provide this to retrieve the subsequent page.", +"location": "query", +"type": "string" +}, +"parent": { +"description": "Required. Parent resource Format: `organizations/{organization}/locations/{location}`", +"location": "path", +"pattern": "^organizations/[^/]+/locations/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1beta/{+parent}/customers", +"response": { +"$ref": "ListCustomersResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"patch": { +"description": "Update details of a single customer", +"flatPath": "v1beta/organizations/{organizationsId}/locations/{locationsId}/customers/{customersId}", +"httpMethod": "PATCH", +"id": "cloudcontrolspartner.organizations.locations.customers.patch", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Identifier. Format: `organizations/{organization}/locations/{location}/customers/{customer}`", +"location": "path", +"pattern": "^organizations/[^/]+/locations/[^/]+/customers/[^/]+$", +"required": true, +"type": "string" +}, +"updateMask": { +"description": "Optional. The list of fields to update", +"format": "google-fieldmask", +"location": "query", +"type": "string" +} +}, +"path": "v1beta/{+name}", +"request": { +"$ref": "Customer" +}, +"response": { +"$ref": "Customer" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +} +}, +"resources": { +"workloads": { +"methods": { +"get": { +"description": "Gets details of a single workload", +"flatPath": "v1beta/organizations/{organizationsId}/locations/{locationsId}/customers/{customersId}/workloads/{workloadsId}", +"httpMethod": "GET", +"id": "cloudcontrolspartner.organizations.locations.customers.workloads.get", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. Format: `organizations/{organization}/locations/{location}/customers/{customer}/workloads/{workload}`", +"location": "path", +"pattern": "^organizations/[^/]+/locations/[^/]+/customers/[^/]+/workloads/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1beta/{+name}", +"response": { +"$ref": "Workload" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"getEkmConnections": { +"description": "Gets the EKM connections associated with a workload", +"flatPath": "v1beta/organizations/{organizationsId}/locations/{locationsId}/customers/{customersId}/workloads/{workloadsId}/ekmConnections", +"httpMethod": "GET", +"id": "cloudcontrolspartner.organizations.locations.customers.workloads.getEkmConnections", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. Format: `organizations/{organization}/locations/{location}/customers/{customer}/workloads/{workload}/ekmConnections`", +"location": "path", +"pattern": "^organizations/[^/]+/locations/[^/]+/customers/[^/]+/workloads/[^/]+/ekmConnections$", +"required": true, +"type": "string" +} +}, +"path": "v1beta/{+name}", +"response": { +"$ref": "EkmConnections" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"getPartnerPermissions": { +"description": "Gets the partner permissions granted for a workload", +"flatPath": "v1beta/organizations/{organizationsId}/locations/{locationsId}/customers/{customersId}/workloads/{workloadsId}/partnerPermissions", +"httpMethod": "GET", +"id": "cloudcontrolspartner.organizations.locations.customers.workloads.getPartnerPermissions", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. Name of the resource to get in the format: `organizations/{organization}/locations/{location}/customers/{customer}/workloads/{workload}/partnerPermissions`", +"location": "path", +"pattern": "^organizations/[^/]+/locations/[^/]+/customers/[^/]+/workloads/[^/]+/partnerPermissions$", +"required": true, +"type": "string" +} +}, +"path": "v1beta/{+name}", +"response": { +"$ref": "PartnerPermissions" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"list": { +"description": "Lists customer workloads for a given customer org id", +"flatPath": "v1beta/organizations/{organizationsId}/locations/{locationsId}/customers/{customersId}/workloads", +"httpMethod": "GET", +"id": "cloudcontrolspartner.organizations.locations.customers.workloads.list", +"parameterOrder": [ +"parent" +], +"parameters": { +"filter": { +"description": "Optional. Filtering results.", +"location": "query", +"type": "string" +}, +"orderBy": { +"description": "Optional. Hint for how to order the results.", +"location": "query", +"type": "string" +}, +"pageSize": { +"description": "The maximum number of workloads to return. The service may return fewer than this value. If unspecified, at most 500 workloads will be returned.", +"format": "int32", +"location": "query", +"type": "integer" +}, +"pageToken": { +"description": "A page token, received from a previous `ListWorkloads` call. Provide this to retrieve the subsequent page.", +"location": "query", +"type": "string" +}, +"parent": { +"description": "Required. Parent resource Format: `organizations/{organization}/locations/{location}/customers/{customer}`", +"location": "path", +"pattern": "^organizations/[^/]+/locations/[^/]+/customers/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1beta/{+parent}/workloads", +"response": { +"$ref": "ListWorkloadsResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +} +}, +"resources": { +"accessApprovalRequests": { +"deprecated": true, +"methods": { +"list": { +"deprecated": true, +"description": "Deprecated: Only returns access approval requests directly associated with an assured workload folder.", +"flatPath": "v1beta/organizations/{organizationsId}/locations/{locationsId}/customers/{customersId}/workloads/{workloadsId}/accessApprovalRequests", +"httpMethod": "GET", +"id": "cloudcontrolspartner.organizations.locations.customers.workloads.accessApprovalRequests.list", +"parameterOrder": [ +"parent" +], +"parameters": { +"filter": { +"description": "Optional. Filtering results.", +"location": "query", +"type": "string" +}, +"orderBy": { +"description": "Optional. Hint for how to order the results.", +"location": "query", +"type": "string" +}, +"pageSize": { +"description": "Optional. The maximum number of access requests to return. The service may return fewer than this value. If unspecified, at most 500 access requests will be returned.", +"format": "int32", +"location": "query", +"type": "integer" +}, +"pageToken": { +"description": "Optional. A page token, received from a previous `ListAccessApprovalRequests` call. Provide this to retrieve the subsequent page.", +"location": "query", +"type": "string" +}, +"parent": { +"description": "Required. Parent resource Format: `organizations/{organization}/locations/{location}/customers/{customer}/workloads/{workload}`", +"location": "path", +"pattern": "^organizations/[^/]+/locations/[^/]+/customers/[^/]+/workloads/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1beta/{+parent}/accessApprovalRequests", +"response": { +"$ref": "ListAccessApprovalRequestsResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +} +} +}, +"violations": { +"methods": { +"get": { +"description": "Gets details of a single Violation.", +"flatPath": "v1beta/organizations/{organizationsId}/locations/{locationsId}/customers/{customersId}/workloads/{workloadsId}/violations/{violationsId}", +"httpMethod": "GET", +"id": "cloudcontrolspartner.organizations.locations.customers.workloads.violations.get", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. Format: `organizations/{organization}/locations/{location}/customers/{customer}/workloads/{workload}/violations/{violation}`", +"location": "path", +"pattern": "^organizations/[^/]+/locations/[^/]+/customers/[^/]+/workloads/[^/]+/violations/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1beta/{+name}", +"response": { +"$ref": "Violation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"list": { +"description": "Lists Violations for a workload Callers may also choose to read across multiple Customers or for a single customer as per [AIP-159](https://google.aip.dev/159) by using '-' (the hyphen or dash character) as a wildcard character instead of {customer} & {workload}. Format: `organizations/{organization}/locations/{location}/customers/{customer}/workloads/{workload}`", +"flatPath": "v1beta/organizations/{organizationsId}/locations/{locationsId}/customers/{customersId}/workloads/{workloadsId}/violations", +"httpMethod": "GET", +"id": "cloudcontrolspartner.organizations.locations.customers.workloads.violations.list", +"parameterOrder": [ +"parent" +], +"parameters": { +"filter": { +"description": "Optional. Filtering results", +"location": "query", +"type": "string" +}, +"interval.endTime": { +"description": "Optional. Exclusive end of the interval. If specified, a Timestamp matching this interval will have to be before the end.", +"format": "google-datetime", +"location": "query", +"type": "string" +}, +"interval.startTime": { +"description": "Optional. Inclusive start of the interval. If specified, a Timestamp matching this interval will have to be the same or after the start.", +"format": "google-datetime", +"location": "query", +"type": "string" +}, +"orderBy": { +"description": "Optional. Hint for how to order the results", +"location": "query", +"type": "string" +}, +"pageSize": { +"description": "Optional. The maximum number of customers row to return. The service may return fewer than this value. If unspecified, at most 10 customers will be returned.", +"format": "int32", +"location": "query", +"type": "integer" +}, +"pageToken": { +"description": "Optional. A page token, received from a previous `ListViolations` call. Provide this to retrieve the subsequent page.", +"location": "query", +"type": "string" +}, +"parent": { +"description": "Required. Parent resource Format `organizations/{organization}/locations/{location}/customers/{customer}/workloads/{workload}`", +"location": "path", +"pattern": "^organizations/[^/]+/locations/[^/]+/customers/[^/]+/workloads/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1beta/{+parent}/violations", +"response": { +"$ref": "ListViolationsResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +} +} +} +} +} +} +} +} +} +} +} +}, +"revision": "20241231", +"rootUrl": "https://cloudcontrolspartner.googleapis.com/", +"schemas": { +"AccessApprovalRequest": { +"description": "Details about the Access request.", +"id": "AccessApprovalRequest", +"properties": { +"name": { +"description": "Identifier. Format: `organizations/{organization}/locations/{location}/customers/{customer}/workloads/{workload}/accessApprovalRequests/{access_approval_request}`", +"type": "string" +}, +"requestTime": { +"description": "The time at which approval was requested.", +"format": "google-datetime", +"type": "string" +}, +"requestedExpirationTime": { +"description": "The requested expiration for the approval. If the request is approved, access will be granted from the time of approval until the expiration time.", +"format": "google-datetime", +"type": "string" +}, +"requestedReason": { +"$ref": "AccessReason", +"description": "The justification for which approval is being requested." +} +}, +"type": "object" +}, +"AccessReason": { +"description": "Reason for the access.", +"id": "AccessReason", +"properties": { +"detail": { +"description": "More detail about certain reason types. See comments for each type above.", +"type": "string" +}, +"type": { +"description": "Type of access justification.", +"enum": [ +"TYPE_UNSPECIFIED", +"CUSTOMER_INITIATED_SUPPORT", +"GOOGLE_INITIATED_SERVICE", +"GOOGLE_INITIATED_REVIEW", +"THIRD_PARTY_DATA_REQUEST", +"GOOGLE_RESPONSE_TO_PRODUCTION_ALERT", +"CLOUD_INITIATED_ACCESS" +], +"enumDescriptions": [ +"Default value for proto, shouldn't be used.", +"Customer made a request or raised an issue that required the principal to access customer data. `detail` is of the form (\"#####\" is the issue ID): - \"Feedback Report: #####\" - \"Case Number: #####\" - \"Case ID: #####\" - \"E-PIN Reference: #####\" - \"Google-#####\" - \"T-#####\"", +"The principal accessed customer data in order to diagnose or resolve a suspected issue in services. Often this access is used to confirm that customers are not affected by a suspected service issue or to remediate a reversible system issue.", +"Google initiated service for security, fraud, abuse, or compliance purposes.", +"The principal was compelled to access customer data in order to respond to a legal third party data request or process, including legal processes from customers themselves.", +"The principal accessed customer data in order to diagnose or resolve a suspected issue in services or a known outage.", +"Similar to 'GOOGLE_INITIATED_SERVICE' or 'GOOGLE_INITIATED_REVIEW', but with universe agnostic naming. The principal accessed customer data in order to diagnose or resolve a suspected issue in services or a known outage, or for security, fraud, abuse, or compliance review purposes." +], +"type": "string" +} +}, +"type": "object" +}, +"ConnectionError": { +"description": "Information around the error that occurred if the connection state is anything other than available or unspecified", +"id": "ConnectionError", +"properties": { +"errorDomain": { +"description": "The error domain for the error", +"type": "string" +}, +"errorMessage": { +"description": "The error message for the error", +"type": "string" +} +}, +"type": "object" +}, +"Console": { +"description": "Remediation instructions to resolve violation via cloud console", +"id": "Console", +"properties": { +"additionalLinks": { +"description": "Additional urls for more information about steps", +"items": { +"type": "string" +}, +"type": "array" +}, +"consoleUris": { +"description": "Link to console page where violations can be resolved", +"items": { +"type": "string" +}, +"type": "array" +}, +"steps": { +"description": "Steps to resolve violation via cloud console", +"items": { +"type": "string" +}, +"type": "array" +} +}, +"type": "object" +}, +"Customer": { +"description": "Contains metadata around a Cloud Controls Partner Customer", +"id": "Customer", +"properties": { +"customerOnboardingState": { +"$ref": "CustomerOnboardingState", +"description": "Output only. Container for customer onboarding steps", +"readOnly": true +}, +"displayName": { +"description": "Required. Display name for the customer", +"type": "string" +}, +"isOnboarded": { +"description": "Output only. Indicates whether a customer is fully onboarded", +"readOnly": true, +"type": "boolean" +}, +"name": { +"description": "Identifier. Format: `organizations/{organization}/locations/{location}/customers/{customer}`", +"type": "string" +}, +"organizationDomain": { +"description": "Output only. The customer organization domain, extracted from CRM Organization\u2019s display_name field. e.g. \"google.com\"", +"readOnly": true, +"type": "string" +} +}, +"type": "object" +}, +"CustomerOnboardingState": { +"description": "Container for customer onboarding steps", +"id": "CustomerOnboardingState", +"properties": { +"onboardingSteps": { +"description": "List of customer onboarding steps", +"items": { +"$ref": "CustomerOnboardingStep" +}, +"type": "array" +} +}, +"type": "object" +}, +"CustomerOnboardingStep": { +"description": "Container for customer onboarding information", +"id": "CustomerOnboardingStep", +"properties": { +"completionState": { +"description": "Output only. Current state of the step", +"enum": [ +"COMPLETION_STATE_UNSPECIFIED", +"PENDING", +"SUCCEEDED", +"FAILED", +"NOT_APPLICABLE" +], +"enumDescriptions": [ +"Unspecified completion state.", +"Task started (has start date) but not yet completed.", +"Succeeded state.", +"Failed state.", +"Not applicable state." +], +"readOnly": true, +"type": "string" +}, +"completionTime": { +"description": "The completion time of the onboarding step", +"format": "google-datetime", +"type": "string" +}, +"startTime": { +"description": "The starting time of the onboarding step", +"format": "google-datetime", +"type": "string" +}, +"step": { +"description": "The onboarding step", +"enum": [ +"STEP_UNSPECIFIED", +"KAJ_ENROLLMENT", +"CUSTOMER_ENVIRONMENT" +], +"enumDescriptions": [ +"Unspecified step", +"KAJ Enrollment", +"Customer Environment" +], +"type": "string" +} +}, +"type": "object" +}, +"EkmConnection": { +"description": "Details about the EKM connection", +"id": "EkmConnection", +"properties": { +"connectionError": { +"$ref": "ConnectionError", +"description": "The connection error that occurred if any" +}, +"connectionName": { +"description": "Resource name of the EKM connection in the format: projects/{project}/locations/{location}/ekmConnections/{ekm_connection}", +"type": "string" +}, +"connectionState": { +"description": "Output only. The connection state", +"enum": [ +"CONNECTION_STATE_UNSPECIFIED", +"AVAILABLE", +"NOT_AVAILABLE", +"ERROR", +"PERMISSION_DENIED" +], +"enumDescriptions": [ +"Unspecified EKM connection state", +"Available EKM connection state", +"Not available EKM connection state", +"Error EKM connection state", +"Permission denied EKM connection state" +], +"readOnly": true, +"type": "string" +} +}, +"type": "object" +}, +"EkmConnections": { +"description": "The EKM connections associated with a workload", +"id": "EkmConnections", +"properties": { +"ekmConnections": { +"description": "The EKM connections associated with the workload", +"items": { +"$ref": "EkmConnection" +}, +"type": "array" +}, +"name": { +"description": "Identifier. Format: `organizations/{organization}/locations/{location}/customers/{customer}/workloads/{workload}/ekmConnections`", +"type": "string" +} +}, +"type": "object" +}, +"EkmMetadata": { +"description": "Holds information needed by Mudbray to use partner EKMs for workloads.", +"id": "EkmMetadata", +"properties": { +"ekmEndpointUri": { +"description": "Endpoint for sending requests to the EKM for key provisioning during Assured Workload creation.", +"type": "string" +}, +"ekmSolution": { +"description": "The Cloud EKM partner.", +"enum": [ +"EKM_SOLUTION_UNSPECIFIED", +"FORTANIX", +"FUTUREX", +"THALES", +"VIRTRU" +], +"enumDeprecated": [ +false, +false, +false, +false, +true +], +"enumDescriptions": [ +"Unspecified EKM solution", +"EKM Partner Fortanix", +"EKM Partner FutureX", +"EKM Partner Thales", +"This enum value is never used." +], +"type": "string" +} +}, +"type": "object" +}, +"Empty": { +"description": "A generic empty message that you can re-use to avoid defining duplicated empty messages in your APIs. A typical example is to use it as the request or the response type of an API method. For instance: service Foo { rpc Bar(google.protobuf.Empty) returns (google.protobuf.Empty); }", +"id": "Empty", +"properties": {}, +"type": "object" +}, +"Gcloud": { +"description": "Remediation instructions to resolve violation via gcloud cli", +"id": "Gcloud", +"properties": { +"additionalLinks": { +"description": "Additional urls for more information about steps", +"items": { +"type": "string" +}, +"type": "array" +}, +"gcloudCommands": { +"description": "Gcloud command to resolve violation", +"items": { +"type": "string" +}, +"type": "array" +}, +"steps": { +"description": "Steps to resolve violation via gcloud cli", +"items": { +"type": "string" +}, +"type": "array" +} +}, +"type": "object" +}, +"Instructions": { +"description": "Instructions to remediate violation", +"id": "Instructions", +"properties": { +"consoleInstructions": { +"$ref": "Console", +"description": "Remediation instructions to resolve violation via cloud console" +}, +"gcloudInstructions": { +"$ref": "Gcloud", +"description": "Remediation instructions to resolve violation via gcloud cli" +} +}, +"type": "object" +}, +"ListAccessApprovalRequestsResponse": { +"description": "Response message for list access requests.", +"id": "ListAccessApprovalRequestsResponse", +"properties": { +"accessApprovalRequests": { +"description": "List of access approval requests", +"items": { +"$ref": "AccessApprovalRequest" +}, +"type": "array" +}, +"nextPageToken": { +"description": "A token that can be sent as `page_token` to retrieve the next page. If this field is omitted, there are no subsequent pages.", +"type": "string" +}, +"unreachable": { +"description": "Locations that could not be reached.", +"items": { +"type": "string" +}, +"type": "array" +} +}, +"type": "object" +}, +"ListCustomersResponse": { +"description": "Response message for list customer Customers requests", +"id": "ListCustomersResponse", +"properties": { +"customers": { +"description": "List of customers", +"items": { +"$ref": "Customer" +}, +"type": "array" +}, +"nextPageToken": { +"description": "A token that can be sent as `page_token` to retrieve the next page. If this field is omitted, there are no subsequent pages.", +"type": "string" +}, +"unreachable": { +"description": "Locations that could not be reached.", +"items": { +"type": "string" +}, +"type": "array" +} +}, +"type": "object" +}, +"ListViolationsResponse": { +"description": "Response message for list customer violation requests", +"id": "ListViolationsResponse", +"properties": { +"nextPageToken": { +"description": "A token that can be sent as `page_token` to retrieve the next page. If this field is omitted, there are no subsequent pages.", +"type": "string" +}, +"unreachable": { +"description": "Workloads that could not be reached due to permission errors or any other error. Ref: https://google.aip.dev/217", +"items": { +"type": "string" +}, +"type": "array" +}, +"violations": { +"description": "List of violation", +"items": { +"$ref": "Violation" +}, +"type": "array" +} +}, +"type": "object" +}, +"ListWorkloadsResponse": { +"description": "Response message for list customer workloads requests.", +"id": "ListWorkloadsResponse", +"properties": { +"nextPageToken": { +"description": "A token that can be sent as `page_token` to retrieve the next page. If this field is omitted, there are no subsequent pages.", +"type": "string" +}, +"unreachable": { +"description": "Locations that could not be reached.", +"items": { +"type": "string" +}, +"type": "array" +}, +"workloads": { +"description": "List of customer workloads", +"items": { +"$ref": "Workload" +}, +"type": "array" +} +}, +"type": "object" +}, +"OperationMetadata": { +"description": "Represents the metadata of the long-running operation.", +"id": "OperationMetadata", +"properties": { +"apiVersion": { +"description": "Output only. API version used to start the operation.", +"readOnly": true, +"type": "string" +}, +"createTime": { +"description": "Output only. The time the operation was created.", +"format": "google-datetime", +"readOnly": true, +"type": "string" +}, +"endTime": { +"description": "Output only. The time the operation finished running.", +"format": "google-datetime", +"readOnly": true, +"type": "string" +}, +"requestedCancellation": { +"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`.", +"readOnly": true, +"type": "boolean" +}, +"statusMessage": { +"description": "Output only. Human-readable status of the operation, if any.", +"readOnly": true, +"type": "string" +}, +"target": { +"description": "Output only. Server-defined resource path for the target of the operation.", +"readOnly": true, +"type": "string" +}, +"verb": { +"description": "Output only. Name of the verb executed by the operation.", +"readOnly": true, +"type": "string" +} +}, +"type": "object" +}, +"Partner": { +"description": "Message describing Partner resource", +"id": "Partner", +"properties": { +"createTime": { +"description": "Output only. Time the resource was created", +"format": "google-datetime", +"readOnly": true, +"type": "string" +}, +"ekmSolutions": { +"description": "List of Google Cloud supported EKM partners supported by the partner", +"items": { +"$ref": "EkmMetadata" +}, +"type": "array" +}, +"name": { +"description": "Identifier. The resource name of the partner. Format: `organizations/{organization}/locations/{location}/partner` Example: \"organizations/123456/locations/us-central1/partner\"", +"type": "string" +}, +"operatedCloudRegions": { +"description": "List of Google Cloud regions that the partner sells services to customers. Valid Google Cloud regions found here: https://cloud.google.com/compute/docs/regions-zones", +"items": { +"type": "string" +}, +"type": "array" +}, +"partnerProjectId": { +"description": "Google Cloud project ID in the partner's Google Cloud organization for receiving enhanced Logs for Partners.", +"type": "string" +}, +"skus": { +"description": "List of SKUs the partner is offering", +"items": { +"$ref": "Sku" +}, +"type": "array" +}, +"updateTime": { +"description": "Output only. The last time the resource was updated", +"format": "google-datetime", +"readOnly": true, +"type": "string" +} +}, +"type": "object" +}, +"PartnerPermissions": { +"description": "The permissions granted to the partner for a workload", +"id": "PartnerPermissions", +"properties": { +"name": { +"description": "Identifier. Format: `organizations/{organization}/locations/{location}/customers/{customer}/workloads/{workload}/partnerPermissions`", +"type": "string" +}, +"partnerPermissions": { +"description": "The partner permissions granted for the workload", +"items": { +"enum": [ +"PERMISSION_UNSPECIFIED", +"ACCESS_TRANSPARENCY_AND_EMERGENCY_ACCESS_LOGS", +"ASSURED_WORKLOADS_MONITORING", +"ACCESS_APPROVAL_REQUESTS", +"ASSURED_WORKLOADS_EKM_CONNECTION_STATUS", +"ACCESS_TRANSPARENCY_LOGS_SUPPORT_CASE_VIEWER" +], +"enumDescriptions": [ +"Unspecified partner permission", +"Permission for Access Transparency and emergency logs", +"Permission for Assured Workloads monitoring violations", +"Permission for Access Approval requests", +"Permission for External Key Manager connection status", +"Permission for support case details for Access Transparency log entries" +], +"type": "string" +}, +"type": "array" +} +}, +"type": "object" +}, +"Remediation": { +"description": "Represents remediation guidance to resolve compliance violation for AssuredWorkload", +"id": "Remediation", +"properties": { +"compliantValues": { +"description": "Values that can resolve the violation For example: for list org policy violations, this will either be the list of allowed or denied values", +"items": { +"type": "string" +}, +"type": "array" +}, +"instructions": { +"$ref": "Instructions", +"description": "Required. Remediation instructions to resolve violations" +}, +"remediationType": { +"description": "Output only. Remediation type based on the type of org policy values violated", +"enum": [ +"REMEDIATION_TYPE_UNSPECIFIED", +"REMEDIATION_BOOLEAN_ORG_POLICY_VIOLATION", +"REMEDIATION_LIST_ALLOWED_VALUES_ORG_POLICY_VIOLATION", +"REMEDIATION_LIST_DENIED_VALUES_ORG_POLICY_VIOLATION", +"REMEDIATION_RESTRICT_CMEK_CRYPTO_KEY_PROJECTS_ORG_POLICY_VIOLATION", +"REMEDIATION_RESOURCE_VIOLATION" +], +"enumDescriptions": [ +"Unspecified remediation type", +"Remediation type for boolean org policy", +"Remediation type for list org policy which have allowed values in the monitoring rule", +"Remediation type for list org policy which have denied values in the monitoring rule", +"Remediation type for gcp.restrictCmekCryptoKeyProjects", +"Remediation type for resource violation." +], +"readOnly": true, +"type": "string" +} +}, +"type": "object" +}, +"Sku": { +"description": "Represents the SKU a partner owns inside Google Cloud to sell to customers.", +"id": "Sku", +"properties": { +"displayName": { +"description": "Display name of the product identified by the SKU. A partner may want to show partner branded names for their offerings such as local sovereign cloud solutions.", +"type": "string" +}, +"id": { +"description": "Argentum product SKU, that is associated with the partner offerings to customers used by Syntro for billing purposes. SKUs can represent resold Google products or support services.", +"type": "string" +} +}, +"type": "object" +}, +"Violation": { +"description": "Details of resource Violation", +"id": "Violation", +"properties": { +"beginTime": { +"description": "Output only. Time of the event which triggered the Violation.", +"format": "google-datetime", +"readOnly": true, +"type": "string" +}, +"category": { +"description": "Output only. Category under which this violation is mapped. e.g. Location, Service Usage, Access, Encryption, etc.", +"readOnly": true, +"type": "string" +}, +"description": { +"description": "Output only. Description for the Violation. e.g. OrgPolicy gcp.resourceLocations has non compliant value.", +"readOnly": true, +"type": "string" +}, +"folderId": { +"description": "The folder_id of the violation", +"format": "int64", +"type": "string" +}, +"name": { +"description": "Identifier. Format: `organizations/{organization}/locations/{location}/customers/{customer}/workloads/{workload}/violations/{violation}`", +"type": "string" +}, +"nonCompliantOrgPolicy": { +"description": "Output only. Immutable. Name of the OrgPolicy which was modified with non-compliant change and resulted this violation. Format: `projects/{project_number}/policies/{constraint_name}` `folders/{folder_id}/policies/{constraint_name}` `organizations/{organization_id}/policies/{constraint_name}`", +"readOnly": true, +"type": "string" +}, +"remediation": { +"$ref": "Remediation", +"description": "Output only. Compliance violation remediation", +"readOnly": true +}, +"resolveTime": { +"description": "Output only. Time of the event which fixed the Violation. If the violation is ACTIVE this will be empty.", +"format": "google-datetime", +"readOnly": true, +"type": "string" +}, +"state": { +"description": "Output only. State of the violation", +"enum": [ +"STATE_UNSPECIFIED", +"RESOLVED", +"UNRESOLVED", +"EXCEPTION" +], +"enumDescriptions": [ +"Unspecified state.", +"Violation is resolved.", +"Violation is Unresolved", +"Violation is Exception" +], +"readOnly": true, +"type": "string" +}, +"updateTime": { +"description": "Output only. The last time when the Violation record was updated.", +"format": "google-datetime", +"readOnly": true, +"type": "string" +} +}, +"type": "object" +}, +"Workload": { +"description": "Contains metadata around the [Workload resource](https://cloud.google.com/assured-workloads/docs/reference/rest/Shared.Types/Workload) in the Assured Workloads API.", +"id": "Workload", +"properties": { +"createTime": { +"description": "Output only. Time the resource was created.", +"format": "google-datetime", +"readOnly": true, +"type": "string" +}, +"folder": { +"description": "Output only. The name of container folder of the assured workload", +"readOnly": true, +"type": "string" +}, +"folderId": { +"description": "Output only. Folder id this workload is associated with", +"format": "int64", +"readOnly": true, +"type": "string" +}, +"isOnboarded": { +"description": "Indicates whether a workload is fully onboarded.", +"type": "boolean" +}, +"keyManagementProjectId": { +"description": "The project id of the key management project for the workload", +"type": "string" +}, +"location": { +"description": "The Google Cloud location of the workload", +"type": "string" +}, +"name": { +"description": "Identifier. Format: `organizations/{organization}/locations/{location}/customers/{customer}/workloads/{workload}`", +"type": "string" +}, +"partner": { +"description": "Partner associated with this workload.", +"enum": [ +"PARTNER_UNSPECIFIED", +"PARTNER_LOCAL_CONTROLS_BY_S3NS", +"PARTNER_SOVEREIGN_CONTROLS_BY_T_SYSTEMS", +"PARTNER_SOVEREIGN_CONTROLS_BY_SIA_MINSAIT", +"PARTNER_SOVEREIGN_CONTROLS_BY_PSN", +"PARTNER_SOVEREIGN_CONTROLS_BY_CNTXT", +"PARTNER_SOVEREIGN_CONTROLS_BY_CNTXT_NO_EKM" +], +"enumDescriptions": [ +"Unknown Partner.", +"Enum representing S3NS (Thales) partner.", +"Enum representing T_SYSTEM (TSI) partner.", +"Enum representing SIA_MINSAIT (Indra) partner.", +"Enum representing PSN (TIM) partner.", +"Enum representing CNTXT (Kingdom of Saudi Arabia) partner.", +"Enum representing CNXT (Kingdom of Saudi Arabia) partner offering without EKM provisioning." +], +"type": "string" +}, +"workloadOnboardingState": { +"$ref": "WorkloadOnboardingState", +"description": "Container for workload onboarding steps." +} +}, +"type": "object" +}, +"WorkloadOnboardingState": { +"description": "Container for workload onboarding steps.", +"id": "WorkloadOnboardingState", +"properties": { +"onboardingSteps": { +"description": "List of workload onboarding steps.", +"items": { +"$ref": "WorkloadOnboardingStep" +}, +"type": "array" +} +}, +"type": "object" +}, +"WorkloadOnboardingStep": { +"description": "Container for workload onboarding information.", +"id": "WorkloadOnboardingStep", +"properties": { +"completionState": { +"description": "Output only. The completion state of the onboarding step.", +"enum": [ +"COMPLETION_STATE_UNSPECIFIED", +"PENDING", +"SUCCEEDED", +"FAILED", +"NOT_APPLICABLE" +], +"enumDescriptions": [ +"Unspecified completion state.", +"Task started (has start date) but not yet completed.", +"Succeeded state.", +"Failed state.", +"Not applicable state." +], +"readOnly": true, +"type": "string" +}, +"completionTime": { +"description": "The completion time of the onboarding step.", +"format": "google-datetime", +"type": "string" +}, +"startTime": { +"description": "The starting time of the onboarding step.", +"format": "google-datetime", +"type": "string" +}, +"step": { +"description": "The onboarding step.", +"enum": [ +"STEP_UNSPECIFIED", +"EKM_PROVISIONED", +"SIGNED_ACCESS_APPROVAL_CONFIGURED" +], +"enumDescriptions": [ +"Unspecified step.", +"EKM Provisioned step.", +"Signed Access Approval step." +], +"type": "string" +} +}, +"type": "object" +} +}, +"servicePath": "", +"title": "Cloud Controls Partner API", +"version": "v1beta", +"version_module": true +} \ No newline at end of file diff --git a/.venv/lib/python3.11/site-packages/googleapiclient/discovery_cache/documents/clouddebugger.v2.json b/.venv/lib/python3.11/site-packages/googleapiclient/discovery_cache/documents/clouddebugger.v2.json new file mode 100644 index 0000000000000000000000000000000000000000..117e7ffb63b2bd3dc280244705590fe9030363ab --- /dev/null +++ b/.venv/lib/python3.11/site-packages/googleapiclient/discovery_cache/documents/clouddebugger.v2.json @@ -0,0 +1,1130 @@ +{ + "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." + }, + "https://www.googleapis.com/auth/cloud_debugger": { + "description": "Use Stackdriver Debugger" + } + } + } + }, + "basePath": "", + "baseUrl": "https://clouddebugger.googleapis.com/", + "batchPath": "batch", + "canonicalName": "Cloud Debugger", + "description": "Examines the call stack and variables of a running application without stopping or slowing it down. (Deprecated) ", + "discoveryVersion": "v1", + "documentationLink": "https://cloud.google.com/debugger", + "fullyEncodeReservedExpansion": true, + "icons": { + "x16": "http://www.google.com/images/icons/product/search-16.gif", + "x32": "http://www.google.com/images/icons/product/search-32.gif" + }, + "id": "clouddebugger:v2", + "kind": "discovery#restDescription", + "mtlsRootUrl": "https://clouddebugger.mtls.googleapis.com/", + "name": "clouddebugger", + "ownerDomain": "google.com", + "ownerName": "Google", + "parameters": { + "$.xgafv": { + "description": "V1 error format.", + "enum": [ + "1", + "2" + ], + "enumDescriptions": [ + "v1 error format", + "v2 error format" + ], + "location": "query", + "type": "string" + }, + "access_token": { + "description": "OAuth access token.", + "location": "query", + "type": "string" + }, + "alt": { + "default": "json", + "description": "Data format for response.", + "enum": [ + "json", + "media", + "proto" + ], + "enumDescriptions": [ + "Responses with Content-Type of application/json", + "Media download with context-dependent Content-Type", + "Responses with Content-Type of application/x-protobuf" + ], + "location": "query", + "type": "string" + }, + "callback": { + "description": "JSONP", + "location": "query", + "type": "string" + }, + "fields": { + "description": "Selector specifying which fields to include in a partial response.", + "location": "query", + "type": "string" + }, + "key": { + "description": "API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token.", + "location": "query", + "type": "string" + }, + "oauth_token": { + "description": "OAuth 2.0 token for the current user.", + "location": "query", + "type": "string" + }, + "prettyPrint": { + "default": "true", + "description": "Returns response with indentations and line breaks.", + "location": "query", + "type": "boolean" + }, + "quotaUser": { + "description": "Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters.", + "location": "query", + "type": "string" + }, + "uploadType": { + "description": "Legacy upload protocol for media (e.g. \"media\", \"multipart\").", + "location": "query", + "type": "string" + }, + "upload_protocol": { + "description": "Upload protocol for media (e.g. \"raw\", \"multipart\").", + "location": "query", + "type": "string" + } + }, + "protocol": "rest", + "resources": { + "controller": { + "resources": { + "debuggees": { + "methods": { + "register": { + "description": "Registers the debuggee with the controller service. All agents attached to the same application must call this method with exactly the same request content to get back the same stable `debuggee_id`. Agents should call this method again whenever `google.rpc.Code.NOT_FOUND` is returned from any controller method. This protocol allows the controller service to disable debuggees, recover from data loss, or change the `debuggee_id` format. Agents must handle `debuggee_id` value changing upon re-registration.", + "flatPath": "v2/controller/debuggees/register", + "httpMethod": "POST", + "id": "clouddebugger.controller.debuggees.register", + "parameterOrder": [], + "parameters": {}, + "path": "v2/controller/debuggees/register", + "request": { + "$ref": "RegisterDebuggeeRequest" + }, + "response": { + "$ref": "RegisterDebuggeeResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/cloud_debugger" + ] + } + }, + "resources": { + "breakpoints": { + "methods": { + "list": { + "description": "Returns the list of all active breakpoints for the debuggee. The breakpoint specification (`location`, `condition`, and `expressions` fields) is semantically immutable, although the field values may change. For example, an agent may update the location line number to reflect the actual line where the breakpoint was set, but this doesn't change the breakpoint semantics. This means that an agent does not need to check if a breakpoint has changed when it encounters the same breakpoint on a successive call. Moreover, an agent should remember the breakpoints that are completed until the controller removes them from the active list to avoid setting those breakpoints again.", + "flatPath": "v2/controller/debuggees/{debuggeeId}/breakpoints", + "httpMethod": "GET", + "id": "clouddebugger.controller.debuggees.breakpoints.list", + "parameterOrder": [ + "debuggeeId" + ], + "parameters": { + "agentId": { + "description": "Identifies the agent. This is the ID returned in the RegisterDebuggee response.", + "location": "query", + "type": "string" + }, + "debuggeeId": { + "description": "Required. Identifies the debuggee.", + "location": "path", + "required": true, + "type": "string" + }, + "successOnTimeout": { + "description": "If set to `true` (recommended), returns `google.rpc.Code.OK` status and sets the `wait_expired` response field to `true` when the server-selected timeout has expired. If set to `false` (deprecated), returns `google.rpc.Code.ABORTED` status when the server-selected timeout has expired.", + "location": "query", + "type": "boolean" + }, + "waitToken": { + "description": "A token that, if specified, blocks the method call until the list of active breakpoints has changed, or a server-selected timeout has expired. The value should be set from the `next_wait_token` field in the last response. The initial value should be set to `\"init\"`.", + "location": "query", + "type": "string" + } + }, + "path": "v2/controller/debuggees/{debuggeeId}/breakpoints", + "response": { + "$ref": "ListActiveBreakpointsResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/cloud_debugger" + ] + }, + "update": { + "description": "Updates the breakpoint state or mutable fields. The entire Breakpoint message must be sent back to the controller service. Updates to active breakpoint fields are only allowed if the new value does not change the breakpoint specification. Updates to the `location`, `condition` and `expressions` fields should not alter the breakpoint semantics. These may only make changes such as canonicalizing a value or snapping the location to the correct line of code.", + "flatPath": "v2/controller/debuggees/{debuggeeId}/breakpoints/{id}", + "httpMethod": "PUT", + "id": "clouddebugger.controller.debuggees.breakpoints.update", + "parameterOrder": [ + "debuggeeId", + "id" + ], + "parameters": { + "debuggeeId": { + "description": "Required. Identifies the debuggee being debugged.", + "location": "path", + "required": true, + "type": "string" + }, + "id": { + "description": "Breakpoint identifier, unique in the scope of the debuggee.", + "location": "path", + "required": true, + "type": "string" + } + }, + "path": "v2/controller/debuggees/{debuggeeId}/breakpoints/{id}", + "request": { + "$ref": "UpdateActiveBreakpointRequest" + }, + "response": { + "$ref": "UpdateActiveBreakpointResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/cloud_debugger" + ] + } + } + } + } + } + } + }, + "debugger": { + "resources": { + "debuggees": { + "methods": { + "list": { + "description": "Lists all the debuggees that the user has access to.", + "flatPath": "v2/debugger/debuggees", + "httpMethod": "GET", + "id": "clouddebugger.debugger.debuggees.list", + "parameterOrder": [], + "parameters": { + "clientVersion": { + "description": "Required. The client version making the call. Schema: `domain/type/version` (e.g., `google.com/intellij/v1`).", + "location": "query", + "type": "string" + }, + "includeInactive": { + "description": "When set to `true`, the result includes all debuggees. Otherwise, the result includes only debuggees that are active.", + "location": "query", + "type": "boolean" + }, + "project": { + "description": "Required. Project number of a Google Cloud project whose debuggees to list.", + "location": "query", + "type": "string" + } + }, + "path": "v2/debugger/debuggees", + "response": { + "$ref": "ListDebuggeesResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/cloud_debugger" + ] + } + }, + "resources": { + "breakpoints": { + "methods": { + "delete": { + "description": "Deletes the breakpoint from the debuggee.", + "flatPath": "v2/debugger/debuggees/{debuggeeId}/breakpoints/{breakpointId}", + "httpMethod": "DELETE", + "id": "clouddebugger.debugger.debuggees.breakpoints.delete", + "parameterOrder": [ + "debuggeeId", + "breakpointId" + ], + "parameters": { + "breakpointId": { + "description": "Required. ID of the breakpoint to delete.", + "location": "path", + "required": true, + "type": "string" + }, + "clientVersion": { + "description": "Required. The client version making the call. Schema: `domain/type/version` (e.g., `google.com/intellij/v1`).", + "location": "query", + "type": "string" + }, + "debuggeeId": { + "description": "Required. ID of the debuggee whose breakpoint to delete.", + "location": "path", + "required": true, + "type": "string" + } + }, + "path": "v2/debugger/debuggees/{debuggeeId}/breakpoints/{breakpointId}", + "response": { + "$ref": "Empty" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/cloud_debugger" + ] + }, + "get": { + "description": "Gets breakpoint information.", + "flatPath": "v2/debugger/debuggees/{debuggeeId}/breakpoints/{breakpointId}", + "httpMethod": "GET", + "id": "clouddebugger.debugger.debuggees.breakpoints.get", + "parameterOrder": [ + "debuggeeId", + "breakpointId" + ], + "parameters": { + "breakpointId": { + "description": "Required. ID of the breakpoint to get.", + "location": "path", + "required": true, + "type": "string" + }, + "clientVersion": { + "description": "Required. The client version making the call. Schema: `domain/type/version` (e.g., `google.com/intellij/v1`).", + "location": "query", + "type": "string" + }, + "debuggeeId": { + "description": "Required. ID of the debuggee whose breakpoint to get.", + "location": "path", + "required": true, + "type": "string" + } + }, + "path": "v2/debugger/debuggees/{debuggeeId}/breakpoints/{breakpointId}", + "response": { + "$ref": "GetBreakpointResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/cloud_debugger" + ] + }, + "list": { + "description": "Lists all breakpoints for the debuggee.", + "flatPath": "v2/debugger/debuggees/{debuggeeId}/breakpoints", + "httpMethod": "GET", + "id": "clouddebugger.debugger.debuggees.breakpoints.list", + "parameterOrder": [ + "debuggeeId" + ], + "parameters": { + "action.value": { + "description": "Only breakpoints with the specified action will pass the filter.", + "enum": [ + "CAPTURE", + "LOG" + ], + "enumDescriptions": [ + "Capture stack frame and variables and update the breakpoint. The data is only captured once. After that the breakpoint is set in a final state.", + "Log each breakpoint hit. The breakpoint remains active until deleted or expired." + ], + "location": "query", + "type": "string" + }, + "clientVersion": { + "description": "Required. The client version making the call. Schema: `domain/type/version` (e.g., `google.com/intellij/v1`).", + "location": "query", + "type": "string" + }, + "debuggeeId": { + "description": "Required. ID of the debuggee whose breakpoints to list.", + "location": "path", + "required": true, + "type": "string" + }, + "includeAllUsers": { + "description": "When set to `true`, the response includes the list of breakpoints set by any user. Otherwise, it includes only breakpoints set by the caller.", + "location": "query", + "type": "boolean" + }, + "includeInactive": { + "description": "When set to `true`, the response includes active and inactive breakpoints. Otherwise, it includes only active breakpoints.", + "location": "query", + "type": "boolean" + }, + "stripResults": { + "deprecated": true, + "description": "This field is deprecated. The following fields are always stripped out of the result: `stack_frames`, `evaluated_expressions` and `variable_table`.", + "location": "query", + "type": "boolean" + }, + "waitToken": { + "description": "A wait token that, if specified, blocks the call until the breakpoints list has changed, or a server selected timeout has expired. The value should be set from the last response. The error code `google.rpc.Code.ABORTED` (RPC) is returned on wait timeout, which should be called again with the same `wait_token`.", + "location": "query", + "type": "string" + } + }, + "path": "v2/debugger/debuggees/{debuggeeId}/breakpoints", + "response": { + "$ref": "ListBreakpointsResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/cloud_debugger" + ] + }, + "set": { + "description": "Sets the breakpoint to the debuggee.", + "flatPath": "v2/debugger/debuggees/{debuggeeId}/breakpoints/set", + "httpMethod": "POST", + "id": "clouddebugger.debugger.debuggees.breakpoints.set", + "parameterOrder": [ + "debuggeeId" + ], + "parameters": { + "canaryOption": { + "description": "The canary option set by the user upon setting breakpoint.", + "enum": [ + "CANARY_OPTION_UNSPECIFIED", + "CANARY_OPTION_TRY_ENABLE", + "CANARY_OPTION_TRY_DISABLE" + ], + "enumDescriptions": [ + "Depends on the canary_mode of the debuggee.", + "Enable the canary for this breakpoint if the canary_mode of the debuggee is not CANARY_MODE_ALWAYS_ENABLED or CANARY_MODE_ALWAYS_DISABLED.", + "Disable the canary for this breakpoint if the canary_mode of the debuggee is not CANARY_MODE_ALWAYS_ENABLED or CANARY_MODE_ALWAYS_DISABLED." + ], + "location": "query", + "type": "string" + }, + "clientVersion": { + "description": "Required. The client version making the call. Schema: `domain/type/version` (e.g., `google.com/intellij/v1`).", + "location": "query", + "type": "string" + }, + "debuggeeId": { + "description": "Required. ID of the debuggee where the breakpoint is to be set.", + "location": "path", + "required": true, + "type": "string" + } + }, + "path": "v2/debugger/debuggees/{debuggeeId}/breakpoints/set", + "request": { + "$ref": "Breakpoint" + }, + "response": { + "$ref": "SetBreakpointResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/cloud_debugger" + ] + } + } + } + } + } + } + } + }, + "revision": "20230716", + "rootUrl": "https://clouddebugger.googleapis.com/", + "schemas": { + "AliasContext": { + "description": "An alias to a repo revision.", + "id": "AliasContext", + "properties": { + "kind": { + "description": "The alias kind.", + "enum": [ + "ANY", + "FIXED", + "MOVABLE", + "OTHER" + ], + "enumDescriptions": [ + "Do not use.", + "Git tag", + "Git branch", + "OTHER is used to specify non-standard aliases, those not of the kinds above. For example, if a Git repo has a ref named \"refs/foo/bar\", it is considered to be of kind OTHER." + ], + "type": "string" + }, + "name": { + "description": "The alias name.", + "type": "string" + } + }, + "type": "object" + }, + "Breakpoint": { + "description": "------------------------------------------------------------------------------ ## Breakpoint (the resource) Represents the breakpoint specification, status and results.", + "id": "Breakpoint", + "properties": { + "action": { + "description": "Action that the agent should perform when the code at the breakpoint location is hit.", + "enum": [ + "CAPTURE", + "LOG" + ], + "enumDescriptions": [ + "Capture stack frame and variables and update the breakpoint. The data is only captured once. After that the breakpoint is set in a final state.", + "Log each breakpoint hit. The breakpoint remains active until deleted or expired." + ], + "type": "string" + }, + "canaryExpireTime": { + "description": "The deadline for the breakpoint to stay in CANARY_ACTIVE state. The value is meaningless when the breakpoint is not in CANARY_ACTIVE state.", + "format": "google-datetime", + "type": "string" + }, + "condition": { + "description": "Condition that triggers the breakpoint. The condition is a compound boolean expression composed using expressions in a programming language at the source location.", + "type": "string" + }, + "createTime": { + "description": "Time this breakpoint was created by the server in seconds resolution.", + "format": "google-datetime", + "type": "string" + }, + "evaluatedExpressions": { + "description": "Values of evaluated expressions at breakpoint time. The evaluated expressions appear in exactly the same order they are listed in the `expressions` field. The `name` field holds the original expression text, the `value` or `members` field holds the result of the evaluated expression. If the expression cannot be evaluated, the `status` inside the `Variable` will indicate an error and contain the error text.", + "items": { + "$ref": "Variable" + }, + "type": "array" + }, + "expressions": { + "description": "List of read-only expressions to evaluate at the breakpoint location. The expressions are composed using expressions in the programming language at the source location. If the breakpoint action is `LOG`, the evaluated expressions are included in log statements.", + "items": { + "type": "string" + }, + "type": "array" + }, + "finalTime": { + "description": "Time this breakpoint was finalized as seen by the server in seconds resolution.", + "format": "google-datetime", + "type": "string" + }, + "id": { + "description": "Breakpoint identifier, unique in the scope of the debuggee.", + "type": "string" + }, + "isFinalState": { + "description": "When true, indicates that this is a final result and the breakpoint state will not change from here on.", + "type": "boolean" + }, + "labels": { + "additionalProperties": { + "type": "string" + }, + "description": "A set of custom breakpoint properties, populated by the agent, to be displayed to the user.", + "type": "object" + }, + "location": { + "$ref": "SourceLocation", + "description": "Breakpoint source location." + }, + "logLevel": { + "description": "Indicates the severity of the log. Only relevant when action is `LOG`.", + "enum": [ + "INFO", + "WARNING", + "ERROR" + ], + "enumDescriptions": [ + "Information log message.", + "Warning log message.", + "Error log message." + ], + "type": "string" + }, + "logMessageFormat": { + "description": "Only relevant when action is `LOG`. Defines the message to log when the breakpoint hits. The message may include parameter placeholders `$0`, `$1`, etc. These placeholders are replaced with the evaluated value of the appropriate expression. Expressions not referenced in `log_message_format` are not logged. Example: `Message received, id = $0, count = $1` with `expressions` = `[ message.id, message.count ]`.", + "type": "string" + }, + "stackFrames": { + "description": "The stack at breakpoint time, where stack_frames[0] represents the most recently entered function.", + "items": { + "$ref": "StackFrame" + }, + "type": "array" + }, + "state": { + "description": "The current state of the breakpoint.", + "enum": [ + "STATE_UNSPECIFIED", + "STATE_CANARY_PENDING_AGENTS", + "STATE_CANARY_ACTIVE", + "STATE_ROLLING_TO_ALL", + "STATE_IS_FINAL" + ], + "enumDescriptions": [ + "Breakpoint state UNSPECIFIED.", + "Enabling canary but no agents are available.", + "Enabling canary and successfully assigning canary agents.", + "Breakpoint rolling out to all agents.", + "Breakpoint is hit/complete/failed." + ], + "type": "string" + }, + "status": { + "$ref": "StatusMessage", + "description": "Breakpoint status. The status includes an error flag and a human readable message. This field is usually unset. The message can be either informational or an error message. Regardless, clients should always display the text message back to the user. Error status indicates complete failure of the breakpoint. Example (non-final state): `Still loading symbols...` Examples (final state): * `Invalid line number` referring to location * `Field f not found in class C` referring to condition" + }, + "userEmail": { + "description": "E-mail address of the user that created this breakpoint", + "type": "string" + }, + "variableTable": { + "description": "The `variable_table` exists to aid with computation, memory and network traffic optimization. It enables storing a variable once and reference it from multiple variables, including variables stored in the `variable_table` itself. For example, the same `this` object, which may appear at many levels of the stack, can have all of its data stored once in this table. The stack frame variables then would hold only a reference to it. The variable `var_table_index` field is an index into this repeated field. The stored objects are nameless and get their name from the referencing variable. The effective variable is a merge of the referencing variable and the referenced variable.", + "items": { + "$ref": "Variable" + }, + "type": "array" + } + }, + "type": "object" + }, + "CloudRepoSourceContext": { + "description": "A CloudRepoSourceContext denotes a particular revision in a cloud repo (a repo hosted by the Google Cloud Platform).", + "id": "CloudRepoSourceContext", + "properties": { + "aliasContext": { + "$ref": "AliasContext", + "description": "An alias, which may be a branch or tag." + }, + "aliasName": { + "deprecated": true, + "description": "The name of an alias (branch, tag, etc.).", + "type": "string" + }, + "repoId": { + "$ref": "RepoId", + "description": "The ID of the repo." + }, + "revisionId": { + "description": "A revision ID.", + "type": "string" + } + }, + "type": "object" + }, + "CloudWorkspaceId": { + "description": "A CloudWorkspaceId is a unique identifier for a cloud workspace. A cloud workspace is a place associated with a repo where modified files can be stored before they are committed.", + "id": "CloudWorkspaceId", + "properties": { + "name": { + "description": "The unique name of the workspace within the repo. This is the name chosen by the client in the Source API's CreateWorkspace method.", + "type": "string" + }, + "repoId": { + "$ref": "RepoId", + "description": "The ID of the repo containing the workspace." + } + }, + "type": "object" + }, + "CloudWorkspaceSourceContext": { + "description": "A CloudWorkspaceSourceContext denotes a workspace at a particular snapshot.", + "id": "CloudWorkspaceSourceContext", + "properties": { + "snapshotId": { + "description": "The ID of the snapshot. An empty snapshot_id refers to the most recent snapshot.", + "type": "string" + }, + "workspaceId": { + "$ref": "CloudWorkspaceId", + "description": "The ID of the workspace." + } + }, + "type": "object" + }, + "Debuggee": { + "description": "Represents the debugged application. The application may include one or more replicated processes executing the same code. Each of these processes is attached with a debugger agent, carrying out the debugging commands. Agents attached to the same debuggee identify themselves as such by using exactly the same Debuggee message value when registering.", + "id": "Debuggee", + "properties": { + "agentVersion": { + "description": "Version ID of the agent. Schema: `domain/language-platform/vmajor.minor` (for example `google.com/java-gcp/v1.1`).", + "type": "string" + }, + "canaryMode": { + "description": "Used when setting breakpoint canary for this debuggee.", + "enum": [ + "CANARY_MODE_UNSPECIFIED", + "CANARY_MODE_ALWAYS_ENABLED", + "CANARY_MODE_ALWAYS_DISABLED", + "CANARY_MODE_DEFAULT_ENABLED", + "CANARY_MODE_DEFAULT_DISABLED" + ], + "enumDescriptions": [ + "CANARY_MODE_UNSPECIFIED is equivalent to CANARY_MODE_ALWAYS_DISABLED so that if the debuggee is not configured to use the canary feature, the feature will be disabled.", + "Always enable breakpoint canary regardless of the value of breakpoint's canary option.", + "Always disable breakpoint canary regardless of the value of breakpoint's canary option.", + "Depends on the breakpoint's canary option. Enable canary by default if the breakpoint's canary option is not specified.", + "Depends on the breakpoint's canary option. Disable canary by default if the breakpoint's canary option is not specified." + ], + "type": "string" + }, + "description": { + "description": "Human readable description of the debuggee. Including a human-readable project name, environment name and version information is recommended.", + "type": "string" + }, + "extSourceContexts": { + "deprecated": true, + "description": "References to the locations and revisions of the source code used in the deployed application.", + "items": { + "$ref": "ExtendedSourceContext" + }, + "type": "array" + }, + "id": { + "description": "Unique identifier for the debuggee generated by the controller service.", + "type": "string" + }, + "isDisabled": { + "description": "If set to `true`, indicates that the agent should disable itself and detach from the debuggee.", + "type": "boolean" + }, + "isInactive": { + "description": "If set to `true`, indicates that Controller service does not detect any activity from the debuggee agents and the application is possibly stopped.", + "type": "boolean" + }, + "labels": { + "additionalProperties": { + "type": "string" + }, + "description": "A set of custom debuggee properties, populated by the agent, to be displayed to the user.", + "type": "object" + }, + "project": { + "description": "Project the debuggee is associated with. Use project number or id when registering a Google Cloud Platform project.", + "type": "string" + }, + "sourceContexts": { + "description": "References to the locations and revisions of the source code used in the deployed application.", + "items": { + "$ref": "SourceContext" + }, + "type": "array" + }, + "status": { + "$ref": "StatusMessage", + "description": "Human readable message to be displayed to the user about this debuggee. Absence of this field indicates no status. The message can be either informational or an error status." + }, + "uniquifier": { + "description": "Uniquifier to further distinguish the application. It is possible that different applications might have identical values in the debuggee message, thus, incorrectly identified as a single application by the Controller service. This field adds salt to further distinguish the application. Agents should consider seeding this field with value that identifies the code, binary, configuration and environment.", + "type": "string" + } + }, + "type": "object" + }, + "Empty": { + "description": "A generic empty message that you can re-use to avoid defining duplicated empty messages in your APIs. A typical example is to use it as the request or the response type of an API method. For instance: service Foo { rpc Bar(google.protobuf.Empty) returns (google.protobuf.Empty); }", + "id": "Empty", + "properties": {}, + "type": "object" + }, + "ExtendedSourceContext": { + "description": "An ExtendedSourceContext is a SourceContext combined with additional details describing the context.", + "id": "ExtendedSourceContext", + "properties": { + "context": { + "$ref": "SourceContext", + "description": "Any source context." + }, + "labels": { + "additionalProperties": { + "type": "string" + }, + "description": "Labels with user defined metadata.", + "type": "object" + } + }, + "type": "object" + }, + "FormatMessage": { + "description": "Represents a message with parameters.", + "id": "FormatMessage", + "properties": { + "format": { + "description": "Format template for the message. The `format` uses placeholders `$0`, `$1`, etc. to reference parameters. `$$` can be used to denote the `$` character. Examples: * `Failed to load '$0' which helps debug $1 the first time it is loaded. Again, $0 is very important.` * `Please pay $$10 to use $0 instead of $1.`", + "type": "string" + }, + "parameters": { + "description": "Optional parameters to be embedded into the message.", + "items": { + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, + "GerritSourceContext": { + "description": "A SourceContext referring to a Gerrit project.", + "id": "GerritSourceContext", + "properties": { + "aliasContext": { + "$ref": "AliasContext", + "description": "An alias, which may be a branch or tag." + }, + "aliasName": { + "deprecated": true, + "description": "The name of an alias (branch, tag, etc.).", + "type": "string" + }, + "gerritProject": { + "description": "The full project name within the host. Projects may be nested, so \"project/subproject\" is a valid project name. The \"repo name\" is hostURI/project.", + "type": "string" + }, + "hostUri": { + "description": "The URI of a running Gerrit instance.", + "type": "string" + }, + "revisionId": { + "description": "A revision (commit) ID.", + "type": "string" + } + }, + "type": "object" + }, + "GetBreakpointResponse": { + "description": "Response for getting breakpoint information.", + "id": "GetBreakpointResponse", + "properties": { + "breakpoint": { + "$ref": "Breakpoint", + "description": "Complete breakpoint state. The fields `id` and `location` are guaranteed to be set." + } + }, + "type": "object" + }, + "GitSourceContext": { + "description": "A GitSourceContext denotes a particular revision in a third party Git repository (e.g. GitHub).", + "id": "GitSourceContext", + "properties": { + "revisionId": { + "description": "Git commit hash. required.", + "type": "string" + }, + "url": { + "description": "Git repository URL.", + "type": "string" + } + }, + "type": "object" + }, + "ListActiveBreakpointsResponse": { + "description": "Response for listing active breakpoints.", + "id": "ListActiveBreakpointsResponse", + "properties": { + "breakpoints": { + "description": "List of all active breakpoints. The fields `id` and `location` are guaranteed to be set on each breakpoint.", + "items": { + "$ref": "Breakpoint" + }, + "type": "array" + }, + "nextWaitToken": { + "description": "A token that can be used in the next method call to block until the list of breakpoints changes.", + "type": "string" + }, + "waitExpired": { + "description": "If set to `true`, indicates that there is no change to the list of active breakpoints and the server-selected timeout has expired. The `breakpoints` field would be empty and should be ignored.", + "type": "boolean" + } + }, + "type": "object" + }, + "ListBreakpointsResponse": { + "description": "Response for listing breakpoints.", + "id": "ListBreakpointsResponse", + "properties": { + "breakpoints": { + "description": "List of breakpoints matching the request. The fields `id` and `location` are guaranteed to be set on each breakpoint. The fields: `stack_frames`, `evaluated_expressions` and `variable_table` are cleared on each breakpoint regardless of its status.", + "items": { + "$ref": "Breakpoint" + }, + "type": "array" + }, + "nextWaitToken": { + "description": "A wait token that can be used in the next call to `list` (REST) or `ListBreakpoints` (RPC) to block until the list of breakpoints has changes.", + "type": "string" + } + }, + "type": "object" + }, + "ListDebuggeesResponse": { + "description": "Response for listing debuggees.", + "id": "ListDebuggeesResponse", + "properties": { + "debuggees": { + "description": "List of debuggees accessible to the calling user. The fields `debuggee.id` and `description` are guaranteed to be set. The `description` field is a human readable field provided by agents and can be displayed to users.", + "items": { + "$ref": "Debuggee" + }, + "type": "array" + } + }, + "type": "object" + }, + "ProjectRepoId": { + "description": "Selects a repo using a Google Cloud Platform project ID (e.g. winged-cargo-31) and a repo name within that project.", + "id": "ProjectRepoId", + "properties": { + "projectId": { + "description": "The ID of the project.", + "type": "string" + }, + "repoName": { + "description": "The name of the repo. Leave empty for the default repo.", + "type": "string" + } + }, + "type": "object" + }, + "RegisterDebuggeeRequest": { + "description": "Request to register a debuggee.", + "id": "RegisterDebuggeeRequest", + "properties": { + "debuggee": { + "$ref": "Debuggee", + "description": "Required. Debuggee information to register. The fields `project`, `uniquifier`, `description` and `agent_version` of the debuggee must be set." + } + }, + "type": "object" + }, + "RegisterDebuggeeResponse": { + "description": "Response for registering a debuggee.", + "id": "RegisterDebuggeeResponse", + "properties": { + "agentId": { + "description": "A unique ID generated for the agent. Each RegisterDebuggee request will generate a new agent ID.", + "type": "string" + }, + "debuggee": { + "$ref": "Debuggee", + "description": "Debuggee resource. The field `id` is guaranteed to be set (in addition to the echoed fields). If the field `is_disabled` is set to `true`, the agent should disable itself by removing all breakpoints and detaching from the application. It should however continue to poll `RegisterDebuggee` until reenabled." + } + }, + "type": "object" + }, + "RepoId": { + "description": "A unique identifier for a cloud repo.", + "id": "RepoId", + "properties": { + "projectRepoId": { + "$ref": "ProjectRepoId", + "description": "A combination of a project ID and a repo name." + }, + "uid": { + "description": "A server-assigned, globally unique identifier.", + "type": "string" + } + }, + "type": "object" + }, + "SetBreakpointResponse": { + "description": "Response for setting a breakpoint.", + "id": "SetBreakpointResponse", + "properties": { + "breakpoint": { + "$ref": "Breakpoint", + "description": "Breakpoint resource. The field `id` is guaranteed to be set (in addition to the echoed fields)." + } + }, + "type": "object" + }, + "SourceContext": { + "description": "A SourceContext is a reference to a tree of files. A SourceContext together with a path point to a unique revision of a single file or directory.", + "id": "SourceContext", + "properties": { + "cloudRepo": { + "$ref": "CloudRepoSourceContext", + "description": "A SourceContext referring to a revision in a cloud repo." + }, + "cloudWorkspace": { + "$ref": "CloudWorkspaceSourceContext", + "description": "A SourceContext referring to a snapshot in a cloud workspace." + }, + "gerrit": { + "$ref": "GerritSourceContext", + "description": "A SourceContext referring to a Gerrit project." + }, + "git": { + "$ref": "GitSourceContext", + "description": "A SourceContext referring to any third party Git repo (e.g. GitHub)." + } + }, + "type": "object" + }, + "SourceLocation": { + "description": "Represents a location in the source code.", + "id": "SourceLocation", + "properties": { + "column": { + "description": "Column within a line. The first column in a line as the value `1`. Agents that do not support setting breakpoints on specific columns ignore this field.", + "format": "int32", + "type": "integer" + }, + "line": { + "description": "Line inside the file. The first line in the file has the value `1`.", + "format": "int32", + "type": "integer" + }, + "path": { + "description": "Path to the source file within the source context of the target binary.", + "type": "string" + } + }, + "type": "object" + }, + "StackFrame": { + "description": "Represents a stack frame context.", + "id": "StackFrame", + "properties": { + "arguments": { + "description": "Set of arguments passed to this function. Note that this might not be populated for all stack frames.", + "items": { + "$ref": "Variable" + }, + "type": "array" + }, + "function": { + "description": "Demangled function name at the call site.", + "type": "string" + }, + "locals": { + "description": "Set of local variables at the stack frame location. Note that this might not be populated for all stack frames.", + "items": { + "$ref": "Variable" + }, + "type": "array" + }, + "location": { + "$ref": "SourceLocation", + "description": "Source location of the call site." + } + }, + "type": "object" + }, + "StatusMessage": { + "description": "Represents a contextual status message. The message can indicate an error or informational status, and refer to specific parts of the containing object. For example, the `Breakpoint.status` field can indicate an error referring to the `BREAKPOINT_SOURCE_LOCATION` with the message `Location not found`.", + "id": "StatusMessage", + "properties": { + "description": { + "$ref": "FormatMessage", + "description": "Status message text." + }, + "isError": { + "description": "Distinguishes errors from informational messages.", + "type": "boolean" + }, + "refersTo": { + "description": "Reference to which the message applies.", + "enum": [ + "UNSPECIFIED", + "BREAKPOINT_SOURCE_LOCATION", + "BREAKPOINT_CONDITION", + "BREAKPOINT_EXPRESSION", + "BREAKPOINT_AGE", + "BREAKPOINT_CANARY_FAILED", + "VARIABLE_NAME", + "VARIABLE_VALUE" + ], + "enumDescriptions": [ + "Status doesn't refer to any particular input.", + "Status applies to the breakpoint and is related to its location.", + "Status applies to the breakpoint and is related to its condition.", + "Status applies to the breakpoint and is related to its expressions.", + "Status applies to the breakpoint and is related to its age.", + "Status applies to the breakpoint when the breakpoint failed to exit the canary state.", + "Status applies to the entire variable.", + "Status applies to variable value (variable name is valid)." + ], + "type": "string" + } + }, + "type": "object" + }, + "UpdateActiveBreakpointRequest": { + "description": "Request to update an active breakpoint.", + "id": "UpdateActiveBreakpointRequest", + "properties": { + "breakpoint": { + "$ref": "Breakpoint", + "description": "Required. Updated breakpoint information. The field `id` must be set. The agent must echo all Breakpoint specification fields in the update." + } + }, + "type": "object" + }, + "UpdateActiveBreakpointResponse": { + "description": "Response for updating an active breakpoint. The message is defined to allow future extensions.", + "id": "UpdateActiveBreakpointResponse", + "properties": {}, + "type": "object" + }, + "Variable": { + "description": "Represents a variable or an argument possibly of a compound object type. Note how the following variables are represented: 1) A simple variable: int x = 5 { name: \"x\", value: \"5\", type: \"int\" } // Captured variable 2) A compound object: struct T { int m1; int m2; }; T x = { 3, 7 }; { // Captured variable name: \"x\", type: \"T\", members { name: \"m1\", value: \"3\", type: \"int\" }, members { name: \"m2\", value: \"7\", type: \"int\" } } 3) A pointer where the pointee was captured: T x = { 3, 7 }; T* p = &x; { // Captured variable name: \"p\", type: \"T*\", value: \"0x00500500\", members { name: \"m1\", value: \"3\", type: \"int\" }, members { name: \"m2\", value: \"7\", type: \"int\" } } 4) A pointer where the pointee was not captured: T* p = new T; { // Captured variable name: \"p\", type: \"T*\", value: \"0x00400400\" status { is_error: true, description { format: \"unavailable\" } } } The status should describe the reason for the missing value, such as ``, ``, ``. Note that a null pointer should not have members. 5) An unnamed value: int* p = new int(7); { // Captured variable name: \"p\", value: \"0x00500500\", type: \"int*\", members { value: \"7\", type: \"int\" } } 6) An unnamed pointer where the pointee was not captured: int* p = new int(7); int** pp = &p; { // Captured variable name: \"pp\", value: \"0x00500500\", type: \"int**\", members { value: \"0x00400400\", type: \"int*\" status { is_error: true, description: { format: \"unavailable\" } } } } } To optimize computation, memory and network traffic, variables that repeat in the output multiple times can be stored once in a shared variable table and be referenced using the `var_table_index` field. The variables stored in the shared table are nameless and are essentially a partition of the complete variable. To reconstruct the complete variable, merge the referencing variable with the referenced variable. When using the shared variable table, the following variables: T x = { 3, 7 }; T* p = &x; T& r = x; { name: \"x\", var_table_index: 3, type: \"T\" } // Captured variables { name: \"p\", value \"0x00500500\", type=\"T*\", var_table_index: 3 } { name: \"r\", type=\"T&\", var_table_index: 3 } { // Shared variable table entry #3: members { name: \"m1\", value: \"3\", type: \"int\" }, members { name: \"m2\", value: \"7\", type: \"int\" } } Note that the pointer address is stored with the referencing variable and not with the referenced variable. This allows the referenced variable to be shared between pointers and references. The type field is optional. The debugger agent may or may not support it.", + "id": "Variable", + "properties": { + "members": { + "description": "Members contained or pointed to by the variable.", + "items": { + "$ref": "Variable" + }, + "type": "array" + }, + "name": { + "description": "Name of the variable, if any.", + "type": "string" + }, + "status": { + "$ref": "StatusMessage", + "description": "Status associated with the variable. This field will usually stay unset. A status of a single variable only applies to that variable or expression. The rest of breakpoint data still remains valid. Variables might be reported in error state even when breakpoint is not in final state. The message may refer to variable name with `refers_to` set to `VARIABLE_NAME`. Alternatively `refers_to` will be set to `VARIABLE_VALUE`. In either case variable value and members will be unset. Example of error message applied to name: `Invalid expression syntax`. Example of information message applied to value: `Not captured`. Examples of error message applied to value: * `Malformed string`, * `Field f not found in class C` * `Null pointer dereference`" + }, + "type": { + "description": "Variable type (e.g. `MyClass`). If the variable is split with `var_table_index`, `type` goes next to `value`. The interpretation of a type is agent specific. It is recommended to include the dynamic type rather than a static type of an object.", + "type": "string" + }, + "value": { + "description": "Simple value of the variable.", + "type": "string" + }, + "varTableIndex": { + "description": "Reference to a variable in the shared variable table. More than one variable can reference the same variable in the table. The `var_table_index` field is an index into `variable_table` in Breakpoint.", + "format": "int32", + "type": "integer" + } + }, + "type": "object" + } + }, + "servicePath": "", + "title": "Cloud Debugger API (Deprecated)", + "version": "v2", + "version_module": true +} \ No newline at end of file diff --git a/.venv/lib/python3.11/site-packages/googleapiclient/discovery_cache/documents/cloudresourcemanager.v2.json b/.venv/lib/python3.11/site-packages/googleapiclient/discovery_cache/documents/cloudresourcemanager.v2.json new file mode 100644 index 0000000000000000000000000000000000000000..0efb1968ce917402944b3f33bec3e1cb373d5a5c --- /dev/null +++ b/.venv/lib/python3.11/site-packages/googleapiclient/discovery_cache/documents/cloudresourcemanager.v2.json @@ -0,0 +1,1144 @@ +{ +"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." +}, +"https://www.googleapis.com/auth/cloud-platform.read-only": { +"description": "View your data across Google Cloud services and see the email address of your Google Account" +} +} +} +}, +"basePath": "", +"baseUrl": "https://cloudresourcemanager.googleapis.com/", +"batchPath": "batch", +"canonicalName": "Cloud Resource Manager", +"description": "Creates, reads, and updates metadata for Google Cloud Platform resource containers.", +"discoveryVersion": "v1", +"documentationLink": "https://cloud.google.com/resource-manager", +"fullyEncodeReservedExpansion": true, +"icons": { +"x16": "http://www.google.com/images/icons/product/search-16.gif", +"x32": "http://www.google.com/images/icons/product/search-32.gif" +}, +"id": "cloudresourcemanager:v2", +"kind": "discovery#restDescription", +"mtlsRootUrl": "https://cloudresourcemanager.mtls.googleapis.com/", +"name": "cloudresourcemanager", +"ownerDomain": "google.com", +"ownerName": "Google", +"parameters": { +"$.xgafv": { +"description": "V1 error format.", +"enum": [ +"1", +"2" +], +"enumDescriptions": [ +"v1 error format", +"v2 error format" +], +"location": "query", +"type": "string" +}, +"access_token": { +"description": "OAuth access token.", +"location": "query", +"type": "string" +}, +"alt": { +"default": "json", +"description": "Data format for response.", +"enum": [ +"json", +"media", +"proto" +], +"enumDescriptions": [ +"Responses with Content-Type of application/json", +"Media download with context-dependent Content-Type", +"Responses with Content-Type of application/x-protobuf" +], +"location": "query", +"type": "string" +}, +"callback": { +"description": "JSONP", +"location": "query", +"type": "string" +}, +"fields": { +"description": "Selector specifying which fields to include in a partial response.", +"location": "query", +"type": "string" +}, +"key": { +"description": "API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token.", +"location": "query", +"type": "string" +}, +"oauth_token": { +"description": "OAuth 2.0 token for the current user.", +"location": "query", +"type": "string" +}, +"prettyPrint": { +"default": "true", +"description": "Returns response with indentations and line breaks.", +"location": "query", +"type": "boolean" +}, +"quotaUser": { +"description": "Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters.", +"location": "query", +"type": "string" +}, +"uploadType": { +"description": "Legacy upload protocol for media (e.g. \"media\", \"multipart\").", +"location": "query", +"type": "string" +}, +"upload_protocol": { +"description": "Upload protocol for media (e.g. \"raw\", \"multipart\").", +"location": "query", +"type": "string" +} +}, +"protocol": "rest", +"resources": { +"folders": { +"methods": { +"create": { +"description": "Creates a Folder in the resource hierarchy. Returns an Operation which can be used to track the progress of the folder creation workflow. Upon success the Operation.response field will be populated with the created Folder. In order to succeed, the addition of this new Folder must not violate the Folder naming, height or fanout constraints. + The Folder's display_name must be distinct from all other Folders that share its parent. + The addition of the Folder must not cause the active Folder hierarchy to exceed a height of 10. Note, the full active + deleted Folder hierarchy is allowed to reach a height of 20; this provides additional headroom when moving folders that contain deleted folders. + The addition of the Folder must not cause the total number of Folders under its parent to exceed 300. If the operation fails due to a folder constraint violation, some errors may be returned by the CreateFolder request, with status code FAILED_PRECONDITION and an error description. Other folder constraint violations will be communicated in the Operation, with the specific PreconditionFailure returned via the details list in the Operation.error field. The caller must have `resourcemanager.folders.create` permission on the identified parent.", +"flatPath": "v2/folders", +"httpMethod": "POST", +"id": "cloudresourcemanager.folders.create", +"parameterOrder": [], +"parameters": { +"parent": { +"description": "Required. The resource name of the new Folder's parent. Must be of the form `folders/{folder_id}` or `organizations/{org_id}`.", +"location": "query", +"type": "string" +} +}, +"path": "v2/folders", +"request": { +"$ref": "Folder" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"delete": { +"description": "Requests deletion of a Folder. The Folder is moved into the DELETE_REQUESTED state immediately, and is deleted approximately 30 days later. This method may only be called on an empty Folder in the ACTIVE state, where a Folder is empty if it doesn't contain any Folders or Projects in the ACTIVE state. The caller must have `resourcemanager.folders.delete` permission on the identified folder.", +"flatPath": "v2/folders/{foldersId}", +"httpMethod": "DELETE", +"id": "cloudresourcemanager.folders.delete", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. the resource name of the Folder to be deleted. Must be of the form `folders/{folder_id}`.", +"location": "path", +"pattern": "^folders/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v2/{+name}", +"response": { +"$ref": "Folder" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"get": { +"description": "Retrieves a Folder identified by the supplied resource name. Valid Folder resource names have the format `folders/{folder_id}` (for example, `folders/1234`). The caller must have `resourcemanager.folders.get` permission on the identified folder.", +"flatPath": "v2/folders/{foldersId}", +"httpMethod": "GET", +"id": "cloudresourcemanager.folders.get", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. The resource name of the Folder to retrieve. Must be of the form `folders/{folder_id}`.", +"location": "path", +"pattern": "^folders/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v2/{+name}", +"response": { +"$ref": "Folder" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/cloud-platform.read-only" +] +}, +"getIamPolicy": { +"description": "Gets the access control policy for a Folder. The returned policy may be empty if no such policy or resource exists. The `resource` field should be the Folder's resource name, e.g. \"folders/1234\". The caller must have `resourcemanager.folders.getIamPolicy` permission on the identified folder.", +"flatPath": "v2/folders/{foldersId}:getIamPolicy", +"httpMethod": "POST", +"id": "cloudresourcemanager.folders.getIamPolicy", +"parameterOrder": [ +"resource" +], +"parameters": { +"resource": { +"description": "REQUIRED: The resource for which the policy is being requested. See [Resource names](https://cloud.google.com/apis/design/resource_names) for the appropriate value for this field.", +"location": "path", +"pattern": "^folders/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v2/{+resource}:getIamPolicy", +"request": { +"$ref": "GetIamPolicyRequest" +}, +"response": { +"$ref": "Policy" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/cloud-platform.read-only" +] +}, +"list": { +"description": "Lists the Folders that are direct descendants of supplied parent resource. List provides a strongly consistent view of the Folders underneath the specified parent resource. List returns Folders sorted based upon the (ascending) lexical ordering of their display_name. The caller must have `resourcemanager.folders.list` permission on the identified parent.", +"flatPath": "v2/folders", +"httpMethod": "GET", +"id": "cloudresourcemanager.folders.list", +"parameterOrder": [], +"parameters": { +"pageSize": { +"description": "Optional. The maximum number of Folders to return in the response. The server can return fewer folders than requested. If unspecified, server picks an appropriate default.", +"format": "int32", +"location": "query", +"type": "integer" +}, +"pageToken": { +"description": "Optional. A pagination token returned from a previous call to `ListFolders` that indicates where this listing should continue from.", +"location": "query", +"type": "string" +}, +"parent": { +"description": "Required. The resource name of the Organization or Folder whose Folders are being listed. Must be of the form `folders/{folder_id}` or `organizations/{org_id}`. Access to this method is controlled by checking the `resourcemanager.folders.list` permission on the `parent`.", +"location": "query", +"type": "string" +}, +"showDeleted": { +"description": "Optional. Controls whether Folders in the DELETE_REQUESTED state should be returned. Defaults to false.", +"location": "query", +"type": "boolean" +} +}, +"path": "v2/folders", +"response": { +"$ref": "ListFoldersResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/cloud-platform.read-only" +] +}, +"move": { +"description": "Moves a Folder under a new resource parent. Returns an Operation which can be used to track the progress of the folder move workflow. Upon success the Operation.response field will be populated with the moved Folder. Upon failure, a FolderOperationError categorizing the failure cause will be returned - if the failure occurs synchronously then the FolderOperationError will be returned via the Status.details field and if it occurs asynchronously then the FolderOperation will be returned via the Operation.error field. In addition, the Operation.metadata field will be populated with a FolderOperation message as an aid to stateless clients. Folder moves will be rejected if they violate either the naming, height or fanout constraints described in the CreateFolder documentation. The caller must have `resourcemanager.folders.move` permission on the folder's current and proposed new parent.", +"flatPath": "v2/folders/{foldersId}:move", +"httpMethod": "POST", +"id": "cloudresourcemanager.folders.move", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. The resource name of the Folder to move. Must be of the form folders/{folder_id}", +"location": "path", +"pattern": "^folders/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v2/{+name}:move", +"request": { +"$ref": "MoveFolderRequest" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"patch": { +"description": "Updates a Folder, changing its display_name. Changes to the folder display_name will be rejected if they violate either the display_name formatting rules or naming constraints described in the CreateFolder documentation. The Folder's display name must start and end with a letter or digit, may contain letters, digits, spaces, hyphens and underscores and can be between 3 and 30 characters. This is captured by the regular expression: `\\p{L}\\p{N}{1,28}[\\p{L}\\p{N}]`. The caller must have `resourcemanager.folders.update` permission on the identified folder. If the update fails due to the unique name constraint then a PreconditionFailure explaining this violation will be returned in the Status.details field.", +"flatPath": "v2/folders/{foldersId}", +"httpMethod": "PATCH", +"id": "cloudresourcemanager.folders.patch", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Output only. The resource name of the Folder. Its format is `folders/{folder_id}`, for example: \"folders/1234\".", +"location": "path", +"pattern": "^folders/[^/]+$", +"required": true, +"type": "string" +}, +"updateMask": { +"description": "Required. Fields to be updated. Only the `display_name` can be updated.", +"format": "google-fieldmask", +"location": "query", +"type": "string" +} +}, +"path": "v2/{+name}", +"request": { +"$ref": "Folder" +}, +"response": { +"$ref": "Folder" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"search": { +"description": "Search for folders that match specific filter criteria. Search provides an eventually consistent view of the folders a user has access to which meet the specified filter criteria. This will only return folders on which the caller has the permission `resourcemanager.folders.get`.", +"flatPath": "v2/folders:search", +"httpMethod": "POST", +"id": "cloudresourcemanager.folders.search", +"parameterOrder": [], +"parameters": {}, +"path": "v2/folders:search", +"request": { +"$ref": "SearchFoldersRequest" +}, +"response": { +"$ref": "SearchFoldersResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/cloud-platform.read-only" +] +}, +"setIamPolicy": { +"description": "Sets the access control policy on a Folder, replacing any existing policy. The `resource` field should be the Folder's resource name, e.g. \"folders/1234\". The caller must have `resourcemanager.folders.setIamPolicy` permission on the identified folder.", +"flatPath": "v2/folders/{foldersId}:setIamPolicy", +"httpMethod": "POST", +"id": "cloudresourcemanager.folders.setIamPolicy", +"parameterOrder": [ +"resource" +], +"parameters": { +"resource": { +"description": "REQUIRED: The resource for which the policy is being specified. See [Resource names](https://cloud.google.com/apis/design/resource_names) for the appropriate value for this field.", +"location": "path", +"pattern": "^folders/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v2/{+resource}:setIamPolicy", +"request": { +"$ref": "SetIamPolicyRequest" +}, +"response": { +"$ref": "Policy" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"testIamPermissions": { +"description": "Returns permissions that a caller has on the specified Folder. The `resource` field should be the Folder's resource name, e.g. \"folders/1234\". There are no permissions required for making this API call.", +"flatPath": "v2/folders/{foldersId}:testIamPermissions", +"httpMethod": "POST", +"id": "cloudresourcemanager.folders.testIamPermissions", +"parameterOrder": [ +"resource" +], +"parameters": { +"resource": { +"description": "REQUIRED: The resource for which the policy detail is being requested. See [Resource names](https://cloud.google.com/apis/design/resource_names) for the appropriate value for this field.", +"location": "path", +"pattern": "^folders/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v2/{+resource}:testIamPermissions", +"request": { +"$ref": "TestIamPermissionsRequest" +}, +"response": { +"$ref": "TestIamPermissionsResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"undelete": { +"description": "Cancels the deletion request for a Folder. This method may only be called on a Folder in the DELETE_REQUESTED state. In order to succeed, the Folder's parent must be in the ACTIVE state. In addition, reintroducing the folder into the tree must not violate folder naming, height and fanout constraints described in the CreateFolder documentation. The caller must have `resourcemanager.folders.undelete` permission on the identified folder.", +"flatPath": "v2/folders/{foldersId}:undelete", +"httpMethod": "POST", +"id": "cloudresourcemanager.folders.undelete", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. The resource name of the Folder to undelete. Must be of the form `folders/{folder_id}`.", +"location": "path", +"pattern": "^folders/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v2/{+name}:undelete", +"request": { +"$ref": "UndeleteFolderRequest" +}, +"response": { +"$ref": "Folder" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +} +} +}, +"operations": { +"methods": { +"get": { +"description": "Gets the latest state of a long-running operation. Clients can use this method to poll the operation result at intervals as recommended by the API service.", +"flatPath": "v1/operations/{operationsId}", +"httpMethod": "GET", +"id": "cloudresourcemanager.operations.get", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "The name of the operation resource.", +"location": "path", +"pattern": "^operations/.*$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+name}", +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/cloud-platform.read-only" +] +} +} +} +}, +"revision": "20240707", +"rootUrl": "https://cloudresourcemanager.googleapis.com/", +"schemas": { +"AuditConfig": { +"description": "Specifies the audit configuration for a service. The configuration determines which permission types are logged, and what identities, if any, are exempted from logging. An AuditConfig must have one or more AuditLogConfigs. If there are AuditConfigs for both `allServices` and a specific service, the union of the two AuditConfigs is used for that service: the log_types specified in each AuditConfig are enabled, and the exempted_members in each AuditLogConfig are exempted. Example Policy with multiple AuditConfigs: { \"audit_configs\": [ { \"service\": \"allServices\", \"audit_log_configs\": [ { \"log_type\": \"DATA_READ\", \"exempted_members\": [ \"user:jose@example.com\" ] }, { \"log_type\": \"DATA_WRITE\" }, { \"log_type\": \"ADMIN_READ\" } ] }, { \"service\": \"sampleservice.googleapis.com\", \"audit_log_configs\": [ { \"log_type\": \"DATA_READ\" }, { \"log_type\": \"DATA_WRITE\", \"exempted_members\": [ \"user:aliya@example.com\" ] } ] } ] } For sampleservice, this policy enables DATA_READ, DATA_WRITE and ADMIN_READ logging. It also exempts `jose@example.com` from DATA_READ logging, and `aliya@example.com` from DATA_WRITE logging.", +"id": "AuditConfig", +"properties": { +"auditLogConfigs": { +"description": "The configuration for logging of each type of permission.", +"items": { +"$ref": "AuditLogConfig" +}, +"type": "array" +}, +"service": { +"description": "Specifies a service that will be enabled for audit logging. For example, `storage.googleapis.com`, `cloudsql.googleapis.com`. `allServices` is a special value that covers all services.", +"type": "string" +} +}, +"type": "object" +}, +"AuditLogConfig": { +"description": "Provides the configuration for logging a type of permissions. Example: { \"audit_log_configs\": [ { \"log_type\": \"DATA_READ\", \"exempted_members\": [ \"user:jose@example.com\" ] }, { \"log_type\": \"DATA_WRITE\" } ] } This enables 'DATA_READ' and 'DATA_WRITE' logging, while exempting jose@example.com from DATA_READ logging.", +"id": "AuditLogConfig", +"properties": { +"exemptedMembers": { +"description": "Specifies the identities that do not cause logging for this type of permission. Follows the same format of Binding.members.", +"items": { +"type": "string" +}, +"type": "array" +}, +"logType": { +"description": "The log type that this config enables.", +"enum": [ +"LOG_TYPE_UNSPECIFIED", +"ADMIN_READ", +"DATA_WRITE", +"DATA_READ" +], +"enumDescriptions": [ +"Default case. Should never be this.", +"Admin reads. Example: CloudIAM getIamPolicy", +"Data writes. Example: CloudSQL Users create", +"Data reads. Example: CloudSQL Users list" +], +"type": "string" +} +}, +"type": "object" +}, +"Binding": { +"description": "Associates `members`, or principals, with a `role`.", +"id": "Binding", +"properties": { +"condition": { +"$ref": "Expr", +"description": "The condition that is associated with this binding. If the condition evaluates to `true`, then this binding applies to the current request. If the condition evaluates to `false`, then this binding does not apply to the current request. However, a different role binding might grant the same role to one or more of the principals in this binding. To learn which resources support conditions in their IAM policies, see the [IAM documentation](https://cloud.google.com/iam/help/conditions/resource-policies)." +}, +"members": { +"description": "Specifies the principals requesting access for a Google Cloud resource. `members` can have the following values: * `allUsers`: A special identifier that represents anyone who is on the internet; with or without a Google account. * `allAuthenticatedUsers`: A special identifier that represents anyone who is authenticated with a Google account or a service account. Does not include identities that come from external identity providers (IdPs) through identity federation. * `user:{emailid}`: An email address that represents a specific Google account. For example, `alice@example.com` . * `serviceAccount:{emailid}`: An email address that represents a Google service account. For example, `my-other-app@appspot.gserviceaccount.com`. * `serviceAccount:{projectid}.svc.id.goog[{namespace}/{kubernetes-sa}]`: An identifier for a [Kubernetes service account](https://cloud.google.com/kubernetes-engine/docs/how-to/kubernetes-service-accounts). For example, `my-project.svc.id.goog[my-namespace/my-kubernetes-sa]`. * `group:{emailid}`: An email address that represents a Google group. For example, `admins@example.com`. * `domain:{domain}`: The G Suite domain (primary) that represents all the users of that domain. For example, `google.com` or `example.com`. * `principal://iam.googleapis.com/locations/global/workforcePools/{pool_id}/subject/{subject_attribute_value}`: A single identity in a workforce identity pool. * `principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/group/{group_id}`: All workforce identities in a group. * `principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/attribute.{attribute_name}/{attribute_value}`: All workforce identities with a specific attribute value. * `principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/*`: All identities in a workforce identity pool. * `principal://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/subject/{subject_attribute_value}`: A single identity in a workload identity pool. * `principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/group/{group_id}`: A workload identity pool group. * `principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/attribute.{attribute_name}/{attribute_value}`: All identities in a workload identity pool with a certain attribute. * `principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/*`: All identities in a workload identity pool. * `deleted:user:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a user that has been recently deleted. For example, `alice@example.com?uid=123456789012345678901`. If the user is recovered, this value reverts to `user:{emailid}` and the recovered user retains the role in the binding. * `deleted:serviceAccount:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a service account that has been recently deleted. For example, `my-other-app@appspot.gserviceaccount.com?uid=123456789012345678901`. If the service account is undeleted, this value reverts to `serviceAccount:{emailid}` and the undeleted service account retains the role in the binding. * `deleted:group:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a Google group that has been recently deleted. For example, `admins@example.com?uid=123456789012345678901`. If the group is recovered, this value reverts to `group:{emailid}` and the recovered group retains the role in the binding. * `deleted:principal://iam.googleapis.com/locations/global/workforcePools/{pool_id}/subject/{subject_attribute_value}`: Deleted single identity in a workforce identity pool. For example, `deleted:principal://iam.googleapis.com/locations/global/workforcePools/my-pool-id/subject/my-subject-attribute-value`.", +"items": { +"type": "string" +}, +"type": "array" +}, +"role": { +"description": "Role that is assigned to the list of `members`, or principals. For example, `roles/viewer`, `roles/editor`, or `roles/owner`. For an overview of the IAM roles and permissions, see the [IAM documentation](https://cloud.google.com/iam/docs/roles-overview). For a list of the available pre-defined roles, see [here](https://cloud.google.com/iam/docs/understanding-roles).", +"type": "string" +} +}, +"type": "object" +}, +"CloudresourcemanagerGoogleCloudResourcemanagerV2alpha1FolderOperation": { +"description": "Metadata describing a long running folder operation", +"id": "CloudresourcemanagerGoogleCloudResourcemanagerV2alpha1FolderOperation", +"properties": { +"destinationParent": { +"description": "The resource name of the folder or organization we are either creating the folder under or moving the folder to.", +"type": "string" +}, +"displayName": { +"description": "The display name of the folder.", +"type": "string" +}, +"operationType": { +"description": "The type of this operation.", +"enum": [ +"OPERATION_TYPE_UNSPECIFIED", +"CREATE", +"MOVE" +], +"enumDescriptions": [ +"Operation type not specified.", +"A create folder operation.", +"A move folder operation." +], +"type": "string" +}, +"sourceParent": { +"description": "The resource name of the folder's parent. Only applicable when the operation_type is MOVE.", +"type": "string" +} +}, +"type": "object" +}, +"CloudresourcemanagerGoogleCloudResourcemanagerV2beta1FolderOperation": { +"description": "Metadata describing a long running folder operation", +"id": "CloudresourcemanagerGoogleCloudResourcemanagerV2beta1FolderOperation", +"properties": { +"destinationParent": { +"description": "The resource name of the folder or organization we are either creating the folder under or moving the folder to.", +"type": "string" +}, +"displayName": { +"description": "The display name of the folder.", +"type": "string" +}, +"operationType": { +"description": "The type of this operation.", +"enum": [ +"OPERATION_TYPE_UNSPECIFIED", +"CREATE", +"MOVE" +], +"enumDescriptions": [ +"Operation type not specified.", +"A create folder operation.", +"A move folder operation." +], +"type": "string" +}, +"sourceParent": { +"description": "The resource name of the folder's parent. Only applicable when the operation_type is MOVE.", +"type": "string" +} +}, +"type": "object" +}, +"CreateFolderMetadata": { +"description": "Metadata pertaining to the Folder creation process.", +"id": "CreateFolderMetadata", +"properties": { +"displayName": { +"description": "The display name of the folder.", +"type": "string" +}, +"parent": { +"description": "The resource name of the folder or organization we are creating the folder under.", +"type": "string" +} +}, +"type": "object" +}, +"CreateProjectMetadata": { +"description": "A status object which is used as the `metadata` field for the Operation returned by CreateProject. It provides insight for when significant phases of Project creation have completed.", +"id": "CreateProjectMetadata", +"properties": { +"createTime": { +"description": "Creation time of the project creation workflow.", +"format": "google-datetime", +"type": "string" +}, +"gettable": { +"description": "True if the project can be retrieved using `GetProject`. No other operations on the project are guaranteed to work until the project creation is complete.", +"type": "boolean" +}, +"ready": { +"description": "True if the project creation process is complete.", +"type": "boolean" +} +}, +"type": "object" +}, +"CreateTagBindingMetadata": { +"description": "Runtime operation information for creating a TagValue.", +"id": "CreateTagBindingMetadata", +"properties": {}, +"type": "object" +}, +"CreateTagKeyMetadata": { +"description": "Runtime operation information for creating a TagKey.", +"id": "CreateTagKeyMetadata", +"properties": {}, +"type": "object" +}, +"CreateTagValueMetadata": { +"description": "Runtime operation information for creating a TagValue.", +"id": "CreateTagValueMetadata", +"properties": {}, +"type": "object" +}, +"DeleteFolderMetadata": { +"description": "A status object which is used as the `metadata` field for the `Operation` returned by `DeleteFolder`.", +"id": "DeleteFolderMetadata", +"properties": {}, +"type": "object" +}, +"DeleteOrganizationMetadata": { +"description": "A status object which is used as the `metadata` field for the operation returned by DeleteOrganization.", +"id": "DeleteOrganizationMetadata", +"properties": {}, +"type": "object" +}, +"DeleteProjectMetadata": { +"description": "A status object which is used as the `metadata` field for the Operation returned by `DeleteProject`.", +"id": "DeleteProjectMetadata", +"properties": {}, +"type": "object" +}, +"DeleteTagBindingMetadata": { +"description": "Runtime operation information for deleting a TagBinding.", +"id": "DeleteTagBindingMetadata", +"properties": {}, +"type": "object" +}, +"DeleteTagKeyMetadata": { +"description": "Runtime operation information for deleting a TagKey.", +"id": "DeleteTagKeyMetadata", +"properties": {}, +"type": "object" +}, +"DeleteTagValueMetadata": { +"description": "Runtime operation information for deleting a TagValue.", +"id": "DeleteTagValueMetadata", +"properties": {}, +"type": "object" +}, +"Expr": { +"description": "Represents a textual expression in the Common Expression Language (CEL) syntax. CEL is a C-like expression language. The syntax and semantics of CEL are documented at https://github.com/google/cel-spec. Example (Comparison): title: \"Summary size limit\" description: \"Determines if a summary is less than 100 chars\" expression: \"document.summary.size() < 100\" Example (Equality): title: \"Requestor is owner\" description: \"Determines if requestor is the document owner\" expression: \"document.owner == request.auth.claims.email\" Example (Logic): title: \"Public documents\" description: \"Determine whether the document should be publicly visible\" expression: \"document.type != 'private' && document.type != 'internal'\" Example (Data Manipulation): title: \"Notification string\" description: \"Create a notification string with a timestamp.\" expression: \"'New message received at ' + string(document.create_time)\" The exact variables and functions that may be referenced within an expression are determined by the service that evaluates it. See the service documentation for additional information.", +"id": "Expr", +"properties": { +"description": { +"description": "Optional. Description of the expression. This is a longer text which describes the expression, e.g. when hovered over it in a UI.", +"type": "string" +}, +"expression": { +"description": "Textual representation of an expression in Common Expression Language syntax.", +"type": "string" +}, +"location": { +"description": "Optional. String indicating the location of the expression for error reporting, e.g. a file name and a position in the file.", +"type": "string" +}, +"title": { +"description": "Optional. Title for the expression, i.e. a short string describing its purpose. This can be used e.g. in UIs which allow to enter the expression.", +"type": "string" +} +}, +"type": "object" +}, +"Folder": { +"description": "A Folder in an Organization's resource hierarchy, used to organize that Organization's resources.", +"id": "Folder", +"properties": { +"createTime": { +"description": "Output only. Timestamp when the Folder was created. Assigned by the server.", +"format": "google-datetime", +"readOnly": true, +"type": "string" +}, +"displayName": { +"description": "The folder's display name. A folder's display name must be unique amongst its siblings, e.g. no two folders with the same parent can share the same display name. The display name must start and end with a letter or digit, may contain letters, digits, spaces, hyphens and underscores and can be no longer than 30 characters. This is captured by the regular expression: `[\\p{L}\\p{N}]([\\p{L}\\p{N}_- ]{0,28}[\\p{L}\\p{N}])?`.", +"type": "string" +}, +"lifecycleState": { +"description": "Output only. The lifecycle state of the folder. Updates to the lifecycle_state must be performed via DeleteFolder and UndeleteFolder.", +"enum": [ +"LIFECYCLE_STATE_UNSPECIFIED", +"ACTIVE", +"DELETE_REQUESTED" +], +"enumDescriptions": [ +"Unspecified state.", +"The normal and active state.", +"The folder has been marked for deletion by the user." +], +"readOnly": true, +"type": "string" +}, +"name": { +"description": "Output only. The resource name of the Folder. Its format is `folders/{folder_id}`, for example: \"folders/1234\".", +"readOnly": true, +"type": "string" +}, +"parent": { +"description": "Required. The Folder's parent's resource name. Updates to the folder's parent must be performed via MoveFolder.", +"type": "string" +}, +"tags": { +"additionalProperties": { +"type": "string" +}, +"description": "Optional. Input only. Immutable. Tag keys/values directly bound to this folder. Each item in the map must be expressed as \" : \". For example: \"123/environment\" : \"production\", \"123/costCenter\" : \"marketing\" Note: Currently this field is in Preview.", +"type": "object" +} +}, +"type": "object" +}, +"FolderOperation": { +"description": "Metadata describing a long running folder operation", +"id": "FolderOperation", +"properties": { +"destinationParent": { +"description": "The resource name of the folder or organization we are either creating the folder under or moving the folder to.", +"type": "string" +}, +"displayName": { +"description": "The display name of the folder.", +"type": "string" +}, +"operationType": { +"description": "The type of this operation.", +"enum": [ +"OPERATION_TYPE_UNSPECIFIED", +"CREATE", +"MOVE" +], +"enumDescriptions": [ +"Operation type not specified.", +"A create folder operation.", +"A move folder operation." +], +"type": "string" +}, +"sourceParent": { +"description": "The resource name of the folder's parent. Only applicable when the operation_type is MOVE.", +"type": "string" +} +}, +"type": "object" +}, +"FolderOperationError": { +"description": "A classification of the Folder Operation error.", +"id": "FolderOperationError", +"properties": { +"errorMessageId": { +"description": "The type of operation error experienced.", +"enum": [ +"ERROR_TYPE_UNSPECIFIED", +"ACTIVE_FOLDER_HEIGHT_VIOLATION", +"MAX_CHILD_FOLDERS_VIOLATION", +"FOLDER_NAME_UNIQUENESS_VIOLATION", +"RESOURCE_DELETED_VIOLATION", +"PARENT_DELETED_VIOLATION", +"CYCLE_INTRODUCED_VIOLATION", +"FOLDER_BEING_MOVED_VIOLATION", +"FOLDER_TO_DELETE_NON_EMPTY_VIOLATION", +"DELETED_FOLDER_HEIGHT_VIOLATION" +], +"enumDescriptions": [ +"The error type was unrecognized or unspecified.", +"The attempted action would violate the max folder depth constraint.", +"The attempted action would violate the max child folders constraint.", +"The attempted action would violate the locally-unique folder display_name constraint.", +"The resource being moved has been deleted.", +"The resource a folder was being added to has been deleted.", +"The attempted action would introduce cycle in resource path.", +"The attempted action would move a folder that is already being moved.", +"The folder the caller is trying to delete contains active resources.", +"The attempted action would violate the max deleted folder depth constraint." +], +"type": "string" +} +}, +"type": "object" +}, +"GetIamPolicyRequest": { +"description": "Request message for `GetIamPolicy` method.", +"id": "GetIamPolicyRequest", +"properties": { +"options": { +"$ref": "GetPolicyOptions", +"description": "OPTIONAL: A `GetPolicyOptions` object for specifying options to `GetIamPolicy`." +} +}, +"type": "object" +}, +"GetPolicyOptions": { +"description": "Encapsulates settings provided to GetIamPolicy.", +"id": "GetPolicyOptions", +"properties": { +"requestedPolicyVersion": { +"description": "Optional. The maximum policy version that will be used to format the policy. Valid values are 0, 1, and 3. Requests specifying an invalid value will be rejected. Requests for policies with any conditional role bindings must specify version 3. Policies with no conditional role bindings may specify any valid value or leave the field unset. The policy in the response might use the policy version that you specified, or it might use a lower policy version. For example, if you specify version 3, but the policy has no conditional role bindings, the response uses version 1. To learn which resources support conditions in their IAM policies, see the [IAM documentation](https://cloud.google.com/iam/help/conditions/resource-policies).", +"format": "int32", +"type": "integer" +} +}, +"type": "object" +}, +"ListFoldersResponse": { +"description": "The ListFolders response message.", +"id": "ListFoldersResponse", +"properties": { +"folders": { +"description": "A possibly paginated list of Folders that are direct descendants of the specified parent resource.", +"items": { +"$ref": "Folder" +}, +"type": "array" +}, +"nextPageToken": { +"description": "A pagination token returned from a previous call to `ListFolders` that indicates from where listing should continue.", +"type": "string" +} +}, +"type": "object" +}, +"MoveFolderMetadata": { +"description": "Metadata pertaining to the folder move process.", +"id": "MoveFolderMetadata", +"properties": { +"destinationParent": { +"description": "The resource name of the folder or organization to move the folder to.", +"type": "string" +}, +"displayName": { +"description": "The display name of the folder.", +"type": "string" +}, +"sourceParent": { +"description": "The resource name of the folder's parent.", +"type": "string" +} +}, +"type": "object" +}, +"MoveFolderRequest": { +"description": "The MoveFolder request message.", +"id": "MoveFolderRequest", +"properties": { +"destinationParent": { +"description": "Required. The resource name of the Folder or Organization to reparent the folder under. Must be of the form `folders/{folder_id}` or `organizations/{org_id}`.", +"type": "string" +} +}, +"type": "object" +}, +"MoveProjectMetadata": { +"description": "A status object which is used as the `metadata` field for the Operation returned by MoveProject.", +"id": "MoveProjectMetadata", +"properties": {}, +"type": "object" +}, +"Operation": { +"description": "This resource represents a long-running operation that is the result of a network API call.", +"id": "Operation", +"properties": { +"done": { +"description": "If the value is `false`, it means the operation is still in progress. If `true`, the operation is completed, and either `error` or `response` is available.", +"type": "boolean" +}, +"error": { +"$ref": "Status", +"description": "The error result of the operation in case of failure or cancellation." +}, +"metadata": { +"additionalProperties": { +"description": "Properties of the object. Contains field @type with type URL.", +"type": "any" +}, +"description": "Service-specific metadata associated with the operation. It typically contains progress information and common metadata such as create time. Some services might not provide such metadata. Any method that returns a long-running operation should document the metadata type, if any.", +"type": "object" +}, +"name": { +"description": "The server-assigned name, which is only unique within the same service that originally returns it. If you use the default HTTP mapping, the `name` should be a resource name ending with `operations/{unique_id}`.", +"type": "string" +}, +"response": { +"additionalProperties": { +"description": "Properties of the object. Contains field @type with type URL.", +"type": "any" +}, +"description": "The normal, successful response of the operation. If the original method returns no data on success, such as `Delete`, the response is `google.protobuf.Empty`. If the original method is standard `Get`/`Create`/`Update`, the response should be the resource. For other methods, the response should have the type `XxxResponse`, where `Xxx` is the original method name. For example, if the original method name is `TakeSnapshot()`, the inferred response type is `TakeSnapshotResponse`.", +"type": "object" +} +}, +"type": "object" +}, +"Policy": { +"description": "An Identity and Access Management (IAM) policy, which specifies access controls for Google Cloud resources. A `Policy` is a collection of `bindings`. A `binding` binds one or more `members`, or principals, to a single `role`. Principals can be user accounts, service accounts, Google groups, and domains (such as G Suite). A `role` is a named list of permissions; each `role` can be an IAM predefined role or a user-created custom role. For some types of Google Cloud resources, a `binding` can also specify a `condition`, which is a logical expression that allows access to a resource only if the expression evaluates to `true`. A condition can add constraints based on attributes of the request, the resource, or both. To learn which resources support conditions in their IAM policies, see the [IAM documentation](https://cloud.google.com/iam/help/conditions/resource-policies). **JSON example:** ``` { \"bindings\": [ { \"role\": \"roles/resourcemanager.organizationAdmin\", \"members\": [ \"user:mike@example.com\", \"group:admins@example.com\", \"domain:google.com\", \"serviceAccount:my-project-id@appspot.gserviceaccount.com\" ] }, { \"role\": \"roles/resourcemanager.organizationViewer\", \"members\": [ \"user:eve@example.com\" ], \"condition\": { \"title\": \"expirable access\", \"description\": \"Does not grant access after Sep 2020\", \"expression\": \"request.time < timestamp('2020-10-01T00:00:00.000Z')\", } } ], \"etag\": \"BwWWja0YfJA=\", \"version\": 3 } ``` **YAML example:** ``` bindings: - members: - user:mike@example.com - group:admins@example.com - domain:google.com - serviceAccount:my-project-id@appspot.gserviceaccount.com role: roles/resourcemanager.organizationAdmin - members: - user:eve@example.com role: roles/resourcemanager.organizationViewer condition: title: expirable access description: Does not grant access after Sep 2020 expression: request.time < timestamp('2020-10-01T00:00:00.000Z') etag: BwWWja0YfJA= version: 3 ``` For a description of IAM and its features, see the [IAM documentation](https://cloud.google.com/iam/docs/).", +"id": "Policy", +"properties": { +"auditConfigs": { +"description": "Specifies cloud audit logging configuration for this policy.", +"items": { +"$ref": "AuditConfig" +}, +"type": "array" +}, +"bindings": { +"description": "Associates a list of `members`, or principals, with a `role`. Optionally, may specify a `condition` that determines how and when the `bindings` are applied. Each of the `bindings` must contain at least one principal. The `bindings` in a `Policy` can refer to up to 1,500 principals; up to 250 of these principals can be Google groups. Each occurrence of a principal counts towards these limits. For example, if the `bindings` grant 50 different roles to `user:alice@example.com`, and not to any other principal, then you can add another 1,450 principals to the `bindings` in the `Policy`.", +"items": { +"$ref": "Binding" +}, +"type": "array" +}, +"etag": { +"description": "`etag` is used for optimistic concurrency control as a way to help prevent simultaneous updates of a policy from overwriting each other. It is strongly suggested that systems make use of the `etag` in the read-modify-write cycle to perform policy updates in order to avoid race conditions: An `etag` is returned in the response to `getIamPolicy`, and systems are expected to put that etag in the request to `setIamPolicy` to ensure that their change will be applied to the same version of the policy. **Important:** If you use IAM Conditions, you must include the `etag` field whenever you call `setIamPolicy`. If you omit this field, then IAM allows you to overwrite a version `3` policy with a version `1` policy, and all of the conditions in the version `3` policy are lost.", +"format": "byte", +"type": "string" +}, +"version": { +"description": "Specifies the format of the policy. Valid values are `0`, `1`, and `3`. Requests that specify an invalid value are rejected. Any operation that affects conditional role bindings must specify version `3`. This requirement applies to the following operations: * Getting a policy that includes a conditional role binding * Adding a conditional role binding to a policy * Changing a conditional role binding in a policy * Removing any role binding, with or without a condition, from a policy that includes conditions **Important:** If you use IAM Conditions, you must include the `etag` field whenever you call `setIamPolicy`. If you omit this field, then IAM allows you to overwrite a version `3` policy with a version `1` policy, and all of the conditions in the version `3` policy are lost. If a policy does not include any conditions, operations on that policy may specify any valid version or leave the field unset. To learn which resources support conditions in their IAM policies, see the [IAM documentation](https://cloud.google.com/iam/help/conditions/resource-policies).", +"format": "int32", +"type": "integer" +} +}, +"type": "object" +}, +"ProjectCreationStatus": { +"description": "A status object which is used as the `metadata` field for the Operation returned by CreateProject. It provides insight for when significant phases of Project creation have completed.", +"id": "ProjectCreationStatus", +"properties": { +"createTime": { +"description": "Creation time of the project creation workflow.", +"format": "google-datetime", +"type": "string" +}, +"gettable": { +"description": "True if the project can be retrieved using GetProject. No other operations on the project are guaranteed to work until the project creation is complete.", +"type": "boolean" +}, +"ready": { +"description": "True if the project creation process is complete.", +"type": "boolean" +} +}, +"type": "object" +}, +"SearchFoldersRequest": { +"description": "The request message for searching folders.", +"id": "SearchFoldersRequest", +"properties": { +"pageSize": { +"description": "Optional. The maximum number of folders to return in the response. The server can return fewer folders than requested. If unspecified, server picks an appropriate default.", +"format": "int32", +"type": "integer" +}, +"pageToken": { +"description": "Optional. A pagination token returned from a previous call to `SearchFolders` that indicates from where search should continue.", +"type": "string" +}, +"query": { +"description": "Search criteria used to select the Folders to return. If no search criteria is specified then all accessible folders will be returned. Query expressions can be used to restrict results based upon displayName, lifecycleState and parent, where the operators `=`, `NOT`, `AND` and `OR` can be used along with the suffix wildcard symbol `*`. The displayName field in a query expression should use escaped quotes for values that include whitespace to prevent unexpected behavior. Some example queries are: * Query `displayName=Test*` returns Folder resources whose display name starts with \"Test\". * Query `lifecycleState=ACTIVE` returns Folder resources with `lifecycleState` set to `ACTIVE`. * Query `parent=folders/123` returns Folder resources that have `folders/123` as a parent resource. * Query `parent=folders/123 AND lifecycleState=ACTIVE` returns active Folder resources that have `folders/123` as a parent resource. * Query `displayName=\\\\\"Test String\\\\\"` returns Folder resources with display names that include both \"Test\" and \"String\".", +"type": "string" +} +}, +"type": "object" +}, +"SearchFoldersResponse": { +"description": "The response message for searching folders.", +"id": "SearchFoldersResponse", +"properties": { +"folders": { +"description": "A possibly paginated folder search results. the specified parent resource.", +"items": { +"$ref": "Folder" +}, +"type": "array" +}, +"nextPageToken": { +"description": "A pagination token returned from a previous call to `SearchFolders` that indicates from where searching should continue.", +"type": "string" +} +}, +"type": "object" +}, +"SetIamPolicyRequest": { +"description": "Request message for `SetIamPolicy` method.", +"id": "SetIamPolicyRequest", +"properties": { +"policy": { +"$ref": "Policy", +"description": "REQUIRED: The complete policy to be applied to the `resource`. The size of the policy is limited to a few 10s of KB. An empty policy is a valid policy but certain Google Cloud services (such as Projects) might reject them." +}, +"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" +} +}, +"type": "object" +}, +"Status": { +"description": "The `Status` type defines a logical error model that is suitable for different programming environments, including REST APIs and RPC APIs. It is used by [gRPC](https://github.com/grpc). Each `Status` message contains three pieces of data: error code, error message, and error details. You can find out more about this error model and how to work with it in the [API Design Guide](https://cloud.google.com/apis/design/errors).", +"id": "Status", +"properties": { +"code": { +"description": "The status code, which should be an enum value of google.rpc.Code.", +"format": "int32", +"type": "integer" +}, +"details": { +"description": "A list of messages that carry the error details. There is a common set of message types for APIs to use.", +"items": { +"additionalProperties": { +"description": "Properties of the object. Contains field @type with type URL.", +"type": "any" +}, +"type": "object" +}, +"type": "array" +}, +"message": { +"description": "A developer-facing error message, which should be in English. Any user-facing error message should be localized and sent in the google.rpc.Status.details field, or localized by the client.", +"type": "string" +} +}, +"type": "object" +}, +"TestIamPermissionsRequest": { +"description": "Request message for `TestIamPermissions` method.", +"id": "TestIamPermissionsRequest", +"properties": { +"permissions": { +"description": "The set of permissions to check for the `resource`. Permissions with wildcards (such as `*` or `storage.*`) are not allowed. For more information see [IAM Overview](https://cloud.google.com/iam/docs/overview#permissions).", +"items": { +"type": "string" +}, +"type": "array" +} +}, +"type": "object" +}, +"TestIamPermissionsResponse": { +"description": "Response message for `TestIamPermissions` method.", +"id": "TestIamPermissionsResponse", +"properties": { +"permissions": { +"description": "A subset of `TestPermissionsRequest.permissions` that the caller is allowed.", +"items": { +"type": "string" +}, +"type": "array" +} +}, +"type": "object" +}, +"UndeleteFolderMetadata": { +"description": "A status object which is used as the `metadata` field for the `Operation` returned by `UndeleteFolder`.", +"id": "UndeleteFolderMetadata", +"properties": {}, +"type": "object" +}, +"UndeleteFolderRequest": { +"description": "The UndeleteFolder request message.", +"id": "UndeleteFolderRequest", +"properties": {}, +"type": "object" +}, +"UndeleteOrganizationMetadata": { +"description": "A status object which is used as the `metadata` field for the Operation returned by UndeleteOrganization.", +"id": "UndeleteOrganizationMetadata", +"properties": {}, +"type": "object" +}, +"UndeleteProjectMetadata": { +"description": "A status object which is used as the `metadata` field for the Operation returned by `UndeleteProject`.", +"id": "UndeleteProjectMetadata", +"properties": {}, +"type": "object" +}, +"UpdateFolderMetadata": { +"description": "A status object which is used as the `metadata` field for the Operation returned by UpdateFolder.", +"id": "UpdateFolderMetadata", +"properties": {}, +"type": "object" +}, +"UpdateProjectMetadata": { +"description": "A status object which is used as the `metadata` field for the Operation returned by UpdateProject.", +"id": "UpdateProjectMetadata", +"properties": {}, +"type": "object" +}, +"UpdateTagKeyMetadata": { +"description": "Runtime operation information for updating a TagKey.", +"id": "UpdateTagKeyMetadata", +"properties": {}, +"type": "object" +}, +"UpdateTagValueMetadata": { +"description": "Runtime operation information for updating a TagValue.", +"id": "UpdateTagValueMetadata", +"properties": {}, +"type": "object" +} +}, +"servicePath": "", +"title": "Cloud Resource Manager API", +"version": "v2" +} \ No newline at end of file diff --git a/.venv/lib/python3.11/site-packages/googleapiclient/discovery_cache/documents/container.v1beta1.json b/.venv/lib/python3.11/site-packages/googleapiclient/discovery_cache/documents/container.v1beta1.json new file mode 100644 index 0000000000000000000000000000000000000000..5837bab13521d522e5f02fe4358e183dc33ebef3 --- /dev/null +++ b/.venv/lib/python3.11/site-packages/googleapiclient/discovery_cache/documents/container.v1beta1.json @@ -0,0 +1,9332 @@ +{ +"auth": { +"oauth2": { +"scopes": { +"https://www.googleapis.com/auth/cloud-platform": { +"description": "See, edit, configure, and delete your Google Cloud data and see the email address for your Google Account." +} +} +} +}, +"basePath": "", +"baseUrl": "https://container.googleapis.com/", +"batchPath": "batch", +"canonicalName": "Container", +"description": "Builds and manages container-based applications, powered by the open source Kubernetes technology.", +"discoveryVersion": "v1", +"documentationLink": "https://cloud.google.com/kubernetes-engine/docs/", +"fullyEncodeReservedExpansion": true, +"icons": { +"x16": "http://www.google.com/images/icons/product/search-16.gif", +"x32": "http://www.google.com/images/icons/product/search-32.gif" +}, +"id": "container:v1beta1", +"kind": "discovery#restDescription", +"mtlsRootUrl": "https://container.mtls.googleapis.com/", +"name": "container", +"ownerDomain": "google.com", +"ownerName": "Google", +"parameters": { +"$.xgafv": { +"description": "V1 error format.", +"enum": [ +"1", +"2" +], +"enumDescriptions": [ +"v1 error format", +"v2 error format" +], +"location": "query", +"type": "string" +}, +"access_token": { +"description": "OAuth access token.", +"location": "query", +"type": "string" +}, +"alt": { +"default": "json", +"description": "Data format for response.", +"enum": [ +"json", +"media", +"proto" +], +"enumDescriptions": [ +"Responses with Content-Type of application/json", +"Media download with context-dependent Content-Type", +"Responses with Content-Type of application/x-protobuf" +], +"location": "query", +"type": "string" +}, +"callback": { +"description": "JSONP", +"location": "query", +"type": "string" +}, +"fields": { +"description": "Selector specifying which fields to include in a partial response.", +"location": "query", +"type": "string" +}, +"key": { +"description": "API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token.", +"location": "query", +"type": "string" +}, +"oauth_token": { +"description": "OAuth 2.0 token for the current user.", +"location": "query", +"type": "string" +}, +"prettyPrint": { +"default": "true", +"description": "Returns response with indentations and line breaks.", +"location": "query", +"type": "boolean" +}, +"quotaUser": { +"description": "Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters.", +"location": "query", +"type": "string" +}, +"uploadType": { +"description": "Legacy upload protocol for media (e.g. \"media\", \"multipart\").", +"location": "query", +"type": "string" +}, +"upload_protocol": { +"description": "Upload protocol for media (e.g. \"raw\", \"multipart\").", +"location": "query", +"type": "string" +} +}, +"protocol": "rest", +"resources": { +"projects": { +"resources": { +"aggregated": { +"resources": { +"usableSubnetworks": { +"methods": { +"list": { +"description": "Lists subnetworks that can be used for creating clusters in a project.", +"flatPath": "v1beta1/projects/{projectsId}/aggregated/usableSubnetworks", +"httpMethod": "GET", +"id": "container.projects.aggregated.usableSubnetworks.list", +"parameterOrder": [ +"parent" +], +"parameters": { +"filter": { +"description": "Filtering currently only supports equality on the networkProjectId and must be in the form: \"networkProjectId=[PROJECTID]\", where `networkProjectId` is the project which owns the listed subnetworks. This defaults to the parent project ID.", +"location": "query", +"type": "string" +}, +"pageSize": { +"description": "The max number of results per page that should be returned. If the number of available results is larger than `page_size`, a `next_page_token` is returned which can be used to get the next page of results in subsequent requests. Acceptable values are 0 to 500, inclusive. (Default: 500)", +"format": "int32", +"location": "query", +"type": "integer" +}, +"pageToken": { +"description": "Specifies a page token to use. Set this to the nextPageToken returned by previous list requests to get the next page of results.", +"location": "query", +"type": "string" +}, +"parent": { +"description": "Required. The parent project where subnetworks are usable. Specified in the format `projects/*`.", +"location": "path", +"pattern": "^projects/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1beta1/{+parent}/aggregated/usableSubnetworks", +"response": { +"$ref": "ListUsableSubnetworksResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +} +} +} +} +}, +"locations": { +"methods": { +"getServerConfig": { +"description": "Returns configuration info about the Google Kubernetes Engine service.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/serverConfig", +"httpMethod": "GET", +"id": "container.projects.locations.getServerConfig", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "The name (project and location) of the server config to get, specified in the format `projects/*/locations/*`.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+$", +"required": true, +"type": "string" +}, +"projectId": { +"deprecated": true, +"description": "Required. Deprecated. The Google Developers Console [project ID or project number](https://cloud.google.com/resource-manager/docs/creating-managing-projects). This field has been deprecated and replaced by the name field.", +"location": "query", +"type": "string" +}, +"zone": { +"deprecated": true, +"description": "Required. Deprecated. The name of the Google Compute Engine [zone](https://cloud.google.com/compute/docs/zones#available) to return operations for. This field has been deprecated and replaced by the name field.", +"location": "query", +"type": "string" +} +}, +"path": "v1beta1/{+name}/serverConfig", +"response": { +"$ref": "ServerConfig" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"list": { +"description": "Fetches locations that offer Google Kubernetes Engine.", +"flatPath": "v1beta1/projects/{projectsId}/locations", +"httpMethod": "GET", +"id": "container.projects.locations.list", +"parameterOrder": [ +"parent" +], +"parameters": { +"parent": { +"description": "Required. Contains the name of the resource requested. Specified in the format `projects/*`.", +"location": "path", +"pattern": "^projects/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1beta1/{+parent}/locations", +"response": { +"$ref": "ListLocationsResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +} +}, +"resources": { +"clusters": { +"methods": { +"checkAutopilotCompatibility": { +"description": "Checks the cluster compatibility with Autopilot mode, and returns a list of compatibility issues.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/clusters/{clustersId}:checkAutopilotCompatibility", +"httpMethod": "GET", +"id": "container.projects.locations.clusters.checkAutopilotCompatibility", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "The name (project, location, cluster) of the cluster to retrieve. Specified in the format `projects/*/locations/*/clusters/*`.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/clusters/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1beta1/{+name}:checkAutopilotCompatibility", +"response": { +"$ref": "CheckAutopilotCompatibilityResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"completeIpRotation": { +"description": "Completes master IP rotation.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/clusters/{clustersId}:completeIpRotation", +"httpMethod": "POST", +"id": "container.projects.locations.clusters.completeIpRotation", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "The name (project, location, cluster name) of the cluster to complete IP rotation. Specified in the format `projects/*/locations/*/clusters/*`.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/clusters/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1beta1/{+name}:completeIpRotation", +"request": { +"$ref": "CompleteIPRotationRequest" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"create": { +"description": "Creates a cluster, consisting of the specified number and type of Google Compute Engine instances. By default, the cluster is created in the project's [default network](https://cloud.google.com/compute/docs/networks-and-firewalls#networks). One firewall is added for the cluster. After cluster creation, the Kubelet creates routes for each node to allow the containers on that node to communicate with all other instances in the cluster. Finally, an entry is added to the project's global metadata indicating which CIDR range the cluster is using.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/clusters", +"httpMethod": "POST", +"id": "container.projects.locations.clusters.create", +"parameterOrder": [ +"parent" +], +"parameters": { +"parent": { +"description": "The parent (project and location) where the cluster will be created. Specified in the format `projects/*/locations/*`.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1beta1/{+parent}/clusters", +"request": { +"$ref": "CreateClusterRequest" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"delete": { +"description": "Deletes the cluster, including the Kubernetes endpoint and all worker nodes. Firewalls and routes that were configured during cluster creation are also deleted. Other Google Compute Engine resources that might be in use by the cluster, such as load balancer resources, are not deleted if they weren't present when the cluster was initially created.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/clusters/{clustersId}", +"httpMethod": "DELETE", +"id": "container.projects.locations.clusters.delete", +"parameterOrder": [ +"name" +], +"parameters": { +"clusterId": { +"deprecated": true, +"description": "Required. Deprecated. The name of the cluster to delete. This field has been deprecated and replaced by the name field.", +"location": "query", +"type": "string" +}, +"name": { +"description": "The name (project, location, cluster) of the cluster to delete. Specified in the format `projects/*/locations/*/clusters/*`.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/clusters/[^/]+$", +"required": true, +"type": "string" +}, +"projectId": { +"deprecated": true, +"description": "Required. Deprecated. The Google Developers Console [project ID or project number](https://cloud.google.com/resource-manager/docs/creating-managing-projects). This field has been deprecated and replaced by the name field.", +"location": "query", +"type": "string" +}, +"zone": { +"deprecated": true, +"description": "Required. Deprecated. The name of the Google Compute Engine [zone](https://cloud.google.com/compute/docs/zones#available) in which the cluster resides. This field has been deprecated and replaced by the name field.", +"location": "query", +"type": "string" +} +}, +"path": "v1beta1/{+name}", +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"fetchClusterUpgradeInfo": { +"description": "Fetch upgrade information of a specific cluster.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/clusters/{clustersId}:fetchClusterUpgradeInfo", +"httpMethod": "GET", +"id": "container.projects.locations.clusters.fetchClusterUpgradeInfo", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. The name (project, location, cluster) of the cluster to get. Specified in the format `projects/*/locations/*/clusters/*` or `projects/*/zones/*/clusters/*`.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/clusters/[^/]+$", +"required": true, +"type": "string" +}, +"version": { +"description": "API request version that initiates this operation.", +"location": "query", +"type": "string" +} +}, +"path": "v1beta1/{+name}:fetchClusterUpgradeInfo", +"response": { +"$ref": "ClusterUpgradeInfo" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"get": { +"description": "Gets the details for a specific cluster.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/clusters/{clustersId}", +"httpMethod": "GET", +"id": "container.projects.locations.clusters.get", +"parameterOrder": [ +"name" +], +"parameters": { +"clusterId": { +"deprecated": true, +"description": "Required. Deprecated. The name of the cluster to retrieve. This field has been deprecated and replaced by the name field.", +"location": "query", +"type": "string" +}, +"name": { +"description": "The name (project, location, cluster) of the cluster to retrieve. Specified in the format `projects/*/locations/*/clusters/*`.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/clusters/[^/]+$", +"required": true, +"type": "string" +}, +"projectId": { +"deprecated": true, +"description": "Required. Deprecated. The Google Developers Console [project ID or project number](https://cloud.google.com/resource-manager/docs/creating-managing-projects). This field has been deprecated and replaced by the name field.", +"location": "query", +"type": "string" +}, +"zone": { +"deprecated": true, +"description": "Required. Deprecated. The name of the Google Compute Engine [zone](https://cloud.google.com/compute/docs/zones#available) in which the cluster resides. This field has been deprecated and replaced by the name field.", +"location": "query", +"type": "string" +} +}, +"path": "v1beta1/{+name}", +"response": { +"$ref": "Cluster" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"getJwks": { +"description": "Gets the public component of the cluster signing keys in JSON Web Key format.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/clusters/{clustersId}/jwks", +"httpMethod": "GET", +"id": "container.projects.locations.clusters.getJwks", +"parameterOrder": [ +"parent" +], +"parameters": { +"parent": { +"description": "The cluster (project, location, cluster name) to get keys for. Specified in the format `projects/*/locations/*/clusters/*`.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/clusters/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1beta1/{+parent}/jwks", +"response": { +"$ref": "GetJSONWebKeysResponse" +} +}, +"list": { +"description": "Lists all clusters owned by a project in either the specified zone or all zones.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/clusters", +"httpMethod": "GET", +"id": "container.projects.locations.clusters.list", +"parameterOrder": [ +"parent" +], +"parameters": { +"parent": { +"description": "The parent (project and location) where the clusters will be listed. Specified in the format `projects/*/locations/*`. Location \"-\" matches all zones and all regions.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+$", +"required": true, +"type": "string" +}, +"projectId": { +"deprecated": true, +"description": "Required. Deprecated. The Google Developers Console [project ID or project number](https://cloud.google.com/resource-manager/docs/creating-managing-projects). This field has been deprecated and replaced by the parent field.", +"location": "query", +"type": "string" +}, +"zone": { +"deprecated": true, +"description": "Required. Deprecated. The name of the Google Compute Engine [zone](https://cloud.google.com/compute/docs/zones#available) in which the cluster resides, or \"-\" for all zones. This field has been deprecated and replaced by the parent field.", +"location": "query", +"type": "string" +} +}, +"path": "v1beta1/{+parent}/clusters", +"response": { +"$ref": "ListClustersResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"setAddons": { +"description": "Sets the addons for a specific cluster.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/clusters/{clustersId}:setAddons", +"httpMethod": "POST", +"id": "container.projects.locations.clusters.setAddons", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "The name (project, location, cluster) of the cluster to set addons. Specified in the format `projects/*/locations/*/clusters/*`.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/clusters/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1beta1/{+name}:setAddons", +"request": { +"$ref": "SetAddonsConfigRequest" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"setLegacyAbac": { +"description": "Enables or disables the ABAC authorization mechanism on a cluster.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/clusters/{clustersId}:setLegacyAbac", +"httpMethod": "POST", +"id": "container.projects.locations.clusters.setLegacyAbac", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "The name (project, location, cluster name) of the cluster to set legacy abac. Specified in the format `projects/*/locations/*/clusters/*`.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/clusters/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1beta1/{+name}:setLegacyAbac", +"request": { +"$ref": "SetLegacyAbacRequest" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"setLocations": { +"deprecated": true, +"description": "Sets the locations for a specific cluster. Deprecated. Use [projects.locations.clusters.update](https://cloud.google.com/kubernetes-engine/docs/reference/rest/v1beta1/projects.locations.clusters/update) instead.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/clusters/{clustersId}:setLocations", +"httpMethod": "POST", +"id": "container.projects.locations.clusters.setLocations", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "The name (project, location, cluster) of the cluster to set locations. Specified in the format `projects/*/locations/*/clusters/*`.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/clusters/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1beta1/{+name}:setLocations", +"request": { +"$ref": "SetLocationsRequest" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"setLogging": { +"description": "Sets the logging service for a specific cluster.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/clusters/{clustersId}:setLogging", +"httpMethod": "POST", +"id": "container.projects.locations.clusters.setLogging", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "The name (project, location, cluster) of the cluster to set logging. Specified in the format `projects/*/locations/*/clusters/*`.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/clusters/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1beta1/{+name}:setLogging", +"request": { +"$ref": "SetLoggingServiceRequest" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"setMaintenancePolicy": { +"description": "Sets the maintenance policy for a cluster.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/clusters/{clustersId}:setMaintenancePolicy", +"httpMethod": "POST", +"id": "container.projects.locations.clusters.setMaintenancePolicy", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "The name (project, location, cluster name) of the cluster to set maintenance policy. Specified in the format `projects/*/locations/*/clusters/*`.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/clusters/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1beta1/{+name}:setMaintenancePolicy", +"request": { +"$ref": "SetMaintenancePolicyRequest" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"setMasterAuth": { +"description": "Sets master auth materials. Currently supports changing the admin password or a specific cluster, either via password generation or explicitly setting the password.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/clusters/{clustersId}:setMasterAuth", +"httpMethod": "POST", +"id": "container.projects.locations.clusters.setMasterAuth", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "The name (project, location, cluster) of the cluster to set auth. Specified in the format `projects/*/locations/*/clusters/*`.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/clusters/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1beta1/{+name}:setMasterAuth", +"request": { +"$ref": "SetMasterAuthRequest" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"setMonitoring": { +"description": "Sets the monitoring service for a specific cluster.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/clusters/{clustersId}:setMonitoring", +"httpMethod": "POST", +"id": "container.projects.locations.clusters.setMonitoring", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "The name (project, location, cluster) of the cluster to set monitoring. Specified in the format `projects/*/locations/*/clusters/*`.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/clusters/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1beta1/{+name}:setMonitoring", +"request": { +"$ref": "SetMonitoringServiceRequest" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"setNetworkPolicy": { +"description": "Enables or disables Network Policy for a cluster.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/clusters/{clustersId}:setNetworkPolicy", +"httpMethod": "POST", +"id": "container.projects.locations.clusters.setNetworkPolicy", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "The name (project, location, cluster name) of the cluster to set networking policy. Specified in the format `projects/*/locations/*/clusters/*`.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/clusters/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1beta1/{+name}:setNetworkPolicy", +"request": { +"$ref": "SetNetworkPolicyRequest" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"setResourceLabels": { +"description": "Sets labels on a cluster.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/clusters/{clustersId}:setResourceLabels", +"httpMethod": "POST", +"id": "container.projects.locations.clusters.setResourceLabels", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "The name (project, location, cluster name) of the cluster to set labels. Specified in the format `projects/*/locations/*/clusters/*`.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/clusters/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1beta1/{+name}:setResourceLabels", +"request": { +"$ref": "SetLabelsRequest" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"startIpRotation": { +"description": "Starts master IP rotation.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/clusters/{clustersId}:startIpRotation", +"httpMethod": "POST", +"id": "container.projects.locations.clusters.startIpRotation", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "The name (project, location, cluster name) of the cluster to start IP rotation. Specified in the format `projects/*/locations/*/clusters/*`.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/clusters/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1beta1/{+name}:startIpRotation", +"request": { +"$ref": "StartIPRotationRequest" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"update": { +"description": "Updates the settings for a specific cluster.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/clusters/{clustersId}", +"httpMethod": "PUT", +"id": "container.projects.locations.clusters.update", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "The name (project, location, cluster) of the cluster to update. Specified in the format `projects/*/locations/*/clusters/*`.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/clusters/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1beta1/{+name}", +"request": { +"$ref": "UpdateClusterRequest" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"updateMaster": { +"description": "Updates the master for a specific cluster.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/clusters/{clustersId}:updateMaster", +"httpMethod": "POST", +"id": "container.projects.locations.clusters.updateMaster", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "The name (project, location, cluster) of the cluster to update. Specified in the format `projects/*/locations/*/clusters/*`.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/clusters/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1beta1/{+name}:updateMaster", +"request": { +"$ref": "UpdateMasterRequest" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +} +}, +"resources": { +"nodePools": { +"methods": { +"completeUpgrade": { +"description": "CompleteNodePoolUpgrade will signal an on-going node pool upgrade to complete.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/clusters/{clustersId}/nodePools/{nodePoolsId}:completeUpgrade", +"httpMethod": "POST", +"id": "container.projects.locations.clusters.nodePools.completeUpgrade", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "The name (project, location, cluster, node pool id) of the node pool to complete upgrade. Specified in the format `projects/*/locations/*/clusters/*/nodePools/*`.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/clusters/[^/]+/nodePools/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1beta1/{+name}:completeUpgrade", +"request": { +"$ref": "CompleteNodePoolUpgradeRequest" +}, +"response": { +"$ref": "Empty" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"create": { +"description": "Creates a node pool for a cluster.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/clusters/{clustersId}/nodePools", +"httpMethod": "POST", +"id": "container.projects.locations.clusters.nodePools.create", +"parameterOrder": [ +"parent" +], +"parameters": { +"parent": { +"description": "The parent (project, location, cluster name) where the node pool will be created. Specified in the format `projects/*/locations/*/clusters/*`.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/clusters/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1beta1/{+parent}/nodePools", +"request": { +"$ref": "CreateNodePoolRequest" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"delete": { +"description": "Deletes a node pool from a cluster.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/clusters/{clustersId}/nodePools/{nodePoolsId}", +"httpMethod": "DELETE", +"id": "container.projects.locations.clusters.nodePools.delete", +"parameterOrder": [ +"name" +], +"parameters": { +"clusterId": { +"deprecated": true, +"description": "Required. Deprecated. The name of the cluster. This field has been deprecated and replaced by the name field.", +"location": "query", +"type": "string" +}, +"name": { +"description": "The name (project, location, cluster, node pool id) of the node pool to delete. Specified in the format `projects/*/locations/*/clusters/*/nodePools/*`.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/clusters/[^/]+/nodePools/[^/]+$", +"required": true, +"type": "string" +}, +"nodePoolId": { +"deprecated": true, +"description": "Required. Deprecated. The name of the node pool to delete. This field has been deprecated and replaced by the name field.", +"location": "query", +"type": "string" +}, +"projectId": { +"deprecated": true, +"description": "Required. Deprecated. The Google Developers Console [project ID or project number](https://cloud.google.com/resource-manager/docs/creating-managing-projects). This field has been deprecated and replaced by the name field.", +"location": "query", +"type": "string" +}, +"zone": { +"deprecated": true, +"description": "Required. Deprecated. The name of the Google Compute Engine [zone](https://cloud.google.com/compute/docs/zones#available) in which the cluster resides. This field has been deprecated and replaced by the name field.", +"location": "query", +"type": "string" +} +}, +"path": "v1beta1/{+name}", +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"fetchNodePoolUpgradeInfo": { +"description": "Fetch upgrade information of a specific nodepool.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/clusters/{clustersId}/nodePools/{nodePoolsId}:fetchNodePoolUpgradeInfo", +"httpMethod": "GET", +"id": "container.projects.locations.clusters.nodePools.fetchNodePoolUpgradeInfo", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. The name (project, location, cluster, nodepool) of the nodepool to get. Specified in the format `projects/*/locations/*/clusters/*/nodePools/*` or `projects/*/zones/*/clusters/*/nodePools/*`.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/clusters/[^/]+/nodePools/[^/]+$", +"required": true, +"type": "string" +}, +"version": { +"description": "API request version that initiates this operation.", +"location": "query", +"type": "string" +} +}, +"path": "v1beta1/{+name}:fetchNodePoolUpgradeInfo", +"response": { +"$ref": "NodePoolUpgradeInfo" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"get": { +"description": "Retrieves the requested node pool.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/clusters/{clustersId}/nodePools/{nodePoolsId}", +"httpMethod": "GET", +"id": "container.projects.locations.clusters.nodePools.get", +"parameterOrder": [ +"name" +], +"parameters": { +"clusterId": { +"deprecated": true, +"description": "Required. Deprecated. The name of the cluster. This field has been deprecated and replaced by the name field.", +"location": "query", +"type": "string" +}, +"name": { +"description": "The name (project, location, cluster, node pool id) of the node pool to get. Specified in the format `projects/*/locations/*/clusters/*/nodePools/*`.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/clusters/[^/]+/nodePools/[^/]+$", +"required": true, +"type": "string" +}, +"nodePoolId": { +"deprecated": true, +"description": "Required. Deprecated. The name of the node pool. This field has been deprecated and replaced by the name field.", +"location": "query", +"type": "string" +}, +"projectId": { +"deprecated": true, +"description": "Required. Deprecated. The Google Developers Console [project ID or project number](https://cloud.google.com/resource-manager/docs/creating-managing-projects). This field has been deprecated and replaced by the name field.", +"location": "query", +"type": "string" +}, +"zone": { +"deprecated": true, +"description": "Required. Deprecated. The name of the Google Compute Engine [zone](https://cloud.google.com/compute/docs/zones#available) in which the cluster resides. This field has been deprecated and replaced by the name field.", +"location": "query", +"type": "string" +} +}, +"path": "v1beta1/{+name}", +"response": { +"$ref": "NodePool" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"list": { +"description": "Lists the node pools for a cluster.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/clusters/{clustersId}/nodePools", +"httpMethod": "GET", +"id": "container.projects.locations.clusters.nodePools.list", +"parameterOrder": [ +"parent" +], +"parameters": { +"clusterId": { +"deprecated": true, +"description": "Required. Deprecated. The name of the cluster. This field has been deprecated and replaced by the parent field.", +"location": "query", +"type": "string" +}, +"parent": { +"description": "The parent (project, location, cluster name) where the node pools will be listed. Specified in the format `projects/*/locations/*/clusters/*`.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/clusters/[^/]+$", +"required": true, +"type": "string" +}, +"projectId": { +"deprecated": true, +"description": "Required. Deprecated. The Google Developers Console [project ID or project number](https://cloud.google.com/resource-manager/docs/creating-managing-projects). This field has been deprecated and replaced by the parent field.", +"location": "query", +"type": "string" +}, +"zone": { +"deprecated": true, +"description": "Required. Deprecated. The name of the Google Compute Engine [zone](https://cloud.google.com/compute/docs/zones#available) in which the cluster resides. This field has been deprecated and replaced by the parent field.", +"location": "query", +"type": "string" +} +}, +"path": "v1beta1/{+parent}/nodePools", +"response": { +"$ref": "ListNodePoolsResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"rollback": { +"description": "Rolls back a previously Aborted or Failed NodePool upgrade. This makes no changes if the last upgrade successfully completed.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/clusters/{clustersId}/nodePools/{nodePoolsId}:rollback", +"httpMethod": "POST", +"id": "container.projects.locations.clusters.nodePools.rollback", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "The name (project, location, cluster, node pool id) of the node poll to rollback upgrade. Specified in the format `projects/*/locations/*/clusters/*/nodePools/*`.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/clusters/[^/]+/nodePools/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1beta1/{+name}:rollback", +"request": { +"$ref": "RollbackNodePoolUpgradeRequest" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"setAutoscaling": { +"description": "Sets the autoscaling settings of a specific node pool.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/clusters/{clustersId}/nodePools/{nodePoolsId}:setAutoscaling", +"httpMethod": "POST", +"id": "container.projects.locations.clusters.nodePools.setAutoscaling", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "The name (project, location, cluster, node pool) of the node pool to set autoscaler settings. Specified in the format `projects/*/locations/*/clusters/*/nodePools/*`.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/clusters/[^/]+/nodePools/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1beta1/{+name}:setAutoscaling", +"request": { +"$ref": "SetNodePoolAutoscalingRequest" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"setManagement": { +"description": "Sets the NodeManagement options for a node pool.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/clusters/{clustersId}/nodePools/{nodePoolsId}:setManagement", +"httpMethod": "POST", +"id": "container.projects.locations.clusters.nodePools.setManagement", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "The name (project, location, cluster, node pool id) of the node pool to set management properties. Specified in the format `projects/*/locations/*/clusters/*/nodePools/*`.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/clusters/[^/]+/nodePools/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1beta1/{+name}:setManagement", +"request": { +"$ref": "SetNodePoolManagementRequest" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"setSize": { +"description": "SetNodePoolSizeRequest sets the size of a node pool. The new size will be used for all replicas, including future replicas created by modifying NodePool.locations.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/clusters/{clustersId}/nodePools/{nodePoolsId}:setSize", +"httpMethod": "POST", +"id": "container.projects.locations.clusters.nodePools.setSize", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "The name (project, location, cluster, node pool id) of the node pool to set size. Specified in the format `projects/*/locations/*/clusters/*/nodePools/*`.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/clusters/[^/]+/nodePools/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1beta1/{+name}:setSize", +"request": { +"$ref": "SetNodePoolSizeRequest" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"update": { +"description": "Updates the version and/or image type of a specific node pool.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/clusters/{clustersId}/nodePools/{nodePoolsId}", +"httpMethod": "PUT", +"id": "container.projects.locations.clusters.nodePools.update", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "The name (project, location, cluster, node pool) of the node pool to update. Specified in the format `projects/*/locations/*/clusters/*/nodePools/*`.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/clusters/[^/]+/nodePools/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1beta1/{+name}", +"request": { +"$ref": "UpdateNodePoolRequest" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +} +} +}, +"well-known": { +"methods": { +"getOpenid-configuration": { +"description": "Gets the OIDC discovery document for the cluster. See the [OpenID Connect Discovery 1.0 specification](https://openid.net/specs/openid-connect-discovery-1_0.html) for details.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/clusters/{clustersId}/.well-known/openid-configuration", +"httpMethod": "GET", +"id": "container.projects.locations.clusters.well-known.getOpenid-configuration", +"parameterOrder": [ +"parent" +], +"parameters": { +"parent": { +"description": "The cluster (project, location, cluster name) to get the discovery document for. Specified in the format `projects/*/locations/*/clusters/*`.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/clusters/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1beta1/{+parent}/.well-known/openid-configuration", +"response": { +"$ref": "GetOpenIDConfigResponse" +} +} +} +} +} +}, +"operations": { +"methods": { +"cancel": { +"description": "Cancels the specified operation.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/operations/{operationsId}:cancel", +"httpMethod": "POST", +"id": "container.projects.locations.operations.cancel", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "The name (project, location, operation id) of the operation to cancel. Specified in the format `projects/*/locations/*/operations/*`.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/operations/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1beta1/{+name}:cancel", +"request": { +"$ref": "CancelOperationRequest" +}, +"response": { +"$ref": "Empty" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"get": { +"description": "Gets the specified operation.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/operations/{operationsId}", +"httpMethod": "GET", +"id": "container.projects.locations.operations.get", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "The name (project, location, operation id) of the operation to get. Specified in the format `projects/*/locations/*/operations/*`.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/operations/[^/]+$", +"required": true, +"type": "string" +}, +"operationId": { +"deprecated": true, +"description": "Required. Deprecated. The server-assigned `name` of the operation. This field has been deprecated and replaced by the name field.", +"location": "query", +"type": "string" +}, +"projectId": { +"deprecated": true, +"description": "Required. Deprecated. The Google Developers Console [project ID or project number](https://cloud.google.com/resource-manager/docs/creating-managing-projects). This field has been deprecated and replaced by the name field.", +"location": "query", +"type": "string" +}, +"zone": { +"deprecated": true, +"description": "Required. Deprecated. The name of the Google Compute Engine [zone](https://cloud.google.com/compute/docs/zones#available) in which the cluster resides. This field has been deprecated and replaced by the name field.", +"location": "query", +"type": "string" +} +}, +"path": "v1beta1/{+name}", +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"list": { +"description": "Lists all operations in a project in the specified zone or all zones.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/operations", +"httpMethod": "GET", +"id": "container.projects.locations.operations.list", +"parameterOrder": [ +"parent" +], +"parameters": { +"parent": { +"description": "The parent (project and location) where the operations will be listed. Specified in the format `projects/*/locations/*`. Location \"-\" matches all zones and all regions.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+$", +"required": true, +"type": "string" +}, +"projectId": { +"deprecated": true, +"description": "Required. Deprecated. The Google Developers Console [project ID or project number](https://cloud.google.com/resource-manager/docs/creating-managing-projects). This field has been deprecated and replaced by the parent field.", +"location": "query", +"type": "string" +}, +"zone": { +"deprecated": true, +"description": "Required. Deprecated. The name of the Google Compute Engine [zone](https://cloud.google.com/compute/docs/zones#available) to return operations for, or `-` for all zones. This field has been deprecated and replaced by the parent field.", +"location": "query", +"type": "string" +} +}, +"path": "v1beta1/{+parent}/operations", +"response": { +"$ref": "ListOperationsResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +} +} +} +} +}, +"zones": { +"methods": { +"getServerconfig": { +"description": "Returns configuration info about the Google Kubernetes Engine service.", +"flatPath": "v1beta1/projects/{projectId}/zones/{zone}/serverconfig", +"httpMethod": "GET", +"id": "container.projects.zones.getServerconfig", +"parameterOrder": [ +"projectId", +"zone" +], +"parameters": { +"name": { +"description": "The name (project and location) of the server config to get, specified in the format `projects/*/locations/*`.", +"location": "query", +"type": "string" +}, +"projectId": { +"description": "Required. Deprecated. The Google Developers Console [project ID or project number](https://cloud.google.com/resource-manager/docs/creating-managing-projects). This field has been deprecated and replaced by the name field.", +"location": "path", +"required": true, +"type": "string" +}, +"zone": { +"description": "Required. Deprecated. The name of the Google Compute Engine [zone](https://cloud.google.com/compute/docs/zones#available) to return operations for. This field has been deprecated and replaced by the name field.", +"location": "path", +"required": true, +"type": "string" +} +}, +"path": "v1beta1/projects/{projectId}/zones/{zone}/serverconfig", +"response": { +"$ref": "ServerConfig" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +} +}, +"resources": { +"clusters": { +"methods": { +"addons": { +"description": "Sets the addons for a specific cluster.", +"flatPath": "v1beta1/projects/{projectId}/zones/{zone}/clusters/{clusterId}/addons", +"httpMethod": "POST", +"id": "container.projects.zones.clusters.addons", +"parameterOrder": [ +"projectId", +"zone", +"clusterId" +], +"parameters": { +"clusterId": { +"description": "Required. Deprecated. The name of the cluster to upgrade. This field has been deprecated and replaced by the name field.", +"location": "path", +"required": true, +"type": "string" +}, +"projectId": { +"description": "Required. Deprecated. The Google Developers Console [project ID or project number](https://cloud.google.com/resource-manager/docs/creating-managing-projects). This field has been deprecated and replaced by the name field.", +"location": "path", +"required": true, +"type": "string" +}, +"zone": { +"description": "Required. Deprecated. The name of the Google Compute Engine [zone](https://cloud.google.com/compute/docs/zones#available) in which the cluster resides. This field has been deprecated and replaced by the name field.", +"location": "path", +"required": true, +"type": "string" +} +}, +"path": "v1beta1/projects/{projectId}/zones/{zone}/clusters/{clusterId}/addons", +"request": { +"$ref": "SetAddonsConfigRequest" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"completeIpRotation": { +"description": "Completes master IP rotation.", +"flatPath": "v1beta1/projects/{projectId}/zones/{zone}/clusters/{clusterId}:completeIpRotation", +"httpMethod": "POST", +"id": "container.projects.zones.clusters.completeIpRotation", +"parameterOrder": [ +"projectId", +"zone", +"clusterId" +], +"parameters": { +"clusterId": { +"description": "Required. Deprecated. The name of the cluster. This field has been deprecated and replaced by the name field.", +"location": "path", +"required": true, +"type": "string" +}, +"projectId": { +"description": "Required. Deprecated. The Google Developers Console [project ID or project number](https://cloud.google.com/resource-manager/docs/creating-managing-projects). This field has been deprecated and replaced by the name field.", +"location": "path", +"required": true, +"type": "string" +}, +"zone": { +"description": "Required. Deprecated. The name of the Google Compute Engine [zone](https://cloud.google.com/compute/docs/zones#available) in which the cluster resides. This field has been deprecated and replaced by the name field.", +"location": "path", +"required": true, +"type": "string" +} +}, +"path": "v1beta1/projects/{projectId}/zones/{zone}/clusters/{clusterId}:completeIpRotation", +"request": { +"$ref": "CompleteIPRotationRequest" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"create": { +"description": "Creates a cluster, consisting of the specified number and type of Google Compute Engine instances. By default, the cluster is created in the project's [default network](https://cloud.google.com/compute/docs/networks-and-firewalls#networks). One firewall is added for the cluster. After cluster creation, the Kubelet creates routes for each node to allow the containers on that node to communicate with all other instances in the cluster. Finally, an entry is added to the project's global metadata indicating which CIDR range the cluster is using.", +"flatPath": "v1beta1/projects/{projectId}/zones/{zone}/clusters", +"httpMethod": "POST", +"id": "container.projects.zones.clusters.create", +"parameterOrder": [ +"projectId", +"zone" +], +"parameters": { +"projectId": { +"description": "Required. Deprecated. The Google Developers Console [project ID or project number](https://cloud.google.com/resource-manager/docs/creating-managing-projects). This field has been deprecated and replaced by the parent field.", +"location": "path", +"required": true, +"type": "string" +}, +"zone": { +"description": "Required. Deprecated. The name of the Google Compute Engine [zone](https://cloud.google.com/compute/docs/zones#available) in which the cluster resides. This field has been deprecated and replaced by the parent field.", +"location": "path", +"required": true, +"type": "string" +} +}, +"path": "v1beta1/projects/{projectId}/zones/{zone}/clusters", +"request": { +"$ref": "CreateClusterRequest" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"delete": { +"description": "Deletes the cluster, including the Kubernetes endpoint and all worker nodes. Firewalls and routes that were configured during cluster creation are also deleted. Other Google Compute Engine resources that might be in use by the cluster, such as load balancer resources, are not deleted if they weren't present when the cluster was initially created.", +"flatPath": "v1beta1/projects/{projectId}/zones/{zone}/clusters/{clusterId}", +"httpMethod": "DELETE", +"id": "container.projects.zones.clusters.delete", +"parameterOrder": [ +"projectId", +"zone", +"clusterId" +], +"parameters": { +"clusterId": { +"description": "Required. Deprecated. The name of the cluster to delete. This field has been deprecated and replaced by the name field.", +"location": "path", +"required": true, +"type": "string" +}, +"name": { +"description": "The name (project, location, cluster) of the cluster to delete. Specified in the format `projects/*/locations/*/clusters/*`.", +"location": "query", +"type": "string" +}, +"projectId": { +"description": "Required. Deprecated. The Google Developers Console [project ID or project number](https://cloud.google.com/resource-manager/docs/creating-managing-projects). This field has been deprecated and replaced by the name field.", +"location": "path", +"required": true, +"type": "string" +}, +"zone": { +"description": "Required. Deprecated. The name of the Google Compute Engine [zone](https://cloud.google.com/compute/docs/zones#available) in which the cluster resides. This field has been deprecated and replaced by the name field.", +"location": "path", +"required": true, +"type": "string" +} +}, +"path": "v1beta1/projects/{projectId}/zones/{zone}/clusters/{clusterId}", +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"fetchClusterUpgradeInfo": { +"description": "Fetch upgrade information of a specific cluster.", +"flatPath": "v1beta1/projects/{projectsId}/zones/{zonesId}/clusters/{clustersId}:fetchClusterUpgradeInfo", +"httpMethod": "GET", +"id": "container.projects.zones.clusters.fetchClusterUpgradeInfo", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. The name (project, location, cluster) of the cluster to get. Specified in the format `projects/*/locations/*/clusters/*` or `projects/*/zones/*/clusters/*`.", +"location": "path", +"pattern": "^projects/[^/]+/zones/[^/]+/clusters/[^/]+$", +"required": true, +"type": "string" +}, +"version": { +"description": "API request version that initiates this operation.", +"location": "query", +"type": "string" +} +}, +"path": "v1beta1/{+name}:fetchClusterUpgradeInfo", +"response": { +"$ref": "ClusterUpgradeInfo" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"get": { +"description": "Gets the details for a specific cluster.", +"flatPath": "v1beta1/projects/{projectId}/zones/{zone}/clusters/{clusterId}", +"httpMethod": "GET", +"id": "container.projects.zones.clusters.get", +"parameterOrder": [ +"projectId", +"zone", +"clusterId" +], +"parameters": { +"clusterId": { +"description": "Required. Deprecated. The name of the cluster to retrieve. This field has been deprecated and replaced by the name field.", +"location": "path", +"required": true, +"type": "string" +}, +"name": { +"description": "The name (project, location, cluster) of the cluster to retrieve. Specified in the format `projects/*/locations/*/clusters/*`.", +"location": "query", +"type": "string" +}, +"projectId": { +"description": "Required. Deprecated. The Google Developers Console [project ID or project number](https://cloud.google.com/resource-manager/docs/creating-managing-projects). This field has been deprecated and replaced by the name field.", +"location": "path", +"required": true, +"type": "string" +}, +"zone": { +"description": "Required. Deprecated. The name of the Google Compute Engine [zone](https://cloud.google.com/compute/docs/zones#available) in which the cluster resides. This field has been deprecated and replaced by the name field.", +"location": "path", +"required": true, +"type": "string" +} +}, +"path": "v1beta1/projects/{projectId}/zones/{zone}/clusters/{clusterId}", +"response": { +"$ref": "Cluster" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"legacyAbac": { +"description": "Enables or disables the ABAC authorization mechanism on a cluster.", +"flatPath": "v1beta1/projects/{projectId}/zones/{zone}/clusters/{clusterId}/legacyAbac", +"httpMethod": "POST", +"id": "container.projects.zones.clusters.legacyAbac", +"parameterOrder": [ +"projectId", +"zone", +"clusterId" +], +"parameters": { +"clusterId": { +"description": "Required. Deprecated. The name of the cluster to update. This field has been deprecated and replaced by the name field.", +"location": "path", +"required": true, +"type": "string" +}, +"projectId": { +"description": "Required. Deprecated. The Google Developers Console [project ID or project number](https://cloud.google.com/resource-manager/docs/creating-managing-projects). This field has been deprecated and replaced by the name field.", +"location": "path", +"required": true, +"type": "string" +}, +"zone": { +"description": "Required. Deprecated. The name of the Google Compute Engine [zone](https://cloud.google.com/compute/docs/zones#available) in which the cluster resides. This field has been deprecated and replaced by the name field.", +"location": "path", +"required": true, +"type": "string" +} +}, +"path": "v1beta1/projects/{projectId}/zones/{zone}/clusters/{clusterId}/legacyAbac", +"request": { +"$ref": "SetLegacyAbacRequest" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"list": { +"description": "Lists all clusters owned by a project in either the specified zone or all zones.", +"flatPath": "v1beta1/projects/{projectId}/zones/{zone}/clusters", +"httpMethod": "GET", +"id": "container.projects.zones.clusters.list", +"parameterOrder": [ +"projectId", +"zone" +], +"parameters": { +"parent": { +"description": "The parent (project and location) where the clusters will be listed. Specified in the format `projects/*/locations/*`. Location \"-\" matches all zones and all regions.", +"location": "query", +"type": "string" +}, +"projectId": { +"description": "Required. Deprecated. The Google Developers Console [project ID or project number](https://cloud.google.com/resource-manager/docs/creating-managing-projects). This field has been deprecated and replaced by the parent field.", +"location": "path", +"required": true, +"type": "string" +}, +"zone": { +"description": "Required. Deprecated. The name of the Google Compute Engine [zone](https://cloud.google.com/compute/docs/zones#available) in which the cluster resides, or \"-\" for all zones. This field has been deprecated and replaced by the parent field.", +"location": "path", +"required": true, +"type": "string" +} +}, +"path": "v1beta1/projects/{projectId}/zones/{zone}/clusters", +"response": { +"$ref": "ListClustersResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"locations": { +"deprecated": true, +"description": "Sets the locations for a specific cluster. Deprecated. Use [projects.locations.clusters.update](https://cloud.google.com/kubernetes-engine/docs/reference/rest/v1beta1/projects.locations.clusters/update) instead.", +"flatPath": "v1beta1/projects/{projectId}/zones/{zone}/clusters/{clusterId}/locations", +"httpMethod": "POST", +"id": "container.projects.zones.clusters.locations", +"parameterOrder": [ +"projectId", +"zone", +"clusterId" +], +"parameters": { +"clusterId": { +"description": "Required. Deprecated. The name of the cluster to upgrade. This field has been deprecated and replaced by the name field.", +"location": "path", +"required": true, +"type": "string" +}, +"projectId": { +"description": "Required. Deprecated. The Google Developers Console [project ID or project number](https://cloud.google.com/resource-manager/docs/creating-managing-projects). This field has been deprecated and replaced by the name field.", +"location": "path", +"required": true, +"type": "string" +}, +"zone": { +"description": "Required. Deprecated. The name of the Google Compute Engine [zone](https://cloud.google.com/compute/docs/zones#available) in which the cluster resides. This field has been deprecated and replaced by the name field.", +"location": "path", +"required": true, +"type": "string" +} +}, +"path": "v1beta1/projects/{projectId}/zones/{zone}/clusters/{clusterId}/locations", +"request": { +"$ref": "SetLocationsRequest" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"logging": { +"description": "Sets the logging service for a specific cluster.", +"flatPath": "v1beta1/projects/{projectId}/zones/{zone}/clusters/{clusterId}/logging", +"httpMethod": "POST", +"id": "container.projects.zones.clusters.logging", +"parameterOrder": [ +"projectId", +"zone", +"clusterId" +], +"parameters": { +"clusterId": { +"description": "Required. Deprecated. The name of the cluster to upgrade. This field has been deprecated and replaced by the name field.", +"location": "path", +"required": true, +"type": "string" +}, +"projectId": { +"description": "Required. Deprecated. The Google Developers Console [project ID or project number](https://cloud.google.com/resource-manager/docs/creating-managing-projects). This field has been deprecated and replaced by the name field.", +"location": "path", +"required": true, +"type": "string" +}, +"zone": { +"description": "Required. Deprecated. The name of the Google Compute Engine [zone](https://cloud.google.com/compute/docs/zones#available) in which the cluster resides. This field has been deprecated and replaced by the name field.", +"location": "path", +"required": true, +"type": "string" +} +}, +"path": "v1beta1/projects/{projectId}/zones/{zone}/clusters/{clusterId}/logging", +"request": { +"$ref": "SetLoggingServiceRequest" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"master": { +"description": "Updates the master for a specific cluster.", +"flatPath": "v1beta1/projects/{projectId}/zones/{zone}/clusters/{clusterId}/master", +"httpMethod": "POST", +"id": "container.projects.zones.clusters.master", +"parameterOrder": [ +"projectId", +"zone", +"clusterId" +], +"parameters": { +"clusterId": { +"description": "Required. Deprecated. The name of the cluster to upgrade. This field has been deprecated and replaced by the name field.", +"location": "path", +"required": true, +"type": "string" +}, +"projectId": { +"description": "Required. Deprecated. The Google Developers Console [project ID or project number](https://cloud.google.com/resource-manager/docs/creating-managing-projects). This field has been deprecated and replaced by the name field.", +"location": "path", +"required": true, +"type": "string" +}, +"zone": { +"description": "Required. Deprecated. The name of the Google Compute Engine [zone](https://cloud.google.com/compute/docs/zones#available) in which the cluster resides. This field has been deprecated and replaced by the name field.", +"location": "path", +"required": true, +"type": "string" +} +}, +"path": "v1beta1/projects/{projectId}/zones/{zone}/clusters/{clusterId}/master", +"request": { +"$ref": "UpdateMasterRequest" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"monitoring": { +"description": "Sets the monitoring service for a specific cluster.", +"flatPath": "v1beta1/projects/{projectId}/zones/{zone}/clusters/{clusterId}/monitoring", +"httpMethod": "POST", +"id": "container.projects.zones.clusters.monitoring", +"parameterOrder": [ +"projectId", +"zone", +"clusterId" +], +"parameters": { +"clusterId": { +"description": "Required. Deprecated. The name of the cluster to upgrade. This field has been deprecated and replaced by the name field.", +"location": "path", +"required": true, +"type": "string" +}, +"projectId": { +"description": "Required. Deprecated. The Google Developers Console [project ID or project number](https://cloud.google.com/resource-manager/docs/creating-managing-projects). This field has been deprecated and replaced by the name field.", +"location": "path", +"required": true, +"type": "string" +}, +"zone": { +"description": "Required. Deprecated. The name of the Google Compute Engine [zone](https://cloud.google.com/compute/docs/zones#available) in which the cluster resides. This field has been deprecated and replaced by the name field.", +"location": "path", +"required": true, +"type": "string" +} +}, +"path": "v1beta1/projects/{projectId}/zones/{zone}/clusters/{clusterId}/monitoring", +"request": { +"$ref": "SetMonitoringServiceRequest" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"resourceLabels": { +"description": "Sets labels on a cluster.", +"flatPath": "v1beta1/projects/{projectId}/zones/{zone}/clusters/{clusterId}/resourceLabels", +"httpMethod": "POST", +"id": "container.projects.zones.clusters.resourceLabels", +"parameterOrder": [ +"projectId", +"zone", +"clusterId" +], +"parameters": { +"clusterId": { +"description": "Required. Deprecated. The name of the cluster. This field has been deprecated and replaced by the name field.", +"location": "path", +"required": true, +"type": "string" +}, +"projectId": { +"description": "Required. Deprecated. The Google Developers Console [project ID or project number](https://cloud.google.com/resource-manager/docs/creating-managing-projects). This field has been deprecated and replaced by the name field.", +"location": "path", +"required": true, +"type": "string" +}, +"zone": { +"description": "Required. Deprecated. The name of the Google Compute Engine [zone](https://cloud.google.com/compute/docs/zones#available) in which the cluster resides. This field has been deprecated and replaced by the name field.", +"location": "path", +"required": true, +"type": "string" +} +}, +"path": "v1beta1/projects/{projectId}/zones/{zone}/clusters/{clusterId}/resourceLabels", +"request": { +"$ref": "SetLabelsRequest" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"setMaintenancePolicy": { +"description": "Sets the maintenance policy for a cluster.", +"flatPath": "v1beta1/projects/{projectId}/zones/{zone}/clusters/{clusterId}:setMaintenancePolicy", +"httpMethod": "POST", +"id": "container.projects.zones.clusters.setMaintenancePolicy", +"parameterOrder": [ +"projectId", +"zone", +"clusterId" +], +"parameters": { +"clusterId": { +"description": "Required. The name of the cluster to update.", +"location": "path", +"required": true, +"type": "string" +}, +"projectId": { +"description": "Required. The Google Developers Console [project ID or project number](https://cloud.google.com/resource-manager/docs/creating-managing-projects).", +"location": "path", +"required": true, +"type": "string" +}, +"zone": { +"description": "Required. The name of the Google Compute Engine [zone](https://cloud.google.com/compute/docs/zones#available) in which the cluster resides.", +"location": "path", +"required": true, +"type": "string" +} +}, +"path": "v1beta1/projects/{projectId}/zones/{zone}/clusters/{clusterId}:setMaintenancePolicy", +"request": { +"$ref": "SetMaintenancePolicyRequest" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"setMasterAuth": { +"description": "Sets master auth materials. Currently supports changing the admin password or a specific cluster, either via password generation or explicitly setting the password.", +"flatPath": "v1beta1/projects/{projectId}/zones/{zone}/clusters/{clusterId}:setMasterAuth", +"httpMethod": "POST", +"id": "container.projects.zones.clusters.setMasterAuth", +"parameterOrder": [ +"projectId", +"zone", +"clusterId" +], +"parameters": { +"clusterId": { +"description": "Required. Deprecated. The name of the cluster to upgrade. This field has been deprecated and replaced by the name field.", +"location": "path", +"required": true, +"type": "string" +}, +"projectId": { +"description": "Required. Deprecated. The Google Developers Console [project ID or project number](https://cloud.google.com/resource-manager/docs/creating-managing-projects). This field has been deprecated and replaced by the name field.", +"location": "path", +"required": true, +"type": "string" +}, +"zone": { +"description": "Required. Deprecated. The name of the Google Compute Engine [zone](https://cloud.google.com/compute/docs/zones#available) in which the cluster resides. This field has been deprecated and replaced by the name field.", +"location": "path", +"required": true, +"type": "string" +} +}, +"path": "v1beta1/projects/{projectId}/zones/{zone}/clusters/{clusterId}:setMasterAuth", +"request": { +"$ref": "SetMasterAuthRequest" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"setNetworkPolicy": { +"description": "Enables or disables Network Policy for a cluster.", +"flatPath": "v1beta1/projects/{projectId}/zones/{zone}/clusters/{clusterId}:setNetworkPolicy", +"httpMethod": "POST", +"id": "container.projects.zones.clusters.setNetworkPolicy", +"parameterOrder": [ +"projectId", +"zone", +"clusterId" +], +"parameters": { +"clusterId": { +"description": "Required. Deprecated. The name of the cluster. This field has been deprecated and replaced by the name field.", +"location": "path", +"required": true, +"type": "string" +}, +"projectId": { +"description": "Required. Deprecated. The Google Developers Console [project ID or project number](https://cloud.google.com/resource-manager/docs/creating-managing-projects). This field has been deprecated and replaced by the name field.", +"location": "path", +"required": true, +"type": "string" +}, +"zone": { +"description": "Required. Deprecated. The name of the Google Compute Engine [zone](https://cloud.google.com/compute/docs/zones#available) in which the cluster resides. This field has been deprecated and replaced by the name field.", +"location": "path", +"required": true, +"type": "string" +} +}, +"path": "v1beta1/projects/{projectId}/zones/{zone}/clusters/{clusterId}:setNetworkPolicy", +"request": { +"$ref": "SetNetworkPolicyRequest" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"startIpRotation": { +"description": "Starts master IP rotation.", +"flatPath": "v1beta1/projects/{projectId}/zones/{zone}/clusters/{clusterId}:startIpRotation", +"httpMethod": "POST", +"id": "container.projects.zones.clusters.startIpRotation", +"parameterOrder": [ +"projectId", +"zone", +"clusterId" +], +"parameters": { +"clusterId": { +"description": "Required. Deprecated. The name of the cluster. This field has been deprecated and replaced by the name field.", +"location": "path", +"required": true, +"type": "string" +}, +"projectId": { +"description": "Required. Deprecated. The Google Developers Console [project ID or project number](https://cloud.google.com/resource-manager/docs/creating-managing-projects). This field has been deprecated and replaced by the name field.", +"location": "path", +"required": true, +"type": "string" +}, +"zone": { +"description": "Required. Deprecated. The name of the Google Compute Engine [zone](https://cloud.google.com/compute/docs/zones#available) in which the cluster resides. This field has been deprecated and replaced by the name field.", +"location": "path", +"required": true, +"type": "string" +} +}, +"path": "v1beta1/projects/{projectId}/zones/{zone}/clusters/{clusterId}:startIpRotation", +"request": { +"$ref": "StartIPRotationRequest" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"update": { +"description": "Updates the settings for a specific cluster.", +"flatPath": "v1beta1/projects/{projectId}/zones/{zone}/clusters/{clusterId}", +"httpMethod": "PUT", +"id": "container.projects.zones.clusters.update", +"parameterOrder": [ +"projectId", +"zone", +"clusterId" +], +"parameters": { +"clusterId": { +"description": "Required. Deprecated. The name of the cluster to upgrade. This field has been deprecated and replaced by the name field.", +"location": "path", +"required": true, +"type": "string" +}, +"projectId": { +"description": "Required. Deprecated. The Google Developers Console [project ID or project number](https://cloud.google.com/resource-manager/docs/creating-managing-projects). This field has been deprecated and replaced by the name field.", +"location": "path", +"required": true, +"type": "string" +}, +"zone": { +"description": "Required. Deprecated. The name of the Google Compute Engine [zone](https://cloud.google.com/compute/docs/zones#available) in which the cluster resides. This field has been deprecated and replaced by the name field.", +"location": "path", +"required": true, +"type": "string" +} +}, +"path": "v1beta1/projects/{projectId}/zones/{zone}/clusters/{clusterId}", +"request": { +"$ref": "UpdateClusterRequest" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +} +}, +"resources": { +"nodePools": { +"methods": { +"autoscaling": { +"description": "Sets the autoscaling settings of a specific node pool.", +"flatPath": "v1beta1/projects/{projectId}/zones/{zone}/clusters/{clusterId}/nodePools/{nodePoolId}/autoscaling", +"httpMethod": "POST", +"id": "container.projects.zones.clusters.nodePools.autoscaling", +"parameterOrder": [ +"projectId", +"zone", +"clusterId", +"nodePoolId" +], +"parameters": { +"clusterId": { +"description": "Required. Deprecated. The name of the cluster to upgrade. This field has been deprecated and replaced by the name field.", +"location": "path", +"required": true, +"type": "string" +}, +"nodePoolId": { +"description": "Required. Deprecated. The name of the node pool to upgrade. This field has been deprecated and replaced by the name field.", +"location": "path", +"required": true, +"type": "string" +}, +"projectId": { +"description": "Required. Deprecated. The Google Developers Console [project ID or project number](https://cloud.google.com/resource-manager/docs/creating-managing-projects). This field has been deprecated and replaced by the name field.", +"location": "path", +"required": true, +"type": "string" +}, +"zone": { +"description": "Required. Deprecated. The name of the Google Compute Engine [zone](https://cloud.google.com/compute/docs/zones#available) in which the cluster resides. This field has been deprecated and replaced by the name field.", +"location": "path", +"required": true, +"type": "string" +} +}, +"path": "v1beta1/projects/{projectId}/zones/{zone}/clusters/{clusterId}/nodePools/{nodePoolId}/autoscaling", +"request": { +"$ref": "SetNodePoolAutoscalingRequest" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"create": { +"description": "Creates a node pool for a cluster.", +"flatPath": "v1beta1/projects/{projectId}/zones/{zone}/clusters/{clusterId}/nodePools", +"httpMethod": "POST", +"id": "container.projects.zones.clusters.nodePools.create", +"parameterOrder": [ +"projectId", +"zone", +"clusterId" +], +"parameters": { +"clusterId": { +"description": "Required. Deprecated. The name of the cluster. This field has been deprecated and replaced by the parent field.", +"location": "path", +"required": true, +"type": "string" +}, +"projectId": { +"description": "Required. Deprecated. The Google Developers Console [project ID or project number](https://cloud.google.com/resource-manager/docs/creating-managing-projects). This field has been deprecated and replaced by the parent field.", +"location": "path", +"required": true, +"type": "string" +}, +"zone": { +"description": "Required. Deprecated. The name of the Google Compute Engine [zone](https://cloud.google.com/compute/docs/zones#available) in which the cluster resides. This field has been deprecated and replaced by the parent field.", +"location": "path", +"required": true, +"type": "string" +} +}, +"path": "v1beta1/projects/{projectId}/zones/{zone}/clusters/{clusterId}/nodePools", +"request": { +"$ref": "CreateNodePoolRequest" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"delete": { +"description": "Deletes a node pool from a cluster.", +"flatPath": "v1beta1/projects/{projectId}/zones/{zone}/clusters/{clusterId}/nodePools/{nodePoolId}", +"httpMethod": "DELETE", +"id": "container.projects.zones.clusters.nodePools.delete", +"parameterOrder": [ +"projectId", +"zone", +"clusterId", +"nodePoolId" +], +"parameters": { +"clusterId": { +"description": "Required. Deprecated. The name of the cluster. This field has been deprecated and replaced by the name field.", +"location": "path", +"required": true, +"type": "string" +}, +"name": { +"description": "The name (project, location, cluster, node pool id) of the node pool to delete. Specified in the format `projects/*/locations/*/clusters/*/nodePools/*`.", +"location": "query", +"type": "string" +}, +"nodePoolId": { +"description": "Required. Deprecated. The name of the node pool to delete. This field has been deprecated and replaced by the name field.", +"location": "path", +"required": true, +"type": "string" +}, +"projectId": { +"description": "Required. Deprecated. The Google Developers Console [project ID or project number](https://cloud.google.com/resource-manager/docs/creating-managing-projects). This field has been deprecated and replaced by the name field.", +"location": "path", +"required": true, +"type": "string" +}, +"zone": { +"description": "Required. Deprecated. The name of the Google Compute Engine [zone](https://cloud.google.com/compute/docs/zones#available) in which the cluster resides. This field has been deprecated and replaced by the name field.", +"location": "path", +"required": true, +"type": "string" +} +}, +"path": "v1beta1/projects/{projectId}/zones/{zone}/clusters/{clusterId}/nodePools/{nodePoolId}", +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"fetchNodePoolUpgradeInfo": { +"description": "Fetch upgrade information of a specific nodepool.", +"flatPath": "v1beta1/projects/{projectsId}/zones/{zonesId}/clusters/{clustersId}/nodePools/{nodePoolsId}:fetchNodePoolUpgradeInfo", +"httpMethod": "GET", +"id": "container.projects.zones.clusters.nodePools.fetchNodePoolUpgradeInfo", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. The name (project, location, cluster, nodepool) of the nodepool to get. Specified in the format `projects/*/locations/*/clusters/*/nodePools/*` or `projects/*/zones/*/clusters/*/nodePools/*`.", +"location": "path", +"pattern": "^projects/[^/]+/zones/[^/]+/clusters/[^/]+/nodePools/[^/]+$", +"required": true, +"type": "string" +}, +"version": { +"description": "API request version that initiates this operation.", +"location": "query", +"type": "string" +} +}, +"path": "v1beta1/{+name}:fetchNodePoolUpgradeInfo", +"response": { +"$ref": "NodePoolUpgradeInfo" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"get": { +"description": "Retrieves the requested node pool.", +"flatPath": "v1beta1/projects/{projectId}/zones/{zone}/clusters/{clusterId}/nodePools/{nodePoolId}", +"httpMethod": "GET", +"id": "container.projects.zones.clusters.nodePools.get", +"parameterOrder": [ +"projectId", +"zone", +"clusterId", +"nodePoolId" +], +"parameters": { +"clusterId": { +"description": "Required. Deprecated. The name of the cluster. This field has been deprecated and replaced by the name field.", +"location": "path", +"required": true, +"type": "string" +}, +"name": { +"description": "The name (project, location, cluster, node pool id) of the node pool to get. Specified in the format `projects/*/locations/*/clusters/*/nodePools/*`.", +"location": "query", +"type": "string" +}, +"nodePoolId": { +"description": "Required. Deprecated. The name of the node pool. This field has been deprecated and replaced by the name field.", +"location": "path", +"required": true, +"type": "string" +}, +"projectId": { +"description": "Required. Deprecated. The Google Developers Console [project ID or project number](https://cloud.google.com/resource-manager/docs/creating-managing-projects). This field has been deprecated and replaced by the name field.", +"location": "path", +"required": true, +"type": "string" +}, +"zone": { +"description": "Required. Deprecated. The name of the Google Compute Engine [zone](https://cloud.google.com/compute/docs/zones#available) in which the cluster resides. This field has been deprecated and replaced by the name field.", +"location": "path", +"required": true, +"type": "string" +} +}, +"path": "v1beta1/projects/{projectId}/zones/{zone}/clusters/{clusterId}/nodePools/{nodePoolId}", +"response": { +"$ref": "NodePool" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"list": { +"description": "Lists the node pools for a cluster.", +"flatPath": "v1beta1/projects/{projectId}/zones/{zone}/clusters/{clusterId}/nodePools", +"httpMethod": "GET", +"id": "container.projects.zones.clusters.nodePools.list", +"parameterOrder": [ +"projectId", +"zone", +"clusterId" +], +"parameters": { +"clusterId": { +"description": "Required. Deprecated. The name of the cluster. This field has been deprecated and replaced by the parent field.", +"location": "path", +"required": true, +"type": "string" +}, +"parent": { +"description": "The parent (project, location, cluster name) where the node pools will be listed. Specified in the format `projects/*/locations/*/clusters/*`.", +"location": "query", +"type": "string" +}, +"projectId": { +"description": "Required. Deprecated. The Google Developers Console [project ID or project number](https://cloud.google.com/resource-manager/docs/creating-managing-projects). This field has been deprecated and replaced by the parent field.", +"location": "path", +"required": true, +"type": "string" +}, +"zone": { +"description": "Required. Deprecated. The name of the Google Compute Engine [zone](https://cloud.google.com/compute/docs/zones#available) in which the cluster resides. This field has been deprecated and replaced by the parent field.", +"location": "path", +"required": true, +"type": "string" +} +}, +"path": "v1beta1/projects/{projectId}/zones/{zone}/clusters/{clusterId}/nodePools", +"response": { +"$ref": "ListNodePoolsResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"rollback": { +"description": "Rolls back a previously Aborted or Failed NodePool upgrade. This makes no changes if the last upgrade successfully completed.", +"flatPath": "v1beta1/projects/{projectId}/zones/{zone}/clusters/{clusterId}/nodePools/{nodePoolId}:rollback", +"httpMethod": "POST", +"id": "container.projects.zones.clusters.nodePools.rollback", +"parameterOrder": [ +"projectId", +"zone", +"clusterId", +"nodePoolId" +], +"parameters": { +"clusterId": { +"description": "Required. Deprecated. The name of the cluster to rollback. This field has been deprecated and replaced by the name field.", +"location": "path", +"required": true, +"type": "string" +}, +"nodePoolId": { +"description": "Required. Deprecated. The name of the node pool to rollback. This field has been deprecated and replaced by the name field.", +"location": "path", +"required": true, +"type": "string" +}, +"projectId": { +"description": "Required. Deprecated. The Google Developers Console [project ID or project number](https://cloud.google.com/resource-manager/docs/creating-managing-projects). This field has been deprecated and replaced by the name field.", +"location": "path", +"required": true, +"type": "string" +}, +"zone": { +"description": "Required. Deprecated. The name of the Google Compute Engine [zone](https://cloud.google.com/compute/docs/zones#available) in which the cluster resides. This field has been deprecated and replaced by the name field.", +"location": "path", +"required": true, +"type": "string" +} +}, +"path": "v1beta1/projects/{projectId}/zones/{zone}/clusters/{clusterId}/nodePools/{nodePoolId}:rollback", +"request": { +"$ref": "RollbackNodePoolUpgradeRequest" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"setManagement": { +"description": "Sets the NodeManagement options for a node pool.", +"flatPath": "v1beta1/projects/{projectId}/zones/{zone}/clusters/{clusterId}/nodePools/{nodePoolId}/setManagement", +"httpMethod": "POST", +"id": "container.projects.zones.clusters.nodePools.setManagement", +"parameterOrder": [ +"projectId", +"zone", +"clusterId", +"nodePoolId" +], +"parameters": { +"clusterId": { +"description": "Required. Deprecated. The name of the cluster to update. This field has been deprecated and replaced by the name field.", +"location": "path", +"required": true, +"type": "string" +}, +"nodePoolId": { +"description": "Required. Deprecated. The name of the node pool to update. This field has been deprecated and replaced by the name field.", +"location": "path", +"required": true, +"type": "string" +}, +"projectId": { +"description": "Required. Deprecated. The Google Developers Console [project ID or project number](https://cloud.google.com/resource-manager/docs/creating-managing-projects). This field has been deprecated and replaced by the name field.", +"location": "path", +"required": true, +"type": "string" +}, +"zone": { +"description": "Required. Deprecated. The name of the Google Compute Engine [zone](https://cloud.google.com/compute/docs/zones#available) in which the cluster resides. This field has been deprecated and replaced by the name field.", +"location": "path", +"required": true, +"type": "string" +} +}, +"path": "v1beta1/projects/{projectId}/zones/{zone}/clusters/{clusterId}/nodePools/{nodePoolId}/setManagement", +"request": { +"$ref": "SetNodePoolManagementRequest" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"setSize": { +"description": "SetNodePoolSizeRequest sets the size of a node pool. The new size will be used for all replicas, including future replicas created by modifying NodePool.locations.", +"flatPath": "v1beta1/projects/{projectId}/zones/{zone}/clusters/{clusterId}/nodePools/{nodePoolId}/setSize", +"httpMethod": "POST", +"id": "container.projects.zones.clusters.nodePools.setSize", +"parameterOrder": [ +"projectId", +"zone", +"clusterId", +"nodePoolId" +], +"parameters": { +"clusterId": { +"description": "Required. Deprecated. The name of the cluster to update. This field has been deprecated and replaced by the name field.", +"location": "path", +"required": true, +"type": "string" +}, +"nodePoolId": { +"description": "Required. Deprecated. The name of the node pool to update. This field has been deprecated and replaced by the name field.", +"location": "path", +"required": true, +"type": "string" +}, +"projectId": { +"description": "Required. Deprecated. The Google Developers Console [project ID or project number](https://cloud.google.com/resource-manager/docs/creating-managing-projects). This field has been deprecated and replaced by the name field.", +"location": "path", +"required": true, +"type": "string" +}, +"zone": { +"description": "Required. Deprecated. The name of the Google Compute Engine [zone](https://cloud.google.com/compute/docs/zones#available) in which the cluster resides. This field has been deprecated and replaced by the name field.", +"location": "path", +"required": true, +"type": "string" +} +}, +"path": "v1beta1/projects/{projectId}/zones/{zone}/clusters/{clusterId}/nodePools/{nodePoolId}/setSize", +"request": { +"$ref": "SetNodePoolSizeRequest" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"update": { +"description": "Updates the version and/or image type of a specific node pool.", +"flatPath": "v1beta1/projects/{projectId}/zones/{zone}/clusters/{clusterId}/nodePools/{nodePoolId}/update", +"httpMethod": "POST", +"id": "container.projects.zones.clusters.nodePools.update", +"parameterOrder": [ +"projectId", +"zone", +"clusterId", +"nodePoolId" +], +"parameters": { +"clusterId": { +"description": "Required. Deprecated. The name of the cluster to upgrade. This field has been deprecated and replaced by the name field.", +"location": "path", +"required": true, +"type": "string" +}, +"nodePoolId": { +"description": "Required. Deprecated. The name of the node pool to upgrade. This field has been deprecated and replaced by the name field.", +"location": "path", +"required": true, +"type": "string" +}, +"projectId": { +"description": "Required. Deprecated. The Google Developers Console [project ID or project number](https://cloud.google.com/resource-manager/docs/creating-managing-projects). This field has been deprecated and replaced by the name field.", +"location": "path", +"required": true, +"type": "string" +}, +"zone": { +"description": "Required. Deprecated. The name of the Google Compute Engine [zone](https://cloud.google.com/compute/docs/zones#available) in which the cluster resides. This field has been deprecated and replaced by the name field.", +"location": "path", +"required": true, +"type": "string" +} +}, +"path": "v1beta1/projects/{projectId}/zones/{zone}/clusters/{clusterId}/nodePools/{nodePoolId}/update", +"request": { +"$ref": "UpdateNodePoolRequest" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +} +} +} +} +}, +"operations": { +"methods": { +"cancel": { +"description": "Cancels the specified operation.", +"flatPath": "v1beta1/projects/{projectId}/zones/{zone}/operations/{operationId}:cancel", +"httpMethod": "POST", +"id": "container.projects.zones.operations.cancel", +"parameterOrder": [ +"projectId", +"zone", +"operationId" +], +"parameters": { +"operationId": { +"description": "Required. Deprecated. The server-assigned `name` of the operation. This field has been deprecated and replaced by the name field.", +"location": "path", +"required": true, +"type": "string" +}, +"projectId": { +"description": "Required. Deprecated. The Google Developers Console [project ID or project number](https://cloud.google.com/resource-manager/docs/creating-managing-projects). This field has been deprecated and replaced by the name field.", +"location": "path", +"required": true, +"type": "string" +}, +"zone": { +"description": "Required. Deprecated. The name of the Google Compute Engine [zone](https://cloud.google.com/compute/docs/zones#available) in which the operation resides. This field has been deprecated and replaced by the name field.", +"location": "path", +"required": true, +"type": "string" +} +}, +"path": "v1beta1/projects/{projectId}/zones/{zone}/operations/{operationId}:cancel", +"request": { +"$ref": "CancelOperationRequest" +}, +"response": { +"$ref": "Empty" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"get": { +"description": "Gets the specified operation.", +"flatPath": "v1beta1/projects/{projectId}/zones/{zone}/operations/{operationId}", +"httpMethod": "GET", +"id": "container.projects.zones.operations.get", +"parameterOrder": [ +"projectId", +"zone", +"operationId" +], +"parameters": { +"name": { +"description": "The name (project, location, operation id) of the operation to get. Specified in the format `projects/*/locations/*/operations/*`.", +"location": "query", +"type": "string" +}, +"operationId": { +"description": "Required. Deprecated. The server-assigned `name` of the operation. This field has been deprecated and replaced by the name field.", +"location": "path", +"required": true, +"type": "string" +}, +"projectId": { +"description": "Required. Deprecated. The Google Developers Console [project ID or project number](https://cloud.google.com/resource-manager/docs/creating-managing-projects). This field has been deprecated and replaced by the name field.", +"location": "path", +"required": true, +"type": "string" +}, +"zone": { +"description": "Required. Deprecated. The name of the Google Compute Engine [zone](https://cloud.google.com/compute/docs/zones#available) in which the cluster resides. This field has been deprecated and replaced by the name field.", +"location": "path", +"required": true, +"type": "string" +} +}, +"path": "v1beta1/projects/{projectId}/zones/{zone}/operations/{operationId}", +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"list": { +"description": "Lists all operations in a project in the specified zone or all zones.", +"flatPath": "v1beta1/projects/{projectId}/zones/{zone}/operations", +"httpMethod": "GET", +"id": "container.projects.zones.operations.list", +"parameterOrder": [ +"projectId", +"zone" +], +"parameters": { +"parent": { +"description": "The parent (project and location) where the operations will be listed. Specified in the format `projects/*/locations/*`. Location \"-\" matches all zones and all regions.", +"location": "query", +"type": "string" +}, +"projectId": { +"description": "Required. Deprecated. The Google Developers Console [project ID or project number](https://cloud.google.com/resource-manager/docs/creating-managing-projects). This field has been deprecated and replaced by the parent field.", +"location": "path", +"required": true, +"type": "string" +}, +"zone": { +"description": "Required. Deprecated. The name of the Google Compute Engine [zone](https://cloud.google.com/compute/docs/zones#available) to return operations for, or `-` for all zones. This field has been deprecated and replaced by the parent field.", +"location": "path", +"required": true, +"type": "string" +} +}, +"path": "v1beta1/projects/{projectId}/zones/{zone}/operations", +"response": { +"$ref": "ListOperationsResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +} +} +} +} +} +} +} +}, +"revision": "20241228", +"rootUrl": "https://container.googleapis.com/", +"schemas": { +"AcceleratorConfig": { +"description": "AcceleratorConfig represents a Hardware Accelerator request.", +"id": "AcceleratorConfig", +"properties": { +"acceleratorCount": { +"description": "The number of the accelerator cards exposed to an instance.", +"format": "int64", +"type": "string" +}, +"acceleratorType": { +"description": "The accelerator type resource name. List of supported accelerators [here](https://cloud.google.com/compute/docs/gpus)", +"type": "string" +}, +"gpuDriverInstallationConfig": { +"$ref": "GPUDriverInstallationConfig", +"description": "The configuration for auto installation of GPU driver." +}, +"gpuPartitionSize": { +"description": "Size of partitions to create on the GPU. Valid values are described in the NVIDIA [mig user guide](https://docs.nvidia.com/datacenter/tesla/mig-user-guide/#partitioning).", +"type": "string" +}, +"gpuSharingConfig": { +"$ref": "GPUSharingConfig", +"description": "The configuration for GPU sharing options." +}, +"maxTimeSharedClientsPerGpu": { +"deprecated": true, +"description": "The number of time-shared GPU resources to expose for each physical GPU.", +"format": "int64", +"type": "string" +} +}, +"type": "object" +}, +"AdditionalNodeNetworkConfig": { +"description": "AdditionalNodeNetworkConfig is the configuration for additional node networks within the NodeNetworkConfig message", +"id": "AdditionalNodeNetworkConfig", +"properties": { +"network": { +"description": "Name of the VPC where the additional interface belongs", +"type": "string" +}, +"subnetwork": { +"description": "Name of the subnetwork where the additional interface belongs", +"type": "string" +} +}, +"type": "object" +}, +"AdditionalPodNetworkConfig": { +"description": "AdditionalPodNetworkConfig is the configuration for additional pod networks within the NodeNetworkConfig message", +"id": "AdditionalPodNetworkConfig", +"properties": { +"maxPodsPerNode": { +"$ref": "MaxPodsConstraint", +"description": "The maximum number of pods per node which use this pod network." +}, +"networkAttachment": { +"description": "The name of the network attachment for pods to communicate to; cannot be specified along with subnetwork or secondary_pod_range.", +"type": "string" +}, +"secondaryPodRange": { +"description": "The name of the secondary range on the subnet which provides IP address for this pod range.", +"type": "string" +}, +"subnetwork": { +"description": "Name of the subnetwork where the additional pod network belongs.", +"type": "string" +} +}, +"type": "object" +}, +"AdditionalPodRangesConfig": { +"description": "AdditionalPodRangesConfig is the configuration for additional pod secondary ranges supporting the ClusterUpdate message.", +"id": "AdditionalPodRangesConfig", +"properties": { +"podRangeInfo": { +"description": "Output only. Information for additional pod range.", +"items": { +"$ref": "RangeInfo" +}, +"readOnly": true, +"type": "array" +}, +"podRangeNames": { +"description": "Name for pod secondary ipv4 range which has the actual range defined ahead.", +"items": { +"type": "string" +}, +"type": "array" +} +}, +"type": "object" +}, +"AddonsConfig": { +"description": "Configuration for the addons that can be automatically spun up in the cluster, enabling additional functionality.", +"id": "AddonsConfig", +"properties": { +"cloudRunConfig": { +"$ref": "CloudRunConfig", +"description": "Configuration for the Cloud Run addon. The `IstioConfig` addon must be enabled in order to enable Cloud Run addon. This option can only be enabled at cluster creation time." +}, +"configConnectorConfig": { +"$ref": "ConfigConnectorConfig", +"description": "Configuration for the ConfigConnector add-on, a Kubernetes extension to manage hosted GCP services through the Kubernetes API" +}, +"dnsCacheConfig": { +"$ref": "DnsCacheConfig", +"description": "Configuration for NodeLocalDNS, a dns cache running on cluster nodes" +}, +"gcePersistentDiskCsiDriverConfig": { +"$ref": "GcePersistentDiskCsiDriverConfig", +"description": "Configuration for the Compute Engine Persistent Disk CSI driver." +}, +"gcpFilestoreCsiDriverConfig": { +"$ref": "GcpFilestoreCsiDriverConfig", +"description": "Configuration for the GCP Filestore CSI driver." +}, +"gcsFuseCsiDriverConfig": { +"$ref": "GcsFuseCsiDriverConfig", +"description": "Configuration for the Cloud Storage Fuse CSI driver." +}, +"gkeBackupAgentConfig": { +"$ref": "GkeBackupAgentConfig", +"description": "Configuration for the Backup for GKE agent addon." +}, +"horizontalPodAutoscaling": { +"$ref": "HorizontalPodAutoscaling", +"description": "Configuration for the horizontal pod autoscaling feature, which increases or decreases the number of replica pods a replication controller has based on the resource usage of the existing pods." +}, +"httpLoadBalancing": { +"$ref": "HttpLoadBalancing", +"description": "Configuration for the HTTP (L7) load balancing controller addon, which makes it easy to set up HTTP load balancers for services in a cluster." +}, +"istioConfig": { +"$ref": "IstioConfig", +"deprecated": true, +"description": "Configuration for Istio, an open platform to connect, manage, and secure microservices." +}, +"kalmConfig": { +"$ref": "KalmConfig", +"deprecated": true, +"description": "Configuration for the KALM addon, which manages the lifecycle of k8s applications." +}, +"kubernetesDashboard": { +"$ref": "KubernetesDashboard", +"deprecated": true, +"description": "Configuration for the Kubernetes Dashboard. This addon is deprecated, and will be disabled in 1.15. It is recommended to use the Cloud Console to manage and monitor your Kubernetes clusters, workloads and applications. For more information, see: https://cloud.google.com/kubernetes-engine/docs/concepts/dashboards" +}, +"networkPolicyConfig": { +"$ref": "NetworkPolicyConfig", +"description": "Configuration for NetworkPolicy. This only tracks whether the addon is enabled or not on the Master, it does not track whether network policy is enabled for the nodes." +}, +"parallelstoreCsiDriverConfig": { +"$ref": "ParallelstoreCsiDriverConfig", +"description": "Configuration for the Cloud Storage Parallelstore CSI driver." +}, +"rayOperatorConfig": { +"$ref": "RayOperatorConfig", +"description": "Optional. Configuration for Ray Operator addon." +}, +"statefulHaConfig": { +"$ref": "StatefulHAConfig", +"description": "Optional. Configuration for the StatefulHA add-on." +} +}, +"type": "object" +}, +"AdvancedDatapathObservabilityConfig": { +"description": "AdvancedDatapathObservabilityConfig specifies configuration of observability features of advanced datapath.", +"id": "AdvancedDatapathObservabilityConfig", +"properties": { +"enableMetrics": { +"description": "Expose flow metrics on nodes", +"type": "boolean" +}, +"enableRelay": { +"description": "Enable Relay component", +"type": "boolean" +}, +"relayMode": { +"description": "Method used to make Relay available", +"enum": [ +"RELAY_MODE_UNSPECIFIED", +"DISABLED", +"INTERNAL_VPC_LB", +"EXTERNAL_LB" +], +"enumDescriptions": [ +"Default value. This shouldn't be used.", +"disabled", +"exposed via internal load balancer", +"exposed via external load balancer" +], +"type": "string" +} +}, +"type": "object" +}, +"AdvancedMachineFeatures": { +"description": "Specifies options for controlling advanced machine features.", +"id": "AdvancedMachineFeatures", +"properties": { +"enableNestedVirtualization": { +"description": "Whether or not to enable nested virtualization (defaults to false).", +"type": "boolean" +}, +"threadsPerCore": { +"description": "The number of threads per physical core. To disable simultaneous multithreading (SMT) set this to 1. If unset, the maximum number of threads supported per core by the underlying processor is assumed.", +"format": "int64", +"type": "string" +} +}, +"type": "object" +}, +"AuthenticatorGroupsConfig": { +"description": "Configuration for returning group information from authenticators.", +"id": "AuthenticatorGroupsConfig", +"properties": { +"enabled": { +"description": "Whether this cluster should return group membership lookups during authentication using a group of security groups.", +"type": "boolean" +}, +"securityGroup": { +"description": "The name of the security group-of-groups to be used. Only relevant if enabled = true.", +"type": "string" +} +}, +"type": "object" +}, +"AutoMonitoringConfig": { +"description": "AutoMonitoringConfig defines the configuration for GKE Workload Auto-Monitoring.", +"id": "AutoMonitoringConfig", +"properties": { +"scope": { +"description": "Scope for GKE Workload Auto-Monitoring.", +"enum": [ +"SCOPE_UNSPECIFIED", +"ALL", +"NONE" +], +"enumDescriptions": [ +"Not set.", +"Auto-Monitoring is enabled for all supported applications.", +"Disable Auto-Monitoring." +], +"type": "string" +} +}, +"type": "object" +}, +"AutoUpgradeOptions": { +"description": "AutoUpgradeOptions defines the set of options for the user to control how the Auto Upgrades will proceed.", +"id": "AutoUpgradeOptions", +"properties": { +"autoUpgradeStartTime": { +"description": "Output only. This field is set when upgrades are about to commence with the approximate start time for the upgrades, in [RFC3339](https://www.ietf.org/rfc/rfc3339.txt) text format.", +"readOnly": true, +"type": "string" +}, +"description": { +"description": "Output only. This field is set when upgrades are about to commence with the description of the upgrade.", +"readOnly": true, +"type": "string" +} +}, +"type": "object" +}, +"Autopilot": { +"description": "Autopilot is the configuration for Autopilot settings on the cluster.", +"id": "Autopilot", +"properties": { +"conversionStatus": { +"$ref": "AutopilotConversionStatus", +"description": "Output only. ConversionStatus shows conversion status.", +"readOnly": true +}, +"enabled": { +"description": "Enable Autopilot", +"type": "boolean" +}, +"workloadPolicyConfig": { +"$ref": "WorkloadPolicyConfig", +"description": "WorkloadPolicyConfig is the configuration related to GCW workload policy" +} +}, +"type": "object" +}, +"AutopilotCompatibilityIssue": { +"description": "AutopilotCompatibilityIssue contains information about a specific compatibility issue with Autopilot mode.", +"id": "AutopilotCompatibilityIssue", +"properties": { +"constraintType": { +"description": "The constraint type of the issue.", +"type": "string" +}, +"description": { +"description": "The description of the issue.", +"type": "string" +}, +"documentationUrl": { +"description": "A URL to a public documnetation, which addresses resolving this issue.", +"type": "string" +}, +"incompatibilityType": { +"description": "The incompatibility type of this issue.", +"enum": [ +"UNSPECIFIED", +"INCOMPATIBILITY", +"ADDITIONAL_CONFIG_REQUIRED", +"PASSED_WITH_OPTIONAL_CONFIG" +], +"enumDescriptions": [ +"Default value, should not be used.", +"Indicates that the issue is a known incompatibility between the cluster and Autopilot mode.", +"Indicates the issue is an incompatibility if customers take no further action to resolve.", +"Indicates the issue is not an incompatibility, but depending on the workloads business logic, there is a potential that they won't work on Autopilot." +], +"type": "string" +}, +"lastObservation": { +"description": "The last time when this issue was observed.", +"format": "google-datetime", +"type": "string" +}, +"subjects": { +"description": "The name of the resources which are subject to this issue.", +"items": { +"type": "string" +}, +"type": "array" +} +}, +"type": "object" +}, +"AutopilotConversionStatus": { +"description": "AutopilotConversionStatus represents conversion status.", +"id": "AutopilotConversionStatus", +"properties": { +"state": { +"description": "Output only. The current state of the conversion.", +"enum": [ +"STATE_UNSPECIFIED", +"DONE" +], +"enumDescriptions": [ +"STATE_UNSPECIFIED indicates the state is unspecified.", +"DONE indicates the conversion has been completed. Old node pools will continue being deleted in the background." +], +"readOnly": true, +"type": "string" +} +}, +"type": "object" +}, +"AutoprovisioningNodePoolDefaults": { +"description": "AutoprovisioningNodePoolDefaults contains defaults for a node pool created by NAP.", +"id": "AutoprovisioningNodePoolDefaults", +"properties": { +"bootDiskKmsKey": { +"description": " The Customer Managed Encryption Key used to encrypt the boot disk attached to each node in the node pool. This should be of the form projects/[KEY_PROJECT_ID]/locations/[LOCATION]/keyRings/[RING_NAME]/cryptoKeys/[KEY_NAME]. For more information about protecting resources with Cloud KMS Keys please see: https://cloud.google.com/compute/docs/disks/customer-managed-encryption", +"type": "string" +}, +"diskSizeGb": { +"description": "Size of the disk attached to each node, specified in GB. The smallest allowed disk size is 10GB. If unspecified, the default disk size is 100GB.", +"format": "int32", +"type": "integer" +}, +"diskType": { +"description": "Type of the disk attached to each node (e.g. 'pd-standard', 'pd-ssd' or 'pd-balanced') If unspecified, the default disk type is 'pd-standard'", +"type": "string" +}, +"imageType": { +"description": "The image type to use for NAP created node. Please see https://cloud.google.com/kubernetes-engine/docs/concepts/node-images for available image types.", +"type": "string" +}, +"insecureKubeletReadonlyPortEnabled": { +"description": "Enable or disable Kubelet read only port.", +"type": "boolean" +}, +"management": { +"$ref": "NodeManagement", +"description": "NodeManagement configuration for this NodePool." +}, +"minCpuPlatform": { +"deprecated": true, +"description": "Deprecated. Minimum CPU platform to be used for NAP created node pools. The instance may be scheduled on the specified or newer CPU platform. Applicable values are the friendly names of CPU platforms, such as minCpuPlatform: Intel Haswell or minCpuPlatform: Intel Sandy Bridge. For more information, read [how to specify min CPU platform](https://cloud.google.com/compute/docs/instances/specify-min-cpu-platform). This field is deprecated, min_cpu_platform should be specified using `cloud.google.com/requested-min-cpu-platform` label selector on the pod. To unset the min cpu platform field pass \"automatic\" as field value.", +"type": "string" +}, +"oauthScopes": { +"description": "The set of Google API scopes to be made available on all of the node VMs under the \"default\" service account. The following scopes are recommended, but not required, and by default are not included: * `https://www.googleapis.com/auth/compute` is required for mounting persistent storage on your nodes. * `https://www.googleapis.com/auth/devstorage.read_only` is required for communicating with **gcr.io** (the [Google Container Registry](https://cloud.google.com/container-registry/)). If unspecified, no scopes are added, unless Cloud Logging or Cloud Monitoring are enabled, in which case their required scopes will be added.", +"items": { +"type": "string" +}, +"type": "array" +}, +"serviceAccount": { +"description": "The Google Cloud Platform Service Account to be used by the node VMs. Specify the email address of the Service Account; otherwise, if no Service Account is specified, the \"default\" service account is used.", +"type": "string" +}, +"shieldedInstanceConfig": { +"$ref": "ShieldedInstanceConfig", +"description": "Shielded Instance options." +}, +"upgradeSettings": { +"$ref": "UpgradeSettings", +"description": "Upgrade settings control disruption and speed of the upgrade." +} +}, +"type": "object" +}, +"AutoscaledRolloutPolicy": { +"description": "Autoscaled rollout policy uses cluster autoscaler during blue-green upgrades to scale both the green and blue pools.", +"id": "AutoscaledRolloutPolicy", +"properties": {}, +"type": "object" +}, +"AvailableVersion": { +"deprecated": true, +"description": "Deprecated.", +"id": "AvailableVersion", +"properties": { +"reason": { +"description": "Reason for availability.", +"type": "string" +}, +"version": { +"description": "Kubernetes version.", +"type": "string" +} +}, +"type": "object" +}, +"BestEffortProvisioning": { +"description": "Best effort provisioning.", +"id": "BestEffortProvisioning", +"properties": { +"enabled": { +"description": "When this is enabled, cluster/node pool creations will ignore non-fatal errors like stockout to best provision as many nodes as possible right now and eventually bring up all target number of nodes", +"type": "boolean" +}, +"minProvisionNodes": { +"description": "Minimum number of nodes to be provisioned to be considered as succeeded, and the rest of nodes will be provisioned gradually and eventually when stockout issue has been resolved.", +"format": "int32", +"type": "integer" +} +}, +"type": "object" +}, +"BigQueryDestination": { +"description": "Parameters for using BigQuery as the destination of resource usage export.", +"id": "BigQueryDestination", +"properties": { +"datasetId": { +"description": "The ID of a BigQuery Dataset.", +"type": "string" +} +}, +"type": "object" +}, +"BinaryAuthorization": { +"description": "Configuration for Binary Authorization.", +"id": "BinaryAuthorization", +"properties": { +"enabled": { +"deprecated": true, +"description": "This field is deprecated. Leave this unset and instead configure BinaryAuthorization using evaluation_mode. If evaluation_mode is set to anything other than EVALUATION_MODE_UNSPECIFIED, this field is ignored.", +"type": "boolean" +}, +"evaluationMode": { +"description": "Mode of operation for binauthz policy evaluation. If unspecified, defaults to DISABLED.", +"enum": [ +"EVALUATION_MODE_UNSPECIFIED", +"DISABLED", +"PROJECT_SINGLETON_POLICY_ENFORCE", +"POLICY_BINDINGS", +"POLICY_BINDINGS_AND_PROJECT_SINGLETON_POLICY_ENFORCE" +], +"enumDescriptions": [ +"Default value", +"Disable BinaryAuthorization", +"Enforce Kubernetes admission requests with BinaryAuthorization using the project's singleton policy. This is equivalent to setting the enabled boolean to true.", +"Use Binary Authorization Continuous Validation with the policies specified in policy_bindings.", +"Use Binary Authorization Continuous Validation with the policies specified in policy_bindings and enforce Kubernetes admission requests with Binary Authorization using the project's singleton policy." +], +"type": "string" +}, +"policyBindings": { +"description": "Optional. Binauthz policies that apply to this cluster.", +"items": { +"$ref": "PolicyBinding" +}, +"type": "array" +} +}, +"type": "object" +}, +"BlueGreenInfo": { +"description": "Information relevant to blue-green upgrade.", +"id": "BlueGreenInfo", +"properties": { +"blueInstanceGroupUrls": { +"description": "The resource URLs of the [managed instance groups] (/compute/docs/instance-groups/creating-groups-of-managed-instances) associated with blue pool.", +"items": { +"type": "string" +}, +"type": "array" +}, +"bluePoolDeletionStartTime": { +"description": "Time to start deleting blue pool to complete blue-green upgrade, in [RFC3339](https://www.ietf.org/rfc/rfc3339.txt) text format.", +"type": "string" +}, +"greenInstanceGroupUrls": { +"description": "The resource URLs of the [managed instance groups] (/compute/docs/instance-groups/creating-groups-of-managed-instances) associated with green pool.", +"items": { +"type": "string" +}, +"type": "array" +}, +"greenPoolVersion": { +"description": "Version of green pool.", +"type": "string" +}, +"phase": { +"description": "Current blue-green upgrade phase.", +"enum": [ +"PHASE_UNSPECIFIED", +"UPDATE_STARTED", +"CREATING_GREEN_POOL", +"CORDONING_BLUE_POOL", +"WAITING_TO_DRAIN_BLUE_POOL", +"DRAINING_BLUE_POOL", +"NODE_POOL_SOAKING", +"DELETING_BLUE_POOL", +"ROLLBACK_STARTED" +], +"enumDescriptions": [ +"Unspecified phase.", +"blue-green upgrade has been initiated.", +"Start creating green pool nodes.", +"Start cordoning blue pool nodes.", +"Start waiting after cordoning the blue pool and before draining it.", +"Start draining blue pool nodes.", +"Start soaking time after draining entire blue pool.", +"Start deleting blue nodes.", +"Rollback has been initiated." +], +"type": "string" +} +}, +"type": "object" +}, +"BlueGreenSettings": { +"description": "Settings for blue-green upgrade.", +"id": "BlueGreenSettings", +"properties": { +"autoscaledRolloutPolicy": { +"$ref": "AutoscaledRolloutPolicy", +"description": "Autoscaled policy for cluster autoscaler enabled blue-green upgrade." +}, +"nodePoolSoakDuration": { +"description": "Time needed after draining entire blue pool. After this period, blue pool will be cleaned up.", +"format": "google-duration", +"type": "string" +}, +"standardRolloutPolicy": { +"$ref": "StandardRolloutPolicy", +"description": "Standard policy for the blue-green upgrade." +} +}, +"type": "object" +}, +"CancelOperationRequest": { +"description": "CancelOperationRequest cancels a single operation.", +"id": "CancelOperationRequest", +"properties": { +"name": { +"description": "The name (project, location, operation id) of the operation to cancel. Specified in the format `projects/*/locations/*/operations/*`.", +"type": "string" +}, +"operationId": { +"deprecated": true, +"description": "Required. Deprecated. The server-assigned `name` of the operation. This field has been deprecated and replaced by the name field.", +"type": "string" +}, +"projectId": { +"deprecated": true, +"description": "Required. Deprecated. The Google Developers Console [project ID or project number](https://cloud.google.com/resource-manager/docs/creating-managing-projects). This field has been deprecated and replaced by the name field.", +"type": "string" +}, +"zone": { +"deprecated": true, +"description": "Required. Deprecated. The name of the Google Compute Engine [zone](https://cloud.google.com/compute/docs/zones#available) in which the operation resides. This field has been deprecated and replaced by the name field.", +"type": "string" +} +}, +"type": "object" +}, +"CertificateAuthorityDomainConfig": { +"description": "CertificateAuthorityDomainConfig configures one or more fully qualified domain names (FQDN) to a specific certificate.", +"id": "CertificateAuthorityDomainConfig", +"properties": { +"fqdns": { +"description": "List of fully qualified domain names (FQDN). Specifying port is supported. Wilcards are NOT supported. Examples: - my.customdomain.com - 10.0.1.2:5000", +"items": { +"type": "string" +}, +"type": "array" +}, +"gcpSecretManagerCertificateConfig": { +"$ref": "GCPSecretManagerCertificateConfig", +"description": "Google Secret Manager (GCP) certificate configuration." +} +}, +"type": "object" +}, +"CheckAutopilotCompatibilityResponse": { +"description": "CheckAutopilotCompatibilityResponse has a list of compatibility issues.", +"id": "CheckAutopilotCompatibilityResponse", +"properties": { +"issues": { +"description": "The list of issues for the given operation.", +"items": { +"$ref": "AutopilotCompatibilityIssue" +}, +"type": "array" +}, +"summary": { +"description": "The summary of the autopilot compatibility response.", +"type": "string" +} +}, +"type": "object" +}, +"CidrBlock": { +"description": "CidrBlock contains an optional name and one CIDR block.", +"id": "CidrBlock", +"properties": { +"cidrBlock": { +"description": "cidr_block must be specified in CIDR notation.", +"type": "string" +}, +"displayName": { +"description": "display_name is an optional field for users to identify CIDR blocks.", +"type": "string" +} +}, +"type": "object" +}, +"ClientCertificateConfig": { +"description": "Configuration for client certificates on the cluster.", +"id": "ClientCertificateConfig", +"properties": { +"issueClientCertificate": { +"description": "Issue a client certificate.", +"type": "boolean" +} +}, +"type": "object" +}, +"CloudRunConfig": { +"description": "Configuration options for the Cloud Run feature.", +"id": "CloudRunConfig", +"properties": { +"disabled": { +"description": "Whether Cloud Run addon is enabled for this cluster.", +"type": "boolean" +}, +"loadBalancerType": { +"description": "Which load balancer type is installed for Cloud Run.", +"enum": [ +"LOAD_BALANCER_TYPE_UNSPECIFIED", +"LOAD_BALANCER_TYPE_EXTERNAL", +"LOAD_BALANCER_TYPE_INTERNAL" +], +"enumDescriptions": [ +"Load balancer type for Cloud Run is unspecified.", +"Install external load balancer for Cloud Run.", +"Install internal load balancer for Cloud Run." +], +"type": "string" +} +}, +"type": "object" +}, +"Cluster": { +"description": "A Google Kubernetes Engine cluster.", +"id": "Cluster", +"properties": { +"addonsConfig": { +"$ref": "AddonsConfig", +"description": "Configurations for the various addons available to run in the cluster." +}, +"authenticatorGroupsConfig": { +"$ref": "AuthenticatorGroupsConfig", +"description": "Configuration controlling RBAC group membership information." +}, +"autopilot": { +"$ref": "Autopilot", +"description": "Autopilot configuration for the cluster." +}, +"autoscaling": { +"$ref": "ClusterAutoscaling", +"description": "Cluster-level autoscaling configuration." +}, +"binaryAuthorization": { +"$ref": "BinaryAuthorization", +"description": "Configuration for Binary Authorization." +}, +"clusterIpv4Cidr": { +"description": "The IP address range of the container pods in this cluster, in [CIDR](http://en.wikipedia.org/wiki/Classless_Inter-Domain_Routing) notation (e.g. `10.96.0.0/14`). Leave blank to have one automatically chosen or specify a `/14` block in `10.0.0.0/8`.", +"type": "string" +}, +"clusterTelemetry": { +"$ref": "ClusterTelemetry", +"description": "Telemetry integration for the cluster." +}, +"compliancePostureConfig": { +"$ref": "CompliancePostureConfig", +"description": "Enable/Disable Compliance Posture features for the cluster." +}, +"conditions": { +"description": "Which conditions caused the current cluster state.", +"items": { +"$ref": "StatusCondition" +}, +"type": "array" +}, +"confidentialNodes": { +"$ref": "ConfidentialNodes", +"description": "Configuration of Confidential Nodes. All the nodes in the cluster will be Confidential VM once enabled." +}, +"controlPlaneEndpointsConfig": { +"$ref": "ControlPlaneEndpointsConfig", +"description": "Configuration for all cluster's control plane endpoints." +}, +"costManagementConfig": { +"$ref": "CostManagementConfig", +"description": "Configuration for the fine-grained cost management feature." +}, +"createTime": { +"description": "Output only. The time the cluster was created, in [RFC3339](https://www.ietf.org/rfc/rfc3339.txt) text format.", +"readOnly": true, +"type": "string" +}, +"currentMasterVersion": { +"description": "Output only. The current software version of the master endpoint.", +"readOnly": true, +"type": "string" +}, +"currentNodeCount": { +"deprecated": true, +"description": "Output only. The number of nodes currently in the cluster. Deprecated. Call Kubernetes API directly to retrieve node information.", +"format": "int32", +"readOnly": true, +"type": "integer" +}, +"currentNodeVersion": { +"deprecated": true, +"description": "Output only. Deprecated, use [NodePool.version](https://cloud.google.com/kubernetes-engine/docs/reference/rest/v1beta1/projects.locations.clusters.nodePools) instead. The current version of the node software components. If they are currently at multiple versions because they're in the process of being upgraded, this reflects the minimum version of all nodes.", +"readOnly": true, +"type": "string" +}, +"databaseEncryption": { +"$ref": "DatabaseEncryption", +"description": "Configuration of etcd encryption." +}, +"defaultMaxPodsConstraint": { +"$ref": "MaxPodsConstraint", +"description": "The default constraint on the maximum number of pods that can be run simultaneously on a node in the node pool of this cluster. Only honored if cluster created with IP Alias support." +}, +"description": { +"description": "An optional description of this cluster.", +"type": "string" +}, +"enableK8sBetaApis": { +"$ref": "K8sBetaAPIConfig", +"description": "Kubernetes open source beta apis enabled on the cluster. Only beta apis." +}, +"enableKubernetesAlpha": { +"description": "Kubernetes alpha features are enabled on this cluster. This includes alpha API groups (e.g. v1beta1) and features that may not be production ready in the kubernetes version of the master and nodes. The cluster has no SLA for uptime and master/node upgrades are disabled. Alpha enabled clusters are automatically deleted thirty days after creation.", +"type": "boolean" +}, +"enableTpu": { +"description": "Enable the ability to use Cloud TPUs in this cluster. This field is deprecated, use tpu_config.enabled instead.", +"type": "boolean" +}, +"endpoint": { +"description": "Output only. The IP address of this cluster's master endpoint. The endpoint can be accessed from the internet at `https://username:password@endpoint/`. See the `masterAuth` property of this resource for username and password information.", +"readOnly": true, +"type": "string" +}, +"enterpriseConfig": { +"$ref": "EnterpriseConfig", +"description": "GKE Enterprise Configuration." +}, +"etag": { +"description": "This checksum is computed by the server based on the value of cluster fields, and may be sent on update requests to ensure the client has an up-to-date value before proceeding.", +"type": "string" +}, +"expireTime": { +"description": "Output only. The time the cluster will be automatically deleted in [RFC3339](https://www.ietf.org/rfc/rfc3339.txt) text format.", +"readOnly": true, +"type": "string" +}, +"fleet": { +"$ref": "Fleet", +"description": "Fleet information for the cluster." +}, +"id": { +"description": "Output only. Unique id for the cluster.", +"readOnly": true, +"type": "string" +}, +"identityServiceConfig": { +"$ref": "IdentityServiceConfig", +"description": "Configuration for Identity Service component." +}, +"initialClusterVersion": { +"description": "The initial Kubernetes version for this cluster. Valid versions are those found in validMasterVersions returned by getServerConfig. The version can be upgraded over time; such upgrades are reflected in currentMasterVersion and currentNodeVersion. Users may specify either explicit versions offered by Kubernetes Engine or version aliases, which have the following behavior: - \"latest\": picks the highest valid Kubernetes version - \"1.X\": picks the highest valid patch+gke.N patch in the 1.X version - \"1.X.Y\": picks the highest valid gke.N patch in the 1.X.Y version - \"1.X.Y-gke.N\": picks an explicit Kubernetes version - \"\",\"-\": picks the default Kubernetes version", +"type": "string" +}, +"initialNodeCount": { +"deprecated": true, +"description": "The number of nodes to create in this cluster. You must ensure that your Compute Engine [resource quota](https://cloud.google.com/compute/quotas) is sufficient for this number of instances. You must also have available firewall and routes quota. For requests, this field should only be used in lieu of a \"node_pool\" object, since this configuration (along with the \"node_config\") will be used to create a \"NodePool\" object with an auto-generated name. Do not use this and a node_pool at the same time. This field is deprecated, use node_pool.initial_node_count instead.", +"format": "int32", +"type": "integer" +}, +"instanceGroupUrls": { +"deprecated": true, +"description": "Output only. Deprecated. Use node_pools.instance_group_urls.", +"items": { +"type": "string" +}, +"readOnly": true, +"type": "array" +}, +"ipAllocationPolicy": { +"$ref": "IPAllocationPolicy", +"description": "Configuration for cluster IP allocation." +}, +"labelFingerprint": { +"description": "The fingerprint of the set of labels for this cluster.", +"type": "string" +}, +"legacyAbac": { +"$ref": "LegacyAbac", +"description": "Configuration for the legacy ABAC authorization mode." +}, +"location": { +"description": "Output only. The name of the Google Compute Engine [zone](https://cloud.google.com/compute/docs/regions-zones/regions-zones#available) or [region](https://cloud.google.com/compute/docs/regions-zones/regions-zones#available) in which the cluster resides.", +"readOnly": true, +"type": "string" +}, +"locations": { +"description": "The list of Google Compute Engine [zones](https://cloud.google.com/compute/docs/zones#available) in which the cluster's nodes should be located. This field provides a default value if [NodePool.Locations](https://cloud.google.com/kubernetes-engine/docs/reference/rest/v1/projects.locations.clusters.nodePools#NodePool.FIELDS.locations) are not specified during node pool creation. Warning: changing cluster locations will update the [NodePool.Locations](https://cloud.google.com/kubernetes-engine/docs/reference/rest/v1/projects.locations.clusters.nodePools#NodePool.FIELDS.locations) of all node pools and will result in nodes being added and/or removed.", +"items": { +"type": "string" +}, +"type": "array" +}, +"loggingConfig": { +"$ref": "LoggingConfig", +"description": "Logging configuration for the cluster." +}, +"loggingService": { +"description": "The logging service the cluster should use to write logs. Currently available options: * `logging.googleapis.com/kubernetes` - The Cloud Logging service with a Kubernetes-native resource model * `logging.googleapis.com` - The legacy Cloud Logging service (no longer available as of GKE 1.15). * `none` - no logs will be exported from the cluster. If left as an empty string,`logging.googleapis.com/kubernetes` will be used for GKE 1.14+ or `logging.googleapis.com` for earlier versions.", +"type": "string" +}, +"maintenancePolicy": { +"$ref": "MaintenancePolicy", +"description": "Configure the maintenance policy for this cluster." +}, +"master": { +"$ref": "Master", +"description": "Configuration for master components." +}, +"masterAuth": { +"$ref": "MasterAuth", +"description": "The authentication information for accessing the master endpoint. If unspecified, the defaults are used: For clusters before v1.12, if master_auth is unspecified, `username` will be set to \"admin\", a random password will be generated, and a client certificate will be issued." +}, +"masterAuthorizedNetworksConfig": { +"$ref": "MasterAuthorizedNetworksConfig", +"deprecated": true, +"description": "The configuration options for master authorized networks feature. Deprecated: Use ControlPlaneEndpointsConfig.IPEndpointsConfig.authorized_networks_config instead." +}, +"masterIpv4CidrBlock": { +"deprecated": true, +"description": "The IP prefix in CIDR notation to use for the hosted master network. This prefix will be used for assigning private IP addresses to the master or set of masters, as well as the ILB VIP. This field is deprecated, use private_cluster_config.master_ipv4_cidr_block instead.", +"type": "string" +}, +"meshCertificates": { +"$ref": "MeshCertificates", +"description": "Configuration for issuance of mTLS keys and certificates to Kubernetes pods." +}, +"monitoringConfig": { +"$ref": "MonitoringConfig", +"description": "Monitoring configuration for the cluster." +}, +"monitoringService": { +"description": "The monitoring service the cluster should use to write metrics. Currently available options: * \"monitoring.googleapis.com/kubernetes\" - The Cloud Monitoring service with a Kubernetes-native resource model * `monitoring.googleapis.com` - The legacy Cloud Monitoring service (no longer available as of GKE 1.15). * `none` - No metrics will be exported from the cluster. If left as an empty string,`monitoring.googleapis.com/kubernetes` will be used for GKE 1.14+ or `monitoring.googleapis.com` for earlier versions.", +"type": "string" +}, +"name": { +"description": "The name of this cluster. The name must be unique within this project and location (e.g. zone or region), and can be up to 40 characters with the following restrictions: * Lowercase letters, numbers, and hyphens only. * Must start with a letter. * Must end with a number or a letter.", +"type": "string" +}, +"network": { +"description": "The name of the Google Compute Engine [network](https://cloud.google.com/compute/docs/networks-and-firewalls#networks) to which the cluster is connected. If left unspecified, the `default` network will be used. On output this shows the network ID instead of the name.", +"type": "string" +}, +"networkConfig": { +"$ref": "NetworkConfig", +"description": "Configuration for cluster networking." +}, +"networkPolicy": { +"$ref": "NetworkPolicy", +"description": "Configuration options for the NetworkPolicy feature." +}, +"nodeConfig": { +"$ref": "NodeConfig", +"deprecated": true, +"description": "Parameters used in creating the cluster's nodes. For requests, this field should only be used in lieu of a \"node_pool\" object, since this configuration (along with the \"initial_node_count\") will be used to create a \"NodePool\" object with an auto-generated name. Do not use this and a node_pool at the same time. For responses, this field will be populated with the node configuration of the first node pool. (For configuration of each node pool, see `node_pool.config`) If unspecified, the defaults are used. This field is deprecated, use node_pool.config instead." +}, +"nodeIpv4CidrSize": { +"description": "Output only. The size of the address space on each node for hosting containers. This is provisioned from within the `container_ipv4_cidr` range. This field will only be set when cluster is in route-based network mode.", +"format": "int32", +"readOnly": true, +"type": "integer" +}, +"nodePoolAutoConfig": { +"$ref": "NodePoolAutoConfig", +"description": "Node pool configs that apply to all auto-provisioned node pools in autopilot clusters and node auto-provisioning enabled clusters." +}, +"nodePoolDefaults": { +"$ref": "NodePoolDefaults", +"description": "Default NodePool settings for the entire cluster. These settings are overridden if specified on the specific NodePool object." +}, +"nodePools": { +"description": "The node pools associated with this cluster. This field should not be set if \"node_config\" or \"initial_node_count\" are specified.", +"items": { +"$ref": "NodePool" +}, +"type": "array" +}, +"notificationConfig": { +"$ref": "NotificationConfig", +"description": "Notification configuration of the cluster." +}, +"parentProductConfig": { +"$ref": "ParentProductConfig", +"description": "The configuration of the parent product of the cluster. This field is used by Google internal products that are built on top of the GKE cluster and take the ownership of the cluster." +}, +"podAutoscaling": { +"$ref": "PodAutoscaling", +"description": "The config for pod autoscaling." +}, +"podSecurityPolicyConfig": { +"$ref": "PodSecurityPolicyConfig", +"description": "Configuration for the PodSecurityPolicy feature." +}, +"privateCluster": { +"deprecated": true, +"description": "If this is a private cluster setup. Private clusters are clusters that, by default have no external IP addresses on the nodes and where nodes and the master communicate over private IP addresses. This field is deprecated, use private_cluster_config.enable_private_nodes instead.", +"type": "boolean" +}, +"privateClusterConfig": { +"$ref": "PrivateClusterConfig", +"description": "Configuration for private cluster." +}, +"protectConfig": { +"$ref": "ProtectConfig", +"deprecated": true, +"description": "Deprecated: Use SecurityPostureConfig instead. Enable/Disable Protect API features for the cluster." +}, +"rbacBindingConfig": { +"$ref": "RBACBindingConfig", +"description": "RBACBindingConfig allows user to restrict ClusterRoleBindings an RoleBindings that can be created." +}, +"releaseChannel": { +"$ref": "ReleaseChannel", +"description": "Release channel configuration. If left unspecified on cluster creation and a version is specified, the cluster is enrolled in the most mature release channel where the version is available (first checking STABLE, then REGULAR, and finally RAPID). Otherwise, if no release channel configuration and no version is specified, the cluster is enrolled in the REGULAR channel with its default version." +}, +"resourceLabels": { +"additionalProperties": { +"type": "string" +}, +"description": "The resource labels for the cluster to use to annotate any related Google Compute Engine resources.", +"type": "object" +}, +"resourceUsageExportConfig": { +"$ref": "ResourceUsageExportConfig", +"description": "Configuration for exporting resource usages. Resource usage export is disabled when this config unspecified." +}, +"satisfiesPzi": { +"description": "Output only. Reserved for future use.", +"readOnly": true, +"type": "boolean" +}, +"satisfiesPzs": { +"description": "Output only. Reserved for future use.", +"readOnly": true, +"type": "boolean" +}, +"secretManagerConfig": { +"$ref": "SecretManagerConfig", +"description": "Secret CSI driver configuration." +}, +"securityPostureConfig": { +"$ref": "SecurityPostureConfig", +"description": "Enable/Disable Security Posture API features for the cluster." +}, +"selfLink": { +"description": "Output only. Server-defined URL for the resource.", +"readOnly": true, +"type": "string" +}, +"servicesIpv4Cidr": { +"description": "Output only. The IP address range of the Kubernetes services in this cluster, in [CIDR](http://en.wikipedia.org/wiki/Classless_Inter-Domain_Routing) notation (e.g. `1.2.3.4/29`). Service addresses are typically put in the last `/16` from the container CIDR.", +"readOnly": true, +"type": "string" +}, +"shieldedNodes": { +"$ref": "ShieldedNodes", +"description": "Shielded Nodes configuration." +}, +"status": { +"description": "Output only. The current status of this cluster.", +"enum": [ +"STATUS_UNSPECIFIED", +"PROVISIONING", +"RUNNING", +"RECONCILING", +"STOPPING", +"ERROR", +"DEGRADED" +], +"enumDescriptions": [ +"Not set.", +"The PROVISIONING state indicates the cluster is being created.", +"The RUNNING state indicates the cluster has been created and is fully usable.", +"The RECONCILING state indicates that some work is actively being done on the cluster, such as upgrading the master or node software. Details can be found in the `statusMessage` field.", +"The STOPPING state indicates the cluster is being deleted.", +"The ERROR state indicates the cluster may be unusable. Details can be found in the `statusMessage` field.", +"The DEGRADED state indicates the cluster requires user action to restore full functionality. Details can be found in the `statusMessage` field." +], +"readOnly": true, +"type": "string" +}, +"statusMessage": { +"deprecated": true, +"description": "Output only. Deprecated. Use conditions instead. Additional information about the current status of this cluster, if available.", +"readOnly": true, +"type": "string" +}, +"subnetwork": { +"description": "The name of the Google Compute Engine [subnetwork](https://cloud.google.com/compute/docs/subnetworks) to which the cluster is connected. On output this shows the subnetwork ID instead of the name.", +"type": "string" +}, +"tpuConfig": { +"$ref": "TpuConfig", +"description": "Configuration for Cloud TPU support;" +}, +"tpuIpv4CidrBlock": { +"description": "Output only. The IP address range of the Cloud TPUs in this cluster, in [CIDR](http://en.wikipedia.org/wiki/Classless_Inter-Domain_Routing) notation (e.g. `1.2.3.4/29`).", +"readOnly": true, +"type": "string" +}, +"userManagedKeysConfig": { +"$ref": "UserManagedKeysConfig", +"description": "The Custom keys configuration for the cluster." +}, +"verticalPodAutoscaling": { +"$ref": "VerticalPodAutoscaling", +"description": "Cluster-level Vertical Pod Autoscaling configuration." +}, +"workloadAltsConfig": { +"$ref": "WorkloadALTSConfig", +"description": "Configuration for direct-path (via ALTS) with workload identity." +}, +"workloadCertificates": { +"$ref": "WorkloadCertificates", +"description": "Configuration for issuance of mTLS keys and certificates to Kubernetes pods." +}, +"workloadIdentityConfig": { +"$ref": "WorkloadIdentityConfig", +"description": "Configuration for the use of Kubernetes Service Accounts in GCP IAM policies." +}, +"zone": { +"deprecated": true, +"description": "Output only. The name of the Google Compute Engine [zone](https://cloud.google.com/compute/docs/zones#available) in which the cluster resides. This field is deprecated, use location instead.", +"readOnly": true, +"type": "string" +} +}, +"type": "object" +}, +"ClusterAutoscaling": { +"description": "ClusterAutoscaling contains global, per-cluster information required by Cluster Autoscaler to automatically adjust the size of the cluster and create/delete node pools based on the current needs.", +"id": "ClusterAutoscaling", +"properties": { +"autoprovisioningLocations": { +"description": "The list of Google Compute Engine [zones](https://cloud.google.com/compute/docs/zones#available) in which the NodePool's nodes can be created by NAP.", +"items": { +"type": "string" +}, +"type": "array" +}, +"autoprovisioningNodePoolDefaults": { +"$ref": "AutoprovisioningNodePoolDefaults", +"description": "AutoprovisioningNodePoolDefaults contains defaults for a node pool created by NAP." +}, +"autoscalingProfile": { +"description": "Defines autoscaling behaviour.", +"enum": [ +"PROFILE_UNSPECIFIED", +"OPTIMIZE_UTILIZATION", +"BALANCED" +], +"enumDescriptions": [ +"No change to autoscaling configuration.", +"Prioritize optimizing utilization of resources.", +"Use default (balanced) autoscaling configuration." +], +"type": "string" +}, +"enableNodeAutoprovisioning": { +"description": "Enables automatic node pool creation and deletion.", +"type": "boolean" +}, +"resourceLimits": { +"description": "Contains global constraints regarding minimum and maximum amount of resources in the cluster.", +"items": { +"$ref": "ResourceLimit" +}, +"type": "array" +} +}, +"type": "object" +}, +"ClusterNetworkPerformanceConfig": { +"description": "Configuration of all network bandwidth tiers", +"id": "ClusterNetworkPerformanceConfig", +"properties": { +"totalEgressBandwidthTier": { +"description": "Specifies the total network bandwidth tier for the NodePool.", +"enum": [ +"TIER_UNSPECIFIED", +"TIER_1" +], +"enumDescriptions": [ +"Default value", +"Higher bandwidth, actual values based on VM size." +], +"type": "string" +} +}, +"type": "object" +}, +"ClusterTelemetry": { +"description": "Telemetry integration for the cluster.", +"id": "ClusterTelemetry", +"properties": { +"type": { +"description": "Type of the integration.", +"enum": [ +"UNSPECIFIED", +"DISABLED", +"ENABLED", +"SYSTEM_ONLY" +], +"enumDescriptions": [ +"Not set.", +"Monitoring integration is disabled.", +"Monitoring integration is enabled.", +"Only system components are monitored and logged." +], +"type": "string" +} +}, +"type": "object" +}, +"ClusterUpdate": { +"description": "ClusterUpdate describes an update to the cluster. Exactly one update can be applied to a cluster with each request, so at most one field can be provided.", +"id": "ClusterUpdate", +"properties": { +"additionalPodRangesConfig": { +"$ref": "AdditionalPodRangesConfig", +"description": "The additional pod ranges to be added to the cluster. These pod ranges can be used by node pools to allocate pod IPs." +}, +"desiredAddonsConfig": { +"$ref": "AddonsConfig", +"description": "Configurations for the various addons available to run in the cluster." +}, +"desiredAuthenticatorGroupsConfig": { +"$ref": "AuthenticatorGroupsConfig", +"description": "AuthenticatorGroupsConfig specifies the config for the cluster security groups settings." +}, +"desiredAutopilotWorkloadPolicyConfig": { +"$ref": "WorkloadPolicyConfig", +"description": "WorkloadPolicyConfig is the configuration related to GCW workload policy" +}, +"desiredBinaryAuthorization": { +"$ref": "BinaryAuthorization", +"description": "The desired configuration options for the Binary Authorization feature." +}, +"desiredClusterAutoscaling": { +"$ref": "ClusterAutoscaling", +"description": "Cluster-level autoscaling configuration." +}, +"desiredClusterTelemetry": { +"$ref": "ClusterTelemetry", +"description": "The desired telemetry integration for the cluster." +}, +"desiredCompliancePostureConfig": { +"$ref": "CompliancePostureConfig", +"description": "Enable/Disable Compliance Posture features for the cluster." +}, +"desiredContainerdConfig": { +"$ref": "ContainerdConfig", +"description": "The desired containerd config for the cluster." +}, +"desiredControlPlaneEndpointsConfig": { +"$ref": "ControlPlaneEndpointsConfig", +"description": "Control plane endpoints configuration." +}, +"desiredCostManagementConfig": { +"$ref": "CostManagementConfig", +"description": "The desired configuration for the fine-grained cost management feature." +}, +"desiredDatabaseEncryption": { +"$ref": "DatabaseEncryption", +"description": "Configuration of etcd encryption." +}, +"desiredDatapathProvider": { +"description": "The desired datapath provider for the cluster.", +"enum": [ +"DATAPATH_PROVIDER_UNSPECIFIED", +"LEGACY_DATAPATH", +"ADVANCED_DATAPATH" +], +"enumDescriptions": [ +"Default value.", +"Use the IPTables implementation based on kube-proxy.", +"Use the eBPF based GKE Dataplane V2 with additional features. See the [GKE Dataplane V2 documentation](https://cloud.google.com/kubernetes-engine/docs/how-to/dataplane-v2) for more." +], +"type": "string" +}, +"desiredDefaultEnablePrivateNodes": { +"description": "Override the default setting of whether future created nodes have private IP addresses only, namely NetworkConfig.default_enable_private_nodes", +"type": "boolean" +}, +"desiredDefaultSnatStatus": { +"$ref": "DefaultSnatStatus", +"description": "The desired status of whether to disable default sNAT for this cluster." +}, +"desiredDisableL4LbFirewallReconciliation": { +"description": "Enable/Disable L4 LB VPC firewall reconciliation for the cluster.", +"type": "boolean" +}, +"desiredDnsConfig": { +"$ref": "DNSConfig", +"description": "DNSConfig contains clusterDNS config for this cluster." +}, +"desiredEnableCiliumClusterwideNetworkPolicy": { +"description": "Enable/Disable Cilium Clusterwide Network Policy for the cluster.", +"type": "boolean" +}, +"desiredEnableFqdnNetworkPolicy": { +"description": "Enable/Disable FQDN Network Policy for the cluster.", +"type": "boolean" +}, +"desiredEnableMultiNetworking": { +"description": "Enable/Disable Multi-Networking for the cluster", +"type": "boolean" +}, +"desiredEnablePrivateEndpoint": { +"deprecated": true, +"description": "Enable/Disable private endpoint for the cluster's master. Deprecated: Use desired_control_plane_endpoints_config.ip_endpoints_config.enable_public_endpoint instead. Note that the value of enable_public_endpoint is reversed: if enable_private_endpoint is false, then enable_public_endpoint will be true.", +"type": "boolean" +}, +"desiredEnterpriseConfig": { +"$ref": "DesiredEnterpriseConfig", +"description": "The desired enterprise configuration for the cluster." +}, +"desiredFleet": { +"$ref": "Fleet", +"description": "The desired fleet configuration for the cluster." +}, +"desiredGatewayApiConfig": { +"$ref": "GatewayAPIConfig", +"description": "The desired config of Gateway API on this cluster." +}, +"desiredGcfsConfig": { +"$ref": "GcfsConfig", +"description": "The desired GCFS config for the cluster." +}, +"desiredHostMaintenancePolicy": { +"$ref": "HostMaintenancePolicy", +"description": "HostMaintenancePolicy contains the desired maintenance policy for the Google Compute Engine hosts." +}, +"desiredIdentityServiceConfig": { +"$ref": "IdentityServiceConfig", +"description": "The desired Identity Service component configuration." +}, +"desiredImageType": { +"description": "The desired image type for the node pool. NOTE: Set the \"desired_node_pool\" field as well.", +"type": "string" +}, +"desiredInTransitEncryptionConfig": { +"description": "Specify the details of in-transit encryption. Now named inter-node transparent encryption.", +"enum": [ +"IN_TRANSIT_ENCRYPTION_CONFIG_UNSPECIFIED", +"IN_TRANSIT_ENCRYPTION_DISABLED", +"IN_TRANSIT_ENCRYPTION_INTER_NODE_TRANSPARENT" +], +"enumDescriptions": [ +"Unspecified, will be inferred as default - IN_TRANSIT_ENCRYPTION_UNSPECIFIED.", +"In-transit encryption is disabled.", +"Data in-transit is encrypted using inter-node transparent encryption." +], +"type": "string" +}, +"desiredIntraNodeVisibilityConfig": { +"$ref": "IntraNodeVisibilityConfig", +"description": "The desired config of Intra-node visibility." +}, +"desiredK8sBetaApis": { +"$ref": "K8sBetaAPIConfig", +"description": "Beta APIs enabled for cluster." +}, +"desiredL4ilbSubsettingConfig": { +"$ref": "ILBSubsettingConfig", +"description": "The desired L4 Internal Load Balancer Subsetting configuration." +}, +"desiredLocations": { +"description": "The desired list of Google Compute Engine [zones](https://cloud.google.com/compute/docs/zones#available) in which the cluster's nodes should be located. This list must always include the cluster's primary zone. Warning: changing cluster locations will update the locations of all node pools and will result in nodes being added and/or removed.", +"items": { +"type": "string" +}, +"type": "array" +}, +"desiredLoggingConfig": { +"$ref": "LoggingConfig", +"description": "The desired logging configuration." +}, +"desiredLoggingService": { +"description": "The logging service the cluster should use to write logs. Currently available options: * `logging.googleapis.com/kubernetes` - The Cloud Logging service with a Kubernetes-native resource model * `logging.googleapis.com` - The legacy Cloud Logging service (no longer available as of GKE 1.15). * `none` - no logs will be exported from the cluster. If left as an empty string,`logging.googleapis.com/kubernetes` will be used for GKE 1.14+ or `logging.googleapis.com` for earlier versions.", +"type": "string" +}, +"desiredMaster": { +"$ref": "Master", +"description": "Configuration for master components." +}, +"desiredMasterAuthorizedNetworksConfig": { +"$ref": "MasterAuthorizedNetworksConfig", +"deprecated": true, +"description": "The desired configuration options for master authorized networks feature. Deprecated: Use desired_control_plane_endpoints_config.ip_endpoints_config.authorized_networks_config instead." +}, +"desiredMasterVersion": { +"description": "The Kubernetes version to change the master to. The only valid value is the latest supported version. Users may specify either explicit versions offered by Kubernetes Engine or version aliases, which have the following behavior: - \"latest\": picks the highest valid Kubernetes version - \"1.X\": picks the highest valid patch+gke.N patch in the 1.X version - \"1.X.Y\": picks the highest valid gke.N patch in the 1.X.Y version - \"1.X.Y-gke.N\": picks an explicit Kubernetes version - \"-\": picks the default Kubernetes version", +"type": "string" +}, +"desiredMeshCertificates": { +"$ref": "MeshCertificates", +"description": "Configuration for issuance of mTLS keys and certificates to Kubernetes pods." +}, +"desiredMonitoringConfig": { +"$ref": "MonitoringConfig", +"description": "The desired monitoring configuration." +}, +"desiredMonitoringService": { +"description": "The monitoring service the cluster should use to write metrics. Currently available options: * \"monitoring.googleapis.com/kubernetes\" - The Cloud Monitoring service with a Kubernetes-native resource model * `monitoring.googleapis.com` - The legacy Cloud Monitoring service (no longer available as of GKE 1.15). * `none` - No metrics will be exported from the cluster. If left as an empty string,`monitoring.googleapis.com/kubernetes` will be used for GKE 1.14+ or `monitoring.googleapis.com` for earlier versions.", +"type": "string" +}, +"desiredNetworkPerformanceConfig": { +"$ref": "ClusterNetworkPerformanceConfig", +"description": "The desired network performance config." +}, +"desiredNodeKubeletConfig": { +"$ref": "NodeKubeletConfig", +"description": "The desired node kubelet config for the cluster." +}, +"desiredNodePoolAutoConfigKubeletConfig": { +"$ref": "NodeKubeletConfig", +"description": "The desired node kubelet config for all auto-provisioned node pools in autopilot clusters and node auto-provisioning enabled clusters." +}, +"desiredNodePoolAutoConfigLinuxNodeConfig": { +"$ref": "LinuxNodeConfig", +"description": "The desired Linux node config for all auto-provisioned node pools in autopilot clusters and node auto-provisioning enabled clusters. Currently only `cgroup_mode` can be set here." +}, +"desiredNodePoolAutoConfigNetworkTags": { +"$ref": "NetworkTags", +"description": "The desired network tags that apply to all auto-provisioned node pools in autopilot clusters and node auto-provisioning enabled clusters." +}, +"desiredNodePoolAutoConfigResourceManagerTags": { +"$ref": "ResourceManagerTags", +"description": "The desired resource manager tags that apply to all auto-provisioned node pools in autopilot clusters and node auto-provisioning enabled clusters." +}, +"desiredNodePoolAutoscaling": { +"$ref": "NodePoolAutoscaling", +"description": "Autoscaler configuration for the node pool specified in desired_node_pool_id. If there is only one pool in the cluster and desired_node_pool_id is not provided then the change applies to that single node pool." +}, +"desiredNodePoolId": { +"description": "The node pool to be upgraded. This field is mandatory if \"desired_node_version\", \"desired_image_family\", \"desired_node_pool_autoscaling\", or \"desired_workload_metadata_config\" is specified and there is more than one node pool on the cluster.", +"type": "string" +}, +"desiredNodePoolLoggingConfig": { +"$ref": "NodePoolLoggingConfig", +"description": "The desired node pool logging configuration defaults for the cluster." +}, +"desiredNodeVersion": { +"description": "The Kubernetes version to change the nodes to (typically an upgrade). Users may specify either explicit versions offered by Kubernetes Engine or version aliases, which have the following behavior: - \"latest\": picks the highest valid Kubernetes version - \"1.X\": picks the highest valid patch+gke.N patch in the 1.X version - \"1.X.Y\": picks the highest valid gke.N patch in the 1.X.Y version - \"1.X.Y-gke.N\": picks an explicit Kubernetes version - \"-\": picks the Kubernetes master version", +"type": "string" +}, +"desiredNotificationConfig": { +"$ref": "NotificationConfig", +"description": "The desired notification configuration." +}, +"desiredParentProductConfig": { +"$ref": "ParentProductConfig", +"description": "The desired parent product config for the cluster." +}, +"desiredPodAutoscaling": { +"$ref": "PodAutoscaling", +"description": "The desired config for pod autoscaling." +}, +"desiredPodSecurityPolicyConfig": { +"$ref": "PodSecurityPolicyConfig", +"description": "The desired configuration options for the PodSecurityPolicy feature." +}, +"desiredPrivateClusterConfig": { +"$ref": "PrivateClusterConfig", +"deprecated": true, +"description": "The desired private cluster configuration. master_global_access_config is the only field that can be changed via this field. See also ClusterUpdate.desired_enable_private_endpoint for modifying other fields within PrivateClusterConfig. Deprecated: Use desired_control_plane_endpoints_config.ip_endpoints_config.global_access instead." +}, +"desiredPrivateIpv6GoogleAccess": { +"description": "The desired state of IPv6 connectivity to Google Services.", +"enum": [ +"PRIVATE_IPV6_GOOGLE_ACCESS_UNSPECIFIED", +"PRIVATE_IPV6_GOOGLE_ACCESS_DISABLED", +"PRIVATE_IPV6_GOOGLE_ACCESS_TO_GOOGLE", +"PRIVATE_IPV6_GOOGLE_ACCESS_BIDIRECTIONAL" +], +"enumDescriptions": [ +"Default value. Same as DISABLED", +"No private access to or from Google Services", +"Enables private IPv6 access to Google Services from GKE", +"Enables private IPv6 access to and from Google Services" +], +"type": "string" +}, +"desiredProtectConfig": { +"$ref": "ProtectConfig", +"deprecated": true, +"description": "Deprecated: Use DesiredSecurityPostureConfig instead. Enable/Disable Protect API features for the cluster." +}, +"desiredRbacBindingConfig": { +"$ref": "RBACBindingConfig", +"description": "RBACBindingConfig allows user to restrict ClusterRoleBindings an RoleBindings that can be created." +}, +"desiredReleaseChannel": { +"$ref": "ReleaseChannel", +"description": "The desired release channel configuration." +}, +"desiredResourceUsageExportConfig": { +"$ref": "ResourceUsageExportConfig", +"description": "The desired configuration for exporting resource usage." +}, +"desiredSecretManagerConfig": { +"$ref": "SecretManagerConfig", +"description": "Enable/Disable Secret Manager Config." +}, +"desiredSecurityPostureConfig": { +"$ref": "SecurityPostureConfig", +"description": "Enable/Disable Security Posture API features for the cluster." +}, +"desiredServiceExternalIpsConfig": { +"$ref": "ServiceExternalIPsConfig", +"description": "ServiceExternalIPsConfig specifies the config for the use of Services with ExternalIPs field." +}, +"desiredShieldedNodes": { +"$ref": "ShieldedNodes", +"description": "Configuration for Shielded Nodes." +}, +"desiredStackType": { +"description": "The desired stack type of the cluster. If a stack type is provided and does not match the current stack type of the cluster, update will attempt to change the stack type to the new type.", +"enum": [ +"STACK_TYPE_UNSPECIFIED", +"IPV4", +"IPV4_IPV6" +], +"enumDescriptions": [ +"By default, the clusters will be IPV4 only", +"The value used if the cluster is a IPV4 only", +"The value used if the cluster is a dual stack cluster" +], +"type": "string" +}, +"desiredTpuConfig": { +"$ref": "TpuConfig", +"description": "The desired Cloud TPU configuration." +}, +"desiredVerticalPodAutoscaling": { +"$ref": "VerticalPodAutoscaling", +"description": "Cluster-level Vertical Pod Autoscaling configuration." +}, +"desiredWorkloadAltsConfig": { +"$ref": "WorkloadALTSConfig", +"description": "Configuration for direct-path (via ALTS) with workload identity." +}, +"desiredWorkloadCertificates": { +"$ref": "WorkloadCertificates", +"description": "Configuration for issuance of mTLS keys and certificates to Kubernetes pods." +}, +"desiredWorkloadIdentityConfig": { +"$ref": "WorkloadIdentityConfig", +"description": "Configuration for Workload Identity." +}, +"enableK8sBetaApis": { +"$ref": "K8sBetaAPIConfig", +"description": "Kubernetes open source beta apis enabled on the cluster. Only beta apis" +}, +"etag": { +"description": "The current etag of the cluster. If an etag is provided and does not match the current etag of the cluster, update will be blocked and an ABORTED error will be returned.", +"type": "string" +}, +"privateClusterConfig": { +"$ref": "PrivateClusterConfig", +"deprecated": true, +"description": "The desired private cluster configuration. Has no effect. Use desired_private_cluster_config instead." +}, +"removedAdditionalPodRangesConfig": { +"$ref": "AdditionalPodRangesConfig", +"description": "The additional pod ranges that are to be removed from the cluster. The pod ranges specified here must have been specified earlier in the 'additional_pod_ranges_config' argument." +}, +"userManagedKeysConfig": { +"$ref": "UserManagedKeysConfig", +"description": "The Custom keys configuration for the cluster." +} +}, +"type": "object" +}, +"ClusterUpgradeInfo": { +"description": "ClusterUpgradeInfo contains the upgrade information of a cluster.", +"id": "ClusterUpgradeInfo", +"properties": { +"autoUpgradeStatus": { +"description": "The auto upgrade status.", +"items": { +"enum": [ +"UNKNOWN", +"ACTIVE", +"MINOR_UPGRADE_PAUSED", +"UPGRADE_PAUSED" +], +"enumDescriptions": [ +"UNKNOWN indicates an unknown status.", +"ACTIVE indicates an active status.", +"MINOR_UPGRADE_PAUSED indicates the minor version upgrade is paused.", +"UPGRADE_PAUSED indicates the upgrade is paused." +], +"type": "string" +}, +"type": "array" +}, +"endOfExtendedSupportTimestamp": { +"description": "The cluster's current minor version's end of extended support timestamp.", +"type": "string" +}, +"endOfStandardSupportTimestamp": { +"description": "The cluster's current minor version's end of standard support timestamp.", +"type": "string" +}, +"minorTargetVersion": { +"description": "minor_target_version indicates the target version for minor upgrade.", +"type": "string" +}, +"patchTargetVersion": { +"description": "patch_target_version indicates the target version for patch upgrade.", +"type": "string" +}, +"pausedReason": { +"description": "The auto upgrade paused reason.", +"items": { +"enum": [ +"AUTO_UPGRADE_PAUSED_REASON_UNSPECIFIED", +"MAINTENANCE_WINDOW", +"MAINTENANCE_EXCLUSION_NO_UPGRADES", +"MAINTENANCE_EXCLUSION_NO_MINOR_UPGRADES", +"CLUSTER_DISRUPTION_BUDGET", +"CLUSTER_DISRUPTION_BUDGET_MINOR_UPGRADE", +"SYSTEM_CONFIG" +], +"enumDescriptions": [ +"AUTO_UPGRADE_PAUSED_REASON_UNSPECIFIED indicates an unspecified reason.", +"MAINTENANCE_WINDOW indicates the cluster is outside customer maintenance window.", +"MAINTENANCE_EXCLUSION_NO_UPGRADES indicates the cluster is in a maintenance exclusion with scope NO_UPGRADES.", +"MAINTENANCE_EXCLUSION_NO_MINOR_UPGRADES indicates the cluster is in a maintenance exclusion with scope NO_MINOR_UPGRADES.", +"CLUSTER_DISRUPTION_BUDGET indicates the cluster is outside the cluster disruption budget.", +"CLUSTER_DISRUPTION_BUDGET_MINOR_UPGRADE indicates the cluster is outside the cluster disruption budget for minor version upgrade.", +"SYSTEM_CONFIG indicates the cluster upgrade is paused by system config." +], +"type": "string" +}, +"type": "array" +}, +"upgradeDetails": { +"description": "The list of past auto upgrades.", +"items": { +"$ref": "UpgradeDetails" +}, +"type": "array" +} +}, +"type": "object" +}, +"CompleteIPRotationRequest": { +"description": "CompleteIPRotationRequest moves the cluster master back into single-IP mode.", +"id": "CompleteIPRotationRequest", +"properties": { +"clusterId": { +"deprecated": true, +"description": "Required. Deprecated. The name of the cluster. This field has been deprecated and replaced by the name field.", +"type": "string" +}, +"name": { +"description": "The name (project, location, cluster name) of the cluster to complete IP rotation. Specified in the format `projects/*/locations/*/clusters/*`.", +"type": "string" +}, +"projectId": { +"deprecated": true, +"description": "Required. Deprecated. The Google Developers Console [project ID or project number](https://cloud.google.com/resource-manager/docs/creating-managing-projects). This field has been deprecated and replaced by the name field.", +"type": "string" +}, +"zone": { +"deprecated": true, +"description": "Required. Deprecated. The name of the Google Compute Engine [zone](https://cloud.google.com/compute/docs/zones#available) in which the cluster resides. This field has been deprecated and replaced by the name field.", +"type": "string" +} +}, +"type": "object" +}, +"CompleteNodePoolUpgradeRequest": { +"description": "CompleteNodePoolUpgradeRequest sets the name of target node pool to complete upgrade.", +"id": "CompleteNodePoolUpgradeRequest", +"properties": {}, +"type": "object" +}, +"CompliancePostureConfig": { +"description": "CompliancePostureConfig defines the settings needed to enable/disable features for the Compliance Posture.", +"id": "CompliancePostureConfig", +"properties": { +"complianceStandards": { +"description": "List of enabled compliance standards.", +"items": { +"$ref": "ComplianceStandard" +}, +"type": "array" +}, +"mode": { +"description": "Defines the enablement mode for Compliance Posture.", +"enum": [ +"MODE_UNSPECIFIED", +"DISABLED", +"ENABLED" +], +"enumDescriptions": [ +"Default value not specified.", +"Disables Compliance Posture features on the cluster.", +"Enables Compliance Posture features on the cluster." +], +"type": "string" +} +}, +"type": "object" +}, +"ComplianceStandard": { +"description": "Defines the details of a compliance standard.", +"id": "ComplianceStandard", +"properties": { +"standard": { +"description": "Name of the compliance standard.", +"type": "string" +} +}, +"type": "object" +}, +"ConfidentialNodes": { +"description": "ConfidentialNodes is configuration for the confidential nodes feature, which makes nodes run on confidential VMs.", +"id": "ConfidentialNodes", +"properties": { +"enabled": { +"description": "Whether Confidential Nodes feature is enabled.", +"type": "boolean" +} +}, +"type": "object" +}, +"ConfigConnectorConfig": { +"description": "Configuration options for the Config Connector add-on.", +"id": "ConfigConnectorConfig", +"properties": { +"enabled": { +"description": "Whether Cloud Connector is enabled for this cluster.", +"type": "boolean" +} +}, +"type": "object" +}, +"ConsumptionMeteringConfig": { +"description": "Parameters for controlling consumption metering.", +"id": "ConsumptionMeteringConfig", +"properties": { +"enabled": { +"description": "Whether to enable consumption metering for this cluster. If enabled, a second BigQuery table will be created to hold resource consumption records.", +"type": "boolean" +} +}, +"type": "object" +}, +"ContainerdConfig": { +"description": "ContainerdConfig contains configuration to customize containerd.", +"id": "ContainerdConfig", +"properties": { +"privateRegistryAccessConfig": { +"$ref": "PrivateRegistryAccessConfig", +"description": "PrivateRegistryAccessConfig is used to configure access configuration for private container registries." +} +}, +"type": "object" +}, +"ControlPlaneEndpointsConfig": { +"description": "Configuration for all of the cluster's control plane endpoints.", +"id": "ControlPlaneEndpointsConfig", +"properties": { +"dnsEndpointConfig": { +"$ref": "DNSEndpointConfig", +"description": "DNS endpoint configuration." +}, +"ipEndpointsConfig": { +"$ref": "IPEndpointsConfig", +"description": "IP endpoints configuration." +} +}, +"type": "object" +}, +"CostManagementConfig": { +"description": "Configuration for fine-grained cost management feature.", +"id": "CostManagementConfig", +"properties": { +"enabled": { +"description": "Whether the feature is enabled or not.", +"type": "boolean" +} +}, +"type": "object" +}, +"CreateClusterRequest": { +"description": "CreateClusterRequest creates a cluster.", +"id": "CreateClusterRequest", +"properties": { +"cluster": { +"$ref": "Cluster", +"description": "Required. A [cluster resource](https://cloud.google.com/container-engine/reference/rest/v1beta1/projects.locations.clusters)" +}, +"parent": { +"description": "The parent (project and location) where the cluster will be created. Specified in the format `projects/*/locations/*`.", +"type": "string" +}, +"projectId": { +"deprecated": true, +"description": "Required. Deprecated. The Google Developers Console [project ID or project number](https://cloud.google.com/resource-manager/docs/creating-managing-projects). This field has been deprecated and replaced by the parent field.", +"type": "string" +}, +"zone": { +"deprecated": true, +"description": "Required. Deprecated. The name of the Google Compute Engine [zone](https://cloud.google.com/compute/docs/zones#available) in which the cluster resides. This field has been deprecated and replaced by the parent field.", +"type": "string" +} +}, +"type": "object" +}, +"CreateNodePoolRequest": { +"description": "CreateNodePoolRequest creates a node pool for a cluster.", +"id": "CreateNodePoolRequest", +"properties": { +"clusterId": { +"deprecated": true, +"description": "Required. Deprecated. The name of the cluster. This field has been deprecated and replaced by the parent field.", +"type": "string" +}, +"nodePool": { +"$ref": "NodePool", +"description": "Required. The node pool to create." +}, +"parent": { +"description": "The parent (project, location, cluster name) where the node pool will be created. Specified in the format `projects/*/locations/*/clusters/*`.", +"type": "string" +}, +"projectId": { +"deprecated": true, +"description": "Required. Deprecated. The Google Developers Console [project ID or project number](https://cloud.google.com/resource-manager/docs/creating-managing-projects). This field has been deprecated and replaced by the parent field.", +"type": "string" +}, +"zone": { +"deprecated": true, +"description": "Required. Deprecated. The name of the Google Compute Engine [zone](https://cloud.google.com/compute/docs/zones#available) in which the cluster resides. This field has been deprecated and replaced by the parent field.", +"type": "string" +} +}, +"type": "object" +}, +"DNSConfig": { +"description": "DNSConfig contains the desired set of options for configuring clusterDNS.", +"id": "DNSConfig", +"properties": { +"additiveVpcScopeDnsDomain": { +"description": "Optional. The domain used in Additive VPC scope.", +"type": "string" +}, +"clusterDns": { +"description": "cluster_dns indicates which in-cluster DNS provider should be used.", +"enum": [ +"PROVIDER_UNSPECIFIED", +"PLATFORM_DEFAULT", +"CLOUD_DNS", +"KUBE_DNS" +], +"enumDescriptions": [ +"Default value", +"Use GKE default DNS provider(kube-dns) for DNS resolution.", +"Use CloudDNS for DNS resolution.", +"Use KubeDNS for DNS resolution." +], +"type": "string" +}, +"clusterDnsDomain": { +"description": "cluster_dns_domain is the suffix used for all cluster service records.", +"type": "string" +}, +"clusterDnsScope": { +"description": "cluster_dns_scope indicates the scope of access to cluster DNS records.", +"enum": [ +"DNS_SCOPE_UNSPECIFIED", +"CLUSTER_SCOPE", +"VPC_SCOPE" +], +"enumDescriptions": [ +"Default value, will be inferred as cluster scope.", +"DNS records are accessible from within the cluster.", +"DNS records are accessible from within the VPC." +], +"type": "string" +} +}, +"type": "object" +}, +"DNSEndpointConfig": { +"description": "Describes the configuration of a DNS endpoint.", +"id": "DNSEndpointConfig", +"properties": { +"allowExternalTraffic": { +"description": "Controls whether user traffic is allowed over this endpoint. Note that GCP-managed services may still use the endpoint even if this is false.", +"type": "boolean" +}, +"endpoint": { +"description": "Output only. The cluster's DNS endpoint configuration. A DNS format address. This is accessible from the public internet. Ex: uid.us-central1.gke.goog. Always present, but the behavior may change according to the value of DNSEndpointConfig.allow_external_traffic.", +"readOnly": true, +"type": "string" +} +}, +"type": "object" +}, +"DailyMaintenanceWindow": { +"description": "Time window specified for daily maintenance operations.", +"id": "DailyMaintenanceWindow", +"properties": { +"duration": { +"description": "Output only. Duration of the time window, automatically chosen to be smallest possible in the given scenario.", +"readOnly": true, +"type": "string" +}, +"startTime": { +"description": "Time within the maintenance window to start the maintenance operations. It must be in format \"HH:MM\", where HH : [00-23] and MM : [00-59] GMT.", +"type": "string" +} +}, +"type": "object" +}, +"DatabaseEncryption": { +"description": "Configuration of etcd encryption.", +"id": "DatabaseEncryption", +"properties": { +"currentState": { +"description": "Output only. The current state of etcd encryption.", +"enum": [ +"CURRENT_STATE_UNSPECIFIED", +"CURRENT_STATE_ENCRYPTED", +"CURRENT_STATE_DECRYPTED", +"CURRENT_STATE_ENCRYPTION_PENDING", +"CURRENT_STATE_ENCRYPTION_ERROR", +"CURRENT_STATE_DECRYPTION_PENDING", +"CURRENT_STATE_DECRYPTION_ERROR" +], +"enumDescriptions": [ +"Should never be set", +"Secrets in etcd are encrypted.", +"Secrets in etcd are stored in plain text (at etcd level) - this is unrelated to Compute Engine level full disk encryption.", +"Encryption (or re-encryption with a different CloudKMS key) of Secrets is in progress.", +"Encryption (or re-encryption with a different CloudKMS key) of Secrets in etcd encountered an error.", +"De-crypting Secrets to plain text in etcd is in progress.", +"De-crypting Secrets to plain text in etcd encountered an error." +], +"readOnly": true, +"type": "string" +}, +"decryptionKeys": { +"description": "Output only. Keys in use by the cluster for decrypting existing objects, in addition to the key in `key_name`. Each item is a CloudKMS key resource.", +"items": { +"type": "string" +}, +"readOnly": true, +"type": "array" +}, +"keyName": { +"description": "Name of CloudKMS key to use for the encryption of secrets in etcd. Ex. projects/my-project/locations/global/keyRings/my-ring/cryptoKeys/my-key", +"type": "string" +}, +"lastOperationErrors": { +"description": "Output only. Records errors seen during DatabaseEncryption update operations.", +"items": { +"$ref": "OperationError" +}, +"readOnly": true, +"type": "array" +}, +"state": { +"description": "The desired state of etcd encryption.", +"enum": [ +"UNKNOWN", +"ENCRYPTED", +"DECRYPTED" +], +"enumDescriptions": [ +"Should never be set", +"Secrets in etcd are encrypted.", +"Secrets in etcd are stored in plain text (at etcd level) - this is unrelated to Compute Engine level full disk encryption." +], +"type": "string" +} +}, +"type": "object" +}, +"Date": { +"description": "Represents a whole or partial calendar date, such as a birthday. The time of day and time zone are either specified elsewhere or are insignificant. The date is relative to the Gregorian Calendar. This can represent one of the following: * A full date, with non-zero year, month, and day values. * A month and day, with a zero year (for example, an anniversary). * A year on its own, with a zero month and a zero day. * A year and month, with a zero day (for example, a credit card expiration date). Related types: * google.type.TimeOfDay * google.type.DateTime * google.protobuf.Timestamp", +"id": "Date", +"properties": { +"day": { +"description": "Day of a month. Must be from 1 to 31 and valid for the year and month, or 0 to specify a year by itself or a year and month where the day isn't significant.", +"format": "int32", +"type": "integer" +}, +"month": { +"description": "Month of a year. Must be from 1 to 12, or 0 to specify a year without a month and day.", +"format": "int32", +"type": "integer" +}, +"year": { +"description": "Year of the date. Must be from 1 to 9999, or 0 to specify a date without a year.", +"format": "int32", +"type": "integer" +} +}, +"type": "object" +}, +"DefaultSnatStatus": { +"description": "DefaultSnatStatus contains the desired state of whether default sNAT should be disabled on the cluster.", +"id": "DefaultSnatStatus", +"properties": { +"disabled": { +"description": "Disables cluster default sNAT rules.", +"type": "boolean" +} +}, +"type": "object" +}, +"DesiredEnterpriseConfig": { +"description": "DesiredEnterpriseConfig is a wrapper used for updating enterprise_config.", +"id": "DesiredEnterpriseConfig", +"properties": { +"desiredTier": { +"description": "desired_tier specifies the desired tier of the cluster.", +"enum": [ +"CLUSTER_TIER_UNSPECIFIED", +"STANDARD", +"ENTERPRISE" +], +"enumDescriptions": [ +"CLUSTER_TIER_UNSPECIFIED is when cluster_tier is not set.", +"STANDARD indicates a standard GKE cluster.", +"ENTERPRISE indicates a GKE Enterprise cluster." +], +"type": "string" +} +}, +"type": "object" +}, +"DnsCacheConfig": { +"description": "Configuration for NodeLocal DNSCache", +"id": "DnsCacheConfig", +"properties": { +"enabled": { +"description": "Whether NodeLocal DNSCache is enabled for this cluster.", +"type": "boolean" +} +}, +"type": "object" +}, +"Empty": { +"description": "A generic empty message that you can re-use to avoid defining duplicated empty messages in your APIs. A typical example is to use it as the request or the response type of an API method. For instance: service Foo { rpc Bar(google.protobuf.Empty) returns (google.protobuf.Empty); }", +"id": "Empty", +"properties": {}, +"type": "object" +}, +"EnterpriseConfig": { +"description": "EnterpriseConfig is the cluster enterprise configuration.", +"id": "EnterpriseConfig", +"properties": { +"clusterTier": { +"description": "Output only. cluster_tier indicates the effective tier of the cluster.", +"enum": [ +"CLUSTER_TIER_UNSPECIFIED", +"STANDARD", +"ENTERPRISE" +], +"enumDescriptions": [ +"CLUSTER_TIER_UNSPECIFIED is when cluster_tier is not set.", +"STANDARD indicates a standard GKE cluster.", +"ENTERPRISE indicates a GKE Enterprise cluster." +], +"readOnly": true, +"type": "string" +}, +"desiredTier": { +"description": "desired_tier specifies the desired tier of the cluster.", +"enum": [ +"CLUSTER_TIER_UNSPECIFIED", +"STANDARD", +"ENTERPRISE" +], +"enumDescriptions": [ +"CLUSTER_TIER_UNSPECIFIED is when cluster_tier is not set.", +"STANDARD indicates a standard GKE cluster.", +"ENTERPRISE indicates a GKE Enterprise cluster." +], +"type": "string" +} +}, +"type": "object" +}, +"EphemeralStorageConfig": { +"description": "EphemeralStorageConfig contains configuration for the ephemeral storage filesystem.", +"id": "EphemeralStorageConfig", +"properties": { +"localSsdCount": { +"description": "Number of local SSDs to use to back ephemeral storage. Uses NVMe interfaces. The limit for this value is dependent upon the maximum number of disk available on a machine per zone. See: https://cloud.google.com/compute/docs/disks/local-ssd for more information. A zero (or unset) value has different meanings depending on machine type being used: 1. For pre-Gen3 machines, which support flexible numbers of local ssds, zero (or unset) means to disable using local SSDs as ephemeral storage. 2. For Gen3 machines which dictate a specific number of local ssds, zero (or unset) means to use the default number of local ssds that goes with that machine type. For example, for a c3-standard-8-lssd machine, 2 local ssds would be provisioned. For c3-standard-8 (which doesn't support local ssds), 0 will be provisioned. See https://cloud.google.com/compute/docs/disks/local-ssd#choose_number_local_ssds for more info.", +"format": "int32", +"type": "integer" +} +}, +"type": "object" +}, +"EphemeralStorageLocalSsdConfig": { +"description": "EphemeralStorageLocalSsdConfig contains configuration for the node ephemeral storage using Local SSDs.", +"id": "EphemeralStorageLocalSsdConfig", +"properties": { +"localSsdCount": { +"description": "Number of local SSDs to use to back ephemeral storage. Uses NVMe interfaces. A zero (or unset) value has different meanings depending on machine type being used: 1. For pre-Gen3 machines, which support flexible numbers of local ssds, zero (or unset) means to disable using local SSDs as ephemeral storage. The limit for this value is dependent upon the maximum number of disk available on a machine per zone. See: https://cloud.google.com/compute/docs/disks/local-ssd for more information. 2. For Gen3 machines which dictate a specific number of local ssds, zero (or unset) means to use the default number of local ssds that goes with that machine type. For example, for a c3-standard-8-lssd machine, 2 local ssds would be provisioned. For c3-standard-8 (which doesn't support local ssds), 0 will be provisioned. See https://cloud.google.com/compute/docs/disks/local-ssd#choose_number_local_ssds for more info.", +"format": "int32", +"type": "integer" +} +}, +"type": "object" +}, +"FastSocket": { +"description": "Configuration of Fast Socket feature.", +"id": "FastSocket", +"properties": { +"enabled": { +"description": "Whether Fast Socket features are enabled in the node pool.", +"type": "boolean" +} +}, +"type": "object" +}, +"Filter": { +"description": "Allows filtering to one or more specific event types. If event types are present, those and only those event types will be transmitted to the cluster. Other types will be skipped. If no filter is specified, or no event types are present, all event types will be sent", +"id": "Filter", +"properties": { +"eventType": { +"description": "Event types to allowlist.", +"items": { +"enum": [ +"EVENT_TYPE_UNSPECIFIED", +"UPGRADE_AVAILABLE_EVENT", +"UPGRADE_EVENT", +"SECURITY_BULLETIN_EVENT" +], +"enumDescriptions": [ +"Not set, will be ignored.", +"Corresponds with UpgradeAvailableEvent.", +"Corresponds with UpgradeEvent.", +"Corresponds with SecurityBulletinEvent." +], +"type": "string" +}, +"type": "array" +} +}, +"type": "object" +}, +"Fleet": { +"description": "Fleet is the fleet configuration for the cluster.", +"id": "Fleet", +"properties": { +"membership": { +"description": "Output only. The full resource name of the registered fleet membership of the cluster, in the format `//gkehub.googleapis.com/projects/*/locations/*/memberships/*`.", +"readOnly": true, +"type": "string" +}, +"preRegistered": { +"description": "Output only. Whether the cluster has been registered through the fleet API.", +"readOnly": true, +"type": "boolean" +}, +"project": { +"description": "The Fleet host project(project ID or project number) where this cluster will be registered to. This field cannot be changed after the cluster has been registered.", +"type": "string" +} +}, +"type": "object" +}, +"GCPSecretManagerCertificateConfig": { +"description": "GCPSecretManagerCertificateConfig configures a secret from [Google Secret Manager](https://cloud.google.com/secret-manager).", +"id": "GCPSecretManagerCertificateConfig", +"properties": { +"secretUri": { +"description": "Secret URI, in the form \"projects/$PROJECT_ID/secrets/$SECRET_NAME/versions/$VERSION\". Version can be fixed (e.g. \"2\") or \"latest\"", +"type": "string" +} +}, +"type": "object" +}, +"GPUDriverInstallationConfig": { +"description": "GPUDriverInstallationConfig specifies the version of GPU driver to be auto installed.", +"id": "GPUDriverInstallationConfig", +"properties": { +"gpuDriverVersion": { +"description": "Mode for how the GPU driver is installed.", +"enum": [ +"GPU_DRIVER_VERSION_UNSPECIFIED", +"INSTALLATION_DISABLED", +"DEFAULT", +"LATEST" +], +"enumDescriptions": [ +"Default value is to not install any GPU driver.", +"Disable GPU driver auto installation and needs manual installation", +"\"Default\" GPU driver in COS and Ubuntu.", +"\"Latest\" GPU driver in COS." +], +"type": "string" +} +}, +"type": "object" +}, +"GPUSharingConfig": { +"description": "GPUSharingConfig represents the GPU sharing configuration for Hardware Accelerators.", +"id": "GPUSharingConfig", +"properties": { +"gpuSharingStrategy": { +"description": "The type of GPU sharing strategy to enable on the GPU node.", +"enum": [ +"GPU_SHARING_STRATEGY_UNSPECIFIED", +"TIME_SHARING", +"MPS" +], +"enumDescriptions": [ +"Default value.", +"GPUs are time-shared between containers.", +"GPUs are shared between containers with NVIDIA MPS." +], +"type": "string" +}, +"maxSharedClientsPerGpu": { +"description": "The max number of containers that can share a physical GPU.", +"format": "int64", +"type": "string" +} +}, +"type": "object" +}, +"GatewayAPIConfig": { +"description": "GatewayAPIConfig contains the desired config of Gateway API on this cluster.", +"id": "GatewayAPIConfig", +"properties": { +"channel": { +"description": "The Gateway API release channel to use for Gateway API.", +"enum": [ +"CHANNEL_UNSPECIFIED", +"CHANNEL_DISABLED", +"CHANNEL_EXPERIMENTAL", +"CHANNEL_STANDARD" +], +"enumDeprecated": [ +false, +false, +true, +false +], +"enumDescriptions": [ +"Default value.", +"Gateway API support is disabled", +"Deprecated: use CHANNEL_STANDARD instead. Gateway API support is enabled, experimental CRDs are installed", +"Gateway API support is enabled, standard CRDs are installed" +], +"type": "string" +} +}, +"type": "object" +}, +"GcePersistentDiskCsiDriverConfig": { +"description": "Configuration for the Compute Engine PD CSI driver.", +"id": "GcePersistentDiskCsiDriverConfig", +"properties": { +"enabled": { +"description": "Whether the Compute Engine PD CSI driver is enabled for this cluster.", +"type": "boolean" +} +}, +"type": "object" +}, +"GcfsConfig": { +"description": "GcfsConfig contains configurations of Google Container File System.", +"id": "GcfsConfig", +"properties": { +"enabled": { +"description": "Whether to use GCFS.", +"type": "boolean" +} +}, +"type": "object" +}, +"GcpFilestoreCsiDriverConfig": { +"description": "Configuration for the GCP Filestore CSI driver.", +"id": "GcpFilestoreCsiDriverConfig", +"properties": { +"enabled": { +"description": "Whether the GCP Filestore CSI driver is enabled for this cluster.", +"type": "boolean" +} +}, +"type": "object" +}, +"GcsFuseCsiDriverConfig": { +"description": "Configuration for the Cloud Storage Fuse CSI driver.", +"id": "GcsFuseCsiDriverConfig", +"properties": { +"enabled": { +"description": "Whether the Cloud Storage Fuse CSI driver is enabled for this cluster.", +"type": "boolean" +} +}, +"type": "object" +}, +"GetJSONWebKeysResponse": { +"description": "GetJSONWebKeysResponse is a valid JSON Web Key Set as specififed in rfc 7517", +"id": "GetJSONWebKeysResponse", +"properties": { +"cacheHeader": { +"$ref": "HttpCacheControlResponseHeader", +"description": "For HTTP requests, this field is automatically extracted into the Cache-Control HTTP header." +}, +"keys": { +"description": "The public component of the keys used by the cluster to sign token requests.", +"items": { +"$ref": "Jwk" +}, +"type": "array" +} +}, +"type": "object" +}, +"GetOpenIDConfigResponse": { +"description": "GetOpenIDConfigResponse is an OIDC discovery document for the cluster. See the OpenID Connect Discovery 1.0 specification for details.", +"id": "GetOpenIDConfigResponse", +"properties": { +"cacheHeader": { +"$ref": "HttpCacheControlResponseHeader", +"description": "For HTTP requests, this field is automatically extracted into the Cache-Control HTTP header." +}, +"claims_supported": { +"description": "Supported claims.", +"items": { +"type": "string" +}, +"type": "array" +}, +"grant_types": { +"description": "Supported grant types.", +"items": { +"type": "string" +}, +"type": "array" +}, +"id_token_signing_alg_values_supported": { +"description": "supported ID Token signing Algorithms.", +"items": { +"type": "string" +}, +"type": "array" +}, +"issuer": { +"description": "OIDC Issuer.", +"type": "string" +}, +"jwks_uri": { +"description": "JSON Web Key uri.", +"type": "string" +}, +"response_types_supported": { +"description": "Supported response types.", +"items": { +"type": "string" +}, +"type": "array" +}, +"subject_types_supported": { +"description": "Supported subject types.", +"items": { +"type": "string" +}, +"type": "array" +} +}, +"type": "object" +}, +"GkeBackupAgentConfig": { +"description": "Configuration for the Backup for GKE Agent.", +"id": "GkeBackupAgentConfig", +"properties": { +"enabled": { +"description": "Whether the Backup for GKE agent is enabled for this cluster.", +"type": "boolean" +} +}, +"type": "object" +}, +"HorizontalPodAutoscaling": { +"description": "Configuration options for the horizontal pod autoscaling feature, which increases or decreases the number of replica pods a replication controller has based on the resource usage of the existing pods.", +"id": "HorizontalPodAutoscaling", +"properties": { +"disabled": { +"description": "Whether the Horizontal Pod Autoscaling feature is enabled in the cluster. When enabled, it ensures that metrics are collected into Stackdriver Monitoring.", +"type": "boolean" +} +}, +"type": "object" +}, +"HostMaintenancePolicy": { +"description": "HostMaintenancePolicy contains the maintenance policy for the hosts on which the GKE VMs run on.", +"id": "HostMaintenancePolicy", +"properties": { +"maintenanceInterval": { +"description": "Specifies the frequency of planned maintenance events.", +"enum": [ +"MAINTENANCE_INTERVAL_UNSPECIFIED", +"AS_NEEDED", +"PERIODIC" +], +"enumDescriptions": [ +"The maintenance interval is not explicitly specified.", +"Nodes are eligible to receive infrastructure and hypervisor updates as they become available. This may result in more maintenance operations (live migrations or terminations) for the node than the PERIODIC option.", +"Nodes receive infrastructure and hypervisor updates on a periodic basis, minimizing the number of maintenance operations (live migrations or terminations) on an individual VM. This may mean underlying VMs will take longer to receive an update than if it was configured for AS_NEEDED. Security updates will still be applied as soon as they are available." +], +"type": "string" +}, +"opportunisticMaintenanceStrategy": { +"$ref": "OpportunisticMaintenanceStrategy", +"description": "Strategy that will trigger maintenance on behalf of the customer." +} +}, +"type": "object" +}, +"HttpCacheControlResponseHeader": { +"description": "RFC-2616: cache control support", +"id": "HttpCacheControlResponseHeader", +"properties": { +"age": { +"description": "14.6 response cache age, in seconds since the response is generated", +"format": "int64", +"type": "string" +}, +"directive": { +"description": "14.9 request and response directives", +"type": "string" +}, +"expires": { +"description": "14.21 response cache expires, in RFC 1123 date format", +"type": "string" +} +}, +"type": "object" +}, +"HttpLoadBalancing": { +"description": "Configuration options for the HTTP (L7) load balancing controller addon, which makes it easy to set up HTTP load balancers for services in a cluster.", +"id": "HttpLoadBalancing", +"properties": { +"disabled": { +"description": "Whether the HTTP Load Balancing controller is enabled in the cluster. When enabled, it runs a small pod in the cluster that manages the load balancers.", +"type": "boolean" +} +}, +"type": "object" +}, +"HugepagesConfig": { +"description": "Hugepages amount in both 2m and 1g size", +"id": "HugepagesConfig", +"properties": { +"hugepageSize1g": { +"description": "Optional. Amount of 1G hugepages", +"format": "int32", +"type": "integer" +}, +"hugepageSize2m": { +"description": "Optional. Amount of 2M hugepages", +"format": "int32", +"type": "integer" +} +}, +"type": "object" +}, +"ILBSubsettingConfig": { +"description": "ILBSubsettingConfig contains the desired config of L4 Internal LoadBalancer subsetting on this cluster.", +"id": "ILBSubsettingConfig", +"properties": { +"enabled": { +"description": "Enables l4 ILB subsetting for this cluster", +"type": "boolean" +} +}, +"type": "object" +}, +"IPAllocationPolicy": { +"description": "Configuration for controlling how IPs are allocated in the cluster.", +"id": "IPAllocationPolicy", +"properties": { +"additionalPodRangesConfig": { +"$ref": "AdditionalPodRangesConfig", +"description": "Output only. The additional pod ranges that are added to the cluster. These pod ranges can be used by new node pools to allocate pod IPs automatically. Once the range is removed it will not show up in IPAllocationPolicy.", +"readOnly": true +}, +"allowRouteOverlap": { +"description": "If true, allow allocation of cluster CIDR ranges that overlap with certain kinds of network routes. By default we do not allow cluster CIDR ranges to intersect with any user declared routes. With allow_route_overlap == true, we allow overlapping with CIDR ranges that are larger than the cluster CIDR range. If this field is set to true, then cluster and services CIDRs must be fully-specified (e.g. `10.96.0.0/14`, but not `/14`), which means: 1) When `use_ip_aliases` is true, `cluster_ipv4_cidr_block` and `services_ipv4_cidr_block` must be fully-specified. 2) When `use_ip_aliases` is false, `cluster.cluster_ipv4_cidr` muse be fully-specified.", +"type": "boolean" +}, +"clusterIpv4Cidr": { +"deprecated": true, +"description": "This field is deprecated, use cluster_ipv4_cidr_block.", +"type": "string" +}, +"clusterIpv4CidrBlock": { +"description": "The IP address range for the cluster pod IPs. If this field is set, then `cluster.cluster_ipv4_cidr` must be left blank. This field is only applicable when `use_ip_aliases` is true. Set to blank to have a range chosen with the default size. Set to /netmask (e.g. `/14`) to have a range chosen with a specific netmask. Set to a [CIDR](http://en.wikipedia.org/wiki/Classless_Inter-Domain_Routing) notation (e.g. `10.96.0.0/14`) from the RFC-1918 private networks (e.g. `10.0.0.0/8`, `172.16.0.0/12`, `192.168.0.0/16`) to pick a specific range to use.", +"type": "string" +}, +"clusterSecondaryRangeName": { +"description": "The name of the secondary range to be used for the cluster CIDR block. The secondary range will be used for pod IP addresses. This must be an existing secondary range associated with the cluster subnetwork. This field is only applicable with use_ip_aliases and create_subnetwork is false.", +"type": "string" +}, +"createSubnetwork": { +"description": "Whether a new subnetwork will be created automatically for the cluster. This field is only applicable when `use_ip_aliases` is true.", +"type": "boolean" +}, +"defaultPodIpv4RangeUtilization": { +"description": "Output only. The utilization of the cluster default IPv4 range for the pod. The ratio is Usage/[Total number of IPs in the secondary range], Usage=numNodes*numZones*podIPsPerNode.", +"format": "double", +"readOnly": true, +"type": "number" +}, +"ipv6AccessType": { +"description": "The ipv6 access type (internal or external) when create_subnetwork is true", +"enum": [ +"IPV6_ACCESS_TYPE_UNSPECIFIED", +"INTERNAL", +"EXTERNAL" +], +"enumDescriptions": [ +"Default value, will be defaulted as type external.", +"Access type internal (all v6 addresses are internal IPs)", +"Access type external (all v6 addresses are external IPs)" +], +"type": "string" +}, +"nodeIpv4Cidr": { +"deprecated": true, +"description": "This field is deprecated, use node_ipv4_cidr_block.", +"type": "string" +}, +"nodeIpv4CidrBlock": { +"description": "The IP address range of the instance IPs in this cluster. This is applicable only if `create_subnetwork` is true. Set to blank to have a range chosen with the default size. Set to /netmask (e.g. `/14`) to have a range chosen with a specific netmask. Set to a [CIDR](http://en.wikipedia.org/wiki/Classless_Inter-Domain_Routing) notation (e.g. `10.96.0.0/14`) from the RFC-1918 private networks (e.g. `10.0.0.0/8`, `172.16.0.0/12`, `192.168.0.0/16`) to pick a specific range to use.", +"type": "string" +}, +"podCidrOverprovisionConfig": { +"$ref": "PodCIDROverprovisionConfig", +"description": "[PRIVATE FIELD] Pod CIDR size overprovisioning config for the cluster. Pod CIDR size per node depends on max_pods_per_node. By default, the value of max_pods_per_node is doubled and then rounded off to next power of 2 to get the size of pod CIDR block per node. Example: max_pods_per_node of 30 would result in 64 IPs (/26). This config can disable the doubling of IPs (we still round off to next power of 2) Example: max_pods_per_node of 30 will result in 32 IPs (/27) when overprovisioning is disabled." +}, +"servicesIpv4Cidr": { +"deprecated": true, +"description": "This field is deprecated, use services_ipv4_cidr_block.", +"type": "string" +}, +"servicesIpv4CidrBlock": { +"description": "The IP address range of the services IPs in this cluster. If blank, a range will be automatically chosen with the default size. This field is only applicable when `use_ip_aliases` is true. Set to blank to have a range chosen with the default size. Set to /netmask (e.g. `/14`) to have a range chosen with a specific netmask. Set to a [CIDR](http://en.wikipedia.org/wiki/Classless_Inter-Domain_Routing) notation (e.g. `10.96.0.0/14`) from the RFC-1918 private networks (e.g. `10.0.0.0/8`, `172.16.0.0/12`, `192.168.0.0/16`) to pick a specific range to use.", +"type": "string" +}, +"servicesIpv6CidrBlock": { +"description": "Output only. The services IPv6 CIDR block for the cluster.", +"readOnly": true, +"type": "string" +}, +"servicesSecondaryRangeName": { +"description": "The name of the secondary range to be used as for the services CIDR block. The secondary range will be used for service ClusterIPs. This must be an existing secondary range associated with the cluster subnetwork. This field is only applicable with use_ip_aliases and create_subnetwork is false.", +"type": "string" +}, +"stackType": { +"description": "IP stack type", +"enum": [ +"STACK_TYPE_UNSPECIFIED", +"IPV4", +"IPV4_IPV6" +], +"enumDescriptions": [ +"By default, the clusters will be IPV4 only", +"The value used if the cluster is a IPV4 only", +"The value used if the cluster is a dual stack cluster" +], +"type": "string" +}, +"subnetIpv6CidrBlock": { +"description": "Output only. The subnet's IPv6 CIDR block used by nodes and pods.", +"readOnly": true, +"type": "string" +}, +"subnetworkName": { +"description": "A custom subnetwork name to be used if `create_subnetwork` is true. If this field is empty, then an automatic name will be chosen for the new subnetwork.", +"type": "string" +}, +"tpuIpv4CidrBlock": { +"description": "The IP address range of the Cloud TPUs in this cluster. If unspecified, a range will be automatically chosen with the default size. This field is only applicable when `use_ip_aliases` is true. If unspecified, the range will use the default size. Set to /netmask (e.g. `/14`) to have a range chosen with a specific netmask. Set to a [CIDR](http://en.wikipedia.org/wiki/Classless_Inter-Domain_Routing) notation (e.g. `10.96.0.0/14`) from the RFC-1918 private networks (e.g. `10.0.0.0/8`, `172.16.0.0/12`, `192.168.0.0/16`) to pick a specific range to use. This field is deprecated, use cluster.tpu_config.ipv4_cidr_block instead.", +"type": "string" +}, +"useIpAliases": { +"description": "Whether alias IPs will be used for pod IPs in the cluster. This is used in conjunction with use_routes. It cannot be true if use_routes is true. If both use_ip_aliases and use_routes are false, then the server picks the default IP allocation mode", +"type": "boolean" +}, +"useRoutes": { +"description": "Whether routes will be used for pod IPs in the cluster. This is used in conjunction with use_ip_aliases. It cannot be true if use_ip_aliases is true. If both use_ip_aliases and use_routes are false, then the server picks the default IP allocation mode", +"type": "boolean" +} +}, +"type": "object" +}, +"IPEndpointsConfig": { +"description": "IP endpoints configuration.", +"id": "IPEndpointsConfig", +"properties": { +"authorizedNetworksConfig": { +"$ref": "MasterAuthorizedNetworksConfig", +"description": "Configuration of authorized networks. If enabled, restricts access to the control plane based on source IP. It is invalid to specify both Cluster.masterAuthorizedNetworksConfig and this field at the same time." +}, +"enablePublicEndpoint": { +"description": "Controls whether the control plane allows access through a public IP. It is invalid to specify both PrivateClusterConfig.enablePrivateEndpoint and this field at the same time.", +"type": "boolean" +}, +"enabled": { +"description": "Controls whether to allow direct IP access.", +"type": "boolean" +}, +"globalAccess": { +"description": "Controls whether the control plane's private endpoint is accessible from sources in other regions. It is invalid to specify both PrivateClusterMasterGlobalAccessConfig.enabled and this field at the same time.", +"type": "boolean" +}, +"privateEndpoint": { +"description": "Output only. The internal IP address of this cluster's control plane. Only populated if enabled.", +"readOnly": true, +"type": "string" +}, +"privateEndpointSubnetwork": { +"description": "Subnet to provision the master's private endpoint during cluster creation. Specified in projects/*/regions/*/subnetworks/* format. It is invalid to specify both PrivateClusterConfig.privateEndpointSubnetwork and this field at the same time.", +"type": "string" +}, +"publicEndpoint": { +"description": "Output only. The external IP address of this cluster's control plane. Only populated if enabled.", +"readOnly": true, +"type": "string" +} +}, +"type": "object" +}, +"IdentityServiceConfig": { +"description": "IdentityServiceConfig is configuration for Identity Service which allows customers to use external identity providers with the K8S API", +"id": "IdentityServiceConfig", +"properties": { +"enabled": { +"description": "Whether to enable the Identity Service component", +"type": "boolean" +} +}, +"type": "object" +}, +"IntraNodeVisibilityConfig": { +"description": "IntraNodeVisibilityConfig contains the desired config of the intra-node visibility on this cluster.", +"id": "IntraNodeVisibilityConfig", +"properties": { +"enabled": { +"description": "Enables intra node visibility for this cluster.", +"type": "boolean" +} +}, +"type": "object" +}, +"IstioConfig": { +"description": "Configuration options for Istio addon.", +"id": "IstioConfig", +"properties": { +"auth": { +"deprecated": true, +"description": "The specified Istio auth mode, either none, or mutual TLS.", +"enum": [ +"AUTH_NONE", +"AUTH_MUTUAL_TLS" +], +"enumDescriptions": [ +"auth not enabled", +"auth mutual TLS enabled" +], +"type": "string" +}, +"disabled": { +"deprecated": true, +"description": "Whether Istio is enabled for this cluster.", +"type": "boolean" +} +}, +"type": "object" +}, +"Jwk": { +"description": "Jwk is a JSON Web Key as specified in RFC 7517", +"id": "Jwk", +"properties": { +"alg": { +"description": "Algorithm.", +"type": "string" +}, +"crv": { +"description": "Used for ECDSA keys.", +"type": "string" +}, +"e": { +"description": "Used for RSA keys.", +"type": "string" +}, +"kid": { +"description": "Key ID.", +"type": "string" +}, +"kty": { +"description": "Key Type.", +"type": "string" +}, +"n": { +"description": "Used for RSA keys.", +"type": "string" +}, +"use": { +"description": "Permitted uses for the public keys.", +"type": "string" +}, +"x": { +"description": "Used for ECDSA keys.", +"type": "string" +}, +"y": { +"description": "Used for ECDSA keys.", +"type": "string" +} +}, +"type": "object" +}, +"K8sBetaAPIConfig": { +"description": "Kubernetes open source beta apis enabled on the cluster.", +"id": "K8sBetaAPIConfig", +"properties": { +"enabledApis": { +"description": "api name, e.g. storage.k8s.io/v1beta1/csistoragecapacities.", +"items": { +"type": "string" +}, +"type": "array" +} +}, +"type": "object" +}, +"KalmConfig": { +"description": "Configuration options for the KALM addon.", +"id": "KalmConfig", +"properties": { +"enabled": { +"deprecated": true, +"description": "Whether KALM is enabled for this cluster.", +"type": "boolean" +} +}, +"type": "object" +}, +"KubernetesDashboard": { +"description": "Configuration for the Kubernetes Dashboard.", +"id": "KubernetesDashboard", +"properties": { +"disabled": { +"description": "Whether the Kubernetes Dashboard is enabled for this cluster.", +"type": "boolean" +} +}, +"type": "object" +}, +"LegacyAbac": { +"description": "Configuration for the legacy Attribute Based Access Control authorization mode.", +"id": "LegacyAbac", +"properties": { +"enabled": { +"description": "Whether the ABAC authorizer is enabled for this cluster. When enabled, identities in the system, including service accounts, nodes, and controllers, will have statically granted permissions beyond those provided by the RBAC configuration or IAM.", +"type": "boolean" +} +}, +"type": "object" +}, +"LinuxNodeConfig": { +"description": "Parameters that can be configured on Linux nodes.", +"id": "LinuxNodeConfig", +"properties": { +"cgroupMode": { +"description": "cgroup_mode specifies the cgroup mode to be used on the node.", +"enum": [ +"CGROUP_MODE_UNSPECIFIED", +"CGROUP_MODE_V1", +"CGROUP_MODE_V2" +], +"enumDescriptions": [ +"CGROUP_MODE_UNSPECIFIED is when unspecified cgroup configuration is used. The default for the GKE node OS image will be used.", +"CGROUP_MODE_V1 specifies to use cgroupv1 for the cgroup configuration on the node image.", +"CGROUP_MODE_V2 specifies to use cgroupv2 for the cgroup configuration on the node image." +], +"type": "string" +}, +"hugepages": { +"$ref": "HugepagesConfig", +"description": "Optional. Amounts for 2M and 1G hugepages" +}, +"sysctls": { +"additionalProperties": { +"type": "string" +}, +"description": "The Linux kernel parameters to be applied to the nodes and all pods running on the nodes. The following parameters are supported. net.core.busy_poll net.core.busy_read net.core.netdev_max_backlog net.core.rmem_max net.core.wmem_default net.core.wmem_max net.core.optmem_max net.core.somaxconn net.ipv4.tcp_rmem net.ipv4.tcp_wmem net.ipv4.tcp_tw_reuse kernel.shmmni kernel.shmmax kernel.shmall", +"type": "object" +} +}, +"type": "object" +}, +"ListClustersResponse": { +"description": "ListClustersResponse is the result of ListClustersRequest.", +"id": "ListClustersResponse", +"properties": { +"clusters": { +"description": "A list of clusters in the project in the specified zone, or across all ones.", +"items": { +"$ref": "Cluster" +}, +"type": "array" +}, +"missingZones": { +"description": "If any zones are listed here, the list of clusters returned may be missing those zones.", +"items": { +"type": "string" +}, +"type": "array" +} +}, +"type": "object" +}, +"ListLocationsResponse": { +"description": "ListLocationsResponse returns the list of all GKE locations and their recommendation state.", +"id": "ListLocationsResponse", +"properties": { +"locations": { +"description": "A full list of GKE locations.", +"items": { +"$ref": "Location" +}, +"type": "array" +}, +"nextPageToken": { +"description": "Only return ListLocationsResponse that occur after the page_token. This value should be populated from the ListLocationsResponse.next_page_token if that response token was set (which happens when listing more Locations than fit in a single ListLocationsResponse).", +"type": "string" +} +}, +"type": "object" +}, +"ListNodePoolsResponse": { +"description": "ListNodePoolsResponse is the result of ListNodePoolsRequest.", +"id": "ListNodePoolsResponse", +"properties": { +"nodePools": { +"description": "A list of node pools for a cluster.", +"items": { +"$ref": "NodePool" +}, +"type": "array" +} +}, +"type": "object" +}, +"ListOperationsResponse": { +"description": "ListOperationsResponse is the result of ListOperationsRequest.", +"id": "ListOperationsResponse", +"properties": { +"missingZones": { +"description": "If any zones are listed here, the list of operations returned may be missing the operations from those zones.", +"items": { +"type": "string" +}, +"type": "array" +}, +"operations": { +"description": "A list of operations in the project in the specified zone.", +"items": { +"$ref": "Operation" +}, +"type": "array" +} +}, +"type": "object" +}, +"ListUsableSubnetworksResponse": { +"description": "ListUsableSubnetworksResponse is the response of ListUsableSubnetworksRequest.", +"id": "ListUsableSubnetworksResponse", +"properties": { +"nextPageToken": { +"description": "This token allows you to get the next page of results for list requests. If the number of results is larger than `page_size`, use the `next_page_token` as a value for the query parameter `page_token` in the next request. The value will become empty when there are no more pages.", +"type": "string" +}, +"subnetworks": { +"description": "A list of usable subnetworks in the specified network project.", +"items": { +"$ref": "UsableSubnetwork" +}, +"type": "array" +} +}, +"type": "object" +}, +"LocalNvmeSsdBlockConfig": { +"description": "LocalNvmeSsdBlockConfig contains configuration for using raw-block local NVMe SSDs", +"id": "LocalNvmeSsdBlockConfig", +"properties": { +"localSsdCount": { +"description": "Number of local NVMe SSDs to use. The limit for this value is dependent upon the maximum number of disk available on a machine per zone. See: https://cloud.google.com/compute/docs/disks/local-ssd for more information. A zero (or unset) value has different meanings depending on machine type being used: 1. For pre-Gen3 machines, which support flexible numbers of local ssds, zero (or unset) means to disable using local SSDs as ephemeral storage. 2. For Gen3 machines which dictate a specific number of local ssds, zero (or unset) means to use the default number of local ssds that goes with that machine type. For example, for a c3-standard-8-lssd machine, 2 local ssds would be provisioned. For c3-standard-8 (which doesn't support local ssds), 0 will be provisioned. See https://cloud.google.com/compute/docs/disks/local-ssd#choose_number_local_ssds for more info.", +"format": "int32", +"type": "integer" +} +}, +"type": "object" +}, +"Location": { +"description": "Location returns the location name, and if the location is recommended for GKE cluster scheduling.", +"id": "Location", +"properties": { +"name": { +"description": "Contains the name of the resource requested. Specified in the format `projects/*/locations/*`.", +"type": "string" +}, +"recommended": { +"description": "Whether the location is recommended for GKE cluster scheduling.", +"type": "boolean" +}, +"type": { +"description": "Contains the type of location this Location is for. Regional or Zonal.", +"enum": [ +"LOCATION_TYPE_UNSPECIFIED", +"ZONE", +"REGION" +], +"enumDescriptions": [ +"LOCATION_TYPE_UNSPECIFIED means the location type was not determined.", +"A GKE Location where Zonal clusters can be created.", +"A GKE Location where Regional clusters can be created." +], +"type": "string" +} +}, +"type": "object" +}, +"LoggingComponentConfig": { +"description": "LoggingComponentConfig is cluster logging component configuration.", +"id": "LoggingComponentConfig", +"properties": { +"enableComponents": { +"description": "Select components to collect logs. An empty set would disable all logging.", +"items": { +"enum": [ +"COMPONENT_UNSPECIFIED", +"SYSTEM_COMPONENTS", +"WORKLOADS", +"APISERVER", +"SCHEDULER", +"CONTROLLER_MANAGER", +"KCP_SSHD", +"KCP_CONNECTION" +], +"enumDescriptions": [ +"Default value. This shouldn't be used.", +"system components", +"workloads", +"kube-apiserver", +"kube-scheduler", +"kube-controller-manager", +"kcp-sshd", +"kcp connection logs" +], +"type": "string" +}, +"type": "array" +} +}, +"type": "object" +}, +"LoggingConfig": { +"description": "LoggingConfig is cluster logging configuration.", +"id": "LoggingConfig", +"properties": { +"componentConfig": { +"$ref": "LoggingComponentConfig", +"description": "Logging components configuration" +} +}, +"type": "object" +}, +"LoggingVariantConfig": { +"description": "LoggingVariantConfig specifies the behaviour of the logging component.", +"id": "LoggingVariantConfig", +"properties": { +"variant": { +"description": "Logging variant deployed on nodes.", +"enum": [ +"VARIANT_UNSPECIFIED", +"DEFAULT", +"MAX_THROUGHPUT" +], +"enumDescriptions": [ +"Default value. This shouldn't be used.", +"default logging variant.", +"maximum logging throughput variant." +], +"type": "string" +} +}, +"type": "object" +}, +"MaintenanceExclusionOptions": { +"description": "Represents the Maintenance exclusion option.", +"id": "MaintenanceExclusionOptions", +"properties": { +"scope": { +"description": "Scope specifies the upgrade scope which upgrades are blocked by the exclusion.", +"enum": [ +"NO_UPGRADES", +"NO_MINOR_UPGRADES", +"NO_MINOR_OR_NODE_UPGRADES" +], +"enumDescriptions": [ +"NO_UPGRADES excludes all upgrades, including patch upgrades and minor upgrades across control planes and nodes. This is the default exclusion behavior.", +"NO_MINOR_UPGRADES excludes all minor upgrades for the cluster, only patches are allowed.", +"NO_MINOR_OR_NODE_UPGRADES excludes all minor upgrades for the cluster, and also exclude all node pool upgrades. Only control plane patches are allowed." +], +"type": "string" +} +}, +"type": "object" +}, +"MaintenancePolicy": { +"description": "MaintenancePolicy defines the maintenance policy to be used for the cluster.", +"id": "MaintenancePolicy", +"properties": { +"resourceVersion": { +"description": "A hash identifying the version of this policy, so that updates to fields of the policy won't accidentally undo intermediate changes (and so that users of the API unaware of some fields won't accidentally remove other fields). Make a `get()` request to the cluster to get the current resource version and include it with requests to set the policy.", +"type": "string" +}, +"window": { +"$ref": "MaintenanceWindow", +"description": "Specifies the maintenance window in which maintenance may be performed." +} +}, +"type": "object" +}, +"MaintenanceWindow": { +"description": "MaintenanceWindow defines the maintenance window to be used for the cluster.", +"id": "MaintenanceWindow", +"properties": { +"dailyMaintenanceWindow": { +"$ref": "DailyMaintenanceWindow", +"description": "DailyMaintenanceWindow specifies a daily maintenance operation window." +}, +"maintenanceExclusions": { +"additionalProperties": { +"$ref": "TimeWindow" +}, +"description": "Exceptions to maintenance window. Non-emergency maintenance should not occur in these windows.", +"type": "object" +}, +"recurringWindow": { +"$ref": "RecurringTimeWindow", +"description": "RecurringWindow specifies some number of recurring time periods for maintenance to occur. The time windows may be overlapping. If no maintenance windows are set, maintenance can occur at any time." +} +}, +"type": "object" +}, +"ManagedPrometheusConfig": { +"description": "ManagedPrometheusConfig defines the configuration for Google Cloud Managed Service for Prometheus.", +"id": "ManagedPrometheusConfig", +"properties": { +"autoMonitoringConfig": { +"$ref": "AutoMonitoringConfig", +"description": "GKE Workload Auto-Monitoring Configuration." +}, +"enabled": { +"description": "Enable Managed Collection.", +"type": "boolean" +} +}, +"type": "object" +}, +"Master": { +"description": "Master is the configuration for components on master.", +"id": "Master", +"properties": {}, +"type": "object" +}, +"MasterAuth": { +"description": "The authentication information for accessing the master endpoint. Authentication can be done using HTTP basic auth or using client certificates.", +"id": "MasterAuth", +"properties": { +"clientCertificate": { +"description": "Output only. Base64-encoded public certificate used by clients to authenticate to the cluster endpoint. Issued only if client_certificate_config is set.", +"readOnly": true, +"type": "string" +}, +"clientCertificateConfig": { +"$ref": "ClientCertificateConfig", +"description": "Configuration for client certificate authentication on the cluster. For clusters before v1.12, if no configuration is specified, a client certificate is issued." +}, +"clientKey": { +"description": "Output only. Base64-encoded private key used by clients to authenticate to the cluster endpoint.", +"readOnly": true, +"type": "string" +}, +"clusterCaCertificate": { +"description": "Output only. Base64-encoded public certificate that is the root of trust for the cluster.", +"readOnly": true, +"type": "string" +}, +"password": { +"deprecated": true, +"description": "The password to use for HTTP basic authentication to the master endpoint. Because the master endpoint is open to the Internet, you should create a strong password. If a password is provided for cluster creation, username must be non-empty. Warning: basic authentication is deprecated, and will be removed in GKE control plane versions 1.19 and newer. For a list of recommended authentication methods, see: https://cloud.google.com/kubernetes-engine/docs/how-to/api-server-authentication", +"type": "string" +}, +"username": { +"deprecated": true, +"description": "The username to use for HTTP basic authentication to the master endpoint. For clusters v1.6.0 and later, basic authentication can be disabled by leaving username unspecified (or setting it to the empty string). Warning: basic authentication is deprecated, and will be removed in GKE control plane versions 1.19 and newer. For a list of recommended authentication methods, see: https://cloud.google.com/kubernetes-engine/docs/how-to/api-server-authentication", +"type": "string" +} +}, +"type": "object" +}, +"MasterAuthorizedNetworksConfig": { +"description": "Configuration options for the master authorized networks feature. Enabled master authorized networks will disallow all external traffic to access Kubernetes master through HTTPS except traffic from the given CIDR blocks, Google Compute Engine Public IPs and Google Prod IPs.", +"id": "MasterAuthorizedNetworksConfig", +"properties": { +"cidrBlocks": { +"description": "cidr_blocks define up to 10 external networks that could access Kubernetes master through HTTPS.", +"items": { +"$ref": "CidrBlock" +}, +"type": "array" +}, +"enabled": { +"description": "Whether or not master authorized networks is enabled.", +"type": "boolean" +}, +"gcpPublicCidrsAccessEnabled": { +"description": "Whether master is accessbile via Google Compute Engine Public IP addresses.", +"type": "boolean" +}, +"privateEndpointEnforcementEnabled": { +"description": "Whether master authorized networks is enforced on private endpoint or not.", +"type": "boolean" +} +}, +"type": "object" +}, +"MaxPodsConstraint": { +"description": "Constraints applied to pods.", +"id": "MaxPodsConstraint", +"properties": { +"maxPodsPerNode": { +"description": "Constraint enforced on the max num of pods per node.", +"format": "int64", +"type": "string" +} +}, +"type": "object" +}, +"MeshCertificates": { +"description": "Configuration for issuance of mTLS keys and certificates to Kubernetes pods.", +"id": "MeshCertificates", +"properties": { +"enableCertificates": { +"description": "enable_certificates controls issuance of workload mTLS certificates. If set, the GKE Workload Identity Certificates controller and node agent will be deployed in the cluster, which can then be configured by creating a WorkloadCertificateConfig Custom Resource. Requires Workload Identity (workload_pool must be non-empty).", +"type": "boolean" +} +}, +"type": "object" +}, +"Metric": { +"description": "Progress metric is (string, int|float|string) pair.", +"id": "Metric", +"properties": { +"doubleValue": { +"description": "For metrics with floating point value.", +"format": "double", +"type": "number" +}, +"intValue": { +"description": "For metrics with integer value.", +"format": "int64", +"type": "string" +}, +"name": { +"description": "Required. Metric name, e.g., \"nodes total\", \"percent done\".", +"type": "string" +}, +"stringValue": { +"description": "For metrics with custom values (ratios, visual progress, etc.).", +"type": "string" +} +}, +"type": "object" +}, +"MonitoringComponentConfig": { +"description": "MonitoringComponentConfig is cluster monitoring component configuration.", +"id": "MonitoringComponentConfig", +"properties": { +"enableComponents": { +"description": "Select components to collect metrics. An empty set would disable all monitoring.", +"items": { +"enum": [ +"COMPONENT_UNSPECIFIED", +"SYSTEM_COMPONENTS", +"WORKLOADS", +"APISERVER", +"SCHEDULER", +"CONTROLLER_MANAGER", +"STORAGE", +"HPA", +"POD", +"DAEMONSET", +"DEPLOYMENT", +"STATEFULSET", +"CADVISOR", +"KUBELET", +"DCGM" +], +"enumDeprecated": [ +false, +false, +true, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false +], +"enumDescriptions": [ +"Default value. This shouldn't be used.", +"system components", +"Deprecated: Use Google Cloud Managed Service for Prometheus.", +"kube-apiserver", +"kube-scheduler", +"kube-controller-manager", +"Storage", +"Horizontal Pod Autoscaling", +"Pod", +"DaemonSet", +"Deployment", +"Statefulset", +"CADVISOR", +"KUBELET", +"NVIDIA Data Center GPU Manager (DCGM)" +], +"type": "string" +}, +"type": "array" +} +}, +"type": "object" +}, +"MonitoringConfig": { +"description": "MonitoringConfig is cluster monitoring configuration.", +"id": "MonitoringConfig", +"properties": { +"advancedDatapathObservabilityConfig": { +"$ref": "AdvancedDatapathObservabilityConfig", +"description": "Configuration of Advanced Datapath Observability features." +}, +"componentConfig": { +"$ref": "MonitoringComponentConfig", +"description": "Monitoring components configuration" +}, +"managedPrometheusConfig": { +"$ref": "ManagedPrometheusConfig", +"description": "Enable Google Cloud Managed Service for Prometheus in the cluster." +} +}, +"type": "object" +}, +"NetworkConfig": { +"description": "NetworkConfig reports the relative names of network & subnetwork.", +"id": "NetworkConfig", +"properties": { +"datapathProvider": { +"description": "The desired datapath provider for this cluster. By default, uses the IPTables-based kube-proxy implementation.", +"enum": [ +"DATAPATH_PROVIDER_UNSPECIFIED", +"LEGACY_DATAPATH", +"ADVANCED_DATAPATH" +], +"enumDescriptions": [ +"Default value.", +"Use the IPTables implementation based on kube-proxy.", +"Use the eBPF based GKE Dataplane V2 with additional features. See the [GKE Dataplane V2 documentation](https://cloud.google.com/kubernetes-engine/docs/how-to/dataplane-v2) for more." +], +"type": "string" +}, +"defaultEnablePrivateNodes": { +"description": "Controls whether by default nodes have private IP addresses only. It is invalid to specify both PrivateClusterConfig.enablePrivateNodes and this field at the same time. To update the default setting, use ClusterUpdate.desired_default_enable_private_nodes", +"type": "boolean" +}, +"defaultSnatStatus": { +"$ref": "DefaultSnatStatus", +"description": "Whether the cluster disables default in-node sNAT rules. In-node sNAT rules will be disabled when default_snat_status is disabled. When disabled is set to false, default IP masquerade rules will be applied to the nodes to prevent sNAT on cluster internal traffic." +}, +"disableL4LbFirewallReconciliation": { +"description": "Disable L4 load balancer VPC firewalls to enable firewall policies.", +"type": "boolean" +}, +"dnsConfig": { +"$ref": "DNSConfig", +"description": "DNSConfig contains clusterDNS config for this cluster." +}, +"enableCiliumClusterwideNetworkPolicy": { +"description": "Whether CiliumClusterWideNetworkPolicy is enabled on this cluster.", +"type": "boolean" +}, +"enableFqdnNetworkPolicy": { +"description": "Whether FQDN Network Policy is enabled on this cluster.", +"type": "boolean" +}, +"enableIntraNodeVisibility": { +"description": "Whether Intra-node visibility is enabled for this cluster. This makes same node pod to pod traffic visible for VPC network.", +"type": "boolean" +}, +"enableL4ilbSubsetting": { +"description": "Whether L4ILB Subsetting is enabled for this cluster.", +"type": "boolean" +}, +"enableMultiNetworking": { +"description": "Whether multi-networking is enabled for this cluster.", +"type": "boolean" +}, +"gatewayApiConfig": { +"$ref": "GatewayAPIConfig", +"description": "GatewayAPIConfig contains the desired config of Gateway API on this cluster." +}, +"inTransitEncryptionConfig": { +"description": "Specify the details of in-transit encryption.", +"enum": [ +"IN_TRANSIT_ENCRYPTION_CONFIG_UNSPECIFIED", +"IN_TRANSIT_ENCRYPTION_DISABLED", +"IN_TRANSIT_ENCRYPTION_INTER_NODE_TRANSPARENT" +], +"enumDescriptions": [ +"Unspecified, will be inferred as default - IN_TRANSIT_ENCRYPTION_UNSPECIFIED.", +"In-transit encryption is disabled.", +"Data in-transit is encrypted using inter-node transparent encryption." +], +"type": "string" +}, +"network": { +"description": "Output only. The relative name of the Google Compute Engine network(https://cloud.google.com/compute/docs/networks-and-firewalls#networks) to which the cluster is connected. Example: projects/my-project/global/networks/my-network", +"readOnly": true, +"type": "string" +}, +"networkPerformanceConfig": { +"$ref": "ClusterNetworkPerformanceConfig", +"description": "Network bandwidth tier configuration." +}, +"privateIpv6GoogleAccess": { +"description": "The desired state of IPv6 connectivity to Google Services. By default, no private IPv6 access to or from Google Services (all access will be via IPv4)", +"enum": [ +"PRIVATE_IPV6_GOOGLE_ACCESS_UNSPECIFIED", +"PRIVATE_IPV6_GOOGLE_ACCESS_DISABLED", +"PRIVATE_IPV6_GOOGLE_ACCESS_TO_GOOGLE", +"PRIVATE_IPV6_GOOGLE_ACCESS_BIDIRECTIONAL" +], +"enumDescriptions": [ +"Default value. Same as DISABLED", +"No private access to or from Google Services", +"Enables private IPv6 access to Google Services from GKE", +"Enables private IPv6 access to and from Google Services" +], +"type": "string" +}, +"serviceExternalIpsConfig": { +"$ref": "ServiceExternalIPsConfig", +"description": "ServiceExternalIPsConfig specifies if services with externalIPs field are blocked or not." +}, +"subnetwork": { +"description": "Output only. The relative name of the Google Compute Engine [subnetwork](https://cloud.google.com/compute/docs/vpc) to which the cluster is connected. Example: projects/my-project/regions/us-central1/subnetworks/my-subnet", +"readOnly": true, +"type": "string" +} +}, +"type": "object" +}, +"NetworkPerformanceConfig": { +"description": "Configuration of all network bandwidth tiers", +"id": "NetworkPerformanceConfig", +"properties": { +"externalIpEgressBandwidthTier": { +"description": "Specifies the network bandwidth tier for the NodePool for traffic to external/public IP addresses.", +"enum": [ +"TIER_UNSPECIFIED", +"TIER_1" +], +"enumDescriptions": [ +"Default value", +"Higher bandwidth, actual values based on VM size." +], +"type": "string" +}, +"totalEgressBandwidthTier": { +"description": "Specifies the total network bandwidth tier for the NodePool.", +"enum": [ +"TIER_UNSPECIFIED", +"TIER_1" +], +"enumDescriptions": [ +"Default value", +"Higher bandwidth, actual values based on VM size." +], +"type": "string" +} +}, +"type": "object" +}, +"NetworkPolicy": { +"description": "Configuration options for the NetworkPolicy feature. https://kubernetes.io/docs/concepts/services-networking/networkpolicies/", +"id": "NetworkPolicy", +"properties": { +"enabled": { +"description": "Whether network policy is enabled on the cluster.", +"type": "boolean" +}, +"provider": { +"description": "The selected network policy provider.", +"enum": [ +"PROVIDER_UNSPECIFIED", +"CALICO" +], +"enumDescriptions": [ +"Not set", +"Tigera (Calico Felix)." +], +"type": "string" +} +}, +"type": "object" +}, +"NetworkPolicyConfig": { +"description": "Configuration for NetworkPolicy. This only tracks whether the addon is enabled or not on the Master, it does not track whether network policy is enabled for the nodes.", +"id": "NetworkPolicyConfig", +"properties": { +"disabled": { +"description": "Whether NetworkPolicy is enabled for this cluster.", +"type": "boolean" +} +}, +"type": "object" +}, +"NetworkTags": { +"description": "Collection of Compute Engine network tags that can be applied to a node's underlying VM instance. (See `tags` field in [`NodeConfig`](/kubernetes-engine/docs/reference/rest/v1/NodeConfig)).", +"id": "NetworkTags", +"properties": { +"tags": { +"description": "List of network tags.", +"items": { +"type": "string" +}, +"type": "array" +} +}, +"type": "object" +}, +"NodeAffinity": { +"description": "Specifies the NodeAffinity key, values, and affinity operator according to [shared sole tenant node group affinities](https://cloud.google.com/compute/docs/nodes/sole-tenant-nodes#node_affinity_and_anti-affinity).", +"id": "NodeAffinity", +"properties": { +"key": { +"description": "Key for NodeAffinity.", +"type": "string" +}, +"operator": { +"description": "Operator for NodeAffinity.", +"enum": [ +"OPERATOR_UNSPECIFIED", +"IN", +"NOT_IN" +], +"enumDescriptions": [ +"Invalid or unspecified affinity operator.", +"Affinity operator.", +"Anti-affinity operator." +], +"type": "string" +}, +"values": { +"description": "Values for NodeAffinity.", +"items": { +"type": "string" +}, +"type": "array" +} +}, +"type": "object" +}, +"NodeConfig": { +"description": "Parameters that describe the nodes in a cluster. GKE Autopilot clusters do not recognize parameters in `NodeConfig`. Use AutoprovisioningNodePoolDefaults instead.", +"id": "NodeConfig", +"properties": { +"accelerators": { +"description": "A list of hardware accelerators to be attached to each node. See https://cloud.google.com/compute/docs/gpus for more information about support for GPUs.", +"items": { +"$ref": "AcceleratorConfig" +}, +"type": "array" +}, +"advancedMachineFeatures": { +"$ref": "AdvancedMachineFeatures", +"description": "Advanced features for the Compute Engine VM." +}, +"bootDiskKmsKey": { +"description": " The Customer Managed Encryption Key used to encrypt the boot disk attached to each node in the node pool. This should be of the form projects/[KEY_PROJECT_ID]/locations/[LOCATION]/keyRings/[RING_NAME]/cryptoKeys/[KEY_NAME]. For more information about protecting resources with Cloud KMS Keys please see: https://cloud.google.com/compute/docs/disks/customer-managed-encryption", +"type": "string" +}, +"confidentialNodes": { +"$ref": "ConfidentialNodes", +"description": "Confidential nodes config. All the nodes in the node pool will be Confidential VM once enabled." +}, +"containerdConfig": { +"$ref": "ContainerdConfig", +"description": "Parameters for containerd customization." +}, +"diskSizeGb": { +"description": "Size of the disk attached to each node, specified in GB. The smallest allowed disk size is 10GB. If unspecified, the default disk size is 100GB.", +"format": "int32", +"type": "integer" +}, +"diskType": { +"description": "Type of the disk attached to each node (e.g. 'pd-standard', 'pd-ssd' or 'pd-balanced') If unspecified, the default disk type is 'pd-standard'", +"type": "string" +}, +"effectiveCgroupMode": { +"description": "Output only. effective_cgroup_mode is the cgroup mode actually used by the node pool. It is determined by the cgroup mode specified in the LinuxNodeConfig or the default cgroup mode based on the cluster creation version.", +"enum": [ +"EFFECTIVE_CGROUP_MODE_UNSPECIFIED", +"EFFECTIVE_CGROUP_MODE_V1", +"EFFECTIVE_CGROUP_MODE_V2" +], +"enumDescriptions": [ +"EFFECTIVE_CGROUP_MODE_UNSPECIFIED means the cgroup configuration for the node pool is unspecified, i.e. the node pool is a Windows node pool.", +"CGROUP_MODE_V1 means the node pool is configured to use cgroupv1 for the cgroup configuration.", +"CGROUP_MODE_V2 means the node pool is configured to use cgroupv2 for the cgroup configuration." +], +"readOnly": true, +"type": "string" +}, +"enableConfidentialStorage": { +"description": "Optional. Reserved for future use.", +"type": "boolean" +}, +"ephemeralStorageConfig": { +"$ref": "EphemeralStorageConfig", +"description": "Parameters for the ephemeral storage filesystem. If unspecified, ephemeral storage is backed by the boot disk." +}, +"ephemeralStorageLocalSsdConfig": { +"$ref": "EphemeralStorageLocalSsdConfig", +"description": "Parameters for the node ephemeral storage using Local SSDs. If unspecified, ephemeral storage is backed by the boot disk. This field is functionally equivalent to the ephemeral_storage_config" +}, +"fastSocket": { +"$ref": "FastSocket", +"description": "Enable or disable NCCL fast socket for the node pool." +}, +"gcfsConfig": { +"$ref": "GcfsConfig", +"description": "GCFS (Google Container File System) configs." +}, +"gvnic": { +"$ref": "VirtualNIC", +"description": "Enable or disable gvnic on the node pool." +}, +"hostMaintenancePolicy": { +"$ref": "HostMaintenancePolicy", +"description": "HostMaintenancePolicy contains the desired maintenance policy for the Google Compute Engine hosts." +}, +"imageType": { +"description": "The image type to use for this node. Note that for a given image type, the latest version of it will be used. Please see https://cloud.google.com/kubernetes-engine/docs/concepts/node-images for available image types.", +"type": "string" +}, +"kubeletConfig": { +"$ref": "NodeKubeletConfig", +"description": "Node kubelet configs." +}, +"labels": { +"additionalProperties": { +"type": "string" +}, +"description": "The map of Kubernetes labels (key/value pairs) to be applied to each node. These will added in addition to any default label(s) that Kubernetes may apply to the node. In case of conflict in label keys, the applied set may differ depending on the Kubernetes version -- it's best to assume the behavior is undefined and conflicts should be avoided. For more information, including usage and the valid values, see: https://kubernetes.io/docs/concepts/overview/working-with-objects/labels/", +"type": "object" +}, +"linuxNodeConfig": { +"$ref": "LinuxNodeConfig", +"description": "Parameters that can be configured on Linux nodes." +}, +"localNvmeSsdBlockConfig": { +"$ref": "LocalNvmeSsdBlockConfig", +"description": "Parameters for using raw-block Local NVMe SSDs." +}, +"localSsdCount": { +"description": "The number of local SSD disks to be attached to the node. The limit for this value is dependent upon the maximum number of disks available on a machine per zone. See: https://cloud.google.com/compute/docs/disks/local-ssd for more information.", +"format": "int32", +"type": "integer" +}, +"localSsdEncryptionMode": { +"description": "Specifies which method should be used for encrypting the Local SSDs attahced to the node.", +"enum": [ +"LOCAL_SSD_ENCRYPTION_MODE_UNSPECIFIED", +"STANDARD_ENCRYPTION", +"EPHEMERAL_KEY_ENCRYPTION" +], +"enumDescriptions": [ +"The given node will be encrypted using keys managed by Google infrastructure and the keys will be deleted when the node is deleted.", +"The given node will be encrypted using keys managed by Google infrastructure and the keys will be deleted when the node is deleted.", +"The given node will opt-in for using ephemeral key for encryption of Local SSDs. The Local SSDs will not be able to recover data in case of node crash." +], +"type": "string" +}, +"loggingConfig": { +"$ref": "NodePoolLoggingConfig", +"description": "Logging configuration." +}, +"machineType": { +"description": "The name of a Google Compute Engine [machine type](https://cloud.google.com/compute/docs/machine-types). If unspecified, the default machine type is `e2-medium`.", +"type": "string" +}, +"maxRunDuration": { +"description": "The maximum duration for the nodes to exist. If unspecified, the nodes can exist indefinitely.", +"format": "google-duration", +"type": "string" +}, +"metadata": { +"additionalProperties": { +"type": "string" +}, +"description": "The metadata key/value pairs assigned to instances in the cluster. Keys must conform to the regexp `[a-zA-Z0-9-_]+` and be less than 128 bytes in length. These are reflected as part of a URL in the metadata server. Additionally, to avoid ambiguity, keys must not conflict with any other metadata keys for the project or be one of the reserved keys: - \"cluster-location\" - \"cluster-name\" - \"cluster-uid\" - \"configure-sh\" - \"containerd-configure-sh\" - \"enable-oslogin\" - \"gci-ensure-gke-docker\" - \"gci-metrics-enabled\" - \"gci-update-strategy\" - \"instance-template\" - \"kube-env\" - \"startup-script\" - \"user-data\" - \"disable-address-manager\" - \"windows-startup-script-ps1\" - \"common-psm1\" - \"k8s-node-setup-psm1\" - \"install-ssh-psm1\" - \"user-profile-psm1\" Values are free-form strings, and only have meaning as interpreted by the image running in the instance. The only restriction placed on them is that each value's size must be less than or equal to 32 KB. The total size of all keys and values must be less than 512 KB.", +"type": "object" +}, +"minCpuPlatform": { +"description": "Minimum CPU platform to be used by this instance. The instance may be scheduled on the specified or newer CPU platform. Applicable values are the friendly names of CPU platforms, such as `minCpuPlatform: \"Intel Haswell\"` or `minCpuPlatform: \"Intel Sandy Bridge\"`. For more information, read [how to specify min CPU platform](https://cloud.google.com/compute/docs/instances/specify-min-cpu-platform).", +"type": "string" +}, +"nodeGroup": { +"description": "Setting this field will assign instances of this pool to run on the specified node group. This is useful for running workloads on [sole tenant nodes](https://cloud.google.com/compute/docs/nodes/sole-tenant-nodes).", +"type": "string" +}, +"oauthScopes": { +"description": "The set of Google API scopes to be made available on all of the node VMs under the \"default\" service account. The following scopes are recommended, but not required, and by default are not included: * `https://www.googleapis.com/auth/compute` is required for mounting persistent storage on your nodes. * `https://www.googleapis.com/auth/devstorage.read_only` is required for communicating with **gcr.io** (the [Google Container Registry](https://cloud.google.com/container-registry/)). If unspecified, no scopes are added, unless Cloud Logging or Cloud Monitoring are enabled, in which case their required scopes will be added.", +"items": { +"type": "string" +}, +"type": "array" +}, +"preemptible": { +"description": "Whether the nodes are created as preemptible VM instances. See: https://cloud.google.com/compute/docs/instances/preemptible for more information about preemptible VM instances.", +"type": "boolean" +}, +"reservationAffinity": { +"$ref": "ReservationAffinity", +"description": "The optional reservation affinity. Setting this field will apply the specified [Zonal Compute Reservation](https://cloud.google.com/compute/docs/instances/reserving-zonal-resources) to this node pool." +}, +"resourceLabels": { +"additionalProperties": { +"type": "string" +}, +"description": "The resource labels for the node pool to use to annotate any related Google Compute Engine resources.", +"type": "object" +}, +"resourceManagerTags": { +"$ref": "ResourceManagerTags", +"description": "A map of resource manager tag keys and values to be attached to the nodes." +}, +"sandboxConfig": { +"$ref": "SandboxConfig", +"description": "Sandbox configuration for this node." +}, +"secondaryBootDiskUpdateStrategy": { +"$ref": "SecondaryBootDiskUpdateStrategy", +"description": "Secondary boot disk update strategy." +}, +"secondaryBootDisks": { +"description": "List of secondary boot disks attached to the nodes.", +"items": { +"$ref": "SecondaryBootDisk" +}, +"type": "array" +}, +"serviceAccount": { +"description": "The Google Cloud Platform Service Account to be used by the node VMs. Specify the email address of the Service Account; otherwise, if no Service Account is specified, the \"default\" service account is used.", +"type": "string" +}, +"shieldedInstanceConfig": { +"$ref": "ShieldedInstanceConfig", +"description": "Shielded Instance options." +}, +"soleTenantConfig": { +"$ref": "SoleTenantConfig", +"description": "Parameters for node pools to be backed by shared sole tenant node groups." +}, +"spot": { +"description": "Spot flag for enabling Spot VM, which is a rebrand of the existing preemptible flag.", +"type": "boolean" +}, +"storagePools": { +"description": "List of Storage Pools where boot disks are provisioned.", +"items": { +"type": "string" +}, +"type": "array" +}, +"tags": { +"description": "The list of instance tags applied to all nodes. Tags are used to identify valid sources or targets for network firewalls and are specified by the client during cluster or node pool creation. Each tag within the list must comply with RFC1035.", +"items": { +"type": "string" +}, +"type": "array" +}, +"taints": { +"description": "List of kubernetes taints to be applied to each node. For more information, including usage and the valid values, see: https://kubernetes.io/docs/concepts/configuration/taint-and-toleration/", +"items": { +"$ref": "NodeTaint" +}, +"type": "array" +}, +"windowsNodeConfig": { +"$ref": "WindowsNodeConfig", +"description": "Parameters that can be configured on Windows nodes." +}, +"workloadMetadataConfig": { +"$ref": "WorkloadMetadataConfig", +"description": "The workload metadata configuration for this node." +} +}, +"type": "object" +}, +"NodeConfigDefaults": { +"description": "Subset of NodeConfig message that has defaults.", +"id": "NodeConfigDefaults", +"properties": { +"containerdConfig": { +"$ref": "ContainerdConfig", +"description": "Parameters for containerd customization." +}, +"gcfsConfig": { +"$ref": "GcfsConfig", +"description": "GCFS (Google Container File System, also known as Riptide) options." +}, +"hostMaintenancePolicy": { +"$ref": "HostMaintenancePolicy", +"description": "HostMaintenancePolicy contains the desired maintenance policy for the Google Compute Engine hosts." +}, +"loggingConfig": { +"$ref": "NodePoolLoggingConfig", +"description": "Logging configuration for node pools." +}, +"nodeKubeletConfig": { +"$ref": "NodeKubeletConfig", +"description": "NodeKubeletConfig controls the defaults for new node-pools. Currently only `insecure_kubelet_readonly_port_enabled` can be set here." +} +}, +"type": "object" +}, +"NodeKubeletConfig": { +"description": "Node kubelet configs.", +"id": "NodeKubeletConfig", +"properties": { +"cpuCfsQuota": { +"description": "Enable CPU CFS quota enforcement for containers that specify CPU limits. This option is enabled by default which makes kubelet use CFS quota (https://www.kernel.org/doc/Documentation/scheduler/sched-bwc.txt) to enforce container CPU limits. Otherwise, CPU limits will not be enforced at all. Disable this option to mitigate CPU throttling problems while still having your pods to be in Guaranteed QoS class by specifying the CPU limits. The default value is 'true' if unspecified.", +"type": "boolean" +}, +"cpuCfsQuotaPeriod": { +"description": "Set the CPU CFS quota period value 'cpu.cfs_period_us'. The string must be a sequence of decimal numbers, each with optional fraction and a unit suffix, such as \"300ms\". Valid time units are \"ns\", \"us\" (or \"\u00b5s\"), \"ms\", \"s\", \"m\", \"h\". The value must be a positive duration.", +"type": "string" +}, +"cpuManagerPolicy": { +"description": "Control the CPU management policy on the node. See https://kubernetes.io/docs/tasks/administer-cluster/cpu-management-policies/ The following values are allowed. * \"none\": the default, which represents the existing scheduling behavior. * \"static\": allows pods with certain resource characteristics to be granted increased CPU affinity and exclusivity on the node. The default value is 'none' if unspecified.", +"type": "string" +}, +"insecureKubeletReadonlyPortEnabled": { +"description": "Enable or disable Kubelet read only port.", +"type": "boolean" +}, +"podPidsLimit": { +"description": "Set the Pod PID limits. See https://kubernetes.io/docs/concepts/policy/pid-limiting/#pod-pid-limits Controls the maximum number of processes allowed to run in a pod. The value must be greater than or equal to 1024 and less than 4194304.", +"format": "int64", +"type": "string" +} +}, +"type": "object" +}, +"NodeLabels": { +"description": "Collection of node-level [Kubernetes labels](https://kubernetes.io/docs/concepts/overview/working-with-objects/labels).", +"id": "NodeLabels", +"properties": { +"labels": { +"additionalProperties": { +"type": "string" +}, +"description": "Map of node label keys and node label values.", +"type": "object" +} +}, +"type": "object" +}, +"NodeManagement": { +"description": "NodeManagement defines the set of node management services turned on for the node pool.", +"id": "NodeManagement", +"properties": { +"autoRepair": { +"description": "Whether the nodes will be automatically repaired.", +"type": "boolean" +}, +"autoUpgrade": { +"description": "Whether the nodes will be automatically upgraded.", +"type": "boolean" +}, +"upgradeOptions": { +"$ref": "AutoUpgradeOptions", +"description": "Specifies the Auto Upgrade knobs for the node pool." +} +}, +"type": "object" +}, +"NodeNetworkConfig": { +"description": "Parameters for node pool-level network config.", +"id": "NodeNetworkConfig", +"properties": { +"additionalNodeNetworkConfigs": { +"description": "We specify the additional node networks for this node pool using this list. Each node network corresponds to an additional interface", +"items": { +"$ref": "AdditionalNodeNetworkConfig" +}, +"type": "array" +}, +"additionalPodNetworkConfigs": { +"description": "We specify the additional pod networks for this node pool using this list. Each pod network corresponds to an additional alias IP range for the node", +"items": { +"$ref": "AdditionalPodNetworkConfig" +}, +"type": "array" +}, +"createPodRange": { +"description": "Input only. Whether to create a new range for pod IPs in this node pool. Defaults are provided for `pod_range` and `pod_ipv4_cidr_block` if they are not specified. If neither `create_pod_range` or `pod_range` are specified, the cluster-level default (`ip_allocation_policy.cluster_ipv4_cidr_block`) is used. Only applicable if `ip_allocation_policy.use_ip_aliases` is true. This field cannot be changed after the node pool has been created.", +"type": "boolean" +}, +"enablePrivateNodes": { +"description": "Whether nodes have internal IP addresses only. If enable_private_nodes is not specified, then the value is derived from Cluster.NetworkConfig.default_enable_private_nodes", +"type": "boolean" +}, +"networkPerformanceConfig": { +"$ref": "NetworkPerformanceConfig", +"description": "Network bandwidth tier configuration." +}, +"podCidrOverprovisionConfig": { +"$ref": "PodCIDROverprovisionConfig", +"description": "[PRIVATE FIELD] Pod CIDR size overprovisioning config for the nodepool. Pod CIDR size per node depends on max_pods_per_node. By default, the value of max_pods_per_node is rounded off to next power of 2 and we then double that to get the size of pod CIDR block per node. Example: max_pods_per_node of 30 would result in 64 IPs (/26). This config can disable the doubling of IPs (we still round off to next power of 2) Example: max_pods_per_node of 30 will result in 32 IPs (/27) when overprovisioning is disabled." +}, +"podIpv4CidrBlock": { +"description": "The IP address range for pod IPs in this node pool. Only applicable if `create_pod_range` is true. Set to blank to have a range chosen with the default size. Set to /netmask (e.g. `/14`) to have a range chosen with a specific netmask. Set to a [CIDR](https://en.wikipedia.org/wiki/Classless_Inter-Domain_Routing) notation (e.g. `10.96.0.0/14`) to pick a specific range to use. Only applicable if `ip_allocation_policy.use_ip_aliases` is true. This field cannot be changed after the node pool has been created.", +"type": "string" +}, +"podIpv4RangeUtilization": { +"description": "Output only. The utilization of the IPv4 range for the pod. The ratio is Usage/[Total number of IPs in the secondary range], Usage=numNodes*numZones*podIPsPerNode.", +"format": "double", +"readOnly": true, +"type": "number" +}, +"podRange": { +"description": "The ID of the secondary range for pod IPs. If `create_pod_range` is true, this ID is used for the new range. If `create_pod_range` is false, uses an existing secondary range with this ID. Only applicable if `ip_allocation_policy.use_ip_aliases` is true. This field cannot be changed after the node pool has been created.", +"type": "string" +} +}, +"type": "object" +}, +"NodePool": { +"description": "NodePool contains the name and configuration for a cluster's node pool. Node pools are a set of nodes (i.e. VM's), with a common configuration and specification, under the control of the cluster master. They may have a set of Kubernetes labels applied to them, which may be used to reference them during pod scheduling. They may also be resized up or down, to accommodate the workload.", +"id": "NodePool", +"properties": { +"autoscaling": { +"$ref": "NodePoolAutoscaling", +"description": "Autoscaler configuration for this NodePool. Autoscaler is enabled only if a valid configuration is present." +}, +"bestEffortProvisioning": { +"$ref": "BestEffortProvisioning", +"description": "Enable best effort provisioning for nodes" +}, +"conditions": { +"description": "Which conditions caused the current node pool state.", +"items": { +"$ref": "StatusCondition" +}, +"type": "array" +}, +"config": { +"$ref": "NodeConfig", +"description": "The node configuration of the pool." +}, +"etag": { +"description": "This checksum is computed by the server based on the value of node pool fields, and may be sent on update requests to ensure the client has an up-to-date value before proceeding.", +"type": "string" +}, +"initialNodeCount": { +"description": "The initial node count for the pool. You must ensure that your Compute Engine [resource quota](https://cloud.google.com/compute/quotas) is sufficient for this number of instances. You must also have available firewall and routes quota.", +"format": "int32", +"type": "integer" +}, +"instanceGroupUrls": { +"description": "Output only. The resource URLs of the [managed instance groups](https://cloud.google.com/compute/docs/instance-groups/creating-groups-of-managed-instances) associated with this node pool. During the node pool blue-green upgrade operation, the URLs contain both blue and green resources.", +"items": { +"type": "string" +}, +"readOnly": true, +"type": "array" +}, +"locations": { +"description": "The list of Google Compute Engine [zones](https://cloud.google.com/compute/docs/zones#available) in which the NodePool's nodes should be located. If this value is unspecified during node pool creation, the [Cluster.Locations](https://cloud.google.com/kubernetes-engine/docs/reference/rest/v1/projects.locations.clusters#Cluster.FIELDS.locations) value will be used, instead. Warning: changing node pool locations will result in nodes being added and/or removed.", +"items": { +"type": "string" +}, +"type": "array" +}, +"management": { +"$ref": "NodeManagement", +"description": "NodeManagement configuration for this NodePool." +}, +"maxPodsConstraint": { +"$ref": "MaxPodsConstraint", +"description": "The constraint on the maximum number of pods that can be run simultaneously on a node in the node pool." +}, +"name": { +"description": "The name of the node pool.", +"type": "string" +}, +"networkConfig": { +"$ref": "NodeNetworkConfig", +"description": "Networking configuration for this NodePool. If specified, it overrides the cluster-level defaults." +}, +"placementPolicy": { +"$ref": "PlacementPolicy", +"description": "Specifies the node placement policy." +}, +"podIpv4CidrSize": { +"description": "Output only. The pod CIDR block size per node in this node pool.", +"format": "int32", +"readOnly": true, +"type": "integer" +}, +"queuedProvisioning": { +"$ref": "QueuedProvisioning", +"description": "Specifies the configuration of queued provisioning." +}, +"selfLink": { +"description": "Output only. Server-defined URL for the resource.", +"readOnly": true, +"type": "string" +}, +"status": { +"description": "Output only. The status of the nodes in this pool instance.", +"enum": [ +"STATUS_UNSPECIFIED", +"PROVISIONING", +"RUNNING", +"RUNNING_WITH_ERROR", +"RECONCILING", +"STOPPING", +"ERROR" +], +"enumDescriptions": [ +"Not set.", +"The PROVISIONING state indicates the node pool is being created.", +"The RUNNING state indicates the node pool has been created and is fully usable.", +"The RUNNING_WITH_ERROR state indicates the node pool has been created and is partially usable. Some error state has occurred and some functionality may be impaired. Customer may need to reissue a request or trigger a new update.", +"The RECONCILING state indicates that some work is actively being done on the node pool, such as upgrading node software. Details can be found in the `statusMessage` field.", +"The STOPPING state indicates the node pool is being deleted.", +"The ERROR state indicates the node pool may be unusable. Details can be found in the `statusMessage` field." +], +"readOnly": true, +"type": "string" +}, +"statusMessage": { +"deprecated": true, +"description": "Output only. Deprecated. Use conditions instead. Additional information about the current status of this node pool instance, if available.", +"readOnly": true, +"type": "string" +}, +"updateInfo": { +"$ref": "UpdateInfo", +"description": "Output only. Update info contains relevant information during a node pool update.", +"readOnly": true +}, +"upgradeSettings": { +"$ref": "UpgradeSettings", +"description": "Upgrade settings control disruption and speed of the upgrade." +}, +"version": { +"description": "The version of Kubernetes running on this NodePool's nodes. If unspecified, it defaults as described [here](https://cloud.google.com/kubernetes-engine/versioning#specifying_node_version).", +"type": "string" +} +}, +"type": "object" +}, +"NodePoolAutoConfig": { +"description": "node pool configs that apply to all auto-provisioned node pools in autopilot clusters and node auto-provisioning enabled clusters", +"id": "NodePoolAutoConfig", +"properties": { +"linuxNodeConfig": { +"$ref": "LinuxNodeConfig", +"description": "Output only. Configuration options for Linux nodes.", +"readOnly": true +}, +"networkTags": { +"$ref": "NetworkTags", +"description": "The list of instance tags applied to all nodes. Tags are used to identify valid sources or targets for network firewalls and are specified by the client during cluster creation. Each tag within the list must comply with RFC1035." +}, +"nodeKubeletConfig": { +"$ref": "NodeKubeletConfig", +"description": "NodeKubeletConfig controls the defaults for autoprovisioned node-pools. Currently only `insecure_kubelet_readonly_port_enabled` can be set here." +}, +"resourceManagerTags": { +"$ref": "ResourceManagerTags", +"description": "Resource manager tag keys and values to be attached to the nodes for managing Compute Engine firewalls using Network Firewall Policies." +} +}, +"type": "object" +}, +"NodePoolAutoscaling": { +"description": "NodePoolAutoscaling contains information required by cluster autoscaler to adjust the size of the node pool to the current cluster usage.", +"id": "NodePoolAutoscaling", +"properties": { +"autoprovisioned": { +"description": "Can this node pool be deleted automatically.", +"type": "boolean" +}, +"enabled": { +"description": "Is autoscaling enabled for this node pool.", +"type": "boolean" +}, +"locationPolicy": { +"description": "Location policy used when scaling up a nodepool.", +"enum": [ +"LOCATION_POLICY_UNSPECIFIED", +"BALANCED", +"ANY" +], +"enumDescriptions": [ +"Not set.", +"BALANCED is a best effort policy that aims to balance the sizes of different zones.", +"ANY policy picks zones that have the highest capacity available." +], +"type": "string" +}, +"maxNodeCount": { +"description": "Maximum number of nodes for one location in the node pool. Must be >= min_node_count. There has to be enough quota to scale up the cluster.", +"format": "int32", +"type": "integer" +}, +"minNodeCount": { +"description": "Minimum number of nodes for one location in the node pool. Must be greater than or equal to 0 and less than or equal to max_node_count.", +"format": "int32", +"type": "integer" +}, +"totalMaxNodeCount": { +"description": "Maximum number of nodes in the node pool. Must be greater than or equal to total_min_node_count. There has to be enough quota to scale up the cluster. The total_*_node_count fields are mutually exclusive with the *_node_count fields.", +"format": "int32", +"type": "integer" +}, +"totalMinNodeCount": { +"description": "Minimum number of nodes in the node pool. Must be greater than or equal to 0 and less than or equal to total_max_node_count. The total_*_node_count fields are mutually exclusive with the *_node_count fields.", +"format": "int32", +"type": "integer" +} +}, +"type": "object" +}, +"NodePoolDefaults": { +"description": "Subset of Nodepool message that has defaults.", +"id": "NodePoolDefaults", +"properties": { +"nodeConfigDefaults": { +"$ref": "NodeConfigDefaults", +"description": "Subset of NodeConfig message that has defaults." +} +}, +"type": "object" +}, +"NodePoolLoggingConfig": { +"description": "NodePoolLoggingConfig specifies logging configuration for nodepools.", +"id": "NodePoolLoggingConfig", +"properties": { +"variantConfig": { +"$ref": "LoggingVariantConfig", +"description": "Logging variant configuration." +} +}, +"type": "object" +}, +"NodePoolUpgradeInfo": { +"description": "NodePoolUpgradeInfo contains the upgrade information of a nodepool.", +"id": "NodePoolUpgradeInfo", +"properties": { +"autoUpgradeStatus": { +"description": "The auto upgrade status.", +"items": { +"enum": [ +"UNKNOWN", +"ACTIVE", +"MINOR_UPGRADE_PAUSED", +"UPGRADE_PAUSED" +], +"enumDescriptions": [ +"UNKNOWN indicates an unknown status.", +"ACTIVE indicates an active status.", +"MINOR_UPGRADE_PAUSED indicates the minor version upgrade is paused.", +"UPGRADE_PAUSED indicates the upgrade is paused." +], +"type": "string" +}, +"type": "array" +}, +"endOfExtendedSupportTimestamp": { +"description": "The nodepool's current minor version's end of extended support timestamp.", +"type": "string" +}, +"endOfStandardSupportTimestamp": { +"description": "The nodepool's current minor version's end of standard support timestamp.", +"type": "string" +}, +"minorTargetVersion": { +"description": "minor_target_version indicates the target version for minor upgrade.", +"type": "string" +}, +"patchTargetVersion": { +"description": "patch_target_version indicates the target version for patch upgrade.", +"type": "string" +}, +"pausedReason": { +"description": "The auto upgrade paused reason.", +"items": { +"enum": [ +"AUTO_UPGRADE_PAUSED_REASON_UNSPECIFIED", +"MAINTENANCE_WINDOW", +"MAINTENANCE_EXCLUSION_NO_UPGRADES", +"MAINTENANCE_EXCLUSION_NO_MINOR_UPGRADES", +"SYSTEM_CONFIG" +], +"enumDescriptions": [ +"AUTO_UPGRADE_PAUSED_REASON_UNSPECIFIED indicates an unspecified reason.", +"MAINTENANCE_WINDOW indicates the cluster is outside customer maintenance window.", +"MAINTENANCE_EXCLUSION_NO_UPGRADES indicates the cluster is in a maintenance exclusion with scope NO_UPGRADES.", +"MAINTENANCE_EXCLUSION_NO_MINOR_UPGRADES indicates the cluster is in a maintenance exclusion with scope NO_MINOR_UPGRADES.", +"SYSTEM_CONFIG indicates the cluster upgrade is paused by system config." +], +"type": "string" +}, +"type": "array" +}, +"upgradeDetails": { +"description": "The list of past auto upgrades.", +"items": { +"$ref": "UpgradeDetails" +}, +"type": "array" +} +}, +"type": "object" +}, +"NodeTaint": { +"description": "Kubernetes taint is composed of three fields: key, value, and effect. Effect can only be one of three types: NoSchedule, PreferNoSchedule or NoExecute. See [here](https://kubernetes.io/docs/concepts/configuration/taint-and-toleration) for more information, including usage and the valid values.", +"id": "NodeTaint", +"properties": { +"effect": { +"description": "Effect for taint.", +"enum": [ +"EFFECT_UNSPECIFIED", +"NO_SCHEDULE", +"PREFER_NO_SCHEDULE", +"NO_EXECUTE" +], +"enumDescriptions": [ +"Not set", +"NoSchedule", +"PreferNoSchedule", +"NoExecute" +], +"type": "string" +}, +"key": { +"description": "Key for taint.", +"type": "string" +}, +"value": { +"description": "Value for taint.", +"type": "string" +} +}, +"type": "object" +}, +"NodeTaints": { +"description": "Collection of Kubernetes [node taints](https://kubernetes.io/docs/concepts/configuration/taint-and-toleration).", +"id": "NodeTaints", +"properties": { +"taints": { +"description": "List of node taints.", +"items": { +"$ref": "NodeTaint" +}, +"type": "array" +} +}, +"type": "object" +}, +"NotificationConfig": { +"description": "NotificationConfig is the configuration of notifications.", +"id": "NotificationConfig", +"properties": { +"pubsub": { +"$ref": "PubSub", +"description": "Notification config for Pub/Sub." +} +}, +"type": "object" +}, +"Operation": { +"description": "This operation resource represents operations that may have happened or are happening on the cluster. All fields are output only.", +"id": "Operation", +"properties": { +"clusterConditions": { +"deprecated": true, +"description": "Which conditions caused the current cluster state. Deprecated. Use field error instead.", +"items": { +"$ref": "StatusCondition" +}, +"type": "array" +}, +"detail": { +"description": "Output only. Detailed operation progress, if available.", +"readOnly": true, +"type": "string" +}, +"endTime": { +"description": "Output only. The time the operation completed, in [RFC3339](https://www.ietf.org/rfc/rfc3339.txt) text format.", +"readOnly": true, +"type": "string" +}, +"error": { +"$ref": "Status", +"description": "The error result of the operation in case of failure." +}, +"location": { +"description": "Output only. The name of the Google Compute Engine [zone](https://cloud.google.com/compute/docs/regions-zones/regions-zones#available) or [region](https://cloud.google.com/compute/docs/regions-zones/regions-zones#available) in which the cluster resides.", +"readOnly": true, +"type": "string" +}, +"name": { +"description": "Output only. The server-assigned ID for the operation.", +"readOnly": true, +"type": "string" +}, +"nodepoolConditions": { +"deprecated": true, +"description": "Which conditions caused the current node pool state. Deprecated. Use field error instead.", +"items": { +"$ref": "StatusCondition" +}, +"type": "array" +}, +"operationType": { +"description": "Output only. The operation type.", +"enum": [ +"TYPE_UNSPECIFIED", +"CREATE_CLUSTER", +"DELETE_CLUSTER", +"UPGRADE_MASTER", +"UPGRADE_NODES", +"REPAIR_CLUSTER", +"UPDATE_CLUSTER", +"CREATE_NODE_POOL", +"DELETE_NODE_POOL", +"SET_NODE_POOL_MANAGEMENT", +"AUTO_REPAIR_NODES", +"AUTO_UPGRADE_NODES", +"SET_LABELS", +"SET_MASTER_AUTH", +"SET_NODE_POOL_SIZE", +"SET_NETWORK_POLICY", +"SET_MAINTENANCE_POLICY", +"RESIZE_CLUSTER", +"FLEET_FEATURE_UPGRADE" +], +"enumDeprecated": [ +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +true, +true, +true, +false, +true, +true, +false, +false +], +"enumDescriptions": [ +"Not set.", +"The cluster is being created. The cluster should be assumed to be unusable until the operation finishes. In the event of the operation failing, the cluster will enter the ERROR state and eventually be deleted.", +"The cluster is being deleted. The cluster should be assumed to be unusable as soon as this operation starts. In the event of the operation failing, the cluster will enter the ERROR state and the deletion will be automatically retried until completed.", +"The cluster version is being updated. Note that this includes \"upgrades\" to the same version, which are simply a recreation. This also includes [auto-upgrades](https://cloud.google.com/kubernetes-engine/docs/concepts/cluster-upgrades#upgrading_automatically). For more details, see [documentation on cluster upgrades](https://cloud.google.com/kubernetes-engine/docs/concepts/cluster-upgrades#cluster_upgrades).", +"A node pool is being updated. Despite calling this an \"upgrade\", this includes most forms of updates to node pools. This also includes [auto-upgrades](https://cloud.google.com/kubernetes-engine/docs/how-to/node-auto-upgrades). This operation sets the progress field and may be canceled. The upgrade strategy depends on [node pool configuration](https://cloud.google.com/kubernetes-engine/docs/concepts/node-pool-upgrade-strategies). The nodes are generally still usable during this operation.", +"A problem has been detected with the control plane and is being repaired. This operation type is initiated by GKE. For more details, see [documentation on repairs](https://cloud.google.com/kubernetes-engine/docs/concepts/maintenance-windows-and-exclusions#repairs).", +"The cluster is being updated. This is a broad category of operations and includes operations that only change metadata as well as those that must recreate the entire cluster. If the control plane must be recreated, this will cause temporary downtime for zonal clusters. Some features require recreating the nodes as well. Those will be recreated as separate operations and the update may not be completely functional until the node pools recreations finish. Node recreations will generally follow [maintenance policies](https://cloud.google.com/kubernetes-engine/docs/concepts/maintenance-windows-and-exclusions). Some GKE-initiated operations use this type. This includes certain types of auto-upgrades and incident mitigations.", +"A node pool is being created. The node pool should be assumed to be unusable until this operation finishes. In the event of an error, the node pool may be partially created. If enabled, [node autoprovisioning](https://cloud.google.com/kubernetes-engine/docs/how-to/node-auto-provisioning) may have automatically initiated such operations.", +"The node pool is being deleted. The node pool should be assumed to be unusable as soon as this operation starts.", +"The node pool's manamagent field is being updated. These operations only update metadata and may be concurrent with most other operations.", +"A problem has been detected with nodes and [they are being repaired](https://cloud.google.com/kubernetes-engine/docs/how-to/node-auto-repair). This operation type is initiated by GKE, typically automatically. This operation may be concurrent with other operations and there may be multiple repairs occurring on the same node pool.", +"Unused. Automatic node upgrade uses UPGRADE_NODES.", +"Unused. Updating labels uses UPDATE_CLUSTER.", +"Unused. Updating master auth uses UPDATE_CLUSTER.", +"The node pool is being resized. With the exception of resizing to or from size zero, the node pool is generally usable during this operation.", +"Unused. Updating network policy uses UPDATE_CLUSTER.", +"Unused. Updating maintenance policy uses UPDATE_CLUSTER.", +"The control plane is being resized. This operation type is initiated by GKE. These operations are often performed preemptively to ensure that the control plane has sufficient resources and is not typically an indication of issues. For more details, see [documentation on resizes](https://cloud.google.com/kubernetes-engine/docs/concepts/maintenance-windows-and-exclusions#repairs).", +"Fleet features of GKE Enterprise are being upgraded. The cluster should be assumed to be blocked for other upgrades until the operation finishes." +], +"readOnly": true, +"type": "string" +}, +"progress": { +"$ref": "OperationProgress", +"description": "Output only. Progress information for an operation.", +"readOnly": true +}, +"selfLink": { +"description": "Output only. Server-defined URI for the operation. Example: `https://container.googleapis.com/v1alpha1/projects/123/locations/us-central1/operations/operation-123`.", +"readOnly": true, +"type": "string" +}, +"startTime": { +"description": "Output only. The time the operation started, in [RFC3339](https://www.ietf.org/rfc/rfc3339.txt) text format.", +"readOnly": true, +"type": "string" +}, +"status": { +"description": "Output only. The current status of the operation.", +"enum": [ +"STATUS_UNSPECIFIED", +"PENDING", +"RUNNING", +"DONE", +"ABORTING" +], +"enumDescriptions": [ +"Not set.", +"The operation has been created.", +"The operation is currently running.", +"The operation is done, either cancelled or completed.", +"The operation is aborting." +], +"readOnly": true, +"type": "string" +}, +"statusMessage": { +"deprecated": true, +"description": "Output only. If an error has occurred, a textual description of the error. Deprecated. Use field error instead.", +"readOnly": true, +"type": "string" +}, +"targetLink": { +"description": "Output only. Server-defined URI for the target of the operation. The format of this is a URI to the resource being modified (such as a cluster, node pool, or node). For node pool repairs, there may be multiple nodes being repaired, but only one will be the target. Examples: - ## `https://container.googleapis.com/v1/projects/123/locations/us-central1/clusters/my-cluster` ## `https://container.googleapis.com/v1/projects/123/zones/us-central1-c/clusters/my-cluster/nodePools/my-np` `https://container.googleapis.com/v1/projects/123/zones/us-central1-c/clusters/my-cluster/nodePools/my-np/node/my-node`", +"readOnly": true, +"type": "string" +}, +"zone": { +"deprecated": true, +"description": "Output only. The name of the Google Compute Engine [zone](https://cloud.google.com/compute/docs/zones#available) in which the operation is taking place. This field is deprecated, use location instead.", +"readOnly": true, +"type": "string" +} +}, +"type": "object" +}, +"OperationError": { +"description": "OperationError records errors seen from CloudKMS keys encountered during updates to DatabaseEncryption configuration.", +"id": "OperationError", +"properties": { +"errorMessage": { +"description": "Description of the error seen during the operation.", +"type": "string" +}, +"keyName": { +"description": "CloudKMS key resource that had the error.", +"type": "string" +}, +"timestamp": { +"description": "Time when the CloudKMS error was seen.", +"format": "google-datetime", +"type": "string" +} +}, +"type": "object" +}, +"OperationProgress": { +"description": "Information about operation (or operation stage) progress.", +"id": "OperationProgress", +"properties": { +"metrics": { +"description": "Progress metric bundle, for example: metrics: [{name: \"nodes done\", int_value: 15}, {name: \"nodes total\", int_value: 32}] or metrics: [{name: \"progress\", double_value: 0.56}, {name: \"progress scale\", double_value: 1.0}]", +"items": { +"$ref": "Metric" +}, +"type": "array" +}, +"name": { +"description": "A non-parameterized string describing an operation stage. Unset for single-stage operations.", +"type": "string" +}, +"stages": { +"description": "Substages of an operation or a stage.", +"items": { +"$ref": "OperationProgress" +}, +"type": "array" +}, +"status": { +"description": "Status of an operation stage. Unset for single-stage operations.", +"enum": [ +"STATUS_UNSPECIFIED", +"PENDING", +"RUNNING", +"DONE", +"ABORTING" +], +"enumDescriptions": [ +"Not set.", +"The operation has been created.", +"The operation is currently running.", +"The operation is done, either cancelled or completed.", +"The operation is aborting." +], +"type": "string" +} +}, +"type": "object" +}, +"OpportunisticMaintenanceStrategy": { +"description": "Strategy that will trigger maintenance on behalf of the customer.", +"id": "OpportunisticMaintenanceStrategy", +"properties": { +"maintenanceAvailabilityWindow": { +"description": "The window of time that opportunistic maintenance can run. Example: A setting of 14 days implies that opportunistic maintenance can only be ran in the 2 weeks leading up to the scheduled maintenance date. Setting 28 days allows opportunistic maintenance to run at any time in the scheduled maintenance window (all `PERIODIC` maintenance is set 28 days in advance).", +"format": "google-duration", +"type": "string" +}, +"minNodesPerPool": { +"description": "The minimum nodes required to be available in a pool. Blocks maintenance if it would cause the number of running nodes to dip below this value.", +"format": "int64", +"type": "string" +}, +"nodeIdleTimeWindow": { +"description": "The amount of time that a node can remain idle (no customer owned workloads running), before triggering maintenance.", +"format": "google-duration", +"type": "string" +} +}, +"type": "object" +}, +"ParallelstoreCsiDriverConfig": { +"description": "Configuration for the Cloud Storage Parallelstore CSI driver.", +"id": "ParallelstoreCsiDriverConfig", +"properties": { +"enabled": { +"description": "Whether the Cloud Storage Parallelstore CSI driver is enabled for this cluster.", +"type": "boolean" +} +}, +"type": "object" +}, +"ParentProductConfig": { +"description": "ParentProductConfig is the configuration of the parent product of the cluster. This field is used by Google internal products that are built on top of a GKE cluster and take the ownership of the cluster.", +"id": "ParentProductConfig", +"properties": { +"labels": { +"additionalProperties": { +"type": "string" +}, +"description": "Labels contain the configuration of the parent product.", +"type": "object" +}, +"productName": { +"description": "Name of the parent product associated with the cluster.", +"type": "string" +} +}, +"type": "object" +}, +"PlacementPolicy": { +"description": "PlacementPolicy defines the placement policy used by the node pool.", +"id": "PlacementPolicy", +"properties": { +"policyName": { +"description": "If set, refers to the name of a custom resource policy supplied by the user. The resource policy must be in the same project and region as the node pool. If not found, InvalidArgument error is returned.", +"type": "string" +}, +"tpuTopology": { +"description": "TPU placement topology for pod slice node pool. https://cloud.google.com/tpu/docs/types-topologies#tpu_topologies", +"type": "string" +}, +"type": { +"description": "The type of placement.", +"enum": [ +"TYPE_UNSPECIFIED", +"COMPACT" +], +"enumDescriptions": [ +"TYPE_UNSPECIFIED specifies no requirements on nodes placement.", +"COMPACT specifies node placement in the same availability domain to ensure low communication latency." +], +"type": "string" +} +}, +"type": "object" +}, +"PodAutoscaling": { +"description": "PodAutoscaling is used for configuration of parameters for workload autoscaling.", +"id": "PodAutoscaling", +"properties": { +"hpaProfile": { +"description": "Selected Horizontal Pod Autoscaling profile.", +"enum": [ +"HPA_PROFILE_UNSPECIFIED", +"NONE", +"PERFORMANCE" +], +"enumDescriptions": [ +"HPA_PROFILE_UNSPECIFIED is used when no custom HPA profile is set.", +"Customers explicitly opt-out of HPA profiles.", +"PERFORMANCE is used when customers opt-in to the performance HPA profile. In this profile we support a higher number of HPAs per cluster and faster metrics collection for workload autoscaling." +], +"type": "string" +} +}, +"type": "object" +}, +"PodCIDROverprovisionConfig": { +"description": "[PRIVATE FIELD] Config for pod CIDR size overprovisioning.", +"id": "PodCIDROverprovisionConfig", +"properties": { +"disable": { +"description": "Whether Pod CIDR overprovisioning is disabled. Note: Pod CIDR overprovisioning is enabled by default.", +"type": "boolean" +} +}, +"type": "object" +}, +"PodSecurityPolicyConfig": { +"description": "Configuration for the PodSecurityPolicy feature.", +"id": "PodSecurityPolicyConfig", +"properties": { +"enabled": { +"description": "Enable the PodSecurityPolicy controller for this cluster. If enabled, pods must be valid under a PodSecurityPolicy to be created.", +"type": "boolean" +} +}, +"type": "object" +}, +"PolicyBinding": { +"description": "Binauthz policy that applies to this cluster.", +"id": "PolicyBinding", +"properties": { +"name": { +"description": "The relative resource name of the binauthz platform policy to evaluate. GKE platform policies have the following format: `projects/{project_number}/platforms/gke/policies/{policy_id}`.", +"type": "string" +} +}, +"type": "object" +}, +"PrivateClusterConfig": { +"description": "Configuration options for private clusters.", +"id": "PrivateClusterConfig", +"properties": { +"enablePrivateEndpoint": { +"deprecated": true, +"description": "Whether the master's internal IP address is used as the cluster endpoint. Use ControlPlaneEndpointsConfig.IPEndpointsConfig.enable_public_endpoint instead. Note that the value of enable_public_endpoint is reversed: if enable_private_endpoint is false, then enable_public_endpoint will be true.", +"type": "boolean" +}, +"enablePrivateNodes": { +"deprecated": true, +"description": "Whether nodes have internal IP addresses only. If enabled, all nodes are given only RFC 1918 private addresses and communicate with the master via private networking. Deprecated: Use NetworkConfig.default_enable_private_nodes instead.", +"type": "boolean" +}, +"masterGlobalAccessConfig": { +"$ref": "PrivateClusterMasterGlobalAccessConfig", +"deprecated": true, +"description": "Controls master global access settings. Deprecated: Use ControlPlaneEndpointsConfig.IPEndpointsConfig.enable_global_access instead." +}, +"masterIpv4CidrBlock": { +"description": "The IP range in CIDR notation to use for the hosted master network. This range will be used for assigning internal IP addresses to the master or set of masters, as well as the ILB VIP. This range must not overlap with any other ranges in use within the cluster's network.", +"type": "string" +}, +"peeringName": { +"description": "Output only. The peering name in the customer VPC used by this cluster.", +"readOnly": true, +"type": "string" +}, +"privateEndpoint": { +"deprecated": true, +"description": "Output only. The internal IP address of this cluster's master endpoint. Deprecated: Use ControlPlaneEndpointsConfig.IPEndpointsConfig.private_endpoint instead.", +"readOnly": true, +"type": "string" +}, +"privateEndpointSubnetwork": { +"deprecated": true, +"description": "Subnet to provision the master's private endpoint during cluster creation. Specified in projects/*/regions/*/subnetworks/* format. Deprecated: Use ControlPlaneEndpointsConfig.IPEndpointsConfig.private_endpoint_subnetwork instead.", +"type": "string" +}, +"publicEndpoint": { +"deprecated": true, +"description": "Output only. The external IP address of this cluster's master endpoint. Deprecated: Use ControlPlaneEndpointsConfig.IPEndpointsConfig.public_endpoint instead.", +"readOnly": true, +"type": "string" +} +}, +"type": "object" +}, +"PrivateClusterMasterGlobalAccessConfig": { +"description": "Configuration for controlling master global access settings.", +"id": "PrivateClusterMasterGlobalAccessConfig", +"properties": { +"enabled": { +"description": "Whenever master is accessible globally or not.", +"type": "boolean" +} +}, +"type": "object" +}, +"PrivateRegistryAccessConfig": { +"description": "PrivateRegistryAccessConfig contains access configuration for private container registries.", +"id": "PrivateRegistryAccessConfig", +"properties": { +"certificateAuthorityDomainConfig": { +"description": "Private registry access configuration.", +"items": { +"$ref": "CertificateAuthorityDomainConfig" +}, +"type": "array" +}, +"enabled": { +"description": "Private registry access is enabled.", +"type": "boolean" +} +}, +"type": "object" +}, +"ProtectConfig": { +"description": "ProtectConfig defines the flags needed to enable/disable features for the Protect API.", +"id": "ProtectConfig", +"properties": { +"workloadConfig": { +"$ref": "WorkloadConfig", +"description": "WorkloadConfig defines which actions are enabled for a cluster's workload configurations." +}, +"workloadVulnerabilityMode": { +"description": "Sets which mode to use for Protect workload vulnerability scanning feature.", +"enum": [ +"WORKLOAD_VULNERABILITY_MODE_UNSPECIFIED", +"DISABLED", +"BASIC" +], +"enumDescriptions": [ +"Default value not specified.", +"Disables Workload Vulnerability Scanning feature on the cluster.", +"Applies basic vulnerability scanning settings for cluster workloads." +], +"type": "string" +} +}, +"type": "object" +}, +"PubSub": { +"description": "Pub/Sub specific notification config.", +"id": "PubSub", +"properties": { +"enabled": { +"description": "Enable notifications for Pub/Sub.", +"type": "boolean" +}, +"filter": { +"$ref": "Filter", +"description": "Allows filtering to one or more specific event types. If no filter is specified, or if a filter is specified with no event types, all event types will be sent" +}, +"topic": { +"description": "The desired Pub/Sub topic to which notifications will be sent by GKE. Format is `projects/{project}/topics/{topic}`.", +"type": "string" +} +}, +"type": "object" +}, +"QueuedProvisioning": { +"description": "QueuedProvisioning defines the queued provisioning used by the node pool.", +"id": "QueuedProvisioning", +"properties": { +"enabled": { +"description": "Denotes that this nodepool is QRM specific, meaning nodes can be only obtained through queuing via the Cluster Autoscaler ProvisioningRequest API.", +"type": "boolean" +} +}, +"type": "object" +}, +"RBACBindingConfig": { +"description": "RBACBindingConfig allows user to restrict ClusterRoleBindings an RoleBindings that can be created.", +"id": "RBACBindingConfig", +"properties": { +"enableInsecureBindingSystemAuthenticated": { +"description": "Setting this to true will allow any ClusterRoleBinding and RoleBinding with subjects system:authenticated.", +"type": "boolean" +}, +"enableInsecureBindingSystemUnauthenticated": { +"description": "Setting this to true will allow any ClusterRoleBinding and RoleBinding with subjets system:anonymous or system:unauthenticated.", +"type": "boolean" +} +}, +"type": "object" +}, +"RangeInfo": { +"description": "RangeInfo contains the range name and the range utilization by this cluster.", +"id": "RangeInfo", +"properties": { +"rangeName": { +"description": "Output only. Name of a range.", +"readOnly": true, +"type": "string" +}, +"utilization": { +"description": "Output only. The utilization of the range.", +"format": "double", +"readOnly": true, +"type": "number" +} +}, +"type": "object" +}, +"RayClusterLoggingConfig": { +"description": "RayClusterLoggingConfig specifies logging configuration for Ray clusters.", +"id": "RayClusterLoggingConfig", +"properties": { +"enabled": { +"description": "Enable log collection for Ray clusters.", +"type": "boolean" +} +}, +"type": "object" +}, +"RayClusterMonitoringConfig": { +"description": "RayClusterMonitoringConfig specifies monitoring configuration for Ray clusters.", +"id": "RayClusterMonitoringConfig", +"properties": { +"enabled": { +"description": "Enable metrics collection for Ray clusters.", +"type": "boolean" +} +}, +"type": "object" +}, +"RayOperatorConfig": { +"description": "Configuration options for the Ray Operator add-on.", +"id": "RayOperatorConfig", +"properties": { +"enabled": { +"description": "Whether the Ray addon is enabled for this cluster.", +"type": "boolean" +}, +"rayClusterLoggingConfig": { +"$ref": "RayClusterLoggingConfig", +"description": "Optional. Logging configuration for Ray clusters." +}, +"rayClusterMonitoringConfig": { +"$ref": "RayClusterMonitoringConfig", +"description": "Optional. Monitoring configuration for Ray clusters." +} +}, +"type": "object" +}, +"RecurringTimeWindow": { +"description": "Represents an arbitrary window of time that recurs.", +"id": "RecurringTimeWindow", +"properties": { +"recurrence": { +"description": "An RRULE (https://tools.ietf.org/html/rfc5545#section-3.8.5.3) for how this window reccurs. They go on for the span of time between the start and end time. For example, to have something repeat every weekday, you'd use: `FREQ=WEEKLY;BYDAY=MO,TU,WE,TH,FR` To repeat some window daily (equivalent to the DailyMaintenanceWindow): `FREQ=DAILY` For the first weekend of every month: `FREQ=MONTHLY;BYSETPOS=1;BYDAY=SA,SU` This specifies how frequently the window starts. Eg, if you wanted to have a 9-5 UTC-4 window every weekday, you'd use something like: ``` start time = 2019-01-01T09:00:00-0400 end time = 2019-01-01T17:00:00-0400 recurrence = FREQ=WEEKLY;BYDAY=MO,TU,WE,TH,FR ``` Windows can span multiple days. Eg, to make the window encompass every weekend from midnight Saturday till the last minute of Sunday UTC: ``` start time = 2019-01-05T00:00:00Z end time = 2019-01-07T23:59:00Z recurrence = FREQ=WEEKLY;BYDAY=SA ``` Note the start and end time's specific dates are largely arbitrary except to specify duration of the window and when it first starts. The FREQ values of HOURLY, MINUTELY, and SECONDLY are not supported.", +"type": "string" +}, +"window": { +"$ref": "TimeWindow", +"description": "The window of the first recurrence." +} +}, +"type": "object" +}, +"ReleaseChannel": { +"description": "ReleaseChannel indicates which release channel a cluster is subscribed to. Release channels are arranged in order of risk. When a cluster is subscribed to a release channel, Google maintains both the master version and the node version. Node auto-upgrade defaults to true and cannot be disabled.", +"id": "ReleaseChannel", +"properties": { +"channel": { +"description": "channel specifies which release channel the cluster is subscribed to.", +"enum": [ +"UNSPECIFIED", +"RAPID", +"REGULAR", +"STABLE", +"EXTENDED" +], +"enumDescriptions": [ +"No channel specified.", +"RAPID channel is offered on an early access basis for customers who want to test new releases. WARNING: Versions available in the RAPID Channel may be subject to unresolved issues with no known workaround and are not subject to any SLAs.", +"Clusters subscribed to REGULAR receive versions that are considered GA quality. REGULAR is intended for production users who want to take advantage of new features.", +"Clusters subscribed to STABLE receive versions that are known to be stable and reliable in production.", +"Clusters subscribed to EXTENDED receive extended support and availability for versions which are known to be stable and reliable in production." +], +"type": "string" +} +}, +"type": "object" +}, +"ReleaseChannelConfig": { +"description": "ReleaseChannelConfig exposes configuration for a release channel.", +"id": "ReleaseChannelConfig", +"properties": { +"availableVersions": { +"deprecated": true, +"description": "Deprecated. This field has been deprecated and replaced with the valid_versions field.", +"items": { +"$ref": "AvailableVersion" +}, +"type": "array" +}, +"channel": { +"description": "The release channel this configuration applies to.", +"enum": [ +"UNSPECIFIED", +"RAPID", +"REGULAR", +"STABLE", +"EXTENDED" +], +"enumDescriptions": [ +"No channel specified.", +"RAPID channel is offered on an early access basis for customers who want to test new releases. WARNING: Versions available in the RAPID Channel may be subject to unresolved issues with no known workaround and are not subject to any SLAs.", +"Clusters subscribed to REGULAR receive versions that are considered GA quality. REGULAR is intended for production users who want to take advantage of new features.", +"Clusters subscribed to STABLE receive versions that are known to be stable and reliable in production.", +"Clusters subscribed to EXTENDED receive extended support and availability for versions which are known to be stable and reliable in production." +], +"type": "string" +}, +"defaultVersion": { +"description": "The default version for newly created clusters on the channel.", +"type": "string" +}, +"upgradeTargetVersion": { +"description": "The auto upgrade target version for clusters on the channel.", +"type": "string" +}, +"validVersions": { +"description": "List of valid versions for the channel.", +"items": { +"type": "string" +}, +"type": "array" +} +}, +"type": "object" +}, +"ReservationAffinity": { +"description": "[ReservationAffinity](https://cloud.google.com/compute/docs/instances/reserving-zonal-resources) is the configuration of desired reservation which instances could take capacity from.", +"id": "ReservationAffinity", +"properties": { +"consumeReservationType": { +"description": "Corresponds to the type of reservation consumption.", +"enum": [ +"UNSPECIFIED", +"NO_RESERVATION", +"ANY_RESERVATION", +"SPECIFIC_RESERVATION" +], +"enumDescriptions": [ +"Default value. This should not be used.", +"Do not consume from any reserved capacity.", +"Consume any reservation available.", +"Must consume from a specific reservation. Must specify key value fields for specifying the reservations." +], +"type": "string" +}, +"key": { +"description": "Corresponds to the label key of a reservation resource. To target a SPECIFIC_RESERVATION by name, specify \"compute.googleapis.com/reservation-name\" as the key and specify the name of your reservation as its value.", +"type": "string" +}, +"values": { +"description": "Corresponds to the label value(s) of reservation resource(s).", +"items": { +"type": "string" +}, +"type": "array" +} +}, +"type": "object" +}, +"ResourceLabels": { +"description": "Collection of [GCP labels](https://cloud.google.com/resource-manager/docs/creating-managing-labels).", +"id": "ResourceLabels", +"properties": { +"labels": { +"additionalProperties": { +"type": "string" +}, +"description": "Map of node label keys and node label values.", +"type": "object" +} +}, +"type": "object" +}, +"ResourceLimit": { +"description": "Contains information about amount of some resource in the cluster. For memory, value should be in GB.", +"id": "ResourceLimit", +"properties": { +"maximum": { +"description": "Maximum amount of the resource in the cluster.", +"format": "int64", +"type": "string" +}, +"minimum": { +"description": "Minimum amount of the resource in the cluster.", +"format": "int64", +"type": "string" +}, +"resourceType": { +"description": "Resource name \"cpu\", \"memory\" or gpu-specific string.", +"type": "string" +} +}, +"type": "object" +}, +"ResourceManagerTags": { +"description": "A map of resource manager tag keys and values to be attached to the nodes for managing Compute Engine firewalls using Network Firewall Policies. Tags must be according to specifications in https://cloud.google.com/vpc/docs/tags-firewalls-overview#specifications. A maximum of 5 tag key-value pairs can be specified. Existing tags will be replaced with new values.", +"id": "ResourceManagerTags", +"properties": { +"tags": { +"additionalProperties": { +"type": "string" +}, +"description": "Tags must be in one of the following formats ([KEY]=[VALUE]) 1. `tagKeys/{tag_key_id}=tagValues/{tag_value_id}` 2. `{org_id}/{tag_key_name}={tag_value_name}` 3. `{project_id}/{tag_key_name}={tag_value_name}`", +"type": "object" +} +}, +"type": "object" +}, +"ResourceUsageExportConfig": { +"description": "Configuration for exporting cluster resource usages.", +"id": "ResourceUsageExportConfig", +"properties": { +"bigqueryDestination": { +"$ref": "BigQueryDestination", +"description": "Configuration to use BigQuery as usage export destination." +}, +"consumptionMeteringConfig": { +"$ref": "ConsumptionMeteringConfig", +"description": "Configuration to enable resource consumption metering." +}, +"enableNetworkEgressMetering": { +"description": "Whether to enable network egress metering for this cluster. If enabled, a daemonset will be created in the cluster to meter network egress traffic.", +"type": "boolean" +} +}, +"type": "object" +}, +"RollbackNodePoolUpgradeRequest": { +"description": "RollbackNodePoolUpgradeRequest rollbacks the previously Aborted or Failed NodePool upgrade. This will be an no-op if the last upgrade successfully completed.", +"id": "RollbackNodePoolUpgradeRequest", +"properties": { +"clusterId": { +"deprecated": true, +"description": "Required. Deprecated. The name of the cluster to rollback. This field has been deprecated and replaced by the name field.", +"type": "string" +}, +"name": { +"description": "The name (project, location, cluster, node pool id) of the node poll to rollback upgrade. Specified in the format `projects/*/locations/*/clusters/*/nodePools/*`.", +"type": "string" +}, +"nodePoolId": { +"deprecated": true, +"description": "Required. Deprecated. The name of the node pool to rollback. This field has been deprecated and replaced by the name field.", +"type": "string" +}, +"projectId": { +"deprecated": true, +"description": "Required. Deprecated. The Google Developers Console [project ID or project number](https://cloud.google.com/resource-manager/docs/creating-managing-projects). This field has been deprecated and replaced by the name field.", +"type": "string" +}, +"respectPdb": { +"description": "Option for rollback to ignore the PodDisruptionBudget. Default value is false.", +"type": "boolean" +}, +"zone": { +"deprecated": true, +"description": "Required. Deprecated. The name of the Google Compute Engine [zone](https://cloud.google.com/compute/docs/zones#available) in which the cluster resides. This field has been deprecated and replaced by the name field.", +"type": "string" +} +}, +"type": "object" +}, +"SandboxConfig": { +"description": "SandboxConfig contains configurations of the sandbox to use for the node.", +"id": "SandboxConfig", +"properties": { +"sandboxType": { +"deprecated": true, +"description": "Type of the sandbox to use for the node (e.g. 'gvisor')", +"type": "string" +}, +"type": { +"description": "Type of the sandbox to use for the node.", +"enum": [ +"UNSPECIFIED", +"GVISOR" +], +"enumDescriptions": [ +"Default value. This should not be used.", +"Run sandbox using gvisor." +], +"type": "string" +} +}, +"type": "object" +}, +"SecondaryBootDisk": { +"description": "SecondaryBootDisk represents a persistent disk attached to a node with special configurations based on its mode.", +"id": "SecondaryBootDisk", +"properties": { +"diskImage": { +"description": "Fully-qualified resource ID for an existing disk image.", +"type": "string" +}, +"mode": { +"description": "Disk mode (container image cache, etc.)", +"enum": [ +"MODE_UNSPECIFIED", +"CONTAINER_IMAGE_CACHE" +], +"enumDescriptions": [ +"MODE_UNSPECIFIED is when mode is not set.", +"CONTAINER_IMAGE_CACHE is for using the secondary boot disk as a container image cache." +], +"type": "string" +} +}, +"type": "object" +}, +"SecondaryBootDiskUpdateStrategy": { +"description": "SecondaryBootDiskUpdateStrategy is a placeholder which will be extended in the future to define different options for updating secondary boot disks.", +"id": "SecondaryBootDiskUpdateStrategy", +"properties": {}, +"type": "object" +}, +"SecretManagerConfig": { +"description": "SecretManagerConfig is config for secret manager enablement.", +"id": "SecretManagerConfig", +"properties": { +"enabled": { +"description": "Enable/Disable Secret Manager Config.", +"type": "boolean" +} +}, +"type": "object" +}, +"SecurityBulletinEvent": { +"description": "SecurityBulletinEvent is a notification sent to customers when a security bulletin has been posted that they are vulnerable to.", +"id": "SecurityBulletinEvent", +"properties": { +"affectedSupportedMinors": { +"description": "The GKE minor versions affected by this vulnerability.", +"items": { +"type": "string" +}, +"type": "array" +}, +"briefDescription": { +"description": "A brief description of the bulletin. See the bulletin pointed to by the bulletin_uri field for an expanded description.", +"type": "string" +}, +"bulletinId": { +"description": "The ID of the bulletin corresponding to the vulnerability.", +"type": "string" +}, +"bulletinUri": { +"description": "The URI link to the bulletin on the website for more information.", +"type": "string" +}, +"cveIds": { +"description": "The CVEs associated with this bulletin.", +"items": { +"type": "string" +}, +"type": "array" +}, +"manualStepsRequired": { +"description": "If this field is specified, it means there are manual steps that the user must take to make their clusters safe.", +"type": "boolean" +}, +"patchedVersions": { +"description": "The GKE versions where this vulnerability is patched.", +"items": { +"type": "string" +}, +"type": "array" +}, +"resourceTypeAffected": { +"description": "The resource type (node/control plane) that has the vulnerability. Multiple notifications (1 notification per resource type) will be sent for a vulnerability that affects > 1 resource type.", +"type": "string" +}, +"severity": { +"description": "The severity of this bulletin as it relates to GKE.", +"type": "string" +}, +"suggestedUpgradeTarget": { +"description": "This represents a version selected from the patched_versions field that the cluster receiving this notification should most likely want to upgrade to based on its current version. Note that if this notification is being received by a given cluster, it means that this version is currently available as an upgrade target in that cluster's location.", +"type": "string" +} +}, +"type": "object" +}, +"SecurityPostureConfig": { +"description": "SecurityPostureConfig defines the flags needed to enable/disable features for the Security Posture API.", +"id": "SecurityPostureConfig", +"properties": { +"mode": { +"description": "Sets which mode to use for Security Posture features.", +"enum": [ +"MODE_UNSPECIFIED", +"DISABLED", +"BASIC", +"ENTERPRISE" +], +"enumDescriptions": [ +"Default value not specified.", +"Disables Security Posture features on the cluster.", +"Applies Security Posture features on the cluster.", +"Applies the Security Posture off cluster Enterprise level features." +], +"type": "string" +}, +"vulnerabilityMode": { +"description": "Sets which mode to use for vulnerability scanning.", +"enum": [ +"VULNERABILITY_MODE_UNSPECIFIED", +"VULNERABILITY_DISABLED", +"VULNERABILITY_BASIC", +"VULNERABILITY_ENTERPRISE" +], +"enumDescriptions": [ +"Default value not specified.", +"Disables vulnerability scanning on the cluster.", +"Applies basic vulnerability scanning on the cluster.", +"Applies the Security Posture's vulnerability on cluster Enterprise level features." +], +"type": "string" +} +}, +"type": "object" +}, +"ServerConfig": { +"description": "Kubernetes Engine service configuration.", +"id": "ServerConfig", +"properties": { +"channels": { +"description": "List of release channel configurations.", +"items": { +"$ref": "ReleaseChannelConfig" +}, +"type": "array" +}, +"defaultClusterVersion": { +"description": "Version of Kubernetes the service deploys by default.", +"type": "string" +}, +"defaultImageType": { +"description": "Default image type.", +"type": "string" +}, +"validImageTypes": { +"description": "List of valid image types.", +"items": { +"type": "string" +}, +"type": "array" +}, +"validMasterVersions": { +"description": "List of valid master versions, in descending order.", +"items": { +"type": "string" +}, +"type": "array" +}, +"validNodeVersions": { +"description": "List of valid node upgrade target versions, in descending order.", +"items": { +"type": "string" +}, +"type": "array" +}, +"windowsVersionMaps": { +"additionalProperties": { +"$ref": "WindowsVersions" +}, +"description": "Maps of Kubernetes version and supported Windows server versions.", +"type": "object" +} +}, +"type": "object" +}, +"ServiceExternalIPsConfig": { +"description": "Config to block services with externalIPs field.", +"id": "ServiceExternalIPsConfig", +"properties": { +"enabled": { +"description": "Whether Services with ExternalIPs field are allowed or not.", +"type": "boolean" +} +}, +"type": "object" +}, +"SetAddonsConfigRequest": { +"description": "SetAddonsRequest sets the addons associated with the cluster.", +"id": "SetAddonsConfigRequest", +"properties": { +"addonsConfig": { +"$ref": "AddonsConfig", +"description": "Required. The desired configurations for the various addons available to run in the cluster." +}, +"clusterId": { +"deprecated": true, +"description": "Required. Deprecated. The name of the cluster to upgrade. This field has been deprecated and replaced by the name field.", +"type": "string" +}, +"name": { +"description": "The name (project, location, cluster) of the cluster to set addons. Specified in the format `projects/*/locations/*/clusters/*`.", +"type": "string" +}, +"projectId": { +"deprecated": true, +"description": "Required. Deprecated. The Google Developers Console [project ID or project number](https://cloud.google.com/resource-manager/docs/creating-managing-projects). This field has been deprecated and replaced by the name field.", +"type": "string" +}, +"zone": { +"deprecated": true, +"description": "Required. Deprecated. The name of the Google Compute Engine [zone](https://cloud.google.com/compute/docs/zones#available) in which the cluster resides. This field has been deprecated and replaced by the name field.", +"type": "string" +} +}, +"type": "object" +}, +"SetLabelsRequest": { +"description": "SetLabelsRequest sets the Google Cloud Platform labels on a Google Container Engine cluster, which will in turn set them for Google Compute Engine resources used by that cluster", +"id": "SetLabelsRequest", +"properties": { +"clusterId": { +"deprecated": true, +"description": "Required. Deprecated. The name of the cluster. This field has been deprecated and replaced by the name field.", +"type": "string" +}, +"labelFingerprint": { +"description": "Required. The fingerprint of the previous set of labels for this resource, used to detect conflicts. The fingerprint is initially generated by Kubernetes Engine and changes after every request to modify or update labels. You must always provide an up-to-date fingerprint hash when updating or changing labels. Make a `get()` request to the resource to get the latest fingerprint.", +"type": "string" +}, +"name": { +"description": "The name (project, location, cluster name) of the cluster to set labels. Specified in the format `projects/*/locations/*/clusters/*`.", +"type": "string" +}, +"projectId": { +"deprecated": true, +"description": "Required. Deprecated. The Google Developers Console [project ID or project number](https://cloud.google.com/resource-manager/docs/creating-managing-projects). This field has been deprecated and replaced by the name field.", +"type": "string" +}, +"resourceLabels": { +"additionalProperties": { +"type": "string" +}, +"description": "Required. The labels to set for that cluster.", +"type": "object" +}, +"zone": { +"deprecated": true, +"description": "Required. Deprecated. The name of the Google Compute Engine [zone](https://cloud.google.com/compute/docs/zones#available) in which the cluster resides. This field has been deprecated and replaced by the name field.", +"type": "string" +} +}, +"type": "object" +}, +"SetLegacyAbacRequest": { +"description": "SetLegacyAbacRequest enables or disables the ABAC authorization mechanism for a cluster.", +"id": "SetLegacyAbacRequest", +"properties": { +"clusterId": { +"deprecated": true, +"description": "Required. Deprecated. The name of the cluster to update. This field has been deprecated and replaced by the name field.", +"type": "string" +}, +"enabled": { +"description": "Required. Whether ABAC authorization will be enabled in the cluster.", +"type": "boolean" +}, +"name": { +"description": "The name (project, location, cluster name) of the cluster to set legacy abac. Specified in the format `projects/*/locations/*/clusters/*`.", +"type": "string" +}, +"projectId": { +"deprecated": true, +"description": "Required. Deprecated. The Google Developers Console [project ID or project number](https://cloud.google.com/resource-manager/docs/creating-managing-projects). This field has been deprecated and replaced by the name field.", +"type": "string" +}, +"zone": { +"deprecated": true, +"description": "Required. Deprecated. The name of the Google Compute Engine [zone](https://cloud.google.com/compute/docs/zones#available) in which the cluster resides. This field has been deprecated and replaced by the name field.", +"type": "string" +} +}, +"type": "object" +}, +"SetLocationsRequest": { +"description": "SetLocationsRequest sets the locations of the cluster.", +"id": "SetLocationsRequest", +"properties": { +"clusterId": { +"deprecated": true, +"description": "Required. Deprecated. The name of the cluster to upgrade. This field has been deprecated and replaced by the name field.", +"type": "string" +}, +"locations": { +"description": "Required. The desired list of Google Compute Engine [zones](https://cloud.google.com/compute/docs/zones#available) in which the cluster's nodes should be located. Changing the locations a cluster is in will result in nodes being either created or removed from the cluster, depending on whether locations are being added or removed. This list must always include the cluster's primary zone.", +"items": { +"type": "string" +}, +"type": "array" +}, +"name": { +"description": "The name (project, location, cluster) of the cluster to set locations. Specified in the format `projects/*/locations/*/clusters/*`.", +"type": "string" +}, +"projectId": { +"deprecated": true, +"description": "Required. Deprecated. The Google Developers Console [project ID or project number](https://cloud.google.com/resource-manager/docs/creating-managing-projects). This field has been deprecated and replaced by the name field.", +"type": "string" +}, +"zone": { +"deprecated": true, +"description": "Required. Deprecated. The name of the Google Compute Engine [zone](https://cloud.google.com/compute/docs/zones#available) in which the cluster resides. This field has been deprecated and replaced by the name field.", +"type": "string" +} +}, +"type": "object" +}, +"SetLoggingServiceRequest": { +"description": "SetLoggingServiceRequest sets the logging service of a cluster.", +"id": "SetLoggingServiceRequest", +"properties": { +"clusterId": { +"deprecated": true, +"description": "Required. Deprecated. The name of the cluster to upgrade. This field has been deprecated and replaced by the name field.", +"type": "string" +}, +"loggingService": { +"description": "Required. The logging service the cluster should use to write logs. Currently available options: * `logging.googleapis.com/kubernetes` - The Cloud Logging service with a Kubernetes-native resource model * `logging.googleapis.com` - The legacy Cloud Logging service (no longer available as of GKE 1.15). * `none` - no logs will be exported from the cluster. If left as an empty string,`logging.googleapis.com/kubernetes` will be used for GKE 1.14+ or `logging.googleapis.com` for earlier versions.", +"type": "string" +}, +"name": { +"description": "The name (project, location, cluster) of the cluster to set logging. Specified in the format `projects/*/locations/*/clusters/*`.", +"type": "string" +}, +"projectId": { +"deprecated": true, +"description": "Required. Deprecated. The Google Developers Console [project ID or project number](https://cloud.google.com/resource-manager/docs/creating-managing-projects). This field has been deprecated and replaced by the name field.", +"type": "string" +}, +"zone": { +"deprecated": true, +"description": "Required. Deprecated. The name of the Google Compute Engine [zone](https://cloud.google.com/compute/docs/zones#available) in which the cluster resides. This field has been deprecated and replaced by the name field.", +"type": "string" +} +}, +"type": "object" +}, +"SetMaintenancePolicyRequest": { +"description": "SetMaintenancePolicyRequest sets the maintenance policy for a cluster.", +"id": "SetMaintenancePolicyRequest", +"properties": { +"clusterId": { +"description": "Required. The name of the cluster to update.", +"type": "string" +}, +"maintenancePolicy": { +"$ref": "MaintenancePolicy", +"description": "Required. The maintenance policy to be set for the cluster. An empty field clears the existing maintenance policy." +}, +"name": { +"description": "The name (project, location, cluster name) of the cluster to set maintenance policy. Specified in the format `projects/*/locations/*/clusters/*`.", +"type": "string" +}, +"projectId": { +"description": "Required. The Google Developers Console [project ID or project number](https://cloud.google.com/resource-manager/docs/creating-managing-projects).", +"type": "string" +}, +"zone": { +"description": "Required. The name of the Google Compute Engine [zone](https://cloud.google.com/compute/docs/zones#available) in which the cluster resides.", +"type": "string" +} +}, +"type": "object" +}, +"SetMasterAuthRequest": { +"description": "SetMasterAuthRequest updates the admin password of a cluster.", +"id": "SetMasterAuthRequest", +"properties": { +"action": { +"description": "Required. The exact form of action to be taken on the master auth.", +"enum": [ +"UNKNOWN", +"SET_PASSWORD", +"GENERATE_PASSWORD", +"SET_USERNAME" +], +"enumDescriptions": [ +"Operation is unknown and will error out.", +"Set the password to a user generated value.", +"Generate a new password and set it to that.", +"Set the username. If an empty username is provided, basic authentication is disabled for the cluster. If a non-empty username is provided, basic authentication is enabled, with either a provided password or a generated one." +], +"type": "string" +}, +"clusterId": { +"deprecated": true, +"description": "Required. Deprecated. The name of the cluster to upgrade. This field has been deprecated and replaced by the name field.", +"type": "string" +}, +"name": { +"description": "The name (project, location, cluster) of the cluster to set auth. Specified in the format `projects/*/locations/*/clusters/*`.", +"type": "string" +}, +"projectId": { +"deprecated": true, +"description": "Required. Deprecated. The Google Developers Console [project ID or project number](https://cloud.google.com/resource-manager/docs/creating-managing-projects). This field has been deprecated and replaced by the name field.", +"type": "string" +}, +"update": { +"$ref": "MasterAuth", +"description": "Required. A description of the update." +}, +"zone": { +"deprecated": true, +"description": "Required. Deprecated. The name of the Google Compute Engine [zone](https://cloud.google.com/compute/docs/zones#available) in which the cluster resides. This field has been deprecated and replaced by the name field.", +"type": "string" +} +}, +"type": "object" +}, +"SetMonitoringServiceRequest": { +"description": "SetMonitoringServiceRequest sets the monitoring service of a cluster.", +"id": "SetMonitoringServiceRequest", +"properties": { +"clusterId": { +"deprecated": true, +"description": "Required. Deprecated. The name of the cluster to upgrade. This field has been deprecated and replaced by the name field.", +"type": "string" +}, +"monitoringService": { +"description": "Required. The monitoring service the cluster should use to write metrics. Currently available options: * \"monitoring.googleapis.com/kubernetes\" - The Cloud Monitoring service with a Kubernetes-native resource model * `monitoring.googleapis.com` - The legacy Cloud Monitoring service (no longer available as of GKE 1.15). * `none` - No metrics will be exported from the cluster. If left as an empty string,`monitoring.googleapis.com/kubernetes` will be used for GKE 1.14+ or `monitoring.googleapis.com` for earlier versions.", +"type": "string" +}, +"name": { +"description": "The name (project, location, cluster) of the cluster to set monitoring. Specified in the format `projects/*/locations/*/clusters/*`.", +"type": "string" +}, +"projectId": { +"deprecated": true, +"description": "Required. Deprecated. The Google Developers Console [project ID or project number](https://cloud.google.com/resource-manager/docs/creating-managing-projects). This field has been deprecated and replaced by the name field.", +"type": "string" +}, +"zone": { +"deprecated": true, +"description": "Required. Deprecated. The name of the Google Compute Engine [zone](https://cloud.google.com/compute/docs/zones#available) in which the cluster resides. This field has been deprecated and replaced by the name field.", +"type": "string" +} +}, +"type": "object" +}, +"SetNetworkPolicyRequest": { +"description": "SetNetworkPolicyRequest enables/disables network policy for a cluster.", +"id": "SetNetworkPolicyRequest", +"properties": { +"clusterId": { +"deprecated": true, +"description": "Required. Deprecated. The name of the cluster. This field has been deprecated and replaced by the name field.", +"type": "string" +}, +"name": { +"description": "The name (project, location, cluster name) of the cluster to set networking policy. Specified in the format `projects/*/locations/*/clusters/*`.", +"type": "string" +}, +"networkPolicy": { +"$ref": "NetworkPolicy", +"description": "Required. Configuration options for the NetworkPolicy feature." +}, +"projectId": { +"deprecated": true, +"description": "Required. Deprecated. The Google Developers Console [project ID or project number](https://cloud.google.com/resource-manager/docs/creating-managing-projects). This field has been deprecated and replaced by the name field.", +"type": "string" +}, +"zone": { +"deprecated": true, +"description": "Required. Deprecated. The name of the Google Compute Engine [zone](https://cloud.google.com/compute/docs/zones#available) in which the cluster resides. This field has been deprecated and replaced by the name field.", +"type": "string" +} +}, +"type": "object" +}, +"SetNodePoolAutoscalingRequest": { +"description": "SetNodePoolAutoscalingRequest sets the autoscaler settings of a node pool.", +"id": "SetNodePoolAutoscalingRequest", +"properties": { +"autoscaling": { +"$ref": "NodePoolAutoscaling", +"description": "Required. Autoscaling configuration for the node pool." +}, +"clusterId": { +"deprecated": true, +"description": "Required. Deprecated. The name of the cluster to upgrade. This field has been deprecated and replaced by the name field.", +"type": "string" +}, +"name": { +"description": "The name (project, location, cluster, node pool) of the node pool to set autoscaler settings. Specified in the format `projects/*/locations/*/clusters/*/nodePools/*`.", +"type": "string" +}, +"nodePoolId": { +"deprecated": true, +"description": "Required. Deprecated. The name of the node pool to upgrade. This field has been deprecated and replaced by the name field.", +"type": "string" +}, +"projectId": { +"deprecated": true, +"description": "Required. Deprecated. The Google Developers Console [project ID or project number](https://cloud.google.com/resource-manager/docs/creating-managing-projects). This field has been deprecated and replaced by the name field.", +"type": "string" +}, +"zone": { +"deprecated": true, +"description": "Required. Deprecated. The name of the Google Compute Engine [zone](https://cloud.google.com/compute/docs/zones#available) in which the cluster resides. This field has been deprecated and replaced by the name field.", +"type": "string" +} +}, +"type": "object" +}, +"SetNodePoolManagementRequest": { +"description": "SetNodePoolManagementRequest sets the node management properties of a node pool.", +"id": "SetNodePoolManagementRequest", +"properties": { +"clusterId": { +"deprecated": true, +"description": "Required. Deprecated. The name of the cluster to update. This field has been deprecated and replaced by the name field.", +"type": "string" +}, +"management": { +"$ref": "NodeManagement", +"description": "Required. NodeManagement configuration for the node pool." +}, +"name": { +"description": "The name (project, location, cluster, node pool id) of the node pool to set management properties. Specified in the format `projects/*/locations/*/clusters/*/nodePools/*`.", +"type": "string" +}, +"nodePoolId": { +"deprecated": true, +"description": "Required. Deprecated. The name of the node pool to update. This field has been deprecated and replaced by the name field.", +"type": "string" +}, +"projectId": { +"deprecated": true, +"description": "Required. Deprecated. The Google Developers Console [project ID or project number](https://cloud.google.com/resource-manager/docs/creating-managing-projects). This field has been deprecated and replaced by the name field.", +"type": "string" +}, +"zone": { +"deprecated": true, +"description": "Required. Deprecated. The name of the Google Compute Engine [zone](https://cloud.google.com/compute/docs/zones#available) in which the cluster resides. This field has been deprecated and replaced by the name field.", +"type": "string" +} +}, +"type": "object" +}, +"SetNodePoolSizeRequest": { +"description": "SetNodePoolSizeRequest sets the size of a node pool.", +"id": "SetNodePoolSizeRequest", +"properties": { +"clusterId": { +"deprecated": true, +"description": "Required. Deprecated. The name of the cluster to update. This field has been deprecated and replaced by the name field.", +"type": "string" +}, +"name": { +"description": "The name (project, location, cluster, node pool id) of the node pool to set size. Specified in the format `projects/*/locations/*/clusters/*/nodePools/*`.", +"type": "string" +}, +"nodeCount": { +"description": "Required. The desired node count for the pool.", +"format": "int32", +"type": "integer" +}, +"nodePoolId": { +"deprecated": true, +"description": "Required. Deprecated. The name of the node pool to update. This field has been deprecated and replaced by the name field.", +"type": "string" +}, +"projectId": { +"deprecated": true, +"description": "Required. Deprecated. The Google Developers Console [project ID or project number](https://cloud.google.com/resource-manager/docs/creating-managing-projects). This field has been deprecated and replaced by the name field.", +"type": "string" +}, +"zone": { +"deprecated": true, +"description": "Required. Deprecated. The name of the Google Compute Engine [zone](https://cloud.google.com/compute/docs/zones#available) in which the cluster resides. This field has been deprecated and replaced by the name field.", +"type": "string" +} +}, +"type": "object" +}, +"ShieldedInstanceConfig": { +"description": "A set of Shielded Instance options.", +"id": "ShieldedInstanceConfig", +"properties": { +"enableIntegrityMonitoring": { +"description": "Defines whether the instance has integrity monitoring enabled. Enables monitoring and attestation of the boot integrity of the instance. The attestation is performed against the integrity policy baseline. This baseline is initially derived from the implicitly trusted boot image when the instance is created.", +"type": "boolean" +}, +"enableSecureBoot": { +"description": "Defines whether the instance has Secure Boot enabled. Secure Boot helps ensure that the system only runs authentic software by verifying the digital signature of all boot components, and halting the boot process if signature verification fails.", +"type": "boolean" +} +}, +"type": "object" +}, +"ShieldedNodes": { +"description": "Configuration of Shielded Nodes feature.", +"id": "ShieldedNodes", +"properties": { +"enabled": { +"description": "Whether Shielded Nodes features are enabled on all nodes in this cluster.", +"type": "boolean" +} +}, +"type": "object" +}, +"SoleTenantConfig": { +"description": "SoleTenantConfig contains the NodeAffinities to specify what shared sole tenant node groups should back the node pool.", +"id": "SoleTenantConfig", +"properties": { +"nodeAffinities": { +"description": "NodeAffinities used to match to a shared sole tenant node group.", +"items": { +"$ref": "NodeAffinity" +}, +"type": "array" +} +}, +"type": "object" +}, +"StandardRolloutPolicy": { +"description": "Standard rollout policy is the default policy for blue-green.", +"id": "StandardRolloutPolicy", +"properties": { +"batchNodeCount": { +"description": "Number of blue nodes to drain in a batch.", +"format": "int32", +"type": "integer" +}, +"batchPercentage": { +"description": "Percentage of the blue pool nodes to drain in a batch. The range of this field should be (0.0, 1.0].", +"format": "float", +"type": "number" +}, +"batchSoakDuration": { +"description": "Soak time after each batch gets drained. Default to zero.", +"format": "google-duration", +"type": "string" +} +}, +"type": "object" +}, +"StartIPRotationRequest": { +"description": "StartIPRotationRequest creates a new IP for the cluster and then performs a node upgrade on each node pool to point to the new IP.", +"id": "StartIPRotationRequest", +"properties": { +"clusterId": { +"deprecated": true, +"description": "Required. Deprecated. The name of the cluster. This field has been deprecated and replaced by the name field.", +"type": "string" +}, +"name": { +"description": "The name (project, location, cluster name) of the cluster to start IP rotation. Specified in the format `projects/*/locations/*/clusters/*`.", +"type": "string" +}, +"projectId": { +"deprecated": true, +"description": "Required. Deprecated. The Google Developers Console [project ID or project number](https://cloud.google.com/resource-manager/docs/creating-managing-projects). This field has been deprecated and replaced by the name field.", +"type": "string" +}, +"rotateCredentials": { +"description": "Whether to rotate credentials during IP rotation.", +"type": "boolean" +}, +"zone": { +"deprecated": true, +"description": "Required. Deprecated. The name of the Google Compute Engine [zone](https://cloud.google.com/compute/docs/zones#available) in which the cluster resides. This field has been deprecated and replaced by the name field.", +"type": "string" +} +}, +"type": "object" +}, +"StatefulHAConfig": { +"description": "Configuration for the Stateful HA add-on.", +"id": "StatefulHAConfig", +"properties": { +"enabled": { +"description": "Whether the Stateful HA add-on is enabled for this cluster.", +"type": "boolean" +} +}, +"type": "object" +}, +"Status": { +"description": "The `Status` type defines a logical error model that is suitable for different programming environments, including REST APIs and RPC APIs. It is used by [gRPC](https://github.com/grpc). Each `Status` message contains three pieces of data: error code, error message, and error details. You can find out more about this error model and how to work with it in the [API Design Guide](https://cloud.google.com/apis/design/errors).", +"id": "Status", +"properties": { +"code": { +"description": "The status code, which should be an enum value of google.rpc.Code.", +"format": "int32", +"type": "integer" +}, +"details": { +"description": "A list of messages that carry the error details. There is a common set of message types for APIs to use.", +"items": { +"additionalProperties": { +"description": "Properties of the object. Contains field @type with type URL.", +"type": "any" +}, +"type": "object" +}, +"type": "array" +}, +"message": { +"description": "A developer-facing error message, which should be in English. Any user-facing error message should be localized and sent in the google.rpc.Status.details field, or localized by the client.", +"type": "string" +} +}, +"type": "object" +}, +"StatusCondition": { +"description": "StatusCondition describes why a cluster or a node pool has a certain status (e.g., ERROR or DEGRADED).", +"id": "StatusCondition", +"properties": { +"canonicalCode": { +"description": "Canonical code of the condition.", +"enum": [ +"OK", +"CANCELLED", +"UNKNOWN", +"INVALID_ARGUMENT", +"DEADLINE_EXCEEDED", +"NOT_FOUND", +"ALREADY_EXISTS", +"PERMISSION_DENIED", +"UNAUTHENTICATED", +"RESOURCE_EXHAUSTED", +"FAILED_PRECONDITION", +"ABORTED", +"OUT_OF_RANGE", +"UNIMPLEMENTED", +"INTERNAL", +"UNAVAILABLE", +"DATA_LOSS" +], +"enumDescriptions": [ +"Not an error; returned on success. HTTP Mapping: 200 OK", +"The operation was cancelled, typically by the caller. HTTP Mapping: 499 Client Closed Request", +"Unknown error. For example, this error may be returned when a `Status` value received from another address space belongs to an error space that is not known in this address space. Also errors raised by APIs that do not return enough error information may be converted to this error. HTTP Mapping: 500 Internal Server Error", +"The client specified an invalid argument. Note that this differs from `FAILED_PRECONDITION`. `INVALID_ARGUMENT` indicates arguments that are problematic regardless of the state of the system (e.g., a malformed file name). HTTP Mapping: 400 Bad Request", +"The deadline expired before the operation could complete. For operations that change the state of the system, this error may be returned even if the operation has completed successfully. For example, a successful response from a server could have been delayed long enough for the deadline to expire. HTTP Mapping: 504 Gateway Timeout", +"Some requested entity (e.g., file or directory) was not found. Note to server developers: if a request is denied for an entire class of users, such as gradual feature rollout or undocumented allowlist, `NOT_FOUND` may be used. If a request is denied for some users within a class of users, such as user-based access control, `PERMISSION_DENIED` must be used. HTTP Mapping: 404 Not Found", +"The entity that a client attempted to create (e.g., file or directory) already exists. HTTP Mapping: 409 Conflict", +"The caller does not have permission to execute the specified operation. `PERMISSION_DENIED` must not be used for rejections caused by exhausting some resource (use `RESOURCE_EXHAUSTED` instead for those errors). `PERMISSION_DENIED` must not be used if the caller can not be identified (use `UNAUTHENTICATED` instead for those errors). This error code does not imply the request is valid or the requested entity exists or satisfies other pre-conditions. HTTP Mapping: 403 Forbidden", +"The request does not have valid authentication credentials for the operation. HTTP Mapping: 401 Unauthorized", +"Some resource has been exhausted, perhaps a per-user quota, or perhaps the entire file system is out of space. HTTP Mapping: 429 Too Many Requests", +"The operation was rejected because the system is not in a state required for the operation's execution. For example, the directory to be deleted is non-empty, an rmdir operation is applied to a non-directory, etc. Service implementors can use the following guidelines to decide between `FAILED_PRECONDITION`, `ABORTED`, and `UNAVAILABLE`: (a) Use `UNAVAILABLE` if the client can retry just the failing call. (b) Use `ABORTED` if the client should retry at a higher level. For example, when a client-specified test-and-set fails, indicating the client should restart a read-modify-write sequence. (c) Use `FAILED_PRECONDITION` if the client should not retry until the system state has been explicitly fixed. For example, if an \"rmdir\" fails because the directory is non-empty, `FAILED_PRECONDITION` should be returned since the client should not retry unless the files are deleted from the directory. HTTP Mapping: 400 Bad Request", +"The operation was aborted, typically due to a concurrency issue such as a sequencer check failure or transaction abort. See the guidelines above for deciding between `FAILED_PRECONDITION`, `ABORTED`, and `UNAVAILABLE`. HTTP Mapping: 409 Conflict", +"The operation was attempted past the valid range. E.g., seeking or reading past end-of-file. Unlike `INVALID_ARGUMENT`, this error indicates a problem that may be fixed if the system state changes. For example, a 32-bit file system will generate `INVALID_ARGUMENT` if asked to read at an offset that is not in the range [0,2^32-1], but it will generate `OUT_OF_RANGE` if asked to read from an offset past the current file size. There is a fair bit of overlap between `FAILED_PRECONDITION` and `OUT_OF_RANGE`. We recommend using `OUT_OF_RANGE` (the more specific error) when it applies so that callers who are iterating through a space can easily look for an `OUT_OF_RANGE` error to detect when they are done. HTTP Mapping: 400 Bad Request", +"The operation is not implemented or is not supported/enabled in this service. HTTP Mapping: 501 Not Implemented", +"Internal errors. This means that some invariants expected by the underlying system have been broken. This error code is reserved for serious errors. HTTP Mapping: 500 Internal Server Error", +"The service is currently unavailable. This is most likely a transient condition, which can be corrected by retrying with a backoff. Note that it is not always safe to retry non-idempotent operations. See the guidelines above for deciding between `FAILED_PRECONDITION`, `ABORTED`, and `UNAVAILABLE`. HTTP Mapping: 503 Service Unavailable", +"Unrecoverable data loss or corruption. HTTP Mapping: 500 Internal Server Error" +], +"type": "string" +}, +"code": { +"deprecated": true, +"description": "Machine-friendly representation of the condition Deprecated. Use canonical_code instead.", +"enum": [ +"UNKNOWN", +"GCE_STOCKOUT", +"GKE_SERVICE_ACCOUNT_DELETED", +"GCE_QUOTA_EXCEEDED", +"SET_BY_OPERATOR", +"CLOUD_KMS_KEY_ERROR", +"CA_EXPIRING" +], +"enumDescriptions": [ +"UNKNOWN indicates a generic condition.", +"GCE_STOCKOUT indicates that Google Compute Engine resources are temporarily unavailable.", +"GKE_SERVICE_ACCOUNT_DELETED indicates that the user deleted their robot service account.", +"Google Compute Engine quota was exceeded.", +"Cluster state was manually changed by an SRE due to a system logic error.", +"Unable to perform an encrypt operation against the CloudKMS key used for etcd level encryption.", +"Cluster CA is expiring soon. More codes TBA" +], +"type": "string" +}, +"message": { +"description": "Human-friendly representation of the condition", +"type": "string" +} +}, +"type": "object" +}, +"TimeWindow": { +"description": "Represents an arbitrary window of time.", +"id": "TimeWindow", +"properties": { +"endTime": { +"description": "The time that the window ends. The end time should take place after the start time.", +"format": "google-datetime", +"type": "string" +}, +"maintenanceExclusionOptions": { +"$ref": "MaintenanceExclusionOptions", +"description": "MaintenanceExclusionOptions provides maintenance exclusion related options." +}, +"startTime": { +"description": "The time that the window first starts.", +"format": "google-datetime", +"type": "string" +} +}, +"type": "object" +}, +"TpuConfig": { +"description": "Configuration for Cloud TPU.", +"id": "TpuConfig", +"properties": { +"enabled": { +"description": "Whether Cloud TPU integration is enabled or not.", +"type": "boolean" +}, +"ipv4CidrBlock": { +"description": "IPv4 CIDR block reserved for Cloud TPU in the VPC.", +"type": "string" +}, +"useServiceNetworking": { +"description": "Whether to use service networking for Cloud TPU or not.", +"type": "boolean" +} +}, +"type": "object" +}, +"UpdateClusterRequest": { +"description": "UpdateClusterRequest updates the settings of a cluster.", +"id": "UpdateClusterRequest", +"properties": { +"clusterId": { +"deprecated": true, +"description": "Required. Deprecated. The name of the cluster to upgrade. This field has been deprecated and replaced by the name field.", +"type": "string" +}, +"name": { +"description": "The name (project, location, cluster) of the cluster to update. Specified in the format `projects/*/locations/*/clusters/*`.", +"type": "string" +}, +"projectId": { +"deprecated": true, +"description": "Required. Deprecated. The Google Developers Console [project ID or project number](https://cloud.google.com/resource-manager/docs/creating-managing-projects). This field has been deprecated and replaced by the name field.", +"type": "string" +}, +"update": { +"$ref": "ClusterUpdate", +"description": "Required. A description of the update." +}, +"zone": { +"deprecated": true, +"description": "Required. Deprecated. The name of the Google Compute Engine [zone](https://cloud.google.com/compute/docs/zones#available) in which the cluster resides. This field has been deprecated and replaced by the name field.", +"type": "string" +} +}, +"type": "object" +}, +"UpdateInfo": { +"description": "UpdateInfo contains resource (instance groups, etc), status and other intermediate information relevant to a node pool upgrade.", +"id": "UpdateInfo", +"properties": { +"blueGreenInfo": { +"$ref": "BlueGreenInfo", +"description": "Information of a blue-green upgrade." +} +}, +"type": "object" +}, +"UpdateMasterRequest": { +"description": "UpdateMasterRequest updates the master of the cluster.", +"id": "UpdateMasterRequest", +"properties": { +"clusterId": { +"deprecated": true, +"description": "Required. Deprecated. The name of the cluster to upgrade. This field has been deprecated and replaced by the name field.", +"type": "string" +}, +"masterVersion": { +"description": "Required. The Kubernetes version to change the master to. Users may specify either explicit versions offered by Kubernetes Engine or version aliases, which have the following behavior: - \"latest\": picks the highest valid Kubernetes version - \"1.X\": picks the highest valid patch+gke.N patch in the 1.X version - \"1.X.Y\": picks the highest valid gke.N patch in the 1.X.Y version - \"1.X.Y-gke.N\": picks an explicit Kubernetes version - \"-\": picks the default Kubernetes version", +"type": "string" +}, +"name": { +"description": "The name (project, location, cluster) of the cluster to update. Specified in the format `projects/*/locations/*/clusters/*`.", +"type": "string" +}, +"projectId": { +"deprecated": true, +"description": "Required. Deprecated. The Google Developers Console [project ID or project number](https://cloud.google.com/resource-manager/docs/creating-managing-projects). This field has been deprecated and replaced by the name field.", +"type": "string" +}, +"zone": { +"deprecated": true, +"description": "Required. Deprecated. The name of the Google Compute Engine [zone](https://cloud.google.com/compute/docs/zones#available) in which the cluster resides. This field has been deprecated and replaced by the name field.", +"type": "string" +} +}, +"type": "object" +}, +"UpdateNodePoolRequest": { +"description": "SetNodePoolVersionRequest updates the version of a node pool.", +"id": "UpdateNodePoolRequest", +"properties": { +"accelerators": { +"description": "A list of hardware accelerators to be attached to each node. See https://cloud.google.com/compute/docs/gpus for more information about support for GPUs.", +"items": { +"$ref": "AcceleratorConfig" +}, +"type": "array" +}, +"clusterId": { +"deprecated": true, +"description": "Required. Deprecated. The name of the cluster to upgrade. This field has been deprecated and replaced by the name field.", +"type": "string" +}, +"confidentialNodes": { +"$ref": "ConfidentialNodes", +"description": "Confidential nodes config. All the nodes in the node pool will be Confidential VM once enabled." +}, +"containerdConfig": { +"$ref": "ContainerdConfig", +"description": "The desired containerd config for nodes in the node pool. Initiates an upgrade operation that recreates the nodes with the new config." +}, +"diskSizeGb": { +"description": "Optional. The desired disk size for nodes in the node pool. Initiates an upgrade operation that migrates the nodes in the node pool to the specified disk size.", +"format": "int64", +"type": "string" +}, +"diskType": { +"description": "Optional. The desired disk type for nodes in the node pool. Initiates an upgrade operation that migrates the nodes in the node pool to the specified disk type.", +"type": "string" +}, +"etag": { +"description": "The current etag of the node pool. If an etag is provided and does not match the current etag of the node pool, update will be blocked and an ABORTED error will be returned.", +"type": "string" +}, +"fastSocket": { +"$ref": "FastSocket", +"description": "Enable or disable NCCL fast socket for the node pool." +}, +"gcfsConfig": { +"$ref": "GcfsConfig", +"description": "GCFS config." +}, +"gvnic": { +"$ref": "VirtualNIC", +"description": "Enable or disable gvnic on the node pool." +}, +"imageType": { +"description": "Required. The desired image type for the node pool. Please see https://cloud.google.com/kubernetes-engine/docs/concepts/node-images for available image types.", +"type": "string" +}, +"kubeletConfig": { +"$ref": "NodeKubeletConfig", +"description": "Node kubelet configs." +}, +"labels": { +"$ref": "NodeLabels", +"description": "The desired node labels to be applied to all nodes in the node pool. If this field is not present, the labels will not be changed. Otherwise, the existing node labels will be *replaced* with the provided labels." +}, +"linuxNodeConfig": { +"$ref": "LinuxNodeConfig", +"description": "Parameters that can be configured on Linux nodes." +}, +"locations": { +"description": "The desired list of Google Compute Engine [zones](https://cloud.google.com/compute/docs/zones#available) in which the node pool's nodes should be located. Changing the locations for a node pool will result in nodes being either created or removed from the node pool, depending on whether locations are being added or removed.", +"items": { +"type": "string" +}, +"type": "array" +}, +"loggingConfig": { +"$ref": "NodePoolLoggingConfig", +"description": "Logging configuration." +}, +"machineType": { +"description": "Optional. The desired machine type for nodes in the node pool. Initiates an upgrade operation that migrates the nodes in the node pool to the specified machine type.", +"type": "string" +}, +"maxRunDuration": { +"description": "The maximum duration for the nodes to exist. If unspecified, the nodes can exist indefinitely.", +"format": "google-duration", +"type": "string" +}, +"name": { +"description": "The name (project, location, cluster, node pool) of the node pool to update. Specified in the format `projects/*/locations/*/clusters/*/nodePools/*`.", +"type": "string" +}, +"nodeNetworkConfig": { +"$ref": "NodeNetworkConfig", +"description": "Node network config." +}, +"nodePoolId": { +"deprecated": true, +"description": "Required. Deprecated. The name of the node pool to upgrade. This field has been deprecated and replaced by the name field.", +"type": "string" +}, +"nodeVersion": { +"description": "Required. The Kubernetes version to change the nodes to (typically an upgrade). Users may specify either explicit versions offered by Kubernetes Engine or version aliases, which have the following behavior: - \"latest\": picks the highest valid Kubernetes version - \"1.X\": picks the highest valid patch+gke.N patch in the 1.X version - \"1.X.Y\": picks the highest valid gke.N patch in the 1.X.Y version - \"1.X.Y-gke.N\": picks an explicit Kubernetes version - \"-\": picks the Kubernetes master version", +"type": "string" +}, +"projectId": { +"deprecated": true, +"description": "Required. Deprecated. The Google Developers Console [project ID or project number](https://cloud.google.com/resource-manager/docs/creating-managing-projects). This field has been deprecated and replaced by the name field.", +"type": "string" +}, +"queuedProvisioning": { +"$ref": "QueuedProvisioning", +"description": "Specifies the configuration of queued provisioning." +}, +"resourceLabels": { +"$ref": "ResourceLabels", +"description": "The resource labels for the node pool to use to annotate any related Google Compute Engine resources." +}, +"resourceManagerTags": { +"$ref": "ResourceManagerTags", +"description": "Desired resource manager tag keys and values to be attached to the nodes for managing Compute Engine firewalls using Network Firewall Policies. Existing tags will be replaced with new values." +}, +"storagePools": { +"description": "List of Storage Pools where boot disks are provisioned. Existing Storage Pools will be replaced with storage-pools.", +"items": { +"type": "string" +}, +"type": "array" +}, +"tags": { +"$ref": "NetworkTags", +"description": "The desired network tags to be applied to all nodes in the node pool. If this field is not present, the tags will not be changed. Otherwise, the existing network tags will be *replaced* with the provided tags." +}, +"taints": { +"$ref": "NodeTaints", +"description": "The desired node taints to be applied to all nodes in the node pool. If this field is not present, the taints will not be changed. Otherwise, the existing node taints will be *replaced* with the provided taints." +}, +"upgradeSettings": { +"$ref": "UpgradeSettings", +"description": "Upgrade settings control disruption and speed of the upgrade." +}, +"windowsNodeConfig": { +"$ref": "WindowsNodeConfig", +"description": "Parameters that can be configured on Windows nodes." +}, +"workloadMetadataConfig": { +"$ref": "WorkloadMetadataConfig", +"description": "The desired workload metadata config for the node pool." +}, +"zone": { +"deprecated": true, +"description": "Required. Deprecated. The name of the Google Compute Engine [zone](https://cloud.google.com/compute/docs/zones#available) in which the cluster resides. This field has been deprecated and replaced by the name field.", +"type": "string" +} +}, +"type": "object" +}, +"UpgradeAvailableEvent": { +"description": "UpgradeAvailableEvent is a notification sent to customers when a new available version is released.", +"id": "UpgradeAvailableEvent", +"properties": { +"releaseChannel": { +"$ref": "ReleaseChannel", +"description": "The release channel of the version. If empty, it means a non-channel release." +}, +"resource": { +"description": "Optional relative path to the resource. For example, the relative path of the node pool.", +"type": "string" +}, +"resourceType": { +"description": "The resource type of the release version.", +"enum": [ +"UPGRADE_RESOURCE_TYPE_UNSPECIFIED", +"MASTER", +"NODE_POOL" +], +"enumDescriptions": [ +"Default value. This shouldn't be used.", +"Master / control plane", +"Node pool" +], +"type": "string" +}, +"version": { +"description": "The release version available for upgrade.", +"type": "string" +}, +"windowsVersions": { +"$ref": "WindowsVersions", +"description": "Windows node versions info." +} +}, +"type": "object" +}, +"UpgradeDetails": { +"description": "UpgradeDetails contains detailed information of each individual upgrade operation.", +"id": "UpgradeDetails", +"properties": { +"endTime": { +"description": "The end timestamp of the upgrade.", +"format": "google-datetime", +"type": "string" +}, +"initialVersion": { +"description": "The version before the upgrade.", +"type": "string" +}, +"startTime": { +"description": "The start timestamp of the upgrade.", +"format": "google-datetime", +"type": "string" +}, +"state": { +"description": "Output only. The state of the upgrade.", +"enum": [ +"UNKNOWN", +"FAILED", +"SUCCEEDED", +"CANCELED", +"RUNNING" +], +"enumDescriptions": [ +"Upgrade state is unknown.", +"Upgrade has failed with an error.", +"Upgrade has succeeded.", +"Upgrade has been canceled.", +"Upgrade is running." +], +"readOnly": true, +"type": "string" +}, +"targetVersion": { +"description": "The version after the upgrade.", +"type": "string" +} +}, +"type": "object" +}, +"UpgradeEvent": { +"description": "UpgradeEvent is a notification sent to customers by the cluster server when a resource is upgrading.", +"id": "UpgradeEvent", +"properties": { +"currentVersion": { +"description": "The current version before the upgrade.", +"type": "string" +}, +"operation": { +"description": "The operation associated with this upgrade.", +"type": "string" +}, +"operationStartTime": { +"description": "The time when the operation was started.", +"format": "google-datetime", +"type": "string" +}, +"resource": { +"description": "Optional relative path to the resource. For example in node pool upgrades, the relative path of the node pool.", +"type": "string" +}, +"resourceType": { +"description": "The resource type that is upgrading.", +"enum": [ +"UPGRADE_RESOURCE_TYPE_UNSPECIFIED", +"MASTER", +"NODE_POOL" +], +"enumDescriptions": [ +"Default value. This shouldn't be used.", +"Master / control plane", +"Node pool" +], +"type": "string" +}, +"targetVersion": { +"description": "The target version for the upgrade.", +"type": "string" +} +}, +"type": "object" +}, +"UpgradeInfoEvent": { +"description": "UpgradeInfoEvent is a notification sent to customers about the upgrade information of a resource.", +"id": "UpgradeInfoEvent", +"properties": { +"currentVersion": { +"description": "The current version before the upgrade.", +"type": "string" +}, +"description": { +"description": "A brief description of the event.", +"type": "string" +}, +"endTime": { +"description": "The time when the operation ended.", +"format": "google-datetime", +"type": "string" +}, +"eventType": { +"description": "The type of the event.", +"enum": [ +"EVENT_TYPE_UNSPECIFIED", +"END_OF_SUPPORT" +], +"enumDescriptions": [ +"EVENT_TYPE_UNSPECIFIED indicates the event type is unspecified.", +"END_OF_SUPPORT indicates GKE version reaches end of support, check standard_support_end_time and extended_support_end_time for more details." +], +"type": "string" +}, +"extendedSupportEndTime": { +"description": "The end of extended support timestamp.", +"format": "google-datetime", +"type": "string" +}, +"operation": { +"description": "The operation associated with this upgrade.", +"type": "string" +}, +"resource": { +"description": "Optional relative path to the resource. For example in node pool upgrades, the relative path of the node pool.", +"type": "string" +}, +"resourceType": { +"description": "The resource type associated with the upgrade.", +"enum": [ +"UPGRADE_RESOURCE_TYPE_UNSPECIFIED", +"MASTER", +"NODE_POOL" +], +"enumDescriptions": [ +"Default value. This shouldn't be used.", +"Master / control plane", +"Node pool" +], +"type": "string" +}, +"standardSupportEndTime": { +"description": "The end of standard support timestamp.", +"format": "google-datetime", +"type": "string" +}, +"startTime": { +"description": "The time when the operation was started.", +"format": "google-datetime", +"type": "string" +}, +"state": { +"description": "Output only. The state of the upgrade.", +"enum": [ +"STATE_UNSPECIFIED", +"STARTED", +"SUCCEEDED", +"FAILED", +"CANCELED" +], +"enumDescriptions": [ +"STATE_UNSPECIFIED indicates the state is unspecified.", +"STARTED indicates the upgrade has started.", +"SUCCEEDED indicates the upgrade has completed successfully.", +"FAILED indicates the upgrade has failed.", +"CANCELED indicates the upgrade has canceled." +], +"readOnly": true, +"type": "string" +}, +"targetVersion": { +"description": "The target version for the upgrade.", +"type": "string" +} +}, +"type": "object" +}, +"UpgradeSettings": { +"description": "These upgrade settings control the level of parallelism and the level of disruption caused by an upgrade. maxUnavailable controls the number of nodes that can be simultaneously unavailable. maxSurge controls the number of additional nodes that can be added to the node pool temporarily for the time of the upgrade to increase the number of available nodes. (maxUnavailable + maxSurge) determines the level of parallelism (how many nodes are being upgraded at the same time). Note: upgrades inevitably introduce some disruption since workloads need to be moved from old nodes to new, upgraded ones. Even if maxUnavailable=0, this holds true. (Disruption stays within the limits of PodDisruptionBudget, if it is configured.) Consider a hypothetical node pool with 5 nodes having maxSurge=2, maxUnavailable=1. This means the upgrade process upgrades 3 nodes simultaneously. It creates 2 additional (upgraded) nodes, then it brings down 3 old (not yet upgraded) nodes at the same time. This ensures that there are always at least 4 nodes available. These upgrade settings configure the upgrade strategy for the node pool. Use strategy to switch between the strategies applied to the node pool. If the strategy is SURGE, use max_surge and max_unavailable to control the level of parallelism and the level of disruption caused by upgrade. 1. maxSurge controls the number of additional nodes that can be added to the node pool temporarily for the time of the upgrade to increase the number of available nodes. 2. maxUnavailable controls the number of nodes that can be simultaneously unavailable. 3. (maxUnavailable + maxSurge) determines the level of parallelism (how many nodes are being upgraded at the same time). If the strategy is BLUE_GREEN, use blue_green_settings to configure the blue-green upgrade related settings. 1. standard_rollout_policy is the default policy. The policy is used to control the way blue pool gets drained. The draining is executed in the batch mode. The batch size could be specified as either percentage of the node pool size or the number of nodes. batch_soak_duration is the soak time after each batch gets drained. 2. node_pool_soak_duration is the soak time after all blue nodes are drained. After this period, the blue pool nodes will be deleted.", +"id": "UpgradeSettings", +"properties": { +"blueGreenSettings": { +"$ref": "BlueGreenSettings", +"description": "Settings for blue-green upgrade strategy." +}, +"maxSurge": { +"description": "The maximum number of nodes that can be created beyond the current size of the node pool during the upgrade process.", +"format": "int32", +"type": "integer" +}, +"maxUnavailable": { +"description": "The maximum number of nodes that can be simultaneously unavailable during the upgrade process. A node is considered available if its status is Ready.", +"format": "int32", +"type": "integer" +}, +"strategy": { +"description": "Update strategy of the node pool.", +"enum": [ +"NODE_POOL_UPDATE_STRATEGY_UNSPECIFIED", +"BLUE_GREEN", +"SURGE" +], +"enumDescriptions": [ +"Default value if unset. GKE internally defaults the update strategy to SURGE for unspecified strategies.", +"blue-green upgrade.", +"SURGE is the traditional way of upgrading a node pool. max_surge and max_unavailable determines the level of upgrade parallelism." +], +"type": "string" +} +}, +"type": "object" +}, +"UsableSubnetwork": { +"description": "UsableSubnetwork resource returns the subnetwork name, its associated network and the primary CIDR range.", +"id": "UsableSubnetwork", +"properties": { +"ipCidrRange": { +"description": "The range of internal addresses that are owned by this subnetwork.", +"type": "string" +}, +"network": { +"description": "Network Name. Example: projects/my-project/global/networks/my-network", +"type": "string" +}, +"secondaryIpRanges": { +"description": "Secondary IP ranges.", +"items": { +"$ref": "UsableSubnetworkSecondaryRange" +}, +"type": "array" +}, +"statusMessage": { +"description": "A human readable status message representing the reasons for cases where the caller cannot use the secondary ranges under the subnet. For example if the secondary_ip_ranges is empty due to a permission issue, an insufficient permission message will be given by status_message.", +"type": "string" +}, +"subnetwork": { +"description": "Subnetwork Name. Example: projects/my-project/regions/us-central1/subnetworks/my-subnet", +"type": "string" +} +}, +"type": "object" +}, +"UsableSubnetworkSecondaryRange": { +"description": "Secondary IP range of a usable subnetwork.", +"id": "UsableSubnetworkSecondaryRange", +"properties": { +"ipCidrRange": { +"description": "The range of IP addresses belonging to this subnetwork secondary range.", +"type": "string" +}, +"rangeName": { +"description": "The name associated with this subnetwork secondary range, used when adding an alias IP range to a VM instance.", +"type": "string" +}, +"status": { +"description": "This field is to determine the status of the secondary range programmably.", +"enum": [ +"UNKNOWN", +"UNUSED", +"IN_USE_SERVICE", +"IN_USE_SHAREABLE_POD", +"IN_USE_MANAGED_POD" +], +"enumDescriptions": [ +"UNKNOWN is the zero value of the Status enum. It's not a valid status.", +"UNUSED denotes that this range is unclaimed by any cluster.", +"IN_USE_SERVICE denotes that this range is claimed by a cluster for services. It cannot be used for other clusters.", +"IN_USE_SHAREABLE_POD denotes this range was created by the network admin and is currently claimed by a cluster for pods. It can only be used by other clusters as a pod range.", +"IN_USE_MANAGED_POD denotes this range was created by GKE and is claimed for pods. It cannot be used for other clusters." +], +"type": "string" +} +}, +"type": "object" +}, +"UserManagedKeysConfig": { +"description": "UserManagedKeysConfig holds the resource address to Keys which are used for signing certs and token that are used for communication within cluster.", +"id": "UserManagedKeysConfig", +"properties": { +"aggregationCa": { +"description": "The Certificate Authority Service caPool to use for the aggregation CA in this cluster.", +"type": "string" +}, +"clusterCa": { +"description": "The Certificate Authority Service caPool to use for the cluster CA in this cluster.", +"type": "string" +}, +"controlPlaneDiskEncryptionKey": { +"description": "The Cloud KMS cryptoKey to use for Confidential Hyperdisk on the control plane nodes.", +"type": "string" +}, +"etcdApiCa": { +"description": "Resource path of the Certificate Authority Service caPool to use for the etcd API CA in this cluster.", +"type": "string" +}, +"etcdPeerCa": { +"description": "Resource path of the Certificate Authority Service caPool to use for the etcd peer CA in this cluster.", +"type": "string" +}, +"gkeopsEtcdBackupEncryptionKey": { +"description": "Resource path of the Cloud KMS cryptoKey to use for encryption of internal etcd backups.", +"type": "string" +}, +"serviceAccountSigningKeys": { +"description": "The Cloud KMS cryptoKeyVersions to use for signing service account JWTs issued by this cluster. Format: `projects/{project}/locations/{location}/keyRings/{keyring}/cryptoKeys/{cryptoKey}/cryptoKeyVersions/{cryptoKeyVersion}`", +"items": { +"type": "string" +}, +"type": "array" +}, +"serviceAccountVerificationKeys": { +"description": "The Cloud KMS cryptoKeyVersions to use for verifying service account JWTs issued by this cluster. Format: `projects/{project}/locations/{location}/keyRings/{keyring}/cryptoKeys/{cryptoKey}/cryptoKeyVersions/{cryptoKeyVersion}`", +"items": { +"type": "string" +}, +"type": "array" +} +}, +"type": "object" +}, +"VerticalPodAutoscaling": { +"description": "VerticalPodAutoscaling contains global, per-cluster information required by Vertical Pod Autoscaler to automatically adjust the resources of pods controlled by it.", +"id": "VerticalPodAutoscaling", +"properties": { +"enabled": { +"description": "Enables vertical pod autoscaling.", +"type": "boolean" +} +}, +"type": "object" +}, +"VirtualNIC": { +"description": "Configuration of gVNIC feature.", +"id": "VirtualNIC", +"properties": { +"enabled": { +"description": "Whether gVNIC features are enabled in the node pool.", +"type": "boolean" +} +}, +"type": "object" +}, +"WindowsNodeConfig": { +"description": "Parameters that can be configured on Windows nodes. Windows Node Config that define the parameters that will be used to configure the Windows node pool settings", +"id": "WindowsNodeConfig", +"properties": { +"osVersion": { +"description": "OSVersion specifies the Windows node config to be used on the node", +"enum": [ +"OS_VERSION_UNSPECIFIED", +"OS_VERSION_LTSC2019", +"OS_VERSION_LTSC2022" +], +"enumDescriptions": [ +"When OSVersion is not specified", +"LTSC2019 specifies to use LTSC2019 as the Windows Servercore Base Image", +"LTSC2022 specifies to use LTSC2022 as the Windows Servercore Base Image" +], +"type": "string" +} +}, +"type": "object" +}, +"WindowsVersion": { +"description": "Windows server version.", +"id": "WindowsVersion", +"properties": { +"imageType": { +"description": "Windows server image type", +"type": "string" +}, +"osVersion": { +"description": "Windows server build number", +"type": "string" +}, +"supportEndDate": { +"$ref": "Date", +"description": "Mainstream support end date" +} +}, +"type": "object" +}, +"WindowsVersions": { +"description": "Windows server versions.", +"id": "WindowsVersions", +"properties": { +"windowsVersions": { +"description": "List of Windows server versions.", +"items": { +"$ref": "WindowsVersion" +}, +"type": "array" +} +}, +"type": "object" +}, +"WorkloadALTSConfig": { +"description": "Configuration for direct-path (via ALTS) with workload identity.", +"id": "WorkloadALTSConfig", +"properties": { +"enableAlts": { +"description": "enable_alts controls whether the alts handshaker should be enabled or not for direct-path. Requires Workload Identity (workload_pool must be non-empty).", +"type": "boolean" +} +}, +"type": "object" +}, +"WorkloadCertificates": { +"description": "Configuration for issuance of mTLS keys and certificates to Kubernetes pods.", +"id": "WorkloadCertificates", +"properties": { +"enableCertificates": { +"description": "enable_certificates controls issuance of workload mTLS certificates. If set, the GKE Workload Identity Certificates controller and node agent will be deployed in the cluster, which can then be configured by creating a WorkloadCertificateConfig Custom Resource. Requires Workload Identity (workload_pool must be non-empty).", +"type": "boolean" +} +}, +"type": "object" +}, +"WorkloadConfig": { +"description": "WorkloadConfig defines the flags to enable or disable the workload configurations for the cluster.", +"id": "WorkloadConfig", +"properties": { +"auditMode": { +"description": "Sets which mode of auditing should be used for the cluster's workloads.", +"enum": [ +"MODE_UNSPECIFIED", +"DISABLED", +"BASIC", +"BASELINE", +"RESTRICTED" +], +"enumDeprecated": [ +false, +false, +false, +true, +true +], +"enumDescriptions": [ +"Default value meaning that no mode has been specified.", +"This disables Workload Configuration auditing on the cluster, meaning that nothing is surfaced.", +"Applies the default set of policy auditing to a cluster's workloads.", +"Surfaces configurations that are not in line with the Pod Security Standard Baseline policy.", +"Surfaces configurations that are not in line with the Pod Security Standard Restricted policy." +], +"type": "string" +} +}, +"type": "object" +}, +"WorkloadIdentityConfig": { +"description": "Configuration for the use of Kubernetes Service Accounts in GCP IAM policies.", +"id": "WorkloadIdentityConfig", +"properties": { +"identityNamespace": { +"deprecated": true, +"description": "IAM Identity Namespace to attach all Kubernetes Service Accounts to.", +"type": "string" +}, +"identityProvider": { +"description": "identity provider is the third party identity provider.", +"type": "string" +}, +"workloadPool": { +"description": "The workload pool to attach all Kubernetes service accounts to.", +"type": "string" +} +}, +"type": "object" +}, +"WorkloadMetadataConfig": { +"description": "WorkloadMetadataConfig defines the metadata configuration to expose to workloads on the node pool.", +"id": "WorkloadMetadataConfig", +"properties": { +"mode": { +"description": "Mode is the configuration for how to expose metadata to workloads running on the node pool.", +"enum": [ +"MODE_UNSPECIFIED", +"GCE_METADATA", +"GKE_METADATA" +], +"enumDescriptions": [ +"Not set.", +"Expose all Compute Engine metadata to pods.", +"Run the GKE Metadata Server on this node. The GKE Metadata Server exposes a metadata API to workloads that is compatible with the V1 Compute Metadata APIs exposed by the Compute Engine and App Engine Metadata Servers. This feature can only be enabled if Workload Identity is enabled at the cluster level." +], +"type": "string" +}, +"nodeMetadata": { +"deprecated": true, +"description": "NodeMetadata is the configuration for how to expose metadata to the workloads running on the node.", +"enum": [ +"UNSPECIFIED", +"SECURE", +"EXPOSE", +"GKE_METADATA_SERVER" +], +"enumDescriptions": [ +"Not set.", +"Prevent workloads not in hostNetwork from accessing certain VM metadata, specifically kube-env, which contains Kubelet credentials, and the instance identity token. Metadata concealment is a temporary security solution available while the bootstrapping process for cluster nodes is being redesigned with significant security improvements. This feature is scheduled to be deprecated in the future and later removed.", +"Expose all VM metadata to pods.", +"Run the GKE Metadata Server on this node. The GKE Metadata Server exposes a metadata API to workloads that is compatible with the V1 Compute Metadata APIs exposed by the Compute Engine and App Engine Metadata Servers. This feature can only be enabled if Workload Identity is enabled at the cluster level." +], +"type": "string" +} +}, +"type": "object" +}, +"WorkloadPolicyConfig": { +"description": "WorkloadPolicyConfig is the configuration related to GCW workload policy", +"id": "WorkloadPolicyConfig", +"properties": { +"allowNetAdmin": { +"description": "If true, workloads can use NET_ADMIN capability.", +"type": "boolean" +} +}, +"type": "object" +} +}, +"servicePath": "", +"title": "Kubernetes Engine API", +"version": "v1beta1", +"version_module": true +} \ No newline at end of file diff --git a/.venv/lib/python3.11/site-packages/googleapiclient/discovery_cache/documents/datalineage.v1.json b/.venv/lib/python3.11/site-packages/googleapiclient/discovery_cache/documents/datalineage.v1.json new file mode 100644 index 0000000000000000000000000000000000000000..4880c90eafdec364f599fb1757861d9f62cec374 --- /dev/null +++ b/.venv/lib/python3.11/site-packages/googleapiclient/discovery_cache/documents/datalineage.v1.json @@ -0,0 +1,1594 @@ +{ +"auth": { +"oauth2": { +"scopes": { +"https://www.googleapis.com/auth/cloud-platform": { +"description": "See, edit, configure, and delete your Google Cloud data and see the email address for your Google Account." +} +} +} +}, +"basePath": "", +"baseUrl": "https://datalineage.googleapis.com/", +"batchPath": "batch", +"canonicalName": "Datalineage", +"description": "", +"discoveryVersion": "v1", +"documentationLink": "https://cloud.google.com/data-catalog", +"endpoints": [ +{ +"description": "Regional Endpoint", +"endpointUrl": "https://datalineage.africa-south1.rep.googleapis.com/", +"location": "africa-south1" +}, +{ +"description": "Regional Endpoint", +"endpointUrl": "https://datalineage.asia-east1.rep.googleapis.com/", +"location": "asia-east1" +}, +{ +"description": "Regional Endpoint", +"endpointUrl": "https://datalineage.asia-east2.rep.googleapis.com/", +"location": "asia-east2" +}, +{ +"description": "Regional Endpoint", +"endpointUrl": "https://datalineage.asia-northeast1.rep.googleapis.com/", +"location": "asia-northeast1" +}, +{ +"description": "Regional Endpoint", +"endpointUrl": "https://datalineage.asia-northeast2.rep.googleapis.com/", +"location": "asia-northeast2" +}, +{ +"description": "Regional Endpoint", +"endpointUrl": "https://datalineage.asia-northeast3.rep.googleapis.com/", +"location": "asia-northeast3" +}, +{ +"description": "Regional Endpoint", +"endpointUrl": "https://datalineage.asia-south1.rep.googleapis.com/", +"location": "asia-south1" +}, +{ +"description": "Regional Endpoint", +"endpointUrl": "https://datalineage.asia-south2.rep.googleapis.com/", +"location": "asia-south2" +}, +{ +"description": "Regional Endpoint", +"endpointUrl": "https://datalineage.asia-southeast1.rep.googleapis.com/", +"location": "asia-southeast1" +}, +{ +"description": "Regional Endpoint", +"endpointUrl": "https://datalineage.asia-southeast2.rep.googleapis.com/", +"location": "asia-southeast2" +}, +{ +"description": "Regional Endpoint", +"endpointUrl": "https://datalineage.australia-southeast1.rep.googleapis.com/", +"location": "australia-southeast1" +}, +{ +"description": "Regional Endpoint", +"endpointUrl": "https://datalineage.australia-southeast2.rep.googleapis.com/", +"location": "australia-southeast2" +}, +{ +"description": "Regional Endpoint", +"endpointUrl": "https://datalineage.europe-central2.rep.googleapis.com/", +"location": "europe-central2" +}, +{ +"description": "Regional Endpoint", +"endpointUrl": "https://datalineage.europe-north1.rep.googleapis.com/", +"location": "europe-north1" +}, +{ +"description": "Regional Endpoint", +"endpointUrl": "https://datalineage.europe-north2.rep.googleapis.com/", +"location": "europe-north2" +}, +{ +"description": "Regional Endpoint", +"endpointUrl": "https://datalineage.europe-southwest1.rep.googleapis.com/", +"location": "europe-southwest1" +}, +{ +"description": "Regional Endpoint", +"endpointUrl": "https://datalineage.europe-west1.rep.googleapis.com/", +"location": "europe-west1" +}, +{ +"description": "Regional Endpoint", +"endpointUrl": "https://datalineage.europe-west10.rep.googleapis.com/", +"location": "europe-west10" +}, +{ +"description": "Regional Endpoint", +"endpointUrl": "https://datalineage.europe-west12.rep.googleapis.com/", +"location": "europe-west12" +}, +{ +"description": "Regional Endpoint", +"endpointUrl": "https://datalineage.europe-west2.rep.googleapis.com/", +"location": "europe-west2" +}, +{ +"description": "Regional Endpoint", +"endpointUrl": "https://datalineage.europe-west3.rep.googleapis.com/", +"location": "europe-west3" +}, +{ +"description": "Regional Endpoint", +"endpointUrl": "https://datalineage.europe-west4.rep.googleapis.com/", +"location": "europe-west4" +}, +{ +"description": "Regional Endpoint", +"endpointUrl": "https://datalineage.europe-west6.rep.googleapis.com/", +"location": "europe-west6" +}, +{ +"description": "Regional Endpoint", +"endpointUrl": "https://datalineage.europe-west8.rep.googleapis.com/", +"location": "europe-west8" +}, +{ +"description": "Regional Endpoint", +"endpointUrl": "https://datalineage.europe-west9.rep.googleapis.com/", +"location": "europe-west9" +}, +{ +"description": "Regional Endpoint", +"endpointUrl": "https://datalineage.me-central1.rep.googleapis.com/", +"location": "me-central1" +}, +{ +"description": "Regional Endpoint", +"endpointUrl": "https://datalineage.me-central2.rep.googleapis.com/", +"location": "me-central2" +}, +{ +"description": "Regional Endpoint", +"endpointUrl": "https://datalineage.me-west1.rep.googleapis.com/", +"location": "me-west1" +}, +{ +"description": "Regional Endpoint", +"endpointUrl": "https://datalineage.northamerica-northeast1.rep.googleapis.com/", +"location": "northamerica-northeast1" +}, +{ +"description": "Regional Endpoint", +"endpointUrl": "https://datalineage.northamerica-northeast2.rep.googleapis.com/", +"location": "northamerica-northeast2" +}, +{ +"description": "Regional Endpoint", +"endpointUrl": "https://datalineage.northamerica-south1.rep.googleapis.com/", +"location": "northamerica-south1" +}, +{ +"description": "Regional Endpoint", +"endpointUrl": "https://datalineage.southamerica-east1.rep.googleapis.com/", +"location": "southamerica-east1" +}, +{ +"description": "Regional Endpoint", +"endpointUrl": "https://datalineage.southamerica-west1.rep.googleapis.com/", +"location": "southamerica-west1" +}, +{ +"description": "Regional Endpoint", +"endpointUrl": "https://datalineage.us-central1.rep.googleapis.com/", +"location": "us-central1" +}, +{ +"description": "Regional Endpoint", +"endpointUrl": "https://datalineage.us-central2.rep.googleapis.com/", +"location": "us-central2" +}, +{ +"description": "Regional Endpoint", +"endpointUrl": "https://datalineage.us-east1.rep.googleapis.com/", +"location": "us-east1" +}, +{ +"description": "Regional Endpoint", +"endpointUrl": "https://datalineage.us-east4.rep.googleapis.com/", +"location": "us-east4" +}, +{ +"description": "Regional Endpoint", +"endpointUrl": "https://datalineage.us-east5.rep.googleapis.com/", +"location": "us-east5" +}, +{ +"description": "Regional Endpoint", +"endpointUrl": "https://datalineage.us-east7.rep.googleapis.com/", +"location": "us-east7" +}, +{ +"description": "Regional Endpoint", +"endpointUrl": "https://datalineage.us-south1.rep.googleapis.com/", +"location": "us-south1" +}, +{ +"description": "Regional Endpoint", +"endpointUrl": "https://datalineage.us-west1.rep.googleapis.com/", +"location": "us-west1" +}, +{ +"description": "Regional Endpoint", +"endpointUrl": "https://datalineage.us-west2.rep.googleapis.com/", +"location": "us-west2" +}, +{ +"description": "Regional Endpoint", +"endpointUrl": "https://datalineage.us-west3.rep.googleapis.com/", +"location": "us-west3" +}, +{ +"description": "Regional Endpoint", +"endpointUrl": "https://datalineage.us-west4.rep.googleapis.com/", +"location": "us-west4" +}, +{ +"description": "Regional Endpoint", +"endpointUrl": "https://datalineage.us-west8.rep.googleapis.com/", +"location": "us-west8" +}, +{ +"description": "Regional Endpoint", +"endpointUrl": "https://datalineage.us.rep.googleapis.com/", +"location": "us" +}, +{ +"description": "Regional Endpoint", +"endpointUrl": "https://datalineage.eu.rep.googleapis.com/", +"location": "eu" +} +], +"fullyEncodeReservedExpansion": true, +"icons": { +"x16": "http://www.google.com/images/icons/product/search-16.gif", +"x32": "http://www.google.com/images/icons/product/search-32.gif" +}, +"id": "datalineage:v1", +"kind": "discovery#restDescription", +"mtlsRootUrl": "https://datalineage.mtls.googleapis.com/", +"name": "datalineage", +"ownerDomain": "google.com", +"ownerName": "Google", +"parameters": { +"$.xgafv": { +"description": "V1 error format.", +"enum": [ +"1", +"2" +], +"enumDescriptions": [ +"v1 error format", +"v2 error format" +], +"location": "query", +"type": "string" +}, +"access_token": { +"description": "OAuth access token.", +"location": "query", +"type": "string" +}, +"alt": { +"default": "json", +"description": "Data format for response.", +"enum": [ +"json", +"media", +"proto" +], +"enumDescriptions": [ +"Responses with Content-Type of application/json", +"Media download with context-dependent Content-Type", +"Responses with Content-Type of application/x-protobuf" +], +"location": "query", +"type": "string" +}, +"callback": { +"description": "JSONP", +"location": "query", +"type": "string" +}, +"fields": { +"description": "Selector specifying which fields to include in a partial response.", +"location": "query", +"type": "string" +}, +"key": { +"description": "API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token.", +"location": "query", +"type": "string" +}, +"oauth_token": { +"description": "OAuth 2.0 token for the current user.", +"location": "query", +"type": "string" +}, +"prettyPrint": { +"default": "true", +"description": "Returns response with indentations and line breaks.", +"location": "query", +"type": "boolean" +}, +"quotaUser": { +"description": "Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters.", +"location": "query", +"type": "string" +}, +"uploadType": { +"description": "Legacy upload protocol for media (e.g. \"media\", \"multipart\").", +"location": "query", +"type": "string" +}, +"upload_protocol": { +"description": "Upload protocol for media (e.g. \"raw\", \"multipart\").", +"location": "query", +"type": "string" +} +}, +"protocol": "rest", +"resources": { +"projects": { +"resources": { +"locations": { +"methods": { +"batchSearchLinkProcesses": { +"description": "Retrieve information about LineageProcesses associated with specific links. LineageProcesses are transformation pipelines that result in data flowing from **source** to **target** assets. Links between assets represent this operation. If you have specific link names, you can use this method to verify which LineageProcesses contribute to creating those links. See the SearchLinks method for more information on how to retrieve link name. You can retrieve the LineageProcess information in every project where you have the `datalineage.events.get` permission. The project provided in the URL is used for Billing and Quota.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}:batchSearchLinkProcesses", +"httpMethod": "POST", +"id": "datalineage.projects.locations.batchSearchLinkProcesses", +"parameterOrder": [ +"parent" +], +"parameters": { +"parent": { +"description": "Required. The project and location where you want to search.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+parent}:batchSearchLinkProcesses", +"request": { +"$ref": "GoogleCloudDatacatalogLineageV1BatchSearchLinkProcessesRequest" +}, +"response": { +"$ref": "GoogleCloudDatacatalogLineageV1BatchSearchLinkProcessesResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"processOpenLineageRunEvent": { +"description": "Creates new lineage events together with their parents: process and run. Updates the process and run if they already exist. Mapped from Open Lineage specification: https://github.com/OpenLineage/OpenLineage/blob/main/spec/OpenLineage.json.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}:processOpenLineageRunEvent", +"httpMethod": "POST", +"id": "datalineage.projects.locations.processOpenLineageRunEvent", +"parameterOrder": [ +"parent" +], +"parameters": { +"parent": { +"description": "Required. The name of the project and its location that should own the process, run, and lineage event.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+$", +"required": true, +"type": "string" +}, +"requestId": { +"description": "A unique identifier for this request. Restricted to 36 ASCII characters. A random UUID is recommended. This request is idempotent only if a `request_id` is provided.", +"location": "query", +"type": "string" +} +}, +"path": "v1/{+parent}:processOpenLineageRunEvent", +"request": { +"additionalProperties": { +"description": "Properties of the object.", +"type": "any" +}, +"type": "object" +}, +"response": { +"$ref": "GoogleCloudDatacatalogLineageV1ProcessOpenLineageRunEventResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"searchLinks": { +"description": "Retrieve a list of links connected to a specific asset. Links represent the data flow between **source** (upstream) and **target** (downstream) assets in transformation pipelines. Links are stored in the same project as the Lineage Events that create them. You can retrieve links in every project where you have the `datalineage.events.get` permission. The project provided in the URL is used for Billing and Quota.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}:searchLinks", +"httpMethod": "POST", +"id": "datalineage.projects.locations.searchLinks", +"parameterOrder": [ +"parent" +], +"parameters": { +"parent": { +"description": "Required. The project and location you want search in.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+parent}:searchLinks", +"request": { +"$ref": "GoogleCloudDatacatalogLineageV1SearchLinksRequest" +}, +"response": { +"$ref": "GoogleCloudDatacatalogLineageV1SearchLinksResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +} +}, +"resources": { +"operations": { +"methods": { +"cancel": { +"description": "Starts asynchronous cancellation on a long-running operation. The server makes a best effort to cancel the operation, but success is not guaranteed. If the server doesn't support this method, it returns `google.rpc.Code.UNIMPLEMENTED`. Clients can use Operations.GetOperation or other methods to check whether the cancellation succeeded or whether the operation completed despite cancellation. On successful cancellation, the operation is not deleted; instead, it becomes an operation with an Operation.error value with a google.rpc.Status.code of `1`, corresponding to `Code.CANCELLED`.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/operations/{operationsId}:cancel", +"httpMethod": "POST", +"id": "datalineage.projects.locations.operations.cancel", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "The name of the operation resource to be cancelled.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/operations/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+name}:cancel", +"request": { +"$ref": "GoogleLongrunningCancelOperationRequest" +}, +"response": { +"$ref": "GoogleProtobufEmpty" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"delete": { +"description": "Deletes a long-running operation. This method indicates that the client is no longer interested in the operation result. It does not cancel the operation. If the server doesn't support this method, it returns `google.rpc.Code.UNIMPLEMENTED`.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/operations/{operationsId}", +"httpMethod": "DELETE", +"id": "datalineage.projects.locations.operations.delete", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "The name of the operation resource to be deleted.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/operations/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+name}", +"response": { +"$ref": "GoogleProtobufEmpty" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"get": { +"description": "Gets the latest state of a long-running operation. Clients can use this method to poll the operation result at intervals as recommended by the API service.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/operations/{operationsId}", +"httpMethod": "GET", +"id": "datalineage.projects.locations.operations.get", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "The name of the operation resource.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/operations/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+name}", +"response": { +"$ref": "GoogleLongrunningOperation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"list": { +"description": "Lists operations that match the specified filter in the request. If the server doesn't support this method, it returns `UNIMPLEMENTED`.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/operations", +"httpMethod": "GET", +"id": "datalineage.projects.locations.operations.list", +"parameterOrder": [ +"name" +], +"parameters": { +"filter": { +"description": "The standard list filter.", +"location": "query", +"type": "string" +}, +"name": { +"description": "The name of the operation's parent resource.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+$", +"required": true, +"type": "string" +}, +"pageSize": { +"description": "The standard list page size.", +"format": "int32", +"location": "query", +"type": "integer" +}, +"pageToken": { +"description": "The standard list page token.", +"location": "query", +"type": "string" +} +}, +"path": "v1/{+name}/operations", +"response": { +"$ref": "GoogleLongrunningListOperationsResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +} +} +}, +"processes": { +"methods": { +"create": { +"description": "Creates a new process.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/processes", +"httpMethod": "POST", +"id": "datalineage.projects.locations.processes.create", +"parameterOrder": [ +"parent" +], +"parameters": { +"parent": { +"description": "Required. The name of the project and its location that should own the process.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+$", +"required": true, +"type": "string" +}, +"requestId": { +"description": "A unique identifier for this request. Restricted to 36 ASCII characters. A random UUID is recommended. This request is idempotent only if a `request_id` is provided.", +"location": "query", +"type": "string" +} +}, +"path": "v1/{+parent}/processes", +"request": { +"$ref": "GoogleCloudDatacatalogLineageV1Process" +}, +"response": { +"$ref": "GoogleCloudDatacatalogLineageV1Process" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"delete": { +"description": "Deletes the process with the specified name.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/processes/{processesId}", +"httpMethod": "DELETE", +"id": "datalineage.projects.locations.processes.delete", +"parameterOrder": [ +"name" +], +"parameters": { +"allowMissing": { +"description": "If set to true and the process is not found, the request succeeds but the server doesn't perform any actions.", +"location": "query", +"type": "boolean" +}, +"name": { +"description": "Required. The name of the process to delete.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/processes/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+name}", +"response": { +"$ref": "GoogleLongrunningOperation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"get": { +"description": "Gets the details of the specified process.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/processes/{processesId}", +"httpMethod": "GET", +"id": "datalineage.projects.locations.processes.get", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. The name of the process to get.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/processes/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+name}", +"response": { +"$ref": "GoogleCloudDatacatalogLineageV1Process" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"list": { +"description": "List processes in the given project and location. List order is descending by insertion time.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/processes", +"httpMethod": "GET", +"id": "datalineage.projects.locations.processes.list", +"parameterOrder": [ +"parent" +], +"parameters": { +"pageSize": { +"description": "The maximum number of processes to return. The service may return fewer than this value. If unspecified, at most 50 processes are returned. The maximum value is 100; values greater than 100 are cut to 100.", +"format": "int32", +"location": "query", +"type": "integer" +}, +"pageToken": { +"description": "The page token received from a previous `ListProcesses` call. Specify it to get the next page. When paginating, all other parameters specified in this call must match the parameters of the call that provided the page token.", +"location": "query", +"type": "string" +}, +"parent": { +"description": "Required. The name of the project and its location that owns this collection of processes.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+parent}/processes", +"response": { +"$ref": "GoogleCloudDatacatalogLineageV1ListProcessesResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"patch": { +"description": "Updates a process.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/processes/{processesId}", +"httpMethod": "PATCH", +"id": "datalineage.projects.locations.processes.patch", +"parameterOrder": [ +"name" +], +"parameters": { +"allowMissing": { +"description": "If set to true and the process is not found, the request inserts it.", +"location": "query", +"type": "boolean" +}, +"name": { +"description": "Immutable. The resource name of the lineage process. Format: `projects/{project}/locations/{location}/processes/{process}`. Can be specified or auto-assigned. {process} must be not longer than 200 characters and only contain characters in a set: `a-zA-Z0-9_-:.`", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/processes/[^/]+$", +"required": true, +"type": "string" +}, +"updateMask": { +"description": "The list of fields to update. Currently not used. The whole message is updated.", +"format": "google-fieldmask", +"location": "query", +"type": "string" +} +}, +"path": "v1/{+name}", +"request": { +"$ref": "GoogleCloudDatacatalogLineageV1Process" +}, +"response": { +"$ref": "GoogleCloudDatacatalogLineageV1Process" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +} +}, +"resources": { +"runs": { +"methods": { +"create": { +"description": "Creates a new run.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/processes/{processesId}/runs", +"httpMethod": "POST", +"id": "datalineage.projects.locations.processes.runs.create", +"parameterOrder": [ +"parent" +], +"parameters": { +"parent": { +"description": "Required. The name of the process that should own the run.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/processes/[^/]+$", +"required": true, +"type": "string" +}, +"requestId": { +"description": "A unique identifier for this request. Restricted to 36 ASCII characters. A random UUID is recommended. This request is idempotent only if a `request_id` is provided.", +"location": "query", +"type": "string" +} +}, +"path": "v1/{+parent}/runs", +"request": { +"$ref": "GoogleCloudDatacatalogLineageV1Run" +}, +"response": { +"$ref": "GoogleCloudDatacatalogLineageV1Run" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"delete": { +"description": "Deletes the run with the specified name.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/processes/{processesId}/runs/{runsId}", +"httpMethod": "DELETE", +"id": "datalineage.projects.locations.processes.runs.delete", +"parameterOrder": [ +"name" +], +"parameters": { +"allowMissing": { +"description": "If set to true and the run is not found, the request succeeds but the server doesn't perform any actions.", +"location": "query", +"type": "boolean" +}, +"name": { +"description": "Required. The name of the run to delete.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/processes/[^/]+/runs/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+name}", +"response": { +"$ref": "GoogleLongrunningOperation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"get": { +"description": "Gets the details of the specified run.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/processes/{processesId}/runs/{runsId}", +"httpMethod": "GET", +"id": "datalineage.projects.locations.processes.runs.get", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. The name of the run to get.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/processes/[^/]+/runs/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+name}", +"response": { +"$ref": "GoogleCloudDatacatalogLineageV1Run" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"list": { +"description": "Lists runs in the given project and location. List order is descending by `start_time`.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/processes/{processesId}/runs", +"httpMethod": "GET", +"id": "datalineage.projects.locations.processes.runs.list", +"parameterOrder": [ +"parent" +], +"parameters": { +"pageSize": { +"description": "The maximum number of runs to return. The service may return fewer than this value. If unspecified, at most 50 runs are returned. The maximum value is 100; values greater than 100 are cut to 100.", +"format": "int32", +"location": "query", +"type": "integer" +}, +"pageToken": { +"description": "The page token received from a previous `ListRuns` call. Specify it to get the next page. When paginating, all other parameters specified in this call must match the parameters of the call that provided the page token.", +"location": "query", +"type": "string" +}, +"parent": { +"description": "Required. The name of process that owns this collection of runs.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/processes/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+parent}/runs", +"response": { +"$ref": "GoogleCloudDatacatalogLineageV1ListRunsResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"patch": { +"description": "Updates a run.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/processes/{processesId}/runs/{runsId}", +"httpMethod": "PATCH", +"id": "datalineage.projects.locations.processes.runs.patch", +"parameterOrder": [ +"name" +], +"parameters": { +"allowMissing": { +"description": "If set to true and the run is not found, the request creates it.", +"location": "query", +"type": "boolean" +}, +"name": { +"description": "Immutable. The resource name of the run. Format: `projects/{project}/locations/{location}/processes/{process}/runs/{run}`. Can be specified or auto-assigned. {run} must be not longer than 200 characters and only contain characters in a set: `a-zA-Z0-9_-:.`", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/processes/[^/]+/runs/[^/]+$", +"required": true, +"type": "string" +}, +"updateMask": { +"description": "The list of fields to update. Currently not used. The whole message is updated.", +"format": "google-fieldmask", +"location": "query", +"type": "string" +} +}, +"path": "v1/{+name}", +"request": { +"$ref": "GoogleCloudDatacatalogLineageV1Run" +}, +"response": { +"$ref": "GoogleCloudDatacatalogLineageV1Run" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +} +}, +"resources": { +"lineageEvents": { +"methods": { +"create": { +"description": "Creates a new lineage event.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/processes/{processesId}/runs/{runsId}/lineageEvents", +"httpMethod": "POST", +"id": "datalineage.projects.locations.processes.runs.lineageEvents.create", +"parameterOrder": [ +"parent" +], +"parameters": { +"parent": { +"description": "Required. The name of the run that should own the lineage event.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/processes/[^/]+/runs/[^/]+$", +"required": true, +"type": "string" +}, +"requestId": { +"description": "A unique identifier for this request. Restricted to 36 ASCII characters. A random UUID is recommended. This request is idempotent only if a `request_id` is provided.", +"location": "query", +"type": "string" +} +}, +"path": "v1/{+parent}/lineageEvents", +"request": { +"$ref": "GoogleCloudDatacatalogLineageV1LineageEvent" +}, +"response": { +"$ref": "GoogleCloudDatacatalogLineageV1LineageEvent" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"delete": { +"description": "Deletes the lineage event with the specified name.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/processes/{processesId}/runs/{runsId}/lineageEvents/{lineageEventsId}", +"httpMethod": "DELETE", +"id": "datalineage.projects.locations.processes.runs.lineageEvents.delete", +"parameterOrder": [ +"name" +], +"parameters": { +"allowMissing": { +"description": "If set to true and the lineage event is not found, the request succeeds but the server doesn't perform any actions.", +"location": "query", +"type": "boolean" +}, +"name": { +"description": "Required. The name of the lineage event to delete.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/processes/[^/]+/runs/[^/]+/lineageEvents/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+name}", +"response": { +"$ref": "GoogleProtobufEmpty" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"get": { +"description": "Gets details of a specified lineage event.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/processes/{processesId}/runs/{runsId}/lineageEvents/{lineageEventsId}", +"httpMethod": "GET", +"id": "datalineage.projects.locations.processes.runs.lineageEvents.get", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. The name of the lineage event to get.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/processes/[^/]+/runs/[^/]+/lineageEvents/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+name}", +"response": { +"$ref": "GoogleCloudDatacatalogLineageV1LineageEvent" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"list": { +"description": "Lists lineage events in the given project and location. The list order is not defined.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/processes/{processesId}/runs/{runsId}/lineageEvents", +"httpMethod": "GET", +"id": "datalineage.projects.locations.processes.runs.lineageEvents.list", +"parameterOrder": [ +"parent" +], +"parameters": { +"pageSize": { +"description": "The maximum number of lineage events to return. The service may return fewer events than this value. If unspecified, at most 50 events are returned. The maximum value is 100; values greater than 100 are cut to 100.", +"format": "int32", +"location": "query", +"type": "integer" +}, +"pageToken": { +"description": "The page token received from a previous `ListLineageEvents` call. Specify it to get the next page. When paginating, all other parameters specified in this call must match the parameters of the call that provided the page token.", +"location": "query", +"type": "string" +}, +"parent": { +"description": "Required. The name of the run that owns the collection of lineage events to get.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/processes/[^/]+/runs/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+parent}/lineageEvents", +"response": { +"$ref": "GoogleCloudDatacatalogLineageV1ListLineageEventsResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +} +} +} +} +} +} +} +} +} +} +} +}, +"revision": "20241202", +"rootUrl": "https://datalineage.googleapis.com/", +"schemas": { +"GoogleCloudDatacatalogLineageV1BatchSearchLinkProcessesRequest": { +"description": "Request message for BatchSearchLinkProcesses.", +"id": "GoogleCloudDatacatalogLineageV1BatchSearchLinkProcessesRequest", +"properties": { +"links": { +"description": "Required. An array of links to check for their associated LineageProcesses. The maximum number of items in this array is 100. If the request contains more than 100 links, it returns the `INVALID_ARGUMENT` error. Format: `projects/{project}/locations/{location}/links/{link}`.", +"items": { +"type": "string" +}, +"type": "array" +}, +"pageSize": { +"description": "The maximum number of processes to return in a single page of the response. A page may contain fewer results than this value.", +"format": "int32", +"type": "integer" +}, +"pageToken": { +"description": "The page token received from a previous `BatchSearchLinkProcesses` call. Use it to get the next page. When requesting subsequent pages of a response, remember that all parameters must match the values you provided in the original request.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDatacatalogLineageV1BatchSearchLinkProcessesResponse": { +"description": "Response message for BatchSearchLinkProcesses.", +"id": "GoogleCloudDatacatalogLineageV1BatchSearchLinkProcessesResponse", +"properties": { +"nextPageToken": { +"description": "The token to specify as `page_token` in the subsequent call to get the next page. Omitted if there are no more pages in the response.", +"type": "string" +}, +"processLinks": { +"description": "An array of processes associated with the specified links.", +"items": { +"$ref": "GoogleCloudDatacatalogLineageV1ProcessLinks" +}, +"type": "array" +} +}, +"type": "object" +}, +"GoogleCloudDatacatalogLineageV1EntityReference": { +"description": "The soft reference to everything you can attach a lineage event to.", +"id": "GoogleCloudDatacatalogLineageV1EntityReference", +"properties": { +"fullyQualifiedName": { +"description": "Required. [Fully Qualified Name (FQN)](https://cloud.google.com/data-catalog/docs/fully-qualified-names) of the entity.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDatacatalogLineageV1EventLink": { +"description": "A lineage between source and target entities.", +"id": "GoogleCloudDatacatalogLineageV1EventLink", +"properties": { +"source": { +"$ref": "GoogleCloudDatacatalogLineageV1EntityReference", +"description": "Required. Reference to the source entity" +}, +"target": { +"$ref": "GoogleCloudDatacatalogLineageV1EntityReference", +"description": "Required. Reference to the target entity" +} +}, +"type": "object" +}, +"GoogleCloudDatacatalogLineageV1LineageEvent": { +"description": "A lineage event represents an operation on assets. Within the operation, the data flows from the source to the target defined in the links field.", +"id": "GoogleCloudDatacatalogLineageV1LineageEvent", +"properties": { +"endTime": { +"description": "Optional. The end of the transformation which resulted in this lineage event. For streaming scenarios, it should be the end of the period from which the lineage is being reported.", +"format": "google-datetime", +"type": "string" +}, +"links": { +"description": "Optional. List of source-target pairs. Can't contain more than 100 tuples.", +"items": { +"$ref": "GoogleCloudDatacatalogLineageV1EventLink" +}, +"type": "array" +}, +"name": { +"description": "Immutable. The resource name of the lineage event. Format: `projects/{project}/locations/{location}/processes/{process}/runs/{run}/lineageEvents/{lineage_event}`. Can be specified or auto-assigned. {lineage_event} must be not longer than 200 characters and only contain characters in a set: `a-zA-Z0-9_-:.`", +"type": "string" +}, +"startTime": { +"description": "Required. The beginning of the transformation which resulted in this lineage event. For streaming scenarios, it should be the beginning of the period from which the lineage is being reported.", +"format": "google-datetime", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDatacatalogLineageV1Link": { +"description": "Links represent the data flow between **source** (upstream) and **target** (downstream) assets in transformation pipelines. Links are created when LineageEvents record data transformation between related assets.", +"id": "GoogleCloudDatacatalogLineageV1Link", +"properties": { +"endTime": { +"description": "The end of the last event establishing this link.", +"format": "google-datetime", +"type": "string" +}, +"name": { +"description": "Output only. Immutable. The name of the link. Format: `projects/{project}/locations/{location}/links/{link}`.", +"readOnly": true, +"type": "string" +}, +"source": { +"$ref": "GoogleCloudDatacatalogLineageV1EntityReference", +"description": "The pointer to the entity that is the **source** of this link." +}, +"startTime": { +"description": "The start of the first event establishing this link.", +"format": "google-datetime", +"type": "string" +}, +"target": { +"$ref": "GoogleCloudDatacatalogLineageV1EntityReference", +"description": "The pointer to the entity that is the **target** of this link." +} +}, +"type": "object" +}, +"GoogleCloudDatacatalogLineageV1ListLineageEventsResponse": { +"description": "Response message for ListLineageEvents.", +"id": "GoogleCloudDatacatalogLineageV1ListLineageEventsResponse", +"properties": { +"lineageEvents": { +"description": "Lineage events from the specified project and location.", +"items": { +"$ref": "GoogleCloudDatacatalogLineageV1LineageEvent" +}, +"type": "array" +}, +"nextPageToken": { +"description": "The token to specify as `page_token` in the next call to get the next page. If this field is omitted, there are no subsequent pages.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDatacatalogLineageV1ListProcessesResponse": { +"description": "Response message for ListProcesses.", +"id": "GoogleCloudDatacatalogLineageV1ListProcessesResponse", +"properties": { +"nextPageToken": { +"description": "The token to specify as `page_token` in the next call to get the next page. If this field is omitted, there are no subsequent pages.", +"type": "string" +}, +"processes": { +"description": "The processes from the specified project and location.", +"items": { +"$ref": "GoogleCloudDatacatalogLineageV1Process" +}, +"type": "array" +} +}, +"type": "object" +}, +"GoogleCloudDatacatalogLineageV1ListRunsResponse": { +"description": "Response message for ListRuns.", +"id": "GoogleCloudDatacatalogLineageV1ListRunsResponse", +"properties": { +"nextPageToken": { +"description": "The token to specify as `page_token` in the next call to get the next page. If this field is omitted, there are no subsequent pages.", +"type": "string" +}, +"runs": { +"description": "The runs from the specified project and location.", +"items": { +"$ref": "GoogleCloudDatacatalogLineageV1Run" +}, +"type": "array" +} +}, +"type": "object" +}, +"GoogleCloudDatacatalogLineageV1OperationMetadata": { +"description": "Metadata describing the operation.", +"id": "GoogleCloudDatacatalogLineageV1OperationMetadata", +"properties": { +"createTime": { +"description": "Output only. The timestamp of the operation submission to the server.", +"format": "google-datetime", +"readOnly": true, +"type": "string" +}, +"endTime": { +"description": "Output only. The timestamp of the operation termination, regardless of its success. This field is unset if the operation is still ongoing.", +"format": "google-datetime", +"readOnly": true, +"type": "string" +}, +"operationType": { +"description": "Output only. The type of the operation being performed.", +"enum": [ +"TYPE_UNSPECIFIED", +"DELETE", +"CREATE" +], +"enumDescriptions": [ +"Unused.", +"The resource deletion operation.", +"The resource creation operation." +], +"readOnly": true, +"type": "string" +}, +"resource": { +"description": "Output only. The [relative name] (https://cloud.google.com//apis/design/resource_names#relative_resource_name) of the resource being operated on.", +"readOnly": true, +"type": "string" +}, +"resourceUuid": { +"description": "Output only. The UUID of the resource being operated on.", +"readOnly": true, +"type": "string" +}, +"state": { +"description": "Output only. The current operation state.", +"enum": [ +"STATE_UNSPECIFIED", +"PENDING", +"RUNNING", +"SUCCEEDED", +"FAILED" +], +"enumDescriptions": [ +"Unused.", +"The operation has been created but is not yet started.", +"The operation is underway.", +"The operation completed successfully.", +"The operation is no longer running and did not succeed." +], +"readOnly": true, +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDatacatalogLineageV1Origin": { +"description": "Origin of a process.", +"id": "GoogleCloudDatacatalogLineageV1Origin", +"properties": { +"name": { +"description": "If the source_type isn't CUSTOM, the value of this field should be a GCP resource name of the system, which reports lineage. The project and location parts of the resource name must match the project and location of the lineage resource being created. Examples: - `{source_type: COMPOSER, name: \"projects/foo/locations/us/environments/bar\"}` - `{source_type: BIGQUERY, name: \"projects/foo/locations/eu\"}` - `{source_type: CUSTOM, name: \"myCustomIntegration\"}`", +"type": "string" +}, +"sourceType": { +"description": "Type of the source. Use of a source_type other than `CUSTOM` for process creation or updating is highly discouraged. It might be restricted in the future without notice. There will be increase in cost if you use any of the source types other than `CUSTOM`.", +"enum": [ +"SOURCE_TYPE_UNSPECIFIED", +"CUSTOM", +"BIGQUERY", +"DATA_FUSION", +"COMPOSER", +"LOOKER_STUDIO", +"DATAPROC", +"VERTEX_AI" +], +"enumDescriptions": [ +"Source is Unspecified", +"A custom source", +"BigQuery", +"Data Fusion", +"Composer", +"Looker Studio", +"Dataproc", +"Vertex AI" +], +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDatacatalogLineageV1Process": { +"description": "A process is the definition of a data transformation operation.", +"id": "GoogleCloudDatacatalogLineageV1Process", +"properties": { +"attributes": { +"additionalProperties": { +"type": "any" +}, +"description": "Optional. The attributes of the process. Should only be used for the purpose of non-semantic management (classifying, describing or labeling the process). Up to 100 attributes are allowed.", +"type": "object" +}, +"displayName": { +"description": "Optional. A human-readable name you can set to display in a user interface. Must be not longer than 200 characters and only contain UTF-8 letters or numbers, spaces or characters like `_-:&.`", +"type": "string" +}, +"name": { +"description": "Immutable. The resource name of the lineage process. Format: `projects/{project}/locations/{location}/processes/{process}`. Can be specified or auto-assigned. {process} must be not longer than 200 characters and only contain characters in a set: `a-zA-Z0-9_-:.`", +"type": "string" +}, +"origin": { +"$ref": "GoogleCloudDatacatalogLineageV1Origin", +"description": "Optional. The origin of this process and its runs and lineage events." +} +}, +"type": "object" +}, +"GoogleCloudDatacatalogLineageV1ProcessLinkInfo": { +"description": "Link details.", +"id": "GoogleCloudDatacatalogLineageV1ProcessLinkInfo", +"properties": { +"endTime": { +"description": "The end of the last event establishing this link-process tuple.", +"format": "google-datetime", +"type": "string" +}, +"link": { +"description": "The name of the link in the format of `projects/{project}/locations/{location}/links/{link}`.", +"type": "string" +}, +"startTime": { +"description": "The start of the first event establishing this link-process tuple.", +"format": "google-datetime", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDatacatalogLineageV1ProcessLinks": { +"description": "Links associated with a specific process.", +"id": "GoogleCloudDatacatalogLineageV1ProcessLinks", +"properties": { +"links": { +"description": "An array containing link details objects of the links provided in the original request. A single process can result in creating multiple links. If any of the links you provide in the request are created by the same process, they all are included in this array.", +"items": { +"$ref": "GoogleCloudDatacatalogLineageV1ProcessLinkInfo" +}, +"type": "array" +}, +"process": { +"description": "The process name in the format of `projects/{project}/locations/{location}/processes/{process}`.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDatacatalogLineageV1ProcessOpenLineageRunEventResponse": { +"description": "Response message for ProcessOpenLineageRunEvent.", +"id": "GoogleCloudDatacatalogLineageV1ProcessOpenLineageRunEventResponse", +"properties": { +"lineageEvents": { +"description": "Created lineage event names. Format: `projects/{project}/locations/{location}/processes/{process}/runs/{run}/lineageEvents/{lineage_event}`.", +"items": { +"type": "string" +}, +"type": "array" +}, +"process": { +"description": "Created process name. Format: `projects/{project}/locations/{location}/processes/{process}`.", +"type": "string" +}, +"run": { +"description": "Created run name. Format: `projects/{project}/locations/{location}/processes/{process}/runs/{run}`.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDatacatalogLineageV1Run": { +"description": "A lineage run represents an execution of a process that creates lineage events.", +"id": "GoogleCloudDatacatalogLineageV1Run", +"properties": { +"attributes": { +"additionalProperties": { +"type": "any" +}, +"description": "Optional. The attributes of the run. Should only be used for the purpose of non-semantic management (classifying, describing or labeling the run). Up to 100 attributes are allowed.", +"type": "object" +}, +"displayName": { +"description": "Optional. A human-readable name you can set to display in a user interface. Must be not longer than 1024 characters and only contain UTF-8 letters or numbers, spaces or characters like `_-:&.`", +"type": "string" +}, +"endTime": { +"description": "Optional. The timestamp of the end of the run.", +"format": "google-datetime", +"type": "string" +}, +"name": { +"description": "Immutable. The resource name of the run. Format: `projects/{project}/locations/{location}/processes/{process}/runs/{run}`. Can be specified or auto-assigned. {run} must be not longer than 200 characters and only contain characters in a set: `a-zA-Z0-9_-:.`", +"type": "string" +}, +"startTime": { +"description": "Required. The timestamp of the start of the run.", +"format": "google-datetime", +"type": "string" +}, +"state": { +"description": "Required. The state of the run.", +"enum": [ +"UNKNOWN", +"STARTED", +"COMPLETED", +"FAILED", +"ABORTED" +], +"enumDescriptions": [ +"The state is unknown. The true state may be any of the below or a different state that is not supported here explicitly.", +"The run is still executing.", +"The run completed.", +"The run failed.", +"The run aborted." +], +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDatacatalogLineageV1SearchLinksRequest": { +"description": "Request message for SearchLinks.", +"id": "GoogleCloudDatacatalogLineageV1SearchLinksRequest", +"properties": { +"pageSize": { +"description": "Optional. The maximum number of links to return in a single page of the response. A page may contain fewer links than this value. If unspecified, at most 10 links are returned. Maximum value is 100; values greater than 100 are reduced to 100.", +"format": "int32", +"type": "integer" +}, +"pageToken": { +"description": "Optional. The page token received from a previous `SearchLinksRequest` call. Use it to get the next page. When requesting subsequent pages of a response, remember that all parameters must match the values you provided in the original request.", +"type": "string" +}, +"source": { +"$ref": "GoogleCloudDatacatalogLineageV1EntityReference", +"description": "Optional. Send asset information in the **source** field to retrieve all links that lead from the specified asset to downstream assets." +}, +"target": { +"$ref": "GoogleCloudDatacatalogLineageV1EntityReference", +"description": "Optional. Send asset information in the **target** field to retrieve all links that lead from upstream assets to the specified asset." +} +}, +"type": "object" +}, +"GoogleCloudDatacatalogLineageV1SearchLinksResponse": { +"description": "Response message for SearchLinks.", +"id": "GoogleCloudDatacatalogLineageV1SearchLinksResponse", +"properties": { +"links": { +"description": "The list of links for a given asset. Can be empty if the asset has no relations of requested type (source or target).", +"items": { +"$ref": "GoogleCloudDatacatalogLineageV1Link" +}, +"type": "array" +}, +"nextPageToken": { +"description": "The token to specify as `page_token` in the subsequent call to get the next page. Omitted if there are no more pages in the response.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleLongrunningCancelOperationRequest": { +"description": "The request message for Operations.CancelOperation.", +"id": "GoogleLongrunningCancelOperationRequest", +"properties": {}, +"type": "object" +}, +"GoogleLongrunningListOperationsResponse": { +"description": "The response message for Operations.ListOperations.", +"id": "GoogleLongrunningListOperationsResponse", +"properties": { +"nextPageToken": { +"description": "The standard List next-page token.", +"type": "string" +}, +"operations": { +"description": "A list of operations that matches the specified filter in the request.", +"items": { +"$ref": "GoogleLongrunningOperation" +}, +"type": "array" +} +}, +"type": "object" +}, +"GoogleLongrunningOperation": { +"description": "This resource represents a long-running operation that is the result of a network API call.", +"id": "GoogleLongrunningOperation", +"properties": { +"done": { +"description": "If the value is `false`, it means the operation is still in progress. If `true`, the operation is completed, and either `error` or `response` is available.", +"type": "boolean" +}, +"error": { +"$ref": "GoogleRpcStatus", +"description": "The error result of the operation in case of failure or cancellation." +}, +"metadata": { +"additionalProperties": { +"description": "Properties of the object. Contains field @type with type URL.", +"type": "any" +}, +"description": "Service-specific metadata associated with the operation. It typically contains progress information and common metadata such as create time. Some services might not provide such metadata. Any method that returns a long-running operation should document the metadata type, if any.", +"type": "object" +}, +"name": { +"description": "The server-assigned name, which is only unique within the same service that originally returns it. If you use the default HTTP mapping, the `name` should be a resource name ending with `operations/{unique_id}`.", +"type": "string" +}, +"response": { +"additionalProperties": { +"description": "Properties of the object. Contains field @type with type URL.", +"type": "any" +}, +"description": "The normal, successful response of the operation. If the original method returns no data on success, such as `Delete`, the response is `google.protobuf.Empty`. If the original method is standard `Get`/`Create`/`Update`, the response should be the resource. For other methods, the response should have the type `XxxResponse`, where `Xxx` is the original method name. For example, if the original method name is `TakeSnapshot()`, the inferred response type is `TakeSnapshotResponse`.", +"type": "object" +} +}, +"type": "object" +}, +"GoogleProtobufEmpty": { +"description": "A generic empty message that you can re-use to avoid defining duplicated empty messages in your APIs. A typical example is to use it as the request or the response type of an API method. For instance: service Foo { rpc Bar(google.protobuf.Empty) returns (google.protobuf.Empty); }", +"id": "GoogleProtobufEmpty", +"properties": {}, +"type": "object" +}, +"GoogleRpcStatus": { +"description": "The `Status` type defines a logical error model that is suitable for different programming environments, including REST APIs and RPC APIs. It is used by [gRPC](https://github.com/grpc). Each `Status` message contains three pieces of data: error code, error message, and error details. You can find out more about this error model and how to work with it in the [API Design Guide](https://cloud.google.com/apis/design/errors).", +"id": "GoogleRpcStatus", +"properties": { +"code": { +"description": "The status code, which should be an enum value of google.rpc.Code.", +"format": "int32", +"type": "integer" +}, +"details": { +"description": "A list of messages that carry the error details. There is a common set of message types for APIs to use.", +"items": { +"additionalProperties": { +"description": "Properties of the object. Contains field @type with type URL.", +"type": "any" +}, +"type": "object" +}, +"type": "array" +}, +"message": { +"description": "A developer-facing error message, which should be in English. Any user-facing error message should be localized and sent in the google.rpc.Status.details field, or localized by the client.", +"type": "string" +} +}, +"type": "object" +} +}, +"servicePath": "", +"title": "Data Lineage API", +"version": "v1", +"version_module": true +} \ No newline at end of file diff --git a/.venv/lib/python3.11/site-packages/googleapiclient/discovery_cache/documents/dataproc.v1.json b/.venv/lib/python3.11/site-packages/googleapiclient/discovery_cache/documents/dataproc.v1.json new file mode 100644 index 0000000000000000000000000000000000000000..983de32ff4699296489701af05a4a76b6d24832e --- /dev/null +++ b/.venv/lib/python3.11/site-packages/googleapiclient/discovery_cache/documents/dataproc.v1.json @@ -0,0 +1,12772 @@ +{ +"auth": { +"oauth2": { +"scopes": { +"https://www.googleapis.com/auth/cloud-platform": { +"description": "See, edit, configure, and delete your Google Cloud data and see the email address for your Google Account." +} +} +} +}, +"basePath": "", +"baseUrl": "https://dataproc.googleapis.com/", +"batchPath": "batch", +"canonicalName": "Dataproc", +"description": "Manages Hadoop-based clusters and jobs on Google Cloud Platform.", +"discoveryVersion": "v1", +"documentationLink": "https://cloud.google.com/dataproc/", +"endpoints": [ +{ +"description": "Regional Endpoint", +"endpointUrl": "https://dataproc.europe-west3.rep.googleapis.com/", +"location": "europe-west3" +}, +{ +"description": "Regional Endpoint", +"endpointUrl": "https://dataproc.europe-west9.rep.googleapis.com/", +"location": "europe-west9" +}, +{ +"description": "Regional Endpoint", +"endpointUrl": "https://dataproc.us-central1.rep.googleapis.com/", +"location": "us-central1" +}, +{ +"description": "Regional Endpoint", +"endpointUrl": "https://dataproc.us-central2.rep.googleapis.com/", +"location": "us-central2" +}, +{ +"description": "Regional Endpoint", +"endpointUrl": "https://dataproc.us-east1.rep.googleapis.com/", +"location": "us-east1" +}, +{ +"description": "Regional Endpoint", +"endpointUrl": "https://dataproc.us-east4.rep.googleapis.com/", +"location": "us-east4" +}, +{ +"description": "Regional Endpoint", +"endpointUrl": "https://dataproc.us-east5.rep.googleapis.com/", +"location": "us-east5" +}, +{ +"description": "Regional Endpoint", +"endpointUrl": "https://dataproc.us-east7.rep.googleapis.com/", +"location": "us-east7" +}, +{ +"description": "Regional Endpoint", +"endpointUrl": "https://dataproc.us-south1.rep.googleapis.com/", +"location": "us-south1" +}, +{ +"description": "Regional Endpoint", +"endpointUrl": "https://dataproc.us-west1.rep.googleapis.com/", +"location": "us-west1" +}, +{ +"description": "Regional Endpoint", +"endpointUrl": "https://dataproc.us-west2.rep.googleapis.com/", +"location": "us-west2" +}, +{ +"description": "Regional Endpoint", +"endpointUrl": "https://dataproc.us-west3.rep.googleapis.com/", +"location": "us-west3" +}, +{ +"description": "Regional Endpoint", +"endpointUrl": "https://dataproc.us-west8.rep.googleapis.com/", +"location": "us-west8" +}, +{ +"description": "Regional Endpoint", +"endpointUrl": "https://dataproc.europe-west8.rep.googleapis.com/", +"location": "europe-west8" +}, +{ +"description": "Regional Endpoint", +"endpointUrl": "https://dataproc.me-central2.rep.googleapis.com/", +"location": "me-central2" +} +], +"fullyEncodeReservedExpansion": true, +"icons": { +"x16": "http://www.google.com/images/icons/product/search-16.gif", +"x32": "http://www.google.com/images/icons/product/search-32.gif" +}, +"id": "dataproc:v1", +"kind": "discovery#restDescription", +"mtlsRootUrl": "https://dataproc.mtls.googleapis.com/", +"name": "dataproc", +"ownerDomain": "google.com", +"ownerName": "Google", +"parameters": { +"$.xgafv": { +"description": "V1 error format.", +"enum": [ +"1", +"2" +], +"enumDescriptions": [ +"v1 error format", +"v2 error format" +], +"location": "query", +"type": "string" +}, +"access_token": { +"description": "OAuth access token.", +"location": "query", +"type": "string" +}, +"alt": { +"default": "json", +"description": "Data format for response.", +"enum": [ +"json", +"media", +"proto" +], +"enumDescriptions": [ +"Responses with Content-Type of application/json", +"Media download with context-dependent Content-Type", +"Responses with Content-Type of application/x-protobuf" +], +"location": "query", +"type": "string" +}, +"callback": { +"description": "JSONP", +"location": "query", +"type": "string" +}, +"fields": { +"description": "Selector specifying which fields to include in a partial response.", +"location": "query", +"type": "string" +}, +"key": { +"description": "API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token.", +"location": "query", +"type": "string" +}, +"oauth_token": { +"description": "OAuth 2.0 token for the current user.", +"location": "query", +"type": "string" +}, +"prettyPrint": { +"default": "true", +"description": "Returns response with indentations and line breaks.", +"location": "query", +"type": "boolean" +}, +"quotaUser": { +"description": "Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters.", +"location": "query", +"type": "string" +}, +"uploadType": { +"description": "Legacy upload protocol for media (e.g. \"media\", \"multipart\").", +"location": "query", +"type": "string" +}, +"upload_protocol": { +"description": "Upload protocol for media (e.g. \"raw\", \"multipart\").", +"location": "query", +"type": "string" +} +}, +"protocol": "rest", +"resources": { +"projects": { +"resources": { +"locations": { +"resources": { +"autoscalingPolicies": { +"methods": { +"create": { +"description": "Creates new autoscaling policy.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/autoscalingPolicies", +"httpMethod": "POST", +"id": "dataproc.projects.locations.autoscalingPolicies.create", +"parameterOrder": [ +"parent" +], +"parameters": { +"parent": { +"description": "Required. The \"resource name\" of the region or location, as described in https://cloud.google.com/apis/design/resource_names. For projects.regions.autoscalingPolicies.create, the resource name of the region has the following format: projects/{project_id}/regions/{region} For projects.locations.autoscalingPolicies.create, the resource name of the location has the following format: projects/{project_id}/locations/{location}", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+parent}/autoscalingPolicies", +"request": { +"$ref": "AutoscalingPolicy" +}, +"response": { +"$ref": "AutoscalingPolicy" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"delete": { +"description": "Deletes an autoscaling policy. It is an error to delete an autoscaling policy that is in use by one or more clusters.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/autoscalingPolicies/{autoscalingPoliciesId}", +"httpMethod": "DELETE", +"id": "dataproc.projects.locations.autoscalingPolicies.delete", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. The \"resource name\" of the autoscaling policy, as described in https://cloud.google.com/apis/design/resource_names. For projects.regions.autoscalingPolicies.delete, the resource name of the policy has the following format: projects/{project_id}/regions/{region}/autoscalingPolicies/{policy_id} For projects.locations.autoscalingPolicies.delete, the resource name of the policy has the following format: projects/{project_id}/locations/{location}/autoscalingPolicies/{policy_id}", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/autoscalingPolicies/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+name}", +"response": { +"$ref": "Empty" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"get": { +"description": "Retrieves autoscaling policy.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/autoscalingPolicies/{autoscalingPoliciesId}", +"httpMethod": "GET", +"id": "dataproc.projects.locations.autoscalingPolicies.get", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. The \"resource name\" of the autoscaling policy, as described in https://cloud.google.com/apis/design/resource_names. For projects.regions.autoscalingPolicies.get, the resource name of the policy has the following format: projects/{project_id}/regions/{region}/autoscalingPolicies/{policy_id} For projects.locations.autoscalingPolicies.get, the resource name of the policy has the following format: projects/{project_id}/locations/{location}/autoscalingPolicies/{policy_id}", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/autoscalingPolicies/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+name}", +"response": { +"$ref": "AutoscalingPolicy" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"getIamPolicy": { +"description": "Gets the access control policy for a resource. Returns an empty policy if the resource exists and does not have a policy set.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/autoscalingPolicies/{autoscalingPoliciesId}:getIamPolicy", +"httpMethod": "POST", +"id": "dataproc.projects.locations.autoscalingPolicies.getIamPolicy", +"parameterOrder": [ +"resource" +], +"parameters": { +"resource": { +"description": "REQUIRED: The resource for which the policy is being requested. See Resource names (https://cloud.google.com/apis/design/resource_names) for the appropriate value for this field.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/autoscalingPolicies/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+resource}:getIamPolicy", +"request": { +"$ref": "GetIamPolicyRequest" +}, +"response": { +"$ref": "Policy" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"list": { +"description": "Lists autoscaling policies in the project.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/autoscalingPolicies", +"httpMethod": "GET", +"id": "dataproc.projects.locations.autoscalingPolicies.list", +"parameterOrder": [ +"parent" +], +"parameters": { +"pageSize": { +"description": "Optional. The maximum number of results to return in each response. Must be less than or equal to 1000. Defaults to 100.", +"format": "int32", +"location": "query", +"type": "integer" +}, +"pageToken": { +"description": "Optional. The page token, returned by a previous call, to request the next page of results.", +"location": "query", +"type": "string" +}, +"parent": { +"description": "Required. The \"resource name\" of the region or location, as described in https://cloud.google.com/apis/design/resource_names. For projects.regions.autoscalingPolicies.list, the resource name of the region has the following format: projects/{project_id}/regions/{region} For projects.locations.autoscalingPolicies.list, the resource name of the location has the following format: projects/{project_id}/locations/{location}", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+parent}/autoscalingPolicies", +"response": { +"$ref": "ListAutoscalingPoliciesResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"setIamPolicy": { +"description": "Sets the access control policy on the specified resource. Replaces any existing policy.Can return NOT_FOUND, INVALID_ARGUMENT, and PERMISSION_DENIED errors.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/autoscalingPolicies/{autoscalingPoliciesId}:setIamPolicy", +"httpMethod": "POST", +"id": "dataproc.projects.locations.autoscalingPolicies.setIamPolicy", +"parameterOrder": [ +"resource" +], +"parameters": { +"resource": { +"description": "REQUIRED: The resource for which the policy is being specified. See Resource names (https://cloud.google.com/apis/design/resource_names) for the appropriate value for this field.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/autoscalingPolicies/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+resource}:setIamPolicy", +"request": { +"$ref": "SetIamPolicyRequest" +}, +"response": { +"$ref": "Policy" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"testIamPermissions": { +"description": "Returns permissions that a caller has on the specified resource. If the resource does not exist, this will return an empty set of permissions, not a NOT_FOUND error.Note: This operation is designed to be used for building permission-aware UIs and command-line tools, not for authorization checking. This operation may \"fail open\" without warning.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/autoscalingPolicies/{autoscalingPoliciesId}:testIamPermissions", +"httpMethod": "POST", +"id": "dataproc.projects.locations.autoscalingPolicies.testIamPermissions", +"parameterOrder": [ +"resource" +], +"parameters": { +"resource": { +"description": "REQUIRED: The resource for which the policy detail is being requested. See Resource names (https://cloud.google.com/apis/design/resource_names) for the appropriate value for this field.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/autoscalingPolicies/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+resource}:testIamPermissions", +"request": { +"$ref": "TestIamPermissionsRequest" +}, +"response": { +"$ref": "TestIamPermissionsResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"update": { +"description": "Updates (replaces) autoscaling policy.Disabled check for update_mask, because all updates will be full replacements.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/autoscalingPolicies/{autoscalingPoliciesId}", +"httpMethod": "PUT", +"id": "dataproc.projects.locations.autoscalingPolicies.update", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Output only. The \"resource name\" of the autoscaling policy, as described in https://cloud.google.com/apis/design/resource_names. For projects.regions.autoscalingPolicies, the resource name of the policy has the following format: projects/{project_id}/regions/{region}/autoscalingPolicies/{policy_id} For projects.locations.autoscalingPolicies, the resource name of the policy has the following format: projects/{project_id}/locations/{location}/autoscalingPolicies/{policy_id}", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/autoscalingPolicies/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+name}", +"request": { +"$ref": "AutoscalingPolicy" +}, +"response": { +"$ref": "AutoscalingPolicy" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +} +} +}, +"batches": { +"methods": { +"analyze": { +"description": "Analyze a Batch for possible recommendations and insights.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/batches/{batchesId}:analyze", +"httpMethod": "POST", +"id": "dataproc.projects.locations.batches.analyze", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. The fully qualified name of the batch to analyze in the format \"projects/PROJECT_ID/locations/DATAPROC_REGION/batches/BATCH_ID\"", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/batches/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+name}:analyze", +"request": { +"$ref": "AnalyzeBatchRequest" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"create": { +"description": "Creates a batch workload that executes asynchronously.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/batches", +"httpMethod": "POST", +"id": "dataproc.projects.locations.batches.create", +"parameterOrder": [ +"parent" +], +"parameters": { +"batchId": { +"description": "Optional. The ID to use for the batch, which will become the final component of the batch's resource name.This value must be 4-63 characters. Valid characters are /[a-z][0-9]-/.", +"location": "query", +"type": "string" +}, +"parent": { +"description": "Required. The parent resource where this batch will be created.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+$", +"required": true, +"type": "string" +}, +"requestId": { +"description": "Optional. A unique ID used to identify the request. If the service receives two CreateBatchRequest (https://cloud.google.com/dataproc/docs/reference/rpc/google.cloud.dataproc.v1#google.cloud.dataproc.v1.CreateBatchRequest)s with the same request_id, the second request is ignored and the Operation that corresponds to the first Batch created and stored in the backend is returned.Recommendation: Set this value to a UUID (https://en.wikipedia.org/wiki/Universally_unique_identifier).The value must contain only letters (a-z, A-Z), numbers (0-9), underscores (_), and hyphens (-). The maximum length is 40 characters.", +"location": "query", +"type": "string" +} +}, +"path": "v1/{+parent}/batches", +"request": { +"$ref": "Batch" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"delete": { +"description": "Deletes the batch workload resource. If the batch is not in a CANCELLED, SUCCEEDED or FAILED State, the delete operation fails and the response returns FAILED_PRECONDITION.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/batches/{batchesId}", +"httpMethod": "DELETE", +"id": "dataproc.projects.locations.batches.delete", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. The fully qualified name of the batch to retrieve in the format \"projects/PROJECT_ID/locations/DATAPROC_REGION/batches/BATCH_ID\"", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/batches/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+name}", +"response": { +"$ref": "Empty" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"get": { +"description": "Gets the batch workload resource representation.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/batches/{batchesId}", +"httpMethod": "GET", +"id": "dataproc.projects.locations.batches.get", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. The fully qualified name of the batch to retrieve in the format \"projects/PROJECT_ID/locations/DATAPROC_REGION/batches/BATCH_ID\"", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/batches/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+name}", +"response": { +"$ref": "Batch" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"list": { +"description": "Lists batch workloads.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/batches", +"httpMethod": "GET", +"id": "dataproc.projects.locations.batches.list", +"parameterOrder": [ +"parent" +], +"parameters": { +"filter": { +"description": "Optional. A filter for the batches to return in the response.A filter is a logical expression constraining the values of various fields in each batch resource. Filters are case sensitive, and may contain multiple clauses combined with logical operators (AND/OR). Supported fields are batch_id, batch_uuid, state, create_time, and labels.e.g. state = RUNNING and create_time < \"2023-01-01T00:00:00Z\" filters for batches in state RUNNING that were created before 2023-01-01. state = RUNNING and labels.environment=production filters for batches in state in a RUNNING state that have a production environment label.See https://google.aip.dev/assets/misc/ebnf-filtering.txt for a detailed description of the filter syntax and a list of supported comparisons.", +"location": "query", +"type": "string" +}, +"orderBy": { +"description": "Optional. Field(s) on which to sort the list of batches.Currently the only supported sort orders are unspecified (empty) and create_time desc to sort by most recently created batches first.See https://google.aip.dev/132#ordering for more details.", +"location": "query", +"type": "string" +}, +"pageSize": { +"description": "Optional. The maximum number of batches to return in each response. The service may return fewer than this value. The default page size is 20; the maximum page size is 1000.", +"format": "int32", +"location": "query", +"type": "integer" +}, +"pageToken": { +"description": "Optional. A page token received from a previous ListBatches call. Provide this token to retrieve the subsequent page.", +"location": "query", +"type": "string" +}, +"parent": { +"description": "Required. The parent, which owns this collection of batches.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+parent}/batches", +"response": { +"$ref": "ListBatchesResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +} +}, +"resources": { +"sparkApplications": { +"methods": { +"access": { +"description": "Obtain high level information corresponding to a single Spark Application.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/batches/{batchesId}/sparkApplications/{sparkApplicationsId}:access", +"httpMethod": "GET", +"id": "dataproc.projects.locations.batches.sparkApplications.access", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. The fully qualified name of the batch to retrieve in the format \"projects/PROJECT_ID/locations/DATAPROC_REGION/batches/BATCH_ID/sparkApplications/APPLICATION_ID\"", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/batches/[^/]+/sparkApplications/[^/]+$", +"required": true, +"type": "string" +}, +"parent": { +"description": "Required. Parent (Batch) resource reference.", +"location": "query", +"type": "string" +} +}, +"path": "v1/{+name}:access", +"response": { +"$ref": "AccessSparkApplicationResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"accessEnvironmentInfo": { +"description": "Obtain environment details for a Spark Application", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/batches/{batchesId}/sparkApplications/{sparkApplicationsId}:accessEnvironmentInfo", +"httpMethod": "GET", +"id": "dataproc.projects.locations.batches.sparkApplications.accessEnvironmentInfo", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. The fully qualified name of the batch to retrieve in the format \"projects/PROJECT_ID/locations/DATAPROC_REGION/batches/BATCH_ID/sparkApplications/APPLICATION_ID\"", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/batches/[^/]+/sparkApplications/[^/]+$", +"required": true, +"type": "string" +}, +"parent": { +"description": "Required. Parent (Batch) resource reference.", +"location": "query", +"type": "string" +} +}, +"path": "v1/{+name}:accessEnvironmentInfo", +"response": { +"$ref": "AccessSparkApplicationEnvironmentInfoResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"accessJob": { +"description": "Obtain data corresponding to a spark job for a Spark Application.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/batches/{batchesId}/sparkApplications/{sparkApplicationsId}:accessJob", +"httpMethod": "GET", +"id": "dataproc.projects.locations.batches.sparkApplications.accessJob", +"parameterOrder": [ +"name" +], +"parameters": { +"jobId": { +"description": "Required. Job ID to fetch data for.", +"format": "int64", +"location": "query", +"type": "string" +}, +"name": { +"description": "Required. The fully qualified name of the batch to retrieve in the format \"projects/PROJECT_ID/locations/DATAPROC_REGION/batches/BATCH_ID/sparkApplications/APPLICATION_ID\"", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/batches/[^/]+/sparkApplications/[^/]+$", +"required": true, +"type": "string" +}, +"parent": { +"description": "Required. Parent (Batch) resource reference.", +"location": "query", +"type": "string" +} +}, +"path": "v1/{+name}:accessJob", +"response": { +"$ref": "AccessSparkApplicationJobResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"accessSqlPlan": { +"description": "Obtain Spark Plan Graph for a Spark Application SQL execution. Limits the number of clusters returned as part of the graph to 10000.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/batches/{batchesId}/sparkApplications/{sparkApplicationsId}:accessSqlPlan", +"httpMethod": "GET", +"id": "dataproc.projects.locations.batches.sparkApplications.accessSqlPlan", +"parameterOrder": [ +"name" +], +"parameters": { +"executionId": { +"description": "Required. Execution ID", +"format": "int64", +"location": "query", +"type": "string" +}, +"name": { +"description": "Required. The fully qualified name of the batch to retrieve in the format \"projects/PROJECT_ID/locations/DATAPROC_REGION/batches/BATCH_ID/sparkApplications/APPLICATION_ID\"", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/batches/[^/]+/sparkApplications/[^/]+$", +"required": true, +"type": "string" +}, +"parent": { +"description": "Required. Parent (Batch) resource reference.", +"location": "query", +"type": "string" +} +}, +"path": "v1/{+name}:accessSqlPlan", +"response": { +"$ref": "AccessSparkApplicationSqlSparkPlanGraphResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"accessSqlQuery": { +"description": "Obtain data corresponding to a particular SQL Query for a Spark Application.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/batches/{batchesId}/sparkApplications/{sparkApplicationsId}:accessSqlQuery", +"httpMethod": "GET", +"id": "dataproc.projects.locations.batches.sparkApplications.accessSqlQuery", +"parameterOrder": [ +"name" +], +"parameters": { +"details": { +"description": "Optional. Lists/ hides details of Spark plan nodes. True is set to list and false to hide.", +"location": "query", +"type": "boolean" +}, +"executionId": { +"description": "Required. Execution ID", +"format": "int64", +"location": "query", +"type": "string" +}, +"name": { +"description": "Required. The fully qualified name of the batch to retrieve in the format \"projects/PROJECT_ID/locations/DATAPROC_REGION/batches/BATCH_ID/sparkApplications/APPLICATION_ID\"", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/batches/[^/]+/sparkApplications/[^/]+$", +"required": true, +"type": "string" +}, +"parent": { +"description": "Required. Parent (Batch) resource reference.", +"location": "query", +"type": "string" +}, +"planDescription": { +"description": "Optional. Enables/ disables physical plan description on demand", +"location": "query", +"type": "boolean" +} +}, +"path": "v1/{+name}:accessSqlQuery", +"response": { +"$ref": "AccessSparkApplicationSqlQueryResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"accessStageAttempt": { +"description": "Obtain data corresponding to a spark stage attempt for a Spark Application.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/batches/{batchesId}/sparkApplications/{sparkApplicationsId}:accessStageAttempt", +"httpMethod": "GET", +"id": "dataproc.projects.locations.batches.sparkApplications.accessStageAttempt", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. The fully qualified name of the batch to retrieve in the format \"projects/PROJECT_ID/locations/DATAPROC_REGION/batches/BATCH_ID/sparkApplications/APPLICATION_ID\"", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/batches/[^/]+/sparkApplications/[^/]+$", +"required": true, +"type": "string" +}, +"parent": { +"description": "Required. Parent (Batch) resource reference.", +"location": "query", +"type": "string" +}, +"stageAttemptId": { +"description": "Required. Stage Attempt ID", +"format": "int32", +"location": "query", +"type": "integer" +}, +"stageId": { +"description": "Required. Stage ID", +"format": "int64", +"location": "query", +"type": "string" +}, +"summaryMetricsMask": { +"description": "Optional. The list of summary metrics fields to include. Empty list will default to skip all summary metrics fields. Example, if the response should include TaskQuantileMetrics, the request should have task_quantile_metrics in summary_metrics_mask field", +"format": "google-fieldmask", +"location": "query", +"type": "string" +} +}, +"path": "v1/{+name}:accessStageAttempt", +"response": { +"$ref": "AccessSparkApplicationStageAttemptResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"accessStageRddGraph": { +"description": "Obtain RDD operation graph for a Spark Application Stage. Limits the number of clusters returned as part of the graph to 10000.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/batches/{batchesId}/sparkApplications/{sparkApplicationsId}:accessStageRddGraph", +"httpMethod": "GET", +"id": "dataproc.projects.locations.batches.sparkApplications.accessStageRddGraph", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. The fully qualified name of the batch to retrieve in the format \"projects/PROJECT_ID/locations/DATAPROC_REGION/batches/BATCH_ID/sparkApplications/APPLICATION_ID\"", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/batches/[^/]+/sparkApplications/[^/]+$", +"required": true, +"type": "string" +}, +"parent": { +"description": "Required. Parent (Batch) resource reference.", +"location": "query", +"type": "string" +}, +"stageId": { +"description": "Required. Stage ID", +"format": "int64", +"location": "query", +"type": "string" +} +}, +"path": "v1/{+name}:accessStageRddGraph", +"response": { +"$ref": "AccessSparkApplicationStageRddOperationGraphResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"search": { +"description": "Obtain high level information and list of Spark Applications corresponding to a batch", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/batches/{batchesId}/sparkApplications:search", +"httpMethod": "GET", +"id": "dataproc.projects.locations.batches.sparkApplications.search", +"parameterOrder": [ +"parent" +], +"parameters": { +"applicationStatus": { +"description": "Optional. Search only applications in the chosen state.", +"enum": [ +"APPLICATION_STATUS_UNSPECIFIED", +"APPLICATION_STATUS_RUNNING", +"APPLICATION_STATUS_COMPLETED" +], +"enumDescriptions": [ +"", +"", +"" +], +"location": "query", +"type": "string" +}, +"maxEndTime": { +"description": "Optional. Latest end timestamp to list.", +"format": "google-datetime", +"location": "query", +"type": "string" +}, +"maxTime": { +"description": "Optional. Latest start timestamp to list.", +"format": "google-datetime", +"location": "query", +"type": "string" +}, +"minEndTime": { +"description": "Optional. Earliest end timestamp to list.", +"format": "google-datetime", +"location": "query", +"type": "string" +}, +"minTime": { +"description": "Optional. Earliest start timestamp to list.", +"format": "google-datetime", +"location": "query", +"type": "string" +}, +"pageSize": { +"description": "Optional. Maximum number of applications to return in each response. The service may return fewer than this. The default page size is 10; the maximum page size is 100.", +"format": "int32", +"location": "query", +"type": "integer" +}, +"pageToken": { +"description": "Optional. A page token received from a previous SearchSparkApplications call. Provide this token to retrieve the subsequent page.", +"location": "query", +"type": "string" +}, +"parent": { +"description": "Required. The fully qualified name of the batch to retrieve in the format \"projects/PROJECT_ID/locations/DATAPROC_REGION/batches/BATCH_ID\"", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/batches/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+parent}/sparkApplications:search", +"response": { +"$ref": "SearchSparkApplicationsResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"searchExecutorStageSummary": { +"description": "Obtain executor summary with respect to a spark stage attempt.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/batches/{batchesId}/sparkApplications/{sparkApplicationsId}:searchExecutorStageSummary", +"httpMethod": "GET", +"id": "dataproc.projects.locations.batches.sparkApplications.searchExecutorStageSummary", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. The fully qualified name of the batch to retrieve in the format \"projects/PROJECT_ID/locations/DATAPROC_REGION/batches/BATCH_ID/sparkApplications/APPLICATION_ID\"", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/batches/[^/]+/sparkApplications/[^/]+$", +"required": true, +"type": "string" +}, +"pageSize": { +"description": "Optional. Maximum number of executors to return in each response. The service may return fewer than this. The default page size is 10; the maximum page size is 100.", +"format": "int32", +"location": "query", +"type": "integer" +}, +"pageToken": { +"description": "Optional. A page token received from a previous AccessSparkApplicationExecutorsList call. Provide this token to retrieve the subsequent page.", +"location": "query", +"type": "string" +}, +"parent": { +"description": "Required. Parent (Batch) resource reference.", +"location": "query", +"type": "string" +}, +"stageAttemptId": { +"description": "Required. Stage Attempt ID", +"format": "int32", +"location": "query", +"type": "integer" +}, +"stageId": { +"description": "Required. Stage ID", +"format": "int64", +"location": "query", +"type": "string" +} +}, +"path": "v1/{+name}:searchExecutorStageSummary", +"response": { +"$ref": "SearchSparkApplicationExecutorStageSummaryResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"searchExecutors": { +"description": "Obtain data corresponding to executors for a Spark Application.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/batches/{batchesId}/sparkApplications/{sparkApplicationsId}:searchExecutors", +"httpMethod": "GET", +"id": "dataproc.projects.locations.batches.sparkApplications.searchExecutors", +"parameterOrder": [ +"name" +], +"parameters": { +"executorStatus": { +"description": "Optional. Filter to select whether active/ dead or all executors should be selected.", +"enum": [ +"EXECUTOR_STATUS_UNSPECIFIED", +"EXECUTOR_STATUS_ACTIVE", +"EXECUTOR_STATUS_DEAD" +], +"enumDescriptions": [ +"", +"", +"" +], +"location": "query", +"type": "string" +}, +"name": { +"description": "Required. The fully qualified name of the batch to retrieve in the format \"projects/PROJECT_ID/locations/DATAPROC_REGION/batches/BATCH_ID/sparkApplications/APPLICATION_ID\"", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/batches/[^/]+/sparkApplications/[^/]+$", +"required": true, +"type": "string" +}, +"pageSize": { +"description": "Optional. Maximum number of executors to return in each response. The service may return fewer than this. The default page size is 10; the maximum page size is 100.", +"format": "int32", +"location": "query", +"type": "integer" +}, +"pageToken": { +"description": "Optional. A page token received from a previous AccessSparkApplicationExecutorsList call. Provide this token to retrieve the subsequent page.", +"location": "query", +"type": "string" +}, +"parent": { +"description": "Required. Parent (Batch) resource reference.", +"location": "query", +"type": "string" +} +}, +"path": "v1/{+name}:searchExecutors", +"response": { +"$ref": "SearchSparkApplicationExecutorsResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"searchJobs": { +"description": "Obtain list of spark jobs corresponding to a Spark Application.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/batches/{batchesId}/sparkApplications/{sparkApplicationsId}:searchJobs", +"httpMethod": "GET", +"id": "dataproc.projects.locations.batches.sparkApplications.searchJobs", +"parameterOrder": [ +"name" +], +"parameters": { +"jobStatus": { +"description": "Optional. List only jobs in the specific state.", +"enum": [ +"JOB_EXECUTION_STATUS_UNSPECIFIED", +"JOB_EXECUTION_STATUS_RUNNING", +"JOB_EXECUTION_STATUS_SUCCEEDED", +"JOB_EXECUTION_STATUS_FAILED", +"JOB_EXECUTION_STATUS_UNKNOWN" +], +"enumDescriptions": [ +"", +"", +"", +"", +"" +], +"location": "query", +"type": "string" +}, +"name": { +"description": "Required. The fully qualified name of the batch to retrieve in the format \"projects/PROJECT_ID/locations/DATAPROC_REGION/batches/BATCH_ID/sparkApplications/APPLICATION_ID\"", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/batches/[^/]+/sparkApplications/[^/]+$", +"required": true, +"type": "string" +}, +"pageSize": { +"description": "Optional. Maximum number of jobs to return in each response. The service may return fewer than this. The default page size is 10; the maximum page size is 100.", +"format": "int32", +"location": "query", +"type": "integer" +}, +"pageToken": { +"description": "Optional. A page token received from a previous SearchSparkApplicationJobs call. Provide this token to retrieve the subsequent page.", +"location": "query", +"type": "string" +}, +"parent": { +"description": "Required. Parent (Batch) resource reference.", +"location": "query", +"type": "string" +} +}, +"path": "v1/{+name}:searchJobs", +"response": { +"$ref": "SearchSparkApplicationJobsResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"searchSqlQueries": { +"description": "Obtain data corresponding to SQL Queries for a Spark Application.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/batches/{batchesId}/sparkApplications/{sparkApplicationsId}:searchSqlQueries", +"httpMethod": "GET", +"id": "dataproc.projects.locations.batches.sparkApplications.searchSqlQueries", +"parameterOrder": [ +"name" +], +"parameters": { +"details": { +"description": "Optional. Lists/ hides details of Spark plan nodes. True is set to list and false to hide.", +"location": "query", +"type": "boolean" +}, +"name": { +"description": "Required. The fully qualified name of the batch to retrieve in the format \"projects/PROJECT_ID/locations/DATAPROC_REGION/batches/BATCH_ID/sparkApplications/APPLICATION_ID\"", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/batches/[^/]+/sparkApplications/[^/]+$", +"required": true, +"type": "string" +}, +"pageSize": { +"description": "Optional. Maximum number of queries to return in each response. The service may return fewer than this. The default page size is 10; the maximum page size is 100.", +"format": "int32", +"location": "query", +"type": "integer" +}, +"pageToken": { +"description": "Optional. A page token received from a previous SearchSparkApplicationSqlQueries call. Provide this token to retrieve the subsequent page.", +"location": "query", +"type": "string" +}, +"parent": { +"description": "Required. Parent (Batch) resource reference.", +"location": "query", +"type": "string" +}, +"planDescription": { +"description": "Optional. Enables/ disables physical plan description on demand", +"location": "query", +"type": "boolean" +} +}, +"path": "v1/{+name}:searchSqlQueries", +"response": { +"$ref": "SearchSparkApplicationSqlQueriesResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"searchStageAttemptTasks": { +"description": "Obtain data corresponding to tasks for a spark stage attempt for a Spark Application.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/batches/{batchesId}/sparkApplications/{sparkApplicationsId}:searchStageAttemptTasks", +"httpMethod": "GET", +"id": "dataproc.projects.locations.batches.sparkApplications.searchStageAttemptTasks", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. The fully qualified name of the batch to retrieve in the format \"projects/PROJECT_ID/locations/DATAPROC_REGION/batches/BATCH_ID/sparkApplications/APPLICATION_ID\"", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/batches/[^/]+/sparkApplications/[^/]+$", +"required": true, +"type": "string" +}, +"pageSize": { +"description": "Optional. Maximum number of tasks to return in each response. The service may return fewer than this. The default page size is 10; the maximum page size is 100.", +"format": "int32", +"location": "query", +"type": "integer" +}, +"pageToken": { +"description": "Optional. A page token received from a previous ListSparkApplicationStageAttemptTasks call. Provide this token to retrieve the subsequent page.", +"location": "query", +"type": "string" +}, +"parent": { +"description": "Required. Parent (Batch) resource reference.", +"location": "query", +"type": "string" +}, +"sortRuntime": { +"description": "Optional. Sort the tasks by runtime.", +"location": "query", +"type": "boolean" +}, +"stageAttemptId": { +"description": "Optional. Stage Attempt ID", +"format": "int32", +"location": "query", +"type": "integer" +}, +"stageId": { +"description": "Optional. Stage ID", +"format": "int64", +"location": "query", +"type": "string" +}, +"taskStatus": { +"description": "Optional. List only tasks in the state.", +"enum": [ +"TASK_STATUS_UNSPECIFIED", +"TASK_STATUS_RUNNING", +"TASK_STATUS_SUCCESS", +"TASK_STATUS_FAILED", +"TASK_STATUS_KILLED", +"TASK_STATUS_PENDING" +], +"enumDescriptions": [ +"", +"", +"", +"", +"", +"" +], +"location": "query", +"type": "string" +} +}, +"path": "v1/{+name}:searchStageAttemptTasks", +"response": { +"$ref": "SearchSparkApplicationStageAttemptTasksResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"searchStageAttempts": { +"description": "Obtain data corresponding to a spark stage attempts for a Spark Application.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/batches/{batchesId}/sparkApplications/{sparkApplicationsId}:searchStageAttempts", +"httpMethod": "GET", +"id": "dataproc.projects.locations.batches.sparkApplications.searchStageAttempts", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. The fully qualified name of the batch to retrieve in the format \"projects/PROJECT_ID/locations/DATAPROC_REGION/batches/BATCH_ID/sparkApplications/APPLICATION_ID\"", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/batches/[^/]+/sparkApplications/[^/]+$", +"required": true, +"type": "string" +}, +"pageSize": { +"description": "Optional. Maximum number of stage attempts (paging based on stage_attempt_id) to return in each response. The service may return fewer than this. The default page size is 10; the maximum page size is 100.", +"format": "int32", +"location": "query", +"type": "integer" +}, +"pageToken": { +"description": "Optional. A page token received from a previous SearchSparkApplicationStageAttempts call. Provide this token to retrieve the subsequent page.", +"location": "query", +"type": "string" +}, +"parent": { +"description": "Required. Parent (Batch) resource reference.", +"location": "query", +"type": "string" +}, +"stageId": { +"description": "Required. Stage ID for which attempts are to be fetched", +"format": "int64", +"location": "query", +"type": "string" +}, +"summaryMetricsMask": { +"description": "Optional. The list of summary metrics fields to include. Empty list will default to skip all summary metrics fields. Example, if the response should include TaskQuantileMetrics, the request should have task_quantile_metrics in summary_metrics_mask field", +"format": "google-fieldmask", +"location": "query", +"type": "string" +} +}, +"path": "v1/{+name}:searchStageAttempts", +"response": { +"$ref": "SearchSparkApplicationStageAttemptsResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"searchStages": { +"description": "Obtain data corresponding to stages for a Spark Application.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/batches/{batchesId}/sparkApplications/{sparkApplicationsId}:searchStages", +"httpMethod": "GET", +"id": "dataproc.projects.locations.batches.sparkApplications.searchStages", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. The fully qualified name of the batch to retrieve in the format \"projects/PROJECT_ID/locations/DATAPROC_REGION/batches/BATCH_ID/sparkApplications/APPLICATION_ID\"", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/batches/[^/]+/sparkApplications/[^/]+$", +"required": true, +"type": "string" +}, +"pageSize": { +"description": "Optional. Maximum number of stages (paging based on stage_id) to return in each response. The service may return fewer than this. The default page size is 10; the maximum page size is 100.", +"format": "int32", +"location": "query", +"type": "integer" +}, +"pageToken": { +"description": "Optional. A page token received from a previous FetchSparkApplicationStagesList call. Provide this token to retrieve the subsequent page.", +"location": "query", +"type": "string" +}, +"parent": { +"description": "Required. Parent (Batch) resource reference.", +"location": "query", +"type": "string" +}, +"stageStatus": { +"description": "Optional. List only stages in the given state.", +"enum": [ +"STAGE_STATUS_UNSPECIFIED", +"STAGE_STATUS_ACTIVE", +"STAGE_STATUS_COMPLETE", +"STAGE_STATUS_FAILED", +"STAGE_STATUS_PENDING", +"STAGE_STATUS_SKIPPED" +], +"enumDescriptions": [ +"", +"", +"", +"", +"", +"" +], +"location": "query", +"type": "string" +}, +"summaryMetricsMask": { +"description": "Optional. The list of summary metrics fields to include. Empty list will default to skip all summary metrics fields. Example, if the response should include TaskQuantileMetrics, the request should have task_quantile_metrics in summary_metrics_mask field", +"format": "google-fieldmask", +"location": "query", +"type": "string" +} +}, +"path": "v1/{+name}:searchStages", +"response": { +"$ref": "SearchSparkApplicationStagesResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"summarizeExecutors": { +"description": "Obtain summary of Executor Summary for a Spark Application", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/batches/{batchesId}/sparkApplications/{sparkApplicationsId}:summarizeExecutors", +"httpMethod": "GET", +"id": "dataproc.projects.locations.batches.sparkApplications.summarizeExecutors", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. The fully qualified name of the batch to retrieve in the format \"projects/PROJECT_ID/locations/DATAPROC_REGION/batches/BATCH_ID/sparkApplications/APPLICATION_ID\"", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/batches/[^/]+/sparkApplications/[^/]+$", +"required": true, +"type": "string" +}, +"parent": { +"description": "Required. Parent (Batch) resource reference.", +"location": "query", +"type": "string" +} +}, +"path": "v1/{+name}:summarizeExecutors", +"response": { +"$ref": "SummarizeSparkApplicationExecutorsResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"summarizeJobs": { +"description": "Obtain summary of Jobs for a Spark Application", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/batches/{batchesId}/sparkApplications/{sparkApplicationsId}:summarizeJobs", +"httpMethod": "GET", +"id": "dataproc.projects.locations.batches.sparkApplications.summarizeJobs", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. The fully qualified name of the batch to retrieve in the format \"projects/PROJECT_ID/locations/DATAPROC_REGION/batches/BATCH_ID/sparkApplications/APPLICATION_ID\"", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/batches/[^/]+/sparkApplications/[^/]+$", +"required": true, +"type": "string" +}, +"parent": { +"description": "Required. Parent (Batch) resource reference.", +"location": "query", +"type": "string" +} +}, +"path": "v1/{+name}:summarizeJobs", +"response": { +"$ref": "SummarizeSparkApplicationJobsResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"summarizeStageAttemptTasks": { +"description": "Obtain summary of Tasks for a Spark Application Stage Attempt", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/batches/{batchesId}/sparkApplications/{sparkApplicationsId}:summarizeStageAttemptTasks", +"httpMethod": "GET", +"id": "dataproc.projects.locations.batches.sparkApplications.summarizeStageAttemptTasks", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. The fully qualified name of the batch to retrieve in the format \"projects/PROJECT_ID/locations/DATAPROC_REGION/batches/BATCH_ID/sparkApplications/APPLICATION_ID\"", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/batches/[^/]+/sparkApplications/[^/]+$", +"required": true, +"type": "string" +}, +"parent": { +"description": "Required. Parent (Batch) resource reference.", +"location": "query", +"type": "string" +}, +"stageAttemptId": { +"description": "Required. Stage Attempt ID", +"format": "int32", +"location": "query", +"type": "integer" +}, +"stageId": { +"description": "Required. Stage ID", +"format": "int64", +"location": "query", +"type": "string" +} +}, +"path": "v1/{+name}:summarizeStageAttemptTasks", +"response": { +"$ref": "SummarizeSparkApplicationStageAttemptTasksResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"summarizeStages": { +"description": "Obtain summary of Stages for a Spark Application", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/batches/{batchesId}/sparkApplications/{sparkApplicationsId}:summarizeStages", +"httpMethod": "GET", +"id": "dataproc.projects.locations.batches.sparkApplications.summarizeStages", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. The fully qualified name of the batch to retrieve in the format \"projects/PROJECT_ID/locations/DATAPROC_REGION/batches/BATCH_ID/sparkApplications/APPLICATION_ID\"", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/batches/[^/]+/sparkApplications/[^/]+$", +"required": true, +"type": "string" +}, +"parent": { +"description": "Required. Parent (Batch) resource reference.", +"location": "query", +"type": "string" +} +}, +"path": "v1/{+name}:summarizeStages", +"response": { +"$ref": "SummarizeSparkApplicationStagesResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"write": { +"description": "Write wrapper objects from dataplane to spanner", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/batches/{batchesId}/sparkApplications/{sparkApplicationsId}:write", +"httpMethod": "POST", +"id": "dataproc.projects.locations.batches.sparkApplications.write", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. The fully qualified name of the spark application to write data about in the format \"projects/PROJECT_ID/locations/DATAPROC_REGION/batches/BATCH_ID/sparkApplications/APPLICATION_ID\"", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/batches/[^/]+/sparkApplications/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+name}:write", +"request": { +"$ref": "WriteSparkApplicationContextRequest" +}, +"response": { +"$ref": "WriteSparkApplicationContextResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +} +} +} +} +}, +"operations": { +"methods": { +"cancel": { +"description": "Starts asynchronous cancellation on a long-running operation. The server makes a best effort to cancel the operation, but success is not guaranteed. If the server doesn't support this method, it returns google.rpc.Code.UNIMPLEMENTED. Clients can use Operations.GetOperation or other methods to check whether the cancellation succeeded or whether the operation completed despite cancellation. On successful cancellation, the operation is not deleted; instead, it becomes an operation with an Operation.error value with a google.rpc.Status.code of 1, corresponding to Code.CANCELLED.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/operations/{operationsId}:cancel", +"httpMethod": "POST", +"id": "dataproc.projects.locations.operations.cancel", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "The name of the operation resource to be cancelled.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/operations/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+name}:cancel", +"response": { +"$ref": "Empty" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"delete": { +"description": "Deletes a long-running operation. This method indicates that the client is no longer interested in the operation result. It does not cancel the operation. If the server doesn't support this method, it returns google.rpc.Code.UNIMPLEMENTED.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/operations/{operationsId}", +"httpMethod": "DELETE", +"id": "dataproc.projects.locations.operations.delete", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "The name of the operation resource to be deleted.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/operations/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+name}", +"response": { +"$ref": "Empty" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"get": { +"description": "Gets the latest state of a long-running operation. Clients can use this method to poll the operation result at intervals as recommended by the API service.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/operations/{operationsId}", +"httpMethod": "GET", +"id": "dataproc.projects.locations.operations.get", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "The name of the operation resource.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/operations/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+name}", +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"list": { +"description": "Lists operations that match the specified filter in the request. If the server doesn't support this method, it returns UNIMPLEMENTED.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/operations", +"httpMethod": "GET", +"id": "dataproc.projects.locations.operations.list", +"parameterOrder": [ +"name" +], +"parameters": { +"filter": { +"description": "The standard list filter.", +"location": "query", +"type": "string" +}, +"name": { +"description": "The name of the operation's parent resource.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/operations$", +"required": true, +"type": "string" +}, +"pageSize": { +"description": "The standard list page size.", +"format": "int32", +"location": "query", +"type": "integer" +}, +"pageToken": { +"description": "The standard list page token.", +"location": "query", +"type": "string" +} +}, +"path": "v1/{+name}", +"response": { +"$ref": "ListOperationsResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +} +} +}, +"sessionTemplates": { +"methods": { +"create": { +"description": "Create a session template synchronously.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/sessionTemplates", +"httpMethod": "POST", +"id": "dataproc.projects.locations.sessionTemplates.create", +"parameterOrder": [ +"parent" +], +"parameters": { +"parent": { +"description": "Required. The parent resource where this session template will be created.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+parent}/sessionTemplates", +"request": { +"$ref": "SessionTemplate" +}, +"response": { +"$ref": "SessionTemplate" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"delete": { +"description": "Deletes a session template.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/sessionTemplates/{sessionTemplatesId}", +"httpMethod": "DELETE", +"id": "dataproc.projects.locations.sessionTemplates.delete", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. The name of the session template resource to delete.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/sessionTemplates/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+name}", +"response": { +"$ref": "Empty" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"get": { +"description": "Gets the resource representation for a session template.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/sessionTemplates/{sessionTemplatesId}", +"httpMethod": "GET", +"id": "dataproc.projects.locations.sessionTemplates.get", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. The name of the session template to retrieve.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/sessionTemplates/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+name}", +"response": { +"$ref": "SessionTemplate" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"list": { +"description": "Lists session templates.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/sessionTemplates", +"httpMethod": "GET", +"id": "dataproc.projects.locations.sessionTemplates.list", +"parameterOrder": [ +"parent" +], +"parameters": { +"filter": { +"description": "Optional. A filter for the session templates to return in the response. Filters are case sensitive and have the following syntax:field = value AND field = value ...", +"location": "query", +"type": "string" +}, +"pageSize": { +"description": "Optional. The maximum number of sessions to return in each response. The service may return fewer than this value.", +"format": "int32", +"location": "query", +"type": "integer" +}, +"pageToken": { +"description": "Optional. A page token received from a previous ListSessions call. Provide this token to retrieve the subsequent page.", +"location": "query", +"type": "string" +}, +"parent": { +"description": "Required. The parent that owns this collection of session templates.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+parent}/sessionTemplates", +"response": { +"$ref": "ListSessionTemplatesResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"patch": { +"description": "Updates the session template synchronously.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/sessionTemplates/{sessionTemplatesId}", +"httpMethod": "PATCH", +"id": "dataproc.projects.locations.sessionTemplates.patch", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. The resource name of the session template.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/sessionTemplates/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+name}", +"request": { +"$ref": "SessionTemplate" +}, +"response": { +"$ref": "SessionTemplate" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +} +} +}, +"sessions": { +"methods": { +"create": { +"description": "Create an interactive session asynchronously.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/sessions", +"httpMethod": "POST", +"id": "dataproc.projects.locations.sessions.create", +"parameterOrder": [ +"parent" +], +"parameters": { +"parent": { +"description": "Required. The parent resource where this session will be created.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+$", +"required": true, +"type": "string" +}, +"requestId": { +"description": "Optional. A unique ID used to identify the request. If the service receives two CreateSessionRequests (https://cloud.google.com/dataproc/docs/reference/rpc/google.cloud.dataproc.v1#google.cloud.dataproc.v1.CreateSessionRequest)s with the same ID, the second request is ignored, and the first Session is created and stored in the backend.Recommendation: Set this value to a UUID (https://en.wikipedia.org/wiki/Universally_unique_identifier).The value must contain only letters (a-z, A-Z), numbers (0-9), underscores (_), and hyphens (-). The maximum length is 40 characters.", +"location": "query", +"type": "string" +}, +"sessionId": { +"description": "Required. The ID to use for the session, which becomes the final component of the session's resource name.This value must be 4-63 characters. Valid characters are /a-z-/.", +"location": "query", +"type": "string" +} +}, +"path": "v1/{+parent}/sessions", +"request": { +"$ref": "Session" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"delete": { +"description": "Deletes the interactive session resource. If the session is not in terminal state, it is terminated, and then deleted.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/sessions/{sessionsId}", +"httpMethod": "DELETE", +"id": "dataproc.projects.locations.sessions.delete", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. The name of the session resource to delete.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/sessions/[^/]+$", +"required": true, +"type": "string" +}, +"requestId": { +"description": "Optional. A unique ID used to identify the request. If the service receives two DeleteSessionRequest (https://cloud.google.com/dataproc/docs/reference/rpc/google.cloud.dataproc.v1#google.cloud.dataproc.v1.DeleteSessionRequest)s with the same ID, the second request is ignored.Recommendation: Set this value to a UUID (https://en.wikipedia.org/wiki/Universally_unique_identifier).The value must contain only letters (a-z, A-Z), numbers (0-9), underscores (_), and hyphens (-). The maximum length is 40 characters.", +"location": "query", +"type": "string" +} +}, +"path": "v1/{+name}", +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"get": { +"description": "Gets the resource representation for an interactive session.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/sessions/{sessionsId}", +"httpMethod": "GET", +"id": "dataproc.projects.locations.sessions.get", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. The name of the session to retrieve.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/sessions/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+name}", +"response": { +"$ref": "Session" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"list": { +"description": "Lists interactive sessions.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/sessions", +"httpMethod": "GET", +"id": "dataproc.projects.locations.sessions.list", +"parameterOrder": [ +"parent" +], +"parameters": { +"filter": { +"description": "Optional. A filter for the sessions to return in the response.A filter is a logical expression constraining the values of various fields in each session resource. Filters are case sensitive, and may contain multiple clauses combined with logical operators (AND, OR). Supported fields are session_id, session_uuid, state, create_time, and labels.Example: state = ACTIVE and create_time < \"2023-01-01T00:00:00Z\" is a filter for sessions in an ACTIVE state that were created before 2023-01-01. state = ACTIVE and labels.environment=production is a filter for sessions in an ACTIVE state that have a production environment label.See https://google.aip.dev/assets/misc/ebnf-filtering.txt for a detailed description of the filter syntax and a list of supported comparators.", +"location": "query", +"type": "string" +}, +"pageSize": { +"description": "Optional. The maximum number of sessions to return in each response. The service may return fewer than this value.", +"format": "int32", +"location": "query", +"type": "integer" +}, +"pageToken": { +"description": "Optional. A page token received from a previous ListSessions call. Provide this token to retrieve the subsequent page.", +"location": "query", +"type": "string" +}, +"parent": { +"description": "Required. The parent, which owns this collection of sessions.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+parent}/sessions", +"response": { +"$ref": "ListSessionsResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"terminate": { +"description": "Terminates the interactive session.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/sessions/{sessionsId}:terminate", +"httpMethod": "POST", +"id": "dataproc.projects.locations.sessions.terminate", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. The name of the session resource to terminate.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/sessions/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+name}:terminate", +"request": { +"$ref": "TerminateSessionRequest" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +} +}, +"resources": { +"sparkApplications": { +"methods": { +"access": { +"description": "Obtain high level information corresponding to a single Spark Application.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/sessions/{sessionsId}/sparkApplications/{sparkApplicationsId}:access", +"httpMethod": "GET", +"id": "dataproc.projects.locations.sessions.sparkApplications.access", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. The fully qualified name of the session to retrieve in the format \"projects/PROJECT_ID/locations/DATAPROC_REGION/sessions/SESSION_ID/sparkApplications/APPLICATION_ID\"", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/sessions/[^/]+/sparkApplications/[^/]+$", +"required": true, +"type": "string" +}, +"parent": { +"description": "Required. Parent (Session) resource reference.", +"location": "query", +"type": "string" +} +}, +"path": "v1/{+name}:access", +"response": { +"$ref": "AccessSessionSparkApplicationResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"accessEnvironmentInfo": { +"description": "Obtain environment details for a Spark Application", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/sessions/{sessionsId}/sparkApplications/{sparkApplicationsId}:accessEnvironmentInfo", +"httpMethod": "GET", +"id": "dataproc.projects.locations.sessions.sparkApplications.accessEnvironmentInfo", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. The fully qualified name of the session to retrieve in the format \"projects/PROJECT_ID/locations/DATAPROC_REGION/sessions/SESSION_ID/sparkApplications/APPLICATION_ID\"", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/sessions/[^/]+/sparkApplications/[^/]+$", +"required": true, +"type": "string" +}, +"parent": { +"description": "Required. Parent (Session) resource reference.", +"location": "query", +"type": "string" +} +}, +"path": "v1/{+name}:accessEnvironmentInfo", +"response": { +"$ref": "AccessSessionSparkApplicationEnvironmentInfoResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"accessJob": { +"description": "Obtain data corresponding to a spark job for a Spark Application.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/sessions/{sessionsId}/sparkApplications/{sparkApplicationsId}:accessJob", +"httpMethod": "GET", +"id": "dataproc.projects.locations.sessions.sparkApplications.accessJob", +"parameterOrder": [ +"name" +], +"parameters": { +"jobId": { +"description": "Required. Job ID to fetch data for.", +"format": "int64", +"location": "query", +"type": "string" +}, +"name": { +"description": "Required. The fully qualified name of the session to retrieve in the format \"projects/PROJECT_ID/locations/DATAPROC_REGION/sessions/SESSION_ID/sparkApplications/APPLICATION_ID\"", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/sessions/[^/]+/sparkApplications/[^/]+$", +"required": true, +"type": "string" +}, +"parent": { +"description": "Required. Parent (Session) resource reference.", +"location": "query", +"type": "string" +} +}, +"path": "v1/{+name}:accessJob", +"response": { +"$ref": "AccessSessionSparkApplicationJobResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"accessSqlPlan": { +"description": "Obtain Spark Plan Graph for a Spark Application SQL execution. Limits the number of clusters returned as part of the graph to 10000.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/sessions/{sessionsId}/sparkApplications/{sparkApplicationsId}:accessSqlPlan", +"httpMethod": "GET", +"id": "dataproc.projects.locations.sessions.sparkApplications.accessSqlPlan", +"parameterOrder": [ +"name" +], +"parameters": { +"executionId": { +"description": "Required. Execution ID", +"format": "int64", +"location": "query", +"type": "string" +}, +"name": { +"description": "Required. The fully qualified name of the session to retrieve in the format \"projects/PROJECT_ID/locations/DATAPROC_REGION/sessions/SESSION_ID/sparkApplications/APPLICATION_ID\"", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/sessions/[^/]+/sparkApplications/[^/]+$", +"required": true, +"type": "string" +}, +"parent": { +"description": "Required. Parent (Session) resource reference.", +"location": "query", +"type": "string" +} +}, +"path": "v1/{+name}:accessSqlPlan", +"response": { +"$ref": "AccessSessionSparkApplicationSqlSparkPlanGraphResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"accessSqlQuery": { +"description": "Obtain data corresponding to a particular SQL Query for a Spark Application.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/sessions/{sessionsId}/sparkApplications/{sparkApplicationsId}:accessSqlQuery", +"httpMethod": "GET", +"id": "dataproc.projects.locations.sessions.sparkApplications.accessSqlQuery", +"parameterOrder": [ +"name" +], +"parameters": { +"details": { +"description": "Optional. Lists/ hides details of Spark plan nodes. True is set to list and false to hide.", +"location": "query", +"type": "boolean" +}, +"executionId": { +"description": "Required. Execution ID", +"format": "int64", +"location": "query", +"type": "string" +}, +"name": { +"description": "Required. The fully qualified name of the session to retrieve in the format \"projects/PROJECT_ID/locations/DATAPROC_REGION/sessions/SESSION_ID/sparkApplications/APPLICATION_ID\"", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/sessions/[^/]+/sparkApplications/[^/]+$", +"required": true, +"type": "string" +}, +"parent": { +"description": "Required. Parent (Session) resource reference.", +"location": "query", +"type": "string" +}, +"planDescription": { +"description": "Optional. Enables/ disables physical plan description on demand", +"location": "query", +"type": "boolean" +} +}, +"path": "v1/{+name}:accessSqlQuery", +"response": { +"$ref": "AccessSessionSparkApplicationSqlQueryResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"accessStageAttempt": { +"description": "Obtain data corresponding to a spark stage attempt for a Spark Application.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/sessions/{sessionsId}/sparkApplications/{sparkApplicationsId}:accessStageAttempt", +"httpMethod": "GET", +"id": "dataproc.projects.locations.sessions.sparkApplications.accessStageAttempt", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. The fully qualified name of the session to retrieve in the format \"projects/PROJECT_ID/locations/DATAPROC_REGION/sessions/SESSION_ID/sparkApplications/APPLICATION_ID\"", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/sessions/[^/]+/sparkApplications/[^/]+$", +"required": true, +"type": "string" +}, +"parent": { +"description": "Required. Parent (Session) resource reference.", +"location": "query", +"type": "string" +}, +"stageAttemptId": { +"description": "Required. Stage Attempt ID", +"format": "int32", +"location": "query", +"type": "integer" +}, +"stageId": { +"description": "Required. Stage ID", +"format": "int64", +"location": "query", +"type": "string" +}, +"summaryMetricsMask": { +"description": "Optional. The list of summary metrics fields to include. Empty list will default to skip all summary metrics fields. Example, if the response should include TaskQuantileMetrics, the request should have task_quantile_metrics in summary_metrics_mask field", +"format": "google-fieldmask", +"location": "query", +"type": "string" +} +}, +"path": "v1/{+name}:accessStageAttempt", +"response": { +"$ref": "AccessSessionSparkApplicationStageAttemptResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"accessStageRddGraph": { +"description": "Obtain RDD operation graph for a Spark Application Stage. Limits the number of clusters returned as part of the graph to 10000.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/sessions/{sessionsId}/sparkApplications/{sparkApplicationsId}:accessStageRddGraph", +"httpMethod": "GET", +"id": "dataproc.projects.locations.sessions.sparkApplications.accessStageRddGraph", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. The fully qualified name of the session to retrieve in the format \"projects/PROJECT_ID/locations/DATAPROC_REGION/sessions/SESSION_ID/sparkApplications/APPLICATION_ID\"", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/sessions/[^/]+/sparkApplications/[^/]+$", +"required": true, +"type": "string" +}, +"parent": { +"description": "Required. Parent (Session) resource reference.", +"location": "query", +"type": "string" +}, +"stageId": { +"description": "Required. Stage ID", +"format": "int64", +"location": "query", +"type": "string" +} +}, +"path": "v1/{+name}:accessStageRddGraph", +"response": { +"$ref": "AccessSessionSparkApplicationStageRddOperationGraphResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"search": { +"description": "Obtain high level information and list of Spark Applications corresponding to a batch", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/sessions/{sessionsId}/sparkApplications:search", +"httpMethod": "GET", +"id": "dataproc.projects.locations.sessions.sparkApplications.search", +"parameterOrder": [ +"parent" +], +"parameters": { +"applicationStatus": { +"description": "Optional. Search only applications in the chosen state.", +"enum": [ +"APPLICATION_STATUS_UNSPECIFIED", +"APPLICATION_STATUS_RUNNING", +"APPLICATION_STATUS_COMPLETED" +], +"enumDescriptions": [ +"", +"", +"" +], +"location": "query", +"type": "string" +}, +"maxEndTime": { +"description": "Optional. Latest end timestamp to list.", +"format": "google-datetime", +"location": "query", +"type": "string" +}, +"maxTime": { +"description": "Optional. Latest start timestamp to list.", +"format": "google-datetime", +"location": "query", +"type": "string" +}, +"minEndTime": { +"description": "Optional. Earliest end timestamp to list.", +"format": "google-datetime", +"location": "query", +"type": "string" +}, +"minTime": { +"description": "Optional. Earliest start timestamp to list.", +"format": "google-datetime", +"location": "query", +"type": "string" +}, +"pageSize": { +"description": "Optional. Maximum number of applications to return in each response. The service may return fewer than this. The default page size is 10; the maximum page size is 100.", +"format": "int32", +"location": "query", +"type": "integer" +}, +"pageToken": { +"description": "Optional. A page token received from a previous SearchSessionSparkApplications call. Provide this token to retrieve the subsequent page.", +"location": "query", +"type": "string" +}, +"parent": { +"description": "Required. The fully qualified name of the session to retrieve in the format \"projects/PROJECT_ID/locations/DATAPROC_REGION/sessions/SESSION_ID\"", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/sessions/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+parent}/sparkApplications:search", +"response": { +"$ref": "SearchSessionSparkApplicationsResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"searchExecutorStageSummary": { +"description": "Obtain executor summary with respect to a spark stage attempt.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/sessions/{sessionsId}/sparkApplications/{sparkApplicationsId}:searchExecutorStageSummary", +"httpMethod": "GET", +"id": "dataproc.projects.locations.sessions.sparkApplications.searchExecutorStageSummary", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. The fully qualified name of the session to retrieve in the format \"projects/PROJECT_ID/locations/DATAPROC_REGION/sessions/SESSION_ID/sparkApplications/APPLICATION_ID\"", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/sessions/[^/]+/sparkApplications/[^/]+$", +"required": true, +"type": "string" +}, +"pageSize": { +"description": "Optional. Maximum number of executors to return in each response. The service may return fewer than this. The default page size is 10; the maximum page size is 100.", +"format": "int32", +"location": "query", +"type": "integer" +}, +"pageToken": { +"description": "Optional. A page token received from a previous SearchSessionSparkApplicationExecutorStageSummary call. Provide this token to retrieve the subsequent page.", +"location": "query", +"type": "string" +}, +"parent": { +"description": "Required. Parent (Session) resource reference.", +"location": "query", +"type": "string" +}, +"stageAttemptId": { +"description": "Required. Stage Attempt ID", +"format": "int32", +"location": "query", +"type": "integer" +}, +"stageId": { +"description": "Required. Stage ID", +"format": "int64", +"location": "query", +"type": "string" +} +}, +"path": "v1/{+name}:searchExecutorStageSummary", +"response": { +"$ref": "SearchSessionSparkApplicationExecutorStageSummaryResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"searchExecutors": { +"description": "Obtain data corresponding to executors for a Spark Application.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/sessions/{sessionsId}/sparkApplications/{sparkApplicationsId}:searchExecutors", +"httpMethod": "GET", +"id": "dataproc.projects.locations.sessions.sparkApplications.searchExecutors", +"parameterOrder": [ +"name" +], +"parameters": { +"executorStatus": { +"description": "Optional. Filter to select whether active/ dead or all executors should be selected.", +"enum": [ +"EXECUTOR_STATUS_UNSPECIFIED", +"EXECUTOR_STATUS_ACTIVE", +"EXECUTOR_STATUS_DEAD" +], +"enumDescriptions": [ +"", +"", +"" +], +"location": "query", +"type": "string" +}, +"name": { +"description": "Required. The fully qualified name of the session to retrieve in the format \"projects/PROJECT_ID/locations/DATAPROC_REGION/sessions/SESSION_ID/sparkApplications/APPLICATION_ID\"", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/sessions/[^/]+/sparkApplications/[^/]+$", +"required": true, +"type": "string" +}, +"pageSize": { +"description": "Optional. Maximum number of executors to return in each response. The service may return fewer than this. The default page size is 10; the maximum page size is 100.", +"format": "int32", +"location": "query", +"type": "integer" +}, +"pageToken": { +"description": "Optional. A page token received from a previous SearchSessionSparkApplicationExecutors call. Provide this token to retrieve the subsequent page.", +"location": "query", +"type": "string" +}, +"parent": { +"description": "Required. Parent (Session) resource reference.", +"location": "query", +"type": "string" +} +}, +"path": "v1/{+name}:searchExecutors", +"response": { +"$ref": "SearchSessionSparkApplicationExecutorsResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"searchJobs": { +"description": "Obtain list of spark jobs corresponding to a Spark Application.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/sessions/{sessionsId}/sparkApplications/{sparkApplicationsId}:searchJobs", +"httpMethod": "GET", +"id": "dataproc.projects.locations.sessions.sparkApplications.searchJobs", +"parameterOrder": [ +"name" +], +"parameters": { +"jobStatus": { +"description": "Optional. List only jobs in the specific state.", +"enum": [ +"JOB_EXECUTION_STATUS_UNSPECIFIED", +"JOB_EXECUTION_STATUS_RUNNING", +"JOB_EXECUTION_STATUS_SUCCEEDED", +"JOB_EXECUTION_STATUS_FAILED", +"JOB_EXECUTION_STATUS_UNKNOWN" +], +"enumDescriptions": [ +"", +"", +"", +"", +"" +], +"location": "query", +"type": "string" +}, +"name": { +"description": "Required. The fully qualified name of the session to retrieve in the format \"projects/PROJECT_ID/locations/DATAPROC_REGION/sessions/SESSION_ID/sparkApplications/APPLICATION_ID\"", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/sessions/[^/]+/sparkApplications/[^/]+$", +"required": true, +"type": "string" +}, +"pageSize": { +"description": "Optional. Maximum number of jobs to return in each response. The service may return fewer than this. The default page size is 10; the maximum page size is 100.", +"format": "int32", +"location": "query", +"type": "integer" +}, +"pageToken": { +"description": "Optional. A page token received from a previous SearchSessionSparkApplicationJobs call. Provide this token to retrieve the subsequent page.", +"location": "query", +"type": "string" +}, +"parent": { +"description": "Required. Parent (Session) resource reference.", +"location": "query", +"type": "string" +} +}, +"path": "v1/{+name}:searchJobs", +"response": { +"$ref": "SearchSessionSparkApplicationJobsResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"searchSqlQueries": { +"description": "Obtain data corresponding to SQL Queries for a Spark Application.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/sessions/{sessionsId}/sparkApplications/{sparkApplicationsId}:searchSqlQueries", +"httpMethod": "GET", +"id": "dataproc.projects.locations.sessions.sparkApplications.searchSqlQueries", +"parameterOrder": [ +"name" +], +"parameters": { +"details": { +"description": "Optional. Lists/ hides details of Spark plan nodes. True is set to list and false to hide.", +"location": "query", +"type": "boolean" +}, +"name": { +"description": "Required. The fully qualified name of the session to retrieve in the format \"projects/PROJECT_ID/locations/DATAPROC_REGION/sessions/SESSION_ID/sparkApplications/APPLICATION_ID\"", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/sessions/[^/]+/sparkApplications/[^/]+$", +"required": true, +"type": "string" +}, +"pageSize": { +"description": "Optional. Maximum number of queries to return in each response. The service may return fewer than this. The default page size is 10; the maximum page size is 100.", +"format": "int32", +"location": "query", +"type": "integer" +}, +"pageToken": { +"description": "Optional. A page token received from a previous SearchSessionSparkApplicationSqlQueries call. Provide this token to retrieve the subsequent page.", +"location": "query", +"type": "string" +}, +"parent": { +"description": "Required. Parent (Session) resource reference.", +"location": "query", +"type": "string" +}, +"planDescription": { +"description": "Optional. Enables/ disables physical plan description on demand", +"location": "query", +"type": "boolean" +} +}, +"path": "v1/{+name}:searchSqlQueries", +"response": { +"$ref": "SearchSessionSparkApplicationSqlQueriesResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"searchStageAttemptTasks": { +"description": "Obtain data corresponding to tasks for a spark stage attempt for a Spark Application.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/sessions/{sessionsId}/sparkApplications/{sparkApplicationsId}:searchStageAttemptTasks", +"httpMethod": "GET", +"id": "dataproc.projects.locations.sessions.sparkApplications.searchStageAttemptTasks", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. The fully qualified name of the session to retrieve in the format \"projects/PROJECT_ID/locations/DATAPROC_REGION/sessions/SESSION_ID/sparkApplications/APPLICATION_ID\"", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/sessions/[^/]+/sparkApplications/[^/]+$", +"required": true, +"type": "string" +}, +"pageSize": { +"description": "Optional. Maximum number of tasks to return in each response. The service may return fewer than this. The default page size is 10; the maximum page size is 100.", +"format": "int32", +"location": "query", +"type": "integer" +}, +"pageToken": { +"description": "Optional. A page token received from a previous SearchSessionSparkApplicationStageAttemptTasks call. Provide this token to retrieve the subsequent page.", +"location": "query", +"type": "string" +}, +"parent": { +"description": "Required. Parent (Session) resource reference.", +"location": "query", +"type": "string" +}, +"sortRuntime": { +"description": "Optional. Sort the tasks by runtime.", +"location": "query", +"type": "boolean" +}, +"stageAttemptId": { +"description": "Optional. Stage Attempt ID", +"format": "int32", +"location": "query", +"type": "integer" +}, +"stageId": { +"description": "Optional. Stage ID", +"format": "int64", +"location": "query", +"type": "string" +}, +"taskStatus": { +"description": "Optional. List only tasks in the state.", +"enum": [ +"TASK_STATUS_UNSPECIFIED", +"TASK_STATUS_RUNNING", +"TASK_STATUS_SUCCESS", +"TASK_STATUS_FAILED", +"TASK_STATUS_KILLED", +"TASK_STATUS_PENDING" +], +"enumDescriptions": [ +"", +"", +"", +"", +"", +"" +], +"location": "query", +"type": "string" +} +}, +"path": "v1/{+name}:searchStageAttemptTasks", +"response": { +"$ref": "SearchSessionSparkApplicationStageAttemptTasksResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"searchStageAttempts": { +"description": "Obtain data corresponding to a spark stage attempts for a Spark Application.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/sessions/{sessionsId}/sparkApplications/{sparkApplicationsId}:searchStageAttempts", +"httpMethod": "GET", +"id": "dataproc.projects.locations.sessions.sparkApplications.searchStageAttempts", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. The fully qualified name of the session to retrieve in the format \"projects/PROJECT_ID/locations/DATAPROC_REGION/sessions/SESSION_ID/sparkApplications/APPLICATION_ID\"", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/sessions/[^/]+/sparkApplications/[^/]+$", +"required": true, +"type": "string" +}, +"pageSize": { +"description": "Optional. Maximum number of stage attempts (paging based on stage_attempt_id) to return in each response. The service may return fewer than this. The default page size is 10; the maximum page size is 100.", +"format": "int32", +"location": "query", +"type": "integer" +}, +"pageToken": { +"description": "Optional. A page token received from a previous SearchSessionSparkApplicationStageAttempts call. Provide this token to retrieve the subsequent page.", +"location": "query", +"type": "string" +}, +"parent": { +"description": "Required. Parent (Session) resource reference.", +"location": "query", +"type": "string" +}, +"stageId": { +"description": "Required. Stage ID for which attempts are to be fetched", +"format": "int64", +"location": "query", +"type": "string" +}, +"summaryMetricsMask": { +"description": "Optional. The list of summary metrics fields to include. Empty list will default to skip all summary metrics fields. Example, if the response should include TaskQuantileMetrics, the request should have task_quantile_metrics in summary_metrics_mask field", +"format": "google-fieldmask", +"location": "query", +"type": "string" +} +}, +"path": "v1/{+name}:searchStageAttempts", +"response": { +"$ref": "SearchSessionSparkApplicationStageAttemptsResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"searchStages": { +"description": "Obtain data corresponding to stages for a Spark Application.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/sessions/{sessionsId}/sparkApplications/{sparkApplicationsId}:searchStages", +"httpMethod": "GET", +"id": "dataproc.projects.locations.sessions.sparkApplications.searchStages", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. The fully qualified name of the session to retrieve in the format \"projects/PROJECT_ID/locations/DATAPROC_REGION/sessions/SESSION_ID/sparkApplications/APPLICATION_ID\"", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/sessions/[^/]+/sparkApplications/[^/]+$", +"required": true, +"type": "string" +}, +"pageSize": { +"description": "Optional. Maximum number of stages (paging based on stage_id) to return in each response. The service may return fewer than this. The default page size is 10; the maximum page size is 100.", +"format": "int32", +"location": "query", +"type": "integer" +}, +"pageToken": { +"description": "Optional. A page token received from a previous SearchSessionSparkApplicationStages call. Provide this token to retrieve the subsequent page.", +"location": "query", +"type": "string" +}, +"parent": { +"description": "Required. Parent (Session) resource reference.", +"location": "query", +"type": "string" +}, +"stageStatus": { +"description": "Optional. List only stages in the given state.", +"enum": [ +"STAGE_STATUS_UNSPECIFIED", +"STAGE_STATUS_ACTIVE", +"STAGE_STATUS_COMPLETE", +"STAGE_STATUS_FAILED", +"STAGE_STATUS_PENDING", +"STAGE_STATUS_SKIPPED" +], +"enumDescriptions": [ +"", +"", +"", +"", +"", +"" +], +"location": "query", +"type": "string" +}, +"summaryMetricsMask": { +"description": "Optional. The list of summary metrics fields to include. Empty list will default to skip all summary metrics fields. Example, if the response should include TaskQuantileMetrics, the request should have task_quantile_metrics in summary_metrics_mask field", +"format": "google-fieldmask", +"location": "query", +"type": "string" +} +}, +"path": "v1/{+name}:searchStages", +"response": { +"$ref": "SearchSessionSparkApplicationStagesResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"summarizeExecutors": { +"description": "Obtain summary of Executor Summary for a Spark Application", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/sessions/{sessionsId}/sparkApplications/{sparkApplicationsId}:summarizeExecutors", +"httpMethod": "GET", +"id": "dataproc.projects.locations.sessions.sparkApplications.summarizeExecutors", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. The fully qualified name of the session to retrieve in the format \"projects/PROJECT_ID/locations/DATAPROC_REGION/sessions/SESSION_ID/sparkApplications/APPLICATION_ID\"", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/sessions/[^/]+/sparkApplications/[^/]+$", +"required": true, +"type": "string" +}, +"parent": { +"description": "Required. Parent (Session) resource reference.", +"location": "query", +"type": "string" +} +}, +"path": "v1/{+name}:summarizeExecutors", +"response": { +"$ref": "SummarizeSessionSparkApplicationExecutorsResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"summarizeJobs": { +"description": "Obtain summary of Jobs for a Spark Application", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/sessions/{sessionsId}/sparkApplications/{sparkApplicationsId}:summarizeJobs", +"httpMethod": "GET", +"id": "dataproc.projects.locations.sessions.sparkApplications.summarizeJobs", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. The fully qualified name of the session to retrieve in the format \"projects/PROJECT_ID/locations/DATAPROC_REGION/sessions/SESSION_ID/sparkApplications/APPLICATION_ID\"", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/sessions/[^/]+/sparkApplications/[^/]+$", +"required": true, +"type": "string" +}, +"parent": { +"description": "Required. Parent (Session) resource reference.", +"location": "query", +"type": "string" +} +}, +"path": "v1/{+name}:summarizeJobs", +"response": { +"$ref": "SummarizeSessionSparkApplicationJobsResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"summarizeStageAttemptTasks": { +"description": "Obtain summary of Tasks for a Spark Application Stage Attempt", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/sessions/{sessionsId}/sparkApplications/{sparkApplicationsId}:summarizeStageAttemptTasks", +"httpMethod": "GET", +"id": "dataproc.projects.locations.sessions.sparkApplications.summarizeStageAttemptTasks", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. The fully qualified name of the session to retrieve in the format \"projects/PROJECT_ID/locations/DATAPROC_REGION/sessions/SESSION_ID/sparkApplications/APPLICATION_ID\"", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/sessions/[^/]+/sparkApplications/[^/]+$", +"required": true, +"type": "string" +}, +"parent": { +"description": "Required. Parent (Session) resource reference.", +"location": "query", +"type": "string" +}, +"stageAttemptId": { +"description": "Required. Stage Attempt ID", +"format": "int32", +"location": "query", +"type": "integer" +}, +"stageId": { +"description": "Required. Stage ID", +"format": "int64", +"location": "query", +"type": "string" +} +}, +"path": "v1/{+name}:summarizeStageAttemptTasks", +"response": { +"$ref": "SummarizeSessionSparkApplicationStageAttemptTasksResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"summarizeStages": { +"description": "Obtain summary of Stages for a Spark Application", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/sessions/{sessionsId}/sparkApplications/{sparkApplicationsId}:summarizeStages", +"httpMethod": "GET", +"id": "dataproc.projects.locations.sessions.sparkApplications.summarizeStages", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. The fully qualified name of the session to retrieve in the format \"projects/PROJECT_ID/locations/DATAPROC_REGION/sessions/SESSION_ID/sparkApplications/APPLICATION_ID\"", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/sessions/[^/]+/sparkApplications/[^/]+$", +"required": true, +"type": "string" +}, +"parent": { +"description": "Required. Parent (Session) resource reference.", +"location": "query", +"type": "string" +} +}, +"path": "v1/{+name}:summarizeStages", +"response": { +"$ref": "SummarizeSessionSparkApplicationStagesResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"write": { +"description": "Write wrapper objects from dataplane to spanner", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/sessions/{sessionsId}/sparkApplications/{sparkApplicationsId}:write", +"httpMethod": "POST", +"id": "dataproc.projects.locations.sessions.sparkApplications.write", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. The fully qualified name of the spark application to write data about in the format \"projects/PROJECT_ID/locations/DATAPROC_REGION/sessions/SESSION_ID/sparkApplications/APPLICATION_ID\"", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/sessions/[^/]+/sparkApplications/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+name}:write", +"request": { +"$ref": "WriteSessionSparkApplicationContextRequest" +}, +"response": { +"$ref": "WriteSessionSparkApplicationContextResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +} +} +} +} +}, +"workflowTemplates": { +"methods": { +"create": { +"description": "Creates new workflow template.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/workflowTemplates", +"httpMethod": "POST", +"id": "dataproc.projects.locations.workflowTemplates.create", +"parameterOrder": [ +"parent" +], +"parameters": { +"parent": { +"description": "Required. The resource name of the region or location, as described in https://cloud.google.com/apis/design/resource_names. For projects.regions.workflowTemplates.create, the resource name of the region has the following format: projects/{project_id}/regions/{region} For projects.locations.workflowTemplates.create, the resource name of the location has the following format: projects/{project_id}/locations/{location}", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+parent}/workflowTemplates", +"request": { +"$ref": "WorkflowTemplate" +}, +"response": { +"$ref": "WorkflowTemplate" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"delete": { +"description": "Deletes a workflow template. It does not cancel in-progress workflows.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/workflowTemplates/{workflowTemplatesId}", +"httpMethod": "DELETE", +"id": "dataproc.projects.locations.workflowTemplates.delete", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. The resource name of the workflow template, as described in https://cloud.google.com/apis/design/resource_names. For projects.regions.workflowTemplates.delete, the resource name of the template has the following format: projects/{project_id}/regions/{region}/workflowTemplates/{template_id} For projects.locations.workflowTemplates.instantiate, the resource name of the template has the following format: projects/{project_id}/locations/{location}/workflowTemplates/{template_id}", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/workflowTemplates/[^/]+$", +"required": true, +"type": "string" +}, +"version": { +"description": "Optional. The version of workflow template to delete. If specified, will only delete the template if the current server version matches specified version.", +"format": "int32", +"location": "query", +"type": "integer" +} +}, +"path": "v1/{+name}", +"response": { +"$ref": "Empty" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"get": { +"description": "Retrieves the latest workflow template.Can retrieve previously instantiated template by specifying optional version parameter.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/workflowTemplates/{workflowTemplatesId}", +"httpMethod": "GET", +"id": "dataproc.projects.locations.workflowTemplates.get", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. The resource name of the workflow template, as described in https://cloud.google.com/apis/design/resource_names. For projects.regions.workflowTemplates.get, the resource name of the template has the following format: projects/{project_id}/regions/{region}/workflowTemplates/{template_id} For projects.locations.workflowTemplates.get, the resource name of the template has the following format: projects/{project_id}/locations/{location}/workflowTemplates/{template_id}", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/workflowTemplates/[^/]+$", +"required": true, +"type": "string" +}, +"version": { +"description": "Optional. The version of workflow template to retrieve. Only previously instantiated versions can be retrieved.If unspecified, retrieves the current version.", +"format": "int32", +"location": "query", +"type": "integer" +} +}, +"path": "v1/{+name}", +"response": { +"$ref": "WorkflowTemplate" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"getIamPolicy": { +"description": "Gets the access control policy for a resource. Returns an empty policy if the resource exists and does not have a policy set.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/workflowTemplates/{workflowTemplatesId}:getIamPolicy", +"httpMethod": "POST", +"id": "dataproc.projects.locations.workflowTemplates.getIamPolicy", +"parameterOrder": [ +"resource" +], +"parameters": { +"resource": { +"description": "REQUIRED: The resource for which the policy is being requested. See Resource names (https://cloud.google.com/apis/design/resource_names) for the appropriate value for this field.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/workflowTemplates/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+resource}:getIamPolicy", +"request": { +"$ref": "GetIamPolicyRequest" +}, +"response": { +"$ref": "Policy" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"instantiate": { +"description": "Instantiates a template and begins execution.The returned Operation can be used to track execution of workflow by polling operations.get. The Operation will complete when entire workflow is finished.The running workflow can be aborted via operations.cancel. This will cause any inflight jobs to be cancelled and workflow-owned clusters to be deleted.The Operation.metadata will be WorkflowMetadata (https://cloud.google.com/dataproc/docs/reference/rpc/google.cloud.dataproc.v1#workflowmetadata). Also see Using WorkflowMetadata (https://cloud.google.com/dataproc/docs/concepts/workflows/debugging#using_workflowmetadata).On successful completion, Operation.response will be Empty.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/workflowTemplates/{workflowTemplatesId}:instantiate", +"httpMethod": "POST", +"id": "dataproc.projects.locations.workflowTemplates.instantiate", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. The resource name of the workflow template, as described in https://cloud.google.com/apis/design/resource_names. For projects.regions.workflowTemplates.instantiate, the resource name of the template has the following format: projects/{project_id}/regions/{region}/workflowTemplates/{template_id} For projects.locations.workflowTemplates.instantiate, the resource name of the template has the following format: projects/{project_id}/locations/{location}/workflowTemplates/{template_id}", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/workflowTemplates/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+name}:instantiate", +"request": { +"$ref": "InstantiateWorkflowTemplateRequest" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"instantiateInline": { +"description": "Instantiates a template and begins execution.This method is equivalent to executing the sequence CreateWorkflowTemplate, InstantiateWorkflowTemplate, DeleteWorkflowTemplate.The returned Operation can be used to track execution of workflow by polling operations.get. The Operation will complete when entire workflow is finished.The running workflow can be aborted via operations.cancel. This will cause any inflight jobs to be cancelled and workflow-owned clusters to be deleted.The Operation.metadata will be WorkflowMetadata (https://cloud.google.com/dataproc/docs/reference/rpc/google.cloud.dataproc.v1#workflowmetadata). Also see Using WorkflowMetadata (https://cloud.google.com/dataproc/docs/concepts/workflows/debugging#using_workflowmetadata).On successful completion, Operation.response will be Empty.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/workflowTemplates:instantiateInline", +"httpMethod": "POST", +"id": "dataproc.projects.locations.workflowTemplates.instantiateInline", +"parameterOrder": [ +"parent" +], +"parameters": { +"parent": { +"description": "Required. The resource name of the region or location, as described in https://cloud.google.com/apis/design/resource_names. For projects.regions.workflowTemplates,instantiateinline, the resource name of the region has the following format: projects/{project_id}/regions/{region} For projects.locations.workflowTemplates.instantiateinline, the resource name of the location has the following format: projects/{project_id}/locations/{location}", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+$", +"required": true, +"type": "string" +}, +"requestId": { +"description": "Optional. A tag that prevents multiple concurrent workflow instances with the same tag from running. This mitigates risk of concurrent instances started due to retries.It is recommended to always set this value to a UUID (https://en.wikipedia.org/wiki/Universally_unique_identifier).The tag must contain only letters (a-z, A-Z), numbers (0-9), underscores (_), and hyphens (-). The maximum length is 40 characters.", +"location": "query", +"type": "string" +} +}, +"path": "v1/{+parent}/workflowTemplates:instantiateInline", +"request": { +"$ref": "WorkflowTemplate" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"list": { +"description": "Lists workflows that match the specified filter in the request.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/workflowTemplates", +"httpMethod": "GET", +"id": "dataproc.projects.locations.workflowTemplates.list", +"parameterOrder": [ +"parent" +], +"parameters": { +"pageSize": { +"description": "Optional. The maximum number of results to return in each response.", +"format": "int32", +"location": "query", +"type": "integer" +}, +"pageToken": { +"description": "Optional. The page token, returned by a previous call, to request the next page of results.", +"location": "query", +"type": "string" +}, +"parent": { +"description": "Required. The resource name of the region or location, as described in https://cloud.google.com/apis/design/resource_names. For projects.regions.workflowTemplates,list, the resource name of the region has the following format: projects/{project_id}/regions/{region} For projects.locations.workflowTemplates.list, the resource name of the location has the following format: projects/{project_id}/locations/{location}", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+parent}/workflowTemplates", +"response": { +"$ref": "ListWorkflowTemplatesResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"setIamPolicy": { +"description": "Sets the access control policy on the specified resource. Replaces any existing policy.Can return NOT_FOUND, INVALID_ARGUMENT, and PERMISSION_DENIED errors.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/workflowTemplates/{workflowTemplatesId}:setIamPolicy", +"httpMethod": "POST", +"id": "dataproc.projects.locations.workflowTemplates.setIamPolicy", +"parameterOrder": [ +"resource" +], +"parameters": { +"resource": { +"description": "REQUIRED: The resource for which the policy is being specified. See Resource names (https://cloud.google.com/apis/design/resource_names) for the appropriate value for this field.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/workflowTemplates/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+resource}:setIamPolicy", +"request": { +"$ref": "SetIamPolicyRequest" +}, +"response": { +"$ref": "Policy" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"testIamPermissions": { +"description": "Returns permissions that a caller has on the specified resource. If the resource does not exist, this will return an empty set of permissions, not a NOT_FOUND error.Note: This operation is designed to be used for building permission-aware UIs and command-line tools, not for authorization checking. This operation may \"fail open\" without warning.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/workflowTemplates/{workflowTemplatesId}:testIamPermissions", +"httpMethod": "POST", +"id": "dataproc.projects.locations.workflowTemplates.testIamPermissions", +"parameterOrder": [ +"resource" +], +"parameters": { +"resource": { +"description": "REQUIRED: The resource for which the policy detail is being requested. See Resource names (https://cloud.google.com/apis/design/resource_names) for the appropriate value for this field.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/workflowTemplates/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+resource}:testIamPermissions", +"request": { +"$ref": "TestIamPermissionsRequest" +}, +"response": { +"$ref": "TestIamPermissionsResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"update": { +"description": "Updates (replaces) workflow template. The updated template must contain version that matches the current server version.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/workflowTemplates/{workflowTemplatesId}", +"httpMethod": "PUT", +"id": "dataproc.projects.locations.workflowTemplates.update", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Output only. The resource name of the workflow template, as described in https://cloud.google.com/apis/design/resource_names. For projects.regions.workflowTemplates, the resource name of the template has the following format: projects/{project_id}/regions/{region}/workflowTemplates/{template_id} For projects.locations.workflowTemplates, the resource name of the template has the following format: projects/{project_id}/locations/{location}/workflowTemplates/{template_id}", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/workflowTemplates/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+name}", +"request": { +"$ref": "WorkflowTemplate" +}, +"response": { +"$ref": "WorkflowTemplate" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +} +} +} +} +}, +"regions": { +"resources": { +"autoscalingPolicies": { +"methods": { +"create": { +"description": "Creates new autoscaling policy.", +"flatPath": "v1/projects/{projectsId}/regions/{regionsId}/autoscalingPolicies", +"httpMethod": "POST", +"id": "dataproc.projects.regions.autoscalingPolicies.create", +"parameterOrder": [ +"parent" +], +"parameters": { +"parent": { +"description": "Required. The \"resource name\" of the region or location, as described in https://cloud.google.com/apis/design/resource_names. For projects.regions.autoscalingPolicies.create, the resource name of the region has the following format: projects/{project_id}/regions/{region} For projects.locations.autoscalingPolicies.create, the resource name of the location has the following format: projects/{project_id}/locations/{location}", +"location": "path", +"pattern": "^projects/[^/]+/regions/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+parent}/autoscalingPolicies", +"request": { +"$ref": "AutoscalingPolicy" +}, +"response": { +"$ref": "AutoscalingPolicy" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"delete": { +"description": "Deletes an autoscaling policy. It is an error to delete an autoscaling policy that is in use by one or more clusters.", +"flatPath": "v1/projects/{projectsId}/regions/{regionsId}/autoscalingPolicies/{autoscalingPoliciesId}", +"httpMethod": "DELETE", +"id": "dataproc.projects.regions.autoscalingPolicies.delete", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. The \"resource name\" of the autoscaling policy, as described in https://cloud.google.com/apis/design/resource_names. For projects.regions.autoscalingPolicies.delete, the resource name of the policy has the following format: projects/{project_id}/regions/{region}/autoscalingPolicies/{policy_id} For projects.locations.autoscalingPolicies.delete, the resource name of the policy has the following format: projects/{project_id}/locations/{location}/autoscalingPolicies/{policy_id}", +"location": "path", +"pattern": "^projects/[^/]+/regions/[^/]+/autoscalingPolicies/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+name}", +"response": { +"$ref": "Empty" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"get": { +"description": "Retrieves autoscaling policy.", +"flatPath": "v1/projects/{projectsId}/regions/{regionsId}/autoscalingPolicies/{autoscalingPoliciesId}", +"httpMethod": "GET", +"id": "dataproc.projects.regions.autoscalingPolicies.get", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. The \"resource name\" of the autoscaling policy, as described in https://cloud.google.com/apis/design/resource_names. For projects.regions.autoscalingPolicies.get, the resource name of the policy has the following format: projects/{project_id}/regions/{region}/autoscalingPolicies/{policy_id} For projects.locations.autoscalingPolicies.get, the resource name of the policy has the following format: projects/{project_id}/locations/{location}/autoscalingPolicies/{policy_id}", +"location": "path", +"pattern": "^projects/[^/]+/regions/[^/]+/autoscalingPolicies/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+name}", +"response": { +"$ref": "AutoscalingPolicy" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"getIamPolicy": { +"description": "Gets the access control policy for a resource. Returns an empty policy if the resource exists and does not have a policy set.", +"flatPath": "v1/projects/{projectsId}/regions/{regionsId}/autoscalingPolicies/{autoscalingPoliciesId}:getIamPolicy", +"httpMethod": "POST", +"id": "dataproc.projects.regions.autoscalingPolicies.getIamPolicy", +"parameterOrder": [ +"resource" +], +"parameters": { +"resource": { +"description": "REQUIRED: The resource for which the policy is being requested. See Resource names (https://cloud.google.com/apis/design/resource_names) for the appropriate value for this field.", +"location": "path", +"pattern": "^projects/[^/]+/regions/[^/]+/autoscalingPolicies/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+resource}:getIamPolicy", +"request": { +"$ref": "GetIamPolicyRequest" +}, +"response": { +"$ref": "Policy" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"list": { +"description": "Lists autoscaling policies in the project.", +"flatPath": "v1/projects/{projectsId}/regions/{regionsId}/autoscalingPolicies", +"httpMethod": "GET", +"id": "dataproc.projects.regions.autoscalingPolicies.list", +"parameterOrder": [ +"parent" +], +"parameters": { +"pageSize": { +"description": "Optional. The maximum number of results to return in each response. Must be less than or equal to 1000. Defaults to 100.", +"format": "int32", +"location": "query", +"type": "integer" +}, +"pageToken": { +"description": "Optional. The page token, returned by a previous call, to request the next page of results.", +"location": "query", +"type": "string" +}, +"parent": { +"description": "Required. The \"resource name\" of the region or location, as described in https://cloud.google.com/apis/design/resource_names. For projects.regions.autoscalingPolicies.list, the resource name of the region has the following format: projects/{project_id}/regions/{region} For projects.locations.autoscalingPolicies.list, the resource name of the location has the following format: projects/{project_id}/locations/{location}", +"location": "path", +"pattern": "^projects/[^/]+/regions/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+parent}/autoscalingPolicies", +"response": { +"$ref": "ListAutoscalingPoliciesResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"setIamPolicy": { +"description": "Sets the access control policy on the specified resource. Replaces any existing policy.Can return NOT_FOUND, INVALID_ARGUMENT, and PERMISSION_DENIED errors.", +"flatPath": "v1/projects/{projectsId}/regions/{regionsId}/autoscalingPolicies/{autoscalingPoliciesId}:setIamPolicy", +"httpMethod": "POST", +"id": "dataproc.projects.regions.autoscalingPolicies.setIamPolicy", +"parameterOrder": [ +"resource" +], +"parameters": { +"resource": { +"description": "REQUIRED: The resource for which the policy is being specified. See Resource names (https://cloud.google.com/apis/design/resource_names) for the appropriate value for this field.", +"location": "path", +"pattern": "^projects/[^/]+/regions/[^/]+/autoscalingPolicies/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+resource}:setIamPolicy", +"request": { +"$ref": "SetIamPolicyRequest" +}, +"response": { +"$ref": "Policy" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"testIamPermissions": { +"description": "Returns permissions that a caller has on the specified resource. If the resource does not exist, this will return an empty set of permissions, not a NOT_FOUND error.Note: This operation is designed to be used for building permission-aware UIs and command-line tools, not for authorization checking. This operation may \"fail open\" without warning.", +"flatPath": "v1/projects/{projectsId}/regions/{regionsId}/autoscalingPolicies/{autoscalingPoliciesId}:testIamPermissions", +"httpMethod": "POST", +"id": "dataproc.projects.regions.autoscalingPolicies.testIamPermissions", +"parameterOrder": [ +"resource" +], +"parameters": { +"resource": { +"description": "REQUIRED: The resource for which the policy detail is being requested. See Resource names (https://cloud.google.com/apis/design/resource_names) for the appropriate value for this field.", +"location": "path", +"pattern": "^projects/[^/]+/regions/[^/]+/autoscalingPolicies/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+resource}:testIamPermissions", +"request": { +"$ref": "TestIamPermissionsRequest" +}, +"response": { +"$ref": "TestIamPermissionsResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"update": { +"description": "Updates (replaces) autoscaling policy.Disabled check for update_mask, because all updates will be full replacements.", +"flatPath": "v1/projects/{projectsId}/regions/{regionsId}/autoscalingPolicies/{autoscalingPoliciesId}", +"httpMethod": "PUT", +"id": "dataproc.projects.regions.autoscalingPolicies.update", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Output only. The \"resource name\" of the autoscaling policy, as described in https://cloud.google.com/apis/design/resource_names. For projects.regions.autoscalingPolicies, the resource name of the policy has the following format: projects/{project_id}/regions/{region}/autoscalingPolicies/{policy_id} For projects.locations.autoscalingPolicies, the resource name of the policy has the following format: projects/{project_id}/locations/{location}/autoscalingPolicies/{policy_id}", +"location": "path", +"pattern": "^projects/[^/]+/regions/[^/]+/autoscalingPolicies/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+name}", +"request": { +"$ref": "AutoscalingPolicy" +}, +"response": { +"$ref": "AutoscalingPolicy" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +} +} +}, +"clusters": { +"methods": { +"create": { +"description": "Creates a cluster in a project. The returned Operation.metadata will be ClusterOperationMetadata (https://cloud.google.com/dataproc/docs/reference/rpc/google.cloud.dataproc.v1#clusteroperationmetadata).", +"flatPath": "v1/projects/{projectId}/regions/{region}/clusters", +"httpMethod": "POST", +"id": "dataproc.projects.regions.clusters.create", +"parameterOrder": [ +"projectId", +"region" +], +"parameters": { +"actionOnFailedPrimaryWorkers": { +"description": "Optional. Failure action when primary worker creation fails.", +"enum": [ +"FAILURE_ACTION_UNSPECIFIED", +"NO_ACTION", +"DELETE" +], +"enumDescriptions": [ +"When FailureAction is unspecified, failure action defaults to NO_ACTION.", +"Take no action on failure to create a cluster resource. NO_ACTION is the default.", +"Delete the failed cluster resource." +], +"location": "query", +"type": "string" +}, +"projectId": { +"description": "Required. The ID of the Google Cloud Platform project that the cluster belongs to.", +"location": "path", +"required": true, +"type": "string" +}, +"region": { +"description": "Required. The Dataproc region in which to handle the request.", +"location": "path", +"required": true, +"type": "string" +}, +"requestId": { +"description": "Optional. A unique ID used to identify the request. If the server receives two CreateClusterRequest (https://cloud.google.com/dataproc/docs/reference/rpc/google.cloud.dataproc.v1#google.cloud.dataproc.v1.CreateClusterRequest)s with the same id, then the second request will be ignored and the first google.longrunning.Operation created and stored in the backend is returned.It is recommended to always set this value to a UUID (https://en.wikipedia.org/wiki/Universally_unique_identifier).The ID must contain only letters (a-z, A-Z), numbers (0-9), underscores (_), and hyphens (-). The maximum length is 40 characters.", +"location": "query", +"type": "string" +} +}, +"path": "v1/projects/{projectId}/regions/{region}/clusters", +"request": { +"$ref": "Cluster" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"delete": { +"description": "Deletes a cluster in a project. The returned Operation.metadata will be ClusterOperationMetadata (https://cloud.google.com/dataproc/docs/reference/rpc/google.cloud.dataproc.v1#clusteroperationmetadata).", +"flatPath": "v1/projects/{projectId}/regions/{region}/clusters/{clusterName}", +"httpMethod": "DELETE", +"id": "dataproc.projects.regions.clusters.delete", +"parameterOrder": [ +"projectId", +"region", +"clusterName" +], +"parameters": { +"clusterName": { +"description": "Required. The cluster name.", +"location": "path", +"required": true, +"type": "string" +}, +"clusterUuid": { +"description": "Optional. Specifying the cluster_uuid means the RPC should fail (with error NOT_FOUND) if cluster with specified UUID does not exist.", +"location": "query", +"type": "string" +}, +"gracefulTerminationTimeout": { +"description": "Optional. The graceful termination timeout for the deletion of the cluster. Indicate the time the request will wait to complete the running jobs on the cluster before its forceful deletion. Default value is 0 indicating that the user has not enabled the graceful termination. Value can be between 60 second and 6 Hours, in case the graceful termination is enabled. (There is no separate flag to check the enabling or disabling of graceful termination, it can be checked by the values in the field).", +"format": "google-duration", +"location": "query", +"type": "string" +}, +"projectId": { +"description": "Required. The ID of the Google Cloud Platform project that the cluster belongs to.", +"location": "path", +"required": true, +"type": "string" +}, +"region": { +"description": "Required. The Dataproc region in which to handle the request.", +"location": "path", +"required": true, +"type": "string" +}, +"requestId": { +"description": "Optional. A unique ID used to identify the request. If the server receives two DeleteClusterRequest (https://cloud.google.com/dataproc/docs/reference/rpc/google.cloud.dataproc.v1#google.cloud.dataproc.v1.DeleteClusterRequest)s with the same id, then the second request will be ignored and the first google.longrunning.Operation created and stored in the backend is returned.It is recommended to always set this value to a UUID (https://en.wikipedia.org/wiki/Universally_unique_identifier).The ID must contain only letters (a-z, A-Z), numbers (0-9), underscores (_), and hyphens (-). The maximum length is 40 characters.", +"location": "query", +"type": "string" +} +}, +"path": "v1/projects/{projectId}/regions/{region}/clusters/{clusterName}", +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"diagnose": { +"description": "Gets cluster diagnostic information. The returned Operation.metadata will be ClusterOperationMetadata (https://cloud.google.com/dataproc/docs/reference/rpc/google.cloud.dataproc.v1#clusteroperationmetadata). After the operation completes, Operation.response contains DiagnoseClusterResults (https://cloud.google.com/dataproc/docs/reference/rpc/google.cloud.dataproc.v1#diagnoseclusterresults).", +"flatPath": "v1/projects/{projectId}/regions/{region}/clusters/{clusterName}:diagnose", +"httpMethod": "POST", +"id": "dataproc.projects.regions.clusters.diagnose", +"parameterOrder": [ +"projectId", +"region", +"clusterName" +], +"parameters": { +"clusterName": { +"description": "Required. The cluster name.", +"location": "path", +"required": true, +"type": "string" +}, +"projectId": { +"description": "Required. The ID of the Google Cloud Platform project that the cluster belongs to.", +"location": "path", +"required": true, +"type": "string" +}, +"region": { +"description": "Required. The Dataproc region in which to handle the request.", +"location": "path", +"required": true, +"type": "string" +} +}, +"path": "v1/projects/{projectId}/regions/{region}/clusters/{clusterName}:diagnose", +"request": { +"$ref": "DiagnoseClusterRequest" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"get": { +"description": "Gets the resource representation for a cluster in a project.", +"flatPath": "v1/projects/{projectId}/regions/{region}/clusters/{clusterName}", +"httpMethod": "GET", +"id": "dataproc.projects.regions.clusters.get", +"parameterOrder": [ +"projectId", +"region", +"clusterName" +], +"parameters": { +"clusterName": { +"description": "Required. The cluster name.", +"location": "path", +"required": true, +"type": "string" +}, +"projectId": { +"description": "Required. The ID of the Google Cloud Platform project that the cluster belongs to.", +"location": "path", +"required": true, +"type": "string" +}, +"region": { +"description": "Required. The Dataproc region in which to handle the request.", +"location": "path", +"required": true, +"type": "string" +} +}, +"path": "v1/projects/{projectId}/regions/{region}/clusters/{clusterName}", +"response": { +"$ref": "Cluster" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"getIamPolicy": { +"description": "Gets the access control policy for a resource. Returns an empty policy if the resource exists and does not have a policy set.", +"flatPath": "v1/projects/{projectsId}/regions/{regionsId}/clusters/{clustersId}:getIamPolicy", +"httpMethod": "POST", +"id": "dataproc.projects.regions.clusters.getIamPolicy", +"parameterOrder": [ +"resource" +], +"parameters": { +"resource": { +"description": "REQUIRED: The resource for which the policy is being requested. See Resource names (https://cloud.google.com/apis/design/resource_names) for the appropriate value for this field.", +"location": "path", +"pattern": "^projects/[^/]+/regions/[^/]+/clusters/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+resource}:getIamPolicy", +"request": { +"$ref": "GetIamPolicyRequest" +}, +"response": { +"$ref": "Policy" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"injectCredentials": { +"description": "Inject encrypted credentials into all of the VMs in a cluster.The target cluster must be a personal auth cluster assigned to the user who is issuing the RPC.", +"flatPath": "v1/projects/{projectsId}/regions/{regionsId}/clusters/{clustersId}:injectCredentials", +"httpMethod": "POST", +"id": "dataproc.projects.regions.clusters.injectCredentials", +"parameterOrder": [ +"project", +"region", +"cluster" +], +"parameters": { +"cluster": { +"description": "Required. The cluster, in the form clusters/.", +"location": "path", +"pattern": "^clusters/[^/]+$", +"required": true, +"type": "string" +}, +"project": { +"description": "Required. The ID of the Google Cloud Platform project the cluster belongs to, of the form projects/.", +"location": "path", +"pattern": "^projects/[^/]+$", +"required": true, +"type": "string" +}, +"region": { +"description": "Required. The region containing the cluster, of the form regions/.", +"location": "path", +"pattern": "^regions/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+project}/{+region}/{+cluster}:injectCredentials", +"request": { +"$ref": "InjectCredentialsRequest" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"list": { +"description": "Lists all regions/{region}/clusters in a project alphabetically.", +"flatPath": "v1/projects/{projectId}/regions/{region}/clusters", +"httpMethod": "GET", +"id": "dataproc.projects.regions.clusters.list", +"parameterOrder": [ +"projectId", +"region" +], +"parameters": { +"filter": { +"description": "Optional. A filter constraining the clusters to list. Filters are case-sensitive and have the following syntax:field = value AND field = value ...where field is one of status.state, clusterName, or labels.[KEY], and [KEY] is a label key. value can be * to match all values. status.state can be one of the following: ACTIVE, INACTIVE, CREATING, RUNNING, ERROR, DELETING, UPDATING, STOPPING, or STOPPED. ACTIVE contains the CREATING, UPDATING, and RUNNING states. INACTIVE contains the DELETING, ERROR, STOPPING, and STOPPED states. clusterName is the name of the cluster provided at creation time. Only the logical AND operator is supported; space-separated items are treated as having an implicit AND operator.Example filter:status.state = ACTIVE AND clusterName = mycluster AND labels.env = staging AND labels.starred = *", +"location": "query", +"type": "string" +}, +"pageSize": { +"description": "Optional. The standard List page size.", +"format": "int32", +"location": "query", +"type": "integer" +}, +"pageToken": { +"description": "Optional. The standard List page token.", +"location": "query", +"type": "string" +}, +"projectId": { +"description": "Required. The ID of the Google Cloud Platform project that the cluster belongs to.", +"location": "path", +"required": true, +"type": "string" +}, +"region": { +"description": "Required. The Dataproc region in which to handle the request.", +"location": "path", +"required": true, +"type": "string" +} +}, +"path": "v1/projects/{projectId}/regions/{region}/clusters", +"response": { +"$ref": "ListClustersResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"patch": { +"description": "Updates a cluster in a project. The returned Operation.metadata will be ClusterOperationMetadata (https://cloud.google.com/dataproc/docs/reference/rpc/google.cloud.dataproc.v1#clusteroperationmetadata). The cluster must be in a RUNNING state or an error is returned.", +"flatPath": "v1/projects/{projectId}/regions/{region}/clusters/{clusterName}", +"httpMethod": "PATCH", +"id": "dataproc.projects.regions.clusters.patch", +"parameterOrder": [ +"projectId", +"region", +"clusterName" +], +"parameters": { +"clusterName": { +"description": "Required. The cluster name.", +"location": "path", +"required": true, +"type": "string" +}, +"gracefulDecommissionTimeout": { +"description": "Optional. Timeout for graceful YARN decommissioning. Graceful decommissioning allows removing nodes from the cluster without interrupting jobs in progress. Timeout specifies how long to wait for jobs in progress to finish before forcefully removing nodes (and potentially interrupting jobs). Default timeout is 0 (for forceful decommission), and the maximum allowed timeout is 1 day. (see JSON representation of Duration (https://developers.google.com/protocol-buffers/docs/proto3#json)).Only supported on Dataproc image versions 1.2 and higher.", +"format": "google-duration", +"location": "query", +"type": "string" +}, +"projectId": { +"description": "Required. The ID of the Google Cloud Platform project the cluster belongs to.", +"location": "path", +"required": true, +"type": "string" +}, +"region": { +"description": "Required. The Dataproc region in which to handle the request.", +"location": "path", +"required": true, +"type": "string" +}, +"requestId": { +"description": "Optional. A unique ID used to identify the request. If the server receives two UpdateClusterRequest (https://cloud.google.com/dataproc/docs/reference/rpc/google.cloud.dataproc.v1#google.cloud.dataproc.v1.UpdateClusterRequest)s with the same id, then the second request will be ignored and the first google.longrunning.Operation created and stored in the backend is returned.It is recommended to always set this value to a UUID (https://en.wikipedia.org/wiki/Universally_unique_identifier).The ID must contain only letters (a-z, A-Z), numbers (0-9), underscores (_), and hyphens (-). The maximum length is 40 characters.", +"location": "query", +"type": "string" +}, +"updateMask": { +"description": "Required. Specifies the path, relative to Cluster, of the field to update. For example, to change the number of workers in a cluster to 5, the update_mask parameter would be specified as config.worker_config.num_instances, and the PATCH request body would specify the new value, as follows: { \"config\":{ \"workerConfig\":{ \"numInstances\":\"5\" } } } Similarly, to change the number of preemptible workers in a cluster to 5, the update_mask parameter would be config.secondary_worker_config.num_instances, and the PATCH request body would be set as follows: { \"config\":{ \"secondaryWorkerConfig\":{ \"numInstances\":\"5\" } } } *Note:* Currently, only the following fields can be updated: *Mask* *Purpose* *labels* Update labels *config.worker_config.num_instances* Resize primary worker group *config.secondary_worker_config.num_instances* Resize secondary worker group config.autoscaling_config.policy_uri Use, stop using, or change autoscaling policies ", +"format": "google-fieldmask", +"location": "query", +"type": "string" +} +}, +"path": "v1/projects/{projectId}/regions/{region}/clusters/{clusterName}", +"request": { +"$ref": "Cluster" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"repair": { +"description": "Repairs a cluster.", +"flatPath": "v1/projects/{projectId}/regions/{region}/clusters/{clusterName}:repair", +"httpMethod": "POST", +"id": "dataproc.projects.regions.clusters.repair", +"parameterOrder": [ +"projectId", +"region", +"clusterName" +], +"parameters": { +"clusterName": { +"description": "Required. The cluster name.", +"location": "path", +"required": true, +"type": "string" +}, +"projectId": { +"description": "Required. The ID of the Google Cloud Platform project the cluster belongs to.", +"location": "path", +"required": true, +"type": "string" +}, +"region": { +"description": "Required. The Dataproc region in which to handle the request.", +"location": "path", +"required": true, +"type": "string" +} +}, +"path": "v1/projects/{projectId}/regions/{region}/clusters/{clusterName}:repair", +"request": { +"$ref": "RepairClusterRequest" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"setIamPolicy": { +"description": "Sets the access control policy on the specified resource. Replaces any existing policy.Can return NOT_FOUND, INVALID_ARGUMENT, and PERMISSION_DENIED errors.", +"flatPath": "v1/projects/{projectsId}/regions/{regionsId}/clusters/{clustersId}:setIamPolicy", +"httpMethod": "POST", +"id": "dataproc.projects.regions.clusters.setIamPolicy", +"parameterOrder": [ +"resource" +], +"parameters": { +"resource": { +"description": "REQUIRED: The resource for which the policy is being specified. See Resource names (https://cloud.google.com/apis/design/resource_names) for the appropriate value for this field.", +"location": "path", +"pattern": "^projects/[^/]+/regions/[^/]+/clusters/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+resource}:setIamPolicy", +"request": { +"$ref": "SetIamPolicyRequest" +}, +"response": { +"$ref": "Policy" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"start": { +"description": "Starts a cluster in a project.", +"flatPath": "v1/projects/{projectId}/regions/{region}/clusters/{clusterName}:start", +"httpMethod": "POST", +"id": "dataproc.projects.regions.clusters.start", +"parameterOrder": [ +"projectId", +"region", +"clusterName" +], +"parameters": { +"clusterName": { +"description": "Required. The cluster name.", +"location": "path", +"required": true, +"type": "string" +}, +"projectId": { +"description": "Required. The ID of the Google Cloud Platform project the cluster belongs to.", +"location": "path", +"required": true, +"type": "string" +}, +"region": { +"description": "Required. The Dataproc region in which to handle the request.", +"location": "path", +"required": true, +"type": "string" +} +}, +"path": "v1/projects/{projectId}/regions/{region}/clusters/{clusterName}:start", +"request": { +"$ref": "StartClusterRequest" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"stop": { +"description": "Stops a cluster in a project.", +"flatPath": "v1/projects/{projectId}/regions/{region}/clusters/{clusterName}:stop", +"httpMethod": "POST", +"id": "dataproc.projects.regions.clusters.stop", +"parameterOrder": [ +"projectId", +"region", +"clusterName" +], +"parameters": { +"clusterName": { +"description": "Required. The cluster name.", +"location": "path", +"required": true, +"type": "string" +}, +"projectId": { +"description": "Required. The ID of the Google Cloud Platform project the cluster belongs to.", +"location": "path", +"required": true, +"type": "string" +}, +"region": { +"description": "Required. The Dataproc region in which to handle the request.", +"location": "path", +"required": true, +"type": "string" +} +}, +"path": "v1/projects/{projectId}/regions/{region}/clusters/{clusterName}:stop", +"request": { +"$ref": "StopClusterRequest" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"testIamPermissions": { +"description": "Returns permissions that a caller has on the specified resource. If the resource does not exist, this will return an empty set of permissions, not a NOT_FOUND error.Note: This operation is designed to be used for building permission-aware UIs and command-line tools, not for authorization checking. This operation may \"fail open\" without warning.", +"flatPath": "v1/projects/{projectsId}/regions/{regionsId}/clusters/{clustersId}:testIamPermissions", +"httpMethod": "POST", +"id": "dataproc.projects.regions.clusters.testIamPermissions", +"parameterOrder": [ +"resource" +], +"parameters": { +"resource": { +"description": "REQUIRED: The resource for which the policy detail is being requested. See Resource names (https://cloud.google.com/apis/design/resource_names) for the appropriate value for this field.", +"location": "path", +"pattern": "^projects/[^/]+/regions/[^/]+/clusters/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+resource}:testIamPermissions", +"request": { +"$ref": "TestIamPermissionsRequest" +}, +"response": { +"$ref": "TestIamPermissionsResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +} +}, +"resources": { +"nodeGroups": { +"methods": { +"create": { +"description": "Creates a node group in a cluster. The returned Operation.metadata is NodeGroupOperationMetadata (https://cloud.google.com/dataproc/docs/reference/rpc/google.cloud.dataproc.v1#nodegroupoperationmetadata).", +"flatPath": "v1/projects/{projectsId}/regions/{regionsId}/clusters/{clustersId}/nodeGroups", +"httpMethod": "POST", +"id": "dataproc.projects.regions.clusters.nodeGroups.create", +"parameterOrder": [ +"parent" +], +"parameters": { +"nodeGroupId": { +"description": "Optional. An optional node group ID. Generated if not specified.The ID must contain only letters (a-z, A-Z), numbers (0-9), underscores (_), and hyphens (-). Cannot begin or end with underscore or hyphen. Must consist of from 3 to 33 characters.", +"location": "query", +"type": "string" +}, +"parent": { +"description": "Required. The parent resource where this node group will be created. Format: projects/{project}/regions/{region}/clusters/{cluster}", +"location": "path", +"pattern": "^projects/[^/]+/regions/[^/]+/clusters/[^/]+$", +"required": true, +"type": "string" +}, +"parentOperationId": { +"description": "Optional. operation id of the parent operation sending the create request", +"location": "query", +"type": "string" +}, +"requestId": { +"description": "Optional. A unique ID used to identify the request. If the server receives two CreateNodeGroupRequest (https://cloud.google.com/dataproc/docs/reference/rpc/google.cloud.dataproc.v1#google.cloud.dataproc.v1.CreateNodeGroupRequest) with the same ID, the second request is ignored and the first google.longrunning.Operation created and stored in the backend is returned.Recommendation: Set this value to a UUID (https://en.wikipedia.org/wiki/Universally_unique_identifier).The ID must contain only letters (a-z, A-Z), numbers (0-9), underscores (_), and hyphens (-). The maximum length is 40 characters.", +"location": "query", +"type": "string" +} +}, +"path": "v1/{+parent}/nodeGroups", +"request": { +"$ref": "NodeGroup" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"get": { +"description": "Gets the resource representation for a node group in a cluster.", +"flatPath": "v1/projects/{projectsId}/regions/{regionsId}/clusters/{clustersId}/nodeGroups/{nodeGroupsId}", +"httpMethod": "GET", +"id": "dataproc.projects.regions.clusters.nodeGroups.get", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. The name of the node group to retrieve. Format: projects/{project}/regions/{region}/clusters/{cluster}/nodeGroups/{nodeGroup}", +"location": "path", +"pattern": "^projects/[^/]+/regions/[^/]+/clusters/[^/]+/nodeGroups/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+name}", +"response": { +"$ref": "NodeGroup" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"repair": { +"description": "Repair nodes in a node group.", +"flatPath": "v1/projects/{projectsId}/regions/{regionsId}/clusters/{clustersId}/nodeGroups/{nodeGroupsId}:repair", +"httpMethod": "POST", +"id": "dataproc.projects.regions.clusters.nodeGroups.repair", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. The name of the node group to resize. Format: projects/{project}/regions/{region}/clusters/{cluster}/nodeGroups/{nodeGroup}", +"location": "path", +"pattern": "^projects/[^/]+/regions/[^/]+/clusters/[^/]+/nodeGroups/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+name}:repair", +"request": { +"$ref": "RepairNodeGroupRequest" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"resize": { +"description": "Resizes a node group in a cluster. The returned Operation.metadata is NodeGroupOperationMetadata (https://cloud.google.com/dataproc/docs/reference/rpc/google.cloud.dataproc.v1#nodegroupoperationmetadata).", +"flatPath": "v1/projects/{projectsId}/regions/{regionsId}/clusters/{clustersId}/nodeGroups/{nodeGroupsId}:resize", +"httpMethod": "POST", +"id": "dataproc.projects.regions.clusters.nodeGroups.resize", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. The name of the node group to resize. Format: projects/{project}/regions/{region}/clusters/{cluster}/nodeGroups/{nodeGroup}", +"location": "path", +"pattern": "^projects/[^/]+/regions/[^/]+/clusters/[^/]+/nodeGroups/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+name}:resize", +"request": { +"$ref": "ResizeNodeGroupRequest" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +} +} +} +} +}, +"jobs": { +"methods": { +"cancel": { +"description": "Starts a job cancellation request. To access the job resource after cancellation, call regions/{region}/jobs.list (https://cloud.google.com/dataproc/docs/reference/rest/v1/projects.regions.jobs/list) or regions/{region}/jobs.get (https://cloud.google.com/dataproc/docs/reference/rest/v1/projects.regions.jobs/get).", +"flatPath": "v1/projects/{projectId}/regions/{region}/jobs/{jobId}:cancel", +"httpMethod": "POST", +"id": "dataproc.projects.regions.jobs.cancel", +"parameterOrder": [ +"projectId", +"region", +"jobId" +], +"parameters": { +"jobId": { +"description": "Required. The job ID.", +"location": "path", +"required": true, +"type": "string" +}, +"projectId": { +"description": "Required. The ID of the Google Cloud Platform project that the job belongs to.", +"location": "path", +"required": true, +"type": "string" +}, +"region": { +"description": "Required. The Dataproc region in which to handle the request.", +"location": "path", +"required": true, +"type": "string" +} +}, +"path": "v1/projects/{projectId}/regions/{region}/jobs/{jobId}:cancel", +"request": { +"$ref": "CancelJobRequest" +}, +"response": { +"$ref": "Job" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"delete": { +"description": "Deletes the job from the project. If the job is active, the delete fails, and the response returns FAILED_PRECONDITION.", +"flatPath": "v1/projects/{projectId}/regions/{region}/jobs/{jobId}", +"httpMethod": "DELETE", +"id": "dataproc.projects.regions.jobs.delete", +"parameterOrder": [ +"projectId", +"region", +"jobId" +], +"parameters": { +"jobId": { +"description": "Required. The job ID.", +"location": "path", +"required": true, +"type": "string" +}, +"projectId": { +"description": "Required. The ID of the Google Cloud Platform project that the job belongs to.", +"location": "path", +"required": true, +"type": "string" +}, +"region": { +"description": "Required. The Dataproc region in which to handle the request.", +"location": "path", +"required": true, +"type": "string" +} +}, +"path": "v1/projects/{projectId}/regions/{region}/jobs/{jobId}", +"response": { +"$ref": "Empty" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"get": { +"description": "Gets the resource representation for a job in a project.", +"flatPath": "v1/projects/{projectId}/regions/{region}/jobs/{jobId}", +"httpMethod": "GET", +"id": "dataproc.projects.regions.jobs.get", +"parameterOrder": [ +"projectId", +"region", +"jobId" +], +"parameters": { +"jobId": { +"description": "Required. The job ID.", +"location": "path", +"required": true, +"type": "string" +}, +"projectId": { +"description": "Required. The ID of the Google Cloud Platform project that the job belongs to.", +"location": "path", +"required": true, +"type": "string" +}, +"region": { +"description": "Required. The Dataproc region in which to handle the request.", +"location": "path", +"required": true, +"type": "string" +} +}, +"path": "v1/projects/{projectId}/regions/{region}/jobs/{jobId}", +"response": { +"$ref": "Job" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"getIamPolicy": { +"description": "Gets the access control policy for a resource. Returns an empty policy if the resource exists and does not have a policy set.", +"flatPath": "v1/projects/{projectsId}/regions/{regionsId}/jobs/{jobsId}:getIamPolicy", +"httpMethod": "POST", +"id": "dataproc.projects.regions.jobs.getIamPolicy", +"parameterOrder": [ +"resource" +], +"parameters": { +"resource": { +"description": "REQUIRED: The resource for which the policy is being requested. See Resource names (https://cloud.google.com/apis/design/resource_names) for the appropriate value for this field.", +"location": "path", +"pattern": "^projects/[^/]+/regions/[^/]+/jobs/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+resource}:getIamPolicy", +"request": { +"$ref": "GetIamPolicyRequest" +}, +"response": { +"$ref": "Policy" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"list": { +"description": "Lists regions/{region}/jobs in a project.", +"flatPath": "v1/projects/{projectId}/regions/{region}/jobs", +"httpMethod": "GET", +"id": "dataproc.projects.regions.jobs.list", +"parameterOrder": [ +"projectId", +"region" +], +"parameters": { +"clusterName": { +"description": "Optional. If set, the returned jobs list includes only jobs that were submitted to the named cluster.", +"location": "query", +"type": "string" +}, +"filter": { +"description": "Optional. A filter constraining the jobs to list. Filters are case-sensitive and have the following syntax:field = value AND field = value ...where field is status.state or labels.[KEY], and [KEY] is a label key. value can be * to match all values. status.state can be either ACTIVE or NON_ACTIVE. Only the logical AND operator is supported; space-separated items are treated as having an implicit AND operator.Example filter:status.state = ACTIVE AND labels.env = staging AND labels.starred = *", +"location": "query", +"type": "string" +}, +"jobStateMatcher": { +"description": "Optional. Specifies enumerated categories of jobs to list. (default = match ALL jobs).If filter is provided, jobStateMatcher will be ignored.", +"enum": [ +"ALL", +"ACTIVE", +"NON_ACTIVE" +], +"enumDescriptions": [ +"Match all jobs, regardless of state.", +"Only match jobs in non-terminal states: PENDING, RUNNING, or CANCEL_PENDING.", +"Only match jobs in terminal states: CANCELLED, DONE, or ERROR." +], +"location": "query", +"type": "string" +}, +"pageSize": { +"description": "Optional. The number of results to return in each response.", +"format": "int32", +"location": "query", +"type": "integer" +}, +"pageToken": { +"description": "Optional. The page token, returned by a previous call, to request the next page of results.", +"location": "query", +"type": "string" +}, +"projectId": { +"description": "Required. The ID of the Google Cloud Platform project that the job belongs to.", +"location": "path", +"required": true, +"type": "string" +}, +"region": { +"description": "Required. The Dataproc region in which to handle the request.", +"location": "path", +"required": true, +"type": "string" +} +}, +"path": "v1/projects/{projectId}/regions/{region}/jobs", +"response": { +"$ref": "ListJobsResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"patch": { +"description": "Updates a job in a project.", +"flatPath": "v1/projects/{projectId}/regions/{region}/jobs/{jobId}", +"httpMethod": "PATCH", +"id": "dataproc.projects.regions.jobs.patch", +"parameterOrder": [ +"projectId", +"region", +"jobId" +], +"parameters": { +"jobId": { +"description": "Required. The job ID.", +"location": "path", +"required": true, +"type": "string" +}, +"projectId": { +"description": "Required. The ID of the Google Cloud Platform project that the job belongs to.", +"location": "path", +"required": true, +"type": "string" +}, +"region": { +"description": "Required. The Dataproc region in which to handle the request.", +"location": "path", +"required": true, +"type": "string" +}, +"updateMask": { +"description": "Required. Specifies the path, relative to Job, of the field to update. For example, to update the labels of a Job the update_mask parameter would be specified as labels, and the PATCH request body would specify the new value. *Note:* Currently, labels is the only field that can be updated.", +"format": "google-fieldmask", +"location": "query", +"type": "string" +} +}, +"path": "v1/projects/{projectId}/regions/{region}/jobs/{jobId}", +"request": { +"$ref": "Job" +}, +"response": { +"$ref": "Job" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"setIamPolicy": { +"description": "Sets the access control policy on the specified resource. Replaces any existing policy.Can return NOT_FOUND, INVALID_ARGUMENT, and PERMISSION_DENIED errors.", +"flatPath": "v1/projects/{projectsId}/regions/{regionsId}/jobs/{jobsId}:setIamPolicy", +"httpMethod": "POST", +"id": "dataproc.projects.regions.jobs.setIamPolicy", +"parameterOrder": [ +"resource" +], +"parameters": { +"resource": { +"description": "REQUIRED: The resource for which the policy is being specified. See Resource names (https://cloud.google.com/apis/design/resource_names) for the appropriate value for this field.", +"location": "path", +"pattern": "^projects/[^/]+/regions/[^/]+/jobs/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+resource}:setIamPolicy", +"request": { +"$ref": "SetIamPolicyRequest" +}, +"response": { +"$ref": "Policy" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"submit": { +"description": "Submits a job to a cluster.", +"flatPath": "v1/projects/{projectId}/regions/{region}/jobs:submit", +"httpMethod": "POST", +"id": "dataproc.projects.regions.jobs.submit", +"parameterOrder": [ +"projectId", +"region" +], +"parameters": { +"projectId": { +"description": "Required. The ID of the Google Cloud Platform project that the job belongs to.", +"location": "path", +"required": true, +"type": "string" +}, +"region": { +"description": "Required. The Dataproc region in which to handle the request.", +"location": "path", +"required": true, +"type": "string" +} +}, +"path": "v1/projects/{projectId}/regions/{region}/jobs:submit", +"request": { +"$ref": "SubmitJobRequest" +}, +"response": { +"$ref": "Job" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"submitAsOperation": { +"description": "Submits job to a cluster.", +"flatPath": "v1/projects/{projectId}/regions/{region}/jobs:submitAsOperation", +"httpMethod": "POST", +"id": "dataproc.projects.regions.jobs.submitAsOperation", +"parameterOrder": [ +"projectId", +"region" +], +"parameters": { +"projectId": { +"description": "Required. The ID of the Google Cloud Platform project that the job belongs to.", +"location": "path", +"required": true, +"type": "string" +}, +"region": { +"description": "Required. The Dataproc region in which to handle the request.", +"location": "path", +"required": true, +"type": "string" +} +}, +"path": "v1/projects/{projectId}/regions/{region}/jobs:submitAsOperation", +"request": { +"$ref": "SubmitJobRequest" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"testIamPermissions": { +"description": "Returns permissions that a caller has on the specified resource. If the resource does not exist, this will return an empty set of permissions, not a NOT_FOUND error.Note: This operation is designed to be used for building permission-aware UIs and command-line tools, not for authorization checking. This operation may \"fail open\" without warning.", +"flatPath": "v1/projects/{projectsId}/regions/{regionsId}/jobs/{jobsId}:testIamPermissions", +"httpMethod": "POST", +"id": "dataproc.projects.regions.jobs.testIamPermissions", +"parameterOrder": [ +"resource" +], +"parameters": { +"resource": { +"description": "REQUIRED: The resource for which the policy detail is being requested. See Resource names (https://cloud.google.com/apis/design/resource_names) for the appropriate value for this field.", +"location": "path", +"pattern": "^projects/[^/]+/regions/[^/]+/jobs/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+resource}:testIamPermissions", +"request": { +"$ref": "TestIamPermissionsRequest" +}, +"response": { +"$ref": "TestIamPermissionsResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +} +} +}, +"operations": { +"methods": { +"cancel": { +"description": "Starts asynchronous cancellation on a long-running operation. The server makes a best effort to cancel the operation, but success is not guaranteed. If the server doesn't support this method, it returns google.rpc.Code.UNIMPLEMENTED. Clients can use Operations.GetOperation or other methods to check whether the cancellation succeeded or whether the operation completed despite cancellation. On successful cancellation, the operation is not deleted; instead, it becomes an operation with an Operation.error value with a google.rpc.Status.code of 1, corresponding to Code.CANCELLED.", +"flatPath": "v1/projects/{projectsId}/regions/{regionsId}/operations/{operationsId}:cancel", +"httpMethod": "POST", +"id": "dataproc.projects.regions.operations.cancel", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "The name of the operation resource to be cancelled.", +"location": "path", +"pattern": "^projects/[^/]+/regions/[^/]+/operations/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+name}:cancel", +"response": { +"$ref": "Empty" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"delete": { +"description": "Deletes a long-running operation. This method indicates that the client is no longer interested in the operation result. It does not cancel the operation. If the server doesn't support this method, it returns google.rpc.Code.UNIMPLEMENTED.", +"flatPath": "v1/projects/{projectsId}/regions/{regionsId}/operations/{operationsId}", +"httpMethod": "DELETE", +"id": "dataproc.projects.regions.operations.delete", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "The name of the operation resource to be deleted.", +"location": "path", +"pattern": "^projects/[^/]+/regions/[^/]+/operations/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+name}", +"response": { +"$ref": "Empty" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"get": { +"description": "Gets the latest state of a long-running operation. Clients can use this method to poll the operation result at intervals as recommended by the API service.", +"flatPath": "v1/projects/{projectsId}/regions/{regionsId}/operations/{operationsId}", +"httpMethod": "GET", +"id": "dataproc.projects.regions.operations.get", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "The name of the operation resource.", +"location": "path", +"pattern": "^projects/[^/]+/regions/[^/]+/operations/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+name}", +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"getIamPolicy": { +"description": "Gets the access control policy for a resource. Returns an empty policy if the resource exists and does not have a policy set.", +"flatPath": "v1/projects/{projectsId}/regions/{regionsId}/operations/{operationsId}:getIamPolicy", +"httpMethod": "POST", +"id": "dataproc.projects.regions.operations.getIamPolicy", +"parameterOrder": [ +"resource" +], +"parameters": { +"resource": { +"description": "REQUIRED: The resource for which the policy is being requested. See Resource names (https://cloud.google.com/apis/design/resource_names) for the appropriate value for this field.", +"location": "path", +"pattern": "^projects/[^/]+/regions/[^/]+/operations/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+resource}:getIamPolicy", +"request": { +"$ref": "GetIamPolicyRequest" +}, +"response": { +"$ref": "Policy" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"list": { +"description": "Lists operations that match the specified filter in the request. If the server doesn't support this method, it returns UNIMPLEMENTED.", +"flatPath": "v1/projects/{projectsId}/regions/{regionsId}/operations", +"httpMethod": "GET", +"id": "dataproc.projects.regions.operations.list", +"parameterOrder": [ +"name" +], +"parameters": { +"filter": { +"description": "The standard list filter.", +"location": "query", +"type": "string" +}, +"name": { +"description": "The name of the operation's parent resource.", +"location": "path", +"pattern": "^projects/[^/]+/regions/[^/]+/operations$", +"required": true, +"type": "string" +}, +"pageSize": { +"description": "The standard list page size.", +"format": "int32", +"location": "query", +"type": "integer" +}, +"pageToken": { +"description": "The standard list page token.", +"location": "query", +"type": "string" +} +}, +"path": "v1/{+name}", +"response": { +"$ref": "ListOperationsResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"setIamPolicy": { +"description": "Sets the access control policy on the specified resource. Replaces any existing policy.Can return NOT_FOUND, INVALID_ARGUMENT, and PERMISSION_DENIED errors.", +"flatPath": "v1/projects/{projectsId}/regions/{regionsId}/operations/{operationsId}:setIamPolicy", +"httpMethod": "POST", +"id": "dataproc.projects.regions.operations.setIamPolicy", +"parameterOrder": [ +"resource" +], +"parameters": { +"resource": { +"description": "REQUIRED: The resource for which the policy is being specified. See Resource names (https://cloud.google.com/apis/design/resource_names) for the appropriate value for this field.", +"location": "path", +"pattern": "^projects/[^/]+/regions/[^/]+/operations/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+resource}:setIamPolicy", +"request": { +"$ref": "SetIamPolicyRequest" +}, +"response": { +"$ref": "Policy" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"testIamPermissions": { +"description": "Returns permissions that a caller has on the specified resource. If the resource does not exist, this will return an empty set of permissions, not a NOT_FOUND error.Note: This operation is designed to be used for building permission-aware UIs and command-line tools, not for authorization checking. This operation may \"fail open\" without warning.", +"flatPath": "v1/projects/{projectsId}/regions/{regionsId}/operations/{operationsId}:testIamPermissions", +"httpMethod": "POST", +"id": "dataproc.projects.regions.operations.testIamPermissions", +"parameterOrder": [ +"resource" +], +"parameters": { +"resource": { +"description": "REQUIRED: The resource for which the policy detail is being requested. See Resource names (https://cloud.google.com/apis/design/resource_names) for the appropriate value for this field.", +"location": "path", +"pattern": "^projects/[^/]+/regions/[^/]+/operations/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+resource}:testIamPermissions", +"request": { +"$ref": "TestIamPermissionsRequest" +}, +"response": { +"$ref": "TestIamPermissionsResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +} +} +}, +"workflowTemplates": { +"methods": { +"create": { +"description": "Creates new workflow template.", +"flatPath": "v1/projects/{projectsId}/regions/{regionsId}/workflowTemplates", +"httpMethod": "POST", +"id": "dataproc.projects.regions.workflowTemplates.create", +"parameterOrder": [ +"parent" +], +"parameters": { +"parent": { +"description": "Required. The resource name of the region or location, as described in https://cloud.google.com/apis/design/resource_names. For projects.regions.workflowTemplates.create, the resource name of the region has the following format: projects/{project_id}/regions/{region} For projects.locations.workflowTemplates.create, the resource name of the location has the following format: projects/{project_id}/locations/{location}", +"location": "path", +"pattern": "^projects/[^/]+/regions/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+parent}/workflowTemplates", +"request": { +"$ref": "WorkflowTemplate" +}, +"response": { +"$ref": "WorkflowTemplate" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"delete": { +"description": "Deletes a workflow template. It does not cancel in-progress workflows.", +"flatPath": "v1/projects/{projectsId}/regions/{regionsId}/workflowTemplates/{workflowTemplatesId}", +"httpMethod": "DELETE", +"id": "dataproc.projects.regions.workflowTemplates.delete", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. The resource name of the workflow template, as described in https://cloud.google.com/apis/design/resource_names. For projects.regions.workflowTemplates.delete, the resource name of the template has the following format: projects/{project_id}/regions/{region}/workflowTemplates/{template_id} For projects.locations.workflowTemplates.instantiate, the resource name of the template has the following format: projects/{project_id}/locations/{location}/workflowTemplates/{template_id}", +"location": "path", +"pattern": "^projects/[^/]+/regions/[^/]+/workflowTemplates/[^/]+$", +"required": true, +"type": "string" +}, +"version": { +"description": "Optional. The version of workflow template to delete. If specified, will only delete the template if the current server version matches specified version.", +"format": "int32", +"location": "query", +"type": "integer" +} +}, +"path": "v1/{+name}", +"response": { +"$ref": "Empty" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"get": { +"description": "Retrieves the latest workflow template.Can retrieve previously instantiated template by specifying optional version parameter.", +"flatPath": "v1/projects/{projectsId}/regions/{regionsId}/workflowTemplates/{workflowTemplatesId}", +"httpMethod": "GET", +"id": "dataproc.projects.regions.workflowTemplates.get", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. The resource name of the workflow template, as described in https://cloud.google.com/apis/design/resource_names. For projects.regions.workflowTemplates.get, the resource name of the template has the following format: projects/{project_id}/regions/{region}/workflowTemplates/{template_id} For projects.locations.workflowTemplates.get, the resource name of the template has the following format: projects/{project_id}/locations/{location}/workflowTemplates/{template_id}", +"location": "path", +"pattern": "^projects/[^/]+/regions/[^/]+/workflowTemplates/[^/]+$", +"required": true, +"type": "string" +}, +"version": { +"description": "Optional. The version of workflow template to retrieve. Only previously instantiated versions can be retrieved.If unspecified, retrieves the current version.", +"format": "int32", +"location": "query", +"type": "integer" +} +}, +"path": "v1/{+name}", +"response": { +"$ref": "WorkflowTemplate" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"getIamPolicy": { +"description": "Gets the access control policy for a resource. Returns an empty policy if the resource exists and does not have a policy set.", +"flatPath": "v1/projects/{projectsId}/regions/{regionsId}/workflowTemplates/{workflowTemplatesId}:getIamPolicy", +"httpMethod": "POST", +"id": "dataproc.projects.regions.workflowTemplates.getIamPolicy", +"parameterOrder": [ +"resource" +], +"parameters": { +"resource": { +"description": "REQUIRED: The resource for which the policy is being requested. See Resource names (https://cloud.google.com/apis/design/resource_names) for the appropriate value for this field.", +"location": "path", +"pattern": "^projects/[^/]+/regions/[^/]+/workflowTemplates/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+resource}:getIamPolicy", +"request": { +"$ref": "GetIamPolicyRequest" +}, +"response": { +"$ref": "Policy" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"instantiate": { +"description": "Instantiates a template and begins execution.The returned Operation can be used to track execution of workflow by polling operations.get. The Operation will complete when entire workflow is finished.The running workflow can be aborted via operations.cancel. This will cause any inflight jobs to be cancelled and workflow-owned clusters to be deleted.The Operation.metadata will be WorkflowMetadata (https://cloud.google.com/dataproc/docs/reference/rpc/google.cloud.dataproc.v1#workflowmetadata). Also see Using WorkflowMetadata (https://cloud.google.com/dataproc/docs/concepts/workflows/debugging#using_workflowmetadata).On successful completion, Operation.response will be Empty.", +"flatPath": "v1/projects/{projectsId}/regions/{regionsId}/workflowTemplates/{workflowTemplatesId}:instantiate", +"httpMethod": "POST", +"id": "dataproc.projects.regions.workflowTemplates.instantiate", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. The resource name of the workflow template, as described in https://cloud.google.com/apis/design/resource_names. For projects.regions.workflowTemplates.instantiate, the resource name of the template has the following format: projects/{project_id}/regions/{region}/workflowTemplates/{template_id} For projects.locations.workflowTemplates.instantiate, the resource name of the template has the following format: projects/{project_id}/locations/{location}/workflowTemplates/{template_id}", +"location": "path", +"pattern": "^projects/[^/]+/regions/[^/]+/workflowTemplates/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+name}:instantiate", +"request": { +"$ref": "InstantiateWorkflowTemplateRequest" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"instantiateInline": { +"description": "Instantiates a template and begins execution.This method is equivalent to executing the sequence CreateWorkflowTemplate, InstantiateWorkflowTemplate, DeleteWorkflowTemplate.The returned Operation can be used to track execution of workflow by polling operations.get. The Operation will complete when entire workflow is finished.The running workflow can be aborted via operations.cancel. This will cause any inflight jobs to be cancelled and workflow-owned clusters to be deleted.The Operation.metadata will be WorkflowMetadata (https://cloud.google.com/dataproc/docs/reference/rpc/google.cloud.dataproc.v1#workflowmetadata). Also see Using WorkflowMetadata (https://cloud.google.com/dataproc/docs/concepts/workflows/debugging#using_workflowmetadata).On successful completion, Operation.response will be Empty.", +"flatPath": "v1/projects/{projectsId}/regions/{regionsId}/workflowTemplates:instantiateInline", +"httpMethod": "POST", +"id": "dataproc.projects.regions.workflowTemplates.instantiateInline", +"parameterOrder": [ +"parent" +], +"parameters": { +"parent": { +"description": "Required. The resource name of the region or location, as described in https://cloud.google.com/apis/design/resource_names. For projects.regions.workflowTemplates,instantiateinline, the resource name of the region has the following format: projects/{project_id}/regions/{region} For projects.locations.workflowTemplates.instantiateinline, the resource name of the location has the following format: projects/{project_id}/locations/{location}", +"location": "path", +"pattern": "^projects/[^/]+/regions/[^/]+$", +"required": true, +"type": "string" +}, +"requestId": { +"description": "Optional. A tag that prevents multiple concurrent workflow instances with the same tag from running. This mitigates risk of concurrent instances started due to retries.It is recommended to always set this value to a UUID (https://en.wikipedia.org/wiki/Universally_unique_identifier).The tag must contain only letters (a-z, A-Z), numbers (0-9), underscores (_), and hyphens (-). The maximum length is 40 characters.", +"location": "query", +"type": "string" +} +}, +"path": "v1/{+parent}/workflowTemplates:instantiateInline", +"request": { +"$ref": "WorkflowTemplate" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"list": { +"description": "Lists workflows that match the specified filter in the request.", +"flatPath": "v1/projects/{projectsId}/regions/{regionsId}/workflowTemplates", +"httpMethod": "GET", +"id": "dataproc.projects.regions.workflowTemplates.list", +"parameterOrder": [ +"parent" +], +"parameters": { +"pageSize": { +"description": "Optional. The maximum number of results to return in each response.", +"format": "int32", +"location": "query", +"type": "integer" +}, +"pageToken": { +"description": "Optional. The page token, returned by a previous call, to request the next page of results.", +"location": "query", +"type": "string" +}, +"parent": { +"description": "Required. The resource name of the region or location, as described in https://cloud.google.com/apis/design/resource_names. For projects.regions.workflowTemplates,list, the resource name of the region has the following format: projects/{project_id}/regions/{region} For projects.locations.workflowTemplates.list, the resource name of the location has the following format: projects/{project_id}/locations/{location}", +"location": "path", +"pattern": "^projects/[^/]+/regions/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+parent}/workflowTemplates", +"response": { +"$ref": "ListWorkflowTemplatesResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"setIamPolicy": { +"description": "Sets the access control policy on the specified resource. Replaces any existing policy.Can return NOT_FOUND, INVALID_ARGUMENT, and PERMISSION_DENIED errors.", +"flatPath": "v1/projects/{projectsId}/regions/{regionsId}/workflowTemplates/{workflowTemplatesId}:setIamPolicy", +"httpMethod": "POST", +"id": "dataproc.projects.regions.workflowTemplates.setIamPolicy", +"parameterOrder": [ +"resource" +], +"parameters": { +"resource": { +"description": "REQUIRED: The resource for which the policy is being specified. See Resource names (https://cloud.google.com/apis/design/resource_names) for the appropriate value for this field.", +"location": "path", +"pattern": "^projects/[^/]+/regions/[^/]+/workflowTemplates/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+resource}:setIamPolicy", +"request": { +"$ref": "SetIamPolicyRequest" +}, +"response": { +"$ref": "Policy" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"testIamPermissions": { +"description": "Returns permissions that a caller has on the specified resource. If the resource does not exist, this will return an empty set of permissions, not a NOT_FOUND error.Note: This operation is designed to be used for building permission-aware UIs and command-line tools, not for authorization checking. This operation may \"fail open\" without warning.", +"flatPath": "v1/projects/{projectsId}/regions/{regionsId}/workflowTemplates/{workflowTemplatesId}:testIamPermissions", +"httpMethod": "POST", +"id": "dataproc.projects.regions.workflowTemplates.testIamPermissions", +"parameterOrder": [ +"resource" +], +"parameters": { +"resource": { +"description": "REQUIRED: The resource for which the policy detail is being requested. See Resource names (https://cloud.google.com/apis/design/resource_names) for the appropriate value for this field.", +"location": "path", +"pattern": "^projects/[^/]+/regions/[^/]+/workflowTemplates/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+resource}:testIamPermissions", +"request": { +"$ref": "TestIamPermissionsRequest" +}, +"response": { +"$ref": "TestIamPermissionsResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"update": { +"description": "Updates (replaces) workflow template. The updated template must contain version that matches the current server version.", +"flatPath": "v1/projects/{projectsId}/regions/{regionsId}/workflowTemplates/{workflowTemplatesId}", +"httpMethod": "PUT", +"id": "dataproc.projects.regions.workflowTemplates.update", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Output only. The resource name of the workflow template, as described in https://cloud.google.com/apis/design/resource_names. For projects.regions.workflowTemplates, the resource name of the template has the following format: projects/{project_id}/regions/{region}/workflowTemplates/{template_id} For projects.locations.workflowTemplates, the resource name of the template has the following format: projects/{project_id}/locations/{location}/workflowTemplates/{template_id}", +"location": "path", +"pattern": "^projects/[^/]+/regions/[^/]+/workflowTemplates/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+name}", +"request": { +"$ref": "WorkflowTemplate" +}, +"response": { +"$ref": "WorkflowTemplate" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +} +} +} +} +} +} +} +}, +"revision": "20250111", +"rootUrl": "https://dataproc.googleapis.com/", +"schemas": { +"AcceleratorConfig": { +"description": "Specifies the type and number of accelerator cards attached to the instances of an instance. See GPUs on Compute Engine (https://cloud.google.com/compute/docs/gpus/).", +"id": "AcceleratorConfig", +"properties": { +"acceleratorCount": { +"description": "The number of the accelerator cards of this type exposed to this instance.", +"format": "int32", +"type": "integer" +}, +"acceleratorTypeUri": { +"description": "Full URL, partial URI, or short name of the accelerator type resource to expose to this instance. See Compute Engine AcceleratorTypes (https://cloud.google.com/compute/docs/reference/v1/acceleratorTypes).Examples: https://www.googleapis.com/compute/v1/projects/[project_id]/zones/[zone]/acceleratorTypes/nvidia-tesla-t4 projects/[project_id]/zones/[zone]/acceleratorTypes/nvidia-tesla-t4 nvidia-tesla-t4Auto Zone Exception: If you are using the Dataproc Auto Zone Placement (https://cloud.google.com/dataproc/docs/concepts/configuring-clusters/auto-zone#using_auto_zone_placement) feature, you must use the short name of the accelerator type resource, for example, nvidia-tesla-t4.", +"type": "string" +} +}, +"type": "object" +}, +"AccessSessionSparkApplicationEnvironmentInfoResponse": { +"description": "Environment details of a Saprk Application.", +"id": "AccessSessionSparkApplicationEnvironmentInfoResponse", +"properties": { +"applicationEnvironmentInfo": { +"$ref": "ApplicationEnvironmentInfo", +"description": "Details about the Environment that the application is running in." +} +}, +"type": "object" +}, +"AccessSessionSparkApplicationJobResponse": { +"description": "Details of a particular job associated with Spark Application", +"id": "AccessSessionSparkApplicationJobResponse", +"properties": { +"jobData": { +"$ref": "JobData", +"description": "Output only. Data corresponding to a spark job.", +"readOnly": true +} +}, +"type": "object" +}, +"AccessSessionSparkApplicationResponse": { +"description": "A summary of Spark Application", +"id": "AccessSessionSparkApplicationResponse", +"properties": { +"application": { +"$ref": "ApplicationInfo", +"description": "Output only. High level information corresponding to an application.", +"readOnly": true +} +}, +"type": "object" +}, +"AccessSessionSparkApplicationSqlQueryResponse": { +"description": "Details of a query for a Spark Application", +"id": "AccessSessionSparkApplicationSqlQueryResponse", +"properties": { +"executionData": { +"$ref": "SqlExecutionUiData", +"description": "SQL Execution Data" +} +}, +"type": "object" +}, +"AccessSessionSparkApplicationSqlSparkPlanGraphResponse": { +"description": "SparkPlanGraph for a Spark Application execution limited to maximum 10000 clusters.", +"id": "AccessSessionSparkApplicationSqlSparkPlanGraphResponse", +"properties": { +"sparkPlanGraph": { +"$ref": "SparkPlanGraph", +"description": "SparkPlanGraph for a Spark Application execution." +} +}, +"type": "object" +}, +"AccessSessionSparkApplicationStageAttemptResponse": { +"description": "Stage Attempt for a Stage of a Spark Application", +"id": "AccessSessionSparkApplicationStageAttemptResponse", +"properties": { +"stageData": { +"$ref": "StageData", +"description": "Output only. Data corresponding to a stage.", +"readOnly": true +} +}, +"type": "object" +}, +"AccessSessionSparkApplicationStageRddOperationGraphResponse": { +"description": "RDD operation graph for a Spark Application Stage limited to maximum 10000 clusters.", +"id": "AccessSessionSparkApplicationStageRddOperationGraphResponse", +"properties": { +"rddOperationGraph": { +"$ref": "RddOperationGraph", +"description": "RDD operation graph for a Spark Application Stage." +} +}, +"type": "object" +}, +"AccessSparkApplicationEnvironmentInfoResponse": { +"description": "Environment details of a Saprk Application.", +"id": "AccessSparkApplicationEnvironmentInfoResponse", +"properties": { +"applicationEnvironmentInfo": { +"$ref": "ApplicationEnvironmentInfo", +"description": "Details about the Environment that the application is running in." +} +}, +"type": "object" +}, +"AccessSparkApplicationJobResponse": { +"description": "Details of a particular job associated with Spark Application", +"id": "AccessSparkApplicationJobResponse", +"properties": { +"jobData": { +"$ref": "JobData", +"description": "Output only. Data corresponding to a spark job.", +"readOnly": true +} +}, +"type": "object" +}, +"AccessSparkApplicationResponse": { +"description": "A summary of Spark Application", +"id": "AccessSparkApplicationResponse", +"properties": { +"application": { +"$ref": "ApplicationInfo", +"description": "Output only. High level information corresponding to an application.", +"readOnly": true +} +}, +"type": "object" +}, +"AccessSparkApplicationSqlQueryResponse": { +"description": "Details of a query for a Spark Application", +"id": "AccessSparkApplicationSqlQueryResponse", +"properties": { +"executionData": { +"$ref": "SqlExecutionUiData", +"description": "SQL Execution Data" +} +}, +"type": "object" +}, +"AccessSparkApplicationSqlSparkPlanGraphResponse": { +"description": "SparkPlanGraph for a Spark Application execution limited to maximum 10000 clusters.", +"id": "AccessSparkApplicationSqlSparkPlanGraphResponse", +"properties": { +"sparkPlanGraph": { +"$ref": "SparkPlanGraph", +"description": "SparkPlanGraph for a Spark Application execution." +} +}, +"type": "object" +}, +"AccessSparkApplicationStageAttemptResponse": { +"description": "Stage Attempt for a Stage of a Spark Application", +"id": "AccessSparkApplicationStageAttemptResponse", +"properties": { +"stageData": { +"$ref": "StageData", +"description": "Output only. Data corresponding to a stage.", +"readOnly": true +} +}, +"type": "object" +}, +"AccessSparkApplicationStageRddOperationGraphResponse": { +"description": "RDD operation graph for a Spark Application Stage limited to maximum 10000 clusters.", +"id": "AccessSparkApplicationStageRddOperationGraphResponse", +"properties": { +"rddOperationGraph": { +"$ref": "RddOperationGraph", +"description": "RDD operation graph for a Spark Application Stage." +} +}, +"type": "object" +}, +"AccumulableInfo": { +"id": "AccumulableInfo", +"properties": { +"accumullableInfoId": { +"format": "int64", +"type": "string" +}, +"name": { +"type": "string" +}, +"update": { +"type": "string" +}, +"value": { +"type": "string" +} +}, +"type": "object" +}, +"AnalyzeBatchRequest": { +"description": "A request to analyze a batch workload.", +"id": "AnalyzeBatchRequest", +"properties": { +"requestId": { +"description": "Optional. A unique ID used to identify the request. If the service receives two AnalyzeBatchRequest (http://cloud/dataproc/docs/reference/rpc/google.cloud.dataproc.v1#google.cloud.dataproc.v1.AnalyzeBatchRequest)s with the same request_id, the second request is ignored and the Operation that corresponds to the first request created and stored in the backend is returned.Recommendation: Set this value to a UUID (https://en.wikipedia.org/wiki/Universally_unique_identifier).The value must contain only letters (a-z, A-Z), numbers (0-9), underscores (_), and hyphens (-). The maximum length is 40 characters.", +"type": "string" +} +}, +"type": "object" +}, +"AnalyzeOperationMetadata": { +"description": "Metadata describing the Analyze operation.", +"id": "AnalyzeOperationMetadata", +"properties": { +"analyzedWorkloadName": { +"description": "Output only. name of the workload being analyzed.", +"readOnly": true, +"type": "string" +}, +"analyzedWorkloadType": { +"description": "Output only. Type of the workload being analyzed.", +"enum": [ +"WORKLOAD_TYPE_UNSPECIFIED", +"BATCH" +], +"enumDescriptions": [ +"Undefined option", +"Serverless batch job" +], +"readOnly": true, +"type": "string" +}, +"analyzedWorkloadUuid": { +"description": "Output only. unique identifier of the workload typically generated by control plane. E.g. batch uuid.", +"readOnly": true, +"type": "string" +}, +"createTime": { +"description": "Output only. The time when the operation was created.", +"format": "google-datetime", +"readOnly": true, +"type": "string" +}, +"description": { +"description": "Output only. Short description of the operation.", +"readOnly": true, +"type": "string" +}, +"doneTime": { +"description": "Output only. The time when the operation finished.", +"format": "google-datetime", +"readOnly": true, +"type": "string" +}, +"labels": { +"additionalProperties": { +"type": "string" +}, +"description": "Output only. Labels associated with the operation.", +"readOnly": true, +"type": "object" +}, +"warnings": { +"description": "Output only. Warnings encountered during operation execution.", +"items": { +"type": "string" +}, +"readOnly": true, +"type": "array" +} +}, +"type": "object" +}, +"AppSummary": { +"id": "AppSummary", +"properties": { +"numCompletedJobs": { +"format": "int32", +"type": "integer" +}, +"numCompletedStages": { +"format": "int32", +"type": "integer" +} +}, +"type": "object" +}, +"ApplicationAttemptInfo": { +"description": "Specific attempt of an application.", +"id": "ApplicationAttemptInfo", +"properties": { +"appSparkVersion": { +"type": "string" +}, +"attemptId": { +"type": "string" +}, +"completed": { +"type": "boolean" +}, +"durationMillis": { +"format": "int64", +"type": "string" +}, +"endTime": { +"format": "google-datetime", +"type": "string" +}, +"lastUpdated": { +"format": "google-datetime", +"type": "string" +}, +"sparkUser": { +"type": "string" +}, +"startTime": { +"format": "google-datetime", +"type": "string" +} +}, +"type": "object" +}, +"ApplicationEnvironmentInfo": { +"description": "Details about the Environment that the application is running in.", +"id": "ApplicationEnvironmentInfo", +"properties": { +"classpathEntries": { +"additionalProperties": { +"type": "string" +}, +"type": "object" +}, +"hadoopProperties": { +"additionalProperties": { +"type": "string" +}, +"type": "object" +}, +"metricsProperties": { +"additionalProperties": { +"type": "string" +}, +"type": "object" +}, +"resourceProfiles": { +"items": { +"$ref": "ResourceProfileInfo" +}, +"type": "array" +}, +"runtime": { +"$ref": "SparkRuntimeInfo" +}, +"sparkProperties": { +"additionalProperties": { +"type": "string" +}, +"type": "object" +}, +"systemProperties": { +"additionalProperties": { +"type": "string" +}, +"type": "object" +} +}, +"type": "object" +}, +"ApplicationInfo": { +"description": "High level information corresponding to an application.", +"id": "ApplicationInfo", +"properties": { +"applicationContextIngestionStatus": { +"enum": [ +"APPLICATION_CONTEXT_INGESTION_STATUS_UNSPECIFIED", +"APPLICATION_CONTEXT_INGESTION_STATUS_COMPLETED" +], +"enumDescriptions": [ +"", +"" +], +"type": "string" +}, +"applicationId": { +"type": "string" +}, +"attempts": { +"items": { +"$ref": "ApplicationAttemptInfo" +}, +"type": "array" +}, +"coresGranted": { +"format": "int32", +"type": "integer" +}, +"coresPerExecutor": { +"format": "int32", +"type": "integer" +}, +"maxCores": { +"format": "int32", +"type": "integer" +}, +"memoryPerExecutorMb": { +"format": "int32", +"type": "integer" +}, +"name": { +"type": "string" +}, +"quantileDataStatus": { +"enum": [ +"QUANTILE_DATA_STATUS_UNSPECIFIED", +"QUANTILE_DATA_STATUS_COMPLETED", +"QUANTILE_DATA_STATUS_FAILED" +], +"enumDescriptions": [ +"", +"", +"" +], +"type": "string" +} +}, +"type": "object" +}, +"AutoscalingConfig": { +"description": "Autoscaling Policy config associated with the cluster.", +"id": "AutoscalingConfig", +"properties": { +"policyUri": { +"description": "Optional. The autoscaling policy used by the cluster.Only resource names including projectid and location (region) are valid. Examples: https://www.googleapis.com/compute/v1/projects/[project_id]/locations/[dataproc_region]/autoscalingPolicies/[policy_id] projects/[project_id]/locations/[dataproc_region]/autoscalingPolicies/[policy_id]Note that the policy must be in the same project and Dataproc region.", +"type": "string" +} +}, +"type": "object" +}, +"AutoscalingPolicy": { +"description": "Describes an autoscaling policy for Dataproc cluster autoscaler.", +"id": "AutoscalingPolicy", +"properties": { +"basicAlgorithm": { +"$ref": "BasicAutoscalingAlgorithm" +}, +"id": { +"description": "Required. The policy id.The id must contain only letters (a-z, A-Z), numbers (0-9), underscores (_), and hyphens (-). Cannot begin or end with underscore or hyphen. Must consist of between 3 and 50 characters.", +"type": "string" +}, +"labels": { +"additionalProperties": { +"type": "string" +}, +"description": "Optional. The labels to associate with this autoscaling policy. Label keys must contain 1 to 63 characters, and must conform to RFC 1035 (https://www.ietf.org/rfc/rfc1035.txt). Label values may be empty, but, if present, must contain 1 to 63 characters, and must conform to RFC 1035 (https://www.ietf.org/rfc/rfc1035.txt). No more than 32 labels can be associated with an autoscaling policy.", +"type": "object" +}, +"name": { +"description": "Output only. The \"resource name\" of the autoscaling policy, as described in https://cloud.google.com/apis/design/resource_names. For projects.regions.autoscalingPolicies, the resource name of the policy has the following format: projects/{project_id}/regions/{region}/autoscalingPolicies/{policy_id} For projects.locations.autoscalingPolicies, the resource name of the policy has the following format: projects/{project_id}/locations/{location}/autoscalingPolicies/{policy_id}", +"readOnly": true, +"type": "string" +}, +"secondaryWorkerConfig": { +"$ref": "InstanceGroupAutoscalingPolicyConfig", +"description": "Optional. Describes how the autoscaler will operate for secondary workers." +}, +"workerConfig": { +"$ref": "InstanceGroupAutoscalingPolicyConfig", +"description": "Required. Describes how the autoscaler will operate for primary workers." +} +}, +"type": "object" +}, +"AutotuningConfig": { +"description": "Autotuning configuration of the workload.", +"id": "AutotuningConfig", +"properties": { +"scenarios": { +"description": "Optional. Scenarios for which tunings are applied.", +"items": { +"enum": [ +"SCENARIO_UNSPECIFIED", +"SCALING", +"BROADCAST_HASH_JOIN", +"MEMORY" +], +"enumDescriptions": [ +"Default value.", +"Scaling recommendations such as initialExecutors.", +"Adding hints for potential relation broadcasts.", +"Memory management for workloads." +], +"type": "string" +}, +"type": "array" +} +}, +"type": "object" +}, +"AuxiliaryNodeGroup": { +"description": "Node group identification and configuration information.", +"id": "AuxiliaryNodeGroup", +"properties": { +"nodeGroup": { +"$ref": "NodeGroup", +"description": "Required. Node group configuration." +}, +"nodeGroupId": { +"description": "Optional. A node group ID. Generated if not specified.The ID must contain only letters (a-z, A-Z), numbers (0-9), underscores (_), and hyphens (-). Cannot begin or end with underscore or hyphen. Must consist of from 3 to 33 characters.", +"type": "string" +} +}, +"type": "object" +}, +"AuxiliaryServicesConfig": { +"description": "Auxiliary services configuration for a Cluster.", +"id": "AuxiliaryServicesConfig", +"properties": { +"metastoreConfig": { +"$ref": "MetastoreConfig", +"description": "Optional. The Hive Metastore configuration for this workload." +}, +"sparkHistoryServerConfig": { +"$ref": "SparkHistoryServerConfig", +"description": "Optional. The Spark History Server configuration for the workload." +} +}, +"type": "object" +}, +"BasicAutoscalingAlgorithm": { +"description": "Basic algorithm for autoscaling.", +"id": "BasicAutoscalingAlgorithm", +"properties": { +"cooldownPeriod": { +"description": "Optional. Duration between scaling events. A scaling period starts after the update operation from the previous event has completed.Bounds: 2m, 1d. Default: 2m.", +"format": "google-duration", +"type": "string" +}, +"sparkStandaloneConfig": { +"$ref": "SparkStandaloneAutoscalingConfig", +"description": "Optional. Spark Standalone autoscaling configuration" +}, +"yarnConfig": { +"$ref": "BasicYarnAutoscalingConfig", +"description": "Optional. YARN autoscaling configuration." +} +}, +"type": "object" +}, +"BasicYarnAutoscalingConfig": { +"description": "Basic autoscaling configurations for YARN.", +"id": "BasicYarnAutoscalingConfig", +"properties": { +"gracefulDecommissionTimeout": { +"description": "Required. Timeout for YARN graceful decommissioning of Node Managers. Specifies the duration to wait for jobs to complete before forcefully removing workers (and potentially interrupting jobs). Only applicable to downscaling operations.Bounds: 0s, 1d.", +"format": "google-duration", +"type": "string" +}, +"scaleDownFactor": { +"description": "Required. Fraction of average YARN pending memory in the last cooldown period for which to remove workers. A scale-down factor of 1 will result in scaling down so that there is no available memory remaining after the update (more aggressive scaling). A scale-down factor of 0 disables removing workers, which can be beneficial for autoscaling a single job. See How autoscaling works (https://cloud.google.com/dataproc/docs/concepts/configuring-clusters/autoscaling#how_autoscaling_works) for more information.Bounds: 0.0, 1.0.", +"format": "double", +"type": "number" +}, +"scaleDownMinWorkerFraction": { +"description": "Optional. Minimum scale-down threshold as a fraction of total cluster size before scaling occurs. For example, in a 20-worker cluster, a threshold of 0.1 means the autoscaler must recommend at least a 2 worker scale-down for the cluster to scale. A threshold of 0 means the autoscaler will scale down on any recommended change.Bounds: 0.0, 1.0. Default: 0.0.", +"format": "double", +"type": "number" +}, +"scaleUpFactor": { +"description": "Required. Fraction of average YARN pending memory in the last cooldown period for which to add workers. A scale-up factor of 1.0 will result in scaling up so that there is no pending memory remaining after the update (more aggressive scaling). A scale-up factor closer to 0 will result in a smaller magnitude of scaling up (less aggressive scaling). See How autoscaling works (https://cloud.google.com/dataproc/docs/concepts/configuring-clusters/autoscaling#how_autoscaling_works) for more information.Bounds: 0.0, 1.0.", +"format": "double", +"type": "number" +}, +"scaleUpMinWorkerFraction": { +"description": "Optional. Minimum scale-up threshold as a fraction of total cluster size before scaling occurs. For example, in a 20-worker cluster, a threshold of 0.1 means the autoscaler must recommend at least a 2-worker scale-up for the cluster to scale. A threshold of 0 means the autoscaler will scale up on any recommended change.Bounds: 0.0, 1.0. Default: 0.0.", +"format": "double", +"type": "number" +} +}, +"type": "object" +}, +"Batch": { +"description": "A representation of a batch workload in the service.", +"id": "Batch", +"properties": { +"createTime": { +"description": "Output only. The time when the batch was created.", +"format": "google-datetime", +"readOnly": true, +"type": "string" +}, +"creator": { +"description": "Output only. The email address of the user who created the batch.", +"readOnly": true, +"type": "string" +}, +"environmentConfig": { +"$ref": "EnvironmentConfig", +"description": "Optional. Environment configuration for the batch execution." +}, +"labels": { +"additionalProperties": { +"type": "string" +}, +"description": "Optional. The labels to associate with this batch. Label keys must contain 1 to 63 characters, and must conform to RFC 1035 (https://www.ietf.org/rfc/rfc1035.txt). Label values may be empty, but, if present, must contain 1 to 63 characters, and must conform to RFC 1035 (https://www.ietf.org/rfc/rfc1035.txt). No more than 32 labels can be associated with a batch.", +"type": "object" +}, +"name": { +"description": "Output only. The resource name of the batch.", +"readOnly": true, +"type": "string" +}, +"operation": { +"description": "Output only. The resource name of the operation associated with this batch.", +"readOnly": true, +"type": "string" +}, +"pysparkBatch": { +"$ref": "PySparkBatch", +"description": "Optional. PySpark batch config." +}, +"runtimeConfig": { +"$ref": "RuntimeConfig", +"description": "Optional. Runtime configuration for the batch execution." +}, +"runtimeInfo": { +"$ref": "RuntimeInfo", +"description": "Output only. Runtime information about batch execution.", +"readOnly": true +}, +"sparkBatch": { +"$ref": "SparkBatch", +"description": "Optional. Spark batch config." +}, +"sparkRBatch": { +"$ref": "SparkRBatch", +"description": "Optional. SparkR batch config." +}, +"sparkSqlBatch": { +"$ref": "SparkSqlBatch", +"description": "Optional. SparkSql batch config." +}, +"state": { +"description": "Output only. The state of the batch.", +"enum": [ +"STATE_UNSPECIFIED", +"PENDING", +"RUNNING", +"CANCELLING", +"CANCELLED", +"SUCCEEDED", +"FAILED" +], +"enumDescriptions": [ +"The batch state is unknown.", +"The batch is created before running.", +"The batch is running.", +"The batch is cancelling.", +"The batch cancellation was successful.", +"The batch completed successfully.", +"The batch is no longer running due to an error." +], +"readOnly": true, +"type": "string" +}, +"stateHistory": { +"description": "Output only. Historical state information for the batch.", +"items": { +"$ref": "StateHistory" +}, +"readOnly": true, +"type": "array" +}, +"stateMessage": { +"description": "Output only. Batch state details, such as a failure description if the state is FAILED.", +"readOnly": true, +"type": "string" +}, +"stateTime": { +"description": "Output only. The time when the batch entered a current state.", +"format": "google-datetime", +"readOnly": true, +"type": "string" +}, +"uuid": { +"description": "Output only. A batch UUID (Unique Universal Identifier). The service generates this value when it creates the batch.", +"readOnly": true, +"type": "string" +} +}, +"type": "object" +}, +"BatchOperationMetadata": { +"description": "Metadata describing the Batch operation.", +"id": "BatchOperationMetadata", +"properties": { +"batch": { +"description": "Name of the batch for the operation.", +"type": "string" +}, +"batchUuid": { +"description": "Batch UUID for the operation.", +"type": "string" +}, +"createTime": { +"description": "The time when the operation was created.", +"format": "google-datetime", +"type": "string" +}, +"description": { +"description": "Short description of the operation.", +"type": "string" +}, +"doneTime": { +"description": "The time when the operation finished.", +"format": "google-datetime", +"type": "string" +}, +"labels": { +"additionalProperties": { +"type": "string" +}, +"description": "Labels associated with the operation.", +"type": "object" +}, +"operationType": { +"description": "The operation type.", +"enum": [ +"BATCH_OPERATION_TYPE_UNSPECIFIED", +"BATCH" +], +"enumDescriptions": [ +"Batch operation type is unknown.", +"Batch operation type." +], +"type": "string" +}, +"warnings": { +"description": "Warnings encountered during operation execution.", +"items": { +"type": "string" +}, +"type": "array" +} +}, +"type": "object" +}, +"Binding": { +"description": "Associates members, or principals, with a role.", +"id": "Binding", +"properties": { +"condition": { +"$ref": "Expr", +"description": "The condition that is associated with this binding.If the condition evaluates to true, then this binding applies to the current request.If the condition evaluates to false, then this binding does not apply to the current request. However, a different role binding might grant the same role to one or more of the principals in this binding.To learn which resources support conditions in their IAM policies, see the IAM documentation (https://cloud.google.com/iam/help/conditions/resource-policies)." +}, +"members": { +"description": "Specifies the principals requesting access for a Google Cloud resource. members can have the following values: allUsers: A special identifier that represents anyone who is on the internet; with or without a Google account. allAuthenticatedUsers: A special identifier that represents anyone who is authenticated with a Google account or a service account. Does not include identities that come from external identity providers (IdPs) through identity federation. user:{emailid}: An email address that represents a specific Google account. For example, alice@example.com . serviceAccount:{emailid}: An email address that represents a Google service account. For example, my-other-app@appspot.gserviceaccount.com. serviceAccount:{projectid}.svc.id.goog[{namespace}/{kubernetes-sa}]: An identifier for a Kubernetes service account (https://cloud.google.com/kubernetes-engine/docs/how-to/kubernetes-service-accounts). For example, my-project.svc.id.goog[my-namespace/my-kubernetes-sa]. group:{emailid}: An email address that represents a Google group. For example, admins@example.com. domain:{domain}: The G Suite domain (primary) that represents all the users of that domain. For example, google.com or example.com. principal://iam.googleapis.com/locations/global/workforcePools/{pool_id}/subject/{subject_attribute_value}: A single identity in a workforce identity pool. principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/group/{group_id}: All workforce identities in a group. principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/attribute.{attribute_name}/{attribute_value}: All workforce identities with a specific attribute value. principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/*: All identities in a workforce identity pool. principal://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/subject/{subject_attribute_value}: A single identity in a workload identity pool. principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/group/{group_id}: A workload identity pool group. principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/attribute.{attribute_name}/{attribute_value}: All identities in a workload identity pool with a certain attribute. principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/*: All identities in a workload identity pool. deleted:user:{emailid}?uid={uniqueid}: An email address (plus unique identifier) representing a user that has been recently deleted. For example, alice@example.com?uid=123456789012345678901. If the user is recovered, this value reverts to user:{emailid} and the recovered user retains the role in the binding. deleted:serviceAccount:{emailid}?uid={uniqueid}: An email address (plus unique identifier) representing a service account that has been recently deleted. For example, my-other-app@appspot.gserviceaccount.com?uid=123456789012345678901. If the service account is undeleted, this value reverts to serviceAccount:{emailid} and the undeleted service account retains the role in the binding. deleted:group:{emailid}?uid={uniqueid}: An email address (plus unique identifier) representing a Google group that has been recently deleted. For example, admins@example.com?uid=123456789012345678901. If the group is recovered, this value reverts to group:{emailid} and the recovered group retains the role in the binding. deleted:principal://iam.googleapis.com/locations/global/workforcePools/{pool_id}/subject/{subject_attribute_value}: Deleted single identity in a workforce identity pool. For example, deleted:principal://iam.googleapis.com/locations/global/workforcePools/my-pool-id/subject/my-subject-attribute-value.", +"items": { +"type": "string" +}, +"type": "array" +}, +"role": { +"description": "Role that is assigned to the list of members, or principals. For example, roles/viewer, roles/editor, or roles/owner.For an overview of the IAM roles and permissions, see the IAM documentation (https://cloud.google.com/iam/docs/roles-overview). For a list of the available pre-defined roles, see here (https://cloud.google.com/iam/docs/understanding-roles).", +"type": "string" +} +}, +"type": "object" +}, +"CancelJobRequest": { +"description": "A request to cancel a job.", +"id": "CancelJobRequest", +"properties": {}, +"type": "object" +}, +"Cluster": { +"description": "Describes the identifying information, config, and status of a Dataproc cluster", +"id": "Cluster", +"properties": { +"clusterName": { +"description": "Required. The cluster name, which must be unique within a project. The name must start with a lowercase letter, and can contain up to 51 lowercase letters, numbers, and hyphens. It cannot end with a hyphen. The name of a deleted cluster can be reused.", +"type": "string" +}, +"clusterUuid": { +"description": "Output only. A cluster UUID (Unique Universal Identifier). Dataproc generates this value when it creates the cluster.", +"readOnly": true, +"type": "string" +}, +"config": { +"$ref": "ClusterConfig", +"description": "Optional. The cluster config for a cluster of Compute Engine Instances. Note that Dataproc may set default values, and values may change when clusters are updated.Exactly one of ClusterConfig or VirtualClusterConfig must be specified." +}, +"labels": { +"additionalProperties": { +"type": "string" +}, +"description": "Optional. The labels to associate with this cluster. Label keys must contain 1 to 63 characters, and must conform to RFC 1035 (https://www.ietf.org/rfc/rfc1035.txt). Label values may be empty, but, if present, must contain 1 to 63 characters, and must conform to RFC 1035 (https://www.ietf.org/rfc/rfc1035.txt). No more than 32 labels can be associated with a cluster.", +"type": "object" +}, +"metrics": { +"$ref": "ClusterMetrics", +"description": "Output only. Contains cluster daemon metrics such as HDFS and YARN stats.Beta Feature: This report is available for testing purposes only. It may be changed before final release.", +"readOnly": true +}, +"projectId": { +"description": "Required. The Google Cloud Platform project ID that the cluster belongs to.", +"type": "string" +}, +"status": { +"$ref": "ClusterStatus", +"description": "Output only. Cluster status.", +"readOnly": true +}, +"statusHistory": { +"description": "Output only. The previous cluster status.", +"items": { +"$ref": "ClusterStatus" +}, +"readOnly": true, +"type": "array" +}, +"virtualClusterConfig": { +"$ref": "VirtualClusterConfig", +"description": "Optional. The virtual cluster config is used when creating a Dataproc cluster that does not directly control the underlying compute resources, for example, when creating a Dataproc-on-GKE cluster (https://cloud.google.com/dataproc/docs/guides/dpgke/dataproc-gke-overview). Dataproc may set default values, and values may change when clusters are updated. Exactly one of config or virtual_cluster_config must be specified." +} +}, +"type": "object" +}, +"ClusterConfig": { +"description": "The cluster config.", +"id": "ClusterConfig", +"properties": { +"autoscalingConfig": { +"$ref": "AutoscalingConfig", +"description": "Optional. Autoscaling config for the policy associated with the cluster. Cluster does not autoscale if this field is unset." +}, +"auxiliaryNodeGroups": { +"description": "Optional. The node group settings.", +"items": { +"$ref": "AuxiliaryNodeGroup" +}, +"type": "array" +}, +"configBucket": { +"description": "Optional. A Cloud Storage bucket used to stage job dependencies, config files, and job driver console output. If you do not specify a staging bucket, Cloud Dataproc will determine a Cloud Storage location (US, ASIA, or EU) for your cluster's staging bucket according to the Compute Engine zone where your cluster is deployed, and then create and manage this project-level, per-location bucket (see Dataproc staging and temp buckets (https://cloud.google.com/dataproc/docs/concepts/configuring-clusters/staging-bucket)). This field requires a Cloud Storage bucket name, not a gs://... URI to a Cloud Storage bucket.", +"type": "string" +}, +"dataprocMetricConfig": { +"$ref": "DataprocMetricConfig", +"description": "Optional. The config for Dataproc metrics." +}, +"encryptionConfig": { +"$ref": "EncryptionConfig", +"description": "Optional. Encryption settings for the cluster." +}, +"endpointConfig": { +"$ref": "EndpointConfig", +"description": "Optional. Port/endpoint configuration for this cluster" +}, +"gceClusterConfig": { +"$ref": "GceClusterConfig", +"description": "Optional. The shared Compute Engine config settings for all instances in a cluster." +}, +"gkeClusterConfig": { +"$ref": "GkeClusterConfig", +"deprecated": true, +"description": "Optional. BETA. The Kubernetes Engine config for Dataproc clusters deployed to The Kubernetes Engine config for Dataproc clusters deployed to Kubernetes. These config settings are mutually exclusive with Compute Engine-based options, such as gce_cluster_config, master_config, worker_config, secondary_worker_config, and autoscaling_config." +}, +"initializationActions": { +"description": "Optional. Commands to execute on each node after config is completed. By default, executables are run on master and all worker nodes. You can test a node's role metadata to run an executable on a master or worker node, as shown below using curl (you can also use wget): ROLE=$(curl -H Metadata-Flavor:Google http://metadata/computeMetadata/v1/instance/attributes/dataproc-role) if [[ \"${ROLE}\" == 'Master' ]]; then ... master specific actions ... else ... worker specific actions ... fi ", +"items": { +"$ref": "NodeInitializationAction" +}, +"type": "array" +}, +"lifecycleConfig": { +"$ref": "LifecycleConfig", +"description": "Optional. Lifecycle setting for the cluster." +}, +"masterConfig": { +"$ref": "InstanceGroupConfig", +"description": "Optional. The Compute Engine config settings for the cluster's master instance." +}, +"metastoreConfig": { +"$ref": "MetastoreConfig", +"description": "Optional. Metastore configuration." +}, +"secondaryWorkerConfig": { +"$ref": "InstanceGroupConfig", +"description": "Optional. The Compute Engine config settings for a cluster's secondary worker instances" +}, +"securityConfig": { +"$ref": "SecurityConfig", +"description": "Optional. Security settings for the cluster." +}, +"softwareConfig": { +"$ref": "SoftwareConfig", +"description": "Optional. The config settings for cluster software." +}, +"tempBucket": { +"description": "Optional. A Cloud Storage bucket used to store ephemeral cluster and jobs data, such as Spark and MapReduce history files. If you do not specify a temp bucket, Dataproc will determine a Cloud Storage location (US, ASIA, or EU) for your cluster's temp bucket according to the Compute Engine zone where your cluster is deployed, and then create and manage this project-level, per-location bucket. The default bucket has a TTL of 90 days, but you can use any TTL (or none) if you specify a bucket (see Dataproc staging and temp buckets (https://cloud.google.com/dataproc/docs/concepts/configuring-clusters/staging-bucket)). This field requires a Cloud Storage bucket name, not a gs://... URI to a Cloud Storage bucket.", +"type": "string" +}, +"workerConfig": { +"$ref": "InstanceGroupConfig", +"description": "Optional. The Compute Engine config settings for the cluster's worker instances." +} +}, +"type": "object" +}, +"ClusterMetrics": { +"description": "Contains cluster daemon metrics, such as HDFS and YARN stats.Beta Feature: This report is available for testing purposes only. It may be changed before final release.", +"id": "ClusterMetrics", +"properties": { +"hdfsMetrics": { +"additionalProperties": { +"format": "int64", +"type": "string" +}, +"description": "The HDFS metrics.", +"type": "object" +}, +"yarnMetrics": { +"additionalProperties": { +"format": "int64", +"type": "string" +}, +"description": "YARN metrics.", +"type": "object" +} +}, +"type": "object" +}, +"ClusterOperation": { +"description": "The cluster operation triggered by a workflow.", +"id": "ClusterOperation", +"properties": { +"done": { +"description": "Output only. Indicates the operation is done.", +"readOnly": true, +"type": "boolean" +}, +"error": { +"description": "Output only. Error, if operation failed.", +"readOnly": true, +"type": "string" +}, +"operationId": { +"description": "Output only. The id of the cluster operation.", +"readOnly": true, +"type": "string" +} +}, +"type": "object" +}, +"ClusterOperationMetadata": { +"description": "Metadata describing the operation.", +"id": "ClusterOperationMetadata", +"properties": { +"childOperationIds": { +"description": "Output only. Child operation ids", +"items": { +"type": "string" +}, +"readOnly": true, +"type": "array" +}, +"clusterName": { +"description": "Output only. Name of the cluster for the operation.", +"readOnly": true, +"type": "string" +}, +"clusterUuid": { +"description": "Output only. Cluster UUID for the operation.", +"readOnly": true, +"type": "string" +}, +"description": { +"description": "Output only. Short description of operation.", +"readOnly": true, +"type": "string" +}, +"labels": { +"additionalProperties": { +"type": "string" +}, +"description": "Output only. Labels associated with the operation", +"readOnly": true, +"type": "object" +}, +"operationType": { +"description": "Output only. The operation type.", +"readOnly": true, +"type": "string" +}, +"status": { +"$ref": "ClusterOperationStatus", +"description": "Output only. Current operation status.", +"readOnly": true +}, +"statusHistory": { +"description": "Output only. The previous operation status.", +"items": { +"$ref": "ClusterOperationStatus" +}, +"readOnly": true, +"type": "array" +}, +"warnings": { +"description": "Output only. Errors encountered during operation execution.", +"items": { +"type": "string" +}, +"readOnly": true, +"type": "array" +} +}, +"type": "object" +}, +"ClusterOperationStatus": { +"description": "The status of the operation.", +"id": "ClusterOperationStatus", +"properties": { +"details": { +"description": "Output only. A message containing any operation metadata details.", +"readOnly": true, +"type": "string" +}, +"innerState": { +"description": "Output only. A message containing the detailed operation state.", +"readOnly": true, +"type": "string" +}, +"state": { +"description": "Output only. A message containing the operation state.", +"enum": [ +"UNKNOWN", +"PENDING", +"RUNNING", +"DONE" +], +"enumDescriptions": [ +"Unused.", +"The operation has been created.", +"The operation is running.", +"The operation is done; either cancelled or completed." +], +"readOnly": true, +"type": "string" +}, +"stateStartTime": { +"description": "Output only. The time this state was entered.", +"format": "google-datetime", +"readOnly": true, +"type": "string" +} +}, +"type": "object" +}, +"ClusterSelector": { +"description": "A selector that chooses target cluster for jobs based on metadata.", +"id": "ClusterSelector", +"properties": { +"clusterLabels": { +"additionalProperties": { +"type": "string" +}, +"description": "Required. The cluster labels. Cluster must have all labels to match.", +"type": "object" +}, +"zone": { +"description": "Optional. The zone where workflow process executes. This parameter does not affect the selection of the cluster.If unspecified, the zone of the first cluster matching the selector is used.", +"type": "string" +} +}, +"type": "object" +}, +"ClusterStatus": { +"description": "The status of a cluster and its instances.", +"id": "ClusterStatus", +"properties": { +"detail": { +"description": "Optional. Output only. Details of cluster's state.", +"readOnly": true, +"type": "string" +}, +"state": { +"description": "Output only. The cluster's state.", +"enum": [ +"UNKNOWN", +"CREATING", +"RUNNING", +"ERROR", +"ERROR_DUE_TO_UPDATE", +"DELETING", +"UPDATING", +"STOPPING", +"STOPPED", +"STARTING", +"REPAIRING", +"SCHEDULED" +], +"enumDescriptions": [ +"The cluster state is unknown.", +"The cluster is being created and set up. It is not ready for use.", +"The cluster is currently running and healthy. It is ready for use.Note: The cluster state changes from \"creating\" to \"running\" status after the master node(s), first two primary worker nodes (and the last primary worker node if primary workers > 2) are running.", +"The cluster encountered an error. It is not ready for use.", +"The cluster has encountered an error while being updated. Jobs can be submitted to the cluster, but the cluster cannot be updated.", +"The cluster is being deleted. It cannot be used.", +"The cluster is being updated. It continues to accept and process jobs.", +"The cluster is being stopped. It cannot be used.", +"The cluster is currently stopped. It is not ready for use.", +"The cluster is being started. It is not ready for use.", +"The cluster is being repaired. It is not ready for use.", +"Cluster creation is currently waiting for resources to be available. Once all resources are available, it will transition to CREATING and then RUNNING." +], +"readOnly": true, +"type": "string" +}, +"stateStartTime": { +"description": "Output only. Time when this state was entered (see JSON representation of Timestamp (https://developers.google.com/protocol-buffers/docs/proto3#json)).", +"format": "google-datetime", +"readOnly": true, +"type": "string" +}, +"substate": { +"description": "Output only. Additional state information that includes status reported by the agent.", +"enum": [ +"UNSPECIFIED", +"UNHEALTHY", +"STALE_STATUS" +], +"enumDescriptions": [ +"The cluster substate is unknown.", +"The cluster is known to be in an unhealthy state (for example, critical daemons are not running or HDFS capacity is exhausted).Applies to RUNNING state.", +"The agent-reported status is out of date (may occur if Dataproc loses communication with Agent).Applies to RUNNING state." +], +"readOnly": true, +"type": "string" +} +}, +"type": "object" +}, +"ClusterToRepair": { +"description": "Cluster to be repaired", +"id": "ClusterToRepair", +"properties": { +"clusterRepairAction": { +"description": "Required. Repair action to take on the cluster resource.", +"enum": [ +"CLUSTER_REPAIR_ACTION_UNSPECIFIED", +"REPAIR_ERROR_DUE_TO_UPDATE_CLUSTER" +], +"enumDescriptions": [ +"No action will be taken by default.", +"Repair cluster in ERROR_DUE_TO_UPDATE states." +], +"type": "string" +} +}, +"type": "object" +}, +"ConfidentialInstanceConfig": { +"description": "Confidential Instance Config for clusters using Confidential VMs (https://cloud.google.com/compute/confidential-vm/docs)", +"id": "ConfidentialInstanceConfig", +"properties": { +"enableConfidentialCompute": { +"description": "Optional. Defines whether the instance should have confidential compute enabled.", +"type": "boolean" +} +}, +"type": "object" +}, +"ConsolidatedExecutorSummary": { +"description": "Consolidated summary about executors used by the application.", +"id": "ConsolidatedExecutorSummary", +"properties": { +"activeTasks": { +"format": "int32", +"type": "integer" +}, +"completedTasks": { +"format": "int32", +"type": "integer" +}, +"count": { +"format": "int32", +"type": "integer" +}, +"diskUsed": { +"format": "int64", +"type": "string" +}, +"failedTasks": { +"format": "int32", +"type": "integer" +}, +"isExcluded": { +"format": "int32", +"type": "integer" +}, +"maxMemory": { +"format": "int64", +"type": "string" +}, +"memoryMetrics": { +"$ref": "MemoryMetrics" +}, +"memoryUsed": { +"format": "int64", +"type": "string" +}, +"rddBlocks": { +"format": "int32", +"type": "integer" +}, +"totalCores": { +"format": "int32", +"type": "integer" +}, +"totalDurationMillis": { +"format": "int64", +"type": "string" +}, +"totalGcTimeMillis": { +"format": "int64", +"type": "string" +}, +"totalInputBytes": { +"format": "int64", +"type": "string" +}, +"totalShuffleRead": { +"format": "int64", +"type": "string" +}, +"totalShuffleWrite": { +"format": "int64", +"type": "string" +}, +"totalTasks": { +"format": "int32", +"type": "integer" +} +}, +"type": "object" +}, +"DataprocMetricConfig": { +"description": "Dataproc metric config.", +"id": "DataprocMetricConfig", +"properties": { +"metrics": { +"description": "Required. Metrics sources to enable.", +"items": { +"$ref": "Metric" +}, +"type": "array" +} +}, +"type": "object" +}, +"DiagnoseClusterRequest": { +"description": "A request to collect cluster diagnostic information.", +"id": "DiagnoseClusterRequest", +"properties": { +"diagnosisInterval": { +"$ref": "Interval", +"description": "Optional. Time interval in which diagnosis should be carried out on the cluster." +}, +"job": { +"deprecated": true, +"description": "Optional. DEPRECATED Specifies the job on which diagnosis is to be performed. Format: projects/{project}/regions/{region}/jobs/{job}", +"type": "string" +}, +"jobs": { +"description": "Optional. Specifies a list of jobs on which diagnosis is to be performed. Format: projects/{project}/regions/{region}/jobs/{job}", +"items": { +"type": "string" +}, +"type": "array" +}, +"tarballAccess": { +"description": "Optional. (Optional) The access type to the diagnostic tarball. If not specified, falls back to default access of the bucket", +"enum": [ +"TARBALL_ACCESS_UNSPECIFIED", +"GOOGLE_CLOUD_SUPPORT", +"GOOGLE_DATAPROC_DIAGNOSE" +], +"enumDescriptions": [ +"Tarball Access unspecified. Falls back to default access of the bucket", +"Google Cloud Support group has read access to the diagnostic tarball", +"Google Cloud Dataproc Diagnose service account has read access to the diagnostic tarball" +], +"type": "string" +}, +"tarballGcsDir": { +"description": "Optional. (Optional) The output Cloud Storage directory for the diagnostic tarball. If not specified, a task-specific directory in the cluster's staging bucket will be used.", +"type": "string" +}, +"yarnApplicationId": { +"deprecated": true, +"description": "Optional. DEPRECATED Specifies the yarn application on which diagnosis is to be performed.", +"type": "string" +}, +"yarnApplicationIds": { +"description": "Optional. Specifies a list of yarn applications on which diagnosis is to be performed.", +"items": { +"type": "string" +}, +"type": "array" +} +}, +"type": "object" +}, +"DiagnoseClusterResults": { +"description": "The location of diagnostic output.", +"id": "DiagnoseClusterResults", +"properties": { +"outputUri": { +"description": "Output only. The Cloud Storage URI of the diagnostic output. The output report is a plain text file with a summary of collected diagnostics.", +"readOnly": true, +"type": "string" +} +}, +"type": "object" +}, +"DiskConfig": { +"description": "Specifies the config of disk options for a group of VM instances.", +"id": "DiskConfig", +"properties": { +"bootDiskProvisionedIops": { +"description": "Optional. Indicates how many IOPS to provision for the disk. This sets the number of I/O operations per second that the disk can handle. This field is supported only if boot_disk_type is hyperdisk-balanced.", +"format": "int64", +"type": "string" +}, +"bootDiskProvisionedThroughput": { +"description": "Optional. Indicates how much throughput to provision for the disk. This sets the number of throughput mb per second that the disk can handle. Values must be greater than or equal to 1. This field is supported only if boot_disk_type is hyperdisk-balanced.", +"format": "int64", +"type": "string" +}, +"bootDiskSizeGb": { +"description": "Optional. Size in GB of the boot disk (default is 500GB).", +"format": "int32", +"type": "integer" +}, +"bootDiskType": { +"description": "Optional. Type of the boot disk (default is \"pd-standard\"). Valid values: \"pd-balanced\" (Persistent Disk Balanced Solid State Drive), \"pd-ssd\" (Persistent Disk Solid State Drive), or \"pd-standard\" (Persistent Disk Hard Disk Drive). See Disk types (https://cloud.google.com/compute/docs/disks#disk-types).", +"type": "string" +}, +"localSsdInterface": { +"description": "Optional. Interface type of local SSDs (default is \"scsi\"). Valid values: \"scsi\" (Small Computer System Interface), \"nvme\" (Non-Volatile Memory Express). See local SSD performance (https://cloud.google.com/compute/docs/disks/local-ssd#performance).", +"type": "string" +}, +"numLocalSsds": { +"description": "Optional. Number of attached SSDs, from 0 to 8 (default is 0). If SSDs are not attached, the boot disk is used to store runtime logs and HDFS (https://hadoop.apache.org/docs/r1.2.1/hdfs_user_guide.html) data. If one or more SSDs are attached, this runtime bulk data is spread across them, and the boot disk contains only basic config and installed binaries.Note: Local SSD options may vary by machine type and number of vCPUs selected.", +"format": "int32", +"type": "integer" +} +}, +"type": "object" +}, +"DriverSchedulingConfig": { +"description": "Driver scheduling configuration.", +"id": "DriverSchedulingConfig", +"properties": { +"memoryMb": { +"description": "Required. The amount of memory in MB the driver is requesting.", +"format": "int32", +"type": "integer" +}, +"vcores": { +"description": "Required. The number of vCPUs the driver is requesting.", +"format": "int32", +"type": "integer" +} +}, +"type": "object" +}, +"Empty": { +"description": "A generic empty message that you can re-use to avoid defining duplicated empty messages in your APIs. A typical example is to use it as the request or the response type of an API method. For instance: service Foo { rpc Bar(google.protobuf.Empty) returns (google.protobuf.Empty); } ", +"id": "Empty", +"properties": {}, +"type": "object" +}, +"EncryptionConfig": { +"description": "Encryption settings for the cluster.", +"id": "EncryptionConfig", +"properties": { +"gcePdKmsKeyName": { +"description": "Optional. The Cloud KMS key resource name to use for persistent disk encryption for all instances in the cluster. See Use CMEK with cluster data (https://cloud.google.com//dataproc/docs/concepts/configuring-clusters/customer-managed-encryption#use_cmek_with_cluster_data) for more information.", +"type": "string" +}, +"kmsKey": { +"description": "Optional. The Cloud KMS key resource name to use for cluster persistent disk and job argument encryption. See Use CMEK with cluster data (https://cloud.google.com//dataproc/docs/concepts/configuring-clusters/customer-managed-encryption#use_cmek_with_cluster_data) for more information.When this key resource name is provided, the following job arguments of the following job types submitted to the cluster are encrypted using CMEK: FlinkJob args (https://cloud.google.com/dataproc/docs/reference/rest/v1/FlinkJob) HadoopJob args (https://cloud.google.com/dataproc/docs/reference/rest/v1/HadoopJob) SparkJob args (https://cloud.google.com/dataproc/docs/reference/rest/v1/SparkJob) SparkRJob args (https://cloud.google.com/dataproc/docs/reference/rest/v1/SparkRJob) PySparkJob args (https://cloud.google.com/dataproc/docs/reference/rest/v1/PySparkJob) SparkSqlJob (https://cloud.google.com/dataproc/docs/reference/rest/v1/SparkSqlJob) scriptVariables and queryList.queries HiveJob (https://cloud.google.com/dataproc/docs/reference/rest/v1/HiveJob) scriptVariables and queryList.queries PigJob (https://cloud.google.com/dataproc/docs/reference/rest/v1/PigJob) scriptVariables and queryList.queries PrestoJob (https://cloud.google.com/dataproc/docs/reference/rest/v1/PrestoJob) scriptVariables and queryList.queries", +"type": "string" +} +}, +"type": "object" +}, +"EndpointConfig": { +"description": "Endpoint config for this cluster", +"id": "EndpointConfig", +"properties": { +"enableHttpPortAccess": { +"description": "Optional. If true, enable http access to specific ports on the cluster from external sources. Defaults to false.", +"type": "boolean" +}, +"httpPorts": { +"additionalProperties": { +"type": "string" +}, +"description": "Output only. The map of port descriptions to URLs. Will only be populated if enable_http_port_access is true.", +"readOnly": true, +"type": "object" +} +}, +"type": "object" +}, +"EnvironmentConfig": { +"description": "Environment configuration for a workload.", +"id": "EnvironmentConfig", +"properties": { +"executionConfig": { +"$ref": "ExecutionConfig", +"description": "Optional. Execution configuration for a workload." +}, +"peripheralsConfig": { +"$ref": "PeripheralsConfig", +"description": "Optional. Peripherals configuration that workload has access to." +} +}, +"type": "object" +}, +"ExecutionConfig": { +"description": "Execution configuration for a workload.", +"id": "ExecutionConfig", +"properties": { +"idleTtl": { +"description": "Optional. Applies to sessions only. The duration to keep the session alive while it's idling. Exceeding this threshold causes the session to terminate. This field cannot be set on a batch workload. Minimum value is 10 minutes; maximum value is 14 days (see JSON representation of Duration (https://developers.google.com/protocol-buffers/docs/proto3#json)). Defaults to 1 hour if not set. If both ttl and idle_ttl are specified for an interactive session, the conditions are treated as OR conditions: the workload will be terminated when it has been idle for idle_ttl or when ttl has been exceeded, whichever occurs first.", +"format": "google-duration", +"type": "string" +}, +"kmsKey": { +"description": "Optional. The Cloud KMS key to use for encryption.", +"type": "string" +}, +"networkTags": { +"description": "Optional. Tags used for network traffic control.", +"items": { +"type": "string" +}, +"type": "array" +}, +"networkUri": { +"description": "Optional. Network URI to connect workload to.", +"type": "string" +}, +"serviceAccount": { +"description": "Optional. Service account that used to execute workload.", +"type": "string" +}, +"stagingBucket": { +"description": "Optional. A Cloud Storage bucket used to stage workload dependencies, config files, and store workload output and other ephemeral data, such as Spark history files. If you do not specify a staging bucket, Cloud Dataproc will determine a Cloud Storage location according to the region where your workload is running, and then create and manage project-level, per-location staging and temporary buckets. This field requires a Cloud Storage bucket name, not a gs://... URI to a Cloud Storage bucket.", +"type": "string" +}, +"subnetworkUri": { +"description": "Optional. Subnetwork URI to connect workload to.", +"type": "string" +}, +"ttl": { +"description": "Optional. The duration after which the workload will be terminated, specified as the JSON representation for Duration (https://protobuf.dev/programming-guides/proto3/#json). When the workload exceeds this duration, it will be unconditionally terminated without waiting for ongoing work to finish. If ttl is not specified for a batch workload, the workload will be allowed to run until it exits naturally (or run forever without exiting). If ttl is not specified for an interactive session, it defaults to 24 hours. If ttl is not specified for a batch that uses 2.1+ runtime version, it defaults to 4 hours. Minimum value is 10 minutes; maximum value is 14 days. If both ttl and idle_ttl are specified (for an interactive session), the conditions are treated as OR conditions: the workload will be terminated when it has been idle for idle_ttl or when ttl has been exceeded, whichever occurs first.", +"format": "google-duration", +"type": "string" +} +}, +"type": "object" +}, +"ExecutorMetrics": { +"id": "ExecutorMetrics", +"properties": { +"metrics": { +"additionalProperties": { +"format": "int64", +"type": "string" +}, +"type": "object" +} +}, +"type": "object" +}, +"ExecutorMetricsDistributions": { +"id": "ExecutorMetricsDistributions", +"properties": { +"diskBytesSpilled": { +"items": { +"format": "double", +"type": "number" +}, +"type": "array" +}, +"failedTasks": { +"items": { +"format": "double", +"type": "number" +}, +"type": "array" +}, +"inputBytes": { +"items": { +"format": "double", +"type": "number" +}, +"type": "array" +}, +"inputRecords": { +"items": { +"format": "double", +"type": "number" +}, +"type": "array" +}, +"killedTasks": { +"items": { +"format": "double", +"type": "number" +}, +"type": "array" +}, +"memoryBytesSpilled": { +"items": { +"format": "double", +"type": "number" +}, +"type": "array" +}, +"outputBytes": { +"items": { +"format": "double", +"type": "number" +}, +"type": "array" +}, +"outputRecords": { +"items": { +"format": "double", +"type": "number" +}, +"type": "array" +}, +"peakMemoryMetrics": { +"$ref": "ExecutorPeakMetricsDistributions" +}, +"quantiles": { +"items": { +"format": "double", +"type": "number" +}, +"type": "array" +}, +"shuffleRead": { +"items": { +"format": "double", +"type": "number" +}, +"type": "array" +}, +"shuffleReadRecords": { +"items": { +"format": "double", +"type": "number" +}, +"type": "array" +}, +"shuffleWrite": { +"items": { +"format": "double", +"type": "number" +}, +"type": "array" +}, +"shuffleWriteRecords": { +"items": { +"format": "double", +"type": "number" +}, +"type": "array" +}, +"succeededTasks": { +"items": { +"format": "double", +"type": "number" +}, +"type": "array" +}, +"taskTimeMillis": { +"items": { +"format": "double", +"type": "number" +}, +"type": "array" +} +}, +"type": "object" +}, +"ExecutorPeakMetricsDistributions": { +"id": "ExecutorPeakMetricsDistributions", +"properties": { +"executorMetrics": { +"items": { +"$ref": "ExecutorMetrics" +}, +"type": "array" +}, +"quantiles": { +"items": { +"format": "double", +"type": "number" +}, +"type": "array" +} +}, +"type": "object" +}, +"ExecutorResourceRequest": { +"description": "Resources used per executor used by the application.", +"id": "ExecutorResourceRequest", +"properties": { +"amount": { +"format": "int64", +"type": "string" +}, +"discoveryScript": { +"type": "string" +}, +"resourceName": { +"type": "string" +}, +"vendor": { +"type": "string" +} +}, +"type": "object" +}, +"ExecutorStageSummary": { +"description": "Executor resources consumed by a stage.", +"id": "ExecutorStageSummary", +"properties": { +"diskBytesSpilled": { +"format": "int64", +"type": "string" +}, +"executorId": { +"type": "string" +}, +"failedTasks": { +"format": "int32", +"type": "integer" +}, +"inputBytes": { +"format": "int64", +"type": "string" +}, +"inputRecords": { +"format": "int64", +"type": "string" +}, +"isExcludedForStage": { +"type": "boolean" +}, +"killedTasks": { +"format": "int32", +"type": "integer" +}, +"memoryBytesSpilled": { +"format": "int64", +"type": "string" +}, +"outputBytes": { +"format": "int64", +"type": "string" +}, +"outputRecords": { +"format": "int64", +"type": "string" +}, +"peakMemoryMetrics": { +"$ref": "ExecutorMetrics" +}, +"shuffleRead": { +"format": "int64", +"type": "string" +}, +"shuffleReadRecords": { +"format": "int64", +"type": "string" +}, +"shuffleWrite": { +"format": "int64", +"type": "string" +}, +"shuffleWriteRecords": { +"format": "int64", +"type": "string" +}, +"stageAttemptId": { +"format": "int32", +"type": "integer" +}, +"stageId": { +"format": "int64", +"type": "string" +}, +"succeededTasks": { +"format": "int32", +"type": "integer" +}, +"taskTimeMillis": { +"format": "int64", +"type": "string" +} +}, +"type": "object" +}, +"ExecutorSummary": { +"description": "Details about executors used by the application.", +"id": "ExecutorSummary", +"properties": { +"activeTasks": { +"format": "int32", +"type": "integer" +}, +"addTime": { +"format": "google-datetime", +"type": "string" +}, +"attributes": { +"additionalProperties": { +"type": "string" +}, +"type": "object" +}, +"completedTasks": { +"format": "int32", +"type": "integer" +}, +"diskUsed": { +"format": "int64", +"type": "string" +}, +"excludedInStages": { +"items": { +"format": "int64", +"type": "string" +}, +"type": "array" +}, +"executorId": { +"type": "string" +}, +"executorLogs": { +"additionalProperties": { +"type": "string" +}, +"type": "object" +}, +"failedTasks": { +"format": "int32", +"type": "integer" +}, +"hostPort": { +"type": "string" +}, +"isActive": { +"type": "boolean" +}, +"isExcluded": { +"type": "boolean" +}, +"maxMemory": { +"format": "int64", +"type": "string" +}, +"maxTasks": { +"format": "int32", +"type": "integer" +}, +"memoryMetrics": { +"$ref": "MemoryMetrics" +}, +"memoryUsed": { +"format": "int64", +"type": "string" +}, +"peakMemoryMetrics": { +"$ref": "ExecutorMetrics" +}, +"rddBlocks": { +"format": "int32", +"type": "integer" +}, +"removeReason": { +"type": "string" +}, +"removeTime": { +"format": "google-datetime", +"type": "string" +}, +"resourceProfileId": { +"format": "int32", +"type": "integer" +}, +"resources": { +"additionalProperties": { +"$ref": "ResourceInformation" +}, +"type": "object" +}, +"totalCores": { +"format": "int32", +"type": "integer" +}, +"totalDurationMillis": { +"format": "int64", +"type": "string" +}, +"totalGcTimeMillis": { +"format": "int64", +"type": "string" +}, +"totalInputBytes": { +"format": "int64", +"type": "string" +}, +"totalShuffleRead": { +"format": "int64", +"type": "string" +}, +"totalShuffleWrite": { +"format": "int64", +"type": "string" +}, +"totalTasks": { +"format": "int32", +"type": "integer" +} +}, +"type": "object" +}, +"Expr": { +"description": "Represents a textual expression in the Common Expression Language (CEL) syntax. CEL is a C-like expression language. The syntax and semantics of CEL are documented at https://github.com/google/cel-spec.Example (Comparison): title: \"Summary size limit\" description: \"Determines if a summary is less than 100 chars\" expression: \"document.summary.size() < 100\" Example (Equality): title: \"Requestor is owner\" description: \"Determines if requestor is the document owner\" expression: \"document.owner == request.auth.claims.email\" Example (Logic): title: \"Public documents\" description: \"Determine whether the document should be publicly visible\" expression: \"document.type != 'private' && document.type != 'internal'\" Example (Data Manipulation): title: \"Notification string\" description: \"Create a notification string with a timestamp.\" expression: \"'New message received at ' + string(document.create_time)\" The exact variables and functions that may be referenced within an expression are determined by the service that evaluates it. See the service documentation for additional information.", +"id": "Expr", +"properties": { +"description": { +"description": "Optional. Description of the expression. This is a longer text which describes the expression, e.g. when hovered over it in a UI.", +"type": "string" +}, +"expression": { +"description": "Textual representation of an expression in Common Expression Language syntax.", +"type": "string" +}, +"location": { +"description": "Optional. String indicating the location of the expression for error reporting, e.g. a file name and a position in the file.", +"type": "string" +}, +"title": { +"description": "Optional. Title for the expression, i.e. a short string describing its purpose. This can be used e.g. in UIs which allow to enter the expression.", +"type": "string" +} +}, +"type": "object" +}, +"FlinkJob": { +"description": "A Dataproc job for running Apache Flink applications on YARN.", +"id": "FlinkJob", +"properties": { +"args": { +"description": "Optional. The arguments to pass to the driver. Do not include arguments, such as --conf, that can be set as job properties, since a collision might occur that causes an incorrect job submission.", +"items": { +"type": "string" +}, +"type": "array" +}, +"jarFileUris": { +"description": "Optional. HCFS URIs of jar files to add to the CLASSPATHs of the Flink driver and tasks.", +"items": { +"type": "string" +}, +"type": "array" +}, +"loggingConfig": { +"$ref": "LoggingConfig", +"description": "Optional. The runtime log config for job execution." +}, +"mainClass": { +"description": "The name of the driver's main class. The jar file that contains the class must be in the default CLASSPATH or specified in jarFileUris.", +"type": "string" +}, +"mainJarFileUri": { +"description": "The HCFS URI of the jar file that contains the main class.", +"type": "string" +}, +"properties": { +"additionalProperties": { +"type": "string" +}, +"description": "Optional. A mapping of property names to values, used to configure Flink. Properties that conflict with values set by the Dataproc API might be overwritten. Can include properties set in /etc/flink/conf/flink-defaults.conf and classes in user code.", +"type": "object" +}, +"savepointUri": { +"description": "Optional. HCFS URI of the savepoint, which contains the last saved progress for starting the current job.", +"type": "string" +} +}, +"type": "object" +}, +"GceClusterConfig": { +"description": "Common config settings for resources of Compute Engine cluster instances, applicable to all instances in the cluster.", +"id": "GceClusterConfig", +"properties": { +"confidentialInstanceConfig": { +"$ref": "ConfidentialInstanceConfig", +"description": "Optional. Confidential Instance Config for clusters using Confidential VMs (https://cloud.google.com/compute/confidential-vm/docs)." +}, +"internalIpOnly": { +"description": "Optional. This setting applies to subnetwork-enabled networks. It is set to true by default in clusters created with image versions 2.2.x.When set to true: All cluster VMs have internal IP addresses. Google Private Access (https://cloud.google.com/vpc/docs/private-google-access) must be enabled to access Dataproc and other Google Cloud APIs. Off-cluster dependencies must be configured to be accessible without external IP addresses.When set to false: Cluster VMs are not restricted to internal IP addresses. Ephemeral external IP addresses are assigned to each cluster VM.", +"type": "boolean" +}, +"metadata": { +"additionalProperties": { +"type": "string" +}, +"description": "Optional. The Compute Engine metadata entries to add to all instances (see Project and instance metadata (https://cloud.google.com/compute/docs/storing-retrieving-metadata#project_and_instance_metadata)).", +"type": "object" +}, +"networkUri": { +"description": "Optional. The Compute Engine network to be used for machine communications. Cannot be specified with subnetwork_uri. If neither network_uri nor subnetwork_uri is specified, the \"default\" network of the project is used, if it exists. Cannot be a \"Custom Subnet Network\" (see Using Subnetworks (https://cloud.google.com/compute/docs/subnetworks) for more information).A full URL, partial URI, or short name are valid. Examples: https://www.googleapis.com/compute/v1/projects/[project_id]/global/networks/default projects/[project_id]/global/networks/default default", +"type": "string" +}, +"nodeGroupAffinity": { +"$ref": "NodeGroupAffinity", +"description": "Optional. Node Group Affinity for sole-tenant clusters." +}, +"privateIpv6GoogleAccess": { +"description": "Optional. The type of IPv6 access for a cluster.", +"enum": [ +"PRIVATE_IPV6_GOOGLE_ACCESS_UNSPECIFIED", +"INHERIT_FROM_SUBNETWORK", +"OUTBOUND", +"BIDIRECTIONAL" +], +"enumDescriptions": [ +"If unspecified, Compute Engine default behavior will apply, which is the same as INHERIT_FROM_SUBNETWORK.", +"Private access to and from Google Services configuration inherited from the subnetwork configuration. This is the default Compute Engine behavior.", +"Enables outbound private IPv6 access to Google Services from the Dataproc cluster.", +"Enables bidirectional private IPv6 access between Google Services and the Dataproc cluster." +], +"type": "string" +}, +"reservationAffinity": { +"$ref": "ReservationAffinity", +"description": "Optional. Reservation Affinity for consuming Zonal reservation." +}, +"serviceAccount": { +"description": "Optional. The Dataproc service account (https://cloud.google.com/dataproc/docs/concepts/configuring-clusters/service-accounts#service_accounts_in_dataproc) (also see VM Data Plane identity (https://cloud.google.com/dataproc/docs/concepts/iam/dataproc-principals#vm_service_account_data_plane_identity)) used by Dataproc cluster VM instances to access Google Cloud Platform services.If not specified, the Compute Engine default service account (https://cloud.google.com/compute/docs/access/service-accounts#default_service_account) is used.", +"type": "string" +}, +"serviceAccountScopes": { +"description": "Optional. The URIs of service account scopes to be included in Compute Engine instances. The following base set of scopes is always included: https://www.googleapis.com/auth/cloud.useraccounts.readonly https://www.googleapis.com/auth/devstorage.read_write https://www.googleapis.com/auth/logging.writeIf no scopes are specified, the following defaults are also provided: https://www.googleapis.com/auth/bigquery https://www.googleapis.com/auth/bigtable.admin.table https://www.googleapis.com/auth/bigtable.data https://www.googleapis.com/auth/devstorage.full_control", +"items": { +"type": "string" +}, +"type": "array" +}, +"shieldedInstanceConfig": { +"$ref": "ShieldedInstanceConfig", +"description": "Optional. Shielded Instance Config for clusters using Compute Engine Shielded VMs (https://cloud.google.com/security/shielded-cloud/shielded-vm)." +}, +"subnetworkUri": { +"description": "Optional. The Compute Engine subnetwork to be used for machine communications. Cannot be specified with network_uri.A full URL, partial URI, or short name are valid. Examples: https://www.googleapis.com/compute/v1/projects/[project_id]/regions/[region]/subnetworks/sub0 projects/[project_id]/regions/[region]/subnetworks/sub0 sub0", +"type": "string" +}, +"tags": { +"description": "The Compute Engine network tags to add to all instances (see Tagging instances (https://cloud.google.com/vpc/docs/add-remove-network-tags)).", +"items": { +"type": "string" +}, +"type": "array" +}, +"zoneUri": { +"description": "Optional. The Compute Engine zone where the Dataproc cluster will be located. If omitted, the service will pick a zone in the cluster's Compute Engine region. On a get request, zone will always be present.A full URL, partial URI, or short name are valid. Examples: https://www.googleapis.com/compute/v1/projects/[project_id]/zones/[zone] projects/[project_id]/zones/[zone] [zone]", +"type": "string" +} +}, +"type": "object" +}, +"GetIamPolicyRequest": { +"description": "Request message for GetIamPolicy method.", +"id": "GetIamPolicyRequest", +"properties": { +"options": { +"$ref": "GetPolicyOptions", +"description": "OPTIONAL: A GetPolicyOptions object for specifying options to GetIamPolicy." +} +}, +"type": "object" +}, +"GetPolicyOptions": { +"description": "Encapsulates settings provided to GetIamPolicy.", +"id": "GetPolicyOptions", +"properties": { +"requestedPolicyVersion": { +"description": "Optional. The maximum policy version that will be used to format the policy.Valid values are 0, 1, and 3. Requests specifying an invalid value will be rejected.Requests for policies with any conditional role bindings must specify version 3. Policies with no conditional role bindings may specify any valid value or leave the field unset.The policy in the response might use the policy version that you specified, or it might use a lower policy version. For example, if you specify version 3, but the policy has no conditional role bindings, the response uses version 1.To learn which resources support conditions in their IAM policies, see the IAM documentation (https://cloud.google.com/iam/help/conditions/resource-policies).", +"format": "int32", +"type": "integer" +} +}, +"type": "object" +}, +"GkeClusterConfig": { +"description": "The cluster's GKE config.", +"id": "GkeClusterConfig", +"properties": { +"gkeClusterTarget": { +"description": "Optional. A target GKE cluster to deploy to. It must be in the same project and region as the Dataproc cluster (the GKE cluster can be zonal or regional). Format: 'projects/{project}/locations/{location}/clusters/{cluster_id}'", +"type": "string" +}, +"namespacedGkeDeploymentTarget": { +"$ref": "NamespacedGkeDeploymentTarget", +"deprecated": true, +"description": "Optional. Deprecated. Use gkeClusterTarget. Used only for the deprecated beta. A target for the deployment." +}, +"nodePoolTarget": { +"description": "Optional. GKE node pools where workloads will be scheduled. At least one node pool must be assigned the DEFAULT GkeNodePoolTarget.Role. If a GkeNodePoolTarget is not specified, Dataproc constructs a DEFAULT GkeNodePoolTarget. Each role can be given to only one GkeNodePoolTarget. All node pools must have the same location settings.", +"items": { +"$ref": "GkeNodePoolTarget" +}, +"type": "array" +} +}, +"type": "object" +}, +"GkeNodeConfig": { +"description": "Parameters that describe cluster nodes.", +"id": "GkeNodeConfig", +"properties": { +"accelerators": { +"description": "Optional. A list of hardware accelerators (https://cloud.google.com/compute/docs/gpus) to attach to each node.", +"items": { +"$ref": "GkeNodePoolAcceleratorConfig" +}, +"type": "array" +}, +"bootDiskKmsKey": { +"description": "Optional. The Customer Managed Encryption Key (CMEK) (https://cloud.google.com/kubernetes-engine/docs/how-to/using-cmek) used to encrypt the boot disk attached to each node in the node pool. Specify the key using the following format: projects/{project}/locations/{location}/keyRings/{key_ring}/cryptoKeys/{crypto_key}", +"type": "string" +}, +"localSsdCount": { +"description": "Optional. The number of local SSD disks to attach to the node, which is limited by the maximum number of disks allowable per zone (see Adding Local SSDs (https://cloud.google.com/compute/docs/disks/local-ssd)).", +"format": "int32", +"type": "integer" +}, +"machineType": { +"description": "Optional. The name of a Compute Engine machine type (https://cloud.google.com/compute/docs/machine-types).", +"type": "string" +}, +"minCpuPlatform": { +"description": "Optional. Minimum CPU platform (https://cloud.google.com/compute/docs/instances/specify-min-cpu-platform) to be used by this instance. The instance may be scheduled on the specified or a newer CPU platform. Specify the friendly names of CPU platforms, such as \"Intel Haswell\"` or Intel Sandy Bridge\".", +"type": "string" +}, +"preemptible": { +"description": "Optional. Whether the nodes are created as legacy preemptible VM instances (https://cloud.google.com/compute/docs/instances/preemptible). Also see Spot VMs, preemptible VM instances without a maximum lifetime. Legacy and Spot preemptible nodes cannot be used in a node pool with the CONTROLLER role or in the DEFAULT node pool if the CONTROLLER role is not assigned (the DEFAULT node pool will assume the CONTROLLER role).", +"type": "boolean" +}, +"spot": { +"description": "Optional. Whether the nodes are created as Spot VM instances (https://cloud.google.com/compute/docs/instances/spot). Spot VMs are the latest update to legacy preemptible VMs. Spot VMs do not have a maximum lifetime. Legacy and Spot preemptible nodes cannot be used in a node pool with the CONTROLLER role or in the DEFAULT node pool if the CONTROLLER role is not assigned (the DEFAULT node pool will assume the CONTROLLER role).", +"type": "boolean" +} +}, +"type": "object" +}, +"GkeNodePoolAcceleratorConfig": { +"description": "A GkeNodeConfigAcceleratorConfig represents a Hardware Accelerator request for a node pool.", +"id": "GkeNodePoolAcceleratorConfig", +"properties": { +"acceleratorCount": { +"description": "The number of accelerator cards exposed to an instance.", +"format": "int64", +"type": "string" +}, +"acceleratorType": { +"description": "The accelerator type resource namename (see GPUs on Compute Engine).", +"type": "string" +}, +"gpuPartitionSize": { +"description": "Size of partitions to create on the GPU. Valid values are described in the NVIDIA mig user guide (https://docs.nvidia.com/datacenter/tesla/mig-user-guide/#partitioning).", +"type": "string" +} +}, +"type": "object" +}, +"GkeNodePoolAutoscalingConfig": { +"description": "GkeNodePoolAutoscaling contains information the cluster autoscaler needs to adjust the size of the node pool to the current cluster usage.", +"id": "GkeNodePoolAutoscalingConfig", +"properties": { +"maxNodeCount": { +"description": "The maximum number of nodes in the node pool. Must be >= min_node_count, and must be > 0. Note: Quota must be sufficient to scale up the cluster.", +"format": "int32", +"type": "integer" +}, +"minNodeCount": { +"description": "The minimum number of nodes in the node pool. Must be >= 0 and <= max_node_count.", +"format": "int32", +"type": "integer" +} +}, +"type": "object" +}, +"GkeNodePoolConfig": { +"description": "The configuration of a GKE node pool used by a Dataproc-on-GKE cluster (https://cloud.google.com/dataproc/docs/concepts/jobs/dataproc-gke#create-a-dataproc-on-gke-cluster).", +"id": "GkeNodePoolConfig", +"properties": { +"autoscaling": { +"$ref": "GkeNodePoolAutoscalingConfig", +"description": "Optional. The autoscaler configuration for this node pool. The autoscaler is enabled only when a valid configuration is present." +}, +"config": { +"$ref": "GkeNodeConfig", +"description": "Optional. The node pool configuration." +}, +"locations": { +"description": "Optional. The list of Compute Engine zones (https://cloud.google.com/compute/docs/zones#available) where node pool nodes associated with a Dataproc on GKE virtual cluster will be located.Note: All node pools associated with a virtual cluster must be located in the same region as the virtual cluster, and they must be located in the same zone within that region.If a location is not specified during node pool creation, Dataproc on GKE will choose the zone.", +"items": { +"type": "string" +}, +"type": "array" +} +}, +"type": "object" +}, +"GkeNodePoolTarget": { +"description": "GKE node pools that Dataproc workloads run on.", +"id": "GkeNodePoolTarget", +"properties": { +"nodePool": { +"description": "Required. The target GKE node pool. Format: 'projects/{project}/locations/{location}/clusters/{cluster}/nodePools/{node_pool}'", +"type": "string" +}, +"nodePoolConfig": { +"$ref": "GkeNodePoolConfig", +"description": "Input only. The configuration for the GKE node pool.If specified, Dataproc attempts to create a node pool with the specified shape. If one with the same name already exists, it is verified against all specified fields. If a field differs, the virtual cluster creation will fail.If omitted, any node pool with the specified name is used. If a node pool with the specified name does not exist, Dataproc create a node pool with default values.This is an input only field. It will not be returned by the API." +}, +"roles": { +"description": "Required. The roles associated with the GKE node pool.", +"items": { +"enum": [ +"ROLE_UNSPECIFIED", +"DEFAULT", +"CONTROLLER", +"SPARK_DRIVER", +"SPARK_EXECUTOR" +], +"enumDescriptions": [ +"Role is unspecified.", +"At least one node pool must have the DEFAULT role. Work assigned to a role that is not associated with a node pool is assigned to the node pool with the DEFAULT role. For example, work assigned to the CONTROLLER role will be assigned to the node pool with the DEFAULT role if no node pool has the CONTROLLER role.", +"Run work associated with the Dataproc control plane (for example, controllers and webhooks). Very low resource requirements.", +"Run work associated with a Spark driver of a job.", +"Run work associated with a Spark executor of a job." +], +"type": "string" +}, +"type": "array" +} +}, +"type": "object" +}, +"GoogleCloudDataprocV1WorkflowTemplateEncryptionConfig": { +"description": "Encryption settings for encrypting workflow template job arguments.", +"id": "GoogleCloudDataprocV1WorkflowTemplateEncryptionConfig", +"properties": { +"kmsKey": { +"description": "Optional. The Cloud KMS key name to use for encrypting workflow template job arguments.When this this key is provided, the following workflow template job arguments (https://cloud.google.com/dataproc/docs/concepts/workflows/use-workflows#adding_jobs_to_a_template), if present, are CMEK encrypted (https://cloud.google.com/dataproc/docs/concepts/configuring-clusters/customer-managed-encryption#use_cmek_with_workflow_template_data): FlinkJob args (https://cloud.google.com/dataproc/docs/reference/rest/v1/FlinkJob) HadoopJob args (https://cloud.google.com/dataproc/docs/reference/rest/v1/HadoopJob) SparkJob args (https://cloud.google.com/dataproc/docs/reference/rest/v1/SparkJob) SparkRJob args (https://cloud.google.com/dataproc/docs/reference/rest/v1/SparkRJob) PySparkJob args (https://cloud.google.com/dataproc/docs/reference/rest/v1/PySparkJob) SparkSqlJob (https://cloud.google.com/dataproc/docs/reference/rest/v1/SparkSqlJob) scriptVariables and queryList.queries HiveJob (https://cloud.google.com/dataproc/docs/reference/rest/v1/HiveJob) scriptVariables and queryList.queries PigJob (https://cloud.google.com/dataproc/docs/reference/rest/v1/PigJob) scriptVariables and queryList.queries PrestoJob (https://cloud.google.com/dataproc/docs/reference/rest/v1/PrestoJob) scriptVariables and queryList.queries", +"type": "string" +} +}, +"type": "object" +}, +"HadoopJob": { +"description": "A Dataproc job for running Apache Hadoop MapReduce (https://hadoop.apache.org/docs/current/hadoop-mapreduce-client/hadoop-mapreduce-client-core/MapReduceTutorial.html) jobs on Apache Hadoop YARN (https://hadoop.apache.org/docs/r2.7.1/hadoop-yarn/hadoop-yarn-site/YARN.html).", +"id": "HadoopJob", +"properties": { +"archiveUris": { +"description": "Optional. HCFS URIs of archives to be extracted in the working directory of Hadoop drivers and tasks. Supported file types: .jar, .tar, .tar.gz, .tgz, or .zip.", +"items": { +"type": "string" +}, +"type": "array" +}, +"args": { +"description": "Optional. The arguments to pass to the driver. Do not include arguments, such as -libjars or -Dfoo=bar, that can be set as job properties, since a collision might occur that causes an incorrect job submission.", +"items": { +"type": "string" +}, +"type": "array" +}, +"fileUris": { +"description": "Optional. HCFS (Hadoop Compatible Filesystem) URIs of files to be copied to the working directory of Hadoop drivers and distributed tasks. Useful for naively parallel tasks.", +"items": { +"type": "string" +}, +"type": "array" +}, +"jarFileUris": { +"description": "Optional. Jar file URIs to add to the CLASSPATHs of the Hadoop driver and tasks.", +"items": { +"type": "string" +}, +"type": "array" +}, +"loggingConfig": { +"$ref": "LoggingConfig", +"description": "Optional. The runtime log config for job execution." +}, +"mainClass": { +"description": "The name of the driver's main class. The jar file containing the class must be in the default CLASSPATH or specified in jar_file_uris.", +"type": "string" +}, +"mainJarFileUri": { +"description": "The HCFS URI of the jar file containing the main class. Examples: 'gs://foo-bucket/analytics-binaries/extract-useful-metrics-mr.jar' 'hdfs:/tmp/test-samples/custom-wordcount.jar' 'file:///home/usr/lib/hadoop-mapreduce/hadoop-mapreduce-examples.jar'", +"type": "string" +}, +"properties": { +"additionalProperties": { +"type": "string" +}, +"description": "Optional. A mapping of property names to values, used to configure Hadoop. Properties that conflict with values set by the Dataproc API might be overwritten. Can include properties set in /etc/hadoop/conf/*-site and classes in user code.", +"type": "object" +} +}, +"type": "object" +}, +"HiveJob": { +"description": "A Dataproc job for running Apache Hive (https://hive.apache.org/) queries on YARN.", +"id": "HiveJob", +"properties": { +"continueOnFailure": { +"description": "Optional. Whether to continue executing queries if a query fails. The default value is false. Setting to true can be useful when executing independent parallel queries.", +"type": "boolean" +}, +"jarFileUris": { +"description": "Optional. HCFS URIs of jar files to add to the CLASSPATH of the Hive server and Hadoop MapReduce (MR) tasks. Can contain Hive SerDes and UDFs.", +"items": { +"type": "string" +}, +"type": "array" +}, +"properties": { +"additionalProperties": { +"type": "string" +}, +"description": "Optional. A mapping of property names and values, used to configure Hive. Properties that conflict with values set by the Dataproc API might be overwritten. Can include properties set in /etc/hadoop/conf/*-site.xml, /etc/hive/conf/hive-site.xml, and classes in user code.", +"type": "object" +}, +"queryFileUri": { +"description": "The HCFS URI of the script that contains Hive queries.", +"type": "string" +}, +"queryList": { +"$ref": "QueryList", +"description": "A list of queries." +}, +"scriptVariables": { +"additionalProperties": { +"type": "string" +}, +"description": "Optional. Mapping of query variable names to values (equivalent to the Hive command: SET name=\"value\";).", +"type": "object" +} +}, +"type": "object" +}, +"IdentityConfig": { +"description": "Identity related configuration, including service account based secure multi-tenancy user mappings.", +"id": "IdentityConfig", +"properties": { +"userServiceAccountMapping": { +"additionalProperties": { +"type": "string" +}, +"description": "Required. Map of user to service account.", +"type": "object" +} +}, +"type": "object" +}, +"InjectCredentialsRequest": { +"description": "A request to inject credentials into a cluster.", +"id": "InjectCredentialsRequest", +"properties": { +"clusterUuid": { +"description": "Required. The cluster UUID.", +"type": "string" +}, +"credentialsCiphertext": { +"description": "Required. The encrypted credentials being injected in to the cluster.The client is responsible for encrypting the credentials in a way that is supported by the cluster.A wrapped value is used here so that the actual contents of the encrypted credentials are not written to audit logs.", +"type": "string" +} +}, +"type": "object" +}, +"InputMetrics": { +"description": "Metrics about the input data read by the task.", +"id": "InputMetrics", +"properties": { +"bytesRead": { +"format": "int64", +"type": "string" +}, +"recordsRead": { +"format": "int64", +"type": "string" +} +}, +"type": "object" +}, +"InputQuantileMetrics": { +"id": "InputQuantileMetrics", +"properties": { +"bytesRead": { +"$ref": "Quantiles" +}, +"recordsRead": { +"$ref": "Quantiles" +} +}, +"type": "object" +}, +"InstanceFlexibilityPolicy": { +"description": "Instance flexibility Policy allowing a mixture of VM shapes and provisioning models.", +"id": "InstanceFlexibilityPolicy", +"properties": { +"instanceSelectionList": { +"description": "Optional. List of instance selection options that the group will use when creating new VMs.", +"items": { +"$ref": "InstanceSelection" +}, +"type": "array" +}, +"instanceSelectionResults": { +"description": "Output only. A list of instance selection results in the group.", +"items": { +"$ref": "InstanceSelectionResult" +}, +"readOnly": true, +"type": "array" +}, +"provisioningModelMix": { +"$ref": "ProvisioningModelMix", +"description": "Optional. Defines how the Group selects the provisioning model to ensure required reliability." +} +}, +"type": "object" +}, +"InstanceGroupAutoscalingPolicyConfig": { +"description": "Configuration for the size bounds of an instance group, including its proportional size to other groups.", +"id": "InstanceGroupAutoscalingPolicyConfig", +"properties": { +"maxInstances": { +"description": "Required. Maximum number of instances for this group. Required for primary workers. Note that by default, clusters will not use secondary workers. Required for secondary workers if the minimum secondary instances is set.Primary workers - Bounds: [min_instances, ). Secondary workers - Bounds: [min_instances, ). Default: 0.", +"format": "int32", +"type": "integer" +}, +"minInstances": { +"description": "Optional. Minimum number of instances for this group.Primary workers - Bounds: 2, max_instances. Default: 2. Secondary workers - Bounds: 0, max_instances. Default: 0.", +"format": "int32", +"type": "integer" +}, +"weight": { +"description": "Optional. Weight for the instance group, which is used to determine the fraction of total workers in the cluster from this instance group. For example, if primary workers have weight 2, and secondary workers have weight 1, the cluster will have approximately 2 primary workers for each secondary worker.The cluster may not reach the specified balance if constrained by min/max bounds or other autoscaling settings. For example, if max_instances for secondary workers is 0, then only primary workers will be added. The cluster can also be out of balance when created.If weight is not set on any instance group, the cluster will default to equal weight for all groups: the cluster will attempt to maintain an equal number of workers in each group within the configured size bounds for each group. If weight is set for one group only, the cluster will default to zero weight on the unset group. For example if weight is set only on primary workers, the cluster will use primary workers only and no secondary workers.", +"format": "int32", +"type": "integer" +} +}, +"type": "object" +}, +"InstanceGroupConfig": { +"description": "The config settings for Compute Engine resources in an instance group, such as a master or worker group.", +"id": "InstanceGroupConfig", +"properties": { +"accelerators": { +"description": "Optional. The Compute Engine accelerator configuration for these instances.", +"items": { +"$ref": "AcceleratorConfig" +}, +"type": "array" +}, +"diskConfig": { +"$ref": "DiskConfig", +"description": "Optional. Disk option config settings." +}, +"imageUri": { +"description": "Optional. The Compute Engine image resource used for cluster instances.The URI can represent an image or image family.Image examples: https://www.googleapis.com/compute/v1/projects/[project_id]/global/images/[image-id] projects/[project_id]/global/images/[image-id] image-idImage family examples. Dataproc will use the most recent image from the family: https://www.googleapis.com/compute/v1/projects/[project_id]/global/images/family/[custom-image-family-name] projects/[project_id]/global/images/family/[custom-image-family-name]If the URI is unspecified, it will be inferred from SoftwareConfig.image_version or the system default.", +"type": "string" +}, +"instanceFlexibilityPolicy": { +"$ref": "InstanceFlexibilityPolicy", +"description": "Optional. Instance flexibility Policy allowing a mixture of VM shapes and provisioning models." +}, +"instanceNames": { +"description": "Output only. The list of instance names. Dataproc derives the names from cluster_name, num_instances, and the instance group.", +"items": { +"type": "string" +}, +"readOnly": true, +"type": "array" +}, +"instanceReferences": { +"description": "Output only. List of references to Compute Engine instances.", +"items": { +"$ref": "InstanceReference" +}, +"readOnly": true, +"type": "array" +}, +"isPreemptible": { +"description": "Output only. Specifies that this instance group contains preemptible instances.", +"readOnly": true, +"type": "boolean" +}, +"machineTypeUri": { +"description": "Optional. The Compute Engine machine type used for cluster instances.A full URL, partial URI, or short name are valid. Examples: https://www.googleapis.com/compute/v1/projects/[project_id]/zones/[zone]/machineTypes/n1-standard-2 projects/[project_id]/zones/[zone]/machineTypes/n1-standard-2 n1-standard-2Auto Zone Exception: If you are using the Dataproc Auto Zone Placement (https://cloud.google.com/dataproc/docs/concepts/configuring-clusters/auto-zone#using_auto_zone_placement) feature, you must use the short name of the machine type resource, for example, n1-standard-2.", +"type": "string" +}, +"managedGroupConfig": { +"$ref": "ManagedGroupConfig", +"description": "Output only. The config for Compute Engine Instance Group Manager that manages this group. This is only used for preemptible instance groups.", +"readOnly": true +}, +"minCpuPlatform": { +"description": "Optional. Specifies the minimum cpu platform for the Instance Group. See Dataproc -> Minimum CPU Platform (https://cloud.google.com/dataproc/docs/concepts/compute/dataproc-min-cpu).", +"type": "string" +}, +"minNumInstances": { +"description": "Optional. The minimum number of primary worker instances to create. If min_num_instances is set, cluster creation will succeed if the number of primary workers created is at least equal to the min_num_instances number.Example: Cluster creation request with num_instances = 5 and min_num_instances = 3: If 4 VMs are created and 1 instance fails, the failed VM is deleted. The cluster is resized to 4 instances and placed in a RUNNING state. If 2 instances are created and 3 instances fail, the cluster in placed in an ERROR state. The failed VMs are not deleted.", +"format": "int32", +"type": "integer" +}, +"numInstances": { +"description": "Optional. The number of VM instances in the instance group. For HA cluster master_config groups, must be set to 3. For standard cluster master_config groups, must be set to 1.", +"format": "int32", +"type": "integer" +}, +"preemptibility": { +"description": "Optional. Specifies the preemptibility of the instance group.The default value for master and worker groups is NON_PREEMPTIBLE. This default cannot be changed.The default value for secondary instances is PREEMPTIBLE.", +"enum": [ +"PREEMPTIBILITY_UNSPECIFIED", +"NON_PREEMPTIBLE", +"PREEMPTIBLE", +"SPOT" +], +"enumDescriptions": [ +"Preemptibility is unspecified, the system will choose the appropriate setting for each instance group.", +"Instances are non-preemptible.This option is allowed for all instance groups and is the only valid value for Master and Worker instance groups.", +"Instances are preemptible (https://cloud.google.com/compute/docs/instances/preemptible).This option is allowed only for secondary worker (https://cloud.google.com/dataproc/docs/concepts/compute/secondary-vms) groups.", +"Instances are Spot VMs (https://cloud.google.com/compute/docs/instances/spot).This option is allowed only for secondary worker (https://cloud.google.com/dataproc/docs/concepts/compute/secondary-vms) groups. Spot VMs are the latest version of preemptible VMs (https://cloud.google.com/compute/docs/instances/preemptible), and provide additional features." +], +"type": "string" +}, +"startupConfig": { +"$ref": "StartupConfig", +"description": "Optional. Configuration to handle the startup of instances during cluster create and update process." +} +}, +"type": "object" +}, +"InstanceReference": { +"description": "A reference to a Compute Engine instance.", +"id": "InstanceReference", +"properties": { +"instanceId": { +"description": "The unique identifier of the Compute Engine instance.", +"type": "string" +}, +"instanceName": { +"description": "The user-friendly name of the Compute Engine instance.", +"type": "string" +}, +"publicEciesKey": { +"description": "The public ECIES key used for sharing data with this instance.", +"type": "string" +}, +"publicKey": { +"description": "The public RSA key used for sharing data with this instance.", +"type": "string" +} +}, +"type": "object" +}, +"InstanceSelection": { +"description": "Defines machines types and a rank to which the machines types belong.", +"id": "InstanceSelection", +"properties": { +"machineTypes": { +"description": "Optional. Full machine-type names, e.g. \"n1-standard-16\".", +"items": { +"type": "string" +}, +"type": "array" +}, +"rank": { +"description": "Optional. Preference of this instance selection. Lower number means higher preference. Dataproc will first try to create a VM based on the machine-type with priority rank and fallback to next rank based on availability. Machine types and instance selections with the same priority have the same preference.", +"format": "int32", +"type": "integer" +} +}, +"type": "object" +}, +"InstanceSelectionResult": { +"description": "Defines a mapping from machine types to the number of VMs that are created with each machine type.", +"id": "InstanceSelectionResult", +"properties": { +"machineType": { +"description": "Output only. Full machine-type names, e.g. \"n1-standard-16\".", +"readOnly": true, +"type": "string" +}, +"vmCount": { +"description": "Output only. Number of VM provisioned with the machine_type.", +"format": "int32", +"readOnly": true, +"type": "integer" +} +}, +"type": "object" +}, +"InstantiateWorkflowTemplateRequest": { +"description": "A request to instantiate a workflow template.", +"id": "InstantiateWorkflowTemplateRequest", +"properties": { +"parameters": { +"additionalProperties": { +"type": "string" +}, +"description": "Optional. Map from parameter names to values that should be used for those parameters. Values may not exceed 1000 characters.", +"type": "object" +}, +"requestId": { +"description": "Optional. A tag that prevents multiple concurrent workflow instances with the same tag from running. This mitigates risk of concurrent instances started due to retries.It is recommended to always set this value to a UUID (https://en.wikipedia.org/wiki/Universally_unique_identifier).The tag must contain only letters (a-z, A-Z), numbers (0-9), underscores (_), and hyphens (-). The maximum length is 40 characters.", +"type": "string" +}, +"version": { +"description": "Optional. The version of workflow template to instantiate. If specified, the workflow will be instantiated only if the current version of the workflow template has the supplied version.This option cannot be used to instantiate a previous version of workflow template.", +"format": "int32", +"type": "integer" +} +}, +"type": "object" +}, +"Interval": { +"description": "Represents a time interval, encoded as a Timestamp start (inclusive) and a Timestamp end (exclusive).The start must be less than or equal to the end. When the start equals the end, the interval is empty (matches no time). When both start and end are unspecified, the interval matches any time.", +"id": "Interval", +"properties": { +"endTime": { +"description": "Optional. Exclusive end of the interval.If specified, a Timestamp matching this interval will have to be before the end.", +"format": "google-datetime", +"type": "string" +}, +"startTime": { +"description": "Optional. Inclusive start of the interval.If specified, a Timestamp matching this interval will have to be the same or after the start.", +"format": "google-datetime", +"type": "string" +} +}, +"type": "object" +}, +"Job": { +"description": "A Dataproc job resource.", +"id": "Job", +"properties": { +"done": { +"description": "Output only. Indicates whether the job is completed. If the value is false, the job is still in progress. If true, the job is completed, and status.state field will indicate if it was successful, failed, or cancelled.", +"readOnly": true, +"type": "boolean" +}, +"driverControlFilesUri": { +"description": "Output only. If present, the location of miscellaneous control files which can be used as part of job setup and handling. If not present, control files might be placed in the same location as driver_output_uri.", +"readOnly": true, +"type": "string" +}, +"driverOutputResourceUri": { +"description": "Output only. A URI pointing to the location of the stdout of the job's driver program.", +"readOnly": true, +"type": "string" +}, +"driverSchedulingConfig": { +"$ref": "DriverSchedulingConfig", +"description": "Optional. Driver scheduling configuration." +}, +"flinkJob": { +"$ref": "FlinkJob", +"description": "Optional. Job is a Flink job." +}, +"hadoopJob": { +"$ref": "HadoopJob", +"description": "Optional. Job is a Hadoop job." +}, +"hiveJob": { +"$ref": "HiveJob", +"description": "Optional. Job is a Hive job." +}, +"jobUuid": { +"description": "Output only. A UUID that uniquely identifies a job within the project over time. This is in contrast to a user-settable reference.job_id that might be reused over time.", +"readOnly": true, +"type": "string" +}, +"labels": { +"additionalProperties": { +"type": "string" +}, +"description": "Optional. The labels to associate with this job. Label keys must contain 1 to 63 characters, and must conform to RFC 1035 (https://www.ietf.org/rfc/rfc1035.txt). Label values can be empty, but, if present, must contain 1 to 63 characters, and must conform to RFC 1035 (https://www.ietf.org/rfc/rfc1035.txt). No more than 32 labels can be associated with a job.", +"type": "object" +}, +"pigJob": { +"$ref": "PigJob", +"description": "Optional. Job is a Pig job." +}, +"placement": { +"$ref": "JobPlacement", +"description": "Required. Job information, including how, when, and where to run the job." +}, +"prestoJob": { +"$ref": "PrestoJob", +"description": "Optional. Job is a Presto job." +}, +"pysparkJob": { +"$ref": "PySparkJob", +"description": "Optional. Job is a PySpark job." +}, +"reference": { +"$ref": "JobReference", +"description": "Optional. The fully qualified reference to the job, which can be used to obtain the equivalent REST path of the job resource. If this property is not specified when a job is created, the server generates a job_id." +}, +"scheduling": { +"$ref": "JobScheduling", +"description": "Optional. Job scheduling configuration." +}, +"sparkJob": { +"$ref": "SparkJob", +"description": "Optional. Job is a Spark job." +}, +"sparkRJob": { +"$ref": "SparkRJob", +"description": "Optional. Job is a SparkR job." +}, +"sparkSqlJob": { +"$ref": "SparkSqlJob", +"description": "Optional. Job is a SparkSql job." +}, +"status": { +"$ref": "JobStatus", +"description": "Output only. The job status. Additional application-specific status information might be contained in the type_job and yarn_applications fields.", +"readOnly": true +}, +"statusHistory": { +"description": "Output only. The previous job status.", +"items": { +"$ref": "JobStatus" +}, +"readOnly": true, +"type": "array" +}, +"trinoJob": { +"$ref": "TrinoJob", +"description": "Optional. Job is a Trino job." +}, +"yarnApplications": { +"description": "Output only. The collection of YARN applications spun up by this job.Beta Feature: This report is available for testing purposes only. It might be changed before final release.", +"items": { +"$ref": "YarnApplication" +}, +"readOnly": true, +"type": "array" +} +}, +"type": "object" +}, +"JobData": { +"description": "Data corresponding to a spark job.", +"id": "JobData", +"properties": { +"completionTime": { +"format": "google-datetime", +"type": "string" +}, +"description": { +"type": "string" +}, +"jobGroup": { +"type": "string" +}, +"jobId": { +"format": "int64", +"type": "string" +}, +"killTasksSummary": { +"additionalProperties": { +"format": "int32", +"type": "integer" +}, +"type": "object" +}, +"name": { +"type": "string" +}, +"numActiveStages": { +"format": "int32", +"type": "integer" +}, +"numActiveTasks": { +"format": "int32", +"type": "integer" +}, +"numCompletedIndices": { +"format": "int32", +"type": "integer" +}, +"numCompletedStages": { +"format": "int32", +"type": "integer" +}, +"numCompletedTasks": { +"format": "int32", +"type": "integer" +}, +"numFailedStages": { +"format": "int32", +"type": "integer" +}, +"numFailedTasks": { +"format": "int32", +"type": "integer" +}, +"numKilledTasks": { +"format": "int32", +"type": "integer" +}, +"numSkippedStages": { +"format": "int32", +"type": "integer" +}, +"numSkippedTasks": { +"format": "int32", +"type": "integer" +}, +"numTasks": { +"format": "int32", +"type": "integer" +}, +"skippedStages": { +"items": { +"format": "int32", +"type": "integer" +}, +"type": "array" +}, +"sqlExecutionId": { +"format": "int64", +"type": "string" +}, +"stageIds": { +"items": { +"format": "int64", +"type": "string" +}, +"type": "array" +}, +"status": { +"enum": [ +"JOB_EXECUTION_STATUS_UNSPECIFIED", +"JOB_EXECUTION_STATUS_RUNNING", +"JOB_EXECUTION_STATUS_SUCCEEDED", +"JOB_EXECUTION_STATUS_FAILED", +"JOB_EXECUTION_STATUS_UNKNOWN" +], +"enumDescriptions": [ +"", +"", +"", +"", +"" +], +"type": "string" +}, +"submissionTime": { +"format": "google-datetime", +"type": "string" +} +}, +"type": "object" +}, +"JobMetadata": { +"description": "Job Operation metadata.", +"id": "JobMetadata", +"properties": { +"jobId": { +"description": "Output only. The job id.", +"readOnly": true, +"type": "string" +}, +"operationType": { +"description": "Output only. Operation type.", +"readOnly": true, +"type": "string" +}, +"startTime": { +"description": "Output only. Job submission time.", +"format": "google-datetime", +"readOnly": true, +"type": "string" +}, +"status": { +"$ref": "JobStatus", +"description": "Output only. Most recent job status.", +"readOnly": true +} +}, +"type": "object" +}, +"JobPlacement": { +"description": "Dataproc job config.", +"id": "JobPlacement", +"properties": { +"clusterLabels": { +"additionalProperties": { +"type": "string" +}, +"description": "Optional. Cluster labels to identify a cluster where the job will be submitted.", +"type": "object" +}, +"clusterName": { +"description": "Required. The name of the cluster where the job will be submitted.", +"type": "string" +}, +"clusterUuid": { +"description": "Output only. A cluster UUID generated by the Dataproc service when the job is submitted.", +"readOnly": true, +"type": "string" +} +}, +"type": "object" +}, +"JobReference": { +"description": "Encapsulates the full scoping used to reference a job.", +"id": "JobReference", +"properties": { +"jobId": { +"description": "Optional. The job ID, which must be unique within the project.The ID must contain only letters (a-z, A-Z), numbers (0-9), underscores (_), or hyphens (-). The maximum length is 100 characters.If not specified by the caller, the job ID will be provided by the server.", +"type": "string" +}, +"projectId": { +"description": "Optional. The ID of the Google Cloud Platform project that the job belongs to. If specified, must match the request project ID.", +"type": "string" +} +}, +"type": "object" +}, +"JobScheduling": { +"description": "Job scheduling options.", +"id": "JobScheduling", +"properties": { +"maxFailuresPerHour": { +"description": "Optional. Maximum number of times per hour a driver can be restarted as a result of driver exiting with non-zero code before job is reported failed.A job might be reported as thrashing if the driver exits with a non-zero code four times within a 10-minute window.Maximum value is 10.Note: This restartable job option is not supported in Dataproc workflow templates (https://cloud.google.com/dataproc/docs/concepts/workflows/using-workflows#adding_jobs_to_a_template).", +"format": "int32", +"type": "integer" +}, +"maxFailuresTotal": { +"description": "Optional. Maximum total number of times a driver can be restarted as a result of the driver exiting with a non-zero code. After the maximum number is reached, the job will be reported as failed.Maximum value is 240.Note: Currently, this restartable job option is not supported in Dataproc workflow templates (https://cloud.google.com/dataproc/docs/concepts/workflows/using-workflows#adding_jobs_to_a_template).", +"format": "int32", +"type": "integer" +} +}, +"type": "object" +}, +"JobStatus": { +"description": "Dataproc job status.", +"id": "JobStatus", +"properties": { +"details": { +"description": "Optional. Output only. Job state details, such as an error description if the state is ERROR.", +"readOnly": true, +"type": "string" +}, +"state": { +"description": "Output only. A state message specifying the overall job state.", +"enum": [ +"STATE_UNSPECIFIED", +"PENDING", +"SETUP_DONE", +"RUNNING", +"CANCEL_PENDING", +"CANCEL_STARTED", +"CANCELLED", +"DONE", +"ERROR", +"ATTEMPT_FAILURE" +], +"enumDescriptions": [ +"The job state is unknown.", +"The job is pending; it has been submitted, but is not yet running.", +"Job has been received by the service and completed initial setup; it will soon be submitted to the cluster.", +"The job is running on the cluster.", +"A CancelJob request has been received, but is pending.", +"Transient in-flight resources have been canceled, and the request to cancel the running job has been issued to the cluster.", +"The job cancellation was successful.", +"The job has completed successfully.", +"The job has completed, but encountered an error.", +"Job attempt has failed. The detail field contains failure details for this attempt.Applies to restartable jobs only." +], +"readOnly": true, +"type": "string" +}, +"stateStartTime": { +"description": "Output only. The time when this state was entered.", +"format": "google-datetime", +"readOnly": true, +"type": "string" +}, +"substate": { +"description": "Output only. Additional state information, which includes status reported by the agent.", +"enum": [ +"UNSPECIFIED", +"SUBMITTED", +"QUEUED", +"STALE_STATUS" +], +"enumDescriptions": [ +"The job substate is unknown.", +"The Job is submitted to the agent.Applies to RUNNING state.", +"The Job has been received and is awaiting execution (it might be waiting for a condition to be met). See the \"details\" field for the reason for the delay.Applies to RUNNING state.", +"The agent-reported status is out of date, which can be caused by a loss of communication between the agent and Dataproc. If the agent does not send a timely update, the job will fail.Applies to RUNNING state." +], +"readOnly": true, +"type": "string" +} +}, +"type": "object" +}, +"JobsSummary": { +"description": "Data related to Jobs page summary", +"id": "JobsSummary", +"properties": { +"activeJobs": { +"description": "Number of active jobs", +"format": "int32", +"type": "integer" +}, +"applicationId": { +"description": "Spark Application Id", +"type": "string" +}, +"attempts": { +"description": "Attempts info", +"items": { +"$ref": "ApplicationAttemptInfo" +}, +"type": "array" +}, +"completedJobs": { +"description": "Number of completed jobs", +"format": "int32", +"type": "integer" +}, +"failedJobs": { +"description": "Number of failed jobs", +"format": "int32", +"type": "integer" +}, +"schedulingMode": { +"description": "Spark Scheduling mode", +"type": "string" +} +}, +"type": "object" +}, +"JupyterConfig": { +"description": "Jupyter configuration for an interactive session.", +"id": "JupyterConfig", +"properties": { +"displayName": { +"description": "Optional. Display name, shown in the Jupyter kernelspec card.", +"type": "string" +}, +"kernel": { +"description": "Optional. Kernel", +"enum": [ +"KERNEL_UNSPECIFIED", +"PYTHON", +"SCALA" +], +"enumDescriptions": [ +"The kernel is unknown.", +"Python kernel.", +"Scala kernel." +], +"type": "string" +} +}, +"type": "object" +}, +"KerberosConfig": { +"description": "Specifies Kerberos related configuration.", +"id": "KerberosConfig", +"properties": { +"crossRealmTrustAdminServer": { +"description": "Optional. The admin server (IP or hostname) for the remote trusted realm in a cross realm trust relationship.", +"type": "string" +}, +"crossRealmTrustKdc": { +"description": "Optional. The KDC (IP or hostname) for the remote trusted realm in a cross realm trust relationship.", +"type": "string" +}, +"crossRealmTrustRealm": { +"description": "Optional. The remote realm the Dataproc on-cluster KDC will trust, should the user enable cross realm trust.", +"type": "string" +}, +"crossRealmTrustSharedPasswordUri": { +"description": "Optional. The Cloud Storage URI of a KMS encrypted file containing the shared password between the on-cluster Kerberos realm and the remote trusted realm, in a cross realm trust relationship.", +"type": "string" +}, +"enableKerberos": { +"description": "Optional. Flag to indicate whether to Kerberize the cluster (default: false). Set this field to true to enable Kerberos on a cluster.", +"type": "boolean" +}, +"kdcDbKeyUri": { +"description": "Optional. The Cloud Storage URI of a KMS encrypted file containing the master key of the KDC database.", +"type": "string" +}, +"keyPasswordUri": { +"description": "Optional. The Cloud Storage URI of a KMS encrypted file containing the password to the user provided key. For the self-signed certificate, this password is generated by Dataproc.", +"type": "string" +}, +"keystorePasswordUri": { +"description": "Optional. The Cloud Storage URI of a KMS encrypted file containing the password to the user provided keystore. For the self-signed certificate, this password is generated by Dataproc.", +"type": "string" +}, +"keystoreUri": { +"description": "Optional. The Cloud Storage URI of the keystore file used for SSL encryption. If not provided, Dataproc will provide a self-signed certificate.", +"type": "string" +}, +"kmsKeyUri": { +"description": "Optional. The URI of the KMS key used to encrypt sensitive files.", +"type": "string" +}, +"realm": { +"description": "Optional. The name of the on-cluster Kerberos realm. If not specified, the uppercased domain of hostnames will be the realm.", +"type": "string" +}, +"rootPrincipalPasswordUri": { +"description": "Optional. The Cloud Storage URI of a KMS encrypted file containing the root principal password.", +"type": "string" +}, +"tgtLifetimeHours": { +"description": "Optional. The lifetime of the ticket granting ticket, in hours. If not specified, or user specifies 0, then default value 10 will be used.", +"format": "int32", +"type": "integer" +}, +"truststorePasswordUri": { +"description": "Optional. The Cloud Storage URI of a KMS encrypted file containing the password to the user provided truststore. For the self-signed certificate, this password is generated by Dataproc.", +"type": "string" +}, +"truststoreUri": { +"description": "Optional. The Cloud Storage URI of the truststore file used for SSL encryption. If not provided, Dataproc will provide a self-signed certificate.", +"type": "string" +} +}, +"type": "object" +}, +"KubernetesClusterConfig": { +"description": "The configuration for running the Dataproc cluster on Kubernetes.", +"id": "KubernetesClusterConfig", +"properties": { +"gkeClusterConfig": { +"$ref": "GkeClusterConfig", +"description": "Required. The configuration for running the Dataproc cluster on GKE." +}, +"kubernetesNamespace": { +"description": "Optional. A namespace within the Kubernetes cluster to deploy into. If this namespace does not exist, it is created. If it exists, Dataproc verifies that another Dataproc VirtualCluster is not installed into it. If not specified, the name of the Dataproc Cluster is used.", +"type": "string" +}, +"kubernetesSoftwareConfig": { +"$ref": "KubernetesSoftwareConfig", +"description": "Optional. The software configuration for this Dataproc cluster running on Kubernetes." +} +}, +"type": "object" +}, +"KubernetesSoftwareConfig": { +"description": "The software configuration for this Dataproc cluster running on Kubernetes.", +"id": "KubernetesSoftwareConfig", +"properties": { +"componentVersion": { +"additionalProperties": { +"type": "string" +}, +"description": "The components that should be installed in this Dataproc cluster. The key must be a string from the KubernetesComponent enumeration. The value is the version of the software to be installed. At least one entry must be specified.", +"type": "object" +}, +"properties": { +"additionalProperties": { +"type": "string" +}, +"description": "The properties to set on daemon config files.Property keys are specified in prefix:property format, for example spark:spark.kubernetes.container.image. The following are supported prefixes and their mappings: spark: spark-defaults.confFor more information, see Cluster properties (https://cloud.google.com/dataproc/docs/concepts/cluster-properties).", +"type": "object" +} +}, +"type": "object" +}, +"LifecycleConfig": { +"description": "Specifies the cluster auto-delete schedule configuration.", +"id": "LifecycleConfig", +"properties": { +"autoDeleteTime": { +"description": "Optional. The time when cluster will be auto-deleted (see JSON representation of Timestamp (https://developers.google.com/protocol-buffers/docs/proto3#json)).", +"format": "google-datetime", +"type": "string" +}, +"autoDeleteTtl": { +"description": "Optional. The lifetime duration of cluster. The cluster will be auto-deleted at the end of this period. Minimum value is 10 minutes; maximum value is 14 days (see JSON representation of Duration (https://developers.google.com/protocol-buffers/docs/proto3#json)).", +"format": "google-duration", +"type": "string" +}, +"idleDeleteTtl": { +"description": "Optional. The duration to keep the cluster alive while idling (when no jobs are running). Passing this threshold will cause the cluster to be deleted. Minimum value is 5 minutes; maximum value is 14 days (see JSON representation of Duration (https://developers.google.com/protocol-buffers/docs/proto3#json)).", +"format": "google-duration", +"type": "string" +}, +"idleStartTime": { +"description": "Output only. The time when cluster became idle (most recent job finished) and became eligible for deletion due to idleness (see JSON representation of Timestamp (https://developers.google.com/protocol-buffers/docs/proto3#json)).", +"format": "google-datetime", +"readOnly": true, +"type": "string" +} +}, +"type": "object" +}, +"ListAutoscalingPoliciesResponse": { +"description": "A response to a request to list autoscaling policies in a project.", +"id": "ListAutoscalingPoliciesResponse", +"properties": { +"nextPageToken": { +"description": "Output only. This token is included in the response if there are more results to fetch.", +"readOnly": true, +"type": "string" +}, +"policies": { +"description": "Output only. Autoscaling policies list.", +"items": { +"$ref": "AutoscalingPolicy" +}, +"readOnly": true, +"type": "array" +} +}, +"type": "object" +}, +"ListBatchesResponse": { +"description": "A list of batch workloads.", +"id": "ListBatchesResponse", +"properties": { +"batches": { +"description": "Output only. The batches from the specified collection.", +"items": { +"$ref": "Batch" +}, +"readOnly": true, +"type": "array" +}, +"nextPageToken": { +"description": "A token, which can be sent as page_token to retrieve the next page. If this field is omitted, there are no subsequent pages.", +"type": "string" +}, +"unreachable": { +"description": "Output only. List of Batches that could not be included in the response. Attempting to get one of these resources may indicate why it was not included in the list response.", +"items": { +"type": "string" +}, +"readOnly": true, +"type": "array" +} +}, +"type": "object" +}, +"ListClustersResponse": { +"description": "The list of all clusters in a project.", +"id": "ListClustersResponse", +"properties": { +"clusters": { +"description": "Output only. The clusters in the project.", +"items": { +"$ref": "Cluster" +}, +"readOnly": true, +"type": "array" +}, +"nextPageToken": { +"description": "Output only. This token is included in the response if there are more results to fetch. To fetch additional results, provide this value as the page_token in a subsequent ListClustersRequest.", +"readOnly": true, +"type": "string" +} +}, +"type": "object" +}, +"ListJobsResponse": { +"description": "A list of jobs in a project.", +"id": "ListJobsResponse", +"properties": { +"jobs": { +"description": "Output only. Jobs list.", +"items": { +"$ref": "Job" +}, +"readOnly": true, +"type": "array" +}, +"nextPageToken": { +"description": "Optional. This token is included in the response if there are more results to fetch. To fetch additional results, provide this value as the page_token in a subsequent ListJobsRequest.", +"type": "string" +}, +"unreachable": { +"description": "Output only. List of jobs with kms_key-encrypted parameters that could not be decrypted. A response to a jobs.get request may indicate the reason for the decryption failure for a specific job.", +"items": { +"type": "string" +}, +"readOnly": true, +"type": "array" +} +}, +"type": "object" +}, +"ListOperationsResponse": { +"description": "The response message for Operations.ListOperations.", +"id": "ListOperationsResponse", +"properties": { +"nextPageToken": { +"description": "The standard List next-page token.", +"type": "string" +}, +"operations": { +"description": "A list of operations that matches the specified filter in the request.", +"items": { +"$ref": "Operation" +}, +"type": "array" +} +}, +"type": "object" +}, +"ListSessionTemplatesResponse": { +"description": "A list of session templates.", +"id": "ListSessionTemplatesResponse", +"properties": { +"nextPageToken": { +"description": "A token, which can be sent as page_token to retrieve the next page. If this field is omitted, there are no subsequent pages.", +"type": "string" +}, +"sessionTemplates": { +"description": "Output only. Session template list", +"items": { +"$ref": "SessionTemplate" +}, +"readOnly": true, +"type": "array" +} +}, +"type": "object" +}, +"ListSessionsResponse": { +"description": "A list of interactive sessions.", +"id": "ListSessionsResponse", +"properties": { +"nextPageToken": { +"description": "A token, which can be sent as page_token, to retrieve the next page. If this field is omitted, there are no subsequent pages.", +"type": "string" +}, +"sessions": { +"description": "Output only. The sessions from the specified collection.", +"items": { +"$ref": "Session" +}, +"readOnly": true, +"type": "array" +} +}, +"type": "object" +}, +"ListWorkflowTemplatesResponse": { +"description": "A response to a request to list workflow templates in a project.", +"id": "ListWorkflowTemplatesResponse", +"properties": { +"nextPageToken": { +"description": "Output only. This token is included in the response if there are more results to fetch. To fetch additional results, provide this value as the page_token in a subsequent ListWorkflowTemplatesRequest.", +"readOnly": true, +"type": "string" +}, +"templates": { +"description": "Output only. WorkflowTemplates list.", +"items": { +"$ref": "WorkflowTemplate" +}, +"readOnly": true, +"type": "array" +}, +"unreachable": { +"description": "Output only. List of workflow templates that could not be included in the response. Attempting to get one of these resources may indicate why it was not included in the list response.", +"items": { +"type": "string" +}, +"readOnly": true, +"type": "array" +} +}, +"type": "object" +}, +"LoggingConfig": { +"description": "The runtime logging config of the job.", +"id": "LoggingConfig", +"properties": { +"driverLogLevels": { +"additionalProperties": { +"enum": [ +"LEVEL_UNSPECIFIED", +"ALL", +"TRACE", +"DEBUG", +"INFO", +"WARN", +"ERROR", +"FATAL", +"OFF" +], +"enumDescriptions": [ +"Level is unspecified. Use default level for log4j.", +"Use ALL level for log4j.", +"Use TRACE level for log4j.", +"Use DEBUG level for log4j.", +"Use INFO level for log4j.", +"Use WARN level for log4j.", +"Use ERROR level for log4j.", +"Use FATAL level for log4j.", +"Turn off log4j." +], +"type": "string" +}, +"description": "The per-package log levels for the driver. This can include \"root\" package name to configure rootLogger. Examples: - 'com.google = FATAL' - 'root = INFO' - 'org.apache = DEBUG'", +"type": "object" +} +}, +"type": "object" +}, +"ManagedCluster": { +"description": "Cluster that is managed by the workflow.", +"id": "ManagedCluster", +"properties": { +"clusterName": { +"description": "Required. The cluster name prefix. A unique cluster name will be formed by appending a random suffix.The name must contain only lower-case letters (a-z), numbers (0-9), and hyphens (-). Must begin with a letter. Cannot begin or end with hyphen. Must consist of between 2 and 35 characters.", +"type": "string" +}, +"config": { +"$ref": "ClusterConfig", +"description": "Required. The cluster configuration." +}, +"labels": { +"additionalProperties": { +"type": "string" +}, +"description": "Optional. The labels to associate with this cluster.Label keys must be between 1 and 63 characters long, and must conform to the following PCRE regular expression: \\p{Ll}\\p{Lo}{0,62}Label values must be between 1 and 63 characters long, and must conform to the following PCRE regular expression: \\p{Ll}\\p{Lo}\\p{N}_-{0,63}No more than 32 labels can be associated with a given cluster.", +"type": "object" +} +}, +"type": "object" +}, +"ManagedGroupConfig": { +"description": "Specifies the resources used to actively manage an instance group.", +"id": "ManagedGroupConfig", +"properties": { +"instanceGroupManagerName": { +"description": "Output only. The name of the Instance Group Manager for this group.", +"readOnly": true, +"type": "string" +}, +"instanceGroupManagerUri": { +"description": "Output only. The partial URI to the instance group manager for this group. E.g. projects/my-project/regions/us-central1/instanceGroupManagers/my-igm.", +"readOnly": true, +"type": "string" +}, +"instanceTemplateName": { +"description": "Output only. The name of the Instance Template used for the Managed Instance Group.", +"readOnly": true, +"type": "string" +} +}, +"type": "object" +}, +"MemoryMetrics": { +"id": "MemoryMetrics", +"properties": { +"totalOffHeapStorageMemory": { +"format": "int64", +"type": "string" +}, +"totalOnHeapStorageMemory": { +"format": "int64", +"type": "string" +}, +"usedOffHeapStorageMemory": { +"format": "int64", +"type": "string" +}, +"usedOnHeapStorageMemory": { +"format": "int64", +"type": "string" +} +}, +"type": "object" +}, +"MetastoreConfig": { +"description": "Specifies a Metastore configuration.", +"id": "MetastoreConfig", +"properties": { +"dataprocMetastoreService": { +"description": "Required. Resource name of an existing Dataproc Metastore service.Example: projects/[project_id]/locations/[dataproc_region]/services/[service-name]", +"type": "string" +} +}, +"type": "object" +}, +"Metric": { +"description": "A Dataproc custom metric.", +"id": "Metric", +"properties": { +"metricOverrides": { +"description": "Optional. Specify one or more Custom metrics (https://cloud.google.com/dataproc/docs/guides/dataproc-metrics#custom_metrics) to collect for the metric course (for the SPARK metric source (any Spark metric (https://spark.apache.org/docs/latest/monitoring.html#metrics) can be specified).Provide metrics in the following format: METRIC_SOURCE: INSTANCE:GROUP:METRIC Use camelcase as appropriate.Examples: yarn:ResourceManager:QueueMetrics:AppsCompleted spark:driver:DAGScheduler:job.allJobs sparkHistoryServer:JVM:Memory:NonHeapMemoryUsage.committed hiveserver2:JVM:Memory:NonHeapMemoryUsage.used Notes: Only the specified overridden metrics are collected for the metric source. For example, if one or more spark:executive metrics are listed as metric overrides, other SPARK metrics are not collected. The collection of the metrics for other enabled custom metric sources is unaffected. For example, if both SPARK andd YARN metric sources are enabled, and overrides are provided for Spark metrics only, all YARN metrics are collected.", +"items": { +"type": "string" +}, +"type": "array" +}, +"metricSource": { +"description": "Required. A standard set of metrics is collected unless metricOverrides are specified for the metric source (see Custom metrics (https://cloud.google.com/dataproc/docs/guides/dataproc-metrics#custom_metrics) for more information).", +"enum": [ +"METRIC_SOURCE_UNSPECIFIED", +"MONITORING_AGENT_DEFAULTS", +"HDFS", +"SPARK", +"YARN", +"SPARK_HISTORY_SERVER", +"HIVESERVER2", +"HIVEMETASTORE", +"FLINK" +], +"enumDescriptions": [ +"Required unspecified metric source.", +"Monitoring agent metrics. If this source is enabled, Dataproc enables the monitoring agent in Compute Engine, and collects monitoring agent metrics, which are published with an agent.googleapis.com prefix.", +"HDFS metric source.", +"Spark metric source.", +"YARN metric source.", +"Spark History Server metric source.", +"Hiveserver2 metric source.", +"hivemetastore metric source", +"flink metric source" +], +"type": "string" +} +}, +"type": "object" +}, +"NamespacedGkeDeploymentTarget": { +"deprecated": true, +"description": "Deprecated. Used only for the deprecated beta. A full, namespace-isolated deployment target for an existing GKE cluster.", +"id": "NamespacedGkeDeploymentTarget", +"properties": { +"clusterNamespace": { +"description": "Optional. A namespace within the GKE cluster to deploy into.", +"type": "string" +}, +"targetGkeCluster": { +"description": "Optional. The target GKE cluster to deploy to. Format: 'projects/{project}/locations/{location}/clusters/{cluster_id}'", +"type": "string" +} +}, +"type": "object" +}, +"NodeGroup": { +"description": "Dataproc Node Group. The Dataproc NodeGroup resource is not related to the Dataproc NodeGroupAffinity resource.", +"id": "NodeGroup", +"properties": { +"labels": { +"additionalProperties": { +"type": "string" +}, +"description": "Optional. Node group labels. Label keys must consist of from 1 to 63 characters and conform to RFC 1035 (https://www.ietf.org/rfc/rfc1035.txt). Label values can be empty. If specified, they must consist of from 1 to 63 characters and conform to RFC 1035 (https://www.ietf.org/rfc/rfc1035.txt). The node group must have no more than 32 labels.", +"type": "object" +}, +"name": { +"description": "The Node group resource name (https://aip.dev/122).", +"type": "string" +}, +"nodeGroupConfig": { +"$ref": "InstanceGroupConfig", +"description": "Optional. The node group instance group configuration." +}, +"roles": { +"description": "Required. Node group roles.", +"items": { +"enum": [ +"ROLE_UNSPECIFIED", +"DRIVER" +], +"enumDescriptions": [ +"Required unspecified role.", +"Job drivers run on the node pool." +], +"type": "string" +}, +"type": "array" +} +}, +"type": "object" +}, +"NodeGroupAffinity": { +"description": "Node Group Affinity for clusters using sole-tenant node groups. The Dataproc NodeGroupAffinity resource is not related to the Dataproc NodeGroup resource.", +"id": "NodeGroupAffinity", +"properties": { +"nodeGroupUri": { +"description": "Required. The URI of a sole-tenant node group resource (https://cloud.google.com/compute/docs/reference/rest/v1/nodeGroups) that the cluster will be created on.A full URL, partial URI, or node group name are valid. Examples: https://www.googleapis.com/compute/v1/projects/[project_id]/zones/[zone]/nodeGroups/node-group-1 projects/[project_id]/zones/[zone]/nodeGroups/node-group-1 node-group-1", +"type": "string" +} +}, +"type": "object" +}, +"NodeGroupOperationMetadata": { +"description": "Metadata describing the node group operation.", +"id": "NodeGroupOperationMetadata", +"properties": { +"clusterUuid": { +"description": "Output only. Cluster UUID associated with the node group operation.", +"readOnly": true, +"type": "string" +}, +"description": { +"description": "Output only. Short description of operation.", +"readOnly": true, +"type": "string" +}, +"labels": { +"additionalProperties": { +"type": "string" +}, +"description": "Output only. Labels associated with the operation.", +"readOnly": true, +"type": "object" +}, +"nodeGroupId": { +"description": "Output only. Node group ID for the operation.", +"readOnly": true, +"type": "string" +}, +"operationType": { +"description": "The operation type.", +"enum": [ +"NODE_GROUP_OPERATION_TYPE_UNSPECIFIED", +"CREATE", +"UPDATE", +"DELETE", +"RESIZE", +"REPAIR", +"UPDATE_LABELS", +"START", +"STOP" +], +"enumDescriptions": [ +"Node group operation type is unknown.", +"Create node group operation type.", +"Update node group operation type.", +"Delete node group operation type.", +"Resize node group operation type.", +"Repair node group operation type.", +"Update node group label operation type.", +"Start node group operation type.", +"Stop node group operation type." +], +"type": "string" +}, +"status": { +"$ref": "ClusterOperationStatus", +"description": "Output only. Current operation status.", +"readOnly": true +}, +"statusHistory": { +"description": "Output only. The previous operation status.", +"items": { +"$ref": "ClusterOperationStatus" +}, +"readOnly": true, +"type": "array" +}, +"warnings": { +"description": "Output only. Errors encountered during operation execution.", +"items": { +"type": "string" +}, +"readOnly": true, +"type": "array" +} +}, +"type": "object" +}, +"NodeInitializationAction": { +"description": "Specifies an executable to run on a fully configured node and a timeout period for executable completion.", +"id": "NodeInitializationAction", +"properties": { +"executableFile": { +"description": "Required. Cloud Storage URI of executable file.", +"type": "string" +}, +"executionTimeout": { +"description": "Optional. Amount of time executable has to complete. Default is 10 minutes (see JSON representation of Duration (https://developers.google.com/protocol-buffers/docs/proto3#json)).Cluster creation fails with an explanatory error message (the name of the executable that caused the error and the exceeded timeout period) if the executable is not completed at end of the timeout period.", +"format": "google-duration", +"type": "string" +} +}, +"type": "object" +}, +"NodePool": { +"description": "indicating a list of workers of same type", +"id": "NodePool", +"properties": { +"id": { +"description": "Required. A unique id of the node pool. Primary and Secondary workers can be specified using special reserved ids PRIMARY_WORKER_POOL and SECONDARY_WORKER_POOL respectively. Aux node pools can be referenced using corresponding pool id.", +"type": "string" +}, +"instanceNames": { +"description": "Name of instances to be repaired. These instances must belong to specified node pool.", +"items": { +"type": "string" +}, +"type": "array" +}, +"repairAction": { +"description": "Required. Repair action to take on specified resources of the node pool.", +"enum": [ +"REPAIR_ACTION_UNSPECIFIED", +"DELETE" +], +"enumDescriptions": [ +"No action will be taken by default.", +"delete the specified list of nodes." +], +"type": "string" +} +}, +"type": "object" +}, +"Operation": { +"description": "This resource represents a long-running operation that is the result of a network API call.", +"id": "Operation", +"properties": { +"done": { +"description": "If the value is false, it means the operation is still in progress. If true, the operation is completed, and either error or response is available.", +"type": "boolean" +}, +"error": { +"$ref": "Status", +"description": "The error result of the operation in case of failure or cancellation." +}, +"metadata": { +"additionalProperties": { +"description": "Properties of the object. Contains field @type with type URL.", +"type": "any" +}, +"description": "Service-specific metadata associated with the operation. It typically contains progress information and common metadata such as create time. Some services might not provide such metadata. Any method that returns a long-running operation should document the metadata type, if any.", +"type": "object" +}, +"name": { +"description": "The server-assigned name, which is only unique within the same service that originally returns it. If you use the default HTTP mapping, the name should be a resource name ending with operations/{unique_id}.", +"type": "string" +}, +"response": { +"additionalProperties": { +"description": "Properties of the object. Contains field @type with type URL.", +"type": "any" +}, +"description": "The normal, successful response of the operation. If the original method returns no data on success, such as Delete, the response is google.protobuf.Empty. If the original method is standard Get/Create/Update, the response should be the resource. For other methods, the response should have the type XxxResponse, where Xxx is the original method name. For example, if the original method name is TakeSnapshot(), the inferred response type is TakeSnapshotResponse.", +"type": "object" +} +}, +"type": "object" +}, +"OrderedJob": { +"description": "A job executed by the workflow.", +"id": "OrderedJob", +"properties": { +"flinkJob": { +"$ref": "FlinkJob", +"description": "Optional. Job is a Flink job." +}, +"hadoopJob": { +"$ref": "HadoopJob", +"description": "Optional. Job is a Hadoop job." +}, +"hiveJob": { +"$ref": "HiveJob", +"description": "Optional. Job is a Hive job." +}, +"labels": { +"additionalProperties": { +"type": "string" +}, +"description": "Optional. The labels to associate with this job.Label keys must be between 1 and 63 characters long, and must conform to the following regular expression: \\p{Ll}\\p{Lo}{0,62}Label values must be between 1 and 63 characters long, and must conform to the following regular expression: \\p{Ll}\\p{Lo}\\p{N}_-{0,63}No more than 32 labels can be associated with a given job.", +"type": "object" +}, +"pigJob": { +"$ref": "PigJob", +"description": "Optional. Job is a Pig job." +}, +"prerequisiteStepIds": { +"description": "Optional. The optional list of prerequisite job step_ids. If not specified, the job will start at the beginning of workflow.", +"items": { +"type": "string" +}, +"type": "array" +}, +"prestoJob": { +"$ref": "PrestoJob", +"description": "Optional. Job is a Presto job." +}, +"pysparkJob": { +"$ref": "PySparkJob", +"description": "Optional. Job is a PySpark job." +}, +"scheduling": { +"$ref": "JobScheduling", +"description": "Optional. Job scheduling configuration." +}, +"sparkJob": { +"$ref": "SparkJob", +"description": "Optional. Job is a Spark job." +}, +"sparkRJob": { +"$ref": "SparkRJob", +"description": "Optional. Job is a SparkR job." +}, +"sparkSqlJob": { +"$ref": "SparkSqlJob", +"description": "Optional. Job is a SparkSql job." +}, +"stepId": { +"description": "Required. The step id. The id must be unique among all jobs within the template.The step id is used as prefix for job id, as job goog-dataproc-workflow-step-id label, and in prerequisiteStepIds field from other steps.The id must contain only letters (a-z, A-Z), numbers (0-9), underscores (_), and hyphens (-). Cannot begin or end with underscore or hyphen. Must consist of between 3 and 50 characters.", +"type": "string" +}, +"trinoJob": { +"$ref": "TrinoJob", +"description": "Optional. Job is a Trino job." +} +}, +"type": "object" +}, +"OutputMetrics": { +"description": "Metrics about the data written by the task.", +"id": "OutputMetrics", +"properties": { +"bytesWritten": { +"format": "int64", +"type": "string" +}, +"recordsWritten": { +"format": "int64", +"type": "string" +} +}, +"type": "object" +}, +"OutputQuantileMetrics": { +"id": "OutputQuantileMetrics", +"properties": { +"bytesWritten": { +"$ref": "Quantiles" +}, +"recordsWritten": { +"$ref": "Quantiles" +} +}, +"type": "object" +}, +"ParameterValidation": { +"description": "Configuration for parameter validation.", +"id": "ParameterValidation", +"properties": { +"regex": { +"$ref": "RegexValidation", +"description": "Validation based on regular expressions." +}, +"values": { +"$ref": "ValueValidation", +"description": "Validation based on a list of allowed values." +} +}, +"type": "object" +}, +"PeripheralsConfig": { +"description": "Auxiliary services configuration for a workload.", +"id": "PeripheralsConfig", +"properties": { +"metastoreService": { +"description": "Optional. Resource name of an existing Dataproc Metastore service.Example: projects/[project_id]/locations/[region]/services/[service_id]", +"type": "string" +}, +"sparkHistoryServerConfig": { +"$ref": "SparkHistoryServerConfig", +"description": "Optional. The Spark History Server configuration for the workload." +} +}, +"type": "object" +}, +"PigJob": { +"description": "A Dataproc job for running Apache Pig (https://pig.apache.org/) queries on YARN.", +"id": "PigJob", +"properties": { +"continueOnFailure": { +"description": "Optional. Whether to continue executing queries if a query fails. The default value is false. Setting to true can be useful when executing independent parallel queries.", +"type": "boolean" +}, +"jarFileUris": { +"description": "Optional. HCFS URIs of jar files to add to the CLASSPATH of the Pig Client and Hadoop MapReduce (MR) tasks. Can contain Pig UDFs.", +"items": { +"type": "string" +}, +"type": "array" +}, +"loggingConfig": { +"$ref": "LoggingConfig", +"description": "Optional. The runtime log config for job execution." +}, +"properties": { +"additionalProperties": { +"type": "string" +}, +"description": "Optional. A mapping of property names to values, used to configure Pig. Properties that conflict with values set by the Dataproc API might be overwritten. Can include properties set in /etc/hadoop/conf/*-site.xml, /etc/pig/conf/pig.properties, and classes in user code.", +"type": "object" +}, +"queryFileUri": { +"description": "The HCFS URI of the script that contains the Pig queries.", +"type": "string" +}, +"queryList": { +"$ref": "QueryList", +"description": "A list of queries." +}, +"scriptVariables": { +"additionalProperties": { +"type": "string" +}, +"description": "Optional. Mapping of query variable names to values (equivalent to the Pig command: name=[value]).", +"type": "object" +} +}, +"type": "object" +}, +"Policy": { +"description": "An Identity and Access Management (IAM) policy, which specifies access controls for Google Cloud resources.A Policy is a collection of bindings. A binding binds one or more members, or principals, to a single role. Principals can be user accounts, service accounts, Google groups, and domains (such as G Suite). A role is a named list of permissions; each role can be an IAM predefined role or a user-created custom role.For some types of Google Cloud resources, a binding can also specify a condition, which is a logical expression that allows access to a resource only if the expression evaluates to true. A condition can add constraints based on attributes of the request, the resource, or both. To learn which resources support conditions in their IAM policies, see the IAM documentation (https://cloud.google.com/iam/help/conditions/resource-policies).JSON example: { \"bindings\": [ { \"role\": \"roles/resourcemanager.organizationAdmin\", \"members\": [ \"user:mike@example.com\", \"group:admins@example.com\", \"domain:google.com\", \"serviceAccount:my-project-id@appspot.gserviceaccount.com\" ] }, { \"role\": \"roles/resourcemanager.organizationViewer\", \"members\": [ \"user:eve@example.com\" ], \"condition\": { \"title\": \"expirable access\", \"description\": \"Does not grant access after Sep 2020\", \"expression\": \"request.time < timestamp('2020-10-01T00:00:00.000Z')\", } } ], \"etag\": \"BwWWja0YfJA=\", \"version\": 3 } YAML example: bindings: - members: - user:mike@example.com - group:admins@example.com - domain:google.com - serviceAccount:my-project-id@appspot.gserviceaccount.com role: roles/resourcemanager.organizationAdmin - members: - user:eve@example.com role: roles/resourcemanager.organizationViewer condition: title: expirable access description: Does not grant access after Sep 2020 expression: request.time < timestamp('2020-10-01T00:00:00.000Z') etag: BwWWja0YfJA= version: 3 For a description of IAM and its features, see the IAM documentation (https://cloud.google.com/iam/docs/).", +"id": "Policy", +"properties": { +"bindings": { +"description": "Associates a list of members, or principals, with a role. Optionally, may specify a condition that determines how and when the bindings are applied. Each of the bindings must contain at least one principal.The bindings in a Policy can refer to up to 1,500 principals; up to 250 of these principals can be Google groups. Each occurrence of a principal counts towards these limits. For example, if the bindings grant 50 different roles to user:alice@example.com, and not to any other principal, then you can add another 1,450 principals to the bindings in the Policy.", +"items": { +"$ref": "Binding" +}, +"type": "array" +}, +"etag": { +"description": "etag is used for optimistic concurrency control as a way to help prevent simultaneous updates of a policy from overwriting each other. It is strongly suggested that systems make use of the etag in the read-modify-write cycle to perform policy updates in order to avoid race conditions: An etag is returned in the response to getIamPolicy, and systems are expected to put that etag in the request to setIamPolicy to ensure that their change will be applied to the same version of the policy.Important: If you use IAM Conditions, you must include the etag field whenever you call setIamPolicy. If you omit this field, then IAM allows you to overwrite a version 3 policy with a version 1 policy, and all of the conditions in the version 3 policy are lost.", +"format": "byte", +"type": "string" +}, +"version": { +"description": "Specifies the format of the policy.Valid values are 0, 1, and 3. Requests that specify an invalid value are rejected.Any operation that affects conditional role bindings must specify version 3. This requirement applies to the following operations: Getting a policy that includes a conditional role binding Adding a conditional role binding to a policy Changing a conditional role binding in a policy Removing any role binding, with or without a condition, from a policy that includes conditionsImportant: If you use IAM Conditions, you must include the etag field whenever you call setIamPolicy. If you omit this field, then IAM allows you to overwrite a version 3 policy with a version 1 policy, and all of the conditions in the version 3 policy are lost.If a policy does not include any conditions, operations on that policy may specify any valid version or leave the field unset.To learn which resources support conditions in their IAM policies, see the IAM documentation (https://cloud.google.com/iam/help/conditions/resource-policies).", +"format": "int32", +"type": "integer" +} +}, +"type": "object" +}, +"PoolData": { +"description": "Pool Data", +"id": "PoolData", +"properties": { +"name": { +"type": "string" +}, +"stageIds": { +"items": { +"format": "int64", +"type": "string" +}, +"type": "array" +} +}, +"type": "object" +}, +"PrestoJob": { +"description": "A Dataproc job for running Presto (https://prestosql.io/) queries. IMPORTANT: The Dataproc Presto Optional Component (https://cloud.google.com/dataproc/docs/concepts/components/presto) must be enabled when the cluster is created to submit a Presto job to the cluster.", +"id": "PrestoJob", +"properties": { +"clientTags": { +"description": "Optional. Presto client tags to attach to this query", +"items": { +"type": "string" +}, +"type": "array" +}, +"continueOnFailure": { +"description": "Optional. Whether to continue executing queries if a query fails. The default value is false. Setting to true can be useful when executing independent parallel queries.", +"type": "boolean" +}, +"loggingConfig": { +"$ref": "LoggingConfig", +"description": "Optional. The runtime log config for job execution." +}, +"outputFormat": { +"description": "Optional. The format in which query output will be displayed. See the Presto documentation for supported output formats", +"type": "string" +}, +"properties": { +"additionalProperties": { +"type": "string" +}, +"description": "Optional. A mapping of property names to values. Used to set Presto session properties (https://prestodb.io/docs/current/sql/set-session.html) Equivalent to using the --session flag in the Presto CLI", +"type": "object" +}, +"queryFileUri": { +"description": "The HCFS URI of the script that contains SQL queries.", +"type": "string" +}, +"queryList": { +"$ref": "QueryList", +"description": "A list of queries." +} +}, +"type": "object" +}, +"ProcessSummary": { +"description": "Process Summary", +"id": "ProcessSummary", +"properties": { +"addTime": { +"format": "google-datetime", +"type": "string" +}, +"hostPort": { +"type": "string" +}, +"isActive": { +"type": "boolean" +}, +"processId": { +"type": "string" +}, +"processLogs": { +"additionalProperties": { +"type": "string" +}, +"type": "object" +}, +"removeTime": { +"format": "google-datetime", +"type": "string" +}, +"totalCores": { +"format": "int32", +"type": "integer" +} +}, +"type": "object" +}, +"ProvisioningModelMix": { +"description": "Defines how Dataproc should create VMs with a mixture of provisioning models.", +"id": "ProvisioningModelMix", +"properties": { +"standardCapacityBase": { +"description": "Optional. The base capacity that will always use Standard VMs to avoid risk of more preemption than the minimum capacity you need. Dataproc will create only standard VMs until it reaches standard_capacity_base, then it will start using standard_capacity_percent_above_base to mix Spot with Standard VMs. eg. If 15 instances are requested and standard_capacity_base is 5, Dataproc will create 5 standard VMs and then start mixing spot and standard VMs for remaining 10 instances.", +"format": "int32", +"type": "integer" +}, +"standardCapacityPercentAboveBase": { +"description": "Optional. The percentage of target capacity that should use Standard VM. The remaining percentage will use Spot VMs. The percentage applies only to the capacity above standard_capacity_base. eg. If 15 instances are requested and standard_capacity_base is 5 and standard_capacity_percent_above_base is 30, Dataproc will create 5 standard VMs and then start mixing spot and standard VMs for remaining 10 instances. The mix will be 30% standard and 70% spot.", +"format": "int32", +"type": "integer" +} +}, +"type": "object" +}, +"PyPiRepositoryConfig": { +"description": "Configuration for PyPi repository", +"id": "PyPiRepositoryConfig", +"properties": { +"pypiRepository": { +"description": "Optional. PyPi repository address", +"type": "string" +} +}, +"type": "object" +}, +"PySparkBatch": { +"description": "A configuration for running an Apache PySpark (https://spark.apache.org/docs/latest/api/python/getting_started/quickstart.html) batch workload.", +"id": "PySparkBatch", +"properties": { +"archiveUris": { +"description": "Optional. HCFS URIs of archives to be extracted into the working directory of each executor. Supported file types: .jar, .tar, .tar.gz, .tgz, and .zip.", +"items": { +"type": "string" +}, +"type": "array" +}, +"args": { +"description": "Optional. The arguments to pass to the driver. Do not include arguments that can be set as batch properties, such as --conf, since a collision can occur that causes an incorrect batch submission.", +"items": { +"type": "string" +}, +"type": "array" +}, +"fileUris": { +"description": "Optional. HCFS URIs of files to be placed in the working directory of each executor.", +"items": { +"type": "string" +}, +"type": "array" +}, +"jarFileUris": { +"description": "Optional. HCFS URIs of jar files to add to the classpath of the Spark driver and tasks.", +"items": { +"type": "string" +}, +"type": "array" +}, +"mainPythonFileUri": { +"description": "Required. The HCFS URI of the main Python file to use as the Spark driver. Must be a .py file.", +"type": "string" +}, +"pythonFileUris": { +"description": "Optional. HCFS file URIs of Python files to pass to the PySpark framework. Supported file types: .py, .egg, and .zip.", +"items": { +"type": "string" +}, +"type": "array" +} +}, +"type": "object" +}, +"PySparkJob": { +"description": "A Dataproc job for running Apache PySpark (https://spark.apache.org/docs/latest/api/python/index.html#pyspark-overview) applications on YARN.", +"id": "PySparkJob", +"properties": { +"archiveUris": { +"description": "Optional. HCFS URIs of archives to be extracted into the working directory of each executor. Supported file types: .jar, .tar, .tar.gz, .tgz, and .zip.", +"items": { +"type": "string" +}, +"type": "array" +}, +"args": { +"description": "Optional. The arguments to pass to the driver. Do not include arguments, such as --conf, that can be set as job properties, since a collision may occur that causes an incorrect job submission.", +"items": { +"type": "string" +}, +"type": "array" +}, +"fileUris": { +"description": "Optional. HCFS URIs of files to be placed in the working directory of each executor. Useful for naively parallel tasks.", +"items": { +"type": "string" +}, +"type": "array" +}, +"jarFileUris": { +"description": "Optional. HCFS URIs of jar files to add to the CLASSPATHs of the Python driver and tasks.", +"items": { +"type": "string" +}, +"type": "array" +}, +"loggingConfig": { +"$ref": "LoggingConfig", +"description": "Optional. The runtime log config for job execution." +}, +"mainPythonFileUri": { +"description": "Required. The HCFS URI of the main Python file to use as the driver. Must be a .py file.", +"type": "string" +}, +"properties": { +"additionalProperties": { +"type": "string" +}, +"description": "Optional. A mapping of property names to values, used to configure PySpark. Properties that conflict with values set by the Dataproc API might be overwritten. Can include properties set in /etc/spark/conf/spark-defaults.conf and classes in user code.", +"type": "object" +}, +"pythonFileUris": { +"description": "Optional. HCFS file URIs of Python files to pass to the PySpark framework. Supported file types: .py, .egg, and .zip.", +"items": { +"type": "string" +}, +"type": "array" +} +}, +"type": "object" +}, +"Quantiles": { +"description": "Quantile metrics data related to Tasks. Units can be seconds, bytes, milliseconds, etc depending on the message type.", +"id": "Quantiles", +"properties": { +"count": { +"format": "int64", +"type": "string" +}, +"maximum": { +"format": "int64", +"type": "string" +}, +"minimum": { +"format": "int64", +"type": "string" +}, +"percentile25": { +"format": "int64", +"type": "string" +}, +"percentile50": { +"format": "int64", +"type": "string" +}, +"percentile75": { +"format": "int64", +"type": "string" +}, +"sum": { +"format": "int64", +"type": "string" +} +}, +"type": "object" +}, +"QueryList": { +"description": "A list of queries to run on a cluster.", +"id": "QueryList", +"properties": { +"queries": { +"description": "Required. The queries to execute. You do not need to end a query expression with a semicolon. Multiple queries can be specified in one string by separating each with a semicolon. Here is an example of a Dataproc API snippet that uses a QueryList to specify a HiveJob: \"hiveJob\": { \"queryList\": { \"queries\": [ \"query1\", \"query2\", \"query3;query4\", ] } } ", +"items": { +"type": "string" +}, +"type": "array" +} +}, +"type": "object" +}, +"RddDataDistribution": { +"description": "Details about RDD usage.", +"id": "RddDataDistribution", +"properties": { +"address": { +"type": "string" +}, +"diskUsed": { +"format": "int64", +"type": "string" +}, +"memoryRemaining": { +"format": "int64", +"type": "string" +}, +"memoryUsed": { +"format": "int64", +"type": "string" +}, +"offHeapMemoryRemaining": { +"format": "int64", +"type": "string" +}, +"offHeapMemoryUsed": { +"format": "int64", +"type": "string" +}, +"onHeapMemoryRemaining": { +"format": "int64", +"type": "string" +}, +"onHeapMemoryUsed": { +"format": "int64", +"type": "string" +} +}, +"type": "object" +}, +"RddOperationCluster": { +"description": "A grouping of nodes representing higher level constructs (stage, job etc.).", +"id": "RddOperationCluster", +"properties": { +"childClusters": { +"items": { +"$ref": "RddOperationCluster" +}, +"type": "array" +}, +"childNodes": { +"items": { +"$ref": "RddOperationNode" +}, +"type": "array" +}, +"name": { +"type": "string" +}, +"rddClusterId": { +"type": "string" +} +}, +"type": "object" +}, +"RddOperationEdge": { +"description": "A directed edge representing dependency between two RDDs.", +"id": "RddOperationEdge", +"properties": { +"fromId": { +"format": "int32", +"type": "integer" +}, +"toId": { +"format": "int32", +"type": "integer" +} +}, +"type": "object" +}, +"RddOperationGraph": { +"description": "Graph representing RDD dependencies. Consists of edges and a root cluster.", +"id": "RddOperationGraph", +"properties": { +"edges": { +"items": { +"$ref": "RddOperationEdge" +}, +"type": "array" +}, +"incomingEdges": { +"items": { +"$ref": "RddOperationEdge" +}, +"type": "array" +}, +"outgoingEdges": { +"items": { +"$ref": "RddOperationEdge" +}, +"type": "array" +}, +"rootCluster": { +"$ref": "RddOperationCluster" +}, +"stageId": { +"format": "int64", +"type": "string" +} +}, +"type": "object" +}, +"RddOperationNode": { +"description": "A node in the RDD operation graph. Corresponds to a single RDD.", +"id": "RddOperationNode", +"properties": { +"barrier": { +"type": "boolean" +}, +"cached": { +"type": "boolean" +}, +"callsite": { +"type": "string" +}, +"name": { +"type": "string" +}, +"nodeId": { +"format": "int32", +"type": "integer" +}, +"outputDeterministicLevel": { +"enum": [ +"DETERMINISTIC_LEVEL_UNSPECIFIED", +"DETERMINISTIC_LEVEL_DETERMINATE", +"DETERMINISTIC_LEVEL_UNORDERED", +"DETERMINISTIC_LEVEL_INDETERMINATE" +], +"enumDescriptions": [ +"", +"", +"", +"" +], +"type": "string" +} +}, +"type": "object" +}, +"RddPartitionInfo": { +"description": "Information about RDD partitions.", +"id": "RddPartitionInfo", +"properties": { +"blockName": { +"type": "string" +}, +"diskUsed": { +"format": "int64", +"type": "string" +}, +"executors": { +"items": { +"type": "string" +}, +"type": "array" +}, +"memoryUsed": { +"format": "int64", +"type": "string" +}, +"storageLevel": { +"type": "string" +} +}, +"type": "object" +}, +"RddStorageInfo": { +"description": "Overall data about RDD storage.", +"id": "RddStorageInfo", +"properties": { +"dataDistribution": { +"items": { +"$ref": "RddDataDistribution" +}, +"type": "array" +}, +"diskUsed": { +"format": "int64", +"type": "string" +}, +"memoryUsed": { +"format": "int64", +"type": "string" +}, +"name": { +"type": "string" +}, +"numCachedPartitions": { +"format": "int32", +"type": "integer" +}, +"numPartitions": { +"format": "int32", +"type": "integer" +}, +"partitions": { +"items": { +"$ref": "RddPartitionInfo" +}, +"type": "array" +}, +"rddStorageId": { +"format": "int32", +"type": "integer" +}, +"storageLevel": { +"type": "string" +} +}, +"type": "object" +}, +"RegexValidation": { +"description": "Validation based on regular expressions.", +"id": "RegexValidation", +"properties": { +"regexes": { +"description": "Required. RE2 regular expressions used to validate the parameter's value. The value must match the regex in its entirety (substring matches are not sufficient).", +"items": { +"type": "string" +}, +"type": "array" +} +}, +"type": "object" +}, +"RepairClusterRequest": { +"description": "A request to repair a cluster.", +"id": "RepairClusterRequest", +"properties": { +"cluster": { +"$ref": "ClusterToRepair", +"description": "Optional. Cluster to be repaired" +}, +"clusterUuid": { +"description": "Optional. Specifying the cluster_uuid means the RPC will fail (with error NOT_FOUND) if a cluster with the specified UUID does not exist.", +"type": "string" +}, +"gracefulDecommissionTimeout": { +"description": "Optional. Timeout for graceful YARN decommissioning. Graceful decommissioning facilitates the removal of cluster nodes without interrupting jobs in progress. The timeout specifies the amount of time to wait for jobs finish before forcefully removing nodes. The default timeout is 0 for forceful decommissioning, and the maximum timeout period is 1 day. (see JSON Mapping\u2014Duration (https://developers.google.com/protocol-buffers/docs/proto3#json)).graceful_decommission_timeout is supported in Dataproc image versions 1.2+.", +"format": "google-duration", +"type": "string" +}, +"nodePools": { +"description": "Optional. Node pools and corresponding repair action to be taken. All node pools should be unique in this request. i.e. Multiple entries for the same node pool id are not allowed.", +"items": { +"$ref": "NodePool" +}, +"type": "array" +}, +"parentOperationId": { +"description": "Optional. operation id of the parent operation sending the repair request", +"type": "string" +}, +"requestId": { +"description": "Optional. A unique ID used to identify the request. If the server receives two RepairClusterRequests with the same ID, the second request is ignored, and the first google.longrunning.Operation created and stored in the backend is returned.Recommendation: Set this value to a UUID (https://en.wikipedia.org/wiki/Universally_unique_identifier).The ID must contain only letters (a-z, A-Z), numbers (0-9), underscores (_), and hyphens (-). The maximum length is 40 characters.", +"type": "string" +} +}, +"type": "object" +}, +"RepairNodeGroupRequest": { +"id": "RepairNodeGroupRequest", +"properties": { +"instanceNames": { +"description": "Required. Name of instances to be repaired. These instances must belong to specified node pool.", +"items": { +"type": "string" +}, +"type": "array" +}, +"repairAction": { +"description": "Required. Repair action to take on specified resources of the node pool.", +"enum": [ +"REPAIR_ACTION_UNSPECIFIED", +"REPLACE" +], +"enumDescriptions": [ +"No action will be taken by default.", +"replace the specified list of nodes." +], +"type": "string" +}, +"requestId": { +"description": "Optional. A unique ID used to identify the request. If the server receives two RepairNodeGroupRequest with the same ID, the second request is ignored and the first google.longrunning.Operation created and stored in the backend is returned.Recommendation: Set this value to a UUID (https://en.wikipedia.org/wiki/Universally_unique_identifier).The ID must contain only letters (a-z, A-Z), numbers (0-9), underscores (_), and hyphens (-). The maximum length is 40 characters.", +"type": "string" +} +}, +"type": "object" +}, +"RepositoryConfig": { +"description": "Configuration for dependency repositories", +"id": "RepositoryConfig", +"properties": { +"pypiRepositoryConfig": { +"$ref": "PyPiRepositoryConfig", +"description": "Optional. Configuration for PyPi repository." +} +}, +"type": "object" +}, +"ReservationAffinity": { +"description": "Reservation Affinity for consuming Zonal reservation.", +"id": "ReservationAffinity", +"properties": { +"consumeReservationType": { +"description": "Optional. Type of reservation to consume", +"enum": [ +"TYPE_UNSPECIFIED", +"NO_RESERVATION", +"ANY_RESERVATION", +"SPECIFIC_RESERVATION" +], +"enumDescriptions": [ +"", +"Do not consume from any allocated capacity.", +"Consume any reservation available.", +"Must consume from a specific reservation. Must specify key value fields for specifying the reservations." +], +"type": "string" +}, +"key": { +"description": "Optional. Corresponds to the label key of reservation resource.", +"type": "string" +}, +"values": { +"description": "Optional. Corresponds to the label values of reservation resource.", +"items": { +"type": "string" +}, +"type": "array" +} +}, +"type": "object" +}, +"ResizeNodeGroupRequest": { +"description": "A request to resize a node group.", +"id": "ResizeNodeGroupRequest", +"properties": { +"gracefulDecommissionTimeout": { +"description": "Optional. Timeout for graceful YARN decommissioning. Graceful decommissioning (https://cloud.google.com/dataproc/docs/concepts/configuring-clusters/scaling-clusters#graceful_decommissioning) allows the removal of nodes from the Compute Engine node group without interrupting jobs in progress. This timeout specifies how long to wait for jobs in progress to finish before forcefully removing nodes (and potentially interrupting jobs). Default timeout is 0 (for forceful decommission), and the maximum allowed timeout is 1 day. (see JSON representation of Duration (https://developers.google.com/protocol-buffers/docs/proto3#json)).Only supported on Dataproc image versions 1.2 and higher.", +"format": "google-duration", +"type": "string" +}, +"parentOperationId": { +"description": "Optional. operation id of the parent operation sending the resize request", +"type": "string" +}, +"requestId": { +"description": "Optional. A unique ID used to identify the request. If the server receives two ResizeNodeGroupRequest (https://cloud.google.com/dataproc/docs/reference/rpc/google.cloud.dataproc.v1#google.cloud.dataproc.v1.ResizeNodeGroupRequests) with the same ID, the second request is ignored and the first google.longrunning.Operation created and stored in the backend is returned.Recommendation: Set this value to a UUID (https://en.wikipedia.org/wiki/Universally_unique_identifier).The ID must contain only letters (a-z, A-Z), numbers (0-9), underscores (_), and hyphens (-). The maximum length is 40 characters.", +"type": "string" +}, +"size": { +"description": "Required. The number of running instances for the node group to maintain. The group adds or removes instances to maintain the number of instances specified by this parameter.", +"format": "int32", +"type": "integer" +} +}, +"type": "object" +}, +"ResourceInformation": { +"id": "ResourceInformation", +"properties": { +"addresses": { +"items": { +"type": "string" +}, +"type": "array" +}, +"name": { +"type": "string" +} +}, +"type": "object" +}, +"ResourceProfileInfo": { +"description": "Resource profile that contains information about all the resources required by executors and tasks.", +"id": "ResourceProfileInfo", +"properties": { +"executorResources": { +"additionalProperties": { +"$ref": "ExecutorResourceRequest" +}, +"type": "object" +}, +"resourceProfileId": { +"format": "int32", +"type": "integer" +}, +"taskResources": { +"additionalProperties": { +"$ref": "TaskResourceRequest" +}, +"type": "object" +} +}, +"type": "object" +}, +"RuntimeConfig": { +"description": "Runtime configuration for a workload.", +"id": "RuntimeConfig", +"properties": { +"autotuningConfig": { +"$ref": "AutotuningConfig", +"description": "Optional. Autotuning configuration of the workload." +}, +"cohort": { +"description": "Optional. Cohort identifier. Identifies families of the workloads having the same shape, e.g. daily ETL jobs.", +"type": "string" +}, +"containerImage": { +"description": "Optional. Optional custom container image for the job runtime environment. If not specified, a default container image will be used.", +"type": "string" +}, +"properties": { +"additionalProperties": { +"type": "string" +}, +"description": "Optional. A mapping of property names to values, which are used to configure workload execution.", +"type": "object" +}, +"repositoryConfig": { +"$ref": "RepositoryConfig", +"description": "Optional. Dependency repository configuration." +}, +"version": { +"description": "Optional. Version of the batch runtime.", +"type": "string" +} +}, +"type": "object" +}, +"RuntimeInfo": { +"description": "Runtime information about workload execution.", +"id": "RuntimeInfo", +"properties": { +"approximateUsage": { +"$ref": "UsageMetrics", +"description": "Output only. Approximate workload resource usage, calculated when the workload completes (see Dataproc Serverless pricing (https://cloud.google.com/dataproc-serverless/pricing)).Note: This metric calculation may change in the future, for example, to capture cumulative workload resource consumption during workload execution (see the Dataproc Serverless release notes (https://cloud.google.com/dataproc-serverless/docs/release-notes) for announcements, changes, fixes and other Dataproc developments).", +"readOnly": true +}, +"currentUsage": { +"$ref": "UsageSnapshot", +"description": "Output only. Snapshot of current workload resource usage.", +"readOnly": true +}, +"diagnosticOutputUri": { +"description": "Output only. A URI pointing to the location of the diagnostics tarball.", +"readOnly": true, +"type": "string" +}, +"endpoints": { +"additionalProperties": { +"type": "string" +}, +"description": "Output only. Map of remote access endpoints (such as web interfaces and APIs) to their URIs.", +"readOnly": true, +"type": "object" +}, +"outputUri": { +"description": "Output only. A URI pointing to the location of the stdout and stderr of the workload.", +"readOnly": true, +"type": "string" +} +}, +"type": "object" +}, +"SearchSessionSparkApplicationExecutorStageSummaryResponse": { +"description": "List of Executors associated with a Spark Application Stage.", +"id": "SearchSessionSparkApplicationExecutorStageSummaryResponse", +"properties": { +"nextPageToken": { +"description": "This token is included in the response if there are more results to fetch. To fetch additional results, provide this value as the page_token in a subsequent SearchSessionSparkApplicationExecutorStageSummaryRequest.", +"type": "string" +}, +"sparkApplicationStageExecutors": { +"description": "Details about executors used by the application stage.", +"items": { +"$ref": "ExecutorStageSummary" +}, +"type": "array" +} +}, +"type": "object" +}, +"SearchSessionSparkApplicationExecutorsResponse": { +"description": "List of Executors associated with a Spark Application.", +"id": "SearchSessionSparkApplicationExecutorsResponse", +"properties": { +"nextPageToken": { +"description": "This token is included in the response if there are more results to fetch. To fetch additional results, provide this value as the page_token in a subsequent SearchSessionSparkApplicationExecutorsRequest.", +"type": "string" +}, +"sparkApplicationExecutors": { +"description": "Details about executors used by the application.", +"items": { +"$ref": "ExecutorSummary" +}, +"type": "array" +} +}, +"type": "object" +}, +"SearchSessionSparkApplicationJobsResponse": { +"description": "A list of Jobs associated with a Spark Application.", +"id": "SearchSessionSparkApplicationJobsResponse", +"properties": { +"nextPageToken": { +"description": "This token is included in the response if there are more results to fetch. To fetch additional results, provide this value as the page_token in a subsequent SearchSessionSparkApplicationJobsRequest.", +"type": "string" +}, +"sparkApplicationJobs": { +"description": "Output only. Data corresponding to a spark job.", +"items": { +"$ref": "JobData" +}, +"readOnly": true, +"type": "array" +} +}, +"type": "object" +}, +"SearchSessionSparkApplicationSqlQueriesResponse": { +"description": "List of all queries for a Spark Application.", +"id": "SearchSessionSparkApplicationSqlQueriesResponse", +"properties": { +"nextPageToken": { +"description": "This token is included in the response if there are more results to fetch. To fetch additional results, provide this value as the page_token in a subsequent SearchSessionSparkApplicationSqlQueriesRequest.", +"type": "string" +}, +"sparkApplicationSqlQueries": { +"description": "Output only. SQL Execution Data", +"items": { +"$ref": "SqlExecutionUiData" +}, +"readOnly": true, +"type": "array" +} +}, +"type": "object" +}, +"SearchSessionSparkApplicationStageAttemptTasksResponse": { +"description": "List of tasks for a stage of a Spark Application", +"id": "SearchSessionSparkApplicationStageAttemptTasksResponse", +"properties": { +"nextPageToken": { +"description": "This token is included in the response if there are more results to fetch. To fetch additional results, provide this value as the page_token in a subsequent SearchSessionSparkApplicationStageAttemptTasksRequest.", +"type": "string" +}, +"sparkApplicationStageAttemptTasks": { +"description": "Output only. Data corresponding to tasks created by spark.", +"items": { +"$ref": "TaskData" +}, +"readOnly": true, +"type": "array" +} +}, +"type": "object" +}, +"SearchSessionSparkApplicationStageAttemptsResponse": { +"description": "A list of Stage Attempts for a Stage of a Spark Application.", +"id": "SearchSessionSparkApplicationStageAttemptsResponse", +"properties": { +"nextPageToken": { +"description": "This token is included in the response if there are more results to fetch. To fetch additional results, provide this value as the page_token in a subsequent SearchSessionSparkApplicationStageAttemptsRequest.", +"type": "string" +}, +"sparkApplicationStageAttempts": { +"description": "Output only. Data corresponding to a stage attempts", +"items": { +"$ref": "StageData" +}, +"readOnly": true, +"type": "array" +} +}, +"type": "object" +}, +"SearchSessionSparkApplicationStagesResponse": { +"description": "A list of stages associated with a Spark Application.", +"id": "SearchSessionSparkApplicationStagesResponse", +"properties": { +"nextPageToken": { +"description": "This token is included in the response if there are more results to fetch. To fetch additional results, provide this value as the page_token in a subsequent SearchSessionSparkApplicationStages.", +"type": "string" +}, +"sparkApplicationStages": { +"description": "Output only. Data corresponding to a stage.", +"items": { +"$ref": "StageData" +}, +"readOnly": true, +"type": "array" +} +}, +"type": "object" +}, +"SearchSessionSparkApplicationsResponse": { +"description": "A list of summary of Spark Applications", +"id": "SearchSessionSparkApplicationsResponse", +"properties": { +"nextPageToken": { +"description": "This token is included in the response if there are more results to fetch. To fetch additional results, provide this value as the page_token in a subsequent SearchSessionSparkApplicationsRequest.", +"type": "string" +}, +"sparkApplications": { +"description": "Output only. High level information corresponding to an application.", +"items": { +"$ref": "SparkApplication" +}, +"readOnly": true, +"type": "array" +} +}, +"type": "object" +}, +"SearchSparkApplicationExecutorStageSummaryResponse": { +"description": "List of Executors associated with a Spark Application Stage.", +"id": "SearchSparkApplicationExecutorStageSummaryResponse", +"properties": { +"nextPageToken": { +"description": "This token is included in the response if there are more results to fetch. To fetch additional results, provide this value as the page_token in a subsequent SearchSparkApplicationExecutorsListRequest.", +"type": "string" +}, +"sparkApplicationStageExecutors": { +"description": "Details about executors used by the application stage.", +"items": { +"$ref": "ExecutorStageSummary" +}, +"type": "array" +} +}, +"type": "object" +}, +"SearchSparkApplicationExecutorsResponse": { +"description": "List of Executors associated with a Spark Application.", +"id": "SearchSparkApplicationExecutorsResponse", +"properties": { +"nextPageToken": { +"description": "This token is included in the response if there are more results to fetch. To fetch additional results, provide this value as the page_token in a subsequent SearchSparkApplicationExecutorsListRequest.", +"type": "string" +}, +"sparkApplicationExecutors": { +"description": "Details about executors used by the application.", +"items": { +"$ref": "ExecutorSummary" +}, +"type": "array" +} +}, +"type": "object" +}, +"SearchSparkApplicationJobsResponse": { +"description": "A list of Jobs associated with a Spark Application.", +"id": "SearchSparkApplicationJobsResponse", +"properties": { +"nextPageToken": { +"description": "This token is included in the response if there are more results to fetch. To fetch additional results, provide this value as the page_token in a subsequent SearchSparkApplicationJobsRequest.", +"type": "string" +}, +"sparkApplicationJobs": { +"description": "Output only. Data corresponding to a spark job.", +"items": { +"$ref": "JobData" +}, +"readOnly": true, +"type": "array" +} +}, +"type": "object" +}, +"SearchSparkApplicationSqlQueriesResponse": { +"description": "List of all queries for a Spark Application.", +"id": "SearchSparkApplicationSqlQueriesResponse", +"properties": { +"nextPageToken": { +"description": "This token is included in the response if there are more results to fetch. To fetch additional results, provide this value as the page_token in a subsequent SearchSparkApplicationSqlQueriesRequest.", +"type": "string" +}, +"sparkApplicationSqlQueries": { +"description": "Output only. SQL Execution Data", +"items": { +"$ref": "SqlExecutionUiData" +}, +"readOnly": true, +"type": "array" +} +}, +"type": "object" +}, +"SearchSparkApplicationStageAttemptTasksResponse": { +"description": "List of tasks for a stage of a Spark Application", +"id": "SearchSparkApplicationStageAttemptTasksResponse", +"properties": { +"nextPageToken": { +"description": "This token is included in the response if there are more results to fetch. To fetch additional results, provide this value as the page_token in a subsequent ListSparkApplicationStageAttemptTasksRequest.", +"type": "string" +}, +"sparkApplicationStageAttemptTasks": { +"description": "Output only. Data corresponding to tasks created by spark.", +"items": { +"$ref": "TaskData" +}, +"readOnly": true, +"type": "array" +} +}, +"type": "object" +}, +"SearchSparkApplicationStageAttemptsResponse": { +"description": "A list of Stage Attempts for a Stage of a Spark Application.", +"id": "SearchSparkApplicationStageAttemptsResponse", +"properties": { +"nextPageToken": { +"description": "This token is included in the response if there are more results to fetch. To fetch additional results, provide this value as the page_token in a subsequent ListSparkApplicationStageAttemptsRequest.", +"type": "string" +}, +"sparkApplicationStageAttempts": { +"description": "Output only. Data corresponding to a stage attempts", +"items": { +"$ref": "StageData" +}, +"readOnly": true, +"type": "array" +} +}, +"type": "object" +}, +"SearchSparkApplicationStagesResponse": { +"description": "A list of stages associated with a Spark Application.", +"id": "SearchSparkApplicationStagesResponse", +"properties": { +"nextPageToken": { +"description": "This token is included in the response if there are more results to fetch. To fetch additional results, provide this value as the page_token in a subsequent SearchSparkApplicationStages.", +"type": "string" +}, +"sparkApplicationStages": { +"description": "Output only. Data corresponding to a stage.", +"items": { +"$ref": "StageData" +}, +"readOnly": true, +"type": "array" +} +}, +"type": "object" +}, +"SearchSparkApplicationsResponse": { +"description": "A list of summary of Spark Applications", +"id": "SearchSparkApplicationsResponse", +"properties": { +"nextPageToken": { +"description": "This token is included in the response if there are more results to fetch. To fetch additional results, provide this value as the page_token in a subsequent SearchSparkApplicationsRequest.", +"type": "string" +}, +"sparkApplications": { +"description": "Output only. High level information corresponding to an application.", +"items": { +"$ref": "SparkApplication" +}, +"readOnly": true, +"type": "array" +} +}, +"type": "object" +}, +"SecurityConfig": { +"description": "Security related configuration, including encryption, Kerberos, etc.", +"id": "SecurityConfig", +"properties": { +"identityConfig": { +"$ref": "IdentityConfig", +"description": "Optional. Identity related configuration, including service account based secure multi-tenancy user mappings." +}, +"kerberosConfig": { +"$ref": "KerberosConfig", +"description": "Optional. Kerberos related configuration." +} +}, +"type": "object" +}, +"Session": { +"description": "A representation of a session.", +"id": "Session", +"properties": { +"createTime": { +"description": "Output only. The time when the session was created.", +"format": "google-datetime", +"readOnly": true, +"type": "string" +}, +"creator": { +"description": "Output only. The email address of the user who created the session.", +"readOnly": true, +"type": "string" +}, +"environmentConfig": { +"$ref": "EnvironmentConfig", +"description": "Optional. Environment configuration for the session execution." +}, +"jupyterSession": { +"$ref": "JupyterConfig", +"description": "Optional. Jupyter session config." +}, +"labels": { +"additionalProperties": { +"type": "string" +}, +"description": "Optional. The labels to associate with the session. Label keys must contain 1 to 63 characters, and must conform to RFC 1035 (https://www.ietf.org/rfc/rfc1035.txt). Label values may be empty, but, if present, must contain 1 to 63 characters, and must conform to RFC 1035 (https://www.ietf.org/rfc/rfc1035.txt). No more than 32 labels can be associated with a session.", +"type": "object" +}, +"name": { +"description": "Required. The resource name of the session.", +"type": "string" +}, +"runtimeConfig": { +"$ref": "RuntimeConfig", +"description": "Optional. Runtime configuration for the session execution." +}, +"runtimeInfo": { +"$ref": "RuntimeInfo", +"description": "Output only. Runtime information about session execution.", +"readOnly": true +}, +"sessionTemplate": { +"description": "Optional. The session template used by the session.Only resource names, including project ID and location, are valid.Example: * https://www.googleapis.com/compute/v1/projects/[project_id]/locations/[dataproc_region]/sessionTemplates/[template_id] * projects/[project_id]/locations/[dataproc_region]/sessionTemplates/[template_id]The template must be in the same project and Dataproc region as the session.", +"type": "string" +}, +"sparkConnectSession": { +"$ref": "SparkConnectConfig", +"description": "Optional. Spark connect session config." +}, +"state": { +"description": "Output only. A state of the session.", +"enum": [ +"STATE_UNSPECIFIED", +"CREATING", +"ACTIVE", +"TERMINATING", +"TERMINATED", +"FAILED" +], +"enumDescriptions": [ +"The session state is unknown.", +"The session is created prior to running.", +"The session is running.", +"The session is terminating.", +"The session is terminated successfully.", +"The session is no longer running due to an error." +], +"readOnly": true, +"type": "string" +}, +"stateHistory": { +"description": "Output only. Historical state information for the session.", +"items": { +"$ref": "SessionStateHistory" +}, +"readOnly": true, +"type": "array" +}, +"stateMessage": { +"description": "Output only. Session state details, such as the failure description if the state is FAILED.", +"readOnly": true, +"type": "string" +}, +"stateTime": { +"description": "Output only. The time when the session entered the current state.", +"format": "google-datetime", +"readOnly": true, +"type": "string" +}, +"user": { +"description": "Optional. The email address of the user who owns the session.", +"type": "string" +}, +"uuid": { +"description": "Output only. A session UUID (Unique Universal Identifier). The service generates this value when it creates the session.", +"readOnly": true, +"type": "string" +} +}, +"type": "object" +}, +"SessionOperationMetadata": { +"description": "Metadata describing the Session operation.", +"id": "SessionOperationMetadata", +"properties": { +"createTime": { +"description": "The time when the operation was created.", +"format": "google-datetime", +"type": "string" +}, +"description": { +"description": "Short description of the operation.", +"type": "string" +}, +"doneTime": { +"description": "The time when the operation was finished.", +"format": "google-datetime", +"type": "string" +}, +"labels": { +"additionalProperties": { +"type": "string" +}, +"description": "Labels associated with the operation.", +"type": "object" +}, +"operationType": { +"description": "The operation type.", +"enum": [ +"SESSION_OPERATION_TYPE_UNSPECIFIED", +"CREATE", +"TERMINATE", +"DELETE" +], +"enumDescriptions": [ +"Session operation type is unknown.", +"Create Session operation type.", +"Terminate Session operation type.", +"Delete Session operation type." +], +"type": "string" +}, +"session": { +"description": "Name of the session for the operation.", +"type": "string" +}, +"sessionUuid": { +"description": "Session UUID for the operation.", +"type": "string" +}, +"warnings": { +"description": "Warnings encountered during operation execution.", +"items": { +"type": "string" +}, +"type": "array" +} +}, +"type": "object" +}, +"SessionStateHistory": { +"description": "Historical state information.", +"id": "SessionStateHistory", +"properties": { +"state": { +"description": "Output only. The state of the session at this point in the session history.", +"enum": [ +"STATE_UNSPECIFIED", +"CREATING", +"ACTIVE", +"TERMINATING", +"TERMINATED", +"FAILED" +], +"enumDescriptions": [ +"The session state is unknown.", +"The session is created prior to running.", +"The session is running.", +"The session is terminating.", +"The session is terminated successfully.", +"The session is no longer running due to an error." +], +"readOnly": true, +"type": "string" +}, +"stateMessage": { +"description": "Output only. Details about the state at this point in the session history.", +"readOnly": true, +"type": "string" +}, +"stateStartTime": { +"description": "Output only. The time when the session entered the historical state.", +"format": "google-datetime", +"readOnly": true, +"type": "string" +} +}, +"type": "object" +}, +"SessionTemplate": { +"description": "A representation of a session template.", +"id": "SessionTemplate", +"properties": { +"createTime": { +"description": "Output only. The time when the template was created.", +"format": "google-datetime", +"readOnly": true, +"type": "string" +}, +"creator": { +"description": "Output only. The email address of the user who created the template.", +"readOnly": true, +"type": "string" +}, +"description": { +"description": "Optional. Brief description of the template.", +"type": "string" +}, +"environmentConfig": { +"$ref": "EnvironmentConfig", +"description": "Optional. Environment configuration for session execution." +}, +"jupyterSession": { +"$ref": "JupyterConfig", +"description": "Optional. Jupyter session config." +}, +"labels": { +"additionalProperties": { +"type": "string" +}, +"description": "Optional. Labels to associate with sessions created using this template. Label keys must contain 1 to 63 characters, and must conform to RFC 1035 (https://www.ietf.org/rfc/rfc1035.txt). Label values can be empty, but, if present, must contain 1 to 63 characters and conform to RFC 1035 (https://www.ietf.org/rfc/rfc1035.txt). No more than 32 labels can be associated with a session.", +"type": "object" +}, +"name": { +"description": "Required. The resource name of the session template.", +"type": "string" +}, +"runtimeConfig": { +"$ref": "RuntimeConfig", +"description": "Optional. Runtime configuration for session execution." +}, +"sparkConnectSession": { +"$ref": "SparkConnectConfig", +"description": "Optional. Spark connect session config." +}, +"updateTime": { +"description": "Output only. The time the template was last updated.", +"format": "google-datetime", +"readOnly": true, +"type": "string" +}, +"uuid": { +"description": "Output only. A session template UUID (Unique Universal Identifier). The service generates this value when it creates the session template.", +"readOnly": true, +"type": "string" +} +}, +"type": "object" +}, +"SetIamPolicyRequest": { +"description": "Request message for SetIamPolicy method.", +"id": "SetIamPolicyRequest", +"properties": { +"policy": { +"$ref": "Policy", +"description": "REQUIRED: The complete policy to be applied to the resource. The size of the policy is limited to a few 10s of KB. An empty policy is a valid policy but certain Google Cloud services (such as Projects) might reject them." +} +}, +"type": "object" +}, +"ShieldedInstanceConfig": { +"description": "Shielded Instance Config for clusters using Compute Engine Shielded VMs (https://cloud.google.com/security/shielded-cloud/shielded-vm).", +"id": "ShieldedInstanceConfig", +"properties": { +"enableIntegrityMonitoring": { +"description": "Optional. Defines whether instances have integrity monitoring enabled.", +"type": "boolean" +}, +"enableSecureBoot": { +"description": "Optional. Defines whether instances have Secure Boot enabled.", +"type": "boolean" +}, +"enableVtpm": { +"description": "Optional. Defines whether instances have the vTPM enabled.", +"type": "boolean" +} +}, +"type": "object" +}, +"ShufflePushReadMetrics": { +"id": "ShufflePushReadMetrics", +"properties": { +"corruptMergedBlockChunks": { +"format": "int64", +"type": "string" +}, +"localMergedBlocksFetched": { +"format": "int64", +"type": "string" +}, +"localMergedBytesRead": { +"format": "int64", +"type": "string" +}, +"localMergedChunksFetched": { +"format": "int64", +"type": "string" +}, +"mergedFetchFallbackCount": { +"format": "int64", +"type": "string" +}, +"remoteMergedBlocksFetched": { +"format": "int64", +"type": "string" +}, +"remoteMergedBytesRead": { +"format": "int64", +"type": "string" +}, +"remoteMergedChunksFetched": { +"format": "int64", +"type": "string" +}, +"remoteMergedReqsDuration": { +"format": "int64", +"type": "string" +} +}, +"type": "object" +}, +"ShufflePushReadQuantileMetrics": { +"id": "ShufflePushReadQuantileMetrics", +"properties": { +"corruptMergedBlockChunks": { +"$ref": "Quantiles" +}, +"localMergedBlocksFetched": { +"$ref": "Quantiles" +}, +"localMergedBytesRead": { +"$ref": "Quantiles" +}, +"localMergedChunksFetched": { +"$ref": "Quantiles" +}, +"mergedFetchFallbackCount": { +"$ref": "Quantiles" +}, +"remoteMergedBlocksFetched": { +"$ref": "Quantiles" +}, +"remoteMergedBytesRead": { +"$ref": "Quantiles" +}, +"remoteMergedChunksFetched": { +"$ref": "Quantiles" +}, +"remoteMergedReqsDuration": { +"$ref": "Quantiles" +} +}, +"type": "object" +}, +"ShuffleReadMetrics": { +"description": "Shuffle data read by the task.", +"id": "ShuffleReadMetrics", +"properties": { +"fetchWaitTimeMillis": { +"format": "int64", +"type": "string" +}, +"localBlocksFetched": { +"format": "int64", +"type": "string" +}, +"localBytesRead": { +"format": "int64", +"type": "string" +}, +"recordsRead": { +"format": "int64", +"type": "string" +}, +"remoteBlocksFetched": { +"format": "int64", +"type": "string" +}, +"remoteBytesRead": { +"format": "int64", +"type": "string" +}, +"remoteBytesReadToDisk": { +"format": "int64", +"type": "string" +}, +"remoteReqsDuration": { +"format": "int64", +"type": "string" +}, +"shufflePushReadMetrics": { +"$ref": "ShufflePushReadMetrics" +} +}, +"type": "object" +}, +"ShuffleReadQuantileMetrics": { +"id": "ShuffleReadQuantileMetrics", +"properties": { +"fetchWaitTimeMillis": { +"$ref": "Quantiles" +}, +"localBlocksFetched": { +"$ref": "Quantiles" +}, +"readBytes": { +"$ref": "Quantiles" +}, +"readRecords": { +"$ref": "Quantiles" +}, +"remoteBlocksFetched": { +"$ref": "Quantiles" +}, +"remoteBytesRead": { +"$ref": "Quantiles" +}, +"remoteBytesReadToDisk": { +"$ref": "Quantiles" +}, +"remoteReqsDuration": { +"$ref": "Quantiles" +}, +"shufflePushReadMetrics": { +"$ref": "ShufflePushReadQuantileMetrics" +}, +"totalBlocksFetched": { +"$ref": "Quantiles" +} +}, +"type": "object" +}, +"ShuffleWriteMetrics": { +"description": "Shuffle data written by task.", +"id": "ShuffleWriteMetrics", +"properties": { +"bytesWritten": { +"format": "int64", +"type": "string" +}, +"recordsWritten": { +"format": "int64", +"type": "string" +}, +"writeTimeNanos": { +"format": "int64", +"type": "string" +} +}, +"type": "object" +}, +"ShuffleWriteQuantileMetrics": { +"id": "ShuffleWriteQuantileMetrics", +"properties": { +"writeBytes": { +"$ref": "Quantiles" +}, +"writeRecords": { +"$ref": "Quantiles" +}, +"writeTimeNanos": { +"$ref": "Quantiles" +} +}, +"type": "object" +}, +"SinkProgress": { +"id": "SinkProgress", +"properties": { +"description": { +"type": "string" +}, +"metrics": { +"additionalProperties": { +"type": "string" +}, +"type": "object" +}, +"numOutputRows": { +"format": "int64", +"type": "string" +} +}, +"type": "object" +}, +"SoftwareConfig": { +"description": "Specifies the selection and config of software inside the cluster.", +"id": "SoftwareConfig", +"properties": { +"imageVersion": { +"description": "Optional. The version of software inside the cluster. It must be one of the supported Dataproc Versions (https://cloud.google.com/dataproc/docs/concepts/versioning/dataproc-versions#supported-dataproc-image-versions), such as \"1.2\" (including a subminor version, such as \"1.2.29\"), or the \"preview\" version (https://cloud.google.com/dataproc/docs/concepts/versioning/dataproc-versions#other_versions). If unspecified, it defaults to the latest Debian version.", +"type": "string" +}, +"optionalComponents": { +"description": "Optional. The set of components to activate on the cluster.", +"items": { +"enum": [ +"COMPONENT_UNSPECIFIED", +"ANACONDA", +"DOCKER", +"DRUID", +"FLINK", +"HBASE", +"HIVE_WEBHCAT", +"HUDI", +"JUPYTER", +"PRESTO", +"TRINO", +"RANGER", +"SOLR", +"ZEPPELIN", +"ZOOKEEPER" +], +"enumDescriptions": [ +"Unspecified component. Specifying this will cause Cluster creation to fail.", +"The Anaconda component is no longer supported or applicable to supported Dataproc on Compute Engine image versions (https://cloud.google.com/dataproc/docs/concepts/versioning/dataproc-version-clusters#supported-dataproc-image-versions). It cannot be activated on clusters created with supported Dataproc on Compute Engine image versions.", +"Docker", +"The Druid query engine. (alpha)", +"Flink", +"HBase. (beta)", +"The Hive Web HCatalog (the REST service for accessing HCatalog).", +"Hudi.", +"The Jupyter Notebook.", +"The Presto query engine.", +"The Trino query engine.", +"The Ranger service.", +"The Solr service.", +"The Zeppelin notebook.", +"The Zookeeper service." +], +"type": "string" +}, +"type": "array" +}, +"properties": { +"additionalProperties": { +"type": "string" +}, +"description": "Optional. The properties to set on daemon config files.Property keys are specified in prefix:property format, for example core:hadoop.tmp.dir. The following are supported prefixes and their mappings: capacity-scheduler: capacity-scheduler.xml core: core-site.xml distcp: distcp-default.xml hdfs: hdfs-site.xml hive: hive-site.xml mapred: mapred-site.xml pig: pig.properties spark: spark-defaults.conf yarn: yarn-site.xmlFor more information, see Cluster properties (https://cloud.google.com/dataproc/docs/concepts/cluster-properties).", +"type": "object" +} +}, +"type": "object" +}, +"SourceProgress": { +"id": "SourceProgress", +"properties": { +"description": { +"type": "string" +}, +"endOffset": { +"type": "string" +}, +"inputRowsPerSecond": { +"format": "double", +"type": "number" +}, +"latestOffset": { +"type": "string" +}, +"metrics": { +"additionalProperties": { +"type": "string" +}, +"type": "object" +}, +"numInputRows": { +"format": "int64", +"type": "string" +}, +"processedRowsPerSecond": { +"format": "double", +"type": "number" +}, +"startOffset": { +"type": "string" +} +}, +"type": "object" +}, +"SparkApplication": { +"description": "A summary of Spark Application", +"id": "SparkApplication", +"properties": { +"application": { +"$ref": "ApplicationInfo", +"description": "Output only. High level information corresponding to an application.", +"readOnly": true +}, +"name": { +"description": "Identifier. Name of the spark application", +"type": "string" +} +}, +"type": "object" +}, +"SparkBatch": { +"description": "A configuration for running an Apache Spark (https://spark.apache.org/) batch workload.", +"id": "SparkBatch", +"properties": { +"archiveUris": { +"description": "Optional. HCFS URIs of archives to be extracted into the working directory of each executor. Supported file types: .jar, .tar, .tar.gz, .tgz, and .zip.", +"items": { +"type": "string" +}, +"type": "array" +}, +"args": { +"description": "Optional. The arguments to pass to the driver. Do not include arguments that can be set as batch properties, such as --conf, since a collision can occur that causes an incorrect batch submission.", +"items": { +"type": "string" +}, +"type": "array" +}, +"fileUris": { +"description": "Optional. HCFS URIs of files to be placed in the working directory of each executor.", +"items": { +"type": "string" +}, +"type": "array" +}, +"jarFileUris": { +"description": "Optional. HCFS URIs of jar files to add to the classpath of the Spark driver and tasks.", +"items": { +"type": "string" +}, +"type": "array" +}, +"mainClass": { +"description": "Optional. The name of the driver main class. The jar file that contains the class must be in the classpath or specified in jar_file_uris.", +"type": "string" +}, +"mainJarFileUri": { +"description": "Optional. The HCFS URI of the jar file that contains the main class.", +"type": "string" +} +}, +"type": "object" +}, +"SparkConnectConfig": { +"description": "Spark connect configuration for an interactive session.", +"id": "SparkConnectConfig", +"properties": {}, +"type": "object" +}, +"SparkHistoryServerConfig": { +"description": "Spark History Server configuration for the workload.", +"id": "SparkHistoryServerConfig", +"properties": { +"dataprocCluster": { +"description": "Optional. Resource name of an existing Dataproc Cluster to act as a Spark History Server for the workload.Example: projects/[project_id]/regions/[region]/clusters/[cluster_name]", +"type": "string" +} +}, +"type": "object" +}, +"SparkJob": { +"description": "A Dataproc job for running Apache Spark (https://spark.apache.org/) applications on YARN.", +"id": "SparkJob", +"properties": { +"archiveUris": { +"description": "Optional. HCFS URIs of archives to be extracted into the working directory of each executor. Supported file types: .jar, .tar, .tar.gz, .tgz, and .zip.", +"items": { +"type": "string" +}, +"type": "array" +}, +"args": { +"description": "Optional. The arguments to pass to the driver. Do not include arguments, such as --conf, that can be set as job properties, since a collision may occur that causes an incorrect job submission.", +"items": { +"type": "string" +}, +"type": "array" +}, +"fileUris": { +"description": "Optional. HCFS URIs of files to be placed in the working directory of each executor. Useful for naively parallel tasks.", +"items": { +"type": "string" +}, +"type": "array" +}, +"jarFileUris": { +"description": "Optional. HCFS URIs of jar files to add to the CLASSPATHs of the Spark driver and tasks.", +"items": { +"type": "string" +}, +"type": "array" +}, +"loggingConfig": { +"$ref": "LoggingConfig", +"description": "Optional. The runtime log config for job execution." +}, +"mainClass": { +"description": "The name of the driver's main class. The jar file that contains the class must be in the default CLASSPATH or specified in SparkJob.jar_file_uris.", +"type": "string" +}, +"mainJarFileUri": { +"description": "The HCFS URI of the jar file that contains the main class.", +"type": "string" +}, +"properties": { +"additionalProperties": { +"type": "string" +}, +"description": "Optional. A mapping of property names to values, used to configure Spark. Properties that conflict with values set by the Dataproc API might be overwritten. Can include properties set in /etc/spark/conf/spark-defaults.conf and classes in user code.", +"type": "object" +} +}, +"type": "object" +}, +"SparkPlanGraph": { +"description": "A graph used for storing information of an executionPlan of DataFrame.", +"id": "SparkPlanGraph", +"properties": { +"edges": { +"items": { +"$ref": "SparkPlanGraphEdge" +}, +"type": "array" +}, +"executionId": { +"format": "int64", +"type": "string" +}, +"nodes": { +"items": { +"$ref": "SparkPlanGraphNodeWrapper" +}, +"type": "array" +} +}, +"type": "object" +}, +"SparkPlanGraphCluster": { +"description": "Represents a tree of spark plan.", +"id": "SparkPlanGraphCluster", +"properties": { +"desc": { +"type": "string" +}, +"metrics": { +"items": { +"$ref": "SqlPlanMetric" +}, +"type": "array" +}, +"name": { +"type": "string" +}, +"nodes": { +"items": { +"$ref": "SparkPlanGraphNodeWrapper" +}, +"type": "array" +}, +"sparkPlanGraphClusterId": { +"format": "int64", +"type": "string" +} +}, +"type": "object" +}, +"SparkPlanGraphEdge": { +"description": "Represents a directed edge in the spark plan tree from child to parent.", +"id": "SparkPlanGraphEdge", +"properties": { +"fromId": { +"format": "int64", +"type": "string" +}, +"toId": { +"format": "int64", +"type": "string" +} +}, +"type": "object" +}, +"SparkPlanGraphNode": { +"description": "Represents a node in the spark plan tree.", +"id": "SparkPlanGraphNode", +"properties": { +"desc": { +"type": "string" +}, +"metrics": { +"items": { +"$ref": "SqlPlanMetric" +}, +"type": "array" +}, +"name": { +"type": "string" +}, +"sparkPlanGraphNodeId": { +"format": "int64", +"type": "string" +} +}, +"type": "object" +}, +"SparkPlanGraphNodeWrapper": { +"description": "Wrapper user to represent either a node or a cluster.", +"id": "SparkPlanGraphNodeWrapper", +"properties": { +"cluster": { +"$ref": "SparkPlanGraphCluster" +}, +"node": { +"$ref": "SparkPlanGraphNode" +} +}, +"type": "object" +}, +"SparkRBatch": { +"description": "A configuration for running an Apache SparkR (https://spark.apache.org/docs/latest/sparkr.html) batch workload.", +"id": "SparkRBatch", +"properties": { +"archiveUris": { +"description": "Optional. HCFS URIs of archives to be extracted into the working directory of each executor. Supported file types: .jar, .tar, .tar.gz, .tgz, and .zip.", +"items": { +"type": "string" +}, +"type": "array" +}, +"args": { +"description": "Optional. The arguments to pass to the Spark driver. Do not include arguments that can be set as batch properties, such as --conf, since a collision can occur that causes an incorrect batch submission.", +"items": { +"type": "string" +}, +"type": "array" +}, +"fileUris": { +"description": "Optional. HCFS URIs of files to be placed in the working directory of each executor.", +"items": { +"type": "string" +}, +"type": "array" +}, +"mainRFileUri": { +"description": "Required. The HCFS URI of the main R file to use as the driver. Must be a .R or .r file.", +"type": "string" +} +}, +"type": "object" +}, +"SparkRJob": { +"description": "A Dataproc job for running Apache SparkR (https://spark.apache.org/docs/latest/sparkr.html) applications on YARN.", +"id": "SparkRJob", +"properties": { +"archiveUris": { +"description": "Optional. HCFS URIs of archives to be extracted into the working directory of each executor. Supported file types: .jar, .tar, .tar.gz, .tgz, and .zip.", +"items": { +"type": "string" +}, +"type": "array" +}, +"args": { +"description": "Optional. The arguments to pass to the driver. Do not include arguments, such as --conf, that can be set as job properties, since a collision may occur that causes an incorrect job submission.", +"items": { +"type": "string" +}, +"type": "array" +}, +"fileUris": { +"description": "Optional. HCFS URIs of files to be placed in the working directory of each executor. Useful for naively parallel tasks.", +"items": { +"type": "string" +}, +"type": "array" +}, +"loggingConfig": { +"$ref": "LoggingConfig", +"description": "Optional. The runtime log config for job execution." +}, +"mainRFileUri": { +"description": "Required. The HCFS URI of the main R file to use as the driver. Must be a .R file.", +"type": "string" +}, +"properties": { +"additionalProperties": { +"type": "string" +}, +"description": "Optional. A mapping of property names to values, used to configure SparkR. Properties that conflict with values set by the Dataproc API might be overwritten. Can include properties set in /etc/spark/conf/spark-defaults.conf and classes in user code.", +"type": "object" +} +}, +"type": "object" +}, +"SparkRuntimeInfo": { +"id": "SparkRuntimeInfo", +"properties": { +"javaHome": { +"type": "string" +}, +"javaVersion": { +"type": "string" +}, +"scalaVersion": { +"type": "string" +} +}, +"type": "object" +}, +"SparkSqlBatch": { +"description": "A configuration for running Apache Spark SQL (https://spark.apache.org/sql/) queries as a batch workload.", +"id": "SparkSqlBatch", +"properties": { +"jarFileUris": { +"description": "Optional. HCFS URIs of jar files to be added to the Spark CLASSPATH.", +"items": { +"type": "string" +}, +"type": "array" +}, +"queryFileUri": { +"description": "Required. The HCFS URI of the script that contains Spark SQL queries to execute.", +"type": "string" +}, +"queryVariables": { +"additionalProperties": { +"type": "string" +}, +"description": "Optional. Mapping of query variable names to values (equivalent to the Spark SQL command: SET name=\"value\";).", +"type": "object" +} +}, +"type": "object" +}, +"SparkSqlJob": { +"description": "A Dataproc job for running Apache Spark SQL (https://spark.apache.org/sql/) queries.", +"id": "SparkSqlJob", +"properties": { +"jarFileUris": { +"description": "Optional. HCFS URIs of jar files to be added to the Spark CLASSPATH.", +"items": { +"type": "string" +}, +"type": "array" +}, +"loggingConfig": { +"$ref": "LoggingConfig", +"description": "Optional. The runtime log config for job execution." +}, +"properties": { +"additionalProperties": { +"type": "string" +}, +"description": "Optional. A mapping of property names to values, used to configure Spark SQL's SparkConf. Properties that conflict with values set by the Dataproc API might be overwritten.", +"type": "object" +}, +"queryFileUri": { +"description": "The HCFS URI of the script that contains SQL queries.", +"type": "string" +}, +"queryList": { +"$ref": "QueryList", +"description": "A list of queries." +}, +"scriptVariables": { +"additionalProperties": { +"type": "string" +}, +"description": "Optional. Mapping of query variable names to values (equivalent to the Spark SQL command: SET name=\"value\";).", +"type": "object" +} +}, +"type": "object" +}, +"SparkStandaloneAutoscalingConfig": { +"description": "Basic autoscaling configurations for Spark Standalone.", +"id": "SparkStandaloneAutoscalingConfig", +"properties": { +"gracefulDecommissionTimeout": { +"description": "Required. Timeout for Spark graceful decommissioning of spark workers. Specifies the duration to wait for spark worker to complete spark decommissioning tasks before forcefully removing workers. Only applicable to downscaling operations.Bounds: 0s, 1d.", +"format": "google-duration", +"type": "string" +}, +"removeOnlyIdleWorkers": { +"description": "Optional. Remove only idle workers when scaling down cluster", +"type": "boolean" +}, +"scaleDownFactor": { +"description": "Required. Fraction of required executors to remove from Spark Serverless clusters. A scale-down factor of 1.0 will result in scaling down so that there are no more executors for the Spark Job.(more aggressive scaling). A scale-down factor closer to 0 will result in a smaller magnitude of scaling donw (less aggressive scaling).Bounds: 0.0, 1.0.", +"format": "double", +"type": "number" +}, +"scaleDownMinWorkerFraction": { +"description": "Optional. Minimum scale-down threshold as a fraction of total cluster size before scaling occurs. For example, in a 20-worker cluster, a threshold of 0.1 means the autoscaler must recommend at least a 2 worker scale-down for the cluster to scale. A threshold of 0 means the autoscaler will scale down on any recommended change.Bounds: 0.0, 1.0. Default: 0.0.", +"format": "double", +"type": "number" +}, +"scaleUpFactor": { +"description": "Required. Fraction of required workers to add to Spark Standalone clusters. A scale-up factor of 1.0 will result in scaling up so that there are no more required workers for the Spark Job (more aggressive scaling). A scale-up factor closer to 0 will result in a smaller magnitude of scaling up (less aggressive scaling).Bounds: 0.0, 1.0.", +"format": "double", +"type": "number" +}, +"scaleUpMinWorkerFraction": { +"description": "Optional. Minimum scale-up threshold as a fraction of total cluster size before scaling occurs. For example, in a 20-worker cluster, a threshold of 0.1 means the autoscaler must recommend at least a 2-worker scale-up for the cluster to scale. A threshold of 0 means the autoscaler will scale up on any recommended change.Bounds: 0.0, 1.0. Default: 0.0.", +"format": "double", +"type": "number" +} +}, +"type": "object" +}, +"SparkWrapperObject": { +"description": "Outer message that contains the data obtained from spark listener, packaged with information that is required to process it.", +"id": "SparkWrapperObject", +"properties": { +"appSummary": { +"$ref": "AppSummary" +}, +"applicationEnvironmentInfo": { +"$ref": "ApplicationEnvironmentInfo" +}, +"applicationId": { +"description": "Application Id created by Spark.", +"type": "string" +}, +"applicationInfo": { +"$ref": "ApplicationInfo" +}, +"eventTimestamp": { +"description": "VM Timestamp associated with the data object.", +"format": "google-datetime", +"type": "string" +}, +"executorStageSummary": { +"$ref": "ExecutorStageSummary" +}, +"executorSummary": { +"$ref": "ExecutorSummary" +}, +"jobData": { +"$ref": "JobData" +}, +"poolData": { +"$ref": "PoolData" +}, +"processSummary": { +"$ref": "ProcessSummary" +}, +"rddOperationGraph": { +"$ref": "RddOperationGraph" +}, +"rddStorageInfo": { +"$ref": "RddStorageInfo" +}, +"resourceProfileInfo": { +"$ref": "ResourceProfileInfo" +}, +"sparkPlanGraph": { +"$ref": "SparkPlanGraph" +}, +"speculationStageSummary": { +"$ref": "SpeculationStageSummary" +}, +"sqlExecutionUiData": { +"$ref": "SqlExecutionUiData" +}, +"stageData": { +"$ref": "StageData" +}, +"streamBlockData": { +"$ref": "StreamBlockData" +}, +"streamingQueryData": { +"$ref": "StreamingQueryData" +}, +"streamingQueryProgress": { +"$ref": "StreamingQueryProgress" +}, +"taskData": { +"$ref": "TaskData" +} +}, +"type": "object" +}, +"SpeculationStageSummary": { +"description": "Details of the speculation task when speculative execution is enabled.", +"id": "SpeculationStageSummary", +"properties": { +"numActiveTasks": { +"format": "int32", +"type": "integer" +}, +"numCompletedTasks": { +"format": "int32", +"type": "integer" +}, +"numFailedTasks": { +"format": "int32", +"type": "integer" +}, +"numKilledTasks": { +"format": "int32", +"type": "integer" +}, +"numTasks": { +"format": "int32", +"type": "integer" +}, +"stageAttemptId": { +"format": "int32", +"type": "integer" +}, +"stageId": { +"format": "int64", +"type": "string" +} +}, +"type": "object" +}, +"SqlExecutionUiData": { +"description": "SQL Execution Data", +"id": "SqlExecutionUiData", +"properties": { +"completionTime": { +"format": "google-datetime", +"type": "string" +}, +"description": { +"type": "string" +}, +"details": { +"type": "string" +}, +"errorMessage": { +"type": "string" +}, +"executionId": { +"format": "int64", +"type": "string" +}, +"jobs": { +"additionalProperties": { +"enum": [ +"JOB_EXECUTION_STATUS_UNSPECIFIED", +"JOB_EXECUTION_STATUS_RUNNING", +"JOB_EXECUTION_STATUS_SUCCEEDED", +"JOB_EXECUTION_STATUS_FAILED", +"JOB_EXECUTION_STATUS_UNKNOWN" +], +"enumDescriptions": [ +"", +"", +"", +"", +"" +], +"type": "string" +}, +"type": "object" +}, +"metricValues": { +"additionalProperties": { +"type": "string" +}, +"type": "object" +}, +"metricValuesIsNull": { +"type": "boolean" +}, +"metrics": { +"items": { +"$ref": "SqlPlanMetric" +}, +"type": "array" +}, +"modifiedConfigs": { +"additionalProperties": { +"type": "string" +}, +"type": "object" +}, +"physicalPlanDescription": { +"type": "string" +}, +"rootExecutionId": { +"format": "int64", +"type": "string" +}, +"stages": { +"items": { +"format": "int64", +"type": "string" +}, +"type": "array" +}, +"submissionTime": { +"format": "google-datetime", +"type": "string" +} +}, +"type": "object" +}, +"SqlPlanMetric": { +"description": "Metrics related to SQL execution.", +"id": "SqlPlanMetric", +"properties": { +"accumulatorId": { +"format": "int64", +"type": "string" +}, +"metricType": { +"type": "string" +}, +"name": { +"type": "string" +} +}, +"type": "object" +}, +"StageAttemptTasksSummary": { +"description": "Data related to tasks summary for a Spark Stage Attempt", +"id": "StageAttemptTasksSummary", +"properties": { +"applicationId": { +"type": "string" +}, +"numFailedTasks": { +"format": "int32", +"type": "integer" +}, +"numKilledTasks": { +"format": "int32", +"type": "integer" +}, +"numPendingTasks": { +"format": "int32", +"type": "integer" +}, +"numRunningTasks": { +"format": "int32", +"type": "integer" +}, +"numSuccessTasks": { +"format": "int32", +"type": "integer" +}, +"numTasks": { +"format": "int32", +"type": "integer" +}, +"stageAttemptId": { +"format": "int32", +"type": "integer" +}, +"stageId": { +"format": "int64", +"type": "string" +} +}, +"type": "object" +}, +"StageData": { +"description": "Data corresponding to a stage.", +"id": "StageData", +"properties": { +"accumulatorUpdates": { +"items": { +"$ref": "AccumulableInfo" +}, +"type": "array" +}, +"completionTime": { +"format": "google-datetime", +"type": "string" +}, +"description": { +"type": "string" +}, +"details": { +"type": "string" +}, +"executorMetricsDistributions": { +"$ref": "ExecutorMetricsDistributions" +}, +"executorSummary": { +"additionalProperties": { +"$ref": "ExecutorStageSummary" +}, +"type": "object" +}, +"failureReason": { +"type": "string" +}, +"firstTaskLaunchedTime": { +"format": "google-datetime", +"type": "string" +}, +"isShufflePushEnabled": { +"type": "boolean" +}, +"jobIds": { +"items": { +"format": "int64", +"type": "string" +}, +"type": "array" +}, +"killedTasksSummary": { +"additionalProperties": { +"format": "int32", +"type": "integer" +}, +"type": "object" +}, +"locality": { +"additionalProperties": { +"format": "int64", +"type": "string" +}, +"type": "object" +}, +"name": { +"type": "string" +}, +"numActiveTasks": { +"format": "int32", +"type": "integer" +}, +"numCompleteTasks": { +"format": "int32", +"type": "integer" +}, +"numCompletedIndices": { +"format": "int32", +"type": "integer" +}, +"numFailedTasks": { +"format": "int32", +"type": "integer" +}, +"numKilledTasks": { +"format": "int32", +"type": "integer" +}, +"numTasks": { +"format": "int32", +"type": "integer" +}, +"parentStageIds": { +"items": { +"format": "int64", +"type": "string" +}, +"type": "array" +}, +"peakExecutorMetrics": { +"$ref": "ExecutorMetrics" +}, +"rddIds": { +"items": { +"format": "int64", +"type": "string" +}, +"type": "array" +}, +"resourceProfileId": { +"format": "int32", +"type": "integer" +}, +"schedulingPool": { +"type": "string" +}, +"shuffleMergersCount": { +"format": "int32", +"type": "integer" +}, +"speculationSummary": { +"$ref": "SpeculationStageSummary" +}, +"stageAttemptId": { +"format": "int32", +"type": "integer" +}, +"stageId": { +"format": "int64", +"type": "string" +}, +"stageMetrics": { +"$ref": "StageMetrics" +}, +"status": { +"enum": [ +"STAGE_STATUS_UNSPECIFIED", +"STAGE_STATUS_ACTIVE", +"STAGE_STATUS_COMPLETE", +"STAGE_STATUS_FAILED", +"STAGE_STATUS_PENDING", +"STAGE_STATUS_SKIPPED" +], +"enumDescriptions": [ +"", +"", +"", +"", +"", +"" +], +"type": "string" +}, +"submissionTime": { +"format": "google-datetime", +"type": "string" +}, +"taskQuantileMetrics": { +"$ref": "TaskQuantileMetrics", +"description": "Summary metrics fields. These are included in response only if present in summary_metrics_mask field in request" +}, +"tasks": { +"additionalProperties": { +"$ref": "TaskData" +}, +"type": "object" +} +}, +"type": "object" +}, +"StageInputMetrics": { +"description": "Metrics about the input read by the stage.", +"id": "StageInputMetrics", +"properties": { +"bytesRead": { +"format": "int64", +"type": "string" +}, +"recordsRead": { +"format": "int64", +"type": "string" +} +}, +"type": "object" +}, +"StageMetrics": { +"description": "Stage Level Aggregated Metrics", +"id": "StageMetrics", +"properties": { +"diskBytesSpilled": { +"format": "int64", +"type": "string" +}, +"executorCpuTimeNanos": { +"format": "int64", +"type": "string" +}, +"executorDeserializeCpuTimeNanos": { +"format": "int64", +"type": "string" +}, +"executorDeserializeTimeMillis": { +"format": "int64", +"type": "string" +}, +"executorRunTimeMillis": { +"format": "int64", +"type": "string" +}, +"jvmGcTimeMillis": { +"format": "int64", +"type": "string" +}, +"memoryBytesSpilled": { +"format": "int64", +"type": "string" +}, +"peakExecutionMemoryBytes": { +"format": "int64", +"type": "string" +}, +"resultSerializationTimeMillis": { +"format": "int64", +"type": "string" +}, +"resultSize": { +"format": "int64", +"type": "string" +}, +"stageInputMetrics": { +"$ref": "StageInputMetrics" +}, +"stageOutputMetrics": { +"$ref": "StageOutputMetrics" +}, +"stageShuffleReadMetrics": { +"$ref": "StageShuffleReadMetrics" +}, +"stageShuffleWriteMetrics": { +"$ref": "StageShuffleWriteMetrics" +} +}, +"type": "object" +}, +"StageOutputMetrics": { +"description": "Metrics about the output written by the stage.", +"id": "StageOutputMetrics", +"properties": { +"bytesWritten": { +"format": "int64", +"type": "string" +}, +"recordsWritten": { +"format": "int64", +"type": "string" +} +}, +"type": "object" +}, +"StageShufflePushReadMetrics": { +"id": "StageShufflePushReadMetrics", +"properties": { +"corruptMergedBlockChunks": { +"format": "int64", +"type": "string" +}, +"localMergedBlocksFetched": { +"format": "int64", +"type": "string" +}, +"localMergedBytesRead": { +"format": "int64", +"type": "string" +}, +"localMergedChunksFetched": { +"format": "int64", +"type": "string" +}, +"mergedFetchFallbackCount": { +"format": "int64", +"type": "string" +}, +"remoteMergedBlocksFetched": { +"format": "int64", +"type": "string" +}, +"remoteMergedBytesRead": { +"format": "int64", +"type": "string" +}, +"remoteMergedChunksFetched": { +"format": "int64", +"type": "string" +}, +"remoteMergedReqsDuration": { +"format": "int64", +"type": "string" +} +}, +"type": "object" +}, +"StageShuffleReadMetrics": { +"description": "Shuffle data read for the stage.", +"id": "StageShuffleReadMetrics", +"properties": { +"bytesRead": { +"format": "int64", +"type": "string" +}, +"fetchWaitTimeMillis": { +"format": "int64", +"type": "string" +}, +"localBlocksFetched": { +"format": "int64", +"type": "string" +}, +"localBytesRead": { +"format": "int64", +"type": "string" +}, +"recordsRead": { +"format": "int64", +"type": "string" +}, +"remoteBlocksFetched": { +"format": "int64", +"type": "string" +}, +"remoteBytesRead": { +"format": "int64", +"type": "string" +}, +"remoteBytesReadToDisk": { +"format": "int64", +"type": "string" +}, +"remoteReqsDuration": { +"format": "int64", +"type": "string" +}, +"stageShufflePushReadMetrics": { +"$ref": "StageShufflePushReadMetrics" +} +}, +"type": "object" +}, +"StageShuffleWriteMetrics": { +"description": "Shuffle data written for the stage.", +"id": "StageShuffleWriteMetrics", +"properties": { +"bytesWritten": { +"format": "int64", +"type": "string" +}, +"recordsWritten": { +"format": "int64", +"type": "string" +}, +"writeTimeNanos": { +"format": "int64", +"type": "string" +} +}, +"type": "object" +}, +"StagesSummary": { +"description": "Data related to Stages page summary", +"id": "StagesSummary", +"properties": { +"applicationId": { +"type": "string" +}, +"numActiveStages": { +"format": "int32", +"type": "integer" +}, +"numCompletedStages": { +"format": "int32", +"type": "integer" +}, +"numFailedStages": { +"format": "int32", +"type": "integer" +}, +"numPendingStages": { +"format": "int32", +"type": "integer" +}, +"numSkippedStages": { +"format": "int32", +"type": "integer" +} +}, +"type": "object" +}, +"StartClusterRequest": { +"description": "A request to start a cluster.", +"id": "StartClusterRequest", +"properties": { +"clusterUuid": { +"description": "Optional. Specifying the cluster_uuid means the RPC will fail (with error NOT_FOUND) if a cluster with the specified UUID does not exist.", +"type": "string" +}, +"requestId": { +"description": "Optional. A unique ID used to identify the request. If the server receives two StartClusterRequest (https://cloud.google.com/dataproc/docs/reference/rpc/google.cloud.dataproc.v1#google.cloud.dataproc.v1.StartClusterRequest)s with the same id, then the second request will be ignored and the first google.longrunning.Operation created and stored in the backend is returned.Recommendation: Set this value to a UUID (https://en.wikipedia.org/wiki/Universally_unique_identifier).The ID must contain only letters (a-z, A-Z), numbers (0-9), underscores (_), and hyphens (-). The maximum length is 40 characters.", +"type": "string" +} +}, +"type": "object" +}, +"StartupConfig": { +"description": "Configuration to handle the startup of instances during cluster create and update process.", +"id": "StartupConfig", +"properties": { +"requiredRegistrationFraction": { +"description": "Optional. The config setting to enable cluster creation/ updation to be successful only after required_registration_fraction of instances are up and running. This configuration is applicable to only secondary workers for now. The cluster will fail if required_registration_fraction of instances are not available. This will include instance creation, agent registration, and service registration (if enabled).", +"format": "double", +"type": "number" +} +}, +"type": "object" +}, +"StateHistory": { +"description": "Historical state information.", +"id": "StateHistory", +"properties": { +"state": { +"description": "Output only. The state of the batch at this point in history.", +"enum": [ +"STATE_UNSPECIFIED", +"PENDING", +"RUNNING", +"CANCELLING", +"CANCELLED", +"SUCCEEDED", +"FAILED" +], +"enumDescriptions": [ +"The batch state is unknown.", +"The batch is created before running.", +"The batch is running.", +"The batch is cancelling.", +"The batch cancellation was successful.", +"The batch completed successfully.", +"The batch is no longer running due to an error." +], +"readOnly": true, +"type": "string" +}, +"stateMessage": { +"description": "Output only. Details about the state at this point in history.", +"readOnly": true, +"type": "string" +}, +"stateStartTime": { +"description": "Output only. The time when the batch entered the historical state.", +"format": "google-datetime", +"readOnly": true, +"type": "string" +} +}, +"type": "object" +}, +"StateOperatorProgress": { +"id": "StateOperatorProgress", +"properties": { +"allRemovalsTimeMs": { +"format": "int64", +"type": "string" +}, +"allUpdatesTimeMs": { +"format": "int64", +"type": "string" +}, +"commitTimeMs": { +"format": "int64", +"type": "string" +}, +"customMetrics": { +"additionalProperties": { +"format": "int64", +"type": "string" +}, +"type": "object" +}, +"memoryUsedBytes": { +"format": "int64", +"type": "string" +}, +"numRowsDroppedByWatermark": { +"format": "int64", +"type": "string" +}, +"numRowsRemoved": { +"format": "int64", +"type": "string" +}, +"numRowsTotal": { +"format": "int64", +"type": "string" +}, +"numRowsUpdated": { +"format": "int64", +"type": "string" +}, +"numShufflePartitions": { +"format": "int64", +"type": "string" +}, +"numStateStoreInstances": { +"format": "int64", +"type": "string" +}, +"operatorName": { +"type": "string" +} +}, +"type": "object" +}, +"Status": { +"description": "The Status type defines a logical error model that is suitable for different programming environments, including REST APIs and RPC APIs. It is used by gRPC (https://github.com/grpc). Each Status message contains three pieces of data: error code, error message, and error details.You can find out more about this error model and how to work with it in the API Design Guide (https://cloud.google.com/apis/design/errors).", +"id": "Status", +"properties": { +"code": { +"description": "The status code, which should be an enum value of google.rpc.Code.", +"format": "int32", +"type": "integer" +}, +"details": { +"description": "A list of messages that carry the error details. There is a common set of message types for APIs to use.", +"items": { +"additionalProperties": { +"description": "Properties of the object. Contains field @type with type URL.", +"type": "any" +}, +"type": "object" +}, +"type": "array" +}, +"message": { +"description": "A developer-facing error message, which should be in English. Any user-facing error message should be localized and sent in the google.rpc.Status.details field, or localized by the client.", +"type": "string" +} +}, +"type": "object" +}, +"StopClusterRequest": { +"description": "A request to stop a cluster.", +"id": "StopClusterRequest", +"properties": { +"clusterUuid": { +"description": "Optional. Specifying the cluster_uuid means the RPC will fail (with error NOT_FOUND) if a cluster with the specified UUID does not exist.", +"type": "string" +}, +"requestId": { +"description": "Optional. A unique ID used to identify the request. If the server receives two StopClusterRequest (https://cloud.google.com/dataproc/docs/reference/rpc/google.cloud.dataproc.v1#google.cloud.dataproc.v1.StopClusterRequest)s with the same id, then the second request will be ignored and the first google.longrunning.Operation created and stored in the backend is returned.Recommendation: Set this value to a UUID (https://en.wikipedia.org/wiki/Universally_unique_identifier).The ID must contain only letters (a-z, A-Z), numbers (0-9), underscores (_), and hyphens (-). The maximum length is 40 characters.", +"type": "string" +} +}, +"type": "object" +}, +"StreamBlockData": { +"description": "Stream Block Data.", +"id": "StreamBlockData", +"properties": { +"deserialized": { +"type": "boolean" +}, +"diskSize": { +"format": "int64", +"type": "string" +}, +"executorId": { +"type": "string" +}, +"hostPort": { +"type": "string" +}, +"memSize": { +"format": "int64", +"type": "string" +}, +"name": { +"type": "string" +}, +"storageLevel": { +"type": "string" +}, +"useDisk": { +"type": "boolean" +}, +"useMemory": { +"type": "boolean" +} +}, +"type": "object" +}, +"StreamingQueryData": { +"description": "Streaming", +"id": "StreamingQueryData", +"properties": { +"endTimestamp": { +"format": "int64", +"type": "string" +}, +"exception": { +"type": "string" +}, +"isActive": { +"type": "boolean" +}, +"name": { +"type": "string" +}, +"runId": { +"type": "string" +}, +"startTimestamp": { +"format": "int64", +"type": "string" +}, +"streamingQueryId": { +"type": "string" +} +}, +"type": "object" +}, +"StreamingQueryProgress": { +"id": "StreamingQueryProgress", +"properties": { +"batchDuration": { +"format": "int64", +"type": "string" +}, +"batchId": { +"format": "int64", +"type": "string" +}, +"durationMillis": { +"additionalProperties": { +"format": "int64", +"type": "string" +}, +"type": "object" +}, +"eventTime": { +"additionalProperties": { +"type": "string" +}, +"type": "object" +}, +"name": { +"type": "string" +}, +"observedMetrics": { +"additionalProperties": { +"type": "string" +}, +"type": "object" +}, +"runId": { +"type": "string" +}, +"sink": { +"$ref": "SinkProgress" +}, +"sources": { +"items": { +"$ref": "SourceProgress" +}, +"type": "array" +}, +"stateOperators": { +"items": { +"$ref": "StateOperatorProgress" +}, +"type": "array" +}, +"streamingQueryProgressId": { +"type": "string" +}, +"timestamp": { +"type": "string" +} +}, +"type": "object" +}, +"SubmitJobRequest": { +"description": "A request to submit a job.", +"id": "SubmitJobRequest", +"properties": { +"job": { +"$ref": "Job", +"description": "Required. The job resource." +}, +"requestId": { +"description": "Optional. A unique id used to identify the request. If the server receives two SubmitJobRequest (https://cloud.google.com/dataproc/docs/reference/rpc/google.cloud.dataproc.v1#google.cloud.dataproc.v1.SubmitJobRequest)s with the same id, then the second request will be ignored and the first Job created and stored in the backend is returned.It is recommended to always set this value to a UUID (https://en.wikipedia.org/wiki/Universally_unique_identifier).The id must contain only letters (a-z, A-Z), numbers (0-9), underscores (_), and hyphens (-). The maximum length is 40 characters.", +"type": "string" +} +}, +"type": "object" +}, +"SummarizeSessionSparkApplicationExecutorsResponse": { +"description": "Consolidated summary of executors for a Spark Application.", +"id": "SummarizeSessionSparkApplicationExecutorsResponse", +"properties": { +"activeExecutorSummary": { +"$ref": "ConsolidatedExecutorSummary", +"description": "Consolidated summary for active executors." +}, +"applicationId": { +"description": "Spark Application Id", +"type": "string" +}, +"deadExecutorSummary": { +"$ref": "ConsolidatedExecutorSummary", +"description": "Consolidated summary for dead executors." +}, +"totalExecutorSummary": { +"$ref": "ConsolidatedExecutorSummary", +"description": "Overall consolidated summary for all executors." +} +}, +"type": "object" +}, +"SummarizeSessionSparkApplicationJobsResponse": { +"description": "Summary of a Spark Application jobs.", +"id": "SummarizeSessionSparkApplicationJobsResponse", +"properties": { +"jobsSummary": { +"$ref": "JobsSummary", +"description": "Summary of a Spark Application Jobs" +} +}, +"type": "object" +}, +"SummarizeSessionSparkApplicationStageAttemptTasksResponse": { +"description": "Summary of tasks for a Spark Application stage attempt.", +"id": "SummarizeSessionSparkApplicationStageAttemptTasksResponse", +"properties": { +"stageAttemptTasksSummary": { +"$ref": "StageAttemptTasksSummary", +"description": "Summary of tasks for a Spark Application Stage Attempt" +} +}, +"type": "object" +}, +"SummarizeSessionSparkApplicationStagesResponse": { +"description": "Summary of a Spark Application stages.", +"id": "SummarizeSessionSparkApplicationStagesResponse", +"properties": { +"stagesSummary": { +"$ref": "StagesSummary", +"description": "Summary of a Spark Application Stages" +} +}, +"type": "object" +}, +"SummarizeSparkApplicationExecutorsResponse": { +"description": "Consolidated summary of executors for a Spark Application.", +"id": "SummarizeSparkApplicationExecutorsResponse", +"properties": { +"activeExecutorSummary": { +"$ref": "ConsolidatedExecutorSummary", +"description": "Consolidated summary for active executors." +}, +"applicationId": { +"description": "Spark Application Id", +"type": "string" +}, +"deadExecutorSummary": { +"$ref": "ConsolidatedExecutorSummary", +"description": "Consolidated summary for dead executors." +}, +"totalExecutorSummary": { +"$ref": "ConsolidatedExecutorSummary", +"description": "Overall consolidated summary for all executors." +} +}, +"type": "object" +}, +"SummarizeSparkApplicationJobsResponse": { +"description": "Summary of a Spark Application jobs.", +"id": "SummarizeSparkApplicationJobsResponse", +"properties": { +"jobsSummary": { +"$ref": "JobsSummary", +"description": "Summary of a Spark Application Jobs" +} +}, +"type": "object" +}, +"SummarizeSparkApplicationStageAttemptTasksResponse": { +"description": "Summary of tasks for a Spark Application stage attempt.", +"id": "SummarizeSparkApplicationStageAttemptTasksResponse", +"properties": { +"stageAttemptTasksSummary": { +"$ref": "StageAttemptTasksSummary", +"description": "Summary of tasks for a Spark Application Stage Attempt" +} +}, +"type": "object" +}, +"SummarizeSparkApplicationStagesResponse": { +"description": "Summary of a Spark Application stages.", +"id": "SummarizeSparkApplicationStagesResponse", +"properties": { +"stagesSummary": { +"$ref": "StagesSummary", +"description": "Summary of a Spark Application Stages" +} +}, +"type": "object" +}, +"TaskData": { +"description": "Data corresponding to tasks created by spark.", +"id": "TaskData", +"properties": { +"accumulatorUpdates": { +"items": { +"$ref": "AccumulableInfo" +}, +"type": "array" +}, +"attempt": { +"format": "int32", +"type": "integer" +}, +"durationMillis": { +"format": "int64", +"type": "string" +}, +"errorMessage": { +"type": "string" +}, +"executorId": { +"type": "string" +}, +"executorLogs": { +"additionalProperties": { +"type": "string" +}, +"type": "object" +}, +"gettingResultTimeMillis": { +"format": "int64", +"type": "string" +}, +"hasMetrics": { +"type": "boolean" +}, +"host": { +"type": "string" +}, +"index": { +"format": "int32", +"type": "integer" +}, +"launchTime": { +"format": "google-datetime", +"type": "string" +}, +"partitionId": { +"format": "int32", +"type": "integer" +}, +"resultFetchStart": { +"format": "google-datetime", +"type": "string" +}, +"schedulerDelayMillis": { +"format": "int64", +"type": "string" +}, +"speculative": { +"type": "boolean" +}, +"stageAttemptId": { +"format": "int32", +"type": "integer" +}, +"stageId": { +"format": "int64", +"type": "string" +}, +"status": { +"type": "string" +}, +"taskId": { +"format": "int64", +"type": "string" +}, +"taskLocality": { +"type": "string" +}, +"taskMetrics": { +"$ref": "TaskMetrics" +} +}, +"type": "object" +}, +"TaskMetrics": { +"description": "Executor Task Metrics", +"id": "TaskMetrics", +"properties": { +"diskBytesSpilled": { +"format": "int64", +"type": "string" +}, +"executorCpuTimeNanos": { +"format": "int64", +"type": "string" +}, +"executorDeserializeCpuTimeNanos": { +"format": "int64", +"type": "string" +}, +"executorDeserializeTimeMillis": { +"format": "int64", +"type": "string" +}, +"executorRunTimeMillis": { +"format": "int64", +"type": "string" +}, +"inputMetrics": { +"$ref": "InputMetrics" +}, +"jvmGcTimeMillis": { +"format": "int64", +"type": "string" +}, +"memoryBytesSpilled": { +"format": "int64", +"type": "string" +}, +"outputMetrics": { +"$ref": "OutputMetrics" +}, +"peakExecutionMemoryBytes": { +"format": "int64", +"type": "string" +}, +"resultSerializationTimeMillis": { +"format": "int64", +"type": "string" +}, +"resultSize": { +"format": "int64", +"type": "string" +}, +"shuffleReadMetrics": { +"$ref": "ShuffleReadMetrics" +}, +"shuffleWriteMetrics": { +"$ref": "ShuffleWriteMetrics" +} +}, +"type": "object" +}, +"TaskQuantileMetrics": { +"id": "TaskQuantileMetrics", +"properties": { +"diskBytesSpilled": { +"$ref": "Quantiles" +}, +"durationMillis": { +"$ref": "Quantiles" +}, +"executorCpuTimeNanos": { +"$ref": "Quantiles" +}, +"executorDeserializeCpuTimeNanos": { +"$ref": "Quantiles" +}, +"executorDeserializeTimeMillis": { +"$ref": "Quantiles" +}, +"executorRunTimeMillis": { +"$ref": "Quantiles" +}, +"gettingResultTimeMillis": { +"$ref": "Quantiles" +}, +"inputMetrics": { +"$ref": "InputQuantileMetrics" +}, +"jvmGcTimeMillis": { +"$ref": "Quantiles" +}, +"memoryBytesSpilled": { +"$ref": "Quantiles" +}, +"outputMetrics": { +"$ref": "OutputQuantileMetrics" +}, +"peakExecutionMemoryBytes": { +"$ref": "Quantiles" +}, +"resultSerializationTimeMillis": { +"$ref": "Quantiles" +}, +"resultSize": { +"$ref": "Quantiles" +}, +"schedulerDelayMillis": { +"$ref": "Quantiles" +}, +"shuffleReadMetrics": { +"$ref": "ShuffleReadQuantileMetrics" +}, +"shuffleWriteMetrics": { +"$ref": "ShuffleWriteQuantileMetrics" +} +}, +"type": "object" +}, +"TaskResourceRequest": { +"description": "Resources used per task created by the application.", +"id": "TaskResourceRequest", +"properties": { +"amount": { +"format": "double", +"type": "number" +}, +"resourceName": { +"type": "string" +} +}, +"type": "object" +}, +"TemplateParameter": { +"description": "A configurable parameter that replaces one or more fields in the template. Parameterizable fields: - Labels - File uris - Job properties - Job arguments - Script variables - Main class (in HadoopJob and SparkJob) - Zone (in ClusterSelector)", +"id": "TemplateParameter", +"properties": { +"description": { +"description": "Optional. Brief description of the parameter. Must not exceed 1024 characters.", +"type": "string" +}, +"fields": { +"description": "Required. Paths to all fields that the parameter replaces. A field is allowed to appear in at most one parameter's list of field paths.A field path is similar in syntax to a google.protobuf.FieldMask. For example, a field path that references the zone field of a workflow template's cluster selector would be specified as placement.clusterSelector.zone.Also, field paths can reference fields using the following syntax: Values in maps can be referenced by key: labels'key' placement.clusterSelector.clusterLabels'key' placement.managedCluster.labels'key' placement.clusterSelector.clusterLabels'key' jobs'step-id'.labels'key' Jobs in the jobs list can be referenced by step-id: jobs'step-id'.hadoopJob.mainJarFileUri jobs'step-id'.hiveJob.queryFileUri jobs'step-id'.pySparkJob.mainPythonFileUri jobs'step-id'.hadoopJob.jarFileUris0 jobs'step-id'.hadoopJob.archiveUris0 jobs'step-id'.hadoopJob.fileUris0 jobs'step-id'.pySparkJob.pythonFileUris0 Items in repeated fields can be referenced by a zero-based index: jobs'step-id'.sparkJob.args0 Other examples: jobs'step-id'.hadoopJob.properties'key' jobs'step-id'.hadoopJob.args0 jobs'step-id'.hiveJob.scriptVariables'key' jobs'step-id'.hadoopJob.mainJarFileUri placement.clusterSelector.zoneIt may not be possible to parameterize maps and repeated fields in their entirety since only individual map values and individual items in repeated fields can be referenced. For example, the following field paths are invalid: placement.clusterSelector.clusterLabels jobs'step-id'.sparkJob.args", +"items": { +"type": "string" +}, +"type": "array" +}, +"name": { +"description": "Required. Parameter name. The parameter name is used as the key, and paired with the parameter value, which are passed to the template when the template is instantiated. The name must contain only capital letters (A-Z), numbers (0-9), and underscores (_), and must not start with a number. The maximum length is 40 characters.", +"type": "string" +}, +"validation": { +"$ref": "ParameterValidation", +"description": "Optional. Validation rules to be applied to this parameter's value." +} +}, +"type": "object" +}, +"TerminateSessionRequest": { +"description": "A request to terminate an interactive session.", +"id": "TerminateSessionRequest", +"properties": { +"requestId": { +"description": "Optional. A unique ID used to identify the request. If the service receives two TerminateSessionRequest (https://cloud.google.com/dataproc/docs/reference/rpc/google.cloud.dataproc.v1#google.cloud.dataproc.v1.TerminateSessionRequest)s with the same ID, the second request is ignored.Recommendation: Set this value to a UUID (https://en.wikipedia.org/wiki/Universally_unique_identifier).The value must contain only letters (a-z, A-Z), numbers (0-9), underscores (_), and hyphens (-). The maximum length is 40 characters.", +"type": "string" +} +}, +"type": "object" +}, +"TestIamPermissionsRequest": { +"description": "Request message for TestIamPermissions method.", +"id": "TestIamPermissionsRequest", +"properties": { +"permissions": { +"description": "The set of permissions to check for the resource. Permissions with wildcards (such as * or storage.*) are not allowed. For more information see IAM Overview (https://cloud.google.com/iam/docs/overview#permissions).", +"items": { +"type": "string" +}, +"type": "array" +} +}, +"type": "object" +}, +"TestIamPermissionsResponse": { +"description": "Response message for TestIamPermissions method.", +"id": "TestIamPermissionsResponse", +"properties": { +"permissions": { +"description": "A subset of TestPermissionsRequest.permissions that the caller is allowed.", +"items": { +"type": "string" +}, +"type": "array" +} +}, +"type": "object" +}, +"TrinoJob": { +"description": "A Dataproc job for running Trino (https://trino.io/) queries. IMPORTANT: The Dataproc Trino Optional Component (https://cloud.google.com/dataproc/docs/concepts/components/trino) must be enabled when the cluster is created to submit a Trino job to the cluster.", +"id": "TrinoJob", +"properties": { +"clientTags": { +"description": "Optional. Trino client tags to attach to this query", +"items": { +"type": "string" +}, +"type": "array" +}, +"continueOnFailure": { +"description": "Optional. Whether to continue executing queries if a query fails. The default value is false. Setting to true can be useful when executing independent parallel queries.", +"type": "boolean" +}, +"loggingConfig": { +"$ref": "LoggingConfig", +"description": "Optional. The runtime log config for job execution." +}, +"outputFormat": { +"description": "Optional. The format in which query output will be displayed. See the Trino documentation for supported output formats", +"type": "string" +}, +"properties": { +"additionalProperties": { +"type": "string" +}, +"description": "Optional. A mapping of property names to values. Used to set Trino session properties (https://trino.io/docs/current/sql/set-session.html) Equivalent to using the --session flag in the Trino CLI", +"type": "object" +}, +"queryFileUri": { +"description": "The HCFS URI of the script that contains SQL queries.", +"type": "string" +}, +"queryList": { +"$ref": "QueryList", +"description": "A list of queries." +} +}, +"type": "object" +}, +"UsageMetrics": { +"description": "Usage metrics represent approximate total resources consumed by a workload.", +"id": "UsageMetrics", +"properties": { +"acceleratorType": { +"description": "Optional. Accelerator type being used, if any", +"type": "string" +}, +"milliAcceleratorSeconds": { +"description": "Optional. Accelerator usage in (milliAccelerator x seconds) (see Dataproc Serverless pricing (https://cloud.google.com/dataproc-serverless/pricing)).", +"format": "int64", +"type": "string" +}, +"milliDcuSeconds": { +"description": "Optional. DCU (Dataproc Compute Units) usage in (milliDCU x seconds) (see Dataproc Serverless pricing (https://cloud.google.com/dataproc-serverless/pricing)).", +"format": "int64", +"type": "string" +}, +"shuffleStorageGbSeconds": { +"description": "Optional. Shuffle storage usage in (GB x seconds) (see Dataproc Serverless pricing (https://cloud.google.com/dataproc-serverless/pricing)).", +"format": "int64", +"type": "string" +} +}, +"type": "object" +}, +"UsageSnapshot": { +"description": "The usage snapshot represents the resources consumed by a workload at a specified time.", +"id": "UsageSnapshot", +"properties": { +"acceleratorType": { +"description": "Optional. Accelerator type being used, if any", +"type": "string" +}, +"milliAccelerator": { +"description": "Optional. Milli (one-thousandth) accelerator. (see Dataproc Serverless pricing (https://cloud.google.com/dataproc-serverless/pricing))", +"format": "int64", +"type": "string" +}, +"milliDcu": { +"description": "Optional. Milli (one-thousandth) Dataproc Compute Units (DCUs) (see Dataproc Serverless pricing (https://cloud.google.com/dataproc-serverless/pricing)).", +"format": "int64", +"type": "string" +}, +"milliDcuPremium": { +"description": "Optional. Milli (one-thousandth) Dataproc Compute Units (DCUs) charged at premium tier (see Dataproc Serverless pricing (https://cloud.google.com/dataproc-serverless/pricing)).", +"format": "int64", +"type": "string" +}, +"shuffleStorageGb": { +"description": "Optional. Shuffle Storage in gigabytes (GB). (see Dataproc Serverless pricing (https://cloud.google.com/dataproc-serverless/pricing))", +"format": "int64", +"type": "string" +}, +"shuffleStorageGbPremium": { +"description": "Optional. Shuffle Storage in gigabytes (GB) charged at premium tier. (see Dataproc Serverless pricing (https://cloud.google.com/dataproc-serverless/pricing))", +"format": "int64", +"type": "string" +}, +"snapshotTime": { +"description": "Optional. The timestamp of the usage snapshot.", +"format": "google-datetime", +"type": "string" +} +}, +"type": "object" +}, +"ValueValidation": { +"description": "Validation based on a list of allowed values.", +"id": "ValueValidation", +"properties": { +"values": { +"description": "Required. List of allowed values for the parameter.", +"items": { +"type": "string" +}, +"type": "array" +} +}, +"type": "object" +}, +"VirtualClusterConfig": { +"description": "The Dataproc cluster config for a cluster that does not directly control the underlying compute resources, such as a Dataproc-on-GKE cluster (https://cloud.google.com/dataproc/docs/guides/dpgke/dataproc-gke-overview).", +"id": "VirtualClusterConfig", +"properties": { +"auxiliaryServicesConfig": { +"$ref": "AuxiliaryServicesConfig", +"description": "Optional. Configuration of auxiliary services used by this cluster." +}, +"kubernetesClusterConfig": { +"$ref": "KubernetesClusterConfig", +"description": "Required. The configuration for running the Dataproc cluster on Kubernetes." +}, +"stagingBucket": { +"description": "Optional. A Cloud Storage bucket used to stage job dependencies, config files, and job driver console output. If you do not specify a staging bucket, Cloud Dataproc will determine a Cloud Storage location (US, ASIA, or EU) for your cluster's staging bucket according to the Compute Engine zone where your cluster is deployed, and then create and manage this project-level, per-location bucket (see Dataproc staging and temp buckets (https://cloud.google.com/dataproc/docs/concepts/configuring-clusters/staging-bucket)). This field requires a Cloud Storage bucket name, not a gs://... URI to a Cloud Storage bucket.", +"type": "string" +} +}, +"type": "object" +}, +"WorkflowGraph": { +"description": "The workflow graph.", +"id": "WorkflowGraph", +"properties": { +"nodes": { +"description": "Output only. The workflow nodes.", +"items": { +"$ref": "WorkflowNode" +}, +"readOnly": true, +"type": "array" +} +}, +"type": "object" +}, +"WorkflowMetadata": { +"description": "A Dataproc workflow template resource.", +"id": "WorkflowMetadata", +"properties": { +"clusterName": { +"description": "Output only. The name of the target cluster.", +"readOnly": true, +"type": "string" +}, +"clusterUuid": { +"description": "Output only. The UUID of target cluster.", +"readOnly": true, +"type": "string" +}, +"createCluster": { +"$ref": "ClusterOperation", +"description": "Output only. The create cluster operation metadata.", +"readOnly": true +}, +"dagEndTime": { +"description": "Output only. DAG end time, only set for workflows with dag_timeout when DAG ends.", +"format": "google-datetime", +"readOnly": true, +"type": "string" +}, +"dagStartTime": { +"description": "Output only. DAG start time, only set for workflows with dag_timeout when DAG begins.", +"format": "google-datetime", +"readOnly": true, +"type": "string" +}, +"dagTimeout": { +"description": "Output only. The timeout duration for the DAG of jobs, expressed in seconds (see JSON representation of duration (https://developers.google.com/protocol-buffers/docs/proto3#json)).", +"format": "google-duration", +"readOnly": true, +"type": "string" +}, +"deleteCluster": { +"$ref": "ClusterOperation", +"description": "Output only. The delete cluster operation metadata.", +"readOnly": true +}, +"endTime": { +"description": "Output only. Workflow end time.", +"format": "google-datetime", +"readOnly": true, +"type": "string" +}, +"graph": { +"$ref": "WorkflowGraph", +"description": "Output only. The workflow graph.", +"readOnly": true +}, +"parameters": { +"additionalProperties": { +"type": "string" +}, +"description": "Map from parameter names to values that were used for those parameters.", +"type": "object" +}, +"startTime": { +"description": "Output only. Workflow start time.", +"format": "google-datetime", +"readOnly": true, +"type": "string" +}, +"state": { +"description": "Output only. The workflow state.", +"enum": [ +"UNKNOWN", +"PENDING", +"RUNNING", +"DONE" +], +"enumDescriptions": [ +"Unused.", +"The operation has been created.", +"The operation is running.", +"The operation is done; either cancelled or completed." +], +"readOnly": true, +"type": "string" +}, +"template": { +"description": "Output only. The resource name of the workflow template as described in https://cloud.google.com/apis/design/resource_names. For projects.regions.workflowTemplates, the resource name of the template has the following format: projects/{project_id}/regions/{region}/workflowTemplates/{template_id} For projects.locations.workflowTemplates, the resource name of the template has the following format: projects/{project_id}/locations/{location}/workflowTemplates/{template_id}", +"readOnly": true, +"type": "string" +}, +"version": { +"description": "Output only. The version of template at the time of workflow instantiation.", +"format": "int32", +"readOnly": true, +"type": "integer" +} +}, +"type": "object" +}, +"WorkflowNode": { +"description": "The workflow node.", +"id": "WorkflowNode", +"properties": { +"error": { +"description": "Output only. The error detail.", +"readOnly": true, +"type": "string" +}, +"jobId": { +"description": "Output only. The job id; populated after the node enters RUNNING state.", +"readOnly": true, +"type": "string" +}, +"prerequisiteStepIds": { +"description": "Output only. Node's prerequisite nodes.", +"items": { +"type": "string" +}, +"readOnly": true, +"type": "array" +}, +"state": { +"description": "Output only. The node state.", +"enum": [ +"NODE_STATE_UNSPECIFIED", +"BLOCKED", +"RUNNABLE", +"RUNNING", +"COMPLETED", +"FAILED" +], +"enumDescriptions": [ +"State is unspecified.", +"The node is awaiting prerequisite node to finish.", +"The node is runnable but not running.", +"The node is running.", +"The node completed successfully.", +"The node failed. A node can be marked FAILED because its ancestor or peer failed." +], +"readOnly": true, +"type": "string" +}, +"stepId": { +"description": "Output only. The name of the node.", +"readOnly": true, +"type": "string" +} +}, +"type": "object" +}, +"WorkflowTemplate": { +"description": "A Dataproc workflow template resource.", +"id": "WorkflowTemplate", +"properties": { +"createTime": { +"description": "Output only. The time template was created.", +"format": "google-datetime", +"readOnly": true, +"type": "string" +}, +"dagTimeout": { +"description": "Optional. Timeout duration for the DAG of jobs, expressed in seconds (see JSON representation of duration (https://developers.google.com/protocol-buffers/docs/proto3#json)). The timeout duration must be from 10 minutes (\"600s\") to 24 hours (\"86400s\"). The timer begins when the first job is submitted. If the workflow is running at the end of the timeout period, any remaining jobs are cancelled, the workflow is ended, and if the workflow was running on a managed cluster, the cluster is deleted.", +"format": "google-duration", +"type": "string" +}, +"encryptionConfig": { +"$ref": "GoogleCloudDataprocV1WorkflowTemplateEncryptionConfig", +"description": "Optional. Encryption settings for encrypting workflow template job arguments." +}, +"id": { +"type": "string" +}, +"jobs": { +"description": "Required. The Directed Acyclic Graph of Jobs to submit.", +"items": { +"$ref": "OrderedJob" +}, +"type": "array" +}, +"labels": { +"additionalProperties": { +"type": "string" +}, +"description": "Optional. The labels to associate with this template. These labels will be propagated to all jobs and clusters created by the workflow instance.Label keys must contain 1 to 63 characters, and must conform to RFC 1035 (https://www.ietf.org/rfc/rfc1035.txt).Label values may be empty, but, if present, must contain 1 to 63 characters, and must conform to RFC 1035 (https://www.ietf.org/rfc/rfc1035.txt).No more than 32 labels can be associated with a template.", +"type": "object" +}, +"name": { +"description": "Output only. The resource name of the workflow template, as described in https://cloud.google.com/apis/design/resource_names. For projects.regions.workflowTemplates, the resource name of the template has the following format: projects/{project_id}/regions/{region}/workflowTemplates/{template_id} For projects.locations.workflowTemplates, the resource name of the template has the following format: projects/{project_id}/locations/{location}/workflowTemplates/{template_id}", +"readOnly": true, +"type": "string" +}, +"parameters": { +"description": "Optional. Template parameters whose values are substituted into the template. Values for parameters must be provided when the template is instantiated.", +"items": { +"$ref": "TemplateParameter" +}, +"type": "array" +}, +"placement": { +"$ref": "WorkflowTemplatePlacement", +"description": "Required. WorkflowTemplate scheduling information." +}, +"updateTime": { +"description": "Output only. The time template was last updated.", +"format": "google-datetime", +"readOnly": true, +"type": "string" +}, +"version": { +"description": "Optional. Used to perform a consistent read-modify-write.This field should be left blank for a CreateWorkflowTemplate request. It is required for an UpdateWorkflowTemplate request, and must match the current server version. A typical update template flow would fetch the current template with a GetWorkflowTemplate request, which will return the current template with the version field filled in with the current server version. The user updates other fields in the template, then returns it as part of the UpdateWorkflowTemplate request.", +"format": "int32", +"type": "integer" +} +}, +"type": "object" +}, +"WorkflowTemplatePlacement": { +"description": "Specifies workflow execution target.Either managed_cluster or cluster_selector is required.", +"id": "WorkflowTemplatePlacement", +"properties": { +"clusterSelector": { +"$ref": "ClusterSelector", +"description": "Optional. A selector that chooses target cluster for jobs based on metadata.The selector is evaluated at the time each job is submitted." +}, +"managedCluster": { +"$ref": "ManagedCluster", +"description": "A cluster that is managed by the workflow." +} +}, +"type": "object" +}, +"WriteSessionSparkApplicationContextRequest": { +"description": "Write Spark Application data to internal storage systems", +"id": "WriteSessionSparkApplicationContextRequest", +"properties": { +"parent": { +"description": "Required. Parent (Batch) resource reference.", +"type": "string" +}, +"sparkWrapperObjects": { +"description": "Required. The batch of spark application context objects sent for ingestion.", +"items": { +"$ref": "SparkWrapperObject" +}, +"type": "array" +} +}, +"type": "object" +}, +"WriteSessionSparkApplicationContextResponse": { +"description": "Response returned as an acknowledgement of receipt of data.", +"id": "WriteSessionSparkApplicationContextResponse", +"properties": {}, +"type": "object" +}, +"WriteSparkApplicationContextRequest": { +"description": "Write Spark Application data to internal storage systems", +"id": "WriteSparkApplicationContextRequest", +"properties": { +"parent": { +"description": "Required. Parent (Batch) resource reference.", +"type": "string" +}, +"sparkWrapperObjects": { +"items": { +"$ref": "SparkWrapperObject" +}, +"type": "array" +} +}, +"type": "object" +}, +"WriteSparkApplicationContextResponse": { +"description": "Response returned as an acknowledgement of receipt of data.", +"id": "WriteSparkApplicationContextResponse", +"properties": {}, +"type": "object" +}, +"YarnApplication": { +"description": "A YARN application created by a job. Application information is a subset of org.apache.hadoop.yarn.proto.YarnProtos.ApplicationReportProto.Beta Feature: This report is available for testing purposes only. It may be changed before final release.", +"id": "YarnApplication", +"properties": { +"name": { +"description": "Required. The application name.", +"type": "string" +}, +"progress": { +"description": "Required. The numerical progress of the application, from 1 to 100.", +"format": "float", +"type": "number" +}, +"state": { +"description": "Required. The application state.", +"enum": [ +"STATE_UNSPECIFIED", +"NEW", +"NEW_SAVING", +"SUBMITTED", +"ACCEPTED", +"RUNNING", +"FINISHED", +"FAILED", +"KILLED" +], +"enumDescriptions": [ +"Status is unspecified.", +"Status is NEW.", +"Status is NEW_SAVING.", +"Status is SUBMITTED.", +"Status is ACCEPTED.", +"Status is RUNNING.", +"Status is FINISHED.", +"Status is FAILED.", +"Status is KILLED." +], +"type": "string" +}, +"trackingUrl": { +"description": "Optional. The HTTP URL of the ApplicationMaster, HistoryServer, or TimelineServer that provides application-specific information. The URL uses the internal hostname, and requires a proxy server for resolution and, possibly, access.", +"type": "string" +} +}, +"type": "object" +} +}, +"servicePath": "", +"title": "Cloud Dataproc API", +"version": "v1" +} \ No newline at end of file diff --git a/.venv/lib/python3.11/site-packages/googleapiclient/discovery_cache/documents/deploymentmanager.v2.json b/.venv/lib/python3.11/site-packages/googleapiclient/discovery_cache/documents/deploymentmanager.v2.json new file mode 100644 index 0000000000000000000000000000000000000000..9e0ba80fae12ff212dcba972dc86d9ee239d2b12 --- /dev/null +++ b/.venv/lib/python3.11/site-packages/googleapiclient/discovery_cache/documents/deploymentmanager.v2.json @@ -0,0 +1,2649 @@ +{ +"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." +}, +"https://www.googleapis.com/auth/cloud-platform.read-only": { +"description": "View your data across Google Cloud services and see the email address of your Google Account" +}, +"https://www.googleapis.com/auth/ndev.cloudman": { +"description": "View and manage your Google Cloud Platform management resources and deployment status information" +}, +"https://www.googleapis.com/auth/ndev.cloudman.readonly": { +"description": "View your Google Cloud Platform management resources and deployment status information" +} +} +} +}, +"basePath": "", +"baseUrl": "https://deploymentmanager.googleapis.com/", +"batchPath": "batch", +"canonicalName": "Deployment Manager", +"description": "The Google Cloud Deployment Manager v2 API provides services for configuring, deploying, and viewing Google Cloud services and APIs via templates which specify deployments of Cloud resources.", +"discoveryVersion": "v1", +"documentationLink": "https://cloud.google.com/deployment-manager", +"icons": { +"x16": "http://www.google.com/images/icons/product/search-16.gif", +"x32": "http://www.google.com/images/icons/product/search-32.gif" +}, +"id": "deploymentmanager:v2", +"kind": "discovery#restDescription", +"mtlsRootUrl": "https://deploymentmanager.mtls.googleapis.com/", +"name": "deploymentmanager", +"ownerDomain": "google.com", +"ownerName": "Google", +"parameters": { +"$.xgafv": { +"description": "V1 error format.", +"enum": [ +"1", +"2" +], +"enumDescriptions": [ +"v1 error format", +"v2 error format" +], +"location": "query", +"type": "string" +}, +"access_token": { +"description": "OAuth access token.", +"location": "query", +"type": "string" +}, +"alt": { +"default": "json", +"description": "Data format for response.", +"enum": [ +"json", +"media", +"proto" +], +"enumDescriptions": [ +"Responses with Content-Type of application/json", +"Media download with context-dependent Content-Type", +"Responses with Content-Type of application/x-protobuf" +], +"location": "query", +"type": "string" +}, +"callback": { +"description": "JSONP", +"location": "query", +"type": "string" +}, +"fields": { +"description": "Selector specifying which fields to include in a partial response.", +"location": "query", +"type": "string" +}, +"key": { +"description": "API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token.", +"location": "query", +"type": "string" +}, +"oauth_token": { +"description": "OAuth 2.0 token for the current user.", +"location": "query", +"type": "string" +}, +"prettyPrint": { +"default": "true", +"description": "Returns response with indentations and line breaks.", +"location": "query", +"type": "boolean" +}, +"quotaUser": { +"description": "Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters.", +"location": "query", +"type": "string" +}, +"uploadType": { +"description": "Legacy upload protocol for media (e.g. \"media\", \"multipart\").", +"location": "query", +"type": "string" +}, +"upload_protocol": { +"description": "Upload protocol for media (e.g. \"raw\", \"multipart\").", +"location": "query", +"type": "string" +} +}, +"protocol": "rest", +"resources": { +"deployments": { +"methods": { +"cancelPreview": { +"description": "Cancels and removes the preview currently associated with the deployment.", +"flatPath": "deploymentmanager/v2/projects/{project}/global/deployments/{deployment}/cancelPreview", +"httpMethod": "POST", +"id": "deploymentmanager.deployments.cancelPreview", +"parameterOrder": [ +"project", +"deployment" +], +"parameters": { +"deployment": { +"description": "The name of the deployment for this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"required": true, +"type": "string" +}, +"project": { +"description": "The project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +} +}, +"path": "deploymentmanager/v2/projects/{project}/global/deployments/{deployment}/cancelPreview", +"request": { +"$ref": "DeploymentsCancelPreviewRequest" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/ndev.cloudman" +] +}, +"delete": { +"description": "Deletes a deployment and all of the resources in the deployment.", +"flatPath": "deploymentmanager/v2/projects/{project}/global/deployments/{deployment}", +"httpMethod": "DELETE", +"id": "deploymentmanager.deployments.delete", +"parameterOrder": [ +"project", +"deployment" +], +"parameters": { +"deletePolicy": { +"default": "DELETE", +"description": "Sets the policy to use for deleting resources.", +"enum": [ +"DELETE", +"ABANDON" +], +"enumDescriptions": [ +"", +"" +], +"location": "query", +"type": "string" +}, +"deployment": { +"description": "The name of the deployment for this request.", +"location": "path", +"required": true, +"type": "string" +}, +"header.bypassBillingFilter": { +"location": "query", +"type": "boolean" +}, +"project": { +"description": "The project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +} +}, +"path": "deploymentmanager/v2/projects/{project}/global/deployments/{deployment}", +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/ndev.cloudman" +] +}, +"get": { +"description": "Gets information about a specific deployment.", +"flatPath": "deploymentmanager/v2/projects/{project}/global/deployments/{deployment}", +"httpMethod": "GET", +"id": "deploymentmanager.deployments.get", +"parameterOrder": [ +"project", +"deployment" +], +"parameters": { +"deployment": { +"description": "The name of the deployment for this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"required": true, +"type": "string" +}, +"header.bypassBillingFilter": { +"location": "query", +"type": "boolean" +}, +"project": { +"description": "The project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +} +}, +"path": "deploymentmanager/v2/projects/{project}/global/deployments/{deployment}", +"response": { +"$ref": "Deployment" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/cloud-platform.read-only", +"https://www.googleapis.com/auth/ndev.cloudman", +"https://www.googleapis.com/auth/ndev.cloudman.readonly" +] +}, +"getIamPolicy": { +"description": "Gets the access control policy for a resource. May be empty if no such policy or resource exists.", +"flatPath": "deploymentmanager/v2/projects/{project}/global/deployments/{resource}/getIamPolicy", +"httpMethod": "GET", +"id": "deploymentmanager.deployments.getIamPolicy", +"parameterOrder": [ +"project", +"resource" +], +"parameters": { +"header.bypassBillingFilter": { +"location": "query", +"type": "boolean" +}, +"optionsRequestedPolicyVersion": { +"description": "Requested IAM Policy version.", +"format": "int32", +"location": "query", +"type": "integer" +}, +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"resource": { +"description": "Name or id of the resource for this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9_]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", +"required": true, +"type": "string" +} +}, +"path": "deploymentmanager/v2/projects/{project}/global/deployments/{resource}/getIamPolicy", +"response": { +"$ref": "Policy" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/ndev.cloudman" +] +}, +"insert": { +"description": "Creates a deployment and all of the resources described by the deployment manifest.", +"flatPath": "deploymentmanager/v2/projects/{project}/global/deployments", +"httpMethod": "POST", +"id": "deploymentmanager.deployments.insert", +"parameterOrder": [ +"project" +], +"parameters": { +"createPolicy": { +"default": "CREATE_OR_ACQUIRE", +"description": "Sets the policy to use for creating new resources.", +"enum": [ +"CREATE_OR_ACQUIRE", +"ACQUIRE" +], +"enumDescriptions": [ +"", +"" +], +"location": "query", +"type": "string" +}, +"header.bypassBillingFilter": { +"location": "query", +"type": "boolean" +}, +"preview": { +"description": "If set to true, creates a deployment and creates \"shell\" resources but does not actually instantiate these resources. This allows you to preview what your deployment looks like. After previewing a deployment, you can deploy your resources by making a request with the `update()` method or you can use the `cancelPreview()` method to cancel the preview altogether. Note that the deployment will still exist after you cancel the preview and you must separately delete this deployment if you want to remove it.", +"location": "query", +"type": "boolean" +}, +"project": { +"description": "The project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +} +}, +"path": "deploymentmanager/v2/projects/{project}/global/deployments", +"request": { +"$ref": "Deployment" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/ndev.cloudman" +] +}, +"list": { +"description": "Lists all deployments for a given project.", +"flatPath": "deploymentmanager/v2/projects/{project}/global/deployments", +"httpMethod": "GET", +"id": "deploymentmanager.deployments.list", +"parameterOrder": [ +"project" +], +"parameters": { +"filter": { +"description": "A filter expression that filters resources listed in the response. Most Compute resources support two types of filter expressions: expressions that support regular expressions and expressions that follow API improvement proposal AIP-160. These two types of filter expressions cannot be mixed in one request. If you want to use AIP-160, your expression must specify the field name, an operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The operator must be either `=`, `!=`, `>`, `<`, `<=`, `>=` or `:`. For example, if you are filtering Compute Engine instances, you can exclude instances named `example-instance` by specifying `name != example-instance`. The `:*` comparison can be used to test whether a key has been defined. For example, to find all objects with `owner` label use: ``` labels.owner:* ``` You can also filter nested fields. For example, you could specify `scheduling.automaticRestart = false` to include instances only if they are not scheduled for automatic restarts. You can use filtering on nested fields to filter based on resource labels. To filter on multiple expressions, provide each separate expression within parentheses. For example: ``` (scheduling.automaticRestart = true) (cpuPlatform = \"Intel Skylake\") ``` By default, each expression is an `AND` expression. However, you can include `AND` and `OR` expressions explicitly. For example: ``` (cpuPlatform = \"Intel Skylake\") OR (cpuPlatform = \"Intel Broadwell\") AND (scheduling.automaticRestart = true) ``` If you want to use a regular expression, use the `eq` (equal) or `ne` (not equal) operator against a single un-parenthesized expression with or without quotes or against multiple parenthesized expressions. Examples: `fieldname eq unquoted literal` `fieldname eq 'single quoted literal'` `fieldname eq \"double quoted literal\"` `(fieldname1 eq literal) (fieldname2 ne \"literal\")` The literal value is interpreted as a regular expression using Google RE2 library syntax. The literal value must match the entire field. For example, to filter for instances that do not end with name \"instance\", you would use `name ne .*instance`. You cannot combine constraints on multiple fields using regular expressions.", +"location": "query", +"type": "string" +}, +"maxResults": { +"default": "500", +"description": "The maximum number of results per page that should be returned. If the number of available results is larger than `maxResults`, Compute Engine returns a `nextPageToken` that can be used to get the next page of results in subsequent list requests. Acceptable values are `0` to `500`, inclusive. (Default: `500`)", +"format": "uint32", +"location": "query", +"minimum": "0", +"type": "integer" +}, +"orderBy": { +"description": "Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name. You can also sort results in descending order based on the creation timestamp using `orderBy=\"creationTimestamp desc\"`. This sorts results based on the `creationTimestamp` field in reverse chronological order (newest result first). Use this to sort resources like operations so that the newest operation is returned first. Currently, only sorting by `name` or `creationTimestamp desc` is supported.", +"location": "query", +"type": "string" +}, +"pageToken": { +"description": "Specifies a page token to use. Set `pageToken` to the `nextPageToken` returned by a previous list request to get the next page of results.", +"location": "query", +"type": "string" +}, +"project": { +"description": "The project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +} +}, +"path": "deploymentmanager/v2/projects/{project}/global/deployments", +"response": { +"$ref": "DeploymentsListResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/cloud-platform.read-only", +"https://www.googleapis.com/auth/ndev.cloudman", +"https://www.googleapis.com/auth/ndev.cloudman.readonly" +] +}, +"patch": { +"description": "Patches a deployment and all of the resources described by the deployment manifest.", +"flatPath": "deploymentmanager/v2/projects/{project}/global/deployments/{deployment}", +"httpMethod": "PATCH", +"id": "deploymentmanager.deployments.patch", +"parameterOrder": [ +"project", +"deployment" +], +"parameters": { +"createPolicy": { +"default": "CREATE_OR_ACQUIRE", +"description": "Sets the policy to use for creating new resources.", +"enum": [ +"CREATE_OR_ACQUIRE", +"ACQUIRE" +], +"enumDescriptions": [ +"", +"" +], +"location": "query", +"type": "string" +}, +"deletePolicy": { +"default": "DELETE", +"description": "Sets the policy to use for deleting resources.", +"enum": [ +"DELETE", +"ABANDON" +], +"enumDescriptions": [ +"", +"" +], +"location": "query", +"type": "string" +}, +"deployment": { +"description": "The name of the deployment for this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"required": true, +"type": "string" +}, +"header.bypassBillingFilter": { +"location": "query", +"type": "boolean" +}, +"preview": { +"default": "false", +"description": "If set to true, updates the deployment and creates and updates the \"shell\" resources but does not actually alter or instantiate these resources. This allows you to preview what your deployment will look like. You can use this intent to preview how an update would affect your deployment. You must provide a `target.config` with a configuration if this is set to true. After previewing a deployment, you can deploy your resources by making a request with the `update()` or you can `cancelPreview()` to remove the preview altogether. Note that the deployment will still exist after you cancel the preview and you must separately delete this deployment if you want to remove it.", +"location": "query", +"type": "boolean" +}, +"project": { +"description": "The project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +} +}, +"path": "deploymentmanager/v2/projects/{project}/global/deployments/{deployment}", +"request": { +"$ref": "Deployment" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/ndev.cloudman" +] +}, +"setIamPolicy": { +"description": "Sets the access control policy on the specified resource. Replaces any existing policy.", +"flatPath": "deploymentmanager/v2/projects/{project}/global/deployments/{resource}/setIamPolicy", +"httpMethod": "POST", +"id": "deploymentmanager.deployments.setIamPolicy", +"parameterOrder": [ +"project", +"resource" +], +"parameters": { +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"resource": { +"description": "Name or id of the resource for this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9_]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", +"required": true, +"type": "string" +} +}, +"path": "deploymentmanager/v2/projects/{project}/global/deployments/{resource}/setIamPolicy", +"request": { +"$ref": "GlobalSetPolicyRequest" +}, +"response": { +"$ref": "Policy" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/ndev.cloudman" +] +}, +"stop": { +"description": "Stops an ongoing operation. This does not roll back any work that has already been completed, but prevents any new work from being started.", +"flatPath": "deploymentmanager/v2/projects/{project}/global/deployments/{deployment}/stop", +"httpMethod": "POST", +"id": "deploymentmanager.deployments.stop", +"parameterOrder": [ +"project", +"deployment" +], +"parameters": { +"deployment": { +"description": "The name of the deployment for this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"required": true, +"type": "string" +}, +"project": { +"description": "The project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +} +}, +"path": "deploymentmanager/v2/projects/{project}/global/deployments/{deployment}/stop", +"request": { +"$ref": "DeploymentsStopRequest" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/ndev.cloudman" +] +}, +"testIamPermissions": { +"description": "Returns permissions that a caller has on the specified resource.", +"flatPath": "deploymentmanager/v2/projects/{project}/global/deployments/{resource}/testIamPermissions", +"httpMethod": "POST", +"id": "deploymentmanager.deployments.testIamPermissions", +"parameterOrder": [ +"project", +"resource" +], +"parameters": { +"header.bypassBillingFilter": { +"location": "query", +"type": "boolean" +}, +"project": { +"description": "Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"resource": { +"description": "Name or id of the resource for this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9_]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", +"required": true, +"type": "string" +} +}, +"path": "deploymentmanager/v2/projects/{project}/global/deployments/{resource}/testIamPermissions", +"request": { +"$ref": "TestPermissionsRequest" +}, +"response": { +"$ref": "TestPermissionsResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/ndev.cloudman" +] +}, +"update": { +"description": "Updates a deployment and all of the resources described by the deployment manifest.", +"flatPath": "deploymentmanager/v2/projects/{project}/global/deployments/{deployment}", +"httpMethod": "PUT", +"id": "deploymentmanager.deployments.update", +"parameterOrder": [ +"project", +"deployment" +], +"parameters": { +"createPolicy": { +"default": "CREATE_OR_ACQUIRE", +"description": "Sets the policy to use for creating new resources.", +"enum": [ +"CREATE_OR_ACQUIRE", +"ACQUIRE" +], +"enumDescriptions": [ +"", +"" +], +"location": "query", +"type": "string" +}, +"deletePolicy": { +"default": "DELETE", +"description": "Sets the policy to use for deleting resources.", +"enum": [ +"DELETE", +"ABANDON" +], +"enumDescriptions": [ +"", +"" +], +"location": "query", +"type": "string" +}, +"deployment": { +"description": "The name of the deployment for this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"required": true, +"type": "string" +}, +"header.bypassBillingFilter": { +"location": "query", +"type": "boolean" +}, +"preview": { +"default": "false", +"description": "If set to true, updates the deployment and creates and updates the \"shell\" resources but does not actually alter or instantiate these resources. This allows you to preview what your deployment will look like. You can use this intent to preview how an update would affect your deployment. You must provide a `target.config` with a configuration if this is set to true. After previewing a deployment, you can deploy your resources by making a request with the `update()` or you can `cancelPreview()` to remove the preview altogether. Note that the deployment will still exist after you cancel the preview and you must separately delete this deployment if you want to remove it.", +"location": "query", +"type": "boolean" +}, +"project": { +"description": "The project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +} +}, +"path": "deploymentmanager/v2/projects/{project}/global/deployments/{deployment}", +"request": { +"$ref": "Deployment" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/ndev.cloudman" +] +} +} +}, +"manifests": { +"methods": { +"get": { +"description": "Gets information about a specific manifest.", +"flatPath": "deploymentmanager/v2/projects/{project}/global/deployments/{deployment}/manifests/{manifest}", +"httpMethod": "GET", +"id": "deploymentmanager.manifests.get", +"parameterOrder": [ +"project", +"deployment", +"manifest" +], +"parameters": { +"deployment": { +"description": "The name of the deployment for this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"required": true, +"type": "string" +}, +"header.bypassBillingFilter": { +"location": "query", +"type": "boolean" +}, +"manifest": { +"description": "The name of the manifest for this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"required": true, +"type": "string" +}, +"project": { +"description": "The project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +} +}, +"path": "deploymentmanager/v2/projects/{project}/global/deployments/{deployment}/manifests/{manifest}", +"response": { +"$ref": "Manifest" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/cloud-platform.read-only", +"https://www.googleapis.com/auth/ndev.cloudman", +"https://www.googleapis.com/auth/ndev.cloudman.readonly" +] +}, +"list": { +"description": "Lists all manifests for a given deployment.", +"flatPath": "deploymentmanager/v2/projects/{project}/global/deployments/{deployment}/manifests", +"httpMethod": "GET", +"id": "deploymentmanager.manifests.list", +"parameterOrder": [ +"project", +"deployment" +], +"parameters": { +"deployment": { +"description": "The name of the deployment for this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"required": true, +"type": "string" +}, +"filter": { +"description": "A filter expression that filters resources listed in the response. Most Compute resources support two types of filter expressions: expressions that support regular expressions and expressions that follow API improvement proposal AIP-160. These two types of filter expressions cannot be mixed in one request. If you want to use AIP-160, your expression must specify the field name, an operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The operator must be either `=`, `!=`, `>`, `<`, `<=`, `>=` or `:`. For example, if you are filtering Compute Engine instances, you can exclude instances named `example-instance` by specifying `name != example-instance`. The `:*` comparison can be used to test whether a key has been defined. For example, to find all objects with `owner` label use: ``` labels.owner:* ``` You can also filter nested fields. For example, you could specify `scheduling.automaticRestart = false` to include instances only if they are not scheduled for automatic restarts. You can use filtering on nested fields to filter based on resource labels. To filter on multiple expressions, provide each separate expression within parentheses. For example: ``` (scheduling.automaticRestart = true) (cpuPlatform = \"Intel Skylake\") ``` By default, each expression is an `AND` expression. However, you can include `AND` and `OR` expressions explicitly. For example: ``` (cpuPlatform = \"Intel Skylake\") OR (cpuPlatform = \"Intel Broadwell\") AND (scheduling.automaticRestart = true) ``` If you want to use a regular expression, use the `eq` (equal) or `ne` (not equal) operator against a single un-parenthesized expression with or without quotes or against multiple parenthesized expressions. Examples: `fieldname eq unquoted literal` `fieldname eq 'single quoted literal'` `fieldname eq \"double quoted literal\"` `(fieldname1 eq literal) (fieldname2 ne \"literal\")` The literal value is interpreted as a regular expression using Google RE2 library syntax. The literal value must match the entire field. For example, to filter for instances that do not end with name \"instance\", you would use `name ne .*instance`. You cannot combine constraints on multiple fields using regular expressions.", +"location": "query", +"type": "string" +}, +"maxResults": { +"default": "500", +"description": "The maximum number of results per page that should be returned. If the number of available results is larger than `maxResults`, Compute Engine returns a `nextPageToken` that can be used to get the next page of results in subsequent list requests. Acceptable values are `0` to `500`, inclusive. (Default: `500`)", +"format": "uint32", +"location": "query", +"minimum": "0", +"type": "integer" +}, +"orderBy": { +"description": "Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name. You can also sort results in descending order based on the creation timestamp using `orderBy=\"creationTimestamp desc\"`. This sorts results based on the `creationTimestamp` field in reverse chronological order (newest result first). Use this to sort resources like operations so that the newest operation is returned first. Currently, only sorting by `name` or `creationTimestamp desc` is supported.", +"location": "query", +"type": "string" +}, +"pageToken": { +"description": "Specifies a page token to use. Set `pageToken` to the `nextPageToken` returned by a previous list request to get the next page of results.", +"location": "query", +"type": "string" +}, +"project": { +"description": "The project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +} +}, +"path": "deploymentmanager/v2/projects/{project}/global/deployments/{deployment}/manifests", +"response": { +"$ref": "ManifestsListResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/cloud-platform.read-only", +"https://www.googleapis.com/auth/ndev.cloudman", +"https://www.googleapis.com/auth/ndev.cloudman.readonly" +] +} +} +}, +"operations": { +"methods": { +"get": { +"description": "Gets information about a specific operation.", +"flatPath": "deploymentmanager/v2/projects/{project}/global/operations/{operation}", +"httpMethod": "GET", +"id": "deploymentmanager.operations.get", +"parameterOrder": [ +"project", +"operation" +], +"parameters": { +"header.bypassBillingFilter": { +"location": "query", +"type": "boolean" +}, +"operation": { +"description": "The name of the operation for this request.", +"location": "path", +"required": true, +"type": "string" +}, +"project": { +"description": "The project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +} +}, +"path": "deploymentmanager/v2/projects/{project}/global/operations/{operation}", +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/cloud-platform.read-only", +"https://www.googleapis.com/auth/ndev.cloudman", +"https://www.googleapis.com/auth/ndev.cloudman.readonly" +] +}, +"list": { +"description": "Lists all operations for a project.", +"flatPath": "deploymentmanager/v2/projects/{project}/global/operations", +"httpMethod": "GET", +"id": "deploymentmanager.operations.list", +"parameterOrder": [ +"project" +], +"parameters": { +"filter": { +"description": "A filter expression that filters resources listed in the response. Most Compute resources support two types of filter expressions: expressions that support regular expressions and expressions that follow API improvement proposal AIP-160. These two types of filter expressions cannot be mixed in one request. If you want to use AIP-160, your expression must specify the field name, an operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The operator must be either `=`, `!=`, `>`, `<`, `<=`, `>=` or `:`. For example, if you are filtering Compute Engine instances, you can exclude instances named `example-instance` by specifying `name != example-instance`. The `:*` comparison can be used to test whether a key has been defined. For example, to find all objects with `owner` label use: ``` labels.owner:* ``` You can also filter nested fields. For example, you could specify `scheduling.automaticRestart = false` to include instances only if they are not scheduled for automatic restarts. You can use filtering on nested fields to filter based on resource labels. To filter on multiple expressions, provide each separate expression within parentheses. For example: ``` (scheduling.automaticRestart = true) (cpuPlatform = \"Intel Skylake\") ``` By default, each expression is an `AND` expression. However, you can include `AND` and `OR` expressions explicitly. For example: ``` (cpuPlatform = \"Intel Skylake\") OR (cpuPlatform = \"Intel Broadwell\") AND (scheduling.automaticRestart = true) ``` If you want to use a regular expression, use the `eq` (equal) or `ne` (not equal) operator against a single un-parenthesized expression with or without quotes or against multiple parenthesized expressions. Examples: `fieldname eq unquoted literal` `fieldname eq 'single quoted literal'` `fieldname eq \"double quoted literal\"` `(fieldname1 eq literal) (fieldname2 ne \"literal\")` The literal value is interpreted as a regular expression using Google RE2 library syntax. The literal value must match the entire field. For example, to filter for instances that do not end with name \"instance\", you would use `name ne .*instance`. You cannot combine constraints on multiple fields using regular expressions.", +"location": "query", +"type": "string" +}, +"maxResults": { +"default": "500", +"description": "The maximum number of results per page that should be returned. If the number of available results is larger than `maxResults`, Compute Engine returns a `nextPageToken` that can be used to get the next page of results in subsequent list requests. Acceptable values are `0` to `500`, inclusive. (Default: `500`)", +"format": "uint32", +"location": "query", +"minimum": "0", +"type": "integer" +}, +"orderBy": { +"description": "Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name. You can also sort results in descending order based on the creation timestamp using `orderBy=\"creationTimestamp desc\"`. This sorts results based on the `creationTimestamp` field in reverse chronological order (newest result first). Use this to sort resources like operations so that the newest operation is returned first. Currently, only sorting by `name` or `creationTimestamp desc` is supported.", +"location": "query", +"type": "string" +}, +"pageToken": { +"description": "Specifies a page token to use. Set `pageToken` to the `nextPageToken` returned by a previous list request to get the next page of results.", +"location": "query", +"type": "string" +}, +"project": { +"description": "The project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +} +}, +"path": "deploymentmanager/v2/projects/{project}/global/operations", +"response": { +"$ref": "OperationsListResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/cloud-platform.read-only", +"https://www.googleapis.com/auth/ndev.cloudman", +"https://www.googleapis.com/auth/ndev.cloudman.readonly" +] +} +} +}, +"resources": { +"methods": { +"get": { +"description": "Gets information about a single resource.", +"flatPath": "deploymentmanager/v2/projects/{project}/global/deployments/{deployment}/resources/{resource}", +"httpMethod": "GET", +"id": "deploymentmanager.resources.get", +"parameterOrder": [ +"project", +"deployment", +"resource" +], +"parameters": { +"deployment": { +"description": "The name of the deployment for this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"required": true, +"type": "string" +}, +"header.bypassBillingFilter": { +"location": "query", +"type": "boolean" +}, +"project": { +"description": "The project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"resource": { +"description": "The name of the resource for this request.", +"location": "path", +"required": true, +"type": "string" +} +}, +"path": "deploymentmanager/v2/projects/{project}/global/deployments/{deployment}/resources/{resource}", +"response": { +"$ref": "Resource" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/cloud-platform.read-only", +"https://www.googleapis.com/auth/ndev.cloudman", +"https://www.googleapis.com/auth/ndev.cloudman.readonly" +] +}, +"list": { +"description": "Lists all resources in a given deployment.", +"flatPath": "deploymentmanager/v2/projects/{project}/global/deployments/{deployment}/resources", +"httpMethod": "GET", +"id": "deploymentmanager.resources.list", +"parameterOrder": [ +"project", +"deployment" +], +"parameters": { +"deployment": { +"description": "The name of the deployment for this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"required": true, +"type": "string" +}, +"filter": { +"description": "A filter expression that filters resources listed in the response. Most Compute resources support two types of filter expressions: expressions that support regular expressions and expressions that follow API improvement proposal AIP-160. These two types of filter expressions cannot be mixed in one request. If you want to use AIP-160, your expression must specify the field name, an operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The operator must be either `=`, `!=`, `>`, `<`, `<=`, `>=` or `:`. For example, if you are filtering Compute Engine instances, you can exclude instances named `example-instance` by specifying `name != example-instance`. The `:*` comparison can be used to test whether a key has been defined. For example, to find all objects with `owner` label use: ``` labels.owner:* ``` You can also filter nested fields. For example, you could specify `scheduling.automaticRestart = false` to include instances only if they are not scheduled for automatic restarts. You can use filtering on nested fields to filter based on resource labels. To filter on multiple expressions, provide each separate expression within parentheses. For example: ``` (scheduling.automaticRestart = true) (cpuPlatform = \"Intel Skylake\") ``` By default, each expression is an `AND` expression. However, you can include `AND` and `OR` expressions explicitly. For example: ``` (cpuPlatform = \"Intel Skylake\") OR (cpuPlatform = \"Intel Broadwell\") AND (scheduling.automaticRestart = true) ``` If you want to use a regular expression, use the `eq` (equal) or `ne` (not equal) operator against a single un-parenthesized expression with or without quotes or against multiple parenthesized expressions. Examples: `fieldname eq unquoted literal` `fieldname eq 'single quoted literal'` `fieldname eq \"double quoted literal\"` `(fieldname1 eq literal) (fieldname2 ne \"literal\")` The literal value is interpreted as a regular expression using Google RE2 library syntax. The literal value must match the entire field. For example, to filter for instances that do not end with name \"instance\", you would use `name ne .*instance`. You cannot combine constraints on multiple fields using regular expressions.", +"location": "query", +"type": "string" +}, +"maxResults": { +"default": "500", +"description": "The maximum number of results per page that should be returned. If the number of available results is larger than `maxResults`, Compute Engine returns a `nextPageToken` that can be used to get the next page of results in subsequent list requests. Acceptable values are `0` to `500`, inclusive. (Default: `500`)", +"format": "uint32", +"location": "query", +"minimum": "0", +"type": "integer" +}, +"orderBy": { +"description": "Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name. You can also sort results in descending order based on the creation timestamp using `orderBy=\"creationTimestamp desc\"`. This sorts results based on the `creationTimestamp` field in reverse chronological order (newest result first). Use this to sort resources like operations so that the newest operation is returned first. Currently, only sorting by `name` or `creationTimestamp desc` is supported.", +"location": "query", +"type": "string" +}, +"pageToken": { +"description": "Specifies a page token to use. Set `pageToken` to the `nextPageToken` returned by a previous list request to get the next page of results.", +"location": "query", +"type": "string" +}, +"project": { +"description": "The project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +} +}, +"path": "deploymentmanager/v2/projects/{project}/global/deployments/{deployment}/resources", +"response": { +"$ref": "ResourcesListResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/cloud-platform.read-only", +"https://www.googleapis.com/auth/ndev.cloudman", +"https://www.googleapis.com/auth/ndev.cloudman.readonly" +] +} +} +}, +"types": { +"methods": { +"list": { +"description": "Lists all resource types for Deployment Manager.", +"flatPath": "deploymentmanager/v2/projects/{project}/global/types", +"httpMethod": "GET", +"id": "deploymentmanager.types.list", +"parameterOrder": [ +"project" +], +"parameters": { +"filter": { +"description": "A filter expression that filters resources listed in the response. Most Compute resources support two types of filter expressions: expressions that support regular expressions and expressions that follow API improvement proposal AIP-160. These two types of filter expressions cannot be mixed in one request. If you want to use AIP-160, your expression must specify the field name, an operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The operator must be either `=`, `!=`, `>`, `<`, `<=`, `>=` or `:`. For example, if you are filtering Compute Engine instances, you can exclude instances named `example-instance` by specifying `name != example-instance`. The `:*` comparison can be used to test whether a key has been defined. For example, to find all objects with `owner` label use: ``` labels.owner:* ``` You can also filter nested fields. For example, you could specify `scheduling.automaticRestart = false` to include instances only if they are not scheduled for automatic restarts. You can use filtering on nested fields to filter based on resource labels. To filter on multiple expressions, provide each separate expression within parentheses. For example: ``` (scheduling.automaticRestart = true) (cpuPlatform = \"Intel Skylake\") ``` By default, each expression is an `AND` expression. However, you can include `AND` and `OR` expressions explicitly. For example: ``` (cpuPlatform = \"Intel Skylake\") OR (cpuPlatform = \"Intel Broadwell\") AND (scheduling.automaticRestart = true) ``` If you want to use a regular expression, use the `eq` (equal) or `ne` (not equal) operator against a single un-parenthesized expression with or without quotes or against multiple parenthesized expressions. Examples: `fieldname eq unquoted literal` `fieldname eq 'single quoted literal'` `fieldname eq \"double quoted literal\"` `(fieldname1 eq literal) (fieldname2 ne \"literal\")` The literal value is interpreted as a regular expression using Google RE2 library syntax. The literal value must match the entire field. For example, to filter for instances that do not end with name \"instance\", you would use `name ne .*instance`. You cannot combine constraints on multiple fields using regular expressions.", +"location": "query", +"type": "string" +}, +"maxResults": { +"default": "500", +"description": "The maximum number of results per page that should be returned. If the number of available results is larger than `maxResults`, Compute Engine returns a `nextPageToken` that can be used to get the next page of results in subsequent list requests. Acceptable values are `0` to `500`, inclusive. (Default: `500`)", +"format": "uint32", +"location": "query", +"minimum": "0", +"type": "integer" +}, +"orderBy": { +"description": "Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name. You can also sort results in descending order based on the creation timestamp using `orderBy=\"creationTimestamp desc\"`. This sorts results based on the `creationTimestamp` field in reverse chronological order (newest result first). Use this to sort resources like operations so that the newest operation is returned first. Currently, only sorting by `name` or `creationTimestamp desc` is supported.", +"location": "query", +"type": "string" +}, +"pageToken": { +"description": "Specifies a page token to use. Set `pageToken` to the `nextPageToken` returned by a previous list request to get the next page of results.", +"location": "query", +"type": "string" +}, +"project": { +"description": "The project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +} +}, +"path": "deploymentmanager/v2/projects/{project}/global/types", +"response": { +"$ref": "TypesListResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/cloud-platform.read-only", +"https://www.googleapis.com/auth/ndev.cloudman", +"https://www.googleapis.com/auth/ndev.cloudman.readonly" +] +} +} +} +}, +"revision": "20250102", +"rootUrl": "https://deploymentmanager.googleapis.com/", +"schemas": { +"AuditConfig": { +"description": "Specifies the audit configuration for a service. The configuration determines which permission types are logged, and what identities, if any, are exempted from logging. An AuditConfig must have one or more AuditLogConfigs. If there are AuditConfigs for both `allServices` and a specific service, the union of the two AuditConfigs is used for that service: the log_types specified in each AuditConfig are enabled, and the exempted_members in each AuditLogConfig are exempted. Example Policy with multiple AuditConfigs: { \"audit_configs\": [ { \"service\": \"allServices\", \"audit_log_configs\": [ { \"log_type\": \"DATA_READ\", \"exempted_members\": [ \"user:jose@example.com\" ] }, { \"log_type\": \"DATA_WRITE\" }, { \"log_type\": \"ADMIN_READ\" } ] }, { \"service\": \"sampleservice.googleapis.com\", \"audit_log_configs\": [ { \"log_type\": \"DATA_READ\" }, { \"log_type\": \"DATA_WRITE\", \"exempted_members\": [ \"user:aliya@example.com\" ] } ] } ] } For sampleservice, this policy enables DATA_READ, DATA_WRITE and ADMIN_READ logging. It also exempts `jose@example.com` from DATA_READ logging, and `aliya@example.com` from DATA_WRITE logging.", +"id": "AuditConfig", +"properties": { +"auditLogConfigs": { +"description": "The configuration for logging of each type of permission.", +"items": { +"$ref": "AuditLogConfig" +}, +"type": "array" +}, +"service": { +"description": "Specifies a service that will be enabled for audit logging. For example, `storage.googleapis.com`, `cloudsql.googleapis.com`. `allServices` is a special value that covers all services.", +"type": "string" +} +}, +"type": "object" +}, +"AuditLogConfig": { +"description": "Provides the configuration for logging a type of permissions. Example: { \"audit_log_configs\": [ { \"log_type\": \"DATA_READ\", \"exempted_members\": [ \"user:jose@example.com\" ] }, { \"log_type\": \"DATA_WRITE\" } ] } This enables 'DATA_READ' and 'DATA_WRITE' logging, while exempting jose@example.com from DATA_READ logging.", +"id": "AuditLogConfig", +"properties": { +"exemptedMembers": { +"description": "Specifies the identities that do not cause logging for this type of permission. Follows the same format of Binding.members.", +"items": { +"type": "string" +}, +"type": "array" +}, +"logType": { +"description": "The log type that this config enables.", +"enum": [ +"LOG_TYPE_UNSPECIFIED", +"ADMIN_READ", +"DATA_WRITE", +"DATA_READ" +], +"enumDescriptions": [ +"Default case. Should never be this.", +"Admin reads. Example: CloudIAM getIamPolicy", +"Data writes. Example: CloudSQL Users create", +"Data reads. Example: CloudSQL Users list" +], +"type": "string" +} +}, +"type": "object" +}, +"Binding": { +"description": "Associates `members`, or principals, with a `role`.", +"id": "Binding", +"properties": { +"condition": { +"$ref": "Expr", +"description": "The condition that is associated with this binding. If the condition evaluates to `true`, then this binding applies to the current request. If the condition evaluates to `false`, then this binding does not apply to the current request. However, a different role binding might grant the same role to one or more of the principals in this binding. To learn which resources support conditions in their IAM policies, see the [IAM documentation](https://cloud.google.com/iam/help/conditions/resource-policies)." +}, +"members": { +"description": "Specifies the principals requesting access for a Google Cloud resource. `members` can have the following values: * `allUsers`: A special identifier that represents anyone who is on the internet; with or without a Google account. * `allAuthenticatedUsers`: A special identifier that represents anyone who is authenticated with a Google account or a service account. Does not include identities that come from external identity providers (IdPs) through identity federation. * `user:{emailid}`: An email address that represents a specific Google account. For example, `alice@example.com` . * `serviceAccount:{emailid}`: An email address that represents a Google service account. For example, `my-other-app@appspot.gserviceaccount.com`. * `serviceAccount:{projectid}.svc.id.goog[{namespace}/{kubernetes-sa}]`: An identifier for a [Kubernetes service account](https://cloud.google.com/kubernetes-engine/docs/how-to/kubernetes-service-accounts). For example, `my-project.svc.id.goog[my-namespace/my-kubernetes-sa]`. * `group:{emailid}`: An email address that represents a Google group. For example, `admins@example.com`. * `domain:{domain}`: The G Suite domain (primary) that represents all the users of that domain. For example, `google.com` or `example.com`. * `principal://iam.googleapis.com/locations/global/workforcePools/{pool_id}/subject/{subject_attribute_value}`: A single identity in a workforce identity pool. * `principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/group/{group_id}`: All workforce identities in a group. * `principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/attribute.{attribute_name}/{attribute_value}`: All workforce identities with a specific attribute value. * `principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/*`: All identities in a workforce identity pool. * `principal://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/subject/{subject_attribute_value}`: A single identity in a workload identity pool. * `principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/group/{group_id}`: A workload identity pool group. * `principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/attribute.{attribute_name}/{attribute_value}`: All identities in a workload identity pool with a certain attribute. * `principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/*`: All identities in a workload identity pool. * `deleted:user:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a user that has been recently deleted. For example, `alice@example.com?uid=123456789012345678901`. If the user is recovered, this value reverts to `user:{emailid}` and the recovered user retains the role in the binding. * `deleted:serviceAccount:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a service account that has been recently deleted. For example, `my-other-app@appspot.gserviceaccount.com?uid=123456789012345678901`. If the service account is undeleted, this value reverts to `serviceAccount:{emailid}` and the undeleted service account retains the role in the binding. * `deleted:group:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a Google group that has been recently deleted. For example, `admins@example.com?uid=123456789012345678901`. If the group is recovered, this value reverts to `group:{emailid}` and the recovered group retains the role in the binding. * `deleted:principal://iam.googleapis.com/locations/global/workforcePools/{pool_id}/subject/{subject_attribute_value}`: Deleted single identity in a workforce identity pool. For example, `deleted:principal://iam.googleapis.com/locations/global/workforcePools/my-pool-id/subject/my-subject-attribute-value`.", +"items": { +"type": "string" +}, +"type": "array" +}, +"role": { +"description": "Role that is assigned to the list of `members`, or principals. For example, `roles/viewer`, `roles/editor`, or `roles/owner`. For an overview of the IAM roles and permissions, see the [IAM documentation](https://cloud.google.com/iam/docs/roles-overview). For a list of the available pre-defined roles, see [here](https://cloud.google.com/iam/docs/understanding-roles).", +"type": "string" +} +}, +"type": "object" +}, +"BulkInsertOperationStatus": { +"id": "BulkInsertOperationStatus", +"properties": { +"createdVmCount": { +"description": "[Output Only] Count of VMs successfully created so far.", +"format": "int32", +"type": "integer" +}, +"deletedVmCount": { +"description": "[Output Only] Count of VMs that got deleted during rollback.", +"format": "int32", +"type": "integer" +}, +"failedToCreateVmCount": { +"description": "[Output Only] Count of VMs that started creating but encountered an error.", +"format": "int32", +"type": "integer" +}, +"status": { +"description": "[Output Only] Creation status of BulkInsert operation - information if the flow is rolling forward or rolling back.", +"enum": [ +"STATUS_UNSPECIFIED", +"CREATING", +"ROLLING_BACK", +"DONE" +], +"enumDescriptions": [ +"", +"Rolling forward - creating VMs.", +"Rolling back - cleaning up after an error.", +"Done" +], +"type": "string" +}, +"targetVmCount": { +"description": "[Output Only] Count of VMs originally planned to be created.", +"format": "int32", +"type": "integer" +} +}, +"type": "object" +}, +"ConfigFile": { +"id": "ConfigFile", +"properties": { +"content": { +"description": "The contents of the file.", +"type": "string" +} +}, +"type": "object" +}, +"DebugInfo": { +"description": "Describes additional debugging info.", +"id": "DebugInfo", +"properties": { +"detail": { +"description": "Additional debugging information provided by the server.", +"type": "string" +}, +"stackEntries": { +"description": "The stack trace entries indicating where the error occurred.", +"items": { +"type": "string" +}, +"type": "array" +} +}, +"type": "object" +}, +"Deployment": { +"id": "Deployment", +"properties": { +"description": { +"description": "An optional user-provided description of the deployment.", +"type": "string" +}, +"fingerprint": { +"description": "Provides a fingerprint to use in requests to modify a deployment, such as `update()`, `stop()`, and `cancelPreview()` requests. A fingerprint is a randomly generated value that must be provided with `update()`, `stop()`, and `cancelPreview()` requests to perform optimistic locking. This ensures optimistic concurrency so that only one request happens at a time. The fingerprint is initially generated by Deployment Manager and changes after every request to modify data. To get the latest fingerprint value, perform a `get()` request to a deployment.", +"format": "byte", +"type": "string" +}, +"id": { +"format": "uint64", +"type": "string" +}, +"insertTime": { +"description": "Output only. Creation timestamp in RFC3339 text format.", +"type": "string" +}, +"labels": { +"description": "Map of One Platform labels; provided by the client when the resource is created or updated. Specifically: Label keys must be between 1 and 63 characters long and must conform to the following regular expression: `[a-z]([-a-z0-9]*[a-z0-9])?` Label values must be between 0 and 63 characters long and must conform to the regular expression `([a-z]([-a-z0-9]*[a-z0-9])?)?`.", +"items": { +"$ref": "DeploymentLabelEntry" +}, +"type": "array" +}, +"manifest": { +"description": "Output only. URL of the manifest representing the last manifest that was successfully deployed. If no manifest has been successfully deployed, this field will be absent.", +"type": "string" +}, +"name": { +"description": "Name of the resource; provided by the client when the resource is created. The name must be 1-63 characters long, and comply with RFC1035. Specifically, the name must be 1-63 characters long and match the regular expression `[a-z]([-a-z0-9]*[a-z0-9])?` which means the first character must be a lowercase letter, and all following characters must be a dash, lowercase letter, or digit, except the last character, which cannot be a dash.", +"type": "string" +}, +"operation": { +"$ref": "Operation", +"description": "Output only. The Operation that most recently ran, or is currently running, on this deployment." +}, +"selfLink": { +"description": "Output only. Server defined URL for the resource.", +"type": "string" +}, +"target": { +"$ref": "TargetConfiguration", +"description": "[Input Only] The parameters that define your deployment, including the deployment configuration and relevant templates." +}, +"update": { +"$ref": "DeploymentUpdate", +"description": "Output only. If Deployment Manager is currently updating or previewing an update to this deployment, the updated configuration appears here." +}, +"updateTime": { +"description": "Output only. Update timestamp in RFC3339 text format.", +"type": "string" +} +}, +"type": "object" +}, +"DeploymentLabelEntry": { +"description": "Label object for Deployments", +"id": "DeploymentLabelEntry", +"properties": { +"key": { +"description": "Key of the label", +"type": "string" +}, +"value": { +"description": "Value of the label", +"type": "string" +} +}, +"type": "object" +}, +"DeploymentUpdate": { +"id": "DeploymentUpdate", +"properties": { +"description": { +"description": "Output only. An optional user-provided description of the deployment after the current update has been applied.", +"type": "string" +}, +"labels": { +"description": "Map of One Platform labels; provided by the client when the resource is created or updated. Specifically: Label keys must be between 1 and 63 characters long and must conform to the following regular expression: `[a-z]([-a-z0-9]*[a-z0-9])?` Label values must be between 0 and 63 characters long and must conform to the regular expression `([a-z]([-a-z0-9]*[a-z0-9])?)?`.", +"items": { +"$ref": "DeploymentUpdateLabelEntry" +}, +"type": "array" +}, +"manifest": { +"description": "Output only. URL of the manifest representing the update configuration of this deployment.", +"type": "string" +} +}, +"type": "object" +}, +"DeploymentUpdateLabelEntry": { +"description": "Label object for DeploymentUpdate", +"id": "DeploymentUpdateLabelEntry", +"properties": { +"key": { +"description": "Key of the label", +"type": "string" +}, +"value": { +"description": "Value of the label", +"type": "string" +} +}, +"type": "object" +}, +"DeploymentsCancelPreviewRequest": { +"id": "DeploymentsCancelPreviewRequest", +"properties": { +"fingerprint": { +"description": "Specifies a fingerprint for `cancelPreview()` requests. A fingerprint is a randomly generated value that must be provided in `cancelPreview()` requests to perform optimistic locking. This ensures optimistic concurrency so that the deployment does not have conflicting requests (e.g. if someone attempts to make a new update request while another user attempts to cancel a preview, this would prevent one of the requests). The fingerprint is initially generated by Deployment Manager and changes after every request to modify a deployment. To get the latest fingerprint value, perform a `get()` request on the deployment.", +"format": "byte", +"type": "string" +} +}, +"type": "object" +}, +"DeploymentsListResponse": { +"description": "A response containing a partial list of deployments and a page token used to build the next request if the request has been truncated.", +"id": "DeploymentsListResponse", +"properties": { +"deployments": { +"description": "Output only. The deployments contained in this response.", +"items": { +"$ref": "Deployment" +}, +"type": "array" +}, +"nextPageToken": { +"description": "Output only. A token used to continue a truncated list request.", +"type": "string" +} +}, +"type": "object" +}, +"DeploymentsStopRequest": { +"id": "DeploymentsStopRequest", +"properties": { +"fingerprint": { +"description": "Specifies a fingerprint for `stop()` requests. A fingerprint is a randomly generated value that must be provided in `stop()` requests to perform optimistic locking. This ensures optimistic concurrency so that the deployment does not have conflicting requests (e.g. if someone attempts to make a new update request while another user attempts to stop an ongoing update request, this would prevent a collision). The fingerprint is initially generated by Deployment Manager and changes after every request to modify a deployment. To get the latest fingerprint value, perform a `get()` request on the deployment.", +"format": "byte", +"type": "string" +} +}, +"type": "object" +}, +"ErrorInfo": { +"description": "Describes the cause of the error with structured details. Example of an error when contacting the \"pubsub.googleapis.com\" API when it is not enabled: { \"reason\": \"API_DISABLED\" \"domain\": \"googleapis.com\" \"metadata\": { \"resource\": \"projects/123\", \"service\": \"pubsub.googleapis.com\" } } This response indicates that the pubsub.googleapis.com API is not enabled. Example of an error that is returned when attempting to create a Spanner instance in a region that is out of stock: { \"reason\": \"STOCKOUT\" \"domain\": \"spanner.googleapis.com\", \"metadata\": { \"availableRegions\": \"us-central1,us-east2\" } }", +"id": "ErrorInfo", +"properties": { +"domain": { +"description": "The logical grouping to which the \"reason\" belongs. The error domain is typically the registered service name of the tool or product that generates the error. Example: \"pubsub.googleapis.com\". If the error is generated by some common infrastructure, the error domain must be a globally unique value that identifies the infrastructure. For Google API infrastructure, the error domain is \"googleapis.com\".", +"type": "string" +}, +"metadatas": { +"additionalProperties": { +"type": "string" +}, +"description": "Additional structured details about this error. Keys must match a regular expression of `a-z+` but should ideally be lowerCamelCase. Also, they must be limited to 64 characters in length. When identifying the current value of an exceeded limit, the units should be contained in the key, not the value. For example, rather than `{\"instanceLimit\": \"100/request\"}`, should be returned as, `{\"instanceLimitPerRequest\": \"100\"}`, if the client exceeds the number of instances that can be created in a single (batch) request.", +"type": "object" +}, +"reason": { +"description": "The reason of the error. This is a constant value that identifies the proximate cause of the error. Error reasons are unique within a particular domain of errors. This should be at most 63 characters and match a regular expression of `A-Z+[A-Z0-9]`, which represents UPPER_SNAKE_CASE.", +"type": "string" +} +}, +"type": "object" +}, +"Expr": { +"description": "Represents a textual expression in the Common Expression Language (CEL) syntax. CEL is a C-like expression language. The syntax and semantics of CEL are documented at https://github.com/google/cel-spec. Example (Comparison): title: \"Summary size limit\" description: \"Determines if a summary is less than 100 chars\" expression: \"document.summary.size() < 100\" Example (Equality): title: \"Requestor is owner\" description: \"Determines if requestor is the document owner\" expression: \"document.owner == request.auth.claims.email\" Example (Logic): title: \"Public documents\" description: \"Determine whether the document should be publicly visible\" expression: \"document.type != 'private' && document.type != 'internal'\" Example (Data Manipulation): title: \"Notification string\" description: \"Create a notification string with a timestamp.\" expression: \"'New message received at ' + string(document.create_time)\" The exact variables and functions that may be referenced within an expression are determined by the service that evaluates it. See the service documentation for additional information.", +"id": "Expr", +"properties": { +"description": { +"description": "Optional. Description of the expression. This is a longer text which describes the expression, e.g. when hovered over it in a UI.", +"type": "string" +}, +"expression": { +"description": "Textual representation of an expression in Common Expression Language syntax.", +"type": "string" +}, +"location": { +"description": "Optional. String indicating the location of the expression for error reporting, e.g. a file name and a position in the file.", +"type": "string" +}, +"title": { +"description": "Optional. Title for the expression, i.e. a short string describing its purpose. This can be used e.g. in UIs which allow to enter the expression.", +"type": "string" +} +}, +"type": "object" +}, +"GlobalSetPolicyRequest": { +"id": "GlobalSetPolicyRequest", +"properties": { +"bindings": { +"description": "Flatten Policy to create a backward compatible wire-format. Deprecated. Use 'policy' to specify bindings.", +"items": { +"$ref": "Binding" +}, +"type": "array" +}, +"etag": { +"description": "Flatten Policy to create a backward compatible wire-format. Deprecated. Use 'policy' to specify the etag.", +"format": "byte", +"type": "string" +}, +"policy": { +"$ref": "Policy", +"description": "REQUIRED: The complete policy to be applied to the 'resource'. The size of the policy is limited to a few 10s of KB. An empty policy is in general a valid policy but certain services (like Projects) might reject them." +}, +"updateMask": { +"format": "google-fieldmask", +"type": "string" +} +}, +"type": "object" +}, +"Help": { +"description": "Provides links to documentation or for performing an out of band action. For example, if a quota check failed with an error indicating the calling project hasn't enabled the accessed service, this can contain a URL pointing directly to the right place in the developer console to flip the bit.", +"id": "Help", +"properties": { +"links": { +"description": "URL(s) pointing to additional information on handling the current error.", +"items": { +"$ref": "HelpLink" +}, +"type": "array" +} +}, +"type": "object" +}, +"HelpLink": { +"description": "Describes a URL link.", +"id": "HelpLink", +"properties": { +"description": { +"description": "Describes what the link offers.", +"type": "string" +}, +"url": { +"description": "The URL of the link.", +"type": "string" +} +}, +"type": "object" +}, +"ImportFile": { +"id": "ImportFile", +"properties": { +"content": { +"description": "The contents of the file.", +"type": "string" +}, +"name": { +"description": "The name of the file.", +"type": "string" +} +}, +"type": "object" +}, +"InstancesBulkInsertOperationMetadata": { +"id": "InstancesBulkInsertOperationMetadata", +"properties": { +"perLocationStatus": { +"additionalProperties": { +"$ref": "BulkInsertOperationStatus" +}, +"description": "Status information per location (location name is key). Example key: zones/us-central1-a", +"type": "object" +} +}, +"type": "object" +}, +"LocalizedMessage": { +"description": "Provides a localized error message that is safe to return to the user which can be attached to an RPC error.", +"id": "LocalizedMessage", +"properties": { +"locale": { +"description": "The locale used following the specification defined at https://www.rfc-editor.org/rfc/bcp/bcp47.txt. Examples are: \"en-US\", \"fr-CH\", \"es-MX\"", +"type": "string" +}, +"message": { +"description": "The localized error message in the above locale.", +"type": "string" +} +}, +"type": "object" +}, +"Manifest": { +"id": "Manifest", +"properties": { +"config": { +"$ref": "ConfigFile", +"description": "Output only. The YAML configuration for this manifest." +}, +"expandedConfig": { +"description": "Output only. The fully-expanded configuration file, including any templates and references.", +"type": "string" +}, +"id": { +"format": "uint64", +"type": "string" +}, +"imports": { +"description": "Output only. The imported files for this manifest.", +"items": { +"$ref": "ImportFile" +}, +"type": "array" +}, +"insertTime": { +"description": "Output only. Creation timestamp in RFC3339 text format.", +"type": "string" +}, +"layout": { +"description": "Output only. The YAML layout for this manifest.", +"type": "string" +}, +"manifestSizeBytes": { +"description": "Output only. The computed size of the fully expanded manifest.", +"format": "int64", +"type": "string" +}, +"manifestSizeLimitBytes": { +"description": "Output only. The size limit for expanded manifests in the project.", +"format": "int64", +"type": "string" +}, +"name": { +"description": "Output only. The name of the manifest.", +"type": "string" +}, +"selfLink": { +"description": "Output only. Self link for the manifest.", +"type": "string" +} +}, +"type": "object" +}, +"ManifestsListResponse": { +"description": "A response containing a partial list of manifests and a page token used to build the next request if the request has been truncated.", +"id": "ManifestsListResponse", +"properties": { +"manifests": { +"description": "Output only. Manifests contained in this list response.", +"items": { +"$ref": "Manifest" +}, +"type": "array" +}, +"nextPageToken": { +"description": "Output only. A token used to continue a truncated list request.", +"type": "string" +} +}, +"type": "object" +}, +"Operation": { +"description": "Represents an Operation resource. Google Compute Engine has three Operation resources: * [Global](/compute/docs/reference/rest/{$api_version}/globalOperations) * [Regional](/compute/docs/reference/rest/{$api_version}/regionOperations) * [Zonal](/compute/docs/reference/rest/{$api_version}/zoneOperations) You can use an operation resource to manage asynchronous API requests. For more information, read Handling API responses. Operations can be global, regional or zonal. - For global operations, use the `globalOperations` resource. - For regional operations, use the `regionOperations` resource. - For zonal operations, use the `zoneOperations` resource. For more information, read Global, Regional, and Zonal Resources. Note that completed Operation resources have a limited retention period.", +"id": "Operation", +"properties": { +"clientOperationId": { +"description": "[Output Only] The value of `requestId` if you provided it in the request. Not present otherwise.", +"type": "string" +}, +"creationTimestamp": { +"description": "[Deprecated] This field is deprecated.", +"type": "string" +}, +"description": { +"description": "[Output Only] A textual description of the operation, which is set when the operation is created.", +"type": "string" +}, +"endTime": { +"description": "[Output Only] The time that this operation was completed. This value is in RFC3339 text format.", +"type": "string" +}, +"error": { +"description": "[Output Only] If errors are generated during processing of the operation, this field will be populated.", +"properties": { +"errors": { +"description": "[Output Only] The array of errors encountered while processing this operation.", +"items": { +"properties": { +"arguments": { +"description": "[Output Only] Optional error details WARNING: DO NOT MAKE VISIBLE This is for internal use-only (like componentization) (thus the visibility \"none\") and in case of public exposure it is strongly recommended to follow pattern of: https://aip.dev/193 and expose as details field.", +"items": { +"type": "string" +}, +"type": "array" +}, +"code": { +"description": "[Output Only] The error type identifier for this error.", +"type": "string" +}, +"debugInfo": { +"$ref": "DebugInfo" +}, +"errorDetails": { +"description": "[Output Only] An optional list of messages that contain the error details. There is a set of defined message types to use for providing details.The syntax depends on the error code. For example, QuotaExceededInfo will have details when the error code is QUOTA_EXCEEDED.", +"items": { +"properties": { +"errorInfo": { +"$ref": "ErrorInfo" +}, +"help": { +"$ref": "Help" +}, +"localizedMessage": { +"$ref": "LocalizedMessage" +}, +"quotaInfo": { +"$ref": "QuotaExceededInfo" +} +}, +"type": "object" +}, +"type": "array" +}, +"location": { +"description": "[Output Only] Indicates the field in the request that caused the error. This property is optional.", +"type": "string" +}, +"message": { +"description": "[Output Only] An optional, human-readable error message.", +"type": "string" +} +}, +"type": "object" +}, +"type": "array" +} +}, +"type": "object" +}, +"httpErrorMessage": { +"description": "[Output Only] If the operation fails, this field contains the HTTP error message that was returned, such as `NOT FOUND`.", +"type": "string" +}, +"httpErrorStatusCode": { +"description": "[Output Only] If the operation fails, this field contains the HTTP error status code that was returned. For example, a `404` means the resource was not found.", +"format": "int32", +"type": "integer" +}, +"id": { +"description": "[Output Only] The unique identifier for the operation. This identifier is defined by the server.", +"format": "uint64", +"type": "string" +}, +"insertTime": { +"description": "[Output Only] The time that this operation was requested. This value is in RFC3339 text format.", +"type": "string" +}, +"instancesBulkInsertOperationMetadata": { +"$ref": "InstancesBulkInsertOperationMetadata" +}, +"kind": { +"default": "compute#operation", +"description": "[Output Only] Type of the resource. Always `compute#operation` for Operation resources.", +"type": "string" +}, +"name": { +"description": "[Output Only] Name of the operation.", +"type": "string" +}, +"operationGroupId": { +"description": "[Output Only] An ID that represents a group of operations, such as when a group of operations results from a `bulkInsert` API request.", +"type": "string" +}, +"operationType": { +"description": "[Output Only] The type of operation, such as `insert`, `update`, or `delete`, and so on.", +"type": "string" +}, +"progress": { +"description": "[Output Only] An optional progress indicator that ranges from 0 to 100. There is no requirement that this be linear or support any granularity of operations. This should not be used to guess when the operation will be complete. This number should monotonically increase as the operation progresses.", +"format": "int32", +"type": "integer" +}, +"region": { +"description": "[Output Only] The URL of the region where the operation resides. Only applicable when performing regional operations.", +"type": "string" +}, +"selfLink": { +"description": "[Output Only] Server-defined URL for the resource.", +"type": "string" +}, +"selfLinkWithId": { +"description": "[Output Only] Server-defined URL for this resource with the resource id.", +"type": "string" +}, +"setCommonInstanceMetadataOperationMetadata": { +"$ref": "SetCommonInstanceMetadataOperationMetadata", +"description": "[Output Only] If the operation is for projects.setCommonInstanceMetadata, this field will contain information on all underlying zonal actions and their state." +}, +"startTime": { +"description": "[Output Only] The time that this operation was started by the server. This value is in RFC3339 text format.", +"type": "string" +}, +"status": { +"description": "[Output Only] The status of the operation, which can be one of the following: `PENDING`, `RUNNING`, or `DONE`.", +"enum": [ +"PENDING", +"RUNNING", +"DONE" +], +"enumDescriptions": [ +"", +"", +"" +], +"type": "string" +}, +"statusMessage": { +"description": "[Output Only] An optional textual description of the current status of the operation.", +"type": "string" +}, +"targetId": { +"description": "[Output Only] The unique target ID, which identifies a specific incarnation of the target resource.", +"format": "uint64", +"type": "string" +}, +"targetLink": { +"description": "[Output Only] The URL of the resource that the operation modifies. For operations related to creating a snapshot, this points to the disk that the snapshot was created from.", +"type": "string" +}, +"user": { +"description": "[Output Only] User who requested the operation, for example: `user@example.com` or `alice_smith_identifier (global/workforcePools/example-com-us-employees)`.", +"type": "string" +}, +"warnings": { +"description": "[Output Only] If warning messages are generated during processing of the operation, this field will be populated.", +"items": { +"properties": { +"code": { +"description": "[Output Only] A warning code, if applicable. For example, Compute Engine returns NO_RESULTS_ON_PAGE if there are no results in the response.", +"enum": [ +"DEPRECATED_RESOURCE_USED", +"NO_RESULTS_ON_PAGE", +"UNREACHABLE", +"NEXT_HOP_ADDRESS_NOT_ASSIGNED", +"NEXT_HOP_INSTANCE_NOT_FOUND", +"NEXT_HOP_INSTANCE_NOT_ON_NETWORK", +"NEXT_HOP_CANNOT_IP_FORWARD", +"NEXT_HOP_NOT_RUNNING", +"INJECTED_KERNELS_DEPRECATED", +"REQUIRED_TOS_AGREEMENT", +"DISK_SIZE_LARGER_THAN_IMAGE_SIZE", +"RESOURCE_NOT_DELETED", +"SINGLE_INSTANCE_PROPERTY_TEMPLATE", +"NOT_CRITICAL_ERROR", +"CLEANUP_FAILED", +"FIELD_VALUE_OVERRIDEN", +"RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", +"NETWORK_ENDPOINT_NOT_DETACHED", +"PAGE_MISSING_RESULTS", +"SSL_POLICY_ENABLED_FEATURES_NOT_FETCHED", +"RESOURCE_NOT_FOUND_WARNING", +"MISSING_TYPE_DEPENDENCY", +"EXTERNAL_API_WARNING", +"SCHEMA_VALIDATION_IGNORED", +"UNDECLARED_PROPERTIES", +"EXPERIMENTAL_TYPE_USED", +"DEPRECATED_TYPE_USED", +"PARTIAL_SUCCESS", +"LARGE_DEPLOYMENT_WARNING", +"NEXT_HOP_INSTANCE_HAS_NO_IPV6_INTERFACE", +"INVALID_HEALTH_CHECK_FOR_DYNAMIC_WIEGHTED_LB", +"LIST_OVERHEAD_QUOTA_EXCEED", +"QUOTA_INFO_UNAVAILABLE", +"RESOURCE_USES_GLOBAL_DNS", +"RATE_LIMIT_EXCEEDED", +"RESERVED_ENTRY_135", +"RESERVED_ENTRY_136", +"RESERVED_ENTRY_139", +"RESERVED_ENTRY_141", +"RESERVED_ENTRY_142" +], +"enumDeprecated": [ +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +true, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false +], +"enumDescriptions": [ +"A link to a deprecated resource was created.", +"No results are present on a particular list page.", +"A given scope cannot be reached.", +"The route's nextHopIp address is not assigned to an instance on the network.", +"The route's nextHopInstance URL refers to an instance that does not exist.", +"The route's nextHopInstance URL refers to an instance that is not on the same network as the route.", +"The route's next hop instance cannot ip forward.", +"The route's next hop instance does not have a status of RUNNING.", +"The operation involved use of an injected kernel, which is deprecated.", +"The user attempted to use a resource that requires a TOS they have not accepted.", +"The user created a boot disk that is larger than image size.", +"One or more of the resources set to auto-delete could not be deleted because they were in use.", +"Instance template used in instance group manager is valid as such, but its application does not make a lot of sense, because it allows only single instance in instance group.", +"Error which is not critical. We decided to continue the process despite the mentioned error.", +"Warning about failed cleanup of transient changes made by a failed operation.", +"Warning that value of a field has been overridden. Deprecated unused field.", +"Warning that a resource is in use.", +"Warning that network endpoint was not detached.", +"Current page contains less results than requested but a next page token exists.", +"Warning that SSL policy resource in the response does not contain information about the list of enabled features.", +"Warning that a resource is not found.", +"A resource depends on a missing type", +"Warning that is present in an external api call", +"When a resource schema validation is ignored.", +"When undeclared properties in the schema are present", +"When deploying and at least one of the resources has a type marked as experimental", +"When deploying and at least one of the resources has a type marked as deprecated", +"Success is reported, but some results may be missing due to errors", +"When deploying a deployment with a exceedingly large number of resources", +"The route's nextHopInstance URL refers to an instance that does not have an ipv6 interface on the same network as the route.", +"A WEIGHTED_MAGLEV backend service is associated with a health check that is not of type HTTP/HTTPS/HTTP2.", +"Resource can't be retrieved due to list overhead quota exceed which captures the amount of resources filtered out by user-defined list filter.", +"Quota information is not available to client requests (e.g: regions.list).", +"Indicates that a VM is using global DNS. Can also be used to indicate that a resource has attributes that could result in the creation of a VM that uses global DNS.", +"Resource can't be retrieved due to api quota exceeded.", +"Reserved entries for quickly adding new warnings without breaking dependent clients.", +"", +"", +"", +"" +], +"type": "string" +}, +"data": { +"description": "[Output Only] Metadata about this warning in key: value format. For example: \"data\": [ { \"key\": \"scope\", \"value\": \"zones/us-east1-d\" } ", +"items": { +"properties": { +"key": { +"description": "[Output Only] A key that provides more detail on the warning being returned. For example, for warnings where there are no results in a list request for a particular zone, this key might be scope and the key value might be the zone name. Other examples might be a key indicating a deprecated resource and a suggested replacement, or a warning about invalid network settings (for example, if an instance attempts to perform IP forwarding but is not enabled for IP forwarding).", +"type": "string" +}, +"value": { +"description": "[Output Only] A warning data value corresponding to the key.", +"type": "string" +} +}, +"type": "object" +}, +"type": "array" +}, +"message": { +"description": "[Output Only] A human-readable description of the warning code.", +"type": "string" +} +}, +"type": "object" +}, +"type": "array" +}, +"zone": { +"description": "[Output Only] The URL of the zone where the operation resides. Only applicable when performing per-zone operations.", +"type": "string" +} +}, +"type": "object" +}, +"OperationsListResponse": { +"description": "A response containing a partial list of operations and a page token used to build the next request if the request has been truncated.", +"id": "OperationsListResponse", +"properties": { +"nextPageToken": { +"description": "Output only. A token used to continue a truncated list request.", +"type": "string" +}, +"operations": { +"description": "Output only. Operations contained in this list response.", +"items": { +"$ref": "Operation" +}, +"type": "array" +} +}, +"type": "object" +}, +"Policy": { +"description": "An Identity and Access Management (IAM) policy, which specifies access controls for Google Cloud resources. A `Policy` is a collection of `bindings`. A `binding` binds one or more `members`, or principals, to a single `role`. Principals can be user accounts, service accounts, Google groups, and domains (such as G Suite). A `role` is a named list of permissions; each `role` can be an IAM predefined role or a user-created custom role. For some types of Google Cloud resources, a `binding` can also specify a `condition`, which is a logical expression that allows access to a resource only if the expression evaluates to `true`. A condition can add constraints based on attributes of the request, the resource, or both. To learn which resources support conditions in their IAM policies, see the [IAM documentation](https://cloud.google.com/iam/help/conditions/resource-policies). **JSON example:** ``` { \"bindings\": [ { \"role\": \"roles/resourcemanager.organizationAdmin\", \"members\": [ \"user:mike@example.com\", \"group:admins@example.com\", \"domain:google.com\", \"serviceAccount:my-project-id@appspot.gserviceaccount.com\" ] }, { \"role\": \"roles/resourcemanager.organizationViewer\", \"members\": [ \"user:eve@example.com\" ], \"condition\": { \"title\": \"expirable access\", \"description\": \"Does not grant access after Sep 2020\", \"expression\": \"request.time < timestamp('2020-10-01T00:00:00.000Z')\", } } ], \"etag\": \"BwWWja0YfJA=\", \"version\": 3 } ``` **YAML example:** ``` bindings: - members: - user:mike@example.com - group:admins@example.com - domain:google.com - serviceAccount:my-project-id@appspot.gserviceaccount.com role: roles/resourcemanager.organizationAdmin - members: - user:eve@example.com role: roles/resourcemanager.organizationViewer condition: title: expirable access description: Does not grant access after Sep 2020 expression: request.time < timestamp('2020-10-01T00:00:00.000Z') etag: BwWWja0YfJA= version: 3 ``` For a description of IAM and its features, see the [IAM documentation](https://cloud.google.com/iam/docs/).", +"id": "Policy", +"properties": { +"auditConfigs": { +"description": "Specifies cloud audit logging configuration for this policy.", +"items": { +"$ref": "AuditConfig" +}, +"type": "array" +}, +"bindings": { +"description": "Associates a list of `members`, or principals, with a `role`. Optionally, may specify a `condition` that determines how and when the `bindings` are applied. Each of the `bindings` must contain at least one principal. The `bindings` in a `Policy` can refer to up to 1,500 principals; up to 250 of these principals can be Google groups. Each occurrence of a principal counts towards these limits. For example, if the `bindings` grant 50 different roles to `user:alice@example.com`, and not to any other principal, then you can add another 1,450 principals to the `bindings` in the `Policy`.", +"items": { +"$ref": "Binding" +}, +"type": "array" +}, +"etag": { +"description": "`etag` is used for optimistic concurrency control as a way to help prevent simultaneous updates of a policy from overwriting each other. It is strongly suggested that systems make use of the `etag` in the read-modify-write cycle to perform policy updates in order to avoid race conditions: An `etag` is returned in the response to `getIamPolicy`, and systems are expected to put that etag in the request to `setIamPolicy` to ensure that their change will be applied to the same version of the policy. **Important:** If you use IAM Conditions, you must include the `etag` field whenever you call `setIamPolicy`. If you omit this field, then IAM allows you to overwrite a version `3` policy with a version `1` policy, and all of the conditions in the version `3` policy are lost.", +"format": "byte", +"type": "string" +}, +"version": { +"description": "Specifies the format of the policy. Valid values are `0`, `1`, and `3`. Requests that specify an invalid value are rejected. Any operation that affects conditional role bindings must specify version `3`. This requirement applies to the following operations: * Getting a policy that includes a conditional role binding * Adding a conditional role binding to a policy * Changing a conditional role binding in a policy * Removing any role binding, with or without a condition, from a policy that includes conditions **Important:** If you use IAM Conditions, you must include the `etag` field whenever you call `setIamPolicy`. If you omit this field, then IAM allows you to overwrite a version `3` policy with a version `1` policy, and all of the conditions in the version `3` policy are lost. If a policy does not include any conditions, operations on that policy may specify any valid version or leave the field unset. To learn which resources support conditions in their IAM policies, see the [IAM documentation](https://cloud.google.com/iam/help/conditions/resource-policies).", +"format": "int32", +"type": "integer" +} +}, +"type": "object" +}, +"QuotaExceededInfo": { +"description": "Additional details for quota exceeded error for resource quota.", +"id": "QuotaExceededInfo", +"properties": { +"dimensions": { +"additionalProperties": { +"type": "string" +}, +"description": "The map holding related quota dimensions.", +"type": "object" +}, +"futureLimit": { +"description": "Future quota limit being rolled out. The limit's unit depends on the quota type or metric.", +"format": "double", +"type": "number" +}, +"limit": { +"description": "Current effective quota limit. The limit's unit depends on the quota type or metric.", +"format": "double", +"type": "number" +}, +"limitName": { +"description": "The name of the quota limit.", +"type": "string" +}, +"metricName": { +"description": "The Compute Engine quota metric name.", +"type": "string" +}, +"rolloutStatus": { +"description": "Rollout status of the future quota limit.", +"enum": [ +"ROLLOUT_STATUS_UNSPECIFIED", +"IN_PROGRESS" +], +"enumDescriptions": [ +"ROLLOUT_STATUS_UNSPECIFIED - Rollout status is not specified. The default value.", +"IN_PROGRESS - A rollout is in process which will change the limit value to future limit." +], +"type": "string" +} +}, +"type": "object" +}, +"Resource": { +"id": "Resource", +"properties": { +"accessControl": { +"$ref": "ResourceAccessControl", +"description": "The Access Control Policy set on this resource." +}, +"finalProperties": { +"description": "Output only. The evaluated properties of the resource with references expanded. Returned as serialized YAML.", +"type": "string" +}, +"id": { +"format": "uint64", +"type": "string" +}, +"insertTime": { +"description": "Output only. Creation timestamp in RFC3339 text format.", +"type": "string" +}, +"manifest": { +"description": "Output only. URL of the manifest representing the current configuration of this resource.", +"type": "string" +}, +"name": { +"description": "Output only. The name of the resource as it appears in the YAML config.", +"type": "string" +}, +"properties": { +"description": "Output only. The current properties of the resource before any references have been filled in. Returned as serialized YAML.", +"type": "string" +}, +"type": { +"description": "Output only. The type of the resource, for example `compute.v1.instance`, or `cloudfunctions.v1beta1.function`.", +"type": "string" +}, +"update": { +"$ref": "ResourceUpdate", +"description": "Output only. If Deployment Manager is currently updating or previewing an update to this resource, the updated configuration appears here." +}, +"updateTime": { +"description": "Output only. Update timestamp in RFC3339 text format.", +"type": "string" +}, +"url": { +"description": "Output only. The URL of the actual resource.", +"type": "string" +}, +"warnings": { +"description": "Output only. If warning messages are generated during processing of this resource, this field will be populated.", +"items": { +"properties": { +"code": { +"description": "[Output Only] A warning code, if applicable. For example, Compute Engine returns NO_RESULTS_ON_PAGE if there are no results in the response.", +"enum": [ +"DEPRECATED_RESOURCE_USED", +"NO_RESULTS_ON_PAGE", +"UNREACHABLE", +"NEXT_HOP_ADDRESS_NOT_ASSIGNED", +"NEXT_HOP_INSTANCE_NOT_FOUND", +"NEXT_HOP_INSTANCE_NOT_ON_NETWORK", +"NEXT_HOP_CANNOT_IP_FORWARD", +"NEXT_HOP_NOT_RUNNING", +"INJECTED_KERNELS_DEPRECATED", +"REQUIRED_TOS_AGREEMENT", +"DISK_SIZE_LARGER_THAN_IMAGE_SIZE", +"RESOURCE_NOT_DELETED", +"SINGLE_INSTANCE_PROPERTY_TEMPLATE", +"NOT_CRITICAL_ERROR", +"CLEANUP_FAILED", +"FIELD_VALUE_OVERRIDEN", +"RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", +"NETWORK_ENDPOINT_NOT_DETACHED", +"PAGE_MISSING_RESULTS", +"SSL_POLICY_ENABLED_FEATURES_NOT_FETCHED", +"RESOURCE_NOT_FOUND_WARNING", +"MISSING_TYPE_DEPENDENCY", +"EXTERNAL_API_WARNING", +"SCHEMA_VALIDATION_IGNORED", +"UNDECLARED_PROPERTIES", +"EXPERIMENTAL_TYPE_USED", +"DEPRECATED_TYPE_USED", +"PARTIAL_SUCCESS", +"LARGE_DEPLOYMENT_WARNING", +"NEXT_HOP_INSTANCE_HAS_NO_IPV6_INTERFACE", +"INVALID_HEALTH_CHECK_FOR_DYNAMIC_WIEGHTED_LB", +"LIST_OVERHEAD_QUOTA_EXCEED", +"QUOTA_INFO_UNAVAILABLE", +"RESOURCE_USES_GLOBAL_DNS", +"RATE_LIMIT_EXCEEDED", +"RESERVED_ENTRY_135", +"RESERVED_ENTRY_136", +"RESERVED_ENTRY_139", +"RESERVED_ENTRY_141", +"RESERVED_ENTRY_142" +], +"enumDeprecated": [ +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +true, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false +], +"enumDescriptions": [ +"A link to a deprecated resource was created.", +"No results are present on a particular list page.", +"A given scope cannot be reached.", +"The route's nextHopIp address is not assigned to an instance on the network.", +"The route's nextHopInstance URL refers to an instance that does not exist.", +"The route's nextHopInstance URL refers to an instance that is not on the same network as the route.", +"The route's next hop instance cannot ip forward.", +"The route's next hop instance does not have a status of RUNNING.", +"The operation involved use of an injected kernel, which is deprecated.", +"The user attempted to use a resource that requires a TOS they have not accepted.", +"The user created a boot disk that is larger than image size.", +"One or more of the resources set to auto-delete could not be deleted because they were in use.", +"Instance template used in instance group manager is valid as such, but its application does not make a lot of sense, because it allows only single instance in instance group.", +"Error which is not critical. We decided to continue the process despite the mentioned error.", +"Warning about failed cleanup of transient changes made by a failed operation.", +"Warning that value of a field has been overridden. Deprecated unused field.", +"Warning that a resource is in use.", +"Warning that network endpoint was not detached.", +"Current page contains less results than requested but a next page token exists.", +"Warning that SSL policy resource in the response does not contain information about the list of enabled features.", +"Warning that a resource is not found.", +"A resource depends on a missing type", +"Warning that is present in an external api call", +"When a resource schema validation is ignored.", +"When undeclared properties in the schema are present", +"When deploying and at least one of the resources has a type marked as experimental", +"When deploying and at least one of the resources has a type marked as deprecated", +"Success is reported, but some results may be missing due to errors", +"When deploying a deployment with a exceedingly large number of resources", +"The route's nextHopInstance URL refers to an instance that does not have an ipv6 interface on the same network as the route.", +"A WEIGHTED_MAGLEV backend service is associated with a health check that is not of type HTTP/HTTPS/HTTP2.", +"Resource can't be retrieved due to list overhead quota exceed which captures the amount of resources filtered out by user-defined list filter.", +"Quota information is not available to client requests (e.g: regions.list).", +"Indicates that a VM is using global DNS. Can also be used to indicate that a resource has attributes that could result in the creation of a VM that uses global DNS.", +"Resource can't be retrieved due to api quota exceeded.", +"Reserved entries for quickly adding new warnings without breaking dependent clients.", +"", +"", +"", +"" +], +"type": "string" +}, +"data": { +"description": "[Output Only] Metadata about this warning in key: value format. For example: \"data\": [ { \"key\": \"scope\", \"value\": \"zones/us-east1-d\" } ", +"items": { +"properties": { +"key": { +"description": "[Output Only] A key that provides more detail on the warning being returned. For example, for warnings where there are no results in a list request for a particular zone, this key might be scope and the key value might be the zone name. Other examples might be a key indicating a deprecated resource and a suggested replacement, or a warning about invalid network settings (for example, if an instance attempts to perform IP forwarding but is not enabled for IP forwarding).", +"type": "string" +}, +"value": { +"description": "[Output Only] A warning data value corresponding to the key.", +"type": "string" +} +}, +"type": "object" +}, +"type": "array" +}, +"message": { +"description": "[Output Only] A human-readable description of the warning code.", +"type": "string" +} +}, +"type": "object" +}, +"type": "array" +} +}, +"type": "object" +}, +"ResourceAccessControl": { +"description": "The access controls set on the resource.", +"id": "ResourceAccessControl", +"properties": { +"gcpIamPolicy": { +"description": "The GCP IAM Policy to set on the resource.", +"type": "string" +} +}, +"type": "object" +}, +"ResourceUpdate": { +"id": "ResourceUpdate", +"properties": { +"accessControl": { +"$ref": "ResourceAccessControl", +"description": "The Access Control Policy to set on this resource after updating the resource itself." +}, +"error": { +"description": "Output only. If errors are generated during update of the resource, this field will be populated.", +"properties": { +"errors": { +"description": "[Output Only] The array of errors encountered while processing this operation.", +"items": { +"properties": { +"arguments": { +"description": "[Output Only] Optional error details WARNING: DO NOT MAKE VISIBLE This is for internal use-only (like componentization) (thus the visibility \"none\") and in case of public exposure it is strongly recommended to follow pattern of: https://aip.dev/193 and expose as details field.", +"items": { +"type": "string" +}, +"type": "array" +}, +"code": { +"description": "[Output Only] The error type identifier for this error.", +"type": "string" +}, +"debugInfo": { +"$ref": "DebugInfo" +}, +"errorDetails": { +"description": "[Output Only] An optional list of messages that contain the error details. There is a set of defined message types to use for providing details.The syntax depends on the error code. For example, QuotaExceededInfo will have details when the error code is QUOTA_EXCEEDED.", +"items": { +"properties": { +"errorInfo": { +"$ref": "ErrorInfo" +}, +"help": { +"$ref": "Help" +}, +"localizedMessage": { +"$ref": "LocalizedMessage" +}, +"quotaInfo": { +"$ref": "QuotaExceededInfo" +} +}, +"type": "object" +}, +"type": "array" +}, +"location": { +"description": "[Output Only] Indicates the field in the request that caused the error. This property is optional.", +"type": "string" +}, +"message": { +"description": "[Output Only] An optional, human-readable error message.", +"type": "string" +} +}, +"type": "object" +}, +"type": "array" +} +}, +"type": "object" +}, +"finalProperties": { +"description": "Output only. The expanded properties of the resource with reference values expanded. Returned as serialized YAML.", +"type": "string" +}, +"intent": { +"description": "Output only. The intent of the resource: `PREVIEW`, `UPDATE`, or `CANCEL`.", +"enum": [ +"CREATE_OR_ACQUIRE", +"DELETE", +"ACQUIRE", +"UPDATE", +"ABANDON", +"CREATE" +], +"enumDescriptions": [ +"The resource is scheduled to be created, or if it already exists, acquired.", +"The resource is scheduled to be deleted.", +"The resource is scheduled to be acquired.", +"The resource is scheduled to be updated via the UPDATE method.", +"The resource is scheduled to be abandoned.", +"The resource is scheduled to be created." +], +"type": "string" +}, +"manifest": { +"description": "Output only. URL of the manifest representing the update configuration of this resource.", +"type": "string" +}, +"properties": { +"description": "Output only. The set of updated properties for this resource, before references are expanded. Returned as serialized YAML.", +"type": "string" +}, +"state": { +"description": "Output only. The state of the resource.", +"enum": [ +"PENDING", +"IN_PROGRESS", +"IN_PREVIEW", +"FAILED", +"ABORTED" +], +"enumDescriptions": [ +"There are changes pending for this resource.", +"The service is executing changes on the resource.", +"The service is previewing changes on the resource.", +"The service has failed to change the resource.", +"The service has aborted trying to change the resource." +], +"type": "string" +}, +"warnings": { +"description": "Output only. If warning messages are generated during processing of this resource, this field will be populated.", +"items": { +"properties": { +"code": { +"description": "[Output Only] A warning code, if applicable. For example, Compute Engine returns NO_RESULTS_ON_PAGE if there are no results in the response.", +"enum": [ +"DEPRECATED_RESOURCE_USED", +"NO_RESULTS_ON_PAGE", +"UNREACHABLE", +"NEXT_HOP_ADDRESS_NOT_ASSIGNED", +"NEXT_HOP_INSTANCE_NOT_FOUND", +"NEXT_HOP_INSTANCE_NOT_ON_NETWORK", +"NEXT_HOP_CANNOT_IP_FORWARD", +"NEXT_HOP_NOT_RUNNING", +"INJECTED_KERNELS_DEPRECATED", +"REQUIRED_TOS_AGREEMENT", +"DISK_SIZE_LARGER_THAN_IMAGE_SIZE", +"RESOURCE_NOT_DELETED", +"SINGLE_INSTANCE_PROPERTY_TEMPLATE", +"NOT_CRITICAL_ERROR", +"CLEANUP_FAILED", +"FIELD_VALUE_OVERRIDEN", +"RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", +"NETWORK_ENDPOINT_NOT_DETACHED", +"PAGE_MISSING_RESULTS", +"SSL_POLICY_ENABLED_FEATURES_NOT_FETCHED", +"RESOURCE_NOT_FOUND_WARNING", +"MISSING_TYPE_DEPENDENCY", +"EXTERNAL_API_WARNING", +"SCHEMA_VALIDATION_IGNORED", +"UNDECLARED_PROPERTIES", +"EXPERIMENTAL_TYPE_USED", +"DEPRECATED_TYPE_USED", +"PARTIAL_SUCCESS", +"LARGE_DEPLOYMENT_WARNING", +"NEXT_HOP_INSTANCE_HAS_NO_IPV6_INTERFACE", +"INVALID_HEALTH_CHECK_FOR_DYNAMIC_WIEGHTED_LB", +"LIST_OVERHEAD_QUOTA_EXCEED", +"QUOTA_INFO_UNAVAILABLE", +"RESOURCE_USES_GLOBAL_DNS", +"RATE_LIMIT_EXCEEDED", +"RESERVED_ENTRY_135", +"RESERVED_ENTRY_136", +"RESERVED_ENTRY_139", +"RESERVED_ENTRY_141", +"RESERVED_ENTRY_142" +], +"enumDeprecated": [ +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +true, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false +], +"enumDescriptions": [ +"A link to a deprecated resource was created.", +"No results are present on a particular list page.", +"A given scope cannot be reached.", +"The route's nextHopIp address is not assigned to an instance on the network.", +"The route's nextHopInstance URL refers to an instance that does not exist.", +"The route's nextHopInstance URL refers to an instance that is not on the same network as the route.", +"The route's next hop instance cannot ip forward.", +"The route's next hop instance does not have a status of RUNNING.", +"The operation involved use of an injected kernel, which is deprecated.", +"The user attempted to use a resource that requires a TOS they have not accepted.", +"The user created a boot disk that is larger than image size.", +"One or more of the resources set to auto-delete could not be deleted because they were in use.", +"Instance template used in instance group manager is valid as such, but its application does not make a lot of sense, because it allows only single instance in instance group.", +"Error which is not critical. We decided to continue the process despite the mentioned error.", +"Warning about failed cleanup of transient changes made by a failed operation.", +"Warning that value of a field has been overridden. Deprecated unused field.", +"Warning that a resource is in use.", +"Warning that network endpoint was not detached.", +"Current page contains less results than requested but a next page token exists.", +"Warning that SSL policy resource in the response does not contain information about the list of enabled features.", +"Warning that a resource is not found.", +"A resource depends on a missing type", +"Warning that is present in an external api call", +"When a resource schema validation is ignored.", +"When undeclared properties in the schema are present", +"When deploying and at least one of the resources has a type marked as experimental", +"When deploying and at least one of the resources has a type marked as deprecated", +"Success is reported, but some results may be missing due to errors", +"When deploying a deployment with a exceedingly large number of resources", +"The route's nextHopInstance URL refers to an instance that does not have an ipv6 interface on the same network as the route.", +"A WEIGHTED_MAGLEV backend service is associated with a health check that is not of type HTTP/HTTPS/HTTP2.", +"Resource can't be retrieved due to list overhead quota exceed which captures the amount of resources filtered out by user-defined list filter.", +"Quota information is not available to client requests (e.g: regions.list).", +"Indicates that a VM is using global DNS. Can also be used to indicate that a resource has attributes that could result in the creation of a VM that uses global DNS.", +"Resource can't be retrieved due to api quota exceeded.", +"Reserved entries for quickly adding new warnings without breaking dependent clients.", +"", +"", +"", +"" +], +"type": "string" +}, +"data": { +"description": "[Output Only] Metadata about this warning in key: value format. For example: \"data\": [ { \"key\": \"scope\", \"value\": \"zones/us-east1-d\" } ", +"items": { +"properties": { +"key": { +"description": "[Output Only] A key that provides more detail on the warning being returned. For example, for warnings where there are no results in a list request for a particular zone, this key might be scope and the key value might be the zone name. Other examples might be a key indicating a deprecated resource and a suggested replacement, or a warning about invalid network settings (for example, if an instance attempts to perform IP forwarding but is not enabled for IP forwarding).", +"type": "string" +}, +"value": { +"description": "[Output Only] A warning data value corresponding to the key.", +"type": "string" +} +}, +"type": "object" +}, +"type": "array" +}, +"message": { +"description": "[Output Only] A human-readable description of the warning code.", +"type": "string" +} +}, +"type": "object" +}, +"type": "array" +} +}, +"type": "object" +}, +"ResourcesListResponse": { +"description": "A response containing a partial list of resources and a page token used to build the next request if the request has been truncated.", +"id": "ResourcesListResponse", +"properties": { +"nextPageToken": { +"description": "A token used to continue a truncated list request.", +"type": "string" +}, +"resources": { +"description": "Resources contained in this list response.", +"items": { +"$ref": "Resource" +}, +"type": "array" +} +}, +"type": "object" +}, +"SetCommonInstanceMetadataOperationMetadata": { +"id": "SetCommonInstanceMetadataOperationMetadata", +"properties": { +"clientOperationId": { +"description": "[Output Only] The client operation id.", +"type": "string" +}, +"perLocationOperations": { +"additionalProperties": { +"$ref": "SetCommonInstanceMetadataOperationMetadataPerLocationOperationInfo" +}, +"description": "[Output Only] Status information per location (location name is key). Example key: zones/us-central1-a", +"type": "object" +} +}, +"type": "object" +}, +"SetCommonInstanceMetadataOperationMetadataPerLocationOperationInfo": { +"id": "SetCommonInstanceMetadataOperationMetadataPerLocationOperationInfo", +"properties": { +"error": { +"$ref": "Status", +"description": "[Output Only] If state is `ABANDONED` or `FAILED`, this field is populated." +}, +"state": { +"description": "[Output Only] Status of the action, which can be one of the following: `PROPAGATING`, `PROPAGATED`, `ABANDONED`, `FAILED`, or `DONE`.", +"enum": [ +"UNSPECIFIED", +"PROPAGATING", +"PROPAGATED", +"ABANDONED", +"FAILED", +"DONE" +], +"enumDescriptions": [ +"", +"Operation is not yet confirmed to have been created in the location.", +"Operation is confirmed to be in the location.", +"Operation not tracked in this location e.g. zone is marked as DOWN.", +"Operation is in an error state.", +"Operation has completed successfully." +], +"type": "string" +} +}, +"type": "object" +}, +"Status": { +"description": "The `Status` type defines a logical error model that is suitable for different programming environments, including REST APIs and RPC APIs. It is used by [gRPC](https://github.com/grpc). Each `Status` message contains three pieces of data: error code, error message, and error details. You can find out more about this error model and how to work with it in the [API Design Guide](https://cloud.google.com/apis/design/errors).", +"id": "Status", +"properties": { +"code": { +"description": "The status code, which should be an enum value of google.rpc.Code.", +"format": "int32", +"type": "integer" +}, +"details": { +"description": "A list of messages that carry the error details. There is a common set of message types for APIs to use.", +"items": { +"additionalProperties": { +"description": "Properties of the object. Contains field @type with type URL.", +"type": "any" +}, +"type": "object" +}, +"type": "array" +}, +"message": { +"description": "A developer-facing error message, which should be in English. Any user-facing error message should be localized and sent in the google.rpc.Status.details field, or localized by the client.", +"type": "string" +} +}, +"type": "object" +}, +"TargetConfiguration": { +"id": "TargetConfiguration", +"properties": { +"config": { +"$ref": "ConfigFile", +"description": "The configuration to use for this deployment." +}, +"imports": { +"description": "Specifies any files to import for this configuration. This can be used to import templates or other files. For example, you might import a text file in order to use the file in a template.", +"items": { +"$ref": "ImportFile" +}, +"type": "array" +} +}, +"type": "object" +}, +"TestPermissionsRequest": { +"id": "TestPermissionsRequest", +"properties": { +"permissions": { +"description": "The set of permissions to check for the 'resource'. Permissions with wildcards (such as '*' or 'storage.*') are not allowed.", +"items": { +"type": "string" +}, +"type": "array" +} +}, +"type": "object" +}, +"TestPermissionsResponse": { +"id": "TestPermissionsResponse", +"properties": { +"permissions": { +"description": "A subset of `TestPermissionsRequest.permissions` that the caller is allowed.", +"items": { +"type": "string" +}, +"type": "array" +} +}, +"type": "object" +}, +"Type": { +"description": "A resource type supported by Deployment Manager.", +"id": "Type", +"properties": { +"id": { +"format": "uint64", +"type": "string" +}, +"insertTime": { +"description": "Output only. Creation timestamp in RFC3339 text format.", +"type": "string" +}, +"name": { +"description": "Name of the type.", +"type": "string" +}, +"operation": { +"$ref": "Operation", +"description": "Output only. The Operation that most recently ran, or is currently running, on this type." +}, +"selfLink": { +"description": "Output only. Server defined URL for the resource.", +"type": "string" +} +}, +"type": "object" +}, +"TypesListResponse": { +"description": "A response that returns all Types supported by Deployment Manager", +"id": "TypesListResponse", +"properties": { +"nextPageToken": { +"description": "A token used to continue a truncated list request.", +"type": "string" +}, +"types": { +"description": "Output only. A list of resource types supported by Deployment Manager.", +"items": { +"$ref": "Type" +}, +"type": "array" +} +}, +"type": "object" +} +}, +"servicePath": "", +"title": "Cloud Deployment Manager V2 API", +"version": "v2" +} \ No newline at end of file diff --git a/.venv/lib/python3.11/site-packages/googleapiclient/discovery_cache/documents/developerconnect.v1.json b/.venv/lib/python3.11/site-packages/googleapiclient/discovery_cache/documents/developerconnect.v1.json new file mode 100644 index 0000000000000000000000000000000000000000..15b8545e47241992fac2bccccdc835df71fde298 --- /dev/null +++ b/.venv/lib/python3.11/site-packages/googleapiclient/discovery_cache/documents/developerconnect.v1.json @@ -0,0 +1,1793 @@ +{ +"auth": { +"oauth2": { +"scopes": { +"https://www.googleapis.com/auth/cloud-platform": { +"description": "See, edit, configure, and delete your Google Cloud data and see the email address for your Google Account." +} +} +} +}, +"basePath": "", +"baseUrl": "https://developerconnect.googleapis.com/", +"batchPath": "batch", +"canonicalName": "Developer Connect", +"description": "Connect third-party source code management to Google", +"discoveryVersion": "v1", +"documentationLink": "http://cloud.google.com/developer-connect/docs/overview", +"endpoints": [ +{ +"description": "Regional Endpoint", +"endpointUrl": "https://developerconnect.us-central1.rep.googleapis.com/", +"location": "us-central1" +}, +{ +"description": "Regional Endpoint", +"endpointUrl": "https://developerconnect.europe-west1.rep.googleapis.com/", +"location": "europe-west1" +}, +{ +"description": "Regional Endpoint", +"endpointUrl": "https://developerconnect.asia-east1.rep.googleapis.com/", +"location": "asia-east1" +}, +{ +"description": "Regional Endpoint", +"endpointUrl": "https://developerconnect.asia-east2.rep.googleapis.com/", +"location": "asia-east2" +}, +{ +"description": "Regional Endpoint", +"endpointUrl": "https://developerconnect.europe-west4.rep.googleapis.com/", +"location": "europe-west4" +}, +{ +"description": "Regional Endpoint", +"endpointUrl": "https://developerconnect.us-east4.rep.googleapis.com/", +"location": "us-east4" +}, +{ +"description": "Regional Endpoint", +"endpointUrl": "https://developerconnect.us-east5.rep.googleapis.com/", +"location": "us-east5" +}, +{ +"description": "Regional Endpoint", +"endpointUrl": "https://developerconnect.asia-southeast1.rep.googleapis.com/", +"location": "asia-southeast1" +}, +{ +"description": "Regional Endpoint", +"endpointUrl": "https://developerconnect.us-west1.rep.googleapis.com/", +"location": "us-west1" +}, +{ +"description": "Regional Endpoint", +"endpointUrl": "https://developerconnect.us-west2.rep.googleapis.com/", +"location": "us-west2" +} +], +"fullyEncodeReservedExpansion": true, +"icons": { +"x16": "http://www.google.com/images/icons/product/search-16.gif", +"x32": "http://www.google.com/images/icons/product/search-32.gif" +}, +"id": "developerconnect:v1", +"kind": "discovery#restDescription", +"mtlsRootUrl": "https://developerconnect.mtls.googleapis.com/", +"name": "developerconnect", +"ownerDomain": "google.com", +"ownerName": "Google", +"parameters": { +"$.xgafv": { +"description": "V1 error format.", +"enum": [ +"1", +"2" +], +"enumDescriptions": [ +"v1 error format", +"v2 error format" +], +"location": "query", +"type": "string" +}, +"access_token": { +"description": "OAuth access token.", +"location": "query", +"type": "string" +}, +"alt": { +"default": "json", +"description": "Data format for response.", +"enum": [ +"json", +"media", +"proto" +], +"enumDescriptions": [ +"Responses with Content-Type of application/json", +"Media download with context-dependent Content-Type", +"Responses with Content-Type of application/x-protobuf" +], +"location": "query", +"type": "string" +}, +"callback": { +"description": "JSONP", +"location": "query", +"type": "string" +}, +"fields": { +"description": "Selector specifying which fields to include in a partial response.", +"location": "query", +"type": "string" +}, +"key": { +"description": "API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token.", +"location": "query", +"type": "string" +}, +"oauth_token": { +"description": "OAuth 2.0 token for the current user.", +"location": "query", +"type": "string" +}, +"prettyPrint": { +"default": "true", +"description": "Returns response with indentations and line breaks.", +"location": "query", +"type": "boolean" +}, +"quotaUser": { +"description": "Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters.", +"location": "query", +"type": "string" +}, +"uploadType": { +"description": "Legacy upload protocol for media (e.g. \"media\", \"multipart\").", +"location": "query", +"type": "string" +}, +"upload_protocol": { +"description": "Upload protocol for media (e.g. \"raw\", \"multipart\").", +"location": "query", +"type": "string" +} +}, +"protocol": "rest", +"resources": { +"projects": { +"resources": { +"locations": { +"methods": { +"get": { +"description": "Gets information about a location.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}", +"httpMethod": "GET", +"id": "developerconnect.projects.locations.get", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Resource name for the location.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+name}", +"response": { +"$ref": "Location" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"list": { +"description": "Lists information about the supported locations for this service.", +"flatPath": "v1/projects/{projectsId}/locations", +"httpMethod": "GET", +"id": "developerconnect.projects.locations.list", +"parameterOrder": [ +"name" +], +"parameters": { +"filter": { +"description": "A filter to narrow down results to a preferred subset. The filtering language accepts strings like `\"displayName=tokyo\"`, and is documented in more detail in [AIP-160](https://google.aip.dev/160).", +"location": "query", +"type": "string" +}, +"name": { +"description": "The resource that owns the locations collection, if applicable.", +"location": "path", +"pattern": "^projects/[^/]+$", +"required": true, +"type": "string" +}, +"pageSize": { +"description": "The maximum number of results to return. If not set, the service selects a default.", +"format": "int32", +"location": "query", +"type": "integer" +}, +"pageToken": { +"description": "A page token received from the `next_page_token` field in the response. Send that page token to receive the subsequent page.", +"location": "query", +"type": "string" +} +}, +"path": "v1/{+name}/locations", +"response": { +"$ref": "ListLocationsResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +} +}, +"resources": { +"connections": { +"methods": { +"create": { +"description": "Creates a new Connection in a given project and location.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/connections", +"httpMethod": "POST", +"id": "developerconnect.projects.locations.connections.create", +"parameterOrder": [ +"parent" +], +"parameters": { +"connectionId": { +"description": "Required. Id of the requesting object If auto-generating Id server-side, remove this field and connection_id from the method_signature of Create RPC", +"location": "query", +"type": "string" +}, +"parent": { +"description": "Required. Value for parent.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+$", +"required": true, +"type": "string" +}, +"requestId": { +"description": "Optional. An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. The server will guarantee that for at least 60 minutes since the first request. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +}, +"validateOnly": { +"description": "Optional. If set, validate the request, but do not actually post it.", +"location": "query", +"type": "boolean" +} +}, +"path": "v1/{+parent}/connections", +"request": { +"$ref": "Connection" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"delete": { +"description": "Deletes a single Connection.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/connections/{connectionsId}", +"httpMethod": "DELETE", +"id": "developerconnect.projects.locations.connections.delete", +"parameterOrder": [ +"name" +], +"parameters": { +"etag": { +"description": "Optional. The current etag of the Connection. If an etag is provided and does not match the current etag of the Connection, deletion will be blocked and an ABORTED error will be returned.", +"location": "query", +"type": "string" +}, +"name": { +"description": "Required. Name of the resource", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/connections/[^/]+$", +"required": true, +"type": "string" +}, +"requestId": { +"description": "Optional. An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. The server will guarantee that for at least 60 minutes after the first request. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +}, +"validateOnly": { +"description": "Optional. If set, validate the request, but do not actually post it.", +"location": "query", +"type": "boolean" +} +}, +"path": "v1/{+name}", +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"fetchGitHubInstallations": { +"description": "FetchGitHubInstallations returns the list of GitHub Installations that are available to be added to a Connection. For github.com, only installations accessible to the authorizer token are returned. For GitHub Enterprise, all installations are returned.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/connections/{connectionsId}:fetchGitHubInstallations", +"httpMethod": "GET", +"id": "developerconnect.projects.locations.connections.fetchGitHubInstallations", +"parameterOrder": [ +"connection" +], +"parameters": { +"connection": { +"description": "Required. The resource name of the connection in the format `projects/*/locations/*/connections/*`.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/connections/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+connection}:fetchGitHubInstallations", +"response": { +"$ref": "FetchGitHubInstallationsResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"fetchLinkableGitRepositories": { +"description": "FetchLinkableGitRepositories returns a list of git repositories from an SCM that are available to be added to a Connection.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/connections/{connectionsId}:fetchLinkableGitRepositories", +"httpMethod": "GET", +"id": "developerconnect.projects.locations.connections.fetchLinkableGitRepositories", +"parameterOrder": [ +"connection" +], +"parameters": { +"connection": { +"description": "Required. The name of the Connection. Format: `projects/*/locations/*/connections/*`.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/connections/[^/]+$", +"required": true, +"type": "string" +}, +"pageSize": { +"description": "Optional. Number of results to return in the list. Defaults to 20.", +"format": "int32", +"location": "query", +"type": "integer" +}, +"pageToken": { +"description": "Optional. Page start.", +"location": "query", +"type": "string" +} +}, +"path": "v1/{+connection}:fetchLinkableGitRepositories", +"response": { +"$ref": "FetchLinkableGitRepositoriesResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"get": { +"description": "Gets details of a single Connection.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/connections/{connectionsId}", +"httpMethod": "GET", +"id": "developerconnect.projects.locations.connections.get", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. Name of the resource", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/connections/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+name}", +"response": { +"$ref": "Connection" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"list": { +"description": "Lists Connections in a given project and location.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/connections", +"httpMethod": "GET", +"id": "developerconnect.projects.locations.connections.list", +"parameterOrder": [ +"parent" +], +"parameters": { +"filter": { +"description": "Optional. Filtering results", +"location": "query", +"type": "string" +}, +"orderBy": { +"description": "Optional. Hint for how to order the results", +"location": "query", +"type": "string" +}, +"pageSize": { +"description": "Optional. Requested page size. Server may return fewer items than requested. If unspecified, server will pick an appropriate default.", +"format": "int32", +"location": "query", +"type": "integer" +}, +"pageToken": { +"description": "Optional. A token identifying a page of results the server should return.", +"location": "query", +"type": "string" +}, +"parent": { +"description": "Required. Parent value for ListConnectionsRequest", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+parent}/connections", +"response": { +"$ref": "ListConnectionsResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"patch": { +"description": "Updates the parameters of a single Connection.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/connections/{connectionsId}", +"httpMethod": "PATCH", +"id": "developerconnect.projects.locations.connections.patch", +"parameterOrder": [ +"name" +], +"parameters": { +"allowMissing": { +"description": "Optional. If set to true, and the connection is not found a new connection will be created. In this situation `update_mask` is ignored. The creation will succeed only if the input connection has all the necessary information (e.g a github_config with both user_oauth_token and installation_id properties).", +"location": "query", +"type": "boolean" +}, +"name": { +"description": "Identifier. The resource name of the connection, in the format `projects/{project}/locations/{location}/connections/{connection_id}`.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/connections/[^/]+$", +"required": true, +"type": "string" +}, +"requestId": { +"description": "Optional. An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. The server will guarantee that for at least 60 minutes since the first request. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +}, +"updateMask": { +"description": "Required. Field mask is used to specify the fields to be overwritten in the Connection resource by the update. The fields specified in the update_mask are relative to the resource, not the full request. A field will be overwritten if it is in the mask. If the user does not provide a mask then all fields will be overwritten.", +"format": "google-fieldmask", +"location": "query", +"type": "string" +}, +"validateOnly": { +"description": "Optional. If set, validate the request, but do not actually post it.", +"location": "query", +"type": "boolean" +} +}, +"path": "v1/{+name}", +"request": { +"$ref": "Connection" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"processGitHubEnterpriseWebhook": { +"description": "ProcessGitHubEnterpriseWebhook is called by the external GitHub Enterprise instances for notifying events.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/connections:processGitHubEnterpriseWebhook", +"httpMethod": "POST", +"id": "developerconnect.projects.locations.connections.processGitHubEnterpriseWebhook", +"parameterOrder": [ +"parent" +], +"parameters": { +"parent": { +"description": "Required. Project and location where the webhook will be received. Format: `projects/*/locations/*`.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+parent}/connections:processGitHubEnterpriseWebhook", +"request": { +"$ref": "ProcessGitHubEnterpriseWebhookRequest" +}, +"response": { +"$ref": "Empty" +} +} +}, +"resources": { +"gitRepositoryLinks": { +"methods": { +"create": { +"description": "Creates a GitRepositoryLink. Upon linking a Git Repository, Developer Connect will configure the Git Repository to send webhook events to Developer Connect. Connections that use Firebase GitHub Application will have events forwarded to the Firebase service. All other Connections will have events forwarded to Cloud Build.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/connections/{connectionsId}/gitRepositoryLinks", +"httpMethod": "POST", +"id": "developerconnect.projects.locations.connections.gitRepositoryLinks.create", +"parameterOrder": [ +"parent" +], +"parameters": { +"gitRepositoryLinkId": { +"description": "Required. The ID to use for the repository, which will become the final component of the repository's resource name. This ID should be unique in the connection. Allows alphanumeric characters and any of -._~%!$&'()*+,;=@.", +"location": "query", +"type": "string" +}, +"parent": { +"description": "Required. Value for parent.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/connections/[^/]+$", +"required": true, +"type": "string" +}, +"requestId": { +"description": "Optional. An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. The server will guarantee that for at least 60 minutes since the first request. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +}, +"validateOnly": { +"description": "Optional. If set, validate the request, but do not actually post it.", +"location": "query", +"type": "boolean" +} +}, +"path": "v1/{+parent}/gitRepositoryLinks", +"request": { +"$ref": "GitRepositoryLink" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"delete": { +"description": "Deletes a single GitRepositoryLink.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/connections/{connectionsId}/gitRepositoryLinks/{gitRepositoryLinksId}", +"httpMethod": "DELETE", +"id": "developerconnect.projects.locations.connections.gitRepositoryLinks.delete", +"parameterOrder": [ +"name" +], +"parameters": { +"etag": { +"description": "Optional. This checksum is computed by the server based on the value of other fields, and may be sent on update and delete requests to ensure the client has an up-to-date value before proceeding.", +"location": "query", +"type": "string" +}, +"name": { +"description": "Required. Name of the resource", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/connections/[^/]+/gitRepositoryLinks/[^/]+$", +"required": true, +"type": "string" +}, +"requestId": { +"description": "Optional. An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. The server will guarantee that for at least 60 minutes after the first request. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +}, +"validateOnly": { +"description": "Optional. If set, validate the request, but do not actually post it.", +"location": "query", +"type": "boolean" +} +}, +"path": "v1/{+name}", +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"fetchGitRefs": { +"description": "Fetch the list of branches or tags for a given repository.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/connections/{connectionsId}/gitRepositoryLinks/{gitRepositoryLinksId}:fetchGitRefs", +"httpMethod": "GET", +"id": "developerconnect.projects.locations.connections.gitRepositoryLinks.fetchGitRefs", +"parameterOrder": [ +"gitRepositoryLink" +], +"parameters": { +"gitRepositoryLink": { +"description": "Required. The resource name of GitRepositoryLink in the format `projects/*/locations/*/connections/*/gitRepositoryLinks/*`.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/connections/[^/]+/gitRepositoryLinks/[^/]+$", +"required": true, +"type": "string" +}, +"pageSize": { +"description": "Optional. Number of results to return in the list. Default to 20.", +"format": "int32", +"location": "query", +"type": "integer" +}, +"pageToken": { +"description": "Optional. Page start.", +"location": "query", +"type": "string" +}, +"refType": { +"description": "Required. Type of refs to fetch.", +"enum": [ +"REF_TYPE_UNSPECIFIED", +"TAG", +"BRANCH" +], +"enumDescriptions": [ +"No type specified.", +"To fetch tags.", +"To fetch branches." +], +"location": "query", +"type": "string" +} +}, +"path": "v1/{+gitRepositoryLink}:fetchGitRefs", +"response": { +"$ref": "FetchGitRefsResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"fetchReadToken": { +"description": "Fetches read token of a given gitRepositoryLink.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/connections/{connectionsId}/gitRepositoryLinks/{gitRepositoryLinksId}:fetchReadToken", +"httpMethod": "POST", +"id": "developerconnect.projects.locations.connections.gitRepositoryLinks.fetchReadToken", +"parameterOrder": [ +"gitRepositoryLink" +], +"parameters": { +"gitRepositoryLink": { +"description": "Required. The resource name of the gitRepositoryLink in the format `projects/*/locations/*/connections/*/gitRepositoryLinks/*`.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/connections/[^/]+/gitRepositoryLinks/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+gitRepositoryLink}:fetchReadToken", +"request": { +"$ref": "FetchReadTokenRequest" +}, +"response": { +"$ref": "FetchReadTokenResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"fetchReadWriteToken": { +"description": "Fetches read/write token of a given gitRepositoryLink.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/connections/{connectionsId}/gitRepositoryLinks/{gitRepositoryLinksId}:fetchReadWriteToken", +"httpMethod": "POST", +"id": "developerconnect.projects.locations.connections.gitRepositoryLinks.fetchReadWriteToken", +"parameterOrder": [ +"gitRepositoryLink" +], +"parameters": { +"gitRepositoryLink": { +"description": "Required. The resource name of the gitRepositoryLink in the format `projects/*/locations/*/connections/*/gitRepositoryLinks/*`.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/connections/[^/]+/gitRepositoryLinks/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+gitRepositoryLink}:fetchReadWriteToken", +"request": { +"$ref": "FetchReadWriteTokenRequest" +}, +"response": { +"$ref": "FetchReadWriteTokenResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"get": { +"description": "Gets details of a single GitRepositoryLink.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/connections/{connectionsId}/gitRepositoryLinks/{gitRepositoryLinksId}", +"httpMethod": "GET", +"id": "developerconnect.projects.locations.connections.gitRepositoryLinks.get", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. Name of the resource", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/connections/[^/]+/gitRepositoryLinks/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+name}", +"response": { +"$ref": "GitRepositoryLink" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"list": { +"description": "Lists GitRepositoryLinks in a given project, location, and connection.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/connections/{connectionsId}/gitRepositoryLinks", +"httpMethod": "GET", +"id": "developerconnect.projects.locations.connections.gitRepositoryLinks.list", +"parameterOrder": [ +"parent" +], +"parameters": { +"filter": { +"description": "Optional. Filtering results", +"location": "query", +"type": "string" +}, +"orderBy": { +"description": "Optional. Hint for how to order the results", +"location": "query", +"type": "string" +}, +"pageSize": { +"description": "Optional. Requested page size. Server may return fewer items than requested. If unspecified, server will pick an appropriate default.", +"format": "int32", +"location": "query", +"type": "integer" +}, +"pageToken": { +"description": "Optional. A token identifying a page of results the server should return.", +"location": "query", +"type": "string" +}, +"parent": { +"description": "Required. Parent value for ListGitRepositoryLinksRequest", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/connections/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+parent}/gitRepositoryLinks", +"response": { +"$ref": "ListGitRepositoryLinksResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"processGitLabEnterpriseWebhook": { +"description": "ProcessGitLabEnterpriseWebhook is called by the external GitLab Enterprise instances for notifying events.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/connections/{connectionsId}/gitRepositoryLinks/{gitRepositoryLinksId}:processGitLabEnterpriseWebhook", +"httpMethod": "POST", +"id": "developerconnect.projects.locations.connections.gitRepositoryLinks.processGitLabEnterpriseWebhook", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. The GitRepositoryLink resource where the webhook will be received. Format: `projects/*/locations/*/connections/*/gitRepositoryLinks/*`.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/connections/[^/]+/gitRepositoryLinks/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+name}:processGitLabEnterpriseWebhook", +"request": { +"$ref": "ProcessGitLabEnterpriseWebhookRequest" +}, +"response": { +"$ref": "Empty" +} +}, +"processGitLabWebhook": { +"description": "ProcessGitLabWebhook is called by the GitLab.com for notifying events.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/connections/{connectionsId}/gitRepositoryLinks/{gitRepositoryLinksId}:processGitLabWebhook", +"httpMethod": "POST", +"id": "developerconnect.projects.locations.connections.gitRepositoryLinks.processGitLabWebhook", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. The GitRepositoryLink resource where the webhook will be received. Format: `projects/*/locations/*/connections/*/gitRepositoryLinks/*`.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/connections/[^/]+/gitRepositoryLinks/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+name}:processGitLabWebhook", +"request": { +"$ref": "ProcessGitLabWebhookRequest" +}, +"response": { +"$ref": "Empty" +} +} +} +} +} +}, +"operations": { +"methods": { +"cancel": { +"description": "Starts asynchronous cancellation on a long-running operation. The server makes a best effort to cancel the operation, but success is not guaranteed. If the server doesn't support this method, it returns `google.rpc.Code.UNIMPLEMENTED`. Clients can use Operations.GetOperation or other methods to check whether the cancellation succeeded or whether the operation completed despite cancellation. On successful cancellation, the operation is not deleted; instead, it becomes an operation with an Operation.error value with a google.rpc.Status.code of `1`, corresponding to `Code.CANCELLED`.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/operations/{operationsId}:cancel", +"httpMethod": "POST", +"id": "developerconnect.projects.locations.operations.cancel", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "The name of the operation resource to be cancelled.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/operations/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+name}:cancel", +"request": { +"$ref": "CancelOperationRequest" +}, +"response": { +"$ref": "Empty" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"delete": { +"description": "Deletes a long-running operation. This method indicates that the client is no longer interested in the operation result. It does not cancel the operation. If the server doesn't support this method, it returns `google.rpc.Code.UNIMPLEMENTED`.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/operations/{operationsId}", +"httpMethod": "DELETE", +"id": "developerconnect.projects.locations.operations.delete", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "The name of the operation resource to be deleted.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/operations/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+name}", +"response": { +"$ref": "Empty" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"get": { +"description": "Gets the latest state of a long-running operation. Clients can use this method to poll the operation result at intervals as recommended by the API service.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/operations/{operationsId}", +"httpMethod": "GET", +"id": "developerconnect.projects.locations.operations.get", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "The name of the operation resource.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/operations/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+name}", +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"list": { +"description": "Lists operations that match the specified filter in the request. If the server doesn't support this method, it returns `UNIMPLEMENTED`.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/operations", +"httpMethod": "GET", +"id": "developerconnect.projects.locations.operations.list", +"parameterOrder": [ +"name" +], +"parameters": { +"filter": { +"description": "The standard list filter.", +"location": "query", +"type": "string" +}, +"name": { +"description": "The name of the operation's parent resource.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+$", +"required": true, +"type": "string" +}, +"pageSize": { +"description": "The standard list page size.", +"format": "int32", +"location": "query", +"type": "integer" +}, +"pageToken": { +"description": "The standard list page token.", +"location": "query", +"type": "string" +} +}, +"path": "v1/{+name}/operations", +"response": { +"$ref": "ListOperationsResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +} +} +} +} +} +} +} +}, +"revision": "20241205", +"rootUrl": "https://developerconnect.googleapis.com/", +"schemas": { +"CancelOperationRequest": { +"description": "The request message for Operations.CancelOperation.", +"id": "CancelOperationRequest", +"properties": {}, +"type": "object" +}, +"Connection": { +"description": "Message describing Connection object", +"id": "Connection", +"properties": { +"annotations": { +"additionalProperties": { +"type": "string" +}, +"description": "Optional. Allows clients to store small amounts of arbitrary data.", +"type": "object" +}, +"createTime": { +"description": "Output only. [Output only] Create timestamp", +"format": "google-datetime", +"readOnly": true, +"type": "string" +}, +"cryptoKeyConfig": { +"$ref": "CryptoKeyConfig", +"description": "Optional. The crypto key configuration. This field is used by the Customer-Managed Encryption Keys (CMEK) feature." +}, +"deleteTime": { +"description": "Output only. [Output only] Delete timestamp", +"format": "google-datetime", +"readOnly": true, +"type": "string" +}, +"disabled": { +"description": "Optional. If disabled is set to true, functionality is disabled for this connection. Repository based API methods and webhooks processing for repositories in this connection will be disabled.", +"type": "boolean" +}, +"etag": { +"description": "Optional. This checksum is computed by the server based on the value of other fields, and may be sent on update and delete requests to ensure the client has an up-to-date value before proceeding.", +"type": "string" +}, +"githubConfig": { +"$ref": "GitHubConfig", +"description": "Configuration for connections to github.com." +}, +"githubEnterpriseConfig": { +"$ref": "GitHubEnterpriseConfig", +"description": "Configuration for connections to an instance of GitHub Enterprise." +}, +"gitlabConfig": { +"$ref": "GitLabConfig", +"description": "Configuration for connections to gitlab.com." +}, +"gitlabEnterpriseConfig": { +"$ref": "GitLabEnterpriseConfig", +"description": "Configuration for connections to an instance of GitLab Enterprise." +}, +"installationState": { +"$ref": "InstallationState", +"description": "Output only. Installation state of the Connection.", +"readOnly": true +}, +"labels": { +"additionalProperties": { +"type": "string" +}, +"description": "Optional. Labels as key value pairs", +"type": "object" +}, +"name": { +"description": "Identifier. The resource name of the connection, in the format `projects/{project}/locations/{location}/connections/{connection_id}`.", +"type": "string" +}, +"reconciling": { +"description": "Output only. Set to true when the connection is being set up or updated in the background.", +"readOnly": true, +"type": "boolean" +}, +"uid": { +"description": "Output only. A system-assigned unique identifier for the Connection.", +"readOnly": true, +"type": "string" +}, +"updateTime": { +"description": "Output only. [Output only] Update timestamp", +"format": "google-datetime", +"readOnly": true, +"type": "string" +} +}, +"type": "object" +}, +"CryptoKeyConfig": { +"description": "The crypto key configuration. This field is used by the Customer-managed encryption keys (CMEK) feature.", +"id": "CryptoKeyConfig", +"properties": { +"keyReference": { +"description": "Required. The name of the key which is used to encrypt/decrypt customer data. For key in Cloud KMS, the key should be in the format of `projects/*/locations/*/keyRings/*/cryptoKeys/*`.", +"type": "string" +} +}, +"type": "object" +}, +"Empty": { +"description": "A generic empty message that you can re-use to avoid defining duplicated empty messages in your APIs. A typical example is to use it as the request or the response type of an API method. For instance: service Foo { rpc Bar(google.protobuf.Empty) returns (google.protobuf.Empty); }", +"id": "Empty", +"properties": {}, +"type": "object" +}, +"FetchGitHubInstallationsResponse": { +"description": "Response of fetching github installations.", +"id": "FetchGitHubInstallationsResponse", +"properties": { +"installations": { +"description": "List of installations available to the OAuth user (for github.com) or all the installations (for GitHub enterprise).", +"items": { +"$ref": "Installation" +}, +"type": "array" +} +}, +"type": "object" +}, +"FetchGitRefsResponse": { +"description": "Response for fetching git refs.", +"id": "FetchGitRefsResponse", +"properties": { +"nextPageToken": { +"description": "A token identifying a page of results the server should return.", +"type": "string" +}, +"refNames": { +"description": "Name of the refs fetched.", +"items": { +"type": "string" +}, +"type": "array" +} +}, +"type": "object" +}, +"FetchLinkableGitRepositoriesResponse": { +"description": "Response message for FetchLinkableGitRepositories.", +"id": "FetchLinkableGitRepositoriesResponse", +"properties": { +"linkableGitRepositories": { +"description": "The git repositories that can be linked to the connection.", +"items": { +"$ref": "LinkableGitRepository" +}, +"type": "array" +}, +"nextPageToken": { +"description": "A token identifying a page of results the server should return.", +"type": "string" +} +}, +"type": "object" +}, +"FetchReadTokenRequest": { +"description": "Message for fetching SCM read token.", +"id": "FetchReadTokenRequest", +"properties": {}, +"type": "object" +}, +"FetchReadTokenResponse": { +"description": "Message for responding to get read token.", +"id": "FetchReadTokenResponse", +"properties": { +"expirationTime": { +"description": "Expiration timestamp. Can be empty if unknown or non-expiring.", +"format": "google-datetime", +"type": "string" +}, +"gitUsername": { +"description": "The git_username to specify when making a git clone with the token. For example, for GitHub GitRepositoryLinks, this would be \"x-access-token\"", +"type": "string" +}, +"token": { +"description": "The token content.", +"type": "string" +} +}, +"type": "object" +}, +"FetchReadWriteTokenRequest": { +"description": "Message for fetching SCM read/write token.", +"id": "FetchReadWriteTokenRequest", +"properties": {}, +"type": "object" +}, +"FetchReadWriteTokenResponse": { +"description": "Message for responding to get read/write token.", +"id": "FetchReadWriteTokenResponse", +"properties": { +"expirationTime": { +"description": "Expiration timestamp. Can be empty if unknown or non-expiring.", +"format": "google-datetime", +"type": "string" +}, +"gitUsername": { +"description": "The git_username to specify when making a git clone with the token. For example, for GitHub GitRepositoryLinks, this would be \"x-access-token\"", +"type": "string" +}, +"token": { +"description": "The token content.", +"type": "string" +} +}, +"type": "object" +}, +"GitHubConfig": { +"description": "Configuration for connections to github.com.", +"id": "GitHubConfig", +"properties": { +"appInstallationId": { +"description": "Optional. GitHub App installation id.", +"format": "int64", +"type": "string" +}, +"authorizerCredential": { +"$ref": "OAuthCredential", +"description": "Optional. OAuth credential of the account that authorized the GitHub App. It is recommended to use a robot account instead of a human user account. The OAuth token must be tied to the GitHub App of this config." +}, +"githubApp": { +"description": "Required. Immutable. The GitHub Application that was installed to the GitHub user or organization.", +"enum": [ +"GIT_HUB_APP_UNSPECIFIED", +"DEVELOPER_CONNECT", +"FIREBASE" +], +"enumDescriptions": [ +"GitHub App not specified.", +"The Developer Connect GitHub Application.", +"The Firebase GitHub Application." +], +"type": "string" +}, +"installationUri": { +"description": "Output only. The URI to navigate to in order to manage the installation associated with this GitHubConfig.", +"readOnly": true, +"type": "string" +} +}, +"type": "object" +}, +"GitHubEnterpriseConfig": { +"description": "Configuration for connections to an instance of GitHub Enterprise.", +"id": "GitHubEnterpriseConfig", +"properties": { +"appId": { +"description": "Optional. ID of the GitHub App created from the manifest.", +"format": "int64", +"type": "string" +}, +"appInstallationId": { +"description": "Optional. ID of the installation of the GitHub App.", +"format": "int64", +"type": "string" +}, +"appSlug": { +"description": "Output only. The URL-friendly name of the GitHub App.", +"readOnly": true, +"type": "string" +}, +"hostUri": { +"description": "Required. The URI of the GitHub Enterprise host this connection is for.", +"type": "string" +}, +"installationUri": { +"description": "Output only. The URI to navigate to in order to manage the installation associated with this GitHubEnterpriseConfig.", +"readOnly": true, +"type": "string" +}, +"privateKeySecretVersion": { +"description": "Optional. SecretManager resource containing the private key of the GitHub App, formatted as `projects/*/secrets/*/versions/*`.", +"type": "string" +}, +"serverVersion": { +"description": "Output only. GitHub Enterprise version installed at the host_uri.", +"readOnly": true, +"type": "string" +}, +"serviceDirectoryConfig": { +"$ref": "ServiceDirectoryConfig", +"description": "Optional. Configuration for using Service Directory to privately connect to a GitHub Enterprise server. This should only be set if the GitHub Enterprise server is hosted on-premises and not reachable by public internet. If this field is left empty, calls to the GitHub Enterprise server will be made over the public internet." +}, +"sslCaCertificate": { +"description": "Optional. SSL certificate to use for requests to GitHub Enterprise.", +"type": "string" +}, +"webhookSecretSecretVersion": { +"description": "Optional. SecretManager resource containing the webhook secret of the GitHub App, formatted as `projects/*/secrets/*/versions/*`.", +"type": "string" +} +}, +"type": "object" +}, +"GitLabConfig": { +"description": "Configuration for connections to gitlab.com.", +"id": "GitLabConfig", +"properties": { +"authorizerCredential": { +"$ref": "UserCredential", +"description": "Required. A GitLab personal access token with the minimum `api` scope access and a minimum role of `maintainer`. The GitLab Projects visible to this Personal Access Token will control which Projects Developer Connect has access to." +}, +"readAuthorizerCredential": { +"$ref": "UserCredential", +"description": "Required. A GitLab personal access token with the minimum `read_api` scope access and a minimum role of `reporter`. The GitLab Projects visible to this Personal Access Token will control which Projects Developer Connect has access to." +}, +"webhookSecretSecretVersion": { +"description": "Required. Immutable. SecretManager resource containing the webhook secret of a GitLab project, formatted as `projects/*/secrets/*/versions/*`. This is used to validate webhooks.", +"type": "string" +} +}, +"type": "object" +}, +"GitLabEnterpriseConfig": { +"description": "Configuration for connections to an instance of GitLab Enterprise.", +"id": "GitLabEnterpriseConfig", +"properties": { +"authorizerCredential": { +"$ref": "UserCredential", +"description": "Required. A GitLab personal access token with the minimum `api` scope access and a minimum role of `maintainer`. The GitLab Projects visible to this Personal Access Token will control which Projects Developer Connect has access to." +}, +"hostUri": { +"description": "Required. The URI of the GitLab Enterprise host this connection is for.", +"type": "string" +}, +"readAuthorizerCredential": { +"$ref": "UserCredential", +"description": "Required. A GitLab personal access token with the minimum `read_api` scope access and a minimum role of `reporter`. The GitLab Projects visible to this Personal Access Token will control which Projects Developer Connect has access to." +}, +"serverVersion": { +"description": "Output only. Version of the GitLab Enterprise server running on the `host_uri`.", +"readOnly": true, +"type": "string" +}, +"serviceDirectoryConfig": { +"$ref": "ServiceDirectoryConfig", +"description": "Optional. Configuration for using Service Directory to privately connect to a GitLab Enterprise instance. This should only be set if the GitLab Enterprise server is hosted on-premises and not reachable by public internet. If this field is left empty, calls to the GitLab Enterprise server will be made over the public internet." +}, +"sslCaCertificate": { +"description": "Optional. SSL Certificate Authority certificate to use for requests to GitLab Enterprise instance.", +"type": "string" +}, +"webhookSecretSecretVersion": { +"description": "Required. Immutable. SecretManager resource containing the webhook secret of a GitLab project, formatted as `projects/*/secrets/*/versions/*`. This is used to validate webhooks.", +"type": "string" +} +}, +"type": "object" +}, +"GitRepositoryLink": { +"description": "Message describing the GitRepositoryLink object", +"id": "GitRepositoryLink", +"properties": { +"annotations": { +"additionalProperties": { +"type": "string" +}, +"description": "Optional. Allows clients to store small amounts of arbitrary data.", +"type": "object" +}, +"cloneUri": { +"description": "Required. Git Clone URI.", +"type": "string" +}, +"createTime": { +"description": "Output only. [Output only] Create timestamp", +"format": "google-datetime", +"readOnly": true, +"type": "string" +}, +"deleteTime": { +"description": "Output only. [Output only] Delete timestamp", +"format": "google-datetime", +"readOnly": true, +"type": "string" +}, +"etag": { +"description": "Optional. This checksum is computed by the server based on the value of other fields, and may be sent on update and delete requests to ensure the client has an up-to-date value before proceeding.", +"type": "string" +}, +"labels": { +"additionalProperties": { +"type": "string" +}, +"description": "Optional. Labels as key value pairs", +"type": "object" +}, +"name": { +"description": "Identifier. Resource name of the repository, in the format `projects/*/locations/*/connections/*/gitRepositoryLinks/*`.", +"type": "string" +}, +"reconciling": { +"description": "Output only. Set to true when the connection is being set up or updated in the background.", +"readOnly": true, +"type": "boolean" +}, +"uid": { +"description": "Output only. A system-assigned unique identifier for the GitRepositoryLink.", +"readOnly": true, +"type": "string" +}, +"updateTime": { +"description": "Output only. [Output only] Update timestamp", +"format": "google-datetime", +"readOnly": true, +"type": "string" +}, +"webhookId": { +"description": "Output only. External ID of the webhook created for the repository.", +"readOnly": true, +"type": "string" +} +}, +"type": "object" +}, +"HttpBody": { +"description": "Message that represents an arbitrary HTTP body. It should only be used for payload formats that can't be represented as JSON, such as raw binary or an HTML page. This message can be used both in streaming and non-streaming API methods in the request as well as the response. It can be used as a top-level request field, which is convenient if one wants to extract parameters from either the URL or HTTP template into the request fields and also want access to the raw HTTP body. Example: message GetResourceRequest { // A unique request id. string request_id = 1; // The raw HTTP body is bound to this field. google.api.HttpBody http_body = 2; } service ResourceService { rpc GetResource(GetResourceRequest) returns (google.api.HttpBody); rpc UpdateResource(google.api.HttpBody) returns (google.protobuf.Empty); } Example with streaming methods: service CaldavService { rpc GetCalendar(stream google.api.HttpBody) returns (stream google.api.HttpBody); rpc UpdateCalendar(stream google.api.HttpBody) returns (stream google.api.HttpBody); } Use of this type only changes how the request and response bodies are handled, all other features will continue to work unchanged.", +"id": "HttpBody", +"properties": { +"contentType": { +"description": "The HTTP Content-Type header value specifying the content type of the body.", +"type": "string" +}, +"data": { +"description": "The HTTP request/response body as raw binary.", +"format": "byte", +"type": "string" +}, +"extensions": { +"description": "Application specific response metadata. Must be set in the first response for streaming APIs.", +"items": { +"additionalProperties": { +"description": "Properties of the object. Contains field @type with type URL.", +"type": "any" +}, +"type": "object" +}, +"type": "array" +} +}, +"type": "object" +}, +"Installation": { +"description": "Represents an installation of the GitHub App.", +"id": "Installation", +"properties": { +"id": { +"description": "ID of the installation in GitHub.", +"format": "int64", +"type": "string" +}, +"name": { +"description": "Name of the GitHub user or organization that owns this installation.", +"type": "string" +}, +"type": { +"description": "Either \"user\" or \"organization\".", +"type": "string" +} +}, +"type": "object" +}, +"InstallationState": { +"description": "Describes stage and necessary actions to be taken by the user to complete the installation. Used for GitHub and GitHub Enterprise based connections.", +"id": "InstallationState", +"properties": { +"actionUri": { +"description": "Output only. Link to follow for next action. Empty string if the installation is already complete.", +"readOnly": true, +"type": "string" +}, +"message": { +"description": "Output only. Message of what the user should do next to continue the installation. Empty string if the installation is already complete.", +"readOnly": true, +"type": "string" +}, +"stage": { +"description": "Output only. Current step of the installation process.", +"enum": [ +"STAGE_UNSPECIFIED", +"PENDING_CREATE_APP", +"PENDING_USER_OAUTH", +"PENDING_INSTALL_APP", +"COMPLETE" +], +"enumDescriptions": [ +"No stage specified.", +"Only for GitHub Enterprise. An App creation has been requested. The user needs to confirm the creation in their GitHub enterprise host.", +"User needs to authorize the GitHub (or Enterprise) App via OAuth.", +"User needs to follow the link to install the GitHub (or Enterprise) App.", +"Installation process has been completed." +], +"readOnly": true, +"type": "string" +} +}, +"type": "object" +}, +"LinkableGitRepository": { +"description": "LinkableGitRepository represents a git repository that can be linked to a connection.", +"id": "LinkableGitRepository", +"properties": { +"cloneUri": { +"description": "The clone uri of the repository.", +"type": "string" +} +}, +"type": "object" +}, +"ListConnectionsResponse": { +"description": "Message for response to listing Connections", +"id": "ListConnectionsResponse", +"properties": { +"connections": { +"description": "The list of Connection", +"items": { +"$ref": "Connection" +}, +"type": "array" +}, +"nextPageToken": { +"description": "A token identifying a page of results the server should return.", +"type": "string" +}, +"unreachable": { +"description": "Locations that could not be reached.", +"items": { +"type": "string" +}, +"type": "array" +} +}, +"type": "object" +}, +"ListGitRepositoryLinksResponse": { +"description": "Message for response to listing GitRepositoryLinks", +"id": "ListGitRepositoryLinksResponse", +"properties": { +"gitRepositoryLinks": { +"description": "The list of GitRepositoryLinks", +"items": { +"$ref": "GitRepositoryLink" +}, +"type": "array" +}, +"nextPageToken": { +"description": "A token identifying a page of results the server should return.", +"type": "string" +}, +"unreachable": { +"description": "Locations that could not be reached.", +"items": { +"type": "string" +}, +"type": "array" +} +}, +"type": "object" +}, +"ListLocationsResponse": { +"description": "The response message for Locations.ListLocations.", +"id": "ListLocationsResponse", +"properties": { +"locations": { +"description": "A list of locations that matches the specified filter in the request.", +"items": { +"$ref": "Location" +}, +"type": "array" +}, +"nextPageToken": { +"description": "The standard List next-page token.", +"type": "string" +} +}, +"type": "object" +}, +"ListOperationsResponse": { +"description": "The response message for Operations.ListOperations.", +"id": "ListOperationsResponse", +"properties": { +"nextPageToken": { +"description": "The standard List next-page token.", +"type": "string" +}, +"operations": { +"description": "A list of operations that matches the specified filter in the request.", +"items": { +"$ref": "Operation" +}, +"type": "array" +} +}, +"type": "object" +}, +"Location": { +"description": "A resource that represents a Google Cloud location.", +"id": "Location", +"properties": { +"displayName": { +"description": "The friendly name for this location, typically a nearby city name. For example, \"Tokyo\".", +"type": "string" +}, +"labels": { +"additionalProperties": { +"type": "string" +}, +"description": "Cross-service attributes for the location. For example {\"cloud.googleapis.com/region\": \"us-east1\"}", +"type": "object" +}, +"locationId": { +"description": "The canonical id for this location. For example: `\"us-east1\"`.", +"type": "string" +}, +"metadata": { +"additionalProperties": { +"description": "Properties of the object. Contains field @type with type URL.", +"type": "any" +}, +"description": "Service-specific metadata. For example the available capacity at the given location.", +"type": "object" +}, +"name": { +"description": "Resource name for the location, which may vary between implementations. For example: `\"projects/example-project/locations/us-east1\"`", +"type": "string" +} +}, +"type": "object" +}, +"OAuthCredential": { +"description": "Represents an OAuth token of the account that authorized the Connection, and associated metadata.", +"id": "OAuthCredential", +"properties": { +"oauthTokenSecretVersion": { +"description": "Required. A SecretManager resource containing the OAuth token that authorizes the connection. Format: `projects/*/secrets/*/versions/*`.", +"type": "string" +}, +"username": { +"description": "Output only. The username associated with this token.", +"readOnly": true, +"type": "string" +} +}, +"type": "object" +}, +"Operation": { +"description": "This resource represents a long-running operation that is the result of a network API call.", +"id": "Operation", +"properties": { +"done": { +"description": "If the value is `false`, it means the operation is still in progress. If `true`, the operation is completed, and either `error` or `response` is available.", +"type": "boolean" +}, +"error": { +"$ref": "Status", +"description": "The error result of the operation in case of failure or cancellation." +}, +"metadata": { +"additionalProperties": { +"description": "Properties of the object. Contains field @type with type URL.", +"type": "any" +}, +"description": "Service-specific metadata associated with the operation. It typically contains progress information and common metadata such as create time. Some services might not provide such metadata. Any method that returns a long-running operation should document the metadata type, if any.", +"type": "object" +}, +"name": { +"description": "The server-assigned name, which is only unique within the same service that originally returns it. If you use the default HTTP mapping, the `name` should be a resource name ending with `operations/{unique_id}`.", +"type": "string" +}, +"response": { +"additionalProperties": { +"description": "Properties of the object. Contains field @type with type URL.", +"type": "any" +}, +"description": "The normal, successful response of the operation. If the original method returns no data on success, such as `Delete`, the response is `google.protobuf.Empty`. If the original method is standard `Get`/`Create`/`Update`, the response should be the resource. For other methods, the response should have the type `XxxResponse`, where `Xxx` is the original method name. For example, if the original method name is `TakeSnapshot()`, the inferred response type is `TakeSnapshotResponse`.", +"type": "object" +} +}, +"type": "object" +}, +"OperationMetadata": { +"description": "Represents the metadata of the long-running operation.", +"id": "OperationMetadata", +"properties": { +"apiVersion": { +"description": "Output only. API version used to start the operation.", +"readOnly": true, +"type": "string" +}, +"createTime": { +"description": "Output only. The time the operation was created.", +"format": "google-datetime", +"readOnly": true, +"type": "string" +}, +"endTime": { +"description": "Output only. The time the operation finished running.", +"format": "google-datetime", +"readOnly": true, +"type": "string" +}, +"requestedCancellation": { +"description": "Output only. Identifies whether the user has requested cancellation of the operation. Operations that have been cancelled successfully have google.longrunning.Operation.error value with a google.rpc.Status.code of 1, corresponding to `Code.CANCELLED`.", +"readOnly": true, +"type": "boolean" +}, +"statusMessage": { +"description": "Output only. Human-readable status of the operation, if any.", +"readOnly": true, +"type": "string" +}, +"target": { +"description": "Output only. Server-defined resource path for the target of the operation.", +"readOnly": true, +"type": "string" +}, +"verb": { +"description": "Output only. Name of the verb executed by the operation.", +"readOnly": true, +"type": "string" +} +}, +"type": "object" +}, +"ProcessGitHubEnterpriseWebhookRequest": { +"description": "RPC request object accepted by the ProcessGitHubEnterpriseWebhook RPC method.", +"id": "ProcessGitHubEnterpriseWebhookRequest", +"properties": { +"body": { +"$ref": "HttpBody", +"description": "Required. HTTP request body." +} +}, +"type": "object" +}, +"ProcessGitLabEnterpriseWebhookRequest": { +"description": "RPC request object accepted by the ProcessGitLabEnterpriseWebhook RPC method.", +"id": "ProcessGitLabEnterpriseWebhookRequest", +"properties": { +"body": { +"$ref": "HttpBody", +"description": "Required. HTTP request body." +} +}, +"type": "object" +}, +"ProcessGitLabWebhookRequest": { +"description": "RPC request object accepted by the ProcessGitLabWebhook RPC method.", +"id": "ProcessGitLabWebhookRequest", +"properties": { +"body": { +"$ref": "HttpBody", +"description": "Required. HTTP request body." +} +}, +"type": "object" +}, +"ServiceDirectoryConfig": { +"description": "ServiceDirectoryConfig represents Service Directory configuration for a connection.", +"id": "ServiceDirectoryConfig", +"properties": { +"service": { +"description": "Required. The Service Directory service name. Format: projects/{project}/locations/{location}/namespaces/{namespace}/services/{service}.", +"type": "string" +} +}, +"type": "object" +}, +"Status": { +"description": "The `Status` type defines a logical error model that is suitable for different programming environments, including REST APIs and RPC APIs. It is used by [gRPC](https://github.com/grpc). Each `Status` message contains three pieces of data: error code, error message, and error details. You can find out more about this error model and how to work with it in the [API Design Guide](https://cloud.google.com/apis/design/errors).", +"id": "Status", +"properties": { +"code": { +"description": "The status code, which should be an enum value of google.rpc.Code.", +"format": "int32", +"type": "integer" +}, +"details": { +"description": "A list of messages that carry the error details. There is a common set of message types for APIs to use.", +"items": { +"additionalProperties": { +"description": "Properties of the object. Contains field @type with type URL.", +"type": "any" +}, +"type": "object" +}, +"type": "array" +}, +"message": { +"description": "A developer-facing error message, which should be in English. Any user-facing error message should be localized and sent in the google.rpc.Status.details field, or localized by the client.", +"type": "string" +} +}, +"type": "object" +}, +"UserCredential": { +"description": "Represents a personal access token that authorized the Connection, and associated metadata.", +"id": "UserCredential", +"properties": { +"userTokenSecretVersion": { +"description": "Required. A SecretManager resource containing the user token that authorizes the Developer Connect connection. Format: `projects/*/secrets/*/versions/*`.", +"type": "string" +}, +"username": { +"description": "Output only. The username associated with this token.", +"readOnly": true, +"type": "string" +} +}, +"type": "object" +} +}, +"servicePath": "", +"title": "Developer Connect API", +"version": "v1", +"version_module": true +} \ No newline at end of file diff --git a/.venv/lib/python3.11/site-packages/googleapiclient/discovery_cache/documents/discoveryengine.v1beta.json b/.venv/lib/python3.11/site-packages/googleapiclient/discovery_cache/documents/discoveryengine.v1beta.json new file mode 100644 index 0000000000000000000000000000000000000000..cc5ead7b1775a6a6efb1635d8aa696230de2d282 --- /dev/null +++ b/.venv/lib/python3.11/site-packages/googleapiclient/discovery_cache/documents/discoveryengine.v1beta.json @@ -0,0 +1,23033 @@ +{ +"auth": { +"oauth2": { +"scopes": { +"https://www.googleapis.com/auth/cloud-platform": { +"description": "See, edit, configure, and delete your Google Cloud data and see the email address for your Google Account." +} +} +} +}, +"basePath": "", +"baseUrl": "https://discoveryengine.googleapis.com/", +"batchPath": "batch", +"canonicalName": "Discovery Engine", +"description": "Discovery Engine API.", +"discoveryVersion": "v1", +"documentationLink": "https://cloud.google.com/generative-ai-app-builder/docs/", +"endpoints": [ +{ +"description": "Regional Endpoint", +"endpointUrl": "https://discoveryengine.asia-northeast1.rep.googleapis.com/", +"location": "asia-northeast1" +}, +{ +"description": "Regional Endpoint", +"endpointUrl": "https://discoveryengine.europe-west2.rep.googleapis.com/", +"location": "europe-west2" +}, +{ +"description": "Regional Endpoint", +"endpointUrl": "https://discoveryengine.us.rep.googleapis.com/", +"location": "us" +}, +{ +"description": "Regional Endpoint", +"endpointUrl": "https://discoveryengine.eu.rep.googleapis.com/", +"location": "eu" +} +], +"fullyEncodeReservedExpansion": true, +"icons": { +"x16": "http://www.google.com/images/icons/product/search-16.gif", +"x32": "http://www.google.com/images/icons/product/search-32.gif" +}, +"id": "discoveryengine:v1beta", +"kind": "discovery#restDescription", +"mtlsRootUrl": "https://discoveryengine.mtls.googleapis.com/", +"name": "discoveryengine", +"ownerDomain": "google.com", +"ownerName": "Google", +"parameters": { +"$.xgafv": { +"description": "V1 error format.", +"enum": [ +"1", +"2" +], +"enumDescriptions": [ +"v1 error format", +"v2 error format" +], +"location": "query", +"type": "string" +}, +"access_token": { +"description": "OAuth access token.", +"location": "query", +"type": "string" +}, +"alt": { +"default": "json", +"description": "Data format for response.", +"enum": [ +"json", +"media", +"proto" +], +"enumDescriptions": [ +"Responses with Content-Type of application/json", +"Media download with context-dependent Content-Type", +"Responses with Content-Type of application/x-protobuf" +], +"location": "query", +"type": "string" +}, +"callback": { +"description": "JSONP", +"location": "query", +"type": "string" +}, +"fields": { +"description": "Selector specifying which fields to include in a partial response.", +"location": "query", +"type": "string" +}, +"key": { +"description": "API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token.", +"location": "query", +"type": "string" +}, +"oauth_token": { +"description": "OAuth 2.0 token for the current user.", +"location": "query", +"type": "string" +}, +"prettyPrint": { +"default": "true", +"description": "Returns response with indentations and line breaks.", +"location": "query", +"type": "boolean" +}, +"quotaUser": { +"description": "Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters.", +"location": "query", +"type": "string" +}, +"uploadType": { +"description": "Legacy upload protocol for media (e.g. \"media\", \"multipart\").", +"location": "query", +"type": "string" +}, +"upload_protocol": { +"description": "Upload protocol for media (e.g. \"raw\", \"multipart\").", +"location": "query", +"type": "string" +} +}, +"protocol": "rest", +"resources": { +"projects": { +"methods": { +"provision": { +"description": "Provisions the project resource. During the process, related systems will get prepared and initialized. Caller must read the [Terms for data use](https://cloud.google.com/retail/data-use-terms), and optionally specify in request to provide consent to that service terms.", +"flatPath": "v1beta/projects/{projectsId}:provision", +"httpMethod": "POST", +"id": "discoveryengine.projects.provision", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. Full resource name of a Project, such as `projects/{project_id_or_number}`.", +"location": "path", +"pattern": "^projects/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1beta/{+name}:provision", +"request": { +"$ref": "GoogleCloudDiscoveryengineV1betaProvisionProjectRequest" +}, +"response": { +"$ref": "GoogleLongrunningOperation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +} +}, +"resources": { +"locations": { +"methods": { +"generateGroundedContent": { +"description": "Generates grounded content.", +"flatPath": "v1beta/projects/{projectsId}/locations/{locationsId}:generateGroundedContent", +"httpMethod": "POST", +"id": "discoveryengine.projects.locations.generateGroundedContent", +"parameterOrder": [ +"location" +], +"parameters": { +"location": { +"description": "Required. Location resource. Format: `projects/{project}/locations/{location}`.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1beta/{+location}:generateGroundedContent", +"request": { +"$ref": "GoogleCloudDiscoveryengineV1betaGenerateGroundedContentRequest" +}, +"response": { +"$ref": "GoogleCloudDiscoveryengineV1betaGenerateGroundedContentResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +} +}, +"resources": { +"collections": { +"resources": { +"dataConnector": { +"resources": { +"operations": { +"methods": { +"get": { +"description": "Gets the latest state of a long-running operation. Clients can use this method to poll the operation result at intervals as recommended by the API service.", +"flatPath": "v1beta/projects/{projectsId}/locations/{locationsId}/collections/{collectionsId}/dataConnector/operations/{operationsId}", +"httpMethod": "GET", +"id": "discoveryengine.projects.locations.collections.dataConnector.operations.get", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "The name of the operation resource.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/collections/[^/]+/dataConnector/operations/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1beta/{+name}", +"response": { +"$ref": "GoogleLongrunningOperation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"list": { +"description": "Lists operations that match the specified filter in the request. If the server doesn't support this method, it returns `UNIMPLEMENTED`.", +"flatPath": "v1beta/projects/{projectsId}/locations/{locationsId}/collections/{collectionsId}/dataConnector/operations", +"httpMethod": "GET", +"id": "discoveryengine.projects.locations.collections.dataConnector.operations.list", +"parameterOrder": [ +"name" +], +"parameters": { +"filter": { +"description": "The standard list filter.", +"location": "query", +"type": "string" +}, +"name": { +"description": "The name of the operation's parent resource.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/collections/[^/]+/dataConnector$", +"required": true, +"type": "string" +}, +"pageSize": { +"description": "The standard list page size.", +"format": "int32", +"location": "query", +"type": "integer" +}, +"pageToken": { +"description": "The standard list page token.", +"location": "query", +"type": "string" +} +}, +"path": "v1beta/{+name}/operations", +"response": { +"$ref": "GoogleLongrunningListOperationsResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +} +} +} +} +}, +"dataStores": { +"methods": { +"completeQuery": { +"description": "Completes the specified user input with keyword suggestions.", +"flatPath": "v1beta/projects/{projectsId}/locations/{locationsId}/collections/{collectionsId}/dataStores/{dataStoresId}:completeQuery", +"httpMethod": "GET", +"id": "discoveryengine.projects.locations.collections.dataStores.completeQuery", +"parameterOrder": [ +"dataStore" +], +"parameters": { +"dataStore": { +"description": "Required. The parent data store resource name for which the completion is performed, such as `projects/*/locations/global/collections/default_collection/dataStores/default_data_store`.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/collections/[^/]+/dataStores/[^/]+$", +"required": true, +"type": "string" +}, +"includeTailSuggestions": { +"description": "Indicates if tail suggestions should be returned if there are no suggestions that match the full query. Even if set to true, if there are suggestions that match the full query, those are returned and no tail suggestions are returned.", +"location": "query", +"type": "boolean" +}, +"query": { +"description": "Required. The typeahead input used to fetch suggestions. Maximum length is 128 characters.", +"location": "query", +"type": "string" +}, +"queryModel": { +"description": "Specifies the autocomplete data model. This overrides any model specified in the Configuration > Autocomplete section of the Cloud console. Currently supported values: * `document` - Using suggestions generated from user-imported documents. * `search-history` - Using suggestions generated from the past history of SearchService.Search API calls. Do not use it when there is no traffic for Search API. * `user-event` - Using suggestions generated from user-imported search events. * `document-completable` - Using suggestions taken directly from user-imported document fields marked as completable. Default values: * `document` is the default model for regular dataStores. * `search-history` is the default model for site search dataStores.", +"location": "query", +"type": "string" +}, +"userPseudoId": { +"description": "A unique identifier for tracking visitors. For example, this could be implemented with an HTTP cookie, which should be able to uniquely identify a visitor on a single device. This unique identifier should not change if the visitor logs in or out of the website. This field should NOT have a fixed value such as `unknown_visitor`. This should be the same identifier as UserEvent.user_pseudo_id and SearchRequest.user_pseudo_id. The field must be a UTF-8 encoded string with a length limit of 128 characters. Otherwise, an `INVALID_ARGUMENT` error is returned.", +"location": "query", +"type": "string" +} +}, +"path": "v1beta/{+dataStore}:completeQuery", +"response": { +"$ref": "GoogleCloudDiscoveryengineV1betaCompleteQueryResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"create": { +"description": "Creates a DataStore. DataStore is for storing Documents. To serve these documents for Search, or Recommendation use case, an Engine needs to be created separately.", +"flatPath": "v1beta/projects/{projectsId}/locations/{locationsId}/collections/{collectionsId}/dataStores", +"httpMethod": "POST", +"id": "discoveryengine.projects.locations.collections.dataStores.create", +"parameterOrder": [ +"parent" +], +"parameters": { +"cmekConfigName": { +"description": "Resource name of the CmekConfig to use for protecting this DataStore.", +"location": "query", +"type": "string" +}, +"createAdvancedSiteSearch": { +"description": "A boolean flag indicating whether user want to directly create an advanced data store for site search. If the data store is not configured as site search (GENERIC vertical and PUBLIC_WEBSITE content_config), this flag will be ignored.", +"location": "query", +"type": "boolean" +}, +"dataStoreId": { +"description": "Required. The ID to use for the DataStore, which will become the final component of the DataStore's resource name. This field must conform to [RFC-1034](https://tools.ietf.org/html/rfc1034) standard with a length limit of 63 characters. Otherwise, an INVALID_ARGUMENT error is returned.", +"location": "query", +"type": "string" +}, +"disableCmek": { +"description": "DataStore without CMEK protections. If a default CmekConfig is set for the project, setting this field will override the default CmekConfig as well.", +"location": "query", +"type": "boolean" +}, +"parent": { +"description": "Required. The parent resource name, such as `projects/{project}/locations/{location}/collections/{collection}`.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/collections/[^/]+$", +"required": true, +"type": "string" +}, +"skipDefaultSchemaCreation": { +"description": "A boolean flag indicating whether to skip the default schema creation for the data store. Only enable this flag if you are certain that the default schema is incompatible with your use case. If set to true, you must manually create a schema for the data store before any documents can be ingested. This flag cannot be specified if `data_store.starting_schema` is specified.", +"location": "query", +"type": "boolean" +} +}, +"path": "v1beta/{+parent}/dataStores", +"request": { +"$ref": "GoogleCloudDiscoveryengineV1betaDataStore" +}, +"response": { +"$ref": "GoogleLongrunningOperation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"delete": { +"description": "Deletes a DataStore.", +"flatPath": "v1beta/projects/{projectsId}/locations/{locationsId}/collections/{collectionsId}/dataStores/{dataStoresId}", +"httpMethod": "DELETE", +"id": "discoveryengine.projects.locations.collections.dataStores.delete", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. Full resource name of DataStore, such as `projects/{project}/locations/{location}/collections/{collection_id}/dataStores/{data_store_id}`. If the caller does not have permission to delete the DataStore, regardless of whether or not it exists, a PERMISSION_DENIED error is returned. If the DataStore to delete does not exist, a NOT_FOUND error is returned.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/collections/[^/]+/dataStores/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1beta/{+name}", +"response": { +"$ref": "GoogleLongrunningOperation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"get": { +"description": "Gets a DataStore.", +"flatPath": "v1beta/projects/{projectsId}/locations/{locationsId}/collections/{collectionsId}/dataStores/{dataStoresId}", +"httpMethod": "GET", +"id": "discoveryengine.projects.locations.collections.dataStores.get", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. Full resource name of DataStore, such as `projects/{project}/locations/{location}/collections/{collection_id}/dataStores/{data_store_id}`. If the caller does not have permission to access the DataStore, regardless of whether or not it exists, a PERMISSION_DENIED error is returned. If the requested DataStore does not exist, a NOT_FOUND error is returned.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/collections/[^/]+/dataStores/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1beta/{+name}", +"response": { +"$ref": "GoogleCloudDiscoveryengineV1betaDataStore" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"getSiteSearchEngine": { +"description": "Gets the SiteSearchEngine.", +"flatPath": "v1beta/projects/{projectsId}/locations/{locationsId}/collections/{collectionsId}/dataStores/{dataStoresId}/siteSearchEngine", +"httpMethod": "GET", +"id": "discoveryengine.projects.locations.collections.dataStores.getSiteSearchEngine", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. Resource name of SiteSearchEngine, such as `projects/{project}/locations/{location}/collections/{collection}/dataStores/{data_store}/siteSearchEngine`. If the caller does not have permission to access the [SiteSearchEngine], regardless of whether or not it exists, a PERMISSION_DENIED error is returned.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/collections/[^/]+/dataStores/[^/]+/siteSearchEngine$", +"required": true, +"type": "string" +} +}, +"path": "v1beta/{+name}", +"response": { +"$ref": "GoogleCloudDiscoveryengineV1betaSiteSearchEngine" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"list": { +"description": "Lists all the DataStores associated with the project.", +"flatPath": "v1beta/projects/{projectsId}/locations/{locationsId}/collections/{collectionsId}/dataStores", +"httpMethod": "GET", +"id": "discoveryengine.projects.locations.collections.dataStores.list", +"parameterOrder": [ +"parent" +], +"parameters": { +"filter": { +"description": "Filter by solution type . For example: `filter = 'solution_type:SOLUTION_TYPE_SEARCH'`", +"location": "query", +"type": "string" +}, +"pageSize": { +"description": "Maximum number of DataStores to return. If unspecified, defaults to 10. The maximum allowed value is 50. Values above 50 will be coerced to 50. If this field is negative, an INVALID_ARGUMENT is returned.", +"format": "int32", +"location": "query", +"type": "integer" +}, +"pageToken": { +"description": "A page token ListDataStoresResponse.next_page_token, received from a previous DataStoreService.ListDataStores call. Provide this to retrieve the subsequent page. When paginating, all other parameters provided to DataStoreService.ListDataStores must match the call that provided the page token. Otherwise, an INVALID_ARGUMENT error is returned.", +"location": "query", +"type": "string" +}, +"parent": { +"description": "Required. The parent branch resource name, such as `projects/{project}/locations/{location}/collections/{collection_id}`. If the caller does not have permission to list DataStores under this location, regardless of whether or not this data store exists, a PERMISSION_DENIED error is returned.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/collections/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1beta/{+parent}/dataStores", +"response": { +"$ref": "GoogleCloudDiscoveryengineV1betaListDataStoresResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"patch": { +"description": "Updates a DataStore", +"flatPath": "v1beta/projects/{projectsId}/locations/{locationsId}/collections/{collectionsId}/dataStores/{dataStoresId}", +"httpMethod": "PATCH", +"id": "discoveryengine.projects.locations.collections.dataStores.patch", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Immutable. The full resource name of the data store. Format: `projects/{project}/locations/{location}/collections/{collection_id}/dataStores/{data_store_id}`. This field must be a UTF-8 encoded string with a length limit of 1024 characters.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/collections/[^/]+/dataStores/[^/]+$", +"required": true, +"type": "string" +}, +"updateMask": { +"description": "Indicates which fields in the provided DataStore to update. If an unsupported or unknown field is provided, an INVALID_ARGUMENT error is returned.", +"format": "google-fieldmask", +"location": "query", +"type": "string" +} +}, +"path": "v1beta/{+name}", +"request": { +"$ref": "GoogleCloudDiscoveryengineV1betaDataStore" +}, +"response": { +"$ref": "GoogleCloudDiscoveryengineV1betaDataStore" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"trainCustomModel": { +"description": "Trains a custom model.", +"flatPath": "v1beta/projects/{projectsId}/locations/{locationsId}/collections/{collectionsId}/dataStores/{dataStoresId}:trainCustomModel", +"httpMethod": "POST", +"id": "discoveryengine.projects.locations.collections.dataStores.trainCustomModel", +"parameterOrder": [ +"dataStore" +], +"parameters": { +"dataStore": { +"description": "Required. The resource name of the Data Store, such as `projects/*/locations/global/collections/default_collection/dataStores/default_data_store`. This field is used to identify the data store where to train the models.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/collections/[^/]+/dataStores/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1beta/{+dataStore}:trainCustomModel", +"request": { +"$ref": "GoogleCloudDiscoveryengineV1betaTrainCustomModelRequest" +}, +"response": { +"$ref": "GoogleLongrunningOperation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +} +}, +"resources": { +"branches": { +"methods": { +"batchGetDocumentsMetadata": { +"description": "Gets index freshness metadata for Documents. Supported for website search only.", +"flatPath": "v1beta/projects/{projectsId}/locations/{locationsId}/collections/{collectionsId}/dataStores/{dataStoresId}/branches/{branchesId}/batchGetDocumentsMetadata", +"httpMethod": "GET", +"id": "discoveryengine.projects.locations.collections.dataStores.branches.batchGetDocumentsMetadata", +"parameterOrder": [ +"parent" +], +"parameters": { +"matcher.fhirMatcher.fhirResources": { +"description": "Required. The FHIR resources to match by. Format: projects/{project}/locations/{location}/datasets/{dataset}/fhirStores/{fhir_store}/fhir/{resource_type}/{fhir_resource_id}", +"location": "query", +"repeated": true, +"type": "string" +}, +"matcher.urisMatcher.uris": { +"description": "The exact URIs to match by.", +"location": "query", +"repeated": true, +"type": "string" +}, +"parent": { +"description": "Required. The parent branch resource name, such as `projects/{project}/locations/{location}/collections/{collection}/dataStores/{data_store}/branches/{branch}`.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/collections/[^/]+/dataStores/[^/]+/branches/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1beta/{+parent}/batchGetDocumentsMetadata", +"response": { +"$ref": "GoogleCloudDiscoveryengineV1betaBatchGetDocumentsMetadataResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +} +}, +"resources": { +"documents": { +"methods": { +"create": { +"description": "Creates a Document.", +"flatPath": "v1beta/projects/{projectsId}/locations/{locationsId}/collections/{collectionsId}/dataStores/{dataStoresId}/branches/{branchesId}/documents", +"httpMethod": "POST", +"id": "discoveryengine.projects.locations.collections.dataStores.branches.documents.create", +"parameterOrder": [ +"parent" +], +"parameters": { +"documentId": { +"description": "Required. The ID to use for the Document, which becomes the final component of the Document.name. If the caller does not have permission to create the Document, regardless of whether or not it exists, a `PERMISSION_DENIED` error is returned. This field must be unique among all Documents with the same parent. Otherwise, an `ALREADY_EXISTS` error is returned. This field must conform to [RFC-1034](https://tools.ietf.org/html/rfc1034) standard with a length limit of 128 characters. Otherwise, an `INVALID_ARGUMENT` error is returned.", +"location": "query", +"type": "string" +}, +"parent": { +"description": "Required. The parent resource name, such as `projects/{project}/locations/{location}/collections/{collection}/dataStores/{data_store}/branches/{branch}`.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/collections/[^/]+/dataStores/[^/]+/branches/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1beta/{+parent}/documents", +"request": { +"$ref": "GoogleCloudDiscoveryengineV1betaDocument" +}, +"response": { +"$ref": "GoogleCloudDiscoveryengineV1betaDocument" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"delete": { +"description": "Deletes a Document.", +"flatPath": "v1beta/projects/{projectsId}/locations/{locationsId}/collections/{collectionsId}/dataStores/{dataStoresId}/branches/{branchesId}/documents/{documentsId}", +"httpMethod": "DELETE", +"id": "discoveryengine.projects.locations.collections.dataStores.branches.documents.delete", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. Full resource name of Document, such as `projects/{project}/locations/{location}/collections/{collection}/dataStores/{data_store}/branches/{branch}/documents/{document}`. If the caller does not have permission to delete the Document, regardless of whether or not it exists, a `PERMISSION_DENIED` error is returned. If the Document to delete does not exist, a `NOT_FOUND` error is returned.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/collections/[^/]+/dataStores/[^/]+/branches/[^/]+/documents/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1beta/{+name}", +"response": { +"$ref": "GoogleProtobufEmpty" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"get": { +"description": "Gets a Document.", +"flatPath": "v1beta/projects/{projectsId}/locations/{locationsId}/collections/{collectionsId}/dataStores/{dataStoresId}/branches/{branchesId}/documents/{documentsId}", +"httpMethod": "GET", +"id": "discoveryengine.projects.locations.collections.dataStores.branches.documents.get", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. Full resource name of Document, such as `projects/{project}/locations/{location}/collections/{collection}/dataStores/{data_store}/branches/{branch}/documents/{document}`. If the caller does not have permission to access the Document, regardless of whether or not it exists, a `PERMISSION_DENIED` error is returned. If the requested Document does not exist, a `NOT_FOUND` error is returned.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/collections/[^/]+/dataStores/[^/]+/branches/[^/]+/documents/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1beta/{+name}", +"response": { +"$ref": "GoogleCloudDiscoveryengineV1betaDocument" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"import": { +"description": "Bulk import of multiple Documents. Request processing may be synchronous. Non-existing items are created. Note: It is possible for a subset of the Documents to be successfully updated.", +"flatPath": "v1beta/projects/{projectsId}/locations/{locationsId}/collections/{collectionsId}/dataStores/{dataStoresId}/branches/{branchesId}/documents:import", +"httpMethod": "POST", +"id": "discoveryengine.projects.locations.collections.dataStores.branches.documents.import", +"parameterOrder": [ +"parent" +], +"parameters": { +"parent": { +"description": "Required. The parent branch resource name, such as `projects/{project}/locations/{location}/collections/{collection}/dataStores/{data_store}/branches/{branch}`. Requires create/update permission.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/collections/[^/]+/dataStores/[^/]+/branches/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1beta/{+parent}/documents:import", +"request": { +"$ref": "GoogleCloudDiscoveryengineV1betaImportDocumentsRequest" +}, +"response": { +"$ref": "GoogleLongrunningOperation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"list": { +"description": "Gets a list of Documents.", +"flatPath": "v1beta/projects/{projectsId}/locations/{locationsId}/collections/{collectionsId}/dataStores/{dataStoresId}/branches/{branchesId}/documents", +"httpMethod": "GET", +"id": "discoveryengine.projects.locations.collections.dataStores.branches.documents.list", +"parameterOrder": [ +"parent" +], +"parameters": { +"pageSize": { +"description": "Maximum number of Documents to return. If unspecified, defaults to 100. The maximum allowed value is 1000. Values above 1000 are set to 1000. If this field is negative, an `INVALID_ARGUMENT` error is returned.", +"format": "int32", +"location": "query", +"type": "integer" +}, +"pageToken": { +"description": "A page token ListDocumentsResponse.next_page_token, received from a previous DocumentService.ListDocuments call. Provide this to retrieve the subsequent page. When paginating, all other parameters provided to DocumentService.ListDocuments must match the call that provided the page token. Otherwise, an `INVALID_ARGUMENT` error is returned.", +"location": "query", +"type": "string" +}, +"parent": { +"description": "Required. The parent branch resource name, such as `projects/{project}/locations/{location}/collections/{collection}/dataStores/{data_store}/branches/{branch}`. Use `default_branch` as the branch ID, to list documents under the default branch. If the caller does not have permission to list Documents under this branch, regardless of whether or not this branch exists, a `PERMISSION_DENIED` error is returned.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/collections/[^/]+/dataStores/[^/]+/branches/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1beta/{+parent}/documents", +"response": { +"$ref": "GoogleCloudDiscoveryengineV1betaListDocumentsResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"patch": { +"description": "Updates a Document.", +"flatPath": "v1beta/projects/{projectsId}/locations/{locationsId}/collections/{collectionsId}/dataStores/{dataStoresId}/branches/{branchesId}/documents/{documentsId}", +"httpMethod": "PATCH", +"id": "discoveryengine.projects.locations.collections.dataStores.branches.documents.patch", +"parameterOrder": [ +"name" +], +"parameters": { +"allowMissing": { +"description": "If set to `true` and the Document is not found, a new Document is be created.", +"location": "query", +"type": "boolean" +}, +"name": { +"description": "Immutable. The full resource name of the document. Format: `projects/{project}/locations/{location}/collections/{collection}/dataStores/{data_store}/branches/{branch}/documents/{document_id}`. This field must be a UTF-8 encoded string with a length limit of 1024 characters.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/collections/[^/]+/dataStores/[^/]+/branches/[^/]+/documents/[^/]+$", +"required": true, +"type": "string" +}, +"updateMask": { +"description": "Indicates which fields in the provided imported 'document' to update. If not set, by default updates all fields.", +"format": "google-fieldmask", +"location": "query", +"type": "string" +} +}, +"path": "v1beta/{+name}", +"request": { +"$ref": "GoogleCloudDiscoveryengineV1betaDocument" +}, +"response": { +"$ref": "GoogleCloudDiscoveryengineV1betaDocument" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"purge": { +"description": "Permanently deletes all selected Documents in a branch. This process is asynchronous. Depending on the number of Documents to be deleted, this operation can take hours to complete. Before the delete operation completes, some Documents might still be returned by DocumentService.GetDocument or DocumentService.ListDocuments. To get a list of the Documents to be deleted, set PurgeDocumentsRequest.force to false.", +"flatPath": "v1beta/projects/{projectsId}/locations/{locationsId}/collections/{collectionsId}/dataStores/{dataStoresId}/branches/{branchesId}/documents:purge", +"httpMethod": "POST", +"id": "discoveryengine.projects.locations.collections.dataStores.branches.documents.purge", +"parameterOrder": [ +"parent" +], +"parameters": { +"parent": { +"description": "Required. The parent resource name, such as `projects/{project}/locations/{location}/collections/{collection}/dataStores/{data_store}/branches/{branch}`.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/collections/[^/]+/dataStores/[^/]+/branches/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1beta/{+parent}/documents:purge", +"request": { +"$ref": "GoogleCloudDiscoveryengineV1betaPurgeDocumentsRequest" +}, +"response": { +"$ref": "GoogleLongrunningOperation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +} +} +}, +"operations": { +"methods": { +"cancel": { +"description": "Starts asynchronous cancellation on a long-running operation. The server makes a best effort to cancel the operation, but success is not guaranteed. If the server doesn't support this method, it returns `google.rpc.Code.UNIMPLEMENTED`. Clients can use Operations.GetOperation or other methods to check whether the cancellation succeeded or whether the operation completed despite cancellation. On successful cancellation, the operation is not deleted; instead, it becomes an operation with an Operation.error value with a google.rpc.Status.code of `1`, corresponding to `Code.CANCELLED`.", +"flatPath": "v1beta/projects/{projectsId}/locations/{locationsId}/collections/{collectionsId}/dataStores/{dataStoresId}/branches/{branchesId}/operations/{operationsId}:cancel", +"httpMethod": "POST", +"id": "discoveryengine.projects.locations.collections.dataStores.branches.operations.cancel", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "The name of the operation resource to be cancelled.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/collections/[^/]+/dataStores/[^/]+/branches/[^/]+/operations/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1beta/{+name}:cancel", +"request": { +"$ref": "GoogleLongrunningCancelOperationRequest" +}, +"response": { +"$ref": "GoogleProtobufEmpty" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"get": { +"description": "Gets the latest state of a long-running operation. Clients can use this method to poll the operation result at intervals as recommended by the API service.", +"flatPath": "v1beta/projects/{projectsId}/locations/{locationsId}/collections/{collectionsId}/dataStores/{dataStoresId}/branches/{branchesId}/operations/{operationsId}", +"httpMethod": "GET", +"id": "discoveryengine.projects.locations.collections.dataStores.branches.operations.get", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "The name of the operation resource.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/collections/[^/]+/dataStores/[^/]+/branches/[^/]+/operations/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1beta/{+name}", +"response": { +"$ref": "GoogleLongrunningOperation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"list": { +"description": "Lists operations that match the specified filter in the request. If the server doesn't support this method, it returns `UNIMPLEMENTED`.", +"flatPath": "v1beta/projects/{projectsId}/locations/{locationsId}/collections/{collectionsId}/dataStores/{dataStoresId}/branches/{branchesId}/operations", +"httpMethod": "GET", +"id": "discoveryengine.projects.locations.collections.dataStores.branches.operations.list", +"parameterOrder": [ +"name" +], +"parameters": { +"filter": { +"description": "The standard list filter.", +"location": "query", +"type": "string" +}, +"name": { +"description": "The name of the operation's parent resource.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/collections/[^/]+/dataStores/[^/]+/branches/[^/]+$", +"required": true, +"type": "string" +}, +"pageSize": { +"description": "The standard list page size.", +"format": "int32", +"location": "query", +"type": "integer" +}, +"pageToken": { +"description": "The standard list page token.", +"location": "query", +"type": "string" +} +}, +"path": "v1beta/{+name}/operations", +"response": { +"$ref": "GoogleLongrunningListOperationsResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +} +} +} +} +}, +"completionConfig": { +"methods": { +"completeQuery": { +"description": "Completes the user input with advanced keyword suggestions.", +"flatPath": "v1beta/projects/{projectsId}/locations/{locationsId}/collections/{collectionsId}/dataStores/{dataStoresId}/completionConfig:completeQuery", +"httpMethod": "POST", +"id": "discoveryengine.projects.locations.collections.dataStores.completionConfig.completeQuery", +"parameterOrder": [ +"completionConfig" +], +"parameters": { +"completionConfig": { +"description": "Required. The completion_config of the parent dataStore or engine resource name for which the completion is performed, such as `projects/*/locations/global/collections/default_collection/dataStores/*/completionConfig` `projects/*/locations/global/collections/default_collection/engines/*/completionConfig`.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/collections/[^/]+/dataStores/[^/]+/completionConfig$", +"required": true, +"type": "string" +} +}, +"path": "v1beta/{+completionConfig}:completeQuery", +"request": { +"$ref": "GoogleCloudDiscoveryengineV1betaAdvancedCompleteQueryRequest" +}, +"response": { +"$ref": "GoogleCloudDiscoveryengineV1betaAdvancedCompleteQueryResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +} +} +}, +"completionSuggestions": { +"methods": { +"import": { +"description": "Imports CompletionSuggestions for a DataStore.", +"flatPath": "v1beta/projects/{projectsId}/locations/{locationsId}/collections/{collectionsId}/dataStores/{dataStoresId}/completionSuggestions:import", +"httpMethod": "POST", +"id": "discoveryengine.projects.locations.collections.dataStores.completionSuggestions.import", +"parameterOrder": [ +"parent" +], +"parameters": { +"parent": { +"description": "Required. The parent data store resource name for which to import customer autocomplete suggestions. Follows pattern `projects/*/locations/*/collections/*/dataStores/*`", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/collections/[^/]+/dataStores/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1beta/{+parent}/completionSuggestions:import", +"request": { +"$ref": "GoogleCloudDiscoveryengineV1betaImportCompletionSuggestionsRequest" +}, +"response": { +"$ref": "GoogleLongrunningOperation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"purge": { +"description": "Permanently deletes all CompletionSuggestions for a DataStore.", +"flatPath": "v1beta/projects/{projectsId}/locations/{locationsId}/collections/{collectionsId}/dataStores/{dataStoresId}/completionSuggestions:purge", +"httpMethod": "POST", +"id": "discoveryengine.projects.locations.collections.dataStores.completionSuggestions.purge", +"parameterOrder": [ +"parent" +], +"parameters": { +"parent": { +"description": "Required. The parent data store resource name for which to purge completion suggestions. Follows pattern projects/*/locations/*/collections/*/dataStores/*.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/collections/[^/]+/dataStores/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1beta/{+parent}/completionSuggestions:purge", +"request": { +"$ref": "GoogleCloudDiscoveryengineV1betaPurgeCompletionSuggestionsRequest" +}, +"response": { +"$ref": "GoogleLongrunningOperation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +} +} +}, +"controls": { +"methods": { +"create": { +"description": "Creates a Control. By default 1000 controls are allowed for a data store. A request can be submitted to adjust this limit. If the Control to create already exists, an ALREADY_EXISTS error is returned.", +"flatPath": "v1beta/projects/{projectsId}/locations/{locationsId}/collections/{collectionsId}/dataStores/{dataStoresId}/controls", +"httpMethod": "POST", +"id": "discoveryengine.projects.locations.collections.dataStores.controls.create", +"parameterOrder": [ +"parent" +], +"parameters": { +"controlId": { +"description": "Required. The ID to use for the Control, which will become the final component of the Control's resource name. This value must be within 1-63 characters. Valid characters are /a-z-_/.", +"location": "query", +"type": "string" +}, +"parent": { +"description": "Required. Full resource name of parent data store. Format: `projects/{project}/locations/{location}/collections/{collection_id}/dataStores/{data_store_id}` or `projects/{project}/locations/{location}/collections/{collection_id}/engines/{engine_id}`.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/collections/[^/]+/dataStores/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1beta/{+parent}/controls", +"request": { +"$ref": "GoogleCloudDiscoveryengineV1betaControl" +}, +"response": { +"$ref": "GoogleCloudDiscoveryengineV1betaControl" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"delete": { +"description": "Deletes a Control. If the Control to delete does not exist, a NOT_FOUND error is returned.", +"flatPath": "v1beta/projects/{projectsId}/locations/{locationsId}/collections/{collectionsId}/dataStores/{dataStoresId}/controls/{controlsId}", +"httpMethod": "DELETE", +"id": "discoveryengine.projects.locations.collections.dataStores.controls.delete", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. The resource name of the Control to delete. Format: `projects/{project}/locations/{location}/collections/{collection_id}/dataStores/{data_store_id}/controls/{control_id}`", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/collections/[^/]+/dataStores/[^/]+/controls/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1beta/{+name}", +"response": { +"$ref": "GoogleProtobufEmpty" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"get": { +"description": "Gets a Control.", +"flatPath": "v1beta/projects/{projectsId}/locations/{locationsId}/collections/{collectionsId}/dataStores/{dataStoresId}/controls/{controlsId}", +"httpMethod": "GET", +"id": "discoveryengine.projects.locations.collections.dataStores.controls.get", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. The resource name of the Control to get. Format: `projects/{project}/locations/{location}/collections/{collection_id}/dataStores/{data_store_id}/controls/{control_id}`", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/collections/[^/]+/dataStores/[^/]+/controls/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1beta/{+name}", +"response": { +"$ref": "GoogleCloudDiscoveryengineV1betaControl" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"list": { +"description": "Lists all Controls by their parent DataStore.", +"flatPath": "v1beta/projects/{projectsId}/locations/{locationsId}/collections/{collectionsId}/dataStores/{dataStoresId}/controls", +"httpMethod": "GET", +"id": "discoveryengine.projects.locations.collections.dataStores.controls.list", +"parameterOrder": [ +"parent" +], +"parameters": { +"filter": { +"description": "Optional. A filter to apply on the list results. Supported features: * List all the products under the parent branch if filter is unset. Currently this field is unsupported.", +"location": "query", +"type": "string" +}, +"pageSize": { +"description": "Optional. Maximum number of results to return. If unspecified, defaults to 50. Max allowed value is 1000.", +"format": "int32", +"location": "query", +"type": "integer" +}, +"pageToken": { +"description": "Optional. A page token, received from a previous `ListControls` call. Provide this to retrieve the subsequent page.", +"location": "query", +"type": "string" +}, +"parent": { +"description": "Required. The data store resource name. Format: `projects/{project}/locations/{location}/collections/{collection_id}/dataStores/{data_store_id}` or `projects/{project}/locations/{location}/collections/{collection_id}/engines/{engine_id}`.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/collections/[^/]+/dataStores/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1beta/{+parent}/controls", +"response": { +"$ref": "GoogleCloudDiscoveryengineV1betaListControlsResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"patch": { +"description": "Updates a Control. Control action type cannot be changed. If the Control to update does not exist, a NOT_FOUND error is returned.", +"flatPath": "v1beta/projects/{projectsId}/locations/{locationsId}/collections/{collectionsId}/dataStores/{dataStoresId}/controls/{controlsId}", +"httpMethod": "PATCH", +"id": "discoveryengine.projects.locations.collections.dataStores.controls.patch", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Immutable. Fully qualified name `projects/*/locations/global/dataStore/*/controls/*`", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/collections/[^/]+/dataStores/[^/]+/controls/[^/]+$", +"required": true, +"type": "string" +}, +"updateMask": { +"description": "Optional. Indicates which fields in the provided Control to update. The following are NOT supported: * Control.name * Control.solution_type If not set or empty, all supported fields are updated.", +"format": "google-fieldmask", +"location": "query", +"type": "string" +} +}, +"path": "v1beta/{+name}", +"request": { +"$ref": "GoogleCloudDiscoveryengineV1betaControl" +}, +"response": { +"$ref": "GoogleCloudDiscoveryengineV1betaControl" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +} +} +}, +"conversations": { +"methods": { +"converse": { +"description": "Converses a conversation.", +"flatPath": "v1beta/projects/{projectsId}/locations/{locationsId}/collections/{collectionsId}/dataStores/{dataStoresId}/conversations/{conversationsId}:converse", +"httpMethod": "POST", +"id": "discoveryengine.projects.locations.collections.dataStores.conversations.converse", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. The resource name of the Conversation to get. Format: `projects/{project}/locations/{location}/collections/{collection}/dataStores/{data_store_id}/conversations/{conversation_id}`. Use `projects/{project}/locations/{location}/collections/{collection}/dataStores/{data_store_id}/conversations/-` to activate auto session mode, which automatically creates a new conversation inside a ConverseConversation session.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/collections/[^/]+/dataStores/[^/]+/conversations/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1beta/{+name}:converse", +"request": { +"$ref": "GoogleCloudDiscoveryengineV1betaConverseConversationRequest" +}, +"response": { +"$ref": "GoogleCloudDiscoveryengineV1betaConverseConversationResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"create": { +"description": "Creates a Conversation. If the Conversation to create already exists, an ALREADY_EXISTS error is returned.", +"flatPath": "v1beta/projects/{projectsId}/locations/{locationsId}/collections/{collectionsId}/dataStores/{dataStoresId}/conversations", +"httpMethod": "POST", +"id": "discoveryengine.projects.locations.collections.dataStores.conversations.create", +"parameterOrder": [ +"parent" +], +"parameters": { +"parent": { +"description": "Required. Full resource name of parent data store. Format: `projects/{project}/locations/{location}/collections/{collection}/dataStores/{data_store_id}`", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/collections/[^/]+/dataStores/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1beta/{+parent}/conversations", +"request": { +"$ref": "GoogleCloudDiscoveryengineV1betaConversation" +}, +"response": { +"$ref": "GoogleCloudDiscoveryengineV1betaConversation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"delete": { +"description": "Deletes a Conversation. If the Conversation to delete does not exist, a NOT_FOUND error is returned.", +"flatPath": "v1beta/projects/{projectsId}/locations/{locationsId}/collections/{collectionsId}/dataStores/{dataStoresId}/conversations/{conversationsId}", +"httpMethod": "DELETE", +"id": "discoveryengine.projects.locations.collections.dataStores.conversations.delete", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. The resource name of the Conversation to delete. Format: `projects/{project}/locations/{location}/collections/{collection}/dataStores/{data_store_id}/conversations/{conversation_id}`", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/collections/[^/]+/dataStores/[^/]+/conversations/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1beta/{+name}", +"response": { +"$ref": "GoogleProtobufEmpty" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"get": { +"description": "Gets a Conversation.", +"flatPath": "v1beta/projects/{projectsId}/locations/{locationsId}/collections/{collectionsId}/dataStores/{dataStoresId}/conversations/{conversationsId}", +"httpMethod": "GET", +"id": "discoveryengine.projects.locations.collections.dataStores.conversations.get", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. The resource name of the Conversation to get. Format: `projects/{project}/locations/{location}/collections/{collection}/dataStores/{data_store_id}/conversations/{conversation_id}`", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/collections/[^/]+/dataStores/[^/]+/conversations/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1beta/{+name}", +"response": { +"$ref": "GoogleCloudDiscoveryengineV1betaConversation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"list": { +"description": "Lists all Conversations by their parent DataStore.", +"flatPath": "v1beta/projects/{projectsId}/locations/{locationsId}/collections/{collectionsId}/dataStores/{dataStoresId}/conversations", +"httpMethod": "GET", +"id": "discoveryengine.projects.locations.collections.dataStores.conversations.list", +"parameterOrder": [ +"parent" +], +"parameters": { +"filter": { +"description": "A filter to apply on the list results. The supported features are: user_pseudo_id, state. Example: \"user_pseudo_id = some_id\"", +"location": "query", +"type": "string" +}, +"orderBy": { +"description": "A comma-separated list of fields to order by, sorted in ascending order. Use \"desc\" after a field name for descending. Supported fields: * `update_time` * `create_time` * `conversation_name` Example: \"update_time desc\" \"create_time\"", +"location": "query", +"type": "string" +}, +"pageSize": { +"description": "Maximum number of results to return. If unspecified, defaults to 50. Max allowed value is 1000.", +"format": "int32", +"location": "query", +"type": "integer" +}, +"pageToken": { +"description": "A page token, received from a previous `ListConversations` call. Provide this to retrieve the subsequent page.", +"location": "query", +"type": "string" +}, +"parent": { +"description": "Required. The data store resource name. Format: `projects/{project}/locations/{location}/collections/{collection}/dataStores/{data_store_id}`", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/collections/[^/]+/dataStores/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1beta/{+parent}/conversations", +"response": { +"$ref": "GoogleCloudDiscoveryengineV1betaListConversationsResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"patch": { +"description": "Updates a Conversation. Conversation action type cannot be changed. If the Conversation to update does not exist, a NOT_FOUND error is returned.", +"flatPath": "v1beta/projects/{projectsId}/locations/{locationsId}/collections/{collectionsId}/dataStores/{dataStoresId}/conversations/{conversationsId}", +"httpMethod": "PATCH", +"id": "discoveryengine.projects.locations.collections.dataStores.conversations.patch", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Immutable. Fully qualified name `projects/{project}/locations/global/collections/{collection}/dataStore/*/conversations/*` or `projects/{project}/locations/global/collections/{collection}/engines/*/conversations/*`.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/collections/[^/]+/dataStores/[^/]+/conversations/[^/]+$", +"required": true, +"type": "string" +}, +"updateMask": { +"description": "Indicates which fields in the provided Conversation to update. The following are NOT supported: * Conversation.name If not set or empty, all supported fields are updated.", +"format": "google-fieldmask", +"location": "query", +"type": "string" +} +}, +"path": "v1beta/{+name}", +"request": { +"$ref": "GoogleCloudDiscoveryengineV1betaConversation" +}, +"response": { +"$ref": "GoogleCloudDiscoveryengineV1betaConversation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +} +} +}, +"customModels": { +"methods": { +"list": { +"description": "Gets a list of all the custom models.", +"flatPath": "v1beta/projects/{projectsId}/locations/{locationsId}/collections/{collectionsId}/dataStores/{dataStoresId}/customModels", +"httpMethod": "GET", +"id": "discoveryengine.projects.locations.collections.dataStores.customModels.list", +"parameterOrder": [ +"dataStore" +], +"parameters": { +"dataStore": { +"description": "Required. The resource name of the parent Data Store, such as `projects/*/locations/global/collections/default_collection/dataStores/default_data_store`. This field is used to identify the data store where to fetch the models from.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/collections/[^/]+/dataStores/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1beta/{+dataStore}/customModels", +"response": { +"$ref": "GoogleCloudDiscoveryengineV1betaListCustomModelsResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +} +} +}, +"models": { +"resources": { +"operations": { +"methods": { +"get": { +"description": "Gets the latest state of a long-running operation. Clients can use this method to poll the operation result at intervals as recommended by the API service.", +"flatPath": "v1beta/projects/{projectsId}/locations/{locationsId}/collections/{collectionsId}/dataStores/{dataStoresId}/models/{modelsId}/operations/{operationsId}", +"httpMethod": "GET", +"id": "discoveryengine.projects.locations.collections.dataStores.models.operations.get", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "The name of the operation resource.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/collections/[^/]+/dataStores/[^/]+/models/[^/]+/operations/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1beta/{+name}", +"response": { +"$ref": "GoogleLongrunningOperation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"list": { +"description": "Lists operations that match the specified filter in the request. If the server doesn't support this method, it returns `UNIMPLEMENTED`.", +"flatPath": "v1beta/projects/{projectsId}/locations/{locationsId}/collections/{collectionsId}/dataStores/{dataStoresId}/models/{modelsId}/operations", +"httpMethod": "GET", +"id": "discoveryengine.projects.locations.collections.dataStores.models.operations.list", +"parameterOrder": [ +"name" +], +"parameters": { +"filter": { +"description": "The standard list filter.", +"location": "query", +"type": "string" +}, +"name": { +"description": "The name of the operation's parent resource.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/collections/[^/]+/dataStores/[^/]+/models/[^/]+$", +"required": true, +"type": "string" +}, +"pageSize": { +"description": "The standard list page size.", +"format": "int32", +"location": "query", +"type": "integer" +}, +"pageToken": { +"description": "The standard list page token.", +"location": "query", +"type": "string" +} +}, +"path": "v1beta/{+name}/operations", +"response": { +"$ref": "GoogleLongrunningListOperationsResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +} +} +} +} +}, +"operations": { +"methods": { +"get": { +"description": "Gets the latest state of a long-running operation. Clients can use this method to poll the operation result at intervals as recommended by the API service.", +"flatPath": "v1beta/projects/{projectsId}/locations/{locationsId}/collections/{collectionsId}/dataStores/{dataStoresId}/operations/{operationsId}", +"httpMethod": "GET", +"id": "discoveryengine.projects.locations.collections.dataStores.operations.get", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "The name of the operation resource.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/collections/[^/]+/dataStores/[^/]+/operations/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1beta/{+name}", +"response": { +"$ref": "GoogleLongrunningOperation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"list": { +"description": "Lists operations that match the specified filter in the request. If the server doesn't support this method, it returns `UNIMPLEMENTED`.", +"flatPath": "v1beta/projects/{projectsId}/locations/{locationsId}/collections/{collectionsId}/dataStores/{dataStoresId}/operations", +"httpMethod": "GET", +"id": "discoveryengine.projects.locations.collections.dataStores.operations.list", +"parameterOrder": [ +"name" +], +"parameters": { +"filter": { +"description": "The standard list filter.", +"location": "query", +"type": "string" +}, +"name": { +"description": "The name of the operation's parent resource.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/collections/[^/]+/dataStores/[^/]+$", +"required": true, +"type": "string" +}, +"pageSize": { +"description": "The standard list page size.", +"format": "int32", +"location": "query", +"type": "integer" +}, +"pageToken": { +"description": "The standard list page token.", +"location": "query", +"type": "string" +} +}, +"path": "v1beta/{+name}/operations", +"response": { +"$ref": "GoogleLongrunningListOperationsResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +} +} +}, +"schemas": { +"methods": { +"create": { +"description": "Creates a Schema.", +"flatPath": "v1beta/projects/{projectsId}/locations/{locationsId}/collections/{collectionsId}/dataStores/{dataStoresId}/schemas", +"httpMethod": "POST", +"id": "discoveryengine.projects.locations.collections.dataStores.schemas.create", +"parameterOrder": [ +"parent" +], +"parameters": { +"parent": { +"description": "Required. The parent data store resource name, in the format of `projects/{project}/locations/{location}/collections/{collection}/dataStores/{data_store}`.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/collections/[^/]+/dataStores/[^/]+$", +"required": true, +"type": "string" +}, +"schemaId": { +"description": "Required. The ID to use for the Schema, which becomes the final component of the Schema.name. This field should conform to [RFC-1034](https://tools.ietf.org/html/rfc1034) standard with a length limit of 63 characters.", +"location": "query", +"type": "string" +} +}, +"path": "v1beta/{+parent}/schemas", +"request": { +"$ref": "GoogleCloudDiscoveryengineV1betaSchema" +}, +"response": { +"$ref": "GoogleLongrunningOperation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"delete": { +"description": "Deletes a Schema.", +"flatPath": "v1beta/projects/{projectsId}/locations/{locationsId}/collections/{collectionsId}/dataStores/{dataStoresId}/schemas/{schemasId}", +"httpMethod": "DELETE", +"id": "discoveryengine.projects.locations.collections.dataStores.schemas.delete", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. The full resource name of the schema, in the format of `projects/{project}/locations/{location}/collections/{collection}/dataStores/{data_store}/schemas/{schema}`.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/collections/[^/]+/dataStores/[^/]+/schemas/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1beta/{+name}", +"response": { +"$ref": "GoogleLongrunningOperation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"get": { +"description": "Gets a Schema.", +"flatPath": "v1beta/projects/{projectsId}/locations/{locationsId}/collections/{collectionsId}/dataStores/{dataStoresId}/schemas/{schemasId}", +"httpMethod": "GET", +"id": "discoveryengine.projects.locations.collections.dataStores.schemas.get", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. The full resource name of the schema, in the format of `projects/{project}/locations/{location}/collections/{collection}/dataStores/{data_store}/schemas/{schema}`.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/collections/[^/]+/dataStores/[^/]+/schemas/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1beta/{+name}", +"response": { +"$ref": "GoogleCloudDiscoveryengineV1betaSchema" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"list": { +"description": "Gets a list of Schemas.", +"flatPath": "v1beta/projects/{projectsId}/locations/{locationsId}/collections/{collectionsId}/dataStores/{dataStoresId}/schemas", +"httpMethod": "GET", +"id": "discoveryengine.projects.locations.collections.dataStores.schemas.list", +"parameterOrder": [ +"parent" +], +"parameters": { +"pageSize": { +"description": "The maximum number of Schemas to return. The service may return fewer than this value. If unspecified, at most 100 Schemas are returned. The maximum value is 1000; values above 1000 are set to 1000.", +"format": "int32", +"location": "query", +"type": "integer" +}, +"pageToken": { +"description": "A page token, received from a previous SchemaService.ListSchemas call. Provide this to retrieve the subsequent page. When paginating, all other parameters provided to SchemaService.ListSchemas must match the call that provided the page token.", +"location": "query", +"type": "string" +}, +"parent": { +"description": "Required. The parent data store resource name, in the format of `projects/{project}/locations/{location}/collections/{collection}/dataStores/{data_store}`.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/collections/[^/]+/dataStores/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1beta/{+parent}/schemas", +"response": { +"$ref": "GoogleCloudDiscoveryengineV1betaListSchemasResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"patch": { +"description": "Updates a Schema.", +"flatPath": "v1beta/projects/{projectsId}/locations/{locationsId}/collections/{collectionsId}/dataStores/{dataStoresId}/schemas/{schemasId}", +"httpMethod": "PATCH", +"id": "discoveryengine.projects.locations.collections.dataStores.schemas.patch", +"parameterOrder": [ +"name" +], +"parameters": { +"allowMissing": { +"description": "If set to true, and the Schema is not found, a new Schema is created. In this situation, `update_mask` is ignored.", +"location": "query", +"type": "boolean" +}, +"name": { +"description": "Immutable. The full resource name of the schema, in the format of `projects/{project}/locations/{location}/collections/{collection}/dataStores/{data_store}/schemas/{schema}`. This field must be a UTF-8 encoded string with a length limit of 1024 characters.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/collections/[^/]+/dataStores/[^/]+/schemas/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1beta/{+name}", +"request": { +"$ref": "GoogleCloudDiscoveryengineV1betaSchema" +}, +"response": { +"$ref": "GoogleLongrunningOperation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +} +}, +"resources": { +"operations": { +"methods": { +"get": { +"description": "Gets the latest state of a long-running operation. Clients can use this method to poll the operation result at intervals as recommended by the API service.", +"flatPath": "v1beta/projects/{projectsId}/locations/{locationsId}/collections/{collectionsId}/dataStores/{dataStoresId}/schemas/{schemasId}/operations/{operationsId}", +"httpMethod": "GET", +"id": "discoveryengine.projects.locations.collections.dataStores.schemas.operations.get", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "The name of the operation resource.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/collections/[^/]+/dataStores/[^/]+/schemas/[^/]+/operations/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1beta/{+name}", +"response": { +"$ref": "GoogleLongrunningOperation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"list": { +"description": "Lists operations that match the specified filter in the request. If the server doesn't support this method, it returns `UNIMPLEMENTED`.", +"flatPath": "v1beta/projects/{projectsId}/locations/{locationsId}/collections/{collectionsId}/dataStores/{dataStoresId}/schemas/{schemasId}/operations", +"httpMethod": "GET", +"id": "discoveryengine.projects.locations.collections.dataStores.schemas.operations.list", +"parameterOrder": [ +"name" +], +"parameters": { +"filter": { +"description": "The standard list filter.", +"location": "query", +"type": "string" +}, +"name": { +"description": "The name of the operation's parent resource.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/collections/[^/]+/dataStores/[^/]+/schemas/[^/]+$", +"required": true, +"type": "string" +}, +"pageSize": { +"description": "The standard list page size.", +"format": "int32", +"location": "query", +"type": "integer" +}, +"pageToken": { +"description": "The standard list page token.", +"location": "query", +"type": "string" +} +}, +"path": "v1beta/{+name}/operations", +"response": { +"$ref": "GoogleLongrunningListOperationsResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +} +} +} +} +}, +"servingConfigs": { +"methods": { +"answer": { +"description": "Answer query method.", +"flatPath": "v1beta/projects/{projectsId}/locations/{locationsId}/collections/{collectionsId}/dataStores/{dataStoresId}/servingConfigs/{servingConfigsId}:answer", +"httpMethod": "POST", +"id": "discoveryengine.projects.locations.collections.dataStores.servingConfigs.answer", +"parameterOrder": [ +"servingConfig" +], +"parameters": { +"servingConfig": { +"description": "Required. The resource name of the Search serving config, such as `projects/*/locations/global/collections/default_collection/engines/*/servingConfigs/default_serving_config`, or `projects/*/locations/global/collections/default_collection/dataStores/*/servingConfigs/default_serving_config`. This field is used to identify the serving configuration name, set of models used to make the search.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/collections/[^/]+/dataStores/[^/]+/servingConfigs/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1beta/{+servingConfig}:answer", +"request": { +"$ref": "GoogleCloudDiscoveryengineV1betaAnswerQueryRequest" +}, +"response": { +"$ref": "GoogleCloudDiscoveryengineV1betaAnswerQueryResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"get": { +"description": "Gets a ServingConfig. Returns a NotFound error if the ServingConfig does not exist.", +"flatPath": "v1beta/projects/{projectsId}/locations/{locationsId}/collections/{collectionsId}/dataStores/{dataStoresId}/servingConfigs/{servingConfigsId}", +"httpMethod": "GET", +"id": "discoveryengine.projects.locations.collections.dataStores.servingConfigs.get", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. The resource name of the ServingConfig to get. Format: `projects/{project}/locations/{location}/collections/{collection}/engines/{engine}/servingConfigs/{serving_config_id}`", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/collections/[^/]+/dataStores/[^/]+/servingConfigs/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1beta/{+name}", +"response": { +"$ref": "GoogleCloudDiscoveryengineV1betaServingConfig" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"list": { +"description": "Lists all ServingConfigs linked to this dataStore.", +"flatPath": "v1beta/projects/{projectsId}/locations/{locationsId}/collections/{collectionsId}/dataStores/{dataStoresId}/servingConfigs", +"httpMethod": "GET", +"id": "discoveryengine.projects.locations.collections.dataStores.servingConfigs.list", +"parameterOrder": [ +"parent" +], +"parameters": { +"pageSize": { +"description": "Optional. Maximum number of results to return. If unspecified, defaults to 100. If a value greater than 100 is provided, at most 100 results are returned.", +"format": "int32", +"location": "query", +"type": "integer" +}, +"pageToken": { +"description": "Optional. A page token, received from a previous `ListServingConfigs` call. Provide this to retrieve the subsequent page.", +"location": "query", +"type": "string" +}, +"parent": { +"description": "Required. Full resource name of the parent resource. Format: `projects/{project}/locations/{location}/collections/{collection}/engines/{engine}`", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/collections/[^/]+/dataStores/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1beta/{+parent}/servingConfigs", +"response": { +"$ref": "GoogleCloudDiscoveryengineV1betaListServingConfigsResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"patch": { +"description": "Updates a ServingConfig. Returns a NOT_FOUND error if the ServingConfig does not exist.", +"flatPath": "v1beta/projects/{projectsId}/locations/{locationsId}/collections/{collectionsId}/dataStores/{dataStoresId}/servingConfigs/{servingConfigsId}", +"httpMethod": "PATCH", +"id": "discoveryengine.projects.locations.collections.dataStores.servingConfigs.patch", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Immutable. Fully qualified name `projects/{project}/locations/{location}/collections/{collection_id}/engines/{engine_id}/servingConfigs/{serving_config_id}`", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/collections/[^/]+/dataStores/[^/]+/servingConfigs/[^/]+$", +"required": true, +"type": "string" +}, +"updateMask": { +"description": "Indicates which fields in the provided ServingConfig to update. The following are NOT supported: * ServingConfig.name If not set, all supported fields are updated.", +"format": "google-fieldmask", +"location": "query", +"type": "string" +} +}, +"path": "v1beta/{+name}", +"request": { +"$ref": "GoogleCloudDiscoveryengineV1betaServingConfig" +}, +"response": { +"$ref": "GoogleCloudDiscoveryengineV1betaServingConfig" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"recommend": { +"description": "Makes a recommendation, which requires a contextual user event.", +"flatPath": "v1beta/projects/{projectsId}/locations/{locationsId}/collections/{collectionsId}/dataStores/{dataStoresId}/servingConfigs/{servingConfigsId}:recommend", +"httpMethod": "POST", +"id": "discoveryengine.projects.locations.collections.dataStores.servingConfigs.recommend", +"parameterOrder": [ +"servingConfig" +], +"parameters": { +"servingConfig": { +"description": "Required. Full resource name of a ServingConfig: `projects/*/locations/global/collections/*/engines/*/servingConfigs/*`, or `projects/*/locations/global/collections/*/dataStores/*/servingConfigs/*` One default serving config is created along with your recommendation engine creation. The engine ID is used as the ID of the default serving config. For example, for Engine `projects/*/locations/global/collections/*/engines/my-engine`, you can use `projects/*/locations/global/collections/*/engines/my-engine/servingConfigs/my-engine` for your RecommendationService.Recommend requests.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/collections/[^/]+/dataStores/[^/]+/servingConfigs/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1beta/{+servingConfig}:recommend", +"request": { +"$ref": "GoogleCloudDiscoveryengineV1betaRecommendRequest" +}, +"response": { +"$ref": "GoogleCloudDiscoveryengineV1betaRecommendResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"search": { +"description": "Performs a search.", +"flatPath": "v1beta/projects/{projectsId}/locations/{locationsId}/collections/{collectionsId}/dataStores/{dataStoresId}/servingConfigs/{servingConfigsId}:search", +"httpMethod": "POST", +"id": "discoveryengine.projects.locations.collections.dataStores.servingConfigs.search", +"parameterOrder": [ +"servingConfig" +], +"parameters": { +"servingConfig": { +"description": "Required. The resource name of the Search serving config, such as `projects/*/locations/global/collections/default_collection/engines/*/servingConfigs/default_serving_config`, or `projects/*/locations/global/collections/default_collection/dataStores/default_data_store/servingConfigs/default_serving_config`. This field is used to identify the serving configuration name, set of models used to make the search.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/collections/[^/]+/dataStores/[^/]+/servingConfigs/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1beta/{+servingConfig}:search", +"request": { +"$ref": "GoogleCloudDiscoveryengineV1betaSearchRequest" +}, +"response": { +"$ref": "GoogleCloudDiscoveryengineV1betaSearchResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"searchLite": { +"description": "Performs a search. Similar to the SearchService.Search method, but a lite version that allows API key for authentication, where OAuth and IAM checks are not required. Only public website search is supported by this method. If data stores and engines not associated with public website search are specified, a `FAILED_PRECONDITION` error is returned. This method can be used for easy onboarding without having to implement an authentication backend. However, it is strongly recommended to use SearchService.Search instead with required OAuth and IAM checks to provide better data security.", +"flatPath": "v1beta/projects/{projectsId}/locations/{locationsId}/collections/{collectionsId}/dataStores/{dataStoresId}/servingConfigs/{servingConfigsId}:searchLite", +"httpMethod": "POST", +"id": "discoveryengine.projects.locations.collections.dataStores.servingConfigs.searchLite", +"parameterOrder": [ +"servingConfig" +], +"parameters": { +"servingConfig": { +"description": "Required. The resource name of the Search serving config, such as `projects/*/locations/global/collections/default_collection/engines/*/servingConfigs/default_serving_config`, or `projects/*/locations/global/collections/default_collection/dataStores/default_data_store/servingConfigs/default_serving_config`. This field is used to identify the serving configuration name, set of models used to make the search.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/collections/[^/]+/dataStores/[^/]+/servingConfigs/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1beta/{+servingConfig}:searchLite", +"request": { +"$ref": "GoogleCloudDiscoveryengineV1betaSearchRequest" +}, +"response": { +"$ref": "GoogleCloudDiscoveryengineV1betaSearchResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"streamAnswer": { +"description": "Answer query method (streaming). It takes one AnswerQueryRequest and returns multiple AnswerQueryResponse messages in a stream.", +"flatPath": "v1beta/projects/{projectsId}/locations/{locationsId}/collections/{collectionsId}/dataStores/{dataStoresId}/servingConfigs/{servingConfigsId}:streamAnswer", +"httpMethod": "POST", +"id": "discoveryengine.projects.locations.collections.dataStores.servingConfigs.streamAnswer", +"parameterOrder": [ +"servingConfig" +], +"parameters": { +"servingConfig": { +"description": "Required. The resource name of the Search serving config, such as `projects/*/locations/global/collections/default_collection/engines/*/servingConfigs/default_serving_config`, or `projects/*/locations/global/collections/default_collection/dataStores/*/servingConfigs/default_serving_config`. This field is used to identify the serving configuration name, set of models used to make the search.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/collections/[^/]+/dataStores/[^/]+/servingConfigs/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1beta/{+servingConfig}:streamAnswer", +"request": { +"$ref": "GoogleCloudDiscoveryengineV1betaAnswerQueryRequest" +}, +"response": { +"$ref": "GoogleCloudDiscoveryengineV1betaAnswerQueryResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +} +} +}, +"sessions": { +"methods": { +"create": { +"description": "Creates a Session. If the Session to create already exists, an ALREADY_EXISTS error is returned.", +"flatPath": "v1beta/projects/{projectsId}/locations/{locationsId}/collections/{collectionsId}/dataStores/{dataStoresId}/sessions", +"httpMethod": "POST", +"id": "discoveryengine.projects.locations.collections.dataStores.sessions.create", +"parameterOrder": [ +"parent" +], +"parameters": { +"parent": { +"description": "Required. Full resource name of parent data store. Format: `projects/{project}/locations/{location}/collections/{collection}/dataStores/{data_store_id}`", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/collections/[^/]+/dataStores/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1beta/{+parent}/sessions", +"request": { +"$ref": "GoogleCloudDiscoveryengineV1betaSession" +}, +"response": { +"$ref": "GoogleCloudDiscoveryengineV1betaSession" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"delete": { +"description": "Deletes a Session. If the Session to delete does not exist, a NOT_FOUND error is returned.", +"flatPath": "v1beta/projects/{projectsId}/locations/{locationsId}/collections/{collectionsId}/dataStores/{dataStoresId}/sessions/{sessionsId}", +"httpMethod": "DELETE", +"id": "discoveryengine.projects.locations.collections.dataStores.sessions.delete", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. The resource name of the Session to delete. Format: `projects/{project}/locations/{location}/collections/{collection}/dataStores/{data_store_id}/sessions/{session_id}`", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/collections/[^/]+/dataStores/[^/]+/sessions/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1beta/{+name}", +"response": { +"$ref": "GoogleProtobufEmpty" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"get": { +"description": "Gets a Session.", +"flatPath": "v1beta/projects/{projectsId}/locations/{locationsId}/collections/{collectionsId}/dataStores/{dataStoresId}/sessions/{sessionsId}", +"httpMethod": "GET", +"id": "discoveryengine.projects.locations.collections.dataStores.sessions.get", +"parameterOrder": [ +"name" +], +"parameters": { +"includeAnswerDetails": { +"description": "Optional. If set to true, the full session including all answer details will be returned.", +"location": "query", +"type": "boolean" +}, +"name": { +"description": "Required. The resource name of the Session to get. Format: `projects/{project}/locations/{location}/collections/{collection}/dataStores/{data_store_id}/sessions/{session_id}`", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/collections/[^/]+/dataStores/[^/]+/sessions/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1beta/{+name}", +"response": { +"$ref": "GoogleCloudDiscoveryengineV1betaSession" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"list": { +"description": "Lists all Sessions by their parent DataStore.", +"flatPath": "v1beta/projects/{projectsId}/locations/{locationsId}/collections/{collectionsId}/dataStores/{dataStoresId}/sessions", +"httpMethod": "GET", +"id": "discoveryengine.projects.locations.collections.dataStores.sessions.list", +"parameterOrder": [ +"parent" +], +"parameters": { +"filter": { +"description": "A filter to apply on the list results. The supported features are: user_pseudo_id, state. Example: \"user_pseudo_id = some_id\"", +"location": "query", +"type": "string" +}, +"orderBy": { +"description": "A comma-separated list of fields to order by, sorted in ascending order. Use \"desc\" after a field name for descending. Supported fields: * `update_time` * `create_time` * `session_name` * `is_pinned` Example: * \"update_time desc\" * \"create_time\" * \"is_pinned desc,update_time desc\": list sessions by is_pinned first, then by update_time.", +"location": "query", +"type": "string" +}, +"pageSize": { +"description": "Maximum number of results to return. If unspecified, defaults to 50. Max allowed value is 1000.", +"format": "int32", +"location": "query", +"type": "integer" +}, +"pageToken": { +"description": "A page token, received from a previous `ListSessions` call. Provide this to retrieve the subsequent page.", +"location": "query", +"type": "string" +}, +"parent": { +"description": "Required. The data store resource name. Format: `projects/{project}/locations/{location}/collections/{collection}/dataStores/{data_store_id}`", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/collections/[^/]+/dataStores/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1beta/{+parent}/sessions", +"response": { +"$ref": "GoogleCloudDiscoveryengineV1betaListSessionsResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"patch": { +"description": "Updates a Session. Session action type cannot be changed. If the Session to update does not exist, a NOT_FOUND error is returned.", +"flatPath": "v1beta/projects/{projectsId}/locations/{locationsId}/collections/{collectionsId}/dataStores/{dataStoresId}/sessions/{sessionsId}", +"httpMethod": "PATCH", +"id": "discoveryengine.projects.locations.collections.dataStores.sessions.patch", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Immutable. Fully qualified name `projects/{project}/locations/global/collections/{collection}/engines/{engine}/sessions/*`", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/collections/[^/]+/dataStores/[^/]+/sessions/[^/]+$", +"required": true, +"type": "string" +}, +"updateMask": { +"description": "Indicates which fields in the provided Session to update. The following are NOT supported: * Session.name If not set or empty, all supported fields are updated.", +"format": "google-fieldmask", +"location": "query", +"type": "string" +} +}, +"path": "v1beta/{+name}", +"request": { +"$ref": "GoogleCloudDiscoveryengineV1betaSession" +}, +"response": { +"$ref": "GoogleCloudDiscoveryengineV1betaSession" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +} +}, +"resources": { +"answers": { +"methods": { +"get": { +"description": "Gets a Answer.", +"flatPath": "v1beta/projects/{projectsId}/locations/{locationsId}/collections/{collectionsId}/dataStores/{dataStoresId}/sessions/{sessionsId}/answers/{answersId}", +"httpMethod": "GET", +"id": "discoveryengine.projects.locations.collections.dataStores.sessions.answers.get", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. The resource name of the Answer to get. Format: `projects/{project}/locations/{location}/collections/{collection}/engines/{engine_id}/sessions/{session_id}/answers/{answer_id}`", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/collections/[^/]+/dataStores/[^/]+/sessions/[^/]+/answers/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1beta/{+name}", +"response": { +"$ref": "GoogleCloudDiscoveryengineV1betaAnswer" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +} +} +} +} +}, +"siteSearchEngine": { +"methods": { +"batchVerifyTargetSites": { +"description": "Verify target sites' ownership and validity. This API sends all the target sites under site search engine for verification.", +"flatPath": "v1beta/projects/{projectsId}/locations/{locationsId}/collections/{collectionsId}/dataStores/{dataStoresId}/siteSearchEngine:batchVerifyTargetSites", +"httpMethod": "POST", +"id": "discoveryengine.projects.locations.collections.dataStores.siteSearchEngine.batchVerifyTargetSites", +"parameterOrder": [ +"parent" +], +"parameters": { +"parent": { +"description": "Required. The parent resource shared by all TargetSites being verified. `projects/{project}/locations/{location}/collections/{collection}/dataStores/{data_store}/siteSearchEngine`.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/collections/[^/]+/dataStores/[^/]+/siteSearchEngine$", +"required": true, +"type": "string" +} +}, +"path": "v1beta/{+parent}:batchVerifyTargetSites", +"request": { +"$ref": "GoogleCloudDiscoveryengineV1betaBatchVerifyTargetSitesRequest" +}, +"response": { +"$ref": "GoogleLongrunningOperation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"disableAdvancedSiteSearch": { +"description": "Downgrade from advanced site search to basic site search.", +"flatPath": "v1beta/projects/{projectsId}/locations/{locationsId}/collections/{collectionsId}/dataStores/{dataStoresId}/siteSearchEngine:disableAdvancedSiteSearch", +"httpMethod": "POST", +"id": "discoveryengine.projects.locations.collections.dataStores.siteSearchEngine.disableAdvancedSiteSearch", +"parameterOrder": [ +"siteSearchEngine" +], +"parameters": { +"siteSearchEngine": { +"description": "Required. Full resource name of the SiteSearchEngine, such as `projects/{project}/locations/{location}/dataStores/{data_store_id}/siteSearchEngine`.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/collections/[^/]+/dataStores/[^/]+/siteSearchEngine$", +"required": true, +"type": "string" +} +}, +"path": "v1beta/{+siteSearchEngine}:disableAdvancedSiteSearch", +"request": { +"$ref": "GoogleCloudDiscoveryengineV1betaDisableAdvancedSiteSearchRequest" +}, +"response": { +"$ref": "GoogleLongrunningOperation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"enableAdvancedSiteSearch": { +"description": "Upgrade from basic site search to advanced site search.", +"flatPath": "v1beta/projects/{projectsId}/locations/{locationsId}/collections/{collectionsId}/dataStores/{dataStoresId}/siteSearchEngine:enableAdvancedSiteSearch", +"httpMethod": "POST", +"id": "discoveryengine.projects.locations.collections.dataStores.siteSearchEngine.enableAdvancedSiteSearch", +"parameterOrder": [ +"siteSearchEngine" +], +"parameters": { +"siteSearchEngine": { +"description": "Required. Full resource name of the SiteSearchEngine, such as `projects/{project}/locations/{location}/dataStores/{data_store_id}/siteSearchEngine`.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/collections/[^/]+/dataStores/[^/]+/siteSearchEngine$", +"required": true, +"type": "string" +} +}, +"path": "v1beta/{+siteSearchEngine}:enableAdvancedSiteSearch", +"request": { +"$ref": "GoogleCloudDiscoveryengineV1betaEnableAdvancedSiteSearchRequest" +}, +"response": { +"$ref": "GoogleLongrunningOperation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"fetchDomainVerificationStatus": { +"description": "Returns list of target sites with its domain verification status. This method can only be called under data store with BASIC_SITE_SEARCH state at the moment.", +"flatPath": "v1beta/projects/{projectsId}/locations/{locationsId}/collections/{collectionsId}/dataStores/{dataStoresId}/siteSearchEngine:fetchDomainVerificationStatus", +"httpMethod": "GET", +"id": "discoveryengine.projects.locations.collections.dataStores.siteSearchEngine.fetchDomainVerificationStatus", +"parameterOrder": [ +"siteSearchEngine" +], +"parameters": { +"pageSize": { +"description": "Requested page size. Server may return fewer items than requested. If unspecified, server will pick an appropriate default. The maximum value is 1000; values above 1000 will be coerced to 1000. If this field is negative, an INVALID_ARGUMENT error is returned.", +"format": "int32", +"location": "query", +"type": "integer" +}, +"pageToken": { +"description": "A page token, received from a previous `FetchDomainVerificationStatus` call. Provide this to retrieve the subsequent page. When paginating, all other parameters provided to `FetchDomainVerificationStatus` must match the call that provided the page token.", +"location": "query", +"type": "string" +}, +"siteSearchEngine": { +"description": "Required. The site search engine resource under which we fetch all the domain verification status. `projects/{project}/locations/{location}/collections/{collection}/dataStores/{data_store}/siteSearchEngine`.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/collections/[^/]+/dataStores/[^/]+/siteSearchEngine$", +"required": true, +"type": "string" +} +}, +"path": "v1beta/{+siteSearchEngine}:fetchDomainVerificationStatus", +"response": { +"$ref": "GoogleCloudDiscoveryengineV1betaFetchDomainVerificationStatusResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"recrawlUris": { +"description": "Request on-demand recrawl for a list of URIs.", +"flatPath": "v1beta/projects/{projectsId}/locations/{locationsId}/collections/{collectionsId}/dataStores/{dataStoresId}/siteSearchEngine:recrawlUris", +"httpMethod": "POST", +"id": "discoveryengine.projects.locations.collections.dataStores.siteSearchEngine.recrawlUris", +"parameterOrder": [ +"siteSearchEngine" +], +"parameters": { +"siteSearchEngine": { +"description": "Required. Full resource name of the SiteSearchEngine, such as `projects/*/locations/*/collections/*/dataStores/*/siteSearchEngine`.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/collections/[^/]+/dataStores/[^/]+/siteSearchEngine$", +"required": true, +"type": "string" +} +}, +"path": "v1beta/{+siteSearchEngine}:recrawlUris", +"request": { +"$ref": "GoogleCloudDiscoveryengineV1betaRecrawlUrisRequest" +}, +"response": { +"$ref": "GoogleLongrunningOperation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +} +}, +"resources": { +"operations": { +"methods": { +"get": { +"description": "Gets the latest state of a long-running operation. Clients can use this method to poll the operation result at intervals as recommended by the API service.", +"flatPath": "v1beta/projects/{projectsId}/locations/{locationsId}/collections/{collectionsId}/dataStores/{dataStoresId}/siteSearchEngine/operations/{operationsId}", +"httpMethod": "GET", +"id": "discoveryengine.projects.locations.collections.dataStores.siteSearchEngine.operations.get", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "The name of the operation resource.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/collections/[^/]+/dataStores/[^/]+/siteSearchEngine/operations/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1beta/{+name}", +"response": { +"$ref": "GoogleLongrunningOperation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"list": { +"description": "Lists operations that match the specified filter in the request. If the server doesn't support this method, it returns `UNIMPLEMENTED`.", +"flatPath": "v1beta/projects/{projectsId}/locations/{locationsId}/collections/{collectionsId}/dataStores/{dataStoresId}/siteSearchEngine/operations", +"httpMethod": "GET", +"id": "discoveryengine.projects.locations.collections.dataStores.siteSearchEngine.operations.list", +"parameterOrder": [ +"name" +], +"parameters": { +"filter": { +"description": "The standard list filter.", +"location": "query", +"type": "string" +}, +"name": { +"description": "The name of the operation's parent resource.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/collections/[^/]+/dataStores/[^/]+/siteSearchEngine$", +"required": true, +"type": "string" +}, +"pageSize": { +"description": "The standard list page size.", +"format": "int32", +"location": "query", +"type": "integer" +}, +"pageToken": { +"description": "The standard list page token.", +"location": "query", +"type": "string" +} +}, +"path": "v1beta/{+name}/operations", +"response": { +"$ref": "GoogleLongrunningListOperationsResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +} +} +}, +"sitemaps": { +"methods": { +"create": { +"description": "Creates a Sitemap.", +"flatPath": "v1beta/projects/{projectsId}/locations/{locationsId}/collections/{collectionsId}/dataStores/{dataStoresId}/siteSearchEngine/sitemaps", +"httpMethod": "POST", +"id": "discoveryengine.projects.locations.collections.dataStores.siteSearchEngine.sitemaps.create", +"parameterOrder": [ +"parent" +], +"parameters": { +"parent": { +"description": "Required. Parent resource name of the SiteSearchEngine, such as `projects/*/locations/*/collections/*/dataStores/*/siteSearchEngine`.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/collections/[^/]+/dataStores/[^/]+/siteSearchEngine$", +"required": true, +"type": "string" +} +}, +"path": "v1beta/{+parent}/sitemaps", +"request": { +"$ref": "GoogleCloudDiscoveryengineV1betaSitemap" +}, +"response": { +"$ref": "GoogleLongrunningOperation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"delete": { +"description": "Deletes a Sitemap.", +"flatPath": "v1beta/projects/{projectsId}/locations/{locationsId}/collections/{collectionsId}/dataStores/{dataStoresId}/siteSearchEngine/sitemaps/{sitemapsId}", +"httpMethod": "DELETE", +"id": "discoveryengine.projects.locations.collections.dataStores.siteSearchEngine.sitemaps.delete", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. Full resource name of Sitemap, such as `projects/{project}/locations/{location}/collections/{collection}/dataStores/{data_store}/siteSearchEngine/sitemaps/{sitemap}`. If the caller does not have permission to access the Sitemap, regardless of whether or not it exists, a PERMISSION_DENIED error is returned. If the requested Sitemap does not exist, a NOT_FOUND error is returned.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/collections/[^/]+/dataStores/[^/]+/siteSearchEngine/sitemaps/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1beta/{+name}", +"response": { +"$ref": "GoogleLongrunningOperation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +} +} +}, +"targetSites": { +"methods": { +"batchCreate": { +"description": "Creates TargetSite in a batch.", +"flatPath": "v1beta/projects/{projectsId}/locations/{locationsId}/collections/{collectionsId}/dataStores/{dataStoresId}/siteSearchEngine/targetSites:batchCreate", +"httpMethod": "POST", +"id": "discoveryengine.projects.locations.collections.dataStores.siteSearchEngine.targetSites.batchCreate", +"parameterOrder": [ +"parent" +], +"parameters": { +"parent": { +"description": "Required. The parent resource shared by all TargetSites being created. `projects/{project}/locations/{location}/collections/{collection}/dataStores/{data_store}/siteSearchEngine`. The parent field in the CreateBookRequest messages must either be empty or match this field.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/collections/[^/]+/dataStores/[^/]+/siteSearchEngine$", +"required": true, +"type": "string" +} +}, +"path": "v1beta/{+parent}/targetSites:batchCreate", +"request": { +"$ref": "GoogleCloudDiscoveryengineV1betaBatchCreateTargetSitesRequest" +}, +"response": { +"$ref": "GoogleLongrunningOperation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"create": { +"description": "Creates a TargetSite.", +"flatPath": "v1beta/projects/{projectsId}/locations/{locationsId}/collections/{collectionsId}/dataStores/{dataStoresId}/siteSearchEngine/targetSites", +"httpMethod": "POST", +"id": "discoveryengine.projects.locations.collections.dataStores.siteSearchEngine.targetSites.create", +"parameterOrder": [ +"parent" +], +"parameters": { +"parent": { +"description": "Required. Parent resource name of TargetSite, such as `projects/{project}/locations/{location}/collections/{collection}/dataStores/{data_store}/siteSearchEngine`.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/collections/[^/]+/dataStores/[^/]+/siteSearchEngine$", +"required": true, +"type": "string" +} +}, +"path": "v1beta/{+parent}/targetSites", +"request": { +"$ref": "GoogleCloudDiscoveryengineV1betaTargetSite" +}, +"response": { +"$ref": "GoogleLongrunningOperation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"delete": { +"description": "Deletes a TargetSite.", +"flatPath": "v1beta/projects/{projectsId}/locations/{locationsId}/collections/{collectionsId}/dataStores/{dataStoresId}/siteSearchEngine/targetSites/{targetSitesId}", +"httpMethod": "DELETE", +"id": "discoveryengine.projects.locations.collections.dataStores.siteSearchEngine.targetSites.delete", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. Full resource name of TargetSite, such as `projects/{project}/locations/{location}/collections/{collection}/dataStores/{data_store}/siteSearchEngine/targetSites/{target_site}`. If the caller does not have permission to access the TargetSite, regardless of whether or not it exists, a PERMISSION_DENIED error is returned. If the requested TargetSite does not exist, a NOT_FOUND error is returned.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/collections/[^/]+/dataStores/[^/]+/siteSearchEngine/targetSites/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1beta/{+name}", +"response": { +"$ref": "GoogleLongrunningOperation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"get": { +"description": "Gets a TargetSite.", +"flatPath": "v1beta/projects/{projectsId}/locations/{locationsId}/collections/{collectionsId}/dataStores/{dataStoresId}/siteSearchEngine/targetSites/{targetSitesId}", +"httpMethod": "GET", +"id": "discoveryengine.projects.locations.collections.dataStores.siteSearchEngine.targetSites.get", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. Full resource name of TargetSite, such as `projects/{project}/locations/{location}/collections/{collection}/dataStores/{data_store}/siteSearchEngine/targetSites/{target_site}`. If the caller does not have permission to access the TargetSite, regardless of whether or not it exists, a PERMISSION_DENIED error is returned. If the requested TargetSite does not exist, a NOT_FOUND error is returned.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/collections/[^/]+/dataStores/[^/]+/siteSearchEngine/targetSites/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1beta/{+name}", +"response": { +"$ref": "GoogleCloudDiscoveryengineV1betaTargetSite" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"list": { +"description": "Gets a list of TargetSites.", +"flatPath": "v1beta/projects/{projectsId}/locations/{locationsId}/collections/{collectionsId}/dataStores/{dataStoresId}/siteSearchEngine/targetSites", +"httpMethod": "GET", +"id": "discoveryengine.projects.locations.collections.dataStores.siteSearchEngine.targetSites.list", +"parameterOrder": [ +"parent" +], +"parameters": { +"pageSize": { +"description": "Requested page size. Server may return fewer items than requested. If unspecified, server will pick an appropriate default. The maximum value is 1000; values above 1000 will be coerced to 1000. If this field is negative, an INVALID_ARGUMENT error is returned.", +"format": "int32", +"location": "query", +"type": "integer" +}, +"pageToken": { +"description": "A page token, received from a previous `ListTargetSites` call. Provide this to retrieve the subsequent page. When paginating, all other parameters provided to `ListTargetSites` must match the call that provided the page token.", +"location": "query", +"type": "string" +}, +"parent": { +"description": "Required. The parent site search engine resource name, such as `projects/{project}/locations/{location}/collections/{collection}/dataStores/{data_store}/siteSearchEngine`. If the caller does not have permission to list TargetSites under this site search engine, regardless of whether or not this branch exists, a PERMISSION_DENIED error is returned.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/collections/[^/]+/dataStores/[^/]+/siteSearchEngine$", +"required": true, +"type": "string" +} +}, +"path": "v1beta/{+parent}/targetSites", +"response": { +"$ref": "GoogleCloudDiscoveryengineV1betaListTargetSitesResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"patch": { +"description": "Updates a TargetSite.", +"flatPath": "v1beta/projects/{projectsId}/locations/{locationsId}/collections/{collectionsId}/dataStores/{dataStoresId}/siteSearchEngine/targetSites/{targetSitesId}", +"httpMethod": "PATCH", +"id": "discoveryengine.projects.locations.collections.dataStores.siteSearchEngine.targetSites.patch", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Output only. The fully qualified resource name of the target site. `projects/{project}/locations/{location}/collections/{collection}/dataStores/{data_store}/siteSearchEngine/targetSites/{target_site}` The `target_site_id` is system-generated.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/collections/[^/]+/dataStores/[^/]+/siteSearchEngine/targetSites/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1beta/{+name}", +"request": { +"$ref": "GoogleCloudDiscoveryengineV1betaTargetSite" +}, +"response": { +"$ref": "GoogleLongrunningOperation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +} +}, +"resources": { +"operations": { +"methods": { +"get": { +"description": "Gets the latest state of a long-running operation. Clients can use this method to poll the operation result at intervals as recommended by the API service.", +"flatPath": "v1beta/projects/{projectsId}/locations/{locationsId}/collections/{collectionsId}/dataStores/{dataStoresId}/siteSearchEngine/targetSites/operations/{operationsId}", +"httpMethod": "GET", +"id": "discoveryengine.projects.locations.collections.dataStores.siteSearchEngine.targetSites.operations.get", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "The name of the operation resource.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/collections/[^/]+/dataStores/[^/]+/siteSearchEngine/targetSites/operations/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1beta/{+name}", +"response": { +"$ref": "GoogleLongrunningOperation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"list": { +"description": "Lists operations that match the specified filter in the request. If the server doesn't support this method, it returns `UNIMPLEMENTED`.", +"flatPath": "v1beta/projects/{projectsId}/locations/{locationsId}/collections/{collectionsId}/dataStores/{dataStoresId}/siteSearchEngine/targetSites/operations", +"httpMethod": "GET", +"id": "discoveryengine.projects.locations.collections.dataStores.siteSearchEngine.targetSites.operations.list", +"parameterOrder": [ +"name" +], +"parameters": { +"filter": { +"description": "The standard list filter.", +"location": "query", +"type": "string" +}, +"name": { +"description": "The name of the operation's parent resource.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/collections/[^/]+/dataStores/[^/]+/siteSearchEngine/targetSites$", +"required": true, +"type": "string" +}, +"pageSize": { +"description": "The standard list page size.", +"format": "int32", +"location": "query", +"type": "integer" +}, +"pageToken": { +"description": "The standard list page token.", +"location": "query", +"type": "string" +} +}, +"path": "v1beta/{+name}/operations", +"response": { +"$ref": "GoogleLongrunningListOperationsResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +} +} +} +} +} +} +}, +"suggestionDenyListEntries": { +"methods": { +"import": { +"description": "Imports all SuggestionDenyListEntry for a DataStore.", +"flatPath": "v1beta/projects/{projectsId}/locations/{locationsId}/collections/{collectionsId}/dataStores/{dataStoresId}/suggestionDenyListEntries:import", +"httpMethod": "POST", +"id": "discoveryengine.projects.locations.collections.dataStores.suggestionDenyListEntries.import", +"parameterOrder": [ +"parent" +], +"parameters": { +"parent": { +"description": "Required. The parent data store resource name for which to import denylist entries. Follows pattern projects/*/locations/*/collections/*/dataStores/*.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/collections/[^/]+/dataStores/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1beta/{+parent}/suggestionDenyListEntries:import", +"request": { +"$ref": "GoogleCloudDiscoveryengineV1betaImportSuggestionDenyListEntriesRequest" +}, +"response": { +"$ref": "GoogleLongrunningOperation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"purge": { +"description": "Permanently deletes all SuggestionDenyListEntry for a DataStore.", +"flatPath": "v1beta/projects/{projectsId}/locations/{locationsId}/collections/{collectionsId}/dataStores/{dataStoresId}/suggestionDenyListEntries:purge", +"httpMethod": "POST", +"id": "discoveryengine.projects.locations.collections.dataStores.suggestionDenyListEntries.purge", +"parameterOrder": [ +"parent" +], +"parameters": { +"parent": { +"description": "Required. The parent data store resource name for which to import denylist entries. Follows pattern projects/*/locations/*/collections/*/dataStores/*.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/collections/[^/]+/dataStores/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1beta/{+parent}/suggestionDenyListEntries:purge", +"request": { +"$ref": "GoogleCloudDiscoveryengineV1betaPurgeSuggestionDenyListEntriesRequest" +}, +"response": { +"$ref": "GoogleLongrunningOperation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +} +} +}, +"userEvents": { +"methods": { +"collect": { +"description": "Writes a single user event from the browser. This uses a GET request to due to browser restriction of POST-ing to a third-party domain. This method is used only by the Discovery Engine API JavaScript pixel and Google Tag Manager. Users should not call this method directly.", +"flatPath": "v1beta/projects/{projectsId}/locations/{locationsId}/collections/{collectionsId}/dataStores/{dataStoresId}/userEvents:collect", +"httpMethod": "GET", +"id": "discoveryengine.projects.locations.collections.dataStores.userEvents.collect", +"parameterOrder": [ +"parent" +], +"parameters": { +"ets": { +"description": "The event timestamp in milliseconds. This prevents browser caching of otherwise identical get requests. The name is abbreviated to reduce the payload bytes.", +"format": "int64", +"location": "query", +"type": "string" +}, +"parent": { +"description": "Required. The parent resource name. If the collect user event action is applied in DataStore level, the format is: `projects/{project}/locations/{location}/collections/{collection}/dataStores/{data_store}`. If the collect user event action is applied in Location level, for example, the event with Document across multiple DataStore, the format is: `projects/{project}/locations/{location}`.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/collections/[^/]+/dataStores/[^/]+$", +"required": true, +"type": "string" +}, +"uri": { +"description": "The URL including cgi-parameters but excluding the hash fragment with a length limit of 5,000 characters. This is often more useful than the referer URL, because many browsers only send the domain for third-party requests.", +"location": "query", +"type": "string" +}, +"userEvent": { +"description": "Required. URL encoded UserEvent proto with a length limit of 2,000,000 characters.", +"location": "query", +"type": "string" +} +}, +"path": "v1beta/{+parent}/userEvents:collect", +"response": { +"$ref": "GoogleApiHttpBody" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"import": { +"description": "Bulk import of user events. Request processing might be synchronous. Events that already exist are skipped. Use this method for backfilling historical user events. Operation.response is of type ImportResponse. Note that it is possible for a subset of the items to be successfully inserted. Operation.metadata is of type ImportMetadata.", +"flatPath": "v1beta/projects/{projectsId}/locations/{locationsId}/collections/{collectionsId}/dataStores/{dataStoresId}/userEvents:import", +"httpMethod": "POST", +"id": "discoveryengine.projects.locations.collections.dataStores.userEvents.import", +"parameterOrder": [ +"parent" +], +"parameters": { +"parent": { +"description": "Required. Parent DataStore resource name, of the form `projects/{project}/locations/{location}/collections/{collection}/dataStores/{data_store}`", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/collections/[^/]+/dataStores/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1beta/{+parent}/userEvents:import", +"request": { +"$ref": "GoogleCloudDiscoveryengineV1betaImportUserEventsRequest" +}, +"response": { +"$ref": "GoogleLongrunningOperation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"purge": { +"description": "Deletes permanently all user events specified by the filter provided. Depending on the number of events specified by the filter, this operation could take hours or days to complete. To test a filter, use the list command first.", +"flatPath": "v1beta/projects/{projectsId}/locations/{locationsId}/collections/{collectionsId}/dataStores/{dataStoresId}/userEvents:purge", +"httpMethod": "POST", +"id": "discoveryengine.projects.locations.collections.dataStores.userEvents.purge", +"parameterOrder": [ +"parent" +], +"parameters": { +"parent": { +"description": "Required. The resource name of the catalog under which the events are created. The format is `projects/{project}/locations/global/collections/{collection}/dataStores/{dataStore}`.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/collections/[^/]+/dataStores/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1beta/{+parent}/userEvents:purge", +"request": { +"$ref": "GoogleCloudDiscoveryengineV1betaPurgeUserEventsRequest" +}, +"response": { +"$ref": "GoogleLongrunningOperation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"write": { +"description": "Writes a single user event.", +"flatPath": "v1beta/projects/{projectsId}/locations/{locationsId}/collections/{collectionsId}/dataStores/{dataStoresId}/userEvents:write", +"httpMethod": "POST", +"id": "discoveryengine.projects.locations.collections.dataStores.userEvents.write", +"parameterOrder": [ +"parent" +], +"parameters": { +"parent": { +"description": "Required. The parent resource name. If the write user event action is applied in DataStore level, the format is: `projects/{project}/locations/{location}/collections/{collection}/dataStores/{data_store}`. If the write user event action is applied in Location level, for example, the event with Document across multiple DataStore, the format is: `projects/{project}/locations/{location}`.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/collections/[^/]+/dataStores/[^/]+$", +"required": true, +"type": "string" +}, +"writeAsync": { +"description": "If set to true, the user event is written asynchronously after validation, and the API responds without waiting for the write.", +"location": "query", +"type": "boolean" +} +}, +"path": "v1beta/{+parent}/userEvents:write", +"request": { +"$ref": "GoogleCloudDiscoveryengineV1betaUserEvent" +}, +"response": { +"$ref": "GoogleCloudDiscoveryengineV1betaUserEvent" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +} +} +} +} +}, +"engines": { +"methods": { +"create": { +"description": "Creates a Engine.", +"flatPath": "v1beta/projects/{projectsId}/locations/{locationsId}/collections/{collectionsId}/engines", +"httpMethod": "POST", +"id": "discoveryengine.projects.locations.collections.engines.create", +"parameterOrder": [ +"parent" +], +"parameters": { +"engineId": { +"description": "Required. The ID to use for the Engine, which will become the final component of the Engine's resource name. This field must conform to [RFC-1034](https://tools.ietf.org/html/rfc1034) standard with a length limit of 63 characters. Otherwise, an INVALID_ARGUMENT error is returned.", +"location": "query", +"type": "string" +}, +"parent": { +"description": "Required. The parent resource name, such as `projects/{project}/locations/{location}/collections/{collection}`.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/collections/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1beta/{+parent}/engines", +"request": { +"$ref": "GoogleCloudDiscoveryengineV1betaEngine" +}, +"response": { +"$ref": "GoogleLongrunningOperation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"delete": { +"description": "Deletes a Engine.", +"flatPath": "v1beta/projects/{projectsId}/locations/{locationsId}/collections/{collectionsId}/engines/{enginesId}", +"httpMethod": "DELETE", +"id": "discoveryengine.projects.locations.collections.engines.delete", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. Full resource name of Engine, such as `projects/{project}/locations/{location}/collections/{collection_id}/engines/{engine_id}`. If the caller does not have permission to delete the Engine, regardless of whether or not it exists, a PERMISSION_DENIED error is returned. If the Engine to delete does not exist, a NOT_FOUND error is returned.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/collections/[^/]+/engines/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1beta/{+name}", +"response": { +"$ref": "GoogleLongrunningOperation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"get": { +"description": "Gets a Engine.", +"flatPath": "v1beta/projects/{projectsId}/locations/{locationsId}/collections/{collectionsId}/engines/{enginesId}", +"httpMethod": "GET", +"id": "discoveryengine.projects.locations.collections.engines.get", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. Full resource name of Engine, such as `projects/{project}/locations/{location}/collections/{collection_id}/engines/{engine_id}`.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/collections/[^/]+/engines/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1beta/{+name}", +"response": { +"$ref": "GoogleCloudDiscoveryengineV1betaEngine" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"list": { +"description": "Lists all the Engines associated with the project.", +"flatPath": "v1beta/projects/{projectsId}/locations/{locationsId}/collections/{collectionsId}/engines", +"httpMethod": "GET", +"id": "discoveryengine.projects.locations.collections.engines.list", +"parameterOrder": [ +"parent" +], +"parameters": { +"filter": { +"description": "Optional. Filter by solution type. For example: solution_type=SOLUTION_TYPE_SEARCH", +"location": "query", +"type": "string" +}, +"pageSize": { +"description": "Optional. Not supported.", +"format": "int32", +"location": "query", +"type": "integer" +}, +"pageToken": { +"description": "Optional. Not supported.", +"location": "query", +"type": "string" +}, +"parent": { +"description": "Required. The parent resource name, such as `projects/{project}/locations/{location}/collections/{collection_id}`.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/collections/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1beta/{+parent}/engines", +"response": { +"$ref": "GoogleCloudDiscoveryengineV1betaListEnginesResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"patch": { +"description": "Updates an Engine", +"flatPath": "v1beta/projects/{projectsId}/locations/{locationsId}/collections/{collectionsId}/engines/{enginesId}", +"httpMethod": "PATCH", +"id": "discoveryengine.projects.locations.collections.engines.patch", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Immutable. The fully qualified resource name of the engine. This field must be a UTF-8 encoded string with a length limit of 1024 characters. Format: `projects/{project}/locations/{location}/collections/{collection}/engines/{engine}` engine should be 1-63 characters, and valid characters are /a-z0-9*/. Otherwise, an INVALID_ARGUMENT error is returned.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/collections/[^/]+/engines/[^/]+$", +"required": true, +"type": "string" +}, +"updateMask": { +"description": "Indicates which fields in the provided Engine to update. If an unsupported or unknown field is provided, an INVALID_ARGUMENT error is returned.", +"format": "google-fieldmask", +"location": "query", +"type": "string" +} +}, +"path": "v1beta/{+name}", +"request": { +"$ref": "GoogleCloudDiscoveryengineV1betaEngine" +}, +"response": { +"$ref": "GoogleCloudDiscoveryengineV1betaEngine" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"pause": { +"description": "Pauses the training of an existing engine. Only applicable if SolutionType is SOLUTION_TYPE_RECOMMENDATION.", +"flatPath": "v1beta/projects/{projectsId}/locations/{locationsId}/collections/{collectionsId}/engines/{enginesId}:pause", +"httpMethod": "POST", +"id": "discoveryengine.projects.locations.collections.engines.pause", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. The name of the engine to pause. Format: `projects/{project}/locations/{location}/collections/{collection_id}/engines/{engine_id}`", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/collections/[^/]+/engines/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1beta/{+name}:pause", +"request": { +"$ref": "GoogleCloudDiscoveryengineV1betaPauseEngineRequest" +}, +"response": { +"$ref": "GoogleCloudDiscoveryengineV1betaEngine" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"resume": { +"description": "Resumes the training of an existing engine. Only applicable if SolutionType is SOLUTION_TYPE_RECOMMENDATION.", +"flatPath": "v1beta/projects/{projectsId}/locations/{locationsId}/collections/{collectionsId}/engines/{enginesId}:resume", +"httpMethod": "POST", +"id": "discoveryengine.projects.locations.collections.engines.resume", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. The name of the engine to resume. Format: `projects/{project}/locations/{location}/collections/{collection_id}/engines/{engine_id}`", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/collections/[^/]+/engines/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1beta/{+name}:resume", +"request": { +"$ref": "GoogleCloudDiscoveryengineV1betaResumeEngineRequest" +}, +"response": { +"$ref": "GoogleCloudDiscoveryengineV1betaEngine" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"tune": { +"description": "Tunes an existing engine. Only applicable if SolutionType is SOLUTION_TYPE_RECOMMENDATION.", +"flatPath": "v1beta/projects/{projectsId}/locations/{locationsId}/collections/{collectionsId}/engines/{enginesId}:tune", +"httpMethod": "POST", +"id": "discoveryengine.projects.locations.collections.engines.tune", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. The resource name of the engine to tune. Format: `projects/{project}/locations/{location}/collections/{collection_id}/engines/{engine_id}`", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/collections/[^/]+/engines/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1beta/{+name}:tune", +"request": { +"$ref": "GoogleCloudDiscoveryengineV1betaTuneEngineRequest" +}, +"response": { +"$ref": "GoogleLongrunningOperation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +} +}, +"resources": { +"completionConfig": { +"methods": { +"completeQuery": { +"description": "Completes the user input with advanced keyword suggestions.", +"flatPath": "v1beta/projects/{projectsId}/locations/{locationsId}/collections/{collectionsId}/engines/{enginesId}/completionConfig:completeQuery", +"httpMethod": "POST", +"id": "discoveryengine.projects.locations.collections.engines.completionConfig.completeQuery", +"parameterOrder": [ +"completionConfig" +], +"parameters": { +"completionConfig": { +"description": "Required. The completion_config of the parent dataStore or engine resource name for which the completion is performed, such as `projects/*/locations/global/collections/default_collection/dataStores/*/completionConfig` `projects/*/locations/global/collections/default_collection/engines/*/completionConfig`.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/collections/[^/]+/engines/[^/]+/completionConfig$", +"required": true, +"type": "string" +} +}, +"path": "v1beta/{+completionConfig}:completeQuery", +"request": { +"$ref": "GoogleCloudDiscoveryengineV1betaAdvancedCompleteQueryRequest" +}, +"response": { +"$ref": "GoogleCloudDiscoveryengineV1betaAdvancedCompleteQueryResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +} +} +}, +"controls": { +"methods": { +"create": { +"description": "Creates a Control. By default 1000 controls are allowed for a data store. A request can be submitted to adjust this limit. If the Control to create already exists, an ALREADY_EXISTS error is returned.", +"flatPath": "v1beta/projects/{projectsId}/locations/{locationsId}/collections/{collectionsId}/engines/{enginesId}/controls", +"httpMethod": "POST", +"id": "discoveryengine.projects.locations.collections.engines.controls.create", +"parameterOrder": [ +"parent" +], +"parameters": { +"controlId": { +"description": "Required. The ID to use for the Control, which will become the final component of the Control's resource name. This value must be within 1-63 characters. Valid characters are /a-z-_/.", +"location": "query", +"type": "string" +}, +"parent": { +"description": "Required. Full resource name of parent data store. Format: `projects/{project}/locations/{location}/collections/{collection_id}/dataStores/{data_store_id}` or `projects/{project}/locations/{location}/collections/{collection_id}/engines/{engine_id}`.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/collections/[^/]+/engines/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1beta/{+parent}/controls", +"request": { +"$ref": "GoogleCloudDiscoveryengineV1betaControl" +}, +"response": { +"$ref": "GoogleCloudDiscoveryengineV1betaControl" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"delete": { +"description": "Deletes a Control. If the Control to delete does not exist, a NOT_FOUND error is returned.", +"flatPath": "v1beta/projects/{projectsId}/locations/{locationsId}/collections/{collectionsId}/engines/{enginesId}/controls/{controlsId}", +"httpMethod": "DELETE", +"id": "discoveryengine.projects.locations.collections.engines.controls.delete", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. The resource name of the Control to delete. Format: `projects/{project}/locations/{location}/collections/{collection_id}/dataStores/{data_store_id}/controls/{control_id}`", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/collections/[^/]+/engines/[^/]+/controls/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1beta/{+name}", +"response": { +"$ref": "GoogleProtobufEmpty" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"get": { +"description": "Gets a Control.", +"flatPath": "v1beta/projects/{projectsId}/locations/{locationsId}/collections/{collectionsId}/engines/{enginesId}/controls/{controlsId}", +"httpMethod": "GET", +"id": "discoveryengine.projects.locations.collections.engines.controls.get", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. The resource name of the Control to get. Format: `projects/{project}/locations/{location}/collections/{collection_id}/dataStores/{data_store_id}/controls/{control_id}`", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/collections/[^/]+/engines/[^/]+/controls/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1beta/{+name}", +"response": { +"$ref": "GoogleCloudDiscoveryengineV1betaControl" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"list": { +"description": "Lists all Controls by their parent DataStore.", +"flatPath": "v1beta/projects/{projectsId}/locations/{locationsId}/collections/{collectionsId}/engines/{enginesId}/controls", +"httpMethod": "GET", +"id": "discoveryengine.projects.locations.collections.engines.controls.list", +"parameterOrder": [ +"parent" +], +"parameters": { +"filter": { +"description": "Optional. A filter to apply on the list results. Supported features: * List all the products under the parent branch if filter is unset. Currently this field is unsupported.", +"location": "query", +"type": "string" +}, +"pageSize": { +"description": "Optional. Maximum number of results to return. If unspecified, defaults to 50. Max allowed value is 1000.", +"format": "int32", +"location": "query", +"type": "integer" +}, +"pageToken": { +"description": "Optional. A page token, received from a previous `ListControls` call. Provide this to retrieve the subsequent page.", +"location": "query", +"type": "string" +}, +"parent": { +"description": "Required. The data store resource name. Format: `projects/{project}/locations/{location}/collections/{collection_id}/dataStores/{data_store_id}` or `projects/{project}/locations/{location}/collections/{collection_id}/engines/{engine_id}`.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/collections/[^/]+/engines/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1beta/{+parent}/controls", +"response": { +"$ref": "GoogleCloudDiscoveryengineV1betaListControlsResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"patch": { +"description": "Updates a Control. Control action type cannot be changed. If the Control to update does not exist, a NOT_FOUND error is returned.", +"flatPath": "v1beta/projects/{projectsId}/locations/{locationsId}/collections/{collectionsId}/engines/{enginesId}/controls/{controlsId}", +"httpMethod": "PATCH", +"id": "discoveryengine.projects.locations.collections.engines.controls.patch", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Immutable. Fully qualified name `projects/*/locations/global/dataStore/*/controls/*`", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/collections/[^/]+/engines/[^/]+/controls/[^/]+$", +"required": true, +"type": "string" +}, +"updateMask": { +"description": "Optional. Indicates which fields in the provided Control to update. The following are NOT supported: * Control.name * Control.solution_type If not set or empty, all supported fields are updated.", +"format": "google-fieldmask", +"location": "query", +"type": "string" +} +}, +"path": "v1beta/{+name}", +"request": { +"$ref": "GoogleCloudDiscoveryengineV1betaControl" +}, +"response": { +"$ref": "GoogleCloudDiscoveryengineV1betaControl" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +} +} +}, +"conversations": { +"methods": { +"converse": { +"description": "Converses a conversation.", +"flatPath": "v1beta/projects/{projectsId}/locations/{locationsId}/collections/{collectionsId}/engines/{enginesId}/conversations/{conversationsId}:converse", +"httpMethod": "POST", +"id": "discoveryengine.projects.locations.collections.engines.conversations.converse", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. The resource name of the Conversation to get. Format: `projects/{project}/locations/{location}/collections/{collection}/dataStores/{data_store_id}/conversations/{conversation_id}`. Use `projects/{project}/locations/{location}/collections/{collection}/dataStores/{data_store_id}/conversations/-` to activate auto session mode, which automatically creates a new conversation inside a ConverseConversation session.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/collections/[^/]+/engines/[^/]+/conversations/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1beta/{+name}:converse", +"request": { +"$ref": "GoogleCloudDiscoveryengineV1betaConverseConversationRequest" +}, +"response": { +"$ref": "GoogleCloudDiscoveryengineV1betaConverseConversationResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"create": { +"description": "Creates a Conversation. If the Conversation to create already exists, an ALREADY_EXISTS error is returned.", +"flatPath": "v1beta/projects/{projectsId}/locations/{locationsId}/collections/{collectionsId}/engines/{enginesId}/conversations", +"httpMethod": "POST", +"id": "discoveryengine.projects.locations.collections.engines.conversations.create", +"parameterOrder": [ +"parent" +], +"parameters": { +"parent": { +"description": "Required. Full resource name of parent data store. Format: `projects/{project}/locations/{location}/collections/{collection}/dataStores/{data_store_id}`", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/collections/[^/]+/engines/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1beta/{+parent}/conversations", +"request": { +"$ref": "GoogleCloudDiscoveryengineV1betaConversation" +}, +"response": { +"$ref": "GoogleCloudDiscoveryengineV1betaConversation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"delete": { +"description": "Deletes a Conversation. If the Conversation to delete does not exist, a NOT_FOUND error is returned.", +"flatPath": "v1beta/projects/{projectsId}/locations/{locationsId}/collections/{collectionsId}/engines/{enginesId}/conversations/{conversationsId}", +"httpMethod": "DELETE", +"id": "discoveryengine.projects.locations.collections.engines.conversations.delete", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. The resource name of the Conversation to delete. Format: `projects/{project}/locations/{location}/collections/{collection}/dataStores/{data_store_id}/conversations/{conversation_id}`", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/collections/[^/]+/engines/[^/]+/conversations/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1beta/{+name}", +"response": { +"$ref": "GoogleProtobufEmpty" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"get": { +"description": "Gets a Conversation.", +"flatPath": "v1beta/projects/{projectsId}/locations/{locationsId}/collections/{collectionsId}/engines/{enginesId}/conversations/{conversationsId}", +"httpMethod": "GET", +"id": "discoveryengine.projects.locations.collections.engines.conversations.get", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. The resource name of the Conversation to get. Format: `projects/{project}/locations/{location}/collections/{collection}/dataStores/{data_store_id}/conversations/{conversation_id}`", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/collections/[^/]+/engines/[^/]+/conversations/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1beta/{+name}", +"response": { +"$ref": "GoogleCloudDiscoveryengineV1betaConversation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"list": { +"description": "Lists all Conversations by their parent DataStore.", +"flatPath": "v1beta/projects/{projectsId}/locations/{locationsId}/collections/{collectionsId}/engines/{enginesId}/conversations", +"httpMethod": "GET", +"id": "discoveryengine.projects.locations.collections.engines.conversations.list", +"parameterOrder": [ +"parent" +], +"parameters": { +"filter": { +"description": "A filter to apply on the list results. The supported features are: user_pseudo_id, state. Example: \"user_pseudo_id = some_id\"", +"location": "query", +"type": "string" +}, +"orderBy": { +"description": "A comma-separated list of fields to order by, sorted in ascending order. Use \"desc\" after a field name for descending. Supported fields: * `update_time` * `create_time` * `conversation_name` Example: \"update_time desc\" \"create_time\"", +"location": "query", +"type": "string" +}, +"pageSize": { +"description": "Maximum number of results to return. If unspecified, defaults to 50. Max allowed value is 1000.", +"format": "int32", +"location": "query", +"type": "integer" +}, +"pageToken": { +"description": "A page token, received from a previous `ListConversations` call. Provide this to retrieve the subsequent page.", +"location": "query", +"type": "string" +}, +"parent": { +"description": "Required. The data store resource name. Format: `projects/{project}/locations/{location}/collections/{collection}/dataStores/{data_store_id}`", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/collections/[^/]+/engines/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1beta/{+parent}/conversations", +"response": { +"$ref": "GoogleCloudDiscoveryengineV1betaListConversationsResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"patch": { +"description": "Updates a Conversation. Conversation action type cannot be changed. If the Conversation to update does not exist, a NOT_FOUND error is returned.", +"flatPath": "v1beta/projects/{projectsId}/locations/{locationsId}/collections/{collectionsId}/engines/{enginesId}/conversations/{conversationsId}", +"httpMethod": "PATCH", +"id": "discoveryengine.projects.locations.collections.engines.conversations.patch", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Immutable. Fully qualified name `projects/{project}/locations/global/collections/{collection}/dataStore/*/conversations/*` or `projects/{project}/locations/global/collections/{collection}/engines/*/conversations/*`.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/collections/[^/]+/engines/[^/]+/conversations/[^/]+$", +"required": true, +"type": "string" +}, +"updateMask": { +"description": "Indicates which fields in the provided Conversation to update. The following are NOT supported: * Conversation.name If not set or empty, all supported fields are updated.", +"format": "google-fieldmask", +"location": "query", +"type": "string" +} +}, +"path": "v1beta/{+name}", +"request": { +"$ref": "GoogleCloudDiscoveryengineV1betaConversation" +}, +"response": { +"$ref": "GoogleCloudDiscoveryengineV1betaConversation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +} +} +}, +"operations": { +"methods": { +"get": { +"description": "Gets the latest state of a long-running operation. Clients can use this method to poll the operation result at intervals as recommended by the API service.", +"flatPath": "v1beta/projects/{projectsId}/locations/{locationsId}/collections/{collectionsId}/engines/{enginesId}/operations/{operationsId}", +"httpMethod": "GET", +"id": "discoveryengine.projects.locations.collections.engines.operations.get", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "The name of the operation resource.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/collections/[^/]+/engines/[^/]+/operations/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1beta/{+name}", +"response": { +"$ref": "GoogleLongrunningOperation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"list": { +"description": "Lists operations that match the specified filter in the request. If the server doesn't support this method, it returns `UNIMPLEMENTED`.", +"flatPath": "v1beta/projects/{projectsId}/locations/{locationsId}/collections/{collectionsId}/engines/{enginesId}/operations", +"httpMethod": "GET", +"id": "discoveryengine.projects.locations.collections.engines.operations.list", +"parameterOrder": [ +"name" +], +"parameters": { +"filter": { +"description": "The standard list filter.", +"location": "query", +"type": "string" +}, +"name": { +"description": "The name of the operation's parent resource.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/collections/[^/]+/engines/[^/]+$", +"required": true, +"type": "string" +}, +"pageSize": { +"description": "The standard list page size.", +"format": "int32", +"location": "query", +"type": "integer" +}, +"pageToken": { +"description": "The standard list page token.", +"location": "query", +"type": "string" +} +}, +"path": "v1beta/{+name}/operations", +"response": { +"$ref": "GoogleLongrunningListOperationsResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +} +} +}, +"servingConfigs": { +"methods": { +"answer": { +"description": "Answer query method.", +"flatPath": "v1beta/projects/{projectsId}/locations/{locationsId}/collections/{collectionsId}/engines/{enginesId}/servingConfigs/{servingConfigsId}:answer", +"httpMethod": "POST", +"id": "discoveryengine.projects.locations.collections.engines.servingConfigs.answer", +"parameterOrder": [ +"servingConfig" +], +"parameters": { +"servingConfig": { +"description": "Required. The resource name of the Search serving config, such as `projects/*/locations/global/collections/default_collection/engines/*/servingConfigs/default_serving_config`, or `projects/*/locations/global/collections/default_collection/dataStores/*/servingConfigs/default_serving_config`. This field is used to identify the serving configuration name, set of models used to make the search.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/collections/[^/]+/engines/[^/]+/servingConfigs/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1beta/{+servingConfig}:answer", +"request": { +"$ref": "GoogleCloudDiscoveryengineV1betaAnswerQueryRequest" +}, +"response": { +"$ref": "GoogleCloudDiscoveryengineV1betaAnswerQueryResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"get": { +"description": "Gets a ServingConfig. Returns a NotFound error if the ServingConfig does not exist.", +"flatPath": "v1beta/projects/{projectsId}/locations/{locationsId}/collections/{collectionsId}/engines/{enginesId}/servingConfigs/{servingConfigsId}", +"httpMethod": "GET", +"id": "discoveryengine.projects.locations.collections.engines.servingConfigs.get", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. The resource name of the ServingConfig to get. Format: `projects/{project}/locations/{location}/collections/{collection}/engines/{engine}/servingConfigs/{serving_config_id}`", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/collections/[^/]+/engines/[^/]+/servingConfigs/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1beta/{+name}", +"response": { +"$ref": "GoogleCloudDiscoveryengineV1betaServingConfig" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"list": { +"description": "Lists all ServingConfigs linked to this dataStore.", +"flatPath": "v1beta/projects/{projectsId}/locations/{locationsId}/collections/{collectionsId}/engines/{enginesId}/servingConfigs", +"httpMethod": "GET", +"id": "discoveryengine.projects.locations.collections.engines.servingConfigs.list", +"parameterOrder": [ +"parent" +], +"parameters": { +"pageSize": { +"description": "Optional. Maximum number of results to return. If unspecified, defaults to 100. If a value greater than 100 is provided, at most 100 results are returned.", +"format": "int32", +"location": "query", +"type": "integer" +}, +"pageToken": { +"description": "Optional. A page token, received from a previous `ListServingConfigs` call. Provide this to retrieve the subsequent page.", +"location": "query", +"type": "string" +}, +"parent": { +"description": "Required. Full resource name of the parent resource. Format: `projects/{project}/locations/{location}/collections/{collection}/engines/{engine}`", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/collections/[^/]+/engines/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1beta/{+parent}/servingConfigs", +"response": { +"$ref": "GoogleCloudDiscoveryengineV1betaListServingConfigsResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"patch": { +"description": "Updates a ServingConfig. Returns a NOT_FOUND error if the ServingConfig does not exist.", +"flatPath": "v1beta/projects/{projectsId}/locations/{locationsId}/collections/{collectionsId}/engines/{enginesId}/servingConfigs/{servingConfigsId}", +"httpMethod": "PATCH", +"id": "discoveryengine.projects.locations.collections.engines.servingConfigs.patch", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Immutable. Fully qualified name `projects/{project}/locations/{location}/collections/{collection_id}/engines/{engine_id}/servingConfigs/{serving_config_id}`", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/collections/[^/]+/engines/[^/]+/servingConfigs/[^/]+$", +"required": true, +"type": "string" +}, +"updateMask": { +"description": "Indicates which fields in the provided ServingConfig to update. The following are NOT supported: * ServingConfig.name If not set, all supported fields are updated.", +"format": "google-fieldmask", +"location": "query", +"type": "string" +} +}, +"path": "v1beta/{+name}", +"request": { +"$ref": "GoogleCloudDiscoveryengineV1betaServingConfig" +}, +"response": { +"$ref": "GoogleCloudDiscoveryengineV1betaServingConfig" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"recommend": { +"description": "Makes a recommendation, which requires a contextual user event.", +"flatPath": "v1beta/projects/{projectsId}/locations/{locationsId}/collections/{collectionsId}/engines/{enginesId}/servingConfigs/{servingConfigsId}:recommend", +"httpMethod": "POST", +"id": "discoveryengine.projects.locations.collections.engines.servingConfigs.recommend", +"parameterOrder": [ +"servingConfig" +], +"parameters": { +"servingConfig": { +"description": "Required. Full resource name of a ServingConfig: `projects/*/locations/global/collections/*/engines/*/servingConfigs/*`, or `projects/*/locations/global/collections/*/dataStores/*/servingConfigs/*` One default serving config is created along with your recommendation engine creation. The engine ID is used as the ID of the default serving config. For example, for Engine `projects/*/locations/global/collections/*/engines/my-engine`, you can use `projects/*/locations/global/collections/*/engines/my-engine/servingConfigs/my-engine` for your RecommendationService.Recommend requests.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/collections/[^/]+/engines/[^/]+/servingConfigs/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1beta/{+servingConfig}:recommend", +"request": { +"$ref": "GoogleCloudDiscoveryengineV1betaRecommendRequest" +}, +"response": { +"$ref": "GoogleCloudDiscoveryengineV1betaRecommendResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"search": { +"description": "Performs a search.", +"flatPath": "v1beta/projects/{projectsId}/locations/{locationsId}/collections/{collectionsId}/engines/{enginesId}/servingConfigs/{servingConfigsId}:search", +"httpMethod": "POST", +"id": "discoveryengine.projects.locations.collections.engines.servingConfigs.search", +"parameterOrder": [ +"servingConfig" +], +"parameters": { +"servingConfig": { +"description": "Required. The resource name of the Search serving config, such as `projects/*/locations/global/collections/default_collection/engines/*/servingConfigs/default_serving_config`, or `projects/*/locations/global/collections/default_collection/dataStores/default_data_store/servingConfigs/default_serving_config`. This field is used to identify the serving configuration name, set of models used to make the search.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/collections/[^/]+/engines/[^/]+/servingConfigs/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1beta/{+servingConfig}:search", +"request": { +"$ref": "GoogleCloudDiscoveryengineV1betaSearchRequest" +}, +"response": { +"$ref": "GoogleCloudDiscoveryengineV1betaSearchResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"searchLite": { +"description": "Performs a search. Similar to the SearchService.Search method, but a lite version that allows API key for authentication, where OAuth and IAM checks are not required. Only public website search is supported by this method. If data stores and engines not associated with public website search are specified, a `FAILED_PRECONDITION` error is returned. This method can be used for easy onboarding without having to implement an authentication backend. However, it is strongly recommended to use SearchService.Search instead with required OAuth and IAM checks to provide better data security.", +"flatPath": "v1beta/projects/{projectsId}/locations/{locationsId}/collections/{collectionsId}/engines/{enginesId}/servingConfigs/{servingConfigsId}:searchLite", +"httpMethod": "POST", +"id": "discoveryengine.projects.locations.collections.engines.servingConfigs.searchLite", +"parameterOrder": [ +"servingConfig" +], +"parameters": { +"servingConfig": { +"description": "Required. The resource name of the Search serving config, such as `projects/*/locations/global/collections/default_collection/engines/*/servingConfigs/default_serving_config`, or `projects/*/locations/global/collections/default_collection/dataStores/default_data_store/servingConfigs/default_serving_config`. This field is used to identify the serving configuration name, set of models used to make the search.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/collections/[^/]+/engines/[^/]+/servingConfigs/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1beta/{+servingConfig}:searchLite", +"request": { +"$ref": "GoogleCloudDiscoveryengineV1betaSearchRequest" +}, +"response": { +"$ref": "GoogleCloudDiscoveryengineV1betaSearchResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"streamAnswer": { +"description": "Answer query method (streaming). It takes one AnswerQueryRequest and returns multiple AnswerQueryResponse messages in a stream.", +"flatPath": "v1beta/projects/{projectsId}/locations/{locationsId}/collections/{collectionsId}/engines/{enginesId}/servingConfigs/{servingConfigsId}:streamAnswer", +"httpMethod": "POST", +"id": "discoveryengine.projects.locations.collections.engines.servingConfigs.streamAnswer", +"parameterOrder": [ +"servingConfig" +], +"parameters": { +"servingConfig": { +"description": "Required. The resource name of the Search serving config, such as `projects/*/locations/global/collections/default_collection/engines/*/servingConfigs/default_serving_config`, or `projects/*/locations/global/collections/default_collection/dataStores/*/servingConfigs/default_serving_config`. This field is used to identify the serving configuration name, set of models used to make the search.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/collections/[^/]+/engines/[^/]+/servingConfigs/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1beta/{+servingConfig}:streamAnswer", +"request": { +"$ref": "GoogleCloudDiscoveryengineV1betaAnswerQueryRequest" +}, +"response": { +"$ref": "GoogleCloudDiscoveryengineV1betaAnswerQueryResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +} +} +}, +"sessions": { +"methods": { +"create": { +"description": "Creates a Session. If the Session to create already exists, an ALREADY_EXISTS error is returned.", +"flatPath": "v1beta/projects/{projectsId}/locations/{locationsId}/collections/{collectionsId}/engines/{enginesId}/sessions", +"httpMethod": "POST", +"id": "discoveryengine.projects.locations.collections.engines.sessions.create", +"parameterOrder": [ +"parent" +], +"parameters": { +"parent": { +"description": "Required. Full resource name of parent data store. Format: `projects/{project}/locations/{location}/collections/{collection}/dataStores/{data_store_id}`", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/collections/[^/]+/engines/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1beta/{+parent}/sessions", +"request": { +"$ref": "GoogleCloudDiscoveryengineV1betaSession" +}, +"response": { +"$ref": "GoogleCloudDiscoveryengineV1betaSession" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"delete": { +"description": "Deletes a Session. If the Session to delete does not exist, a NOT_FOUND error is returned.", +"flatPath": "v1beta/projects/{projectsId}/locations/{locationsId}/collections/{collectionsId}/engines/{enginesId}/sessions/{sessionsId}", +"httpMethod": "DELETE", +"id": "discoveryengine.projects.locations.collections.engines.sessions.delete", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. The resource name of the Session to delete. Format: `projects/{project}/locations/{location}/collections/{collection}/dataStores/{data_store_id}/sessions/{session_id}`", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/collections/[^/]+/engines/[^/]+/sessions/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1beta/{+name}", +"response": { +"$ref": "GoogleProtobufEmpty" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"get": { +"description": "Gets a Session.", +"flatPath": "v1beta/projects/{projectsId}/locations/{locationsId}/collections/{collectionsId}/engines/{enginesId}/sessions/{sessionsId}", +"httpMethod": "GET", +"id": "discoveryengine.projects.locations.collections.engines.sessions.get", +"parameterOrder": [ +"name" +], +"parameters": { +"includeAnswerDetails": { +"description": "Optional. If set to true, the full session including all answer details will be returned.", +"location": "query", +"type": "boolean" +}, +"name": { +"description": "Required. The resource name of the Session to get. Format: `projects/{project}/locations/{location}/collections/{collection}/dataStores/{data_store_id}/sessions/{session_id}`", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/collections/[^/]+/engines/[^/]+/sessions/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1beta/{+name}", +"response": { +"$ref": "GoogleCloudDiscoveryengineV1betaSession" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"list": { +"description": "Lists all Sessions by their parent DataStore.", +"flatPath": "v1beta/projects/{projectsId}/locations/{locationsId}/collections/{collectionsId}/engines/{enginesId}/sessions", +"httpMethod": "GET", +"id": "discoveryengine.projects.locations.collections.engines.sessions.list", +"parameterOrder": [ +"parent" +], +"parameters": { +"filter": { +"description": "A filter to apply on the list results. The supported features are: user_pseudo_id, state. Example: \"user_pseudo_id = some_id\"", +"location": "query", +"type": "string" +}, +"orderBy": { +"description": "A comma-separated list of fields to order by, sorted in ascending order. Use \"desc\" after a field name for descending. Supported fields: * `update_time` * `create_time` * `session_name` * `is_pinned` Example: * \"update_time desc\" * \"create_time\" * \"is_pinned desc,update_time desc\": list sessions by is_pinned first, then by update_time.", +"location": "query", +"type": "string" +}, +"pageSize": { +"description": "Maximum number of results to return. If unspecified, defaults to 50. Max allowed value is 1000.", +"format": "int32", +"location": "query", +"type": "integer" +}, +"pageToken": { +"description": "A page token, received from a previous `ListSessions` call. Provide this to retrieve the subsequent page.", +"location": "query", +"type": "string" +}, +"parent": { +"description": "Required. The data store resource name. Format: `projects/{project}/locations/{location}/collections/{collection}/dataStores/{data_store_id}`", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/collections/[^/]+/engines/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1beta/{+parent}/sessions", +"response": { +"$ref": "GoogleCloudDiscoveryengineV1betaListSessionsResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"patch": { +"description": "Updates a Session. Session action type cannot be changed. If the Session to update does not exist, a NOT_FOUND error is returned.", +"flatPath": "v1beta/projects/{projectsId}/locations/{locationsId}/collections/{collectionsId}/engines/{enginesId}/sessions/{sessionsId}", +"httpMethod": "PATCH", +"id": "discoveryengine.projects.locations.collections.engines.sessions.patch", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Immutable. Fully qualified name `projects/{project}/locations/global/collections/{collection}/engines/{engine}/sessions/*`", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/collections/[^/]+/engines/[^/]+/sessions/[^/]+$", +"required": true, +"type": "string" +}, +"updateMask": { +"description": "Indicates which fields in the provided Session to update. The following are NOT supported: * Session.name If not set or empty, all supported fields are updated.", +"format": "google-fieldmask", +"location": "query", +"type": "string" +} +}, +"path": "v1beta/{+name}", +"request": { +"$ref": "GoogleCloudDiscoveryengineV1betaSession" +}, +"response": { +"$ref": "GoogleCloudDiscoveryengineV1betaSession" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +} +}, +"resources": { +"answers": { +"methods": { +"get": { +"description": "Gets a Answer.", +"flatPath": "v1beta/projects/{projectsId}/locations/{locationsId}/collections/{collectionsId}/engines/{enginesId}/sessions/{sessionsId}/answers/{answersId}", +"httpMethod": "GET", +"id": "discoveryengine.projects.locations.collections.engines.sessions.answers.get", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. The resource name of the Answer to get. Format: `projects/{project}/locations/{location}/collections/{collection}/engines/{engine_id}/sessions/{session_id}/answers/{answer_id}`", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/collections/[^/]+/engines/[^/]+/sessions/[^/]+/answers/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1beta/{+name}", +"response": { +"$ref": "GoogleCloudDiscoveryengineV1betaAnswer" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +} +} +} +} +} +} +}, +"operations": { +"methods": { +"get": { +"description": "Gets the latest state of a long-running operation. Clients can use this method to poll the operation result at intervals as recommended by the API service.", +"flatPath": "v1beta/projects/{projectsId}/locations/{locationsId}/collections/{collectionsId}/operations/{operationsId}", +"httpMethod": "GET", +"id": "discoveryengine.projects.locations.collections.operations.get", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "The name of the operation resource.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/collections/[^/]+/operations/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1beta/{+name}", +"response": { +"$ref": "GoogleLongrunningOperation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"list": { +"description": "Lists operations that match the specified filter in the request. If the server doesn't support this method, it returns `UNIMPLEMENTED`.", +"flatPath": "v1beta/projects/{projectsId}/locations/{locationsId}/collections/{collectionsId}/operations", +"httpMethod": "GET", +"id": "discoveryengine.projects.locations.collections.operations.list", +"parameterOrder": [ +"name" +], +"parameters": { +"filter": { +"description": "The standard list filter.", +"location": "query", +"type": "string" +}, +"name": { +"description": "The name of the operation's parent resource.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/collections/[^/]+$", +"required": true, +"type": "string" +}, +"pageSize": { +"description": "The standard list page size.", +"format": "int32", +"location": "query", +"type": "integer" +}, +"pageToken": { +"description": "The standard list page token.", +"location": "query", +"type": "string" +} +}, +"path": "v1beta/{+name}/operations", +"response": { +"$ref": "GoogleLongrunningListOperationsResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +} +} +} +} +}, +"dataStores": { +"methods": { +"completeQuery": { +"description": "Completes the specified user input with keyword suggestions.", +"flatPath": "v1beta/projects/{projectsId}/locations/{locationsId}/dataStores/{dataStoresId}:completeQuery", +"httpMethod": "GET", +"id": "discoveryengine.projects.locations.dataStores.completeQuery", +"parameterOrder": [ +"dataStore" +], +"parameters": { +"dataStore": { +"description": "Required. The parent data store resource name for which the completion is performed, such as `projects/*/locations/global/collections/default_collection/dataStores/default_data_store`.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/dataStores/[^/]+$", +"required": true, +"type": "string" +}, +"includeTailSuggestions": { +"description": "Indicates if tail suggestions should be returned if there are no suggestions that match the full query. Even if set to true, if there are suggestions that match the full query, those are returned and no tail suggestions are returned.", +"location": "query", +"type": "boolean" +}, +"query": { +"description": "Required. The typeahead input used to fetch suggestions. Maximum length is 128 characters.", +"location": "query", +"type": "string" +}, +"queryModel": { +"description": "Specifies the autocomplete data model. This overrides any model specified in the Configuration > Autocomplete section of the Cloud console. Currently supported values: * `document` - Using suggestions generated from user-imported documents. * `search-history` - Using suggestions generated from the past history of SearchService.Search API calls. Do not use it when there is no traffic for Search API. * `user-event` - Using suggestions generated from user-imported search events. * `document-completable` - Using suggestions taken directly from user-imported document fields marked as completable. Default values: * `document` is the default model for regular dataStores. * `search-history` is the default model for site search dataStores.", +"location": "query", +"type": "string" +}, +"userPseudoId": { +"description": "A unique identifier for tracking visitors. For example, this could be implemented with an HTTP cookie, which should be able to uniquely identify a visitor on a single device. This unique identifier should not change if the visitor logs in or out of the website. This field should NOT have a fixed value such as `unknown_visitor`. This should be the same identifier as UserEvent.user_pseudo_id and SearchRequest.user_pseudo_id. The field must be a UTF-8 encoded string with a length limit of 128 characters. Otherwise, an `INVALID_ARGUMENT` error is returned.", +"location": "query", +"type": "string" +} +}, +"path": "v1beta/{+dataStore}:completeQuery", +"response": { +"$ref": "GoogleCloudDiscoveryengineV1betaCompleteQueryResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"create": { +"description": "Creates a DataStore. DataStore is for storing Documents. To serve these documents for Search, or Recommendation use case, an Engine needs to be created separately.", +"flatPath": "v1beta/projects/{projectsId}/locations/{locationsId}/dataStores", +"httpMethod": "POST", +"id": "discoveryengine.projects.locations.dataStores.create", +"parameterOrder": [ +"parent" +], +"parameters": { +"cmekConfigName": { +"description": "Resource name of the CmekConfig to use for protecting this DataStore.", +"location": "query", +"type": "string" +}, +"createAdvancedSiteSearch": { +"description": "A boolean flag indicating whether user want to directly create an advanced data store for site search. If the data store is not configured as site search (GENERIC vertical and PUBLIC_WEBSITE content_config), this flag will be ignored.", +"location": "query", +"type": "boolean" +}, +"dataStoreId": { +"description": "Required. The ID to use for the DataStore, which will become the final component of the DataStore's resource name. This field must conform to [RFC-1034](https://tools.ietf.org/html/rfc1034) standard with a length limit of 63 characters. Otherwise, an INVALID_ARGUMENT error is returned.", +"location": "query", +"type": "string" +}, +"disableCmek": { +"description": "DataStore without CMEK protections. If a default CmekConfig is set for the project, setting this field will override the default CmekConfig as well.", +"location": "query", +"type": "boolean" +}, +"parent": { +"description": "Required. The parent resource name, such as `projects/{project}/locations/{location}/collections/{collection}`.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+$", +"required": true, +"type": "string" +}, +"skipDefaultSchemaCreation": { +"description": "A boolean flag indicating whether to skip the default schema creation for the data store. Only enable this flag if you are certain that the default schema is incompatible with your use case. If set to true, you must manually create a schema for the data store before any documents can be ingested. This flag cannot be specified if `data_store.starting_schema` is specified.", +"location": "query", +"type": "boolean" +} +}, +"path": "v1beta/{+parent}/dataStores", +"request": { +"$ref": "GoogleCloudDiscoveryengineV1betaDataStore" +}, +"response": { +"$ref": "GoogleLongrunningOperation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"delete": { +"description": "Deletes a DataStore.", +"flatPath": "v1beta/projects/{projectsId}/locations/{locationsId}/dataStores/{dataStoresId}", +"httpMethod": "DELETE", +"id": "discoveryengine.projects.locations.dataStores.delete", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. Full resource name of DataStore, such as `projects/{project}/locations/{location}/collections/{collection_id}/dataStores/{data_store_id}`. If the caller does not have permission to delete the DataStore, regardless of whether or not it exists, a PERMISSION_DENIED error is returned. If the DataStore to delete does not exist, a NOT_FOUND error is returned.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/dataStores/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1beta/{+name}", +"response": { +"$ref": "GoogleLongrunningOperation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"get": { +"description": "Gets a DataStore.", +"flatPath": "v1beta/projects/{projectsId}/locations/{locationsId}/dataStores/{dataStoresId}", +"httpMethod": "GET", +"id": "discoveryengine.projects.locations.dataStores.get", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. Full resource name of DataStore, such as `projects/{project}/locations/{location}/collections/{collection_id}/dataStores/{data_store_id}`. If the caller does not have permission to access the DataStore, regardless of whether or not it exists, a PERMISSION_DENIED error is returned. If the requested DataStore does not exist, a NOT_FOUND error is returned.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/dataStores/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1beta/{+name}", +"response": { +"$ref": "GoogleCloudDiscoveryengineV1betaDataStore" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"getSiteSearchEngine": { +"description": "Gets the SiteSearchEngine.", +"flatPath": "v1beta/projects/{projectsId}/locations/{locationsId}/dataStores/{dataStoresId}/siteSearchEngine", +"httpMethod": "GET", +"id": "discoveryengine.projects.locations.dataStores.getSiteSearchEngine", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. Resource name of SiteSearchEngine, such as `projects/{project}/locations/{location}/collections/{collection}/dataStores/{data_store}/siteSearchEngine`. If the caller does not have permission to access the [SiteSearchEngine], regardless of whether or not it exists, a PERMISSION_DENIED error is returned.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/dataStores/[^/]+/siteSearchEngine$", +"required": true, +"type": "string" +} +}, +"path": "v1beta/{+name}", +"response": { +"$ref": "GoogleCloudDiscoveryengineV1betaSiteSearchEngine" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"list": { +"description": "Lists all the DataStores associated with the project.", +"flatPath": "v1beta/projects/{projectsId}/locations/{locationsId}/dataStores", +"httpMethod": "GET", +"id": "discoveryengine.projects.locations.dataStores.list", +"parameterOrder": [ +"parent" +], +"parameters": { +"filter": { +"description": "Filter by solution type . For example: `filter = 'solution_type:SOLUTION_TYPE_SEARCH'`", +"location": "query", +"type": "string" +}, +"pageSize": { +"description": "Maximum number of DataStores to return. If unspecified, defaults to 10. The maximum allowed value is 50. Values above 50 will be coerced to 50. If this field is negative, an INVALID_ARGUMENT is returned.", +"format": "int32", +"location": "query", +"type": "integer" +}, +"pageToken": { +"description": "A page token ListDataStoresResponse.next_page_token, received from a previous DataStoreService.ListDataStores call. Provide this to retrieve the subsequent page. When paginating, all other parameters provided to DataStoreService.ListDataStores must match the call that provided the page token. Otherwise, an INVALID_ARGUMENT error is returned.", +"location": "query", +"type": "string" +}, +"parent": { +"description": "Required. The parent branch resource name, such as `projects/{project}/locations/{location}/collections/{collection_id}`. If the caller does not have permission to list DataStores under this location, regardless of whether or not this data store exists, a PERMISSION_DENIED error is returned.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1beta/{+parent}/dataStores", +"response": { +"$ref": "GoogleCloudDiscoveryengineV1betaListDataStoresResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"patch": { +"description": "Updates a DataStore", +"flatPath": "v1beta/projects/{projectsId}/locations/{locationsId}/dataStores/{dataStoresId}", +"httpMethod": "PATCH", +"id": "discoveryengine.projects.locations.dataStores.patch", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Immutable. The full resource name of the data store. Format: `projects/{project}/locations/{location}/collections/{collection_id}/dataStores/{data_store_id}`. This field must be a UTF-8 encoded string with a length limit of 1024 characters.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/dataStores/[^/]+$", +"required": true, +"type": "string" +}, +"updateMask": { +"description": "Indicates which fields in the provided DataStore to update. If an unsupported or unknown field is provided, an INVALID_ARGUMENT error is returned.", +"format": "google-fieldmask", +"location": "query", +"type": "string" +} +}, +"path": "v1beta/{+name}", +"request": { +"$ref": "GoogleCloudDiscoveryengineV1betaDataStore" +}, +"response": { +"$ref": "GoogleCloudDiscoveryengineV1betaDataStore" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +} +}, +"resources": { +"branches": { +"methods": { +"batchGetDocumentsMetadata": { +"description": "Gets index freshness metadata for Documents. Supported for website search only.", +"flatPath": "v1beta/projects/{projectsId}/locations/{locationsId}/dataStores/{dataStoresId}/branches/{branchesId}/batchGetDocumentsMetadata", +"httpMethod": "GET", +"id": "discoveryengine.projects.locations.dataStores.branches.batchGetDocumentsMetadata", +"parameterOrder": [ +"parent" +], +"parameters": { +"matcher.fhirMatcher.fhirResources": { +"description": "Required. The FHIR resources to match by. Format: projects/{project}/locations/{location}/datasets/{dataset}/fhirStores/{fhir_store}/fhir/{resource_type}/{fhir_resource_id}", +"location": "query", +"repeated": true, +"type": "string" +}, +"matcher.urisMatcher.uris": { +"description": "The exact URIs to match by.", +"location": "query", +"repeated": true, +"type": "string" +}, +"parent": { +"description": "Required. The parent branch resource name, such as `projects/{project}/locations/{location}/collections/{collection}/dataStores/{data_store}/branches/{branch}`.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/dataStores/[^/]+/branches/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1beta/{+parent}/batchGetDocumentsMetadata", +"response": { +"$ref": "GoogleCloudDiscoveryengineV1betaBatchGetDocumentsMetadataResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +} +}, +"resources": { +"documents": { +"methods": { +"create": { +"description": "Creates a Document.", +"flatPath": "v1beta/projects/{projectsId}/locations/{locationsId}/dataStores/{dataStoresId}/branches/{branchesId}/documents", +"httpMethod": "POST", +"id": "discoveryengine.projects.locations.dataStores.branches.documents.create", +"parameterOrder": [ +"parent" +], +"parameters": { +"documentId": { +"description": "Required. The ID to use for the Document, which becomes the final component of the Document.name. If the caller does not have permission to create the Document, regardless of whether or not it exists, a `PERMISSION_DENIED` error is returned. This field must be unique among all Documents with the same parent. Otherwise, an `ALREADY_EXISTS` error is returned. This field must conform to [RFC-1034](https://tools.ietf.org/html/rfc1034) standard with a length limit of 128 characters. Otherwise, an `INVALID_ARGUMENT` error is returned.", +"location": "query", +"type": "string" +}, +"parent": { +"description": "Required. The parent resource name, such as `projects/{project}/locations/{location}/collections/{collection}/dataStores/{data_store}/branches/{branch}`.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/dataStores/[^/]+/branches/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1beta/{+parent}/documents", +"request": { +"$ref": "GoogleCloudDiscoveryengineV1betaDocument" +}, +"response": { +"$ref": "GoogleCloudDiscoveryengineV1betaDocument" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"delete": { +"description": "Deletes a Document.", +"flatPath": "v1beta/projects/{projectsId}/locations/{locationsId}/dataStores/{dataStoresId}/branches/{branchesId}/documents/{documentsId}", +"httpMethod": "DELETE", +"id": "discoveryengine.projects.locations.dataStores.branches.documents.delete", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. Full resource name of Document, such as `projects/{project}/locations/{location}/collections/{collection}/dataStores/{data_store}/branches/{branch}/documents/{document}`. If the caller does not have permission to delete the Document, regardless of whether or not it exists, a `PERMISSION_DENIED` error is returned. If the Document to delete does not exist, a `NOT_FOUND` error is returned.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/dataStores/[^/]+/branches/[^/]+/documents/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1beta/{+name}", +"response": { +"$ref": "GoogleProtobufEmpty" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"get": { +"description": "Gets a Document.", +"flatPath": "v1beta/projects/{projectsId}/locations/{locationsId}/dataStores/{dataStoresId}/branches/{branchesId}/documents/{documentsId}", +"httpMethod": "GET", +"id": "discoveryengine.projects.locations.dataStores.branches.documents.get", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. Full resource name of Document, such as `projects/{project}/locations/{location}/collections/{collection}/dataStores/{data_store}/branches/{branch}/documents/{document}`. If the caller does not have permission to access the Document, regardless of whether or not it exists, a `PERMISSION_DENIED` error is returned. If the requested Document does not exist, a `NOT_FOUND` error is returned.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/dataStores/[^/]+/branches/[^/]+/documents/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1beta/{+name}", +"response": { +"$ref": "GoogleCloudDiscoveryengineV1betaDocument" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"import": { +"description": "Bulk import of multiple Documents. Request processing may be synchronous. Non-existing items are created. Note: It is possible for a subset of the Documents to be successfully updated.", +"flatPath": "v1beta/projects/{projectsId}/locations/{locationsId}/dataStores/{dataStoresId}/branches/{branchesId}/documents:import", +"httpMethod": "POST", +"id": "discoveryengine.projects.locations.dataStores.branches.documents.import", +"parameterOrder": [ +"parent" +], +"parameters": { +"parent": { +"description": "Required. The parent branch resource name, such as `projects/{project}/locations/{location}/collections/{collection}/dataStores/{data_store}/branches/{branch}`. Requires create/update permission.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/dataStores/[^/]+/branches/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1beta/{+parent}/documents:import", +"request": { +"$ref": "GoogleCloudDiscoveryengineV1betaImportDocumentsRequest" +}, +"response": { +"$ref": "GoogleLongrunningOperation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"list": { +"description": "Gets a list of Documents.", +"flatPath": "v1beta/projects/{projectsId}/locations/{locationsId}/dataStores/{dataStoresId}/branches/{branchesId}/documents", +"httpMethod": "GET", +"id": "discoveryengine.projects.locations.dataStores.branches.documents.list", +"parameterOrder": [ +"parent" +], +"parameters": { +"pageSize": { +"description": "Maximum number of Documents to return. If unspecified, defaults to 100. The maximum allowed value is 1000. Values above 1000 are set to 1000. If this field is negative, an `INVALID_ARGUMENT` error is returned.", +"format": "int32", +"location": "query", +"type": "integer" +}, +"pageToken": { +"description": "A page token ListDocumentsResponse.next_page_token, received from a previous DocumentService.ListDocuments call. Provide this to retrieve the subsequent page. When paginating, all other parameters provided to DocumentService.ListDocuments must match the call that provided the page token. Otherwise, an `INVALID_ARGUMENT` error is returned.", +"location": "query", +"type": "string" +}, +"parent": { +"description": "Required. The parent branch resource name, such as `projects/{project}/locations/{location}/collections/{collection}/dataStores/{data_store}/branches/{branch}`. Use `default_branch` as the branch ID, to list documents under the default branch. If the caller does not have permission to list Documents under this branch, regardless of whether or not this branch exists, a `PERMISSION_DENIED` error is returned.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/dataStores/[^/]+/branches/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1beta/{+parent}/documents", +"response": { +"$ref": "GoogleCloudDiscoveryengineV1betaListDocumentsResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"patch": { +"description": "Updates a Document.", +"flatPath": "v1beta/projects/{projectsId}/locations/{locationsId}/dataStores/{dataStoresId}/branches/{branchesId}/documents/{documentsId}", +"httpMethod": "PATCH", +"id": "discoveryengine.projects.locations.dataStores.branches.documents.patch", +"parameterOrder": [ +"name" +], +"parameters": { +"allowMissing": { +"description": "If set to `true` and the Document is not found, a new Document is be created.", +"location": "query", +"type": "boolean" +}, +"name": { +"description": "Immutable. The full resource name of the document. Format: `projects/{project}/locations/{location}/collections/{collection}/dataStores/{data_store}/branches/{branch}/documents/{document_id}`. This field must be a UTF-8 encoded string with a length limit of 1024 characters.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/dataStores/[^/]+/branches/[^/]+/documents/[^/]+$", +"required": true, +"type": "string" +}, +"updateMask": { +"description": "Indicates which fields in the provided imported 'document' to update. If not set, by default updates all fields.", +"format": "google-fieldmask", +"location": "query", +"type": "string" +} +}, +"path": "v1beta/{+name}", +"request": { +"$ref": "GoogleCloudDiscoveryengineV1betaDocument" +}, +"response": { +"$ref": "GoogleCloudDiscoveryengineV1betaDocument" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"purge": { +"description": "Permanently deletes all selected Documents in a branch. This process is asynchronous. Depending on the number of Documents to be deleted, this operation can take hours to complete. Before the delete operation completes, some Documents might still be returned by DocumentService.GetDocument or DocumentService.ListDocuments. To get a list of the Documents to be deleted, set PurgeDocumentsRequest.force to false.", +"flatPath": "v1beta/projects/{projectsId}/locations/{locationsId}/dataStores/{dataStoresId}/branches/{branchesId}/documents:purge", +"httpMethod": "POST", +"id": "discoveryengine.projects.locations.dataStores.branches.documents.purge", +"parameterOrder": [ +"parent" +], +"parameters": { +"parent": { +"description": "Required. The parent resource name, such as `projects/{project}/locations/{location}/collections/{collection}/dataStores/{data_store}/branches/{branch}`.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/dataStores/[^/]+/branches/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1beta/{+parent}/documents:purge", +"request": { +"$ref": "GoogleCloudDiscoveryengineV1betaPurgeDocumentsRequest" +}, +"response": { +"$ref": "GoogleLongrunningOperation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +} +} +}, +"operations": { +"methods": { +"cancel": { +"description": "Starts asynchronous cancellation on a long-running operation. The server makes a best effort to cancel the operation, but success is not guaranteed. If the server doesn't support this method, it returns `google.rpc.Code.UNIMPLEMENTED`. Clients can use Operations.GetOperation or other methods to check whether the cancellation succeeded or whether the operation completed despite cancellation. On successful cancellation, the operation is not deleted; instead, it becomes an operation with an Operation.error value with a google.rpc.Status.code of `1`, corresponding to `Code.CANCELLED`.", +"flatPath": "v1beta/projects/{projectsId}/locations/{locationsId}/dataStores/{dataStoresId}/branches/{branchesId}/operations/{operationsId}:cancel", +"httpMethod": "POST", +"id": "discoveryengine.projects.locations.dataStores.branches.operations.cancel", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "The name of the operation resource to be cancelled.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/dataStores/[^/]+/branches/[^/]+/operations/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1beta/{+name}:cancel", +"request": { +"$ref": "GoogleLongrunningCancelOperationRequest" +}, +"response": { +"$ref": "GoogleProtobufEmpty" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"get": { +"description": "Gets the latest state of a long-running operation. Clients can use this method to poll the operation result at intervals as recommended by the API service.", +"flatPath": "v1beta/projects/{projectsId}/locations/{locationsId}/dataStores/{dataStoresId}/branches/{branchesId}/operations/{operationsId}", +"httpMethod": "GET", +"id": "discoveryengine.projects.locations.dataStores.branches.operations.get", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "The name of the operation resource.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/dataStores/[^/]+/branches/[^/]+/operations/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1beta/{+name}", +"response": { +"$ref": "GoogleLongrunningOperation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"list": { +"description": "Lists operations that match the specified filter in the request. If the server doesn't support this method, it returns `UNIMPLEMENTED`.", +"flatPath": "v1beta/projects/{projectsId}/locations/{locationsId}/dataStores/{dataStoresId}/branches/{branchesId}/operations", +"httpMethod": "GET", +"id": "discoveryengine.projects.locations.dataStores.branches.operations.list", +"parameterOrder": [ +"name" +], +"parameters": { +"filter": { +"description": "The standard list filter.", +"location": "query", +"type": "string" +}, +"name": { +"description": "The name of the operation's parent resource.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/dataStores/[^/]+/branches/[^/]+$", +"required": true, +"type": "string" +}, +"pageSize": { +"description": "The standard list page size.", +"format": "int32", +"location": "query", +"type": "integer" +}, +"pageToken": { +"description": "The standard list page token.", +"location": "query", +"type": "string" +} +}, +"path": "v1beta/{+name}/operations", +"response": { +"$ref": "GoogleLongrunningListOperationsResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +} +} +} +} +}, +"completionConfig": { +"methods": { +"completeQuery": { +"description": "Completes the user input with advanced keyword suggestions.", +"flatPath": "v1beta/projects/{projectsId}/locations/{locationsId}/dataStores/{dataStoresId}/completionConfig:completeQuery", +"httpMethod": "POST", +"id": "discoveryengine.projects.locations.dataStores.completionConfig.completeQuery", +"parameterOrder": [ +"completionConfig" +], +"parameters": { +"completionConfig": { +"description": "Required. The completion_config of the parent dataStore or engine resource name for which the completion is performed, such as `projects/*/locations/global/collections/default_collection/dataStores/*/completionConfig` `projects/*/locations/global/collections/default_collection/engines/*/completionConfig`.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/dataStores/[^/]+/completionConfig$", +"required": true, +"type": "string" +} +}, +"path": "v1beta/{+completionConfig}:completeQuery", +"request": { +"$ref": "GoogleCloudDiscoveryengineV1betaAdvancedCompleteQueryRequest" +}, +"response": { +"$ref": "GoogleCloudDiscoveryengineV1betaAdvancedCompleteQueryResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +} +} +}, +"completionSuggestions": { +"methods": { +"import": { +"description": "Imports CompletionSuggestions for a DataStore.", +"flatPath": "v1beta/projects/{projectsId}/locations/{locationsId}/dataStores/{dataStoresId}/completionSuggestions:import", +"httpMethod": "POST", +"id": "discoveryengine.projects.locations.dataStores.completionSuggestions.import", +"parameterOrder": [ +"parent" +], +"parameters": { +"parent": { +"description": "Required. The parent data store resource name for which to import customer autocomplete suggestions. Follows pattern `projects/*/locations/*/collections/*/dataStores/*`", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/dataStores/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1beta/{+parent}/completionSuggestions:import", +"request": { +"$ref": "GoogleCloudDiscoveryengineV1betaImportCompletionSuggestionsRequest" +}, +"response": { +"$ref": "GoogleLongrunningOperation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"purge": { +"description": "Permanently deletes all CompletionSuggestions for a DataStore.", +"flatPath": "v1beta/projects/{projectsId}/locations/{locationsId}/dataStores/{dataStoresId}/completionSuggestions:purge", +"httpMethod": "POST", +"id": "discoveryengine.projects.locations.dataStores.completionSuggestions.purge", +"parameterOrder": [ +"parent" +], +"parameters": { +"parent": { +"description": "Required. The parent data store resource name for which to purge completion suggestions. Follows pattern projects/*/locations/*/collections/*/dataStores/*.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/dataStores/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1beta/{+parent}/completionSuggestions:purge", +"request": { +"$ref": "GoogleCloudDiscoveryengineV1betaPurgeCompletionSuggestionsRequest" +}, +"response": { +"$ref": "GoogleLongrunningOperation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +} +} +}, +"controls": { +"methods": { +"create": { +"description": "Creates a Control. By default 1000 controls are allowed for a data store. A request can be submitted to adjust this limit. If the Control to create already exists, an ALREADY_EXISTS error is returned.", +"flatPath": "v1beta/projects/{projectsId}/locations/{locationsId}/dataStores/{dataStoresId}/controls", +"httpMethod": "POST", +"id": "discoveryengine.projects.locations.dataStores.controls.create", +"parameterOrder": [ +"parent" +], +"parameters": { +"controlId": { +"description": "Required. The ID to use for the Control, which will become the final component of the Control's resource name. This value must be within 1-63 characters. Valid characters are /a-z-_/.", +"location": "query", +"type": "string" +}, +"parent": { +"description": "Required. Full resource name of parent data store. Format: `projects/{project}/locations/{location}/collections/{collection_id}/dataStores/{data_store_id}` or `projects/{project}/locations/{location}/collections/{collection_id}/engines/{engine_id}`.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/dataStores/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1beta/{+parent}/controls", +"request": { +"$ref": "GoogleCloudDiscoveryengineV1betaControl" +}, +"response": { +"$ref": "GoogleCloudDiscoveryengineV1betaControl" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"delete": { +"description": "Deletes a Control. If the Control to delete does not exist, a NOT_FOUND error is returned.", +"flatPath": "v1beta/projects/{projectsId}/locations/{locationsId}/dataStores/{dataStoresId}/controls/{controlsId}", +"httpMethod": "DELETE", +"id": "discoveryengine.projects.locations.dataStores.controls.delete", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. The resource name of the Control to delete. Format: `projects/{project}/locations/{location}/collections/{collection_id}/dataStores/{data_store_id}/controls/{control_id}`", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/dataStores/[^/]+/controls/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1beta/{+name}", +"response": { +"$ref": "GoogleProtobufEmpty" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"get": { +"description": "Gets a Control.", +"flatPath": "v1beta/projects/{projectsId}/locations/{locationsId}/dataStores/{dataStoresId}/controls/{controlsId}", +"httpMethod": "GET", +"id": "discoveryengine.projects.locations.dataStores.controls.get", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. The resource name of the Control to get. Format: `projects/{project}/locations/{location}/collections/{collection_id}/dataStores/{data_store_id}/controls/{control_id}`", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/dataStores/[^/]+/controls/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1beta/{+name}", +"response": { +"$ref": "GoogleCloudDiscoveryengineV1betaControl" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"list": { +"description": "Lists all Controls by their parent DataStore.", +"flatPath": "v1beta/projects/{projectsId}/locations/{locationsId}/dataStores/{dataStoresId}/controls", +"httpMethod": "GET", +"id": "discoveryengine.projects.locations.dataStores.controls.list", +"parameterOrder": [ +"parent" +], +"parameters": { +"filter": { +"description": "Optional. A filter to apply on the list results. Supported features: * List all the products under the parent branch if filter is unset. Currently this field is unsupported.", +"location": "query", +"type": "string" +}, +"pageSize": { +"description": "Optional. Maximum number of results to return. If unspecified, defaults to 50. Max allowed value is 1000.", +"format": "int32", +"location": "query", +"type": "integer" +}, +"pageToken": { +"description": "Optional. A page token, received from a previous `ListControls` call. Provide this to retrieve the subsequent page.", +"location": "query", +"type": "string" +}, +"parent": { +"description": "Required. The data store resource name. Format: `projects/{project}/locations/{location}/collections/{collection_id}/dataStores/{data_store_id}` or `projects/{project}/locations/{location}/collections/{collection_id}/engines/{engine_id}`.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/dataStores/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1beta/{+parent}/controls", +"response": { +"$ref": "GoogleCloudDiscoveryengineV1betaListControlsResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"patch": { +"description": "Updates a Control. Control action type cannot be changed. If the Control to update does not exist, a NOT_FOUND error is returned.", +"flatPath": "v1beta/projects/{projectsId}/locations/{locationsId}/dataStores/{dataStoresId}/controls/{controlsId}", +"httpMethod": "PATCH", +"id": "discoveryengine.projects.locations.dataStores.controls.patch", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Immutable. Fully qualified name `projects/*/locations/global/dataStore/*/controls/*`", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/dataStores/[^/]+/controls/[^/]+$", +"required": true, +"type": "string" +}, +"updateMask": { +"description": "Optional. Indicates which fields in the provided Control to update. The following are NOT supported: * Control.name * Control.solution_type If not set or empty, all supported fields are updated.", +"format": "google-fieldmask", +"location": "query", +"type": "string" +} +}, +"path": "v1beta/{+name}", +"request": { +"$ref": "GoogleCloudDiscoveryengineV1betaControl" +}, +"response": { +"$ref": "GoogleCloudDiscoveryengineV1betaControl" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +} +} +}, +"conversations": { +"methods": { +"converse": { +"description": "Converses a conversation.", +"flatPath": "v1beta/projects/{projectsId}/locations/{locationsId}/dataStores/{dataStoresId}/conversations/{conversationsId}:converse", +"httpMethod": "POST", +"id": "discoveryengine.projects.locations.dataStores.conversations.converse", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. The resource name of the Conversation to get. Format: `projects/{project}/locations/{location}/collections/{collection}/dataStores/{data_store_id}/conversations/{conversation_id}`. Use `projects/{project}/locations/{location}/collections/{collection}/dataStores/{data_store_id}/conversations/-` to activate auto session mode, which automatically creates a new conversation inside a ConverseConversation session.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/dataStores/[^/]+/conversations/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1beta/{+name}:converse", +"request": { +"$ref": "GoogleCloudDiscoveryengineV1betaConverseConversationRequest" +}, +"response": { +"$ref": "GoogleCloudDiscoveryengineV1betaConverseConversationResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"create": { +"description": "Creates a Conversation. If the Conversation to create already exists, an ALREADY_EXISTS error is returned.", +"flatPath": "v1beta/projects/{projectsId}/locations/{locationsId}/dataStores/{dataStoresId}/conversations", +"httpMethod": "POST", +"id": "discoveryengine.projects.locations.dataStores.conversations.create", +"parameterOrder": [ +"parent" +], +"parameters": { +"parent": { +"description": "Required. Full resource name of parent data store. Format: `projects/{project}/locations/{location}/collections/{collection}/dataStores/{data_store_id}`", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/dataStores/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1beta/{+parent}/conversations", +"request": { +"$ref": "GoogleCloudDiscoveryengineV1betaConversation" +}, +"response": { +"$ref": "GoogleCloudDiscoveryengineV1betaConversation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"delete": { +"description": "Deletes a Conversation. If the Conversation to delete does not exist, a NOT_FOUND error is returned.", +"flatPath": "v1beta/projects/{projectsId}/locations/{locationsId}/dataStores/{dataStoresId}/conversations/{conversationsId}", +"httpMethod": "DELETE", +"id": "discoveryengine.projects.locations.dataStores.conversations.delete", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. The resource name of the Conversation to delete. Format: `projects/{project}/locations/{location}/collections/{collection}/dataStores/{data_store_id}/conversations/{conversation_id}`", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/dataStores/[^/]+/conversations/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1beta/{+name}", +"response": { +"$ref": "GoogleProtobufEmpty" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"get": { +"description": "Gets a Conversation.", +"flatPath": "v1beta/projects/{projectsId}/locations/{locationsId}/dataStores/{dataStoresId}/conversations/{conversationsId}", +"httpMethod": "GET", +"id": "discoveryengine.projects.locations.dataStores.conversations.get", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. The resource name of the Conversation to get. Format: `projects/{project}/locations/{location}/collections/{collection}/dataStores/{data_store_id}/conversations/{conversation_id}`", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/dataStores/[^/]+/conversations/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1beta/{+name}", +"response": { +"$ref": "GoogleCloudDiscoveryengineV1betaConversation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"list": { +"description": "Lists all Conversations by their parent DataStore.", +"flatPath": "v1beta/projects/{projectsId}/locations/{locationsId}/dataStores/{dataStoresId}/conversations", +"httpMethod": "GET", +"id": "discoveryengine.projects.locations.dataStores.conversations.list", +"parameterOrder": [ +"parent" +], +"parameters": { +"filter": { +"description": "A filter to apply on the list results. The supported features are: user_pseudo_id, state. Example: \"user_pseudo_id = some_id\"", +"location": "query", +"type": "string" +}, +"orderBy": { +"description": "A comma-separated list of fields to order by, sorted in ascending order. Use \"desc\" after a field name for descending. Supported fields: * `update_time` * `create_time` * `conversation_name` Example: \"update_time desc\" \"create_time\"", +"location": "query", +"type": "string" +}, +"pageSize": { +"description": "Maximum number of results to return. If unspecified, defaults to 50. Max allowed value is 1000.", +"format": "int32", +"location": "query", +"type": "integer" +}, +"pageToken": { +"description": "A page token, received from a previous `ListConversations` call. Provide this to retrieve the subsequent page.", +"location": "query", +"type": "string" +}, +"parent": { +"description": "Required. The data store resource name. Format: `projects/{project}/locations/{location}/collections/{collection}/dataStores/{data_store_id}`", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/dataStores/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1beta/{+parent}/conversations", +"response": { +"$ref": "GoogleCloudDiscoveryengineV1betaListConversationsResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"patch": { +"description": "Updates a Conversation. Conversation action type cannot be changed. If the Conversation to update does not exist, a NOT_FOUND error is returned.", +"flatPath": "v1beta/projects/{projectsId}/locations/{locationsId}/dataStores/{dataStoresId}/conversations/{conversationsId}", +"httpMethod": "PATCH", +"id": "discoveryengine.projects.locations.dataStores.conversations.patch", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Immutable. Fully qualified name `projects/{project}/locations/global/collections/{collection}/dataStore/*/conversations/*` or `projects/{project}/locations/global/collections/{collection}/engines/*/conversations/*`.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/dataStores/[^/]+/conversations/[^/]+$", +"required": true, +"type": "string" +}, +"updateMask": { +"description": "Indicates which fields in the provided Conversation to update. The following are NOT supported: * Conversation.name If not set or empty, all supported fields are updated.", +"format": "google-fieldmask", +"location": "query", +"type": "string" +} +}, +"path": "v1beta/{+name}", +"request": { +"$ref": "GoogleCloudDiscoveryengineV1betaConversation" +}, +"response": { +"$ref": "GoogleCloudDiscoveryengineV1betaConversation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +} +} +}, +"models": { +"resources": { +"operations": { +"methods": { +"get": { +"description": "Gets the latest state of a long-running operation. Clients can use this method to poll the operation result at intervals as recommended by the API service.", +"flatPath": "v1beta/projects/{projectsId}/locations/{locationsId}/dataStores/{dataStoresId}/models/{modelsId}/operations/{operationsId}", +"httpMethod": "GET", +"id": "discoveryengine.projects.locations.dataStores.models.operations.get", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "The name of the operation resource.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/dataStores/[^/]+/models/[^/]+/operations/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1beta/{+name}", +"response": { +"$ref": "GoogleLongrunningOperation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"list": { +"description": "Lists operations that match the specified filter in the request. If the server doesn't support this method, it returns `UNIMPLEMENTED`.", +"flatPath": "v1beta/projects/{projectsId}/locations/{locationsId}/dataStores/{dataStoresId}/models/{modelsId}/operations", +"httpMethod": "GET", +"id": "discoveryengine.projects.locations.dataStores.models.operations.list", +"parameterOrder": [ +"name" +], +"parameters": { +"filter": { +"description": "The standard list filter.", +"location": "query", +"type": "string" +}, +"name": { +"description": "The name of the operation's parent resource.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/dataStores/[^/]+/models/[^/]+$", +"required": true, +"type": "string" +}, +"pageSize": { +"description": "The standard list page size.", +"format": "int32", +"location": "query", +"type": "integer" +}, +"pageToken": { +"description": "The standard list page token.", +"location": "query", +"type": "string" +} +}, +"path": "v1beta/{+name}/operations", +"response": { +"$ref": "GoogleLongrunningListOperationsResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +} +} +} +} +}, +"operations": { +"methods": { +"get": { +"description": "Gets the latest state of a long-running operation. Clients can use this method to poll the operation result at intervals as recommended by the API service.", +"flatPath": "v1beta/projects/{projectsId}/locations/{locationsId}/dataStores/{dataStoresId}/operations/{operationsId}", +"httpMethod": "GET", +"id": "discoveryengine.projects.locations.dataStores.operations.get", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "The name of the operation resource.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/dataStores/[^/]+/operations/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1beta/{+name}", +"response": { +"$ref": "GoogleLongrunningOperation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"list": { +"description": "Lists operations that match the specified filter in the request. If the server doesn't support this method, it returns `UNIMPLEMENTED`.", +"flatPath": "v1beta/projects/{projectsId}/locations/{locationsId}/dataStores/{dataStoresId}/operations", +"httpMethod": "GET", +"id": "discoveryengine.projects.locations.dataStores.operations.list", +"parameterOrder": [ +"name" +], +"parameters": { +"filter": { +"description": "The standard list filter.", +"location": "query", +"type": "string" +}, +"name": { +"description": "The name of the operation's parent resource.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/dataStores/[^/]+$", +"required": true, +"type": "string" +}, +"pageSize": { +"description": "The standard list page size.", +"format": "int32", +"location": "query", +"type": "integer" +}, +"pageToken": { +"description": "The standard list page token.", +"location": "query", +"type": "string" +} +}, +"path": "v1beta/{+name}/operations", +"response": { +"$ref": "GoogleLongrunningListOperationsResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +} +} +}, +"schemas": { +"methods": { +"create": { +"description": "Creates a Schema.", +"flatPath": "v1beta/projects/{projectsId}/locations/{locationsId}/dataStores/{dataStoresId}/schemas", +"httpMethod": "POST", +"id": "discoveryengine.projects.locations.dataStores.schemas.create", +"parameterOrder": [ +"parent" +], +"parameters": { +"parent": { +"description": "Required. The parent data store resource name, in the format of `projects/{project}/locations/{location}/collections/{collection}/dataStores/{data_store}`.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/dataStores/[^/]+$", +"required": true, +"type": "string" +}, +"schemaId": { +"description": "Required. The ID to use for the Schema, which becomes the final component of the Schema.name. This field should conform to [RFC-1034](https://tools.ietf.org/html/rfc1034) standard with a length limit of 63 characters.", +"location": "query", +"type": "string" +} +}, +"path": "v1beta/{+parent}/schemas", +"request": { +"$ref": "GoogleCloudDiscoveryengineV1betaSchema" +}, +"response": { +"$ref": "GoogleLongrunningOperation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"delete": { +"description": "Deletes a Schema.", +"flatPath": "v1beta/projects/{projectsId}/locations/{locationsId}/dataStores/{dataStoresId}/schemas/{schemasId}", +"httpMethod": "DELETE", +"id": "discoveryengine.projects.locations.dataStores.schemas.delete", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. The full resource name of the schema, in the format of `projects/{project}/locations/{location}/collections/{collection}/dataStores/{data_store}/schemas/{schema}`.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/dataStores/[^/]+/schemas/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1beta/{+name}", +"response": { +"$ref": "GoogleLongrunningOperation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"get": { +"description": "Gets a Schema.", +"flatPath": "v1beta/projects/{projectsId}/locations/{locationsId}/dataStores/{dataStoresId}/schemas/{schemasId}", +"httpMethod": "GET", +"id": "discoveryengine.projects.locations.dataStores.schemas.get", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. The full resource name of the schema, in the format of `projects/{project}/locations/{location}/collections/{collection}/dataStores/{data_store}/schemas/{schema}`.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/dataStores/[^/]+/schemas/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1beta/{+name}", +"response": { +"$ref": "GoogleCloudDiscoveryengineV1betaSchema" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"list": { +"description": "Gets a list of Schemas.", +"flatPath": "v1beta/projects/{projectsId}/locations/{locationsId}/dataStores/{dataStoresId}/schemas", +"httpMethod": "GET", +"id": "discoveryengine.projects.locations.dataStores.schemas.list", +"parameterOrder": [ +"parent" +], +"parameters": { +"pageSize": { +"description": "The maximum number of Schemas to return. The service may return fewer than this value. If unspecified, at most 100 Schemas are returned. The maximum value is 1000; values above 1000 are set to 1000.", +"format": "int32", +"location": "query", +"type": "integer" +}, +"pageToken": { +"description": "A page token, received from a previous SchemaService.ListSchemas call. Provide this to retrieve the subsequent page. When paginating, all other parameters provided to SchemaService.ListSchemas must match the call that provided the page token.", +"location": "query", +"type": "string" +}, +"parent": { +"description": "Required. The parent data store resource name, in the format of `projects/{project}/locations/{location}/collections/{collection}/dataStores/{data_store}`.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/dataStores/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1beta/{+parent}/schemas", +"response": { +"$ref": "GoogleCloudDiscoveryengineV1betaListSchemasResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"patch": { +"description": "Updates a Schema.", +"flatPath": "v1beta/projects/{projectsId}/locations/{locationsId}/dataStores/{dataStoresId}/schemas/{schemasId}", +"httpMethod": "PATCH", +"id": "discoveryengine.projects.locations.dataStores.schemas.patch", +"parameterOrder": [ +"name" +], +"parameters": { +"allowMissing": { +"description": "If set to true, and the Schema is not found, a new Schema is created. In this situation, `update_mask` is ignored.", +"location": "query", +"type": "boolean" +}, +"name": { +"description": "Immutable. The full resource name of the schema, in the format of `projects/{project}/locations/{location}/collections/{collection}/dataStores/{data_store}/schemas/{schema}`. This field must be a UTF-8 encoded string with a length limit of 1024 characters.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/dataStores/[^/]+/schemas/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1beta/{+name}", +"request": { +"$ref": "GoogleCloudDiscoveryengineV1betaSchema" +}, +"response": { +"$ref": "GoogleLongrunningOperation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +} +} +}, +"servingConfigs": { +"methods": { +"answer": { +"description": "Answer query method.", +"flatPath": "v1beta/projects/{projectsId}/locations/{locationsId}/dataStores/{dataStoresId}/servingConfigs/{servingConfigsId}:answer", +"httpMethod": "POST", +"id": "discoveryengine.projects.locations.dataStores.servingConfigs.answer", +"parameterOrder": [ +"servingConfig" +], +"parameters": { +"servingConfig": { +"description": "Required. The resource name of the Search serving config, such as `projects/*/locations/global/collections/default_collection/engines/*/servingConfigs/default_serving_config`, or `projects/*/locations/global/collections/default_collection/dataStores/*/servingConfigs/default_serving_config`. This field is used to identify the serving configuration name, set of models used to make the search.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/dataStores/[^/]+/servingConfigs/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1beta/{+servingConfig}:answer", +"request": { +"$ref": "GoogleCloudDiscoveryengineV1betaAnswerQueryRequest" +}, +"response": { +"$ref": "GoogleCloudDiscoveryengineV1betaAnswerQueryResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"get": { +"description": "Gets a ServingConfig. Returns a NotFound error if the ServingConfig does not exist.", +"flatPath": "v1beta/projects/{projectsId}/locations/{locationsId}/dataStores/{dataStoresId}/servingConfigs/{servingConfigsId}", +"httpMethod": "GET", +"id": "discoveryengine.projects.locations.dataStores.servingConfigs.get", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. The resource name of the ServingConfig to get. Format: `projects/{project}/locations/{location}/collections/{collection}/engines/{engine}/servingConfigs/{serving_config_id}`", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/dataStores/[^/]+/servingConfigs/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1beta/{+name}", +"response": { +"$ref": "GoogleCloudDiscoveryengineV1betaServingConfig" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"list": { +"description": "Lists all ServingConfigs linked to this dataStore.", +"flatPath": "v1beta/projects/{projectsId}/locations/{locationsId}/dataStores/{dataStoresId}/servingConfigs", +"httpMethod": "GET", +"id": "discoveryengine.projects.locations.dataStores.servingConfigs.list", +"parameterOrder": [ +"parent" +], +"parameters": { +"pageSize": { +"description": "Optional. Maximum number of results to return. If unspecified, defaults to 100. If a value greater than 100 is provided, at most 100 results are returned.", +"format": "int32", +"location": "query", +"type": "integer" +}, +"pageToken": { +"description": "Optional. A page token, received from a previous `ListServingConfigs` call. Provide this to retrieve the subsequent page.", +"location": "query", +"type": "string" +}, +"parent": { +"description": "Required. Full resource name of the parent resource. Format: `projects/{project}/locations/{location}/collections/{collection}/engines/{engine}`", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/dataStores/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1beta/{+parent}/servingConfigs", +"response": { +"$ref": "GoogleCloudDiscoveryengineV1betaListServingConfigsResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"patch": { +"description": "Updates a ServingConfig. Returns a NOT_FOUND error if the ServingConfig does not exist.", +"flatPath": "v1beta/projects/{projectsId}/locations/{locationsId}/dataStores/{dataStoresId}/servingConfigs/{servingConfigsId}", +"httpMethod": "PATCH", +"id": "discoveryengine.projects.locations.dataStores.servingConfigs.patch", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Immutable. Fully qualified name `projects/{project}/locations/{location}/collections/{collection_id}/engines/{engine_id}/servingConfigs/{serving_config_id}`", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/dataStores/[^/]+/servingConfigs/[^/]+$", +"required": true, +"type": "string" +}, +"updateMask": { +"description": "Indicates which fields in the provided ServingConfig to update. The following are NOT supported: * ServingConfig.name If not set, all supported fields are updated.", +"format": "google-fieldmask", +"location": "query", +"type": "string" +} +}, +"path": "v1beta/{+name}", +"request": { +"$ref": "GoogleCloudDiscoveryengineV1betaServingConfig" +}, +"response": { +"$ref": "GoogleCloudDiscoveryengineV1betaServingConfig" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"recommend": { +"description": "Makes a recommendation, which requires a contextual user event.", +"flatPath": "v1beta/projects/{projectsId}/locations/{locationsId}/dataStores/{dataStoresId}/servingConfigs/{servingConfigsId}:recommend", +"httpMethod": "POST", +"id": "discoveryengine.projects.locations.dataStores.servingConfigs.recommend", +"parameterOrder": [ +"servingConfig" +], +"parameters": { +"servingConfig": { +"description": "Required. Full resource name of a ServingConfig: `projects/*/locations/global/collections/*/engines/*/servingConfigs/*`, or `projects/*/locations/global/collections/*/dataStores/*/servingConfigs/*` One default serving config is created along with your recommendation engine creation. The engine ID is used as the ID of the default serving config. For example, for Engine `projects/*/locations/global/collections/*/engines/my-engine`, you can use `projects/*/locations/global/collections/*/engines/my-engine/servingConfigs/my-engine` for your RecommendationService.Recommend requests.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/dataStores/[^/]+/servingConfigs/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1beta/{+servingConfig}:recommend", +"request": { +"$ref": "GoogleCloudDiscoveryengineV1betaRecommendRequest" +}, +"response": { +"$ref": "GoogleCloudDiscoveryengineV1betaRecommendResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"search": { +"description": "Performs a search.", +"flatPath": "v1beta/projects/{projectsId}/locations/{locationsId}/dataStores/{dataStoresId}/servingConfigs/{servingConfigsId}:search", +"httpMethod": "POST", +"id": "discoveryengine.projects.locations.dataStores.servingConfigs.search", +"parameterOrder": [ +"servingConfig" +], +"parameters": { +"servingConfig": { +"description": "Required. The resource name of the Search serving config, such as `projects/*/locations/global/collections/default_collection/engines/*/servingConfigs/default_serving_config`, or `projects/*/locations/global/collections/default_collection/dataStores/default_data_store/servingConfigs/default_serving_config`. This field is used to identify the serving configuration name, set of models used to make the search.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/dataStores/[^/]+/servingConfigs/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1beta/{+servingConfig}:search", +"request": { +"$ref": "GoogleCloudDiscoveryengineV1betaSearchRequest" +}, +"response": { +"$ref": "GoogleCloudDiscoveryengineV1betaSearchResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"searchLite": { +"description": "Performs a search. Similar to the SearchService.Search method, but a lite version that allows API key for authentication, where OAuth and IAM checks are not required. Only public website search is supported by this method. If data stores and engines not associated with public website search are specified, a `FAILED_PRECONDITION` error is returned. This method can be used for easy onboarding without having to implement an authentication backend. However, it is strongly recommended to use SearchService.Search instead with required OAuth and IAM checks to provide better data security.", +"flatPath": "v1beta/projects/{projectsId}/locations/{locationsId}/dataStores/{dataStoresId}/servingConfigs/{servingConfigsId}:searchLite", +"httpMethod": "POST", +"id": "discoveryengine.projects.locations.dataStores.servingConfigs.searchLite", +"parameterOrder": [ +"servingConfig" +], +"parameters": { +"servingConfig": { +"description": "Required. The resource name of the Search serving config, such as `projects/*/locations/global/collections/default_collection/engines/*/servingConfigs/default_serving_config`, or `projects/*/locations/global/collections/default_collection/dataStores/default_data_store/servingConfigs/default_serving_config`. This field is used to identify the serving configuration name, set of models used to make the search.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/dataStores/[^/]+/servingConfigs/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1beta/{+servingConfig}:searchLite", +"request": { +"$ref": "GoogleCloudDiscoveryengineV1betaSearchRequest" +}, +"response": { +"$ref": "GoogleCloudDiscoveryengineV1betaSearchResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"streamAnswer": { +"description": "Answer query method (streaming). It takes one AnswerQueryRequest and returns multiple AnswerQueryResponse messages in a stream.", +"flatPath": "v1beta/projects/{projectsId}/locations/{locationsId}/dataStores/{dataStoresId}/servingConfigs/{servingConfigsId}:streamAnswer", +"httpMethod": "POST", +"id": "discoveryengine.projects.locations.dataStores.servingConfigs.streamAnswer", +"parameterOrder": [ +"servingConfig" +], +"parameters": { +"servingConfig": { +"description": "Required. The resource name of the Search serving config, such as `projects/*/locations/global/collections/default_collection/engines/*/servingConfigs/default_serving_config`, or `projects/*/locations/global/collections/default_collection/dataStores/*/servingConfigs/default_serving_config`. This field is used to identify the serving configuration name, set of models used to make the search.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/dataStores/[^/]+/servingConfigs/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1beta/{+servingConfig}:streamAnswer", +"request": { +"$ref": "GoogleCloudDiscoveryengineV1betaAnswerQueryRequest" +}, +"response": { +"$ref": "GoogleCloudDiscoveryengineV1betaAnswerQueryResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +} +} +}, +"sessions": { +"methods": { +"create": { +"description": "Creates a Session. If the Session to create already exists, an ALREADY_EXISTS error is returned.", +"flatPath": "v1beta/projects/{projectsId}/locations/{locationsId}/dataStores/{dataStoresId}/sessions", +"httpMethod": "POST", +"id": "discoveryengine.projects.locations.dataStores.sessions.create", +"parameterOrder": [ +"parent" +], +"parameters": { +"parent": { +"description": "Required. Full resource name of parent data store. Format: `projects/{project}/locations/{location}/collections/{collection}/dataStores/{data_store_id}`", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/dataStores/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1beta/{+parent}/sessions", +"request": { +"$ref": "GoogleCloudDiscoveryengineV1betaSession" +}, +"response": { +"$ref": "GoogleCloudDiscoveryengineV1betaSession" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"delete": { +"description": "Deletes a Session. If the Session to delete does not exist, a NOT_FOUND error is returned.", +"flatPath": "v1beta/projects/{projectsId}/locations/{locationsId}/dataStores/{dataStoresId}/sessions/{sessionsId}", +"httpMethod": "DELETE", +"id": "discoveryengine.projects.locations.dataStores.sessions.delete", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. The resource name of the Session to delete. Format: `projects/{project}/locations/{location}/collections/{collection}/dataStores/{data_store_id}/sessions/{session_id}`", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/dataStores/[^/]+/sessions/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1beta/{+name}", +"response": { +"$ref": "GoogleProtobufEmpty" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"get": { +"description": "Gets a Session.", +"flatPath": "v1beta/projects/{projectsId}/locations/{locationsId}/dataStores/{dataStoresId}/sessions/{sessionsId}", +"httpMethod": "GET", +"id": "discoveryengine.projects.locations.dataStores.sessions.get", +"parameterOrder": [ +"name" +], +"parameters": { +"includeAnswerDetails": { +"description": "Optional. If set to true, the full session including all answer details will be returned.", +"location": "query", +"type": "boolean" +}, +"name": { +"description": "Required. The resource name of the Session to get. Format: `projects/{project}/locations/{location}/collections/{collection}/dataStores/{data_store_id}/sessions/{session_id}`", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/dataStores/[^/]+/sessions/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1beta/{+name}", +"response": { +"$ref": "GoogleCloudDiscoveryengineV1betaSession" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"list": { +"description": "Lists all Sessions by their parent DataStore.", +"flatPath": "v1beta/projects/{projectsId}/locations/{locationsId}/dataStores/{dataStoresId}/sessions", +"httpMethod": "GET", +"id": "discoveryengine.projects.locations.dataStores.sessions.list", +"parameterOrder": [ +"parent" +], +"parameters": { +"filter": { +"description": "A filter to apply on the list results. The supported features are: user_pseudo_id, state. Example: \"user_pseudo_id = some_id\"", +"location": "query", +"type": "string" +}, +"orderBy": { +"description": "A comma-separated list of fields to order by, sorted in ascending order. Use \"desc\" after a field name for descending. Supported fields: * `update_time` * `create_time` * `session_name` * `is_pinned` Example: * \"update_time desc\" * \"create_time\" * \"is_pinned desc,update_time desc\": list sessions by is_pinned first, then by update_time.", +"location": "query", +"type": "string" +}, +"pageSize": { +"description": "Maximum number of results to return. If unspecified, defaults to 50. Max allowed value is 1000.", +"format": "int32", +"location": "query", +"type": "integer" +}, +"pageToken": { +"description": "A page token, received from a previous `ListSessions` call. Provide this to retrieve the subsequent page.", +"location": "query", +"type": "string" +}, +"parent": { +"description": "Required. The data store resource name. Format: `projects/{project}/locations/{location}/collections/{collection}/dataStores/{data_store_id}`", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/dataStores/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1beta/{+parent}/sessions", +"response": { +"$ref": "GoogleCloudDiscoveryengineV1betaListSessionsResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"patch": { +"description": "Updates a Session. Session action type cannot be changed. If the Session to update does not exist, a NOT_FOUND error is returned.", +"flatPath": "v1beta/projects/{projectsId}/locations/{locationsId}/dataStores/{dataStoresId}/sessions/{sessionsId}", +"httpMethod": "PATCH", +"id": "discoveryengine.projects.locations.dataStores.sessions.patch", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Immutable. Fully qualified name `projects/{project}/locations/global/collections/{collection}/engines/{engine}/sessions/*`", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/dataStores/[^/]+/sessions/[^/]+$", +"required": true, +"type": "string" +}, +"updateMask": { +"description": "Indicates which fields in the provided Session to update. The following are NOT supported: * Session.name If not set or empty, all supported fields are updated.", +"format": "google-fieldmask", +"location": "query", +"type": "string" +} +}, +"path": "v1beta/{+name}", +"request": { +"$ref": "GoogleCloudDiscoveryengineV1betaSession" +}, +"response": { +"$ref": "GoogleCloudDiscoveryengineV1betaSession" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +} +}, +"resources": { +"answers": { +"methods": { +"get": { +"description": "Gets a Answer.", +"flatPath": "v1beta/projects/{projectsId}/locations/{locationsId}/dataStores/{dataStoresId}/sessions/{sessionsId}/answers/{answersId}", +"httpMethod": "GET", +"id": "discoveryengine.projects.locations.dataStores.sessions.answers.get", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. The resource name of the Answer to get. Format: `projects/{project}/locations/{location}/collections/{collection}/engines/{engine_id}/sessions/{session_id}/answers/{answer_id}`", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/dataStores/[^/]+/sessions/[^/]+/answers/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1beta/{+name}", +"response": { +"$ref": "GoogleCloudDiscoveryengineV1betaAnswer" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +} +} +} +} +}, +"siteSearchEngine": { +"methods": { +"disableAdvancedSiteSearch": { +"description": "Downgrade from advanced site search to basic site search.", +"flatPath": "v1beta/projects/{projectsId}/locations/{locationsId}/dataStores/{dataStoresId}/siteSearchEngine:disableAdvancedSiteSearch", +"httpMethod": "POST", +"id": "discoveryengine.projects.locations.dataStores.siteSearchEngine.disableAdvancedSiteSearch", +"parameterOrder": [ +"siteSearchEngine" +], +"parameters": { +"siteSearchEngine": { +"description": "Required. Full resource name of the SiteSearchEngine, such as `projects/{project}/locations/{location}/dataStores/{data_store_id}/siteSearchEngine`.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/dataStores/[^/]+/siteSearchEngine$", +"required": true, +"type": "string" +} +}, +"path": "v1beta/{+siteSearchEngine}:disableAdvancedSiteSearch", +"request": { +"$ref": "GoogleCloudDiscoveryengineV1betaDisableAdvancedSiteSearchRequest" +}, +"response": { +"$ref": "GoogleLongrunningOperation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"enableAdvancedSiteSearch": { +"description": "Upgrade from basic site search to advanced site search.", +"flatPath": "v1beta/projects/{projectsId}/locations/{locationsId}/dataStores/{dataStoresId}/siteSearchEngine:enableAdvancedSiteSearch", +"httpMethod": "POST", +"id": "discoveryengine.projects.locations.dataStores.siteSearchEngine.enableAdvancedSiteSearch", +"parameterOrder": [ +"siteSearchEngine" +], +"parameters": { +"siteSearchEngine": { +"description": "Required. Full resource name of the SiteSearchEngine, such as `projects/{project}/locations/{location}/dataStores/{data_store_id}/siteSearchEngine`.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/dataStores/[^/]+/siteSearchEngine$", +"required": true, +"type": "string" +} +}, +"path": "v1beta/{+siteSearchEngine}:enableAdvancedSiteSearch", +"request": { +"$ref": "GoogleCloudDiscoveryengineV1betaEnableAdvancedSiteSearchRequest" +}, +"response": { +"$ref": "GoogleLongrunningOperation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"recrawlUris": { +"description": "Request on-demand recrawl for a list of URIs.", +"flatPath": "v1beta/projects/{projectsId}/locations/{locationsId}/dataStores/{dataStoresId}/siteSearchEngine:recrawlUris", +"httpMethod": "POST", +"id": "discoveryengine.projects.locations.dataStores.siteSearchEngine.recrawlUris", +"parameterOrder": [ +"siteSearchEngine" +], +"parameters": { +"siteSearchEngine": { +"description": "Required. Full resource name of the SiteSearchEngine, such as `projects/*/locations/*/collections/*/dataStores/*/siteSearchEngine`.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/dataStores/[^/]+/siteSearchEngine$", +"required": true, +"type": "string" +} +}, +"path": "v1beta/{+siteSearchEngine}:recrawlUris", +"request": { +"$ref": "GoogleCloudDiscoveryengineV1betaRecrawlUrisRequest" +}, +"response": { +"$ref": "GoogleLongrunningOperation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +} +}, +"resources": { +"sitemaps": { +"methods": { +"create": { +"description": "Creates a Sitemap.", +"flatPath": "v1beta/projects/{projectsId}/locations/{locationsId}/dataStores/{dataStoresId}/siteSearchEngine/sitemaps", +"httpMethod": "POST", +"id": "discoveryengine.projects.locations.dataStores.siteSearchEngine.sitemaps.create", +"parameterOrder": [ +"parent" +], +"parameters": { +"parent": { +"description": "Required. Parent resource name of the SiteSearchEngine, such as `projects/*/locations/*/collections/*/dataStores/*/siteSearchEngine`.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/dataStores/[^/]+/siteSearchEngine$", +"required": true, +"type": "string" +} +}, +"path": "v1beta/{+parent}/sitemaps", +"request": { +"$ref": "GoogleCloudDiscoveryengineV1betaSitemap" +}, +"response": { +"$ref": "GoogleLongrunningOperation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"delete": { +"description": "Deletes a Sitemap.", +"flatPath": "v1beta/projects/{projectsId}/locations/{locationsId}/dataStores/{dataStoresId}/siteSearchEngine/sitemaps/{sitemapsId}", +"httpMethod": "DELETE", +"id": "discoveryengine.projects.locations.dataStores.siteSearchEngine.sitemaps.delete", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. Full resource name of Sitemap, such as `projects/{project}/locations/{location}/collections/{collection}/dataStores/{data_store}/siteSearchEngine/sitemaps/{sitemap}`. If the caller does not have permission to access the Sitemap, regardless of whether or not it exists, a PERMISSION_DENIED error is returned. If the requested Sitemap does not exist, a NOT_FOUND error is returned.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/dataStores/[^/]+/siteSearchEngine/sitemaps/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1beta/{+name}", +"response": { +"$ref": "GoogleLongrunningOperation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"fetch": { +"description": "Fetch Sitemaps in a DataStore.", +"flatPath": "v1beta/projects/{projectsId}/locations/{locationsId}/dataStores/{dataStoresId}/siteSearchEngine/sitemaps:fetch", +"httpMethod": "GET", +"id": "discoveryengine.projects.locations.dataStores.siteSearchEngine.sitemaps.fetch", +"parameterOrder": [ +"parent" +], +"parameters": { +"matcher.urisMatcher.uris": { +"description": "The Sitemap uris.", +"location": "query", +"repeated": true, +"type": "string" +}, +"parent": { +"description": "Required. Parent resource name of the SiteSearchEngine, such as `projects/*/locations/*/collections/*/dataStores/*/siteSearchEngine`.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/dataStores/[^/]+/siteSearchEngine$", +"required": true, +"type": "string" +} +}, +"path": "v1beta/{+parent}/sitemaps:fetch", +"response": { +"$ref": "GoogleCloudDiscoveryengineV1betaFetchSitemapsResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +} +} +}, +"targetSites": { +"methods": { +"batchCreate": { +"description": "Creates TargetSite in a batch.", +"flatPath": "v1beta/projects/{projectsId}/locations/{locationsId}/dataStores/{dataStoresId}/siteSearchEngine/targetSites:batchCreate", +"httpMethod": "POST", +"id": "discoveryengine.projects.locations.dataStores.siteSearchEngine.targetSites.batchCreate", +"parameterOrder": [ +"parent" +], +"parameters": { +"parent": { +"description": "Required. The parent resource shared by all TargetSites being created. `projects/{project}/locations/{location}/collections/{collection}/dataStores/{data_store}/siteSearchEngine`. The parent field in the CreateBookRequest messages must either be empty or match this field.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/dataStores/[^/]+/siteSearchEngine$", +"required": true, +"type": "string" +} +}, +"path": "v1beta/{+parent}/targetSites:batchCreate", +"request": { +"$ref": "GoogleCloudDiscoveryengineV1betaBatchCreateTargetSitesRequest" +}, +"response": { +"$ref": "GoogleLongrunningOperation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"create": { +"description": "Creates a TargetSite.", +"flatPath": "v1beta/projects/{projectsId}/locations/{locationsId}/dataStores/{dataStoresId}/siteSearchEngine/targetSites", +"httpMethod": "POST", +"id": "discoveryengine.projects.locations.dataStores.siteSearchEngine.targetSites.create", +"parameterOrder": [ +"parent" +], +"parameters": { +"parent": { +"description": "Required. Parent resource name of TargetSite, such as `projects/{project}/locations/{location}/collections/{collection}/dataStores/{data_store}/siteSearchEngine`.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/dataStores/[^/]+/siteSearchEngine$", +"required": true, +"type": "string" +} +}, +"path": "v1beta/{+parent}/targetSites", +"request": { +"$ref": "GoogleCloudDiscoveryengineV1betaTargetSite" +}, +"response": { +"$ref": "GoogleLongrunningOperation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"delete": { +"description": "Deletes a TargetSite.", +"flatPath": "v1beta/projects/{projectsId}/locations/{locationsId}/dataStores/{dataStoresId}/siteSearchEngine/targetSites/{targetSitesId}", +"httpMethod": "DELETE", +"id": "discoveryengine.projects.locations.dataStores.siteSearchEngine.targetSites.delete", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. Full resource name of TargetSite, such as `projects/{project}/locations/{location}/collections/{collection}/dataStores/{data_store}/siteSearchEngine/targetSites/{target_site}`. If the caller does not have permission to access the TargetSite, regardless of whether or not it exists, a PERMISSION_DENIED error is returned. If the requested TargetSite does not exist, a NOT_FOUND error is returned.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/dataStores/[^/]+/siteSearchEngine/targetSites/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1beta/{+name}", +"response": { +"$ref": "GoogleLongrunningOperation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"get": { +"description": "Gets a TargetSite.", +"flatPath": "v1beta/projects/{projectsId}/locations/{locationsId}/dataStores/{dataStoresId}/siteSearchEngine/targetSites/{targetSitesId}", +"httpMethod": "GET", +"id": "discoveryengine.projects.locations.dataStores.siteSearchEngine.targetSites.get", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. Full resource name of TargetSite, such as `projects/{project}/locations/{location}/collections/{collection}/dataStores/{data_store}/siteSearchEngine/targetSites/{target_site}`. If the caller does not have permission to access the TargetSite, regardless of whether or not it exists, a PERMISSION_DENIED error is returned. If the requested TargetSite does not exist, a NOT_FOUND error is returned.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/dataStores/[^/]+/siteSearchEngine/targetSites/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1beta/{+name}", +"response": { +"$ref": "GoogleCloudDiscoveryengineV1betaTargetSite" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"list": { +"description": "Gets a list of TargetSites.", +"flatPath": "v1beta/projects/{projectsId}/locations/{locationsId}/dataStores/{dataStoresId}/siteSearchEngine/targetSites", +"httpMethod": "GET", +"id": "discoveryengine.projects.locations.dataStores.siteSearchEngine.targetSites.list", +"parameterOrder": [ +"parent" +], +"parameters": { +"pageSize": { +"description": "Requested page size. Server may return fewer items than requested. If unspecified, server will pick an appropriate default. The maximum value is 1000; values above 1000 will be coerced to 1000. If this field is negative, an INVALID_ARGUMENT error is returned.", +"format": "int32", +"location": "query", +"type": "integer" +}, +"pageToken": { +"description": "A page token, received from a previous `ListTargetSites` call. Provide this to retrieve the subsequent page. When paginating, all other parameters provided to `ListTargetSites` must match the call that provided the page token.", +"location": "query", +"type": "string" +}, +"parent": { +"description": "Required. The parent site search engine resource name, such as `projects/{project}/locations/{location}/collections/{collection}/dataStores/{data_store}/siteSearchEngine`. If the caller does not have permission to list TargetSites under this site search engine, regardless of whether or not this branch exists, a PERMISSION_DENIED error is returned.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/dataStores/[^/]+/siteSearchEngine$", +"required": true, +"type": "string" +} +}, +"path": "v1beta/{+parent}/targetSites", +"response": { +"$ref": "GoogleCloudDiscoveryengineV1betaListTargetSitesResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"patch": { +"description": "Updates a TargetSite.", +"flatPath": "v1beta/projects/{projectsId}/locations/{locationsId}/dataStores/{dataStoresId}/siteSearchEngine/targetSites/{targetSitesId}", +"httpMethod": "PATCH", +"id": "discoveryengine.projects.locations.dataStores.siteSearchEngine.targetSites.patch", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Output only. The fully qualified resource name of the target site. `projects/{project}/locations/{location}/collections/{collection}/dataStores/{data_store}/siteSearchEngine/targetSites/{target_site}` The `target_site_id` is system-generated.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/dataStores/[^/]+/siteSearchEngine/targetSites/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1beta/{+name}", +"request": { +"$ref": "GoogleCloudDiscoveryengineV1betaTargetSite" +}, +"response": { +"$ref": "GoogleLongrunningOperation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +} +} +} +} +}, +"suggestionDenyListEntries": { +"methods": { +"import": { +"description": "Imports all SuggestionDenyListEntry for a DataStore.", +"flatPath": "v1beta/projects/{projectsId}/locations/{locationsId}/dataStores/{dataStoresId}/suggestionDenyListEntries:import", +"httpMethod": "POST", +"id": "discoveryengine.projects.locations.dataStores.suggestionDenyListEntries.import", +"parameterOrder": [ +"parent" +], +"parameters": { +"parent": { +"description": "Required. The parent data store resource name for which to import denylist entries. Follows pattern projects/*/locations/*/collections/*/dataStores/*.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/dataStores/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1beta/{+parent}/suggestionDenyListEntries:import", +"request": { +"$ref": "GoogleCloudDiscoveryengineV1betaImportSuggestionDenyListEntriesRequest" +}, +"response": { +"$ref": "GoogleLongrunningOperation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"purge": { +"description": "Permanently deletes all SuggestionDenyListEntry for a DataStore.", +"flatPath": "v1beta/projects/{projectsId}/locations/{locationsId}/dataStores/{dataStoresId}/suggestionDenyListEntries:purge", +"httpMethod": "POST", +"id": "discoveryengine.projects.locations.dataStores.suggestionDenyListEntries.purge", +"parameterOrder": [ +"parent" +], +"parameters": { +"parent": { +"description": "Required. The parent data store resource name for which to import denylist entries. Follows pattern projects/*/locations/*/collections/*/dataStores/*.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/dataStores/.*$", +"required": true, +"type": "string" +} +}, +"path": "v1beta/{+parent}/suggestionDenyListEntries:purge", +"request": { +"$ref": "GoogleCloudDiscoveryengineV1betaPurgeSuggestionDenyListEntriesRequest" +}, +"response": { +"$ref": "GoogleLongrunningOperation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +} +} +}, +"userEvents": { +"methods": { +"collect": { +"description": "Writes a single user event from the browser. This uses a GET request to due to browser restriction of POST-ing to a third-party domain. This method is used only by the Discovery Engine API JavaScript pixel and Google Tag Manager. Users should not call this method directly.", +"flatPath": "v1beta/projects/{projectsId}/locations/{locationsId}/dataStores/{dataStoresId}/userEvents:collect", +"httpMethod": "GET", +"id": "discoveryengine.projects.locations.dataStores.userEvents.collect", +"parameterOrder": [ +"parent" +], +"parameters": { +"ets": { +"description": "The event timestamp in milliseconds. This prevents browser caching of otherwise identical get requests. The name is abbreviated to reduce the payload bytes.", +"format": "int64", +"location": "query", +"type": "string" +}, +"parent": { +"description": "Required. The parent resource name. If the collect user event action is applied in DataStore level, the format is: `projects/{project}/locations/{location}/collections/{collection}/dataStores/{data_store}`. If the collect user event action is applied in Location level, for example, the event with Document across multiple DataStore, the format is: `projects/{project}/locations/{location}`.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/dataStores/[^/]+$", +"required": true, +"type": "string" +}, +"uri": { +"description": "The URL including cgi-parameters but excluding the hash fragment with a length limit of 5,000 characters. This is often more useful than the referer URL, because many browsers only send the domain for third-party requests.", +"location": "query", +"type": "string" +}, +"userEvent": { +"description": "Required. URL encoded UserEvent proto with a length limit of 2,000,000 characters.", +"location": "query", +"type": "string" +} +}, +"path": "v1beta/{+parent}/userEvents:collect", +"response": { +"$ref": "GoogleApiHttpBody" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"import": { +"description": "Bulk import of user events. Request processing might be synchronous. Events that already exist are skipped. Use this method for backfilling historical user events. Operation.response is of type ImportResponse. Note that it is possible for a subset of the items to be successfully inserted. Operation.metadata is of type ImportMetadata.", +"flatPath": "v1beta/projects/{projectsId}/locations/{locationsId}/dataStores/{dataStoresId}/userEvents:import", +"httpMethod": "POST", +"id": "discoveryengine.projects.locations.dataStores.userEvents.import", +"parameterOrder": [ +"parent" +], +"parameters": { +"parent": { +"description": "Required. Parent DataStore resource name, of the form `projects/{project}/locations/{location}/collections/{collection}/dataStores/{data_store}`", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/dataStores/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1beta/{+parent}/userEvents:import", +"request": { +"$ref": "GoogleCloudDiscoveryengineV1betaImportUserEventsRequest" +}, +"response": { +"$ref": "GoogleLongrunningOperation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"purge": { +"description": "Deletes permanently all user events specified by the filter provided. Depending on the number of events specified by the filter, this operation could take hours or days to complete. To test a filter, use the list command first.", +"flatPath": "v1beta/projects/{projectsId}/locations/{locationsId}/dataStores/{dataStoresId}/userEvents:purge", +"httpMethod": "POST", +"id": "discoveryengine.projects.locations.dataStores.userEvents.purge", +"parameterOrder": [ +"parent" +], +"parameters": { +"parent": { +"description": "Required. The resource name of the catalog under which the events are created. The format is `projects/{project}/locations/global/collections/{collection}/dataStores/{dataStore}`.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/dataStores/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1beta/{+parent}/userEvents:purge", +"request": { +"$ref": "GoogleCloudDiscoveryengineV1betaPurgeUserEventsRequest" +}, +"response": { +"$ref": "GoogleLongrunningOperation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"write": { +"description": "Writes a single user event.", +"flatPath": "v1beta/projects/{projectsId}/locations/{locationsId}/dataStores/{dataStoresId}/userEvents:write", +"httpMethod": "POST", +"id": "discoveryengine.projects.locations.dataStores.userEvents.write", +"parameterOrder": [ +"parent" +], +"parameters": { +"parent": { +"description": "Required. The parent resource name. If the write user event action is applied in DataStore level, the format is: `projects/{project}/locations/{location}/collections/{collection}/dataStores/{data_store}`. If the write user event action is applied in Location level, for example, the event with Document across multiple DataStore, the format is: `projects/{project}/locations/{location}`.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/dataStores/[^/]+$", +"required": true, +"type": "string" +}, +"writeAsync": { +"description": "If set to true, the user event is written asynchronously after validation, and the API responds without waiting for the write.", +"location": "query", +"type": "boolean" +} +}, +"path": "v1beta/{+parent}/userEvents:write", +"request": { +"$ref": "GoogleCloudDiscoveryengineV1betaUserEvent" +}, +"response": { +"$ref": "GoogleCloudDiscoveryengineV1betaUserEvent" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +} +} +} +} +}, +"evaluations": { +"methods": { +"create": { +"description": "Creates a Evaluation. Upon creation, the evaluation will be automatically triggered and begin execution.", +"flatPath": "v1beta/projects/{projectsId}/locations/{locationsId}/evaluations", +"httpMethod": "POST", +"id": "discoveryengine.projects.locations.evaluations.create", +"parameterOrder": [ +"parent" +], +"parameters": { +"parent": { +"description": "Required. The parent resource name, such as `projects/{project}/locations/{location}`.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1beta/{+parent}/evaluations", +"request": { +"$ref": "GoogleCloudDiscoveryengineV1betaEvaluation" +}, +"response": { +"$ref": "GoogleLongrunningOperation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"get": { +"description": "Gets a Evaluation.", +"flatPath": "v1beta/projects/{projectsId}/locations/{locationsId}/evaluations/{evaluationsId}", +"httpMethod": "GET", +"id": "discoveryengine.projects.locations.evaluations.get", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. Full resource name of Evaluation, such as `projects/{project}/locations/{location}/evaluations/{evaluation}`. If the caller does not have permission to access the Evaluation, regardless of whether or not it exists, a PERMISSION_DENIED error is returned. If the requested Evaluation does not exist, a NOT_FOUND error is returned.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/evaluations/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1beta/{+name}", +"response": { +"$ref": "GoogleCloudDiscoveryengineV1betaEvaluation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"list": { +"description": "Gets a list of Evaluations.", +"flatPath": "v1beta/projects/{projectsId}/locations/{locationsId}/evaluations", +"httpMethod": "GET", +"id": "discoveryengine.projects.locations.evaluations.list", +"parameterOrder": [ +"parent" +], +"parameters": { +"pageSize": { +"description": "Maximum number of Evaluations to return. If unspecified, defaults to 100. The maximum allowed value is 1000. Values above 1000 will be coerced to 1000. If this field is negative, an `INVALID_ARGUMENT` error is returned.", +"format": "int32", +"location": "query", +"type": "integer" +}, +"pageToken": { +"description": "A page token ListEvaluationsResponse.next_page_token, received from a previous EvaluationService.ListEvaluations call. Provide this to retrieve the subsequent page. When paginating, all other parameters provided to EvaluationService.ListEvaluations must match the call that provided the page token. Otherwise, an `INVALID_ARGUMENT` error is returned.", +"location": "query", +"type": "string" +}, +"parent": { +"description": "Required. The parent location resource name, such as `projects/{project}/locations/{location}`. If the caller does not have permission to list Evaluations under this location, regardless of whether or not this location exists, a `PERMISSION_DENIED` error is returned.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1beta/{+parent}/evaluations", +"response": { +"$ref": "GoogleCloudDiscoveryengineV1betaListEvaluationsResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"listResults": { +"description": "Gets a list of results for a given a Evaluation.", +"flatPath": "v1beta/projects/{projectsId}/locations/{locationsId}/evaluations/{evaluationsId}:listResults", +"httpMethod": "GET", +"id": "discoveryengine.projects.locations.evaluations.listResults", +"parameterOrder": [ +"evaluation" +], +"parameters": { +"evaluation": { +"description": "Required. The evaluation resource name, such as `projects/{project}/locations/{location}/evaluations/{evaluation}`. If the caller does not have permission to list ListEvaluationResultsResponse.EvaluationResult under this evaluation, regardless of whether or not this evaluation set exists, a `PERMISSION_DENIED` error is returned.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/evaluations/[^/]+$", +"required": true, +"type": "string" +}, +"pageSize": { +"description": "Maximum number of ListEvaluationResultsResponse.EvaluationResult to return. If unspecified, defaults to 100. The maximum allowed value is 1000. Values above 1000 will be coerced to 1000. If this field is negative, an `INVALID_ARGUMENT` error is returned.", +"format": "int32", +"location": "query", +"type": "integer" +}, +"pageToken": { +"description": "A page token ListEvaluationResultsResponse.next_page_token, received from a previous EvaluationService.ListEvaluationResults call. Provide this to retrieve the subsequent page. When paginating, all other parameters provided to EvaluationService.ListEvaluationResults must match the call that provided the page token. Otherwise, an `INVALID_ARGUMENT` error is returned.", +"location": "query", +"type": "string" +} +}, +"path": "v1beta/{+evaluation}:listResults", +"response": { +"$ref": "GoogleCloudDiscoveryengineV1betaListEvaluationResultsResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +} +}, +"resources": { +"operations": { +"methods": { +"get": { +"description": "Gets the latest state of a long-running operation. Clients can use this method to poll the operation result at intervals as recommended by the API service.", +"flatPath": "v1beta/projects/{projectsId}/locations/{locationsId}/evaluations/{evaluationsId}/operations/{operationsId}", +"httpMethod": "GET", +"id": "discoveryengine.projects.locations.evaluations.operations.get", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "The name of the operation resource.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/evaluations/[^/]+/operations/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1beta/{+name}", +"response": { +"$ref": "GoogleLongrunningOperation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +} +} +} +} +}, +"groundingConfigs": { +"methods": { +"check": { +"description": "Performs a grounding check.", +"flatPath": "v1beta/projects/{projectsId}/locations/{locationsId}/groundingConfigs/{groundingConfigsId}:check", +"httpMethod": "POST", +"id": "discoveryengine.projects.locations.groundingConfigs.check", +"parameterOrder": [ +"groundingConfig" +], +"parameters": { +"groundingConfig": { +"description": "Required. The resource name of the grounding config, such as `projects/*/locations/global/groundingConfigs/default_grounding_config`.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/groundingConfigs/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1beta/{+groundingConfig}:check", +"request": { +"$ref": "GoogleCloudDiscoveryengineV1betaCheckGroundingRequest" +}, +"response": { +"$ref": "GoogleCloudDiscoveryengineV1betaCheckGroundingResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +} +} +}, +"identityMappingStores": { +"resources": { +"operations": { +"methods": { +"get": { +"description": "Gets the latest state of a long-running operation. Clients can use this method to poll the operation result at intervals as recommended by the API service.", +"flatPath": "v1beta/projects/{projectsId}/locations/{locationsId}/identityMappingStores/{identityMappingStoresId}/operations/{operationsId}", +"httpMethod": "GET", +"id": "discoveryengine.projects.locations.identityMappingStores.operations.get", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "The name of the operation resource.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/identityMappingStores/[^/]+/operations/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1beta/{+name}", +"response": { +"$ref": "GoogleLongrunningOperation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"list": { +"description": "Lists operations that match the specified filter in the request. If the server doesn't support this method, it returns `UNIMPLEMENTED`.", +"flatPath": "v1beta/projects/{projectsId}/locations/{locationsId}/identityMappingStores/{identityMappingStoresId}/operations", +"httpMethod": "GET", +"id": "discoveryengine.projects.locations.identityMappingStores.operations.list", +"parameterOrder": [ +"name" +], +"parameters": { +"filter": { +"description": "The standard list filter.", +"location": "query", +"type": "string" +}, +"name": { +"description": "The name of the operation's parent resource.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/identityMappingStores/[^/]+$", +"required": true, +"type": "string" +}, +"pageSize": { +"description": "The standard list page size.", +"format": "int32", +"location": "query", +"type": "integer" +}, +"pageToken": { +"description": "The standard list page token.", +"location": "query", +"type": "string" +} +}, +"path": "v1beta/{+name}/operations", +"response": { +"$ref": "GoogleLongrunningListOperationsResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +} +} +} +} +}, +"operations": { +"methods": { +"get": { +"description": "Gets the latest state of a long-running operation. Clients can use this method to poll the operation result at intervals as recommended by the API service.", +"flatPath": "v1beta/projects/{projectsId}/locations/{locationsId}/operations/{operationsId}", +"httpMethod": "GET", +"id": "discoveryengine.projects.locations.operations.get", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "The name of the operation resource.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/operations/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1beta/{+name}", +"response": { +"$ref": "GoogleLongrunningOperation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"list": { +"description": "Lists operations that match the specified filter in the request. If the server doesn't support this method, it returns `UNIMPLEMENTED`.", +"flatPath": "v1beta/projects/{projectsId}/locations/{locationsId}/operations", +"httpMethod": "GET", +"id": "discoveryengine.projects.locations.operations.list", +"parameterOrder": [ +"name" +], +"parameters": { +"filter": { +"description": "The standard list filter.", +"location": "query", +"type": "string" +}, +"name": { +"description": "The name of the operation's parent resource.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+$", +"required": true, +"type": "string" +}, +"pageSize": { +"description": "The standard list page size.", +"format": "int32", +"location": "query", +"type": "integer" +}, +"pageToken": { +"description": "The standard list page token.", +"location": "query", +"type": "string" +} +}, +"path": "v1beta/{+name}/operations", +"response": { +"$ref": "GoogleLongrunningListOperationsResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +} +} +}, +"rankingConfigs": { +"methods": { +"rank": { +"description": "Ranks a list of text records based on the given input query.", +"flatPath": "v1beta/projects/{projectsId}/locations/{locationsId}/rankingConfigs/{rankingConfigsId}:rank", +"httpMethod": "POST", +"id": "discoveryengine.projects.locations.rankingConfigs.rank", +"parameterOrder": [ +"rankingConfig" +], +"parameters": { +"rankingConfig": { +"description": "Required. The resource name of the rank service config, such as `projects/{project_num}/locations/{location}/rankingConfigs/default_ranking_config`.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/rankingConfigs/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1beta/{+rankingConfig}:rank", +"request": { +"$ref": "GoogleCloudDiscoveryengineV1betaRankRequest" +}, +"response": { +"$ref": "GoogleCloudDiscoveryengineV1betaRankResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +} +} +}, +"sampleQuerySets": { +"methods": { +"create": { +"description": "Creates a SampleQuerySet", +"flatPath": "v1beta/projects/{projectsId}/locations/{locationsId}/sampleQuerySets", +"httpMethod": "POST", +"id": "discoveryengine.projects.locations.sampleQuerySets.create", +"parameterOrder": [ +"parent" +], +"parameters": { +"parent": { +"description": "Required. The parent resource name, such as `projects/{project}/locations/{location}`.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+$", +"required": true, +"type": "string" +}, +"sampleQuerySetId": { +"description": "Required. The ID to use for the SampleQuerySet, which will become the final component of the SampleQuerySet.name. If the caller does not have permission to create the SampleQuerySet, regardless of whether or not it exists, a `PERMISSION_DENIED` error is returned. This field must be unique among all SampleQuerySets with the same parent. Otherwise, an `ALREADY_EXISTS` error is returned. This field must conform to [RFC-1034](https://tools.ietf.org/html/rfc1034) standard with a length limit of 63 characters. Otherwise, an `INVALID_ARGUMENT` error is returned.", +"location": "query", +"type": "string" +} +}, +"path": "v1beta/{+parent}/sampleQuerySets", +"request": { +"$ref": "GoogleCloudDiscoveryengineV1betaSampleQuerySet" +}, +"response": { +"$ref": "GoogleCloudDiscoveryengineV1betaSampleQuerySet" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"delete": { +"description": "Deletes a SampleQuerySet.", +"flatPath": "v1beta/projects/{projectsId}/locations/{locationsId}/sampleQuerySets/{sampleQuerySetsId}", +"httpMethod": "DELETE", +"id": "discoveryengine.projects.locations.sampleQuerySets.delete", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. Full resource name of SampleQuerySet, such as `projects/{project}/locations/{location}/sampleQuerySets/{sample_query_set}`. If the caller does not have permission to delete the SampleQuerySet, regardless of whether or not it exists, a `PERMISSION_DENIED` error is returned. If the SampleQuerySet to delete does not exist, a `NOT_FOUND` error is returned.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/sampleQuerySets/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1beta/{+name}", +"response": { +"$ref": "GoogleProtobufEmpty" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"get": { +"description": "Gets a SampleQuerySet.", +"flatPath": "v1beta/projects/{projectsId}/locations/{locationsId}/sampleQuerySets/{sampleQuerySetsId}", +"httpMethod": "GET", +"id": "discoveryengine.projects.locations.sampleQuerySets.get", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. Full resource name of SampleQuerySet, such as `projects/{project}/locations/{location}/sampleQuerySets/{sample_query_set}`. If the caller does not have permission to access the SampleQuerySet, regardless of whether or not it exists, a PERMISSION_DENIED error is returned. If the requested SampleQuerySet does not exist, a NOT_FOUND error is returned.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/sampleQuerySets/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1beta/{+name}", +"response": { +"$ref": "GoogleCloudDiscoveryengineV1betaSampleQuerySet" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"list": { +"description": "Gets a list of SampleQuerySets.", +"flatPath": "v1beta/projects/{projectsId}/locations/{locationsId}/sampleQuerySets", +"httpMethod": "GET", +"id": "discoveryengine.projects.locations.sampleQuerySets.list", +"parameterOrder": [ +"parent" +], +"parameters": { +"pageSize": { +"description": "Maximum number of SampleQuerySets to return. If unspecified, defaults to 100. The maximum allowed value is 1000. Values above 1000 will be coerced to 1000. If this field is negative, an `INVALID_ARGUMENT` error is returned.", +"format": "int32", +"location": "query", +"type": "integer" +}, +"pageToken": { +"description": "A page token ListSampleQuerySetsResponse.next_page_token, received from a previous SampleQuerySetService.ListSampleQuerySets call. Provide this to retrieve the subsequent page. When paginating, all other parameters provided to SampleQuerySetService.ListSampleQuerySets must match the call that provided the page token. Otherwise, an `INVALID_ARGUMENT` error is returned.", +"location": "query", +"type": "string" +}, +"parent": { +"description": "Required. The parent location resource name, such as `projects/{project}/locations/{location}`. If the caller does not have permission to list SampleQuerySets under this location, regardless of whether or not this location exists, a `PERMISSION_DENIED` error is returned.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1beta/{+parent}/sampleQuerySets", +"response": { +"$ref": "GoogleCloudDiscoveryengineV1betaListSampleQuerySetsResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"patch": { +"description": "Updates a SampleQuerySet.", +"flatPath": "v1beta/projects/{projectsId}/locations/{locationsId}/sampleQuerySets/{sampleQuerySetsId}", +"httpMethod": "PATCH", +"id": "discoveryengine.projects.locations.sampleQuerySets.patch", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Identifier. The full resource name of the SampleQuerySet, in the format of `projects/{project}/locations/{location}/sampleQuerySets/{sample_query_set}`. This field must be a UTF-8 encoded string with a length limit of 1024 characters.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/sampleQuerySets/[^/]+$", +"required": true, +"type": "string" +}, +"updateMask": { +"description": "Indicates which fields in the provided imported 'sample query set' to update. If not set, will by default update all fields.", +"format": "google-fieldmask", +"location": "query", +"type": "string" +} +}, +"path": "v1beta/{+name}", +"request": { +"$ref": "GoogleCloudDiscoveryengineV1betaSampleQuerySet" +}, +"response": { +"$ref": "GoogleCloudDiscoveryengineV1betaSampleQuerySet" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +} +}, +"resources": { +"operations": { +"methods": { +"get": { +"description": "Gets the latest state of a long-running operation. Clients can use this method to poll the operation result at intervals as recommended by the API service.", +"flatPath": "v1beta/projects/{projectsId}/locations/{locationsId}/sampleQuerySets/{sampleQuerySetsId}/operations/{operationsId}", +"httpMethod": "GET", +"id": "discoveryengine.projects.locations.sampleQuerySets.operations.get", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "The name of the operation resource.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/sampleQuerySets/[^/]+/operations/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1beta/{+name}", +"response": { +"$ref": "GoogleLongrunningOperation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +} +} +}, +"sampleQueries": { +"methods": { +"create": { +"description": "Creates a SampleQuery", +"flatPath": "v1beta/projects/{projectsId}/locations/{locationsId}/sampleQuerySets/{sampleQuerySetsId}/sampleQueries", +"httpMethod": "POST", +"id": "discoveryengine.projects.locations.sampleQuerySets.sampleQueries.create", +"parameterOrder": [ +"parent" +], +"parameters": { +"parent": { +"description": "Required. The parent resource name, such as `projects/{project}/locations/{location}/sampleQuerySets/{sampleQuerySet}`.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/sampleQuerySets/[^/]+$", +"required": true, +"type": "string" +}, +"sampleQueryId": { +"description": "Required. The ID to use for the SampleQuery, which will become the final component of the SampleQuery.name. If the caller does not have permission to create the SampleQuery, regardless of whether or not it exists, a `PERMISSION_DENIED` error is returned. This field must be unique among all SampleQuerys with the same parent. Otherwise, an `ALREADY_EXISTS` error is returned. This field must conform to [RFC-1034](https://tools.ietf.org/html/rfc1034) standard with a length limit of 63 characters. Otherwise, an `INVALID_ARGUMENT` error is returned.", +"location": "query", +"type": "string" +} +}, +"path": "v1beta/{+parent}/sampleQueries", +"request": { +"$ref": "GoogleCloudDiscoveryengineV1betaSampleQuery" +}, +"response": { +"$ref": "GoogleCloudDiscoveryengineV1betaSampleQuery" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"delete": { +"description": "Deletes a SampleQuery.", +"flatPath": "v1beta/projects/{projectsId}/locations/{locationsId}/sampleQuerySets/{sampleQuerySetsId}/sampleQueries/{sampleQueriesId}", +"httpMethod": "DELETE", +"id": "discoveryengine.projects.locations.sampleQuerySets.sampleQueries.delete", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. Full resource name of SampleQuery, such as `projects/{project}/locations/{location}/sampleQuerySets/{sample_query_set}/sampleQueries/{sample_query}`. If the caller does not have permission to delete the SampleQuery, regardless of whether or not it exists, a `PERMISSION_DENIED` error is returned. If the SampleQuery to delete does not exist, a `NOT_FOUND` error is returned.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/sampleQuerySets/[^/]+/sampleQueries/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1beta/{+name}", +"response": { +"$ref": "GoogleProtobufEmpty" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"get": { +"description": "Gets a SampleQuery.", +"flatPath": "v1beta/projects/{projectsId}/locations/{locationsId}/sampleQuerySets/{sampleQuerySetsId}/sampleQueries/{sampleQueriesId}", +"httpMethod": "GET", +"id": "discoveryengine.projects.locations.sampleQuerySets.sampleQueries.get", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. Full resource name of SampleQuery, such as `projects/{project}/locations/{location}/sampleQuerySets/{sample_query_set}/sampleQueries/{sample_query}`. If the caller does not have permission to access the SampleQuery, regardless of whether or not it exists, a PERMISSION_DENIED error is returned. If the requested SampleQuery does not exist, a NOT_FOUND error is returned.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/sampleQuerySets/[^/]+/sampleQueries/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1beta/{+name}", +"response": { +"$ref": "GoogleCloudDiscoveryengineV1betaSampleQuery" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"import": { +"description": "Bulk import of multiple SampleQuerys. Sample queries that already exist may be deleted. Note: It is possible for a subset of the SampleQuerys to be successfully imported.", +"flatPath": "v1beta/projects/{projectsId}/locations/{locationsId}/sampleQuerySets/{sampleQuerySetsId}/sampleQueries:import", +"httpMethod": "POST", +"id": "discoveryengine.projects.locations.sampleQuerySets.sampleQueries.import", +"parameterOrder": [ +"parent" +], +"parameters": { +"parent": { +"description": "Required. The parent sample query set resource name, such as `projects/{project}/locations/{location}/sampleQuerySets/{sampleQuerySet}`. If the caller does not have permission to list SampleQuerys under this sample query set, regardless of whether or not this sample query set exists, a `PERMISSION_DENIED` error is returned.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/sampleQuerySets/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1beta/{+parent}/sampleQueries:import", +"request": { +"$ref": "GoogleCloudDiscoveryengineV1betaImportSampleQueriesRequest" +}, +"response": { +"$ref": "GoogleLongrunningOperation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"list": { +"description": "Gets a list of SampleQuerys.", +"flatPath": "v1beta/projects/{projectsId}/locations/{locationsId}/sampleQuerySets/{sampleQuerySetsId}/sampleQueries", +"httpMethod": "GET", +"id": "discoveryengine.projects.locations.sampleQuerySets.sampleQueries.list", +"parameterOrder": [ +"parent" +], +"parameters": { +"pageSize": { +"description": "Maximum number of SampleQuerys to return. If unspecified, defaults to 100. The maximum allowed value is 1000. Values above 1000 will be coerced to 1000. If this field is negative, an `INVALID_ARGUMENT` error is returned.", +"format": "int32", +"location": "query", +"type": "integer" +}, +"pageToken": { +"description": "A page token ListSampleQueriesResponse.next_page_token, received from a previous SampleQueryService.ListSampleQueries call. Provide this to retrieve the subsequent page. When paginating, all other parameters provided to SampleQueryService.ListSampleQueries must match the call that provided the page token. Otherwise, an `INVALID_ARGUMENT` error is returned.", +"location": "query", +"type": "string" +}, +"parent": { +"description": "Required. The parent sample query set resource name, such as `projects/{project}/locations/{location}/sampleQuerySets/{sampleQuerySet}`. If the caller does not have permission to list SampleQuerys under this sample query set, regardless of whether or not this sample query set exists, a `PERMISSION_DENIED` error is returned.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/sampleQuerySets/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1beta/{+parent}/sampleQueries", +"response": { +"$ref": "GoogleCloudDiscoveryengineV1betaListSampleQueriesResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"patch": { +"description": "Updates a SampleQuery.", +"flatPath": "v1beta/projects/{projectsId}/locations/{locationsId}/sampleQuerySets/{sampleQuerySetsId}/sampleQueries/{sampleQueriesId}", +"httpMethod": "PATCH", +"id": "discoveryengine.projects.locations.sampleQuerySets.sampleQueries.patch", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Identifier. The full resource name of the sample query, in the format of `projects/{project}/locations/{location}/sampleQuerySets/{sample_query_set}/sampleQueries/{sample_query}`. This field must be a UTF-8 encoded string with a length limit of 1024 characters.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/sampleQuerySets/[^/]+/sampleQueries/[^/]+$", +"required": true, +"type": "string" +}, +"updateMask": { +"description": "Indicates which fields in the provided imported 'simple query' to update. If not set, will by default update all fields.", +"format": "google-fieldmask", +"location": "query", +"type": "string" +} +}, +"path": "v1beta/{+name}", +"request": { +"$ref": "GoogleCloudDiscoveryengineV1betaSampleQuery" +}, +"response": { +"$ref": "GoogleCloudDiscoveryengineV1betaSampleQuery" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +} +} +} +} +}, +"userEvents": { +"methods": { +"collect": { +"description": "Writes a single user event from the browser. This uses a GET request to due to browser restriction of POST-ing to a third-party domain. This method is used only by the Discovery Engine API JavaScript pixel and Google Tag Manager. Users should not call this method directly.", +"flatPath": "v1beta/projects/{projectsId}/locations/{locationsId}/userEvents:collect", +"httpMethod": "GET", +"id": "discoveryengine.projects.locations.userEvents.collect", +"parameterOrder": [ +"parent" +], +"parameters": { +"ets": { +"description": "The event timestamp in milliseconds. This prevents browser caching of otherwise identical get requests. The name is abbreviated to reduce the payload bytes.", +"format": "int64", +"location": "query", +"type": "string" +}, +"parent": { +"description": "Required. The parent resource name. If the collect user event action is applied in DataStore level, the format is: `projects/{project}/locations/{location}/collections/{collection}/dataStores/{data_store}`. If the collect user event action is applied in Location level, for example, the event with Document across multiple DataStore, the format is: `projects/{project}/locations/{location}`.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+$", +"required": true, +"type": "string" +}, +"uri": { +"description": "The URL including cgi-parameters but excluding the hash fragment with a length limit of 5,000 characters. This is often more useful than the referer URL, because many browsers only send the domain for third-party requests.", +"location": "query", +"type": "string" +}, +"userEvent": { +"description": "Required. URL encoded UserEvent proto with a length limit of 2,000,000 characters.", +"location": "query", +"type": "string" +} +}, +"path": "v1beta/{+parent}/userEvents:collect", +"response": { +"$ref": "GoogleApiHttpBody" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"import": { +"description": "Bulk import of user events. Request processing might be synchronous. Events that already exist are skipped. Use this method for backfilling historical user events. Operation.response is of type ImportResponse. Note that it is possible for a subset of the items to be successfully inserted. Operation.metadata is of type ImportMetadata.", +"flatPath": "v1beta/projects/{projectsId}/locations/{locationsId}/userEvents:import", +"httpMethod": "POST", +"id": "discoveryengine.projects.locations.userEvents.import", +"parameterOrder": [ +"parent" +], +"parameters": { +"parent": { +"description": "Required. Parent DataStore resource name, of the form `projects/{project}/locations/{location}/collections/{collection}/dataStores/{data_store}`", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1beta/{+parent}/userEvents:import", +"request": { +"$ref": "GoogleCloudDiscoveryengineV1betaImportUserEventsRequest" +}, +"response": { +"$ref": "GoogleLongrunningOperation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"write": { +"description": "Writes a single user event.", +"flatPath": "v1beta/projects/{projectsId}/locations/{locationsId}/userEvents:write", +"httpMethod": "POST", +"id": "discoveryengine.projects.locations.userEvents.write", +"parameterOrder": [ +"parent" +], +"parameters": { +"parent": { +"description": "Required. The parent resource name. If the write user event action is applied in DataStore level, the format is: `projects/{project}/locations/{location}/collections/{collection}/dataStores/{data_store}`. If the write user event action is applied in Location level, for example, the event with Document across multiple DataStore, the format is: `projects/{project}/locations/{location}`.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+$", +"required": true, +"type": "string" +}, +"writeAsync": { +"description": "If set to true, the user event is written asynchronously after validation, and the API responds without waiting for the write.", +"location": "query", +"type": "boolean" +} +}, +"path": "v1beta/{+parent}/userEvents:write", +"request": { +"$ref": "GoogleCloudDiscoveryengineV1betaUserEvent" +}, +"response": { +"$ref": "GoogleCloudDiscoveryengineV1betaUserEvent" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +} +} +} +} +}, +"operations": { +"methods": { +"get": { +"description": "Gets the latest state of a long-running operation. Clients can use this method to poll the operation result at intervals as recommended by the API service.", +"flatPath": "v1beta/projects/{projectsId}/operations/{operationsId}", +"httpMethod": "GET", +"id": "discoveryengine.projects.operations.get", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "The name of the operation resource.", +"location": "path", +"pattern": "^projects/[^/]+/operations/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1beta/{+name}", +"response": { +"$ref": "GoogleLongrunningOperation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"list": { +"description": "Lists operations that match the specified filter in the request. If the server doesn't support this method, it returns `UNIMPLEMENTED`.", +"flatPath": "v1beta/projects/{projectsId}/operations", +"httpMethod": "GET", +"id": "discoveryengine.projects.operations.list", +"parameterOrder": [ +"name" +], +"parameters": { +"filter": { +"description": "The standard list filter.", +"location": "query", +"type": "string" +}, +"name": { +"description": "The name of the operation's parent resource.", +"location": "path", +"pattern": "^projects/[^/]+$", +"required": true, +"type": "string" +}, +"pageSize": { +"description": "The standard list page size.", +"format": "int32", +"location": "query", +"type": "integer" +}, +"pageToken": { +"description": "The standard list page token.", +"location": "query", +"type": "string" +} +}, +"path": "v1beta/{+name}/operations", +"response": { +"$ref": "GoogleLongrunningListOperationsResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +} +} +} +} +} +}, +"revision": "20250107", +"rootUrl": "https://discoveryengine.googleapis.com/", +"schemas": { +"GoogleApiDistribution": { +"description": "`Distribution` contains summary statistics for a population of values. It optionally contains a histogram representing the distribution of those values across a set of buckets. The summary statistics are the count, mean, sum of the squared deviation from the mean, the minimum, and the maximum of the set of population of values. The histogram is based on a sequence of buckets and gives a count of values that fall into each bucket. The boundaries of the buckets are given either explicitly or by formulas for buckets of fixed or exponentially increasing widths. Although it is not forbidden, it is generally a bad idea to include non-finite values (infinities or NaNs) in the population of values, as this will render the `mean` and `sum_of_squared_deviation` fields meaningless.", +"id": "GoogleApiDistribution", +"properties": { +"bucketCounts": { +"description": "The number of values in each bucket of the histogram, as described in `bucket_options`. If the distribution does not have a histogram, then omit this field. If there is a histogram, then the sum of the values in `bucket_counts` must equal the value in the `count` field of the distribution. If present, `bucket_counts` should contain N values, where N is the number of buckets specified in `bucket_options`. If you supply fewer than N values, the remaining values are assumed to be 0. The order of the values in `bucket_counts` follows the bucket numbering schemes described for the three bucket types. The first value must be the count for the underflow bucket (number 0). The next N-2 values are the counts for the finite buckets (number 1 through N-2). The N'th value in `bucket_counts` is the count for the overflow bucket (number N-1).", +"items": { +"format": "int64", +"type": "string" +}, +"type": "array" +}, +"bucketOptions": { +"$ref": "GoogleApiDistributionBucketOptions", +"description": "Defines the histogram bucket boundaries. If the distribution does not contain a histogram, then omit this field." +}, +"count": { +"description": "The number of values in the population. Must be non-negative. This value must equal the sum of the values in `bucket_counts` if a histogram is provided.", +"format": "int64", +"type": "string" +}, +"exemplars": { +"description": "Must be in increasing order of `value` field.", +"items": { +"$ref": "GoogleApiDistributionExemplar" +}, +"type": "array" +}, +"mean": { +"description": "The arithmetic mean of the values in the population. If `count` is zero then this field must be zero.", +"format": "double", +"type": "number" +}, +"range": { +"$ref": "GoogleApiDistributionRange", +"description": "If specified, contains the range of the population values. The field must not be present if the `count` is zero." +}, +"sumOfSquaredDeviation": { +"description": "The sum of squared deviations from the mean of the values in the population. For values x_i this is: Sum[i=1..n]((x_i - mean)^2) Knuth, \"The Art of Computer Programming\", Vol. 2, page 232, 3rd edition describes Welford's method for accumulating this sum in one pass. If `count` is zero then this field must be zero.", +"format": "double", +"type": "number" +} +}, +"type": "object" +}, +"GoogleApiDistributionBucketOptions": { +"description": "`BucketOptions` describes the bucket boundaries used to create a histogram for the distribution. The buckets can be in a linear sequence, an exponential sequence, or each bucket can be specified explicitly. `BucketOptions` does not include the number of values in each bucket. A bucket has an inclusive lower bound and exclusive upper bound for the values that are counted for that bucket. The upper bound of a bucket must be strictly greater than the lower bound. The sequence of N buckets for a distribution consists of an underflow bucket (number 0), zero or more finite buckets (number 1 through N - 2) and an overflow bucket (number N - 1). The buckets are contiguous: the lower bound of bucket i (i > 0) is the same as the upper bound of bucket i - 1. The buckets span the whole range of finite values: lower bound of the underflow bucket is -infinity and the upper bound of the overflow bucket is +infinity. The finite buckets are so-called because both bounds are finite.", +"id": "GoogleApiDistributionBucketOptions", +"properties": { +"explicitBuckets": { +"$ref": "GoogleApiDistributionBucketOptionsExplicit", +"description": "The explicit buckets." +}, +"exponentialBuckets": { +"$ref": "GoogleApiDistributionBucketOptionsExponential", +"description": "The exponential buckets." +}, +"linearBuckets": { +"$ref": "GoogleApiDistributionBucketOptionsLinear", +"description": "The linear bucket." +} +}, +"type": "object" +}, +"GoogleApiDistributionBucketOptionsExplicit": { +"description": "Specifies a set of buckets with arbitrary widths. There are `size(bounds) + 1` (= N) buckets. Bucket `i` has the following boundaries: Upper bound (0 <= i < N-1): bounds[i] Lower bound (1 <= i < N); bounds[i - 1] The `bounds` field must contain at least one element. If `bounds` has only one element, then there are no finite buckets, and that single element is the common boundary of the overflow and underflow buckets.", +"id": "GoogleApiDistributionBucketOptionsExplicit", +"properties": { +"bounds": { +"description": "The values must be monotonically increasing.", +"items": { +"format": "double", +"type": "number" +}, +"type": "array" +} +}, +"type": "object" +}, +"GoogleApiDistributionBucketOptionsExponential": { +"description": "Specifies an exponential sequence of buckets that have a width that is proportional to the value of the lower bound. Each bucket represents a constant relative uncertainty on a specific value in the bucket. There are `num_finite_buckets + 2` (= N) buckets. Bucket `i` has the following boundaries: Upper bound (0 <= i < N-1): scale * (growth_factor ^ i). Lower bound (1 <= i < N): scale * (growth_factor ^ (i - 1)).", +"id": "GoogleApiDistributionBucketOptionsExponential", +"properties": { +"growthFactor": { +"description": "Must be greater than 1.", +"format": "double", +"type": "number" +}, +"numFiniteBuckets": { +"description": "Must be greater than 0.", +"format": "int32", +"type": "integer" +}, +"scale": { +"description": "Must be greater than 0.", +"format": "double", +"type": "number" +} +}, +"type": "object" +}, +"GoogleApiDistributionBucketOptionsLinear": { +"description": "Specifies a linear sequence of buckets that all have the same width (except overflow and underflow). Each bucket represents a constant absolute uncertainty on the specific value in the bucket. There are `num_finite_buckets + 2` (= N) buckets. Bucket `i` has the following boundaries: Upper bound (0 <= i < N-1): offset + (width * i). Lower bound (1 <= i < N): offset + (width * (i - 1)).", +"id": "GoogleApiDistributionBucketOptionsLinear", +"properties": { +"numFiniteBuckets": { +"description": "Must be greater than 0.", +"format": "int32", +"type": "integer" +}, +"offset": { +"description": "Lower bound of the first bucket.", +"format": "double", +"type": "number" +}, +"width": { +"description": "Must be greater than 0.", +"format": "double", +"type": "number" +} +}, +"type": "object" +}, +"GoogleApiDistributionExemplar": { +"description": "Exemplars are example points that may be used to annotate aggregated distribution values. They are metadata that gives information about a particular value added to a Distribution bucket, such as a trace ID that was active when a value was added. They may contain further information, such as a example values and timestamps, origin, etc.", +"id": "GoogleApiDistributionExemplar", +"properties": { +"attachments": { +"description": "Contextual information about the example value. Examples are: Trace: type.googleapis.com/google.monitoring.v3.SpanContext Literal string: type.googleapis.com/google.protobuf.StringValue Labels dropped during aggregation: type.googleapis.com/google.monitoring.v3.DroppedLabels There may be only a single attachment of any given message type in a single exemplar, and this is enforced by the system.", +"items": { +"additionalProperties": { +"description": "Properties of the object. Contains field @type with type URL.", +"type": "any" +}, +"type": "object" +}, +"type": "array" +}, +"timestamp": { +"description": "The observation (sampling) time of the above value.", +"format": "google-datetime", +"type": "string" +}, +"value": { +"description": "Value of the exemplar point. This value determines to which bucket the exemplar belongs.", +"format": "double", +"type": "number" +} +}, +"type": "object" +}, +"GoogleApiDistributionRange": { +"description": "The range of the population values.", +"id": "GoogleApiDistributionRange", +"properties": { +"max": { +"description": "The maximum of the population values.", +"format": "double", +"type": "number" +}, +"min": { +"description": "The minimum of the population values.", +"format": "double", +"type": "number" +} +}, +"type": "object" +}, +"GoogleApiHttpBody": { +"description": "Message that represents an arbitrary HTTP body. It should only be used for payload formats that can't be represented as JSON, such as raw binary or an HTML page. This message can be used both in streaming and non-streaming API methods in the request as well as the response. It can be used as a top-level request field, which is convenient if one wants to extract parameters from either the URL or HTTP template into the request fields and also want access to the raw HTTP body. Example: message GetResourceRequest { // A unique request id. string request_id = 1; // The raw HTTP body is bound to this field. google.api.HttpBody http_body = 2; } service ResourceService { rpc GetResource(GetResourceRequest) returns (google.api.HttpBody); rpc UpdateResource(google.api.HttpBody) returns (google.protobuf.Empty); } Example with streaming methods: service CaldavService { rpc GetCalendar(stream google.api.HttpBody) returns (stream google.api.HttpBody); rpc UpdateCalendar(stream google.api.HttpBody) returns (stream google.api.HttpBody); } Use of this type only changes how the request and response bodies are handled, all other features will continue to work unchanged.", +"id": "GoogleApiHttpBody", +"properties": { +"contentType": { +"description": "The HTTP Content-Type header value specifying the content type of the body.", +"type": "string" +}, +"data": { +"description": "The HTTP request/response body as raw binary.", +"format": "byte", +"type": "string" +}, +"extensions": { +"description": "Application specific response metadata. Must be set in the first response for streaming APIs.", +"items": { +"additionalProperties": { +"description": "Properties of the object. Contains field @type with type URL.", +"type": "any" +}, +"type": "object" +}, +"type": "array" +} +}, +"type": "object" +}, +"GoogleApiMetric": { +"description": "A specific metric, identified by specifying values for all of the labels of a `MetricDescriptor`.", +"id": "GoogleApiMetric", +"properties": { +"labels": { +"additionalProperties": { +"type": "string" +}, +"description": "The set of label values that uniquely identify this metric. All labels listed in the `MetricDescriptor` must be assigned values.", +"type": "object" +}, +"type": { +"description": "An existing metric type, see google.api.MetricDescriptor. For example, `custom.googleapis.com/invoice/paid/amount`.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleApiMonitoredResource": { +"description": "An object representing a resource that can be used for monitoring, logging, billing, or other purposes. Examples include virtual machine instances, databases, and storage devices such as disks. The `type` field identifies a MonitoredResourceDescriptor object that describes the resource's schema. Information in the `labels` field identifies the actual resource and its attributes according to the schema. For example, a particular Compute Engine VM instance could be represented by the following object, because the MonitoredResourceDescriptor for `\"gce_instance\"` has labels `\"project_id\"`, `\"instance_id\"` and `\"zone\"`: { \"type\": \"gce_instance\", \"labels\": { \"project_id\": \"my-project\", \"instance_id\": \"12345678901234\", \"zone\": \"us-central1-a\" }}", +"id": "GoogleApiMonitoredResource", +"properties": { +"labels": { +"additionalProperties": { +"type": "string" +}, +"description": "Required. Values for all of the labels listed in the associated monitored resource descriptor. For example, Compute Engine VM instances use the labels `\"project_id\"`, `\"instance_id\"`, and `\"zone\"`.", +"type": "object" +}, +"type": { +"description": "Required. The monitored resource type. This field must match the `type` field of a MonitoredResourceDescriptor object. For example, the type of a Compute Engine VM instance is `gce_instance`. Some descriptors include the service name in the type; for example, the type of a Datastream stream is `datastream.googleapis.com/Stream`.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleApiMonitoredResourceMetadata": { +"description": "Auxiliary metadata for a MonitoredResource object. MonitoredResource objects contain the minimum set of information to uniquely identify a monitored resource instance. There is some other useful auxiliary metadata. Monitoring and Logging use an ingestion pipeline to extract metadata for cloud resources of all types, and store the metadata in this message.", +"id": "GoogleApiMonitoredResourceMetadata", +"properties": { +"systemLabels": { +"additionalProperties": { +"description": "Properties of the object.", +"type": "any" +}, +"description": "Output only. Values for predefined system metadata labels. System labels are a kind of metadata extracted by Google, including \"machine_image\", \"vpc\", \"subnet_id\", \"security_group\", \"name\", etc. System label values can be only strings, Boolean values, or a list of strings. For example: { \"name\": \"my-test-instance\", \"security_group\": [\"a\", \"b\", \"c\"], \"spot_instance\": false }", +"type": "object" +}, +"userLabels": { +"additionalProperties": { +"type": "string" +}, +"description": "Output only. A map of user-defined metadata labels.", +"type": "object" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineLoggingErrorContext": { +"description": "A description of the context in which an error occurred.", +"id": "GoogleCloudDiscoveryengineLoggingErrorContext", +"properties": { +"httpRequest": { +"$ref": "GoogleCloudDiscoveryengineLoggingHttpRequestContext", +"description": "The HTTP request which was processed when the error was triggered." +}, +"reportLocation": { +"$ref": "GoogleCloudDiscoveryengineLoggingSourceLocation", +"description": "The location in the source code where the decision was made to report the error, usually the place where it was logged." +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineLoggingErrorLog": { +"description": "An error log which is reported to the Error Reporting system.", +"id": "GoogleCloudDiscoveryengineLoggingErrorLog", +"properties": { +"context": { +"$ref": "GoogleCloudDiscoveryengineLoggingErrorContext", +"description": "A description of the context in which the error occurred." +}, +"importPayload": { +"$ref": "GoogleCloudDiscoveryengineLoggingImportErrorContext", +"description": "The error payload that is populated on LRO import APIs." +}, +"message": { +"description": "A message describing the error.", +"type": "string" +}, +"requestPayload": { +"additionalProperties": { +"description": "Properties of the object.", +"type": "any" +}, +"description": "The API request payload, represented as a protocol buffer. Most API request types are supported\u2014for example: * `type.googleapis.com/google.cloud.discoveryengine.v1alpha.DocumentService.CreateDocumentRequest` * `type.googleapis.com/google.cloud.discoveryengine.v1alpha.UserEventService.WriteUserEventRequest`", +"type": "object" +}, +"responsePayload": { +"additionalProperties": { +"description": "Properties of the object.", +"type": "any" +}, +"description": "The API response payload, represented as a protocol buffer. This is used to log some \"soft errors\", where the response is valid but we consider there are some quality issues like unjoined events. The following API responses are supported, and no PII is included: * `google.cloud.discoveryengine.v1alpha.RecommendationService.Recommend` * `google.cloud.discoveryengine.v1alpha.UserEventService.WriteUserEvent` * `google.cloud.discoveryengine.v1alpha.UserEventService.CollectUserEvent`", +"type": "object" +}, +"serviceContext": { +"$ref": "GoogleCloudDiscoveryengineLoggingServiceContext", +"description": "The service context in which this error has occurred." +}, +"status": { +"$ref": "GoogleRpcStatus", +"description": "The RPC status associated with the error log." +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineLoggingHttpRequestContext": { +"description": "HTTP request data that is related to a reported error.", +"id": "GoogleCloudDiscoveryengineLoggingHttpRequestContext", +"properties": { +"responseStatusCode": { +"description": "The HTTP response status code for the request.", +"format": "int32", +"type": "integer" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineLoggingImportErrorContext": { +"description": "The error payload that is populated on LRO import APIs, including the following: * `google.cloud.discoveryengine.v1alpha.DocumentService.ImportDocuments` * `google.cloud.discoveryengine.v1alpha.UserEventService.ImportUserEvents`", +"id": "GoogleCloudDiscoveryengineLoggingImportErrorContext", +"properties": { +"document": { +"description": "The detailed content which caused the error on importing a document.", +"type": "string" +}, +"gcsPath": { +"description": "Google Cloud Storage file path of the import source. Can be set for batch operation error.", +"type": "string" +}, +"lineNumber": { +"description": "Line number of the content in file. Should be empty for permission or batch operation error.", +"type": "string" +}, +"operation": { +"description": "The operation resource name of the LRO.", +"type": "string" +}, +"userEvent": { +"description": "The detailed content which caused the error on importing a user event.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineLoggingServiceContext": { +"description": "Describes a running service that sends errors.", +"id": "GoogleCloudDiscoveryengineLoggingServiceContext", +"properties": { +"service": { +"description": "An identifier of the service\u2014for example, `discoveryengine.googleapis.com`.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineLoggingSourceLocation": { +"description": "Indicates a location in the source code of the service for which errors are reported.", +"id": "GoogleCloudDiscoveryengineLoggingSourceLocation", +"properties": { +"functionName": { +"description": "Human-readable name of a function or method\u2014for example, `google.cloud.discoveryengine.v1alpha.RecommendationService.Recommend`.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1AdvancedSiteSearchConfig": { +"description": "Configuration data for advance site search.", +"id": "GoogleCloudDiscoveryengineV1AdvancedSiteSearchConfig", +"properties": { +"disableAutomaticRefresh": { +"description": "If set true, automatic refresh is disabled for the DataStore.", +"type": "boolean" +}, +"disableInitialIndex": { +"description": "If set true, initial indexing is disabled for the DataStore.", +"type": "boolean" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1BatchCreateTargetSiteMetadata": { +"description": "Metadata related to the progress of the SiteSearchEngineService.BatchCreateTargetSites operation. This will be returned by the google.longrunning.Operation.metadata field.", +"id": "GoogleCloudDiscoveryengineV1BatchCreateTargetSiteMetadata", +"properties": { +"createTime": { +"description": "Operation create time.", +"format": "google-datetime", +"type": "string" +}, +"updateTime": { +"description": "Operation last update time. If the operation is done, this is also the finish time.", +"format": "google-datetime", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1BatchCreateTargetSitesResponse": { +"description": "Response message for SiteSearchEngineService.BatchCreateTargetSites method.", +"id": "GoogleCloudDiscoveryengineV1BatchCreateTargetSitesResponse", +"properties": { +"targetSites": { +"description": "TargetSites created.", +"items": { +"$ref": "GoogleCloudDiscoveryengineV1TargetSite" +}, +"type": "array" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1CmekConfig": { +"description": "Configurations used to enable CMEK data encryption with Cloud KMS keys.", +"id": "GoogleCloudDiscoveryengineV1CmekConfig", +"properties": { +"isDefault": { +"description": "Output only. The default CmekConfig for the Customer.", +"readOnly": true, +"type": "boolean" +}, +"kmsKey": { +"description": "Kms key resource name which will be used to encrypt resources `projects/{project}/locations/{location}/keyRings/{keyRing}/cryptoKeys/{keyId}`.", +"type": "string" +}, +"kmsKeyVersion": { +"description": "Kms key version resource name which will be used to encrypt resources `/cryptoKeyVersions/{keyVersion}`.", +"type": "string" +}, +"lastRotationTimestampMicros": { +"description": "Output only. The timestamp of the last key rotation.", +"format": "int64", +"readOnly": true, +"type": "string" +}, +"name": { +"description": "Required. Name of the CmekConfig, of the form `projects/{project}/locations/{location}/cmekConfig` or `projects/{project}/locations/{location}/cmekConfigs/{cmekConfig}`.", +"type": "string" +}, +"singleRegionKeys": { +"description": "Optional. Single-regional CMEKs that are required for some VAIS features.", +"items": { +"$ref": "GoogleCloudDiscoveryengineV1SingleRegionKey" +}, +"type": "array" +}, +"state": { +"description": "Output only. State of the CmekConfig.", +"enum": [ +"STATE_UNSPECIFIED", +"CREATING", +"ACTIVE", +"KEY_ISSUE", +"DELETING", +"UNUSABLE", +"ACTIVE_ROTATING" +], +"enumDescriptions": [ +"The CmekConfig state is unknown.", +"The CmekConfig is creating.", +"The CmekConfig can be used with DataStores.", +"The CmekConfig is unavailable, most likely due to the KMS Key being revoked.", +"The CmekConfig is deleting.", +"The CmekConfig is not usable, most likely due to some internal issue.", +"The KMS key version is being rotated." +], +"readOnly": true, +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1Condition": { +"description": "Defines circumstances to be checked before allowing a behavior", +"id": "GoogleCloudDiscoveryengineV1Condition", +"properties": { +"activeTimeRange": { +"description": "Range of time(s) specifying when condition is active. Maximum of 10 time ranges.", +"items": { +"$ref": "GoogleCloudDiscoveryengineV1ConditionTimeRange" +}, +"type": "array" +}, +"queryRegex": { +"description": "Optional. Query regex to match the whole search query. Cannot be set when Condition.query_terms is set. This is currently supporting promotion use case.", +"type": "string" +}, +"queryTerms": { +"description": "Search only A list of terms to match the query on. Cannot be set when Condition.query_regex is set. Maximum of 10 query terms.", +"items": { +"$ref": "GoogleCloudDiscoveryengineV1ConditionQueryTerm" +}, +"type": "array" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1ConditionQueryTerm": { +"description": "Matcher for search request query", +"id": "GoogleCloudDiscoveryengineV1ConditionQueryTerm", +"properties": { +"fullMatch": { +"description": "Whether the search query needs to exactly match the query term.", +"type": "boolean" +}, +"value": { +"description": "The specific query value to match against Must be lowercase, must be UTF-8. Can have at most 3 space separated terms if full_match is true. Cannot be an empty string. Maximum length of 5000 characters.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1ConditionTimeRange": { +"description": "Used for time-dependent conditions.", +"id": "GoogleCloudDiscoveryengineV1ConditionTimeRange", +"properties": { +"endTime": { +"description": "End of time range. Range is inclusive. Must be in the future.", +"format": "google-datetime", +"type": "string" +}, +"startTime": { +"description": "Start of time range. Range is inclusive.", +"format": "google-datetime", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1Control": { +"description": "Defines a conditioned behavior to employ during serving. Must be attached to a ServingConfig to be considered at serving time. Permitted actions dependent on `SolutionType`.", +"id": "GoogleCloudDiscoveryengineV1Control", +"properties": { +"associatedServingConfigIds": { +"description": "Output only. List of all ServingConfig IDs this control is attached to. May take up to 10 minutes to update after changes.", +"items": { +"type": "string" +}, +"readOnly": true, +"type": "array" +}, +"boostAction": { +"$ref": "GoogleCloudDiscoveryengineV1ControlBoostAction", +"description": "Defines a boost-type control" +}, +"conditions": { +"description": "Determines when the associated action will trigger. Omit to always apply the action. Currently only a single condition may be specified. Otherwise an INVALID ARGUMENT error is thrown.", +"items": { +"$ref": "GoogleCloudDiscoveryengineV1Condition" +}, +"type": "array" +}, +"displayName": { +"description": "Required. Human readable name. The identifier used in UI views. Must be UTF-8 encoded string. Length limit is 128 characters. Otherwise an INVALID ARGUMENT error is thrown.", +"type": "string" +}, +"filterAction": { +"$ref": "GoogleCloudDiscoveryengineV1ControlFilterAction", +"description": "Defines a filter-type control Currently not supported by Recommendation" +}, +"name": { +"description": "Immutable. Fully qualified name `projects/*/locations/global/dataStore/*/controls/*`", +"type": "string" +}, +"promoteAction": { +"$ref": "GoogleCloudDiscoveryengineV1ControlPromoteAction", +"description": "Promote certain links based on predefined trigger queries. This now only supports basic site search." +}, +"redirectAction": { +"$ref": "GoogleCloudDiscoveryengineV1ControlRedirectAction", +"description": "Defines a redirect-type control." +}, +"solutionType": { +"description": "Required. Immutable. What solution the control belongs to. Must be compatible with vertical of resource. Otherwise an INVALID ARGUMENT error is thrown.", +"enum": [ +"SOLUTION_TYPE_UNSPECIFIED", +"SOLUTION_TYPE_RECOMMENDATION", +"SOLUTION_TYPE_SEARCH", +"SOLUTION_TYPE_CHAT", +"SOLUTION_TYPE_GENERATIVE_CHAT" +], +"enumDescriptions": [ +"Default value.", +"Used for Recommendations AI.", +"Used for Discovery Search.", +"Used for use cases related to the Generative AI agent.", +"Used for use cases related to the Generative Chat agent. It's used for Generative chat engine only, the associated data stores must enrolled with `SOLUTION_TYPE_CHAT` solution." +], +"type": "string" +}, +"synonymsAction": { +"$ref": "GoogleCloudDiscoveryengineV1ControlSynonymsAction", +"description": "Treats a group of terms as synonyms of one another." +}, +"useCases": { +"description": "Specifies the use case for the control. Affects what condition fields can be set. Only applies to SOLUTION_TYPE_SEARCH. Currently only allow one use case per control. Must be set when solution_type is SolutionType.SOLUTION_TYPE_SEARCH.", +"items": { +"enum": [ +"SEARCH_USE_CASE_UNSPECIFIED", +"SEARCH_USE_CASE_SEARCH", +"SEARCH_USE_CASE_BROWSE" +], +"enumDescriptions": [ +"Value used when unset. Will not occur in CSS.", +"Search use case. Expects the traffic has a non-empty query.", +"Browse use case. Expects the traffic has an empty query." +], +"type": "string" +}, +"type": "array" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1ControlBoostAction": { +"description": "Adjusts order of products in returned list.", +"id": "GoogleCloudDiscoveryengineV1ControlBoostAction", +"properties": { +"boost": { +"deprecated": true, +"description": "Strength of the boost, which should be in [-1, 1]. Negative boost means demotion. Default is 0.0 (No-op).", +"format": "float", +"type": "number" +}, +"dataStore": { +"description": "Required. Specifies which data store's documents can be boosted by this control. Full data store name e.g. projects/123/locations/global/collections/default_collection/dataStores/default_data_store", +"type": "string" +}, +"filter": { +"description": "Required. Specifies which products to apply the boost to. If no filter is provided all products will be boosted (No-op). Syntax documentation: https://cloud.google.com/retail/docs/filter-and-order Maximum length is 5000 characters. Otherwise an INVALID ARGUMENT error is thrown.", +"type": "string" +}, +"fixedBoost": { +"description": "Optional. Strength of the boost, which should be in [-1, 1]. Negative boost means demotion. Default is 0.0 (No-op).", +"format": "float", +"type": "number" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1ControlFilterAction": { +"description": "Specified which products may be included in results. Uses same filter as boost.", +"id": "GoogleCloudDiscoveryengineV1ControlFilterAction", +"properties": { +"dataStore": { +"description": "Required. Specifies which data store's documents can be filtered by this control. Full data store name e.g. projects/123/locations/global/collections/default_collection/dataStores/default_data_store", +"type": "string" +}, +"filter": { +"description": "Required. A filter to apply on the matching condition results. Required Syntax documentation: https://cloud.google.com/retail/docs/filter-and-order Maximum length is 5000 characters. Otherwise an INVALID ARGUMENT error is thrown.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1ControlPromoteAction": { +"description": "Promote certain links based on some trigger queries. Example: Promote shoe store link when searching for `shoe` keyword. The link can be outside of associated data store.", +"id": "GoogleCloudDiscoveryengineV1ControlPromoteAction", +"properties": { +"dataStore": { +"description": "Required. Data store with which this promotion is attached to.", +"type": "string" +}, +"searchLinkPromotion": { +"$ref": "GoogleCloudDiscoveryengineV1SearchLinkPromotion", +"description": "Required. Promotion attached to this action." +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1ControlRedirectAction": { +"description": "Redirects a shopper to the provided URI.", +"id": "GoogleCloudDiscoveryengineV1ControlRedirectAction", +"properties": { +"redirectUri": { +"description": "Required. The URI to which the shopper will be redirected. Required. URI must have length equal or less than 2000 characters. Otherwise an INVALID ARGUMENT error is thrown.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1ControlSynonymsAction": { +"description": "Creates a set of terms that will act as synonyms of one another. Example: \"happy\" will also be considered as \"glad\", \"glad\" will also be considered as \"happy\".", +"id": "GoogleCloudDiscoveryengineV1ControlSynonymsAction", +"properties": { +"synonyms": { +"description": "Defines a set of synonyms. Can specify up to 100 synonyms. Must specify at least 2 synonyms. Otherwise an INVALID ARGUMENT error is thrown.", +"items": { +"type": "string" +}, +"type": "array" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1CreateDataStoreMetadata": { +"description": "Metadata related to the progress of the DataStoreService.CreateDataStore operation. This will be returned by the google.longrunning.Operation.metadata field.", +"id": "GoogleCloudDiscoveryengineV1CreateDataStoreMetadata", +"properties": { +"createTime": { +"description": "Operation create time.", +"format": "google-datetime", +"type": "string" +}, +"updateTime": { +"description": "Operation last update time. If the operation is done, this is also the finish time.", +"format": "google-datetime", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1CreateEngineMetadata": { +"description": "Metadata related to the progress of the EngineService.CreateEngine operation. This will be returned by the google.longrunning.Operation.metadata field.", +"id": "GoogleCloudDiscoveryengineV1CreateEngineMetadata", +"properties": { +"createTime": { +"description": "Operation create time.", +"format": "google-datetime", +"type": "string" +}, +"updateTime": { +"description": "Operation last update time. If the operation is done, this is also the finish time.", +"format": "google-datetime", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1CreateSchemaMetadata": { +"description": "Metadata for Create Schema LRO.", +"id": "GoogleCloudDiscoveryengineV1CreateSchemaMetadata", +"properties": { +"createTime": { +"description": "Operation create time.", +"format": "google-datetime", +"type": "string" +}, +"updateTime": { +"description": "Operation last update time. If the operation is done, this is also the finish time.", +"format": "google-datetime", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1CreateTargetSiteMetadata": { +"description": "Metadata related to the progress of the SiteSearchEngineService.CreateTargetSite operation. This will be returned by the google.longrunning.Operation.metadata field.", +"id": "GoogleCloudDiscoveryengineV1CreateTargetSiteMetadata", +"properties": { +"createTime": { +"description": "Operation create time.", +"format": "google-datetime", +"type": "string" +}, +"updateTime": { +"description": "Operation last update time. If the operation is done, this is also the finish time.", +"format": "google-datetime", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1DataStore": { +"description": "DataStore captures global settings and configs at the DataStore level.", +"id": "GoogleCloudDiscoveryengineV1DataStore", +"properties": { +"advancedSiteSearchConfig": { +"$ref": "GoogleCloudDiscoveryengineV1AdvancedSiteSearchConfig", +"description": "Optional. Configuration for advanced site search." +}, +"billingEstimation": { +"$ref": "GoogleCloudDiscoveryengineV1DataStoreBillingEstimation", +"description": "Output only. Data size estimation for billing.", +"readOnly": true +}, +"cmekConfig": { +"$ref": "GoogleCloudDiscoveryengineV1CmekConfig", +"description": "Output only. CMEK-related information for the DataStore.", +"readOnly": true +}, +"contentConfig": { +"description": "Immutable. The content config of the data store. If this field is unset, the server behavior defaults to ContentConfig.NO_CONTENT.", +"enum": [ +"CONTENT_CONFIG_UNSPECIFIED", +"NO_CONTENT", +"CONTENT_REQUIRED", +"PUBLIC_WEBSITE", +"GOOGLE_WORKSPACE" +], +"enumDescriptions": [ +"Default value.", +"Only contains documents without any Document.content.", +"Only contains documents with Document.content.", +"The data store is used for public website search.", +"The data store is used for workspace search. Details of workspace data store are specified in the WorkspaceConfig." +], +"type": "string" +}, +"createTime": { +"description": "Output only. Timestamp the DataStore was created at.", +"format": "google-datetime", +"readOnly": true, +"type": "string" +}, +"defaultSchemaId": { +"description": "Output only. The id of the default Schema asscociated to this data store.", +"readOnly": true, +"type": "string" +}, +"displayName": { +"description": "Required. The data store display name. This field must be a UTF-8 encoded string with a length limit of 128 characters. Otherwise, an INVALID_ARGUMENT error is returned.", +"type": "string" +}, +"documentProcessingConfig": { +"$ref": "GoogleCloudDiscoveryengineV1DocumentProcessingConfig", +"description": "Configuration for Document understanding and enrichment." +}, +"industryVertical": { +"description": "Immutable. The industry vertical that the data store registers.", +"enum": [ +"INDUSTRY_VERTICAL_UNSPECIFIED", +"GENERIC", +"MEDIA", +"HEALTHCARE_FHIR" +], +"enumDescriptions": [ +"Value used when unset.", +"The generic vertical for documents that are not specific to any industry vertical.", +"The media industry vertical.", +"The healthcare FHIR vertical." +], +"type": "string" +}, +"isInfobotFaqDataStore": { +"description": "Optional. If set, this DataStore is an Infobot FAQ DataStore.", +"type": "boolean" +}, +"kmsKeyName": { +"description": "Input only. The KMS key to be used to protect this DataStore at creation time. Must be set for requests that need to comply with CMEK Org Policy protections. If this field is set and processed successfully, the DataStore will be protected by the KMS key, as indicated in the cmek_config field.", +"type": "string" +}, +"name": { +"description": "Immutable. The full resource name of the data store. Format: `projects/{project}/locations/{location}/collections/{collection_id}/dataStores/{data_store_id}`. This field must be a UTF-8 encoded string with a length limit of 1024 characters.", +"type": "string" +}, +"servingConfigDataStore": { +"$ref": "GoogleCloudDiscoveryengineV1DataStoreServingConfigDataStore", +"description": "Optional. Stores serving config at DataStore level." +}, +"solutionTypes": { +"description": "The solutions that the data store enrolls. Available solutions for each industry_vertical: * `MEDIA`: `SOLUTION_TYPE_RECOMMENDATION` and `SOLUTION_TYPE_SEARCH`. * `SITE_SEARCH`: `SOLUTION_TYPE_SEARCH` is automatically enrolled. Other solutions cannot be enrolled.", +"items": { +"enum": [ +"SOLUTION_TYPE_UNSPECIFIED", +"SOLUTION_TYPE_RECOMMENDATION", +"SOLUTION_TYPE_SEARCH", +"SOLUTION_TYPE_CHAT", +"SOLUTION_TYPE_GENERATIVE_CHAT" +], +"enumDescriptions": [ +"Default value.", +"Used for Recommendations AI.", +"Used for Discovery Search.", +"Used for use cases related to the Generative AI agent.", +"Used for use cases related to the Generative Chat agent. It's used for Generative chat engine only, the associated data stores must enrolled with `SOLUTION_TYPE_CHAT` solution." +], +"type": "string" +}, +"type": "array" +}, +"startingSchema": { +"$ref": "GoogleCloudDiscoveryengineV1Schema", +"description": "The start schema to use for this DataStore when provisioning it. If unset, a default vertical specialized schema will be used. This field is only used by CreateDataStore API, and will be ignored if used in other APIs. This field will be omitted from all API responses including CreateDataStore API. To retrieve a schema of a DataStore, use SchemaService.GetSchema API instead. The provided schema will be validated against certain rules on schema. Learn more from [this doc](https://cloud.google.com/generative-ai-app-builder/docs/provide-schema)." +}, +"workspaceConfig": { +"$ref": "GoogleCloudDiscoveryengineV1WorkspaceConfig", +"description": "Config to store data store type configuration for workspace data. This must be set when DataStore.content_config is set as DataStore.ContentConfig.GOOGLE_WORKSPACE." +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1DataStoreBillingEstimation": { +"description": "Estimation of data size per data store.", +"id": "GoogleCloudDiscoveryengineV1DataStoreBillingEstimation", +"properties": { +"structuredDataSize": { +"description": "Data size for structured data in terms of bytes.", +"format": "int64", +"type": "string" +}, +"structuredDataUpdateTime": { +"description": "Last updated timestamp for structured data.", +"format": "google-datetime", +"type": "string" +}, +"unstructuredDataSize": { +"description": "Data size for unstructured data in terms of bytes.", +"format": "int64", +"type": "string" +}, +"unstructuredDataUpdateTime": { +"description": "Last updated timestamp for unstructured data.", +"format": "google-datetime", +"type": "string" +}, +"websiteDataSize": { +"description": "Data size for websites in terms of bytes.", +"format": "int64", +"type": "string" +}, +"websiteDataUpdateTime": { +"description": "Last updated timestamp for websites.", +"format": "google-datetime", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1DataStoreServingConfigDataStore": { +"description": "Stores information regarding the serving configurations at DataStore level.", +"id": "GoogleCloudDiscoveryengineV1DataStoreServingConfigDataStore", +"properties": { +"disabledForServing": { +"description": "If set true, the DataStore will not be available for serving search requests.", +"type": "boolean" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1DeleteDataStoreMetadata": { +"description": "Metadata related to the progress of the DataStoreService.DeleteDataStore operation. This will be returned by the google.longrunning.Operation.metadata field.", +"id": "GoogleCloudDiscoveryengineV1DeleteDataStoreMetadata", +"properties": { +"createTime": { +"description": "Operation create time.", +"format": "google-datetime", +"type": "string" +}, +"updateTime": { +"description": "Operation last update time. If the operation is done, this is also the finish time.", +"format": "google-datetime", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1DeleteEngineMetadata": { +"description": "Metadata related to the progress of the EngineService.DeleteEngine operation. This will be returned by the google.longrunning.Operation.metadata field.", +"id": "GoogleCloudDiscoveryengineV1DeleteEngineMetadata", +"properties": { +"createTime": { +"description": "Operation create time.", +"format": "google-datetime", +"type": "string" +}, +"updateTime": { +"description": "Operation last update time. If the operation is done, this is also the finish time.", +"format": "google-datetime", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1DeleteIdentityMappingStoreMetadata": { +"description": "Metadata related to the progress of the IdentityMappingStoreService.DeleteIdentityMappingStore operation. This will be returned by the google.longrunning.Operation.metadata field.", +"id": "GoogleCloudDiscoveryengineV1DeleteIdentityMappingStoreMetadata", +"properties": { +"createTime": { +"description": "Operation create time.", +"format": "google-datetime", +"type": "string" +}, +"updateTime": { +"description": "Operation last update time. If the operation is done, this is also the finish time.", +"format": "google-datetime", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1DeleteSchemaMetadata": { +"description": "Metadata for DeleteSchema LRO.", +"id": "GoogleCloudDiscoveryengineV1DeleteSchemaMetadata", +"properties": { +"createTime": { +"description": "Operation create time.", +"format": "google-datetime", +"type": "string" +}, +"updateTime": { +"description": "Operation last update time. If the operation is done, this is also the finish time.", +"format": "google-datetime", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1DeleteTargetSiteMetadata": { +"description": "Metadata related to the progress of the SiteSearchEngineService.DeleteTargetSite operation. This will be returned by the google.longrunning.Operation.metadata field.", +"id": "GoogleCloudDiscoveryengineV1DeleteTargetSiteMetadata", +"properties": { +"createTime": { +"description": "Operation create time.", +"format": "google-datetime", +"type": "string" +}, +"updateTime": { +"description": "Operation last update time. If the operation is done, this is also the finish time.", +"format": "google-datetime", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1DisableAdvancedSiteSearchMetadata": { +"description": "Metadata related to the progress of the SiteSearchEngineService.DisableAdvancedSiteSearch operation. This will be returned by the google.longrunning.Operation.metadata field.", +"id": "GoogleCloudDiscoveryengineV1DisableAdvancedSiteSearchMetadata", +"properties": { +"createTime": { +"description": "Operation create time.", +"format": "google-datetime", +"type": "string" +}, +"updateTime": { +"description": "Operation last update time. If the operation is done, this is also the finish time.", +"format": "google-datetime", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1DisableAdvancedSiteSearchResponse": { +"description": "Response message for SiteSearchEngineService.DisableAdvancedSiteSearch method.", +"id": "GoogleCloudDiscoveryengineV1DisableAdvancedSiteSearchResponse", +"properties": {}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1DocumentProcessingConfig": { +"description": "A singleton resource of DataStore. If it's empty when DataStore is created and DataStore is set to DataStore.ContentConfig.CONTENT_REQUIRED, the default parser will default to digital parser.", +"id": "GoogleCloudDiscoveryengineV1DocumentProcessingConfig", +"properties": { +"chunkingConfig": { +"$ref": "GoogleCloudDiscoveryengineV1DocumentProcessingConfigChunkingConfig", +"description": "Whether chunking mode is enabled." +}, +"defaultParsingConfig": { +"$ref": "GoogleCloudDiscoveryengineV1DocumentProcessingConfigParsingConfig", +"description": "Configurations for default Document parser. If not specified, we will configure it as default DigitalParsingConfig, and the default parsing config will be applied to all file types for Document parsing." +}, +"name": { +"description": "The full resource name of the Document Processing Config. Format: `projects/*/locations/*/collections/*/dataStores/*/documentProcessingConfig`.", +"type": "string" +}, +"parsingConfigOverrides": { +"additionalProperties": { +"$ref": "GoogleCloudDiscoveryengineV1DocumentProcessingConfigParsingConfig" +}, +"description": "Map from file type to override the default parsing configuration based on the file type. Supported keys: * `pdf`: Override parsing config for PDF files, either digital parsing, ocr parsing or layout parsing is supported. * `html`: Override parsing config for HTML files, only digital parsing and layout parsing are supported. * `docx`: Override parsing config for DOCX files, only digital parsing and layout parsing are supported. * `pptx`: Override parsing config for PPTX files, only digital parsing and layout parsing are supported. * `xlsm`: Override parsing config for XLSM files, only digital parsing and layout parsing are supported. * `xlsx`: Override parsing config for XLSX files, only digital parsing and layout parsing are supported.", +"type": "object" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1DocumentProcessingConfigChunkingConfig": { +"description": "Configuration for chunking config.", +"id": "GoogleCloudDiscoveryengineV1DocumentProcessingConfigChunkingConfig", +"properties": { +"layoutBasedChunkingConfig": { +"$ref": "GoogleCloudDiscoveryengineV1DocumentProcessingConfigChunkingConfigLayoutBasedChunkingConfig", +"description": "Configuration for the layout based chunking." +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1DocumentProcessingConfigChunkingConfigLayoutBasedChunkingConfig": { +"description": "Configuration for the layout based chunking.", +"id": "GoogleCloudDiscoveryengineV1DocumentProcessingConfigChunkingConfigLayoutBasedChunkingConfig", +"properties": { +"chunkSize": { +"description": "The token size limit for each chunk. Supported values: 100-500 (inclusive). Default value: 500.", +"format": "int32", +"type": "integer" +}, +"includeAncestorHeadings": { +"description": "Whether to include appending different levels of headings to chunks from the middle of the document to prevent context loss. Default value: False.", +"type": "boolean" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1DocumentProcessingConfigParsingConfig": { +"description": "Related configurations applied to a specific type of document parser.", +"id": "GoogleCloudDiscoveryengineV1DocumentProcessingConfigParsingConfig", +"properties": { +"digitalParsingConfig": { +"$ref": "GoogleCloudDiscoveryengineV1DocumentProcessingConfigParsingConfigDigitalParsingConfig", +"description": "Configurations applied to digital parser." +}, +"layoutParsingConfig": { +"$ref": "GoogleCloudDiscoveryengineV1DocumentProcessingConfigParsingConfigLayoutParsingConfig", +"description": "Configurations applied to layout parser." +}, +"ocrParsingConfig": { +"$ref": "GoogleCloudDiscoveryengineV1DocumentProcessingConfigParsingConfigOcrParsingConfig", +"description": "Configurations applied to OCR parser. Currently it only applies to PDFs." +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1DocumentProcessingConfigParsingConfigDigitalParsingConfig": { +"description": "The digital parsing configurations for documents.", +"id": "GoogleCloudDiscoveryengineV1DocumentProcessingConfigParsingConfigDigitalParsingConfig", +"properties": {}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1DocumentProcessingConfigParsingConfigLayoutParsingConfig": { +"description": "The layout parsing configurations for documents.", +"id": "GoogleCloudDiscoveryengineV1DocumentProcessingConfigParsingConfigLayoutParsingConfig", +"properties": {}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1DocumentProcessingConfigParsingConfigOcrParsingConfig": { +"description": "The OCR parsing configurations for documents.", +"id": "GoogleCloudDiscoveryengineV1DocumentProcessingConfigParsingConfigOcrParsingConfig", +"properties": { +"enhancedDocumentElements": { +"deprecated": true, +"description": "[DEPRECATED] This field is deprecated. To use the additional enhanced document elements processing, please switch to `layout_parsing_config`.", +"items": { +"type": "string" +}, +"type": "array" +}, +"useNativeText": { +"description": "If true, will use native text instead of OCR text on pages containing native text.", +"type": "boolean" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1EnableAdvancedSiteSearchMetadata": { +"description": "Metadata related to the progress of the SiteSearchEngineService.EnableAdvancedSiteSearch operation. This will be returned by the google.longrunning.Operation.metadata field.", +"id": "GoogleCloudDiscoveryengineV1EnableAdvancedSiteSearchMetadata", +"properties": { +"createTime": { +"description": "Operation create time.", +"format": "google-datetime", +"type": "string" +}, +"updateTime": { +"description": "Operation last update time. If the operation is done, this is also the finish time.", +"format": "google-datetime", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1EnableAdvancedSiteSearchResponse": { +"description": "Response message for SiteSearchEngineService.EnableAdvancedSiteSearch method.", +"id": "GoogleCloudDiscoveryengineV1EnableAdvancedSiteSearchResponse", +"properties": {}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1Engine": { +"description": "Metadata that describes the training and serving parameters of an Engine.", +"id": "GoogleCloudDiscoveryengineV1Engine", +"properties": { +"chatEngineConfig": { +"$ref": "GoogleCloudDiscoveryengineV1EngineChatEngineConfig", +"description": "Configurations for the Chat Engine. Only applicable if solution_type is SOLUTION_TYPE_CHAT." +}, +"chatEngineMetadata": { +"$ref": "GoogleCloudDiscoveryengineV1EngineChatEngineMetadata", +"description": "Output only. Additional information of the Chat Engine. Only applicable if solution_type is SOLUTION_TYPE_CHAT.", +"readOnly": true +}, +"commonConfig": { +"$ref": "GoogleCloudDiscoveryengineV1EngineCommonConfig", +"description": "Common config spec that specifies the metadata of the engine." +}, +"createTime": { +"description": "Output only. Timestamp the Recommendation Engine was created at.", +"format": "google-datetime", +"readOnly": true, +"type": "string" +}, +"dataStoreIds": { +"description": "The data stores associated with this engine. For SOLUTION_TYPE_SEARCH and SOLUTION_TYPE_RECOMMENDATION type of engines, they can only associate with at most one data store. If solution_type is SOLUTION_TYPE_CHAT, multiple DataStores in the same Collection can be associated here. Note that when used in CreateEngineRequest, one DataStore id must be provided as the system will use it for necessary initializations.", +"items": { +"type": "string" +}, +"type": "array" +}, +"disableAnalytics": { +"description": "Optional. Whether to disable analytics for searches performed on this engine.", +"type": "boolean" +}, +"displayName": { +"description": "Required. The display name of the engine. Should be human readable. UTF-8 encoded string with limit of 1024 characters.", +"type": "string" +}, +"industryVertical": { +"description": "The industry vertical that the engine registers. The restriction of the Engine industry vertical is based on DataStore: Vertical on Engine has to match vertical of the DataStore linked to the engine.", +"enum": [ +"INDUSTRY_VERTICAL_UNSPECIFIED", +"GENERIC", +"MEDIA", +"HEALTHCARE_FHIR" +], +"enumDescriptions": [ +"Value used when unset.", +"The generic vertical for documents that are not specific to any industry vertical.", +"The media industry vertical.", +"The healthcare FHIR vertical." +], +"type": "string" +}, +"name": { +"description": "Immutable. The fully qualified resource name of the engine. This field must be a UTF-8 encoded string with a length limit of 1024 characters. Format: `projects/{project}/locations/{location}/collections/{collection}/engines/{engine}` engine should be 1-63 characters, and valid characters are /a-z0-9*/. Otherwise, an INVALID_ARGUMENT error is returned.", +"type": "string" +}, +"searchEngineConfig": { +"$ref": "GoogleCloudDiscoveryengineV1EngineSearchEngineConfig", +"description": "Configurations for the Search Engine. Only applicable if solution_type is SOLUTION_TYPE_SEARCH." +}, +"solutionType": { +"description": "Required. The solutions of the engine.", +"enum": [ +"SOLUTION_TYPE_UNSPECIFIED", +"SOLUTION_TYPE_RECOMMENDATION", +"SOLUTION_TYPE_SEARCH", +"SOLUTION_TYPE_CHAT", +"SOLUTION_TYPE_GENERATIVE_CHAT" +], +"enumDescriptions": [ +"Default value.", +"Used for Recommendations AI.", +"Used for Discovery Search.", +"Used for use cases related to the Generative AI agent.", +"Used for use cases related to the Generative Chat agent. It's used for Generative chat engine only, the associated data stores must enrolled with `SOLUTION_TYPE_CHAT` solution." +], +"type": "string" +}, +"updateTime": { +"description": "Output only. Timestamp the Recommendation Engine was last updated.", +"format": "google-datetime", +"readOnly": true, +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1EngineChatEngineConfig": { +"description": "Configurations for a Chat Engine.", +"id": "GoogleCloudDiscoveryengineV1EngineChatEngineConfig", +"properties": { +"agentCreationConfig": { +"$ref": "GoogleCloudDiscoveryengineV1EngineChatEngineConfigAgentCreationConfig", +"description": "The configurationt generate the Dialogflow agent that is associated to this Engine. Note that these configurations are one-time consumed by and passed to Dialogflow service. It means they cannot be retrieved using EngineService.GetEngine or EngineService.ListEngines API after engine creation." +}, +"dialogflowAgentToLink": { +"description": "The resource name of an exist Dialogflow agent to link to this Chat Engine. Customers can either provide `agent_creation_config` to create agent or provide an agent name that links the agent with the Chat engine. Format: `projects//locations//agents/`. Note that the `dialogflow_agent_to_link` are one-time consumed by and passed to Dialogflow service. It means they cannot be retrieved using EngineService.GetEngine or EngineService.ListEngines API after engine creation. Use ChatEngineMetadata.dialogflow_agent for actual agent association after Engine is created.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1EngineChatEngineConfigAgentCreationConfig": { +"description": "Configurations for generating a Dialogflow agent. Note that these configurations are one-time consumed by and passed to Dialogflow service. It means they cannot be retrieved using EngineService.GetEngine or EngineService.ListEngines API after engine creation.", +"id": "GoogleCloudDiscoveryengineV1EngineChatEngineConfigAgentCreationConfig", +"properties": { +"business": { +"description": "Name of the company, organization or other entity that the agent represents. Used for knowledge connector LLM prompt and for knowledge search.", +"type": "string" +}, +"defaultLanguageCode": { +"description": "Required. The default language of the agent as a language tag. See [Language Support](https://cloud.google.com/dialogflow/docs/reference/language) for a list of the currently supported language codes.", +"type": "string" +}, +"location": { +"description": "Agent location for Agent creation, supported values: global/us/eu. If not provided, us Engine will create Agent using us-central-1 by default; eu Engine will create Agent using eu-west-1 by default.", +"type": "string" +}, +"timeZone": { +"description": "Required. The time zone of the agent from the [time zone database](https://www.iana.org/time-zones), e.g., America/New_York, Europe/Paris.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1EngineChatEngineMetadata": { +"description": "Additional information of a Chat Engine. Fields in this message are output only.", +"id": "GoogleCloudDiscoveryengineV1EngineChatEngineMetadata", +"properties": { +"dialogflowAgent": { +"description": "The resource name of a Dialogflow agent, that this Chat Engine refers to. Format: `projects//locations//agents/`.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1EngineCommonConfig": { +"description": "Common configurations for an Engine.", +"id": "GoogleCloudDiscoveryengineV1EngineCommonConfig", +"properties": { +"companyName": { +"description": "The name of the company, business or entity that is associated with the engine. Setting this may help improve LLM related features.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1EngineSearchEngineConfig": { +"description": "Configurations for a Search Engine.", +"id": "GoogleCloudDiscoveryengineV1EngineSearchEngineConfig", +"properties": { +"searchAddOns": { +"description": "The add-on that this search engine enables.", +"items": { +"enum": [ +"SEARCH_ADD_ON_UNSPECIFIED", +"SEARCH_ADD_ON_LLM" +], +"enumDescriptions": [ +"Default value when the enum is unspecified. This is invalid to use.", +"Large language model add-on." +], +"type": "string" +}, +"type": "array" +}, +"searchTier": { +"description": "The search feature tier of this engine. Different tiers might have different pricing. To learn more, check the pricing documentation. Defaults to SearchTier.SEARCH_TIER_STANDARD if not specified.", +"enum": [ +"SEARCH_TIER_UNSPECIFIED", +"SEARCH_TIER_STANDARD", +"SEARCH_TIER_ENTERPRISE" +], +"enumDescriptions": [ +"Default value when the enum is unspecified. This is invalid to use.", +"Standard tier.", +"Enterprise tier." +], +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1ImportCompletionSuggestionsMetadata": { +"description": "Metadata related to the progress of the ImportCompletionSuggestions operation. This will be returned by the google.longrunning.Operation.metadata field.", +"id": "GoogleCloudDiscoveryengineV1ImportCompletionSuggestionsMetadata", +"properties": { +"createTime": { +"description": "Operation create time.", +"format": "google-datetime", +"type": "string" +}, +"failureCount": { +"description": "Count of CompletionSuggestions that failed to be imported.", +"format": "int64", +"type": "string" +}, +"successCount": { +"description": "Count of CompletionSuggestions successfully imported.", +"format": "int64", +"type": "string" +}, +"updateTime": { +"description": "Operation last update time. If the operation is done, this is also the finish time.", +"format": "google-datetime", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1ImportCompletionSuggestionsResponse": { +"description": "Response of the CompletionService.ImportCompletionSuggestions method. If the long running operation is done, this message is returned by the google.longrunning.Operations.response field if the operation is successful.", +"id": "GoogleCloudDiscoveryengineV1ImportCompletionSuggestionsResponse", +"properties": { +"errorConfig": { +"$ref": "GoogleCloudDiscoveryengineV1ImportErrorConfig", +"description": "The desired location of errors incurred during the Import." +}, +"errorSamples": { +"description": "A sample of errors encountered while processing the request.", +"items": { +"$ref": "GoogleRpcStatus" +}, +"type": "array" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1ImportDocumentsMetadata": { +"description": "Metadata related to the progress of the ImportDocuments operation. This is returned by the google.longrunning.Operation.metadata field.", +"id": "GoogleCloudDiscoveryengineV1ImportDocumentsMetadata", +"properties": { +"createTime": { +"description": "Operation create time.", +"format": "google-datetime", +"type": "string" +}, +"failureCount": { +"description": "Count of entries that encountered errors while processing.", +"format": "int64", +"type": "string" +}, +"successCount": { +"description": "Count of entries that were processed successfully.", +"format": "int64", +"type": "string" +}, +"totalCount": { +"description": "Total count of entries that were processed.", +"format": "int64", +"type": "string" +}, +"updateTime": { +"description": "Operation last update time. If the operation is done, this is also the finish time.", +"format": "google-datetime", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1ImportDocumentsResponse": { +"description": "Response of the ImportDocumentsRequest. If the long running operation is done, then this message is returned by the google.longrunning.Operations.response field if the operation was successful.", +"id": "GoogleCloudDiscoveryengineV1ImportDocumentsResponse", +"properties": { +"errorConfig": { +"$ref": "GoogleCloudDiscoveryengineV1ImportErrorConfig", +"description": "Echoes the destination for the complete errors in the request if set." +}, +"errorSamples": { +"description": "A sample of errors encountered while processing the request.", +"items": { +"$ref": "GoogleRpcStatus" +}, +"type": "array" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1ImportErrorConfig": { +"description": "Configuration of destination for Import related errors.", +"id": "GoogleCloudDiscoveryengineV1ImportErrorConfig", +"properties": { +"gcsPrefix": { +"description": "Cloud Storage prefix for import errors. This must be an empty, existing Cloud Storage directory. Import errors are written to sharded files in this directory, one per line, as a JSON-encoded `google.rpc.Status` message.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1ImportSuggestionDenyListEntriesMetadata": { +"description": "Metadata related to the progress of the ImportSuggestionDenyListEntries operation. This is returned by the google.longrunning.Operation.metadata field.", +"id": "GoogleCloudDiscoveryengineV1ImportSuggestionDenyListEntriesMetadata", +"properties": { +"createTime": { +"description": "Operation create time.", +"format": "google-datetime", +"type": "string" +}, +"updateTime": { +"description": "Operation last update time. If the operation is done, this is also the finish time.", +"format": "google-datetime", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1ImportSuggestionDenyListEntriesResponse": { +"description": "Response message for CompletionService.ImportSuggestionDenyListEntries method.", +"id": "GoogleCloudDiscoveryengineV1ImportSuggestionDenyListEntriesResponse", +"properties": { +"errorSamples": { +"description": "A sample of errors encountered while processing the request.", +"items": { +"$ref": "GoogleRpcStatus" +}, +"type": "array" +}, +"failedEntriesCount": { +"description": "Count of deny list entries that failed to be imported.", +"format": "int64", +"type": "string" +}, +"importedEntriesCount": { +"description": "Count of deny list entries successfully imported.", +"format": "int64", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1ImportUserEventsMetadata": { +"description": "Metadata related to the progress of the Import operation. This is returned by the google.longrunning.Operation.metadata field.", +"id": "GoogleCloudDiscoveryengineV1ImportUserEventsMetadata", +"properties": { +"createTime": { +"description": "Operation create time.", +"format": "google-datetime", +"type": "string" +}, +"failureCount": { +"description": "Count of entries that encountered errors while processing.", +"format": "int64", +"type": "string" +}, +"successCount": { +"description": "Count of entries that were processed successfully.", +"format": "int64", +"type": "string" +}, +"updateTime": { +"description": "Operation last update time. If the operation is done, this is also the finish time.", +"format": "google-datetime", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1ImportUserEventsResponse": { +"description": "Response of the ImportUserEventsRequest. If the long running operation was successful, then this message is returned by the google.longrunning.Operations.response field if the operation was successful.", +"id": "GoogleCloudDiscoveryengineV1ImportUserEventsResponse", +"properties": { +"errorConfig": { +"$ref": "GoogleCloudDiscoveryengineV1ImportErrorConfig", +"description": "Echoes the destination for the complete errors if this field was set in the request." +}, +"errorSamples": { +"description": "A sample of errors encountered while processing the request.", +"items": { +"$ref": "GoogleRpcStatus" +}, +"type": "array" +}, +"joinedEventsCount": { +"description": "Count of user events imported with complete existing Documents.", +"format": "int64", +"type": "string" +}, +"unjoinedEventsCount": { +"description": "Count of user events imported, but with Document information not found in the existing Branch.", +"format": "int64", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1Project": { +"description": "Metadata and configurations for a Google Cloud project in the service.", +"id": "GoogleCloudDiscoveryengineV1Project", +"properties": { +"createTime": { +"description": "Output only. The timestamp when this project is created.", +"format": "google-datetime", +"readOnly": true, +"type": "string" +}, +"name": { +"description": "Output only. Full resource name of the project, for example `projects/{project}`. Note that when making requests, project number and project id are both acceptable, but the server will always respond in project number.", +"readOnly": true, +"type": "string" +}, +"provisionCompletionTime": { +"description": "Output only. The timestamp when this project is successfully provisioned. Empty value means this project is still provisioning and is not ready for use.", +"format": "google-datetime", +"readOnly": true, +"type": "string" +}, +"serviceTermsMap": { +"additionalProperties": { +"$ref": "GoogleCloudDiscoveryengineV1ProjectServiceTerms" +}, +"description": "Output only. A map of terms of services. The key is the `id` of ServiceTerms.", +"readOnly": true, +"type": "object" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1ProjectServiceTerms": { +"description": "Metadata about the terms of service.", +"id": "GoogleCloudDiscoveryengineV1ProjectServiceTerms", +"properties": { +"acceptTime": { +"description": "The last time when the project agreed to the terms of service.", +"format": "google-datetime", +"type": "string" +}, +"declineTime": { +"description": "The last time when the project declined or revoked the agreement to terms of service.", +"format": "google-datetime", +"type": "string" +}, +"id": { +"description": "The unique identifier of this terms of service. Available terms: * `GA_DATA_USE_TERMS`: [Terms for data use](https://cloud.google.com/retail/data-use-terms). When using this as `id`, the acceptable version to provide is `2022-11-23`.", +"type": "string" +}, +"state": { +"description": "Whether the project has accepted/rejected the service terms or it is still pending.", +"enum": [ +"STATE_UNSPECIFIED", +"TERMS_ACCEPTED", +"TERMS_PENDING", +"TERMS_DECLINED" +], +"enumDescriptions": [ +"The default value of the enum. This value is not actually used.", +"The project has given consent to the terms of service.", +"The project is pending to review and accept the terms of service.", +"The project has declined or revoked the agreement to terms of service." +], +"type": "string" +}, +"version": { +"description": "The version string of the terms of service. For acceptable values, see the comments for id above.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1ProvisionProjectMetadata": { +"description": "Metadata associated with a project provision operation.", +"id": "GoogleCloudDiscoveryengineV1ProvisionProjectMetadata", +"properties": {}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1PurgeCompletionSuggestionsMetadata": { +"description": "Metadata related to the progress of the PurgeCompletionSuggestions operation. This is returned by the google.longrunning.Operation.metadata field.", +"id": "GoogleCloudDiscoveryengineV1PurgeCompletionSuggestionsMetadata", +"properties": { +"createTime": { +"description": "Operation create time.", +"format": "google-datetime", +"type": "string" +}, +"updateTime": { +"description": "Operation last update time. If the operation is done, this is also the finish time.", +"format": "google-datetime", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1PurgeCompletionSuggestionsResponse": { +"description": "Response message for CompletionService.PurgeCompletionSuggestions method.", +"id": "GoogleCloudDiscoveryengineV1PurgeCompletionSuggestionsResponse", +"properties": { +"errorSamples": { +"description": "A sample of errors encountered while processing the request.", +"items": { +"$ref": "GoogleRpcStatus" +}, +"type": "array" +}, +"purgeSucceeded": { +"description": "Whether the completion suggestions were successfully purged.", +"type": "boolean" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1PurgeDocumentsMetadata": { +"description": "Metadata related to the progress of the PurgeDocuments operation. This will be returned by the google.longrunning.Operation.metadata field.", +"id": "GoogleCloudDiscoveryengineV1PurgeDocumentsMetadata", +"properties": { +"createTime": { +"description": "Operation create time.", +"format": "google-datetime", +"type": "string" +}, +"failureCount": { +"description": "Count of entries that encountered errors while processing.", +"format": "int64", +"type": "string" +}, +"ignoredCount": { +"description": "Count of entries that were ignored as entries were not found.", +"format": "int64", +"type": "string" +}, +"successCount": { +"description": "Count of entries that were deleted successfully.", +"format": "int64", +"type": "string" +}, +"updateTime": { +"description": "Operation last update time. If the operation is done, this is also the finish time.", +"format": "google-datetime", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1PurgeDocumentsResponse": { +"description": "Response message for DocumentService.PurgeDocuments method. If the long running operation is successfully done, then this message is returned by the google.longrunning.Operations.response field.", +"id": "GoogleCloudDiscoveryengineV1PurgeDocumentsResponse", +"properties": { +"purgeCount": { +"description": "The total count of documents purged as a result of the operation.", +"format": "int64", +"type": "string" +}, +"purgeSample": { +"description": "A sample of document names that will be deleted. Only populated if `force` is set to false. A max of 100 names will be returned and the names are chosen at random.", +"items": { +"type": "string" +}, +"type": "array" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1PurgeSuggestionDenyListEntriesMetadata": { +"description": "Metadata related to the progress of the PurgeSuggestionDenyListEntries operation. This is returned by the google.longrunning.Operation.metadata field.", +"id": "GoogleCloudDiscoveryengineV1PurgeSuggestionDenyListEntriesMetadata", +"properties": { +"createTime": { +"description": "Operation create time.", +"format": "google-datetime", +"type": "string" +}, +"updateTime": { +"description": "Operation last update time. If the operation is done, this is also the finish time.", +"format": "google-datetime", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1PurgeSuggestionDenyListEntriesResponse": { +"description": "Response message for CompletionService.PurgeSuggestionDenyListEntries method.", +"id": "GoogleCloudDiscoveryengineV1PurgeSuggestionDenyListEntriesResponse", +"properties": { +"errorSamples": { +"description": "A sample of errors encountered while processing the request.", +"items": { +"$ref": "GoogleRpcStatus" +}, +"type": "array" +}, +"purgeCount": { +"description": "Number of suggestion deny list entries purged.", +"format": "int64", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1Schema": { +"description": "Defines the structure and layout of a type of document data.", +"id": "GoogleCloudDiscoveryengineV1Schema", +"properties": { +"jsonSchema": { +"description": "The JSON representation of the schema.", +"type": "string" +}, +"name": { +"description": "Immutable. The full resource name of the schema, in the format of `projects/{project}/locations/{location}/collections/{collection}/dataStores/{data_store}/schemas/{schema}`. This field must be a UTF-8 encoded string with a length limit of 1024 characters.", +"type": "string" +}, +"structSchema": { +"additionalProperties": { +"description": "Properties of the object.", +"type": "any" +}, +"description": "The structured representation of the schema.", +"type": "object" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1SearchLinkPromotion": { +"description": "Promotion proto includes uri and other helping information to display the promotion.", +"id": "GoogleCloudDiscoveryengineV1SearchLinkPromotion", +"properties": { +"description": { +"description": "Optional. The Promotion description. Maximum length: 200 characters.", +"type": "string" +}, +"enabled": { +"description": "Optional. The enabled promotion will be returned for any serving configs associated with the parent of the control this promotion is attached to. This flag is used for basic site search only.", +"type": "boolean" +}, +"imageUri": { +"description": "Optional. The promotion thumbnail image url.", +"type": "string" +}, +"title": { +"description": "Required. The title of the promotion. Maximum length: 160 characters.", +"type": "string" +}, +"uri": { +"description": "Required. The URL for the page the user wants to promote.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1SearchRequestContentSearchSpec": { +"description": "A specification for configuring the behavior of content search.", +"id": "GoogleCloudDiscoveryengineV1SearchRequestContentSearchSpec", +"properties": { +"chunkSpec": { +"$ref": "GoogleCloudDiscoveryengineV1SearchRequestContentSearchSpecChunkSpec", +"description": "Specifies the chunk spec to be returned from the search response. Only available if the SearchRequest.ContentSearchSpec.search_result_mode is set to CHUNKS" +}, +"extractiveContentSpec": { +"$ref": "GoogleCloudDiscoveryengineV1SearchRequestContentSearchSpecExtractiveContentSpec", +"description": "If there is no extractive_content_spec provided, there will be no extractive answer in the search response." +}, +"searchResultMode": { +"description": "Specifies the search result mode. If unspecified, the search result mode defaults to `DOCUMENTS`.", +"enum": [ +"SEARCH_RESULT_MODE_UNSPECIFIED", +"DOCUMENTS", +"CHUNKS" +], +"enumDescriptions": [ +"Default value.", +"Returns documents in the search result.", +"Returns chunks in the search result. Only available if the DocumentProcessingConfig.chunking_config is specified." +], +"type": "string" +}, +"snippetSpec": { +"$ref": "GoogleCloudDiscoveryengineV1SearchRequestContentSearchSpecSnippetSpec", +"description": "If `snippetSpec` is not specified, snippets are not included in the search response." +}, +"summarySpec": { +"$ref": "GoogleCloudDiscoveryengineV1SearchRequestContentSearchSpecSummarySpec", +"description": "If `summarySpec` is not specified, summaries are not included in the search response." +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1SearchRequestContentSearchSpecChunkSpec": { +"description": "Specifies the chunk spec to be returned from the search response. Only available if the SearchRequest.ContentSearchSpec.search_result_mode is set to CHUNKS", +"id": "GoogleCloudDiscoveryengineV1SearchRequestContentSearchSpecChunkSpec", +"properties": { +"numNextChunks": { +"description": "The number of next chunks to be returned of the current chunk. The maximum allowed value is 3. If not specified, no next chunks will be returned.", +"format": "int32", +"type": "integer" +}, +"numPreviousChunks": { +"description": "The number of previous chunks to be returned of the current chunk. The maximum allowed value is 3. If not specified, no previous chunks will be returned.", +"format": "int32", +"type": "integer" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1SearchRequestContentSearchSpecExtractiveContentSpec": { +"description": "A specification for configuring the extractive content in a search response.", +"id": "GoogleCloudDiscoveryengineV1SearchRequestContentSearchSpecExtractiveContentSpec", +"properties": { +"maxExtractiveAnswerCount": { +"description": "The maximum number of extractive answers returned in each search result. An extractive answer is a verbatim answer extracted from the original document, which provides a precise and contextually relevant answer to the search query. If the number of matching answers is less than the `max_extractive_answer_count`, return all of the answers. Otherwise, return the `max_extractive_answer_count`. At most five answers are returned for each SearchResult.", +"format": "int32", +"type": "integer" +}, +"maxExtractiveSegmentCount": { +"description": "The max number of extractive segments returned in each search result. Only applied if the DataStore is set to DataStore.ContentConfig.CONTENT_REQUIRED or DataStore.solution_types is SOLUTION_TYPE_CHAT. An extractive segment is a text segment extracted from the original document that is relevant to the search query, and, in general, more verbose than an extractive answer. The segment could then be used as input for LLMs to generate summaries and answers. If the number of matching segments is less than `max_extractive_segment_count`, return all of the segments. Otherwise, return the `max_extractive_segment_count`.", +"format": "int32", +"type": "integer" +}, +"numNextSegments": { +"description": "Return at most `num_next_segments` segments after each selected segments.", +"format": "int32", +"type": "integer" +}, +"numPreviousSegments": { +"description": "Specifies whether to also include the adjacent from each selected segments. Return at most `num_previous_segments` segments before each selected segments.", +"format": "int32", +"type": "integer" +}, +"returnExtractiveSegmentScore": { +"description": "Specifies whether to return the confidence score from the extractive segments in each search result. This feature is available only for new or allowlisted data stores. To allowlist your data store, contact your Customer Engineer. The default value is `false`.", +"type": "boolean" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1SearchRequestContentSearchSpecSnippetSpec": { +"description": "A specification for configuring snippets in a search response.", +"id": "GoogleCloudDiscoveryengineV1SearchRequestContentSearchSpecSnippetSpec", +"properties": { +"maxSnippetCount": { +"deprecated": true, +"description": "[DEPRECATED] This field is deprecated. To control snippet return, use `return_snippet` field. For backwards compatibility, we will return snippet if max_snippet_count > 0.", +"format": "int32", +"type": "integer" +}, +"referenceOnly": { +"deprecated": true, +"description": "[DEPRECATED] This field is deprecated and will have no affect on the snippet.", +"type": "boolean" +}, +"returnSnippet": { +"description": "If `true`, then return snippet. If no snippet can be generated, we return \"No snippet is available for this page.\" A `snippet_status` with `SUCCESS` or `NO_SNIPPET_AVAILABLE` will also be returned.", +"type": "boolean" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1SearchRequestContentSearchSpecSummarySpec": { +"description": "A specification for configuring a summary returned in a search response.", +"id": "GoogleCloudDiscoveryengineV1SearchRequestContentSearchSpecSummarySpec", +"properties": { +"ignoreAdversarialQuery": { +"description": "Specifies whether to filter out adversarial queries. The default value is `false`. Google employs search-query classification to detect adversarial queries. No summary is returned if the search query is classified as an adversarial query. For example, a user might ask a question regarding negative comments about the company or submit a query designed to generate unsafe, policy-violating output. If this field is set to `true`, we skip generating summaries for adversarial queries and return fallback messages instead.", +"type": "boolean" +}, +"ignoreJailBreakingQuery": { +"description": "Optional. Specifies whether to filter out jail-breaking queries. The default value is `false`. Google employs search-query classification to detect jail-breaking queries. No summary is returned if the search query is classified as a jail-breaking query. A user might add instructions to the query to change the tone, style, language, content of the answer, or ask the model to act as a different entity, e.g. \"Reply in the tone of a competing company's CEO\". If this field is set to `true`, we skip generating summaries for jail-breaking queries and return fallback messages instead.", +"type": "boolean" +}, +"ignoreLowRelevantContent": { +"description": "Specifies whether to filter out queries that have low relevance. The default value is `false`. If this field is set to `false`, all search results are used regardless of relevance to generate answers. If set to `true`, only queries with high relevance search results will generate answers.", +"type": "boolean" +}, +"ignoreNonSummarySeekingQuery": { +"description": "Specifies whether to filter out queries that are not summary-seeking. The default value is `false`. Google employs search-query classification to detect summary-seeking queries. No summary is returned if the search query is classified as a non-summary seeking query. For example, `why is the sky blue` and `Who is the best soccer player in the world?` are summary-seeking queries, but `SFO airport` and `world cup 2026` are not. They are most likely navigational queries. If this field is set to `true`, we skip generating summaries for non-summary seeking queries and return fallback messages instead.", +"type": "boolean" +}, +"includeCitations": { +"description": "Specifies whether to include citations in the summary. The default value is `false`. When this field is set to `true`, summaries include in-line citation numbers. Example summary including citations: BigQuery is Google Cloud's fully managed and completely serverless enterprise data warehouse [1]. BigQuery supports all data types, works across clouds, and has built-in machine learning and business intelligence, all within a unified platform [2, 3]. The citation numbers refer to the returned search results and are 1-indexed. For example, [1] means that the sentence is attributed to the first search result. [2, 3] means that the sentence is attributed to both the second and third search results.", +"type": "boolean" +}, +"languageCode": { +"description": "Language code for Summary. Use language tags defined by [BCP47](https://www.rfc-editor.org/rfc/bcp/bcp47.txt). Note: This is an experimental feature.", +"type": "string" +}, +"modelPromptSpec": { +"$ref": "GoogleCloudDiscoveryengineV1SearchRequestContentSearchSpecSummarySpecModelPromptSpec", +"description": "If specified, the spec will be used to modify the prompt provided to the LLM." +}, +"modelSpec": { +"$ref": "GoogleCloudDiscoveryengineV1SearchRequestContentSearchSpecSummarySpecModelSpec", +"description": "If specified, the spec will be used to modify the model specification provided to the LLM." +}, +"summaryResultCount": { +"description": "The number of top results to generate the summary from. If the number of results returned is less than `summaryResultCount`, the summary is generated from all of the results. At most 10 results for documents mode, or 50 for chunks mode, can be used to generate a summary. The chunks mode is used when SearchRequest.ContentSearchSpec.search_result_mode is set to CHUNKS.", +"format": "int32", +"type": "integer" +}, +"useSemanticChunks": { +"description": "If true, answer will be generated from most relevant chunks from top search results. This feature will improve summary quality. Note that with this feature enabled, not all top search results will be referenced and included in the reference list, so the citation source index only points to the search results listed in the reference list.", +"type": "boolean" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1SearchRequestContentSearchSpecSummarySpecModelPromptSpec": { +"description": "Specification of the prompt to use with the model.", +"id": "GoogleCloudDiscoveryengineV1SearchRequestContentSearchSpecSummarySpecModelPromptSpec", +"properties": { +"preamble": { +"description": "Text at the beginning of the prompt that instructs the assistant. Examples are available in the user guide.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1SearchRequestContentSearchSpecSummarySpecModelSpec": { +"description": "Specification of the model.", +"id": "GoogleCloudDiscoveryengineV1SearchRequestContentSearchSpecSummarySpecModelSpec", +"properties": { +"version": { +"description": "The model version used to generate the summary. Supported values are: * `stable`: string. Default value when no value is specified. Uses a generally available, fine-tuned model. For more information, see [Answer generation model versions and lifecycle](https://cloud.google.com/generative-ai-app-builder/docs/answer-generation-models). * `preview`: string. (Public preview) Uses a preview model. For more information, see [Answer generation model versions and lifecycle](https://cloud.google.com/generative-ai-app-builder/docs/answer-generation-models).", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1ServingConfig": { +"description": "Configures metadata that is used to generate serving time results (e.g. search results or recommendation predictions). The ServingConfig is passed in the search and predict request and generates results.", +"id": "GoogleCloudDiscoveryengineV1ServingConfig", +"properties": { +"boostControlIds": { +"description": "Boost controls to use in serving path. All triggered boost controls will be applied. Boost controls must be in the same data store as the serving config. Maximum of 20 boost controls.", +"items": { +"type": "string" +}, +"type": "array" +}, +"createTime": { +"description": "Output only. ServingConfig created timestamp.", +"format": "google-datetime", +"readOnly": true, +"type": "string" +}, +"displayName": { +"description": "Required. The human readable serving config display name. Used in Discovery UI. This field must be a UTF-8 encoded string with a length limit of 128 characters. Otherwise, an INVALID_ARGUMENT error is returned.", +"type": "string" +}, +"dissociateControlIds": { +"description": "Condition do not associate specifications. If multiple do not associate conditions match, all matching do not associate controls in the list will execute. Order does not matter. Maximum number of specifications is 100. Can only be set if SolutionType is SOLUTION_TYPE_SEARCH.", +"items": { +"type": "string" +}, +"type": "array" +}, +"diversityLevel": { +"description": "How much diversity to use in recommendation model results e.g. `medium-diversity` or `high-diversity`. Currently supported values: * `no-diversity` * `low-diversity` * `medium-diversity` * `high-diversity` * `auto-diversity` If not specified, we choose default based on recommendation model type. Default value: `no-diversity`. Can only be set if SolutionType is SOLUTION_TYPE_RECOMMENDATION.", +"type": "string" +}, +"filterControlIds": { +"description": "Filter controls to use in serving path. All triggered filter controls will be applied. Filter controls must be in the same data store as the serving config. Maximum of 20 filter controls.", +"items": { +"type": "string" +}, +"type": "array" +}, +"genericConfig": { +"$ref": "GoogleCloudDiscoveryengineV1ServingConfigGenericConfig", +"description": "The GenericConfig of the serving configuration." +}, +"ignoreControlIds": { +"description": "Condition ignore specifications. If multiple ignore conditions match, all matching ignore controls in the list will execute. Order does not matter. Maximum number of specifications is 100.", +"items": { +"type": "string" +}, +"type": "array" +}, +"mediaConfig": { +"$ref": "GoogleCloudDiscoveryengineV1ServingConfigMediaConfig", +"description": "The MediaConfig of the serving configuration." +}, +"modelId": { +"description": "The id of the model to use at serving time. Currently only RecommendationModels are supported. Can be changed but only to a compatible model (e.g. others-you-may-like CTR to others-you-may-like CVR). Required when SolutionType is SOLUTION_TYPE_RECOMMENDATION.", +"type": "string" +}, +"name": { +"description": "Immutable. Fully qualified name `projects/{project}/locations/{location}/collections/{collection_id}/engines/{engine_id}/servingConfigs/{serving_config_id}`", +"type": "string" +}, +"onewaySynonymsControlIds": { +"description": "Condition oneway synonyms specifications. If multiple oneway synonyms conditions match, all matching oneway synonyms controls in the list will execute. Maximum number of specifications is 100. Can only be set if SolutionType is SOLUTION_TYPE_SEARCH.", +"items": { +"type": "string" +}, +"type": "array" +}, +"promoteControlIds": { +"description": "Condition promote specifications. Maximum number of specifications is 100.", +"items": { +"type": "string" +}, +"type": "array" +}, +"rankingExpression": { +"description": "The ranking expression controls the customized ranking on retrieval documents. To leverage this, document embedding is required. The ranking expression setting in ServingConfig applies to all search requests served by the serving config. However, if `SearchRequest.ranking_expression` is specified, it overrides the ServingConfig ranking expression. The ranking expression is a single function or multiple functions that are joined by \"+\". * ranking_expression = function, { \" + \", function }; Supported functions: * double * relevance_score * double * dotProduct(embedding_field_path) Function variables: * `relevance_score`: pre-defined keywords, used for measure relevance between query and document. * `embedding_field_path`: the document embedding field used with query embedding vector. * `dotProduct`: embedding function between embedding_field_path and query embedding vector. Example ranking expression: If document has an embedding field doc_embedding, the ranking expression could be `0.5 * relevance_score + 0.3 * dotProduct(doc_embedding)`.", +"type": "string" +}, +"redirectControlIds": { +"description": "IDs of the redirect controls. Only the first triggered redirect action is applied, even if multiple apply. Maximum number of specifications is 100. Can only be set if SolutionType is SOLUTION_TYPE_SEARCH.", +"items": { +"type": "string" +}, +"type": "array" +}, +"replacementControlIds": { +"description": "Condition replacement specifications. Applied according to the order in the list. A previously replaced term can not be re-replaced. Maximum number of specifications is 100. Can only be set if SolutionType is SOLUTION_TYPE_SEARCH.", +"items": { +"type": "string" +}, +"type": "array" +}, +"solutionType": { +"description": "Required. Immutable. Specifies the solution type that a serving config can be associated with.", +"enum": [ +"SOLUTION_TYPE_UNSPECIFIED", +"SOLUTION_TYPE_RECOMMENDATION", +"SOLUTION_TYPE_SEARCH", +"SOLUTION_TYPE_CHAT", +"SOLUTION_TYPE_GENERATIVE_CHAT" +], +"enumDescriptions": [ +"Default value.", +"Used for Recommendations AI.", +"Used for Discovery Search.", +"Used for use cases related to the Generative AI agent.", +"Used for use cases related to the Generative Chat agent. It's used for Generative chat engine only, the associated data stores must enrolled with `SOLUTION_TYPE_CHAT` solution." +], +"type": "string" +}, +"synonymsControlIds": { +"description": "Condition synonyms specifications. If multiple synonyms conditions match, all matching synonyms controls in the list will execute. Maximum number of specifications is 100. Can only be set if SolutionType is SOLUTION_TYPE_SEARCH.", +"items": { +"type": "string" +}, +"type": "array" +}, +"updateTime": { +"description": "Output only. ServingConfig updated timestamp.", +"format": "google-datetime", +"readOnly": true, +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1ServingConfigGenericConfig": { +"description": "Specifies the configurations needed for Generic Discovery.Currently we support: * `content_search_spec`: configuration for generic content search.", +"id": "GoogleCloudDiscoveryengineV1ServingConfigGenericConfig", +"properties": { +"contentSearchSpec": { +"$ref": "GoogleCloudDiscoveryengineV1SearchRequestContentSearchSpec", +"description": "Specifies the expected behavior of content search. Only valid for content-search enabled data store." +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1ServingConfigMediaConfig": { +"description": "Specifies the configurations needed for Media Discovery. Currently we support: * `demote_content_watched`: Threshold for watched content demotion. Customers can specify if using watched content demotion or use viewed detail page. Using the content watched demotion, customers need to specify the watched minutes or percentage exceeds the threshold, the content will be demoted in the recommendation result. * `promote_fresh_content`: cutoff days for fresh content promotion. Customers can specify if using content freshness promotion. If the content was published within the cutoff days, the content will be promoted in the recommendation result. Can only be set if SolutionType is SOLUTION_TYPE_RECOMMENDATION.", +"id": "GoogleCloudDiscoveryengineV1ServingConfigMediaConfig", +"properties": { +"contentFreshnessCutoffDays": { +"description": "Specifies the content freshness used for recommendation result. Contents will be demoted if contents were published for more than content freshness cutoff days.", +"format": "int32", +"type": "integer" +}, +"contentWatchedPercentageThreshold": { +"description": "Specifies the content watched percentage threshold for demotion. Threshold value must be between [0, 1.0] inclusive.", +"format": "float", +"type": "number" +}, +"contentWatchedSecondsThreshold": { +"description": "Specifies the content watched minutes threshold for demotion.", +"format": "float", +"type": "number" +}, +"demoteContentWatchedPastDays": { +"description": "Optional. Specifies the number of days to look back for demoting watched content. If set to zero or unset, defaults to the maximum of 365 days.", +"format": "int32", +"type": "integer" +}, +"demotionEventType": { +"description": "Specifies the event type used for demoting recommendation result. Currently supported values: * `view-item`: Item viewed. * `media-play`: Start/resume watching a video, playing a song, etc. * `media-complete`: Finished or stopped midway through a video, song, etc. If unset, watch history demotion will not be applied. Content freshness demotion will still be applied.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1SingleRegionKey": { +"description": "Metadata for single-regional CMEKs.", +"id": "GoogleCloudDiscoveryengineV1SingleRegionKey", +"properties": { +"kmsKey": { +"description": "Required. Single-regional kms key resource name which will be used to encrypt resources `projects/{project}/locations/{location}/keyRings/{keyRing}/cryptoKeys/{keyId}`.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1SiteVerificationInfo": { +"description": "Verification information for target sites in advanced site search.", +"id": "GoogleCloudDiscoveryengineV1SiteVerificationInfo", +"properties": { +"siteVerificationState": { +"description": "Site verification state indicating the ownership and validity.", +"enum": [ +"SITE_VERIFICATION_STATE_UNSPECIFIED", +"VERIFIED", +"UNVERIFIED", +"EXEMPTED" +], +"enumDescriptions": [ +"Defaults to VERIFIED.", +"Site ownership verified.", +"Site ownership pending verification or verification failed.", +"Site exempt from verification, e.g., a public website that opens to all." +], +"type": "string" +}, +"verifyTime": { +"description": "Latest site verification time.", +"format": "google-datetime", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1TargetSite": { +"description": "A target site for the SiteSearchEngine.", +"id": "GoogleCloudDiscoveryengineV1TargetSite", +"properties": { +"exactMatch": { +"description": "Immutable. If set to false, a uri_pattern is generated to include all pages whose address contains the provided_uri_pattern. If set to true, an uri_pattern is generated to try to be an exact match of the provided_uri_pattern or just the specific page if the provided_uri_pattern is a specific one. provided_uri_pattern is always normalized to generate the URI pattern to be used by the search engine.", +"type": "boolean" +}, +"failureReason": { +"$ref": "GoogleCloudDiscoveryengineV1TargetSiteFailureReason", +"description": "Output only. Failure reason.", +"readOnly": true +}, +"generatedUriPattern": { +"description": "Output only. This is system-generated based on the provided_uri_pattern.", +"readOnly": true, +"type": "string" +}, +"indexingStatus": { +"description": "Output only. Indexing status.", +"enum": [ +"INDEXING_STATUS_UNSPECIFIED", +"PENDING", +"FAILED", +"SUCCEEDED", +"DELETING" +], +"enumDescriptions": [ +"Defaults to SUCCEEDED.", +"The target site is in the update queue and will be picked up by indexing pipeline.", +"The target site fails to be indexed.", +"The target site has been indexed.", +"The previously indexed target site has been marked to be deleted. This is a transitioning state which will resulted in either: 1. target site deleted if unindexing is successful; 2. state reverts to SUCCEEDED if the unindexing fails." +], +"readOnly": true, +"type": "string" +}, +"name": { +"description": "Output only. The fully qualified resource name of the target site. `projects/{project}/locations/{location}/collections/{collection}/dataStores/{data_store}/siteSearchEngine/targetSites/{target_site}` The `target_site_id` is system-generated.", +"readOnly": true, +"type": "string" +}, +"providedUriPattern": { +"description": "Required. Input only. The user provided URI pattern from which the `generated_uri_pattern` is generated.", +"type": "string" +}, +"rootDomainUri": { +"description": "Output only. Root domain of the provided_uri_pattern.", +"readOnly": true, +"type": "string" +}, +"siteVerificationInfo": { +"$ref": "GoogleCloudDiscoveryengineV1SiteVerificationInfo", +"description": "Output only. Site ownership and validity verification status.", +"readOnly": true +}, +"type": { +"description": "The type of the target site, e.g., whether the site is to be included or excluded.", +"enum": [ +"TYPE_UNSPECIFIED", +"INCLUDE", +"EXCLUDE" +], +"enumDescriptions": [ +"This value is unused. In this case, server behavior defaults to Type.INCLUDE.", +"Include the target site.", +"Exclude the target site." +], +"type": "string" +}, +"updateTime": { +"description": "Output only. The target site's last updated time.", +"format": "google-datetime", +"readOnly": true, +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1TargetSiteFailureReason": { +"description": "Site search indexing failure reasons.", +"id": "GoogleCloudDiscoveryengineV1TargetSiteFailureReason", +"properties": { +"quotaFailure": { +"$ref": "GoogleCloudDiscoveryengineV1TargetSiteFailureReasonQuotaFailure", +"description": "Failed due to insufficient quota." +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1TargetSiteFailureReasonQuotaFailure": { +"description": "Failed due to insufficient quota.", +"id": "GoogleCloudDiscoveryengineV1TargetSiteFailureReasonQuotaFailure", +"properties": { +"totalRequiredQuota": { +"description": "This number is an estimation on how much total quota this project needs to successfully complete indexing.", +"format": "int64", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1TrainCustomModelMetadata": { +"description": "Metadata related to the progress of the TrainCustomModel operation. This is returned by the google.longrunning.Operation.metadata field.", +"id": "GoogleCloudDiscoveryengineV1TrainCustomModelMetadata", +"properties": { +"createTime": { +"description": "Operation create time.", +"format": "google-datetime", +"type": "string" +}, +"updateTime": { +"description": "Operation last update time. If the operation is done, this is also the finish time.", +"format": "google-datetime", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1TrainCustomModelResponse": { +"description": "Response of the TrainCustomModelRequest. This message is returned by the google.longrunning.Operations.response field.", +"id": "GoogleCloudDiscoveryengineV1TrainCustomModelResponse", +"properties": { +"errorConfig": { +"$ref": "GoogleCloudDiscoveryengineV1ImportErrorConfig", +"description": "Echoes the destination for the complete errors in the request if set." +}, +"errorSamples": { +"description": "A sample of errors encountered while processing the data.", +"items": { +"$ref": "GoogleRpcStatus" +}, +"type": "array" +}, +"metrics": { +"additionalProperties": { +"format": "double", +"type": "number" +}, +"description": "The metrics of the trained model.", +"type": "object" +}, +"modelName": { +"description": "Fully qualified name of the CustomTuningModel.", +"type": "string" +}, +"modelStatus": { +"description": "The trained model status. Possible values are: * **bad-data**: The training data quality is bad. * **no-improvement**: Tuning didn't improve performance. Won't deploy. * **in-progress**: Model training job creation is in progress. * **training**: Model is actively training. * **evaluating**: The model is evaluating trained metrics. * **indexing**: The model trained metrics are indexing. * **ready**: The model is ready for serving.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1UpdateCmekConfigMetadata": { +"description": "Metadata related to the progress of the CmekConfigService.UpdateCmekConfig operation. This will be returned by the google.longrunning.Operation.metadata field.", +"id": "GoogleCloudDiscoveryengineV1UpdateCmekConfigMetadata", +"properties": { +"createTime": { +"description": "Operation create time.", +"format": "google-datetime", +"type": "string" +}, +"updateTime": { +"description": "Operation last update time. If the operation is done, this is also the finish time.", +"format": "google-datetime", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1UpdateSchemaMetadata": { +"description": "Metadata for UpdateSchema LRO.", +"id": "GoogleCloudDiscoveryengineV1UpdateSchemaMetadata", +"properties": { +"createTime": { +"description": "Operation create time.", +"format": "google-datetime", +"type": "string" +}, +"updateTime": { +"description": "Operation last update time. If the operation is done, this is also the finish time.", +"format": "google-datetime", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1UpdateTargetSiteMetadata": { +"description": "Metadata related to the progress of the SiteSearchEngineService.UpdateTargetSite operation. This will be returned by the google.longrunning.Operation.metadata field.", +"id": "GoogleCloudDiscoveryengineV1UpdateTargetSiteMetadata", +"properties": { +"createTime": { +"description": "Operation create time.", +"format": "google-datetime", +"type": "string" +}, +"updateTime": { +"description": "Operation last update time. If the operation is done, this is also the finish time.", +"format": "google-datetime", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1WorkspaceConfig": { +"description": "Config to store data store type configuration for workspace data", +"id": "GoogleCloudDiscoveryengineV1WorkspaceConfig", +"properties": { +"dasherCustomerId": { +"description": "Obfuscated Dasher customer ID.", +"type": "string" +}, +"superAdminEmailAddress": { +"description": "Optional. The super admin email address for the workspace that will be used for access token generation. For now we only use it for Native Google Drive connector data ingestion.", +"type": "string" +}, +"superAdminServiceAccount": { +"description": "Optional. The super admin service account for the workspace that will be used for access token generation. For now we only use it for Native Google Drive connector data ingestion.", +"type": "string" +}, +"type": { +"description": "The Google Workspace data source.", +"enum": [ +"TYPE_UNSPECIFIED", +"GOOGLE_DRIVE", +"GOOGLE_MAIL", +"GOOGLE_SITES", +"GOOGLE_CALENDAR", +"GOOGLE_CHAT", +"GOOGLE_GROUPS", +"GOOGLE_KEEP" +], +"enumDescriptions": [ +"Defaults to an unspecified Workspace type.", +"Workspace Data Store contains Drive data", +"Workspace Data Store contains Mail data", +"Workspace Data Store contains Sites data", +"Workspace Data Store contains Calendar data", +"Workspace Data Store contains Chat data", +"Workspace Data Store contains Groups data", +"Workspace Data Store contains Keep data" +], +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1alphaAclConfig": { +"description": "Access Control Configuration.", +"id": "GoogleCloudDiscoveryengineV1alphaAclConfig", +"properties": { +"idpConfig": { +"$ref": "GoogleCloudDiscoveryengineV1alphaIdpConfig", +"description": "Identity provider config." +}, +"name": { +"description": "Immutable. The full resource name of the acl configuration. Format: `projects/{project}/locations/{location}/aclConfig`. This field must be a UTF-8 encoded string with a length limit of 1024 characters.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1alphaActionConfig": { +"description": "Informations to support actions on the connector.", +"id": "GoogleCloudDiscoveryengineV1alphaActionConfig", +"properties": { +"actionParams": { +"additionalProperties": { +"description": "Properties of the object.", +"type": "any" +}, +"description": "Required. Params needed to support actions in the format of (Key, Value) pairs. Required parameters for sources that support OAUTH, i.e. `gmail`, `google_calendar`, `jira`, `workday`, `salesforce`, `confluence`: * Key: `client_id` * Value: type STRING. The client id for the service provider to identify your application. * Key: `client_secret` * Value:type STRING. The client secret generated by the application's authorization server.", +"type": "object" +}, +"isActionConfigured": { +"description": "Output only. The connector contains the necessary parameters and is configured to support actions.", +"readOnly": true, +"type": "boolean" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1alphaAdvancedSiteSearchConfig": { +"description": "Configuration data for advance site search.", +"id": "GoogleCloudDiscoveryengineV1alphaAdvancedSiteSearchConfig", +"properties": { +"disableAutomaticRefresh": { +"description": "If set true, automatic refresh is disabled for the DataStore.", +"type": "boolean" +}, +"disableInitialIndex": { +"description": "If set true, initial indexing is disabled for the DataStore.", +"type": "boolean" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1alphaAnswer": { +"description": "Defines an answer.", +"id": "GoogleCloudDiscoveryengineV1alphaAnswer", +"properties": { +"answerSkippedReasons": { +"description": "Additional answer-skipped reasons. This provides the reason for ignored cases. If nothing is skipped, this field is not set.", +"items": { +"enum": [ +"ANSWER_SKIPPED_REASON_UNSPECIFIED", +"ADVERSARIAL_QUERY_IGNORED", +"NON_ANSWER_SEEKING_QUERY_IGNORED", +"OUT_OF_DOMAIN_QUERY_IGNORED", +"POTENTIAL_POLICY_VIOLATION", +"NO_RELEVANT_CONTENT", +"JAIL_BREAKING_QUERY_IGNORED", +"CUSTOMER_POLICY_VIOLATION", +"NON_ANSWER_SEEKING_QUERY_IGNORED_V2", +"LOW_GROUNDED_ANSWER" +], +"enumDescriptions": [ +"Default value. The answer skipped reason is not specified.", +"The adversarial query ignored case.", +"The non-answer seeking query ignored case Google skips the answer if the query is chit chat.", +"The out-of-domain query ignored case. Google skips the answer if there are no high-relevance search results.", +"The potential policy violation case. Google skips the answer if there is a potential policy violation detected. This includes content that may be violent or toxic.", +"The no relevant content case. Google skips the answer if there is no relevant content in the retrieved search results.", +"The jail-breaking query ignored case. For example, \"Reply in the tone of a competing company's CEO\". Google skips the answer if the query is classified as a jail-breaking query.", +"The customer policy violation case. Google skips the summary if there is a customer policy violation detected. The policy is defined by the customer.", +"The non-answer seeking query ignored case. Google skips the answer if the query doesn't have clear intent.", +"The low-grounded answer case. Google skips the answer if a well grounded answer was unable to be generated." +], +"type": "string" +}, +"type": "array" +}, +"answerText": { +"description": "The textual answer.", +"type": "string" +}, +"citations": { +"description": "Citations.", +"items": { +"$ref": "GoogleCloudDiscoveryengineV1alphaAnswerCitation" +}, +"type": "array" +}, +"completeTime": { +"description": "Output only. Answer completed timestamp.", +"format": "google-datetime", +"readOnly": true, +"type": "string" +}, +"createTime": { +"description": "Output only. Answer creation timestamp.", +"format": "google-datetime", +"readOnly": true, +"type": "string" +}, +"groundingScore": { +"description": "A score in the range of [0, 1] describing how grounded the answer is by the reference chunks.", +"format": "double", +"type": "number" +}, +"groundingSupports": { +"description": "Optional. Grounding supports.", +"items": { +"$ref": "GoogleCloudDiscoveryengineV1alphaAnswerGroundingSupport" +}, +"type": "array" +}, +"name": { +"description": "Immutable. Fully qualified name `projects/{project}/locations/global/collections/{collection}/engines/{engine}/sessions/*/answers/*`", +"type": "string" +}, +"queryUnderstandingInfo": { +"$ref": "GoogleCloudDiscoveryengineV1alphaAnswerQueryUnderstandingInfo", +"description": "Query understanding information." +}, +"references": { +"description": "References.", +"items": { +"$ref": "GoogleCloudDiscoveryengineV1alphaAnswerReference" +}, +"type": "array" +}, +"relatedQuestions": { +"description": "Suggested related questions.", +"items": { +"type": "string" +}, +"type": "array" +}, +"safetyRatings": { +"description": "Optional. Safety ratings.", +"items": { +"$ref": "GoogleCloudDiscoveryengineV1alphaSafetyRating" +}, +"type": "array" +}, +"state": { +"description": "The state of the answer generation.", +"enum": [ +"STATE_UNSPECIFIED", +"IN_PROGRESS", +"FAILED", +"SUCCEEDED", +"STREAMING" +], +"enumDescriptions": [ +"Unknown.", +"Answer generation is currently in progress.", +"Answer generation currently failed.", +"Answer generation has succeeded.", +"Answer generation is currently in progress." +], +"type": "string" +}, +"steps": { +"description": "Answer generation steps.", +"items": { +"$ref": "GoogleCloudDiscoveryengineV1alphaAnswerStep" +}, +"type": "array" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1alphaAnswerCitation": { +"description": "Citation info for a segment.", +"id": "GoogleCloudDiscoveryengineV1alphaAnswerCitation", +"properties": { +"endIndex": { +"description": "End of the attributed segment, exclusive.", +"format": "int64", +"type": "string" +}, +"sources": { +"description": "Citation sources for the attributed segment.", +"items": { +"$ref": "GoogleCloudDiscoveryengineV1alphaAnswerCitationSource" +}, +"type": "array" +}, +"startIndex": { +"description": "Index indicates the start of the segment, measured in bytes (UTF-8 unicode).", +"format": "int64", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1alphaAnswerCitationSource": { +"description": "Citation source.", +"id": "GoogleCloudDiscoveryengineV1alphaAnswerCitationSource", +"properties": { +"referenceId": { +"description": "ID of the citation source.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1alphaAnswerGroundingSupport": { +"description": "Grounding support for a claim in `answer_text`.", +"id": "GoogleCloudDiscoveryengineV1alphaAnswerGroundingSupport", +"properties": { +"endIndex": { +"description": "Required. End of the claim, exclusive.", +"format": "int64", +"type": "string" +}, +"groundingCheckRequired": { +"description": "Indicates that this claim required grounding check. When the system decided this claim didn't require attribution/grounding check, this field is set to false. In that case, no grounding check was done for the claim and therefore `grounding_score`, `sources` is not returned.", +"type": "boolean" +}, +"groundingScore": { +"description": "A score in the range of [0, 1] describing how grounded is a specific claim by the references. Higher value means that the claim is better supported by the reference chunks.", +"format": "double", +"type": "number" +}, +"sources": { +"description": "Optional. Citation sources for the claim.", +"items": { +"$ref": "GoogleCloudDiscoveryengineV1alphaAnswerCitationSource" +}, +"type": "array" +}, +"startIndex": { +"description": "Required. Index indicates the start of the claim, measured in bytes (UTF-8 unicode).", +"format": "int64", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1alphaAnswerQueryUnderstandingInfo": { +"description": "Query understanding information.", +"id": "GoogleCloudDiscoveryengineV1alphaAnswerQueryUnderstandingInfo", +"properties": { +"queryClassificationInfo": { +"description": "Query classification information.", +"items": { +"$ref": "GoogleCloudDiscoveryengineV1alphaAnswerQueryUnderstandingInfoQueryClassificationInfo" +}, +"type": "array" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1alphaAnswerQueryUnderstandingInfoQueryClassificationInfo": { +"description": "Query classification information.", +"id": "GoogleCloudDiscoveryengineV1alphaAnswerQueryUnderstandingInfoQueryClassificationInfo", +"properties": { +"positive": { +"description": "Classification output.", +"type": "boolean" +}, +"type": { +"description": "Query classification type.", +"enum": [ +"TYPE_UNSPECIFIED", +"ADVERSARIAL_QUERY", +"NON_ANSWER_SEEKING_QUERY", +"JAIL_BREAKING_QUERY", +"NON_ANSWER_SEEKING_QUERY_V2" +], +"enumDescriptions": [ +"Unspecified query classification type.", +"Adversarial query classification type.", +"Non-answer-seeking query classification type, for chit chat.", +"Jail-breaking query classification type.", +"Non-answer-seeking query classification type, for no clear intent." +], +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1alphaAnswerReference": { +"description": "Reference.", +"id": "GoogleCloudDiscoveryengineV1alphaAnswerReference", +"properties": { +"chunkInfo": { +"$ref": "GoogleCloudDiscoveryengineV1alphaAnswerReferenceChunkInfo", +"description": "Chunk information." +}, +"structuredDocumentInfo": { +"$ref": "GoogleCloudDiscoveryengineV1alphaAnswerReferenceStructuredDocumentInfo", +"description": "Structured document information." +}, +"unstructuredDocumentInfo": { +"$ref": "GoogleCloudDiscoveryengineV1alphaAnswerReferenceUnstructuredDocumentInfo", +"description": "Unstructured document information." +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1alphaAnswerReferenceChunkInfo": { +"description": "Chunk information.", +"id": "GoogleCloudDiscoveryengineV1alphaAnswerReferenceChunkInfo", +"properties": { +"chunk": { +"description": "Chunk resource name.", +"type": "string" +}, +"content": { +"description": "Chunk textual content.", +"type": "string" +}, +"documentMetadata": { +"$ref": "GoogleCloudDiscoveryengineV1alphaAnswerReferenceChunkInfoDocumentMetadata", +"description": "Document metadata." +}, +"relevanceScore": { +"description": "The relevance of the chunk for a given query. Values range from 0.0 (completely irrelevant) to 1.0 (completely relevant). This value is for informational purpose only. It may change for the same query and chunk at any time due to a model retraining or change in implementation.", +"format": "float", +"type": "number" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1alphaAnswerReferenceChunkInfoDocumentMetadata": { +"description": "Document metadata.", +"id": "GoogleCloudDiscoveryengineV1alphaAnswerReferenceChunkInfoDocumentMetadata", +"properties": { +"document": { +"description": "Document resource name.", +"type": "string" +}, +"pageIdentifier": { +"description": "Page identifier.", +"type": "string" +}, +"structData": { +"additionalProperties": { +"description": "Properties of the object.", +"type": "any" +}, +"description": "The structured JSON metadata for the document. It is populated from the struct data from the Chunk in search result.", +"type": "object" +}, +"title": { +"description": "Title.", +"type": "string" +}, +"uri": { +"description": "URI for the document.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1alphaAnswerReferenceStructuredDocumentInfo": { +"description": "Structured search information.", +"id": "GoogleCloudDiscoveryengineV1alphaAnswerReferenceStructuredDocumentInfo", +"properties": { +"document": { +"description": "Document resource name.", +"type": "string" +}, +"structData": { +"additionalProperties": { +"description": "Properties of the object.", +"type": "any" +}, +"description": "Structured search data.", +"type": "object" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1alphaAnswerReferenceUnstructuredDocumentInfo": { +"description": "Unstructured document information.", +"id": "GoogleCloudDiscoveryengineV1alphaAnswerReferenceUnstructuredDocumentInfo", +"properties": { +"chunkContents": { +"description": "List of cited chunk contents derived from document content.", +"items": { +"$ref": "GoogleCloudDiscoveryengineV1alphaAnswerReferenceUnstructuredDocumentInfoChunkContent" +}, +"type": "array" +}, +"document": { +"description": "Document resource name.", +"type": "string" +}, +"structData": { +"additionalProperties": { +"description": "Properties of the object.", +"type": "any" +}, +"description": "The structured JSON metadata for the document. It is populated from the struct data from the Chunk in search result.", +"type": "object" +}, +"title": { +"description": "Title.", +"type": "string" +}, +"uri": { +"description": "URI for the document.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1alphaAnswerReferenceUnstructuredDocumentInfoChunkContent": { +"description": "Chunk content.", +"id": "GoogleCloudDiscoveryengineV1alphaAnswerReferenceUnstructuredDocumentInfoChunkContent", +"properties": { +"content": { +"description": "Chunk textual content.", +"type": "string" +}, +"pageIdentifier": { +"description": "Page identifier.", +"type": "string" +}, +"relevanceScore": { +"description": "The relevance of the chunk for a given query. Values range from 0.0 (completely irrelevant) to 1.0 (completely relevant). This value is for informational purpose only. It may change for the same query and chunk at any time due to a model retraining or change in implementation.", +"format": "float", +"type": "number" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1alphaAnswerStep": { +"description": "Step information.", +"id": "GoogleCloudDiscoveryengineV1alphaAnswerStep", +"properties": { +"actions": { +"description": "Actions.", +"items": { +"$ref": "GoogleCloudDiscoveryengineV1alphaAnswerStepAction" +}, +"type": "array" +}, +"description": { +"description": "The description of the step.", +"type": "string" +}, +"state": { +"description": "The state of the step.", +"enum": [ +"STATE_UNSPECIFIED", +"IN_PROGRESS", +"FAILED", +"SUCCEEDED" +], +"enumDescriptions": [ +"Unknown.", +"Step is currently in progress.", +"Step currently failed.", +"Step has succeeded." +], +"type": "string" +}, +"thought": { +"description": "The thought of the step.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1alphaAnswerStepAction": { +"description": "Action.", +"id": "GoogleCloudDiscoveryengineV1alphaAnswerStepAction", +"properties": { +"observation": { +"$ref": "GoogleCloudDiscoveryengineV1alphaAnswerStepActionObservation", +"description": "Observation." +}, +"searchAction": { +"$ref": "GoogleCloudDiscoveryengineV1alphaAnswerStepActionSearchAction", +"description": "Search action." +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1alphaAnswerStepActionObservation": { +"description": "Observation.", +"id": "GoogleCloudDiscoveryengineV1alphaAnswerStepActionObservation", +"properties": { +"searchResults": { +"description": "Search results observed by the search action, it can be snippets info or chunk info, depending on the citation type set by the user.", +"items": { +"$ref": "GoogleCloudDiscoveryengineV1alphaAnswerStepActionObservationSearchResult" +}, +"type": "array" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1alphaAnswerStepActionObservationSearchResult": { +"id": "GoogleCloudDiscoveryengineV1alphaAnswerStepActionObservationSearchResult", +"properties": { +"chunkInfo": { +"description": "If citation_type is CHUNK_LEVEL_CITATION and chunk mode is on, populate chunk info.", +"items": { +"$ref": "GoogleCloudDiscoveryengineV1alphaAnswerStepActionObservationSearchResultChunkInfo" +}, +"type": "array" +}, +"document": { +"description": "Document resource name.", +"type": "string" +}, +"snippetInfo": { +"description": "If citation_type is DOCUMENT_LEVEL_CITATION, populate document level snippets.", +"items": { +"$ref": "GoogleCloudDiscoveryengineV1alphaAnswerStepActionObservationSearchResultSnippetInfo" +}, +"type": "array" +}, +"structData": { +"additionalProperties": { +"description": "Properties of the object.", +"type": "any" +}, +"description": "Data representation. The structured JSON data for the document. It's populated from the struct data from the Document, or the Chunk in search result.", +"type": "object" +}, +"title": { +"description": "Title.", +"type": "string" +}, +"uri": { +"description": "URI for the document.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1alphaAnswerStepActionObservationSearchResultChunkInfo": { +"description": "Chunk information.", +"id": "GoogleCloudDiscoveryengineV1alphaAnswerStepActionObservationSearchResultChunkInfo", +"properties": { +"chunk": { +"description": "Chunk resource name.", +"type": "string" +}, +"content": { +"description": "Chunk textual content.", +"type": "string" +}, +"relevanceScore": { +"description": "The relevance of the chunk for a given query. Values range from 0.0 (completely irrelevant) to 1.0 (completely relevant). This value is for informational purpose only. It may change for the same query and chunk at any time due to a model retraining or change in implementation.", +"format": "float", +"type": "number" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1alphaAnswerStepActionObservationSearchResultSnippetInfo": { +"description": "Snippet information.", +"id": "GoogleCloudDiscoveryengineV1alphaAnswerStepActionObservationSearchResultSnippetInfo", +"properties": { +"snippet": { +"description": "Snippet content.", +"type": "string" +}, +"snippetStatus": { +"description": "Status of the snippet defined by the search team.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1alphaAnswerStepActionSearchAction": { +"description": "Search action.", +"id": "GoogleCloudDiscoveryengineV1alphaAnswerStepActionSearchAction", +"properties": { +"query": { +"description": "The query to search.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1alphaBatchCreateTargetSiteMetadata": { +"description": "Metadata related to the progress of the SiteSearchEngineService.BatchCreateTargetSites operation. This will be returned by the google.longrunning.Operation.metadata field.", +"id": "GoogleCloudDiscoveryengineV1alphaBatchCreateTargetSiteMetadata", +"properties": { +"createTime": { +"description": "Operation create time.", +"format": "google-datetime", +"type": "string" +}, +"updateTime": { +"description": "Operation last update time. If the operation is done, this is also the finish time.", +"format": "google-datetime", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1alphaBatchCreateTargetSitesResponse": { +"description": "Response message for SiteSearchEngineService.BatchCreateTargetSites method.", +"id": "GoogleCloudDiscoveryengineV1alphaBatchCreateTargetSitesResponse", +"properties": { +"targetSites": { +"description": "TargetSites created.", +"items": { +"$ref": "GoogleCloudDiscoveryengineV1alphaTargetSite" +}, +"type": "array" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1alphaCmekConfig": { +"description": "Configurations used to enable CMEK data encryption with Cloud KMS keys.", +"id": "GoogleCloudDiscoveryengineV1alphaCmekConfig", +"properties": { +"isDefault": { +"description": "Output only. The default CmekConfig for the Customer.", +"readOnly": true, +"type": "boolean" +}, +"kmsKey": { +"description": "Kms key resource name which will be used to encrypt resources `projects/{project}/locations/{location}/keyRings/{keyRing}/cryptoKeys/{keyId}`.", +"type": "string" +}, +"kmsKeyVersion": { +"description": "Kms key version resource name which will be used to encrypt resources `/cryptoKeyVersions/{keyVersion}`.", +"type": "string" +}, +"lastRotationTimestampMicros": { +"description": "Output only. The timestamp of the last key rotation.", +"format": "int64", +"readOnly": true, +"type": "string" +}, +"name": { +"description": "Required. Name of the CmekConfig, of the form `projects/{project}/locations/{location}/cmekConfig` or `projects/{project}/locations/{location}/cmekConfigs/{cmekConfig}`.", +"type": "string" +}, +"singleRegionKeys": { +"description": "Optional. Single-regional CMEKs that are required for some VAIS features.", +"items": { +"$ref": "GoogleCloudDiscoveryengineV1alphaSingleRegionKey" +}, +"type": "array" +}, +"state": { +"description": "Output only. State of the CmekConfig.", +"enum": [ +"STATE_UNSPECIFIED", +"CREATING", +"ACTIVE", +"KEY_ISSUE", +"DELETING", +"UNUSABLE", +"ACTIVE_ROTATING" +], +"enumDescriptions": [ +"The CmekConfig state is unknown.", +"The CmekConfig is creating.", +"The CmekConfig can be used with DataStores.", +"The CmekConfig is unavailable, most likely due to the KMS Key being revoked.", +"The CmekConfig is deleting.", +"The CmekConfig is not usable, most likely due to some internal issue.", +"The KMS key version is being rotated." +], +"readOnly": true, +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1alphaCollection": { +"description": "Collection is a container for configuring resources and access to a set of DataStores.", +"id": "GoogleCloudDiscoveryengineV1alphaCollection", +"properties": { +"createTime": { +"description": "Output only. Timestamp the Collection was created at.", +"format": "google-datetime", +"readOnly": true, +"type": "string" +}, +"dataConnector": { +"$ref": "GoogleCloudDiscoveryengineV1alphaDataConnector", +"description": "Output only. The data connector, if present, manages the connection for data stores in the Collection. To set up the connector, use DataConnectorService.SetUpDataConnector method, which creates a new Collection while setting up the DataConnector singleton resource. Setting up connector on an existing Collection is not supported. This output only field contains a subset of the DataConnector fields, including `name`, `data_source`, `entities.entity_name` and `entities.data_store`. To get more details about a data connector, use the DataConnectorService.GetDataConnector method.", +"readOnly": true +}, +"displayName": { +"description": "Required. The Collection display name. This field must be a UTF-8 encoded string with a length limit of 128 characters. Otherwise, an INVALID_ARGUMENT error is returned.", +"type": "string" +}, +"name": { +"description": "Immutable. The full resource name of the Collection. Format: `projects/{project}/locations/{location}/collections/{collection_id}`. This field must be a UTF-8 encoded string with a length limit of 1024 characters.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1alphaCondition": { +"description": "Defines circumstances to be checked before allowing a behavior", +"id": "GoogleCloudDiscoveryengineV1alphaCondition", +"properties": { +"activeTimeRange": { +"description": "Range of time(s) specifying when condition is active. Maximum of 10 time ranges.", +"items": { +"$ref": "GoogleCloudDiscoveryengineV1alphaConditionTimeRange" +}, +"type": "array" +}, +"queryRegex": { +"description": "Optional. Query regex to match the whole search query. Cannot be set when Condition.query_terms is set. This is currently supporting promotion use case.", +"type": "string" +}, +"queryTerms": { +"description": "Search only A list of terms to match the query on. Cannot be set when Condition.query_regex is set. Maximum of 10 query terms.", +"items": { +"$ref": "GoogleCloudDiscoveryengineV1alphaConditionQueryTerm" +}, +"type": "array" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1alphaConditionQueryTerm": { +"description": "Matcher for search request query", +"id": "GoogleCloudDiscoveryengineV1alphaConditionQueryTerm", +"properties": { +"fullMatch": { +"description": "Whether the search query needs to exactly match the query term.", +"type": "boolean" +}, +"value": { +"description": "The specific query value to match against Must be lowercase, must be UTF-8. Can have at most 3 space separated terms if full_match is true. Cannot be an empty string. Maximum length of 5000 characters.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1alphaConditionTimeRange": { +"description": "Used for time-dependent conditions.", +"id": "GoogleCloudDiscoveryengineV1alphaConditionTimeRange", +"properties": { +"endTime": { +"description": "End of time range. Range is inclusive. Must be in the future.", +"format": "google-datetime", +"type": "string" +}, +"startTime": { +"description": "Start of time range. Range is inclusive.", +"format": "google-datetime", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1alphaConnectorRun": { +"description": "A data sync run of DataConnector. After DataConnector is successfully initialized, data syncs are scheduled at DataConnector.refresh_interval. A ConnectorRun represents a data sync either in the past or onging that the moment. //", +"id": "GoogleCloudDiscoveryengineV1alphaConnectorRun", +"properties": { +"endTime": { +"description": "Output only. The time when the connector run ended.", +"format": "google-datetime", +"readOnly": true, +"type": "string" +}, +"entityRuns": { +"description": "Output only. The details of the entities synced at the ConnectorRun. Each ConnectorRun consists of syncing one or more entities.", +"items": { +"$ref": "GoogleCloudDiscoveryengineV1alphaConnectorRunEntityRun" +}, +"readOnly": true, +"type": "array" +}, +"errors": { +"description": "Contains info about errors incurred during the sync. Only exist if running into an error state. Contains error code and error message. Use with the `state` field.", +"items": { +"$ref": "GoogleRpcStatus" +}, +"type": "array" +}, +"latestPauseTime": { +"description": "Output only. The time when the connector run was most recently paused.", +"format": "google-datetime", +"readOnly": true, +"type": "string" +}, +"name": { +"description": "Output only. The full resource name of the Connector Run. Format: `projects/*/locations/*/collections/*/dataConnector/connectorRuns/*`. The `connector_run_id` is system-generated.", +"readOnly": true, +"type": "string" +}, +"startTime": { +"description": "Output only. The time when the connector run started.", +"format": "google-datetime", +"readOnly": true, +"type": "string" +}, +"state": { +"description": "Output only. The state of the sync run.", +"enum": [ +"STATE_UNSPECIFIED", +"RUNNING", +"SUCCEEDED", +"FAILED", +"OVERRUN", +"CANCELLED", +"PENDING", +"WARNING" +], +"enumDescriptions": [ +"Default value.", +"The data sync is ongoing.", +"The data sync is finished.", +"The data sync is failed.", +"Data sync has been running longer than expected and is still running at the time the next run is supposed to start.", +"Data sync was scheduled but has been cancelled.", +"Data sync is about to start.", +"The data sync completed with non-fatal errors." +], +"readOnly": true, +"type": "string" +}, +"stateUpdateTime": { +"description": "Timestamp at which the connector run sync state was last updated.", +"format": "google-datetime", +"type": "string" +}, +"trigger": { +"description": "Output only. The trigger for this ConnectorRun.", +"enum": [ +"TRIGGER_UNSPECIFIED", +"SCHEDULER", +"INITIALIZATION", +"RESUME", +"MANUAL" +], +"enumDescriptions": [ +"Default value.", +"ConnectorRun triggered by scheduler if connector has PERIODIC sync mode.", +"ConnectorRun auto triggered by connector initialization.", +"ConnectorRun auto triggered by resuming connector.", +"ConnectorRun triggered by user manually." +], +"readOnly": true, +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1alphaConnectorRunEntityRun": { +"description": "Represents an entity that was synced in this ConnectorRun.", +"id": "GoogleCloudDiscoveryengineV1alphaConnectorRunEntityRun", +"properties": { +"entityName": { +"description": "The name of the source entity.", +"type": "string" +}, +"errorRecordCount": { +"description": "The total number of documents failed at sync at any stage (extraction, indexing, etc).", +"format": "int64", +"type": "string" +}, +"errors": { +"description": "The errors from the entity's sync run. Only exist if running into an error state. Contains error code and error message.", +"items": { +"$ref": "GoogleRpcStatus" +}, +"type": "array" +}, +"extractedRecordCount": { +"description": "The number of documents extracted from connector source, ready to be ingested to UCS.", +"format": "int64", +"type": "string" +}, +"indexedRecordCount": { +"description": "The number of documents indexed.", +"format": "int64", +"type": "string" +}, +"sourceApiRequestCount": { +"description": "The number of requests sent to 3p API.", +"format": "int64", +"type": "string" +}, +"state": { +"description": "The state of the entity's sync run.", +"enum": [ +"STATE_UNSPECIFIED", +"RUNNING", +"SUCCEEDED", +"FAILED", +"OVERRUN", +"CANCELLED", +"PENDING", +"WARNING" +], +"enumDescriptions": [ +"Default value.", +"The data sync is ongoing.", +"The data sync is finished.", +"The data sync is failed.", +"Data sync has been running longer than expected and is still running at the time the next run is supposed to start.", +"Data sync was scheduled but has been cancelled.", +"Data sync is about to start.", +"The data sync completed with non-fatal errors." +], +"type": "string" +}, +"stateUpdateTime": { +"description": "Timestamp at which the entity sync state was last updated.", +"format": "google-datetime", +"type": "string" +}, +"statsUpdateTime": { +"description": "The timestamp for either extracted_documents_count, indexed_documents_count and error_documents_count was last updated.", +"format": "google-datetime", +"type": "string" +}, +"syncType": { +"description": "Sync type of this run.", +"enum": [ +"SYNC_TYPE_UNSPECIFIED", +"FULL", +"INCREMENTAL" +], +"enumDescriptions": [ +"Sync type unspecified.", +"Sync triggers full sync of all documents.", +"Incremental sync of updated documents." +], +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1alphaControl": { +"description": "Defines a conditioned behavior to employ during serving. Must be attached to a ServingConfig to be considered at serving time. Permitted actions dependent on `SolutionType`.", +"id": "GoogleCloudDiscoveryengineV1alphaControl", +"properties": { +"associatedServingConfigIds": { +"description": "Output only. List of all ServingConfig IDs this control is attached to. May take up to 10 minutes to update after changes.", +"items": { +"type": "string" +}, +"readOnly": true, +"type": "array" +}, +"boostAction": { +"$ref": "GoogleCloudDiscoveryengineV1alphaControlBoostAction", +"description": "Defines a boost-type control" +}, +"conditions": { +"description": "Determines when the associated action will trigger. Omit to always apply the action. Currently only a single condition may be specified. Otherwise an INVALID ARGUMENT error is thrown.", +"items": { +"$ref": "GoogleCloudDiscoveryengineV1alphaCondition" +}, +"type": "array" +}, +"displayName": { +"description": "Required. Human readable name. The identifier used in UI views. Must be UTF-8 encoded string. Length limit is 128 characters. Otherwise an INVALID ARGUMENT error is thrown.", +"type": "string" +}, +"filterAction": { +"$ref": "GoogleCloudDiscoveryengineV1alphaControlFilterAction", +"description": "Defines a filter-type control Currently not supported by Recommendation" +}, +"name": { +"description": "Immutable. Fully qualified name `projects/*/locations/global/dataStore/*/controls/*`", +"type": "string" +}, +"promoteAction": { +"$ref": "GoogleCloudDiscoveryengineV1alphaControlPromoteAction", +"description": "Promote certain links based on predefined trigger queries. This now only supports basic site search." +}, +"redirectAction": { +"$ref": "GoogleCloudDiscoveryengineV1alphaControlRedirectAction", +"description": "Defines a redirect-type control." +}, +"solutionType": { +"description": "Required. Immutable. What solution the control belongs to. Must be compatible with vertical of resource. Otherwise an INVALID ARGUMENT error is thrown.", +"enum": [ +"SOLUTION_TYPE_UNSPECIFIED", +"SOLUTION_TYPE_RECOMMENDATION", +"SOLUTION_TYPE_SEARCH", +"SOLUTION_TYPE_CHAT", +"SOLUTION_TYPE_GENERATIVE_CHAT" +], +"enumDescriptions": [ +"Default value.", +"Used for Recommendations AI.", +"Used for Discovery Search.", +"Used for use cases related to the Generative AI agent.", +"Used for use cases related to the Generative Chat agent. It's used for Generative chat engine only, the associated data stores must enrolled with `SOLUTION_TYPE_CHAT` solution." +], +"type": "string" +}, +"synonymsAction": { +"$ref": "GoogleCloudDiscoveryengineV1alphaControlSynonymsAction", +"description": "Treats a group of terms as synonyms of one another." +}, +"useCases": { +"description": "Specifies the use case for the control. Affects what condition fields can be set. Only applies to SOLUTION_TYPE_SEARCH. Currently only allow one use case per control. Must be set when solution_type is SolutionType.SOLUTION_TYPE_SEARCH.", +"items": { +"enum": [ +"SEARCH_USE_CASE_UNSPECIFIED", +"SEARCH_USE_CASE_SEARCH", +"SEARCH_USE_CASE_BROWSE" +], +"enumDescriptions": [ +"Value used when unset. Will not occur in CSS.", +"Search use case. Expects the traffic has a non-empty query.", +"Browse use case. Expects the traffic has an empty query." +], +"type": "string" +}, +"type": "array" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1alphaControlBoostAction": { +"description": "Adjusts order of products in returned list.", +"id": "GoogleCloudDiscoveryengineV1alphaControlBoostAction", +"properties": { +"boost": { +"deprecated": true, +"description": "Strength of the boost, which should be in [-1, 1]. Negative boost means demotion. Default is 0.0 (No-op).", +"format": "float", +"type": "number" +}, +"dataStore": { +"description": "Required. Specifies which data store's documents can be boosted by this control. Full data store name e.g. projects/123/locations/global/collections/default_collection/dataStores/default_data_store", +"type": "string" +}, +"filter": { +"description": "Required. Specifies which products to apply the boost to. If no filter is provided all products will be boosted (No-op). Syntax documentation: https://cloud.google.com/retail/docs/filter-and-order Maximum length is 5000 characters. Otherwise an INVALID ARGUMENT error is thrown.", +"type": "string" +}, +"fixedBoost": { +"description": "Optional. Strength of the boost, which should be in [-1, 1]. Negative boost means demotion. Default is 0.0 (No-op).", +"format": "float", +"type": "number" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1alphaControlFilterAction": { +"description": "Specified which products may be included in results. Uses same filter as boost.", +"id": "GoogleCloudDiscoveryengineV1alphaControlFilterAction", +"properties": { +"dataStore": { +"description": "Required. Specifies which data store's documents can be filtered by this control. Full data store name e.g. projects/123/locations/global/collections/default_collection/dataStores/default_data_store", +"type": "string" +}, +"filter": { +"description": "Required. A filter to apply on the matching condition results. Required Syntax documentation: https://cloud.google.com/retail/docs/filter-and-order Maximum length is 5000 characters. Otherwise an INVALID ARGUMENT error is thrown.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1alphaControlPromoteAction": { +"description": "Promote certain links based on some trigger queries. Example: Promote shoe store link when searching for `shoe` keyword. The link can be outside of associated data store.", +"id": "GoogleCloudDiscoveryengineV1alphaControlPromoteAction", +"properties": { +"dataStore": { +"description": "Required. Data store with which this promotion is attached to.", +"type": "string" +}, +"searchLinkPromotion": { +"$ref": "GoogleCloudDiscoveryengineV1alphaSearchLinkPromotion", +"description": "Required. Promotion attached to this action." +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1alphaControlRedirectAction": { +"description": "Redirects a shopper to the provided URI.", +"id": "GoogleCloudDiscoveryengineV1alphaControlRedirectAction", +"properties": { +"redirectUri": { +"description": "Required. The URI to which the shopper will be redirected. Required. URI must have length equal or less than 2000 characters. Otherwise an INVALID ARGUMENT error is thrown.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1alphaControlSynonymsAction": { +"description": "Creates a set of terms that will act as synonyms of one another. Example: \"happy\" will also be considered as \"glad\", \"glad\" will also be considered as \"happy\".", +"id": "GoogleCloudDiscoveryengineV1alphaControlSynonymsAction", +"properties": { +"synonyms": { +"description": "Defines a set of synonyms. Can specify up to 100 synonyms. Must specify at least 2 synonyms. Otherwise an INVALID ARGUMENT error is thrown.", +"items": { +"type": "string" +}, +"type": "array" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1alphaCrawlRateTimeSeries": { +"description": "The historical crawl rate timeseries data, used for monitoring.", +"id": "GoogleCloudDiscoveryengineV1alphaCrawlRateTimeSeries", +"properties": { +"qpsTimeSeries": { +"$ref": "GoogleMonitoringV3TimeSeries", +"description": "The QPS of the crawl rate." +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1alphaCreateDataStoreMetadata": { +"description": "Metadata related to the progress of the DataStoreService.CreateDataStore operation. This will be returned by the google.longrunning.Operation.metadata field.", +"id": "GoogleCloudDiscoveryengineV1alphaCreateDataStoreMetadata", +"properties": { +"createTime": { +"description": "Operation create time.", +"format": "google-datetime", +"type": "string" +}, +"updateTime": { +"description": "Operation last update time. If the operation is done, this is also the finish time.", +"format": "google-datetime", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1alphaCreateEngineMetadata": { +"description": "Metadata related to the progress of the EngineService.CreateEngine operation. This will be returned by the google.longrunning.Operation.metadata field.", +"id": "GoogleCloudDiscoveryengineV1alphaCreateEngineMetadata", +"properties": { +"createTime": { +"description": "Operation create time.", +"format": "google-datetime", +"type": "string" +}, +"updateTime": { +"description": "Operation last update time. If the operation is done, this is also the finish time.", +"format": "google-datetime", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1alphaCreateEvaluationMetadata": { +"description": "Metadata for EvaluationService.CreateEvaluation method.", +"id": "GoogleCloudDiscoveryengineV1alphaCreateEvaluationMetadata", +"properties": {}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1alphaCreateSchemaMetadata": { +"description": "Metadata for Create Schema LRO.", +"id": "GoogleCloudDiscoveryengineV1alphaCreateSchemaMetadata", +"properties": { +"createTime": { +"description": "Operation create time.", +"format": "google-datetime", +"type": "string" +}, +"updateTime": { +"description": "Operation last update time. If the operation is done, this is also the finish time.", +"format": "google-datetime", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1alphaCreateSitemapMetadata": { +"description": "Metadata related to the progress of the SiteSearchEngineService.CreateSitemap operation. This will be returned by the google.longrunning.Operation.metadata field.", +"id": "GoogleCloudDiscoveryengineV1alphaCreateSitemapMetadata", +"properties": { +"createTime": { +"description": "Operation create time.", +"format": "google-datetime", +"type": "string" +}, +"updateTime": { +"description": "Operation last update time. If the operation is done, this is also the finish time.", +"format": "google-datetime", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1alphaCreateTargetSiteMetadata": { +"description": "Metadata related to the progress of the SiteSearchEngineService.CreateTargetSite operation. This will be returned by the google.longrunning.Operation.metadata field.", +"id": "GoogleCloudDiscoveryengineV1alphaCreateTargetSiteMetadata", +"properties": { +"createTime": { +"description": "Operation create time.", +"format": "google-datetime", +"type": "string" +}, +"updateTime": { +"description": "Operation last update time. If the operation is done, this is also the finish time.", +"format": "google-datetime", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1alphaCustomFineTuningSpec": { +"description": "Defines custom fine tuning spec.", +"id": "GoogleCloudDiscoveryengineV1alphaCustomFineTuningSpec", +"properties": { +"enableSearchAdaptor": { +"description": "Whether or not to enable and include custom fine tuned search adaptor model.", +"type": "boolean" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1alphaDataConnector": { +"description": "Manages the connection to external data sources for all data stores grouped under a Collection. It's a singleton resource of Collection. The initialization is only supported through DataConnectorService.SetUpDataConnector method, which will create a new Collection and initialize its DataConnector.", +"id": "GoogleCloudDiscoveryengineV1alphaDataConnector", +"properties": { +"actionConfig": { +"$ref": "GoogleCloudDiscoveryengineV1alphaActionConfig", +"description": "Optional. Action configurations to make the connector support actions." +}, +"autoRunDisabled": { +"description": "Indicates whether the connector is disabled for auto run. It can be used to pause periodical and real time sync.", +"type": "boolean" +}, +"blockingReasons": { +"description": "Output only. User actions that must be completed before the connector can start syncing data.", +"items": { +"enum": [ +"BLOCKING_REASON_UNSPECIFIED", +"ALLOWLIST_STATIC_IP", +"ALLOWLIST_IN_SERVICE_ATTACHMENT" +], +"enumDescriptions": [ +"Default value.", +"Connector requires customer to allowlist static IPs.", +"Connector requires customer to allowlist our project in their service attachment." +], +"type": "string" +}, +"readOnly": true, +"type": "array" +}, +"createTime": { +"description": "Output only. Timestamp the DataConnector was created at.", +"format": "google-datetime", +"readOnly": true, +"type": "string" +}, +"dataSource": { +"description": "Required. The name of the data source. Supported values: `salesforce`, `jira`, `confluence`, `bigquery`.", +"type": "string" +}, +"destinationConfigs": { +"description": "Optional. Any target destinations used to connect to third-party services.", +"items": { +"$ref": "GoogleCloudDiscoveryengineV1alphaDestinationConfig" +}, +"type": "array" +}, +"entities": { +"description": "List of entities from the connected data source to ingest.", +"items": { +"$ref": "GoogleCloudDiscoveryengineV1alphaDataConnectorSourceEntity" +}, +"type": "array" +}, +"errors": { +"description": "Output only. The errors from initialization or from the latest connector run.", +"items": { +"$ref": "GoogleRpcStatus" +}, +"readOnly": true, +"type": "array" +}, +"identityRefreshInterval": { +"deprecated": true, +"description": "The refresh interval to sync the Access Control List information for the documents ingested by this connector. If not set, the access control list will be refreshed at the default interval of 30 minutes. The identity refresh interval can be at least 30 minutes and at most 7 days.", +"format": "google-duration", +"type": "string" +}, +"identityScheduleConfig": { +"$ref": "GoogleCloudDiscoveryengineV1alphaIdentityScheduleConfig", +"description": "The configuration for the identity data synchronization runs. This contains the refresh interval to sync the Access Control List information for the documents ingested by this connector." +}, +"kmsKeyName": { +"description": "Input only. The KMS key to be used to protect the DataStores managed by this connector. Must be set for requests that need to comply with CMEK Org Policy protections. If this field is set and processed successfully, the DataStores created by this connector will be protected by the KMS key.", +"type": "string" +}, +"lastSyncTime": { +"description": "Output only. For periodic connectors only, the last time a data sync was completed.", +"format": "google-datetime", +"readOnly": true, +"type": "string" +}, +"latestPauseTime": { +"description": "Output only. The most recent timestamp when this DataConnector was paused, affecting all functionalities such as data synchronization. Pausing a connector has the following effects: - All functionalities, including data synchronization, are halted. - Any ongoing data synchronization job will be canceled. - No future data synchronization runs will be scheduled nor can be triggered.", +"format": "google-datetime", +"readOnly": true, +"type": "string" +}, +"name": { +"description": "Output only. The full resource name of the Data Connector. Format: `projects/*/locations/*/collections/*/dataConnector`.", +"readOnly": true, +"type": "string" +}, +"nextSyncTime": { +"$ref": "GoogleTypeDateTime", +"description": "The UTC time when the next data sync is expected to start for the Data Connector. Customers are only able to specify the hour and minute to schedule the data sync. This is utilized when the data connector has a refresh interval greater than 1 day." +}, +"params": { +"additionalProperties": { +"description": "Properties of the object.", +"type": "any" +}, +"description": "Required. Params needed to access the source in the format of (Key, Value) pairs. Required parameters for all data sources: * Key: `instance_uri` * Value: type STRING. The uri to access the data source. Required parameters for sources that support OAUTH, i.e. `salesforce`: * Key: `client_id` * Value: type STRING. The client id for the third party service provider to identify your application. * Key: `client_secret` * Value:type STRING. The client secret generated by the third party authorization server. * Key: `access_token` * Value: type STRING. OAuth token for UCS to access to the protected resource. * Key: `refresh_token` * Value: type STRING. OAuth refresh token for UCS to obtain a new access token without user interaction. Required parameters for sources that support basic API token auth, i.e. `jira`, `confluence`: * Key: `user_account` * Value: type STRING. The username or email with the source. * Key: `api_token` * Value: type STRING. The API token generated for the source account, that is used for authenticating anywhere where you would have used a password. Example: ```json { \"instance_uri\": \"https://xxx.atlassian.net\", \"user_account\": \"xxxx.xxx@xxx.com\", \"api_token\": \"test-token\" } ``` Optional parameter to specify the authorization type to use for multiple authorization types support: * Key: `auth_type` * Value: type STRING. The authorization type for the data source. Supported values: `BASIC_AUTH`, `OAUTH`, `OAUTH_ACCESS_TOKEN`, `OAUTH_TWO_LEGGED`, `OAUTH_JWT_BEARER`, `OAUTH_PASSWORD_GRANT`, `JWT`, `API_TOKEN`, `FEDERATED_CREDENTIAL`.", +"type": "object" +}, +"privateConnectivityProjectId": { +"description": "Output only. The tenant project ID associated with private connectivity connectors. This project must be allowlisted by in order for the connector to function.", +"readOnly": true, +"type": "string" +}, +"refreshInterval": { +"description": "Required. The refresh interval for data sync. If duration is set to 0, the data will be synced in real time. The streaming feature is not supported yet. The minimum is 30 minutes and maximum is 7 days.", +"format": "google-duration", +"type": "string" +}, +"state": { +"description": "Output only. State of the connector.", +"enum": [ +"STATE_UNSPECIFIED", +"CREATING", +"ACTIVE", +"FAILED", +"RUNNING", +"WARNING" +], +"enumDescriptions": [ +"Default value.", +"The connector is being set up.", +"The connector is successfully set up and awaiting next sync run.", +"The connector is in error. The error details can be found in DataConnector.errors. If the error is unfixable, the DataConnector can be deleted by [CollectionService.DeleteCollection] API.", +"The connector is actively syncing records from the data source.", +"The connector has completed a sync run, but encountered non-fatal errors." +], +"readOnly": true, +"type": "string" +}, +"staticIpAddresses": { +"description": "Output only. The static IP addresses used by this connector.", +"items": { +"type": "string" +}, +"readOnly": true, +"type": "array" +}, +"staticIpEnabled": { +"description": "Optional. Whether customer has enabled static IP addresses for this connector.", +"type": "boolean" +}, +"syncMode": { +"description": "The data synchronization mode supported by the data connector.", +"enum": [ +"PERIODIC" +], +"enumDescriptions": [ +"The connector will sync data periodically based on the refresh_interval. Use it with auto_run_disabled to pause the periodic sync, or indicate a one-time sync." +], +"type": "string" +}, +"updateTime": { +"description": "Output only. Timestamp the DataConnector was last updated.", +"format": "google-datetime", +"readOnly": true, +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1alphaDataConnectorSourceEntity": { +"description": "Represents an entity in the data source. For example, the `Account` object in Salesforce.", +"id": "GoogleCloudDiscoveryengineV1alphaDataConnectorSourceEntity", +"properties": { +"dataStore": { +"description": "Output only. The full resource name of the associated data store for the source entity. Format: `projects/*/locations/*/collections/*/dataStores/*`. When the connector is initialized by the DataConnectorService.SetUpDataConnector method, a DataStore is automatically created for each source entity.", +"readOnly": true, +"type": "string" +}, +"entityName": { +"description": "The name of the entity. Supported values by data source: * Salesforce: `Lead`, `Opportunity`, `Contact`, `Account`, `Case`, `Contract`, `Campaign` * Jira: `Issue` * Confluence: `Content`, `Space`", +"type": "string" +}, +"keyPropertyMappings": { +"additionalProperties": { +"type": "string" +}, +"description": "Attributes for indexing. Key: Field name. Value: The key property to map a field to, such as `title`, and `description`. Supported key properties: * `title`: The title for data record. This would be displayed on search results. * `description`: The description for data record. This would be displayed on search results.", +"type": "object" +}, +"params": { +"additionalProperties": { +"description": "Properties of the object.", +"type": "any" +}, +"description": "The parameters for the entity to facilitate data ingestion. E.g. for BQ connectors: * Key: `document_id_column` * Value: type STRING. The value of the column id.", +"type": "object" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1alphaDataStore": { +"description": "DataStore captures global settings and configs at the DataStore level.", +"id": "GoogleCloudDiscoveryengineV1alphaDataStore", +"properties": { +"aclEnabled": { +"description": "Immutable. Whether data in the DataStore has ACL information. If set to `true`, the source data must have ACL. ACL will be ingested when data is ingested by DocumentService.ImportDocuments methods. When ACL is enabled for the DataStore, Document can't be accessed by calling DocumentService.GetDocument or DocumentService.ListDocuments. Currently ACL is only supported in `GENERIC` industry vertical with non-`PUBLIC_WEBSITE` content config.", +"type": "boolean" +}, +"advancedSiteSearchConfig": { +"$ref": "GoogleCloudDiscoveryengineV1alphaAdvancedSiteSearchConfig", +"description": "Optional. Configuration for advanced site search." +}, +"billingEstimation": { +"$ref": "GoogleCloudDiscoveryengineV1alphaDataStoreBillingEstimation", +"description": "Output only. Data size estimation for billing.", +"readOnly": true +}, +"cmekConfig": { +"$ref": "GoogleCloudDiscoveryengineV1alphaCmekConfig", +"description": "Output only. CMEK-related information for the DataStore.", +"readOnly": true +}, +"contentConfig": { +"description": "Immutable. The content config of the data store. If this field is unset, the server behavior defaults to ContentConfig.NO_CONTENT.", +"enum": [ +"CONTENT_CONFIG_UNSPECIFIED", +"NO_CONTENT", +"CONTENT_REQUIRED", +"PUBLIC_WEBSITE", +"GOOGLE_WORKSPACE" +], +"enumDescriptions": [ +"Default value.", +"Only contains documents without any Document.content.", +"Only contains documents with Document.content.", +"The data store is used for public website search.", +"The data store is used for workspace search. Details of workspace data store are specified in the WorkspaceConfig." +], +"type": "string" +}, +"createTime": { +"description": "Output only. Timestamp the DataStore was created at.", +"format": "google-datetime", +"readOnly": true, +"type": "string" +}, +"defaultSchemaId": { +"description": "Output only. The id of the default Schema asscociated to this data store.", +"readOnly": true, +"type": "string" +}, +"displayName": { +"description": "Required. The data store display name. This field must be a UTF-8 encoded string with a length limit of 128 characters. Otherwise, an INVALID_ARGUMENT error is returned.", +"type": "string" +}, +"documentProcessingConfig": { +"$ref": "GoogleCloudDiscoveryengineV1alphaDocumentProcessingConfig", +"description": "Configuration for Document understanding and enrichment." +}, +"idpConfig": { +"$ref": "GoogleCloudDiscoveryengineV1alphaIdpConfig", +"description": "Output only. Data store level identity provider config.", +"readOnly": true +}, +"industryVertical": { +"description": "Immutable. The industry vertical that the data store registers.", +"enum": [ +"INDUSTRY_VERTICAL_UNSPECIFIED", +"GENERIC", +"MEDIA", +"HEALTHCARE_FHIR" +], +"enumDescriptions": [ +"Value used when unset.", +"The generic vertical for documents that are not specific to any industry vertical.", +"The media industry vertical.", +"The healthcare FHIR vertical." +], +"type": "string" +}, +"isInfobotFaqDataStore": { +"description": "Optional. If set, this DataStore is an Infobot FAQ DataStore.", +"type": "boolean" +}, +"kmsKeyName": { +"description": "Input only. The KMS key to be used to protect this DataStore at creation time. Must be set for requests that need to comply with CMEK Org Policy protections. If this field is set and processed successfully, the DataStore will be protected by the KMS key, as indicated in the cmek_config field.", +"type": "string" +}, +"languageInfo": { +"$ref": "GoogleCloudDiscoveryengineV1alphaLanguageInfo", +"description": "Language info for DataStore." +}, +"name": { +"description": "Immutable. The full resource name of the data store. Format: `projects/{project}/locations/{location}/collections/{collection_id}/dataStores/{data_store_id}`. This field must be a UTF-8 encoded string with a length limit of 1024 characters.", +"type": "string" +}, +"naturalLanguageQueryUnderstandingConfig": { +"$ref": "GoogleCloudDiscoveryengineV1alphaNaturalLanguageQueryUnderstandingConfig", +"description": "Optional. Configuration for Natural Language Query Understanding." +}, +"servingConfigDataStore": { +"$ref": "GoogleCloudDiscoveryengineV1alphaDataStoreServingConfigDataStore", +"description": "Optional. Stores serving config at DataStore level." +}, +"solutionTypes": { +"description": "The solutions that the data store enrolls. Available solutions for each industry_vertical: * `MEDIA`: `SOLUTION_TYPE_RECOMMENDATION` and `SOLUTION_TYPE_SEARCH`. * `SITE_SEARCH`: `SOLUTION_TYPE_SEARCH` is automatically enrolled. Other solutions cannot be enrolled.", +"items": { +"enum": [ +"SOLUTION_TYPE_UNSPECIFIED", +"SOLUTION_TYPE_RECOMMENDATION", +"SOLUTION_TYPE_SEARCH", +"SOLUTION_TYPE_CHAT", +"SOLUTION_TYPE_GENERATIVE_CHAT" +], +"enumDescriptions": [ +"Default value.", +"Used for Recommendations AI.", +"Used for Discovery Search.", +"Used for use cases related to the Generative AI agent.", +"Used for use cases related to the Generative Chat agent. It's used for Generative chat engine only, the associated data stores must enrolled with `SOLUTION_TYPE_CHAT` solution." +], +"type": "string" +}, +"type": "array" +}, +"startingSchema": { +"$ref": "GoogleCloudDiscoveryengineV1alphaSchema", +"description": "The start schema to use for this DataStore when provisioning it. If unset, a default vertical specialized schema will be used. This field is only used by CreateDataStore API, and will be ignored if used in other APIs. This field will be omitted from all API responses including CreateDataStore API. To retrieve a schema of a DataStore, use SchemaService.GetSchema API instead. The provided schema will be validated against certain rules on schema. Learn more from [this doc](https://cloud.google.com/generative-ai-app-builder/docs/provide-schema)." +}, +"workspaceConfig": { +"$ref": "GoogleCloudDiscoveryengineV1alphaWorkspaceConfig", +"description": "Config to store data store type configuration for workspace data. This must be set when DataStore.content_config is set as DataStore.ContentConfig.GOOGLE_WORKSPACE." +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1alphaDataStoreBillingEstimation": { +"description": "Estimation of data size per data store.", +"id": "GoogleCloudDiscoveryengineV1alphaDataStoreBillingEstimation", +"properties": { +"structuredDataSize": { +"description": "Data size for structured data in terms of bytes.", +"format": "int64", +"type": "string" +}, +"structuredDataUpdateTime": { +"description": "Last updated timestamp for structured data.", +"format": "google-datetime", +"type": "string" +}, +"unstructuredDataSize": { +"description": "Data size for unstructured data in terms of bytes.", +"format": "int64", +"type": "string" +}, +"unstructuredDataUpdateTime": { +"description": "Last updated timestamp for unstructured data.", +"format": "google-datetime", +"type": "string" +}, +"websiteDataSize": { +"description": "Data size for websites in terms of bytes.", +"format": "int64", +"type": "string" +}, +"websiteDataUpdateTime": { +"description": "Last updated timestamp for websites.", +"format": "google-datetime", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1alphaDataStoreServingConfigDataStore": { +"description": "Stores information regarding the serving configurations at DataStore level.", +"id": "GoogleCloudDiscoveryengineV1alphaDataStoreServingConfigDataStore", +"properties": { +"disabledForServing": { +"description": "If set true, the DataStore will not be available for serving search requests.", +"type": "boolean" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1alphaDedicatedCrawlRateTimeSeries": { +"description": "The historical dedicated crawl rate timeseries data, used for monitoring. Dedicated crawl is used by Vertex AI to crawl the user's website when dedicate crawl is set.", +"id": "GoogleCloudDiscoveryengineV1alphaDedicatedCrawlRateTimeSeries", +"properties": { +"autoRefreshCrawlRate": { +"$ref": "GoogleCloudDiscoveryengineV1alphaCrawlRateTimeSeries", +"description": "Vertex AI's dedicated crawl rate time series of auto-refresh, which is the crawl rate of Google-CloudVertexBot when dedicate crawl is set, and the crawl rate is for best effort use cases like refreshing urls periodically." +}, +"userTriggeredCrawlRate": { +"$ref": "GoogleCloudDiscoveryengineV1alphaCrawlRateTimeSeries", +"description": "Vertex AI's dedicated crawl rate time series of user triggered crawl, which is the crawl rate of Google-CloudVertexBot when dedicate crawl is set, and user triggered crawl rate is for deterministic use cases like crawling urls or sitemaps specified by users." +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1alphaDeleteCollectionMetadata": { +"description": "Metadata related to the progress of the CollectionService.UpdateCollection operation. This will be returned by the google.longrunning.Operation.metadata field.", +"id": "GoogleCloudDiscoveryengineV1alphaDeleteCollectionMetadata", +"properties": { +"createTime": { +"description": "Operation create time.", +"format": "google-datetime", +"type": "string" +}, +"updateTime": { +"description": "Operation last update time. If the operation is done, this is also the finish time.", +"format": "google-datetime", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1alphaDeleteDataStoreMetadata": { +"description": "Metadata related to the progress of the DataStoreService.DeleteDataStore operation. This will be returned by the google.longrunning.Operation.metadata field.", +"id": "GoogleCloudDiscoveryengineV1alphaDeleteDataStoreMetadata", +"properties": { +"createTime": { +"description": "Operation create time.", +"format": "google-datetime", +"type": "string" +}, +"updateTime": { +"description": "Operation last update time. If the operation is done, this is also the finish time.", +"format": "google-datetime", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1alphaDeleteEngineMetadata": { +"description": "Metadata related to the progress of the EngineService.DeleteEngine operation. This will be returned by the google.longrunning.Operation.metadata field.", +"id": "GoogleCloudDiscoveryengineV1alphaDeleteEngineMetadata", +"properties": { +"createTime": { +"description": "Operation create time.", +"format": "google-datetime", +"type": "string" +}, +"updateTime": { +"description": "Operation last update time. If the operation is done, this is also the finish time.", +"format": "google-datetime", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1alphaDeleteIdentityMappingStoreMetadata": { +"description": "Metadata related to the progress of the IdentityMappingStoreService.DeleteIdentityMappingStore operation. This will be returned by the google.longrunning.Operation.metadata field.", +"id": "GoogleCloudDiscoveryengineV1alphaDeleteIdentityMappingStoreMetadata", +"properties": { +"createTime": { +"description": "Operation create time.", +"format": "google-datetime", +"type": "string" +}, +"updateTime": { +"description": "Operation last update time. If the operation is done, this is also the finish time.", +"format": "google-datetime", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1alphaDeleteSchemaMetadata": { +"description": "Metadata for DeleteSchema LRO.", +"id": "GoogleCloudDiscoveryengineV1alphaDeleteSchemaMetadata", +"properties": { +"createTime": { +"description": "Operation create time.", +"format": "google-datetime", +"type": "string" +}, +"updateTime": { +"description": "Operation last update time. If the operation is done, this is also the finish time.", +"format": "google-datetime", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1alphaDeleteSessionRequest": { +"description": "Request for DeleteSession method.", +"id": "GoogleCloudDiscoveryengineV1alphaDeleteSessionRequest", +"properties": { +"name": { +"description": "Required. The resource name of the Session to delete. Format: `projects/{project}/locations/{location}/collections/{collection}/dataStores/{data_store_id}/sessions/{session_id}`", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1alphaDeleteSitemapMetadata": { +"description": "Metadata related to the progress of the SiteSearchEngineService.DeleteSitemap operation. This will be returned by the google.longrunning.Operation.metadata field.", +"id": "GoogleCloudDiscoveryengineV1alphaDeleteSitemapMetadata", +"properties": { +"createTime": { +"description": "Operation create time.", +"format": "google-datetime", +"type": "string" +}, +"updateTime": { +"description": "Operation last update time. If the operation is done, this is also the finish time.", +"format": "google-datetime", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1alphaDeleteTargetSiteMetadata": { +"description": "Metadata related to the progress of the SiteSearchEngineService.DeleteTargetSite operation. This will be returned by the google.longrunning.Operation.metadata field.", +"id": "GoogleCloudDiscoveryengineV1alphaDeleteTargetSiteMetadata", +"properties": { +"createTime": { +"description": "Operation create time.", +"format": "google-datetime", +"type": "string" +}, +"updateTime": { +"description": "Operation last update time. If the operation is done, this is also the finish time.", +"format": "google-datetime", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1alphaDestinationConfig": { +"description": "Defines target endpoints used to connect to third-party sources.", +"id": "GoogleCloudDiscoveryengineV1alphaDestinationConfig", +"properties": { +"destinations": { +"description": "Optional. The destinations for the corresponding key.", +"items": { +"$ref": "GoogleCloudDiscoveryengineV1alphaDestinationConfigDestination" +}, +"type": "array" +}, +"key": { +"description": "Optional. Unique destination identifier that is supported by the connector.", +"type": "string" +}, +"params": { +"additionalProperties": { +"description": "Properties of the object.", +"type": "any" +}, +"description": "Optional. Additional parameters for this destination config.", +"type": "object" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1alphaDestinationConfigDestination": { +"description": "Defines a target endpoint", +"id": "GoogleCloudDiscoveryengineV1alphaDestinationConfigDestination", +"properties": { +"host": { +"description": "Publicly routable host.", +"type": "string" +}, +"port": { +"description": "Optional. Target port number accepted by the destination.", +"format": "int32", +"type": "integer" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1alphaDisableAdvancedSiteSearchMetadata": { +"description": "Metadata related to the progress of the SiteSearchEngineService.DisableAdvancedSiteSearch operation. This will be returned by the google.longrunning.Operation.metadata field.", +"id": "GoogleCloudDiscoveryengineV1alphaDisableAdvancedSiteSearchMetadata", +"properties": { +"createTime": { +"description": "Operation create time.", +"format": "google-datetime", +"type": "string" +}, +"updateTime": { +"description": "Operation last update time. If the operation is done, this is also the finish time.", +"format": "google-datetime", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1alphaDisableAdvancedSiteSearchResponse": { +"description": "Response message for SiteSearchEngineService.DisableAdvancedSiteSearch method.", +"id": "GoogleCloudDiscoveryengineV1alphaDisableAdvancedSiteSearchResponse", +"properties": {}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1alphaDocumentProcessingConfig": { +"description": "A singleton resource of DataStore. If it's empty when DataStore is created and DataStore is set to DataStore.ContentConfig.CONTENT_REQUIRED, the default parser will default to digital parser.", +"id": "GoogleCloudDiscoveryengineV1alphaDocumentProcessingConfig", +"properties": { +"chunkingConfig": { +"$ref": "GoogleCloudDiscoveryengineV1alphaDocumentProcessingConfigChunkingConfig", +"description": "Whether chunking mode is enabled." +}, +"defaultParsingConfig": { +"$ref": "GoogleCloudDiscoveryengineV1alphaDocumentProcessingConfigParsingConfig", +"description": "Configurations for default Document parser. If not specified, we will configure it as default DigitalParsingConfig, and the default parsing config will be applied to all file types for Document parsing." +}, +"name": { +"description": "The full resource name of the Document Processing Config. Format: `projects/*/locations/*/collections/*/dataStores/*/documentProcessingConfig`.", +"type": "string" +}, +"parsingConfigOverrides": { +"additionalProperties": { +"$ref": "GoogleCloudDiscoveryengineV1alphaDocumentProcessingConfigParsingConfig" +}, +"description": "Map from file type to override the default parsing configuration based on the file type. Supported keys: * `pdf`: Override parsing config for PDF files, either digital parsing, ocr parsing or layout parsing is supported. * `html`: Override parsing config for HTML files, only digital parsing and layout parsing are supported. * `docx`: Override parsing config for DOCX files, only digital parsing and layout parsing are supported. * `pptx`: Override parsing config for PPTX files, only digital parsing and layout parsing are supported. * `xlsm`: Override parsing config for XLSM files, only digital parsing and layout parsing are supported. * `xlsx`: Override parsing config for XLSX files, only digital parsing and layout parsing are supported.", +"type": "object" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1alphaDocumentProcessingConfigChunkingConfig": { +"description": "Configuration for chunking config.", +"id": "GoogleCloudDiscoveryengineV1alphaDocumentProcessingConfigChunkingConfig", +"properties": { +"layoutBasedChunkingConfig": { +"$ref": "GoogleCloudDiscoveryengineV1alphaDocumentProcessingConfigChunkingConfigLayoutBasedChunkingConfig", +"description": "Configuration for the layout based chunking." +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1alphaDocumentProcessingConfigChunkingConfigLayoutBasedChunkingConfig": { +"description": "Configuration for the layout based chunking.", +"id": "GoogleCloudDiscoveryengineV1alphaDocumentProcessingConfigChunkingConfigLayoutBasedChunkingConfig", +"properties": { +"chunkSize": { +"description": "The token size limit for each chunk. Supported values: 100-500 (inclusive). Default value: 500.", +"format": "int32", +"type": "integer" +}, +"includeAncestorHeadings": { +"description": "Whether to include appending different levels of headings to chunks from the middle of the document to prevent context loss. Default value: False.", +"type": "boolean" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1alphaDocumentProcessingConfigParsingConfig": { +"description": "Related configurations applied to a specific type of document parser.", +"id": "GoogleCloudDiscoveryengineV1alphaDocumentProcessingConfigParsingConfig", +"properties": { +"digitalParsingConfig": { +"$ref": "GoogleCloudDiscoveryengineV1alphaDocumentProcessingConfigParsingConfigDigitalParsingConfig", +"description": "Configurations applied to digital parser." +}, +"layoutParsingConfig": { +"$ref": "GoogleCloudDiscoveryengineV1alphaDocumentProcessingConfigParsingConfigLayoutParsingConfig", +"description": "Configurations applied to layout parser." +}, +"ocrParsingConfig": { +"$ref": "GoogleCloudDiscoveryengineV1alphaDocumentProcessingConfigParsingConfigOcrParsingConfig", +"description": "Configurations applied to OCR parser. Currently it only applies to PDFs." +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1alphaDocumentProcessingConfigParsingConfigDigitalParsingConfig": { +"description": "The digital parsing configurations for documents.", +"id": "GoogleCloudDiscoveryengineV1alphaDocumentProcessingConfigParsingConfigDigitalParsingConfig", +"properties": {}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1alphaDocumentProcessingConfigParsingConfigLayoutParsingConfig": { +"description": "The layout parsing configurations for documents.", +"id": "GoogleCloudDiscoveryengineV1alphaDocumentProcessingConfigParsingConfigLayoutParsingConfig", +"properties": {}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1alphaDocumentProcessingConfigParsingConfigOcrParsingConfig": { +"description": "The OCR parsing configurations for documents.", +"id": "GoogleCloudDiscoveryengineV1alphaDocumentProcessingConfigParsingConfigOcrParsingConfig", +"properties": { +"enhancedDocumentElements": { +"deprecated": true, +"description": "[DEPRECATED] This field is deprecated. To use the additional enhanced document elements processing, please switch to `layout_parsing_config`.", +"items": { +"type": "string" +}, +"type": "array" +}, +"useNativeText": { +"description": "If true, will use native text instead of OCR text on pages containing native text.", +"type": "boolean" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1alphaEnableAdvancedSiteSearchMetadata": { +"description": "Metadata related to the progress of the SiteSearchEngineService.EnableAdvancedSiteSearch operation. This will be returned by the google.longrunning.Operation.metadata field.", +"id": "GoogleCloudDiscoveryengineV1alphaEnableAdvancedSiteSearchMetadata", +"properties": { +"createTime": { +"description": "Operation create time.", +"format": "google-datetime", +"type": "string" +}, +"updateTime": { +"description": "Operation last update time. If the operation is done, this is also the finish time.", +"format": "google-datetime", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1alphaEnableAdvancedSiteSearchResponse": { +"description": "Response message for SiteSearchEngineService.EnableAdvancedSiteSearch method.", +"id": "GoogleCloudDiscoveryengineV1alphaEnableAdvancedSiteSearchResponse", +"properties": {}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1alphaEngine": { +"description": "Metadata that describes the training and serving parameters of an Engine.", +"id": "GoogleCloudDiscoveryengineV1alphaEngine", +"properties": { +"chatEngineConfig": { +"$ref": "GoogleCloudDiscoveryengineV1alphaEngineChatEngineConfig", +"description": "Configurations for the Chat Engine. Only applicable if solution_type is SOLUTION_TYPE_CHAT." +}, +"chatEngineMetadata": { +"$ref": "GoogleCloudDiscoveryengineV1alphaEngineChatEngineMetadata", +"description": "Output only. Additional information of the Chat Engine. Only applicable if solution_type is SOLUTION_TYPE_CHAT.", +"readOnly": true +}, +"commonConfig": { +"$ref": "GoogleCloudDiscoveryengineV1alphaEngineCommonConfig", +"description": "Common config spec that specifies the metadata of the engine." +}, +"createTime": { +"description": "Output only. Timestamp the Recommendation Engine was created at.", +"format": "google-datetime", +"readOnly": true, +"type": "string" +}, +"dataStoreIds": { +"description": "The data stores associated with this engine. For SOLUTION_TYPE_SEARCH and SOLUTION_TYPE_RECOMMENDATION type of engines, they can only associate with at most one data store. If solution_type is SOLUTION_TYPE_CHAT, multiple DataStores in the same Collection can be associated here. Note that when used in CreateEngineRequest, one DataStore id must be provided as the system will use it for necessary initializations.", +"items": { +"type": "string" +}, +"type": "array" +}, +"disableAnalytics": { +"description": "Optional. Whether to disable analytics for searches performed on this engine.", +"type": "boolean" +}, +"displayName": { +"description": "Required. The display name of the engine. Should be human readable. UTF-8 encoded string with limit of 1024 characters.", +"type": "string" +}, +"industryVertical": { +"description": "The industry vertical that the engine registers. The restriction of the Engine industry vertical is based on DataStore: Vertical on Engine has to match vertical of the DataStore linked to the engine.", +"enum": [ +"INDUSTRY_VERTICAL_UNSPECIFIED", +"GENERIC", +"MEDIA", +"HEALTHCARE_FHIR" +], +"enumDescriptions": [ +"Value used when unset.", +"The generic vertical for documents that are not specific to any industry vertical.", +"The media industry vertical.", +"The healthcare FHIR vertical." +], +"type": "string" +}, +"mediaRecommendationEngineConfig": { +"$ref": "GoogleCloudDiscoveryengineV1alphaEngineMediaRecommendationEngineConfig", +"description": "Configurations for the Media Engine. Only applicable on the data stores with solution_type SOLUTION_TYPE_RECOMMENDATION and IndustryVertical.MEDIA vertical." +}, +"name": { +"description": "Immutable. The fully qualified resource name of the engine. This field must be a UTF-8 encoded string with a length limit of 1024 characters. Format: `projects/{project}/locations/{location}/collections/{collection}/engines/{engine}` engine should be 1-63 characters, and valid characters are /a-z0-9*/. Otherwise, an INVALID_ARGUMENT error is returned.", +"type": "string" +}, +"recommendationMetadata": { +"$ref": "GoogleCloudDiscoveryengineV1alphaEngineRecommendationMetadata", +"description": "Output only. Additional information of a recommendation engine. Only applicable if solution_type is SOLUTION_TYPE_RECOMMENDATION.", +"readOnly": true +}, +"searchEngineConfig": { +"$ref": "GoogleCloudDiscoveryengineV1alphaEngineSearchEngineConfig", +"description": "Configurations for the Search Engine. Only applicable if solution_type is SOLUTION_TYPE_SEARCH." +}, +"similarDocumentsConfig": { +"$ref": "GoogleCloudDiscoveryengineV1alphaEngineSimilarDocumentsEngineConfig", +"description": "Additional config specs for a `similar-items` engine." +}, +"solutionType": { +"description": "Required. The solutions of the engine.", +"enum": [ +"SOLUTION_TYPE_UNSPECIFIED", +"SOLUTION_TYPE_RECOMMENDATION", +"SOLUTION_TYPE_SEARCH", +"SOLUTION_TYPE_CHAT", +"SOLUTION_TYPE_GENERATIVE_CHAT" +], +"enumDescriptions": [ +"Default value.", +"Used for Recommendations AI.", +"Used for Discovery Search.", +"Used for use cases related to the Generative AI agent.", +"Used for use cases related to the Generative Chat agent. It's used for Generative chat engine only, the associated data stores must enrolled with `SOLUTION_TYPE_CHAT` solution." +], +"type": "string" +}, +"updateTime": { +"description": "Output only. Timestamp the Recommendation Engine was last updated.", +"format": "google-datetime", +"readOnly": true, +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1alphaEngineChatEngineConfig": { +"description": "Configurations for a Chat Engine.", +"id": "GoogleCloudDiscoveryengineV1alphaEngineChatEngineConfig", +"properties": { +"agentCreationConfig": { +"$ref": "GoogleCloudDiscoveryengineV1alphaEngineChatEngineConfigAgentCreationConfig", +"description": "The configurationt generate the Dialogflow agent that is associated to this Engine. Note that these configurations are one-time consumed by and passed to Dialogflow service. It means they cannot be retrieved using EngineService.GetEngine or EngineService.ListEngines API after engine creation." +}, +"dialogflowAgentToLink": { +"description": "The resource name of an exist Dialogflow agent to link to this Chat Engine. Customers can either provide `agent_creation_config` to create agent or provide an agent name that links the agent with the Chat engine. Format: `projects//locations//agents/`. Note that the `dialogflow_agent_to_link` are one-time consumed by and passed to Dialogflow service. It means they cannot be retrieved using EngineService.GetEngine or EngineService.ListEngines API after engine creation. Use ChatEngineMetadata.dialogflow_agent for actual agent association after Engine is created.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1alphaEngineChatEngineConfigAgentCreationConfig": { +"description": "Configurations for generating a Dialogflow agent. Note that these configurations are one-time consumed by and passed to Dialogflow service. It means they cannot be retrieved using EngineService.GetEngine or EngineService.ListEngines API after engine creation.", +"id": "GoogleCloudDiscoveryengineV1alphaEngineChatEngineConfigAgentCreationConfig", +"properties": { +"business": { +"description": "Name of the company, organization or other entity that the agent represents. Used for knowledge connector LLM prompt and for knowledge search.", +"type": "string" +}, +"defaultLanguageCode": { +"description": "Required. The default language of the agent as a language tag. See [Language Support](https://cloud.google.com/dialogflow/docs/reference/language) for a list of the currently supported language codes.", +"type": "string" +}, +"location": { +"description": "Agent location for Agent creation, supported values: global/us/eu. If not provided, us Engine will create Agent using us-central-1 by default; eu Engine will create Agent using eu-west-1 by default.", +"type": "string" +}, +"timeZone": { +"description": "Required. The time zone of the agent from the [time zone database](https://www.iana.org/time-zones), e.g., America/New_York, Europe/Paris.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1alphaEngineChatEngineMetadata": { +"description": "Additional information of a Chat Engine. Fields in this message are output only.", +"id": "GoogleCloudDiscoveryengineV1alphaEngineChatEngineMetadata", +"properties": { +"dialogflowAgent": { +"description": "The resource name of a Dialogflow agent, that this Chat Engine refers to. Format: `projects//locations//agents/`.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1alphaEngineCommonConfig": { +"description": "Common configurations for an Engine.", +"id": "GoogleCloudDiscoveryengineV1alphaEngineCommonConfig", +"properties": { +"companyName": { +"description": "The name of the company, business or entity that is associated with the engine. Setting this may help improve LLM related features.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1alphaEngineMediaRecommendationEngineConfig": { +"description": "Additional config specs for a Media Recommendation engine.", +"id": "GoogleCloudDiscoveryengineV1alphaEngineMediaRecommendationEngineConfig", +"properties": { +"optimizationObjective": { +"description": "The optimization objective. e.g., `cvr`. This field together with optimization_objective describe engine metadata to use to control engine training and serving. Currently supported values: `ctr`, `cvr`. If not specified, we choose default based on engine type. Default depends on type of recommendation: `recommended-for-you` => `ctr` `others-you-may-like` => `ctr`", +"type": "string" +}, +"optimizationObjectiveConfig": { +"$ref": "GoogleCloudDiscoveryengineV1alphaEngineMediaRecommendationEngineConfigOptimizationObjectiveConfig", +"description": "Name and value of the custom threshold for cvr optimization_objective. For target_field `watch-time`, target_field_value must be an integer value indicating the media progress time in seconds between (0, 86400] (excludes 0, includes 86400) (e.g., 90). For target_field `watch-percentage`, the target_field_value must be a valid float value between (0, 1.0] (excludes 0, includes 1.0) (e.g., 0.5)." +}, +"trainingState": { +"description": "The training state that the engine is in (e.g. `TRAINING` or `PAUSED`). Since part of the cost of running the service is frequency of training - this can be used to determine when to train engine in order to control cost. If not specified: the default value for `CreateEngine` method is `TRAINING`. The default value for `UpdateEngine` method is to keep the state the same as before.", +"enum": [ +"TRAINING_STATE_UNSPECIFIED", +"PAUSED", +"TRAINING" +], +"enumDescriptions": [ +"Unspecified training state.", +"The engine training is paused.", +"The engine is training." +], +"type": "string" +}, +"type": { +"description": "Required. The type of engine. e.g., `recommended-for-you`. This field together with optimization_objective describe engine metadata to use to control engine training and serving. Currently supported values: `recommended-for-you`, `others-you-may-like`, `more-like-this`, `most-popular-items`.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1alphaEngineMediaRecommendationEngineConfigOptimizationObjectiveConfig": { +"description": "Custom threshold for `cvr` optimization_objective.", +"id": "GoogleCloudDiscoveryengineV1alphaEngineMediaRecommendationEngineConfigOptimizationObjectiveConfig", +"properties": { +"targetField": { +"description": "Required. The name of the field to target. Currently supported values: `watch-percentage`, `watch-time`.", +"type": "string" +}, +"targetFieldValueFloat": { +"description": "Required. The threshold to be applied to the target (e.g., 0.5).", +"format": "float", +"type": "number" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1alphaEngineRecommendationMetadata": { +"description": "Additional information of a recommendation engine.", +"id": "GoogleCloudDiscoveryengineV1alphaEngineRecommendationMetadata", +"properties": { +"dataState": { +"description": "Output only. The state of data requirements for this engine: `DATA_OK` and `DATA_ERROR`. Engine cannot be trained if the data is in `DATA_ERROR` state. Engine can have `DATA_ERROR` state even if serving state is `ACTIVE`: engines were trained successfully before, but cannot be refreshed because the underlying engine no longer has sufficient data for training.", +"enum": [ +"DATA_STATE_UNSPECIFIED", +"DATA_OK", +"DATA_ERROR" +], +"enumDescriptions": [ +"Unspecified default value, should never be explicitly set.", +"The engine has sufficient training data.", +"The engine does not have sufficient training data. Error messages can be queried via Stackdriver." +], +"readOnly": true, +"type": "string" +}, +"lastTuneTime": { +"description": "Output only. The timestamp when the latest successful tune finished. Only applicable on Media Recommendation engines.", +"format": "google-datetime", +"readOnly": true, +"type": "string" +}, +"servingState": { +"description": "Output only. The serving state of the engine: `ACTIVE`, `NOT_ACTIVE`.", +"enum": [ +"SERVING_STATE_UNSPECIFIED", +"INACTIVE", +"ACTIVE", +"TUNED" +], +"enumDescriptions": [ +"Unspecified serving state.", +"The engine is not serving.", +"The engine is serving and can be queried.", +"The engine is trained on tuned hyperparameters and can be queried." +], +"readOnly": true, +"type": "string" +}, +"tuningOperation": { +"description": "Output only. The latest tune operation id associated with the engine. Only applicable on Media Recommendation engines. If present, this operation id can be used to determine if there is an ongoing tune for this engine. To check the operation status, send the GetOperation request with this operation id in the engine resource format. If no tuning has happened for this engine, the string is empty.", +"readOnly": true, +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1alphaEngineSearchEngineConfig": { +"description": "Configurations for a Search Engine.", +"id": "GoogleCloudDiscoveryengineV1alphaEngineSearchEngineConfig", +"properties": { +"searchAddOns": { +"description": "The add-on that this search engine enables.", +"items": { +"enum": [ +"SEARCH_ADD_ON_UNSPECIFIED", +"SEARCH_ADD_ON_LLM" +], +"enumDescriptions": [ +"Default value when the enum is unspecified. This is invalid to use.", +"Large language model add-on." +], +"type": "string" +}, +"type": "array" +}, +"searchTier": { +"description": "The search feature tier of this engine. Different tiers might have different pricing. To learn more, check the pricing documentation. Defaults to SearchTier.SEARCH_TIER_STANDARD if not specified.", +"enum": [ +"SEARCH_TIER_UNSPECIFIED", +"SEARCH_TIER_STANDARD", +"SEARCH_TIER_ENTERPRISE" +], +"enumDescriptions": [ +"Default value when the enum is unspecified. This is invalid to use.", +"Standard tier.", +"Enterprise tier." +], +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1alphaEngineSimilarDocumentsEngineConfig": { +"description": "Additional config specs for a `similar-items` engine.", +"id": "GoogleCloudDiscoveryengineV1alphaEngineSimilarDocumentsEngineConfig", +"properties": {}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1alphaEstimateDataSizeMetadata": { +"description": "Metadata related to the progress of the EstimateDataSize operation. This is returned by the google.longrunning.Operation.metadata field.", +"id": "GoogleCloudDiscoveryengineV1alphaEstimateDataSizeMetadata", +"properties": { +"createTime": { +"description": "Operation create time.", +"format": "google-datetime", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1alphaEstimateDataSizeResponse": { +"description": "Response of the EstimateDataSize request. If the long running operation was successful, then this message is returned by the google.longrunning.Operations.response field if the operation was successful.", +"id": "GoogleCloudDiscoveryengineV1alphaEstimateDataSizeResponse", +"properties": { +"dataSizeBytes": { +"description": "Data size in terms of bytes.", +"format": "int64", +"type": "string" +}, +"documentCount": { +"description": "Total number of documents.", +"format": "int64", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1alphaEvaluation": { +"description": "An evaluation is a single execution (or run) of an evaluation process. It encapsulates the state of the evaluation and the resulting data.", +"id": "GoogleCloudDiscoveryengineV1alphaEvaluation", +"properties": { +"createTime": { +"description": "Output only. Timestamp the Evaluation was created at.", +"format": "google-datetime", +"readOnly": true, +"type": "string" +}, +"endTime": { +"description": "Output only. Timestamp the Evaluation was completed at.", +"format": "google-datetime", +"readOnly": true, +"type": "string" +}, +"error": { +"$ref": "GoogleRpcStatus", +"description": "Output only. The error that occurred during evaluation. Only populated when the evaluation's state is FAILED.", +"readOnly": true +}, +"errorSamples": { +"description": "Output only. A sample of errors encountered while processing the request.", +"items": { +"$ref": "GoogleRpcStatus" +}, +"readOnly": true, +"type": "array" +}, +"evaluationSpec": { +"$ref": "GoogleCloudDiscoveryengineV1alphaEvaluationEvaluationSpec", +"description": "Required. The specification of the evaluation." +}, +"name": { +"description": "Identifier. The full resource name of the Evaluation, in the format of `projects/{project}/locations/{location}/evaluations/{evaluation}`. This field must be a UTF-8 encoded string with a length limit of 1024 characters.", +"type": "string" +}, +"qualityMetrics": { +"$ref": "GoogleCloudDiscoveryengineV1alphaQualityMetrics", +"description": "Output only. The metrics produced by the evaluation, averaged across all SampleQuerys in the SampleQuerySet. Only populated when the evaluation's state is SUCCEEDED.", +"readOnly": true +}, +"state": { +"description": "Output only. The state of the evaluation.", +"enum": [ +"STATE_UNSPECIFIED", +"PENDING", +"RUNNING", +"SUCCEEDED", +"FAILED" +], +"enumDescriptions": [ +"The evaluation is unspecified.", +"The service is preparing to run the evaluation.", +"The evaluation is in progress.", +"The evaluation completed successfully.", +"The evaluation failed." +], +"readOnly": true, +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1alphaEvaluationEvaluationSpec": { +"description": "Describes the specification of the evaluation.", +"id": "GoogleCloudDiscoveryengineV1alphaEvaluationEvaluationSpec", +"properties": { +"querySetSpec": { +"$ref": "GoogleCloudDiscoveryengineV1alphaEvaluationEvaluationSpecQuerySetSpec", +"description": "Required. The specification of the query set." +}, +"searchRequest": { +"$ref": "GoogleCloudDiscoveryengineV1alphaSearchRequest", +"description": "Required. The search request that is used to perform the evaluation. Only the following fields within SearchRequest are supported; if any other fields are provided, an UNSUPPORTED error will be returned: * SearchRequest.serving_config * SearchRequest.branch * SearchRequest.canonical_filter * SearchRequest.query_expansion_spec * SearchRequest.spell_correction_spec * SearchRequest.content_search_spec * SearchRequest.user_pseudo_id" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1alphaEvaluationEvaluationSpecQuerySetSpec": { +"description": "Describes the specification of the query set.", +"id": "GoogleCloudDiscoveryengineV1alphaEvaluationEvaluationSpecQuerySetSpec", +"properties": { +"sampleQuerySet": { +"description": "Required. The full resource name of the SampleQuerySet used for the evaluation, in the format of `projects/{project}/locations/{location}/sampleQuerySets/{sampleQuerySet}`.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1alphaFetchSitemapsResponse": { +"description": "Response message for SiteSearchEngineService.FetchSitemaps method.", +"id": "GoogleCloudDiscoveryengineV1alphaFetchSitemapsResponse", +"properties": { +"sitemapsMetadata": { +"description": "List of Sitemaps fetched.", +"items": { +"$ref": "GoogleCloudDiscoveryengineV1alphaFetchSitemapsResponseSitemapMetadata" +}, +"type": "array" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1alphaFetchSitemapsResponseSitemapMetadata": { +"description": "Contains a Sitemap and its metadata.", +"id": "GoogleCloudDiscoveryengineV1alphaFetchSitemapsResponseSitemapMetadata", +"properties": { +"sitemap": { +"$ref": "GoogleCloudDiscoveryengineV1alphaSitemap", +"description": "The Sitemap." +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1alphaFieldConfig": { +"description": "Configurations for fields of a schema. For example, configuring a field is indexable, or searchable.", +"id": "GoogleCloudDiscoveryengineV1alphaFieldConfig", +"properties": { +"advancedSiteSearchDataSources": { +"description": "If this field is set, only the corresponding source will be indexed for this field. Otherwise, the values from different sources are merged. Assuming a page with `` in meta tag, and `` in page map: if this enum is set to METATAGS, we will only index ``; if this enum is not set, we will merge them and index ``.", +"items": { +"enum": [ +"ADVANCED_SITE_SEARCH_DATA_SOURCE_UNSPECIFIED", +"METATAGS", +"PAGEMAP", +"URI_PATTERN_MAPPING", +"SCHEMA_ORG" +], +"enumDescriptions": [ +"Value used when unset.", +"Retrieve value from meta tag.", +"Retrieve value from page map.", +"Retrieve value from the attributes set by SiteSearchEngineService.SetUriPatternDocumentData API.", +"Retrieve value from schema.org data." +], +"type": "string" +}, +"type": "array" +}, +"completableOption": { +"description": "If completable_option is COMPLETABLE_ENABLED, field values are directly used and returned as suggestions for Autocomplete in CompletionService.CompleteQuery. If completable_option is unset, the server behavior defaults to COMPLETABLE_DISABLED for fields that support setting completable options, which are just `string` fields. For those fields that do not support setting completable options, the server will skip completable option setting, and setting completable_option for those fields will throw `INVALID_ARGUMENT` error.", +"enum": [ +"COMPLETABLE_OPTION_UNSPECIFIED", +"COMPLETABLE_ENABLED", +"COMPLETABLE_DISABLED" +], +"enumDescriptions": [ +"Value used when unset.", +"Completable option enabled for a schema field.", +"Completable option disabled for a schema field." +], +"type": "string" +}, +"dynamicFacetableOption": { +"description": "If dynamic_facetable_option is DYNAMIC_FACETABLE_ENABLED, field values are available for dynamic facet. Could only be DYNAMIC_FACETABLE_DISABLED if FieldConfig.indexable_option is INDEXABLE_DISABLED. Otherwise, an `INVALID_ARGUMENT` error will be returned. If dynamic_facetable_option is unset, the server behavior defaults to DYNAMIC_FACETABLE_DISABLED for fields that support setting dynamic facetable options. For those fields that do not support setting dynamic facetable options, such as `object` and `boolean`, the server will skip dynamic facetable option setting, and setting dynamic_facetable_option for those fields will throw `INVALID_ARGUMENT` error.", +"enum": [ +"DYNAMIC_FACETABLE_OPTION_UNSPECIFIED", +"DYNAMIC_FACETABLE_ENABLED", +"DYNAMIC_FACETABLE_DISABLED" +], +"enumDescriptions": [ +"Value used when unset.", +"Dynamic facetable option enabled for a schema field.", +"Dynamic facetable option disabled for a schema field." +], +"type": "string" +}, +"fieldPath": { +"description": "Required. Field path of the schema field. For example: `title`, `description`, `release_info.release_year`.", +"type": "string" +}, +"fieldType": { +"description": "Output only. Raw type of the field.", +"enum": [ +"FIELD_TYPE_UNSPECIFIED", +"OBJECT", +"STRING", +"NUMBER", +"INTEGER", +"BOOLEAN", +"GEOLOCATION", +"DATETIME" +], +"enumDescriptions": [ +"Field type is unspecified.", +"Field value type is Object.", +"Field value type is String.", +"Field value type is Number.", +"Field value type is Integer.", +"Field value type is Boolean.", +"Field value type is Geolocation. Geolocation is expressed as an object with the following keys: * `id`: a string representing the location id * `longitude`: a number representing the longitude coordinate of the location * `latitude`: a number repesenting the latitude coordinate of the location * `address`: a string representing the full address of the location `latitude` and `longitude` must always be provided together. At least one of a) `address` or b) `latitude`-`longitude` pair must be provided.", +"Field value type is Datetime. Datetime can be expressed as either: * a number representing milliseconds-since-the-epoch * a string representing milliseconds-since-the-epoch. e.g. `\"1420070400001\"` * a string representing the [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) date or date and time. e.g. `\"2015-01-01\"` or `\"2015-01-01T12:10:30Z\"`" +], +"readOnly": true, +"type": "string" +}, +"indexableOption": { +"description": "If indexable_option is INDEXABLE_ENABLED, field values are indexed so that it can be filtered or faceted in SearchService.Search. If indexable_option is unset, the server behavior defaults to INDEXABLE_DISABLED for fields that support setting indexable options. For those fields that do not support setting indexable options, such as `object` and `boolean` and key properties, the server will skip indexable_option setting, and setting indexable_option for those fields will throw `INVALID_ARGUMENT` error.", +"enum": [ +"INDEXABLE_OPTION_UNSPECIFIED", +"INDEXABLE_ENABLED", +"INDEXABLE_DISABLED" +], +"enumDescriptions": [ +"Value used when unset.", +"Indexable option enabled for a schema field.", +"Indexable option disabled for a schema field." +], +"type": "string" +}, +"keyPropertyType": { +"description": "Output only. Type of the key property that this field is mapped to. Empty string if this is not annotated as mapped to a key property. Example types are `title`, `description`. Full list is defined by `keyPropertyMapping` in the schema field annotation. If the schema field has a `KeyPropertyMapping` annotation, `indexable_option` and `searchable_option` of this field cannot be modified.", +"readOnly": true, +"type": "string" +}, +"metatagName": { +"description": "Optional. The metatag name found in the HTML page. If user defines this field, the value of this metatag name will be used to extract metatag. If the user does not define this field, the FieldConfig.field_path will be used to extract metatag.", +"type": "string" +}, +"recsFilterableOption": { +"description": "If recs_filterable_option is FILTERABLE_ENABLED, field values are filterable by filter expression in RecommendationService.Recommend. If FILTERABLE_ENABLED but the field type is numerical, field values are not filterable by text queries in RecommendationService.Recommend. Only textual fields are supported. If recs_filterable_option is unset, the default setting is FILTERABLE_DISABLED for fields that support setting filterable options. When a field set to [FILTERABLE_DISABLED] is filtered, a warning is generated and an empty result is returned.", +"enum": [ +"FILTERABLE_OPTION_UNSPECIFIED", +"FILTERABLE_ENABLED", +"FILTERABLE_DISABLED" +], +"enumDescriptions": [ +"Value used when unset.", +"Filterable option enabled for a schema field.", +"Filterable option disabled for a schema field." +], +"type": "string" +}, +"retrievableOption": { +"description": "If retrievable_option is RETRIEVABLE_ENABLED, field values are included in the search results. If retrievable_option is unset, the server behavior defaults to RETRIEVABLE_DISABLED for fields that support setting retrievable options. For those fields that do not support setting retrievable options, such as `object` and `boolean`, the server will skip retrievable option setting, and setting retrievable_option for those fields will throw `INVALID_ARGUMENT` error.", +"enum": [ +"RETRIEVABLE_OPTION_UNSPECIFIED", +"RETRIEVABLE_ENABLED", +"RETRIEVABLE_DISABLED" +], +"enumDescriptions": [ +"Value used when unset.", +"Retrievable option enabled for a schema field.", +"Retrievable option disabled for a schema field." +], +"type": "string" +}, +"schemaOrgPaths": { +"description": "Field paths for indexing custom attribute from schema.org data. More details of schema.org and its defined types can be found at [schema.org](https://schema.org). It is only used on advanced site search schema. Currently only support full path from root. The full path to a field is constructed by concatenating field names, starting from `_root`, with a period `.` as the delimiter. Examples: * Publish date of the root: _root.datePublished * Publish date of the reviews: _root.review.datePublished", +"items": { +"type": "string" +}, +"type": "array" +}, +"searchableOption": { +"description": "If searchable_option is SEARCHABLE_ENABLED, field values are searchable by text queries in SearchService.Search. If SEARCHABLE_ENABLED but field type is numerical, field values will not be searchable by text queries in SearchService.Search, as there are no text values associated to numerical fields. If searchable_option is unset, the server behavior defaults to SEARCHABLE_DISABLED for fields that support setting searchable options. Only `string` fields that have no key property mapping support setting searchable_option. For those fields that do not support setting searchable options, the server will skip searchable option setting, and setting searchable_option for those fields will throw `INVALID_ARGUMENT` error.", +"enum": [ +"SEARCHABLE_OPTION_UNSPECIFIED", +"SEARCHABLE_ENABLED", +"SEARCHABLE_DISABLED" +], +"enumDescriptions": [ +"Value used when unset.", +"Searchable option enabled for a schema field.", +"Searchable option disabled for a schema field." +], +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1alphaGetSessionRequest": { +"description": "Request for GetSession method.", +"id": "GoogleCloudDiscoveryengineV1alphaGetSessionRequest", +"properties": { +"includeAnswerDetails": { +"description": "Optional. If set to true, the full session including all answer details will be returned.", +"type": "boolean" +}, +"name": { +"description": "Required. The resource name of the Session to get. Format: `projects/{project}/locations/{location}/collections/{collection}/dataStores/{data_store_id}/sessions/{session_id}`", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1alphaGetUriPatternDocumentDataResponse": { +"description": "Response message for SiteSearchEngineService.GetUriPatternDocumentData method.", +"id": "GoogleCloudDiscoveryengineV1alphaGetUriPatternDocumentDataResponse", +"properties": { +"documentDataMap": { +"additionalProperties": { +"additionalProperties": { +"description": "Properties of the object.", +"type": "any" +}, +"type": "object" +}, +"description": "Document data keyed by URI pattern. For example: document_data_map = { \"www.url1.com/*\": { \"Categories\": [\"category1\", \"category2\"] }, \"www.url2.com/*\": { \"Categories\": [\"category3\"] } }", +"type": "object" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1alphaIdentityScheduleConfig": { +"description": "The configuration for the identity data synchronization runs.", +"id": "GoogleCloudDiscoveryengineV1alphaIdentityScheduleConfig", +"properties": { +"nextSyncTime": { +"$ref": "GoogleTypeDateTime", +"description": "Optional. The UTC time when the next data sync is expected to start for the Data Connector. Customers are only able to specify the hour and minute to schedule the data sync. This is utilized when the data connector has a refresh interval greater than 1 day." +}, +"refreshInterval": { +"description": "Optional. The refresh interval to sync the Access Control List information for the documents ingested by this connector. If not set, the access control list will be refreshed at the default interval of 30 minutes. The identity refresh interval can be at least 30 minutes and at most 7 days.", +"format": "google-duration", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1alphaIdpConfig": { +"description": "Identity Provider Config.", +"id": "GoogleCloudDiscoveryengineV1alphaIdpConfig", +"properties": { +"externalIdpConfig": { +"$ref": "GoogleCloudDiscoveryengineV1alphaIdpConfigExternalIdpConfig", +"description": "External Identity provider config." +}, +"idpType": { +"description": "Identity provider type configured.", +"enum": [ +"IDP_TYPE_UNSPECIFIED", +"GSUITE", +"THIRD_PARTY" +], +"enumDescriptions": [ +"Default value. ACL search not enabled.", +"Google 1P provider.", +"Third party provider." +], +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1alphaIdpConfigExternalIdpConfig": { +"description": "Third party IDP Config.", +"id": "GoogleCloudDiscoveryengineV1alphaIdpConfigExternalIdpConfig", +"properties": { +"workforcePoolName": { +"description": "Workforce pool name. Example: \"locations/global/workforcePools/pool_id\"", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1alphaImportCompletionSuggestionsMetadata": { +"description": "Metadata related to the progress of the ImportCompletionSuggestions operation. This will be returned by the google.longrunning.Operation.metadata field.", +"id": "GoogleCloudDiscoveryengineV1alphaImportCompletionSuggestionsMetadata", +"properties": { +"createTime": { +"description": "Operation create time.", +"format": "google-datetime", +"type": "string" +}, +"failureCount": { +"description": "Count of CompletionSuggestions that failed to be imported.", +"format": "int64", +"type": "string" +}, +"successCount": { +"description": "Count of CompletionSuggestions successfully imported.", +"format": "int64", +"type": "string" +}, +"updateTime": { +"description": "Operation last update time. If the operation is done, this is also the finish time.", +"format": "google-datetime", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1alphaImportCompletionSuggestionsResponse": { +"description": "Response of the CompletionService.ImportCompletionSuggestions method. If the long running operation is done, this message is returned by the google.longrunning.Operations.response field if the operation is successful.", +"id": "GoogleCloudDiscoveryengineV1alphaImportCompletionSuggestionsResponse", +"properties": { +"errorConfig": { +"$ref": "GoogleCloudDiscoveryengineV1alphaImportErrorConfig", +"description": "The desired location of errors incurred during the Import." +}, +"errorSamples": { +"description": "A sample of errors encountered while processing the request.", +"items": { +"$ref": "GoogleRpcStatus" +}, +"type": "array" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1alphaImportDocumentsMetadata": { +"description": "Metadata related to the progress of the ImportDocuments operation. This is returned by the google.longrunning.Operation.metadata field.", +"id": "GoogleCloudDiscoveryengineV1alphaImportDocumentsMetadata", +"properties": { +"createTime": { +"description": "Operation create time.", +"format": "google-datetime", +"type": "string" +}, +"failureCount": { +"description": "Count of entries that encountered errors while processing.", +"format": "int64", +"type": "string" +}, +"successCount": { +"description": "Count of entries that were processed successfully.", +"format": "int64", +"type": "string" +}, +"totalCount": { +"description": "Total count of entries that were processed.", +"format": "int64", +"type": "string" +}, +"updateTime": { +"description": "Operation last update time. If the operation is done, this is also the finish time.", +"format": "google-datetime", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1alphaImportDocumentsResponse": { +"description": "Response of the ImportDocumentsRequest. If the long running operation is done, then this message is returned by the google.longrunning.Operations.response field if the operation was successful.", +"id": "GoogleCloudDiscoveryengineV1alphaImportDocumentsResponse", +"properties": { +"errorConfig": { +"$ref": "GoogleCloudDiscoveryengineV1alphaImportErrorConfig", +"description": "Echoes the destination for the complete errors in the request if set." +}, +"errorSamples": { +"description": "A sample of errors encountered while processing the request.", +"items": { +"$ref": "GoogleRpcStatus" +}, +"type": "array" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1alphaImportErrorConfig": { +"description": "Configuration of destination for Import related errors.", +"id": "GoogleCloudDiscoveryengineV1alphaImportErrorConfig", +"properties": { +"gcsPrefix": { +"description": "Cloud Storage prefix for import errors. This must be an empty, existing Cloud Storage directory. Import errors are written to sharded files in this directory, one per line, as a JSON-encoded `google.rpc.Status` message.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1alphaImportSampleQueriesMetadata": { +"description": "Metadata related to the progress of the ImportSampleQueries operation. This will be returned by the google.longrunning.Operation.metadata field.", +"id": "GoogleCloudDiscoveryengineV1alphaImportSampleQueriesMetadata", +"properties": { +"createTime": { +"description": "ImportSampleQueries operation create time.", +"format": "google-datetime", +"type": "string" +}, +"failureCount": { +"description": "Count of SampleQuerys that failed to be imported.", +"format": "int64", +"type": "string" +}, +"successCount": { +"description": "Count of SampleQuerys successfully imported.", +"format": "int64", +"type": "string" +}, +"totalCount": { +"description": "Total count of SampleQuerys that were processed.", +"format": "int64", +"type": "string" +}, +"updateTime": { +"description": "ImportSampleQueries operation last update time. If the operation is done, this is also the finish time.", +"format": "google-datetime", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1alphaImportSampleQueriesResponse": { +"description": "Response of the SampleQueryService.ImportSampleQueries method. If the long running operation is done, this message is returned by the google.longrunning.Operations.response field if the operation is successful.", +"id": "GoogleCloudDiscoveryengineV1alphaImportSampleQueriesResponse", +"properties": { +"errorConfig": { +"$ref": "GoogleCloudDiscoveryengineV1alphaImportErrorConfig", +"description": "The desired location of errors incurred during the Import." +}, +"errorSamples": { +"description": "A sample of errors encountered while processing the request.", +"items": { +"$ref": "GoogleRpcStatus" +}, +"type": "array" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1alphaImportSuggestionDenyListEntriesMetadata": { +"description": "Metadata related to the progress of the ImportSuggestionDenyListEntries operation. This is returned by the google.longrunning.Operation.metadata field.", +"id": "GoogleCloudDiscoveryengineV1alphaImportSuggestionDenyListEntriesMetadata", +"properties": { +"createTime": { +"description": "Operation create time.", +"format": "google-datetime", +"type": "string" +}, +"updateTime": { +"description": "Operation last update time. If the operation is done, this is also the finish time.", +"format": "google-datetime", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1alphaImportSuggestionDenyListEntriesResponse": { +"description": "Response message for CompletionService.ImportSuggestionDenyListEntries method.", +"id": "GoogleCloudDiscoveryengineV1alphaImportSuggestionDenyListEntriesResponse", +"properties": { +"errorSamples": { +"description": "A sample of errors encountered while processing the request.", +"items": { +"$ref": "GoogleRpcStatus" +}, +"type": "array" +}, +"failedEntriesCount": { +"description": "Count of deny list entries that failed to be imported.", +"format": "int64", +"type": "string" +}, +"importedEntriesCount": { +"description": "Count of deny list entries successfully imported.", +"format": "int64", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1alphaImportUserEventsMetadata": { +"description": "Metadata related to the progress of the Import operation. This is returned by the google.longrunning.Operation.metadata field.", +"id": "GoogleCloudDiscoveryengineV1alphaImportUserEventsMetadata", +"properties": { +"createTime": { +"description": "Operation create time.", +"format": "google-datetime", +"type": "string" +}, +"failureCount": { +"description": "Count of entries that encountered errors while processing.", +"format": "int64", +"type": "string" +}, +"successCount": { +"description": "Count of entries that were processed successfully.", +"format": "int64", +"type": "string" +}, +"updateTime": { +"description": "Operation last update time. If the operation is done, this is also the finish time.", +"format": "google-datetime", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1alphaImportUserEventsResponse": { +"description": "Response of the ImportUserEventsRequest. If the long running operation was successful, then this message is returned by the google.longrunning.Operations.response field if the operation was successful.", +"id": "GoogleCloudDiscoveryengineV1alphaImportUserEventsResponse", +"properties": { +"errorConfig": { +"$ref": "GoogleCloudDiscoveryengineV1alphaImportErrorConfig", +"description": "Echoes the destination for the complete errors if this field was set in the request." +}, +"errorSamples": { +"description": "A sample of errors encountered while processing the request.", +"items": { +"$ref": "GoogleRpcStatus" +}, +"type": "array" +}, +"joinedEventsCount": { +"description": "Count of user events imported with complete existing Documents.", +"format": "int64", +"type": "string" +}, +"unjoinedEventsCount": { +"description": "Count of user events imported, but with Document information not found in the existing Branch.", +"format": "int64", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1alphaInterval": { +"description": "A floating point interval.", +"id": "GoogleCloudDiscoveryengineV1alphaInterval", +"properties": { +"exclusiveMaximum": { +"description": "Exclusive upper bound.", +"format": "double", +"type": "number" +}, +"exclusiveMinimum": { +"description": "Exclusive lower bound.", +"format": "double", +"type": "number" +}, +"maximum": { +"description": "Inclusive upper bound.", +"format": "double", +"type": "number" +}, +"minimum": { +"description": "Inclusive lower bound.", +"format": "double", +"type": "number" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1alphaLanguageInfo": { +"description": "Language info for DataStore.", +"id": "GoogleCloudDiscoveryengineV1alphaLanguageInfo", +"properties": { +"language": { +"description": "Output only. Language part of normalized_language_code. E.g.: `en-US` -> `en`, `zh-Hans-HK` -> `zh`, `en` -> `en`.", +"readOnly": true, +"type": "string" +}, +"languageCode": { +"description": "The language code for the DataStore.", +"type": "string" +}, +"normalizedLanguageCode": { +"description": "Output only. This is the normalized form of language_code. E.g.: language_code of `en-GB`, `en_GB`, `en-UK` or `en-gb` will have normalized_language_code of `en-GB`.", +"readOnly": true, +"type": "string" +}, +"region": { +"description": "Output only. Region part of normalized_language_code, if present. E.g.: `en-US` -> `US`, `zh-Hans-HK` -> `HK`, `en` -> ``.", +"readOnly": true, +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1alphaListSessionsRequest": { +"description": "Request for ListSessions method.", +"id": "GoogleCloudDiscoveryengineV1alphaListSessionsRequest", +"properties": { +"filter": { +"description": "A filter to apply on the list results. The supported features are: user_pseudo_id, state. Example: \"user_pseudo_id = some_id\"", +"type": "string" +}, +"orderBy": { +"description": "A comma-separated list of fields to order by, sorted in ascending order. Use \"desc\" after a field name for descending. Supported fields: * `update_time` * `create_time` * `session_name` * `is_pinned` Example: * \"update_time desc\" * \"create_time\" * \"is_pinned desc,update_time desc\": list sessions by is_pinned first, then by update_time.", +"type": "string" +}, +"pageSize": { +"description": "Maximum number of results to return. If unspecified, defaults to 50. Max allowed value is 1000.", +"format": "int32", +"type": "integer" +}, +"pageToken": { +"description": "A page token, received from a previous `ListSessions` call. Provide this to retrieve the subsequent page.", +"type": "string" +}, +"parent": { +"description": "Required. The data store resource name. Format: `projects/{project}/locations/{location}/collections/{collection}/dataStores/{data_store_id}`", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1alphaListSessionsResponse": { +"description": "Response for ListSessions method.", +"id": "GoogleCloudDiscoveryengineV1alphaListSessionsResponse", +"properties": { +"nextPageToken": { +"description": "Pagination token, if not returned indicates the last page.", +"type": "string" +}, +"sessions": { +"description": "All the Sessions for a given data store.", +"items": { +"$ref": "GoogleCloudDiscoveryengineV1alphaSession" +}, +"type": "array" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1alphaNaturalLanguageQueryUnderstandingConfig": { +"description": "Configuration for Natural Language Query Understanding.", +"id": "GoogleCloudDiscoveryengineV1alphaNaturalLanguageQueryUnderstandingConfig", +"properties": { +"mode": { +"description": "Mode of Natural Language Query Understanding. If this field is unset, the behavior defaults to NaturalLanguageQueryUnderstandingConfig.Mode.DISABLED.", +"enum": [ +"MODE_UNSPECIFIED", +"DISABLED", +"ENABLED" +], +"enumDescriptions": [ +"Default value.", +"Natural Language Query Understanding is disabled.", +"Natural Language Query Understanding is enabled." +], +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1alphaObtainCrawlRateResponse": { +"description": "Response message for CrawlRateManagementService.ObtainCrawlRate method. The response contains organcic or dedicated crawl rate time series data for monitoring, depending on whether dedicated crawl rate is set.", +"id": "GoogleCloudDiscoveryengineV1alphaObtainCrawlRateResponse", +"properties": { +"dedicatedCrawlRateTimeSeries": { +"$ref": "GoogleCloudDiscoveryengineV1alphaDedicatedCrawlRateTimeSeries", +"description": "The historical dedicated crawl rate timeseries data, used for monitoring." +}, +"error": { +"$ref": "GoogleRpcStatus", +"description": "Errors from service when handling the request." +}, +"organicCrawlRateTimeSeries": { +"$ref": "GoogleCloudDiscoveryengineV1alphaOrganicCrawlRateTimeSeries", +"description": "The historical organic crawl rate timeseries data, used for monitoring." +}, +"state": { +"description": "Output only. The state of the response.", +"enum": [ +"STATE_UNSPECIFIED", +"SUCCEEDED", +"FAILED" +], +"enumDescriptions": [ +"The state is unspecified.", +"The state is successful.", +"The state is failed." +], +"readOnly": true, +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1alphaOrganicCrawlRateTimeSeries": { +"description": "The historical organic crawl rate timeseries data, used for monitoring. Organic crawl is auto-determined by Google to crawl the user's website when dedicate crawl is not set. Crawl rate is the QPS of crawl request Google sends to the user's website.", +"id": "GoogleCloudDiscoveryengineV1alphaOrganicCrawlRateTimeSeries", +"properties": { +"googleOrganicCrawlRate": { +"$ref": "GoogleCloudDiscoveryengineV1alphaCrawlRateTimeSeries", +"description": "Google's organic crawl rate time series, which is the sum of all googlebots' crawl rate. Please refer to https://developers.google.com/search/docs/crawling-indexing/overview-google-crawlers for more details about googlebots." +}, +"vertexAiOrganicCrawlRate": { +"$ref": "GoogleCloudDiscoveryengineV1alphaCrawlRateTimeSeries", +"description": "Vertex AI's organic crawl rate time series, which is the crawl rate of Google-CloudVertexBot when dedicate crawl is not set. Please refer to https://developers.google.com/search/docs/crawling-indexing/google-common-crawlers#google-cloudvertexbot for more details about Google-CloudVertexBot." +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1alphaProject": { +"description": "Metadata and configurations for a Google Cloud project in the service.", +"id": "GoogleCloudDiscoveryengineV1alphaProject", +"properties": { +"createTime": { +"description": "Output only. The timestamp when this project is created.", +"format": "google-datetime", +"readOnly": true, +"type": "string" +}, +"name": { +"description": "Output only. Full resource name of the project, for example `projects/{project}`. Note that when making requests, project number and project id are both acceptable, but the server will always respond in project number.", +"readOnly": true, +"type": "string" +}, +"provisionCompletionTime": { +"description": "Output only. The timestamp when this project is successfully provisioned. Empty value means this project is still provisioning and is not ready for use.", +"format": "google-datetime", +"readOnly": true, +"type": "string" +}, +"serviceTermsMap": { +"additionalProperties": { +"$ref": "GoogleCloudDiscoveryengineV1alphaProjectServiceTerms" +}, +"description": "Output only. A map of terms of services. The key is the `id` of ServiceTerms.", +"readOnly": true, +"type": "object" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1alphaProjectServiceTerms": { +"description": "Metadata about the terms of service.", +"id": "GoogleCloudDiscoveryengineV1alphaProjectServiceTerms", +"properties": { +"acceptTime": { +"description": "The last time when the project agreed to the terms of service.", +"format": "google-datetime", +"type": "string" +}, +"declineTime": { +"description": "The last time when the project declined or revoked the agreement to terms of service.", +"format": "google-datetime", +"type": "string" +}, +"id": { +"description": "The unique identifier of this terms of service. Available terms: * `GA_DATA_USE_TERMS`: [Terms for data use](https://cloud.google.com/retail/data-use-terms). When using this as `id`, the acceptable version to provide is `2022-11-23`.", +"type": "string" +}, +"state": { +"description": "Whether the project has accepted/rejected the service terms or it is still pending.", +"enum": [ +"STATE_UNSPECIFIED", +"TERMS_ACCEPTED", +"TERMS_PENDING", +"TERMS_DECLINED" +], +"enumDescriptions": [ +"The default value of the enum. This value is not actually used.", +"The project has given consent to the terms of service.", +"The project is pending to review and accept the terms of service.", +"The project has declined or revoked the agreement to terms of service." +], +"type": "string" +}, +"version": { +"description": "The version string of the terms of service. For acceptable values, see the comments for id above.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1alphaProvisionProjectMetadata": { +"description": "Metadata associated with a project provision operation.", +"id": "GoogleCloudDiscoveryengineV1alphaProvisionProjectMetadata", +"properties": {}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1alphaPurgeCompletionSuggestionsMetadata": { +"description": "Metadata related to the progress of the PurgeCompletionSuggestions operation. This is returned by the google.longrunning.Operation.metadata field.", +"id": "GoogleCloudDiscoveryengineV1alphaPurgeCompletionSuggestionsMetadata", +"properties": { +"createTime": { +"description": "Operation create time.", +"format": "google-datetime", +"type": "string" +}, +"updateTime": { +"description": "Operation last update time. If the operation is done, this is also the finish time.", +"format": "google-datetime", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1alphaPurgeCompletionSuggestionsResponse": { +"description": "Response message for CompletionService.PurgeCompletionSuggestions method.", +"id": "GoogleCloudDiscoveryengineV1alphaPurgeCompletionSuggestionsResponse", +"properties": { +"errorSamples": { +"description": "A sample of errors encountered while processing the request.", +"items": { +"$ref": "GoogleRpcStatus" +}, +"type": "array" +}, +"purgeSucceeded": { +"description": "Whether the completion suggestions were successfully purged.", +"type": "boolean" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1alphaPurgeDocumentsMetadata": { +"description": "Metadata related to the progress of the PurgeDocuments operation. This will be returned by the google.longrunning.Operation.metadata field.", +"id": "GoogleCloudDiscoveryengineV1alphaPurgeDocumentsMetadata", +"properties": { +"createTime": { +"description": "Operation create time.", +"format": "google-datetime", +"type": "string" +}, +"failureCount": { +"description": "Count of entries that encountered errors while processing.", +"format": "int64", +"type": "string" +}, +"ignoredCount": { +"description": "Count of entries that were ignored as entries were not found.", +"format": "int64", +"type": "string" +}, +"successCount": { +"description": "Count of entries that were deleted successfully.", +"format": "int64", +"type": "string" +}, +"updateTime": { +"description": "Operation last update time. If the operation is done, this is also the finish time.", +"format": "google-datetime", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1alphaPurgeDocumentsResponse": { +"description": "Response message for DocumentService.PurgeDocuments method. If the long running operation is successfully done, then this message is returned by the google.longrunning.Operations.response field.", +"id": "GoogleCloudDiscoveryengineV1alphaPurgeDocumentsResponse", +"properties": { +"purgeCount": { +"description": "The total count of documents purged as a result of the operation.", +"format": "int64", +"type": "string" +}, +"purgeSample": { +"description": "A sample of document names that will be deleted. Only populated if `force` is set to false. A max of 100 names will be returned and the names are chosen at random.", +"items": { +"type": "string" +}, +"type": "array" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1alphaPurgeSuggestionDenyListEntriesMetadata": { +"description": "Metadata related to the progress of the PurgeSuggestionDenyListEntries operation. This is returned by the google.longrunning.Operation.metadata field.", +"id": "GoogleCloudDiscoveryengineV1alphaPurgeSuggestionDenyListEntriesMetadata", +"properties": { +"createTime": { +"description": "Operation create time.", +"format": "google-datetime", +"type": "string" +}, +"updateTime": { +"description": "Operation last update time. If the operation is done, this is also the finish time.", +"format": "google-datetime", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1alphaPurgeSuggestionDenyListEntriesResponse": { +"description": "Response message for CompletionService.PurgeSuggestionDenyListEntries method.", +"id": "GoogleCloudDiscoveryengineV1alphaPurgeSuggestionDenyListEntriesResponse", +"properties": { +"errorSamples": { +"description": "A sample of errors encountered while processing the request.", +"items": { +"$ref": "GoogleRpcStatus" +}, +"type": "array" +}, +"purgeCount": { +"description": "Number of suggestion deny list entries purged.", +"format": "int64", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1alphaPurgeUserEventsMetadata": { +"description": "Metadata related to the progress of the PurgeUserEvents operation. This will be returned by the google.longrunning.Operation.metadata field.", +"id": "GoogleCloudDiscoveryengineV1alphaPurgeUserEventsMetadata", +"properties": { +"createTime": { +"description": "Operation create time.", +"format": "google-datetime", +"type": "string" +}, +"failureCount": { +"description": "Count of entries that encountered errors while processing.", +"format": "int64", +"type": "string" +}, +"successCount": { +"description": "Count of entries that were deleted successfully.", +"format": "int64", +"type": "string" +}, +"updateTime": { +"description": "Operation last update time. If the operation is done, this is also the finish time.", +"format": "google-datetime", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1alphaPurgeUserEventsResponse": { +"description": "Response of the PurgeUserEventsRequest. If the long running operation is successfully done, then this message is returned by the google.longrunning.Operations.response field.", +"id": "GoogleCloudDiscoveryengineV1alphaPurgeUserEventsResponse", +"properties": { +"purgeCount": { +"description": "The total count of events purged as a result of the operation.", +"format": "int64", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1alphaQualityMetrics": { +"description": "Describes the metrics produced by the evaluation.", +"id": "GoogleCloudDiscoveryengineV1alphaQualityMetrics", +"properties": { +"docNdcg": { +"$ref": "GoogleCloudDiscoveryengineV1alphaQualityMetricsTopkMetrics", +"description": "Normalized discounted cumulative gain (NDCG) per document, at various top-k cutoff levels. NDCG measures the ranking quality, giving higher relevance to top results. Example (top-3): Suppose SampleQuery with three retrieved documents (D1, D2, D3) and binary relevance judgements (1 for relevant, 0 for not relevant): Retrieved: [D3 (0), D1 (1), D2 (1)] Ideal: [D1 (1), D2 (1), D3 (0)] Calculate NDCG@3 for each SampleQuery: * DCG@3: 0/log2(1+1) + 1/log2(2+1) + 1/log2(3+1) = 1.13 * Ideal DCG@3: 1/log2(1+1) + 1/log2(2+1) + 0/log2(3+1) = 1.63 * NDCG@3: 1.13/1.63 = 0.693" +}, +"docPrecision": { +"$ref": "GoogleCloudDiscoveryengineV1alphaQualityMetricsTopkMetrics", +"description": "Precision per document, at various top-k cutoff levels. Precision is the fraction of retrieved documents that are relevant. Example (top-5): * For a single SampleQuery, If 4 out of 5 retrieved documents in the top-5 are relevant, precision@5 = 4/5 = 0.8" +}, +"docRecall": { +"$ref": "GoogleCloudDiscoveryengineV1alphaQualityMetricsTopkMetrics", +"description": "Recall per document, at various top-k cutoff levels. Recall is the fraction of relevant documents retrieved out of all relevant documents. Example (top-5): * For a single SampleQuery, If 3 out of 5 relevant documents are retrieved in the top-5, recall@5 = 3/5 = 0.6" +}, +"pageNdcg": { +"$ref": "GoogleCloudDiscoveryengineV1alphaQualityMetricsTopkMetrics", +"description": "Normalized discounted cumulative gain (NDCG) per page, at various top-k cutoff levels. NDCG measures the ranking quality, giving higher relevance to top results. Example (top-3): Suppose SampleQuery with three retrieved pages (P1, P2, P3) and binary relevance judgements (1 for relevant, 0 for not relevant): Retrieved: [P3 (0), P1 (1), P2 (1)] Ideal: [P1 (1), P2 (1), P3 (0)] Calculate NDCG@3 for SampleQuery: * DCG@3: 0/log2(1+1) + 1/log2(2+1) + 1/log2(3+1) = 1.13 * Ideal DCG@3: 1/log2(1+1) + 1/log2(2+1) + 0/log2(3+1) = 1.63 * NDCG@3: 1.13/1.63 = 0.693" +}, +"pageRecall": { +"$ref": "GoogleCloudDiscoveryengineV1alphaQualityMetricsTopkMetrics", +"description": "Recall per page, at various top-k cutoff levels. Recall is the fraction of relevant pages retrieved out of all relevant pages. Example (top-5): * For a single SampleQuery, if 3 out of 5 relevant pages are retrieved in the top-5, recall@5 = 3/5 = 0.6" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1alphaQualityMetricsTopkMetrics": { +"description": "Stores the metric values at specific top-k levels.", +"id": "GoogleCloudDiscoveryengineV1alphaQualityMetricsTopkMetrics", +"properties": { +"top1": { +"description": "The top-1 value.", +"format": "double", +"type": "number" +}, +"top10": { +"description": "The top-10 value.", +"format": "double", +"type": "number" +}, +"top3": { +"description": "The top-3 value.", +"format": "double", +"type": "number" +}, +"top5": { +"description": "The top-5 value.", +"format": "double", +"type": "number" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1alphaQuery": { +"description": "Defines a user inputed query.", +"id": "GoogleCloudDiscoveryengineV1alphaQuery", +"properties": { +"queryId": { +"description": "Unique Id for the query.", +"type": "string" +}, +"text": { +"description": "Plain text.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1alphaRecrawlUrisMetadata": { +"description": "Metadata related to the progress of the SiteSearchEngineService.RecrawlUris operation. This will be returned by the google.longrunning.Operation.metadata field.", +"id": "GoogleCloudDiscoveryengineV1alphaRecrawlUrisMetadata", +"properties": { +"createTime": { +"description": "Operation create time.", +"format": "google-datetime", +"type": "string" +}, +"invalidUris": { +"description": "Unique URIs in the request that have invalid format. Sample limited to 1000.", +"items": { +"type": "string" +}, +"type": "array" +}, +"invalidUrisCount": { +"description": "Total number of unique URIs in the request that have invalid format.", +"format": "int32", +"type": "integer" +}, +"pendingCount": { +"description": "Total number of URIs that have yet to be crawled.", +"format": "int32", +"type": "integer" +}, +"quotaExceededCount": { +"description": "Total number of URIs that were rejected due to insufficient indexing resources.", +"format": "int32", +"type": "integer" +}, +"successCount": { +"description": "Total number of URIs that have been crawled so far.", +"format": "int32", +"type": "integer" +}, +"updateTime": { +"description": "Operation last update time. If the operation is done, this is also the finish time.", +"format": "google-datetime", +"type": "string" +}, +"urisNotMatchingTargetSites": { +"description": "Unique URIs in the request that don't match any TargetSite in the DataStore, only match TargetSites that haven't been fully indexed, or match a TargetSite with type EXCLUDE. Sample limited to 1000.", +"items": { +"type": "string" +}, +"type": "array" +}, +"urisNotMatchingTargetSitesCount": { +"description": "Total number of URIs that don't match any TargetSites.", +"format": "int32", +"type": "integer" +}, +"validUrisCount": { +"description": "Total number of unique URIs in the request that are not in invalid_uris.", +"format": "int32", +"type": "integer" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1alphaRecrawlUrisResponse": { +"description": "Response message for SiteSearchEngineService.RecrawlUris method.", +"id": "GoogleCloudDiscoveryengineV1alphaRecrawlUrisResponse", +"properties": { +"failedUris": { +"description": "URIs that were not crawled before the LRO terminated.", +"items": { +"type": "string" +}, +"type": "array" +}, +"failureSamples": { +"description": "Details for a sample of up to 10 `failed_uris`.", +"items": { +"$ref": "GoogleCloudDiscoveryengineV1alphaRecrawlUrisResponseFailureInfo" +}, +"type": "array" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1alphaRecrawlUrisResponseFailureInfo": { +"description": "Details about why a particular URI failed to be crawled. Each FailureInfo contains one FailureReason per CorpusType.", +"id": "GoogleCloudDiscoveryengineV1alphaRecrawlUrisResponseFailureInfo", +"properties": { +"failureReasons": { +"description": "List of failure reasons by corpus type (e.g. desktop, mobile).", +"items": { +"$ref": "GoogleCloudDiscoveryengineV1alphaRecrawlUrisResponseFailureInfoFailureReason" +}, +"type": "array" +}, +"uri": { +"description": "URI that failed to be crawled.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1alphaRecrawlUrisResponseFailureInfoFailureReason": { +"description": "Details about why crawling failed for a particular CorpusType, e.g., DESKTOP and MOBILE crawling may fail for different reasons.", +"id": "GoogleCloudDiscoveryengineV1alphaRecrawlUrisResponseFailureInfoFailureReason", +"properties": { +"corpusType": { +"description": "DESKTOP, MOBILE, or CORPUS_TYPE_UNSPECIFIED.", +"enum": [ +"CORPUS_TYPE_UNSPECIFIED", +"DESKTOP", +"MOBILE" +], +"enumDescriptions": [ +"Default value.", +"Denotes a crawling attempt for the desktop version of a page.", +"Denotes a crawling attempt for the mobile version of a page." +], +"type": "string" +}, +"errorMessage": { +"description": "Reason why the URI was not crawled.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1alphaRemoveDedicatedCrawlRateMetadata": { +"description": "Metadata related to the progress of the CrawlRateManagementService.RemoveDedicatedCrawlRate operation. This will be returned by the google.longrunning.Operation.metadata field.", +"id": "GoogleCloudDiscoveryengineV1alphaRemoveDedicatedCrawlRateMetadata", +"properties": { +"createTime": { +"description": "Operation create time.", +"format": "google-datetime", +"type": "string" +}, +"updateTime": { +"description": "Operation last update time. If the operation is done, this is also the finish time.", +"format": "google-datetime", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1alphaRemoveDedicatedCrawlRateResponse": { +"description": "Response message for CrawlRateManagementService.RemoveDedicatedCrawlRate method. It simply returns the state of the response, and an error message if the state is FAILED.", +"id": "GoogleCloudDiscoveryengineV1alphaRemoveDedicatedCrawlRateResponse", +"properties": { +"error": { +"$ref": "GoogleRpcStatus", +"description": "Errors from service when handling the request." +}, +"state": { +"description": "Output only. The state of the response.", +"enum": [ +"STATE_UNSPECIFIED", +"SUCCEEDED", +"FAILED" +], +"enumDescriptions": [ +"The state is unspecified.", +"The state is successful.", +"The state is failed." +], +"readOnly": true, +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1alphaSafetyRating": { +"description": "Safety rating corresponding to the generated content.", +"id": "GoogleCloudDiscoveryengineV1alphaSafetyRating", +"properties": { +"blocked": { +"description": "Output only. Indicates whether the content was filtered out because of this rating.", +"readOnly": true, +"type": "boolean" +}, +"category": { +"description": "Output only. Harm category.", +"enum": [ +"HARM_CATEGORY_UNSPECIFIED", +"HARM_CATEGORY_HATE_SPEECH", +"HARM_CATEGORY_DANGEROUS_CONTENT", +"HARM_CATEGORY_HARASSMENT", +"HARM_CATEGORY_SEXUALLY_EXPLICIT", +"HARM_CATEGORY_CIVIC_INTEGRITY" +], +"enumDescriptions": [ +"The harm category is unspecified.", +"The harm category is hate speech.", +"The harm category is dangerous content.", +"The harm category is harassment.", +"The harm category is sexually explicit content.", +"The harm category is civic integrity." +], +"readOnly": true, +"type": "string" +}, +"probability": { +"description": "Output only. Harm probability levels in the content.", +"enum": [ +"HARM_PROBABILITY_UNSPECIFIED", +"NEGLIGIBLE", +"LOW", +"MEDIUM", +"HIGH" +], +"enumDescriptions": [ +"Harm probability unspecified.", +"Negligible level of harm.", +"Low level of harm.", +"Medium level of harm.", +"High level of harm." +], +"readOnly": true, +"type": "string" +}, +"probabilityScore": { +"description": "Output only. Harm probability score.", +"format": "float", +"readOnly": true, +"type": "number" +}, +"severity": { +"description": "Output only. Harm severity levels in the content.", +"enum": [ +"HARM_SEVERITY_UNSPECIFIED", +"HARM_SEVERITY_NEGLIGIBLE", +"HARM_SEVERITY_LOW", +"HARM_SEVERITY_MEDIUM", +"HARM_SEVERITY_HIGH" +], +"enumDescriptions": [ +"Harm severity unspecified.", +"Negligible level of harm severity.", +"Low level of harm severity.", +"Medium level of harm severity.", +"High level of harm severity." +], +"readOnly": true, +"type": "string" +}, +"severityScore": { +"description": "Output only. Harm severity score.", +"format": "float", +"readOnly": true, +"type": "number" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1alphaSchema": { +"description": "Defines the structure and layout of a type of document data.", +"id": "GoogleCloudDiscoveryengineV1alphaSchema", +"properties": { +"fieldConfigs": { +"description": "Output only. Configurations for fields of the schema.", +"items": { +"$ref": "GoogleCloudDiscoveryengineV1alphaFieldConfig" +}, +"readOnly": true, +"type": "array" +}, +"jsonSchema": { +"description": "The JSON representation of the schema.", +"type": "string" +}, +"name": { +"description": "Immutable. The full resource name of the schema, in the format of `projects/{project}/locations/{location}/collections/{collection}/dataStores/{data_store}/schemas/{schema}`. This field must be a UTF-8 encoded string with a length limit of 1024 characters.", +"type": "string" +}, +"structSchema": { +"additionalProperties": { +"description": "Properties of the object.", +"type": "any" +}, +"description": "The structured representation of the schema.", +"type": "object" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1alphaSearchLinkPromotion": { +"description": "Promotion proto includes uri and other helping information to display the promotion.", +"id": "GoogleCloudDiscoveryengineV1alphaSearchLinkPromotion", +"properties": { +"description": { +"description": "Optional. The Promotion description. Maximum length: 200 characters.", +"type": "string" +}, +"enabled": { +"description": "Optional. The enabled promotion will be returned for any serving configs associated with the parent of the control this promotion is attached to. This flag is used for basic site search only.", +"type": "boolean" +}, +"imageUri": { +"description": "Optional. The promotion thumbnail image url.", +"type": "string" +}, +"title": { +"description": "Required. The title of the promotion. Maximum length: 160 characters.", +"type": "string" +}, +"uri": { +"description": "Required. The URL for the page the user wants to promote.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1alphaSearchRequest": { +"description": "Request message for SearchService.Search method.", +"id": "GoogleCloudDiscoveryengineV1alphaSearchRequest", +"properties": { +"boostSpec": { +"$ref": "GoogleCloudDiscoveryengineV1alphaSearchRequestBoostSpec", +"description": "Boost specification to boost certain documents. For more information on boosting, see [Boosting](https://cloud.google.com/generative-ai-app-builder/docs/boost-search-results)" +}, +"branch": { +"description": "The branch resource name, such as `projects/*/locations/global/collections/default_collection/dataStores/default_data_store/branches/0`. Use `default_branch` as the branch ID or leave this field empty, to search documents under the default branch.", +"type": "string" +}, +"canonicalFilter": { +"description": "The default filter that is applied when a user performs a search without checking any filters on the search page. The filter applied to every search request when quality improvement such as query expansion is needed. In the case a query does not have a sufficient amount of results this filter will be used to determine whether or not to enable the query expansion flow. The original filter will still be used for the query expanded search. This field is strongly recommended to achieve high search quality. For more information about filter syntax, see SearchRequest.filter.", +"type": "string" +}, +"contentSearchSpec": { +"$ref": "GoogleCloudDiscoveryengineV1alphaSearchRequestContentSearchSpec", +"description": "A specification for configuring the behavior of content search." +}, +"customFineTuningSpec": { +"$ref": "GoogleCloudDiscoveryengineV1alphaCustomFineTuningSpec", +"description": "Custom fine tuning configs. If set, it has higher priority than the configs set in ServingConfig.custom_fine_tuning_spec." +}, +"dataStoreSpecs": { +"description": "Specs defining DataStores to filter on in a search call and configurations for those data stores. This is only considered for Engines with multiple data stores. For engines with a single data store, the specs directly under SearchRequest should be used.", +"items": { +"$ref": "GoogleCloudDiscoveryengineV1alphaSearchRequestDataStoreSpec" +}, +"type": "array" +}, +"embeddingSpec": { +"$ref": "GoogleCloudDiscoveryengineV1alphaSearchRequestEmbeddingSpec", +"description": "Uses the provided embedding to do additional semantic document retrieval. The retrieval is based on the dot product of SearchRequest.EmbeddingSpec.EmbeddingVector.vector and the document embedding that is provided in SearchRequest.EmbeddingSpec.EmbeddingVector.field_path. If SearchRequest.EmbeddingSpec.EmbeddingVector.field_path is not provided, it will use ServingConfig.EmbeddingConfig.field_path." +}, +"facetSpecs": { +"description": "Facet specifications for faceted search. If empty, no facets are returned. A maximum of 100 values are allowed. Otherwise, an `INVALID_ARGUMENT` error is returned.", +"items": { +"$ref": "GoogleCloudDiscoveryengineV1alphaSearchRequestFacetSpec" +}, +"type": "array" +}, +"filter": { +"description": "The filter syntax consists of an expression language for constructing a predicate from one or more fields of the documents being filtered. Filter expression is case-sensitive. If this field is unrecognizable, an `INVALID_ARGUMENT` is returned. Filtering in Vertex AI Search is done by mapping the LHS filter key to a key property defined in the Vertex AI Search backend -- this mapping is defined by the customer in their schema. For example a media customer might have a field 'name' in their schema. In this case the filter would look like this: filter --> name:'ANY(\"king kong\")' For more information about filtering including syntax and filter operators, see [Filter](https://cloud.google.com/generative-ai-app-builder/docs/filter-search-metadata)", +"type": "string" +}, +"imageQuery": { +"$ref": "GoogleCloudDiscoveryengineV1alphaSearchRequestImageQuery", +"description": "Raw image query." +}, +"languageCode": { +"description": "The BCP-47 language code, such as \"en-US\" or \"sr-Latn\". For more information, see [Standard fields](https://cloud.google.com/apis/design/standard_fields). This field helps to better interpret the query. If a value isn't specified, the query language code is automatically detected, which may not be accurate.", +"type": "string" +}, +"naturalLanguageQueryUnderstandingSpec": { +"$ref": "GoogleCloudDiscoveryengineV1alphaSearchRequestNaturalLanguageQueryUnderstandingSpec", +"description": "If `naturalLanguageQueryUnderstandingSpec` is not specified, no additional natural language query understanding will be done." +}, +"offset": { +"description": "A 0-indexed integer that specifies the current offset (that is, starting result location, amongst the Documents deemed by the API as relevant) in search results. This field is only considered if page_token is unset. If this field is negative, an `INVALID_ARGUMENT` is returned.", +"format": "int32", +"type": "integer" +}, +"oneBoxPageSize": { +"description": "The maximum number of results to return for OneBox. This applies to each OneBox type individually. Default number is 10.", +"format": "int32", +"type": "integer" +}, +"orderBy": { +"description": "The order in which documents are returned. Documents can be ordered by a field in an Document object. Leave it unset if ordered by relevance. `order_by` expression is case-sensitive. For more information on ordering the website search results, see [Order web search results](https://cloud.google.com/generative-ai-app-builder/docs/order-web-search-results). For more information on ordering the healthcare search results, see [Order healthcare search results](https://cloud.google.com/generative-ai-app-builder/docs/order-hc-results). If this field is unrecognizable, an `INVALID_ARGUMENT` is returned.", +"type": "string" +}, +"pageSize": { +"description": "Maximum number of Documents to return. The maximum allowed value depends on the data type. Values above the maximum value are coerced to the maximum value. * Websites with basic indexing: Default `10`, Maximum `25`. * Websites with advanced indexing: Default `25`, Maximum `50`. * Other: Default `50`, Maximum `100`. If this field is negative, an `INVALID_ARGUMENT` is returned.", +"format": "int32", +"type": "integer" +}, +"pageToken": { +"description": "A page token received from a previous SearchService.Search call. Provide this to retrieve the subsequent page. When paginating, all other parameters provided to SearchService.Search must match the call that provided the page token. Otherwise, an `INVALID_ARGUMENT` error is returned.", +"type": "string" +}, +"params": { +"additionalProperties": { +"type": "any" +}, +"description": "Additional search parameters. For public website search only, supported values are: * `user_country_code`: string. Default empty. If set to non-empty, results are restricted or boosted based on the location provided. For example, `user_country_code: \"au\"` For available codes see [Country Codes](https://developers.google.com/custom-search/docs/json_api_reference#countryCodes) * `search_type`: double. Default empty. Enables non-webpage searching depending on the value. The only valid non-default value is 1, which enables image searching. For example, `search_type: 1`", +"type": "object" +}, +"personalizationSpec": { +"$ref": "GoogleCloudDiscoveryengineV1alphaSearchRequestPersonalizationSpec", +"description": "The specification for personalization. Notice that if both ServingConfig.personalization_spec and SearchRequest.personalization_spec are set, SearchRequest.personalization_spec overrides ServingConfig.personalization_spec." +}, +"query": { +"description": "Raw search query.", +"type": "string" +}, +"queryExpansionSpec": { +"$ref": "GoogleCloudDiscoveryengineV1alphaSearchRequestQueryExpansionSpec", +"description": "The query expansion specification that specifies the conditions under which query expansion occurs." +}, +"rankingExpression": { +"description": "The ranking expression controls the customized ranking on retrieval documents. This overrides ServingConfig.ranking_expression. The ranking expression is a single function or multiple functions that are joined by \"+\". * ranking_expression = function, { \" + \", function }; Supported functions: * double * relevance_score * double * dotProduct(embedding_field_path) Function variables: * `relevance_score`: pre-defined keywords, used for measure relevance between query and document. * `embedding_field_path`: the document embedding field used with query embedding vector. * `dotProduct`: embedding function between embedding_field_path and query embedding vector. Example ranking expression: If document has an embedding field doc_embedding, the ranking expression could be `0.5 * relevance_score + 0.3 * dotProduct(doc_embedding)`.", +"type": "string" +}, +"regionCode": { +"description": "The Unicode country/region code (CLDR) of a location, such as \"US\" and \"419\". For more information, see [Standard fields](https://cloud.google.com/apis/design/standard_fields). If set, then results will be boosted based on the region_code provided.", +"type": "string" +}, +"relevanceThreshold": { +"description": "The relevance threshold of the search results. Default to Google defined threshold, leveraging a balance of precision and recall to deliver both highly accurate results and comprehensive coverage of relevant information.", +"enum": [ +"RELEVANCE_THRESHOLD_UNSPECIFIED", +"LOWEST", +"LOW", +"MEDIUM", +"HIGH" +], +"enumDescriptions": [ +"Default value. In this case, server behavior defaults to Google defined threshold.", +"Lowest relevance threshold.", +"Low relevance threshold.", +"Medium relevance threshold.", +"High relevance threshold." +], +"type": "string" +}, +"safeSearch": { +"description": "Whether to turn on safe search. This is only supported for website search.", +"type": "boolean" +}, +"searchAsYouTypeSpec": { +"$ref": "GoogleCloudDiscoveryengineV1alphaSearchRequestSearchAsYouTypeSpec", +"description": "Search as you type configuration. Only supported for the IndustryVertical.MEDIA vertical." +}, +"servingConfig": { +"description": "Required. The resource name of the Search serving config, such as `projects/*/locations/global/collections/default_collection/engines/*/servingConfigs/default_serving_config`, or `projects/*/locations/global/collections/default_collection/dataStores/default_data_store/servingConfigs/default_serving_config`. This field is used to identify the serving configuration name, set of models used to make the search.", +"type": "string" +}, +"session": { +"description": "The session resource name. Optional. Session allows users to do multi-turn /search API calls or coordination between /search API calls and /answer API calls. Example #1 (multi-turn /search API calls): 1. Call /search API with the auto-session mode (see below). 2. Call /search API with the session ID generated in the first call. Here, the previous search query gets considered in query standing. I.e., if the first query is \"How did Alphabet do in 2022?\" and the current query is \"How about 2023?\", the current query will be interpreted as \"How did Alphabet do in 2023?\". Example #2 (coordination between /search API calls and /answer API calls): 1. Call /search API with the auto-session mode (see below). 2. Call /answer API with the session ID generated in the first call. Here, the answer generation happens in the context of the search results from the first search call. Auto-session mode: when `projects/.../sessions/-` is used, a new session gets automatically created. Otherwise, users can use the create-session API to create a session manually. Multi-turn Search feature is currently at private GA stage. Please use v1alpha or v1beta version instead before we launch this feature to public GA. Or ask for allowlisting through Google Support team.", +"type": "string" +}, +"sessionSpec": { +"$ref": "GoogleCloudDiscoveryengineV1alphaSearchRequestSessionSpec", +"description": "Session specification. Can be used only when `session` is set." +}, +"spellCorrectionSpec": { +"$ref": "GoogleCloudDiscoveryengineV1alphaSearchRequestSpellCorrectionSpec", +"description": "The spell correction specification that specifies the mode under which spell correction takes effect." +}, +"userInfo": { +"$ref": "GoogleCloudDiscoveryengineV1alphaUserInfo", +"description": "Information about the end user. Highly recommended for analytics. UserInfo.user_agent is used to deduce `device_type` for analytics." +}, +"userLabels": { +"additionalProperties": { +"type": "string" +}, +"description": "The user labels applied to a resource must meet the following requirements: * Each resource can have multiple labels, up to a maximum of 64. * Each label must be a key-value pair. * Keys have a minimum length of 1 character and a maximum length of 63 characters and cannot be empty. Values can be empty and have a maximum length of 63 characters. * Keys and values can contain only lowercase letters, numeric characters, underscores, and dashes. All characters must use UTF-8 encoding, and international characters are allowed. * The key portion of a label must be unique. However, you can use the same key with multiple resources. * Keys must start with a lowercase letter or international character. See [Google Cloud Document](https://cloud.google.com/resource-manager/docs/creating-managing-labels#requirements) for more details.", +"type": "object" +}, +"userPseudoId": { +"description": "A unique identifier for tracking visitors. For example, this could be implemented with an HTTP cookie, which should be able to uniquely identify a visitor on a single device. This unique identifier should not change if the visitor logs in or out of the website. This field should NOT have a fixed value such as `unknown_visitor`. This should be the same identifier as UserEvent.user_pseudo_id and CompleteQueryRequest.user_pseudo_id The field must be a UTF-8 encoded string with a length limit of 128 characters. Otherwise, an `INVALID_ARGUMENT` error is returned.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1alphaSearchRequestBoostSpec": { +"description": "Boost specification to boost certain documents.", +"id": "GoogleCloudDiscoveryengineV1alphaSearchRequestBoostSpec", +"properties": { +"conditionBoostSpecs": { +"description": "Condition boost specifications. If a document matches multiple conditions in the specifictions, boost scores from these specifications are all applied and combined in a non-linear way. Maximum number of specifications is 20.", +"items": { +"$ref": "GoogleCloudDiscoveryengineV1alphaSearchRequestBoostSpecConditionBoostSpec" +}, +"type": "array" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1alphaSearchRequestBoostSpecConditionBoostSpec": { +"description": "Boost applies to documents which match a condition.", +"id": "GoogleCloudDiscoveryengineV1alphaSearchRequestBoostSpecConditionBoostSpec", +"properties": { +"boost": { +"description": "Strength of the condition boost, which should be in [-1, 1]. Negative boost means demotion. Default is 0.0. Setting to 1.0 gives the document a big promotion. However, it does not necessarily mean that the boosted document will be the top result at all times, nor that other documents will be excluded. Results could still be shown even when none of them matches the condition. And results that are significantly more relevant to the search query can still trump your heavily favored but irrelevant documents. Setting to -1.0 gives the document a big demotion. However, results that are deeply relevant might still be shown. The document will have an upstream battle to get a fairly high ranking, but it is not blocked out completely. Setting to 0.0 means no boost applied. The boosting condition is ignored. Only one of the (condition, boost) combination or the boost_control_spec below are set. If both are set then the global boost is ignored and the more fine-grained boost_control_spec is applied.", +"format": "float", +"type": "number" +}, +"boostControlSpec": { +"$ref": "GoogleCloudDiscoveryengineV1alphaSearchRequestBoostSpecConditionBoostSpecBoostControlSpec", +"description": "Complex specification for custom ranking based on customer defined attribute value." +}, +"condition": { +"description": "An expression which specifies a boost condition. The syntax and supported fields are the same as a filter expression. See SearchRequest.filter for detail syntax and limitations. Examples: * To boost documents with document ID \"doc_1\" or \"doc_2\", and color \"Red\" or \"Blue\": `(document_id: ANY(\"doc_1\", \"doc_2\")) AND (color: ANY(\"Red\", \"Blue\"))`", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1alphaSearchRequestBoostSpecConditionBoostSpecBoostControlSpec": { +"description": "Specification for custom ranking based on customer specified attribute value. It provides more controls for customized ranking than the simple (condition, boost) combination above.", +"id": "GoogleCloudDiscoveryengineV1alphaSearchRequestBoostSpecConditionBoostSpecBoostControlSpec", +"properties": { +"attributeType": { +"description": "The attribute type to be used to determine the boost amount. The attribute value can be derived from the field value of the specified field_name. In the case of numerical it is straightforward i.e. attribute_value = numerical_field_value. In the case of freshness however, attribute_value = (time.now() - datetime_field_value).", +"enum": [ +"ATTRIBUTE_TYPE_UNSPECIFIED", +"NUMERICAL", +"FRESHNESS" +], +"enumDescriptions": [ +"Unspecified AttributeType.", +"The value of the numerical field will be used to dynamically update the boost amount. In this case, the attribute_value (the x value) of the control point will be the actual value of the numerical field for which the boost_amount is specified.", +"For the freshness use case the attribute value will be the duration between the current time and the date in the datetime field specified. The value must be formatted as an XSD `dayTimeDuration` value (a restricted subset of an ISO 8601 duration value). The pattern for this is: `nDnM]`. For example, `5D`, `3DT12H30M`, `T24H`." +], +"type": "string" +}, +"controlPoints": { +"description": "The control points used to define the curve. The monotonic function (defined through the interpolation_type above) passes through the control points listed here.", +"items": { +"$ref": "GoogleCloudDiscoveryengineV1alphaSearchRequestBoostSpecConditionBoostSpecBoostControlSpecControlPoint" +}, +"type": "array" +}, +"fieldName": { +"description": "The name of the field whose value will be used to determine the boost amount.", +"type": "string" +}, +"interpolationType": { +"description": "The interpolation type to be applied to connect the control points listed below.", +"enum": [ +"INTERPOLATION_TYPE_UNSPECIFIED", +"LINEAR" +], +"enumDescriptions": [ +"Interpolation type is unspecified. In this case, it defaults to Linear.", +"Piecewise linear interpolation will be applied." +], +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1alphaSearchRequestBoostSpecConditionBoostSpecBoostControlSpecControlPoint": { +"description": "The control points used to define the curve. The curve defined through these control points can only be monotonically increasing or decreasing(constant values are acceptable).", +"id": "GoogleCloudDiscoveryengineV1alphaSearchRequestBoostSpecConditionBoostSpecBoostControlSpecControlPoint", +"properties": { +"attributeValue": { +"description": "Can be one of: 1. The numerical field value. 2. The duration spec for freshness: The value must be formatted as an XSD `dayTimeDuration` value (a restricted subset of an ISO 8601 duration value). The pattern for this is: `nDnM]`.", +"type": "string" +}, +"boostAmount": { +"description": "The value between -1 to 1 by which to boost the score if the attribute_value evaluates to the value specified above.", +"format": "float", +"type": "number" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1alphaSearchRequestContentSearchSpec": { +"description": "A specification for configuring the behavior of content search.", +"id": "GoogleCloudDiscoveryengineV1alphaSearchRequestContentSearchSpec", +"properties": { +"chunkSpec": { +"$ref": "GoogleCloudDiscoveryengineV1alphaSearchRequestContentSearchSpecChunkSpec", +"description": "Specifies the chunk spec to be returned from the search response. Only available if the SearchRequest.ContentSearchSpec.search_result_mode is set to CHUNKS" +}, +"extractiveContentSpec": { +"$ref": "GoogleCloudDiscoveryengineV1alphaSearchRequestContentSearchSpecExtractiveContentSpec", +"description": "If there is no extractive_content_spec provided, there will be no extractive answer in the search response." +}, +"searchResultMode": { +"description": "Specifies the search result mode. If unspecified, the search result mode defaults to `DOCUMENTS`.", +"enum": [ +"SEARCH_RESULT_MODE_UNSPECIFIED", +"DOCUMENTS", +"CHUNKS" +], +"enumDescriptions": [ +"Default value.", +"Returns documents in the search result.", +"Returns chunks in the search result. Only available if the DocumentProcessingConfig.chunking_config is specified." +], +"type": "string" +}, +"snippetSpec": { +"$ref": "GoogleCloudDiscoveryengineV1alphaSearchRequestContentSearchSpecSnippetSpec", +"description": "If `snippetSpec` is not specified, snippets are not included in the search response." +}, +"summarySpec": { +"$ref": "GoogleCloudDiscoveryengineV1alphaSearchRequestContentSearchSpecSummarySpec", +"description": "If `summarySpec` is not specified, summaries are not included in the search response." +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1alphaSearchRequestContentSearchSpecChunkSpec": { +"description": "Specifies the chunk spec to be returned from the search response. Only available if the SearchRequest.ContentSearchSpec.search_result_mode is set to CHUNKS", +"id": "GoogleCloudDiscoveryengineV1alphaSearchRequestContentSearchSpecChunkSpec", +"properties": { +"numNextChunks": { +"description": "The number of next chunks to be returned of the current chunk. The maximum allowed value is 3. If not specified, no next chunks will be returned.", +"format": "int32", +"type": "integer" +}, +"numPreviousChunks": { +"description": "The number of previous chunks to be returned of the current chunk. The maximum allowed value is 3. If not specified, no previous chunks will be returned.", +"format": "int32", +"type": "integer" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1alphaSearchRequestContentSearchSpecExtractiveContentSpec": { +"description": "A specification for configuring the extractive content in a search response.", +"id": "GoogleCloudDiscoveryengineV1alphaSearchRequestContentSearchSpecExtractiveContentSpec", +"properties": { +"maxExtractiveAnswerCount": { +"description": "The maximum number of extractive answers returned in each search result. An extractive answer is a verbatim answer extracted from the original document, which provides a precise and contextually relevant answer to the search query. If the number of matching answers is less than the `max_extractive_answer_count`, return all of the answers. Otherwise, return the `max_extractive_answer_count`. At most five answers are returned for each SearchResult.", +"format": "int32", +"type": "integer" +}, +"maxExtractiveSegmentCount": { +"description": "The max number of extractive segments returned in each search result. Only applied if the DataStore is set to DataStore.ContentConfig.CONTENT_REQUIRED or DataStore.solution_types is SOLUTION_TYPE_CHAT. An extractive segment is a text segment extracted from the original document that is relevant to the search query, and, in general, more verbose than an extractive answer. The segment could then be used as input for LLMs to generate summaries and answers. If the number of matching segments is less than `max_extractive_segment_count`, return all of the segments. Otherwise, return the `max_extractive_segment_count`.", +"format": "int32", +"type": "integer" +}, +"numNextSegments": { +"description": "Return at most `num_next_segments` segments after each selected segments.", +"format": "int32", +"type": "integer" +}, +"numPreviousSegments": { +"description": "Specifies whether to also include the adjacent from each selected segments. Return at most `num_previous_segments` segments before each selected segments.", +"format": "int32", +"type": "integer" +}, +"returnExtractiveSegmentScore": { +"description": "Specifies whether to return the confidence score from the extractive segments in each search result. This feature is available only for new or allowlisted data stores. To allowlist your data store, contact your Customer Engineer. The default value is `false`.", +"type": "boolean" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1alphaSearchRequestContentSearchSpecSnippetSpec": { +"description": "A specification for configuring snippets in a search response.", +"id": "GoogleCloudDiscoveryengineV1alphaSearchRequestContentSearchSpecSnippetSpec", +"properties": { +"maxSnippetCount": { +"deprecated": true, +"description": "[DEPRECATED] This field is deprecated. To control snippet return, use `return_snippet` field. For backwards compatibility, we will return snippet if max_snippet_count > 0.", +"format": "int32", +"type": "integer" +}, +"referenceOnly": { +"deprecated": true, +"description": "[DEPRECATED] This field is deprecated and will have no affect on the snippet.", +"type": "boolean" +}, +"returnSnippet": { +"description": "If `true`, then return snippet. If no snippet can be generated, we return \"No snippet is available for this page.\" A `snippet_status` with `SUCCESS` or `NO_SNIPPET_AVAILABLE` will also be returned.", +"type": "boolean" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1alphaSearchRequestContentSearchSpecSummarySpec": { +"description": "A specification for configuring a summary returned in a search response.", +"id": "GoogleCloudDiscoveryengineV1alphaSearchRequestContentSearchSpecSummarySpec", +"properties": { +"ignoreAdversarialQuery": { +"description": "Specifies whether to filter out adversarial queries. The default value is `false`. Google employs search-query classification to detect adversarial queries. No summary is returned if the search query is classified as an adversarial query. For example, a user might ask a question regarding negative comments about the company or submit a query designed to generate unsafe, policy-violating output. If this field is set to `true`, we skip generating summaries for adversarial queries and return fallback messages instead.", +"type": "boolean" +}, +"ignoreJailBreakingQuery": { +"description": "Optional. Specifies whether to filter out jail-breaking queries. The default value is `false`. Google employs search-query classification to detect jail-breaking queries. No summary is returned if the search query is classified as a jail-breaking query. A user might add instructions to the query to change the tone, style, language, content of the answer, or ask the model to act as a different entity, e.g. \"Reply in the tone of a competing company's CEO\". If this field is set to `true`, we skip generating summaries for jail-breaking queries and return fallback messages instead.", +"type": "boolean" +}, +"ignoreLowRelevantContent": { +"description": "Specifies whether to filter out queries that have low relevance. The default value is `false`. If this field is set to `false`, all search results are used regardless of relevance to generate answers. If set to `true`, only queries with high relevance search results will generate answers.", +"type": "boolean" +}, +"ignoreNonSummarySeekingQuery": { +"description": "Specifies whether to filter out queries that are not summary-seeking. The default value is `false`. Google employs search-query classification to detect summary-seeking queries. No summary is returned if the search query is classified as a non-summary seeking query. For example, `why is the sky blue` and `Who is the best soccer player in the world?` are summary-seeking queries, but `SFO airport` and `world cup 2026` are not. They are most likely navigational queries. If this field is set to `true`, we skip generating summaries for non-summary seeking queries and return fallback messages instead.", +"type": "boolean" +}, +"includeCitations": { +"description": "Specifies whether to include citations in the summary. The default value is `false`. When this field is set to `true`, summaries include in-line citation numbers. Example summary including citations: BigQuery is Google Cloud's fully managed and completely serverless enterprise data warehouse [1]. BigQuery supports all data types, works across clouds, and has built-in machine learning and business intelligence, all within a unified platform [2, 3]. The citation numbers refer to the returned search results and are 1-indexed. For example, [1] means that the sentence is attributed to the first search result. [2, 3] means that the sentence is attributed to both the second and third search results.", +"type": "boolean" +}, +"languageCode": { +"description": "Language code for Summary. Use language tags defined by [BCP47](https://www.rfc-editor.org/rfc/bcp/bcp47.txt). Note: This is an experimental feature.", +"type": "string" +}, +"modelPromptSpec": { +"$ref": "GoogleCloudDiscoveryengineV1alphaSearchRequestContentSearchSpecSummarySpecModelPromptSpec", +"description": "If specified, the spec will be used to modify the prompt provided to the LLM." +}, +"modelSpec": { +"$ref": "GoogleCloudDiscoveryengineV1alphaSearchRequestContentSearchSpecSummarySpecModelSpec", +"description": "If specified, the spec will be used to modify the model specification provided to the LLM." +}, +"summaryResultCount": { +"description": "The number of top results to generate the summary from. If the number of results returned is less than `summaryResultCount`, the summary is generated from all of the results. At most 10 results for documents mode, or 50 for chunks mode, can be used to generate a summary. The chunks mode is used when SearchRequest.ContentSearchSpec.search_result_mode is set to CHUNKS.", +"format": "int32", +"type": "integer" +}, +"useSemanticChunks": { +"description": "If true, answer will be generated from most relevant chunks from top search results. This feature will improve summary quality. Note that with this feature enabled, not all top search results will be referenced and included in the reference list, so the citation source index only points to the search results listed in the reference list.", +"type": "boolean" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1alphaSearchRequestContentSearchSpecSummarySpecModelPromptSpec": { +"description": "Specification of the prompt to use with the model.", +"id": "GoogleCloudDiscoveryengineV1alphaSearchRequestContentSearchSpecSummarySpecModelPromptSpec", +"properties": { +"preamble": { +"description": "Text at the beginning of the prompt that instructs the assistant. Examples are available in the user guide.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1alphaSearchRequestContentSearchSpecSummarySpecModelSpec": { +"description": "Specification of the model.", +"id": "GoogleCloudDiscoveryengineV1alphaSearchRequestContentSearchSpecSummarySpecModelSpec", +"properties": { +"version": { +"description": "The model version used to generate the summary. Supported values are: * `stable`: string. Default value when no value is specified. Uses a generally available, fine-tuned model. For more information, see [Answer generation model versions and lifecycle](https://cloud.google.com/generative-ai-app-builder/docs/answer-generation-models). * `preview`: string. (Public preview) Uses a preview model. For more information, see [Answer generation model versions and lifecycle](https://cloud.google.com/generative-ai-app-builder/docs/answer-generation-models).", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1alphaSearchRequestDataStoreSpec": { +"description": "A struct to define data stores to filter on in a search call and configurations for those data stores. Otherwise, an `INVALID_ARGUMENT` error is returned.", +"id": "GoogleCloudDiscoveryengineV1alphaSearchRequestDataStoreSpec", +"properties": { +"boostSpec": { +"$ref": "GoogleCloudDiscoveryengineV1alphaSearchRequestBoostSpec", +"description": "Optional. Boost specification to boost certain documents. For more information on boosting, see [Boosting](https://cloud.google.com/generative-ai-app-builder/docs/boost-search-results)" +}, +"dataStore": { +"description": "Required. Full resource name of DataStore, such as `projects/{project}/locations/{location}/collections/{collection_id}/dataStores/{data_store_id}`.", +"type": "string" +}, +"filter": { +"description": "Optional. Filter specification to filter documents in the data store specified by data_store field. For more information on filtering, see [Filtering](https://cloud.google.com/generative-ai-app-builder/docs/filter-search-metadata)", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1alphaSearchRequestEmbeddingSpec": { +"description": "The specification that uses customized query embedding vector to do semantic document retrieval.", +"id": "GoogleCloudDiscoveryengineV1alphaSearchRequestEmbeddingSpec", +"properties": { +"embeddingVectors": { +"description": "The embedding vector used for retrieval. Limit to 1.", +"items": { +"$ref": "GoogleCloudDiscoveryengineV1alphaSearchRequestEmbeddingSpecEmbeddingVector" +}, +"type": "array" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1alphaSearchRequestEmbeddingSpecEmbeddingVector": { +"description": "Embedding vector.", +"id": "GoogleCloudDiscoveryengineV1alphaSearchRequestEmbeddingSpecEmbeddingVector", +"properties": { +"fieldPath": { +"description": "Embedding field path in schema.", +"type": "string" +}, +"vector": { +"description": "Query embedding vector.", +"items": { +"format": "float", +"type": "number" +}, +"type": "array" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1alphaSearchRequestFacetSpec": { +"description": "A facet specification to perform faceted search.", +"id": "GoogleCloudDiscoveryengineV1alphaSearchRequestFacetSpec", +"properties": { +"enableDynamicPosition": { +"description": "Enables dynamic position for this facet. If set to true, the position of this facet among all facets in the response is determined automatically. If dynamic facets are enabled, it is ordered together. If set to false, the position of this facet in the response is the same as in the request, and it is ranked before the facets with dynamic position enable and all dynamic facets. For example, you may always want to have rating facet returned in the response, but it's not necessarily to always display the rating facet at the top. In that case, you can set enable_dynamic_position to true so that the position of rating facet in response is determined automatically. Another example, assuming you have the following facets in the request: * \"rating\", enable_dynamic_position = true * \"price\", enable_dynamic_position = false * \"brands\", enable_dynamic_position = false And also you have a dynamic facets enabled, which generates a facet `gender`. Then the final order of the facets in the response can be (\"price\", \"brands\", \"rating\", \"gender\") or (\"price\", \"brands\", \"gender\", \"rating\") depends on how API orders \"gender\" and \"rating\" facets. However, notice that \"price\" and \"brands\" are always ranked at first and second position because their enable_dynamic_position is false.", +"type": "boolean" +}, +"excludedFilterKeys": { +"description": "List of keys to exclude when faceting. By default, FacetKey.key is not excluded from the filter unless it is listed in this field. Listing a facet key in this field allows its values to appear as facet results, even when they are filtered out of search results. Using this field does not affect what search results are returned. For example, suppose there are 100 documents with the color facet \"Red\" and 200 documents with the color facet \"Blue\". A query containing the filter \"color:ANY(\"Red\")\" and having \"color\" as FacetKey.key would by default return only \"Red\" documents in the search results, and also return \"Red\" with count 100 as the only color facet. Although there are also blue documents available, \"Blue\" would not be shown as an available facet value. If \"color\" is listed in \"excludedFilterKeys\", then the query returns the facet values \"Red\" with count 100 and \"Blue\" with count 200, because the \"color\" key is now excluded from the filter. Because this field doesn't affect search results, the search results are still correctly filtered to return only \"Red\" documents. A maximum of 100 values are allowed. Otherwise, an `INVALID_ARGUMENT` error is returned.", +"items": { +"type": "string" +}, +"type": "array" +}, +"facetKey": { +"$ref": "GoogleCloudDiscoveryengineV1alphaSearchRequestFacetSpecFacetKey", +"description": "Required. The facet key specification." +}, +"limit": { +"description": "Maximum facet values that are returned for this facet. If unspecified, defaults to 20. The maximum allowed value is 300. Values above 300 are coerced to 300. For aggregation in healthcare search, when the [FacetKey.key] is \"healthcare_aggregation_key\", the limit will be overridden to 10,000 internally, regardless of the value set here. If this field is negative, an `INVALID_ARGUMENT` is returned.", +"format": "int32", +"type": "integer" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1alphaSearchRequestFacetSpecFacetKey": { +"description": "Specifies how a facet is computed.", +"id": "GoogleCloudDiscoveryengineV1alphaSearchRequestFacetSpecFacetKey", +"properties": { +"caseInsensitive": { +"description": "True to make facet keys case insensitive when getting faceting values with prefixes or contains; false otherwise.", +"type": "boolean" +}, +"contains": { +"description": "Only get facet values that contain the given strings. For example, suppose \"category\" has three values \"Action > 2022\", \"Action > 2021\" and \"Sci-Fi > 2022\". If set \"contains\" to \"2022\", the \"category\" facet only contains \"Action > 2022\" and \"Sci-Fi > 2022\". Only supported on textual fields. Maximum is 10.", +"items": { +"type": "string" +}, +"type": "array" +}, +"intervals": { +"description": "Set only if values should be bucketed into intervals. Must be set for facets with numerical values. Must not be set for facet with text values. Maximum number of intervals is 30.", +"items": { +"$ref": "GoogleCloudDiscoveryengineV1alphaInterval" +}, +"type": "array" +}, +"key": { +"description": "Required. Supported textual and numerical facet keys in Document object, over which the facet values are computed. Facet key is case-sensitive.", +"type": "string" +}, +"orderBy": { +"description": "The order in which documents are returned. Allowed values are: * \"count desc\", which means order by SearchResponse.Facet.values.count descending. * \"value desc\", which means order by SearchResponse.Facet.values.value descending. Only applies to textual facets. If not set, textual values are sorted in [natural order](https://en.wikipedia.org/wiki/Natural_sort_order); numerical intervals are sorted in the order given by FacetSpec.FacetKey.intervals.", +"type": "string" +}, +"prefixes": { +"description": "Only get facet values that start with the given string prefix. For example, suppose \"category\" has three values \"Action > 2022\", \"Action > 2021\" and \"Sci-Fi > 2022\". If set \"prefixes\" to \"Action\", the \"category\" facet only contains \"Action > 2022\" and \"Action > 2021\". Only supported on textual fields. Maximum is 10.", +"items": { +"type": "string" +}, +"type": "array" +}, +"restrictedValues": { +"description": "Only get facet for the given restricted values. Only supported on textual fields. For example, suppose \"category\" has three values \"Action > 2022\", \"Action > 2021\" and \"Sci-Fi > 2022\". If set \"restricted_values\" to \"Action > 2022\", the \"category\" facet only contains \"Action > 2022\". Only supported on textual fields. Maximum is 10.", +"items": { +"type": "string" +}, +"type": "array" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1alphaSearchRequestImageQuery": { +"description": "Specifies the image query input.", +"id": "GoogleCloudDiscoveryengineV1alphaSearchRequestImageQuery", +"properties": { +"imageBytes": { +"description": "Base64 encoded image bytes. Supported image formats: JPEG, PNG, and BMP.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1alphaSearchRequestNaturalLanguageQueryUnderstandingSpec": { +"description": "Specification to enable natural language understanding capabilities for search requests.", +"id": "GoogleCloudDiscoveryengineV1alphaSearchRequestNaturalLanguageQueryUnderstandingSpec", +"properties": { +"filterExtractionCondition": { +"description": "The condition under which filter extraction should occur. Server behavior defaults to `DISABLED`.", +"enum": [ +"CONDITION_UNSPECIFIED", +"DISABLED", +"ENABLED" +], +"enumDescriptions": [ +"Server behavior defaults to `DISABLED`.", +"Disables NL filter extraction.", +"Enables NL filter extraction." +], +"type": "string" +}, +"geoSearchQueryDetectionFieldNames": { +"description": "Field names used for location-based filtering, where geolocation filters are detected in natural language search queries. Only valid when the FilterExtractionCondition is set to `ENABLED`. If this field is set, it overrides the field names set in ServingConfig.geo_search_query_detection_field_names.", +"items": { +"type": "string" +}, +"type": "array" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1alphaSearchRequestPersonalizationSpec": { +"description": "The specification for personalization.", +"id": "GoogleCloudDiscoveryengineV1alphaSearchRequestPersonalizationSpec", +"properties": { +"mode": { +"description": "The personalization mode of the search request. Defaults to Mode.AUTO.", +"enum": [ +"MODE_UNSPECIFIED", +"AUTO", +"DISABLED" +], +"enumDescriptions": [ +"Default value. In this case, server behavior defaults to Mode.AUTO.", +"Personalization is enabled if data quality requirements are met.", +"Disable personalization." +], +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1alphaSearchRequestQueryExpansionSpec": { +"description": "Specification to determine under which conditions query expansion should occur.", +"id": "GoogleCloudDiscoveryengineV1alphaSearchRequestQueryExpansionSpec", +"properties": { +"condition": { +"description": "The condition under which query expansion should occur. Default to Condition.DISABLED.", +"enum": [ +"CONDITION_UNSPECIFIED", +"DISABLED", +"AUTO" +], +"enumDescriptions": [ +"Unspecified query expansion condition. In this case, server behavior defaults to Condition.DISABLED.", +"Disabled query expansion. Only the exact search query is used, even if SearchResponse.total_size is zero.", +"Automatic query expansion built by the Search API." +], +"type": "string" +}, +"pinUnexpandedResults": { +"description": "Whether to pin unexpanded results. If this field is set to true, unexpanded products are always at the top of the search results, followed by the expanded results.", +"type": "boolean" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1alphaSearchRequestSearchAsYouTypeSpec": { +"description": "Specification for search as you type in search requests.", +"id": "GoogleCloudDiscoveryengineV1alphaSearchRequestSearchAsYouTypeSpec", +"properties": { +"condition": { +"description": "The condition under which search as you type should occur. Default to Condition.DISABLED.", +"enum": [ +"CONDITION_UNSPECIFIED", +"DISABLED", +"ENABLED" +], +"enumDescriptions": [ +"Server behavior defaults to Condition.DISABLED.", +"Disables Search As You Type.", +"Enables Search As You Type." +], +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1alphaSearchRequestSessionSpec": { +"description": "Session specification. Multi-turn Search feature is currently at private GA stage. Please use v1alpha or v1beta version instead before we launch this feature to public GA. Or ask for allowlisting through Google Support team.", +"id": "GoogleCloudDiscoveryengineV1alphaSearchRequestSessionSpec", +"properties": { +"queryId": { +"description": "If set, the search result gets stored to the \"turn\" specified by this query ID. Example: Let's say the session looks like this: session { name: \".../sessions/xxx\" turns { query { text: \"What is foo?\" query_id: \".../questions/yyy\" } answer: \"Foo is ...\" } turns { query { text: \"How about bar then?\" query_id: \".../questions/zzz\" } } } The user can call /search API with a request like this: session: \".../sessions/xxx\" session_spec { query_id: \".../questions/zzz\" } Then, the API stores the search result, associated with the last turn. The stored search result can be used by a subsequent /answer API call (with the session ID and the query ID specified). Also, it is possible to call /search and /answer in parallel with the same session ID & query ID.", +"type": "string" +}, +"searchResultPersistenceCount": { +"description": "The number of top search results to persist. The persisted search results can be used for the subsequent /answer api call. This field is simliar to the `summary_result_count` field in SearchRequest.ContentSearchSpec.SummarySpec.summary_result_count. At most 10 results for documents mode, or 50 for chunks mode.", +"format": "int32", +"type": "integer" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1alphaSearchRequestSpellCorrectionSpec": { +"description": "The specification for query spell correction.", +"id": "GoogleCloudDiscoveryengineV1alphaSearchRequestSpellCorrectionSpec", +"properties": { +"mode": { +"description": "The mode under which spell correction replaces the original search query. Defaults to Mode.AUTO.", +"enum": [ +"MODE_UNSPECIFIED", +"SUGGESTION_ONLY", +"AUTO" +], +"enumDescriptions": [ +"Unspecified spell correction mode. In this case, server behavior defaults to Mode.AUTO.", +"Search API tries to find a spelling suggestion. If a suggestion is found, it is put in the SearchResponse.corrected_query. The spelling suggestion won't be used as the search query.", +"Automatic spell correction built by the Search API. Search will be based on the corrected query if found." +], +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1alphaSession": { +"description": "External session proto definition.", +"id": "GoogleCloudDiscoveryengineV1alphaSession", +"properties": { +"displayName": { +"description": "Optional. The display name of the session. This field is used to identify the session in the UI. By default, the display name is the first turn query text in the session.", +"type": "string" +}, +"endTime": { +"description": "Output only. The time the session finished.", +"format": "google-datetime", +"readOnly": true, +"type": "string" +}, +"isPinned": { +"description": "Optional. Whether the session is pinned, pinned session will be displayed on the top of the session list.", +"type": "boolean" +}, +"name": { +"description": "Immutable. Fully qualified name `projects/{project}/locations/global/collections/{collection}/engines/{engine}/sessions/*`", +"type": "string" +}, +"startTime": { +"description": "Output only. The time the session started.", +"format": "google-datetime", +"readOnly": true, +"type": "string" +}, +"state": { +"description": "The state of the session.", +"enum": [ +"STATE_UNSPECIFIED", +"IN_PROGRESS" +], +"enumDescriptions": [ +"State is unspecified.", +"The session is currently open." +], +"type": "string" +}, +"turns": { +"description": "Turns.", +"items": { +"$ref": "GoogleCloudDiscoveryengineV1alphaSessionTurn" +}, +"type": "array" +}, +"userPseudoId": { +"description": "A unique identifier for tracking users.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1alphaSessionTurn": { +"description": "Represents a turn, including a query from the user and a answer from service.", +"id": "GoogleCloudDiscoveryengineV1alphaSessionTurn", +"properties": { +"answer": { +"description": "The resource name of the answer to the user query. Only set if the answer generation (/answer API call) happened in this turn.", +"type": "string" +}, +"detailedAnswer": { +"$ref": "GoogleCloudDiscoveryengineV1alphaAnswer", +"description": "Output only. In ConversationalSearchService.GetSession API, if GetSessionRequest.include_answer_details is set to true, this field will be populated when getting answer query session.", +"readOnly": true +}, +"query": { +"$ref": "GoogleCloudDiscoveryengineV1alphaQuery", +"description": "The user query." +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1alphaSetDedicatedCrawlRateMetadata": { +"description": "Metadata related to the progress of the CrawlRateManagementService.SetDedicatedCrawlRate operation. This will be returned by the google.longrunning.Operation.metadata field.", +"id": "GoogleCloudDiscoveryengineV1alphaSetDedicatedCrawlRateMetadata", +"properties": { +"createTime": { +"description": "Operation create time.", +"format": "google-datetime", +"type": "string" +}, +"updateTime": { +"description": "Operation last update time. If the operation is done, this is also the finish time.", +"format": "google-datetime", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1alphaSetDedicatedCrawlRateResponse": { +"description": "Response message for CrawlRateManagementService.SetDedicatedCrawlRate method. It simply returns the state of the response, and an error message if the state is FAILED.", +"id": "GoogleCloudDiscoveryengineV1alphaSetDedicatedCrawlRateResponse", +"properties": { +"error": { +"$ref": "GoogleRpcStatus", +"description": "Errors from service when handling the request." +}, +"state": { +"description": "Output only. The state of the response.", +"enum": [ +"STATE_UNSPECIFIED", +"SUCCEEDED", +"FAILED" +], +"enumDescriptions": [ +"The state is unspecified.", +"The state is successful.", +"The state is failed." +], +"readOnly": true, +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1alphaSetUpDataConnectorMetadata": { +"description": "Metadata for DataConnectorService.SetUpDataConnector method.", +"id": "GoogleCloudDiscoveryengineV1alphaSetUpDataConnectorMetadata", +"properties": {}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1alphaSetUriPatternDocumentDataMetadata": { +"description": "Metadata related to the progress of the SiteSearchEngineService.SetUriPatternDocumentData operation. This will be returned by the google.longrunning.Operation.metadata field.", +"id": "GoogleCloudDiscoveryengineV1alphaSetUriPatternDocumentDataMetadata", +"properties": { +"createTime": { +"description": "Operation create time.", +"format": "google-datetime", +"type": "string" +}, +"updateTime": { +"description": "Operation last update time. If the operation is done, this is also the finish time.", +"format": "google-datetime", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1alphaSetUriPatternDocumentDataResponse": { +"description": "Response message for SiteSearchEngineService.SetUriPatternDocumentData method.", +"id": "GoogleCloudDiscoveryengineV1alphaSetUriPatternDocumentDataResponse", +"properties": {}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1alphaSingleRegionKey": { +"description": "Metadata for single-regional CMEKs.", +"id": "GoogleCloudDiscoveryengineV1alphaSingleRegionKey", +"properties": { +"kmsKey": { +"description": "Required. Single-regional kms key resource name which will be used to encrypt resources `projects/{project}/locations/{location}/keyRings/{keyRing}/cryptoKeys/{keyId}`.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1alphaSiteVerificationInfo": { +"description": "Verification information for target sites in advanced site search.", +"id": "GoogleCloudDiscoveryengineV1alphaSiteVerificationInfo", +"properties": { +"siteVerificationState": { +"description": "Site verification state indicating the ownership and validity.", +"enum": [ +"SITE_VERIFICATION_STATE_UNSPECIFIED", +"VERIFIED", +"UNVERIFIED", +"EXEMPTED" +], +"enumDescriptions": [ +"Defaults to VERIFIED.", +"Site ownership verified.", +"Site ownership pending verification or verification failed.", +"Site exempt from verification, e.g., a public website that opens to all." +], +"type": "string" +}, +"verifyTime": { +"description": "Latest site verification time.", +"format": "google-datetime", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1alphaSitemap": { +"description": "A sitemap for the SiteSearchEngine.", +"id": "GoogleCloudDiscoveryengineV1alphaSitemap", +"properties": { +"createTime": { +"description": "Output only. The sitemap's creation time.", +"format": "google-datetime", +"readOnly": true, +"type": "string" +}, +"name": { +"description": "Output only. The fully qualified resource name of the sitemap. `projects/*/locations/*/collections/*/dataStores/*/siteSearchEngine/sitemaps/*` The `sitemap_id` suffix is system-generated.", +"readOnly": true, +"type": "string" +}, +"uri": { +"description": "Public URI for the sitemap, e.g. `www.example.com/sitemap.xml`.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1alphaTargetSite": { +"description": "A target site for the SiteSearchEngine.", +"id": "GoogleCloudDiscoveryengineV1alphaTargetSite", +"properties": { +"exactMatch": { +"description": "Immutable. If set to false, a uri_pattern is generated to include all pages whose address contains the provided_uri_pattern. If set to true, an uri_pattern is generated to try to be an exact match of the provided_uri_pattern or just the specific page if the provided_uri_pattern is a specific one. provided_uri_pattern is always normalized to generate the URI pattern to be used by the search engine.", +"type": "boolean" +}, +"failureReason": { +"$ref": "GoogleCloudDiscoveryengineV1alphaTargetSiteFailureReason", +"description": "Output only. Failure reason.", +"readOnly": true +}, +"generatedUriPattern": { +"description": "Output only. This is system-generated based on the provided_uri_pattern.", +"readOnly": true, +"type": "string" +}, +"indexingStatus": { +"description": "Output only. Indexing status.", +"enum": [ +"INDEXING_STATUS_UNSPECIFIED", +"PENDING", +"FAILED", +"SUCCEEDED", +"DELETING" +], +"enumDescriptions": [ +"Defaults to SUCCEEDED.", +"The target site is in the update queue and will be picked up by indexing pipeline.", +"The target site fails to be indexed.", +"The target site has been indexed.", +"The previously indexed target site has been marked to be deleted. This is a transitioning state which will resulted in either: 1. target site deleted if unindexing is successful; 2. state reverts to SUCCEEDED if the unindexing fails." +], +"readOnly": true, +"type": "string" +}, +"name": { +"description": "Output only. The fully qualified resource name of the target site. `projects/{project}/locations/{location}/collections/{collection}/dataStores/{data_store}/siteSearchEngine/targetSites/{target_site}` The `target_site_id` is system-generated.", +"readOnly": true, +"type": "string" +}, +"providedUriPattern": { +"description": "Required. Input only. The user provided URI pattern from which the `generated_uri_pattern` is generated.", +"type": "string" +}, +"rootDomainUri": { +"description": "Output only. Root domain of the provided_uri_pattern.", +"readOnly": true, +"type": "string" +}, +"siteVerificationInfo": { +"$ref": "GoogleCloudDiscoveryengineV1alphaSiteVerificationInfo", +"description": "Output only. Site ownership and validity verification status.", +"readOnly": true +}, +"type": { +"description": "The type of the target site, e.g., whether the site is to be included or excluded.", +"enum": [ +"TYPE_UNSPECIFIED", +"INCLUDE", +"EXCLUDE" +], +"enumDescriptions": [ +"This value is unused. In this case, server behavior defaults to Type.INCLUDE.", +"Include the target site.", +"Exclude the target site." +], +"type": "string" +}, +"updateTime": { +"description": "Output only. The target site's last updated time.", +"format": "google-datetime", +"readOnly": true, +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1alphaTargetSiteFailureReason": { +"description": "Site search indexing failure reasons.", +"id": "GoogleCloudDiscoveryengineV1alphaTargetSiteFailureReason", +"properties": { +"quotaFailure": { +"$ref": "GoogleCloudDiscoveryengineV1alphaTargetSiteFailureReasonQuotaFailure", +"description": "Failed due to insufficient quota." +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1alphaTargetSiteFailureReasonQuotaFailure": { +"description": "Failed due to insufficient quota.", +"id": "GoogleCloudDiscoveryengineV1alphaTargetSiteFailureReasonQuotaFailure", +"properties": { +"totalRequiredQuota": { +"description": "This number is an estimation on how much total quota this project needs to successfully complete indexing.", +"format": "int64", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1alphaTrainCustomModelMetadata": { +"description": "Metadata related to the progress of the TrainCustomModel operation. This is returned by the google.longrunning.Operation.metadata field.", +"id": "GoogleCloudDiscoveryengineV1alphaTrainCustomModelMetadata", +"properties": { +"createTime": { +"description": "Operation create time.", +"format": "google-datetime", +"type": "string" +}, +"updateTime": { +"description": "Operation last update time. If the operation is done, this is also the finish time.", +"format": "google-datetime", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1alphaTrainCustomModelResponse": { +"description": "Response of the TrainCustomModelRequest. This message is returned by the google.longrunning.Operations.response field.", +"id": "GoogleCloudDiscoveryengineV1alphaTrainCustomModelResponse", +"properties": { +"errorConfig": { +"$ref": "GoogleCloudDiscoveryengineV1alphaImportErrorConfig", +"description": "Echoes the destination for the complete errors in the request if set." +}, +"errorSamples": { +"description": "A sample of errors encountered while processing the data.", +"items": { +"$ref": "GoogleRpcStatus" +}, +"type": "array" +}, +"metrics": { +"additionalProperties": { +"format": "double", +"type": "number" +}, +"description": "The metrics of the trained model.", +"type": "object" +}, +"modelName": { +"description": "Fully qualified name of the CustomTuningModel.", +"type": "string" +}, +"modelStatus": { +"description": "The trained model status. Possible values are: * **bad-data**: The training data quality is bad. * **no-improvement**: Tuning didn't improve performance. Won't deploy. * **in-progress**: Model training job creation is in progress. * **training**: Model is actively training. * **evaluating**: The model is evaluating trained metrics. * **indexing**: The model trained metrics are indexing. * **ready**: The model is ready for serving.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1alphaTuneEngineMetadata": { +"description": "Metadata associated with a tune operation.", +"id": "GoogleCloudDiscoveryengineV1alphaTuneEngineMetadata", +"properties": { +"engine": { +"description": "Required. The resource name of the engine that this tune applies to. Format: `projects/{project}/locations/{location}/collections/{collection_id}/engines/{engine_id}`", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1alphaTuneEngineResponse": { +"description": "Response associated with a tune operation.", +"id": "GoogleCloudDiscoveryengineV1alphaTuneEngineResponse", +"properties": {}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1alphaUpdateCmekConfigMetadata": { +"description": "Metadata related to the progress of the CmekConfigService.UpdateCmekConfig operation. This will be returned by the google.longrunning.Operation.metadata field.", +"id": "GoogleCloudDiscoveryengineV1alphaUpdateCmekConfigMetadata", +"properties": { +"createTime": { +"description": "Operation create time.", +"format": "google-datetime", +"type": "string" +}, +"updateTime": { +"description": "Operation last update time. If the operation is done, this is also the finish time.", +"format": "google-datetime", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1alphaUpdateCollectionMetadata": { +"description": "Metadata related to the progress of the CollectionService.UpdateCollection operation. This will be returned by the google.longrunning.Operation.metadata field.", +"id": "GoogleCloudDiscoveryengineV1alphaUpdateCollectionMetadata", +"properties": { +"createTime": { +"description": "Operation create time.", +"format": "google-datetime", +"type": "string" +}, +"updateTime": { +"description": "Operation last update time. If the operation is done, this is also the finish time.", +"format": "google-datetime", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1alphaUpdateSchemaMetadata": { +"description": "Metadata for UpdateSchema LRO.", +"id": "GoogleCloudDiscoveryengineV1alphaUpdateSchemaMetadata", +"properties": { +"createTime": { +"description": "Operation create time.", +"format": "google-datetime", +"type": "string" +}, +"updateTime": { +"description": "Operation last update time. If the operation is done, this is also the finish time.", +"format": "google-datetime", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1alphaUpdateSessionRequest": { +"description": "Request for UpdateSession method.", +"id": "GoogleCloudDiscoveryengineV1alphaUpdateSessionRequest", +"properties": { +"session": { +"$ref": "GoogleCloudDiscoveryengineV1alphaSession", +"description": "Required. The Session to update." +}, +"updateMask": { +"description": "Indicates which fields in the provided Session to update. The following are NOT supported: * Session.name If not set or empty, all supported fields are updated.", +"format": "google-fieldmask", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1alphaUpdateTargetSiteMetadata": { +"description": "Metadata related to the progress of the SiteSearchEngineService.UpdateTargetSite operation. This will be returned by the google.longrunning.Operation.metadata field.", +"id": "GoogleCloudDiscoveryengineV1alphaUpdateTargetSiteMetadata", +"properties": { +"createTime": { +"description": "Operation create time.", +"format": "google-datetime", +"type": "string" +}, +"updateTime": { +"description": "Operation last update time. If the operation is done, this is also the finish time.", +"format": "google-datetime", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1alphaUserInfo": { +"description": "Information of an end user.", +"id": "GoogleCloudDiscoveryengineV1alphaUserInfo", +"properties": { +"userAgent": { +"description": "User agent as included in the HTTP header. The field must be a UTF-8 encoded string with a length limit of 1,000 characters. Otherwise, an `INVALID_ARGUMENT` error is returned. This should not be set when using the client side event reporting with GTM or JavaScript tag in UserEventService.CollectUserEvent or if UserEvent.direct_user_request is set.", +"type": "string" +}, +"userId": { +"description": "Highly recommended for logged-in users. Unique identifier for logged-in user, such as a user name. Don't set for anonymous users. Always use a hashed value for this ID. Don't set the field to the same fixed ID for different users. This mixes the event history of those users together, which results in degraded model quality. The field must be a UTF-8 encoded string with a length limit of 128 characters. Otherwise, an `INVALID_ARGUMENT` error is returned.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1alphaWorkspaceConfig": { +"description": "Config to store data store type configuration for workspace data", +"id": "GoogleCloudDiscoveryengineV1alphaWorkspaceConfig", +"properties": { +"dasherCustomerId": { +"description": "Obfuscated Dasher customer ID.", +"type": "string" +}, +"superAdminEmailAddress": { +"description": "Optional. The super admin email address for the workspace that will be used for access token generation. For now we only use it for Native Google Drive connector data ingestion.", +"type": "string" +}, +"superAdminServiceAccount": { +"description": "Optional. The super admin service account for the workspace that will be used for access token generation. For now we only use it for Native Google Drive connector data ingestion.", +"type": "string" +}, +"type": { +"description": "The Google Workspace data source.", +"enum": [ +"TYPE_UNSPECIFIED", +"GOOGLE_DRIVE", +"GOOGLE_MAIL", +"GOOGLE_SITES", +"GOOGLE_CALENDAR", +"GOOGLE_CHAT", +"GOOGLE_GROUPS", +"GOOGLE_KEEP" +], +"enumDescriptions": [ +"Defaults to an unspecified Workspace type.", +"Workspace Data Store contains Drive data", +"Workspace Data Store contains Mail data", +"Workspace Data Store contains Sites data", +"Workspace Data Store contains Calendar data", +"Workspace Data Store contains Chat data", +"Workspace Data Store contains Groups data", +"Workspace Data Store contains Keep data" +], +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1betaAdvancedCompleteQueryRequest": { +"description": "Request message for CompletionService.AdvancedCompleteQuery method. .", +"id": "GoogleCloudDiscoveryengineV1betaAdvancedCompleteQueryRequest", +"properties": { +"boostSpec": { +"$ref": "GoogleCloudDiscoveryengineV1betaAdvancedCompleteQueryRequestBoostSpec", +"description": "Optional. Specification to boost suggestions matching the condition." +}, +"includeTailSuggestions": { +"description": "Indicates if tail suggestions should be returned if there are no suggestions that match the full query. Even if set to true, if there are suggestions that match the full query, those are returned and no tail suggestions are returned.", +"type": "boolean" +}, +"query": { +"description": "Required. The typeahead input used to fetch suggestions. Maximum length is 128 characters. The query can not be empty for most of the suggestion types. If it is empty, an `INVALID_ARGUMENT` error is returned. The exception is when the suggestion_types contains only the type `RECENT_SEARCH`, the query can be an empty string. The is called \"zero prefix\" feature, which returns user's recently searched queries given the empty query.", +"type": "string" +}, +"queryModel": { +"description": "Specifies the autocomplete data model. This overrides any model specified in the Configuration > Autocomplete section of the Cloud console. Currently supported values: * `document` - Using suggestions generated from user-imported documents. * `search-history` - Using suggestions generated from the past history of SearchService.Search API calls. Do not use it when there is no traffic for Search API. * `user-event` - Using suggestions generated from user-imported search events. * `document-completable` - Using suggestions taken directly from user-imported document fields marked as completable. Default values: * `document` is the default model for regular dataStores. * `search-history` is the default model for site search dataStores.", +"type": "string" +}, +"suggestionTypes": { +"description": "Optional. Suggestion types to return. If empty or unspecified, query suggestions are returned. Only one suggestion type is supported at the moment.", +"items": { +"enum": [ +"SUGGESTION_TYPE_UNSPECIFIED", +"QUERY", +"PEOPLE", +"CONTENT", +"RECENT_SEARCH", +"GOOGLE_WORKSPACE" +], +"enumDescriptions": [ +"Default value.", +"Returns query suggestions.", +"Returns people suggestions.", +"Returns content suggestions.", +"Returns recent search suggestions.", +"Returns Google Workspace suggestions." +], +"type": "string" +}, +"type": "array" +}, +"userInfo": { +"$ref": "GoogleCloudDiscoveryengineV1betaUserInfo", +"description": "Optional. Information about the end user. This should be the same identifier information as UserEvent.user_info and SearchRequest.user_info." +}, +"userPseudoId": { +"description": "A unique identifier for tracking visitors. For example, this could be implemented with an HTTP cookie, which should be able to uniquely identify a visitor on a single device. This unique identifier should not change if the visitor logs in or out of the website. This field should NOT have a fixed value such as `unknown_visitor`. This should be the same identifier as UserEvent.user_pseudo_id and SearchRequest.user_pseudo_id. The field must be a UTF-8 encoded string with a length limit of 128", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1betaAdvancedCompleteQueryRequestBoostSpec": { +"description": "Specification to boost suggestions based on the condtion of the suggestion.", +"id": "GoogleCloudDiscoveryengineV1betaAdvancedCompleteQueryRequestBoostSpec", +"properties": { +"conditionBoostSpecs": { +"description": "Condition boost specifications. If a suggestion matches multiple conditions in the specifictions, boost values from these specifications are all applied and combined in a non-linear way. Maximum number of specifications is 20. Note: Currently only support language condition boost.", +"items": { +"$ref": "GoogleCloudDiscoveryengineV1betaAdvancedCompleteQueryRequestBoostSpecConditionBoostSpec" +}, +"type": "array" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1betaAdvancedCompleteQueryRequestBoostSpecConditionBoostSpec": { +"description": "Boost applies to suggestions which match a condition.", +"id": "GoogleCloudDiscoveryengineV1betaAdvancedCompleteQueryRequestBoostSpecConditionBoostSpec", +"properties": { +"boost": { +"description": "Strength of the boost, which should be in [-1, 1]. Negative boost means demotion. Default is 0.0. Setting to 1.0 gives the suggestions a big promotion. However, it does not necessarily mean that the top result will be a boosted suggestion. Setting to -1.0 gives the suggestions a big demotion. However, other suggestions that are relevant might still be shown. Setting to 0.0 means no boost applied. The boosting condition is ignored.", +"format": "float", +"type": "number" +}, +"condition": { +"description": "An expression which specifies a boost condition. The syntax is the same as [filter expression syntax](https://cloud.google.com/generative-ai-app-builder/docs/filter-search-metadata#filter-expression-syntax). Currently, the only supported condition is a list of BCP-47 lang codes. Example: * To boost suggestions in languages `en` or `fr`: `(lang_code: ANY(\"en\", \"fr\"))`", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1betaAdvancedCompleteQueryResponse": { +"description": "Response message for CompletionService.AdvancedCompleteQuery method.", +"id": "GoogleCloudDiscoveryengineV1betaAdvancedCompleteQueryResponse", +"properties": { +"contentSuggestions": { +"description": "Results of the matched content suggestions. The result list is ordered and the first result is the top suggestion.", +"items": { +"$ref": "GoogleCloudDiscoveryengineV1betaAdvancedCompleteQueryResponseContentSuggestion" +}, +"type": "array" +}, +"peopleSuggestions": { +"description": "Results of the matched people suggestions. The result list is ordered and the first result is the top suggestion.", +"items": { +"$ref": "GoogleCloudDiscoveryengineV1betaAdvancedCompleteQueryResponsePersonSuggestion" +}, +"type": "array" +}, +"querySuggestions": { +"description": "Results of the matched query suggestions. The result list is ordered and the first result is a top suggestion.", +"items": { +"$ref": "GoogleCloudDiscoveryengineV1betaAdvancedCompleteQueryResponseQuerySuggestion" +}, +"type": "array" +}, +"recentSearchSuggestions": { +"description": "Results of the matched \"recent search\" suggestions. The result list is ordered and the first result is the top suggestion.", +"items": { +"$ref": "GoogleCloudDiscoveryengineV1betaAdvancedCompleteQueryResponseRecentSearchSuggestion" +}, +"type": "array" +}, +"tailMatchTriggered": { +"description": "True if the returned suggestions are all tail suggestions. For tail matching to be triggered, include_tail_suggestions in the request must be true and there must be no suggestions that match the full query.", +"type": "boolean" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1betaAdvancedCompleteQueryResponseContentSuggestion": { +"description": "Suggestions as content.", +"id": "GoogleCloudDiscoveryengineV1betaAdvancedCompleteQueryResponseContentSuggestion", +"properties": { +"contentType": { +"description": "The type of the content suggestion.", +"enum": [ +"CONTENT_TYPE_UNSPECIFIED", +"GOOGLE_WORKSPACE", +"THIRD_PARTY" +], +"enumDescriptions": [ +"Default value.", +"The suggestion is from a Google Workspace source.", +"The suggestion is from a third party source." +], +"type": "string" +}, +"dataStore": { +"description": "The name of the dataStore that this suggestion belongs to.", +"type": "string" +}, +"document": { +"$ref": "GoogleCloudDiscoveryengineV1betaDocument", +"description": "The document data snippet in the suggestion. Only a subset of fields will be populated." +}, +"suggestion": { +"description": "The suggestion for the query.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1betaAdvancedCompleteQueryResponsePersonSuggestion": { +"description": "Suggestions as people.", +"id": "GoogleCloudDiscoveryengineV1betaAdvancedCompleteQueryResponsePersonSuggestion", +"properties": { +"dataStore": { +"description": "The name of the dataStore that this suggestion belongs to.", +"type": "string" +}, +"document": { +"$ref": "GoogleCloudDiscoveryengineV1betaDocument", +"description": "The document data snippet in the suggestion. Only a subset of fields is populated." +}, +"personType": { +"description": "The type of the person.", +"enum": [ +"PERSON_TYPE_UNSPECIFIED", +"CLOUD_IDENTITY", +"THIRD_PARTY_IDENTITY" +], +"enumDescriptions": [ +"Default value.", +"The suggestion is from a GOOGLE_IDENTITY source.", +"The suggestion is from a THIRD_PARTY_IDENTITY source." +], +"type": "string" +}, +"suggestion": { +"description": "The suggestion for the query.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1betaAdvancedCompleteQueryResponseQuerySuggestion": { +"description": "Suggestions as search queries.", +"id": "GoogleCloudDiscoveryengineV1betaAdvancedCompleteQueryResponseQuerySuggestion", +"properties": { +"completableFieldPaths": { +"description": "The unique document field paths that serve as the source of this suggestion if it was generated from completable fields. This field is only populated for the document-completable model.", +"items": { +"type": "string" +}, +"type": "array" +}, +"dataStore": { +"description": "The name of the dataStore that this suggestion belongs to.", +"items": { +"type": "string" +}, +"type": "array" +}, +"suggestion": { +"description": "The suggestion for the query.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1betaAdvancedCompleteQueryResponseRecentSearchSuggestion": { +"description": "Suggestions from recent search history.", +"id": "GoogleCloudDiscoveryengineV1betaAdvancedCompleteQueryResponseRecentSearchSuggestion", +"properties": { +"recentSearchTime": { +"description": "The time when this recent rearch happened.", +"format": "google-datetime", +"type": "string" +}, +"suggestion": { +"description": "The suggestion for the query.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1betaAdvancedSiteSearchConfig": { +"description": "Configuration data for advance site search.", +"id": "GoogleCloudDiscoveryengineV1betaAdvancedSiteSearchConfig", +"properties": { +"disableAutomaticRefresh": { +"description": "If set true, automatic refresh is disabled for the DataStore.", +"type": "boolean" +}, +"disableInitialIndex": { +"description": "If set true, initial indexing is disabled for the DataStore.", +"type": "boolean" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1betaAlloyDbSource": { +"description": "AlloyDB source import data from.", +"id": "GoogleCloudDiscoveryengineV1betaAlloyDbSource", +"properties": { +"clusterId": { +"description": "Required. The AlloyDB cluster to copy the data from with a length limit of 256 characters.", +"type": "string" +}, +"databaseId": { +"description": "Required. The AlloyDB database to copy the data from with a length limit of 256 characters.", +"type": "string" +}, +"gcsStagingDir": { +"description": "Intermediate Cloud Storage directory used for the import with a length limit of 2,000 characters. Can be specified if one wants to have the AlloyDB export to a specific Cloud Storage directory. Ensure that the AlloyDB service account has the necessary Cloud Storage Admin permissions to access the specified Cloud Storage directory.", +"type": "string" +}, +"locationId": { +"description": "Required. The AlloyDB location to copy the data from with a length limit of 256 characters.", +"type": "string" +}, +"projectId": { +"description": "The project ID that contains the AlloyDB source. Has a length limit of 128 characters. If not specified, inherits the project ID from the parent request.", +"type": "string" +}, +"tableId": { +"description": "Required. The AlloyDB table to copy the data from with a length limit of 256 characters.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1betaAnswer": { +"description": "Defines an answer.", +"id": "GoogleCloudDiscoveryengineV1betaAnswer", +"properties": { +"answerSkippedReasons": { +"description": "Additional answer-skipped reasons. This provides the reason for ignored cases. If nothing is skipped, this field is not set.", +"items": { +"enum": [ +"ANSWER_SKIPPED_REASON_UNSPECIFIED", +"ADVERSARIAL_QUERY_IGNORED", +"NON_ANSWER_SEEKING_QUERY_IGNORED", +"OUT_OF_DOMAIN_QUERY_IGNORED", +"POTENTIAL_POLICY_VIOLATION", +"NO_RELEVANT_CONTENT", +"JAIL_BREAKING_QUERY_IGNORED", +"CUSTOMER_POLICY_VIOLATION", +"NON_ANSWER_SEEKING_QUERY_IGNORED_V2", +"LOW_GROUNDED_ANSWER" +], +"enumDescriptions": [ +"Default value. The answer skipped reason is not specified.", +"The adversarial query ignored case.", +"The non-answer seeking query ignored case Google skips the answer if the query is chit chat.", +"The out-of-domain query ignored case. Google skips the answer if there are no high-relevance search results.", +"The potential policy violation case. Google skips the answer if there is a potential policy violation detected. This includes content that may be violent or toxic.", +"The no relevant content case. Google skips the answer if there is no relevant content in the retrieved search results.", +"The jail-breaking query ignored case. For example, \"Reply in the tone of a competing company's CEO\". Google skips the answer if the query is classified as a jail-breaking query.", +"The customer policy violation case. Google skips the summary if there is a customer policy violation detected. The policy is defined by the customer.", +"The non-answer seeking query ignored case. Google skips the answer if the query doesn't have clear intent.", +"The low-grounded answer case. Google skips the answer if a well grounded answer was unable to be generated." +], +"type": "string" +}, +"type": "array" +}, +"answerText": { +"description": "The textual answer.", +"type": "string" +}, +"citations": { +"description": "Citations.", +"items": { +"$ref": "GoogleCloudDiscoveryengineV1betaAnswerCitation" +}, +"type": "array" +}, +"completeTime": { +"description": "Output only. Answer completed timestamp.", +"format": "google-datetime", +"readOnly": true, +"type": "string" +}, +"createTime": { +"description": "Output only. Answer creation timestamp.", +"format": "google-datetime", +"readOnly": true, +"type": "string" +}, +"groundingScore": { +"description": "A score in the range of [0, 1] describing how grounded the answer is by the reference chunks.", +"format": "double", +"type": "number" +}, +"groundingSupports": { +"description": "Optional. Grounding supports.", +"items": { +"$ref": "GoogleCloudDiscoveryengineV1betaAnswerGroundingSupport" +}, +"type": "array" +}, +"name": { +"description": "Immutable. Fully qualified name `projects/{project}/locations/global/collections/{collection}/engines/{engine}/sessions/*/answers/*`", +"type": "string" +}, +"queryUnderstandingInfo": { +"$ref": "GoogleCloudDiscoveryengineV1betaAnswerQueryUnderstandingInfo", +"description": "Query understanding information." +}, +"references": { +"description": "References.", +"items": { +"$ref": "GoogleCloudDiscoveryengineV1betaAnswerReference" +}, +"type": "array" +}, +"relatedQuestions": { +"description": "Suggested related questions.", +"items": { +"type": "string" +}, +"type": "array" +}, +"safetyRatings": { +"description": "Optional. Safety ratings.", +"items": { +"$ref": "GoogleCloudDiscoveryengineV1betaSafetyRating" +}, +"type": "array" +}, +"state": { +"description": "The state of the answer generation.", +"enum": [ +"STATE_UNSPECIFIED", +"IN_PROGRESS", +"FAILED", +"SUCCEEDED", +"STREAMING" +], +"enumDescriptions": [ +"Unknown.", +"Answer generation is currently in progress.", +"Answer generation currently failed.", +"Answer generation has succeeded.", +"Answer generation is currently in progress." +], +"type": "string" +}, +"steps": { +"description": "Answer generation steps.", +"items": { +"$ref": "GoogleCloudDiscoveryengineV1betaAnswerStep" +}, +"type": "array" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1betaAnswerCitation": { +"description": "Citation info for a segment.", +"id": "GoogleCloudDiscoveryengineV1betaAnswerCitation", +"properties": { +"endIndex": { +"description": "End of the attributed segment, exclusive.", +"format": "int64", +"type": "string" +}, +"sources": { +"description": "Citation sources for the attributed segment.", +"items": { +"$ref": "GoogleCloudDiscoveryengineV1betaAnswerCitationSource" +}, +"type": "array" +}, +"startIndex": { +"description": "Index indicates the start of the segment, measured in bytes (UTF-8 unicode).", +"format": "int64", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1betaAnswerCitationSource": { +"description": "Citation source.", +"id": "GoogleCloudDiscoveryengineV1betaAnswerCitationSource", +"properties": { +"referenceId": { +"description": "ID of the citation source.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1betaAnswerGroundingSupport": { +"description": "Grounding support for a claim in `answer_text`.", +"id": "GoogleCloudDiscoveryengineV1betaAnswerGroundingSupport", +"properties": { +"endIndex": { +"description": "Required. End of the claim, exclusive.", +"format": "int64", +"type": "string" +}, +"groundingCheckRequired": { +"description": "Indicates that this claim required grounding check. When the system decided this claim didn't require attribution/grounding check, this field is set to false. In that case, no grounding check was done for the claim and therefore `grounding_score`, `sources` is not returned.", +"type": "boolean" +}, +"groundingScore": { +"description": "A score in the range of [0, 1] describing how grounded is a specific claim by the references. Higher value means that the claim is better supported by the reference chunks.", +"format": "double", +"type": "number" +}, +"sources": { +"description": "Optional. Citation sources for the claim.", +"items": { +"$ref": "GoogleCloudDiscoveryengineV1betaAnswerCitationSource" +}, +"type": "array" +}, +"startIndex": { +"description": "Required. Index indicates the start of the claim, measured in bytes (UTF-8 unicode).", +"format": "int64", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1betaAnswerQueryRequest": { +"description": "Request message for ConversationalSearchService.AnswerQuery method.", +"id": "GoogleCloudDiscoveryengineV1betaAnswerQueryRequest", +"properties": { +"answerGenerationSpec": { +"$ref": "GoogleCloudDiscoveryengineV1betaAnswerQueryRequestAnswerGenerationSpec", +"description": "Answer generation specification." +}, +"asynchronousMode": { +"deprecated": true, +"description": "Deprecated: This field is deprecated. Streaming Answer API will be supported. Asynchronous mode control. If enabled, the response will be returned with answer/session resource name without final answer. The API users need to do the polling to get the latest status of answer/session by calling ConversationalSearchService.GetAnswer or ConversationalSearchService.GetSession method.", +"type": "boolean" +}, +"groundingSpec": { +"$ref": "GoogleCloudDiscoveryengineV1betaAnswerQueryRequestGroundingSpec", +"description": "Optional. Grounding specification." +}, +"query": { +"$ref": "GoogleCloudDiscoveryengineV1betaQuery", +"description": "Required. Current user query." +}, +"queryUnderstandingSpec": { +"$ref": "GoogleCloudDiscoveryengineV1betaAnswerQueryRequestQueryUnderstandingSpec", +"description": "Query understanding specification." +}, +"relatedQuestionsSpec": { +"$ref": "GoogleCloudDiscoveryengineV1betaAnswerQueryRequestRelatedQuestionsSpec", +"description": "Related questions specification." +}, +"safetySpec": { +"$ref": "GoogleCloudDiscoveryengineV1betaAnswerQueryRequestSafetySpec", +"description": "Model specification." +}, +"searchSpec": { +"$ref": "GoogleCloudDiscoveryengineV1betaAnswerQueryRequestSearchSpec", +"description": "Search specification." +}, +"session": { +"description": "The session resource name. Not required. When session field is not set, the API is in sessionless mode. We support auto session mode: users can use the wildcard symbol `-` as session ID. A new ID will be automatically generated and assigned.", +"type": "string" +}, +"userLabels": { +"additionalProperties": { +"type": "string" +}, +"description": "The user labels applied to a resource must meet the following requirements: * Each resource can have multiple labels, up to a maximum of 64. * Each label must be a key-value pair. * Keys have a minimum length of 1 character and a maximum length of 63 characters and cannot be empty. Values can be empty and have a maximum length of 63 characters. * Keys and values can contain only lowercase letters, numeric characters, underscores, and dashes. All characters must use UTF-8 encoding, and international characters are allowed. * The key portion of a label must be unique. However, you can use the same key with multiple resources. * Keys must start with a lowercase letter or international character. See [Google Cloud Document](https://cloud.google.com/resource-manager/docs/creating-managing-labels#requirements) for more details.", +"type": "object" +}, +"userPseudoId": { +"description": "A unique identifier for tracking visitors. For example, this could be implemented with an HTTP cookie, which should be able to uniquely identify a visitor on a single device. This unique identifier should not change if the visitor logs in or out of the website. This field should NOT have a fixed value such as `unknown_visitor`. The field must be a UTF-8 encoded string with a length limit of 128 characters. Otherwise, an `INVALID_ARGUMENT` error is returned.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1betaAnswerQueryRequestAnswerGenerationSpec": { +"description": "Answer generation specification.", +"id": "GoogleCloudDiscoveryengineV1betaAnswerQueryRequestAnswerGenerationSpec", +"properties": { +"answerLanguageCode": { +"description": "Language code for Answer. Use language tags defined by [BCP47](https://www.rfc-editor.org/rfc/bcp/bcp47.txt). Note: This is an experimental feature.", +"type": "string" +}, +"ignoreAdversarialQuery": { +"description": "Specifies whether to filter out adversarial queries. The default value is `false`. Google employs search-query classification to detect adversarial queries. No answer is returned if the search query is classified as an adversarial query. For example, a user might ask a question regarding negative comments about the company or submit a query designed to generate unsafe, policy-violating output. If this field is set to `true`, we skip generating answers for adversarial queries and return fallback messages instead.", +"type": "boolean" +}, +"ignoreJailBreakingQuery": { +"description": "Optional. Specifies whether to filter out jail-breaking queries. The default value is `false`. Google employs search-query classification to detect jail-breaking queries. No summary is returned if the search query is classified as a jail-breaking query. A user might add instructions to the query to change the tone, style, language, content of the answer, or ask the model to act as a different entity, e.g. \"Reply in the tone of a competing company's CEO\". If this field is set to `true`, we skip generating summaries for jail-breaking queries and return fallback messages instead.", +"type": "boolean" +}, +"ignoreLowRelevantContent": { +"description": "Specifies whether to filter out queries that have low relevance. If this field is set to `false`, all search results are used regardless of relevance to generate answers. If set to `true` or unset, the behavior will be determined automatically by the service.", +"type": "boolean" +}, +"ignoreNonAnswerSeekingQuery": { +"description": "Specifies whether to filter out queries that are not answer-seeking. The default value is `false`. Google employs search-query classification to detect answer-seeking queries. No answer is returned if the search query is classified as a non-answer seeking query. If this field is set to `true`, we skip generating answers for non-answer seeking queries and return fallback messages instead.", +"type": "boolean" +}, +"includeCitations": { +"description": "Specifies whether to include citation metadata in the answer. The default value is `false`.", +"type": "boolean" +}, +"modelSpec": { +"$ref": "GoogleCloudDiscoveryengineV1betaAnswerQueryRequestAnswerGenerationSpecModelSpec", +"description": "Answer generation model specification." +}, +"promptSpec": { +"$ref": "GoogleCloudDiscoveryengineV1betaAnswerQueryRequestAnswerGenerationSpecPromptSpec", +"description": "Answer generation prompt specification." +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1betaAnswerQueryRequestAnswerGenerationSpecModelSpec": { +"description": "Answer Generation Model specification.", +"id": "GoogleCloudDiscoveryengineV1betaAnswerQueryRequestAnswerGenerationSpecModelSpec", +"properties": { +"modelVersion": { +"description": "Model version. If not set, it will use the default stable model. Allowed values are: stable, preview.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1betaAnswerQueryRequestAnswerGenerationSpecPromptSpec": { +"description": "Answer generation prompt specification.", +"id": "GoogleCloudDiscoveryengineV1betaAnswerQueryRequestAnswerGenerationSpecPromptSpec", +"properties": { +"preamble": { +"description": "Customized preamble.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1betaAnswerQueryRequestGroundingSpec": { +"description": "Grounding specification.", +"id": "GoogleCloudDiscoveryengineV1betaAnswerQueryRequestGroundingSpec", +"properties": { +"filteringLevel": { +"description": "Optional. Specifies whether to enable the filtering based on grounding score and at what level.", +"enum": [ +"FILTERING_LEVEL_UNSPECIFIED", +"FILTERING_LEVEL_LOW", +"FILTERING_LEVEL_HIGH" +], +"enumDescriptions": [ +"Default is no filter", +"Filter answers based on a low threshold.", +"Filter answers based on a high threshold." +], +"type": "string" +}, +"includeGroundingSupports": { +"description": "Optional. Specifies whether to include grounding_supports in the answer. The default value is `false`. When this field is set to `true`, returned answer will have `grounding_score` and will contain GroundingSupports for each claim.", +"type": "boolean" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1betaAnswerQueryRequestQueryUnderstandingSpec": { +"description": "Query understanding specification.", +"id": "GoogleCloudDiscoveryengineV1betaAnswerQueryRequestQueryUnderstandingSpec", +"properties": { +"queryClassificationSpec": { +"$ref": "GoogleCloudDiscoveryengineV1betaAnswerQueryRequestQueryUnderstandingSpecQueryClassificationSpec", +"description": "Query classification specification." +}, +"queryRephraserSpec": { +"$ref": "GoogleCloudDiscoveryengineV1betaAnswerQueryRequestQueryUnderstandingSpecQueryRephraserSpec", +"description": "Query rephraser specification." +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1betaAnswerQueryRequestQueryUnderstandingSpecQueryClassificationSpec": { +"description": "Query classification specification.", +"id": "GoogleCloudDiscoveryengineV1betaAnswerQueryRequestQueryUnderstandingSpecQueryClassificationSpec", +"properties": { +"types": { +"description": "Enabled query classification types.", +"items": { +"enum": [ +"TYPE_UNSPECIFIED", +"ADVERSARIAL_QUERY", +"NON_ANSWER_SEEKING_QUERY", +"JAIL_BREAKING_QUERY", +"NON_ANSWER_SEEKING_QUERY_V2" +], +"enumDescriptions": [ +"Unspecified query classification type.", +"Adversarial query classification type.", +"Non-answer-seeking query classification type, for chit chat.", +"Jail-breaking query classification type.", +"Non-answer-seeking query classification type, for no clear intent." +], +"type": "string" +}, +"type": "array" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1betaAnswerQueryRequestQueryUnderstandingSpecQueryRephraserSpec": { +"description": "Query rephraser specification.", +"id": "GoogleCloudDiscoveryengineV1betaAnswerQueryRequestQueryUnderstandingSpecQueryRephraserSpec", +"properties": { +"disable": { +"description": "Disable query rephraser.", +"type": "boolean" +}, +"maxRephraseSteps": { +"description": "Max rephrase steps. The max number is 5 steps. If not set or set to < 1, it will be set to 1 by default.", +"format": "int32", +"type": "integer" +}, +"modelSpec": { +"$ref": "GoogleCloudDiscoveryengineV1betaAnswerQueryRequestQueryUnderstandingSpecQueryRephraserSpecModelSpec", +"description": "Optional. Query Rephraser Model specification." +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1betaAnswerQueryRequestQueryUnderstandingSpecQueryRephraserSpecModelSpec": { +"description": "Query Rephraser Model specification.", +"id": "GoogleCloudDiscoveryengineV1betaAnswerQueryRequestQueryUnderstandingSpecQueryRephraserSpecModelSpec", +"properties": { +"modelType": { +"description": "Optional. Enabled query rephraser model type. If not set, it will use LARGE by default.", +"enum": [ +"MODEL_TYPE_UNSPECIFIED", +"SMALL", +"LARGE" +], +"enumDescriptions": [ +"Unspecified model type.", +"Small query rephraser model. Gemini 1.0 XS model.", +"Large query rephraser model. Gemini 1.0 Pro model." +], +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1betaAnswerQueryRequestRelatedQuestionsSpec": { +"description": "Related questions specification.", +"id": "GoogleCloudDiscoveryengineV1betaAnswerQueryRequestRelatedQuestionsSpec", +"properties": { +"enable": { +"description": "Enable related questions feature if true.", +"type": "boolean" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1betaAnswerQueryRequestSafetySpec": { +"description": "Safety specification. There are two use cases: 1. when only safety_spec.enable is set, the BLOCK_LOW_AND_ABOVE threshold will be applied for all categories. 2. when safety_spec.enable is set and some safety_settings are set, only specified safety_settings are applied.", +"id": "GoogleCloudDiscoveryengineV1betaAnswerQueryRequestSafetySpec", +"properties": { +"enable": { +"description": "Enable the safety filtering on the answer response. It is false by default.", +"type": "boolean" +}, +"safetySettings": { +"description": "Optional. Safety settings. This settings are effective only when the safety_spec.enable is true.", +"items": { +"$ref": "GoogleCloudDiscoveryengineV1betaAnswerQueryRequestSafetySpecSafetySetting" +}, +"type": "array" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1betaAnswerQueryRequestSafetySpecSafetySetting": { +"description": "Safety settings.", +"id": "GoogleCloudDiscoveryengineV1betaAnswerQueryRequestSafetySpecSafetySetting", +"properties": { +"category": { +"description": "Required. Harm category.", +"enum": [ +"HARM_CATEGORY_UNSPECIFIED", +"HARM_CATEGORY_HATE_SPEECH", +"HARM_CATEGORY_DANGEROUS_CONTENT", +"HARM_CATEGORY_HARASSMENT", +"HARM_CATEGORY_SEXUALLY_EXPLICIT", +"HARM_CATEGORY_CIVIC_INTEGRITY" +], +"enumDescriptions": [ +"The harm category is unspecified.", +"The harm category is hate speech.", +"The harm category is dangerous content.", +"The harm category is harassment.", +"The harm category is sexually explicit content.", +"The harm category is civic integrity." +], +"type": "string" +}, +"threshold": { +"description": "Required. The harm block threshold.", +"enum": [ +"HARM_BLOCK_THRESHOLD_UNSPECIFIED", +"BLOCK_LOW_AND_ABOVE", +"BLOCK_MEDIUM_AND_ABOVE", +"BLOCK_ONLY_HIGH", +"BLOCK_NONE", +"OFF" +], +"enumDescriptions": [ +"Unspecified harm block threshold.", +"Block low threshold and above (i.e. block more).", +"Block medium threshold and above.", +"Block only high threshold (i.e. block less).", +"Block none.", +"Turn off the safety filter." +], +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1betaAnswerQueryRequestSearchSpec": { +"description": "Search specification.", +"id": "GoogleCloudDiscoveryengineV1betaAnswerQueryRequestSearchSpec", +"properties": { +"searchParams": { +"$ref": "GoogleCloudDiscoveryengineV1betaAnswerQueryRequestSearchSpecSearchParams", +"description": "Search parameters." +}, +"searchResultList": { +"$ref": "GoogleCloudDiscoveryengineV1betaAnswerQueryRequestSearchSpecSearchResultList", +"description": "Search result list." +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1betaAnswerQueryRequestSearchSpecSearchParams": { +"description": "Search parameters.", +"id": "GoogleCloudDiscoveryengineV1betaAnswerQueryRequestSearchSpecSearchParams", +"properties": { +"boostSpec": { +"$ref": "GoogleCloudDiscoveryengineV1betaSearchRequestBoostSpec", +"description": "Boost specification to boost certain documents in search results which may affect the answer query response. For more information on boosting, see [Boosting](https://cloud.google.com/retail/docs/boosting#boost)" +}, +"dataStoreSpecs": { +"description": "Specs defining dataStores to filter on in a search call and configurations for those dataStores. This is only considered for engines with multiple dataStores use case. For single dataStore within an engine, they should use the specs at the top level.", +"items": { +"$ref": "GoogleCloudDiscoveryengineV1betaSearchRequestDataStoreSpec" +}, +"type": "array" +}, +"filter": { +"description": "The filter syntax consists of an expression language for constructing a predicate from one or more fields of the documents being filtered. Filter expression is case-sensitive. This will be used to filter search results which may affect the Answer response. If this field is unrecognizable, an `INVALID_ARGUMENT` is returned. Filtering in Vertex AI Search is done by mapping the LHS filter key to a key property defined in the Vertex AI Search backend -- this mapping is defined by the customer in their schema. For example a media customers might have a field 'name' in their schema. In this case the filter would look like this: filter --> name:'ANY(\"king kong\")' For more information about filtering including syntax and filter operators, see [Filter](https://cloud.google.com/generative-ai-app-builder/docs/filter-search-metadata)", +"type": "string" +}, +"maxReturnResults": { +"description": "Number of search results to return. The default value is 10.", +"format": "int32", +"type": "integer" +}, +"naturalLanguageQueryUnderstandingSpec": { +"$ref": "GoogleCloudDiscoveryengineV1betaSearchRequestNaturalLanguageQueryUnderstandingSpec", +"description": "Optional. Specification to enable natural language understanding capabilities for search requests." +}, +"orderBy": { +"description": "The order in which documents are returned. Documents can be ordered by a field in an Document object. Leave it unset if ordered by relevance. `order_by` expression is case-sensitive. For more information on ordering, see [Ordering](https://cloud.google.com/retail/docs/filter-and-order#order) If this field is unrecognizable, an `INVALID_ARGUMENT` is returned.", +"type": "string" +}, +"searchResultMode": { +"description": "Specifies the search result mode. If unspecified, the search result mode defaults to `DOCUMENTS`. See [parse and chunk documents](https://cloud.google.com/generative-ai-app-builder/docs/parse-chunk-documents)", +"enum": [ +"SEARCH_RESULT_MODE_UNSPECIFIED", +"DOCUMENTS", +"CHUNKS" +], +"enumDescriptions": [ +"Default value.", +"Returns documents in the search result.", +"Returns chunks in the search result. Only available if the DocumentProcessingConfig.chunking_config is specified." +], +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1betaAnswerQueryRequestSearchSpecSearchResultList": { +"description": "Search result list.", +"id": "GoogleCloudDiscoveryengineV1betaAnswerQueryRequestSearchSpecSearchResultList", +"properties": { +"searchResults": { +"description": "Search results.", +"items": { +"$ref": "GoogleCloudDiscoveryengineV1betaAnswerQueryRequestSearchSpecSearchResultListSearchResult" +}, +"type": "array" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1betaAnswerQueryRequestSearchSpecSearchResultListSearchResult": { +"description": "Search result.", +"id": "GoogleCloudDiscoveryengineV1betaAnswerQueryRequestSearchSpecSearchResultListSearchResult", +"properties": { +"chunkInfo": { +"$ref": "GoogleCloudDiscoveryengineV1betaAnswerQueryRequestSearchSpecSearchResultListSearchResultChunkInfo", +"description": "Chunk information." +}, +"unstructuredDocumentInfo": { +"$ref": "GoogleCloudDiscoveryengineV1betaAnswerQueryRequestSearchSpecSearchResultListSearchResultUnstructuredDocumentInfo", +"description": "Unstructured document information." +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1betaAnswerQueryRequestSearchSpecSearchResultListSearchResultChunkInfo": { +"description": "Chunk information.", +"id": "GoogleCloudDiscoveryengineV1betaAnswerQueryRequestSearchSpecSearchResultListSearchResultChunkInfo", +"properties": { +"chunk": { +"description": "Chunk resource name.", +"type": "string" +}, +"content": { +"description": "Chunk textual content.", +"type": "string" +}, +"documentMetadata": { +"$ref": "GoogleCloudDiscoveryengineV1betaAnswerQueryRequestSearchSpecSearchResultListSearchResultChunkInfoDocumentMetadata", +"description": "Metadata of the document from the current chunk." +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1betaAnswerQueryRequestSearchSpecSearchResultListSearchResultChunkInfoDocumentMetadata": { +"description": "Document metadata contains the information of the document of the current chunk.", +"id": "GoogleCloudDiscoveryengineV1betaAnswerQueryRequestSearchSpecSearchResultListSearchResultChunkInfoDocumentMetadata", +"properties": { +"title": { +"description": "Title of the document.", +"type": "string" +}, +"uri": { +"description": "Uri of the document.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1betaAnswerQueryRequestSearchSpecSearchResultListSearchResultUnstructuredDocumentInfo": { +"description": "Unstructured document information.", +"id": "GoogleCloudDiscoveryengineV1betaAnswerQueryRequestSearchSpecSearchResultListSearchResultUnstructuredDocumentInfo", +"properties": { +"document": { +"description": "Document resource name.", +"type": "string" +}, +"documentContexts": { +"description": "List of document contexts. The content will be used for Answer Generation. This is supposed to be the main content of the document that can be long and comprehensive.", +"items": { +"$ref": "GoogleCloudDiscoveryengineV1betaAnswerQueryRequestSearchSpecSearchResultListSearchResultUnstructuredDocumentInfoDocumentContext" +}, +"type": "array" +}, +"extractiveAnswers": { +"deprecated": true, +"description": "Deprecated: This field is deprecated and will have no effect on the Answer generation. Please use document_contexts and extractive_segments fields. List of extractive answers.", +"items": { +"$ref": "GoogleCloudDiscoveryengineV1betaAnswerQueryRequestSearchSpecSearchResultListSearchResultUnstructuredDocumentInfoExtractiveAnswer" +}, +"type": "array" +}, +"extractiveSegments": { +"description": "List of extractive segments.", +"items": { +"$ref": "GoogleCloudDiscoveryengineV1betaAnswerQueryRequestSearchSpecSearchResultListSearchResultUnstructuredDocumentInfoExtractiveSegment" +}, +"type": "array" +}, +"title": { +"description": "Title.", +"type": "string" +}, +"uri": { +"description": "URI for the document.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1betaAnswerQueryRequestSearchSpecSearchResultListSearchResultUnstructuredDocumentInfoDocumentContext": { +"description": "Document context.", +"id": "GoogleCloudDiscoveryengineV1betaAnswerQueryRequestSearchSpecSearchResultListSearchResultUnstructuredDocumentInfoDocumentContext", +"properties": { +"content": { +"description": "Document content to be used for answer generation.", +"type": "string" +}, +"pageIdentifier": { +"description": "Page identifier.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1betaAnswerQueryRequestSearchSpecSearchResultListSearchResultUnstructuredDocumentInfoExtractiveAnswer": { +"description": "Extractive answer. [Guide](https://cloud.google.com/generative-ai-app-builder/docs/snippets#get-answers)", +"id": "GoogleCloudDiscoveryengineV1betaAnswerQueryRequestSearchSpecSearchResultListSearchResultUnstructuredDocumentInfoExtractiveAnswer", +"properties": { +"content": { +"description": "Extractive answer content.", +"type": "string" +}, +"pageIdentifier": { +"description": "Page identifier.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1betaAnswerQueryRequestSearchSpecSearchResultListSearchResultUnstructuredDocumentInfoExtractiveSegment": { +"description": "Extractive segment. [Guide](https://cloud.google.com/generative-ai-app-builder/docs/snippets#extractive-segments) Answer generation will only use it if document_contexts is empty. This is supposed to be shorter snippets.", +"id": "GoogleCloudDiscoveryengineV1betaAnswerQueryRequestSearchSpecSearchResultListSearchResultUnstructuredDocumentInfoExtractiveSegment", +"properties": { +"content": { +"description": "Extractive segment content.", +"type": "string" +}, +"pageIdentifier": { +"description": "Page identifier.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1betaAnswerQueryResponse": { +"description": "Response message for ConversationalSearchService.AnswerQuery method.", +"id": "GoogleCloudDiscoveryengineV1betaAnswerQueryResponse", +"properties": { +"answer": { +"$ref": "GoogleCloudDiscoveryengineV1betaAnswer", +"description": "Answer resource object. If AnswerQueryRequest.QueryUnderstandingSpec.QueryRephraserSpec.max_rephrase_steps is greater than 1, use Answer.name to fetch answer information using ConversationalSearchService.GetAnswer API." +}, +"answerQueryToken": { +"description": "A global unique ID used for logging.", +"type": "string" +}, +"session": { +"$ref": "GoogleCloudDiscoveryengineV1betaSession", +"description": "Session resource object. It will be only available when session field is set and valid in the AnswerQueryRequest request." +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1betaAnswerQueryUnderstandingInfo": { +"description": "Query understanding information.", +"id": "GoogleCloudDiscoveryengineV1betaAnswerQueryUnderstandingInfo", +"properties": { +"queryClassificationInfo": { +"description": "Query classification information.", +"items": { +"$ref": "GoogleCloudDiscoveryengineV1betaAnswerQueryUnderstandingInfoQueryClassificationInfo" +}, +"type": "array" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1betaAnswerQueryUnderstandingInfoQueryClassificationInfo": { +"description": "Query classification information.", +"id": "GoogleCloudDiscoveryengineV1betaAnswerQueryUnderstandingInfoQueryClassificationInfo", +"properties": { +"positive": { +"description": "Classification output.", +"type": "boolean" +}, +"type": { +"description": "Query classification type.", +"enum": [ +"TYPE_UNSPECIFIED", +"ADVERSARIAL_QUERY", +"NON_ANSWER_SEEKING_QUERY", +"JAIL_BREAKING_QUERY", +"NON_ANSWER_SEEKING_QUERY_V2" +], +"enumDescriptions": [ +"Unspecified query classification type.", +"Adversarial query classification type.", +"Non-answer-seeking query classification type, for chit chat.", +"Jail-breaking query classification type.", +"Non-answer-seeking query classification type, for no clear intent." +], +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1betaAnswerReference": { +"description": "Reference.", +"id": "GoogleCloudDiscoveryengineV1betaAnswerReference", +"properties": { +"chunkInfo": { +"$ref": "GoogleCloudDiscoveryengineV1betaAnswerReferenceChunkInfo", +"description": "Chunk information." +}, +"structuredDocumentInfo": { +"$ref": "GoogleCloudDiscoveryengineV1betaAnswerReferenceStructuredDocumentInfo", +"description": "Structured document information." +}, +"unstructuredDocumentInfo": { +"$ref": "GoogleCloudDiscoveryengineV1betaAnswerReferenceUnstructuredDocumentInfo", +"description": "Unstructured document information." +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1betaAnswerReferenceChunkInfo": { +"description": "Chunk information.", +"id": "GoogleCloudDiscoveryengineV1betaAnswerReferenceChunkInfo", +"properties": { +"chunk": { +"description": "Chunk resource name.", +"type": "string" +}, +"content": { +"description": "Chunk textual content.", +"type": "string" +}, +"documentMetadata": { +"$ref": "GoogleCloudDiscoveryengineV1betaAnswerReferenceChunkInfoDocumentMetadata", +"description": "Document metadata." +}, +"relevanceScore": { +"description": "The relevance of the chunk for a given query. Values range from 0.0 (completely irrelevant) to 1.0 (completely relevant). This value is for informational purpose only. It may change for the same query and chunk at any time due to a model retraining or change in implementation.", +"format": "float", +"type": "number" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1betaAnswerReferenceChunkInfoDocumentMetadata": { +"description": "Document metadata.", +"id": "GoogleCloudDiscoveryengineV1betaAnswerReferenceChunkInfoDocumentMetadata", +"properties": { +"document": { +"description": "Document resource name.", +"type": "string" +}, +"pageIdentifier": { +"description": "Page identifier.", +"type": "string" +}, +"structData": { +"additionalProperties": { +"description": "Properties of the object.", +"type": "any" +}, +"description": "The structured JSON metadata for the document. It is populated from the struct data from the Chunk in search result.", +"type": "object" +}, +"title": { +"description": "Title.", +"type": "string" +}, +"uri": { +"description": "URI for the document.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1betaAnswerReferenceStructuredDocumentInfo": { +"description": "Structured search information.", +"id": "GoogleCloudDiscoveryengineV1betaAnswerReferenceStructuredDocumentInfo", +"properties": { +"document": { +"description": "Document resource name.", +"type": "string" +}, +"structData": { +"additionalProperties": { +"description": "Properties of the object.", +"type": "any" +}, +"description": "Structured search data.", +"type": "object" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1betaAnswerReferenceUnstructuredDocumentInfo": { +"description": "Unstructured document information.", +"id": "GoogleCloudDiscoveryengineV1betaAnswerReferenceUnstructuredDocumentInfo", +"properties": { +"chunkContents": { +"description": "List of cited chunk contents derived from document content.", +"items": { +"$ref": "GoogleCloudDiscoveryengineV1betaAnswerReferenceUnstructuredDocumentInfoChunkContent" +}, +"type": "array" +}, +"document": { +"description": "Document resource name.", +"type": "string" +}, +"structData": { +"additionalProperties": { +"description": "Properties of the object.", +"type": "any" +}, +"description": "The structured JSON metadata for the document. It is populated from the struct data from the Chunk in search result.", +"type": "object" +}, +"title": { +"description": "Title.", +"type": "string" +}, +"uri": { +"description": "URI for the document.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1betaAnswerReferenceUnstructuredDocumentInfoChunkContent": { +"description": "Chunk content.", +"id": "GoogleCloudDiscoveryengineV1betaAnswerReferenceUnstructuredDocumentInfoChunkContent", +"properties": { +"content": { +"description": "Chunk textual content.", +"type": "string" +}, +"pageIdentifier": { +"description": "Page identifier.", +"type": "string" +}, +"relevanceScore": { +"description": "The relevance of the chunk for a given query. Values range from 0.0 (completely irrelevant) to 1.0 (completely relevant). This value is for informational purpose only. It may change for the same query and chunk at any time due to a model retraining or change in implementation.", +"format": "float", +"type": "number" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1betaAnswerStep": { +"description": "Step information.", +"id": "GoogleCloudDiscoveryengineV1betaAnswerStep", +"properties": { +"actions": { +"description": "Actions.", +"items": { +"$ref": "GoogleCloudDiscoveryengineV1betaAnswerStepAction" +}, +"type": "array" +}, +"description": { +"description": "The description of the step.", +"type": "string" +}, +"state": { +"description": "The state of the step.", +"enum": [ +"STATE_UNSPECIFIED", +"IN_PROGRESS", +"FAILED", +"SUCCEEDED" +], +"enumDescriptions": [ +"Unknown.", +"Step is currently in progress.", +"Step currently failed.", +"Step has succeeded." +], +"type": "string" +}, +"thought": { +"description": "The thought of the step.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1betaAnswerStepAction": { +"description": "Action.", +"id": "GoogleCloudDiscoveryengineV1betaAnswerStepAction", +"properties": { +"observation": { +"$ref": "GoogleCloudDiscoveryengineV1betaAnswerStepActionObservation", +"description": "Observation." +}, +"searchAction": { +"$ref": "GoogleCloudDiscoveryengineV1betaAnswerStepActionSearchAction", +"description": "Search action." +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1betaAnswerStepActionObservation": { +"description": "Observation.", +"id": "GoogleCloudDiscoveryengineV1betaAnswerStepActionObservation", +"properties": { +"searchResults": { +"description": "Search results observed by the search action, it can be snippets info or chunk info, depending on the citation type set by the user.", +"items": { +"$ref": "GoogleCloudDiscoveryengineV1betaAnswerStepActionObservationSearchResult" +}, +"type": "array" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1betaAnswerStepActionObservationSearchResult": { +"id": "GoogleCloudDiscoveryengineV1betaAnswerStepActionObservationSearchResult", +"properties": { +"chunkInfo": { +"description": "If citation_type is CHUNK_LEVEL_CITATION and chunk mode is on, populate chunk info.", +"items": { +"$ref": "GoogleCloudDiscoveryengineV1betaAnswerStepActionObservationSearchResultChunkInfo" +}, +"type": "array" +}, +"document": { +"description": "Document resource name.", +"type": "string" +}, +"snippetInfo": { +"description": "If citation_type is DOCUMENT_LEVEL_CITATION, populate document level snippets.", +"items": { +"$ref": "GoogleCloudDiscoveryengineV1betaAnswerStepActionObservationSearchResultSnippetInfo" +}, +"type": "array" +}, +"structData": { +"additionalProperties": { +"description": "Properties of the object.", +"type": "any" +}, +"description": "Data representation. The structured JSON data for the document. It's populated from the struct data from the Document, or the Chunk in search result.", +"type": "object" +}, +"title": { +"description": "Title.", +"type": "string" +}, +"uri": { +"description": "URI for the document.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1betaAnswerStepActionObservationSearchResultChunkInfo": { +"description": "Chunk information.", +"id": "GoogleCloudDiscoveryengineV1betaAnswerStepActionObservationSearchResultChunkInfo", +"properties": { +"chunk": { +"description": "Chunk resource name.", +"type": "string" +}, +"content": { +"description": "Chunk textual content.", +"type": "string" +}, +"relevanceScore": { +"description": "The relevance of the chunk for a given query. Values range from 0.0 (completely irrelevant) to 1.0 (completely relevant). This value is for informational purpose only. It may change for the same query and chunk at any time due to a model retraining or change in implementation.", +"format": "float", +"type": "number" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1betaAnswerStepActionObservationSearchResultSnippetInfo": { +"description": "Snippet information.", +"id": "GoogleCloudDiscoveryengineV1betaAnswerStepActionObservationSearchResultSnippetInfo", +"properties": { +"snippet": { +"description": "Snippet content.", +"type": "string" +}, +"snippetStatus": { +"description": "Status of the snippet defined by the search team.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1betaAnswerStepActionSearchAction": { +"description": "Search action.", +"id": "GoogleCloudDiscoveryengineV1betaAnswerStepActionSearchAction", +"properties": { +"query": { +"description": "The query to search.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1betaBatchCreateTargetSiteMetadata": { +"description": "Metadata related to the progress of the SiteSearchEngineService.BatchCreateTargetSites operation. This will be returned by the google.longrunning.Operation.metadata field.", +"id": "GoogleCloudDiscoveryengineV1betaBatchCreateTargetSiteMetadata", +"properties": { +"createTime": { +"description": "Operation create time.", +"format": "google-datetime", +"type": "string" +}, +"updateTime": { +"description": "Operation last update time. If the operation is done, this is also the finish time.", +"format": "google-datetime", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1betaBatchCreateTargetSitesRequest": { +"description": "Request message for SiteSearchEngineService.BatchCreateTargetSites method.", +"id": "GoogleCloudDiscoveryengineV1betaBatchCreateTargetSitesRequest", +"properties": { +"requests": { +"description": "Required. The request message specifying the resources to create. A maximum of 20 TargetSites can be created in a batch.", +"items": { +"$ref": "GoogleCloudDiscoveryengineV1betaCreateTargetSiteRequest" +}, +"type": "array" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1betaBatchCreateTargetSitesResponse": { +"description": "Response message for SiteSearchEngineService.BatchCreateTargetSites method.", +"id": "GoogleCloudDiscoveryengineV1betaBatchCreateTargetSitesResponse", +"properties": { +"targetSites": { +"description": "TargetSites created.", +"items": { +"$ref": "GoogleCloudDiscoveryengineV1betaTargetSite" +}, +"type": "array" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1betaBatchGetDocumentsMetadataResponse": { +"description": "Response message for DocumentService.BatchGetDocumentsMetadata method.", +"id": "GoogleCloudDiscoveryengineV1betaBatchGetDocumentsMetadataResponse", +"properties": { +"documentsMetadata": { +"description": "The metadata of the Documents.", +"items": { +"$ref": "GoogleCloudDiscoveryengineV1betaBatchGetDocumentsMetadataResponseDocumentMetadata" +}, +"type": "array" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1betaBatchGetDocumentsMetadataResponseDocumentMetadata": { +"description": "The metadata of a Document.", +"id": "GoogleCloudDiscoveryengineV1betaBatchGetDocumentsMetadataResponseDocumentMetadata", +"properties": { +"dataIngestionSource": { +"description": "The data ingestion source of the Document. Allowed values are: * `batch`: Data ingested via Batch API, e.g., ImportDocuments. * `streaming` Data ingested via Streaming API, e.g., FHIR streaming.", +"type": "string" +}, +"lastRefreshedTime": { +"description": "The timestamp of the last time the Document was last indexed.", +"format": "google-datetime", +"type": "string" +}, +"matcherValue": { +"$ref": "GoogleCloudDiscoveryengineV1betaBatchGetDocumentsMetadataResponseDocumentMetadataMatcherValue", +"description": "The value of the matcher that was used to match the Document." +}, +"state": { +"description": "The state of the document.", +"enum": [ +"STATE_UNSPECIFIED", +"INDEXED", +"NOT_IN_TARGET_SITE", +"NOT_IN_INDEX" +], +"enumDescriptions": [ +"Should never be set.", +"The Document is indexed.", +"The Document is not indexed because its URI is not in the TargetSite.", +"The Document is not indexed." +], +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1betaBatchGetDocumentsMetadataResponseDocumentMetadataMatcherValue": { +"description": "The value of the matcher that was used to match the Document.", +"id": "GoogleCloudDiscoveryengineV1betaBatchGetDocumentsMetadataResponseDocumentMetadataMatcherValue", +"properties": { +"fhirResource": { +"description": "Format: projects/{project}/locations/{location}/datasets/{dataset}/fhirStores/{fhir_store}/fhir/{resource_type}/{fhir_resource_id}", +"type": "string" +}, +"uri": { +"description": "If match by URI, the URI of the Document.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1betaBatchVerifyTargetSitesRequest": { +"description": "Request message for SiteSearchEngineService.BatchVerifyTargetSites method.", +"id": "GoogleCloudDiscoveryengineV1betaBatchVerifyTargetSitesRequest", +"properties": {}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1betaBigQuerySource": { +"description": "BigQuery source import data from.", +"id": "GoogleCloudDiscoveryengineV1betaBigQuerySource", +"properties": { +"dataSchema": { +"description": "The schema to use when parsing the data from the source. Supported values for user event imports: * `user_event` (default): One UserEvent per row. Supported values for document imports: * `document` (default): One Document format per row. Each document must have a valid Document.id and one of Document.json_data or Document.struct_data. * `custom`: One custom data per row in arbitrary format that conforms to the defined Schema of the data store. This can only be used by the GENERIC Data Store vertical.", +"type": "string" +}, +"datasetId": { +"description": "Required. The BigQuery data set to copy the data from with a length limit of 1,024 characters.", +"type": "string" +}, +"gcsStagingDir": { +"description": "Intermediate Cloud Storage directory used for the import with a length limit of 2,000 characters. Can be specified if one wants to have the BigQuery export to a specific Cloud Storage directory.", +"type": "string" +}, +"partitionDate": { +"$ref": "GoogleTypeDate", +"description": "BigQuery time partitioned table's _PARTITIONDATE in YYYY-MM-DD format." +}, +"projectId": { +"description": "The project ID or the project number that contains the BigQuery source. Has a length limit of 128 characters. If not specified, inherits the project ID from the parent request.", +"type": "string" +}, +"tableId": { +"description": "Required. The BigQuery table to copy the data from with a length limit of 1,024 characters.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1betaBigtableOptions": { +"description": "The Bigtable Options object that contains information to support the import.", +"id": "GoogleCloudDiscoveryengineV1betaBigtableOptions", +"properties": { +"families": { +"additionalProperties": { +"$ref": "GoogleCloudDiscoveryengineV1betaBigtableOptionsBigtableColumnFamily" +}, +"description": "The mapping from family names to an object that contains column families level information for the given column family. If a family is not present in this map it will be ignored.", +"type": "object" +}, +"keyFieldName": { +"description": "The field name used for saving row key value in the document. The name has to match the pattern `a-zA-Z0-9*`.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1betaBigtableOptionsBigtableColumn": { +"description": "The column of the Bigtable.", +"id": "GoogleCloudDiscoveryengineV1betaBigtableOptionsBigtableColumn", +"properties": { +"encoding": { +"description": "The encoding mode of the values when the type is not `STRING`. Acceptable encoding values are: * `TEXT`: indicates values are alphanumeric text strings. * `BINARY`: indicates values are encoded using `HBase Bytes.toBytes` family of functions. This can be overridden for a specific column by listing that column in `columns` and specifying an encoding for it.", +"enum": [ +"ENCODING_UNSPECIFIED", +"TEXT", +"BINARY" +], +"enumDescriptions": [ +"The encoding is unspecified.", +"Text encoding.", +"Binary encoding." +], +"type": "string" +}, +"fieldName": { +"description": "The field name to use for this column in the document. The name has to match the pattern `a-zA-Z0-9*`. If not set, it is parsed from the qualifier bytes with best effort. However, due to different naming patterns, field name collisions could happen, where parsing behavior is undefined.", +"type": "string" +}, +"qualifier": { +"description": "Required. Qualifier of the column. If it cannot be decoded with utf-8, use a base-64 encoded string instead.", +"format": "byte", +"type": "string" +}, +"type": { +"description": "The type of values in this column family. The values are expected to be encoded using `HBase Bytes.toBytes` function when the encoding value is set to `BINARY`.", +"enum": [ +"TYPE_UNSPECIFIED", +"STRING", +"NUMBER", +"INTEGER", +"VAR_INTEGER", +"BIG_NUMERIC", +"BOOLEAN", +"JSON" +], +"enumDescriptions": [ +"The type is unspecified.", +"String type.", +"Numerical type.", +"Integer type.", +"Variable length integer type.", +"BigDecimal type.", +"Boolean type.", +"JSON type." +], +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1betaBigtableOptionsBigtableColumnFamily": { +"description": "The column family of the Bigtable.", +"id": "GoogleCloudDiscoveryengineV1betaBigtableOptionsBigtableColumnFamily", +"properties": { +"columns": { +"description": "The list of objects that contains column level information for each column. If a column is not present in this list it will be ignored.", +"items": { +"$ref": "GoogleCloudDiscoveryengineV1betaBigtableOptionsBigtableColumn" +}, +"type": "array" +}, +"encoding": { +"description": "The encoding mode of the values when the type is not STRING. Acceptable encoding values are: * `TEXT`: indicates values are alphanumeric text strings. * `BINARY`: indicates values are encoded using `HBase Bytes.toBytes` family of functions. This can be overridden for a specific column by listing that column in `columns` and specifying an encoding for it.", +"enum": [ +"ENCODING_UNSPECIFIED", +"TEXT", +"BINARY" +], +"enumDescriptions": [ +"The encoding is unspecified.", +"Text encoding.", +"Binary encoding." +], +"type": "string" +}, +"fieldName": { +"description": "The field name to use for this column family in the document. The name has to match the pattern `a-zA-Z0-9*`. If not set, it is parsed from the family name with best effort. However, due to different naming patterns, field name collisions could happen, where parsing behavior is undefined.", +"type": "string" +}, +"type": { +"description": "The type of values in this column family. The values are expected to be encoded using `HBase Bytes.toBytes` function when the encoding value is set to `BINARY`.", +"enum": [ +"TYPE_UNSPECIFIED", +"STRING", +"NUMBER", +"INTEGER", +"VAR_INTEGER", +"BIG_NUMERIC", +"BOOLEAN", +"JSON" +], +"enumDescriptions": [ +"The type is unspecified.", +"String type.", +"Numerical type.", +"Integer type.", +"Variable length integer type.", +"BigDecimal type.", +"Boolean type.", +"JSON type." +], +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1betaBigtableSource": { +"description": "The Cloud Bigtable source for importing data.", +"id": "GoogleCloudDiscoveryengineV1betaBigtableSource", +"properties": { +"bigtableOptions": { +"$ref": "GoogleCloudDiscoveryengineV1betaBigtableOptions", +"description": "Required. Bigtable options that contains information needed when parsing data into typed structures. For example, column type annotations." +}, +"instanceId": { +"description": "Required. The instance ID of the Cloud Bigtable that needs to be imported.", +"type": "string" +}, +"projectId": { +"description": "The project ID that contains the Bigtable source. Has a length limit of 128 characters. If not specified, inherits the project ID from the parent request.", +"type": "string" +}, +"tableId": { +"description": "Required. The table ID of the Cloud Bigtable that needs to be imported.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1betaCheckGroundingRequest": { +"description": "Request message for GroundedGenerationService.CheckGrounding method.", +"id": "GoogleCloudDiscoveryengineV1betaCheckGroundingRequest", +"properties": { +"answerCandidate": { +"description": "Answer candidate to check. It can have a maximum length of 4096 tokens.", +"type": "string" +}, +"facts": { +"description": "List of facts for the grounding check. We support up to 200 facts.", +"items": { +"$ref": "GoogleCloudDiscoveryengineV1betaGroundingFact" +}, +"type": "array" +}, +"groundingSpec": { +"$ref": "GoogleCloudDiscoveryengineV1betaCheckGroundingSpec", +"description": "Configuration of the grounding check." +}, +"userLabels": { +"additionalProperties": { +"type": "string" +}, +"description": "The user labels applied to a resource must meet the following requirements: * Each resource can have multiple labels, up to a maximum of 64. * Each label must be a key-value pair. * Keys have a minimum length of 1 character and a maximum length of 63 characters and cannot be empty. Values can be empty and have a maximum length of 63 characters. * Keys and values can contain only lowercase letters, numeric characters, underscores, and dashes. All characters must use UTF-8 encoding, and international characters are allowed. * The key portion of a label must be unique. However, you can use the same key with multiple resources. * Keys must start with a lowercase letter or international character. See [Google Cloud Document](https://cloud.google.com/resource-manager/docs/creating-managing-labels#requirements) for more details.", +"type": "object" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1betaCheckGroundingResponse": { +"description": "Response message for the GroundedGenerationService.CheckGrounding method.", +"id": "GoogleCloudDiscoveryengineV1betaCheckGroundingResponse", +"properties": { +"citedChunks": { +"description": "List of facts cited across all claims in the answer candidate. These are derived from the facts supplied in the request.", +"items": { +"$ref": "GoogleCloudDiscoveryengineV1betaFactChunk" +}, +"type": "array" +}, +"citedFacts": { +"description": "List of facts cited across all claims in the answer candidate. These are derived from the facts supplied in the request.", +"items": { +"$ref": "GoogleCloudDiscoveryengineV1betaCheckGroundingResponseCheckGroundingFactChunk" +}, +"type": "array" +}, +"claims": { +"description": "Claim texts and citation info across all claims in the answer candidate.", +"items": { +"$ref": "GoogleCloudDiscoveryengineV1betaCheckGroundingResponseClaim" +}, +"type": "array" +}, +"supportScore": { +"description": "The support score for the input answer candidate. Higher the score, higher is the fraction of claims that are supported by the provided facts. This is always set when a response is returned.", +"format": "float", +"type": "number" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1betaCheckGroundingResponseCheckGroundingFactChunk": { +"description": "Fact chunk for grounding check.", +"id": "GoogleCloudDiscoveryengineV1betaCheckGroundingResponseCheckGroundingFactChunk", +"properties": { +"chunkText": { +"description": "Text content of the fact chunk. Can be at most 10K characters long.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1betaCheckGroundingResponseClaim": { +"description": "Text and citation info for a claim in the answer candidate.", +"id": "GoogleCloudDiscoveryengineV1betaCheckGroundingResponseClaim", +"properties": { +"citationIndices": { +"description": "A list of indices (into 'cited_chunks') specifying the citations associated with the claim. For instance [1,3,4] means that cited_chunks[1], cited_chunks[3], cited_chunks[4] are the facts cited supporting for the claim. A citation to a fact indicates that the claim is supported by the fact.", +"items": { +"format": "int32", +"type": "integer" +}, +"type": "array" +}, +"claimText": { +"description": "Text for the claim in the answer candidate. Always provided regardless of whether citations or anti-citations are found.", +"type": "string" +}, +"endPos": { +"description": "Position indicating the end of the claim in the answer candidate, exclusive.", +"format": "int32", +"type": "integer" +}, +"groundingCheckRequired": { +"description": "Indicates that this claim required grounding check. When the system decided this claim doesn't require attribution/grounding check, this field will be set to false. In that case, no grounding check was done for the claim and therefore citation_indices should not be returned.", +"type": "boolean" +}, +"startPos": { +"description": "Position indicating the start of the claim in the answer candidate, measured in bytes.", +"format": "int32", +"type": "integer" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1betaCheckGroundingSpec": { +"description": "Specification for the grounding check.", +"id": "GoogleCloudDiscoveryengineV1betaCheckGroundingSpec", +"properties": { +"citationThreshold": { +"description": "The threshold (in [0,1]) used for determining whether a fact must be cited for a claim in the answer candidate. Choosing a higher threshold will lead to fewer but very strong citations, while choosing a lower threshold may lead to more but somewhat weaker citations. If unset, the threshold will default to 0.6.", +"format": "double", +"type": "number" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1betaChunk": { +"description": "Chunk captures all raw metadata information of items to be recommended or searched in the chunk mode.", +"id": "GoogleCloudDiscoveryengineV1betaChunk", +"properties": { +"chunkMetadata": { +"$ref": "GoogleCloudDiscoveryengineV1betaChunkChunkMetadata", +"description": "Output only. Metadata of the current chunk.", +"readOnly": true +}, +"content": { +"description": "Content is a string from a document (parsed content).", +"type": "string" +}, +"derivedStructData": { +"additionalProperties": { +"description": "Properties of the object.", +"type": "any" +}, +"description": "Output only. This field is OUTPUT_ONLY. It contains derived data that are not in the original input document.", +"readOnly": true, +"type": "object" +}, +"documentMetadata": { +"$ref": "GoogleCloudDiscoveryengineV1betaChunkDocumentMetadata", +"description": "Metadata of the document from the current chunk." +}, +"id": { +"description": "Unique chunk ID of the current chunk.", +"type": "string" +}, +"name": { +"description": "The full resource name of the chunk. Format: `projects/{project}/locations/{location}/collections/{collection}/dataStores/{data_store}/branches/{branch}/documents/{document_id}/chunks/{chunk_id}`. This field must be a UTF-8 encoded string with a length limit of 1024 characters.", +"type": "string" +}, +"pageSpan": { +"$ref": "GoogleCloudDiscoveryengineV1betaChunkPageSpan", +"description": "Page span of the chunk." +}, +"relevanceScore": { +"description": "Output only. Represents the relevance score based on similarity. Higher score indicates higher chunk relevance. The score is in range [-1.0, 1.0]. Only populated on SearchResponse.", +"format": "double", +"readOnly": true, +"type": "number" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1betaChunkChunkMetadata": { +"description": "Metadata of the current chunk. This field is only populated on SearchService.Search API.", +"id": "GoogleCloudDiscoveryengineV1betaChunkChunkMetadata", +"properties": { +"nextChunks": { +"description": "The next chunks of the current chunk. The number is controlled by SearchRequest.ContentSearchSpec.ChunkSpec.num_next_chunks. This field is only populated on SearchService.Search API.", +"items": { +"$ref": "GoogleCloudDiscoveryengineV1betaChunk" +}, +"type": "array" +}, +"previousChunks": { +"description": "The previous chunks of the current chunk. The number is controlled by SearchRequest.ContentSearchSpec.ChunkSpec.num_previous_chunks. This field is only populated on SearchService.Search API.", +"items": { +"$ref": "GoogleCloudDiscoveryengineV1betaChunk" +}, +"type": "array" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1betaChunkDocumentMetadata": { +"description": "Document metadata contains the information of the document of the current chunk.", +"id": "GoogleCloudDiscoveryengineV1betaChunkDocumentMetadata", +"properties": { +"structData": { +"additionalProperties": { +"description": "Properties of the object.", +"type": "any" +}, +"description": "Data representation. The structured JSON data for the document. It should conform to the registered Schema or an `INVALID_ARGUMENT` error is thrown.", +"type": "object" +}, +"title": { +"description": "Title of the document.", +"type": "string" +}, +"uri": { +"description": "Uri of the document.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1betaChunkPageSpan": { +"description": "Page span of the chunk.", +"id": "GoogleCloudDiscoveryengineV1betaChunkPageSpan", +"properties": { +"pageEnd": { +"description": "The end page of the chunk.", +"format": "int32", +"type": "integer" +}, +"pageStart": { +"description": "The start page of the chunk.", +"format": "int32", +"type": "integer" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1betaCloudSqlSource": { +"description": "Cloud SQL source import data from.", +"id": "GoogleCloudDiscoveryengineV1betaCloudSqlSource", +"properties": { +"databaseId": { +"description": "Required. The Cloud SQL database to copy the data from with a length limit of 256 characters.", +"type": "string" +}, +"gcsStagingDir": { +"description": "Intermediate Cloud Storage directory used for the import with a length limit of 2,000 characters. Can be specified if one wants to have the Cloud SQL export to a specific Cloud Storage directory. Ensure that the Cloud SQL service account has the necessary Cloud Storage Admin permissions to access the specified Cloud Storage directory.", +"type": "string" +}, +"instanceId": { +"description": "Required. The Cloud SQL instance to copy the data from with a length limit of 256 characters.", +"type": "string" +}, +"offload": { +"description": "Option for serverless export. Enabling this option will incur additional cost. More info can be found [here](https://cloud.google.com/sql/pricing#serverless).", +"type": "boolean" +}, +"projectId": { +"description": "The project ID that contains the Cloud SQL source. Has a length limit of 128 characters. If not specified, inherits the project ID from the parent request.", +"type": "string" +}, +"tableId": { +"description": "Required. The Cloud SQL table to copy the data from with a length limit of 256 characters.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1betaCmekConfig": { +"description": "Configurations used to enable CMEK data encryption with Cloud KMS keys.", +"id": "GoogleCloudDiscoveryengineV1betaCmekConfig", +"properties": { +"isDefault": { +"description": "Output only. The default CmekConfig for the Customer.", +"readOnly": true, +"type": "boolean" +}, +"kmsKey": { +"description": "Kms key resource name which will be used to encrypt resources `projects/{project}/locations/{location}/keyRings/{keyRing}/cryptoKeys/{keyId}`.", +"type": "string" +}, +"kmsKeyVersion": { +"description": "Kms key version resource name which will be used to encrypt resources `/cryptoKeyVersions/{keyVersion}`.", +"type": "string" +}, +"lastRotationTimestampMicros": { +"description": "Output only. The timestamp of the last key rotation.", +"format": "int64", +"readOnly": true, +"type": "string" +}, +"name": { +"description": "Required. Name of the CmekConfig, of the form `projects/{project}/locations/{location}/cmekConfig` or `projects/{project}/locations/{location}/cmekConfigs/{cmekConfig}`.", +"type": "string" +}, +"singleRegionKeys": { +"description": "Optional. Single-regional CMEKs that are required for some VAIS features.", +"items": { +"$ref": "GoogleCloudDiscoveryengineV1betaSingleRegionKey" +}, +"type": "array" +}, +"state": { +"description": "Output only. State of the CmekConfig.", +"enum": [ +"STATE_UNSPECIFIED", +"CREATING", +"ACTIVE", +"KEY_ISSUE", +"DELETING", +"UNUSABLE", +"ACTIVE_ROTATING" +], +"enumDescriptions": [ +"The CmekConfig state is unknown.", +"The CmekConfig is creating.", +"The CmekConfig can be used with DataStores.", +"The CmekConfig is unavailable, most likely due to the KMS Key being revoked.", +"The CmekConfig is deleting.", +"The CmekConfig is not usable, most likely due to some internal issue.", +"The KMS key version is being rotated." +], +"readOnly": true, +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1betaCompleteQueryResponse": { +"description": "Response message for CompletionService.CompleteQuery method.", +"id": "GoogleCloudDiscoveryengineV1betaCompleteQueryResponse", +"properties": { +"querySuggestions": { +"description": "Results of the matched query suggestions. The result list is ordered and the first result is a top suggestion.", +"items": { +"$ref": "GoogleCloudDiscoveryengineV1betaCompleteQueryResponseQuerySuggestion" +}, +"type": "array" +}, +"tailMatchTriggered": { +"description": "True if the returned suggestions are all tail suggestions. For tail matching to be triggered, include_tail_suggestions in the request must be true and there must be no suggestions that match the full query.", +"type": "boolean" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1betaCompleteQueryResponseQuerySuggestion": { +"description": "Suggestions as search queries.", +"id": "GoogleCloudDiscoveryengineV1betaCompleteQueryResponseQuerySuggestion", +"properties": { +"completableFieldPaths": { +"description": "The unique document field paths that serve as the source of this suggestion if it was generated from completable fields. This field is only populated for the document-completable model.", +"items": { +"type": "string" +}, +"type": "array" +}, +"suggestion": { +"description": "The suggestion for the query.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1betaCompletionInfo": { +"description": "Detailed completion information including completion attribution token and clicked completion info.", +"id": "GoogleCloudDiscoveryengineV1betaCompletionInfo", +"properties": { +"selectedPosition": { +"description": "End user selected CompleteQueryResponse.QuerySuggestion.suggestion position, starting from 0.", +"format": "int32", +"type": "integer" +}, +"selectedSuggestion": { +"description": "End user selected CompleteQueryResponse.QuerySuggestion.suggestion.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1betaCompletionSuggestion": { +"description": "Autocomplete suggestions that are imported from Customer.", +"id": "GoogleCloudDiscoveryengineV1betaCompletionSuggestion", +"properties": { +"alternativePhrases": { +"description": "Alternative matching phrases for this suggestion.", +"items": { +"type": "string" +}, +"type": "array" +}, +"frequency": { +"description": "Frequency of this suggestion. Will be used to rank suggestions when score is not available.", +"format": "int64", +"type": "string" +}, +"globalScore": { +"description": "Global score of this suggestion. Control how this suggestion would be scored / ranked.", +"format": "double", +"type": "number" +}, +"groupId": { +"description": "If two suggestions have the same groupId, they will not be returned together. Instead the one ranked higher will be returned. This can be used to deduplicate semantically identical suggestions.", +"type": "string" +}, +"groupScore": { +"description": "The score of this suggestion within its group.", +"format": "double", +"type": "number" +}, +"languageCode": { +"description": "BCP-47 language code of this suggestion.", +"type": "string" +}, +"suggestion": { +"description": "Required. The suggestion text.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1betaCondition": { +"description": "Defines circumstances to be checked before allowing a behavior", +"id": "GoogleCloudDiscoveryengineV1betaCondition", +"properties": { +"activeTimeRange": { +"description": "Range of time(s) specifying when condition is active. Maximum of 10 time ranges.", +"items": { +"$ref": "GoogleCloudDiscoveryengineV1betaConditionTimeRange" +}, +"type": "array" +}, +"queryRegex": { +"description": "Optional. Query regex to match the whole search query. Cannot be set when Condition.query_terms is set. This is currently supporting promotion use case.", +"type": "string" +}, +"queryTerms": { +"description": "Search only A list of terms to match the query on. Cannot be set when Condition.query_regex is set. Maximum of 10 query terms.", +"items": { +"$ref": "GoogleCloudDiscoveryengineV1betaConditionQueryTerm" +}, +"type": "array" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1betaConditionQueryTerm": { +"description": "Matcher for search request query", +"id": "GoogleCloudDiscoveryengineV1betaConditionQueryTerm", +"properties": { +"fullMatch": { +"description": "Whether the search query needs to exactly match the query term.", +"type": "boolean" +}, +"value": { +"description": "The specific query value to match against Must be lowercase, must be UTF-8. Can have at most 3 space separated terms if full_match is true. Cannot be an empty string. Maximum length of 5000 characters.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1betaConditionTimeRange": { +"description": "Used for time-dependent conditions.", +"id": "GoogleCloudDiscoveryengineV1betaConditionTimeRange", +"properties": { +"endTime": { +"description": "End of time range. Range is inclusive. Must be in the future.", +"format": "google-datetime", +"type": "string" +}, +"startTime": { +"description": "Start of time range. Range is inclusive.", +"format": "google-datetime", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1betaControl": { +"description": "Defines a conditioned behavior to employ during serving. Must be attached to a ServingConfig to be considered at serving time. Permitted actions dependent on `SolutionType`.", +"id": "GoogleCloudDiscoveryengineV1betaControl", +"properties": { +"associatedServingConfigIds": { +"description": "Output only. List of all ServingConfig IDs this control is attached to. May take up to 10 minutes to update after changes.", +"items": { +"type": "string" +}, +"readOnly": true, +"type": "array" +}, +"boostAction": { +"$ref": "GoogleCloudDiscoveryengineV1betaControlBoostAction", +"description": "Defines a boost-type control" +}, +"conditions": { +"description": "Determines when the associated action will trigger. Omit to always apply the action. Currently only a single condition may be specified. Otherwise an INVALID ARGUMENT error is thrown.", +"items": { +"$ref": "GoogleCloudDiscoveryengineV1betaCondition" +}, +"type": "array" +}, +"displayName": { +"description": "Required. Human readable name. The identifier used in UI views. Must be UTF-8 encoded string. Length limit is 128 characters. Otherwise an INVALID ARGUMENT error is thrown.", +"type": "string" +}, +"filterAction": { +"$ref": "GoogleCloudDiscoveryengineV1betaControlFilterAction", +"description": "Defines a filter-type control Currently not supported by Recommendation" +}, +"name": { +"description": "Immutable. Fully qualified name `projects/*/locations/global/dataStore/*/controls/*`", +"type": "string" +}, +"promoteAction": { +"$ref": "GoogleCloudDiscoveryengineV1betaControlPromoteAction", +"description": "Promote certain links based on predefined trigger queries. This now only supports basic site search." +}, +"redirectAction": { +"$ref": "GoogleCloudDiscoveryengineV1betaControlRedirectAction", +"description": "Defines a redirect-type control." +}, +"solutionType": { +"description": "Required. Immutable. What solution the control belongs to. Must be compatible with vertical of resource. Otherwise an INVALID ARGUMENT error is thrown.", +"enum": [ +"SOLUTION_TYPE_UNSPECIFIED", +"SOLUTION_TYPE_RECOMMENDATION", +"SOLUTION_TYPE_SEARCH", +"SOLUTION_TYPE_CHAT", +"SOLUTION_TYPE_GENERATIVE_CHAT" +], +"enumDescriptions": [ +"Default value.", +"Used for Recommendations AI.", +"Used for Discovery Search.", +"Used for use cases related to the Generative AI agent.", +"Used for use cases related to the Generative Chat agent. It's used for Generative chat engine only, the associated data stores must enrolled with `SOLUTION_TYPE_CHAT` solution." +], +"type": "string" +}, +"synonymsAction": { +"$ref": "GoogleCloudDiscoveryengineV1betaControlSynonymsAction", +"description": "Treats a group of terms as synonyms of one another." +}, +"useCases": { +"description": "Specifies the use case for the control. Affects what condition fields can be set. Only applies to SOLUTION_TYPE_SEARCH. Currently only allow one use case per control. Must be set when solution_type is SolutionType.SOLUTION_TYPE_SEARCH.", +"items": { +"enum": [ +"SEARCH_USE_CASE_UNSPECIFIED", +"SEARCH_USE_CASE_SEARCH", +"SEARCH_USE_CASE_BROWSE" +], +"enumDescriptions": [ +"Value used when unset. Will not occur in CSS.", +"Search use case. Expects the traffic has a non-empty query.", +"Browse use case. Expects the traffic has an empty query." +], +"type": "string" +}, +"type": "array" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1betaControlBoostAction": { +"description": "Adjusts order of products in returned list.", +"id": "GoogleCloudDiscoveryengineV1betaControlBoostAction", +"properties": { +"boost": { +"deprecated": true, +"description": "Strength of the boost, which should be in [-1, 1]. Negative boost means demotion. Default is 0.0 (No-op).", +"format": "float", +"type": "number" +}, +"dataStore": { +"description": "Required. Specifies which data store's documents can be boosted by this control. Full data store name e.g. projects/123/locations/global/collections/default_collection/dataStores/default_data_store", +"type": "string" +}, +"filter": { +"description": "Required. Specifies which products to apply the boost to. If no filter is provided all products will be boosted (No-op). Syntax documentation: https://cloud.google.com/retail/docs/filter-and-order Maximum length is 5000 characters. Otherwise an INVALID ARGUMENT error is thrown.", +"type": "string" +}, +"fixedBoost": { +"description": "Optional. Strength of the boost, which should be in [-1, 1]. Negative boost means demotion. Default is 0.0 (No-op).", +"format": "float", +"type": "number" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1betaControlFilterAction": { +"description": "Specified which products may be included in results. Uses same filter as boost.", +"id": "GoogleCloudDiscoveryengineV1betaControlFilterAction", +"properties": { +"dataStore": { +"description": "Required. Specifies which data store's documents can be filtered by this control. Full data store name e.g. projects/123/locations/global/collections/default_collection/dataStores/default_data_store", +"type": "string" +}, +"filter": { +"description": "Required. A filter to apply on the matching condition results. Required Syntax documentation: https://cloud.google.com/retail/docs/filter-and-order Maximum length is 5000 characters. Otherwise an INVALID ARGUMENT error is thrown.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1betaControlPromoteAction": { +"description": "Promote certain links based on some trigger queries. Example: Promote shoe store link when searching for `shoe` keyword. The link can be outside of associated data store.", +"id": "GoogleCloudDiscoveryengineV1betaControlPromoteAction", +"properties": { +"dataStore": { +"description": "Required. Data store with which this promotion is attached to.", +"type": "string" +}, +"searchLinkPromotion": { +"$ref": "GoogleCloudDiscoveryengineV1betaSearchLinkPromotion", +"description": "Required. Promotion attached to this action." +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1betaControlRedirectAction": { +"description": "Redirects a shopper to the provided URI.", +"id": "GoogleCloudDiscoveryengineV1betaControlRedirectAction", +"properties": { +"redirectUri": { +"description": "Required. The URI to which the shopper will be redirected. Required. URI must have length equal or less than 2000 characters. Otherwise an INVALID ARGUMENT error is thrown.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1betaControlSynonymsAction": { +"description": "Creates a set of terms that will act as synonyms of one another. Example: \"happy\" will also be considered as \"glad\", \"glad\" will also be considered as \"happy\".", +"id": "GoogleCloudDiscoveryengineV1betaControlSynonymsAction", +"properties": { +"synonyms": { +"description": "Defines a set of synonyms. Can specify up to 100 synonyms. Must specify at least 2 synonyms. Otherwise an INVALID ARGUMENT error is thrown.", +"items": { +"type": "string" +}, +"type": "array" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1betaConversation": { +"description": "External conversation proto definition.", +"id": "GoogleCloudDiscoveryengineV1betaConversation", +"properties": { +"endTime": { +"description": "Output only. The time the conversation finished.", +"format": "google-datetime", +"readOnly": true, +"type": "string" +}, +"messages": { +"description": "Conversation messages.", +"items": { +"$ref": "GoogleCloudDiscoveryengineV1betaConversationMessage" +}, +"type": "array" +}, +"name": { +"description": "Immutable. Fully qualified name `projects/{project}/locations/global/collections/{collection}/dataStore/*/conversations/*` or `projects/{project}/locations/global/collections/{collection}/engines/*/conversations/*`.", +"type": "string" +}, +"startTime": { +"description": "Output only. The time the conversation started.", +"format": "google-datetime", +"readOnly": true, +"type": "string" +}, +"state": { +"description": "The state of the Conversation.", +"enum": [ +"STATE_UNSPECIFIED", +"IN_PROGRESS", +"COMPLETED" +], +"enumDescriptions": [ +"Unknown.", +"Conversation is currently open.", +"Conversation has been completed." +], +"type": "string" +}, +"userPseudoId": { +"description": "A unique identifier for tracking users.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1betaConversationContext": { +"description": "Defines context of the conversation", +"id": "GoogleCloudDiscoveryengineV1betaConversationContext", +"properties": { +"activeDocument": { +"description": "The current active document the user opened. It contains the document resource reference.", +"type": "string" +}, +"contextDocuments": { +"description": "The current list of documents the user is seeing. It contains the document resource references.", +"items": { +"type": "string" +}, +"type": "array" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1betaConversationMessage": { +"description": "Defines a conversation message.", +"id": "GoogleCloudDiscoveryengineV1betaConversationMessage", +"properties": { +"createTime": { +"description": "Output only. Message creation timestamp.", +"format": "google-datetime", +"readOnly": true, +"type": "string" +}, +"reply": { +"$ref": "GoogleCloudDiscoveryengineV1betaReply", +"description": "Search reply." +}, +"userInput": { +"$ref": "GoogleCloudDiscoveryengineV1betaTextInput", +"description": "User text input." +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1betaConverseConversationRequest": { +"description": "Request message for ConversationalSearchService.ConverseConversation method.", +"id": "GoogleCloudDiscoveryengineV1betaConverseConversationRequest", +"properties": { +"boostSpec": { +"$ref": "GoogleCloudDiscoveryengineV1betaSearchRequestBoostSpec", +"description": "Boost specification to boost certain documents in search results which may affect the converse response. For more information on boosting, see [Boosting](https://cloud.google.com/retail/docs/boosting#boost)" +}, +"conversation": { +"$ref": "GoogleCloudDiscoveryengineV1betaConversation", +"description": "The conversation to be used by auto session only. The name field will be ignored as we automatically assign new name for the conversation in auto session." +}, +"filter": { +"description": "The filter syntax consists of an expression language for constructing a predicate from one or more fields of the documents being filtered. Filter expression is case-sensitive. This will be used to filter search results which may affect the summary response. If this field is unrecognizable, an `INVALID_ARGUMENT` is returned. Filtering in Vertex AI Search is done by mapping the LHS filter key to a key property defined in the Vertex AI Search backend -- this mapping is defined by the customer in their schema. For example a media customer might have a field 'name' in their schema. In this case the filter would look like this: filter --> name:'ANY(\"king kong\")' For more information about filtering including syntax and filter operators, see [Filter](https://cloud.google.com/generative-ai-app-builder/docs/filter-search-metadata)", +"type": "string" +}, +"query": { +"$ref": "GoogleCloudDiscoveryengineV1betaTextInput", +"description": "Required. Current user input." +}, +"safeSearch": { +"description": "Whether to turn on safe search.", +"type": "boolean" +}, +"servingConfig": { +"description": "The resource name of the Serving Config to use. Format: `projects/{project}/locations/{location}/collections/{collection}/dataStores/{data_store_id}/servingConfigs/{serving_config_id}` If this is not set, the default serving config will be used.", +"type": "string" +}, +"summarySpec": { +"$ref": "GoogleCloudDiscoveryengineV1betaSearchRequestContentSearchSpecSummarySpec", +"description": "A specification for configuring the summary returned in the response." +}, +"userLabels": { +"additionalProperties": { +"type": "string" +}, +"description": "The user labels applied to a resource must meet the following requirements: * Each resource can have multiple labels, up to a maximum of 64. * Each label must be a key-value pair. * Keys have a minimum length of 1 character and a maximum length of 63 characters and cannot be empty. Values can be empty and have a maximum length of 63 characters. * Keys and values can contain only lowercase letters, numeric characters, underscores, and dashes. All characters must use UTF-8 encoding, and international characters are allowed. * The key portion of a label must be unique. However, you can use the same key with multiple resources. * Keys must start with a lowercase letter or international character. See [Google Cloud Document](https://cloud.google.com/resource-manager/docs/creating-managing-labels#requirements) for more details.", +"type": "object" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1betaConverseConversationResponse": { +"description": "Response message for ConversationalSearchService.ConverseConversation method.", +"id": "GoogleCloudDiscoveryengineV1betaConverseConversationResponse", +"properties": { +"conversation": { +"$ref": "GoogleCloudDiscoveryengineV1betaConversation", +"description": "Updated conversation including the answer." +}, +"relatedQuestions": { +"description": "Suggested related questions.", +"items": { +"type": "string" +}, +"type": "array" +}, +"reply": { +"$ref": "GoogleCloudDiscoveryengineV1betaReply", +"description": "Answer to the current query." +}, +"searchResults": { +"description": "Search Results.", +"items": { +"$ref": "GoogleCloudDiscoveryengineV1betaSearchResponseSearchResult" +}, +"type": "array" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1betaCreateDataStoreMetadata": { +"description": "Metadata related to the progress of the DataStoreService.CreateDataStore operation. This will be returned by the google.longrunning.Operation.metadata field.", +"id": "GoogleCloudDiscoveryengineV1betaCreateDataStoreMetadata", +"properties": { +"createTime": { +"description": "Operation create time.", +"format": "google-datetime", +"type": "string" +}, +"updateTime": { +"description": "Operation last update time. If the operation is done, this is also the finish time.", +"format": "google-datetime", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1betaCreateEngineMetadata": { +"description": "Metadata related to the progress of the EngineService.CreateEngine operation. This will be returned by the google.longrunning.Operation.metadata field.", +"id": "GoogleCloudDiscoveryengineV1betaCreateEngineMetadata", +"properties": { +"createTime": { +"description": "Operation create time.", +"format": "google-datetime", +"type": "string" +}, +"updateTime": { +"description": "Operation last update time. If the operation is done, this is also the finish time.", +"format": "google-datetime", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1betaCreateEvaluationMetadata": { +"description": "Metadata for EvaluationService.CreateEvaluation method.", +"id": "GoogleCloudDiscoveryengineV1betaCreateEvaluationMetadata", +"properties": {}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1betaCreateSchemaMetadata": { +"description": "Metadata for Create Schema LRO.", +"id": "GoogleCloudDiscoveryengineV1betaCreateSchemaMetadata", +"properties": { +"createTime": { +"description": "Operation create time.", +"format": "google-datetime", +"type": "string" +}, +"updateTime": { +"description": "Operation last update time. If the operation is done, this is also the finish time.", +"format": "google-datetime", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1betaCreateSitemapMetadata": { +"description": "Metadata related to the progress of the SiteSearchEngineService.CreateSitemap operation. This will be returned by the google.longrunning.Operation.metadata field.", +"id": "GoogleCloudDiscoveryengineV1betaCreateSitemapMetadata", +"properties": { +"createTime": { +"description": "Operation create time.", +"format": "google-datetime", +"type": "string" +}, +"updateTime": { +"description": "Operation last update time. If the operation is done, this is also the finish time.", +"format": "google-datetime", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1betaCreateTargetSiteMetadata": { +"description": "Metadata related to the progress of the SiteSearchEngineService.CreateTargetSite operation. This will be returned by the google.longrunning.Operation.metadata field.", +"id": "GoogleCloudDiscoveryengineV1betaCreateTargetSiteMetadata", +"properties": { +"createTime": { +"description": "Operation create time.", +"format": "google-datetime", +"type": "string" +}, +"updateTime": { +"description": "Operation last update time. If the operation is done, this is also the finish time.", +"format": "google-datetime", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1betaCreateTargetSiteRequest": { +"description": "Request message for SiteSearchEngineService.CreateTargetSite method.", +"id": "GoogleCloudDiscoveryengineV1betaCreateTargetSiteRequest", +"properties": { +"parent": { +"description": "Required. Parent resource name of TargetSite, such as `projects/{project}/locations/{location}/collections/{collection}/dataStores/{data_store}/siteSearchEngine`.", +"type": "string" +}, +"targetSite": { +"$ref": "GoogleCloudDiscoveryengineV1betaTargetSite", +"description": "Required. The TargetSite to create." +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1betaCustomAttribute": { +"description": "A custom attribute that is not explicitly modeled in a resource, e.g. UserEvent.", +"id": "GoogleCloudDiscoveryengineV1betaCustomAttribute", +"properties": { +"numbers": { +"description": "The numerical values of this custom attribute. For example, `[2.3, 15.4]` when the key is \"lengths_cm\". Exactly one of CustomAttribute.text or CustomAttribute.numbers should be set. Otherwise, an `INVALID_ARGUMENT` error is returned.", +"items": { +"format": "double", +"type": "number" +}, +"type": "array" +}, +"text": { +"description": "The textual values of this custom attribute. For example, `[\"yellow\", \"green\"]` when the key is \"color\". Empty string is not allowed. Otherwise, an `INVALID_ARGUMENT` error is returned. Exactly one of CustomAttribute.text or CustomAttribute.numbers should be set. Otherwise, an `INVALID_ARGUMENT` error is returned.", +"items": { +"type": "string" +}, +"type": "array" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1betaCustomTuningModel": { +"description": "Metadata that describes a custom tuned model.", +"id": "GoogleCloudDiscoveryengineV1betaCustomTuningModel", +"properties": { +"createTime": { +"deprecated": true, +"description": "Deprecated: Timestamp the Model was created at.", +"format": "google-datetime", +"type": "string" +}, +"displayName": { +"description": "The display name of the model.", +"type": "string" +}, +"errorMessage": { +"description": "Currently this is only populated if the model state is `INPUT_VALIDATION_FAILED`.", +"type": "string" +}, +"metrics": { +"additionalProperties": { +"format": "double", +"type": "number" +}, +"description": "The metrics of the trained model.", +"type": "object" +}, +"modelState": { +"description": "The state that the model is in (e.g.`TRAINING` or `TRAINING_FAILED`).", +"enum": [ +"MODEL_STATE_UNSPECIFIED", +"TRAINING_PAUSED", +"TRAINING", +"TRAINING_COMPLETE", +"READY_FOR_SERVING", +"TRAINING_FAILED", +"NO_IMPROVEMENT", +"INPUT_VALIDATION_FAILED" +], +"enumDescriptions": [ +"Default value.", +"The model is in a paused training state.", +"The model is currently training.", +"The model has successfully completed training.", +"The model is ready for serving.", +"The model training failed.", +"The model training finished successfully but metrics did not improve.", +"Input data validation failed. Model training didn't start." +], +"type": "string" +}, +"modelVersion": { +"description": "The version of the model.", +"format": "int64", +"type": "string" +}, +"name": { +"description": "Required. The fully qualified resource name of the model. Format: `projects/{project}/locations/{location}/collections/{collection}/dataStores/{data_store}/customTuningModels/{custom_tuning_model}`. Model must be an alpha-numerical string with limit of 40 characters.", +"type": "string" +}, +"trainingStartTime": { +"description": "Timestamp the model training was initiated.", +"format": "google-datetime", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1betaDataStore": { +"description": "DataStore captures global settings and configs at the DataStore level.", +"id": "GoogleCloudDiscoveryengineV1betaDataStore", +"properties": { +"advancedSiteSearchConfig": { +"$ref": "GoogleCloudDiscoveryengineV1betaAdvancedSiteSearchConfig", +"description": "Optional. Configuration for advanced site search." +}, +"billingEstimation": { +"$ref": "GoogleCloudDiscoveryengineV1betaDataStoreBillingEstimation", +"description": "Output only. Data size estimation for billing.", +"readOnly": true +}, +"cmekConfig": { +"$ref": "GoogleCloudDiscoveryengineV1betaCmekConfig", +"description": "Output only. CMEK-related information for the DataStore.", +"readOnly": true +}, +"contentConfig": { +"description": "Immutable. The content config of the data store. If this field is unset, the server behavior defaults to ContentConfig.NO_CONTENT.", +"enum": [ +"CONTENT_CONFIG_UNSPECIFIED", +"NO_CONTENT", +"CONTENT_REQUIRED", +"PUBLIC_WEBSITE", +"GOOGLE_WORKSPACE" +], +"enumDescriptions": [ +"Default value.", +"Only contains documents without any Document.content.", +"Only contains documents with Document.content.", +"The data store is used for public website search.", +"The data store is used for workspace search. Details of workspace data store are specified in the WorkspaceConfig." +], +"type": "string" +}, +"createTime": { +"description": "Output only. Timestamp the DataStore was created at.", +"format": "google-datetime", +"readOnly": true, +"type": "string" +}, +"defaultSchemaId": { +"description": "Output only. The id of the default Schema asscociated to this data store.", +"readOnly": true, +"type": "string" +}, +"displayName": { +"description": "Required. The data store display name. This field must be a UTF-8 encoded string with a length limit of 128 characters. Otherwise, an INVALID_ARGUMENT error is returned.", +"type": "string" +}, +"documentProcessingConfig": { +"$ref": "GoogleCloudDiscoveryengineV1betaDocumentProcessingConfig", +"description": "Configuration for Document understanding and enrichment." +}, +"industryVertical": { +"description": "Immutable. The industry vertical that the data store registers.", +"enum": [ +"INDUSTRY_VERTICAL_UNSPECIFIED", +"GENERIC", +"MEDIA", +"HEALTHCARE_FHIR" +], +"enumDescriptions": [ +"Value used when unset.", +"The generic vertical for documents that are not specific to any industry vertical.", +"The media industry vertical.", +"The healthcare FHIR vertical." +], +"type": "string" +}, +"isInfobotFaqDataStore": { +"description": "Optional. If set, this DataStore is an Infobot FAQ DataStore.", +"type": "boolean" +}, +"kmsKeyName": { +"description": "Input only. The KMS key to be used to protect this DataStore at creation time. Must be set for requests that need to comply with CMEK Org Policy protections. If this field is set and processed successfully, the DataStore will be protected by the KMS key, as indicated in the cmek_config field.", +"type": "string" +}, +"languageInfo": { +"$ref": "GoogleCloudDiscoveryengineV1betaLanguageInfo", +"description": "Language info for DataStore." +}, +"name": { +"description": "Immutable. The full resource name of the data store. Format: `projects/{project}/locations/{location}/collections/{collection_id}/dataStores/{data_store_id}`. This field must be a UTF-8 encoded string with a length limit of 1024 characters.", +"type": "string" +}, +"naturalLanguageQueryUnderstandingConfig": { +"$ref": "GoogleCloudDiscoveryengineV1betaNaturalLanguageQueryUnderstandingConfig", +"description": "Optional. Configuration for Natural Language Query Understanding." +}, +"servingConfigDataStore": { +"$ref": "GoogleCloudDiscoveryengineV1betaDataStoreServingConfigDataStore", +"description": "Optional. Stores serving config at DataStore level." +}, +"solutionTypes": { +"description": "The solutions that the data store enrolls. Available solutions for each industry_vertical: * `MEDIA`: `SOLUTION_TYPE_RECOMMENDATION` and `SOLUTION_TYPE_SEARCH`. * `SITE_SEARCH`: `SOLUTION_TYPE_SEARCH` is automatically enrolled. Other solutions cannot be enrolled.", +"items": { +"enum": [ +"SOLUTION_TYPE_UNSPECIFIED", +"SOLUTION_TYPE_RECOMMENDATION", +"SOLUTION_TYPE_SEARCH", +"SOLUTION_TYPE_CHAT", +"SOLUTION_TYPE_GENERATIVE_CHAT" +], +"enumDescriptions": [ +"Default value.", +"Used for Recommendations AI.", +"Used for Discovery Search.", +"Used for use cases related to the Generative AI agent.", +"Used for use cases related to the Generative Chat agent. It's used for Generative chat engine only, the associated data stores must enrolled with `SOLUTION_TYPE_CHAT` solution." +], +"type": "string" +}, +"type": "array" +}, +"startingSchema": { +"$ref": "GoogleCloudDiscoveryengineV1betaSchema", +"description": "The start schema to use for this DataStore when provisioning it. If unset, a default vertical specialized schema will be used. This field is only used by CreateDataStore API, and will be ignored if used in other APIs. This field will be omitted from all API responses including CreateDataStore API. To retrieve a schema of a DataStore, use SchemaService.GetSchema API instead. The provided schema will be validated against certain rules on schema. Learn more from [this doc](https://cloud.google.com/generative-ai-app-builder/docs/provide-schema)." +}, +"workspaceConfig": { +"$ref": "GoogleCloudDiscoveryengineV1betaWorkspaceConfig", +"description": "Config to store data store type configuration for workspace data. This must be set when DataStore.content_config is set as DataStore.ContentConfig.GOOGLE_WORKSPACE." +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1betaDataStoreBillingEstimation": { +"description": "Estimation of data size per data store.", +"id": "GoogleCloudDiscoveryengineV1betaDataStoreBillingEstimation", +"properties": { +"structuredDataSize": { +"description": "Data size for structured data in terms of bytes.", +"format": "int64", +"type": "string" +}, +"structuredDataUpdateTime": { +"description": "Last updated timestamp for structured data.", +"format": "google-datetime", +"type": "string" +}, +"unstructuredDataSize": { +"description": "Data size for unstructured data in terms of bytes.", +"format": "int64", +"type": "string" +}, +"unstructuredDataUpdateTime": { +"description": "Last updated timestamp for unstructured data.", +"format": "google-datetime", +"type": "string" +}, +"websiteDataSize": { +"description": "Data size for websites in terms of bytes.", +"format": "int64", +"type": "string" +}, +"websiteDataUpdateTime": { +"description": "Last updated timestamp for websites.", +"format": "google-datetime", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1betaDataStoreServingConfigDataStore": { +"description": "Stores information regarding the serving configurations at DataStore level.", +"id": "GoogleCloudDiscoveryengineV1betaDataStoreServingConfigDataStore", +"properties": { +"disabledForServing": { +"description": "If set true, the DataStore will not be available for serving search requests.", +"type": "boolean" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1betaDeleteDataStoreMetadata": { +"description": "Metadata related to the progress of the DataStoreService.DeleteDataStore operation. This will be returned by the google.longrunning.Operation.metadata field.", +"id": "GoogleCloudDiscoveryengineV1betaDeleteDataStoreMetadata", +"properties": { +"createTime": { +"description": "Operation create time.", +"format": "google-datetime", +"type": "string" +}, +"updateTime": { +"description": "Operation last update time. If the operation is done, this is also the finish time.", +"format": "google-datetime", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1betaDeleteEngineMetadata": { +"description": "Metadata related to the progress of the EngineService.DeleteEngine operation. This will be returned by the google.longrunning.Operation.metadata field.", +"id": "GoogleCloudDiscoveryengineV1betaDeleteEngineMetadata", +"properties": { +"createTime": { +"description": "Operation create time.", +"format": "google-datetime", +"type": "string" +}, +"updateTime": { +"description": "Operation last update time. If the operation is done, this is also the finish time.", +"format": "google-datetime", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1betaDeleteIdentityMappingStoreMetadata": { +"description": "Metadata related to the progress of the IdentityMappingStoreService.DeleteIdentityMappingStore operation. This will be returned by the google.longrunning.Operation.metadata field.", +"id": "GoogleCloudDiscoveryengineV1betaDeleteIdentityMappingStoreMetadata", +"properties": { +"createTime": { +"description": "Operation create time.", +"format": "google-datetime", +"type": "string" +}, +"updateTime": { +"description": "Operation last update time. If the operation is done, this is also the finish time.", +"format": "google-datetime", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1betaDeleteSchemaMetadata": { +"description": "Metadata for DeleteSchema LRO.", +"id": "GoogleCloudDiscoveryengineV1betaDeleteSchemaMetadata", +"properties": { +"createTime": { +"description": "Operation create time.", +"format": "google-datetime", +"type": "string" +}, +"updateTime": { +"description": "Operation last update time. If the operation is done, this is also the finish time.", +"format": "google-datetime", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1betaDeleteSitemapMetadata": { +"description": "Metadata related to the progress of the SiteSearchEngineService.DeleteSitemap operation. This will be returned by the google.longrunning.Operation.metadata field.", +"id": "GoogleCloudDiscoveryengineV1betaDeleteSitemapMetadata", +"properties": { +"createTime": { +"description": "Operation create time.", +"format": "google-datetime", +"type": "string" +}, +"updateTime": { +"description": "Operation last update time. If the operation is done, this is also the finish time.", +"format": "google-datetime", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1betaDeleteTargetSiteMetadata": { +"description": "Metadata related to the progress of the SiteSearchEngineService.DeleteTargetSite operation. This will be returned by the google.longrunning.Operation.metadata field.", +"id": "GoogleCloudDiscoveryengineV1betaDeleteTargetSiteMetadata", +"properties": { +"createTime": { +"description": "Operation create time.", +"format": "google-datetime", +"type": "string" +}, +"updateTime": { +"description": "Operation last update time. If the operation is done, this is also the finish time.", +"format": "google-datetime", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1betaDisableAdvancedSiteSearchMetadata": { +"description": "Metadata related to the progress of the SiteSearchEngineService.DisableAdvancedSiteSearch operation. This will be returned by the google.longrunning.Operation.metadata field.", +"id": "GoogleCloudDiscoveryengineV1betaDisableAdvancedSiteSearchMetadata", +"properties": { +"createTime": { +"description": "Operation create time.", +"format": "google-datetime", +"type": "string" +}, +"updateTime": { +"description": "Operation last update time. If the operation is done, this is also the finish time.", +"format": "google-datetime", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1betaDisableAdvancedSiteSearchRequest": { +"description": "Request message for SiteSearchEngineService.DisableAdvancedSiteSearch method.", +"id": "GoogleCloudDiscoveryengineV1betaDisableAdvancedSiteSearchRequest", +"properties": {}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1betaDisableAdvancedSiteSearchResponse": { +"description": "Response message for SiteSearchEngineService.DisableAdvancedSiteSearch method.", +"id": "GoogleCloudDiscoveryengineV1betaDisableAdvancedSiteSearchResponse", +"properties": {}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1betaDocument": { +"description": "Document captures all raw metadata information of items to be recommended or searched.", +"id": "GoogleCloudDiscoveryengineV1betaDocument", +"properties": { +"content": { +"$ref": "GoogleCloudDiscoveryengineV1betaDocumentContent", +"description": "The unstructured data linked to this document. Content must be set if this document is under a `CONTENT_REQUIRED` data store." +}, +"derivedStructData": { +"additionalProperties": { +"description": "Properties of the object.", +"type": "any" +}, +"description": "Output only. This field is OUTPUT_ONLY. It contains derived data that are not in the original input document.", +"readOnly": true, +"type": "object" +}, +"id": { +"description": "Immutable. The identifier of the document. Id should conform to [RFC-1034](https://tools.ietf.org/html/rfc1034) standard with a length limit of 128 characters.", +"type": "string" +}, +"indexStatus": { +"$ref": "GoogleCloudDiscoveryengineV1betaDocumentIndexStatus", +"description": "Output only. The index status of the document. * If document is indexed successfully, the index_time field is populated. * Otherwise, if document is not indexed due to errors, the error_samples field is populated. * Otherwise, if document's index is in progress, the pending_message field is populated.", +"readOnly": true +}, +"indexTime": { +"description": "Output only. The last time the document was indexed. If this field is set, the document could be returned in search results. This field is OUTPUT_ONLY. If this field is not populated, it means the document has never been indexed.", +"format": "google-datetime", +"readOnly": true, +"type": "string" +}, +"jsonData": { +"description": "The JSON string representation of the document. It should conform to the registered Schema or an `INVALID_ARGUMENT` error is thrown.", +"type": "string" +}, +"name": { +"description": "Immutable. The full resource name of the document. Format: `projects/{project}/locations/{location}/collections/{collection}/dataStores/{data_store}/branches/{branch}/documents/{document_id}`. This field must be a UTF-8 encoded string with a length limit of 1024 characters.", +"type": "string" +}, +"parentDocumentId": { +"description": "The identifier of the parent document. Currently supports at most two level document hierarchy. Id should conform to [RFC-1034](https://tools.ietf.org/html/rfc1034) standard with a length limit of 63 characters.", +"type": "string" +}, +"schemaId": { +"description": "The identifier of the schema located in the same data store.", +"type": "string" +}, +"structData": { +"additionalProperties": { +"description": "Properties of the object.", +"type": "any" +}, +"description": "The structured JSON data for the document. It should conform to the registered Schema or an `INVALID_ARGUMENT` error is thrown.", +"type": "object" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1betaDocumentContent": { +"description": "Unstructured data linked to this document.", +"id": "GoogleCloudDiscoveryengineV1betaDocumentContent", +"properties": { +"mimeType": { +"description": "The MIME type of the content. Supported types: * `application/pdf` (PDF, only native PDFs are supported for now) * `text/html` (HTML) * `application/vnd.openxmlformats-officedocument.wordprocessingml.document` (DOCX) * `application/vnd.openxmlformats-officedocument.presentationml.presentation` (PPTX) * `text/plain` (TXT) See https://www.iana.org/assignments/media-types/media-types.xhtml.", +"type": "string" +}, +"rawBytes": { +"description": "The content represented as a stream of bytes. The maximum length is 1,000,000 bytes (1 MB / ~0.95 MiB). Note: As with all `bytes` fields, this field is represented as pure binary in Protocol Buffers and base64-encoded string in JSON. For example, `abc123!?$*&()'-=@~` should be represented as `YWJjMTIzIT8kKiYoKSctPUB+` in JSON. See https://developers.google.com/protocol-buffers/docs/proto3#json.", +"format": "byte", +"type": "string" +}, +"uri": { +"description": "The URI of the content. Only Cloud Storage URIs (e.g. `gs://bucket-name/path/to/file`) are supported. The maximum file size is 2.5 MB for text-based formats, 200 MB for other formats.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1betaDocumentIndexStatus": { +"description": "Index status of the document.", +"id": "GoogleCloudDiscoveryengineV1betaDocumentIndexStatus", +"properties": { +"errorSamples": { +"description": "A sample of errors encountered while indexing the document. If this field is populated, the document is not indexed due to errors.", +"items": { +"$ref": "GoogleRpcStatus" +}, +"type": "array" +}, +"indexTime": { +"description": "The time when the document was indexed. If this field is populated, it means the document has been indexed.", +"format": "google-datetime", +"type": "string" +}, +"pendingMessage": { +"description": "Immutable. The message indicates the document index is in progress. If this field is populated, the document index is pending.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1betaDocumentInfo": { +"description": "Detailed document information associated with a user event.", +"id": "GoogleCloudDiscoveryengineV1betaDocumentInfo", +"properties": { +"conversionValue": { +"description": "Optional. The conversion value associated with this Document. Must be set if UserEvent.event_type is \"conversion\". For example, a value of 1000 signifies that 1000 seconds were spent viewing a Document for the `watch` conversion type.", +"format": "float", +"type": "number" +}, +"id": { +"description": "The Document resource ID.", +"type": "string" +}, +"joined": { +"description": "Output only. Whether the referenced Document can be found in the data store.", +"readOnly": true, +"type": "boolean" +}, +"name": { +"description": "The Document resource full name, of the form: `projects/{project}/locations/{location}/collections/{collection_id}/dataStores/{data_store_id}/branches/{branch_id}/documents/{document_id}`", +"type": "string" +}, +"promotionIds": { +"description": "The promotion IDs associated with this Document. Currently, this field is restricted to at most one ID.", +"items": { +"type": "string" +}, +"type": "array" +}, +"quantity": { +"description": "Quantity of the Document associated with the user event. Defaults to 1. For example, this field is 2 if two quantities of the same Document are involved in a `add-to-cart` event. Required for events of the following event types: * `add-to-cart` * `purchase`", +"format": "int32", +"type": "integer" +}, +"uri": { +"description": "The Document URI - only allowed for website data stores.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1betaDocumentProcessingConfig": { +"description": "A singleton resource of DataStore. If it's empty when DataStore is created and DataStore is set to DataStore.ContentConfig.CONTENT_REQUIRED, the default parser will default to digital parser.", +"id": "GoogleCloudDiscoveryengineV1betaDocumentProcessingConfig", +"properties": { +"chunkingConfig": { +"$ref": "GoogleCloudDiscoveryengineV1betaDocumentProcessingConfigChunkingConfig", +"description": "Whether chunking mode is enabled." +}, +"defaultParsingConfig": { +"$ref": "GoogleCloudDiscoveryengineV1betaDocumentProcessingConfigParsingConfig", +"description": "Configurations for default Document parser. If not specified, we will configure it as default DigitalParsingConfig, and the default parsing config will be applied to all file types for Document parsing." +}, +"name": { +"description": "The full resource name of the Document Processing Config. Format: `projects/*/locations/*/collections/*/dataStores/*/documentProcessingConfig`.", +"type": "string" +}, +"parsingConfigOverrides": { +"additionalProperties": { +"$ref": "GoogleCloudDiscoveryengineV1betaDocumentProcessingConfigParsingConfig" +}, +"description": "Map from file type to override the default parsing configuration based on the file type. Supported keys: * `pdf`: Override parsing config for PDF files, either digital parsing, ocr parsing or layout parsing is supported. * `html`: Override parsing config for HTML files, only digital parsing and layout parsing are supported. * `docx`: Override parsing config for DOCX files, only digital parsing and layout parsing are supported. * `pptx`: Override parsing config for PPTX files, only digital parsing and layout parsing are supported. * `xlsm`: Override parsing config for XLSM files, only digital parsing and layout parsing are supported. * `xlsx`: Override parsing config for XLSX files, only digital parsing and layout parsing are supported.", +"type": "object" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1betaDocumentProcessingConfigChunkingConfig": { +"description": "Configuration for chunking config.", +"id": "GoogleCloudDiscoveryengineV1betaDocumentProcessingConfigChunkingConfig", +"properties": { +"layoutBasedChunkingConfig": { +"$ref": "GoogleCloudDiscoveryengineV1betaDocumentProcessingConfigChunkingConfigLayoutBasedChunkingConfig", +"description": "Configuration for the layout based chunking." +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1betaDocumentProcessingConfigChunkingConfigLayoutBasedChunkingConfig": { +"description": "Configuration for the layout based chunking.", +"id": "GoogleCloudDiscoveryengineV1betaDocumentProcessingConfigChunkingConfigLayoutBasedChunkingConfig", +"properties": { +"chunkSize": { +"description": "The token size limit for each chunk. Supported values: 100-500 (inclusive). Default value: 500.", +"format": "int32", +"type": "integer" +}, +"includeAncestorHeadings": { +"description": "Whether to include appending different levels of headings to chunks from the middle of the document to prevent context loss. Default value: False.", +"type": "boolean" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1betaDocumentProcessingConfigParsingConfig": { +"description": "Related configurations applied to a specific type of document parser.", +"id": "GoogleCloudDiscoveryengineV1betaDocumentProcessingConfigParsingConfig", +"properties": { +"digitalParsingConfig": { +"$ref": "GoogleCloudDiscoveryengineV1betaDocumentProcessingConfigParsingConfigDigitalParsingConfig", +"description": "Configurations applied to digital parser." +}, +"layoutParsingConfig": { +"$ref": "GoogleCloudDiscoveryengineV1betaDocumentProcessingConfigParsingConfigLayoutParsingConfig", +"description": "Configurations applied to layout parser." +}, +"ocrParsingConfig": { +"$ref": "GoogleCloudDiscoveryengineV1betaDocumentProcessingConfigParsingConfigOcrParsingConfig", +"description": "Configurations applied to OCR parser. Currently it only applies to PDFs." +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1betaDocumentProcessingConfigParsingConfigDigitalParsingConfig": { +"description": "The digital parsing configurations for documents.", +"id": "GoogleCloudDiscoveryengineV1betaDocumentProcessingConfigParsingConfigDigitalParsingConfig", +"properties": {}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1betaDocumentProcessingConfigParsingConfigLayoutParsingConfig": { +"description": "The layout parsing configurations for documents.", +"id": "GoogleCloudDiscoveryengineV1betaDocumentProcessingConfigParsingConfigLayoutParsingConfig", +"properties": {}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1betaDocumentProcessingConfigParsingConfigOcrParsingConfig": { +"description": "The OCR parsing configurations for documents.", +"id": "GoogleCloudDiscoveryengineV1betaDocumentProcessingConfigParsingConfigOcrParsingConfig", +"properties": { +"enhancedDocumentElements": { +"deprecated": true, +"description": "[DEPRECATED] This field is deprecated. To use the additional enhanced document elements processing, please switch to `layout_parsing_config`.", +"items": { +"type": "string" +}, +"type": "array" +}, +"useNativeText": { +"description": "If true, will use native text instead of OCR text on pages containing native text.", +"type": "boolean" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1betaDoubleList": { +"description": "Double list.", +"id": "GoogleCloudDiscoveryengineV1betaDoubleList", +"properties": { +"values": { +"description": "Double values.", +"items": { +"format": "double", +"type": "number" +}, +"type": "array" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1betaEmbeddingConfig": { +"description": "Defines embedding config, used for bring your own embeddings feature.", +"id": "GoogleCloudDiscoveryengineV1betaEmbeddingConfig", +"properties": { +"fieldPath": { +"description": "Full field path in the schema mapped as embedding field.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1betaEnableAdvancedSiteSearchMetadata": { +"description": "Metadata related to the progress of the SiteSearchEngineService.EnableAdvancedSiteSearch operation. This will be returned by the google.longrunning.Operation.metadata field.", +"id": "GoogleCloudDiscoveryengineV1betaEnableAdvancedSiteSearchMetadata", +"properties": { +"createTime": { +"description": "Operation create time.", +"format": "google-datetime", +"type": "string" +}, +"updateTime": { +"description": "Operation last update time. If the operation is done, this is also the finish time.", +"format": "google-datetime", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1betaEnableAdvancedSiteSearchRequest": { +"description": "Request message for SiteSearchEngineService.EnableAdvancedSiteSearch method.", +"id": "GoogleCloudDiscoveryengineV1betaEnableAdvancedSiteSearchRequest", +"properties": {}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1betaEnableAdvancedSiteSearchResponse": { +"description": "Response message for SiteSearchEngineService.EnableAdvancedSiteSearch method.", +"id": "GoogleCloudDiscoveryengineV1betaEnableAdvancedSiteSearchResponse", +"properties": {}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1betaEngine": { +"description": "Metadata that describes the training and serving parameters of an Engine.", +"id": "GoogleCloudDiscoveryengineV1betaEngine", +"properties": { +"chatEngineConfig": { +"$ref": "GoogleCloudDiscoveryengineV1betaEngineChatEngineConfig", +"description": "Configurations for the Chat Engine. Only applicable if solution_type is SOLUTION_TYPE_CHAT." +}, +"chatEngineMetadata": { +"$ref": "GoogleCloudDiscoveryengineV1betaEngineChatEngineMetadata", +"description": "Output only. Additional information of the Chat Engine. Only applicable if solution_type is SOLUTION_TYPE_CHAT.", +"readOnly": true +}, +"commonConfig": { +"$ref": "GoogleCloudDiscoveryengineV1betaEngineCommonConfig", +"description": "Common config spec that specifies the metadata of the engine." +}, +"createTime": { +"description": "Output only. Timestamp the Recommendation Engine was created at.", +"format": "google-datetime", +"readOnly": true, +"type": "string" +}, +"dataStoreIds": { +"description": "The data stores associated with this engine. For SOLUTION_TYPE_SEARCH and SOLUTION_TYPE_RECOMMENDATION type of engines, they can only associate with at most one data store. If solution_type is SOLUTION_TYPE_CHAT, multiple DataStores in the same Collection can be associated here. Note that when used in CreateEngineRequest, one DataStore id must be provided as the system will use it for necessary initializations.", +"items": { +"type": "string" +}, +"type": "array" +}, +"disableAnalytics": { +"description": "Optional. Whether to disable analytics for searches performed on this engine.", +"type": "boolean" +}, +"displayName": { +"description": "Required. The display name of the engine. Should be human readable. UTF-8 encoded string with limit of 1024 characters.", +"type": "string" +}, +"industryVertical": { +"description": "The industry vertical that the engine registers. The restriction of the Engine industry vertical is based on DataStore: Vertical on Engine has to match vertical of the DataStore linked to the engine.", +"enum": [ +"INDUSTRY_VERTICAL_UNSPECIFIED", +"GENERIC", +"MEDIA", +"HEALTHCARE_FHIR" +], +"enumDescriptions": [ +"Value used when unset.", +"The generic vertical for documents that are not specific to any industry vertical.", +"The media industry vertical.", +"The healthcare FHIR vertical." +], +"type": "string" +}, +"name": { +"description": "Immutable. The fully qualified resource name of the engine. This field must be a UTF-8 encoded string with a length limit of 1024 characters. Format: `projects/{project}/locations/{location}/collections/{collection}/engines/{engine}` engine should be 1-63 characters, and valid characters are /a-z0-9*/. Otherwise, an INVALID_ARGUMENT error is returned.", +"type": "string" +}, +"searchEngineConfig": { +"$ref": "GoogleCloudDiscoveryengineV1betaEngineSearchEngineConfig", +"description": "Configurations for the Search Engine. Only applicable if solution_type is SOLUTION_TYPE_SEARCH." +}, +"solutionType": { +"description": "Required. The solutions of the engine.", +"enum": [ +"SOLUTION_TYPE_UNSPECIFIED", +"SOLUTION_TYPE_RECOMMENDATION", +"SOLUTION_TYPE_SEARCH", +"SOLUTION_TYPE_CHAT", +"SOLUTION_TYPE_GENERATIVE_CHAT" +], +"enumDescriptions": [ +"Default value.", +"Used for Recommendations AI.", +"Used for Discovery Search.", +"Used for use cases related to the Generative AI agent.", +"Used for use cases related to the Generative Chat agent. It's used for Generative chat engine only, the associated data stores must enrolled with `SOLUTION_TYPE_CHAT` solution." +], +"type": "string" +}, +"updateTime": { +"description": "Output only. Timestamp the Recommendation Engine was last updated.", +"format": "google-datetime", +"readOnly": true, +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1betaEngineChatEngineConfig": { +"description": "Configurations for a Chat Engine.", +"id": "GoogleCloudDiscoveryengineV1betaEngineChatEngineConfig", +"properties": { +"agentCreationConfig": { +"$ref": "GoogleCloudDiscoveryengineV1betaEngineChatEngineConfigAgentCreationConfig", +"description": "The configurationt generate the Dialogflow agent that is associated to this Engine. Note that these configurations are one-time consumed by and passed to Dialogflow service. It means they cannot be retrieved using EngineService.GetEngine or EngineService.ListEngines API after engine creation." +}, +"dialogflowAgentToLink": { +"description": "The resource name of an exist Dialogflow agent to link to this Chat Engine. Customers can either provide `agent_creation_config` to create agent or provide an agent name that links the agent with the Chat engine. Format: `projects//locations//agents/`. Note that the `dialogflow_agent_to_link` are one-time consumed by and passed to Dialogflow service. It means they cannot be retrieved using EngineService.GetEngine or EngineService.ListEngines API after engine creation. Use ChatEngineMetadata.dialogflow_agent for actual agent association after Engine is created.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1betaEngineChatEngineConfigAgentCreationConfig": { +"description": "Configurations for generating a Dialogflow agent. Note that these configurations are one-time consumed by and passed to Dialogflow service. It means they cannot be retrieved using EngineService.GetEngine or EngineService.ListEngines API after engine creation.", +"id": "GoogleCloudDiscoveryengineV1betaEngineChatEngineConfigAgentCreationConfig", +"properties": { +"business": { +"description": "Name of the company, organization or other entity that the agent represents. Used for knowledge connector LLM prompt and for knowledge search.", +"type": "string" +}, +"defaultLanguageCode": { +"description": "Required. The default language of the agent as a language tag. See [Language Support](https://cloud.google.com/dialogflow/docs/reference/language) for a list of the currently supported language codes.", +"type": "string" +}, +"location": { +"description": "Agent location for Agent creation, supported values: global/us/eu. If not provided, us Engine will create Agent using us-central-1 by default; eu Engine will create Agent using eu-west-1 by default.", +"type": "string" +}, +"timeZone": { +"description": "Required. The time zone of the agent from the [time zone database](https://www.iana.org/time-zones), e.g., America/New_York, Europe/Paris.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1betaEngineChatEngineMetadata": { +"description": "Additional information of a Chat Engine. Fields in this message are output only.", +"id": "GoogleCloudDiscoveryengineV1betaEngineChatEngineMetadata", +"properties": { +"dialogflowAgent": { +"description": "The resource name of a Dialogflow agent, that this Chat Engine refers to. Format: `projects//locations//agents/`.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1betaEngineCommonConfig": { +"description": "Common configurations for an Engine.", +"id": "GoogleCloudDiscoveryengineV1betaEngineCommonConfig", +"properties": { +"companyName": { +"description": "The name of the company, business or entity that is associated with the engine. Setting this may help improve LLM related features.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1betaEngineSearchEngineConfig": { +"description": "Configurations for a Search Engine.", +"id": "GoogleCloudDiscoveryengineV1betaEngineSearchEngineConfig", +"properties": { +"searchAddOns": { +"description": "The add-on that this search engine enables.", +"items": { +"enum": [ +"SEARCH_ADD_ON_UNSPECIFIED", +"SEARCH_ADD_ON_LLM" +], +"enumDescriptions": [ +"Default value when the enum is unspecified. This is invalid to use.", +"Large language model add-on." +], +"type": "string" +}, +"type": "array" +}, +"searchTier": { +"description": "The search feature tier of this engine. Different tiers might have different pricing. To learn more, check the pricing documentation. Defaults to SearchTier.SEARCH_TIER_STANDARD if not specified.", +"enum": [ +"SEARCH_TIER_UNSPECIFIED", +"SEARCH_TIER_STANDARD", +"SEARCH_TIER_ENTERPRISE" +], +"enumDescriptions": [ +"Default value when the enum is unspecified. This is invalid to use.", +"Standard tier.", +"Enterprise tier." +], +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1betaEvaluation": { +"description": "An evaluation is a single execution (or run) of an evaluation process. It encapsulates the state of the evaluation and the resulting data.", +"id": "GoogleCloudDiscoveryengineV1betaEvaluation", +"properties": { +"createTime": { +"description": "Output only. Timestamp the Evaluation was created at.", +"format": "google-datetime", +"readOnly": true, +"type": "string" +}, +"endTime": { +"description": "Output only. Timestamp the Evaluation was completed at.", +"format": "google-datetime", +"readOnly": true, +"type": "string" +}, +"error": { +"$ref": "GoogleRpcStatus", +"description": "Output only. The error that occurred during evaluation. Only populated when the evaluation's state is FAILED.", +"readOnly": true +}, +"errorSamples": { +"description": "Output only. A sample of errors encountered while processing the request.", +"items": { +"$ref": "GoogleRpcStatus" +}, +"readOnly": true, +"type": "array" +}, +"evaluationSpec": { +"$ref": "GoogleCloudDiscoveryengineV1betaEvaluationEvaluationSpec", +"description": "Required. The specification of the evaluation." +}, +"name": { +"description": "Identifier. The full resource name of the Evaluation, in the format of `projects/{project}/locations/{location}/evaluations/{evaluation}`. This field must be a UTF-8 encoded string with a length limit of 1024 characters.", +"type": "string" +}, +"qualityMetrics": { +"$ref": "GoogleCloudDiscoveryengineV1betaQualityMetrics", +"description": "Output only. The metrics produced by the evaluation, averaged across all SampleQuerys in the SampleQuerySet. Only populated when the evaluation's state is SUCCEEDED.", +"readOnly": true +}, +"state": { +"description": "Output only. The state of the evaluation.", +"enum": [ +"STATE_UNSPECIFIED", +"PENDING", +"RUNNING", +"SUCCEEDED", +"FAILED" +], +"enumDescriptions": [ +"The evaluation is unspecified.", +"The service is preparing to run the evaluation.", +"The evaluation is in progress.", +"The evaluation completed successfully.", +"The evaluation failed." +], +"readOnly": true, +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1betaEvaluationEvaluationSpec": { +"description": "Describes the specification of the evaluation.", +"id": "GoogleCloudDiscoveryengineV1betaEvaluationEvaluationSpec", +"properties": { +"querySetSpec": { +"$ref": "GoogleCloudDiscoveryengineV1betaEvaluationEvaluationSpecQuerySetSpec", +"description": "Required. The specification of the query set." +}, +"searchRequest": { +"$ref": "GoogleCloudDiscoveryengineV1betaSearchRequest", +"description": "Required. The search request that is used to perform the evaluation. Only the following fields within SearchRequest are supported; if any other fields are provided, an UNSUPPORTED error will be returned: * SearchRequest.serving_config * SearchRequest.branch * SearchRequest.canonical_filter * SearchRequest.query_expansion_spec * SearchRequest.spell_correction_spec * SearchRequest.content_search_spec * SearchRequest.user_pseudo_id" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1betaEvaluationEvaluationSpecQuerySetSpec": { +"description": "Describes the specification of the query set.", +"id": "GoogleCloudDiscoveryengineV1betaEvaluationEvaluationSpecQuerySetSpec", +"properties": { +"sampleQuerySet": { +"description": "Required. The full resource name of the SampleQuerySet used for the evaluation, in the format of `projects/{project}/locations/{location}/sampleQuerySets/{sampleQuerySet}`.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1betaFactChunk": { +"description": "Fact Chunk.", +"id": "GoogleCloudDiscoveryengineV1betaFactChunk", +"properties": { +"chunkText": { +"description": "Text content of the fact chunk. Can be at most 10K characters long.", +"type": "string" +}, +"index": { +"description": "The index of this chunk. Currently, only used for the streaming mode.", +"format": "int32", +"type": "integer" +}, +"source": { +"description": "Source from which this fact chunk was retrieved. If it was retrieved from the GroundingFacts provided in the request then this field will contain the index of the specific fact from which this chunk was retrieved.", +"type": "string" +}, +"sourceMetadata": { +"additionalProperties": { +"type": "string" +}, +"description": "More fine-grained information for the source reference.", +"type": "object" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1betaFetchDomainVerificationStatusResponse": { +"description": "Response message for SiteSearchEngineService.FetchDomainVerificationStatus method.", +"id": "GoogleCloudDiscoveryengineV1betaFetchDomainVerificationStatusResponse", +"properties": { +"nextPageToken": { +"description": "A token that can be sent as `page_token` to retrieve the next page. If this field is omitted, there are no subsequent pages.", +"type": "string" +}, +"targetSites": { +"description": "List of TargetSites containing the site verification status.", +"items": { +"$ref": "GoogleCloudDiscoveryengineV1betaTargetSite" +}, +"type": "array" +}, +"totalSize": { +"description": "The total number of items matching the request. This will always be populated in the response.", +"format": "int32", +"type": "integer" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1betaFetchSitemapsResponse": { +"description": "Response message for SiteSearchEngineService.FetchSitemaps method.", +"id": "GoogleCloudDiscoveryengineV1betaFetchSitemapsResponse", +"properties": { +"sitemapsMetadata": { +"description": "List of Sitemaps fetched.", +"items": { +"$ref": "GoogleCloudDiscoveryengineV1betaFetchSitemapsResponseSitemapMetadata" +}, +"type": "array" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1betaFetchSitemapsResponseSitemapMetadata": { +"description": "Contains a Sitemap and its metadata.", +"id": "GoogleCloudDiscoveryengineV1betaFetchSitemapsResponseSitemapMetadata", +"properties": { +"sitemap": { +"$ref": "GoogleCloudDiscoveryengineV1betaSitemap", +"description": "The Sitemap." +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1betaFhirStoreSource": { +"description": "Cloud FhirStore source import data from.", +"id": "GoogleCloudDiscoveryengineV1betaFhirStoreSource", +"properties": { +"fhirStore": { +"description": "Required. The full resource name of the FHIR store to import data from, in the format of `projects/{project}/locations/{location}/datasets/{dataset}/fhirStores/{fhir_store}`.", +"type": "string" +}, +"gcsStagingDir": { +"description": "Intermediate Cloud Storage directory used for the import with a length limit of 2,000 characters. Can be specified if one wants to have the FhirStore export to a specific Cloud Storage directory.", +"type": "string" +}, +"resourceTypes": { +"description": "The FHIR resource types to import. The resource types should be a subset of all [supported FHIR resource types](https://cloud.google.com/generative-ai-app-builder/docs/fhir-schema-reference#resource-level-specification). Default to all supported FHIR resource types if empty.", +"items": { +"type": "string" +}, +"type": "array" +}, +"updateFromLatestPredefinedSchema": { +"description": "Optional. Whether to update the DataStore schema to the latest predefined schema. If true, the DataStore schema will be updated to include any FHIR fields or resource types that have been added since the last import and corresponding FHIR resources will be imported from the FHIR store. Note this field cannot be used in conjunction with `resource_types`. It should be used after initial import.", +"type": "boolean" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1betaFirestoreSource": { +"description": "Firestore source import data from.", +"id": "GoogleCloudDiscoveryengineV1betaFirestoreSource", +"properties": { +"collectionId": { +"description": "Required. The Firestore collection (or entity) to copy the data from with a length limit of 1,500 characters.", +"type": "string" +}, +"databaseId": { +"description": "Required. The Firestore database to copy the data from with a length limit of 256 characters.", +"type": "string" +}, +"gcsStagingDir": { +"description": "Intermediate Cloud Storage directory used for the import with a length limit of 2,000 characters. Can be specified if one wants to have the Firestore export to a specific Cloud Storage directory. Ensure that the Firestore service account has the necessary Cloud Storage Admin permissions to access the specified Cloud Storage directory.", +"type": "string" +}, +"projectId": { +"description": "The project ID that the Cloud SQL source is in with a length limit of 128 characters. If not specified, inherits the project ID from the parent request.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1betaGcsSource": { +"description": "Cloud Storage location for input content.", +"id": "GoogleCloudDiscoveryengineV1betaGcsSource", +"properties": { +"dataSchema": { +"description": "The schema to use when parsing the data from the source. Supported values for document imports: * `document` (default): One JSON Document per line. Each document must have a valid Document.id. * `content`: Unstructured data (e.g. PDF, HTML). Each file matched by `input_uris` becomes a document, with the ID set to the first 128 bits of SHA256(URI) encoded as a hex string. * `custom`: One custom data JSON per row in arbitrary format that conforms to the defined Schema of the data store. This can only be used by the GENERIC Data Store vertical. * `csv`: A CSV file with header conforming to the defined Schema of the data store. Each entry after the header is imported as a Document. This can only be used by the GENERIC Data Store vertical. Supported values for user event imports: * `user_event` (default): One JSON UserEvent per line.", +"type": "string" +}, +"inputUris": { +"description": "Required. Cloud Storage URIs to input files. Each URI can be up to 2000 characters long. URIs can match the full object path (for example, `gs://bucket/directory/object.json`) or a pattern matching one or more files, such as `gs://bucket/directory/*.json`. A request can contain at most 100 files (or 100,000 files if `data_schema` is `content`). Each file can be up to 2 GB (or 100 MB if `data_schema` is `content`).", +"items": { +"type": "string" +}, +"type": "array" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1betaGenerateGroundedContentRequest": { +"description": "Top-level message sent by the client for the `GenerateGroundedContent` method.", +"id": "GoogleCloudDiscoveryengineV1betaGenerateGroundedContentRequest", +"properties": { +"contents": { +"description": "Content of the current conversation with the model. For single-turn queries, this is a single instance. For multi-turn queries, this is a repeated field that contains conversation history + latest request.", +"items": { +"$ref": "GoogleCloudDiscoveryengineV1betaGroundedGenerationContent" +}, +"type": "array" +}, +"generationSpec": { +"$ref": "GoogleCloudDiscoveryengineV1betaGenerateGroundedContentRequestGenerationSpec", +"description": "Content generation specification." +}, +"groundingSpec": { +"$ref": "GoogleCloudDiscoveryengineV1betaGenerateGroundedContentRequestGroundingSpec", +"description": "Grounding specification." +}, +"systemInstruction": { +"$ref": "GoogleCloudDiscoveryengineV1betaGroundedGenerationContent", +"description": "Content of the system instruction for the current API. These instructions will take priority over any other prompt instructions if the selected model is supporting them." +}, +"userLabels": { +"additionalProperties": { +"type": "string" +}, +"description": "The user labels applied to a resource must meet the following requirements: * Each resource can have multiple labels, up to a maximum of 64. * Each label must be a key-value pair. * Keys have a minimum length of 1 character and a maximum length of 63 characters and cannot be empty. Values can be empty and have a maximum length of 63 characters. * Keys and values can contain only lowercase letters, numeric characters, underscores, and dashes. All characters must use UTF-8 encoding, and international characters are allowed. * The key portion of a label must be unique. However, you can use the same key with multiple resources. * Keys must start with a lowercase letter or international character. See [Google Cloud Document](https://cloud.google.com/resource-manager/docs/creating-managing-labels#requirements) for more details.", +"type": "object" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1betaGenerateGroundedContentRequestDynamicRetrievalConfiguration": { +"description": "Describes the options to customize dynamic retrieval.", +"id": "GoogleCloudDiscoveryengineV1betaGenerateGroundedContentRequestDynamicRetrievalConfiguration", +"properties": { +"predictor": { +"$ref": "GoogleCloudDiscoveryengineV1betaGenerateGroundedContentRequestDynamicRetrievalConfigurationDynamicRetrievalPredictor", +"description": "Specification for the predictor for dynamic retrieval." +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1betaGenerateGroundedContentRequestDynamicRetrievalConfigurationDynamicRetrievalPredictor": { +"description": "Describes the predictor settings for dynamic retrieval.", +"id": "GoogleCloudDiscoveryengineV1betaGenerateGroundedContentRequestDynamicRetrievalConfigurationDynamicRetrievalPredictor", +"properties": { +"threshold": { +"description": "The value of the threshold. If the predictor will predict a value smaller than this, it would suppress grounding in the source.", +"format": "float", +"type": "number" +}, +"version": { +"description": "The version of the predictor to be used in dynamic retrieval.", +"enum": [ +"VERSION_UNSPECIFIED", +"V1_INDEPENDENT" +], +"enumDescriptions": [ +"Automatically choose the best version of the retrieval predictor.", +"The V1 model which is evaluating each source independently." +], +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1betaGenerateGroundedContentRequestGenerationSpec": { +"description": "Content generation specification.", +"id": "GoogleCloudDiscoveryengineV1betaGenerateGroundedContentRequestGenerationSpec", +"properties": { +"frequencyPenalty": { +"description": "If specified, custom value for frequency penalty will be used.", +"format": "float", +"type": "number" +}, +"languageCode": { +"description": "Language code for content. Use language tags defined by [BCP47](https://www.rfc-editor.org/rfc/bcp/bcp47.txt).", +"type": "string" +}, +"maxOutputTokens": { +"description": "If specified, custom value for max output tokens will be used.", +"format": "int32", +"type": "integer" +}, +"modelId": { +"description": "Specifies which Vertex model id to use for generation.", +"type": "string" +}, +"presencePenalty": { +"description": "If specified, custom value for presence penalty will be used.", +"format": "float", +"type": "number" +}, +"seed": { +"description": "If specified, custom value for the seed will be used.", +"format": "int32", +"type": "integer" +}, +"temperature": { +"description": "If specified, custom value for the temperature will be used.", +"format": "float", +"type": "number" +}, +"topK": { +"description": "If specified, custom value for top-k sampling will be used.", +"format": "int32", +"type": "integer" +}, +"topP": { +"description": "If specified, custom value for nucleus sampling will be used.", +"format": "float", +"type": "number" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1betaGenerateGroundedContentRequestGroundingSource": { +"description": "Grounding source.", +"id": "GoogleCloudDiscoveryengineV1betaGenerateGroundedContentRequestGroundingSource", +"properties": { +"googleSearchSource": { +"$ref": "GoogleCloudDiscoveryengineV1betaGenerateGroundedContentRequestGroundingSourceGoogleSearchSource", +"description": "If set, grounding is performed with Google Search." +}, +"inlineSource": { +"$ref": "GoogleCloudDiscoveryengineV1betaGenerateGroundedContentRequestGroundingSourceInlineSource", +"description": "If set, grounding is performed with inline content." +}, +"searchSource": { +"$ref": "GoogleCloudDiscoveryengineV1betaGenerateGroundedContentRequestGroundingSourceSearchSource", +"description": "If set, grounding is performed with Vertex AI Search." +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1betaGenerateGroundedContentRequestGroundingSourceGoogleSearchSource": { +"description": "Google Search config parameters.", +"id": "GoogleCloudDiscoveryengineV1betaGenerateGroundedContentRequestGroundingSourceGoogleSearchSource", +"properties": { +"dynamicRetrievalConfig": { +"$ref": "GoogleCloudDiscoveryengineV1betaGenerateGroundedContentRequestDynamicRetrievalConfiguration", +"description": "Optional. Specifies the dynamic retrieval configuration for the given source." +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1betaGenerateGroundedContentRequestGroundingSourceInlineSource": { +"description": "Message to be used for grounding based on inline content.", +"id": "GoogleCloudDiscoveryengineV1betaGenerateGroundedContentRequestGroundingSourceInlineSource", +"properties": { +"attributes": { +"additionalProperties": { +"type": "string" +}, +"description": "Attributes associated with the content. Common attributes include `source` (indicating where the content was sourced from) and `author` (indicating the author of the content).", +"type": "object" +}, +"groundingFacts": { +"description": "List of facts to be used for grounding.", +"items": { +"$ref": "GoogleCloudDiscoveryengineV1betaGroundingFact" +}, +"type": "array" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1betaGenerateGroundedContentRequestGroundingSourceSearchSource": { +"description": "Message to be used for grounding with Vertex AI Search.", +"id": "GoogleCloudDiscoveryengineV1betaGenerateGroundedContentRequestGroundingSourceSearchSource", +"properties": { +"filter": { +"description": "Filter expression to be applied to the search. The syntax is the same as SearchRequest.filter.", +"type": "string" +}, +"maxResultCount": { +"description": "Number of search results to return. The default value is 10. The maximumm allowed value is 10.", +"format": "int32", +"type": "integer" +}, +"safeSearch": { +"description": "If set, safe search is enabled in Vertex AI Search requests.", +"type": "boolean" +}, +"servingConfig": { +"description": "The resource name of the Engine to use. Format: `projects/{project}/locations/{location}/collections/{collection_id}/engines/{engine_id}/servingConfigs/{serving_config_id}`", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1betaGenerateGroundedContentRequestGroundingSpec": { +"description": "Grounding specification.", +"id": "GoogleCloudDiscoveryengineV1betaGenerateGroundedContentRequestGroundingSpec", +"properties": { +"groundingSources": { +"description": "Grounding sources.", +"items": { +"$ref": "GoogleCloudDiscoveryengineV1betaGenerateGroundedContentRequestGroundingSource" +}, +"type": "array" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1betaGenerateGroundedContentResponse": { +"description": "Response for the `GenerateGroundedContent` method.", +"id": "GoogleCloudDiscoveryengineV1betaGenerateGroundedContentResponse", +"properties": { +"candidates": { +"description": "Generated candidates.", +"items": { +"$ref": "GoogleCloudDiscoveryengineV1betaGenerateGroundedContentResponseCandidate" +}, +"type": "array" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1betaGenerateGroundedContentResponseCandidate": { +"description": "A response candidate generated from the model.", +"id": "GoogleCloudDiscoveryengineV1betaGenerateGroundedContentResponseCandidate", +"properties": { +"content": { +"$ref": "GoogleCloudDiscoveryengineV1betaGroundedGenerationContent", +"description": "Content of the candidate." +}, +"groundingMetadata": { +"$ref": "GoogleCloudDiscoveryengineV1betaGenerateGroundedContentResponseCandidateGroundingMetadata", +"description": "Grounding metadata for the generated content." +}, +"groundingScore": { +"description": "The overall grounding score for the candidate, in the range of [0, 1].", +"format": "float", +"type": "number" +}, +"index": { +"description": "Index of the candidate.", +"format": "int32", +"type": "integer" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1betaGenerateGroundedContentResponseCandidateGroundingMetadata": { +"description": "Citation for the generated content.", +"id": "GoogleCloudDiscoveryengineV1betaGenerateGroundedContentResponseCandidateGroundingMetadata", +"properties": { +"groundingSupport": { +"description": "GroundingSupport across all claims in the answer candidate. An support to a fact indicates that the claim is supported by the fact.", +"items": { +"$ref": "GoogleCloudDiscoveryengineV1betaGenerateGroundedContentResponseCandidateGroundingMetadataGroundingSupport" +}, +"type": "array" +}, +"retrievalMetadata": { +"description": "Retrieval metadata to provide an understanding in the retrieval steps performed by the model. There can be multiple such messages which can correspond to different parts of the retrieval. This is a mechanism used to ensure transparency to our users.", +"items": { +"$ref": "GoogleCloudDiscoveryengineV1betaGenerateGroundedContentResponseCandidateGroundingMetadataRetrievalMetadata" +}, +"type": "array" +}, +"searchEntryPoint": { +"$ref": "GoogleCloudDiscoveryengineV1betaGenerateGroundedContentResponseCandidateGroundingMetadataSearchEntryPoint", +"description": "Google search entry for the following-up web searches." +}, +"supportChunks": { +"description": "List of chunks to be attributed across all claims in the candidate. These are derived from the grounding sources supplied in the request.", +"items": { +"$ref": "GoogleCloudDiscoveryengineV1betaFactChunk" +}, +"type": "array" +}, +"webSearchQueries": { +"description": "Web search queries for the following-up web search.", +"items": { +"type": "string" +}, +"type": "array" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1betaGenerateGroundedContentResponseCandidateGroundingMetadataDynamicRetrievalMetadata": { +"description": "Describes the metadata about dynamic retrieval.", +"id": "GoogleCloudDiscoveryengineV1betaGenerateGroundedContentResponseCandidateGroundingMetadataDynamicRetrievalMetadata", +"properties": { +"predictorMetadata": { +"$ref": "GoogleCloudDiscoveryengineV1betaGenerateGroundedContentResponseCandidateGroundingMetadataDynamicRetrievalPredictorMetadata", +"description": "Metadata for the dynamic retrieval predictor." +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1betaGenerateGroundedContentResponseCandidateGroundingMetadataDynamicRetrievalPredictorMetadata": { +"description": "Describes the metadata about the dynamic retrieval predictor.", +"id": "GoogleCloudDiscoveryengineV1betaGenerateGroundedContentResponseCandidateGroundingMetadataDynamicRetrievalPredictorMetadata", +"properties": { +"prediction": { +"description": "The value of the predictor. This should be between [0, 1] where a value of 0 means that the query would not benefit from grounding, while a value of 1.0 means that the query would benefit the most. In between values allow to differentiate between different usefulness scores for grounding.", +"format": "float", +"type": "number" +}, +"version": { +"description": "The version of the predictor which was used in dynamic retrieval.", +"enum": [ +"VERSION_UNSPECIFIED", +"V1_INDEPENDENT" +], +"enumDescriptions": [ +"Unspecified version, should never be used.", +"The V1 model which is evaluating each source independently." +], +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1betaGenerateGroundedContentResponseCandidateGroundingMetadataGroundingSupport": { +"description": "Grounding info for a claim in the candidate and its support.", +"id": "GoogleCloudDiscoveryengineV1betaGenerateGroundedContentResponseCandidateGroundingMetadataGroundingSupport", +"properties": { +"claimText": { +"description": "Text for the claim in the candidate. Always provided when a support is found.", +"type": "string" +}, +"supportChunkIndices": { +"description": "A list of indices (into 'support_chunks') specifying the citations associated with the claim. For instance [1,3,4] means that support_chunks[1], support_chunks[3], support_chunks[4] are the chunks attributed to the claim.", +"items": { +"format": "int32", +"type": "integer" +}, +"type": "array" +}, +"supportScore": { +"description": "A score in the range of [0, 1] describing how grounded is a specific claim in the support chunks indicated. Higher value means that the claim is better supported by the chunks.", +"format": "float", +"type": "number" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1betaGenerateGroundedContentResponseCandidateGroundingMetadataRetrievalMetadata": { +"description": "Describes the metadata associated with a retrieval step.", +"id": "GoogleCloudDiscoveryengineV1betaGenerateGroundedContentResponseCandidateGroundingMetadataRetrievalMetadata", +"properties": { +"dynamicRetrievalMetadata": { +"$ref": "GoogleCloudDiscoveryengineV1betaGenerateGroundedContentResponseCandidateGroundingMetadataDynamicRetrievalMetadata", +"description": "Metadata for dynamic retrieval." +}, +"source": { +"description": "Describes the source to which the metadata is referring to.", +"enum": [ +"SOURCE_UNSPECIFIED", +"VERTEX_AI_SEARCH", +"GOOGLE_SEARCH", +"INLINE_CONTENT", +"GOOGLE_MAPS" +], +"enumDescriptions": [ +"Unspecified source.", +"Vertex AI search.", +"Google Search.", +"User inline provided content.", +"Google Maps." +], +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1betaGenerateGroundedContentResponseCandidateGroundingMetadataSearchEntryPoint": { +"description": "Google search entry point.", +"id": "GoogleCloudDiscoveryengineV1betaGenerateGroundedContentResponseCandidateGroundingMetadataSearchEntryPoint", +"properties": { +"renderedContent": { +"description": "Web content snippet that can be embedded in a web page or an app webview.", +"type": "string" +}, +"sdkBlob": { +"description": "Base64 encoded JSON representing array of tuple.", +"format": "byte", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1betaGroundedGenerationContent": { +"description": "Base structured datatype containing multi-part content of a message.", +"id": "GoogleCloudDiscoveryengineV1betaGroundedGenerationContent", +"properties": { +"parts": { +"description": "Ordered `Parts` that constitute a single message.", +"items": { +"$ref": "GoogleCloudDiscoveryengineV1betaGroundedGenerationContentPart" +}, +"type": "array" +}, +"role": { +"description": "Producer of the content. Must be either `user` or `model`. Intended to be used for multi-turn conversations. Otherwise, it can be left unset.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1betaGroundedGenerationContentPart": { +"description": "Single part of content.", +"id": "GoogleCloudDiscoveryengineV1betaGroundedGenerationContentPart", +"properties": { +"text": { +"description": "Inline text.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1betaGroundingFact": { +"description": "Grounding Fact.", +"id": "GoogleCloudDiscoveryengineV1betaGroundingFact", +"properties": { +"attributes": { +"additionalProperties": { +"type": "string" +}, +"description": "Attributes associated with the fact. Common attributes include `source` (indicating where the fact was sourced from), `author` (indicating the author of the fact), and so on.", +"type": "object" +}, +"factText": { +"description": "Text content of the fact. Can be at most 10K characters long.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1betaImportCompletionSuggestionsMetadata": { +"description": "Metadata related to the progress of the ImportCompletionSuggestions operation. This will be returned by the google.longrunning.Operation.metadata field.", +"id": "GoogleCloudDiscoveryengineV1betaImportCompletionSuggestionsMetadata", +"properties": { +"createTime": { +"description": "Operation create time.", +"format": "google-datetime", +"type": "string" +}, +"failureCount": { +"description": "Count of CompletionSuggestions that failed to be imported.", +"format": "int64", +"type": "string" +}, +"successCount": { +"description": "Count of CompletionSuggestions successfully imported.", +"format": "int64", +"type": "string" +}, +"updateTime": { +"description": "Operation last update time. If the operation is done, this is also the finish time.", +"format": "google-datetime", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1betaImportCompletionSuggestionsRequest": { +"description": "Request message for CompletionService.ImportCompletionSuggestions method.", +"id": "GoogleCloudDiscoveryengineV1betaImportCompletionSuggestionsRequest", +"properties": { +"bigquerySource": { +"$ref": "GoogleCloudDiscoveryengineV1betaBigQuerySource", +"description": "BigQuery input source." +}, +"errorConfig": { +"$ref": "GoogleCloudDiscoveryengineV1betaImportErrorConfig", +"description": "The desired location of errors incurred during the Import." +}, +"gcsSource": { +"$ref": "GoogleCloudDiscoveryengineV1betaGcsSource", +"description": "Cloud Storage location for the input content." +}, +"inlineSource": { +"$ref": "GoogleCloudDiscoveryengineV1betaImportCompletionSuggestionsRequestInlineSource", +"description": "The Inline source for suggestion entries." +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1betaImportCompletionSuggestionsRequestInlineSource": { +"description": "The inline source for CompletionSuggestions.", +"id": "GoogleCloudDiscoveryengineV1betaImportCompletionSuggestionsRequestInlineSource", +"properties": { +"suggestions": { +"description": "Required. A list of all denylist entries to import. Max of 1000 items.", +"items": { +"$ref": "GoogleCloudDiscoveryengineV1betaCompletionSuggestion" +}, +"type": "array" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1betaImportCompletionSuggestionsResponse": { +"description": "Response of the CompletionService.ImportCompletionSuggestions method. If the long running operation is done, this message is returned by the google.longrunning.Operations.response field if the operation is successful.", +"id": "GoogleCloudDiscoveryengineV1betaImportCompletionSuggestionsResponse", +"properties": { +"errorConfig": { +"$ref": "GoogleCloudDiscoveryengineV1betaImportErrorConfig", +"description": "The desired location of errors incurred during the Import." +}, +"errorSamples": { +"description": "A sample of errors encountered while processing the request.", +"items": { +"$ref": "GoogleRpcStatus" +}, +"type": "array" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1betaImportDocumentsMetadata": { +"description": "Metadata related to the progress of the ImportDocuments operation. This is returned by the google.longrunning.Operation.metadata field.", +"id": "GoogleCloudDiscoveryengineV1betaImportDocumentsMetadata", +"properties": { +"createTime": { +"description": "Operation create time.", +"format": "google-datetime", +"type": "string" +}, +"failureCount": { +"description": "Count of entries that encountered errors while processing.", +"format": "int64", +"type": "string" +}, +"successCount": { +"description": "Count of entries that were processed successfully.", +"format": "int64", +"type": "string" +}, +"totalCount": { +"description": "Total count of entries that were processed.", +"format": "int64", +"type": "string" +}, +"updateTime": { +"description": "Operation last update time. If the operation is done, this is also the finish time.", +"format": "google-datetime", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1betaImportDocumentsRequest": { +"description": "Request message for Import methods.", +"id": "GoogleCloudDiscoveryengineV1betaImportDocumentsRequest", +"properties": { +"alloyDbSource": { +"$ref": "GoogleCloudDiscoveryengineV1betaAlloyDbSource", +"description": "AlloyDB input source." +}, +"autoGenerateIds": { +"description": "Whether to automatically generate IDs for the documents if absent. If set to `true`, Document.ids are automatically generated based on the hash of the payload, where IDs may not be consistent during multiple imports. In which case ReconciliationMode.FULL is highly recommended to avoid duplicate contents. If unset or set to `false`, Document.ids have to be specified using id_field, otherwise, documents without IDs fail to be imported. Supported data sources: * GcsSource. GcsSource.data_schema must be `custom` or `csv`. Otherwise, an INVALID_ARGUMENT error is thrown. * BigQuerySource. BigQuerySource.data_schema must be `custom` or `csv`. Otherwise, an INVALID_ARGUMENT error is thrown. * SpannerSource. * CloudSqlSource. * FirestoreSource. * BigtableSource.", +"type": "boolean" +}, +"bigquerySource": { +"$ref": "GoogleCloudDiscoveryengineV1betaBigQuerySource", +"description": "BigQuery input source." +}, +"bigtableSource": { +"$ref": "GoogleCloudDiscoveryengineV1betaBigtableSource", +"description": "Cloud Bigtable input source." +}, +"cloudSqlSource": { +"$ref": "GoogleCloudDiscoveryengineV1betaCloudSqlSource", +"description": "Cloud SQL input source." +}, +"errorConfig": { +"$ref": "GoogleCloudDiscoveryengineV1betaImportErrorConfig", +"description": "The desired location of errors incurred during the Import." +}, +"fhirStoreSource": { +"$ref": "GoogleCloudDiscoveryengineV1betaFhirStoreSource", +"description": "FhirStore input source." +}, +"firestoreSource": { +"$ref": "GoogleCloudDiscoveryengineV1betaFirestoreSource", +"description": "Firestore input source." +}, +"gcsSource": { +"$ref": "GoogleCloudDiscoveryengineV1betaGcsSource", +"description": "Cloud Storage location for the input content." +}, +"idField": { +"description": "The field indicates the ID field or column to be used as unique IDs of the documents. For GcsSource it is the key of the JSON field. For instance, `my_id` for JSON `{\"my_id\": \"some_uuid\"}`. For others, it may be the column name of the table where the unique ids are stored. The values of the JSON field or the table column are used as the Document.ids. The JSON field or the table column must be of string type, and the values must be set as valid strings conform to [RFC-1034](https://tools.ietf.org/html/rfc1034) with 1-63 characters. Otherwise, documents without valid IDs fail to be imported. Only set this field when auto_generate_ids is unset or set as `false`. Otherwise, an INVALID_ARGUMENT error is thrown. If it is unset, a default value `_id` is used when importing from the allowed data sources. Supported data sources: * GcsSource. GcsSource.data_schema must be `custom` or `csv`. Otherwise, an INVALID_ARGUMENT error is thrown. * BigQuerySource. BigQuerySource.data_schema must be `custom` or `csv`. Otherwise, an INVALID_ARGUMENT error is thrown. * SpannerSource. * CloudSqlSource. * FirestoreSource. * BigtableSource.", +"type": "string" +}, +"inlineSource": { +"$ref": "GoogleCloudDiscoveryengineV1betaImportDocumentsRequestInlineSource", +"description": "The Inline source for the input content for documents." +}, +"reconciliationMode": { +"description": "The mode of reconciliation between existing documents and the documents to be imported. Defaults to ReconciliationMode.INCREMENTAL.", +"enum": [ +"RECONCILIATION_MODE_UNSPECIFIED", +"INCREMENTAL", +"FULL" +], +"enumDescriptions": [ +"Defaults to `INCREMENTAL`.", +"Inserts new documents or updates existing documents.", +"Calculates diff and replaces the entire document dataset. Existing documents may be deleted if they are not present in the source location." +], +"type": "string" +}, +"spannerSource": { +"$ref": "GoogleCloudDiscoveryengineV1betaSpannerSource", +"description": "Spanner input source." +}, +"updateMask": { +"description": "Indicates which fields in the provided imported documents to update. If not set, the default is to update all fields.", +"format": "google-fieldmask", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1betaImportDocumentsRequestInlineSource": { +"description": "The inline source for the input config for ImportDocuments method.", +"id": "GoogleCloudDiscoveryengineV1betaImportDocumentsRequestInlineSource", +"properties": { +"documents": { +"description": "Required. A list of documents to update/create. Each document must have a valid Document.id. Recommended max of 100 items.", +"items": { +"$ref": "GoogleCloudDiscoveryengineV1betaDocument" +}, +"type": "array" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1betaImportDocumentsResponse": { +"description": "Response of the ImportDocumentsRequest. If the long running operation is done, then this message is returned by the google.longrunning.Operations.response field if the operation was successful.", +"id": "GoogleCloudDiscoveryengineV1betaImportDocumentsResponse", +"properties": { +"errorConfig": { +"$ref": "GoogleCloudDiscoveryengineV1betaImportErrorConfig", +"description": "Echoes the destination for the complete errors in the request if set." +}, +"errorSamples": { +"description": "A sample of errors encountered while processing the request.", +"items": { +"$ref": "GoogleRpcStatus" +}, +"type": "array" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1betaImportErrorConfig": { +"description": "Configuration of destination for Import related errors.", +"id": "GoogleCloudDiscoveryengineV1betaImportErrorConfig", +"properties": { +"gcsPrefix": { +"description": "Cloud Storage prefix for import errors. This must be an empty, existing Cloud Storage directory. Import errors are written to sharded files in this directory, one per line, as a JSON-encoded `google.rpc.Status` message.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1betaImportSampleQueriesMetadata": { +"description": "Metadata related to the progress of the ImportSampleQueries operation. This will be returned by the google.longrunning.Operation.metadata field.", +"id": "GoogleCloudDiscoveryengineV1betaImportSampleQueriesMetadata", +"properties": { +"createTime": { +"description": "ImportSampleQueries operation create time.", +"format": "google-datetime", +"type": "string" +}, +"failureCount": { +"description": "Count of SampleQuerys that failed to be imported.", +"format": "int64", +"type": "string" +}, +"successCount": { +"description": "Count of SampleQuerys successfully imported.", +"format": "int64", +"type": "string" +}, +"totalCount": { +"description": "Total count of SampleQuerys that were processed.", +"format": "int64", +"type": "string" +}, +"updateTime": { +"description": "ImportSampleQueries operation last update time. If the operation is done, this is also the finish time.", +"format": "google-datetime", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1betaImportSampleQueriesRequest": { +"description": "Request message for SampleQueryService.ImportSampleQueries method.", +"id": "GoogleCloudDiscoveryengineV1betaImportSampleQueriesRequest", +"properties": { +"bigquerySource": { +"$ref": "GoogleCloudDiscoveryengineV1betaBigQuerySource", +"description": "BigQuery input source." +}, +"errorConfig": { +"$ref": "GoogleCloudDiscoveryengineV1betaImportErrorConfig", +"description": "The desired location of errors incurred during the Import." +}, +"gcsSource": { +"$ref": "GoogleCloudDiscoveryengineV1betaGcsSource", +"description": "Cloud Storage location for the input content." +}, +"inlineSource": { +"$ref": "GoogleCloudDiscoveryengineV1betaImportSampleQueriesRequestInlineSource", +"description": "The Inline source for sample query entries." +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1betaImportSampleQueriesRequestInlineSource": { +"description": "The inline source for SampleQuerys.", +"id": "GoogleCloudDiscoveryengineV1betaImportSampleQueriesRequestInlineSource", +"properties": { +"sampleQueries": { +"description": "Required. A list of SampleQuerys to import. Max of 1000 items.", +"items": { +"$ref": "GoogleCloudDiscoveryengineV1betaSampleQuery" +}, +"type": "array" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1betaImportSampleQueriesResponse": { +"description": "Response of the SampleQueryService.ImportSampleQueries method. If the long running operation is done, this message is returned by the google.longrunning.Operations.response field if the operation is successful.", +"id": "GoogleCloudDiscoveryengineV1betaImportSampleQueriesResponse", +"properties": { +"errorConfig": { +"$ref": "GoogleCloudDiscoveryengineV1betaImportErrorConfig", +"description": "The desired location of errors incurred during the Import." +}, +"errorSamples": { +"description": "A sample of errors encountered while processing the request.", +"items": { +"$ref": "GoogleRpcStatus" +}, +"type": "array" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1betaImportSuggestionDenyListEntriesMetadata": { +"description": "Metadata related to the progress of the ImportSuggestionDenyListEntries operation. This is returned by the google.longrunning.Operation.metadata field.", +"id": "GoogleCloudDiscoveryengineV1betaImportSuggestionDenyListEntriesMetadata", +"properties": { +"createTime": { +"description": "Operation create time.", +"format": "google-datetime", +"type": "string" +}, +"updateTime": { +"description": "Operation last update time. If the operation is done, this is also the finish time.", +"format": "google-datetime", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1betaImportSuggestionDenyListEntriesRequest": { +"description": "Request message for CompletionService.ImportSuggestionDenyListEntries method.", +"id": "GoogleCloudDiscoveryengineV1betaImportSuggestionDenyListEntriesRequest", +"properties": { +"gcsSource": { +"$ref": "GoogleCloudDiscoveryengineV1betaGcsSource", +"description": "Cloud Storage location for the input content. Only 1 file can be specified that contains all entries to import. Supported values `gcs_source.schema` for autocomplete suggestion deny list entry imports: * `suggestion_deny_list` (default): One JSON [SuggestionDenyListEntry] per line." +}, +"inlineSource": { +"$ref": "GoogleCloudDiscoveryengineV1betaImportSuggestionDenyListEntriesRequestInlineSource", +"description": "The Inline source for the input content for suggestion deny list entries." +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1betaImportSuggestionDenyListEntriesRequestInlineSource": { +"description": "The inline source for SuggestionDenyListEntry.", +"id": "GoogleCloudDiscoveryengineV1betaImportSuggestionDenyListEntriesRequestInlineSource", +"properties": { +"entries": { +"description": "Required. A list of all denylist entries to import. Max of 1000 items.", +"items": { +"$ref": "GoogleCloudDiscoveryengineV1betaSuggestionDenyListEntry" +}, +"type": "array" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1betaImportSuggestionDenyListEntriesResponse": { +"description": "Response message for CompletionService.ImportSuggestionDenyListEntries method.", +"id": "GoogleCloudDiscoveryengineV1betaImportSuggestionDenyListEntriesResponse", +"properties": { +"errorSamples": { +"description": "A sample of errors encountered while processing the request.", +"items": { +"$ref": "GoogleRpcStatus" +}, +"type": "array" +}, +"failedEntriesCount": { +"description": "Count of deny list entries that failed to be imported.", +"format": "int64", +"type": "string" +}, +"importedEntriesCount": { +"description": "Count of deny list entries successfully imported.", +"format": "int64", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1betaImportUserEventsMetadata": { +"description": "Metadata related to the progress of the Import operation. This is returned by the google.longrunning.Operation.metadata field.", +"id": "GoogleCloudDiscoveryengineV1betaImportUserEventsMetadata", +"properties": { +"createTime": { +"description": "Operation create time.", +"format": "google-datetime", +"type": "string" +}, +"failureCount": { +"description": "Count of entries that encountered errors while processing.", +"format": "int64", +"type": "string" +}, +"successCount": { +"description": "Count of entries that were processed successfully.", +"format": "int64", +"type": "string" +}, +"updateTime": { +"description": "Operation last update time. If the operation is done, this is also the finish time.", +"format": "google-datetime", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1betaImportUserEventsRequest": { +"description": "Request message for the ImportUserEvents request.", +"id": "GoogleCloudDiscoveryengineV1betaImportUserEventsRequest", +"properties": { +"bigquerySource": { +"$ref": "GoogleCloudDiscoveryengineV1betaBigQuerySource", +"description": "BigQuery input source." +}, +"errorConfig": { +"$ref": "GoogleCloudDiscoveryengineV1betaImportErrorConfig", +"description": "The desired location of errors incurred during the Import. Cannot be set for inline user event imports." +}, +"gcsSource": { +"$ref": "GoogleCloudDiscoveryengineV1betaGcsSource", +"description": "Cloud Storage location for the input content." +}, +"inlineSource": { +"$ref": "GoogleCloudDiscoveryengineV1betaImportUserEventsRequestInlineSource", +"description": "The Inline source for the input content for UserEvents." +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1betaImportUserEventsRequestInlineSource": { +"description": "The inline source for the input config for ImportUserEvents method.", +"id": "GoogleCloudDiscoveryengineV1betaImportUserEventsRequestInlineSource", +"properties": { +"userEvents": { +"description": "Required. A list of user events to import. Recommended max of 10k items.", +"items": { +"$ref": "GoogleCloudDiscoveryengineV1betaUserEvent" +}, +"type": "array" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1betaImportUserEventsResponse": { +"description": "Response of the ImportUserEventsRequest. If the long running operation was successful, then this message is returned by the google.longrunning.Operations.response field if the operation was successful.", +"id": "GoogleCloudDiscoveryengineV1betaImportUserEventsResponse", +"properties": { +"errorConfig": { +"$ref": "GoogleCloudDiscoveryengineV1betaImportErrorConfig", +"description": "Echoes the destination for the complete errors if this field was set in the request." +}, +"errorSamples": { +"description": "A sample of errors encountered while processing the request.", +"items": { +"$ref": "GoogleRpcStatus" +}, +"type": "array" +}, +"joinedEventsCount": { +"description": "Count of user events imported with complete existing Documents.", +"format": "int64", +"type": "string" +}, +"unjoinedEventsCount": { +"description": "Count of user events imported, but with Document information not found in the existing Branch.", +"format": "int64", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1betaInterval": { +"description": "A floating point interval.", +"id": "GoogleCloudDiscoveryengineV1betaInterval", +"properties": { +"exclusiveMaximum": { +"description": "Exclusive upper bound.", +"format": "double", +"type": "number" +}, +"exclusiveMinimum": { +"description": "Exclusive lower bound.", +"format": "double", +"type": "number" +}, +"maximum": { +"description": "Inclusive upper bound.", +"format": "double", +"type": "number" +}, +"minimum": { +"description": "Inclusive lower bound.", +"format": "double", +"type": "number" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1betaLanguageInfo": { +"description": "Language info for DataStore.", +"id": "GoogleCloudDiscoveryengineV1betaLanguageInfo", +"properties": { +"language": { +"description": "Output only. Language part of normalized_language_code. E.g.: `en-US` -> `en`, `zh-Hans-HK` -> `zh`, `en` -> `en`.", +"readOnly": true, +"type": "string" +}, +"languageCode": { +"description": "The language code for the DataStore.", +"type": "string" +}, +"normalizedLanguageCode": { +"description": "Output only. This is the normalized form of language_code. E.g.: language_code of `en-GB`, `en_GB`, `en-UK` or `en-gb` will have normalized_language_code of `en-GB`.", +"readOnly": true, +"type": "string" +}, +"region": { +"description": "Output only. Region part of normalized_language_code, if present. E.g.: `en-US` -> `US`, `zh-Hans-HK` -> `HK`, `en` -> ``.", +"readOnly": true, +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1betaListControlsResponse": { +"description": "Response for ListControls method.", +"id": "GoogleCloudDiscoveryengineV1betaListControlsResponse", +"properties": { +"controls": { +"description": "All the Controls for a given data store.", +"items": { +"$ref": "GoogleCloudDiscoveryengineV1betaControl" +}, +"type": "array" +}, +"nextPageToken": { +"description": "Pagination token, if not returned indicates the last page.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1betaListConversationsResponse": { +"description": "Response for ListConversations method.", +"id": "GoogleCloudDiscoveryengineV1betaListConversationsResponse", +"properties": { +"conversations": { +"description": "All the Conversations for a given data store.", +"items": { +"$ref": "GoogleCloudDiscoveryengineV1betaConversation" +}, +"type": "array" +}, +"nextPageToken": { +"description": "Pagination token, if not returned indicates the last page.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1betaListCustomModelsResponse": { +"description": "Response message for SearchTuningService.ListCustomModels method.", +"id": "GoogleCloudDiscoveryengineV1betaListCustomModelsResponse", +"properties": { +"models": { +"description": "List of custom tuning models.", +"items": { +"$ref": "GoogleCloudDiscoveryengineV1betaCustomTuningModel" +}, +"type": "array" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1betaListDataStoresResponse": { +"description": "Response message for DataStoreService.ListDataStores method.", +"id": "GoogleCloudDiscoveryengineV1betaListDataStoresResponse", +"properties": { +"dataStores": { +"description": "All the customer's DataStores.", +"items": { +"$ref": "GoogleCloudDiscoveryengineV1betaDataStore" +}, +"type": "array" +}, +"nextPageToken": { +"description": "A token that can be sent as ListDataStoresRequest.page_token to retrieve the next page. If this field is omitted, there are no subsequent pages.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1betaListDocumentsResponse": { +"description": "Response message for DocumentService.ListDocuments method.", +"id": "GoogleCloudDiscoveryengineV1betaListDocumentsResponse", +"properties": { +"documents": { +"description": "The Documents.", +"items": { +"$ref": "GoogleCloudDiscoveryengineV1betaDocument" +}, +"type": "array" +}, +"nextPageToken": { +"description": "A token that can be sent as ListDocumentsRequest.page_token to retrieve the next page. If this field is omitted, there are no subsequent pages.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1betaListEnginesResponse": { +"description": "Response message for EngineService.ListEngines method.", +"id": "GoogleCloudDiscoveryengineV1betaListEnginesResponse", +"properties": { +"engines": { +"description": "All the customer's Engines.", +"items": { +"$ref": "GoogleCloudDiscoveryengineV1betaEngine" +}, +"type": "array" +}, +"nextPageToken": { +"description": "Not supported.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1betaListEvaluationResultsResponse": { +"description": "Response message for EvaluationService.ListEvaluationResults method.", +"id": "GoogleCloudDiscoveryengineV1betaListEvaluationResultsResponse", +"properties": { +"evaluationResults": { +"description": "The evaluation results for the SampleQuerys.", +"items": { +"$ref": "GoogleCloudDiscoveryengineV1betaListEvaluationResultsResponseEvaluationResult" +}, +"type": "array" +}, +"nextPageToken": { +"description": "A token that can be sent as ListEvaluationResultsRequest.page_token to retrieve the next page. If this field is omitted, there are no subsequent pages.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1betaListEvaluationResultsResponseEvaluationResult": { +"description": "Represents the results of an evaluation for a single SampleQuery.", +"id": "GoogleCloudDiscoveryengineV1betaListEvaluationResultsResponseEvaluationResult", +"properties": { +"qualityMetrics": { +"$ref": "GoogleCloudDiscoveryengineV1betaQualityMetrics", +"description": "Output only. The metrics produced by the evaluation, for a given SampleQuery.", +"readOnly": true +}, +"sampleQuery": { +"$ref": "GoogleCloudDiscoveryengineV1betaSampleQuery", +"description": "Output only. The SampleQuery that was evaluated.", +"readOnly": true +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1betaListEvaluationsResponse": { +"description": "Response message for EvaluationService.ListEvaluations method.", +"id": "GoogleCloudDiscoveryengineV1betaListEvaluationsResponse", +"properties": { +"evaluations": { +"description": "The Evaluations.", +"items": { +"$ref": "GoogleCloudDiscoveryengineV1betaEvaluation" +}, +"type": "array" +}, +"nextPageToken": { +"description": "A token that can be sent as ListEvaluationsRequest.page_token to retrieve the next page. If this field is omitted, there are no subsequent pages.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1betaListSampleQueriesResponse": { +"description": "Response message for SampleQueryService.ListSampleQueries method.", +"id": "GoogleCloudDiscoveryengineV1betaListSampleQueriesResponse", +"properties": { +"nextPageToken": { +"description": "A token that can be sent as ListSampleQueriesRequest.page_token to retrieve the next page. If this field is omitted, there are no subsequent pages.", +"type": "string" +}, +"sampleQueries": { +"description": "The SampleQuerys.", +"items": { +"$ref": "GoogleCloudDiscoveryengineV1betaSampleQuery" +}, +"type": "array" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1betaListSampleQuerySetsResponse": { +"description": "Response message for SampleQuerySetService.ListSampleQuerySets method.", +"id": "GoogleCloudDiscoveryengineV1betaListSampleQuerySetsResponse", +"properties": { +"nextPageToken": { +"description": "A token that can be sent as ListSampleQuerySetsRequest.page_token to retrieve the next page. If this field is omitted, there are no subsequent pages.", +"type": "string" +}, +"sampleQuerySets": { +"description": "The SampleQuerySets.", +"items": { +"$ref": "GoogleCloudDiscoveryengineV1betaSampleQuerySet" +}, +"type": "array" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1betaListSchemasResponse": { +"description": "Response message for SchemaService.ListSchemas method.", +"id": "GoogleCloudDiscoveryengineV1betaListSchemasResponse", +"properties": { +"nextPageToken": { +"description": "A token that can be sent as ListSchemasRequest.page_token to retrieve the next page. If this field is omitted, there are no subsequent pages.", +"type": "string" +}, +"schemas": { +"description": "The Schemas.", +"items": { +"$ref": "GoogleCloudDiscoveryengineV1betaSchema" +}, +"type": "array" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1betaListServingConfigsResponse": { +"description": "Response for ListServingConfigs method.", +"id": "GoogleCloudDiscoveryengineV1betaListServingConfigsResponse", +"properties": { +"nextPageToken": { +"description": "Pagination token, if not returned indicates the last page.", +"type": "string" +}, +"servingConfigs": { +"description": "All the ServingConfigs for a given dataStore.", +"items": { +"$ref": "GoogleCloudDiscoveryengineV1betaServingConfig" +}, +"type": "array" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1betaListSessionsResponse": { +"description": "Response for ListSessions method.", +"id": "GoogleCloudDiscoveryengineV1betaListSessionsResponse", +"properties": { +"nextPageToken": { +"description": "Pagination token, if not returned indicates the last page.", +"type": "string" +}, +"sessions": { +"description": "All the Sessions for a given data store.", +"items": { +"$ref": "GoogleCloudDiscoveryengineV1betaSession" +}, +"type": "array" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1betaListTargetSitesResponse": { +"description": "Response message for SiteSearchEngineService.ListTargetSites method.", +"id": "GoogleCloudDiscoveryengineV1betaListTargetSitesResponse", +"properties": { +"nextPageToken": { +"description": "A token that can be sent as `page_token` to retrieve the next page. If this field is omitted, there are no subsequent pages.", +"type": "string" +}, +"targetSites": { +"description": "List of TargetSites.", +"items": { +"$ref": "GoogleCloudDiscoveryengineV1betaTargetSite" +}, +"type": "array" +}, +"totalSize": { +"description": "The total number of items matching the request. This will always be populated in the response.", +"format": "int32", +"type": "integer" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1betaMediaInfo": { +"description": "Media-specific user event information.", +"id": "GoogleCloudDiscoveryengineV1betaMediaInfo", +"properties": { +"mediaProgressDuration": { +"description": "The media progress time in seconds, if applicable. For example, if the end user has finished 90 seconds of a playback video, then MediaInfo.media_progress_duration.seconds should be set to 90.", +"format": "google-duration", +"type": "string" +}, +"mediaProgressPercentage": { +"description": "Media progress should be computed using only the media_progress_duration relative to the media total length. This value must be between `[0, 1.0]` inclusive. If this is not a playback or the progress cannot be computed (e.g. ongoing livestream), this field should be unset.", +"format": "float", +"type": "number" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1betaNaturalLanguageQueryUnderstandingConfig": { +"description": "Configuration for Natural Language Query Understanding.", +"id": "GoogleCloudDiscoveryengineV1betaNaturalLanguageQueryUnderstandingConfig", +"properties": { +"mode": { +"description": "Mode of Natural Language Query Understanding. If this field is unset, the behavior defaults to NaturalLanguageQueryUnderstandingConfig.Mode.DISABLED.", +"enum": [ +"MODE_UNSPECIFIED", +"DISABLED", +"ENABLED" +], +"enumDescriptions": [ +"Default value.", +"Natural Language Query Understanding is disabled.", +"Natural Language Query Understanding is enabled." +], +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1betaPageInfo": { +"description": "Detailed page information.", +"id": "GoogleCloudDiscoveryengineV1betaPageInfo", +"properties": { +"pageCategory": { +"description": "The most specific category associated with a category page. To represent full path of category, use '>' sign to separate different hierarchies. If '>' is part of the category name, replace it with other character(s). Category pages include special pages such as sales or promotions. For instance, a special sale page may have the category hierarchy: `\"pageCategory\" : \"Sales > 2017 Black Friday Deals\"`. Required for `view-category-page` events. Other event types should not set this field. Otherwise, an `INVALID_ARGUMENT` error is returned.", +"type": "string" +}, +"pageviewId": { +"description": "A unique ID of a web page view. This should be kept the same for all user events triggered from the same pageview. For example, an item detail page view could trigger multiple events as the user is browsing the page. The `pageview_id` property should be kept the same for all these events so that they can be grouped together properly. When using the client side event reporting with JavaScript pixel and Google Tag Manager, this value is filled in automatically.", +"type": "string" +}, +"referrerUri": { +"description": "The referrer URL of the current page. When using the client side event reporting with JavaScript pixel and Google Tag Manager, this value is filled in automatically. However, some browser privacy restrictions may cause this field to be empty.", +"type": "string" +}, +"uri": { +"description": "Complete URL (window.location.href) of the user's current page. When using the client side event reporting with JavaScript pixel and Google Tag Manager, this value is filled in automatically. Maximum length 5,000 characters.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1betaPanelInfo": { +"description": "Detailed panel information associated with a user event.", +"id": "GoogleCloudDiscoveryengineV1betaPanelInfo", +"properties": { +"displayName": { +"description": "The display name of the panel.", +"type": "string" +}, +"documents": { +"description": "Optional. The document IDs associated with this panel.", +"items": { +"$ref": "GoogleCloudDiscoveryengineV1betaDocumentInfo" +}, +"type": "array" +}, +"panelId": { +"description": "Required. The panel ID.", +"type": "string" +}, +"panelPosition": { +"description": "The ordered position of the panel, if shown to the user with other panels. If set, then total_panels must also be set.", +"format": "int32", +"type": "integer" +}, +"totalPanels": { +"description": "The total number of panels, including this one, shown to the user. Must be set if panel_position is set.", +"format": "int32", +"type": "integer" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1betaPauseEngineRequest": { +"description": "Request for pausing training of an engine.", +"id": "GoogleCloudDiscoveryengineV1betaPauseEngineRequest", +"properties": {}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1betaProject": { +"description": "Metadata and configurations for a Google Cloud project in the service.", +"id": "GoogleCloudDiscoveryengineV1betaProject", +"properties": { +"createTime": { +"description": "Output only. The timestamp when this project is created.", +"format": "google-datetime", +"readOnly": true, +"type": "string" +}, +"name": { +"description": "Output only. Full resource name of the project, for example `projects/{project}`. Note that when making requests, project number and project id are both acceptable, but the server will always respond in project number.", +"readOnly": true, +"type": "string" +}, +"provisionCompletionTime": { +"description": "Output only. The timestamp when this project is successfully provisioned. Empty value means this project is still provisioning and is not ready for use.", +"format": "google-datetime", +"readOnly": true, +"type": "string" +}, +"serviceTermsMap": { +"additionalProperties": { +"$ref": "GoogleCloudDiscoveryengineV1betaProjectServiceTerms" +}, +"description": "Output only. A map of terms of services. The key is the `id` of ServiceTerms.", +"readOnly": true, +"type": "object" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1betaProjectServiceTerms": { +"description": "Metadata about the terms of service.", +"id": "GoogleCloudDiscoveryengineV1betaProjectServiceTerms", +"properties": { +"acceptTime": { +"description": "The last time when the project agreed to the terms of service.", +"format": "google-datetime", +"type": "string" +}, +"declineTime": { +"description": "The last time when the project declined or revoked the agreement to terms of service.", +"format": "google-datetime", +"type": "string" +}, +"id": { +"description": "The unique identifier of this terms of service. Available terms: * `GA_DATA_USE_TERMS`: [Terms for data use](https://cloud.google.com/retail/data-use-terms). When using this as `id`, the acceptable version to provide is `2022-11-23`.", +"type": "string" +}, +"state": { +"description": "Whether the project has accepted/rejected the service terms or it is still pending.", +"enum": [ +"STATE_UNSPECIFIED", +"TERMS_ACCEPTED", +"TERMS_PENDING", +"TERMS_DECLINED" +], +"enumDescriptions": [ +"The default value of the enum. This value is not actually used.", +"The project has given consent to the terms of service.", +"The project is pending to review and accept the terms of service.", +"The project has declined or revoked the agreement to terms of service." +], +"type": "string" +}, +"version": { +"description": "The version string of the terms of service. For acceptable values, see the comments for id above.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1betaProvisionProjectMetadata": { +"description": "Metadata associated with a project provision operation.", +"id": "GoogleCloudDiscoveryengineV1betaProvisionProjectMetadata", +"properties": {}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1betaProvisionProjectRequest": { +"description": "Request for ProjectService.ProvisionProject method.", +"id": "GoogleCloudDiscoveryengineV1betaProvisionProjectRequest", +"properties": { +"acceptDataUseTerms": { +"description": "Required. Set to `true` to specify that caller has read and would like to give consent to the [Terms for data use](https://cloud.google.com/retail/data-use-terms).", +"type": "boolean" +}, +"dataUseTermsVersion": { +"description": "Required. The version of the [Terms for data use](https://cloud.google.com/retail/data-use-terms) that caller has read and would like to give consent to. Acceptable version is `2022-11-23`, and this may change over time.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1betaPurgeCompletionSuggestionsRequest": { +"description": "Request message for CompletionService.PurgeCompletionSuggestions method.", +"id": "GoogleCloudDiscoveryengineV1betaPurgeCompletionSuggestionsRequest", +"properties": {}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1betaPurgeDocumentsMetadata": { +"description": "Metadata related to the progress of the PurgeDocuments operation. This will be returned by the google.longrunning.Operation.metadata field.", +"id": "GoogleCloudDiscoveryengineV1betaPurgeDocumentsMetadata", +"properties": { +"createTime": { +"description": "Operation create time.", +"format": "google-datetime", +"type": "string" +}, +"failureCount": { +"description": "Count of entries that encountered errors while processing.", +"format": "int64", +"type": "string" +}, +"ignoredCount": { +"description": "Count of entries that were ignored as entries were not found.", +"format": "int64", +"type": "string" +}, +"successCount": { +"description": "Count of entries that were deleted successfully.", +"format": "int64", +"type": "string" +}, +"updateTime": { +"description": "Operation last update time. If the operation is done, this is also the finish time.", +"format": "google-datetime", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1betaPurgeDocumentsRequest": { +"description": "Request message for DocumentService.PurgeDocuments method.", +"id": "GoogleCloudDiscoveryengineV1betaPurgeDocumentsRequest", +"properties": { +"errorConfig": { +"$ref": "GoogleCloudDiscoveryengineV1betaPurgeErrorConfig", +"description": "The desired location of errors incurred during the purge." +}, +"filter": { +"description": "Required. Filter matching documents to purge. Only currently supported value is `*` (all items).", +"type": "string" +}, +"force": { +"description": "Actually performs the purge. If `force` is set to false, return the expected purge count without deleting any documents.", +"type": "boolean" +}, +"gcsSource": { +"$ref": "GoogleCloudDiscoveryengineV1betaGcsSource", +"description": "Cloud Storage location for the input content. Supported `data_schema`: * `document_id`: One valid Document.id per line." +}, +"inlineSource": { +"$ref": "GoogleCloudDiscoveryengineV1betaPurgeDocumentsRequestInlineSource", +"description": "Inline source for the input content for purge." +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1betaPurgeDocumentsRequestInlineSource": { +"description": "The inline source for the input config for DocumentService.PurgeDocuments method.", +"id": "GoogleCloudDiscoveryengineV1betaPurgeDocumentsRequestInlineSource", +"properties": { +"documents": { +"description": "Required. A list of full resource name of documents to purge. In the format `projects/*/locations/*/collections/*/dataStores/*/branches/*/documents/*`. Recommended max of 100 items.", +"items": { +"type": "string" +}, +"type": "array" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1betaPurgeDocumentsResponse": { +"description": "Response message for DocumentService.PurgeDocuments method. If the long running operation is successfully done, then this message is returned by the google.longrunning.Operations.response field.", +"id": "GoogleCloudDiscoveryengineV1betaPurgeDocumentsResponse", +"properties": { +"purgeCount": { +"description": "The total count of documents purged as a result of the operation.", +"format": "int64", +"type": "string" +}, +"purgeSample": { +"description": "A sample of document names that will be deleted. Only populated if `force` is set to false. A max of 100 names will be returned and the names are chosen at random.", +"items": { +"type": "string" +}, +"type": "array" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1betaPurgeErrorConfig": { +"description": "Configuration of destination for Purge related errors.", +"id": "GoogleCloudDiscoveryengineV1betaPurgeErrorConfig", +"properties": { +"gcsPrefix": { +"description": "Cloud Storage prefix for purge errors. This must be an empty, existing Cloud Storage directory. Purge errors are written to sharded files in this directory, one per line, as a JSON-encoded `google.rpc.Status` message.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1betaPurgeSuggestionDenyListEntriesMetadata": { +"description": "Metadata related to the progress of the PurgeSuggestionDenyListEntries operation. This is returned by the google.longrunning.Operation.metadata field.", +"id": "GoogleCloudDiscoveryengineV1betaPurgeSuggestionDenyListEntriesMetadata", +"properties": { +"createTime": { +"description": "Operation create time.", +"format": "google-datetime", +"type": "string" +}, +"updateTime": { +"description": "Operation last update time. If the operation is done, this is also the finish time.", +"format": "google-datetime", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1betaPurgeSuggestionDenyListEntriesRequest": { +"description": "Request message for CompletionService.PurgeSuggestionDenyListEntries method.", +"id": "GoogleCloudDiscoveryengineV1betaPurgeSuggestionDenyListEntriesRequest", +"properties": {}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1betaPurgeSuggestionDenyListEntriesResponse": { +"description": "Response message for CompletionService.PurgeSuggestionDenyListEntries method.", +"id": "GoogleCloudDiscoveryengineV1betaPurgeSuggestionDenyListEntriesResponse", +"properties": { +"errorSamples": { +"description": "A sample of errors encountered while processing the request.", +"items": { +"$ref": "GoogleRpcStatus" +}, +"type": "array" +}, +"purgeCount": { +"description": "Number of suggestion deny list entries purged.", +"format": "int64", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1betaPurgeUserEventsRequest": { +"description": "Request message for PurgeUserEvents method.", +"id": "GoogleCloudDiscoveryengineV1betaPurgeUserEventsRequest", +"properties": { +"filter": { +"description": "Required. The filter string to specify the events to be deleted with a length limit of 5,000 characters. The eligible fields for filtering are: * `eventType`: Double quoted UserEvent.event_type string. * `eventTime`: in ISO 8601 \"zulu\" format. * `userPseudoId`: Double quoted string. Specifying this will delete all events associated with a visitor. * `userId`: Double quoted string. Specifying this will delete all events associated with a user. Note: This API only supports purging a max range of 30 days. Examples: * Deleting all events in a time range: `eventTime > \"2012-04-23T18:25:43.511Z\" eventTime < \"2012-04-23T18:30:43.511Z\"` * Deleting specific eventType in a time range: `eventTime > \"2012-04-23T18:25:43.511Z\" eventTime < \"2012-04-23T18:30:43.511Z\" eventType = \"search\"` * Deleting all events for a specific visitor in a time range: `eventTime > \"2012-04-23T18:25:43.511Z\" eventTime < \"2012-04-23T18:30:43.511Z\" userPseudoId = \"visitor1024\"` * Deleting the past 30 days of events inside a DataStore: `*` The filtering fields are assumed to have an implicit AND.", +"type": "string" +}, +"force": { +"description": "The `force` field is currently not supported. Purge user event requests will permanently delete all purgeable events. Once the development is complete: If `force` is set to false, the method will return the expected purge count without deleting any user events. This field will default to false if not included in the request.", +"type": "boolean" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1betaQualityMetrics": { +"description": "Describes the metrics produced by the evaluation.", +"id": "GoogleCloudDiscoveryengineV1betaQualityMetrics", +"properties": { +"docNdcg": { +"$ref": "GoogleCloudDiscoveryengineV1betaQualityMetricsTopkMetrics", +"description": "Normalized discounted cumulative gain (NDCG) per document, at various top-k cutoff levels. NDCG measures the ranking quality, giving higher relevance to top results. Example (top-3): Suppose SampleQuery with three retrieved documents (D1, D2, D3) and binary relevance judgements (1 for relevant, 0 for not relevant): Retrieved: [D3 (0), D1 (1), D2 (1)] Ideal: [D1 (1), D2 (1), D3 (0)] Calculate NDCG@3 for each SampleQuery: * DCG@3: 0/log2(1+1) + 1/log2(2+1) + 1/log2(3+1) = 1.13 * Ideal DCG@3: 1/log2(1+1) + 1/log2(2+1) + 0/log2(3+1) = 1.63 * NDCG@3: 1.13/1.63 = 0.693" +}, +"docPrecision": { +"$ref": "GoogleCloudDiscoveryengineV1betaQualityMetricsTopkMetrics", +"description": "Precision per document, at various top-k cutoff levels. Precision is the fraction of retrieved documents that are relevant. Example (top-5): * For a single SampleQuery, If 4 out of 5 retrieved documents in the top-5 are relevant, precision@5 = 4/5 = 0.8" +}, +"docRecall": { +"$ref": "GoogleCloudDiscoveryengineV1betaQualityMetricsTopkMetrics", +"description": "Recall per document, at various top-k cutoff levels. Recall is the fraction of relevant documents retrieved out of all relevant documents. Example (top-5): * For a single SampleQuery, If 3 out of 5 relevant documents are retrieved in the top-5, recall@5 = 3/5 = 0.6" +}, +"pageNdcg": { +"$ref": "GoogleCloudDiscoveryengineV1betaQualityMetricsTopkMetrics", +"description": "Normalized discounted cumulative gain (NDCG) per page, at various top-k cutoff levels. NDCG measures the ranking quality, giving higher relevance to top results. Example (top-3): Suppose SampleQuery with three retrieved pages (P1, P2, P3) and binary relevance judgements (1 for relevant, 0 for not relevant): Retrieved: [P3 (0), P1 (1), P2 (1)] Ideal: [P1 (1), P2 (1), P3 (0)] Calculate NDCG@3 for SampleQuery: * DCG@3: 0/log2(1+1) + 1/log2(2+1) + 1/log2(3+1) = 1.13 * Ideal DCG@3: 1/log2(1+1) + 1/log2(2+1) + 0/log2(3+1) = 1.63 * NDCG@3: 1.13/1.63 = 0.693" +}, +"pageRecall": { +"$ref": "GoogleCloudDiscoveryengineV1betaQualityMetricsTopkMetrics", +"description": "Recall per page, at various top-k cutoff levels. Recall is the fraction of relevant pages retrieved out of all relevant pages. Example (top-5): * For a single SampleQuery, if 3 out of 5 relevant pages are retrieved in the top-5, recall@5 = 3/5 = 0.6" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1betaQualityMetricsTopkMetrics": { +"description": "Stores the metric values at specific top-k levels.", +"id": "GoogleCloudDiscoveryengineV1betaQualityMetricsTopkMetrics", +"properties": { +"top1": { +"description": "The top-1 value.", +"format": "double", +"type": "number" +}, +"top10": { +"description": "The top-10 value.", +"format": "double", +"type": "number" +}, +"top3": { +"description": "The top-3 value.", +"format": "double", +"type": "number" +}, +"top5": { +"description": "The top-5 value.", +"format": "double", +"type": "number" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1betaQuery": { +"description": "Defines a user inputed query.", +"id": "GoogleCloudDiscoveryengineV1betaQuery", +"properties": { +"queryId": { +"description": "Unique Id for the query.", +"type": "string" +}, +"text": { +"description": "Plain text.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1betaRankRequest": { +"description": "Request message for RankService.Rank method.", +"id": "GoogleCloudDiscoveryengineV1betaRankRequest", +"properties": { +"ignoreRecordDetailsInResponse": { +"description": "If true, the response will contain only record ID and score. By default, it is false, the response will contain record details.", +"type": "boolean" +}, +"model": { +"description": "The identifier of the model to use. It is one of: * `semantic-ranker-512@latest`: Semantic ranking model with maxiumn input token size 512. It is set to `semantic-ranker-512@latest` by default if unspecified.", +"type": "string" +}, +"query": { +"description": "The query to use.", +"type": "string" +}, +"records": { +"description": "Required. A list of records to rank. At most 200 records to rank.", +"items": { +"$ref": "GoogleCloudDiscoveryengineV1betaRankingRecord" +}, +"type": "array" +}, +"topN": { +"description": "The number of results to return. If this is unset or no bigger than zero, returns all results.", +"format": "int32", +"type": "integer" +}, +"userLabels": { +"additionalProperties": { +"type": "string" +}, +"description": "The user labels applied to a resource must meet the following requirements: * Each resource can have multiple labels, up to a maximum of 64. * Each label must be a key-value pair. * Keys have a minimum length of 1 character and a maximum length of 63 characters and cannot be empty. Values can be empty and have a maximum length of 63 characters. * Keys and values can contain only lowercase letters, numeric characters, underscores, and dashes. All characters must use UTF-8 encoding, and international characters are allowed. * The key portion of a label must be unique. However, you can use the same key with multiple resources. * Keys must start with a lowercase letter or international character. See [Google Cloud Document](https://cloud.google.com/resource-manager/docs/creating-managing-labels#requirements) for more details.", +"type": "object" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1betaRankResponse": { +"description": "Response message for RankService.Rank method.", +"id": "GoogleCloudDiscoveryengineV1betaRankResponse", +"properties": { +"records": { +"description": "A list of records sorted by descending score.", +"items": { +"$ref": "GoogleCloudDiscoveryengineV1betaRankingRecord" +}, +"type": "array" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1betaRankingRecord": { +"description": "Record message for RankService.Rank method.", +"id": "GoogleCloudDiscoveryengineV1betaRankingRecord", +"properties": { +"content": { +"description": "The content of the record. Empty by default. At least one of title or content should be set otherwise an INVALID_ARGUMENT error is thrown.", +"type": "string" +}, +"id": { +"description": "The unique ID to represent the record.", +"type": "string" +}, +"score": { +"description": "The score of this record based on the given query and selected model. The score will be rounded to 2 decimal places. If the score is close to 0, it will be rounded to 0.0001 to avoid returning unset.", +"format": "float", +"type": "number" +}, +"title": { +"description": "The title of the record. Empty by default. At least one of title or content should be set otherwise an INVALID_ARGUMENT error is thrown.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1betaRecommendRequest": { +"description": "Request message for Recommend method.", +"id": "GoogleCloudDiscoveryengineV1betaRecommendRequest", +"properties": { +"filter": { +"description": "Filter for restricting recommendation results with a length limit of 5,000 characters. Currently, only filter expressions on the `filter_tags` attribute is supported. Examples: * `(filter_tags: ANY(\"Red\", \"Blue\") OR filter_tags: ANY(\"Hot\", \"Cold\"))` * `(filter_tags: ANY(\"Red\", \"Blue\")) AND NOT (filter_tags: ANY(\"Green\"))` If `attributeFilteringSyntax` is set to true under the `params` field, then attribute-based expressions are expected instead of the above described tag-based syntax. Examples: * (language: ANY(\"en\", \"es\")) AND NOT (categories: ANY(\"Movie\")) * (available: true) AND (language: ANY(\"en\", \"es\")) OR (categories: ANY(\"Movie\")) If your filter blocks all results, the API returns generic (unfiltered) popular Documents. If you only want results strictly matching the filters, set `strictFiltering` to `true` in RecommendRequest.params to receive empty results instead. Note that the API never returns Documents with `storageStatus` as `EXPIRED` or `DELETED` regardless of filter choices.", +"type": "string" +}, +"pageSize": { +"description": "Maximum number of results to return. Set this property to the number of recommendation results needed. If zero, the service chooses a reasonable default. The maximum allowed value is 100. Values above 100 are set to 100.", +"format": "int32", +"type": "integer" +}, +"params": { +"additionalProperties": { +"type": "any" +}, +"description": "Additional domain specific parameters for the recommendations. Allowed values: * `returnDocument`: Boolean. If set to `true`, the associated Document object is returned in RecommendResponse.RecommendationResult.document. * `returnScore`: Boolean. If set to true, the recommendation score corresponding to each returned Document is set in RecommendResponse.RecommendationResult.metadata. The given score indicates the probability of a Document conversion given the user's context and history. * `strictFiltering`: Boolean. True by default. If set to `false`, the service returns generic (unfiltered) popular Documents instead of empty if your filter blocks all recommendation results. * `diversityLevel`: String. Default empty. If set to be non-empty, then it needs to be one of: * `no-diversity` * `low-diversity` * `medium-diversity` * `high-diversity` * `auto-diversity` This gives request-level control and adjusts recommendation results based on Document category. * `attributeFilteringSyntax`: Boolean. False by default. If set to true, the `filter` field is interpreted according to the new, attribute-based syntax.", +"type": "object" +}, +"userEvent": { +"$ref": "GoogleCloudDiscoveryengineV1betaUserEvent", +"description": "Required. Context about the user, what they are looking at and what action they took to trigger the Recommend request. Note that this user event detail won't be ingested to userEvent logs. Thus, a separate userEvent write request is required for event logging. Don't set UserEvent.user_pseudo_id or UserEvent.user_info.user_id to the same fixed ID for different users. If you are trying to receive non-personalized recommendations (not recommended; this can negatively impact model performance), instead set UserEvent.user_pseudo_id to a random unique ID and leave UserEvent.user_info.user_id unset." +}, +"userLabels": { +"additionalProperties": { +"type": "string" +}, +"description": "The user labels applied to a resource must meet the following requirements: * Each resource can have multiple labels, up to a maximum of 64. * Each label must be a key-value pair. * Keys have a minimum length of 1 character and a maximum length of 63 characters and cannot be empty. Values can be empty and have a maximum length of 63 characters. * Keys and values can contain only lowercase letters, numeric characters, underscores, and dashes. All characters must use UTF-8 encoding, and international characters are allowed. * The key portion of a label must be unique. However, you can use the same key with multiple resources. * Keys must start with a lowercase letter or international character. See [Requirements for labels](https://cloud.google.com/resource-manager/docs/creating-managing-labels#requirements) for more details.", +"type": "object" +}, +"validateOnly": { +"description": "Use validate only mode for this recommendation query. If set to `true`, a fake model is used that returns arbitrary Document IDs. Note that the validate only mode should only be used for testing the API, or if the model is not ready.", +"type": "boolean" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1betaRecommendResponse": { +"description": "Response message for Recommend method.", +"id": "GoogleCloudDiscoveryengineV1betaRecommendResponse", +"properties": { +"attributionToken": { +"description": "A unique attribution token. This should be included in the UserEvent logs resulting from this recommendation, which enables accurate attribution of recommendation model performance.", +"type": "string" +}, +"missingIds": { +"description": "IDs of documents in the request that were missing from the default Branch associated with the requested ServingConfig.", +"items": { +"type": "string" +}, +"type": "array" +}, +"results": { +"description": "A list of recommended Documents. The order represents the ranking (from the most relevant Document to the least).", +"items": { +"$ref": "GoogleCloudDiscoveryengineV1betaRecommendResponseRecommendationResult" +}, +"type": "array" +}, +"validateOnly": { +"description": "True if RecommendRequest.validate_only was set.", +"type": "boolean" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1betaRecommendResponseRecommendationResult": { +"description": "RecommendationResult represents a generic recommendation result with associated metadata.", +"id": "GoogleCloudDiscoveryengineV1betaRecommendResponseRecommendationResult", +"properties": { +"document": { +"$ref": "GoogleCloudDiscoveryengineV1betaDocument", +"description": "Set if `returnDocument` is set to true in RecommendRequest.params." +}, +"id": { +"description": "Resource ID of the recommended Document.", +"type": "string" +}, +"metadata": { +"additionalProperties": { +"type": "any" +}, +"description": "Additional Document metadata or annotations. Possible values: * `score`: Recommendation score in double value. Is set if `returnScore` is set to true in RecommendRequest.params.", +"type": "object" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1betaRecrawlUrisRequest": { +"description": "Request message for SiteSearchEngineService.RecrawlUris method.", +"id": "GoogleCloudDiscoveryengineV1betaRecrawlUrisRequest", +"properties": { +"siteCredential": { +"description": "Optional. Full resource name of the `SiteCredential`, such as `projects/*/locations/*/collections/*/dataStores/*/siteSearchEngine/siteCredentials/*`. Only set to crawl private URIs.", +"type": "string" +}, +"uris": { +"description": "Required. List of URIs to crawl. At most 10K URIs are supported, otherwise an INVALID_ARGUMENT error is thrown. Each URI should match at least one TargetSite in `site_search_engine`.", +"items": { +"type": "string" +}, +"type": "array" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1betaReply": { +"description": "Defines a reply message to user.", +"id": "GoogleCloudDiscoveryengineV1betaReply", +"properties": { +"references": { +"deprecated": true, +"description": "References in the reply.", +"items": { +"$ref": "GoogleCloudDiscoveryengineV1betaReplyReference" +}, +"type": "array" +}, +"reply": { +"deprecated": true, +"description": "DEPRECATED: use `summary` instead. Text reply.", +"type": "string" +}, +"summary": { +"$ref": "GoogleCloudDiscoveryengineV1betaSearchResponseSummary", +"description": "Summary based on search results." +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1betaReplyReference": { +"deprecated": true, +"description": "Defines reference in reply.", +"id": "GoogleCloudDiscoveryengineV1betaReplyReference", +"properties": { +"anchorText": { +"description": "Anchor text.", +"type": "string" +}, +"end": { +"description": "Anchor text end index.", +"format": "int32", +"type": "integer" +}, +"start": { +"description": "Anchor text start index.", +"format": "int32", +"type": "integer" +}, +"uri": { +"description": "URI link reference.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1betaResumeEngineRequest": { +"description": "Request for resuming training of an engine.", +"id": "GoogleCloudDiscoveryengineV1betaResumeEngineRequest", +"properties": {}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1betaSafetyRating": { +"description": "Safety rating corresponding to the generated content.", +"id": "GoogleCloudDiscoveryengineV1betaSafetyRating", +"properties": { +"blocked": { +"description": "Output only. Indicates whether the content was filtered out because of this rating.", +"readOnly": true, +"type": "boolean" +}, +"category": { +"description": "Output only. Harm category.", +"enum": [ +"HARM_CATEGORY_UNSPECIFIED", +"HARM_CATEGORY_HATE_SPEECH", +"HARM_CATEGORY_DANGEROUS_CONTENT", +"HARM_CATEGORY_HARASSMENT", +"HARM_CATEGORY_SEXUALLY_EXPLICIT", +"HARM_CATEGORY_CIVIC_INTEGRITY" +], +"enumDescriptions": [ +"The harm category is unspecified.", +"The harm category is hate speech.", +"The harm category is dangerous content.", +"The harm category is harassment.", +"The harm category is sexually explicit content.", +"The harm category is civic integrity." +], +"readOnly": true, +"type": "string" +}, +"probability": { +"description": "Output only. Harm probability levels in the content.", +"enum": [ +"HARM_PROBABILITY_UNSPECIFIED", +"NEGLIGIBLE", +"LOW", +"MEDIUM", +"HIGH" +], +"enumDescriptions": [ +"Harm probability unspecified.", +"Negligible level of harm.", +"Low level of harm.", +"Medium level of harm.", +"High level of harm." +], +"readOnly": true, +"type": "string" +}, +"probabilityScore": { +"description": "Output only. Harm probability score.", +"format": "float", +"readOnly": true, +"type": "number" +}, +"severity": { +"description": "Output only. Harm severity levels in the content.", +"enum": [ +"HARM_SEVERITY_UNSPECIFIED", +"HARM_SEVERITY_NEGLIGIBLE", +"HARM_SEVERITY_LOW", +"HARM_SEVERITY_MEDIUM", +"HARM_SEVERITY_HIGH" +], +"enumDescriptions": [ +"Harm severity unspecified.", +"Negligible level of harm severity.", +"Low level of harm severity.", +"Medium level of harm severity.", +"High level of harm severity." +], +"readOnly": true, +"type": "string" +}, +"severityScore": { +"description": "Output only. Harm severity score.", +"format": "float", +"readOnly": true, +"type": "number" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1betaSampleQuery": { +"description": "Sample Query captures metadata to be used for evaluation.", +"id": "GoogleCloudDiscoveryengineV1betaSampleQuery", +"properties": { +"createTime": { +"description": "Output only. Timestamp the SampleQuery was created at.", +"format": "google-datetime", +"readOnly": true, +"type": "string" +}, +"name": { +"description": "Identifier. The full resource name of the sample query, in the format of `projects/{project}/locations/{location}/sampleQuerySets/{sample_query_set}/sampleQueries/{sample_query}`. This field must be a UTF-8 encoded string with a length limit of 1024 characters.", +"type": "string" +}, +"queryEntry": { +"$ref": "GoogleCloudDiscoveryengineV1betaSampleQueryQueryEntry", +"description": "The query entry." +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1betaSampleQueryQueryEntry": { +"description": "Query Entry captures metadata to be used for search evaluation.", +"id": "GoogleCloudDiscoveryengineV1betaSampleQueryQueryEntry", +"properties": { +"query": { +"description": "Required. The query.", +"type": "string" +}, +"targets": { +"description": "List of targets for the query.", +"items": { +"$ref": "GoogleCloudDiscoveryengineV1betaSampleQueryQueryEntryTarget" +}, +"type": "array" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1betaSampleQueryQueryEntryTarget": { +"description": "Defines the parameters of the query's expected outcome.", +"id": "GoogleCloudDiscoveryengineV1betaSampleQueryQueryEntryTarget", +"properties": { +"pageNumbers": { +"description": "Expected page numbers of the target. Each page number must be non negative.", +"items": { +"format": "int32", +"type": "integer" +}, +"type": "array" +}, +"score": { +"description": "Relevance score of the target.", +"format": "double", +"type": "number" +}, +"uri": { +"description": "Expected uri of the target. This field must be a UTF-8 encoded string with a length limit of 2048 characters. Example of valid uris: `https://example.com/abc`, `gcs://example/example.pdf`.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1betaSampleQuerySet": { +"description": "A SampleQuerySet is the parent resource of SampleQuery, and contains the configurations shared by all SampleQuery under it.", +"id": "GoogleCloudDiscoveryengineV1betaSampleQuerySet", +"properties": { +"createTime": { +"description": "Output only. Timestamp the SampleQuerySet was created at.", +"format": "google-datetime", +"readOnly": true, +"type": "string" +}, +"description": { +"description": "The description of the SampleQuerySet.", +"type": "string" +}, +"displayName": { +"description": "Required. The sample query set display name. This field must be a UTF-8 encoded string with a length limit of 128 characters.", +"type": "string" +}, +"name": { +"description": "Identifier. The full resource name of the SampleQuerySet, in the format of `projects/{project}/locations/{location}/sampleQuerySets/{sample_query_set}`. This field must be a UTF-8 encoded string with a length limit of 1024 characters.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1betaSchema": { +"description": "Defines the structure and layout of a type of document data.", +"id": "GoogleCloudDiscoveryengineV1betaSchema", +"properties": { +"jsonSchema": { +"description": "The JSON representation of the schema.", +"type": "string" +}, +"name": { +"description": "Immutable. The full resource name of the schema, in the format of `projects/{project}/locations/{location}/collections/{collection}/dataStores/{data_store}/schemas/{schema}`. This field must be a UTF-8 encoded string with a length limit of 1024 characters.", +"type": "string" +}, +"structSchema": { +"additionalProperties": { +"description": "Properties of the object.", +"type": "any" +}, +"description": "The structured representation of the schema.", +"type": "object" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1betaSearchInfo": { +"description": "Detailed search information.", +"id": "GoogleCloudDiscoveryengineV1betaSearchInfo", +"properties": { +"offset": { +"description": "An integer that specifies the current offset for pagination (the 0-indexed starting location, amongst the products deemed by the API as relevant). See SearchRequest.offset for definition. If this field is negative, an `INVALID_ARGUMENT` is returned. This can only be set for `search` events. Other event types should not set this field. Otherwise, an `INVALID_ARGUMENT` error is returned.", +"format": "int32", +"type": "integer" +}, +"orderBy": { +"description": "The order in which products are returned, if applicable. See SearchRequest.order_by for definition and syntax. The value must be a UTF-8 encoded string with a length limit of 1,000 characters. Otherwise, an `INVALID_ARGUMENT` error is returned. This can only be set for `search` events. Other event types should not set this field. Otherwise, an `INVALID_ARGUMENT` error is returned.", +"type": "string" +}, +"searchQuery": { +"description": "The user's search query. See SearchRequest.query for definition. The value must be a UTF-8 encoded string with a length limit of 5,000 characters. Otherwise, an `INVALID_ARGUMENT` error is returned. At least one of search_query or PageInfo.page_category is required for `search` events. Other event types should not set this field. Otherwise, an `INVALID_ARGUMENT` error is returned.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1betaSearchLinkPromotion": { +"description": "Promotion proto includes uri and other helping information to display the promotion.", +"id": "GoogleCloudDiscoveryengineV1betaSearchLinkPromotion", +"properties": { +"description": { +"description": "Optional. The Promotion description. Maximum length: 200 characters.", +"type": "string" +}, +"enabled": { +"description": "Optional. The enabled promotion will be returned for any serving configs associated with the parent of the control this promotion is attached to. This flag is used for basic site search only.", +"type": "boolean" +}, +"imageUri": { +"description": "Optional. The promotion thumbnail image url.", +"type": "string" +}, +"title": { +"description": "Required. The title of the promotion. Maximum length: 160 characters.", +"type": "string" +}, +"uri": { +"description": "Required. The URL for the page the user wants to promote.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1betaSearchRequest": { +"description": "Request message for SearchService.Search method.", +"id": "GoogleCloudDiscoveryengineV1betaSearchRequest", +"properties": { +"boostSpec": { +"$ref": "GoogleCloudDiscoveryengineV1betaSearchRequestBoostSpec", +"description": "Boost specification to boost certain documents. For more information on boosting, see [Boosting](https://cloud.google.com/generative-ai-app-builder/docs/boost-search-results)" +}, +"branch": { +"description": "The branch resource name, such as `projects/*/locations/global/collections/default_collection/dataStores/default_data_store/branches/0`. Use `default_branch` as the branch ID or leave this field empty, to search documents under the default branch.", +"type": "string" +}, +"canonicalFilter": { +"description": "The default filter that is applied when a user performs a search without checking any filters on the search page. The filter applied to every search request when quality improvement such as query expansion is needed. In the case a query does not have a sufficient amount of results this filter will be used to determine whether or not to enable the query expansion flow. The original filter will still be used for the query expanded search. This field is strongly recommended to achieve high search quality. For more information about filter syntax, see SearchRequest.filter.", +"type": "string" +}, +"contentSearchSpec": { +"$ref": "GoogleCloudDiscoveryengineV1betaSearchRequestContentSearchSpec", +"description": "A specification for configuring the behavior of content search." +}, +"dataStoreSpecs": { +"description": "Specs defining DataStores to filter on in a search call and configurations for those data stores. This is only considered for Engines with multiple data stores. For engines with a single data store, the specs directly under SearchRequest should be used.", +"items": { +"$ref": "GoogleCloudDiscoveryengineV1betaSearchRequestDataStoreSpec" +}, +"type": "array" +}, +"embeddingSpec": { +"$ref": "GoogleCloudDiscoveryengineV1betaSearchRequestEmbeddingSpec", +"description": "Uses the provided embedding to do additional semantic document retrieval. The retrieval is based on the dot product of SearchRequest.EmbeddingSpec.EmbeddingVector.vector and the document embedding that is provided in SearchRequest.EmbeddingSpec.EmbeddingVector.field_path. If SearchRequest.EmbeddingSpec.EmbeddingVector.field_path is not provided, it will use ServingConfig.EmbeddingConfig.field_path." +}, +"facetSpecs": { +"description": "Facet specifications for faceted search. If empty, no facets are returned. A maximum of 100 values are allowed. Otherwise, an `INVALID_ARGUMENT` error is returned.", +"items": { +"$ref": "GoogleCloudDiscoveryengineV1betaSearchRequestFacetSpec" +}, +"type": "array" +}, +"filter": { +"description": "The filter syntax consists of an expression language for constructing a predicate from one or more fields of the documents being filtered. Filter expression is case-sensitive. If this field is unrecognizable, an `INVALID_ARGUMENT` is returned. Filtering in Vertex AI Search is done by mapping the LHS filter key to a key property defined in the Vertex AI Search backend -- this mapping is defined by the customer in their schema. For example a media customer might have a field 'name' in their schema. In this case the filter would look like this: filter --> name:'ANY(\"king kong\")' For more information about filtering including syntax and filter operators, see [Filter](https://cloud.google.com/generative-ai-app-builder/docs/filter-search-metadata)", +"type": "string" +}, +"imageQuery": { +"$ref": "GoogleCloudDiscoveryengineV1betaSearchRequestImageQuery", +"description": "Raw image query." +}, +"languageCode": { +"description": "The BCP-47 language code, such as \"en-US\" or \"sr-Latn\". For more information, see [Standard fields](https://cloud.google.com/apis/design/standard_fields). This field helps to better interpret the query. If a value isn't specified, the query language code is automatically detected, which may not be accurate.", +"type": "string" +}, +"naturalLanguageQueryUnderstandingSpec": { +"$ref": "GoogleCloudDiscoveryengineV1betaSearchRequestNaturalLanguageQueryUnderstandingSpec", +"description": "If `naturalLanguageQueryUnderstandingSpec` is not specified, no additional natural language query understanding will be done." +}, +"offset": { +"description": "A 0-indexed integer that specifies the current offset (that is, starting result location, amongst the Documents deemed by the API as relevant) in search results. This field is only considered if page_token is unset. If this field is negative, an `INVALID_ARGUMENT` is returned.", +"format": "int32", +"type": "integer" +}, +"oneBoxPageSize": { +"description": "The maximum number of results to return for OneBox. This applies to each OneBox type individually. Default number is 10.", +"format": "int32", +"type": "integer" +}, +"orderBy": { +"description": "The order in which documents are returned. Documents can be ordered by a field in an Document object. Leave it unset if ordered by relevance. `order_by` expression is case-sensitive. For more information on ordering the website search results, see [Order web search results](https://cloud.google.com/generative-ai-app-builder/docs/order-web-search-results). For more information on ordering the healthcare search results, see [Order healthcare search results](https://cloud.google.com/generative-ai-app-builder/docs/order-hc-results). If this field is unrecognizable, an `INVALID_ARGUMENT` is returned.", +"type": "string" +}, +"pageSize": { +"description": "Maximum number of Documents to return. The maximum allowed value depends on the data type. Values above the maximum value are coerced to the maximum value. * Websites with basic indexing: Default `10`, Maximum `25`. * Websites with advanced indexing: Default `25`, Maximum `50`. * Other: Default `50`, Maximum `100`. If this field is negative, an `INVALID_ARGUMENT` is returned.", +"format": "int32", +"type": "integer" +}, +"pageToken": { +"description": "A page token received from a previous SearchService.Search call. Provide this to retrieve the subsequent page. When paginating, all other parameters provided to SearchService.Search must match the call that provided the page token. Otherwise, an `INVALID_ARGUMENT` error is returned.", +"type": "string" +}, +"params": { +"additionalProperties": { +"type": "any" +}, +"description": "Additional search parameters. For public website search only, supported values are: * `user_country_code`: string. Default empty. If set to non-empty, results are restricted or boosted based on the location provided. For example, `user_country_code: \"au\"` For available codes see [Country Codes](https://developers.google.com/custom-search/docs/json_api_reference#countryCodes) * `search_type`: double. Default empty. Enables non-webpage searching depending on the value. The only valid non-default value is 1, which enables image searching. For example, `search_type: 1`", +"type": "object" +}, +"personalizationSpec": { +"$ref": "GoogleCloudDiscoveryengineV1betaSearchRequestPersonalizationSpec", +"description": "The specification for personalization. Notice that if both ServingConfig.personalization_spec and SearchRequest.personalization_spec are set, SearchRequest.personalization_spec overrides ServingConfig.personalization_spec." +}, +"query": { +"description": "Raw search query.", +"type": "string" +}, +"queryExpansionSpec": { +"$ref": "GoogleCloudDiscoveryengineV1betaSearchRequestQueryExpansionSpec", +"description": "The query expansion specification that specifies the conditions under which query expansion occurs." +}, +"rankingExpression": { +"description": "The ranking expression controls the customized ranking on retrieval documents. This overrides ServingConfig.ranking_expression. The ranking expression is a single function or multiple functions that are joined by \"+\". * ranking_expression = function, { \" + \", function }; Supported functions: * double * relevance_score * double * dotProduct(embedding_field_path) Function variables: * `relevance_score`: pre-defined keywords, used for measure relevance between query and document. * `embedding_field_path`: the document embedding field used with query embedding vector. * `dotProduct`: embedding function between embedding_field_path and query embedding vector. Example ranking expression: If document has an embedding field doc_embedding, the ranking expression could be `0.5 * relevance_score + 0.3 * dotProduct(doc_embedding)`.", +"type": "string" +}, +"regionCode": { +"description": "The Unicode country/region code (CLDR) of a location, such as \"US\" and \"419\". For more information, see [Standard fields](https://cloud.google.com/apis/design/standard_fields). If set, then results will be boosted based on the region_code provided.", +"type": "string" +}, +"relevanceThreshold": { +"description": "The relevance threshold of the search results. Default to Google defined threshold, leveraging a balance of precision and recall to deliver both highly accurate results and comprehensive coverage of relevant information.", +"enum": [ +"RELEVANCE_THRESHOLD_UNSPECIFIED", +"LOWEST", +"LOW", +"MEDIUM", +"HIGH" +], +"enumDescriptions": [ +"Default value. In this case, server behavior defaults to Google defined threshold.", +"Lowest relevance threshold.", +"Low relevance threshold.", +"Medium relevance threshold.", +"High relevance threshold." +], +"type": "string" +}, +"safeSearch": { +"description": "Whether to turn on safe search. This is only supported for website search.", +"type": "boolean" +}, +"searchAsYouTypeSpec": { +"$ref": "GoogleCloudDiscoveryengineV1betaSearchRequestSearchAsYouTypeSpec", +"description": "Search as you type configuration. Only supported for the IndustryVertical.MEDIA vertical." +}, +"servingConfig": { +"description": "Required. The resource name of the Search serving config, such as `projects/*/locations/global/collections/default_collection/engines/*/servingConfigs/default_serving_config`, or `projects/*/locations/global/collections/default_collection/dataStores/default_data_store/servingConfigs/default_serving_config`. This field is used to identify the serving configuration name, set of models used to make the search.", +"type": "string" +}, +"session": { +"description": "The session resource name. Optional. Session allows users to do multi-turn /search API calls or coordination between /search API calls and /answer API calls. Example #1 (multi-turn /search API calls): 1. Call /search API with the auto-session mode (see below). 2. Call /search API with the session ID generated in the first call. Here, the previous search query gets considered in query standing. I.e., if the first query is \"How did Alphabet do in 2022?\" and the current query is \"How about 2023?\", the current query will be interpreted as \"How did Alphabet do in 2023?\". Example #2 (coordination between /search API calls and /answer API calls): 1. Call /search API with the auto-session mode (see below). 2. Call /answer API with the session ID generated in the first call. Here, the answer generation happens in the context of the search results from the first search call. Auto-session mode: when `projects/.../sessions/-` is used, a new session gets automatically created. Otherwise, users can use the create-session API to create a session manually. Multi-turn Search feature is currently at private GA stage. Please use v1alpha or v1beta version instead before we launch this feature to public GA. Or ask for allowlisting through Google Support team.", +"type": "string" +}, +"sessionSpec": { +"$ref": "GoogleCloudDiscoveryengineV1betaSearchRequestSessionSpec", +"description": "Session specification. Can be used only when `session` is set." +}, +"spellCorrectionSpec": { +"$ref": "GoogleCloudDiscoveryengineV1betaSearchRequestSpellCorrectionSpec", +"description": "The spell correction specification that specifies the mode under which spell correction takes effect." +}, +"userInfo": { +"$ref": "GoogleCloudDiscoveryengineV1betaUserInfo", +"description": "Information about the end user. Highly recommended for analytics. UserInfo.user_agent is used to deduce `device_type` for analytics." +}, +"userLabels": { +"additionalProperties": { +"type": "string" +}, +"description": "The user labels applied to a resource must meet the following requirements: * Each resource can have multiple labels, up to a maximum of 64. * Each label must be a key-value pair. * Keys have a minimum length of 1 character and a maximum length of 63 characters and cannot be empty. Values can be empty and have a maximum length of 63 characters. * Keys and values can contain only lowercase letters, numeric characters, underscores, and dashes. All characters must use UTF-8 encoding, and international characters are allowed. * The key portion of a label must be unique. However, you can use the same key with multiple resources. * Keys must start with a lowercase letter or international character. See [Google Cloud Document](https://cloud.google.com/resource-manager/docs/creating-managing-labels#requirements) for more details.", +"type": "object" +}, +"userPseudoId": { +"description": "A unique identifier for tracking visitors. For example, this could be implemented with an HTTP cookie, which should be able to uniquely identify a visitor on a single device. This unique identifier should not change if the visitor logs in or out of the website. This field should NOT have a fixed value such as `unknown_visitor`. This should be the same identifier as UserEvent.user_pseudo_id and CompleteQueryRequest.user_pseudo_id The field must be a UTF-8 encoded string with a length limit of 128 characters. Otherwise, an `INVALID_ARGUMENT` error is returned.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1betaSearchRequestBoostSpec": { +"description": "Boost specification to boost certain documents.", +"id": "GoogleCloudDiscoveryengineV1betaSearchRequestBoostSpec", +"properties": { +"conditionBoostSpecs": { +"description": "Condition boost specifications. If a document matches multiple conditions in the specifictions, boost scores from these specifications are all applied and combined in a non-linear way. Maximum number of specifications is 20.", +"items": { +"$ref": "GoogleCloudDiscoveryengineV1betaSearchRequestBoostSpecConditionBoostSpec" +}, +"type": "array" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1betaSearchRequestBoostSpecConditionBoostSpec": { +"description": "Boost applies to documents which match a condition.", +"id": "GoogleCloudDiscoveryengineV1betaSearchRequestBoostSpecConditionBoostSpec", +"properties": { +"boost": { +"description": "Strength of the condition boost, which should be in [-1, 1]. Negative boost means demotion. Default is 0.0. Setting to 1.0 gives the document a big promotion. However, it does not necessarily mean that the boosted document will be the top result at all times, nor that other documents will be excluded. Results could still be shown even when none of them matches the condition. And results that are significantly more relevant to the search query can still trump your heavily favored but irrelevant documents. Setting to -1.0 gives the document a big demotion. However, results that are deeply relevant might still be shown. The document will have an upstream battle to get a fairly high ranking, but it is not blocked out completely. Setting to 0.0 means no boost applied. The boosting condition is ignored. Only one of the (condition, boost) combination or the boost_control_spec below are set. If both are set then the global boost is ignored and the more fine-grained boost_control_spec is applied.", +"format": "float", +"type": "number" +}, +"boostControlSpec": { +"$ref": "GoogleCloudDiscoveryengineV1betaSearchRequestBoostSpecConditionBoostSpecBoostControlSpec", +"description": "Complex specification for custom ranking based on customer defined attribute value." +}, +"condition": { +"description": "An expression which specifies a boost condition. The syntax and supported fields are the same as a filter expression. See SearchRequest.filter for detail syntax and limitations. Examples: * To boost documents with document ID \"doc_1\" or \"doc_2\", and color \"Red\" or \"Blue\": `(document_id: ANY(\"doc_1\", \"doc_2\")) AND (color: ANY(\"Red\", \"Blue\"))`", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1betaSearchRequestBoostSpecConditionBoostSpecBoostControlSpec": { +"description": "Specification for custom ranking based on customer specified attribute value. It provides more controls for customized ranking than the simple (condition, boost) combination above.", +"id": "GoogleCloudDiscoveryengineV1betaSearchRequestBoostSpecConditionBoostSpecBoostControlSpec", +"properties": { +"attributeType": { +"description": "The attribute type to be used to determine the boost amount. The attribute value can be derived from the field value of the specified field_name. In the case of numerical it is straightforward i.e. attribute_value = numerical_field_value. In the case of freshness however, attribute_value = (time.now() - datetime_field_value).", +"enum": [ +"ATTRIBUTE_TYPE_UNSPECIFIED", +"NUMERICAL", +"FRESHNESS" +], +"enumDescriptions": [ +"Unspecified AttributeType.", +"The value of the numerical field will be used to dynamically update the boost amount. In this case, the attribute_value (the x value) of the control point will be the actual value of the numerical field for which the boost_amount is specified.", +"For the freshness use case the attribute value will be the duration between the current time and the date in the datetime field specified. The value must be formatted as an XSD `dayTimeDuration` value (a restricted subset of an ISO 8601 duration value). The pattern for this is: `nDnM]`. For example, `5D`, `3DT12H30M`, `T24H`." +], +"type": "string" +}, +"controlPoints": { +"description": "The control points used to define the curve. The monotonic function (defined through the interpolation_type above) passes through the control points listed here.", +"items": { +"$ref": "GoogleCloudDiscoveryengineV1betaSearchRequestBoostSpecConditionBoostSpecBoostControlSpecControlPoint" +}, +"type": "array" +}, +"fieldName": { +"description": "The name of the field whose value will be used to determine the boost amount.", +"type": "string" +}, +"interpolationType": { +"description": "The interpolation type to be applied to connect the control points listed below.", +"enum": [ +"INTERPOLATION_TYPE_UNSPECIFIED", +"LINEAR" +], +"enumDescriptions": [ +"Interpolation type is unspecified. In this case, it defaults to Linear.", +"Piecewise linear interpolation will be applied." +], +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1betaSearchRequestBoostSpecConditionBoostSpecBoostControlSpecControlPoint": { +"description": "The control points used to define the curve. The curve defined through these control points can only be monotonically increasing or decreasing(constant values are acceptable).", +"id": "GoogleCloudDiscoveryengineV1betaSearchRequestBoostSpecConditionBoostSpecBoostControlSpecControlPoint", +"properties": { +"attributeValue": { +"description": "Can be one of: 1. The numerical field value. 2. The duration spec for freshness: The value must be formatted as an XSD `dayTimeDuration` value (a restricted subset of an ISO 8601 duration value). The pattern for this is: `nDnM]`.", +"type": "string" +}, +"boostAmount": { +"description": "The value between -1 to 1 by which to boost the score if the attribute_value evaluates to the value specified above.", +"format": "float", +"type": "number" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1betaSearchRequestContentSearchSpec": { +"description": "A specification for configuring the behavior of content search.", +"id": "GoogleCloudDiscoveryengineV1betaSearchRequestContentSearchSpec", +"properties": { +"chunkSpec": { +"$ref": "GoogleCloudDiscoveryengineV1betaSearchRequestContentSearchSpecChunkSpec", +"description": "Specifies the chunk spec to be returned from the search response. Only available if the SearchRequest.ContentSearchSpec.search_result_mode is set to CHUNKS" +}, +"extractiveContentSpec": { +"$ref": "GoogleCloudDiscoveryengineV1betaSearchRequestContentSearchSpecExtractiveContentSpec", +"description": "If there is no extractive_content_spec provided, there will be no extractive answer in the search response." +}, +"searchResultMode": { +"description": "Specifies the search result mode. If unspecified, the search result mode defaults to `DOCUMENTS`.", +"enum": [ +"SEARCH_RESULT_MODE_UNSPECIFIED", +"DOCUMENTS", +"CHUNKS" +], +"enumDescriptions": [ +"Default value.", +"Returns documents in the search result.", +"Returns chunks in the search result. Only available if the DocumentProcessingConfig.chunking_config is specified." +], +"type": "string" +}, +"snippetSpec": { +"$ref": "GoogleCloudDiscoveryengineV1betaSearchRequestContentSearchSpecSnippetSpec", +"description": "If `snippetSpec` is not specified, snippets are not included in the search response." +}, +"summarySpec": { +"$ref": "GoogleCloudDiscoveryengineV1betaSearchRequestContentSearchSpecSummarySpec", +"description": "If `summarySpec` is not specified, summaries are not included in the search response." +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1betaSearchRequestContentSearchSpecChunkSpec": { +"description": "Specifies the chunk spec to be returned from the search response. Only available if the SearchRequest.ContentSearchSpec.search_result_mode is set to CHUNKS", +"id": "GoogleCloudDiscoveryengineV1betaSearchRequestContentSearchSpecChunkSpec", +"properties": { +"numNextChunks": { +"description": "The number of next chunks to be returned of the current chunk. The maximum allowed value is 3. If not specified, no next chunks will be returned.", +"format": "int32", +"type": "integer" +}, +"numPreviousChunks": { +"description": "The number of previous chunks to be returned of the current chunk. The maximum allowed value is 3. If not specified, no previous chunks will be returned.", +"format": "int32", +"type": "integer" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1betaSearchRequestContentSearchSpecExtractiveContentSpec": { +"description": "A specification for configuring the extractive content in a search response.", +"id": "GoogleCloudDiscoveryengineV1betaSearchRequestContentSearchSpecExtractiveContentSpec", +"properties": { +"maxExtractiveAnswerCount": { +"description": "The maximum number of extractive answers returned in each search result. An extractive answer is a verbatim answer extracted from the original document, which provides a precise and contextually relevant answer to the search query. If the number of matching answers is less than the `max_extractive_answer_count`, return all of the answers. Otherwise, return the `max_extractive_answer_count`. At most five answers are returned for each SearchResult.", +"format": "int32", +"type": "integer" +}, +"maxExtractiveSegmentCount": { +"description": "The max number of extractive segments returned in each search result. Only applied if the DataStore is set to DataStore.ContentConfig.CONTENT_REQUIRED or DataStore.solution_types is SOLUTION_TYPE_CHAT. An extractive segment is a text segment extracted from the original document that is relevant to the search query, and, in general, more verbose than an extractive answer. The segment could then be used as input for LLMs to generate summaries and answers. If the number of matching segments is less than `max_extractive_segment_count`, return all of the segments. Otherwise, return the `max_extractive_segment_count`.", +"format": "int32", +"type": "integer" +}, +"numNextSegments": { +"description": "Return at most `num_next_segments` segments after each selected segments.", +"format": "int32", +"type": "integer" +}, +"numPreviousSegments": { +"description": "Specifies whether to also include the adjacent from each selected segments. Return at most `num_previous_segments` segments before each selected segments.", +"format": "int32", +"type": "integer" +}, +"returnExtractiveSegmentScore": { +"description": "Specifies whether to return the confidence score from the extractive segments in each search result. This feature is available only for new or allowlisted data stores. To allowlist your data store, contact your Customer Engineer. The default value is `false`.", +"type": "boolean" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1betaSearchRequestContentSearchSpecSnippetSpec": { +"description": "A specification for configuring snippets in a search response.", +"id": "GoogleCloudDiscoveryengineV1betaSearchRequestContentSearchSpecSnippetSpec", +"properties": { +"maxSnippetCount": { +"deprecated": true, +"description": "[DEPRECATED] This field is deprecated. To control snippet return, use `return_snippet` field. For backwards compatibility, we will return snippet if max_snippet_count > 0.", +"format": "int32", +"type": "integer" +}, +"referenceOnly": { +"deprecated": true, +"description": "[DEPRECATED] This field is deprecated and will have no affect on the snippet.", +"type": "boolean" +}, +"returnSnippet": { +"description": "If `true`, then return snippet. If no snippet can be generated, we return \"No snippet is available for this page.\" A `snippet_status` with `SUCCESS` or `NO_SNIPPET_AVAILABLE` will also be returned.", +"type": "boolean" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1betaSearchRequestContentSearchSpecSummarySpec": { +"description": "A specification for configuring a summary returned in a search response.", +"id": "GoogleCloudDiscoveryengineV1betaSearchRequestContentSearchSpecSummarySpec", +"properties": { +"ignoreAdversarialQuery": { +"description": "Specifies whether to filter out adversarial queries. The default value is `false`. Google employs search-query classification to detect adversarial queries. No summary is returned if the search query is classified as an adversarial query. For example, a user might ask a question regarding negative comments about the company or submit a query designed to generate unsafe, policy-violating output. If this field is set to `true`, we skip generating summaries for adversarial queries and return fallback messages instead.", +"type": "boolean" +}, +"ignoreJailBreakingQuery": { +"description": "Optional. Specifies whether to filter out jail-breaking queries. The default value is `false`. Google employs search-query classification to detect jail-breaking queries. No summary is returned if the search query is classified as a jail-breaking query. A user might add instructions to the query to change the tone, style, language, content of the answer, or ask the model to act as a different entity, e.g. \"Reply in the tone of a competing company's CEO\". If this field is set to `true`, we skip generating summaries for jail-breaking queries and return fallback messages instead.", +"type": "boolean" +}, +"ignoreLowRelevantContent": { +"description": "Specifies whether to filter out queries that have low relevance. The default value is `false`. If this field is set to `false`, all search results are used regardless of relevance to generate answers. If set to `true`, only queries with high relevance search results will generate answers.", +"type": "boolean" +}, +"ignoreNonSummarySeekingQuery": { +"description": "Specifies whether to filter out queries that are not summary-seeking. The default value is `false`. Google employs search-query classification to detect summary-seeking queries. No summary is returned if the search query is classified as a non-summary seeking query. For example, `why is the sky blue` and `Who is the best soccer player in the world?` are summary-seeking queries, but `SFO airport` and `world cup 2026` are not. They are most likely navigational queries. If this field is set to `true`, we skip generating summaries for non-summary seeking queries and return fallback messages instead.", +"type": "boolean" +}, +"includeCitations": { +"description": "Specifies whether to include citations in the summary. The default value is `false`. When this field is set to `true`, summaries include in-line citation numbers. Example summary including citations: BigQuery is Google Cloud's fully managed and completely serverless enterprise data warehouse [1]. BigQuery supports all data types, works across clouds, and has built-in machine learning and business intelligence, all within a unified platform [2, 3]. The citation numbers refer to the returned search results and are 1-indexed. For example, [1] means that the sentence is attributed to the first search result. [2, 3] means that the sentence is attributed to both the second and third search results.", +"type": "boolean" +}, +"languageCode": { +"description": "Language code for Summary. Use language tags defined by [BCP47](https://www.rfc-editor.org/rfc/bcp/bcp47.txt). Note: This is an experimental feature.", +"type": "string" +}, +"modelPromptSpec": { +"$ref": "GoogleCloudDiscoveryengineV1betaSearchRequestContentSearchSpecSummarySpecModelPromptSpec", +"description": "If specified, the spec will be used to modify the prompt provided to the LLM." +}, +"modelSpec": { +"$ref": "GoogleCloudDiscoveryengineV1betaSearchRequestContentSearchSpecSummarySpecModelSpec", +"description": "If specified, the spec will be used to modify the model specification provided to the LLM." +}, +"summaryResultCount": { +"description": "The number of top results to generate the summary from. If the number of results returned is less than `summaryResultCount`, the summary is generated from all of the results. At most 10 results for documents mode, or 50 for chunks mode, can be used to generate a summary. The chunks mode is used when SearchRequest.ContentSearchSpec.search_result_mode is set to CHUNKS.", +"format": "int32", +"type": "integer" +}, +"useSemanticChunks": { +"description": "If true, answer will be generated from most relevant chunks from top search results. This feature will improve summary quality. Note that with this feature enabled, not all top search results will be referenced and included in the reference list, so the citation source index only points to the search results listed in the reference list.", +"type": "boolean" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1betaSearchRequestContentSearchSpecSummarySpecModelPromptSpec": { +"description": "Specification of the prompt to use with the model.", +"id": "GoogleCloudDiscoveryengineV1betaSearchRequestContentSearchSpecSummarySpecModelPromptSpec", +"properties": { +"preamble": { +"description": "Text at the beginning of the prompt that instructs the assistant. Examples are available in the user guide.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1betaSearchRequestContentSearchSpecSummarySpecModelSpec": { +"description": "Specification of the model.", +"id": "GoogleCloudDiscoveryengineV1betaSearchRequestContentSearchSpecSummarySpecModelSpec", +"properties": { +"version": { +"description": "The model version used to generate the summary. Supported values are: * `stable`: string. Default value when no value is specified. Uses a generally available, fine-tuned model. For more information, see [Answer generation model versions and lifecycle](https://cloud.google.com/generative-ai-app-builder/docs/answer-generation-models). * `preview`: string. (Public preview) Uses a preview model. For more information, see [Answer generation model versions and lifecycle](https://cloud.google.com/generative-ai-app-builder/docs/answer-generation-models).", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1betaSearchRequestDataStoreSpec": { +"description": "A struct to define data stores to filter on in a search call and configurations for those data stores. Otherwise, an `INVALID_ARGUMENT` error is returned.", +"id": "GoogleCloudDiscoveryengineV1betaSearchRequestDataStoreSpec", +"properties": { +"boostSpec": { +"$ref": "GoogleCloudDiscoveryengineV1betaSearchRequestBoostSpec", +"description": "Optional. Boost specification to boost certain documents. For more information on boosting, see [Boosting](https://cloud.google.com/generative-ai-app-builder/docs/boost-search-results)" +}, +"dataStore": { +"description": "Required. Full resource name of DataStore, such as `projects/{project}/locations/{location}/collections/{collection_id}/dataStores/{data_store_id}`.", +"type": "string" +}, +"filter": { +"description": "Optional. Filter specification to filter documents in the data store specified by data_store field. For more information on filtering, see [Filtering](https://cloud.google.com/generative-ai-app-builder/docs/filter-search-metadata)", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1betaSearchRequestEmbeddingSpec": { +"description": "The specification that uses customized query embedding vector to do semantic document retrieval.", +"id": "GoogleCloudDiscoveryengineV1betaSearchRequestEmbeddingSpec", +"properties": { +"embeddingVectors": { +"description": "The embedding vector used for retrieval. Limit to 1.", +"items": { +"$ref": "GoogleCloudDiscoveryengineV1betaSearchRequestEmbeddingSpecEmbeddingVector" +}, +"type": "array" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1betaSearchRequestEmbeddingSpecEmbeddingVector": { +"description": "Embedding vector.", +"id": "GoogleCloudDiscoveryengineV1betaSearchRequestEmbeddingSpecEmbeddingVector", +"properties": { +"fieldPath": { +"description": "Embedding field path in schema.", +"type": "string" +}, +"vector": { +"description": "Query embedding vector.", +"items": { +"format": "float", +"type": "number" +}, +"type": "array" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1betaSearchRequestFacetSpec": { +"description": "A facet specification to perform faceted search.", +"id": "GoogleCloudDiscoveryengineV1betaSearchRequestFacetSpec", +"properties": { +"enableDynamicPosition": { +"description": "Enables dynamic position for this facet. If set to true, the position of this facet among all facets in the response is determined automatically. If dynamic facets are enabled, it is ordered together. If set to false, the position of this facet in the response is the same as in the request, and it is ranked before the facets with dynamic position enable and all dynamic facets. For example, you may always want to have rating facet returned in the response, but it's not necessarily to always display the rating facet at the top. In that case, you can set enable_dynamic_position to true so that the position of rating facet in response is determined automatically. Another example, assuming you have the following facets in the request: * \"rating\", enable_dynamic_position = true * \"price\", enable_dynamic_position = false * \"brands\", enable_dynamic_position = false And also you have a dynamic facets enabled, which generates a facet `gender`. Then the final order of the facets in the response can be (\"price\", \"brands\", \"rating\", \"gender\") or (\"price\", \"brands\", \"gender\", \"rating\") depends on how API orders \"gender\" and \"rating\" facets. However, notice that \"price\" and \"brands\" are always ranked at first and second position because their enable_dynamic_position is false.", +"type": "boolean" +}, +"excludedFilterKeys": { +"description": "List of keys to exclude when faceting. By default, FacetKey.key is not excluded from the filter unless it is listed in this field. Listing a facet key in this field allows its values to appear as facet results, even when they are filtered out of search results. Using this field does not affect what search results are returned. For example, suppose there are 100 documents with the color facet \"Red\" and 200 documents with the color facet \"Blue\". A query containing the filter \"color:ANY(\"Red\")\" and having \"color\" as FacetKey.key would by default return only \"Red\" documents in the search results, and also return \"Red\" with count 100 as the only color facet. Although there are also blue documents available, \"Blue\" would not be shown as an available facet value. If \"color\" is listed in \"excludedFilterKeys\", then the query returns the facet values \"Red\" with count 100 and \"Blue\" with count 200, because the \"color\" key is now excluded from the filter. Because this field doesn't affect search results, the search results are still correctly filtered to return only \"Red\" documents. A maximum of 100 values are allowed. Otherwise, an `INVALID_ARGUMENT` error is returned.", +"items": { +"type": "string" +}, +"type": "array" +}, +"facetKey": { +"$ref": "GoogleCloudDiscoveryengineV1betaSearchRequestFacetSpecFacetKey", +"description": "Required. The facet key specification." +}, +"limit": { +"description": "Maximum facet values that are returned for this facet. If unspecified, defaults to 20. The maximum allowed value is 300. Values above 300 are coerced to 300. For aggregation in healthcare search, when the [FacetKey.key] is \"healthcare_aggregation_key\", the limit will be overridden to 10,000 internally, regardless of the value set here. If this field is negative, an `INVALID_ARGUMENT` is returned.", +"format": "int32", +"type": "integer" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1betaSearchRequestFacetSpecFacetKey": { +"description": "Specifies how a facet is computed.", +"id": "GoogleCloudDiscoveryengineV1betaSearchRequestFacetSpecFacetKey", +"properties": { +"caseInsensitive": { +"description": "True to make facet keys case insensitive when getting faceting values with prefixes or contains; false otherwise.", +"type": "boolean" +}, +"contains": { +"description": "Only get facet values that contain the given strings. For example, suppose \"category\" has three values \"Action > 2022\", \"Action > 2021\" and \"Sci-Fi > 2022\". If set \"contains\" to \"2022\", the \"category\" facet only contains \"Action > 2022\" and \"Sci-Fi > 2022\". Only supported on textual fields. Maximum is 10.", +"items": { +"type": "string" +}, +"type": "array" +}, +"intervals": { +"description": "Set only if values should be bucketed into intervals. Must be set for facets with numerical values. Must not be set for facet with text values. Maximum number of intervals is 30.", +"items": { +"$ref": "GoogleCloudDiscoveryengineV1betaInterval" +}, +"type": "array" +}, +"key": { +"description": "Required. Supported textual and numerical facet keys in Document object, over which the facet values are computed. Facet key is case-sensitive.", +"type": "string" +}, +"orderBy": { +"description": "The order in which documents are returned. Allowed values are: * \"count desc\", which means order by SearchResponse.Facet.values.count descending. * \"value desc\", which means order by SearchResponse.Facet.values.value descending. Only applies to textual facets. If not set, textual values are sorted in [natural order](https://en.wikipedia.org/wiki/Natural_sort_order); numerical intervals are sorted in the order given by FacetSpec.FacetKey.intervals.", +"type": "string" +}, +"prefixes": { +"description": "Only get facet values that start with the given string prefix. For example, suppose \"category\" has three values \"Action > 2022\", \"Action > 2021\" and \"Sci-Fi > 2022\". If set \"prefixes\" to \"Action\", the \"category\" facet only contains \"Action > 2022\" and \"Action > 2021\". Only supported on textual fields. Maximum is 10.", +"items": { +"type": "string" +}, +"type": "array" +}, +"restrictedValues": { +"description": "Only get facet for the given restricted values. Only supported on textual fields. For example, suppose \"category\" has three values \"Action > 2022\", \"Action > 2021\" and \"Sci-Fi > 2022\". If set \"restricted_values\" to \"Action > 2022\", the \"category\" facet only contains \"Action > 2022\". Only supported on textual fields. Maximum is 10.", +"items": { +"type": "string" +}, +"type": "array" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1betaSearchRequestImageQuery": { +"description": "Specifies the image query input.", +"id": "GoogleCloudDiscoveryengineV1betaSearchRequestImageQuery", +"properties": { +"imageBytes": { +"description": "Base64 encoded image bytes. Supported image formats: JPEG, PNG, and BMP.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1betaSearchRequestNaturalLanguageQueryUnderstandingSpec": { +"description": "Specification to enable natural language understanding capabilities for search requests.", +"id": "GoogleCloudDiscoveryengineV1betaSearchRequestNaturalLanguageQueryUnderstandingSpec", +"properties": { +"filterExtractionCondition": { +"description": "The condition under which filter extraction should occur. Server behavior defaults to `DISABLED`.", +"enum": [ +"CONDITION_UNSPECIFIED", +"DISABLED", +"ENABLED" +], +"enumDescriptions": [ +"Server behavior defaults to `DISABLED`.", +"Disables NL filter extraction.", +"Enables NL filter extraction." +], +"type": "string" +}, +"geoSearchQueryDetectionFieldNames": { +"description": "Field names used for location-based filtering, where geolocation filters are detected in natural language search queries. Only valid when the FilterExtractionCondition is set to `ENABLED`. If this field is set, it overrides the field names set in ServingConfig.geo_search_query_detection_field_names.", +"items": { +"type": "string" +}, +"type": "array" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1betaSearchRequestPersonalizationSpec": { +"description": "The specification for personalization.", +"id": "GoogleCloudDiscoveryengineV1betaSearchRequestPersonalizationSpec", +"properties": { +"mode": { +"description": "The personalization mode of the search request. Defaults to Mode.AUTO.", +"enum": [ +"MODE_UNSPECIFIED", +"AUTO", +"DISABLED" +], +"enumDescriptions": [ +"Default value. In this case, server behavior defaults to Mode.AUTO.", +"Personalization is enabled if data quality requirements are met.", +"Disable personalization." +], +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1betaSearchRequestQueryExpansionSpec": { +"description": "Specification to determine under which conditions query expansion should occur.", +"id": "GoogleCloudDiscoveryengineV1betaSearchRequestQueryExpansionSpec", +"properties": { +"condition": { +"description": "The condition under which query expansion should occur. Default to Condition.DISABLED.", +"enum": [ +"CONDITION_UNSPECIFIED", +"DISABLED", +"AUTO" +], +"enumDescriptions": [ +"Unspecified query expansion condition. In this case, server behavior defaults to Condition.DISABLED.", +"Disabled query expansion. Only the exact search query is used, even if SearchResponse.total_size is zero.", +"Automatic query expansion built by the Search API." +], +"type": "string" +}, +"pinUnexpandedResults": { +"description": "Whether to pin unexpanded results. If this field is set to true, unexpanded products are always at the top of the search results, followed by the expanded results.", +"type": "boolean" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1betaSearchRequestSearchAsYouTypeSpec": { +"description": "Specification for search as you type in search requests.", +"id": "GoogleCloudDiscoveryengineV1betaSearchRequestSearchAsYouTypeSpec", +"properties": { +"condition": { +"description": "The condition under which search as you type should occur. Default to Condition.DISABLED.", +"enum": [ +"CONDITION_UNSPECIFIED", +"DISABLED", +"ENABLED" +], +"enumDescriptions": [ +"Server behavior defaults to Condition.DISABLED.", +"Disables Search As You Type.", +"Enables Search As You Type." +], +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1betaSearchRequestSessionSpec": { +"description": "Session specification. Multi-turn Search feature is currently at private GA stage. Please use v1alpha or v1beta version instead before we launch this feature to public GA. Or ask for allowlisting through Google Support team.", +"id": "GoogleCloudDiscoveryengineV1betaSearchRequestSessionSpec", +"properties": { +"queryId": { +"description": "If set, the search result gets stored to the \"turn\" specified by this query ID. Example: Let's say the session looks like this: session { name: \".../sessions/xxx\" turns { query { text: \"What is foo?\" query_id: \".../questions/yyy\" } answer: \"Foo is ...\" } turns { query { text: \"How about bar then?\" query_id: \".../questions/zzz\" } } } The user can call /search API with a request like this: session: \".../sessions/xxx\" session_spec { query_id: \".../questions/zzz\" } Then, the API stores the search result, associated with the last turn. The stored search result can be used by a subsequent /answer API call (with the session ID and the query ID specified). Also, it is possible to call /search and /answer in parallel with the same session ID & query ID.", +"type": "string" +}, +"searchResultPersistenceCount": { +"description": "The number of top search results to persist. The persisted search results can be used for the subsequent /answer api call. This field is simliar to the `summary_result_count` field in SearchRequest.ContentSearchSpec.SummarySpec.summary_result_count. At most 10 results for documents mode, or 50 for chunks mode.", +"format": "int32", +"type": "integer" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1betaSearchRequestSpellCorrectionSpec": { +"description": "The specification for query spell correction.", +"id": "GoogleCloudDiscoveryengineV1betaSearchRequestSpellCorrectionSpec", +"properties": { +"mode": { +"description": "The mode under which spell correction replaces the original search query. Defaults to Mode.AUTO.", +"enum": [ +"MODE_UNSPECIFIED", +"SUGGESTION_ONLY", +"AUTO" +], +"enumDescriptions": [ +"Unspecified spell correction mode. In this case, server behavior defaults to Mode.AUTO.", +"Search API tries to find a spelling suggestion. If a suggestion is found, it is put in the SearchResponse.corrected_query. The spelling suggestion won't be used as the search query.", +"Automatic spell correction built by the Search API. Search will be based on the corrected query if found." +], +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1betaSearchResponse": { +"description": "Response message for SearchService.Search method.", +"id": "GoogleCloudDiscoveryengineV1betaSearchResponse", +"properties": { +"appliedControls": { +"description": "Controls applied as part of the Control service.", +"items": { +"type": "string" +}, +"type": "array" +}, +"attributionToken": { +"description": "A unique search token. This should be included in the UserEvent logs resulting from this search, which enables accurate attribution of search model performance. This also helps to identify a request during the customer support scenarios.", +"type": "string" +}, +"correctedQuery": { +"description": "Contains the spell corrected query, if found. If the spell correction type is AUTOMATIC, then the search results are based on corrected_query. Otherwise the original query is used for search.", +"type": "string" +}, +"facets": { +"description": "Results of facets requested by user.", +"items": { +"$ref": "GoogleCloudDiscoveryengineV1betaSearchResponseFacet" +}, +"type": "array" +}, +"geoSearchDebugInfo": { +"items": { +"$ref": "GoogleCloudDiscoveryengineV1betaSearchResponseGeoSearchDebugInfo" +}, +"type": "array" +}, +"guidedSearchResult": { +"$ref": "GoogleCloudDiscoveryengineV1betaSearchResponseGuidedSearchResult", +"description": "Guided search result." +}, +"naturalLanguageQueryUnderstandingInfo": { +"$ref": "GoogleCloudDiscoveryengineV1betaSearchResponseNaturalLanguageQueryUnderstandingInfo", +"description": "Natural language query understanding information for the returned results." +}, +"nextPageToken": { +"description": "A token that can be sent as SearchRequest.page_token to retrieve the next page. If this field is omitted, there are no subsequent pages.", +"type": "string" +}, +"oneBoxResults": { +"description": "A list of One Box results. There can be multiple One Box results of different types.", +"items": { +"$ref": "GoogleCloudDiscoveryengineV1betaSearchResponseOneBoxResult" +}, +"type": "array" +}, +"queryExpansionInfo": { +"$ref": "GoogleCloudDiscoveryengineV1betaSearchResponseQueryExpansionInfo", +"description": "Query expansion information for the returned results." +}, +"redirectUri": { +"description": "The URI of a customer-defined redirect page. If redirect action is triggered, no search is performed, and only redirect_uri and attribution_token are set in the response.", +"type": "string" +}, +"results": { +"description": "A list of matched documents. The order represents the ranking.", +"items": { +"$ref": "GoogleCloudDiscoveryengineV1betaSearchResponseSearchResult" +}, +"type": "array" +}, +"searchLinkPromotions": { +"description": "Promotions for site search.", +"items": { +"$ref": "GoogleCloudDiscoveryengineV1betaSearchLinkPromotion" +}, +"type": "array" +}, +"sessionInfo": { +"$ref": "GoogleCloudDiscoveryengineV1betaSearchResponseSessionInfo", +"description": "Session information. Only set if SearchRequest.session is provided. See its description for more details." +}, +"summary": { +"$ref": "GoogleCloudDiscoveryengineV1betaSearchResponseSummary", +"description": "A summary as part of the search results. This field is only returned if SearchRequest.ContentSearchSpec.summary_spec is set." +}, +"totalSize": { +"description": "The estimated total count of matched items irrespective of pagination. The count of results returned by pagination may be less than the total_size that matches.", +"format": "int32", +"type": "integer" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1betaSearchResponseFacet": { +"description": "A facet result.", +"id": "GoogleCloudDiscoveryengineV1betaSearchResponseFacet", +"properties": { +"dynamicFacet": { +"description": "Whether the facet is dynamically generated.", +"type": "boolean" +}, +"key": { +"description": "The key for this facet. For example, `\"colors\"` or `\"price\"`. It matches SearchRequest.FacetSpec.FacetKey.key.", +"type": "string" +}, +"values": { +"description": "The facet values for this field.", +"items": { +"$ref": "GoogleCloudDiscoveryengineV1betaSearchResponseFacetFacetValue" +}, +"type": "array" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1betaSearchResponseFacetFacetValue": { +"description": "A facet value which contains value names and their count.", +"id": "GoogleCloudDiscoveryengineV1betaSearchResponseFacetFacetValue", +"properties": { +"count": { +"description": "Number of items that have this facet value.", +"format": "int64", +"type": "string" +}, +"interval": { +"$ref": "GoogleCloudDiscoveryengineV1betaInterval", +"description": "Interval value for a facet, such as 10, 20) for facet \"price\". It matches [SearchRequest.FacetSpec.FacetKey.intervals." +}, +"value": { +"description": "Text value of a facet, such as \"Black\" for facet \"colors\".", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1betaSearchResponseGeoSearchDebugInfo": { +"description": "Debug information specifically related to forward geocoding issues arising from Geolocation Search.", +"id": "GoogleCloudDiscoveryengineV1betaSearchResponseGeoSearchDebugInfo", +"properties": { +"errorMessage": { +"description": "The error produced.", +"type": "string" +}, +"originalAddressQuery": { +"description": "The address from which forward geocoding ingestion produced issues.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1betaSearchResponseGuidedSearchResult": { +"description": "Guided search result. The guided search helps user to refine the search results and narrow down to the real needs from a broaded search results.", +"id": "GoogleCloudDiscoveryengineV1betaSearchResponseGuidedSearchResult", +"properties": { +"followUpQuestions": { +"description": "Suggested follow-up questions.", +"items": { +"type": "string" +}, +"type": "array" +}, +"refinementAttributes": { +"description": "A list of ranked refinement attributes.", +"items": { +"$ref": "GoogleCloudDiscoveryengineV1betaSearchResponseGuidedSearchResultRefinementAttribute" +}, +"type": "array" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1betaSearchResponseGuidedSearchResultRefinementAttribute": { +"description": "Useful attribute for search result refinements.", +"id": "GoogleCloudDiscoveryengineV1betaSearchResponseGuidedSearchResultRefinementAttribute", +"properties": { +"attributeKey": { +"description": "Attribute key used to refine the results. For example, `\"movie_type\"`.", +"type": "string" +}, +"attributeValue": { +"description": "Attribute value used to refine the results. For example, `\"drama\"`.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1betaSearchResponseNaturalLanguageQueryUnderstandingInfo": { +"description": "Information describing what natural language understanding was done on the input query.", +"id": "GoogleCloudDiscoveryengineV1betaSearchResponseNaturalLanguageQueryUnderstandingInfo", +"properties": { +"extractedFilters": { +"description": "The filters that were extracted from the input query.", +"type": "string" +}, +"rewrittenQuery": { +"description": "Rewritten input query minus the extracted filters.", +"type": "string" +}, +"structuredExtractedFilter": { +"$ref": "GoogleCloudDiscoveryengineV1betaSearchResponseNaturalLanguageQueryUnderstandingInfoStructuredExtractedFilter", +"description": "The filters that were extracted from the input query represented in a structured form." +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1betaSearchResponseNaturalLanguageQueryUnderstandingInfoStructuredExtractedFilter": { +"description": "The filters that were extracted from the input query represented in a structured form.", +"id": "GoogleCloudDiscoveryengineV1betaSearchResponseNaturalLanguageQueryUnderstandingInfoStructuredExtractedFilter", +"properties": { +"expression": { +"$ref": "GoogleCloudDiscoveryengineV1betaSearchResponseNaturalLanguageQueryUnderstandingInfoStructuredExtractedFilterExpression", +"description": "The expression denoting the filter that was extracted from the input query in a structured form. It can be a simple expression denoting a single string, numerical or geolocation constraint or a compound expression which is a combination of multiple expressions connected using logical (OR and AND) operators." +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1betaSearchResponseNaturalLanguageQueryUnderstandingInfoStructuredExtractedFilterAndExpression": { +"description": "Logical `And` operator.", +"id": "GoogleCloudDiscoveryengineV1betaSearchResponseNaturalLanguageQueryUnderstandingInfoStructuredExtractedFilterAndExpression", +"properties": { +"expressions": { +"description": "The expressions that were ANDed together.", +"items": { +"$ref": "GoogleCloudDiscoveryengineV1betaSearchResponseNaturalLanguageQueryUnderstandingInfoStructuredExtractedFilterExpression" +}, +"type": "array" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1betaSearchResponseNaturalLanguageQueryUnderstandingInfoStructuredExtractedFilterExpression": { +"description": "The expression denoting the filter that was extracted from the input query.", +"id": "GoogleCloudDiscoveryengineV1betaSearchResponseNaturalLanguageQueryUnderstandingInfoStructuredExtractedFilterExpression", +"properties": { +"andExpr": { +"$ref": "GoogleCloudDiscoveryengineV1betaSearchResponseNaturalLanguageQueryUnderstandingInfoStructuredExtractedFilterAndExpression", +"description": "Logical \"And\" compound operator connecting multiple expressions." +}, +"geolocationConstraint": { +"$ref": "GoogleCloudDiscoveryengineV1betaSearchResponseNaturalLanguageQueryUnderstandingInfoStructuredExtractedFilterGeolocationConstraint", +"description": "Geolocation constraint expression." +}, +"numberConstraint": { +"$ref": "GoogleCloudDiscoveryengineV1betaSearchResponseNaturalLanguageQueryUnderstandingInfoStructuredExtractedFilterNumberConstraint", +"description": "Numerical constraint expression." +}, +"orExpr": { +"$ref": "GoogleCloudDiscoveryengineV1betaSearchResponseNaturalLanguageQueryUnderstandingInfoStructuredExtractedFilterOrExpression", +"description": "Logical \"Or\" compound operator connecting multiple expressions." +}, +"stringConstraint": { +"$ref": "GoogleCloudDiscoveryengineV1betaSearchResponseNaturalLanguageQueryUnderstandingInfoStructuredExtractedFilterStringConstraint", +"description": "String constraint expression." +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1betaSearchResponseNaturalLanguageQueryUnderstandingInfoStructuredExtractedFilterGeolocationConstraint": { +"description": "Constraint of a geolocation field. Name of the geolocation field as defined in the schema.", +"id": "GoogleCloudDiscoveryengineV1betaSearchResponseNaturalLanguageQueryUnderstandingInfoStructuredExtractedFilterGeolocationConstraint", +"properties": { +"address": { +"description": "The reference address that was inferred from the input query. The proximity of the reference address to the geolocation field will be used to filter the results.", +"type": "string" +}, +"fieldName": { +"description": "The name of the geolocation field as defined in the schema.", +"type": "string" +}, +"latitude": { +"description": "The latitude of the geolocation inferred from the input query.", +"format": "double", +"type": "number" +}, +"longitude": { +"description": "The longitude of the geolocation inferred from the input query.", +"format": "double", +"type": "number" +}, +"radiusInMeters": { +"description": "The radius in meters around the address. The record is returned if the location of the geolocation field is within the radius.", +"format": "float", +"type": "number" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1betaSearchResponseNaturalLanguageQueryUnderstandingInfoStructuredExtractedFilterNumberConstraint": { +"description": "Constraint expression of a number field. Example: price < 100.", +"id": "GoogleCloudDiscoveryengineV1betaSearchResponseNaturalLanguageQueryUnderstandingInfoStructuredExtractedFilterNumberConstraint", +"properties": { +"comparison": { +"description": "The comparison operation performed between the field value and the value specified in the constraint.", +"enum": [ +"COMPARISON_UNSPECIFIED", +"EQUALS", +"LESS_THAN_EQUALS", +"LESS_THAN", +"GREATER_THAN_EQUALS", +"GREATER_THAN" +], +"enumDescriptions": [ +"Undefined comparison operator.", +"Denotes equality `=` operator.", +"Denotes less than or equal to `<=` operator.", +"Denotes less than `<` operator.", +"Denotes greater than or equal to `>=` operator.", +"Denotes greater than `>` operator." +], +"type": "string" +}, +"fieldName": { +"description": "Name of the numerical field as defined in the schema.", +"type": "string" +}, +"querySegment": { +"description": "Identifies the keywords within the search query that match a filter.", +"type": "string" +}, +"value": { +"description": "The value specified in the numerical constraint.", +"format": "double", +"type": "number" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1betaSearchResponseNaturalLanguageQueryUnderstandingInfoStructuredExtractedFilterOrExpression": { +"description": "Logical `Or` operator.", +"id": "GoogleCloudDiscoveryengineV1betaSearchResponseNaturalLanguageQueryUnderstandingInfoStructuredExtractedFilterOrExpression", +"properties": { +"expressions": { +"description": "The expressions that were ORed together.", +"items": { +"$ref": "GoogleCloudDiscoveryengineV1betaSearchResponseNaturalLanguageQueryUnderstandingInfoStructuredExtractedFilterExpression" +}, +"type": "array" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1betaSearchResponseNaturalLanguageQueryUnderstandingInfoStructuredExtractedFilterStringConstraint": { +"description": "Constraint expression of a string field.", +"id": "GoogleCloudDiscoveryengineV1betaSearchResponseNaturalLanguageQueryUnderstandingInfoStructuredExtractedFilterStringConstraint", +"properties": { +"fieldName": { +"description": "Name of the string field as defined in the schema.", +"type": "string" +}, +"querySegment": { +"description": "Identifies the keywords within the search query that match a filter.", +"type": "string" +}, +"values": { +"description": "Values of the string field. The record will only be returned if the field value matches one of the values specified here.", +"items": { +"type": "string" +}, +"type": "array" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1betaSearchResponseOneBoxResult": { +"description": "OneBoxResult is a holder for all results of specific type that we want to display in UI differently.", +"id": "GoogleCloudDiscoveryengineV1betaSearchResponseOneBoxResult", +"properties": { +"oneBoxType": { +"description": "The type of One Box result.", +"enum": [ +"ONE_BOX_TYPE_UNSPECIFIED", +"PEOPLE", +"ORGANIZATION", +"SLACK", +"KNOWLEDGE_GRAPH" +], +"enumDescriptions": [ +"Default value. Should not be used.", +"One Box result contains people results.", +"One Box result contains organization results.", +"One Box result contains slack results.", +"One Box result contains Knowledge Graph search responses." +], +"type": "string" +}, +"searchResults": { +"description": "The search results for this One Box.", +"items": { +"$ref": "GoogleCloudDiscoveryengineV1betaSearchResponseSearchResult" +}, +"type": "array" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1betaSearchResponseQueryExpansionInfo": { +"description": "Information describing query expansion including whether expansion has occurred.", +"id": "GoogleCloudDiscoveryengineV1betaSearchResponseQueryExpansionInfo", +"properties": { +"expandedQuery": { +"description": "Bool describing whether query expansion has occurred.", +"type": "boolean" +}, +"pinnedResultCount": { +"description": "Number of pinned results. This field will only be set when expansion happens and SearchRequest.QueryExpansionSpec.pin_unexpanded_results is set to true.", +"format": "int64", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1betaSearchResponseSearchResult": { +"description": "Represents the search results.", +"id": "GoogleCloudDiscoveryengineV1betaSearchResponseSearchResult", +"properties": { +"chunk": { +"$ref": "GoogleCloudDiscoveryengineV1betaChunk", +"description": "The chunk data in the search response if the SearchRequest.ContentSearchSpec.search_result_mode is set to CHUNKS." +}, +"document": { +"$ref": "GoogleCloudDiscoveryengineV1betaDocument", +"description": "The document data snippet in the search response. Only fields that are marked as `retrievable` are populated." +}, +"id": { +"description": "Document.id of the searched Document.", +"type": "string" +}, +"modelScores": { +"additionalProperties": { +"$ref": "GoogleCloudDiscoveryengineV1betaDoubleList" +}, +"description": "Google provided available scores.", +"type": "object" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1betaSearchResponseSessionInfo": { +"description": "Information about the session.", +"id": "GoogleCloudDiscoveryengineV1betaSearchResponseSessionInfo", +"properties": { +"name": { +"description": "Name of the session. If the auto-session mode is used (when SearchRequest.session ends with \"-\"), this field holds the newly generated session name.", +"type": "string" +}, +"queryId": { +"description": "Query ID that corresponds to this search API call. One session can have multiple turns, each with a unique query ID. By specifying the session name and this query ID in the Answer API call, the answer generation happens in the context of the search results from this search call.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1betaSearchResponseSummary": { +"description": "Summary of the top N search results specified by the summary spec.", +"id": "GoogleCloudDiscoveryengineV1betaSearchResponseSummary", +"properties": { +"safetyAttributes": { +"$ref": "GoogleCloudDiscoveryengineV1betaSearchResponseSummarySafetyAttributes", +"description": "A collection of Safety Attribute categories and their associated confidence scores." +}, +"summarySkippedReasons": { +"description": "Additional summary-skipped reasons. This provides the reason for ignored cases. If nothing is skipped, this field is not set.", +"items": { +"enum": [ +"SUMMARY_SKIPPED_REASON_UNSPECIFIED", +"ADVERSARIAL_QUERY_IGNORED", +"NON_SUMMARY_SEEKING_QUERY_IGNORED", +"OUT_OF_DOMAIN_QUERY_IGNORED", +"POTENTIAL_POLICY_VIOLATION", +"LLM_ADDON_NOT_ENABLED", +"NO_RELEVANT_CONTENT", +"JAIL_BREAKING_QUERY_IGNORED", +"CUSTOMER_POLICY_VIOLATION", +"NON_SUMMARY_SEEKING_QUERY_IGNORED_V2" +], +"enumDescriptions": [ +"Default value. The summary skipped reason is not specified.", +"The adversarial query ignored case. Only used when SummarySpec.ignore_adversarial_query is set to `true`.", +"The non-summary seeking query ignored case. Google skips the summary if the query is chit chat. Only used when SummarySpec.ignore_non_summary_seeking_query is set to `true`.", +"The out-of-domain query ignored case. Google skips the summary if there are no high-relevance search results. For example, the data store contains facts about company A but the user query is asking questions about company B.", +"The potential policy violation case. Google skips the summary if there is a potential policy violation detected. This includes content that may be violent or toxic.", +"The LLM addon not enabled case. Google skips the summary if the LLM addon is not enabled.", +"The no relevant content case. Google skips the summary if there is no relevant content in the retrieved search results.", +"The jail-breaking query ignored case. For example, \"Reply in the tone of a competing company's CEO\". Only used when [SearchRequest.ContentSearchSpec.SummarySpec.ignore_jail_breaking_query] is set to `true`.", +"The customer policy violation case. Google skips the summary if there is a customer policy violation detected. The policy is defined by the customer.", +"The non-answer seeking query ignored case. Google skips the summary if the query doesn't have clear intent. Only used when [SearchRequest.ContentSearchSpec.SummarySpec.ignore_non_answer_seeking_query] is set to `true`." +], +"type": "string" +}, +"type": "array" +}, +"summaryText": { +"description": "The summary content.", +"type": "string" +}, +"summaryWithMetadata": { +"$ref": "GoogleCloudDiscoveryengineV1betaSearchResponseSummarySummaryWithMetadata", +"description": "Summary with metadata information." +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1betaSearchResponseSummaryCitation": { +"description": "Citation info for a segment.", +"id": "GoogleCloudDiscoveryengineV1betaSearchResponseSummaryCitation", +"properties": { +"endIndex": { +"description": "End of the attributed segment, exclusive.", +"format": "int64", +"type": "string" +}, +"sources": { +"description": "Citation sources for the attributed segment.", +"items": { +"$ref": "GoogleCloudDiscoveryengineV1betaSearchResponseSummaryCitationSource" +}, +"type": "array" +}, +"startIndex": { +"description": "Index indicates the start of the segment, measured in bytes/unicode.", +"format": "int64", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1betaSearchResponseSummaryCitationMetadata": { +"description": "Citation metadata.", +"id": "GoogleCloudDiscoveryengineV1betaSearchResponseSummaryCitationMetadata", +"properties": { +"citations": { +"description": "Citations for segments.", +"items": { +"$ref": "GoogleCloudDiscoveryengineV1betaSearchResponseSummaryCitation" +}, +"type": "array" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1betaSearchResponseSummaryCitationSource": { +"description": "Citation source.", +"id": "GoogleCloudDiscoveryengineV1betaSearchResponseSummaryCitationSource", +"properties": { +"referenceIndex": { +"description": "Document reference index from SummaryWithMetadata.references. It is 0-indexed and the value will be zero if the reference_index is not set explicitly.", +"format": "int64", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1betaSearchResponseSummaryReference": { +"description": "Document reference.", +"id": "GoogleCloudDiscoveryengineV1betaSearchResponseSummaryReference", +"properties": { +"chunkContents": { +"description": "List of cited chunk contents derived from document content.", +"items": { +"$ref": "GoogleCloudDiscoveryengineV1betaSearchResponseSummaryReferenceChunkContent" +}, +"type": "array" +}, +"document": { +"description": "Required. Document.name of the document. Full resource name of the referenced document, in the format `projects/*/locations/*/collections/*/dataStores/*/branches/*/documents/*`.", +"type": "string" +}, +"title": { +"description": "Title of the document.", +"type": "string" +}, +"uri": { +"description": "Cloud Storage or HTTP uri for the document.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1betaSearchResponseSummaryReferenceChunkContent": { +"description": "Chunk content.", +"id": "GoogleCloudDiscoveryengineV1betaSearchResponseSummaryReferenceChunkContent", +"properties": { +"content": { +"description": "Chunk textual content.", +"type": "string" +}, +"pageIdentifier": { +"description": "Page identifier.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1betaSearchResponseSummarySafetyAttributes": { +"description": "Safety Attribute categories and their associated confidence scores.", +"id": "GoogleCloudDiscoveryengineV1betaSearchResponseSummarySafetyAttributes", +"properties": { +"categories": { +"description": "The display names of Safety Attribute categories associated with the generated content. Order matches the Scores.", +"items": { +"type": "string" +}, +"type": "array" +}, +"scores": { +"description": "The confidence scores of the each category, higher value means higher confidence. Order matches the Categories.", +"items": { +"format": "float", +"type": "number" +}, +"type": "array" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1betaSearchResponseSummarySummaryWithMetadata": { +"description": "Summary with metadata information.", +"id": "GoogleCloudDiscoveryengineV1betaSearchResponseSummarySummaryWithMetadata", +"properties": { +"citationMetadata": { +"$ref": "GoogleCloudDiscoveryengineV1betaSearchResponseSummaryCitationMetadata", +"description": "Citation metadata for given summary." +}, +"references": { +"description": "Document References.", +"items": { +"$ref": "GoogleCloudDiscoveryengineV1betaSearchResponseSummaryReference" +}, +"type": "array" +}, +"summary": { +"description": "Summary text with no citation information.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1betaServingConfig": { +"description": "Configures metadata that is used to generate serving time results (e.g. search results or recommendation predictions). The ServingConfig is passed in the search and predict request and generates results.", +"id": "GoogleCloudDiscoveryengineV1betaServingConfig", +"properties": { +"boostControlIds": { +"description": "Boost controls to use in serving path. All triggered boost controls will be applied. Boost controls must be in the same data store as the serving config. Maximum of 20 boost controls.", +"items": { +"type": "string" +}, +"type": "array" +}, +"createTime": { +"description": "Output only. ServingConfig created timestamp.", +"format": "google-datetime", +"readOnly": true, +"type": "string" +}, +"displayName": { +"description": "Required. The human readable serving config display name. Used in Discovery UI. This field must be a UTF-8 encoded string with a length limit of 128 characters. Otherwise, an INVALID_ARGUMENT error is returned.", +"type": "string" +}, +"dissociateControlIds": { +"description": "Condition do not associate specifications. If multiple do not associate conditions match, all matching do not associate controls in the list will execute. Order does not matter. Maximum number of specifications is 100. Can only be set if SolutionType is SOLUTION_TYPE_SEARCH.", +"items": { +"type": "string" +}, +"type": "array" +}, +"diversityLevel": { +"description": "How much diversity to use in recommendation model results e.g. `medium-diversity` or `high-diversity`. Currently supported values: * `no-diversity` * `low-diversity` * `medium-diversity` * `high-diversity` * `auto-diversity` If not specified, we choose default based on recommendation model type. Default value: `no-diversity`. Can only be set if SolutionType is SOLUTION_TYPE_RECOMMENDATION.", +"type": "string" +}, +"embeddingConfig": { +"$ref": "GoogleCloudDiscoveryengineV1betaEmbeddingConfig", +"description": "Bring your own embedding config. The config is used for search semantic retrieval. The retrieval is based on the dot product of SearchRequest.EmbeddingSpec.EmbeddingVector.vector and the document embeddings that are provided by this EmbeddingConfig. If SearchRequest.EmbeddingSpec.EmbeddingVector.vector is provided, it overrides this ServingConfig.embedding_config." +}, +"filterControlIds": { +"description": "Filter controls to use in serving path. All triggered filter controls will be applied. Filter controls must be in the same data store as the serving config. Maximum of 20 filter controls.", +"items": { +"type": "string" +}, +"type": "array" +}, +"genericConfig": { +"$ref": "GoogleCloudDiscoveryengineV1betaServingConfigGenericConfig", +"description": "The GenericConfig of the serving configuration." +}, +"ignoreControlIds": { +"description": "Condition ignore specifications. If multiple ignore conditions match, all matching ignore controls in the list will execute. Order does not matter. Maximum number of specifications is 100.", +"items": { +"type": "string" +}, +"type": "array" +}, +"mediaConfig": { +"$ref": "GoogleCloudDiscoveryengineV1betaServingConfigMediaConfig", +"description": "The MediaConfig of the serving configuration." +}, +"modelId": { +"description": "The id of the model to use at serving time. Currently only RecommendationModels are supported. Can be changed but only to a compatible model (e.g. others-you-may-like CTR to others-you-may-like CVR). Required when SolutionType is SOLUTION_TYPE_RECOMMENDATION.", +"type": "string" +}, +"name": { +"description": "Immutable. Fully qualified name `projects/{project}/locations/{location}/collections/{collection_id}/engines/{engine_id}/servingConfigs/{serving_config_id}`", +"type": "string" +}, +"onewaySynonymsControlIds": { +"description": "Condition oneway synonyms specifications. If multiple oneway synonyms conditions match, all matching oneway synonyms controls in the list will execute. Maximum number of specifications is 100. Can only be set if SolutionType is SOLUTION_TYPE_SEARCH.", +"items": { +"type": "string" +}, +"type": "array" +}, +"personalizationSpec": { +"$ref": "GoogleCloudDiscoveryengineV1betaSearchRequestPersonalizationSpec", +"description": "The specification for personalization spec. Notice that if both ServingConfig.personalization_spec and SearchRequest.personalization_spec are set, SearchRequest.personalization_spec overrides ServingConfig.personalization_spec." +}, +"promoteControlIds": { +"description": "Condition promote specifications. Maximum number of specifications is 100.", +"items": { +"type": "string" +}, +"type": "array" +}, +"rankingExpression": { +"description": "The ranking expression controls the customized ranking on retrieval documents. To leverage this, document embedding is required. The ranking expression setting in ServingConfig applies to all search requests served by the serving config. However, if `SearchRequest.ranking_expression` is specified, it overrides the ServingConfig ranking expression. The ranking expression is a single function or multiple functions that are joined by \"+\". * ranking_expression = function, { \" + \", function }; Supported functions: * double * relevance_score * double * dotProduct(embedding_field_path) Function variables: * `relevance_score`: pre-defined keywords, used for measure relevance between query and document. * `embedding_field_path`: the document embedding field used with query embedding vector. * `dotProduct`: embedding function between embedding_field_path and query embedding vector. Example ranking expression: If document has an embedding field doc_embedding, the ranking expression could be `0.5 * relevance_score + 0.3 * dotProduct(doc_embedding)`.", +"type": "string" +}, +"redirectControlIds": { +"description": "IDs of the redirect controls. Only the first triggered redirect action is applied, even if multiple apply. Maximum number of specifications is 100. Can only be set if SolutionType is SOLUTION_TYPE_SEARCH.", +"items": { +"type": "string" +}, +"type": "array" +}, +"replacementControlIds": { +"description": "Condition replacement specifications. Applied according to the order in the list. A previously replaced term can not be re-replaced. Maximum number of specifications is 100. Can only be set if SolutionType is SOLUTION_TYPE_SEARCH.", +"items": { +"type": "string" +}, +"type": "array" +}, +"solutionType": { +"description": "Required. Immutable. Specifies the solution type that a serving config can be associated with.", +"enum": [ +"SOLUTION_TYPE_UNSPECIFIED", +"SOLUTION_TYPE_RECOMMENDATION", +"SOLUTION_TYPE_SEARCH", +"SOLUTION_TYPE_CHAT", +"SOLUTION_TYPE_GENERATIVE_CHAT" +], +"enumDescriptions": [ +"Default value.", +"Used for Recommendations AI.", +"Used for Discovery Search.", +"Used for use cases related to the Generative AI agent.", +"Used for use cases related to the Generative Chat agent. It's used for Generative chat engine only, the associated data stores must enrolled with `SOLUTION_TYPE_CHAT` solution." +], +"type": "string" +}, +"synonymsControlIds": { +"description": "Condition synonyms specifications. If multiple synonyms conditions match, all matching synonyms controls in the list will execute. Maximum number of specifications is 100. Can only be set if SolutionType is SOLUTION_TYPE_SEARCH.", +"items": { +"type": "string" +}, +"type": "array" +}, +"updateTime": { +"description": "Output only. ServingConfig updated timestamp.", +"format": "google-datetime", +"readOnly": true, +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1betaServingConfigGenericConfig": { +"description": "Specifies the configurations needed for Generic Discovery.Currently we support: * `content_search_spec`: configuration for generic content search.", +"id": "GoogleCloudDiscoveryengineV1betaServingConfigGenericConfig", +"properties": { +"contentSearchSpec": { +"$ref": "GoogleCloudDiscoveryengineV1betaSearchRequestContentSearchSpec", +"description": "Specifies the expected behavior of content search. Only valid for content-search enabled data store." +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1betaServingConfigMediaConfig": { +"description": "Specifies the configurations needed for Media Discovery. Currently we support: * `demote_content_watched`: Threshold for watched content demotion. Customers can specify if using watched content demotion or use viewed detail page. Using the content watched demotion, customers need to specify the watched minutes or percentage exceeds the threshold, the content will be demoted in the recommendation result. * `promote_fresh_content`: cutoff days for fresh content promotion. Customers can specify if using content freshness promotion. If the content was published within the cutoff days, the content will be promoted in the recommendation result. Can only be set if SolutionType is SOLUTION_TYPE_RECOMMENDATION.", +"id": "GoogleCloudDiscoveryengineV1betaServingConfigMediaConfig", +"properties": { +"contentFreshnessCutoffDays": { +"description": "Specifies the content freshness used for recommendation result. Contents will be demoted if contents were published for more than content freshness cutoff days.", +"format": "int32", +"type": "integer" +}, +"contentWatchedPercentageThreshold": { +"description": "Specifies the content watched percentage threshold for demotion. Threshold value must be between [0, 1.0] inclusive.", +"format": "float", +"type": "number" +}, +"contentWatchedSecondsThreshold": { +"description": "Specifies the content watched minutes threshold for demotion.", +"format": "float", +"type": "number" +}, +"demoteContentWatchedPastDays": { +"description": "Optional. Specifies the number of days to look back for demoting watched content. If set to zero or unset, defaults to the maximum of 365 days.", +"format": "int32", +"type": "integer" +}, +"demotionEventType": { +"description": "Specifies the event type used for demoting recommendation result. Currently supported values: * `view-item`: Item viewed. * `media-play`: Start/resume watching a video, playing a song, etc. * `media-complete`: Finished or stopped midway through a video, song, etc. If unset, watch history demotion will not be applied. Content freshness demotion will still be applied.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1betaSession": { +"description": "External session proto definition.", +"id": "GoogleCloudDiscoveryengineV1betaSession", +"properties": { +"displayName": { +"description": "Optional. The display name of the session. This field is used to identify the session in the UI. By default, the display name is the first turn query text in the session.", +"type": "string" +}, +"endTime": { +"description": "Output only. The time the session finished.", +"format": "google-datetime", +"readOnly": true, +"type": "string" +}, +"isPinned": { +"description": "Optional. Whether the session is pinned, pinned session will be displayed on the top of the session list.", +"type": "boolean" +}, +"name": { +"description": "Immutable. Fully qualified name `projects/{project}/locations/global/collections/{collection}/engines/{engine}/sessions/*`", +"type": "string" +}, +"startTime": { +"description": "Output only. The time the session started.", +"format": "google-datetime", +"readOnly": true, +"type": "string" +}, +"state": { +"description": "The state of the session.", +"enum": [ +"STATE_UNSPECIFIED", +"IN_PROGRESS" +], +"enumDescriptions": [ +"State is unspecified.", +"The session is currently open." +], +"type": "string" +}, +"turns": { +"description": "Turns.", +"items": { +"$ref": "GoogleCloudDiscoveryengineV1betaSessionTurn" +}, +"type": "array" +}, +"userPseudoId": { +"description": "A unique identifier for tracking users.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1betaSessionTurn": { +"description": "Represents a turn, including a query from the user and a answer from service.", +"id": "GoogleCloudDiscoveryengineV1betaSessionTurn", +"properties": { +"answer": { +"description": "The resource name of the answer to the user query. Only set if the answer generation (/answer API call) happened in this turn.", +"type": "string" +}, +"detailedAnswer": { +"$ref": "GoogleCloudDiscoveryengineV1betaAnswer", +"description": "Output only. In ConversationalSearchService.GetSession API, if GetSessionRequest.include_answer_details is set to true, this field will be populated when getting answer query session.", +"readOnly": true +}, +"query": { +"$ref": "GoogleCloudDiscoveryengineV1betaQuery", +"description": "The user query." +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1betaSingleRegionKey": { +"description": "Metadata for single-regional CMEKs.", +"id": "GoogleCloudDiscoveryengineV1betaSingleRegionKey", +"properties": { +"kmsKey": { +"description": "Required. Single-regional kms key resource name which will be used to encrypt resources `projects/{project}/locations/{location}/keyRings/{keyRing}/cryptoKeys/{keyId}`.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1betaSiteSearchEngine": { +"description": "SiteSearchEngine captures DataStore level site search persisting configurations. It is a singleton value per data store.", +"id": "GoogleCloudDiscoveryengineV1betaSiteSearchEngine", +"properties": { +"name": { +"description": "The fully qualified resource name of the site search engine. Format: `projects/*/locations/*/dataStores/*/siteSearchEngine`", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1betaSiteVerificationInfo": { +"description": "Verification information for target sites in advanced site search.", +"id": "GoogleCloudDiscoveryengineV1betaSiteVerificationInfo", +"properties": { +"siteVerificationState": { +"description": "Site verification state indicating the ownership and validity.", +"enum": [ +"SITE_VERIFICATION_STATE_UNSPECIFIED", +"VERIFIED", +"UNVERIFIED", +"EXEMPTED" +], +"enumDescriptions": [ +"Defaults to VERIFIED.", +"Site ownership verified.", +"Site ownership pending verification or verification failed.", +"Site exempt from verification, e.g., a public website that opens to all." +], +"type": "string" +}, +"verifyTime": { +"description": "Latest site verification time.", +"format": "google-datetime", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1betaSitemap": { +"description": "A sitemap for the SiteSearchEngine.", +"id": "GoogleCloudDiscoveryengineV1betaSitemap", +"properties": { +"createTime": { +"description": "Output only. The sitemap's creation time.", +"format": "google-datetime", +"readOnly": true, +"type": "string" +}, +"name": { +"description": "Output only. The fully qualified resource name of the sitemap. `projects/*/locations/*/collections/*/dataStores/*/siteSearchEngine/sitemaps/*` The `sitemap_id` suffix is system-generated.", +"readOnly": true, +"type": "string" +}, +"uri": { +"description": "Public URI for the sitemap, e.g. `www.example.com/sitemap.xml`.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1betaSpannerSource": { +"description": "The Spanner source for importing data", +"id": "GoogleCloudDiscoveryengineV1betaSpannerSource", +"properties": { +"databaseId": { +"description": "Required. The database ID of the source Spanner table.", +"type": "string" +}, +"enableDataBoost": { +"description": "Whether to apply data boost on Spanner export. Enabling this option will incur additional cost. More info can be found [here](https://cloud.google.com/spanner/docs/databoost/databoost-overview#billing_and_quotas).", +"type": "boolean" +}, +"instanceId": { +"description": "Required. The instance ID of the source Spanner table.", +"type": "string" +}, +"projectId": { +"description": "The project ID that contains the Spanner source. Has a length limit of 128 characters. If not specified, inherits the project ID from the parent request.", +"type": "string" +}, +"tableId": { +"description": "Required. The table name of the Spanner database that needs to be imported.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1betaSuggestionDenyListEntry": { +"description": "Suggestion deny list entry identifying the phrase to block from suggestions and the applied operation for the phrase.", +"id": "GoogleCloudDiscoveryengineV1betaSuggestionDenyListEntry", +"properties": { +"blockPhrase": { +"description": "Required. Phrase to block from suggestions served. Can be maximum 125 characters.", +"type": "string" +}, +"matchOperator": { +"description": "Required. The match operator to apply for this phrase. Whether to block the exact phrase, or block any suggestions containing this phrase.", +"enum": [ +"MATCH_OPERATOR_UNSPECIFIED", +"EXACT_MATCH", +"CONTAINS" +], +"enumDescriptions": [ +"Default value. Should not be used", +"If the suggestion is an exact match to the block_phrase, then block it.", +"If the suggestion contains the block_phrase, then block it." +], +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1betaTargetSite": { +"description": "A target site for the SiteSearchEngine.", +"id": "GoogleCloudDiscoveryengineV1betaTargetSite", +"properties": { +"exactMatch": { +"description": "Immutable. If set to false, a uri_pattern is generated to include all pages whose address contains the provided_uri_pattern. If set to true, an uri_pattern is generated to try to be an exact match of the provided_uri_pattern or just the specific page if the provided_uri_pattern is a specific one. provided_uri_pattern is always normalized to generate the URI pattern to be used by the search engine.", +"type": "boolean" +}, +"failureReason": { +"$ref": "GoogleCloudDiscoveryengineV1betaTargetSiteFailureReason", +"description": "Output only. Failure reason.", +"readOnly": true +}, +"generatedUriPattern": { +"description": "Output only. This is system-generated based on the provided_uri_pattern.", +"readOnly": true, +"type": "string" +}, +"indexingStatus": { +"description": "Output only. Indexing status.", +"enum": [ +"INDEXING_STATUS_UNSPECIFIED", +"PENDING", +"FAILED", +"SUCCEEDED", +"DELETING" +], +"enumDescriptions": [ +"Defaults to SUCCEEDED.", +"The target site is in the update queue and will be picked up by indexing pipeline.", +"The target site fails to be indexed.", +"The target site has been indexed.", +"The previously indexed target site has been marked to be deleted. This is a transitioning state which will resulted in either: 1. target site deleted if unindexing is successful; 2. state reverts to SUCCEEDED if the unindexing fails." +], +"readOnly": true, +"type": "string" +}, +"name": { +"description": "Output only. The fully qualified resource name of the target site. `projects/{project}/locations/{location}/collections/{collection}/dataStores/{data_store}/siteSearchEngine/targetSites/{target_site}` The `target_site_id` is system-generated.", +"readOnly": true, +"type": "string" +}, +"providedUriPattern": { +"description": "Required. Input only. The user provided URI pattern from which the `generated_uri_pattern` is generated.", +"type": "string" +}, +"rootDomainUri": { +"description": "Output only. Root domain of the provided_uri_pattern.", +"readOnly": true, +"type": "string" +}, +"siteVerificationInfo": { +"$ref": "GoogleCloudDiscoveryengineV1betaSiteVerificationInfo", +"description": "Output only. Site ownership and validity verification status.", +"readOnly": true +}, +"type": { +"description": "The type of the target site, e.g., whether the site is to be included or excluded.", +"enum": [ +"TYPE_UNSPECIFIED", +"INCLUDE", +"EXCLUDE" +], +"enumDescriptions": [ +"This value is unused. In this case, server behavior defaults to Type.INCLUDE.", +"Include the target site.", +"Exclude the target site." +], +"type": "string" +}, +"updateTime": { +"description": "Output only. The target site's last updated time.", +"format": "google-datetime", +"readOnly": true, +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1betaTargetSiteFailureReason": { +"description": "Site search indexing failure reasons.", +"id": "GoogleCloudDiscoveryengineV1betaTargetSiteFailureReason", +"properties": { +"quotaFailure": { +"$ref": "GoogleCloudDiscoveryengineV1betaTargetSiteFailureReasonQuotaFailure", +"description": "Failed due to insufficient quota." +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1betaTargetSiteFailureReasonQuotaFailure": { +"description": "Failed due to insufficient quota.", +"id": "GoogleCloudDiscoveryengineV1betaTargetSiteFailureReasonQuotaFailure", +"properties": { +"totalRequiredQuota": { +"description": "This number is an estimation on how much total quota this project needs to successfully complete indexing.", +"format": "int64", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1betaTextInput": { +"description": "Defines text input.", +"id": "GoogleCloudDiscoveryengineV1betaTextInput", +"properties": { +"context": { +"$ref": "GoogleCloudDiscoveryengineV1betaConversationContext", +"description": "Conversation context of the input." +}, +"input": { +"description": "Text input.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1betaTrainCustomModelMetadata": { +"description": "Metadata related to the progress of the TrainCustomModel operation. This is returned by the google.longrunning.Operation.metadata field.", +"id": "GoogleCloudDiscoveryengineV1betaTrainCustomModelMetadata", +"properties": { +"createTime": { +"description": "Operation create time.", +"format": "google-datetime", +"type": "string" +}, +"updateTime": { +"description": "Operation last update time. If the operation is done, this is also the finish time.", +"format": "google-datetime", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1betaTrainCustomModelRequest": { +"description": "Request message for SearchTuningService.TrainCustomModel method.", +"id": "GoogleCloudDiscoveryengineV1betaTrainCustomModelRequest", +"properties": { +"errorConfig": { +"$ref": "GoogleCloudDiscoveryengineV1betaImportErrorConfig", +"description": "The desired location of errors incurred during the data ingestion and training." +}, +"gcsTrainingInput": { +"$ref": "GoogleCloudDiscoveryengineV1betaTrainCustomModelRequestGcsTrainingInput", +"description": "Cloud Storage training input." +}, +"modelId": { +"description": "If not provided, a UUID will be generated.", +"type": "string" +}, +"modelType": { +"description": "Model to be trained. Supported values are: * **search-tuning**: Fine tuning the search system based on data provided.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1betaTrainCustomModelRequestGcsTrainingInput": { +"description": "Cloud Storage training data input.", +"id": "GoogleCloudDiscoveryengineV1betaTrainCustomModelRequestGcsTrainingInput", +"properties": { +"corpusDataPath": { +"description": "The Cloud Storage corpus data which could be associated in train data. The data path format is `gs:///`. A newline delimited jsonl/ndjson file. For search-tuning model, each line should have the _id, title and text. Example: `{\"_id\": \"doc1\", title: \"relevant doc\", \"text\": \"relevant text\"}`", +"type": "string" +}, +"queryDataPath": { +"description": "The gcs query data which could be associated in train data. The data path format is `gs:///`. A newline delimited jsonl/ndjson file. For search-tuning model, each line should have the _id and text. Example: {\"_id\": \"query1\", \"text\": \"example query\"}", +"type": "string" +}, +"testDataPath": { +"description": "Cloud Storage test data. Same format as train_data_path. If not provided, a random 80/20 train/test split will be performed on train_data_path.", +"type": "string" +}, +"trainDataPath": { +"description": "Cloud Storage training data path whose format should be `gs:///`. The file should be in tsv format. Each line should have the doc_id and query_id and score (number). For search-tuning model, it should have the query-id corpus-id score as tsv file header. The score should be a number in `[0, inf+)`. The larger the number is, the more relevant the pair is. Example: * `query-id\\tcorpus-id\\tscore` * `query1\\tdoc1\\t1`", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1betaTrainCustomModelResponse": { +"description": "Response of the TrainCustomModelRequest. This message is returned by the google.longrunning.Operations.response field.", +"id": "GoogleCloudDiscoveryengineV1betaTrainCustomModelResponse", +"properties": { +"errorConfig": { +"$ref": "GoogleCloudDiscoveryengineV1betaImportErrorConfig", +"description": "Echoes the destination for the complete errors in the request if set." +}, +"errorSamples": { +"description": "A sample of errors encountered while processing the data.", +"items": { +"$ref": "GoogleRpcStatus" +}, +"type": "array" +}, +"metrics": { +"additionalProperties": { +"format": "double", +"type": "number" +}, +"description": "The metrics of the trained model.", +"type": "object" +}, +"modelName": { +"description": "Fully qualified name of the CustomTuningModel.", +"type": "string" +}, +"modelStatus": { +"description": "The trained model status. Possible values are: * **bad-data**: The training data quality is bad. * **no-improvement**: Tuning didn't improve performance. Won't deploy. * **in-progress**: Model training job creation is in progress. * **training**: Model is actively training. * **evaluating**: The model is evaluating trained metrics. * **indexing**: The model trained metrics are indexing. * **ready**: The model is ready for serving.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1betaTransactionInfo": { +"description": "A transaction represents the entire purchase transaction.", +"id": "GoogleCloudDiscoveryengineV1betaTransactionInfo", +"properties": { +"cost": { +"description": "All the costs associated with the products. These can be manufacturing costs, shipping expenses not borne by the end user, or any other costs, such that: * Profit = value - tax - cost", +"format": "float", +"type": "number" +}, +"currency": { +"description": "Required. Currency code. Use three-character ISO-4217 code.", +"type": "string" +}, +"discountValue": { +"description": "The total discount(s) value applied to this transaction. This figure should be excluded from TransactionInfo.value For example, if a user paid TransactionInfo.value amount, then nominal (pre-discount) value of the transaction is the sum of TransactionInfo.value and TransactionInfo.discount_value This means that profit is calculated the same way, regardless of the discount value, and that TransactionInfo.discount_value can be larger than TransactionInfo.value: * Profit = value - tax - cost", +"format": "float", +"type": "number" +}, +"tax": { +"description": "All the taxes associated with the transaction.", +"format": "float", +"type": "number" +}, +"transactionId": { +"description": "The transaction ID with a length limit of 128 characters.", +"type": "string" +}, +"value": { +"description": "Required. Total non-zero value associated with the transaction. This value may include shipping, tax, or other adjustments to the total value that you want to include.", +"format": "float", +"type": "number" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1betaTuneEngineMetadata": { +"description": "Metadata associated with a tune operation.", +"id": "GoogleCloudDiscoveryengineV1betaTuneEngineMetadata", +"properties": { +"engine": { +"description": "Required. The resource name of the engine that this tune applies to. Format: `projects/{project}/locations/{location}/collections/{collection_id}/engines/{engine_id}`", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1betaTuneEngineRequest": { +"description": "Request to manually start a tuning process now (instead of waiting for the periodically scheduled tuning to happen).", +"id": "GoogleCloudDiscoveryengineV1betaTuneEngineRequest", +"properties": {}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1betaTuneEngineResponse": { +"description": "Response associated with a tune operation.", +"id": "GoogleCloudDiscoveryengineV1betaTuneEngineResponse", +"properties": {}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1betaUpdateSchemaMetadata": { +"description": "Metadata for UpdateSchema LRO.", +"id": "GoogleCloudDiscoveryengineV1betaUpdateSchemaMetadata", +"properties": { +"createTime": { +"description": "Operation create time.", +"format": "google-datetime", +"type": "string" +}, +"updateTime": { +"description": "Operation last update time. If the operation is done, this is also the finish time.", +"format": "google-datetime", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1betaUpdateTargetSiteMetadata": { +"description": "Metadata related to the progress of the SiteSearchEngineService.UpdateTargetSite operation. This will be returned by the google.longrunning.Operation.metadata field.", +"id": "GoogleCloudDiscoveryengineV1betaUpdateTargetSiteMetadata", +"properties": { +"createTime": { +"description": "Operation create time.", +"format": "google-datetime", +"type": "string" +}, +"updateTime": { +"description": "Operation last update time. If the operation is done, this is also the finish time.", +"format": "google-datetime", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1betaUserEvent": { +"description": "UserEvent captures all metadata information Discovery Engine API needs to know about how end users interact with your website.", +"id": "GoogleCloudDiscoveryengineV1betaUserEvent", +"properties": { +"attributes": { +"additionalProperties": { +"$ref": "GoogleCloudDiscoveryengineV1betaCustomAttribute" +}, +"description": "Extra user event features to include in the recommendation model. These attributes must NOT contain data that needs to be parsed or processed further, e.g. JSON or other encodings. If you provide custom attributes for ingested user events, also include them in the user events that you associate with prediction requests. Custom attribute formatting must be consistent between imported events and events provided with prediction requests. This lets the Discovery Engine API use those custom attributes when training models and serving predictions, which helps improve recommendation quality. This field needs to pass all below criteria, otherwise an `INVALID_ARGUMENT` error is returned: * The key must be a UTF-8 encoded string with a length limit of 5,000 characters. * For text attributes, at most 400 values are allowed. Empty values are not allowed. Each value must be a UTF-8 encoded string with a length limit of 256 characters. * For number attributes, at most 400 values are allowed. For product recommendations, an example of extra user information is `traffic_channel`, which is how a user arrives at the site. Users can arrive at the site by coming to the site directly, coming through Google search, or in other ways.", +"type": "object" +}, +"attributionToken": { +"description": "Token to attribute an API response to user action(s) to trigger the event. Highly recommended for user events that are the result of RecommendationService.Recommend. This field enables accurate attribution of recommendation model performance. The value must be one of: * RecommendResponse.attribution_token for events that are the result of RecommendationService.Recommend. * SearchResponse.attribution_token for events that are the result of SearchService.Search. This token enables us to accurately attribute page view or conversion completion back to the event and the particular predict response containing this clicked/purchased product. If user clicks on product K in the recommendation results, pass RecommendResponse.attribution_token as a URL parameter to product K's page. When recording events on product K's page, log the RecommendResponse.attribution_token to this field.", +"type": "string" +}, +"completionInfo": { +"$ref": "GoogleCloudDiscoveryengineV1betaCompletionInfo", +"description": "CompletionService.CompleteQuery details related to the event. This field should be set for `search` event when autocomplete function is enabled and the user clicks a suggestion for search." +}, +"conversionType": { +"description": "Optional. Conversion type. Required if UserEvent.event_type is `conversion`. This is a customer-defined conversion name in lowercase letters or numbers separated by \"-\", such as \"watch\", \"good-visit\" etc. Do not set the field if UserEvent.event_type is not `conversion`. This mixes the custom conversion event with predefined events like `search`, `view-item` etc.", +"type": "string" +}, +"dataStore": { +"description": "The DataStore resource full name, of the form `projects/{project}/locations/{location}/collections/{collection_id}/dataStores/{data_store_id}`. Optional. Only required for user events whose data store can't by determined by UserEvent.engine or UserEvent.documents. If data store is set in the parent of write/import/collect user event requests, this field can be omitted.", +"type": "string" +}, +"directUserRequest": { +"description": "Should set to true if the request is made directly from the end user, in which case the UserEvent.user_info.user_agent can be populated from the HTTP request. This flag should be set only if the API request is made directly from the end user such as a mobile app (and not if a gateway or a server is processing and pushing the user events). This should not be set when using the JavaScript tag in UserEventService.CollectUserEvent.", +"type": "boolean" +}, +"documents": { +"description": "List of Documents associated with this user event. This field is optional except for the following event types: * `view-item` * `add-to-cart` * `purchase` * `media-play` * `media-complete` In a `search` event, this field represents the documents returned to the end user on the current page (the end user may have not finished browsing the whole page yet). When a new page is returned to the end user, after pagination/filtering/ordering even for the same query, a new `search` event with different UserEvent.documents is desired.", +"items": { +"$ref": "GoogleCloudDiscoveryengineV1betaDocumentInfo" +}, +"type": "array" +}, +"engine": { +"description": "The Engine resource name, in the form of `projects/{project}/locations/{location}/collections/{collection_id}/engines/{engine_id}`. Optional. Only required for Engine produced user events. For example, user events from blended search.", +"type": "string" +}, +"eventTime": { +"description": "Only required for UserEventService.ImportUserEvents method. Timestamp of when the user event happened.", +"format": "google-datetime", +"type": "string" +}, +"eventType": { +"description": "Required. User event type. Allowed values are: Generic values: * `search`: Search for Documents. * `view-item`: Detailed page view of a Document. * `view-item-list`: View of a panel or ordered list of Documents. * `view-home-page`: View of the home page. * `view-category-page`: View of a category page, e.g. Home > Men > Jeans * `add-feedback`: Add a user feedback. Retail-related values: * `add-to-cart`: Add an item(s) to cart, e.g. in Retail online shopping * `purchase`: Purchase an item(s) Media-related values: * `media-play`: Start/resume watching a video, playing a song, etc. * `media-complete`: Finished or stopped midway through a video, song, etc. Custom conversion value: * `conversion`: Customer defined conversion event.", +"type": "string" +}, +"filter": { +"description": "The filter syntax consists of an expression language for constructing a predicate from one or more fields of the documents being filtered. One example is for `search` events, the associated SearchRequest may contain a filter expression in SearchRequest.filter conforming to https://google.aip.dev/160#filtering. Similarly, for `view-item-list` events that are generated from a RecommendRequest, this field may be populated directly from RecommendRequest.filter conforming to https://google.aip.dev/160#filtering. The value must be a UTF-8 encoded string with a length limit of 1,000 characters. Otherwise, an `INVALID_ARGUMENT` error is returned.", +"type": "string" +}, +"mediaInfo": { +"$ref": "GoogleCloudDiscoveryengineV1betaMediaInfo", +"description": "Media-specific info." +}, +"pageInfo": { +"$ref": "GoogleCloudDiscoveryengineV1betaPageInfo", +"description": "Page metadata such as categories and other critical information for certain event types such as `view-category-page`." +}, +"panel": { +"$ref": "GoogleCloudDiscoveryengineV1betaPanelInfo", +"description": "Panel metadata associated with this user event." +}, +"panels": { +"description": "Optional. List of panels associated with this event. Used for page-level impression data.", +"items": { +"$ref": "GoogleCloudDiscoveryengineV1betaPanelInfo" +}, +"type": "array" +}, +"promotionIds": { +"description": "The promotion IDs if this is an event associated with promotions. Currently, this field is restricted to at most one ID.", +"items": { +"type": "string" +}, +"type": "array" +}, +"searchInfo": { +"$ref": "GoogleCloudDiscoveryengineV1betaSearchInfo", +"description": "SearchService.Search details related to the event. This field should be set for `search` event." +}, +"sessionId": { +"description": "A unique identifier for tracking a visitor session with a length limit of 128 bytes. A session is an aggregation of an end user behavior in a time span. A general guideline to populate the session_id: 1. If user has no activity for 30 min, a new session_id should be assigned. 2. The session_id should be unique across users, suggest use uuid or add UserEvent.user_pseudo_id as prefix.", +"type": "string" +}, +"tagIds": { +"description": "A list of identifiers for the independent experiment groups this user event belongs to. This is used to distinguish between user events associated with different experiment setups.", +"items": { +"type": "string" +}, +"type": "array" +}, +"transactionInfo": { +"$ref": "GoogleCloudDiscoveryengineV1betaTransactionInfo", +"description": "The transaction metadata (if any) associated with this user event." +}, +"userInfo": { +"$ref": "GoogleCloudDiscoveryengineV1betaUserInfo", +"description": "Information about the end user." +}, +"userPseudoId": { +"description": "Required. A unique identifier for tracking visitors. For example, this could be implemented with an HTTP cookie, which should be able to uniquely identify a visitor on a single device. This unique identifier should not change if the visitor log in/out of the website. Do not set the field to the same fixed ID for different users. This mixes the event history of those users together, which results in degraded model quality. The field must be a UTF-8 encoded string with a length limit of 128 characters. Otherwise, an `INVALID_ARGUMENT` error is returned. The field should not contain PII or user-data. We recommend to use Google Analytics [Client ID](https://developers.google.com/analytics/devguides/collection/analyticsjs/field-reference#clientId) for this field.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1betaUserInfo": { +"description": "Information of an end user.", +"id": "GoogleCloudDiscoveryengineV1betaUserInfo", +"properties": { +"userAgent": { +"description": "User agent as included in the HTTP header. The field must be a UTF-8 encoded string with a length limit of 1,000 characters. Otherwise, an `INVALID_ARGUMENT` error is returned. This should not be set when using the client side event reporting with GTM or JavaScript tag in UserEventService.CollectUserEvent or if UserEvent.direct_user_request is set.", +"type": "string" +}, +"userId": { +"description": "Highly recommended for logged-in users. Unique identifier for logged-in user, such as a user name. Don't set for anonymous users. Always use a hashed value for this ID. Don't set the field to the same fixed ID for different users. This mixes the event history of those users together, which results in degraded model quality. The field must be a UTF-8 encoded string with a length limit of 128 characters. Otherwise, an `INVALID_ARGUMENT` error is returned.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1betaWorkspaceConfig": { +"description": "Config to store data store type configuration for workspace data", +"id": "GoogleCloudDiscoveryengineV1betaWorkspaceConfig", +"properties": { +"dasherCustomerId": { +"description": "Obfuscated Dasher customer ID.", +"type": "string" +}, +"superAdminEmailAddress": { +"description": "Optional. The super admin email address for the workspace that will be used for access token generation. For now we only use it for Native Google Drive connector data ingestion.", +"type": "string" +}, +"superAdminServiceAccount": { +"description": "Optional. The super admin service account for the workspace that will be used for access token generation. For now we only use it for Native Google Drive connector data ingestion.", +"type": "string" +}, +"type": { +"description": "The Google Workspace data source.", +"enum": [ +"TYPE_UNSPECIFIED", +"GOOGLE_DRIVE", +"GOOGLE_MAIL", +"GOOGLE_SITES", +"GOOGLE_CALENDAR", +"GOOGLE_CHAT", +"GOOGLE_GROUPS", +"GOOGLE_KEEP" +], +"enumDescriptions": [ +"Defaults to an unspecified Workspace type.", +"Workspace Data Store contains Drive data", +"Workspace Data Store contains Mail data", +"Workspace Data Store contains Sites data", +"Workspace Data Store contains Calendar data", +"Workspace Data Store contains Chat data", +"Workspace Data Store contains Groups data", +"Workspace Data Store contains Keep data" +], +"type": "string" +} +}, +"type": "object" +}, +"GoogleLongrunningCancelOperationRequest": { +"description": "The request message for Operations.CancelOperation.", +"id": "GoogleLongrunningCancelOperationRequest", +"properties": {}, +"type": "object" +}, +"GoogleLongrunningListOperationsResponse": { +"description": "The response message for Operations.ListOperations.", +"id": "GoogleLongrunningListOperationsResponse", +"properties": { +"nextPageToken": { +"description": "The standard List next-page token.", +"type": "string" +}, +"operations": { +"description": "A list of operations that matches the specified filter in the request.", +"items": { +"$ref": "GoogleLongrunningOperation" +}, +"type": "array" +} +}, +"type": "object" +}, +"GoogleLongrunningOperation": { +"description": "This resource represents a long-running operation that is the result of a network API call.", +"id": "GoogleLongrunningOperation", +"properties": { +"done": { +"description": "If the value is `false`, it means the operation is still in progress. If `true`, the operation is completed, and either `error` or `response` is available.", +"type": "boolean" +}, +"error": { +"$ref": "GoogleRpcStatus", +"description": "The error result of the operation in case of failure or cancellation." +}, +"metadata": { +"additionalProperties": { +"description": "Properties of the object. Contains field @type with type URL.", +"type": "any" +}, +"description": "Service-specific metadata associated with the operation. It typically contains progress information and common metadata such as create time. Some services might not provide such metadata. Any method that returns a long-running operation should document the metadata type, if any.", +"type": "object" +}, +"name": { +"description": "The server-assigned name, which is only unique within the same service that originally returns it. If you use the default HTTP mapping, the `name` should be a resource name ending with `operations/{unique_id}`.", +"type": "string" +}, +"response": { +"additionalProperties": { +"description": "Properties of the object. Contains field @type with type URL.", +"type": "any" +}, +"description": "The normal, successful response of the operation. If the original method returns no data on success, such as `Delete`, the response is `google.protobuf.Empty`. If the original method is standard `Get`/`Create`/`Update`, the response should be the resource. For other methods, the response should have the type `XxxResponse`, where `Xxx` is the original method name. For example, if the original method name is `TakeSnapshot()`, the inferred response type is `TakeSnapshotResponse`.", +"type": "object" +} +}, +"type": "object" +}, +"GoogleMonitoringV3Point": { +"description": "A single data point in a time series.", +"id": "GoogleMonitoringV3Point", +"properties": { +"interval": { +"$ref": "GoogleMonitoringV3TimeInterval", +"description": "The time interval to which the data point applies. For `GAUGE` metrics, the start time is optional, but if it is supplied, it must equal the end time. For `DELTA` metrics, the start and end time should specify a non-zero interval, with subsequent points specifying contiguous and non-overlapping intervals. For `CUMULATIVE` metrics, the start and end time should specify a non-zero interval, with subsequent points specifying the same start time and increasing end times, until an event resets the cumulative value to zero and sets a new start time for the following points." +}, +"value": { +"$ref": "GoogleMonitoringV3TypedValue", +"description": "The value of the data point." +} +}, +"type": "object" +}, +"GoogleMonitoringV3TimeInterval": { +"description": "A time interval extending just after a start time through an end time. If the start time is the same as the end time, then the interval represents a single point in time.", +"id": "GoogleMonitoringV3TimeInterval", +"properties": { +"endTime": { +"description": "Required. The end of the time interval.", +"format": "google-datetime", +"type": "string" +}, +"startTime": { +"description": "Optional. The beginning of the time interval. The default value for the start time is the end time. The start time must not be later than the end time.", +"format": "google-datetime", +"type": "string" +} +}, +"type": "object" +}, +"GoogleMonitoringV3TimeSeries": { +"description": "A collection of data points that describes the time-varying values of a metric. A time series is identified by a combination of a fully-specified monitored resource and a fully-specified metric. This type is used for both listing and creating time series.", +"id": "GoogleMonitoringV3TimeSeries", +"properties": { +"description": { +"description": "Input only. A detailed description of the time series that will be associated with the google.api.MetricDescriptor for the metric. Once set, this field cannot be changed through CreateTimeSeries.", +"type": "string" +}, +"metadata": { +"$ref": "GoogleApiMonitoredResourceMetadata", +"description": "Output only. The associated monitored resource metadata. When reading a time series, this field will include metadata labels that are explicitly named in the reduction. When creating a time series, this field is ignored." +}, +"metric": { +"$ref": "GoogleApiMetric", +"description": "The associated metric. A fully-specified metric used to identify the time series." +}, +"metricKind": { +"description": "The metric kind of the time series. When listing time series, this metric kind might be different from the metric kind of the associated metric if this time series is an alignment or reduction of other time series. When creating a time series, this field is optional. If present, it must be the same as the metric kind of the associated metric. If the associated metric's descriptor must be auto-created, then this field specifies the metric kind of the new descriptor and must be either `GAUGE` (the default) or `CUMULATIVE`.", +"enum": [ +"METRIC_KIND_UNSPECIFIED", +"GAUGE", +"DELTA", +"CUMULATIVE" +], +"enumDescriptions": [ +"Do not use this default value.", +"An instantaneous measurement of a value.", +"The change in a value during a time interval.", +"A value accumulated over a time interval. Cumulative measurements in a time series should have the same start time and increasing end times, until an event resets the cumulative value to zero and sets a new start time for the following points." +], +"type": "string" +}, +"points": { +"description": "The data points of this time series. When listing time series, points are returned in reverse time order. When creating a time series, this field must contain exactly one point and the point's type must be the same as the value type of the associated metric. If the associated metric's descriptor must be auto-created, then the value type of the descriptor is determined by the point's type, which must be `BOOL`, `INT64`, `DOUBLE`, or `DISTRIBUTION`.", +"items": { +"$ref": "GoogleMonitoringV3Point" +}, +"type": "array" +}, +"resource": { +"$ref": "GoogleApiMonitoredResource", +"description": "The associated monitored resource. Custom metrics can use only certain monitored resource types in their time series data. For more information, see [Monitored resources for custom metrics](https://cloud.google.com/monitoring/custom-metrics/creating-metrics#custom-metric-resources)." +}, +"unit": { +"description": "The units in which the metric value is reported. It is only applicable if the `value_type` is `INT64`, `DOUBLE`, or `DISTRIBUTION`. The `unit` defines the representation of the stored metric values. This field can only be changed through CreateTimeSeries when it is empty.", +"type": "string" +}, +"valueType": { +"description": "The value type of the time series. When listing time series, this value type might be different from the value type of the associated metric if this time series is an alignment or reduction of other time series. When creating a time series, this field is optional. If present, it must be the same as the type of the data in the `points` field.", +"enum": [ +"VALUE_TYPE_UNSPECIFIED", +"BOOL", +"INT64", +"DOUBLE", +"STRING", +"DISTRIBUTION", +"MONEY" +], +"enumDescriptions": [ +"Do not use this default value.", +"The value is a boolean. This value type can be used only if the metric kind is `GAUGE`.", +"The value is a signed 64-bit integer.", +"The value is a double precision floating point number.", +"The value is a text string. This value type can be used only if the metric kind is `GAUGE`.", +"The value is a `Distribution`.", +"The value is money." +], +"type": "string" +} +}, +"type": "object" +}, +"GoogleMonitoringV3TypedValue": { +"description": "A single strongly-typed value.", +"id": "GoogleMonitoringV3TypedValue", +"properties": { +"boolValue": { +"description": "A Boolean value: `true` or `false`.", +"type": "boolean" +}, +"distributionValue": { +"$ref": "GoogleApiDistribution", +"description": "A distribution value." +}, +"doubleValue": { +"description": "A 64-bit double-precision floating-point number. Its magnitude is approximately \u00b110\u00b1300 and it has 16 significant digits of precision.", +"format": "double", +"type": "number" +}, +"int64Value": { +"description": "A 64-bit integer. Its range is approximately \u00b19.2x1018.", +"format": "int64", +"type": "string" +}, +"stringValue": { +"description": "A variable-length string value.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleProtobufEmpty": { +"description": "A generic empty message that you can re-use to avoid defining duplicated empty messages in your APIs. A typical example is to use it as the request or the response type of an API method. For instance: service Foo { rpc Bar(google.protobuf.Empty) returns (google.protobuf.Empty); }", +"id": "GoogleProtobufEmpty", +"properties": {}, +"type": "object" +}, +"GoogleRpcStatus": { +"description": "The `Status` type defines a logical error model that is suitable for different programming environments, including REST APIs and RPC APIs. It is used by [gRPC](https://github.com/grpc). Each `Status` message contains three pieces of data: error code, error message, and error details. You can find out more about this error model and how to work with it in the [API Design Guide](https://cloud.google.com/apis/design/errors).", +"id": "GoogleRpcStatus", +"properties": { +"code": { +"description": "The status code, which should be an enum value of google.rpc.Code.", +"format": "int32", +"type": "integer" +}, +"details": { +"description": "A list of messages that carry the error details. There is a common set of message types for APIs to use.", +"items": { +"additionalProperties": { +"description": "Properties of the object. Contains field @type with type URL.", +"type": "any" +}, +"type": "object" +}, +"type": "array" +}, +"message": { +"description": "A developer-facing error message, which should be in English. Any user-facing error message should be localized and sent in the google.rpc.Status.details field, or localized by the client.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleTypeDate": { +"description": "Represents a whole or partial calendar date, such as a birthday. The time of day and time zone are either specified elsewhere or are insignificant. The date is relative to the Gregorian Calendar. This can represent one of the following: * A full date, with non-zero year, month, and day values. * A month and day, with a zero year (for example, an anniversary). * A year on its own, with a zero month and a zero day. * A year and month, with a zero day (for example, a credit card expiration date). Related types: * google.type.TimeOfDay * google.type.DateTime * google.protobuf.Timestamp", +"id": "GoogleTypeDate", +"properties": { +"day": { +"description": "Day of a month. Must be from 1 to 31 and valid for the year and month, or 0 to specify a year by itself or a year and month where the day isn't significant.", +"format": "int32", +"type": "integer" +}, +"month": { +"description": "Month of a year. Must be from 1 to 12, or 0 to specify a year without a month and day.", +"format": "int32", +"type": "integer" +}, +"year": { +"description": "Year of the date. Must be from 1 to 9999, or 0 to specify a date without a year.", +"format": "int32", +"type": "integer" +} +}, +"type": "object" +}, +"GoogleTypeDateTime": { +"description": "Represents civil time (or occasionally physical time). This type can represent a civil time in one of a few possible ways: * When utc_offset is set and time_zone is unset: a civil time on a calendar day with a particular offset from UTC. * When time_zone is set and utc_offset is unset: a civil time on a calendar day in a particular time zone. * When neither time_zone nor utc_offset is set: a civil time on a calendar day in local time. The date is relative to the Proleptic Gregorian Calendar. If year, month, or day are 0, the DateTime is considered not to have a specific year, month, or day respectively. This type may also be used to represent a physical time if all the date and time fields are set and either case of the `time_offset` oneof is set. Consider using `Timestamp` message for physical time instead. If your use case also would like to store the user's timezone, that can be done in another field. This type is more flexible than some applications may want. Make sure to document and validate your application's limitations.", +"id": "GoogleTypeDateTime", +"properties": { +"day": { +"description": "Optional. Day of month. Must be from 1 to 31 and valid for the year and month, or 0 if specifying a datetime without a day.", +"format": "int32", +"type": "integer" +}, +"hours": { +"description": "Optional. Hours of day in 24 hour format. Should be from 0 to 23, defaults to 0 (midnight). An API may choose to allow the value \"24:00:00\" for scenarios like business closing time.", +"format": "int32", +"type": "integer" +}, +"minutes": { +"description": "Optional. Minutes of hour of day. Must be from 0 to 59, defaults to 0.", +"format": "int32", +"type": "integer" +}, +"month": { +"description": "Optional. Month of year. Must be from 1 to 12, or 0 if specifying a datetime without a month.", +"format": "int32", +"type": "integer" +}, +"nanos": { +"description": "Optional. Fractions of seconds in nanoseconds. Must be from 0 to 999,999,999, defaults to 0.", +"format": "int32", +"type": "integer" +}, +"seconds": { +"description": "Optional. Seconds of minutes of the time. Must normally be from 0 to 59, defaults to 0. An API may allow the value 60 if it allows leap-seconds.", +"format": "int32", +"type": "integer" +}, +"timeZone": { +"$ref": "GoogleTypeTimeZone", +"description": "Time zone." +}, +"utcOffset": { +"description": "UTC offset. Must be whole seconds, between -18 hours and +18 hours. For example, a UTC offset of -4:00 would be represented as { seconds: -14400 }.", +"format": "google-duration", +"type": "string" +}, +"year": { +"description": "Optional. Year of date. Must be from 1 to 9999, or 0 if specifying a datetime without a year.", +"format": "int32", +"type": "integer" +} +}, +"type": "object" +}, +"GoogleTypeTimeZone": { +"description": "Represents a time zone from the [IANA Time Zone Database](https://www.iana.org/time-zones).", +"id": "GoogleTypeTimeZone", +"properties": { +"id": { +"description": "IANA Time Zone Database time zone. For example \"America/New_York\".", +"type": "string" +}, +"version": { +"description": "Optional. IANA Time Zone Database version number. For example \"2019a\".", +"type": "string" +} +}, +"type": "object" +} +}, +"servicePath": "", +"title": "Discovery Engine API", +"version": "v1beta", +"version_module": true +} \ No newline at end of file diff --git a/.venv/lib/python3.11/site-packages/googleapiclient/discovery_cache/documents/displayvideo.v4.json b/.venv/lib/python3.11/site-packages/googleapiclient/discovery_cache/documents/displayvideo.v4.json new file mode 100644 index 0000000000000000000000000000000000000000..873ccf622853e46229addb76113f15de81f68f1f --- /dev/null +++ b/.venv/lib/python3.11/site-packages/googleapiclient/discovery_cache/documents/displayvideo.v4.json @@ -0,0 +1,299 @@ +{ +"auth": { +"oauth2": { +"scopes": { +"https://www.googleapis.com/auth/display-video": { +"description": "Create, see, edit, and permanently delete your Display & Video 360 entities and reports" +}, +"https://www.googleapis.com/auth/doubleclickbidmanager": { +"description": "View and manage your reports in DoubleClick Bid Manager" +} +} +} +}, +"basePath": "", +"baseUrl": "https://displayvideo.googleapis.com/", +"batchPath": "batch", +"canonicalName": "Display Video", +"description": "Display & Video 360 API allows users to automate complex Display & Video 360 workflows, such as creating insertion orders and setting targeting options for individual line items.", +"discoveryVersion": "v1", +"documentationLink": "https://developers.google.com/display-video/", +"fullyEncodeReservedExpansion": true, +"icons": { +"x16": "http://www.google.com/images/icons/product/search-16.gif", +"x32": "http://www.google.com/images/icons/product/search-32.gif" +}, +"id": "displayvideo:v4", +"kind": "discovery#restDescription", +"mtlsRootUrl": "https://displayvideo.mtls.googleapis.com/", +"name": "displayvideo", +"ownerDomain": "google.com", +"ownerName": "Google", +"parameters": { +"$.xgafv": { +"description": "V1 error format.", +"enum": [ +"1", +"2" +], +"enumDescriptions": [ +"v1 error format", +"v2 error format" +], +"location": "query", +"type": "string" +}, +"access_token": { +"description": "OAuth access token.", +"location": "query", +"type": "string" +}, +"alt": { +"default": "json", +"description": "Data format for response.", +"enum": [ +"json", +"media", +"proto" +], +"enumDescriptions": [ +"Responses with Content-Type of application/json", +"Media download with context-dependent Content-Type", +"Responses with Content-Type of application/x-protobuf" +], +"location": "query", +"type": "string" +}, +"callback": { +"description": "JSONP", +"location": "query", +"type": "string" +}, +"fields": { +"description": "Selector specifying which fields to include in a partial response.", +"location": "query", +"type": "string" +}, +"key": { +"description": "API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token.", +"location": "query", +"type": "string" +}, +"oauth_token": { +"description": "OAuth 2.0 token for the current user.", +"location": "query", +"type": "string" +}, +"prettyPrint": { +"default": "true", +"description": "Returns response with indentations and line breaks.", +"location": "query", +"type": "boolean" +}, +"quotaUser": { +"description": "Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters.", +"location": "query", +"type": "string" +}, +"uploadType": { +"description": "Legacy upload protocol for media (e.g. \"media\", \"multipart\").", +"location": "query", +"type": "string" +}, +"upload_protocol": { +"description": "Upload protocol for media (e.g. \"raw\", \"multipart\").", +"location": "query", +"type": "string" +} +}, +"protocol": "rest", +"resources": { +"media": { +"methods": { +"download": { +"description": "Downloads media. Download is supported on the URI `/download/{resource_name=**}?alt=media.` **Note**: Download requests will not be successful without including `alt=media` query string.", +"flatPath": "download/{downloadId}", +"httpMethod": "GET", +"id": "displayvideo.media.download", +"parameterOrder": [ +"resourceName" +], +"parameters": { +"resourceName": { +"description": "Name of the media that is being downloaded. See ReadRequest.resource_name.", +"location": "path", +"pattern": "^.*$", +"required": true, +"type": "string" +} +}, +"path": "download/{+resourceName}", +"response": { +"$ref": "GoogleBytestreamMedia" +}, +"scopes": [ +"https://www.googleapis.com/auth/display-video", +"https://www.googleapis.com/auth/doubleclickbidmanager" +], +"supportsMediaDownload": true +}, +"upload": { +"description": "Uploads media. Upload is supported on the URI `/upload/media/{resource_name=**}?upload_type=media.` **Note**: Upload requests will not be successful without including `upload_type=media` query string.", +"flatPath": "media/{mediaId}", +"httpMethod": "POST", +"id": "displayvideo.media.upload", +"mediaUpload": { +"accept": [ +"*/*" +], +"protocols": { +"simple": { +"multipart": true, +"path": "/upload/media/{+resourceName}" +} +} +}, +"parameterOrder": [ +"resourceName" +], +"parameters": { +"resourceName": { +"description": "Name of the media that is being downloaded. See ReadRequest.resource_name.", +"location": "path", +"pattern": "^.*$", +"required": true, +"type": "string" +} +}, +"path": "media/{+resourceName}", +"request": { +"$ref": "GoogleBytestreamMedia" +}, +"response": { +"$ref": "GoogleBytestreamMedia" +}, +"scopes": [ +"https://www.googleapis.com/auth/display-video", +"https://www.googleapis.com/auth/doubleclickbidmanager" +], +"supportsMediaUpload": true +} +} +}, +"sdfdownloadtasks": { +"resources": { +"operations": { +"methods": { +"get": { +"description": "Gets the latest state of an asynchronous SDF download task operation. Clients should poll this method at intervals of 30 seconds.", +"flatPath": "v4/sdfdownloadtasks/operations/{operationsId}", +"httpMethod": "GET", +"id": "displayvideo.sdfdownloadtasks.operations.get", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "The name of the operation resource.", +"location": "path", +"pattern": "^sdfdownloadtasks/operations/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v4/{+name}", +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/display-video", +"https://www.googleapis.com/auth/doubleclickbidmanager" +] +} +} +} +} +} +}, +"revision": "20240208", +"rootUrl": "https://displayvideo.googleapis.com/", +"schemas": { +"GoogleBytestreamMedia": { +"description": "Media resource.", +"id": "GoogleBytestreamMedia", +"properties": { +"resourceName": { +"description": "Name of the media resource.", +"type": "string" +} +}, +"type": "object" +}, +"Operation": { +"description": "This resource represents a long-running operation that is the result of a network API call.", +"id": "Operation", +"properties": { +"done": { +"description": "If the value is `false`, it means the operation is still in progress. If `true`, the operation is completed, and either `error` or `response` is available.", +"type": "boolean" +}, +"error": { +"$ref": "Status", +"description": "The error result of the operation in case of failure or cancellation." +}, +"metadata": { +"additionalProperties": { +"description": "Properties of the object. Contains field @type with type URL.", +"type": "any" +}, +"description": "Service-specific metadata associated with the operation. It typically contains progress information and common metadata such as create time. Some services might not provide such metadata. Any method that returns a long-running operation should document the metadata type, if any.", +"type": "object" +}, +"name": { +"description": "The server-assigned name, which is only unique within the same service that originally returns it. If you use the default HTTP mapping, the `name` should be a resource name ending with `operations/{unique_id}`.", +"type": "string" +}, +"response": { +"additionalProperties": { +"description": "Properties of the object. Contains field @type with type URL.", +"type": "any" +}, +"description": "The normal, successful response of the operation. If the original method returns no data on success, such as `Delete`, the response is `google.protobuf.Empty`. If the original method is standard `Get`/`Create`/`Update`, the response should be the resource. For other methods, the response should have the type `XxxResponse`, where `Xxx` is the original method name. For example, if the original method name is `TakeSnapshot()`, the inferred response type is `TakeSnapshotResponse`.", +"type": "object" +} +}, +"type": "object" +}, +"Status": { +"description": "The `Status` type defines a logical error model that is suitable for different programming environments, including REST APIs and RPC APIs. It is used by [gRPC](https://github.com/grpc). Each `Status` message contains three pieces of data: error code, error message, and error details. You can find out more about this error model and how to work with it in the [API Design Guide](https://cloud.google.com/apis/design/errors).", +"id": "Status", +"properties": { +"code": { +"description": "The status code, which should be an enum value of google.rpc.Code.", +"format": "int32", +"type": "integer" +}, +"details": { +"description": "A list of messages that carry the error details. There is a common set of message types for APIs to use.", +"items": { +"additionalProperties": { +"description": "Properties of the object. Contains field @type with type URL.", +"type": "any" +}, +"type": "object" +}, +"type": "array" +}, +"message": { +"description": "A developer-facing error message, which should be in English. Any user-facing error message should be localized and sent in the google.rpc.Status.details field, or localized by the client.", +"type": "string" +} +}, +"type": "object" +} +}, +"servicePath": "", +"title": "Display & Video 360 API", +"version": "v4", +"version_module": true +} \ No newline at end of file diff --git a/.venv/lib/python3.11/site-packages/googleapiclient/discovery_cache/documents/dns.v1.json b/.venv/lib/python3.11/site-packages/googleapiclient/discovery_cache/documents/dns.v1.json new file mode 100644 index 0000000000000000000000000000000000000000..a735fe008275cbc0f53112df344135b95bf83eff --- /dev/null +++ b/.venv/lib/python3.11/site-packages/googleapiclient/discovery_cache/documents/dns.v1.json @@ -0,0 +1,3540 @@ +{ +"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." +}, +"https://www.googleapis.com/auth/cloud-platform.read-only": { +"description": "View your data across Google Cloud services and see the email address of your Google Account" +}, +"https://www.googleapis.com/auth/ndev.clouddns.readonly": { +"description": "View your DNS records hosted by Google Cloud DNS" +}, +"https://www.googleapis.com/auth/ndev.clouddns.readwrite": { +"description": "View and manage your DNS records hosted by Google Cloud DNS" +} +} +} +}, +"basePath": "", +"baseUrl": "https://dns.googleapis.com/", +"batchPath": "batch", +"canonicalName": "Dns", +"description": "", +"discoveryVersion": "v1", +"documentationLink": "https://cloud.google.com/dns/docs", +"fullyEncodeReservedExpansion": true, +"icons": { +"x16": "http://www.google.com/images/icons/product/search-16.gif", +"x32": "http://www.google.com/images/icons/product/search-32.gif" +}, +"id": "dns:v1", +"kind": "discovery#restDescription", +"mtlsRootUrl": "https://dns.mtls.googleapis.com/", +"name": "dns", +"ownerDomain": "google.com", +"ownerName": "Google", +"parameters": { +"$.xgafv": { +"description": "V1 error format.", +"enum": [ +"1", +"2" +], +"enumDescriptions": [ +"v1 error format", +"v2 error format" +], +"location": "query", +"type": "string" +}, +"access_token": { +"description": "OAuth access token.", +"location": "query", +"type": "string" +}, +"alt": { +"default": "json", +"description": "Data format for response.", +"enum": [ +"json", +"media", +"proto" +], +"enumDescriptions": [ +"Responses with Content-Type of application/json", +"Media download with context-dependent Content-Type", +"Responses with Content-Type of application/x-protobuf" +], +"location": "query", +"type": "string" +}, +"callback": { +"description": "JSONP", +"location": "query", +"type": "string" +}, +"fields": { +"description": "Selector specifying which fields to include in a partial response.", +"location": "query", +"type": "string" +}, +"key": { +"description": "API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token.", +"location": "query", +"type": "string" +}, +"oauth_token": { +"description": "OAuth 2.0 token for the current user.", +"location": "query", +"type": "string" +}, +"prettyPrint": { +"default": "true", +"description": "Returns response with indentations and line breaks.", +"location": "query", +"type": "boolean" +}, +"quotaUser": { +"description": "Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters.", +"location": "query", +"type": "string" +}, +"uploadType": { +"description": "Legacy upload protocol for media (e.g. \"media\", \"multipart\").", +"location": "query", +"type": "string" +}, +"upload_protocol": { +"description": "Upload protocol for media (e.g. \"raw\", \"multipart\").", +"location": "query", +"type": "string" +} +}, +"protocol": "rest", +"resources": { +"changes": { +"methods": { +"create": { +"description": "Atomically updates the ResourceRecordSet collection.", +"flatPath": "dns/v1/projects/{project}/managedZones/{managedZone}/changes", +"httpMethod": "POST", +"id": "dns.changes.create", +"parameterOrder": [ +"project", +"managedZone" +], +"parameters": { +"clientOperationId": { +"description": "For mutating operation requests only. An optional identifier specified by the client. Must be unique for operation resources in the Operations collection.", +"location": "query", +"type": "string" +}, +"managedZone": { +"description": "Identifies the managed zone addressed by this request. Can be the managed zone name or ID.", +"location": "path", +"required": true, +"type": "string" +}, +"project": { +"description": "Identifies the project addressed by this request.", +"location": "path", +"required": true, +"type": "string" +} +}, +"path": "dns/v1/projects/{project}/managedZones/{managedZone}/changes", +"request": { +"$ref": "Change" +}, +"response": { +"$ref": "Change" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/ndev.clouddns.readwrite" +] +}, +"get": { +"description": "Fetches the representation of an existing Change.", +"flatPath": "dns/v1/projects/{project}/managedZones/{managedZone}/changes/{changeId}", +"httpMethod": "GET", +"id": "dns.changes.get", +"parameterOrder": [ +"project", +"managedZone", +"changeId" +], +"parameters": { +"changeId": { +"description": "The identifier of the requested change, from a previous ResourceRecordSetsChangeResponse.", +"location": "path", +"required": true, +"type": "string" +}, +"clientOperationId": { +"description": "For mutating operation requests only. An optional identifier specified by the client. Must be unique for operation resources in the Operations collection.", +"location": "query", +"type": "string" +}, +"managedZone": { +"description": "Identifies the managed zone addressed by this request. Can be the managed zone name or ID.", +"location": "path", +"required": true, +"type": "string" +}, +"project": { +"description": "Identifies the project addressed by this request.", +"location": "path", +"required": true, +"type": "string" +} +}, +"path": "dns/v1/projects/{project}/managedZones/{managedZone}/changes/{changeId}", +"response": { +"$ref": "Change" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/cloud-platform.read-only", +"https://www.googleapis.com/auth/ndev.clouddns.readonly", +"https://www.googleapis.com/auth/ndev.clouddns.readwrite" +] +}, +"list": { +"description": "Enumerates Changes to a ResourceRecordSet collection.", +"flatPath": "dns/v1/projects/{project}/managedZones/{managedZone}/changes", +"httpMethod": "GET", +"id": "dns.changes.list", +"parameterOrder": [ +"project", +"managedZone" +], +"parameters": { +"managedZone": { +"description": "Identifies the managed zone addressed by this request. Can be the managed zone name or ID.", +"location": "path", +"required": true, +"type": "string" +}, +"maxResults": { +"description": "Optional. Maximum number of results to be returned. If unspecified, the server decides how many results to return.", +"format": "int32", +"location": "query", +"type": "integer" +}, +"pageToken": { +"description": "Optional. A tag returned by a previous list request that was truncated. Use this parameter to continue a previous list request.", +"location": "query", +"type": "string" +}, +"project": { +"description": "Identifies the project addressed by this request.", +"location": "path", +"required": true, +"type": "string" +}, +"sortBy": { +"default": "changeSequence", +"description": "Sorting criterion. The only supported value is change sequence.", +"enum": [ +"changeSequence" +], +"enumDescriptions": [ +"" +], +"location": "query", +"type": "string" +}, +"sortOrder": { +"description": "Sorting order direction: 'ascending' or 'descending'.", +"location": "query", +"type": "string" +} +}, +"path": "dns/v1/projects/{project}/managedZones/{managedZone}/changes", +"response": { +"$ref": "ChangesListResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/cloud-platform.read-only", +"https://www.googleapis.com/auth/ndev.clouddns.readonly", +"https://www.googleapis.com/auth/ndev.clouddns.readwrite" +] +} +} +}, +"dnsKeys": { +"methods": { +"get": { +"description": "Fetches the representation of an existing DnsKey.", +"flatPath": "dns/v1/projects/{project}/managedZones/{managedZone}/dnsKeys/{dnsKeyId}", +"httpMethod": "GET", +"id": "dns.dnsKeys.get", +"parameterOrder": [ +"project", +"managedZone", +"dnsKeyId" +], +"parameters": { +"clientOperationId": { +"description": "For mutating operation requests only. An optional identifier specified by the client. Must be unique for operation resources in the Operations collection.", +"location": "query", +"type": "string" +}, +"digestType": { +"description": "An optional comma-separated list of digest types to compute and display for key signing keys. If omitted, the recommended digest type is computed and displayed.", +"location": "query", +"type": "string" +}, +"dnsKeyId": { +"description": "The identifier of the requested DnsKey.", +"location": "path", +"required": true, +"type": "string" +}, +"managedZone": { +"description": "Identifies the managed zone addressed by this request. Can be the managed zone name or ID.", +"location": "path", +"required": true, +"type": "string" +}, +"project": { +"description": "Identifies the project addressed by this request.", +"location": "path", +"required": true, +"type": "string" +} +}, +"path": "dns/v1/projects/{project}/managedZones/{managedZone}/dnsKeys/{dnsKeyId}", +"response": { +"$ref": "DnsKey" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/cloud-platform.read-only", +"https://www.googleapis.com/auth/ndev.clouddns.readonly", +"https://www.googleapis.com/auth/ndev.clouddns.readwrite" +] +}, +"list": { +"description": "Enumerates DnsKeys to a ResourceRecordSet collection.", +"flatPath": "dns/v1/projects/{project}/managedZones/{managedZone}/dnsKeys", +"httpMethod": "GET", +"id": "dns.dnsKeys.list", +"parameterOrder": [ +"project", +"managedZone" +], +"parameters": { +"digestType": { +"description": "An optional comma-separated list of digest types to compute and display for key signing keys. If omitted, the recommended digest type is computed and displayed.", +"location": "query", +"type": "string" +}, +"managedZone": { +"description": "Identifies the managed zone addressed by this request. Can be the managed zone name or ID.", +"location": "path", +"required": true, +"type": "string" +}, +"maxResults": { +"description": "Optional. Maximum number of results to be returned. If unspecified, the server decides how many results to return.", +"format": "int32", +"location": "query", +"type": "integer" +}, +"pageToken": { +"description": "Optional. A tag returned by a previous list request that was truncated. Use this parameter to continue a previous list request.", +"location": "query", +"type": "string" +}, +"project": { +"description": "Identifies the project addressed by this request.", +"location": "path", +"required": true, +"type": "string" +} +}, +"path": "dns/v1/projects/{project}/managedZones/{managedZone}/dnsKeys", +"response": { +"$ref": "DnsKeysListResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/cloud-platform.read-only", +"https://www.googleapis.com/auth/ndev.clouddns.readonly", +"https://www.googleapis.com/auth/ndev.clouddns.readwrite" +] +} +} +}, +"managedZoneOperations": { +"methods": { +"get": { +"description": "Fetches the representation of an existing Operation.", +"flatPath": "dns/v1/projects/{project}/managedZones/{managedZone}/operations/{operation}", +"httpMethod": "GET", +"id": "dns.managedZoneOperations.get", +"parameterOrder": [ +"project", +"managedZone", +"operation" +], +"parameters": { +"clientOperationId": { +"description": "For mutating operation requests only. An optional identifier specified by the client. Must be unique for operation resources in the Operations collection.", +"location": "query", +"type": "string" +}, +"managedZone": { +"description": "Identifies the managed zone addressed by this request.", +"location": "path", +"required": true, +"type": "string" +}, +"operation": { +"description": "Identifies the operation addressed by this request (ID of the operation).", +"location": "path", +"required": true, +"type": "string" +}, +"project": { +"description": "Identifies the project addressed by this request.", +"location": "path", +"required": true, +"type": "string" +} +}, +"path": "dns/v1/projects/{project}/managedZones/{managedZone}/operations/{operation}", +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/cloud-platform.read-only", +"https://www.googleapis.com/auth/ndev.clouddns.readonly", +"https://www.googleapis.com/auth/ndev.clouddns.readwrite" +] +}, +"list": { +"description": "Enumerates Operations for the given ManagedZone.", +"flatPath": "dns/v1/projects/{project}/managedZones/{managedZone}/operations", +"httpMethod": "GET", +"id": "dns.managedZoneOperations.list", +"parameterOrder": [ +"project", +"managedZone" +], +"parameters": { +"managedZone": { +"description": "Identifies the managed zone addressed by this request.", +"location": "path", +"required": true, +"type": "string" +}, +"maxResults": { +"description": "Optional. Maximum number of results to be returned. If unspecified, the server decides how many results to return.", +"format": "int32", +"location": "query", +"type": "integer" +}, +"pageToken": { +"description": "Optional. A tag returned by a previous list request that was truncated. Use this parameter to continue a previous list request.", +"location": "query", +"type": "string" +}, +"project": { +"description": "Identifies the project addressed by this request.", +"location": "path", +"required": true, +"type": "string" +}, +"sortBy": { +"default": "startTime", +"description": "Sorting criterion. The only supported values are START_TIME and ID.", +"enum": [ +"startTime", +"id" +], +"enumDescriptions": [ +"", +"" +], +"location": "query", +"type": "string" +} +}, +"path": "dns/v1/projects/{project}/managedZones/{managedZone}/operations", +"response": { +"$ref": "ManagedZoneOperationsListResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/cloud-platform.read-only", +"https://www.googleapis.com/auth/ndev.clouddns.readonly", +"https://www.googleapis.com/auth/ndev.clouddns.readwrite" +] +} +} +}, +"managedZones": { +"methods": { +"create": { +"description": "Creates a new ManagedZone.", +"flatPath": "dns/v1/projects/{project}/managedZones", +"httpMethod": "POST", +"id": "dns.managedZones.create", +"parameterOrder": [ +"project" +], +"parameters": { +"clientOperationId": { +"description": "For mutating operation requests only. An optional identifier specified by the client. Must be unique for operation resources in the Operations collection.", +"location": "query", +"type": "string" +}, +"project": { +"description": "Identifies the project addressed by this request.", +"location": "path", +"required": true, +"type": "string" +} +}, +"path": "dns/v1/projects/{project}/managedZones", +"request": { +"$ref": "ManagedZone" +}, +"response": { +"$ref": "ManagedZone" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/ndev.clouddns.readwrite" +] +}, +"delete": { +"description": "Deletes a previously created ManagedZone.", +"flatPath": "dns/v1/projects/{project}/managedZones/{managedZone}", +"httpMethod": "DELETE", +"id": "dns.managedZones.delete", +"parameterOrder": [ +"project", +"managedZone" +], +"parameters": { +"clientOperationId": { +"description": "For mutating operation requests only. An optional identifier specified by the client. Must be unique for operation resources in the Operations collection.", +"location": "query", +"type": "string" +}, +"managedZone": { +"description": "Identifies the managed zone addressed by this request. Can be the managed zone name or ID.", +"location": "path", +"required": true, +"type": "string" +}, +"project": { +"description": "Identifies the project addressed by this request.", +"location": "path", +"required": true, +"type": "string" +} +}, +"path": "dns/v1/projects/{project}/managedZones/{managedZone}", +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/ndev.clouddns.readwrite" +] +}, +"get": { +"description": "Fetches the representation of an existing ManagedZone.", +"flatPath": "dns/v1/projects/{project}/managedZones/{managedZone}", +"httpMethod": "GET", +"id": "dns.managedZones.get", +"parameterOrder": [ +"project", +"managedZone" +], +"parameters": { +"clientOperationId": { +"description": "For mutating operation requests only. An optional identifier specified by the client. Must be unique for operation resources in the Operations collection.", +"location": "query", +"type": "string" +}, +"managedZone": { +"description": "Identifies the managed zone addressed by this request. Can be the managed zone name or ID.", +"location": "path", +"required": true, +"type": "string" +}, +"project": { +"description": "Identifies the project addressed by this request.", +"location": "path", +"required": true, +"type": "string" +} +}, +"path": "dns/v1/projects/{project}/managedZones/{managedZone}", +"response": { +"$ref": "ManagedZone" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/cloud-platform.read-only", +"https://www.googleapis.com/auth/ndev.clouddns.readonly", +"https://www.googleapis.com/auth/ndev.clouddns.readwrite" +] +}, +"getIamPolicy": { +"description": "Gets the access control policy for a resource. Returns an empty policy if the resource exists and does not have a policy set.", +"flatPath": "dns/v1/projects/{projectsId}/managedZones/{managedZonesId}:getIamPolicy", +"httpMethod": "POST", +"id": "dns.managedZones.getIamPolicy", +"parameterOrder": [ +"resource" +], +"parameters": { +"resource": { +"description": "REQUIRED: The resource for which the policy is being requested. See [Resource names](https://cloud.google.com/apis/design/resource_names) for the appropriate value for this field.", +"location": "path", +"pattern": "^projects/[^/]+/managedZones/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "dns/v1/{+resource}:getIamPolicy", +"request": { +"$ref": "GoogleIamV1GetIamPolicyRequest" +}, +"response": { +"$ref": "GoogleIamV1Policy" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/cloud-platform.read-only", +"https://www.googleapis.com/auth/ndev.clouddns.readonly", +"https://www.googleapis.com/auth/ndev.clouddns.readwrite" +] +}, +"list": { +"description": "Enumerates ManagedZones that have been created but not yet deleted.", +"flatPath": "dns/v1/projects/{project}/managedZones", +"httpMethod": "GET", +"id": "dns.managedZones.list", +"parameterOrder": [ +"project" +], +"parameters": { +"dnsName": { +"description": "Restricts the list to return only zones with this domain name.", +"location": "query", +"type": "string" +}, +"maxResults": { +"description": "Optional. Maximum number of results to be returned. If unspecified, the server decides how many results to return.", +"format": "int32", +"location": "query", +"type": "integer" +}, +"pageToken": { +"description": "Optional. A tag returned by a previous list request that was truncated. Use this parameter to continue a previous list request.", +"location": "query", +"type": "string" +}, +"project": { +"description": "Identifies the project addressed by this request.", +"location": "path", +"required": true, +"type": "string" +} +}, +"path": "dns/v1/projects/{project}/managedZones", +"response": { +"$ref": "ManagedZonesListResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/cloud-platform.read-only", +"https://www.googleapis.com/auth/ndev.clouddns.readonly", +"https://www.googleapis.com/auth/ndev.clouddns.readwrite" +] +}, +"patch": { +"description": "Applies a partial update to an existing ManagedZone.", +"flatPath": "dns/v1/projects/{project}/managedZones/{managedZone}", +"httpMethod": "PATCH", +"id": "dns.managedZones.patch", +"parameterOrder": [ +"project", +"managedZone" +], +"parameters": { +"clientOperationId": { +"description": "For mutating operation requests only. An optional identifier specified by the client. Must be unique for operation resources in the Operations collection.", +"location": "query", +"type": "string" +}, +"managedZone": { +"description": "Identifies the managed zone addressed by this request. Can be the managed zone name or ID.", +"location": "path", +"required": true, +"type": "string" +}, +"project": { +"description": "Identifies the project addressed by this request.", +"location": "path", +"required": true, +"type": "string" +} +}, +"path": "dns/v1/projects/{project}/managedZones/{managedZone}", +"request": { +"$ref": "ManagedZone" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/ndev.clouddns.readwrite" +] +}, +"setIamPolicy": { +"description": "Sets the access control policy on the specified resource. Replaces any existing policy. Can return `NOT_FOUND`, `INVALID_ARGUMENT`, and `PERMISSION_DENIED` errors.", +"flatPath": "dns/v1/projects/{projectsId}/managedZones/{managedZonesId}:setIamPolicy", +"httpMethod": "POST", +"id": "dns.managedZones.setIamPolicy", +"parameterOrder": [ +"resource" +], +"parameters": { +"resource": { +"description": "REQUIRED: The resource for which the policy is being specified. See [Resource names](https://cloud.google.com/apis/design/resource_names) for the appropriate value for this field.", +"location": "path", +"pattern": "^projects/[^/]+/managedZones/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "dns/v1/{+resource}:setIamPolicy", +"request": { +"$ref": "GoogleIamV1SetIamPolicyRequest" +}, +"response": { +"$ref": "GoogleIamV1Policy" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/ndev.clouddns.readwrite" +] +}, +"testIamPermissions": { +"description": "Returns permissions that a caller has on the specified resource. If the resource does not exist, this returns an empty set of permissions, not a `NOT_FOUND` error. Note: This operation is designed to be used for building permission-aware UIs and command-line tools, not for authorization checking. This operation may \"fail open\" without warning.", +"flatPath": "dns/v1/projects/{projectsId}/managedZones/{managedZonesId}:testIamPermissions", +"httpMethod": "POST", +"id": "dns.managedZones.testIamPermissions", +"parameterOrder": [ +"resource" +], +"parameters": { +"resource": { +"description": "REQUIRED: The resource for which the policy detail is being requested. See [Resource names](https://cloud.google.com/apis/design/resource_names) for the appropriate value for this field.", +"location": "path", +"pattern": "^projects/[^/]+/managedZones/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "dns/v1/{+resource}:testIamPermissions", +"request": { +"$ref": "GoogleIamV1TestIamPermissionsRequest" +}, +"response": { +"$ref": "GoogleIamV1TestIamPermissionsResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/cloud-platform.read-only", +"https://www.googleapis.com/auth/ndev.clouddns.readonly", +"https://www.googleapis.com/auth/ndev.clouddns.readwrite" +] +}, +"update": { +"description": "Updates an existing ManagedZone.", +"flatPath": "dns/v1/projects/{project}/managedZones/{managedZone}", +"httpMethod": "PUT", +"id": "dns.managedZones.update", +"parameterOrder": [ +"project", +"managedZone" +], +"parameters": { +"clientOperationId": { +"description": "For mutating operation requests only. An optional identifier specified by the client. Must be unique for operation resources in the Operations collection.", +"location": "query", +"type": "string" +}, +"managedZone": { +"description": "Identifies the managed zone addressed by this request. Can be the managed zone name or ID.", +"location": "path", +"required": true, +"type": "string" +}, +"project": { +"description": "Identifies the project addressed by this request.", +"location": "path", +"required": true, +"type": "string" +} +}, +"path": "dns/v1/projects/{project}/managedZones/{managedZone}", +"request": { +"$ref": "ManagedZone" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/ndev.clouddns.readwrite" +] +} +} +}, +"policies": { +"methods": { +"create": { +"description": "Creates a new Policy.", +"flatPath": "dns/v1/projects/{project}/policies", +"httpMethod": "POST", +"id": "dns.policies.create", +"parameterOrder": [ +"project" +], +"parameters": { +"clientOperationId": { +"description": "For mutating operation requests only. An optional identifier specified by the client. Must be unique for operation resources in the Operations collection.", +"location": "query", +"type": "string" +}, +"project": { +"description": "Identifies the project addressed by this request.", +"location": "path", +"required": true, +"type": "string" +} +}, +"path": "dns/v1/projects/{project}/policies", +"request": { +"$ref": "Policy" +}, +"response": { +"$ref": "Policy" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/ndev.clouddns.readwrite" +] +}, +"delete": { +"description": "Deletes a previously created Policy. Fails if the policy is still being referenced by a network.", +"flatPath": "dns/v1/projects/{project}/policies/{policy}", +"httpMethod": "DELETE", +"id": "dns.policies.delete", +"parameterOrder": [ +"project", +"policy" +], +"parameters": { +"clientOperationId": { +"description": "For mutating operation requests only. An optional identifier specified by the client. Must be unique for operation resources in the Operations collection.", +"location": "query", +"type": "string" +}, +"policy": { +"description": "User given friendly name of the policy addressed by this request.", +"location": "path", +"required": true, +"type": "string" +}, +"project": { +"description": "Identifies the project addressed by this request.", +"location": "path", +"required": true, +"type": "string" +} +}, +"path": "dns/v1/projects/{project}/policies/{policy}", +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/ndev.clouddns.readwrite" +] +}, +"get": { +"description": "Fetches the representation of an existing Policy.", +"flatPath": "dns/v1/projects/{project}/policies/{policy}", +"httpMethod": "GET", +"id": "dns.policies.get", +"parameterOrder": [ +"project", +"policy" +], +"parameters": { +"clientOperationId": { +"description": "For mutating operation requests only. An optional identifier specified by the client. Must be unique for operation resources in the Operations collection.", +"location": "query", +"type": "string" +}, +"policy": { +"description": "User given friendly name of the policy addressed by this request.", +"location": "path", +"required": true, +"type": "string" +}, +"project": { +"description": "Identifies the project addressed by this request.", +"location": "path", +"required": true, +"type": "string" +} +}, +"path": "dns/v1/projects/{project}/policies/{policy}", +"response": { +"$ref": "Policy" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/cloud-platform.read-only", +"https://www.googleapis.com/auth/ndev.clouddns.readonly", +"https://www.googleapis.com/auth/ndev.clouddns.readwrite" +] +}, +"list": { +"description": "Enumerates all Policies associated with a project.", +"flatPath": "dns/v1/projects/{project}/policies", +"httpMethod": "GET", +"id": "dns.policies.list", +"parameterOrder": [ +"project" +], +"parameters": { +"maxResults": { +"description": "Optional. Maximum number of results to be returned. If unspecified, the server decides how many results to return.", +"format": "int32", +"location": "query", +"type": "integer" +}, +"pageToken": { +"description": "Optional. A tag returned by a previous list request that was truncated. Use this parameter to continue a previous list request.", +"location": "query", +"type": "string" +}, +"project": { +"description": "Identifies the project addressed by this request.", +"location": "path", +"required": true, +"type": "string" +} +}, +"path": "dns/v1/projects/{project}/policies", +"response": { +"$ref": "PoliciesListResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/cloud-platform.read-only", +"https://www.googleapis.com/auth/ndev.clouddns.readonly", +"https://www.googleapis.com/auth/ndev.clouddns.readwrite" +] +}, +"patch": { +"description": "Applies a partial update to an existing Policy.", +"flatPath": "dns/v1/projects/{project}/policies/{policy}", +"httpMethod": "PATCH", +"id": "dns.policies.patch", +"parameterOrder": [ +"project", +"policy" +], +"parameters": { +"clientOperationId": { +"description": "For mutating operation requests only. An optional identifier specified by the client. Must be unique for operation resources in the Operations collection.", +"location": "query", +"type": "string" +}, +"policy": { +"description": "User given friendly name of the policy addressed by this request.", +"location": "path", +"required": true, +"type": "string" +}, +"project": { +"description": "Identifies the project addressed by this request.", +"location": "path", +"required": true, +"type": "string" +} +}, +"path": "dns/v1/projects/{project}/policies/{policy}", +"request": { +"$ref": "Policy" +}, +"response": { +"$ref": "PoliciesPatchResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/ndev.clouddns.readwrite" +] +}, +"update": { +"description": "Updates an existing Policy.", +"flatPath": "dns/v1/projects/{project}/policies/{policy}", +"httpMethod": "PUT", +"id": "dns.policies.update", +"parameterOrder": [ +"project", +"policy" +], +"parameters": { +"clientOperationId": { +"description": "For mutating operation requests only. An optional identifier specified by the client. Must be unique for operation resources in the Operations collection.", +"location": "query", +"type": "string" +}, +"policy": { +"description": "User given friendly name of the policy addressed by this request.", +"location": "path", +"required": true, +"type": "string" +}, +"project": { +"description": "Identifies the project addressed by this request.", +"location": "path", +"required": true, +"type": "string" +} +}, +"path": "dns/v1/projects/{project}/policies/{policy}", +"request": { +"$ref": "Policy" +}, +"response": { +"$ref": "PoliciesUpdateResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/ndev.clouddns.readwrite" +] +} +} +}, +"projects": { +"methods": { +"get": { +"description": "Fetches the representation of an existing Project.", +"flatPath": "dns/v1/projects/{project}", +"httpMethod": "GET", +"id": "dns.projects.get", +"parameterOrder": [ +"project" +], +"parameters": { +"clientOperationId": { +"description": "For mutating operation requests only. An optional identifier specified by the client. Must be unique for operation resources in the Operations collection.", +"location": "query", +"type": "string" +}, +"project": { +"description": "Identifies the project addressed by this request.", +"location": "path", +"required": true, +"type": "string" +} +}, +"path": "dns/v1/projects/{project}", +"response": { +"$ref": "Project" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/cloud-platform.read-only", +"https://www.googleapis.com/auth/ndev.clouddns.readonly", +"https://www.googleapis.com/auth/ndev.clouddns.readwrite" +] +} +} +}, +"resourceRecordSets": { +"methods": { +"create": { +"description": "Creates a new ResourceRecordSet.", +"flatPath": "dns/v1/projects/{project}/managedZones/{managedZone}/rrsets", +"httpMethod": "POST", +"id": "dns.resourceRecordSets.create", +"parameterOrder": [ +"project", +"managedZone" +], +"parameters": { +"clientOperationId": { +"description": "For mutating operation requests only. An optional identifier specified by the client. Must be unique for operation resources in the Operations collection.", +"location": "query", +"type": "string" +}, +"managedZone": { +"description": "Identifies the managed zone addressed by this request. Can be the managed zone name or ID.", +"location": "path", +"required": true, +"type": "string" +}, +"project": { +"description": "Identifies the project addressed by this request.", +"location": "path", +"required": true, +"type": "string" +} +}, +"path": "dns/v1/projects/{project}/managedZones/{managedZone}/rrsets", +"request": { +"$ref": "ResourceRecordSet" +}, +"response": { +"$ref": "ResourceRecordSet" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/ndev.clouddns.readwrite" +] +}, +"delete": { +"description": "Deletes a previously created ResourceRecordSet.", +"flatPath": "dns/v1/projects/{project}/managedZones/{managedZone}/rrsets/{name}/{type}", +"httpMethod": "DELETE", +"id": "dns.resourceRecordSets.delete", +"parameterOrder": [ +"project", +"managedZone", +"name", +"type" +], +"parameters": { +"clientOperationId": { +"description": "For mutating operation requests only. An optional identifier specified by the client. Must be unique for operation resources in the Operations collection.", +"location": "query", +"type": "string" +}, +"managedZone": { +"description": "Identifies the managed zone addressed by this request. Can be the managed zone name or ID.", +"location": "path", +"required": true, +"type": "string" +}, +"name": { +"description": "Fully qualified domain name.", +"location": "path", +"required": true, +"type": "string" +}, +"project": { +"description": "Identifies the project addressed by this request.", +"location": "path", +"required": true, +"type": "string" +}, +"type": { +"description": "RRSet type.", +"location": "path", +"required": true, +"type": "string" +} +}, +"path": "dns/v1/projects/{project}/managedZones/{managedZone}/rrsets/{name}/{type}", +"response": { +"$ref": "ResourceRecordSetsDeleteResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/ndev.clouddns.readwrite" +] +}, +"get": { +"description": "Fetches the representation of an existing ResourceRecordSet.", +"flatPath": "dns/v1/projects/{project}/managedZones/{managedZone}/rrsets/{name}/{type}", +"httpMethod": "GET", +"id": "dns.resourceRecordSets.get", +"parameterOrder": [ +"project", +"managedZone", +"name", +"type" +], +"parameters": { +"clientOperationId": { +"description": "For mutating operation requests only. An optional identifier specified by the client. Must be unique for operation resources in the Operations collection.", +"location": "query", +"type": "string" +}, +"managedZone": { +"description": "Identifies the managed zone addressed by this request. Can be the managed zone name or ID.", +"location": "path", +"required": true, +"type": "string" +}, +"name": { +"description": "Fully qualified domain name.", +"location": "path", +"required": true, +"type": "string" +}, +"project": { +"description": "Identifies the project addressed by this request.", +"location": "path", +"required": true, +"type": "string" +}, +"type": { +"description": "RRSet type.", +"location": "path", +"required": true, +"type": "string" +} +}, +"path": "dns/v1/projects/{project}/managedZones/{managedZone}/rrsets/{name}/{type}", +"response": { +"$ref": "ResourceRecordSet" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/cloud-platform.read-only", +"https://www.googleapis.com/auth/ndev.clouddns.readonly", +"https://www.googleapis.com/auth/ndev.clouddns.readwrite" +] +}, +"list": { +"description": "Enumerates ResourceRecordSets that you have created but not yet deleted.", +"flatPath": "dns/v1/projects/{project}/managedZones/{managedZone}/rrsets", +"httpMethod": "GET", +"id": "dns.resourceRecordSets.list", +"parameterOrder": [ +"project", +"managedZone" +], +"parameters": { +"managedZone": { +"description": "Identifies the managed zone addressed by this request. Can be the managed zone name or ID.", +"location": "path", +"required": true, +"type": "string" +}, +"maxResults": { +"description": "Optional. Maximum number of results to be returned. If unspecified, the server decides how many results to return.", +"format": "int32", +"location": "query", +"type": "integer" +}, +"name": { +"description": "Restricts the list to return only records with this fully qualified domain name.", +"location": "query", +"type": "string" +}, +"pageToken": { +"description": "Optional. A tag returned by a previous list request that was truncated. Use this parameter to continue a previous list request.", +"location": "query", +"type": "string" +}, +"project": { +"description": "Identifies the project addressed by this request.", +"location": "path", +"required": true, +"type": "string" +}, +"type": { +"description": "Restricts the list to return only records of this type. If present, the \"name\" parameter must also be present.", +"location": "query", +"type": "string" +} +}, +"path": "dns/v1/projects/{project}/managedZones/{managedZone}/rrsets", +"response": { +"$ref": "ResourceRecordSetsListResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/cloud-platform.read-only", +"https://www.googleapis.com/auth/ndev.clouddns.readonly", +"https://www.googleapis.com/auth/ndev.clouddns.readwrite" +] +}, +"patch": { +"description": "Applies a partial update to an existing ResourceRecordSet.", +"flatPath": "dns/v1/projects/{project}/managedZones/{managedZone}/rrsets/{name}/{type}", +"httpMethod": "PATCH", +"id": "dns.resourceRecordSets.patch", +"parameterOrder": [ +"project", +"managedZone", +"name", +"type" +], +"parameters": { +"clientOperationId": { +"description": "For mutating operation requests only. An optional identifier specified by the client. Must be unique for operation resources in the Operations collection.", +"location": "query", +"type": "string" +}, +"managedZone": { +"description": "Identifies the managed zone addressed by this request. Can be the managed zone name or ID.", +"location": "path", +"required": true, +"type": "string" +}, +"name": { +"description": "Fully qualified domain name.", +"location": "path", +"required": true, +"type": "string" +}, +"project": { +"description": "Identifies the project addressed by this request.", +"location": "path", +"required": true, +"type": "string" +}, +"type": { +"description": "RRSet type.", +"location": "path", +"required": true, +"type": "string" +} +}, +"path": "dns/v1/projects/{project}/managedZones/{managedZone}/rrsets/{name}/{type}", +"request": { +"$ref": "ResourceRecordSet" +}, +"response": { +"$ref": "ResourceRecordSet" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/ndev.clouddns.readwrite" +] +} +} +}, +"responsePolicies": { +"methods": { +"create": { +"description": "Creates a new Response Policy", +"flatPath": "dns/v1/projects/{project}/responsePolicies", +"httpMethod": "POST", +"id": "dns.responsePolicies.create", +"parameterOrder": [ +"project" +], +"parameters": { +"clientOperationId": { +"description": "For mutating operation requests only. An optional identifier specified by the client. Must be unique for operation resources in the Operations collection.", +"location": "query", +"type": "string" +}, +"project": { +"description": "Identifies the project addressed by this request.", +"location": "path", +"required": true, +"type": "string" +} +}, +"path": "dns/v1/projects/{project}/responsePolicies", +"request": { +"$ref": "ResponsePolicy" +}, +"response": { +"$ref": "ResponsePolicy" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/ndev.clouddns.readwrite" +] +}, +"delete": { +"description": "Deletes a previously created Response Policy. Fails if the response policy is non-empty or still being referenced by a network.", +"flatPath": "dns/v1/projects/{project}/responsePolicies/{responsePolicy}", +"httpMethod": "DELETE", +"id": "dns.responsePolicies.delete", +"parameterOrder": [ +"project", +"responsePolicy" +], +"parameters": { +"clientOperationId": { +"description": "For mutating operation requests only. An optional identifier specified by the client. Must be unique for operation resources in the Operations collection.", +"location": "query", +"type": "string" +}, +"project": { +"description": "Identifies the project addressed by this request.", +"location": "path", +"required": true, +"type": "string" +}, +"responsePolicy": { +"description": "User assigned name of the Response Policy addressed by this request.", +"location": "path", +"required": true, +"type": "string" +} +}, +"path": "dns/v1/projects/{project}/responsePolicies/{responsePolicy}", +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/ndev.clouddns.readwrite" +] +}, +"get": { +"description": "Fetches the representation of an existing Response Policy.", +"flatPath": "dns/v1/projects/{project}/responsePolicies/{responsePolicy}", +"httpMethod": "GET", +"id": "dns.responsePolicies.get", +"parameterOrder": [ +"project", +"responsePolicy" +], +"parameters": { +"clientOperationId": { +"description": "For mutating operation requests only. An optional identifier specified by the client. Must be unique for operation resources in the Operations collection.", +"location": "query", +"type": "string" +}, +"project": { +"description": "Identifies the project addressed by this request.", +"location": "path", +"required": true, +"type": "string" +}, +"responsePolicy": { +"description": "User assigned name of the Response Policy addressed by this request.", +"location": "path", +"required": true, +"type": "string" +} +}, +"path": "dns/v1/projects/{project}/responsePolicies/{responsePolicy}", +"response": { +"$ref": "ResponsePolicy" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/cloud-platform.read-only", +"https://www.googleapis.com/auth/ndev.clouddns.readonly", +"https://www.googleapis.com/auth/ndev.clouddns.readwrite" +] +}, +"list": { +"description": "Enumerates all Response Policies associated with a project.", +"flatPath": "dns/v1/projects/{project}/responsePolicies", +"httpMethod": "GET", +"id": "dns.responsePolicies.list", +"parameterOrder": [ +"project" +], +"parameters": { +"maxResults": { +"description": "Optional. Maximum number of results to be returned. If unspecified, the server decides how many results to return.", +"format": "int32", +"location": "query", +"type": "integer" +}, +"pageToken": { +"description": "Optional. A tag returned by a previous list request that was truncated. Use this parameter to continue a previous list request.", +"location": "query", +"type": "string" +}, +"project": { +"description": "Identifies the project addressed by this request.", +"location": "path", +"required": true, +"type": "string" +} +}, +"path": "dns/v1/projects/{project}/responsePolicies", +"response": { +"$ref": "ResponsePoliciesListResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/cloud-platform.read-only", +"https://www.googleapis.com/auth/ndev.clouddns.readonly", +"https://www.googleapis.com/auth/ndev.clouddns.readwrite" +] +}, +"patch": { +"description": "Applies a partial update to an existing Response Policy.", +"flatPath": "dns/v1/projects/{project}/responsePolicies/{responsePolicy}", +"httpMethod": "PATCH", +"id": "dns.responsePolicies.patch", +"parameterOrder": [ +"project", +"responsePolicy" +], +"parameters": { +"clientOperationId": { +"description": "For mutating operation requests only. An optional identifier specified by the client. Must be unique for operation resources in the Operations collection.", +"location": "query", +"type": "string" +}, +"project": { +"description": "Identifies the project addressed by this request.", +"location": "path", +"required": true, +"type": "string" +}, +"responsePolicy": { +"description": "User assigned name of the response policy addressed by this request.", +"location": "path", +"required": true, +"type": "string" +} +}, +"path": "dns/v1/projects/{project}/responsePolicies/{responsePolicy}", +"request": { +"$ref": "ResponsePolicy" +}, +"response": { +"$ref": "ResponsePoliciesPatchResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/ndev.clouddns.readwrite" +] +}, +"update": { +"description": "Updates an existing Response Policy.", +"flatPath": "dns/v1/projects/{project}/responsePolicies/{responsePolicy}", +"httpMethod": "PUT", +"id": "dns.responsePolicies.update", +"parameterOrder": [ +"project", +"responsePolicy" +], +"parameters": { +"clientOperationId": { +"description": "For mutating operation requests only. An optional identifier specified by the client. Must be unique for operation resources in the Operations collection.", +"location": "query", +"type": "string" +}, +"project": { +"description": "Identifies the project addressed by this request.", +"location": "path", +"required": true, +"type": "string" +}, +"responsePolicy": { +"description": "User assigned name of the Response Policy addressed by this request.", +"location": "path", +"required": true, +"type": "string" +} +}, +"path": "dns/v1/projects/{project}/responsePolicies/{responsePolicy}", +"request": { +"$ref": "ResponsePolicy" +}, +"response": { +"$ref": "ResponsePoliciesUpdateResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/ndev.clouddns.readwrite" +] +} +} +}, +"responsePolicyRules": { +"methods": { +"create": { +"description": "Creates a new Response Policy Rule.", +"flatPath": "dns/v1/projects/{project}/responsePolicies/{responsePolicy}/rules", +"httpMethod": "POST", +"id": "dns.responsePolicyRules.create", +"parameterOrder": [ +"project", +"responsePolicy" +], +"parameters": { +"clientOperationId": { +"description": "For mutating operation requests only. An optional identifier specified by the client. Must be unique for operation resources in the Operations collection.", +"location": "query", +"type": "string" +}, +"project": { +"description": "Identifies the project addressed by this request.", +"location": "path", +"required": true, +"type": "string" +}, +"responsePolicy": { +"description": "User assigned name of the Response Policy containing the Response Policy Rule.", +"location": "path", +"required": true, +"type": "string" +} +}, +"path": "dns/v1/projects/{project}/responsePolicies/{responsePolicy}/rules", +"request": { +"$ref": "ResponsePolicyRule" +}, +"response": { +"$ref": "ResponsePolicyRule" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/ndev.clouddns.readwrite" +] +}, +"delete": { +"description": "Deletes a previously created Response Policy Rule.", +"flatPath": "dns/v1/projects/{project}/responsePolicies/{responsePolicy}/rules/{responsePolicyRule}", +"httpMethod": "DELETE", +"id": "dns.responsePolicyRules.delete", +"parameterOrder": [ +"project", +"responsePolicy", +"responsePolicyRule" +], +"parameters": { +"clientOperationId": { +"description": "For mutating operation requests only. An optional identifier specified by the client. Must be unique for operation resources in the Operations collection.", +"location": "query", +"type": "string" +}, +"project": { +"description": "Identifies the project addressed by this request.", +"location": "path", +"required": true, +"type": "string" +}, +"responsePolicy": { +"description": "User assigned name of the Response Policy containing the Response Policy Rule.", +"location": "path", +"required": true, +"type": "string" +}, +"responsePolicyRule": { +"description": "User assigned name of the Response Policy Rule addressed by this request.", +"location": "path", +"required": true, +"type": "string" +} +}, +"path": "dns/v1/projects/{project}/responsePolicies/{responsePolicy}/rules/{responsePolicyRule}", +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/ndev.clouddns.readwrite" +] +}, +"get": { +"description": "Fetches the representation of an existing Response Policy Rule.", +"flatPath": "dns/v1/projects/{project}/responsePolicies/{responsePolicy}/rules/{responsePolicyRule}", +"httpMethod": "GET", +"id": "dns.responsePolicyRules.get", +"parameterOrder": [ +"project", +"responsePolicy", +"responsePolicyRule" +], +"parameters": { +"clientOperationId": { +"description": "For mutating operation requests only. An optional identifier specified by the client. Must be unique for operation resources in the Operations collection.", +"location": "query", +"type": "string" +}, +"project": { +"description": "Identifies the project addressed by this request.", +"location": "path", +"required": true, +"type": "string" +}, +"responsePolicy": { +"description": "User assigned name of the Response Policy containing the Response Policy Rule.", +"location": "path", +"required": true, +"type": "string" +}, +"responsePolicyRule": { +"description": "User assigned name of the Response Policy Rule addressed by this request.", +"location": "path", +"required": true, +"type": "string" +} +}, +"path": "dns/v1/projects/{project}/responsePolicies/{responsePolicy}/rules/{responsePolicyRule}", +"response": { +"$ref": "ResponsePolicyRule" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/cloud-platform.read-only", +"https://www.googleapis.com/auth/ndev.clouddns.readonly", +"https://www.googleapis.com/auth/ndev.clouddns.readwrite" +] +}, +"list": { +"description": "Enumerates all Response Policy Rules associated with a project.", +"flatPath": "dns/v1/projects/{project}/responsePolicies/{responsePolicy}/rules", +"httpMethod": "GET", +"id": "dns.responsePolicyRules.list", +"parameterOrder": [ +"project", +"responsePolicy" +], +"parameters": { +"maxResults": { +"description": "Optional. Maximum number of results to be returned. If unspecified, the server decides how many results to return.", +"format": "int32", +"location": "query", +"type": "integer" +}, +"pageToken": { +"description": "Optional. A tag returned by a previous list request that was truncated. Use this parameter to continue a previous list request.", +"location": "query", +"type": "string" +}, +"project": { +"description": "Identifies the project addressed by this request.", +"location": "path", +"required": true, +"type": "string" +}, +"responsePolicy": { +"description": "User assigned name of the Response Policy to list.", +"location": "path", +"required": true, +"type": "string" +} +}, +"path": "dns/v1/projects/{project}/responsePolicies/{responsePolicy}/rules", +"response": { +"$ref": "ResponsePolicyRulesListResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/cloud-platform.read-only", +"https://www.googleapis.com/auth/ndev.clouddns.readonly", +"https://www.googleapis.com/auth/ndev.clouddns.readwrite" +] +}, +"patch": { +"description": "Applies a partial update to an existing Response Policy Rule.", +"flatPath": "dns/v1/projects/{project}/responsePolicies/{responsePolicy}/rules/{responsePolicyRule}", +"httpMethod": "PATCH", +"id": "dns.responsePolicyRules.patch", +"parameterOrder": [ +"project", +"responsePolicy", +"responsePolicyRule" +], +"parameters": { +"clientOperationId": { +"description": "For mutating operation requests only. An optional identifier specified by the client. Must be unique for operation resources in the Operations collection.", +"location": "query", +"type": "string" +}, +"project": { +"description": "Identifies the project addressed by this request.", +"location": "path", +"required": true, +"type": "string" +}, +"responsePolicy": { +"description": "User assigned name of the Response Policy containing the Response Policy Rule.", +"location": "path", +"required": true, +"type": "string" +}, +"responsePolicyRule": { +"description": "User assigned name of the Response Policy Rule addressed by this request.", +"location": "path", +"required": true, +"type": "string" +} +}, +"path": "dns/v1/projects/{project}/responsePolicies/{responsePolicy}/rules/{responsePolicyRule}", +"request": { +"$ref": "ResponsePolicyRule" +}, +"response": { +"$ref": "ResponsePolicyRulesPatchResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/ndev.clouddns.readwrite" +] +}, +"update": { +"description": "Updates an existing Response Policy Rule.", +"flatPath": "dns/v1/projects/{project}/responsePolicies/{responsePolicy}/rules/{responsePolicyRule}", +"httpMethod": "PUT", +"id": "dns.responsePolicyRules.update", +"parameterOrder": [ +"project", +"responsePolicy", +"responsePolicyRule" +], +"parameters": { +"clientOperationId": { +"description": "For mutating operation requests only. An optional identifier specified by the client. Must be unique for operation resources in the Operations collection.", +"location": "query", +"type": "string" +}, +"project": { +"description": "Identifies the project addressed by this request.", +"location": "path", +"required": true, +"type": "string" +}, +"responsePolicy": { +"description": "User assigned name of the Response Policy containing the Response Policy Rule.", +"location": "path", +"required": true, +"type": "string" +}, +"responsePolicyRule": { +"description": "User assigned name of the Response Policy Rule addressed by this request.", +"location": "path", +"required": true, +"type": "string" +} +}, +"path": "dns/v1/projects/{project}/responsePolicies/{responsePolicy}/rules/{responsePolicyRule}", +"request": { +"$ref": "ResponsePolicyRule" +}, +"response": { +"$ref": "ResponsePolicyRulesUpdateResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/ndev.clouddns.readwrite" +] +} +} +} +}, +"revision": "20250102", +"rootUrl": "https://dns.googleapis.com/", +"schemas": { +"Change": { +"description": "A Change represents a set of `ResourceRecordSet` additions and deletions applied atomically to a ManagedZone. ResourceRecordSets within a ManagedZone are modified by creating a new Change element in the Changes collection. In turn the Changes collection also records the past modifications to the `ResourceRecordSets` in a `ManagedZone`. The current state of the `ManagedZone` is the sum effect of applying all `Change` elements in the `Changes` collection in sequence.", +"id": "Change", +"properties": { +"additions": { +"description": "Which ResourceRecordSets to add?", +"items": { +"$ref": "ResourceRecordSet" +}, +"type": "array" +}, +"deletions": { +"description": "Which ResourceRecordSets to remove? Must match existing data exactly.", +"items": { +"$ref": "ResourceRecordSet" +}, +"type": "array" +}, +"id": { +"description": "Unique identifier for the resource; defined by the server (output only).", +"type": "string" +}, +"isServing": { +"description": "If the DNS queries for the zone will be served.", +"type": "boolean" +}, +"kind": { +"default": "dns#change", +"type": "string" +}, +"startTime": { +"description": "The time that this operation was started by the server (output only). This is in RFC3339 text format.", +"type": "string" +}, +"status": { +"description": "Status of the operation (output only). A status of \"done\" means that the request to update the authoritative servers has been sent, but the servers might not be updated yet.", +"enum": [ +"pending", +"done" +], +"enumDescriptions": [ +"", +"" +], +"type": "string" +} +}, +"type": "object" +}, +"ChangesListResponse": { +"description": "The response to a request to enumerate Changes to a ResourceRecordSets collection.", +"id": "ChangesListResponse", +"properties": { +"changes": { +"description": "The requested changes.", +"items": { +"$ref": "Change" +}, +"type": "array" +}, +"kind": { +"default": "dns#changesListResponse", +"description": "Type of resource.", +"type": "string" +}, +"nextPageToken": { +"description": "This field indicates that more results are available beyond the last page displayed. To fetch the results, make another list request and use this value as your page token. This lets you retrieve the complete contents of a very large collection one page at a time. However, if the contents of the collection change between the first and last paginated list request, the set of all elements returned are an inconsistent view of the collection. You can't retrieve a consistent snapshot of a collection larger than the maximum page size.", +"type": "string" +} +}, +"type": "object" +}, +"DnsKey": { +"description": "A DNSSEC key pair.", +"id": "DnsKey", +"properties": { +"algorithm": { +"description": "String mnemonic specifying the DNSSEC algorithm of this key. Immutable after creation time.", +"enum": [ +"rsasha1", +"rsasha256", +"rsasha512", +"ecdsap256sha256", +"ecdsap384sha384" +], +"enumDescriptions": [ +"", +"", +"", +"", +"" +], +"type": "string" +}, +"creationTime": { +"description": "The time that this resource was created in the control plane. This is in RFC3339 text format. Output only.", +"type": "string" +}, +"description": { +"description": "A mutable string of at most 1024 characters associated with this resource for the user's convenience. Has no effect on the resource's function.", +"type": "string" +}, +"digests": { +"description": "Cryptographic hashes of the DNSKEY resource record associated with this DnsKey. These digests are needed to construct a DS record that points at this DNS key. Output only.", +"items": { +"$ref": "DnsKeyDigest" +}, +"type": "array" +}, +"id": { +"description": "Unique identifier for the resource; defined by the server (output only).", +"type": "string" +}, +"isActive": { +"description": "Active keys are used to sign subsequent changes to the ManagedZone. Inactive keys are still present as DNSKEY Resource Records for the use of resolvers validating existing signatures.", +"type": "boolean" +}, +"keyLength": { +"description": "Length of the key in bits. Specified at creation time, and then immutable.", +"format": "uint32", +"type": "integer" +}, +"keyTag": { +"description": "The key tag is a non-cryptographic hash of the a DNSKEY resource record associated with this DnsKey. The key tag can be used to identify a DNSKEY more quickly (but it is not a unique identifier). In particular, the key tag is used in a parent zone's DS record to point at the DNSKEY in this child ManagedZone. The key tag is a number in the range [0, 65535] and the algorithm to calculate it is specified in RFC4034 Appendix B. Output only.", +"format": "int32", +"type": "integer" +}, +"kind": { +"default": "dns#dnsKey", +"type": "string" +}, +"publicKey": { +"description": "Base64 encoded public half of this key. Output only.", +"type": "string" +}, +"type": { +"description": "One of \"KEY_SIGNING\" or \"ZONE_SIGNING\". Keys of type KEY_SIGNING have the Secure Entry Point flag set and, when active, are used to sign only resource record sets of type DNSKEY. Otherwise, the Secure Entry Point flag is cleared, and this key is used to sign only resource record sets of other types. Immutable after creation time.", +"enum": [ +"keySigning", +"zoneSigning" +], +"enumDescriptions": [ +"", +"" +], +"type": "string" +} +}, +"type": "object" +}, +"DnsKeyDigest": { +"id": "DnsKeyDigest", +"properties": { +"digest": { +"description": "The base-16 encoded bytes of this digest. Suitable for use in a DS resource record.", +"type": "string" +}, +"type": { +"description": "Specifies the algorithm used to calculate this digest.", +"enum": [ +"sha1", +"sha256", +"sha384" +], +"enumDescriptions": [ +"", +"", +"" +], +"type": "string" +} +}, +"type": "object" +}, +"DnsKeySpec": { +"description": "Parameters for DnsKey key generation. Used for generating initial keys for a new ManagedZone and as default when adding a new DnsKey.", +"id": "DnsKeySpec", +"properties": { +"algorithm": { +"description": "String mnemonic specifying the DNSSEC algorithm of this key.", +"enum": [ +"rsasha1", +"rsasha256", +"rsasha512", +"ecdsap256sha256", +"ecdsap384sha384" +], +"enumDescriptions": [ +"", +"", +"", +"", +"" +], +"type": "string" +}, +"keyLength": { +"description": "Length of the keys in bits.", +"format": "uint32", +"type": "integer" +}, +"keyType": { +"description": "Specifies whether this is a key signing key (KSK) or a zone signing key (ZSK). Key signing keys have the Secure Entry Point flag set and, when active, are only used to sign resource record sets of type DNSKEY. Zone signing keys do not have the Secure Entry Point flag set and are used to sign all other types of resource record sets.", +"enum": [ +"keySigning", +"zoneSigning" +], +"enumDescriptions": [ +"", +"" +], +"type": "string" +}, +"kind": { +"default": "dns#dnsKeySpec", +"type": "string" +} +}, +"type": "object" +}, +"DnsKeysListResponse": { +"description": "The response to a request to enumerate DnsKeys in a ManagedZone.", +"id": "DnsKeysListResponse", +"properties": { +"dnsKeys": { +"description": "The requested resources.", +"items": { +"$ref": "DnsKey" +}, +"type": "array" +}, +"kind": { +"default": "dns#dnsKeysListResponse", +"description": "Type of resource.", +"type": "string" +}, +"nextPageToken": { +"description": "This field indicates that more results are available beyond the last page displayed. To fetch the results, make another list request and use this value as your page token. This lets you retrieve the complete contents of a very large collection one page at a time. However, if the contents of the collection change between the first and last paginated list request, the set of all elements returned are an inconsistent view of the collection. You can't retrieve a consistent snapshot of a collection larger than the maximum page size.", +"type": "string" +} +}, +"type": "object" +}, +"Expr": { +"description": "Represents a textual expression in the Common Expression Language (CEL) syntax. CEL is a C-like expression language. The syntax and semantics of CEL are documented at https://github.com/google/cel-spec. Example (Comparison): title: \"Summary size limit\" description: \"Determines if a summary is less than 100 chars\" expression: \"document.summary.size() < 100\" Example (Equality): title: \"Requestor is owner\" description: \"Determines if requestor is the document owner\" expression: \"document.owner == request.auth.claims.email\" Example (Logic): title: \"Public documents\" description: \"Determine whether the document should be publicly visible\" expression: \"document.type != 'private' && document.type != 'internal'\" Example (Data Manipulation): title: \"Notification string\" description: \"Create a notification string with a timestamp.\" expression: \"'New message received at ' + string(document.create_time)\" The exact variables and functions that may be referenced within an expression are determined by the service that evaluates it. See the service documentation for additional information.", +"id": "Expr", +"properties": { +"description": { +"description": "Optional. Description of the expression. This is a longer text which describes the expression, e.g. when hovered over it in a UI.", +"type": "string" +}, +"expression": { +"description": "Textual representation of an expression in Common Expression Language syntax.", +"type": "string" +}, +"location": { +"description": "Optional. String indicating the location of the expression for error reporting, e.g. a file name and a position in the file.", +"type": "string" +}, +"title": { +"description": "Optional. Title for the expression, i.e. a short string describing its purpose. This can be used e.g. in UIs which allow to enter the expression.", +"type": "string" +} +}, +"type": "object" +}, +"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", +"properties": { +"auditLogConfigs": { +"description": "The configuration for logging of each type of permission.", +"items": { +"$ref": "GoogleIamV1AuditLogConfig" +}, +"type": "array" +}, +"service": { +"description": "Specifies a service that will be enabled for audit logging. For example, `storage.googleapis.com`, `cloudsql.googleapis.com`. `allServices` is a special value that covers all services.", +"type": "string" +} +}, +"type": "object" +}, +"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.", +"id": "GoogleIamV1AuditLogConfig", +"properties": { +"exemptedMembers": { +"description": "Specifies the identities that do not cause logging for this type of permission. Follows the same format of Binding.members.", +"items": { +"type": "string" +}, +"type": "array" +}, +"logType": { +"description": "The log type that this config enables.", +"enum": [ +"LOG_TYPE_UNSPECIFIED", +"ADMIN_READ", +"DATA_WRITE", +"DATA_READ" +], +"enumDescriptions": [ +"Default case. Should never be this.", +"Admin reads. Example: CloudIAM getIamPolicy", +"Data writes. Example: CloudSQL Users create", +"Data reads. Example: CloudSQL Users list" +], +"type": "string" +} +}, +"type": "object" +}, +"GoogleIamV1Binding": { +"description": "Associates `members`, or principals, with a `role`.", +"id": "GoogleIamV1Binding", +"properties": { +"condition": { +"$ref": "Expr", +"description": "The condition that is associated with this binding. If the condition evaluates to `true`, then this binding applies to the current request. If the condition evaluates to `false`, then this binding does not apply to the current request. However, a different role binding might grant the same role to one or more of the principals in this binding. To learn which resources support conditions in their IAM policies, see the [IAM documentation](https://cloud.google.com/iam/help/conditions/resource-policies)." +}, +"members": { +"description": "Specifies the principals requesting access for a Google Cloud resource. `members` can have the following values: * `allUsers`: A special identifier that represents anyone who is on the internet; with or without a Google account. * `allAuthenticatedUsers`: A special identifier that represents anyone who is authenticated with a Google account or a service account. Does not include identities that come from external identity providers (IdPs) through identity federation. * `user:{emailid}`: An email address that represents a specific Google account. For example, `alice@example.com` . * `serviceAccount:{emailid}`: An email address that represents a Google service account. For example, `my-other-app@appspot.gserviceaccount.com`. * `serviceAccount:{projectid}.svc.id.goog[{namespace}/{kubernetes-sa}]`: An identifier for a [Kubernetes service account](https://cloud.google.com/kubernetes-engine/docs/how-to/kubernetes-service-accounts). For example, `my-project.svc.id.goog[my-namespace/my-kubernetes-sa]`. * `group:{emailid}`: An email address that represents a Google group. For example, `admins@example.com`. * `domain:{domain}`: The G Suite domain (primary) that represents all the users of that domain. For example, `google.com` or `example.com`. * `principal://iam.googleapis.com/locations/global/workforcePools/{pool_id}/subject/{subject_attribute_value}`: A single identity in a workforce identity pool. * `principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/group/{group_id}`: All workforce identities in a group. * `principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/attribute.{attribute_name}/{attribute_value}`: All workforce identities with a specific attribute value. * `principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/*`: All identities in a workforce identity pool. * `principal://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/subject/{subject_attribute_value}`: A single identity in a workload identity pool. * `principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/group/{group_id}`: A workload identity pool group. * `principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/attribute.{attribute_name}/{attribute_value}`: All identities in a workload identity pool with a certain attribute. * `principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/*`: All identities in a workload identity pool. * `deleted:user:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a user that has been recently deleted. For example, `alice@example.com?uid=123456789012345678901`. If the user is recovered, this value reverts to `user:{emailid}` and the recovered user retains the role in the binding. * `deleted:serviceAccount:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a service account that has been recently deleted. For example, `my-other-app@appspot.gserviceaccount.com?uid=123456789012345678901`. If the service account is undeleted, this value reverts to `serviceAccount:{emailid}` and the undeleted service account retains the role in the binding. * `deleted:group:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a Google group that has been recently deleted. For example, `admins@example.com?uid=123456789012345678901`. If the group is recovered, this value reverts to `group:{emailid}` and the recovered group retains the role in the binding. * `deleted:principal://iam.googleapis.com/locations/global/workforcePools/{pool_id}/subject/{subject_attribute_value}`: Deleted single identity in a workforce identity pool. For example, `deleted:principal://iam.googleapis.com/locations/global/workforcePools/my-pool-id/subject/my-subject-attribute-value`.", +"items": { +"type": "string" +}, +"type": "array" +}, +"role": { +"description": "Role that is assigned to the list of `members`, or principals. For example, `roles/viewer`, `roles/editor`, or `roles/owner`. For an overview of the IAM roles and permissions, see the [IAM documentation](https://cloud.google.com/iam/docs/roles-overview). For a list of the available pre-defined roles, see [here](https://cloud.google.com/iam/docs/understanding-roles).", +"type": "string" +} +}, +"type": "object" +}, +"GoogleIamV1GetIamPolicyRequest": { +"description": "Request message for `GetIamPolicy` method.", +"id": "GoogleIamV1GetIamPolicyRequest", +"properties": { +"options": { +"$ref": "GoogleIamV1GetPolicyOptions", +"description": "OPTIONAL: A `GetPolicyOptions` object for specifying options to `GetIamPolicy`." +} +}, +"type": "object" +}, +"GoogleIamV1GetPolicyOptions": { +"description": "Encapsulates settings provided to GetIamPolicy.", +"id": "GoogleIamV1GetPolicyOptions", +"properties": { +"requestedPolicyVersion": { +"description": "Optional. The maximum policy version that will be used to format the policy. Valid values are 0, 1, and 3. Requests specifying an invalid value will be rejected. Requests for policies with any conditional role bindings must specify version 3. Policies with no conditional role bindings may specify any valid value or leave the field unset. The policy in the response might use the policy version that you specified, or it might use a lower policy version. For example, if you specify version 3, but the policy has no conditional role bindings, the response uses version 1. To learn which resources support conditions in their IAM policies, see the [IAM documentation](https://cloud.google.com/iam/help/conditions/resource-policies).", +"format": "int32", +"type": "integer" +} +}, +"type": "object" +}, +"GoogleIamV1Policy": { +"description": "An Identity and Access Management (IAM) policy, which specifies access controls for Google Cloud resources. A `Policy` is a collection of `bindings`. A `binding` binds one or more `members`, or principals, to a single `role`. Principals can be user accounts, service accounts, Google groups, and domains (such as G Suite). A `role` is a named list of permissions; each `role` can be an IAM predefined role or a user-created custom role. For some types of Google Cloud resources, a `binding` can also specify a `condition`, which is a logical expression that allows access to a resource only if the expression evaluates to `true`. A condition can add constraints based on attributes of the request, the resource, or both. To learn which resources support conditions in their IAM policies, see the [IAM documentation](https://cloud.google.com/iam/help/conditions/resource-policies). **JSON example:** ``` { \"bindings\": [ { \"role\": \"roles/resourcemanager.organizationAdmin\", \"members\": [ \"user:mike@example.com\", \"group:admins@example.com\", \"domain:google.com\", \"serviceAccount:my-project-id@appspot.gserviceaccount.com\" ] }, { \"role\": \"roles/resourcemanager.organizationViewer\", \"members\": [ \"user:eve@example.com\" ], \"condition\": { \"title\": \"expirable access\", \"description\": \"Does not grant access after Sep 2020\", \"expression\": \"request.time < timestamp('2020-10-01T00:00:00.000Z')\", } } ], \"etag\": \"BwWWja0YfJA=\", \"version\": 3 } ``` **YAML example:** ``` bindings: - members: - user:mike@example.com - group:admins@example.com - domain:google.com - serviceAccount:my-project-id@appspot.gserviceaccount.com role: roles/resourcemanager.organizationAdmin - members: - user:eve@example.com role: roles/resourcemanager.organizationViewer condition: title: expirable access description: Does not grant access after Sep 2020 expression: request.time < timestamp('2020-10-01T00:00:00.000Z') etag: BwWWja0YfJA= version: 3 ``` For a description of IAM and its features, see the [IAM documentation](https://cloud.google.com/iam/docs/).", +"id": "GoogleIamV1Policy", +"properties": { +"auditConfigs": { +"description": "Specifies cloud audit logging configuration for this policy.", +"items": { +"$ref": "GoogleIamV1AuditConfig" +}, +"type": "array" +}, +"bindings": { +"description": "Associates a list of `members`, or principals, with a `role`. Optionally, may specify a `condition` that determines how and when the `bindings` are applied. Each of the `bindings` must contain at least one principal. The `bindings` in a `Policy` can refer to up to 1,500 principals; up to 250 of these principals can be Google groups. Each occurrence of a principal counts towards these limits. For example, if the `bindings` grant 50 different roles to `user:alice@example.com`, and not to any other principal, then you can add another 1,450 principals to the `bindings` in the `Policy`.", +"items": { +"$ref": "GoogleIamV1Binding" +}, +"type": "array" +}, +"etag": { +"description": "`etag` is used for optimistic concurrency control as a way to help prevent simultaneous updates of a policy from overwriting each other. It is strongly suggested that systems make use of the `etag` in the read-modify-write cycle to perform policy updates in order to avoid race conditions: An `etag` is returned in the response to `getIamPolicy`, and systems are expected to put that etag in the request to `setIamPolicy` to ensure that their change will be applied to the same version of the policy. **Important:** If you use IAM Conditions, you must include the `etag` field whenever you call `setIamPolicy`. If you omit this field, then IAM allows you to overwrite a version `3` policy with a version `1` policy, and all of the conditions in the version `3` policy are lost.", +"format": "byte", +"type": "string" +}, +"version": { +"description": "Specifies the format of the policy. Valid values are `0`, `1`, and `3`. Requests that specify an invalid value are rejected. Any operation that affects conditional role bindings must specify version `3`. This requirement applies to the following operations: * Getting a policy that includes a conditional role binding * Adding a conditional role binding to a policy * Changing a conditional role binding in a policy * Removing any role binding, with or without a condition, from a policy that includes conditions **Important:** If you use IAM Conditions, you must include the `etag` field whenever you call `setIamPolicy`. If you omit this field, then IAM allows you to overwrite a version `3` policy with a version `1` policy, and all of the conditions in the version `3` policy are lost. If a policy does not include any conditions, operations on that policy may specify any valid version or leave the field unset. To learn which resources support conditions in their IAM policies, see the [IAM documentation](https://cloud.google.com/iam/help/conditions/resource-policies).", +"format": "int32", +"type": "integer" +} +}, +"type": "object" +}, +"GoogleIamV1SetIamPolicyRequest": { +"description": "Request message for `SetIamPolicy` method.", +"id": "GoogleIamV1SetIamPolicyRequest", +"properties": { +"policy": { +"$ref": "GoogleIamV1Policy", +"description": "REQUIRED: The complete policy to be applied to the `resource`. The size of the policy is limited to a few 10s of KB. An empty policy is a valid policy but certain Google Cloud services (such as Projects) might reject them." +}, +"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" +} +}, +"type": "object" +}, +"GoogleIamV1TestIamPermissionsRequest": { +"description": "Request message for `TestIamPermissions` method.", +"id": "GoogleIamV1TestIamPermissionsRequest", +"properties": { +"permissions": { +"description": "The set of permissions to check for the `resource`. Permissions with wildcards (such as `*` or `storage.*`) are not allowed. For more information see [IAM Overview](https://cloud.google.com/iam/docs/overview#permissions).", +"items": { +"type": "string" +}, +"type": "array" +} +}, +"type": "object" +}, +"GoogleIamV1TestIamPermissionsResponse": { +"description": "Response message for `TestIamPermissions` method.", +"id": "GoogleIamV1TestIamPermissionsResponse", +"properties": { +"permissions": { +"description": "A subset of `TestPermissionsRequest.permissions` that the caller is allowed.", +"items": { +"type": "string" +}, +"type": "array" +} +}, +"type": "object" +}, +"ManagedZone": { +"description": "A zone is a subtree of the DNS namespace under one administrative responsibility. A ManagedZone is a resource that represents a DNS zone hosted by the Cloud DNS service.", +"id": "ManagedZone", +"properties": { +"cloudLoggingConfig": { +"$ref": "ManagedZoneCloudLoggingConfig" +}, +"creationTime": { +"description": "The time that this resource was created on the server. This is in RFC3339 text format. Output only.", +"type": "string" +}, +"description": { +"description": "A mutable string of at most 1024 characters associated with this resource for the user's convenience. Has no effect on the managed zone's function.", +"type": "string" +}, +"dnsName": { +"description": "The DNS name of this managed zone, for instance \"example.com.\".", +"type": "string" +}, +"dnssecConfig": { +"$ref": "ManagedZoneDnsSecConfig", +"description": "DNSSEC configuration." +}, +"forwardingConfig": { +"$ref": "ManagedZoneForwardingConfig", +"description": "The presence for this field indicates that outbound forwarding is enabled for this zone. The value of this field contains the set of destinations to forward to." +}, +"id": { +"description": "Unique identifier for the resource; defined by the server (output only)", +"format": "uint64", +"type": "string" +}, +"kind": { +"default": "dns#managedZone", +"type": "string" +}, +"labels": { +"additionalProperties": { +"type": "string" +}, +"description": "User labels.", +"type": "object" +}, +"name": { +"description": "User assigned name for this resource. Must be unique within the project. The name must be 1-63 characters long, must begin with a letter, end with a letter or digit, and only contain lowercase letters, digits or dashes.", +"type": "string" +}, +"nameServerSet": { +"description": "Optionally specifies the NameServerSet for this ManagedZone. A NameServerSet is a set of DNS name servers that all host the same ManagedZones. Most users leave this field unset. If you need to use this field, contact your account team.", +"type": "string" +}, +"nameServers": { +"description": "Delegate your managed_zone to these virtual name servers; defined by the server (output only)", +"items": { +"type": "string" +}, +"type": "array" +}, +"peeringConfig": { +"$ref": "ManagedZonePeeringConfig", +"description": "The presence of this field indicates that DNS Peering is enabled for this zone. The value of this field contains the network to peer with." +}, +"privateVisibilityConfig": { +"$ref": "ManagedZonePrivateVisibilityConfig", +"description": "For privately visible zones, the set of Virtual Private Cloud resources that the zone is visible from." +}, +"reverseLookupConfig": { +"$ref": "ManagedZoneReverseLookupConfig", +"description": "The presence of this field indicates that this is a managed reverse lookup zone and Cloud DNS resolves reverse lookup queries using automatically configured records for VPC resources. This only applies to networks listed under private_visibility_config." +}, +"serviceDirectoryConfig": { +"$ref": "ManagedZoneServiceDirectoryConfig", +"description": "This field links to the associated service directory namespace. Do not set this field for public zones or forwarding zones." +}, +"visibility": { +"description": "The zone's visibility: public zones are exposed to the Internet, while private zones are visible only to Virtual Private Cloud resources.", +"enum": [ +"public", +"private" +], +"enumDescriptions": [ +"Indicates that records in this zone can be queried from the public internet.", +"Indicates that records in this zone cannot be queried from the public internet. Access to private zones depends on the zone configuration." +], +"type": "string" +} +}, +"type": "object" +}, +"ManagedZoneCloudLoggingConfig": { +"description": "Cloud Logging configurations for publicly visible zones.", +"id": "ManagedZoneCloudLoggingConfig", +"properties": { +"enableLogging": { +"description": "If set, enable query logging for this ManagedZone. False by default, making logging opt-in.", +"type": "boolean" +}, +"kind": { +"default": "dns#managedZoneCloudLoggingConfig", +"type": "string" +} +}, +"type": "object" +}, +"ManagedZoneDnsSecConfig": { +"id": "ManagedZoneDnsSecConfig", +"properties": { +"defaultKeySpecs": { +"description": "Specifies parameters for generating initial DnsKeys for this ManagedZone. Can only be changed while the state is OFF.", +"items": { +"$ref": "DnsKeySpec" +}, +"type": "array" +}, +"kind": { +"default": "dns#managedZoneDnsSecConfig", +"type": "string" +}, +"nonExistence": { +"description": "Specifies the mechanism for authenticated denial-of-existence responses. Can only be changed while the state is OFF.", +"enum": [ +"nsec", +"nsec3" +], +"enumDescriptions": [ +"Indicates that Cloud DNS will sign records in the managed zone according to RFC 4034 and respond with NSEC records for names that do not exist.", +"Indicates that Cloud DNS will sign records in the managed zone according to RFC 5155 and respond with NSEC3 records for names that do not exist." +], +"type": "string" +}, +"state": { +"description": "Specifies whether DNSSEC is enabled, and what mode it is in.", +"enum": [ +"off", +"on", +"transfer" +], +"enumDescriptions": [ +"DNSSEC is disabled; the zone is not signed.", +"DNSSEC is enabled; the zone is signed and fully managed.", +"DNSSEC is enabled, but in a \"transfer\" mode." +], +"type": "string" +} +}, +"type": "object" +}, +"ManagedZoneForwardingConfig": { +"id": "ManagedZoneForwardingConfig", +"properties": { +"kind": { +"default": "dns#managedZoneForwardingConfig", +"type": "string" +}, +"targetNameServers": { +"description": "List of target name servers to forward to. Cloud DNS selects the best available name server if more than one target is given.", +"items": { +"$ref": "ManagedZoneForwardingConfigNameServerTarget" +}, +"type": "array" +} +}, +"type": "object" +}, +"ManagedZoneForwardingConfigNameServerTarget": { +"id": "ManagedZoneForwardingConfigNameServerTarget", +"properties": { +"forwardingPath": { +"description": "Forwarding path for this NameServerTarget. If unset or set to DEFAULT, Cloud DNS makes forwarding decisions based on IP address ranges; that is, RFC1918 addresses go to the VPC network, non-RFC1918 addresses go to the internet. When set to PRIVATE, Cloud DNS always sends queries through the VPC network for this target.", +"enum": [ +"default", +"private" +], +"enumDescriptions": [ +"Cloud DNS makes forwarding decisions based on address ranges; that is, RFC1918 addresses forward to the target through the VPC and non-RFC1918 addresses forward to the target through the internet", +"Cloud DNS always forwards to this target through the VPC." +], +"type": "string" +}, +"ipv4Address": { +"description": "IPv4 address of a target name server.", +"type": "string" +}, +"ipv6Address": { +"description": "IPv6 address of a target name server. Does not accept both fields (ipv4 & ipv6) being populated. Public preview as of November 2022.", +"type": "string" +}, +"kind": { +"default": "dns#managedZoneForwardingConfigNameServerTarget", +"type": "string" +} +}, +"type": "object" +}, +"ManagedZoneOperationsListResponse": { +"id": "ManagedZoneOperationsListResponse", +"properties": { +"kind": { +"default": "dns#managedZoneOperationsListResponse", +"description": "Type of resource.", +"type": "string" +}, +"nextPageToken": { +"description": "This field indicates that more results are available beyond the last page displayed. To fetch the results, make another list request and use this value as your page token. This lets you retrieve the complete contents of a very large collection one page at a time. However, if the contents of the collection change between the first and last paginated list request, the set of all elements returned are an inconsistent view of the collection. You can't retrieve a consistent snapshot of a collection larger than the maximum page size.", +"type": "string" +}, +"operations": { +"description": "The operation resources.", +"items": { +"$ref": "Operation" +}, +"type": "array" +} +}, +"type": "object" +}, +"ManagedZonePeeringConfig": { +"id": "ManagedZonePeeringConfig", +"properties": { +"kind": { +"default": "dns#managedZonePeeringConfig", +"type": "string" +}, +"targetNetwork": { +"$ref": "ManagedZonePeeringConfigTargetNetwork", +"description": "The network with which to peer." +} +}, +"type": "object" +}, +"ManagedZonePeeringConfigTargetNetwork": { +"id": "ManagedZonePeeringConfigTargetNetwork", +"properties": { +"deactivateTime": { +"description": "The time at which the zone was deactivated, in RFC 3339 date-time format. An empty string indicates that the peering connection is active. The producer network can deactivate a zone. The zone is automatically deactivated if the producer network that the zone targeted is deleted. Output only.", +"type": "string" +}, +"kind": { +"default": "dns#managedZonePeeringConfigTargetNetwork", +"type": "string" +}, +"networkUrl": { +"description": "The fully qualified URL of the VPC network to forward queries to. This should be formatted like `https://www.googleapis.com/compute/v1/projects/{project}/global/networks/{network}`", +"type": "string" +} +}, +"type": "object" +}, +"ManagedZonePrivateVisibilityConfig": { +"id": "ManagedZonePrivateVisibilityConfig", +"properties": { +"gkeClusters": { +"description": "The list of Google Kubernetes Engine clusters that can see this zone.", +"items": { +"$ref": "ManagedZonePrivateVisibilityConfigGKECluster" +}, +"type": "array" +}, +"kind": { +"default": "dns#managedZonePrivateVisibilityConfig", +"type": "string" +}, +"networks": { +"description": "The list of VPC networks that can see this zone.", +"items": { +"$ref": "ManagedZonePrivateVisibilityConfigNetwork" +}, +"type": "array" +} +}, +"type": "object" +}, +"ManagedZonePrivateVisibilityConfigGKECluster": { +"id": "ManagedZonePrivateVisibilityConfigGKECluster", +"properties": { +"gkeClusterName": { +"description": "The resource name of the cluster to bind this ManagedZone to. This should be specified in the format like: projects/*/locations/*/clusters/*. This is referenced from GKE projects.locations.clusters.get API: https://cloud.google.com/kubernetes-engine/docs/reference/rest/v1/projects.locations.clusters/get", +"type": "string" +}, +"kind": { +"default": "dns#managedZonePrivateVisibilityConfigGKECluster", +"type": "string" +} +}, +"type": "object" +}, +"ManagedZonePrivateVisibilityConfigNetwork": { +"id": "ManagedZonePrivateVisibilityConfigNetwork", +"properties": { +"kind": { +"default": "dns#managedZonePrivateVisibilityConfigNetwork", +"type": "string" +}, +"networkUrl": { +"description": "The fully qualified URL of the VPC network to bind to. Format this URL like `https://www.googleapis.com/compute/v1/projects/{project}/global/networks/{network}`", +"type": "string" +} +}, +"type": "object" +}, +"ManagedZoneReverseLookupConfig": { +"id": "ManagedZoneReverseLookupConfig", +"properties": { +"kind": { +"default": "dns#managedZoneReverseLookupConfig", +"type": "string" +} +}, +"type": "object" +}, +"ManagedZoneServiceDirectoryConfig": { +"description": "Contains information about Service Directory-backed zones.", +"id": "ManagedZoneServiceDirectoryConfig", +"properties": { +"kind": { +"default": "dns#managedZoneServiceDirectoryConfig", +"type": "string" +}, +"namespace": { +"$ref": "ManagedZoneServiceDirectoryConfigNamespace", +"description": "Contains information about the namespace associated with the zone." +} +}, +"type": "object" +}, +"ManagedZoneServiceDirectoryConfigNamespace": { +"id": "ManagedZoneServiceDirectoryConfigNamespace", +"properties": { +"deletionTime": { +"description": "The time that the namespace backing this zone was deleted; an empty string if it still exists. This is in RFC3339 text format. Output only.", +"type": "string" +}, +"kind": { +"default": "dns#managedZoneServiceDirectoryConfigNamespace", +"type": "string" +}, +"namespaceUrl": { +"description": "The fully qualified URL of the namespace associated with the zone. Format must be `https://servicedirectory.googleapis.com/v1/projects/{project}/locations/{location}/namespaces/{namespace}`", +"type": "string" +} +}, +"type": "object" +}, +"ManagedZonesListResponse": { +"id": "ManagedZonesListResponse", +"properties": { +"kind": { +"default": "dns#managedZonesListResponse", +"description": "Type of resource.", +"type": "string" +}, +"managedZones": { +"description": "The managed zone resources.", +"items": { +"$ref": "ManagedZone" +}, +"type": "array" +}, +"nextPageToken": { +"description": "This field indicates that more results are available beyond the last page displayed. To fetch the results, make another list request and use this value as your page token. This lets you retrieve the complete contents of a very large collection one page at a time. However, if the contents of the collection change between the first and last paginated list request, the set of all elements returned are an inconsistent view of the collection. You can't retrieve a consistent snapshot of a collection larger than the maximum page size.", +"type": "string" +} +}, +"type": "object" +}, +"Operation": { +"description": "An operation represents a successful mutation performed on a Cloud DNS resource. Operations provide: - An audit log of server resource mutations. - A way to recover/retry API calls in the case where the response is never received by the caller. Use the caller specified client_operation_id.", +"id": "Operation", +"properties": { +"dnsKeyContext": { +"$ref": "OperationDnsKeyContext", +"description": "Only populated if the operation targeted a DnsKey (output only)." +}, +"id": { +"description": "Unique identifier for the resource. This is the client_operation_id if the client specified it when the mutation was initiated, otherwise, it is generated by the server. The name must be 1-63 characters long and match the regular expression [-a-z0-9]? (output only)", +"type": "string" +}, +"kind": { +"default": "dns#operation", +"type": "string" +}, +"startTime": { +"description": "The time that this operation was started by the server. This is in RFC3339 text format (output only).", +"type": "string" +}, +"status": { +"description": "Status of the operation. Can be one of the following: \"PENDING\" or \"DONE\" (output only). A status of \"DONE\" means that the request to update the authoritative servers has been sent, but the servers might not be updated yet.", +"enum": [ +"pending", +"done" +], +"enumDescriptions": [ +"", +"" +], +"type": "string" +}, +"type": { +"description": "Type of the operation. Operations include insert, update, and delete (output only).", +"type": "string" +}, +"user": { +"description": "User who requested the operation, for example: user@example.com. cloud-dns-system for operations automatically done by the system. (output only)", +"type": "string" +}, +"zoneContext": { +"$ref": "OperationManagedZoneContext", +"description": "Only populated if the operation targeted a ManagedZone (output only)." +} +}, +"type": "object" +}, +"OperationDnsKeyContext": { +"id": "OperationDnsKeyContext", +"properties": { +"newValue": { +"$ref": "DnsKey", +"description": "The post-operation DnsKey resource." +}, +"oldValue": { +"$ref": "DnsKey", +"description": "The pre-operation DnsKey resource." +} +}, +"type": "object" +}, +"OperationManagedZoneContext": { +"id": "OperationManagedZoneContext", +"properties": { +"newValue": { +"$ref": "ManagedZone", +"description": "The post-operation ManagedZone resource." +}, +"oldValue": { +"$ref": "ManagedZone", +"description": "The pre-operation ManagedZone resource." +} +}, +"type": "object" +}, +"PoliciesListResponse": { +"id": "PoliciesListResponse", +"properties": { +"kind": { +"default": "dns#policiesListResponse", +"description": "Type of resource.", +"type": "string" +}, +"nextPageToken": { +"description": "This field indicates that more results are available beyond the last page displayed. To fetch the results, make another list request and use this value as your page token. This lets you retrieve the complete contents of a very large collection one page at a time. However, if the contents of the collection change between the first and last paginated list request, the set of all elements returned are an inconsistent view of the collection. You can't retrieve a consistent snapshot of a collection larger than the maximum page size.", +"type": "string" +}, +"policies": { +"description": "The policy resources.", +"items": { +"$ref": "Policy" +}, +"type": "array" +} +}, +"type": "object" +}, +"PoliciesPatchResponse": { +"id": "PoliciesPatchResponse", +"properties": { +"policy": { +"$ref": "Policy" +} +}, +"type": "object" +}, +"PoliciesUpdateResponse": { +"id": "PoliciesUpdateResponse", +"properties": { +"policy": { +"$ref": "Policy" +} +}, +"type": "object" +}, +"Policy": { +"description": "A policy is a collection of DNS rules applied to one or more Virtual Private Cloud resources.", +"id": "Policy", +"properties": { +"alternativeNameServerConfig": { +"$ref": "PolicyAlternativeNameServerConfig", +"description": "Sets an alternative name server for the associated networks. When specified, all DNS queries are forwarded to a name server that you choose. Names such as .internal are not available when an alternative name server is specified." +}, +"description": { +"description": "A mutable string of at most 1024 characters associated with this resource for the user's convenience. Has no effect on the policy's function.", +"type": "string" +}, +"dns64Config": { +"$ref": "PolicyDns64Config", +"description": "Configurations related to DNS64 for this Policy." +}, +"enableInboundForwarding": { +"description": "Allows networks bound to this policy to receive DNS queries sent by VMs or applications over VPN connections. When enabled, a virtual IP address is allocated from each of the subnetworks that are bound to this policy.", +"type": "boolean" +}, +"enableLogging": { +"description": "Controls whether logging is enabled for the networks bound to this policy. Defaults to no logging if not set.", +"type": "boolean" +}, +"id": { +"description": "Unique identifier for the resource; defined by the server (output only).", +"format": "uint64", +"type": "string" +}, +"kind": { +"default": "dns#policy", +"type": "string" +}, +"name": { +"description": "User-assigned name for this policy.", +"type": "string" +}, +"networks": { +"description": "List of network names specifying networks to which this policy is applied.", +"items": { +"$ref": "PolicyNetwork" +}, +"type": "array" +} +}, +"type": "object" +}, +"PolicyAlternativeNameServerConfig": { +"id": "PolicyAlternativeNameServerConfig", +"properties": { +"kind": { +"default": "dns#policyAlternativeNameServerConfig", +"type": "string" +}, +"targetNameServers": { +"description": "Sets an alternative name server for the associated networks. When specified, all DNS queries are forwarded to a name server that you choose. Names such as .internal are not available when an alternative name server is specified.", +"items": { +"$ref": "PolicyAlternativeNameServerConfigTargetNameServer" +}, +"type": "array" +} +}, +"type": "object" +}, +"PolicyAlternativeNameServerConfigTargetNameServer": { +"id": "PolicyAlternativeNameServerConfigTargetNameServer", +"properties": { +"forwardingPath": { +"description": "Forwarding path for this TargetNameServer. If unset or set to DEFAULT, Cloud DNS makes forwarding decisions based on address ranges; that is, RFC1918 addresses go to the VPC network, non-RFC1918 addresses go to the internet. When set to PRIVATE, Cloud DNS always sends queries through the VPC network for this target.", +"enum": [ +"default", +"private" +], +"enumDescriptions": [ +"Cloud DNS makes forwarding decision based on IP address ranges; that is, RFC1918 addresses forward to the target through the VPC and non-RFC1918 addresses forward to the target through the internet", +"Cloud DNS always forwards to this target through the VPC." +], +"type": "string" +}, +"ipv4Address": { +"description": "IPv4 address to forward queries to.", +"type": "string" +}, +"ipv6Address": { +"description": "IPv6 address to forward to. Does not accept both fields (ipv4 & ipv6) being populated. Public preview as of November 2022.", +"type": "string" +}, +"kind": { +"default": "dns#policyAlternativeNameServerConfigTargetNameServer", +"type": "string" +} +}, +"type": "object" +}, +"PolicyDns64Config": { +"description": "DNS64 policies", +"id": "PolicyDns64Config", +"properties": { +"kind": { +"default": "dns#policyDns64Config", +"type": "string" +}, +"scope": { +"$ref": "PolicyDns64ConfigScope", +"description": "The scope to which DNS64 config will be applied to." +} +}, +"type": "object" +}, +"PolicyDns64ConfigScope": { +"id": "PolicyDns64ConfigScope", +"properties": { +"allQueries": { +"description": "Controls whether DNS64 is enabled globally at the network level.", +"type": "boolean" +}, +"kind": { +"default": "dns#policyDns64ConfigScope", +"type": "string" +} +}, +"type": "object" +}, +"PolicyNetwork": { +"id": "PolicyNetwork", +"properties": { +"kind": { +"default": "dns#policyNetwork", +"type": "string" +}, +"networkUrl": { +"description": "The fully qualified URL of the VPC network to bind to. This should be formatted like https://www.googleapis.com/compute/v1/projects/{project}/global/networks/{network}", +"type": "string" +} +}, +"type": "object" +}, +"Project": { +"description": "A project resource. The project is a top level container for resources including Cloud DNS ManagedZones. Projects can be created only in the APIs console.", +"id": "Project", +"properties": { +"id": { +"description": "User assigned unique identifier for the resource (output only).", +"type": "string" +}, +"kind": { +"default": "dns#project", +"type": "string" +}, +"number": { +"description": "Unique numeric identifier for the resource; defined by the server (output only).", +"format": "uint64", +"type": "string" +}, +"quota": { +"$ref": "Quota", +"description": "Quotas assigned to this project (output only)." +} +}, +"type": "object" +}, +"Quota": { +"description": "Limits associated with a Project.", +"id": "Quota", +"properties": { +"dnsKeysPerManagedZone": { +"description": "Maximum allowed number of DnsKeys per ManagedZone.", +"format": "int32", +"type": "integer" +}, +"gkeClustersPerManagedZone": { +"description": "Maximum allowed number of GKE clusters to which a privately scoped zone can be attached.", +"format": "int32", +"type": "integer" +}, +"gkeClustersPerPolicy": { +"description": "Maximum allowed number of GKE clusters per policy.", +"format": "int32", +"type": "integer" +}, +"gkeClustersPerResponsePolicy": { +"description": "Maximum allowed number of GKE clusters per response policy.", +"format": "int32", +"type": "integer" +}, +"internetHealthChecksPerManagedZone": { +"format": "int32", +"type": "integer" +}, +"itemsPerRoutingPolicy": { +"description": "Maximum allowed number of items per routing policy.", +"format": "int32", +"type": "integer" +}, +"kind": { +"default": "dns#quota", +"type": "string" +}, +"managedZones": { +"description": "Maximum allowed number of managed zones in the project.", +"format": "int32", +"type": "integer" +}, +"managedZonesPerGkeCluster": { +"description": "Maximum allowed number of managed zones which can be attached to a GKE cluster.", +"format": "int32", +"type": "integer" +}, +"managedZonesPerNetwork": { +"description": "Maximum allowed number of managed zones which can be attached to a network.", +"format": "int32", +"type": "integer" +}, +"nameserversPerDelegation": { +"description": "Maximum number of nameservers per delegation, meant to prevent abuse", +"format": "int32", +"type": "integer" +}, +"networksPerManagedZone": { +"description": "Maximum allowed number of networks to which a privately scoped zone can be attached.", +"format": "int32", +"type": "integer" +}, +"networksPerPolicy": { +"description": "Maximum allowed number of networks per policy.", +"format": "int32", +"type": "integer" +}, +"networksPerResponsePolicy": { +"description": "Maximum allowed number of networks per response policy.", +"format": "int32", +"type": "integer" +}, +"peeringZonesPerTargetNetwork": { +"description": "Maximum allowed number of consumer peering zones per target network owned by this producer project", +"format": "int32", +"type": "integer" +}, +"policies": { +"description": "Maximum allowed number of policies per project.", +"format": "int32", +"type": "integer" +}, +"resourceRecordsPerRrset": { +"description": "Maximum allowed number of ResourceRecords per ResourceRecordSet.", +"format": "int32", +"type": "integer" +}, +"responsePolicies": { +"description": "Maximum allowed number of response policies per project.", +"format": "int32", +"type": "integer" +}, +"responsePolicyRulesPerResponsePolicy": { +"description": "Maximum allowed number of rules per response policy.", +"format": "int32", +"type": "integer" +}, +"rrsetAdditionsPerChange": { +"description": "Maximum allowed number of ResourceRecordSets to add per ChangesCreateRequest.", +"format": "int32", +"type": "integer" +}, +"rrsetDeletionsPerChange": { +"description": "Maximum allowed number of ResourceRecordSets to delete per ChangesCreateRequest.", +"format": "int32", +"type": "integer" +}, +"rrsetsPerManagedZone": { +"description": "Maximum allowed number of ResourceRecordSets per zone in the project.", +"format": "int32", +"type": "integer" +}, +"targetNameServersPerManagedZone": { +"description": "Maximum allowed number of target name servers per managed forwarding zone.", +"format": "int32", +"type": "integer" +}, +"targetNameServersPerPolicy": { +"description": "Maximum allowed number of alternative target name servers per policy.", +"format": "int32", +"type": "integer" +}, +"totalRrdataSizePerChange": { +"description": "Maximum allowed size for total rrdata in one ChangesCreateRequest in bytes.", +"format": "int32", +"type": "integer" +}, +"whitelistedKeySpecs": { +"description": "DNSSEC algorithm and key length types that can be used for DnsKeys.", +"items": { +"$ref": "DnsKeySpec" +}, +"type": "array" +} +}, +"type": "object" +}, +"RRSetRoutingPolicy": { +"description": "A RRSetRoutingPolicy represents ResourceRecordSet data that is returned dynamically with the response varying based on configured properties such as geolocation or by weighted random selection.", +"id": "RRSetRoutingPolicy", +"properties": { +"geo": { +"$ref": "RRSetRoutingPolicyGeoPolicy" +}, +"healthCheck": { +"description": "The selfLink attribute of the HealthCheck resource to use for this RRSetRoutingPolicy. https://cloud.google.com/compute/docs/reference/rest/v1/healthChecks", +"type": "string" +}, +"kind": { +"default": "dns#rRSetRoutingPolicy", +"type": "string" +}, +"primaryBackup": { +"$ref": "RRSetRoutingPolicyPrimaryBackupPolicy" +}, +"wrr": { +"$ref": "RRSetRoutingPolicyWrrPolicy" +} +}, +"type": "object" +}, +"RRSetRoutingPolicyGeoPolicy": { +"description": "Configures a `RRSetRoutingPolicy` that routes based on the geo location of the querying user.", +"id": "RRSetRoutingPolicyGeoPolicy", +"properties": { +"enableFencing": { +"description": "Without fencing, if health check fails for all configured items in the current geo bucket, we failover to the next nearest geo bucket. With fencing, if health checking is enabled, as long as some targets in the current geo bucket are healthy, we return only the healthy targets. However, if all targets are unhealthy, we don't failover to the next nearest bucket; instead, we return all the items in the current bucket even when all targets are unhealthy.", +"type": "boolean" +}, +"items": { +"description": "The primary geo routing configuration. If there are multiple items with the same location, an error is returned instead.", +"items": { +"$ref": "RRSetRoutingPolicyGeoPolicyGeoPolicyItem" +}, +"type": "array" +}, +"kind": { +"default": "dns#rRSetRoutingPolicyGeoPolicy", +"type": "string" +} +}, +"type": "object" +}, +"RRSetRoutingPolicyGeoPolicyGeoPolicyItem": { +"description": "ResourceRecordSet data for one geo location.", +"id": "RRSetRoutingPolicyGeoPolicyGeoPolicyItem", +"properties": { +"healthCheckedTargets": { +"$ref": "RRSetRoutingPolicyHealthCheckTargets", +"description": "For A and AAAA types only. Endpoints to return in the query result only if they are healthy. These can be specified along with `rrdata` within this item." +}, +"kind": { +"default": "dns#rRSetRoutingPolicyGeoPolicyGeoPolicyItem", +"type": "string" +}, +"location": { +"description": "The geo-location granularity is a GCP region. This location string should correspond to a GCP region. e.g. \"us-east1\", \"southamerica-east1\", \"asia-east1\", etc.", +"type": "string" +}, +"rrdatas": { +"items": { +"type": "string" +}, +"type": "array" +}, +"signatureRrdatas": { +"description": "DNSSEC generated signatures for all the `rrdata` within this item. If health checked targets are provided for DNSSEC enabled zones, there's a restriction of 1 IP address per item.", +"items": { +"type": "string" +}, +"type": "array" +} +}, +"type": "object" +}, +"RRSetRoutingPolicyHealthCheckTargets": { +"description": "HealthCheckTargets describes endpoints to health-check when responding to Routing Policy queries. Only the healthy endpoints will be included in the response.", +"id": "RRSetRoutingPolicyHealthCheckTargets", +"properties": { +"externalEndpoints": { +"description": "The Internet IP addresses to be health checked. The format matches the format of ResourceRecordSet.rrdata as defined in RFC 1035 (section 5) and RFC 1034 (section 3.6.1)", +"items": { +"type": "string" +}, +"type": "array" +}, +"internalLoadBalancers": { +"description": "Configuration for internal load balancers to be health checked.", +"items": { +"$ref": "RRSetRoutingPolicyLoadBalancerTarget" +}, +"type": "array" +} +}, +"type": "object" +}, +"RRSetRoutingPolicyLoadBalancerTarget": { +"description": "The configuration for an individual load balancer to health check.", +"id": "RRSetRoutingPolicyLoadBalancerTarget", +"properties": { +"ipAddress": { +"description": "The frontend IP address of the load balancer to health check.", +"type": "string" +}, +"ipProtocol": { +"description": "The protocol of the load balancer to health check.", +"enum": [ +"undefined", +"tcp", +"udp" +], +"enumDescriptions": [ +"", +"Indicates the load balancer is accessible via TCP.", +"Indicates the load balancer is accessible via UDP." +], +"type": "string" +}, +"kind": { +"default": "dns#rRSetRoutingPolicyLoadBalancerTarget", +"type": "string" +}, +"loadBalancerType": { +"description": "The type of load balancer specified by this target. This value must match the configuration of the load balancer located at the LoadBalancerTarget's IP address, port, and region. Use the following: - *regionalL4ilb*: for a regional internal passthrough Network Load Balancer. - *regionalL7ilb*: for a regional internal Application Load Balancer. - *globalL7ilb*: for a global internal Application Load Balancer. ", +"enum": [ +"none", +"globalL7ilb", +"regionalL4ilb", +"regionalL7ilb" +], +"enumDescriptions": [ +"", +"Indicates the load balancer is a Cross-Region Application Load Balancer.", +"Indicates the load balancer is a Regional Network Passthrough Load Balancer.", +"Indicates the load balancer is a Regional Application Load Balancer." +], +"type": "string" +}, +"networkUrl": { +"description": "The fully qualified URL of the network that the load balancer is attached to. This should be formatted like `https://www.googleapis.com/compute/v1/projects/{project}/global/networks/{network}`.", +"type": "string" +}, +"port": { +"description": "The configured port of the load balancer.", +"type": "string" +}, +"project": { +"description": "The project ID in which the load balancer is located.", +"type": "string" +}, +"region": { +"description": "The region in which the load balancer is located.", +"type": "string" +} +}, +"type": "object" +}, +"RRSetRoutingPolicyPrimaryBackupPolicy": { +"description": "Configures a RRSetRoutingPolicy such that all queries are responded with the primary_targets if they are healthy. And if all of them are unhealthy, then we fallback to a geo localized policy.", +"id": "RRSetRoutingPolicyPrimaryBackupPolicy", +"properties": { +"backupGeoTargets": { +"$ref": "RRSetRoutingPolicyGeoPolicy", +"description": "Backup targets provide a regional failover policy for the otherwise global primary targets. If serving state is set to `BACKUP`, this policy essentially becomes a geo routing policy." +}, +"kind": { +"default": "dns#rRSetRoutingPolicyPrimaryBackupPolicy", +"type": "string" +}, +"primaryTargets": { +"$ref": "RRSetRoutingPolicyHealthCheckTargets", +"description": "Endpoints that are health checked before making the routing decision. Unhealthy endpoints are omitted from the results. If all endpoints are unhealthy, we serve a response based on the `backup_geo_targets`." +}, +"trickleTraffic": { +"description": "When serving state is `PRIMARY`, this field provides the option of sending a small percentage of the traffic to the backup targets.", +"format": "double", +"type": "number" +} +}, +"type": "object" +}, +"RRSetRoutingPolicyWrrPolicy": { +"description": "Configures a RRSetRoutingPolicy that routes in a weighted round robin fashion.", +"id": "RRSetRoutingPolicyWrrPolicy", +"properties": { +"items": { +"items": { +"$ref": "RRSetRoutingPolicyWrrPolicyWrrPolicyItem" +}, +"type": "array" +}, +"kind": { +"default": "dns#rRSetRoutingPolicyWrrPolicy", +"type": "string" +} +}, +"type": "object" +}, +"RRSetRoutingPolicyWrrPolicyWrrPolicyItem": { +"description": "A routing block which contains the routing information for one WRR item.", +"id": "RRSetRoutingPolicyWrrPolicyWrrPolicyItem", +"properties": { +"healthCheckedTargets": { +"$ref": "RRSetRoutingPolicyHealthCheckTargets", +"description": "Endpoints that are health checked before making the routing decision. The unhealthy endpoints are omitted from the result. If all endpoints within a bucket are unhealthy, we choose a different bucket (sampled with respect to its weight) for responding. If DNSSEC is enabled for this zone, only one of `rrdata` or `health_checked_targets` can be set." +}, +"kind": { +"default": "dns#rRSetRoutingPolicyWrrPolicyWrrPolicyItem", +"type": "string" +}, +"rrdatas": { +"items": { +"type": "string" +}, +"type": "array" +}, +"signatureRrdatas": { +"description": "DNSSEC generated signatures for all the `rrdata` within this item. Note that if health checked targets are provided for DNSSEC enabled zones, there's a restriction of 1 IP address per item.", +"items": { +"type": "string" +}, +"type": "array" +}, +"weight": { +"description": "The weight corresponding to this `WrrPolicyItem` object. When multiple `WrrPolicyItem` objects are configured, the probability of returning an `WrrPolicyItem` object's data is proportional to its weight relative to the sum of weights configured for all items. This weight must be non-negative.", +"format": "double", +"type": "number" +} +}, +"type": "object" +}, +"ResourceRecordSet": { +"description": "A unit of data that is returned by the DNS servers.", +"id": "ResourceRecordSet", +"properties": { +"kind": { +"default": "dns#resourceRecordSet", +"type": "string" +}, +"name": { +"description": "For example, www.example.com.", +"type": "string" +}, +"routingPolicy": { +"$ref": "RRSetRoutingPolicy", +"description": "Configures dynamic query responses based on either the geo location of the querying user or a weighted round robin based routing policy. A valid `ResourceRecordSet` contains only `rrdata` (for static resolution) or a `routing_policy` (for dynamic resolution)." +}, +"rrdatas": { +"description": "As defined in RFC 1035 (section 5) and RFC 1034 (section 3.6.1) -- see examples.", +"items": { +"type": "string" +}, +"type": "array" +}, +"signatureRrdatas": { +"description": "As defined in RFC 4034 (section 3.2).", +"items": { +"type": "string" +}, +"type": "array" +}, +"ttl": { +"description": "Number of seconds that this `ResourceRecordSet` can be cached by resolvers.", +"format": "int32", +"type": "integer" +}, +"type": { +"description": "The identifier of a supported record type. See the list of Supported DNS record types.", +"type": "string" +} +}, +"type": "object" +}, +"ResourceRecordSetsDeleteResponse": { +"id": "ResourceRecordSetsDeleteResponse", +"properties": {}, +"type": "object" +}, +"ResourceRecordSetsListResponse": { +"id": "ResourceRecordSetsListResponse", +"properties": { +"kind": { +"default": "dns#resourceRecordSetsListResponse", +"description": "Type of resource.", +"type": "string" +}, +"nextPageToken": { +"description": "This field indicates that more results are available beyond the last page displayed. To fetch the results, make another list request and use this value as your page token. This lets you retrieve the complete contents of a very large collection one page at a time. However, if the contents of the collection change between the first and last paginated list request, the set of all elements returned are an inconsistent view of the collection. You can't retrieve a consistent snapshot of a collection larger than the maximum page size.", +"type": "string" +}, +"rrsets": { +"description": "The resource record set resources.", +"items": { +"$ref": "ResourceRecordSet" +}, +"type": "array" +} +}, +"type": "object" +}, +"ResponsePoliciesListResponse": { +"id": "ResponsePoliciesListResponse", +"properties": { +"nextPageToken": { +"description": "This field indicates that more results are available beyond the last page displayed. To fetch the results, make another list request and use this value as your page token. This lets you retrieve the complete contents of a very large collection one page at a time. However, if the contents of the collection change between the first and last paginated list request, the set of all elements returned are an inconsistent view of the collection. You can't retrieve a consistent snapshot of a collection larger than the maximum page size.", +"type": "string" +}, +"responsePolicies": { +"description": "The Response Policy resources.", +"items": { +"$ref": "ResponsePolicy" +}, +"type": "array" +} +}, +"type": "object" +}, +"ResponsePoliciesPatchResponse": { +"id": "ResponsePoliciesPatchResponse", +"properties": { +"responsePolicy": { +"$ref": "ResponsePolicy" +} +}, +"type": "object" +}, +"ResponsePoliciesUpdateResponse": { +"id": "ResponsePoliciesUpdateResponse", +"properties": { +"responsePolicy": { +"$ref": "ResponsePolicy" +} +}, +"type": "object" +}, +"ResponsePolicy": { +"description": "A Response Policy is a collection of selectors that apply to queries made against one or more Virtual Private Cloud networks.", +"id": "ResponsePolicy", +"properties": { +"description": { +"description": "User-provided description for this Response Policy.", +"type": "string" +}, +"gkeClusters": { +"description": "The list of Google Kubernetes Engine clusters to which this response policy is applied.", +"items": { +"$ref": "ResponsePolicyGKECluster" +}, +"type": "array" +}, +"id": { +"description": "Unique identifier for the resource; defined by the server (output only).", +"format": "int64", +"type": "string" +}, +"kind": { +"default": "dns#responsePolicy", +"type": "string" +}, +"labels": { +"additionalProperties": { +"type": "string" +}, +"description": "User labels.", +"type": "object" +}, +"networks": { +"description": "List of network names specifying networks to which this policy is applied.", +"items": { +"$ref": "ResponsePolicyNetwork" +}, +"type": "array" +}, +"responsePolicyName": { +"description": "User assigned name for this Response Policy.", +"type": "string" +} +}, +"type": "object" +}, +"ResponsePolicyGKECluster": { +"id": "ResponsePolicyGKECluster", +"properties": { +"gkeClusterName": { +"description": "The resource name of the cluster to bind this response policy to. This should be specified in the format like: projects/*/locations/*/clusters/*. This is referenced from GKE projects.locations.clusters.get API: https://cloud.google.com/kubernetes-engine/docs/reference/rest/v1/projects.locations.clusters/get", +"type": "string" +}, +"kind": { +"default": "dns#responsePolicyGKECluster", +"type": "string" +} +}, +"type": "object" +}, +"ResponsePolicyNetwork": { +"id": "ResponsePolicyNetwork", +"properties": { +"kind": { +"default": "dns#responsePolicyNetwork", +"type": "string" +}, +"networkUrl": { +"description": "The fully qualified URL of the VPC network to bind to. This should be formatted like `https://www.googleapis.com/compute/v1/projects/{project}/global/networks/{network}`", +"type": "string" +} +}, +"type": "object" +}, +"ResponsePolicyRule": { +"description": "A Response Policy Rule is a selector that applies its behavior to queries that match the selector. Selectors are DNS names, which may be wildcards or exact matches. Each DNS query subject to a Response Policy matches at most one ResponsePolicyRule, as identified by the dns_name field with the longest matching suffix.", +"id": "ResponsePolicyRule", +"properties": { +"behavior": { +"description": "Answer this query with a behavior rather than DNS data.", +"enum": [ +"behaviorUnspecified", +"bypassResponsePolicy" +], +"enumDescriptions": [ +"", +"Skip a less-specific Response Policy Rule and let the query logic continue. This mechanism, when used with wildcard selectors, lets you exempt specific subdomains from a broader Response Policy Rule and direct the queries to the public internet instead. For example, if the following rules exist: ``` *.example.com -> LocalData 1.2.3.4 foo.example.com -> Behavior 'passthrough' ``` A query for foo.example.com skips the wildcard rule. This functionality also facilitates allowlisting. Response Policy Zones (RPZs) can be applied at multiple levels within the hierarchy: for example, an organization, a folder, a project, or a VPC network. If an RPZ rule is applied at a higher level, adding a `passthrough` rule at a lower level will override it. Queries from affected virtual machines (VMs) to that domain bypass the RPZ and proceed with normal resolution." +], +"type": "string" +}, +"dnsName": { +"description": "The DNS name (wildcard or exact) to apply this rule to. Must be unique within the Response Policy Rule.", +"type": "string" +}, +"kind": { +"default": "dns#responsePolicyRule", +"type": "string" +}, +"localData": { +"$ref": "ResponsePolicyRuleLocalData", +"description": "Answer this query directly with DNS data. These ResourceRecordSets override any other DNS behavior for the matched name; in particular they override private zones, the public internet, and GCP internal DNS. No SOA nor NS types are allowed." +}, +"ruleName": { +"description": "An identifier for this rule. Must be unique with the ResponsePolicy.", +"type": "string" +} +}, +"type": "object" +}, +"ResponsePolicyRuleLocalData": { +"id": "ResponsePolicyRuleLocalData", +"properties": { +"localDatas": { +"description": "All resource record sets for this selector, one per resource record type. The name must match the dns_name.", +"items": { +"$ref": "ResourceRecordSet" +}, +"type": "array" +} +}, +"type": "object" +}, +"ResponsePolicyRulesListResponse": { +"id": "ResponsePolicyRulesListResponse", +"properties": { +"nextPageToken": { +"description": "This field indicates that more results are available beyond the last page displayed. To fetch the results, make another list request and use this value as your page token. This lets you retrieve the complete contents of a very large collection one page at a time. However, if the contents of the collection change between the first and last paginated list request, the set of all elements returned are an inconsistent view of the collection. You can't retrieve a consistent snapshot of a collection larger than the maximum page size.", +"type": "string" +}, +"responsePolicyRules": { +"description": "The Response Policy Rule resources.", +"items": { +"$ref": "ResponsePolicyRule" +}, +"type": "array" +} +}, +"type": "object" +}, +"ResponsePolicyRulesPatchResponse": { +"id": "ResponsePolicyRulesPatchResponse", +"properties": { +"responsePolicyRule": { +"$ref": "ResponsePolicyRule" +} +}, +"type": "object" +}, +"ResponsePolicyRulesUpdateResponse": { +"id": "ResponsePolicyRulesUpdateResponse", +"properties": { +"responsePolicyRule": { +"$ref": "ResponsePolicyRule" +} +}, +"type": "object" +} +}, +"servicePath": "", +"title": "Cloud DNS API", +"version": "v1" +} \ No newline at end of file diff --git a/.venv/lib/python3.11/site-packages/googleapiclient/discovery_cache/documents/drivelabels.v2.json b/.venv/lib/python3.11/site-packages/googleapiclient/discovery_cache/documents/drivelabels.v2.json new file mode 100644 index 0000000000000000000000000000000000000000..d92f7058f272dea3bdea1169590f44deb8528e6e --- /dev/null +++ b/.venv/lib/python3.11/site-packages/googleapiclient/discovery_cache/documents/drivelabels.v2.json @@ -0,0 +1,3025 @@ +{ +"auth": { +"oauth2": { +"scopes": { +"https://www.googleapis.com/auth/drive.admin.labels": { +"description": "See, edit, create, and delete all Google Drive labels in your organization, and see your organization's label-related admin policies" +}, +"https://www.googleapis.com/auth/drive.admin.labels.readonly": { +"description": "See all Google Drive labels and label-related admin policies in your organization" +}, +"https://www.googleapis.com/auth/drive.labels": { +"description": "See, edit, create, and delete your Google Drive labels" +}, +"https://www.googleapis.com/auth/drive.labels.readonly": { +"description": "See your Google Drive labels" +} +} +} +}, +"basePath": "", +"baseUrl": "https://drivelabels.googleapis.com/", +"batchPath": "batch", +"canonicalName": "Drive Labels", +"description": "An API for managing Drive Labels", +"discoveryVersion": "v1", +"documentationLink": "https://developers.google.com/drive/labels", +"fullyEncodeReservedExpansion": true, +"icons": { +"x16": "http://www.google.com/images/icons/product/search-16.gif", +"x32": "http://www.google.com/images/icons/product/search-32.gif" +}, +"id": "drivelabels:v2", +"kind": "discovery#restDescription", +"mtlsRootUrl": "https://drivelabels.mtls.googleapis.com/", +"name": "drivelabels", +"ownerDomain": "google.com", +"ownerName": "Google", +"parameters": { +"$.xgafv": { +"description": "V1 error format.", +"enum": [ +"1", +"2" +], +"enumDescriptions": [ +"v1 error format", +"v2 error format" +], +"location": "query", +"type": "string" +}, +"access_token": { +"description": "OAuth access token.", +"location": "query", +"type": "string" +}, +"alt": { +"default": "json", +"description": "Data format for response.", +"enum": [ +"json", +"media", +"proto" +], +"enumDescriptions": [ +"Responses with Content-Type of application/json", +"Media download with context-dependent Content-Type", +"Responses with Content-Type of application/x-protobuf" +], +"location": "query", +"type": "string" +}, +"callback": { +"description": "JSONP", +"location": "query", +"type": "string" +}, +"fields": { +"description": "Selector specifying which fields to include in a partial response.", +"location": "query", +"type": "string" +}, +"key": { +"description": "API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token.", +"location": "query", +"type": "string" +}, +"oauth_token": { +"description": "OAuth 2.0 token for the current user.", +"location": "query", +"type": "string" +}, +"prettyPrint": { +"default": "true", +"description": "Returns response with indentations and line breaks.", +"location": "query", +"type": "boolean" +}, +"quotaUser": { +"description": "Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters.", +"location": "query", +"type": "string" +}, +"uploadType": { +"description": "Legacy upload protocol for media (e.g. \"media\", \"multipart\").", +"location": "query", +"type": "string" +}, +"upload_protocol": { +"description": "Upload protocol for media (e.g. \"raw\", \"multipart\").", +"location": "query", +"type": "string" +} +}, +"protocol": "rest", +"resources": { +"labels": { +"methods": { +"create": { +"description": "Creates a new Label.", +"flatPath": "v2/labels", +"httpMethod": "POST", +"id": "drivelabels.labels.create", +"parameterOrder": [], +"parameters": { +"languageCode": { +"description": "The BCP-47 language code to use for evaluating localized Field labels in response. When not specified, values in the default configured language will be used.", +"location": "query", +"type": "string" +}, +"useAdminAccess": { +"description": "Set to `true` in order to use the user's admin privileges. The server will verify the user is an admin before allowing access.", +"location": "query", +"type": "boolean" +} +}, +"path": "v2/labels", +"request": { +"$ref": "GoogleAppsDriveLabelsV2Label" +}, +"response": { +"$ref": "GoogleAppsDriveLabelsV2Label" +}, +"scopes": [ +"https://www.googleapis.com/auth/drive.admin.labels", +"https://www.googleapis.com/auth/drive.labels" +] +}, +"delete": { +"description": "Permanently deletes a Label and related metadata on Drive Items. Once deleted, the Label and related Drive item metadata will be deleted. Only draft Labels, and disabled Labels may be deleted.", +"flatPath": "v2/labels/{labelsId}", +"httpMethod": "DELETE", +"id": "drivelabels.labels.delete", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. Label resource name.", +"location": "path", +"pattern": "^labels/[^/]+$", +"required": true, +"type": "string" +}, +"useAdminAccess": { +"description": "Set to `true` in order to use the user's admin credentials. The server will verify the user is an admin for the Label before allowing access.", +"location": "query", +"type": "boolean" +}, +"writeControl.requiredRevisionId": { +"description": "The revision_id of the label that the write request will be applied to. If this is not the latest revision of the label, the request will not be processed and will return a 400 Bad Request error.", +"location": "query", +"type": "string" +} +}, +"path": "v2/{+name}", +"response": { +"$ref": "GoogleProtobufEmpty" +}, +"scopes": [ +"https://www.googleapis.com/auth/drive.admin.labels", +"https://www.googleapis.com/auth/drive.labels" +] +}, +"delta": { +"description": "Updates a single Label by applying a set of update requests resulting in a new draft revision. The batch update is all-or-nothing: If any of the update requests are invalid, no changes are applied. The resulting draft revision must be published before the changes may be used with Drive Items.", +"flatPath": "v2/labels/{labelsId}:delta", +"httpMethod": "POST", +"id": "drivelabels.labels.delta", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. The resource name of the Label to update.", +"location": "path", +"pattern": "^labels/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v2/{+name}:delta", +"request": { +"$ref": "GoogleAppsDriveLabelsV2DeltaUpdateLabelRequest" +}, +"response": { +"$ref": "GoogleAppsDriveLabelsV2DeltaUpdateLabelResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/drive.admin.labels", +"https://www.googleapis.com/auth/drive.labels" +] +}, +"disable": { +"description": "Disable a published Label. Disabling a Label will result in a new disabled published revision based on the current published revision. If there is a draft revision, a new disabled draft revision will be created based on the latest draft revision. Older draft revisions will be deleted. Once disabled, a label may be deleted with `DeleteLabel`.", +"flatPath": "v2/labels/{labelsId}:disable", +"httpMethod": "POST", +"id": "drivelabels.labels.disable", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. Label resource name.", +"location": "path", +"pattern": "^labels/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v2/{+name}:disable", +"request": { +"$ref": "GoogleAppsDriveLabelsV2DisableLabelRequest" +}, +"response": { +"$ref": "GoogleAppsDriveLabelsV2Label" +}, +"scopes": [ +"https://www.googleapis.com/auth/drive.admin.labels", +"https://www.googleapis.com/auth/drive.labels" +] +}, +"enable": { +"description": "Enable a disabled Label and restore it to its published state. This will result in a new published revision based on the current disabled published revision. If there is an existing disabled draft revision, a new revision will be created based on that draft and will be enabled.", +"flatPath": "v2/labels/{labelsId}:enable", +"httpMethod": "POST", +"id": "drivelabels.labels.enable", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. Label resource name.", +"location": "path", +"pattern": "^labels/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v2/{+name}:enable", +"request": { +"$ref": "GoogleAppsDriveLabelsV2EnableLabelRequest" +}, +"response": { +"$ref": "GoogleAppsDriveLabelsV2Label" +}, +"scopes": [ +"https://www.googleapis.com/auth/drive.admin.labels", +"https://www.googleapis.com/auth/drive.labels" +] +}, +"get": { +"description": "Get a label by its resource name. Resource name may be any of: * `labels/{id}` - See `labels/{id}@latest` * `labels/{id}@latest` - Gets the latest revision of the label. * `labels/{id}@published` - Gets the current published revision of the label. * `labels/{id}@{revision_id}` - Gets the label at the specified revision ID.", +"flatPath": "v2/labels/{labelsId}", +"httpMethod": "GET", +"id": "drivelabels.labels.get", +"parameterOrder": [ +"name" +], +"parameters": { +"languageCode": { +"description": "The BCP-47 language code to use for evaluating localized field labels. When not specified, values in the default configured language are used.", +"location": "query", +"type": "string" +}, +"name": { +"description": "Required. Label resource name. May be any of: * `labels/{id}` (equivalent to labels/{id}@latest) * `labels/{id}@latest` * `labels/{id}@published` * `labels/{id}@{revision_id}`", +"location": "path", +"pattern": "^labels/[^/]+$", +"required": true, +"type": "string" +}, +"useAdminAccess": { +"description": "Set to `true` in order to use the user's admin credentials. The server verifies that the user is an admin for the label before allowing access.", +"location": "query", +"type": "boolean" +}, +"view": { +"description": "When specified, only certain fields belonging to the indicated view are returned.", +"enum": [ +"LABEL_VIEW_BASIC", +"LABEL_VIEW_FULL" +], +"enumDescriptions": [ +"Implies the field mask: `name,id,revision_id,label_type,properties.*`", +"All possible fields." +], +"location": "query", +"type": "string" +} +}, +"path": "v2/{+name}", +"response": { +"$ref": "GoogleAppsDriveLabelsV2Label" +}, +"scopes": [ +"https://www.googleapis.com/auth/drive.admin.labels", +"https://www.googleapis.com/auth/drive.admin.labels.readonly", +"https://www.googleapis.com/auth/drive.labels", +"https://www.googleapis.com/auth/drive.labels.readonly" +] +}, +"list": { +"description": "List labels.", +"flatPath": "v2/labels", +"httpMethod": "GET", +"id": "drivelabels.labels.list", +"parameterOrder": [], +"parameters": { +"customer": { +"description": "The customer to scope this list request to. For example: \"customers/abcd1234\". If unset, will return all labels within the current customer.", +"location": "query", +"type": "string" +}, +"languageCode": { +"description": "The BCP-47 language code to use for evaluating localized field labels. When not specified, values in the default configured language are used.", +"location": "query", +"type": "string" +}, +"minimumRole": { +"description": "Specifies the level of access the user must have on the returned Labels. The minimum role a user must have on a label. Defaults to `READER`.", +"enum": [ +"LABEL_ROLE_UNSPECIFIED", +"READER", +"APPLIER", +"ORGANIZER", +"EDITOR" +], +"enumDescriptions": [ +"Unknown role.", +"A reader can read the label and associated metadata applied to Drive items.", +"An applier can write associated metadata on Drive items in which they also have write access to. Implies `READER`.", +"An organizer can pin this label in shared drives they manage and add new appliers to the label.", +"Editors can make any update including deleting the label which also deletes the associated Drive item metadata. Implies `APPLIER`." +], +"location": "query", +"type": "string" +}, +"pageSize": { +"description": "Maximum number of labels to return per page. Default: 50. Max: 200.", +"format": "int32", +"location": "query", +"type": "integer" +}, +"pageToken": { +"description": "The token of the page to return.", +"location": "query", +"type": "string" +}, +"publishedOnly": { +"description": "Whether to include only published labels in the results. * When `true`, only the current published label revisions are returned. Disabled labels are included. Returned label resource names reference the published revision (`labels/{id}/{revision_id}`). * When `false`, the current label revisions are returned, which might not be published. Returned label resource names don't reference a specific revision (`labels/{id}`).", +"location": "query", +"type": "boolean" +}, +"useAdminAccess": { +"description": "Set to `true` in order to use the user's admin credentials. This will return all Labels within the customer.", +"location": "query", +"type": "boolean" +}, +"view": { +"description": "When specified, only certain fields belonging to the indicated view are returned.", +"enum": [ +"LABEL_VIEW_BASIC", +"LABEL_VIEW_FULL" +], +"enumDescriptions": [ +"Implies the field mask: `name,id,revision_id,label_type,properties.*`", +"All possible fields." +], +"location": "query", +"type": "string" +} +}, +"path": "v2/labels", +"response": { +"$ref": "GoogleAppsDriveLabelsV2ListLabelsResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/drive.admin.labels", +"https://www.googleapis.com/auth/drive.admin.labels.readonly", +"https://www.googleapis.com/auth/drive.labels", +"https://www.googleapis.com/auth/drive.labels.readonly" +] +}, +"publish": { +"description": "Publish all draft changes to the Label. Once published, the Label may not return to its draft state. See `google.apps.drive.labels.v2.Lifecycle` for more information. Publishing a Label will result in a new published revision. All previous draft revisions will be deleted. Previous published revisions will be kept but are subject to automated deletion as needed. Once published, some changes are no longer permitted. Generally, any change that would invalidate or cause new restrictions on existing metadata related to the Label will be rejected. For example, the following changes to a Label will be rejected after the Label is published: * The label cannot be directly deleted. It must be disabled first, then deleted. * Field.FieldType cannot be changed. * Changes to Field validation options cannot reject something that was previously accepted. * Reducing the max entries.", +"flatPath": "v2/labels/{labelsId}:publish", +"httpMethod": "POST", +"id": "drivelabels.labels.publish", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. Label resource name.", +"location": "path", +"pattern": "^labels/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v2/{+name}:publish", +"request": { +"$ref": "GoogleAppsDriveLabelsV2PublishLabelRequest" +}, +"response": { +"$ref": "GoogleAppsDriveLabelsV2Label" +}, +"scopes": [ +"https://www.googleapis.com/auth/drive.admin.labels", +"https://www.googleapis.com/auth/drive.labels" +] +}, +"updateLabelCopyMode": { +"description": "Updates a Label's `CopyMode`. Changes to this policy are not revisioned, do not require publishing, and take effect immediately.", +"flatPath": "v2/labels/{labelsId}:updateLabelCopyMode", +"httpMethod": "POST", +"id": "drivelabels.labels.updateLabelCopyMode", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. The resource name of the Label to update.", +"location": "path", +"pattern": "^labels/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v2/{+name}:updateLabelCopyMode", +"request": { +"$ref": "GoogleAppsDriveLabelsV2UpdateLabelCopyModeRequest" +}, +"response": { +"$ref": "GoogleAppsDriveLabelsV2Label" +}, +"scopes": [ +"https://www.googleapis.com/auth/drive.admin.labels", +"https://www.googleapis.com/auth/drive.labels" +] +}, +"updatePermissions": { +"description": "Updates a Label's permissions. If a permission for the indicated principal doesn't exist, a new Label Permission is created, otherwise the existing permission is updated. Permissions affect the Label resource as a whole, are not revisioned, and do not require publishing.", +"flatPath": "v2/labels/{labelsId}/permissions", +"httpMethod": "PATCH", +"id": "drivelabels.labels.updatePermissions", +"parameterOrder": [ +"parent" +], +"parameters": { +"parent": { +"description": "Required. The parent Label resource name.", +"location": "path", +"pattern": "^labels/[^/]+$", +"required": true, +"type": "string" +}, +"useAdminAccess": { +"description": "Set to `true` in order to use the user's admin credentials. The server will verify the user is an admin for the Label before allowing access.", +"location": "query", +"type": "boolean" +} +}, +"path": "v2/{+parent}/permissions", +"request": { +"$ref": "GoogleAppsDriveLabelsV2LabelPermission" +}, +"response": { +"$ref": "GoogleAppsDriveLabelsV2LabelPermission" +}, +"scopes": [ +"https://www.googleapis.com/auth/drive.admin.labels", +"https://www.googleapis.com/auth/drive.labels" +] +} +}, +"resources": { +"locks": { +"methods": { +"list": { +"description": "Lists the LabelLocks on a Label.", +"flatPath": "v2/labels/{labelsId}/locks", +"httpMethod": "GET", +"id": "drivelabels.labels.locks.list", +"parameterOrder": [ +"parent" +], +"parameters": { +"pageSize": { +"description": "Maximum number of Locks to return per page. Default: 100. Max: 200.", +"format": "int32", +"location": "query", +"type": "integer" +}, +"pageToken": { +"description": "The token of the page to return.", +"location": "query", +"type": "string" +}, +"parent": { +"description": "Required. Label on which Locks are applied. Format: labels/{label}", +"location": "path", +"pattern": "^labels/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v2/{+parent}/locks", +"response": { +"$ref": "GoogleAppsDriveLabelsV2ListLabelLocksResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/drive.admin.labels", +"https://www.googleapis.com/auth/drive.admin.labels.readonly", +"https://www.googleapis.com/auth/drive.labels", +"https://www.googleapis.com/auth/drive.labels.readonly" +] +} +} +}, +"permissions": { +"methods": { +"batchDelete": { +"description": "Deletes Label permissions. Permissions affect the Label resource as a whole, are not revisioned, and do not require publishing.", +"flatPath": "v2/labels/{labelsId}/permissions:batchDelete", +"httpMethod": "POST", +"id": "drivelabels.labels.permissions.batchDelete", +"parameterOrder": [ +"parent" +], +"parameters": { +"parent": { +"description": "Required. The parent Label resource name shared by all permissions being deleted. Format: labels/{label} If this is set, the parent field in the UpdateLabelPermissionRequest messages must either be empty or match this field.", +"location": "path", +"pattern": "^labels/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v2/{+parent}/permissions:batchDelete", +"request": { +"$ref": "GoogleAppsDriveLabelsV2BatchDeleteLabelPermissionsRequest" +}, +"response": { +"$ref": "GoogleProtobufEmpty" +}, +"scopes": [ +"https://www.googleapis.com/auth/drive.admin.labels", +"https://www.googleapis.com/auth/drive.labels" +] +}, +"batchUpdate": { +"description": "Updates Label permissions. If a permission for the indicated principal doesn't exist, a new Label Permission is created, otherwise the existing permission is updated. Permissions affect the Label resource as a whole, are not revisioned, and do not require publishing.", +"flatPath": "v2/labels/{labelsId}/permissions:batchUpdate", +"httpMethod": "POST", +"id": "drivelabels.labels.permissions.batchUpdate", +"parameterOrder": [ +"parent" +], +"parameters": { +"parent": { +"description": "Required. The parent Label resource name shared by all permissions being updated. Format: labels/{label} If this is set, the parent field in the UpdateLabelPermissionRequest messages must either be empty or match this field.", +"location": "path", +"pattern": "^labels/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v2/{+parent}/permissions:batchUpdate", +"request": { +"$ref": "GoogleAppsDriveLabelsV2BatchUpdateLabelPermissionsRequest" +}, +"response": { +"$ref": "GoogleAppsDriveLabelsV2BatchUpdateLabelPermissionsResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/drive.admin.labels", +"https://www.googleapis.com/auth/drive.labels" +] +}, +"create": { +"description": "Updates a Label's permissions. If a permission for the indicated principal doesn't exist, a new Label Permission is created, otherwise the existing permission is updated. Permissions affect the Label resource as a whole, are not revisioned, and do not require publishing.", +"flatPath": "v2/labels/{labelsId}/permissions", +"httpMethod": "POST", +"id": "drivelabels.labels.permissions.create", +"parameterOrder": [ +"parent" +], +"parameters": { +"parent": { +"description": "Required. The parent Label resource name on the Label Permission is created. Format: labels/{label}", +"location": "path", +"pattern": "^labels/[^/]+$", +"required": true, +"type": "string" +}, +"useAdminAccess": { +"description": "Set to `true` in order to use the user's admin credentials. The server will verify the user is an admin for the Label before allowing access.", +"location": "query", +"type": "boolean" +} +}, +"path": "v2/{+parent}/permissions", +"request": { +"$ref": "GoogleAppsDriveLabelsV2LabelPermission" +}, +"response": { +"$ref": "GoogleAppsDriveLabelsV2LabelPermission" +}, +"scopes": [ +"https://www.googleapis.com/auth/drive.admin.labels", +"https://www.googleapis.com/auth/drive.labels" +] +}, +"delete": { +"description": "Deletes a Label's permission. Permissions affect the Label resource as a whole, are not revisioned, and do not require publishing.", +"flatPath": "v2/labels/{labelsId}/permissions/{permissionsId}", +"httpMethod": "DELETE", +"id": "drivelabels.labels.permissions.delete", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. Label Permission resource name.", +"location": "path", +"pattern": "^labels/[^/]+/permissions/[^/]+$", +"required": true, +"type": "string" +}, +"useAdminAccess": { +"description": "Set to `true` in order to use the user's admin credentials. The server will verify the user is an admin for the Label before allowing access.", +"location": "query", +"type": "boolean" +} +}, +"path": "v2/{+name}", +"response": { +"$ref": "GoogleProtobufEmpty" +}, +"scopes": [ +"https://www.googleapis.com/auth/drive.admin.labels", +"https://www.googleapis.com/auth/drive.labels" +] +}, +"list": { +"description": "Lists a Label's permissions.", +"flatPath": "v2/labels/{labelsId}/permissions", +"httpMethod": "GET", +"id": "drivelabels.labels.permissions.list", +"parameterOrder": [ +"parent" +], +"parameters": { +"pageSize": { +"description": "Maximum number of permissions to return per page. Default: 50. Max: 200.", +"format": "int32", +"location": "query", +"type": "integer" +}, +"pageToken": { +"description": "The token of the page to return.", +"location": "query", +"type": "string" +}, +"parent": { +"description": "Required. The parent Label resource name on which Label Permission are listed. Format: labels/{label}", +"location": "path", +"pattern": "^labels/[^/]+$", +"required": true, +"type": "string" +}, +"useAdminAccess": { +"description": "Set to `true` in order to use the user's admin credentials. The server will verify the user is an admin for the Label before allowing access.", +"location": "query", +"type": "boolean" +} +}, +"path": "v2/{+parent}/permissions", +"response": { +"$ref": "GoogleAppsDriveLabelsV2ListLabelPermissionsResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/drive.admin.labels", +"https://www.googleapis.com/auth/drive.admin.labels.readonly", +"https://www.googleapis.com/auth/drive.labels", +"https://www.googleapis.com/auth/drive.labels.readonly" +] +} +} +}, +"revisions": { +"methods": { +"updatePermissions": { +"description": "Updates a Label's permissions. If a permission for the indicated principal doesn't exist, a new Label Permission is created, otherwise the existing permission is updated. Permissions affect the Label resource as a whole, are not revisioned, and do not require publishing.", +"flatPath": "v2/labels/{labelsId}/revisions/{revisionsId}/permissions", +"httpMethod": "PATCH", +"id": "drivelabels.labels.revisions.updatePermissions", +"parameterOrder": [ +"parent" +], +"parameters": { +"parent": { +"description": "Required. The parent Label resource name.", +"location": "path", +"pattern": "^labels/[^/]+/revisions/[^/]+$", +"required": true, +"type": "string" +}, +"useAdminAccess": { +"description": "Set to `true` in order to use the user's admin credentials. The server will verify the user is an admin for the Label before allowing access.", +"location": "query", +"type": "boolean" +} +}, +"path": "v2/{+parent}/permissions", +"request": { +"$ref": "GoogleAppsDriveLabelsV2LabelPermission" +}, +"response": { +"$ref": "GoogleAppsDriveLabelsV2LabelPermission" +}, +"scopes": [ +"https://www.googleapis.com/auth/drive.admin.labels", +"https://www.googleapis.com/auth/drive.labels" +] +} +}, +"resources": { +"locks": { +"methods": { +"list": { +"description": "Lists the LabelLocks on a Label.", +"flatPath": "v2/labels/{labelsId}/revisions/{revisionsId}/locks", +"httpMethod": "GET", +"id": "drivelabels.labels.revisions.locks.list", +"parameterOrder": [ +"parent" +], +"parameters": { +"pageSize": { +"description": "Maximum number of Locks to return per page. Default: 100. Max: 200.", +"format": "int32", +"location": "query", +"type": "integer" +}, +"pageToken": { +"description": "The token of the page to return.", +"location": "query", +"type": "string" +}, +"parent": { +"description": "Required. Label on which Locks are applied. Format: labels/{label}", +"location": "path", +"pattern": "^labels/[^/]+/revisions/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v2/{+parent}/locks", +"response": { +"$ref": "GoogleAppsDriveLabelsV2ListLabelLocksResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/drive.admin.labels", +"https://www.googleapis.com/auth/drive.admin.labels.readonly", +"https://www.googleapis.com/auth/drive.labels", +"https://www.googleapis.com/auth/drive.labels.readonly" +] +} +} +}, +"permissions": { +"methods": { +"batchDelete": { +"description": "Deletes Label permissions. Permissions affect the Label resource as a whole, are not revisioned, and do not require publishing.", +"flatPath": "v2/labels/{labelsId}/revisions/{revisionsId}/permissions:batchDelete", +"httpMethod": "POST", +"id": "drivelabels.labels.revisions.permissions.batchDelete", +"parameterOrder": [ +"parent" +], +"parameters": { +"parent": { +"description": "Required. The parent Label resource name shared by all permissions being deleted. Format: labels/{label} If this is set, the parent field in the UpdateLabelPermissionRequest messages must either be empty or match this field.", +"location": "path", +"pattern": "^labels/[^/]+/revisions/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v2/{+parent}/permissions:batchDelete", +"request": { +"$ref": "GoogleAppsDriveLabelsV2BatchDeleteLabelPermissionsRequest" +}, +"response": { +"$ref": "GoogleProtobufEmpty" +}, +"scopes": [ +"https://www.googleapis.com/auth/drive.admin.labels", +"https://www.googleapis.com/auth/drive.labels" +] +}, +"batchUpdate": { +"description": "Updates Label permissions. If a permission for the indicated principal doesn't exist, a new Label Permission is created, otherwise the existing permission is updated. Permissions affect the Label resource as a whole, are not revisioned, and do not require publishing.", +"flatPath": "v2/labels/{labelsId}/revisions/{revisionsId}/permissions:batchUpdate", +"httpMethod": "POST", +"id": "drivelabels.labels.revisions.permissions.batchUpdate", +"parameterOrder": [ +"parent" +], +"parameters": { +"parent": { +"description": "Required. The parent Label resource name shared by all permissions being updated. Format: labels/{label} If this is set, the parent field in the UpdateLabelPermissionRequest messages must either be empty or match this field.", +"location": "path", +"pattern": "^labels/[^/]+/revisions/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v2/{+parent}/permissions:batchUpdate", +"request": { +"$ref": "GoogleAppsDriveLabelsV2BatchUpdateLabelPermissionsRequest" +}, +"response": { +"$ref": "GoogleAppsDriveLabelsV2BatchUpdateLabelPermissionsResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/drive.admin.labels", +"https://www.googleapis.com/auth/drive.labels" +] +}, +"create": { +"description": "Updates a Label's permissions. If a permission for the indicated principal doesn't exist, a new Label Permission is created, otherwise the existing permission is updated. Permissions affect the Label resource as a whole, are not revisioned, and do not require publishing.", +"flatPath": "v2/labels/{labelsId}/revisions/{revisionsId}/permissions", +"httpMethod": "POST", +"id": "drivelabels.labels.revisions.permissions.create", +"parameterOrder": [ +"parent" +], +"parameters": { +"parent": { +"description": "Required. The parent Label resource name on the Label Permission is created. Format: labels/{label}", +"location": "path", +"pattern": "^labels/[^/]+/revisions/[^/]+$", +"required": true, +"type": "string" +}, +"useAdminAccess": { +"description": "Set to `true` in order to use the user's admin credentials. The server will verify the user is an admin for the Label before allowing access.", +"location": "query", +"type": "boolean" +} +}, +"path": "v2/{+parent}/permissions", +"request": { +"$ref": "GoogleAppsDriveLabelsV2LabelPermission" +}, +"response": { +"$ref": "GoogleAppsDriveLabelsV2LabelPermission" +}, +"scopes": [ +"https://www.googleapis.com/auth/drive.admin.labels", +"https://www.googleapis.com/auth/drive.labels" +] +}, +"delete": { +"description": "Deletes a Label's permission. Permissions affect the Label resource as a whole, are not revisioned, and do not require publishing.", +"flatPath": "v2/labels/{labelsId}/revisions/{revisionsId}/permissions/{permissionsId}", +"httpMethod": "DELETE", +"id": "drivelabels.labels.revisions.permissions.delete", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. Label Permission resource name.", +"location": "path", +"pattern": "^labels/[^/]+/revisions/[^/]+/permissions/[^/]+$", +"required": true, +"type": "string" +}, +"useAdminAccess": { +"description": "Set to `true` in order to use the user's admin credentials. The server will verify the user is an admin for the Label before allowing access.", +"location": "query", +"type": "boolean" +} +}, +"path": "v2/{+name}", +"response": { +"$ref": "GoogleProtobufEmpty" +}, +"scopes": [ +"https://www.googleapis.com/auth/drive.admin.labels", +"https://www.googleapis.com/auth/drive.labels" +] +}, +"list": { +"description": "Lists a Label's permissions.", +"flatPath": "v2/labels/{labelsId}/revisions/{revisionsId}/permissions", +"httpMethod": "GET", +"id": "drivelabels.labels.revisions.permissions.list", +"parameterOrder": [ +"parent" +], +"parameters": { +"pageSize": { +"description": "Maximum number of permissions to return per page. Default: 50. Max: 200.", +"format": "int32", +"location": "query", +"type": "integer" +}, +"pageToken": { +"description": "The token of the page to return.", +"location": "query", +"type": "string" +}, +"parent": { +"description": "Required. The parent Label resource name on which Label Permission are listed. Format: labels/{label}", +"location": "path", +"pattern": "^labels/[^/]+/revisions/[^/]+$", +"required": true, +"type": "string" +}, +"useAdminAccess": { +"description": "Set to `true` in order to use the user's admin credentials. The server will verify the user is an admin for the Label before allowing access.", +"location": "query", +"type": "boolean" +} +}, +"path": "v2/{+parent}/permissions", +"response": { +"$ref": "GoogleAppsDriveLabelsV2ListLabelPermissionsResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/drive.admin.labels", +"https://www.googleapis.com/auth/drive.admin.labels.readonly", +"https://www.googleapis.com/auth/drive.labels", +"https://www.googleapis.com/auth/drive.labels.readonly" +] +} +} +} +} +} +} +}, +"limits": { +"methods": { +"getLabel": { +"description": "Get the constraints on the structure of a Label; such as, the maximum number of Fields allowed and maximum length of the label title.", +"flatPath": "v2/limits/label", +"httpMethod": "GET", +"id": "drivelabels.limits.getLabel", +"parameterOrder": [], +"parameters": { +"name": { +"description": "Required. Label revision resource name Must be: \"limits/label\"", +"location": "query", +"type": "string" +} +}, +"path": "v2/limits/label", +"response": { +"$ref": "GoogleAppsDriveLabelsV2LabelLimits" +}, +"scopes": [ +"https://www.googleapis.com/auth/drive.admin.labels", +"https://www.googleapis.com/auth/drive.admin.labels.readonly", +"https://www.googleapis.com/auth/drive.labels", +"https://www.googleapis.com/auth/drive.labels.readonly" +] +} +} +}, +"users": { +"methods": { +"getCapabilities": { +"description": "Gets the user capabilities.", +"flatPath": "v2/users/{usersId}/capabilities", +"httpMethod": "GET", +"id": "drivelabels.users.getCapabilities", +"parameterOrder": [ +"name" +], +"parameters": { +"customer": { +"description": "The customer to scope this request to. For example: \"customers/abcd1234\". If unset, will return settings within the current customer.", +"location": "query", +"type": "string" +}, +"name": { +"description": "Required. The resource name of the user. Only \"users/me/capabilities\" is supported.", +"location": "path", +"pattern": "^users/[^/]+/capabilities$", +"required": true, +"type": "string" +} +}, +"path": "v2/{+name}", +"response": { +"$ref": "GoogleAppsDriveLabelsV2UserCapabilities" +}, +"scopes": [ +"https://www.googleapis.com/auth/drive.admin.labels", +"https://www.googleapis.com/auth/drive.admin.labels.readonly", +"https://www.googleapis.com/auth/drive.labels", +"https://www.googleapis.com/auth/drive.labels.readonly" +] +} +} +} +}, +"revision": "20240701", +"rootUrl": "https://drivelabels.googleapis.com/", +"schemas": { +"GoogleAppsDriveLabelsV2BadgeColors": { +"description": "The color derived from BadgeConfig and changed to the closest recommended supported color.", +"id": "GoogleAppsDriveLabelsV2BadgeColors", +"properties": { +"backgroundColor": { +"$ref": "GoogleTypeColor", +"description": "Output only. Badge background that pairs with the foreground.", +"readOnly": true +}, +"foregroundColor": { +"$ref": "GoogleTypeColor", +"description": "Output only. Badge foreground that pairs with the background.", +"readOnly": true +}, +"soloColor": { +"$ref": "GoogleTypeColor", +"description": "Output only. Color that can be used for text without a background.", +"readOnly": true +} +}, +"type": "object" +}, +"GoogleAppsDriveLabelsV2BadgeConfig": { +"description": "Badge status of the label.", +"id": "GoogleAppsDriveLabelsV2BadgeConfig", +"properties": { +"color": { +"$ref": "GoogleTypeColor", +"description": "The color of the badge. When not specified, no badge is rendered. The background, foreground, and solo (light and dark mode) colors set here are changed in the Drive UI into the closest recommended supported color." +}, +"priorityOverride": { +"description": "Override the default global priority of this badge. When set to 0, the default priority heuristic is used.", +"format": "int64", +"type": "string" +} +}, +"type": "object" +}, +"GoogleAppsDriveLabelsV2BatchDeleteLabelPermissionsRequest": { +"description": "Deletes one of more Label Permissions.", +"id": "GoogleAppsDriveLabelsV2BatchDeleteLabelPermissionsRequest", +"properties": { +"requests": { +"description": "Required. The request message specifying the resources to update.", +"items": { +"$ref": "GoogleAppsDriveLabelsV2DeleteLabelPermissionRequest" +}, +"type": "array" +}, +"useAdminAccess": { +"description": "Set to `true` in order to use the user's admin credentials. The server will verify the user is an admin for the Label before allowing access. If this is set, the use_admin_access field in the DeleteLabelPermissionRequest messages must either be empty or match this field.", +"type": "boolean" +} +}, +"type": "object" +}, +"GoogleAppsDriveLabelsV2BatchUpdateLabelPermissionsRequest": { +"description": "Updates one or more Label Permissions.", +"id": "GoogleAppsDriveLabelsV2BatchUpdateLabelPermissionsRequest", +"properties": { +"requests": { +"description": "Required. The request message specifying the resources to update.", +"items": { +"$ref": "GoogleAppsDriveLabelsV2UpdateLabelPermissionRequest" +}, +"type": "array" +}, +"useAdminAccess": { +"description": "Set to `true` in order to use the user's admin credentials. The server will verify the user is an admin for the Label before allowing access. If this is set, the use_admin_access field in the UpdateLabelPermissionRequest messages must either be empty or match this field.", +"type": "boolean" +} +}, +"type": "object" +}, +"GoogleAppsDriveLabelsV2BatchUpdateLabelPermissionsResponse": { +"description": "Response for updating one or more Label Permissions.", +"id": "GoogleAppsDriveLabelsV2BatchUpdateLabelPermissionsResponse", +"properties": { +"permissions": { +"description": "Required. Permissions updated.", +"items": { +"$ref": "GoogleAppsDriveLabelsV2LabelPermission" +}, +"type": "array" +} +}, +"type": "object" +}, +"GoogleAppsDriveLabelsV2DateLimits": { +"description": "Limits for date Field type.", +"id": "GoogleAppsDriveLabelsV2DateLimits", +"properties": { +"maxValue": { +"$ref": "GoogleTypeDate", +"description": "Maximum value for the date Field type." +}, +"minValue": { +"$ref": "GoogleTypeDate", +"description": "Minimum value for the date Field type." +} +}, +"type": "object" +}, +"GoogleAppsDriveLabelsV2DeleteLabelPermissionRequest": { +"description": "Deletes a Label Permission. Permissions affect the Label resource as a whole, are not revisioned, and do not require publishing.", +"id": "GoogleAppsDriveLabelsV2DeleteLabelPermissionRequest", +"properties": { +"name": { +"description": "Required. Label Permission resource name.", +"type": "string" +}, +"useAdminAccess": { +"description": "Set to `true` in order to use the user's admin credentials. The server will verify the user is an admin for the Label before allowing access.", +"type": "boolean" +} +}, +"type": "object" +}, +"GoogleAppsDriveLabelsV2DeltaUpdateLabelRequest": { +"description": "The set of requests for updating aspects of a Label. If any request is not valid, no requests will be applied.", +"id": "GoogleAppsDriveLabelsV2DeltaUpdateLabelRequest", +"properties": { +"languageCode": { +"description": "The BCP-47 language code to use for evaluating localized Field labels when `include_label_in_response` is `true`.", +"type": "string" +}, +"requests": { +"description": "A list of updates to apply to the Label. Requests will be applied in the order they are specified.", +"items": { +"$ref": "GoogleAppsDriveLabelsV2DeltaUpdateLabelRequestRequest" +}, +"type": "array" +}, +"useAdminAccess": { +"description": "Set to `true` in order to use the user's admin credentials. The server will verify the user is an admin for the Label before allowing access.", +"type": "boolean" +}, +"view": { +"description": "When specified, only certain fields belonging to the indicated view will be returned.", +"enum": [ +"LABEL_VIEW_BASIC", +"LABEL_VIEW_FULL" +], +"enumDescriptions": [ +"Implies the field mask: `name,id,revision_id,label_type,properties.*`", +"All possible fields." +], +"type": "string" +}, +"writeControl": { +"$ref": "GoogleAppsDriveLabelsV2WriteControl", +"description": "Provides control over how write requests are executed." +} +}, +"type": "object" +}, +"GoogleAppsDriveLabelsV2DeltaUpdateLabelRequestCreateFieldRequest": { +"description": "Request to create a Field within a Label.", +"id": "GoogleAppsDriveLabelsV2DeltaUpdateLabelRequestCreateFieldRequest", +"properties": { +"field": { +"$ref": "GoogleAppsDriveLabelsV2Field", +"description": "Required. Field to create." +} +}, +"type": "object" +}, +"GoogleAppsDriveLabelsV2DeltaUpdateLabelRequestCreateSelectionChoiceRequest": { +"description": "Request to create a Selection Choice.", +"id": "GoogleAppsDriveLabelsV2DeltaUpdateLabelRequestCreateSelectionChoiceRequest", +"properties": { +"choice": { +"$ref": "GoogleAppsDriveLabelsV2FieldSelectionOptionsChoice", +"description": "Required. The Choice to create." +}, +"fieldId": { +"description": "Required. The Selection Field in which a Choice will be created.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleAppsDriveLabelsV2DeltaUpdateLabelRequestDeleteFieldRequest": { +"description": "Request to delete the Field.", +"id": "GoogleAppsDriveLabelsV2DeltaUpdateLabelRequestDeleteFieldRequest", +"properties": { +"id": { +"description": "Required. ID of the Field to delete.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleAppsDriveLabelsV2DeltaUpdateLabelRequestDeleteSelectionChoiceRequest": { +"description": "Request to delete a Choice.", +"id": "GoogleAppsDriveLabelsV2DeltaUpdateLabelRequestDeleteSelectionChoiceRequest", +"properties": { +"fieldId": { +"description": "Required. The Selection Field from which a Choice will be deleted.", +"type": "string" +}, +"id": { +"description": "Required. Choice to delete.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleAppsDriveLabelsV2DeltaUpdateLabelRequestDisableFieldRequest": { +"description": "Request to disable the Field.", +"id": "GoogleAppsDriveLabelsV2DeltaUpdateLabelRequestDisableFieldRequest", +"properties": { +"disabledPolicy": { +"$ref": "GoogleAppsDriveLabelsV2LifecycleDisabledPolicy", +"description": "Required. Field Disabled Policy." +}, +"id": { +"description": "Required. Key of the Field to disable.", +"type": "string" +}, +"updateMask": { +"description": "The fields that should be updated. At least one field must be specified. The root `disabled_policy` is implied and should not be specified. A single `*` can be used as short-hand for updating every field.", +"format": "google-fieldmask", +"type": "string" +} +}, +"type": "object" +}, +"GoogleAppsDriveLabelsV2DeltaUpdateLabelRequestDisableSelectionChoiceRequest": { +"description": "Request to disable a Choice.", +"id": "GoogleAppsDriveLabelsV2DeltaUpdateLabelRequestDisableSelectionChoiceRequest", +"properties": { +"disabledPolicy": { +"$ref": "GoogleAppsDriveLabelsV2LifecycleDisabledPolicy", +"description": "Required. The disabled policy to update." +}, +"fieldId": { +"description": "Required. The Selection Field in which a Choice will be disabled.", +"type": "string" +}, +"id": { +"description": "Required. Choice to disable.", +"type": "string" +}, +"updateMask": { +"description": "The fields that should be updated. At least one field must be specified. The root `disabled_policy` is implied and should not be specified. A single `*` can be used as short-hand for updating every field.", +"format": "google-fieldmask", +"type": "string" +} +}, +"type": "object" +}, +"GoogleAppsDriveLabelsV2DeltaUpdateLabelRequestEnableFieldRequest": { +"description": "Request to enable the Field.", +"id": "GoogleAppsDriveLabelsV2DeltaUpdateLabelRequestEnableFieldRequest", +"properties": { +"id": { +"description": "Required. ID of the Field to enable.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleAppsDriveLabelsV2DeltaUpdateLabelRequestEnableSelectionChoiceRequest": { +"description": "Request to enable a Choice.", +"id": "GoogleAppsDriveLabelsV2DeltaUpdateLabelRequestEnableSelectionChoiceRequest", +"properties": { +"fieldId": { +"description": "Required. The Selection Field in which a Choice will be enabled.", +"type": "string" +}, +"id": { +"description": "Required. Choice to enable.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleAppsDriveLabelsV2DeltaUpdateLabelRequestRequest": { +"description": "A single kind of update to apply to a Label.", +"id": "GoogleAppsDriveLabelsV2DeltaUpdateLabelRequestRequest", +"properties": { +"createField": { +"$ref": "GoogleAppsDriveLabelsV2DeltaUpdateLabelRequestCreateFieldRequest", +"description": "Creates a new Field." +}, +"createSelectionChoice": { +"$ref": "GoogleAppsDriveLabelsV2DeltaUpdateLabelRequestCreateSelectionChoiceRequest", +"description": "Creates Choice within a Selection field." +}, +"deleteField": { +"$ref": "GoogleAppsDriveLabelsV2DeltaUpdateLabelRequestDeleteFieldRequest", +"description": "Deletes a Field from the label." +}, +"deleteSelectionChoice": { +"$ref": "GoogleAppsDriveLabelsV2DeltaUpdateLabelRequestDeleteSelectionChoiceRequest", +"description": "Delete a Choice within a Selection Field." +}, +"disableField": { +"$ref": "GoogleAppsDriveLabelsV2DeltaUpdateLabelRequestDisableFieldRequest", +"description": "Disables the Field." +}, +"disableSelectionChoice": { +"$ref": "GoogleAppsDriveLabelsV2DeltaUpdateLabelRequestDisableSelectionChoiceRequest", +"description": "Disable a Choice within a Selection Field." +}, +"enableField": { +"$ref": "GoogleAppsDriveLabelsV2DeltaUpdateLabelRequestEnableFieldRequest", +"description": "Enables the Field." +}, +"enableSelectionChoice": { +"$ref": "GoogleAppsDriveLabelsV2DeltaUpdateLabelRequestEnableSelectionChoiceRequest", +"description": "Enable a Choice within a Selection Field." +}, +"updateField": { +"$ref": "GoogleAppsDriveLabelsV2DeltaUpdateLabelRequestUpdateFieldPropertiesRequest", +"description": "Updates basic properties of a Field." +}, +"updateFieldType": { +"$ref": "GoogleAppsDriveLabelsV2DeltaUpdateLabelRequestUpdateFieldTypeRequest", +"description": "Update Field type and/or type options." +}, +"updateLabel": { +"$ref": "GoogleAppsDriveLabelsV2DeltaUpdateLabelRequestUpdateLabelPropertiesRequest", +"description": "Updates the Label properties." +}, +"updateSelectionChoiceProperties": { +"$ref": "GoogleAppsDriveLabelsV2DeltaUpdateLabelRequestUpdateSelectionChoicePropertiesRequest", +"description": "Update a Choice properties within a Selection Field." +} +}, +"type": "object" +}, +"GoogleAppsDriveLabelsV2DeltaUpdateLabelRequestUpdateFieldPropertiesRequest": { +"description": "Request to update Field properties.", +"id": "GoogleAppsDriveLabelsV2DeltaUpdateLabelRequestUpdateFieldPropertiesRequest", +"properties": { +"id": { +"description": "Required. The Field to update.", +"type": "string" +}, +"properties": { +"$ref": "GoogleAppsDriveLabelsV2FieldProperties", +"description": "Required. Basic Field properties." +}, +"updateMask": { +"description": "The fields that should be updated. At least one field must be specified. The root `properties` is implied and should not be specified. A single `*` can be used as short-hand for updating every field.", +"format": "google-fieldmask", +"type": "string" +} +}, +"type": "object" +}, +"GoogleAppsDriveLabelsV2DeltaUpdateLabelRequestUpdateFieldTypeRequest": { +"description": "Request to change the type of a Field.", +"id": "GoogleAppsDriveLabelsV2DeltaUpdateLabelRequestUpdateFieldTypeRequest", +"properties": { +"dateOptions": { +"$ref": "GoogleAppsDriveLabelsV2FieldDateOptions", +"description": "Update field to Date." +}, +"id": { +"description": "Required. The Field to update.", +"type": "string" +}, +"integerOptions": { +"$ref": "GoogleAppsDriveLabelsV2FieldIntegerOptions", +"description": "Update field to Integer." +}, +"selectionOptions": { +"$ref": "GoogleAppsDriveLabelsV2FieldSelectionOptions", +"description": "Update field to Selection." +}, +"textOptions": { +"$ref": "GoogleAppsDriveLabelsV2FieldTextOptions", +"description": "Update field to Text." +}, +"updateMask": { +"description": "The fields that should be updated. At least one field must be specified. The root of `type_options` is implied and should not be specified. A single `*` can be used as short-hand for updating every field.", +"format": "google-fieldmask", +"type": "string" +}, +"userOptions": { +"$ref": "GoogleAppsDriveLabelsV2FieldUserOptions", +"description": "Update field to User." +} +}, +"type": "object" +}, +"GoogleAppsDriveLabelsV2DeltaUpdateLabelRequestUpdateLabelPropertiesRequest": { +"description": "Updates basic properties of a Label.", +"id": "GoogleAppsDriveLabelsV2DeltaUpdateLabelRequestUpdateLabelPropertiesRequest", +"properties": { +"properties": { +"$ref": "GoogleAppsDriveLabelsV2LabelProperties", +"description": "Required. Label properties to update." +}, +"updateMask": { +"description": "The fields that should be updated. At least one field must be specified. The root `label_properties` is implied and should not be specified. A single `*` can be used as short-hand for updating every field.", +"format": "google-fieldmask", +"type": "string" +} +}, +"type": "object" +}, +"GoogleAppsDriveLabelsV2DeltaUpdateLabelRequestUpdateSelectionChoicePropertiesRequest": { +"description": "Request to update a Choice properties.", +"id": "GoogleAppsDriveLabelsV2DeltaUpdateLabelRequestUpdateSelectionChoicePropertiesRequest", +"properties": { +"fieldId": { +"description": "Required. The Selection Field to update.", +"type": "string" +}, +"id": { +"description": "Required. The Choice to update.", +"type": "string" +}, +"properties": { +"$ref": "GoogleAppsDriveLabelsV2FieldSelectionOptionsChoiceProperties", +"description": "Required. The Choice properties to update." +}, +"updateMask": { +"description": "The fields that should be updated. At least one field must be specified. The root `properties` is implied and should not be specified. A single `*` can be used as short-hand for updating every field.", +"format": "google-fieldmask", +"type": "string" +} +}, +"type": "object" +}, +"GoogleAppsDriveLabelsV2DeltaUpdateLabelResponse": { +"description": "Response for Label update.", +"id": "GoogleAppsDriveLabelsV2DeltaUpdateLabelResponse", +"properties": { +"responses": { +"description": "The reply of the updates. This maps 1:1 with the updates, although responses to some requests may be empty.", +"items": { +"$ref": "GoogleAppsDriveLabelsV2DeltaUpdateLabelResponseResponse" +}, +"type": "array" +}, +"updatedLabel": { +"$ref": "GoogleAppsDriveLabelsV2Label", +"description": "The label after updates were applied. This is only set if [BatchUpdateLabelResponse2.include_label_in_response] is `true` and there were no errors." +} +}, +"type": "object" +}, +"GoogleAppsDriveLabelsV2DeltaUpdateLabelResponseCreateFieldResponse": { +"description": "Response following Field create.", +"id": "GoogleAppsDriveLabelsV2DeltaUpdateLabelResponseCreateFieldResponse", +"properties": { +"id": { +"description": "The field of the created field. When left blank in a create request, a key will be autogenerated and can be identified here.", +"type": "string" +}, +"priority": { +"description": "The priority of the created field. The priority may change from what was specified to assure contiguous priorities between fields (1-n).", +"format": "int32", +"type": "integer" +} +}, +"type": "object" +}, +"GoogleAppsDriveLabelsV2DeltaUpdateLabelResponseCreateSelectionChoiceResponse": { +"description": "Response following Selection Choice create.", +"id": "GoogleAppsDriveLabelsV2DeltaUpdateLabelResponseCreateSelectionChoiceResponse", +"properties": { +"fieldId": { +"description": "The server-generated id of the field.", +"type": "string" +}, +"id": { +"description": "The server-generated ID of the created choice within the Field", +"type": "string" +} +}, +"type": "object" +}, +"GoogleAppsDriveLabelsV2DeltaUpdateLabelResponseDeleteFieldResponse": { +"description": "Response following Field delete.", +"id": "GoogleAppsDriveLabelsV2DeltaUpdateLabelResponseDeleteFieldResponse", +"properties": {}, +"type": "object" +}, +"GoogleAppsDriveLabelsV2DeltaUpdateLabelResponseDeleteSelectionChoiceResponse": { +"description": "Response following Choice delete.", +"id": "GoogleAppsDriveLabelsV2DeltaUpdateLabelResponseDeleteSelectionChoiceResponse", +"properties": {}, +"type": "object" +}, +"GoogleAppsDriveLabelsV2DeltaUpdateLabelResponseDisableFieldResponse": { +"description": "Response following Field disable.", +"id": "GoogleAppsDriveLabelsV2DeltaUpdateLabelResponseDisableFieldResponse", +"properties": {}, +"type": "object" +}, +"GoogleAppsDriveLabelsV2DeltaUpdateLabelResponseDisableSelectionChoiceResponse": { +"description": "Response following Choice disable.", +"id": "GoogleAppsDriveLabelsV2DeltaUpdateLabelResponseDisableSelectionChoiceResponse", +"properties": {}, +"type": "object" +}, +"GoogleAppsDriveLabelsV2DeltaUpdateLabelResponseEnableFieldResponse": { +"description": "Response following Field enable.", +"id": "GoogleAppsDriveLabelsV2DeltaUpdateLabelResponseEnableFieldResponse", +"properties": {}, +"type": "object" +}, +"GoogleAppsDriveLabelsV2DeltaUpdateLabelResponseEnableSelectionChoiceResponse": { +"description": "Response following Choice enable.", +"id": "GoogleAppsDriveLabelsV2DeltaUpdateLabelResponseEnableSelectionChoiceResponse", +"properties": {}, +"type": "object" +}, +"GoogleAppsDriveLabelsV2DeltaUpdateLabelResponseResponse": { +"description": "A single response from an update.", +"id": "GoogleAppsDriveLabelsV2DeltaUpdateLabelResponseResponse", +"properties": { +"createField": { +"$ref": "GoogleAppsDriveLabelsV2DeltaUpdateLabelResponseCreateFieldResponse", +"description": "Creates a new Field." +}, +"createSelectionChoice": { +"$ref": "GoogleAppsDriveLabelsV2DeltaUpdateLabelResponseCreateSelectionChoiceResponse", +"description": "Creates a new selection list option to add to a Selection Field." +}, +"deleteField": { +"$ref": "GoogleAppsDriveLabelsV2DeltaUpdateLabelResponseDeleteFieldResponse", +"description": "Deletes a Field from the label." +}, +"deleteSelectionChoice": { +"$ref": "GoogleAppsDriveLabelsV2DeltaUpdateLabelResponseDeleteSelectionChoiceResponse", +"description": "Deletes a Choice from a Selection Field." +}, +"disableField": { +"$ref": "GoogleAppsDriveLabelsV2DeltaUpdateLabelResponseDisableFieldResponse", +"description": "Disables Field." +}, +"disableSelectionChoice": { +"$ref": "GoogleAppsDriveLabelsV2DeltaUpdateLabelResponseDisableSelectionChoiceResponse", +"description": "Disables a Choice within a Selection Field." +}, +"enableField": { +"$ref": "GoogleAppsDriveLabelsV2DeltaUpdateLabelResponseEnableFieldResponse", +"description": "Enables Field." +}, +"enableSelectionChoice": { +"$ref": "GoogleAppsDriveLabelsV2DeltaUpdateLabelResponseEnableSelectionChoiceResponse", +"description": "Enables a Choice within a Selection Field." +}, +"updateField": { +"$ref": "GoogleAppsDriveLabelsV2DeltaUpdateLabelResponseUpdateFieldPropertiesResponse", +"description": "Updates basic properties of a Field." +}, +"updateFieldType": { +"$ref": "GoogleAppsDriveLabelsV2DeltaUpdateLabelResponseUpdateFieldTypeResponse", +"description": "Update Field type and/or type options." +}, +"updateLabel": { +"$ref": "GoogleAppsDriveLabelsV2DeltaUpdateLabelResponseUpdateLabelPropertiesResponse", +"description": "Updated basic properties of a Label." +}, +"updateSelectionChoiceProperties": { +"$ref": "GoogleAppsDriveLabelsV2DeltaUpdateLabelResponseUpdateSelectionChoicePropertiesResponse", +"description": "Updates a Choice within a Selection Field." +} +}, +"type": "object" +}, +"GoogleAppsDriveLabelsV2DeltaUpdateLabelResponseUpdateFieldPropertiesResponse": { +"description": "Response following update to Field properties.", +"id": "GoogleAppsDriveLabelsV2DeltaUpdateLabelResponseUpdateFieldPropertiesResponse", +"properties": { +"priority": { +"description": "The priority of the updated field. The priority may change from what was specified to assure contiguous priorities between fields (1-n).", +"format": "int32", +"type": "integer" +} +}, +"type": "object" +}, +"GoogleAppsDriveLabelsV2DeltaUpdateLabelResponseUpdateFieldTypeResponse": { +"description": "Response following update to Field type.", +"id": "GoogleAppsDriveLabelsV2DeltaUpdateLabelResponseUpdateFieldTypeResponse", +"properties": {}, +"type": "object" +}, +"GoogleAppsDriveLabelsV2DeltaUpdateLabelResponseUpdateLabelPropertiesResponse": { +"description": "Response following update to Label properties.", +"id": "GoogleAppsDriveLabelsV2DeltaUpdateLabelResponseUpdateLabelPropertiesResponse", +"properties": {}, +"type": "object" +}, +"GoogleAppsDriveLabelsV2DeltaUpdateLabelResponseUpdateSelectionChoicePropertiesResponse": { +"description": "Response following update to Selection Choice properties.", +"id": "GoogleAppsDriveLabelsV2DeltaUpdateLabelResponseUpdateSelectionChoicePropertiesResponse", +"properties": { +"priority": { +"description": "The priority of the updated choice. The priority may change from what was specified to assure contiguous priorities between choices (1-n).", +"format": "int32", +"type": "integer" +} +}, +"type": "object" +}, +"GoogleAppsDriveLabelsV2DisableLabelRequest": { +"description": "Request to deprecate a published Label.", +"id": "GoogleAppsDriveLabelsV2DisableLabelRequest", +"properties": { +"disabledPolicy": { +"$ref": "GoogleAppsDriveLabelsV2LifecycleDisabledPolicy", +"description": "Disabled policy to use." +}, +"languageCode": { +"description": "The BCP-47 language code to use for evaluating localized field labels. When not specified, values in the default configured language will be used.", +"type": "string" +}, +"updateMask": { +"description": "The fields that should be updated. At least one field must be specified. The root `disabled_policy` is implied and should not be specified. A single `*` can be used as short-hand for updating every field.", +"format": "google-fieldmask", +"type": "string" +}, +"useAdminAccess": { +"description": "Set to `true` in order to use the user's admin credentials. The server will verify the user is an admin for the Label before allowing access.", +"type": "boolean" +}, +"writeControl": { +"$ref": "GoogleAppsDriveLabelsV2WriteControl", +"description": "Provides control over how write requests are executed. Defaults to unset, which means last write wins." +} +}, +"type": "object" +}, +"GoogleAppsDriveLabelsV2EnableLabelRequest": { +"description": "Request to enable a label.", +"id": "GoogleAppsDriveLabelsV2EnableLabelRequest", +"properties": { +"languageCode": { +"description": "The BCP-47 language code to use for evaluating localized field labels. When not specified, values in the default configured language will be used.", +"type": "string" +}, +"useAdminAccess": { +"description": "Set to `true` in order to use the user's admin credentials. The server will verify the user is an admin for the Label before allowing access.", +"type": "boolean" +}, +"writeControl": { +"$ref": "GoogleAppsDriveLabelsV2WriteControl", +"description": "Provides control over how write requests are executed. Defaults to unset, which means last write wins." +} +}, +"type": "object" +}, +"GoogleAppsDriveLabelsV2Field": { +"description": "Defines a field that has a display name, data type, and other configuration options. This field defines the kind of metadata that may be set on a Drive item.", +"id": "GoogleAppsDriveLabelsV2Field", +"properties": { +"appliedCapabilities": { +"$ref": "GoogleAppsDriveLabelsV2FieldAppliedCapabilities", +"description": "Output only. The capabilities this user has on this field and its value when the label is applied on Drive items.", +"readOnly": true +}, +"createTime": { +"description": "Output only. The time this field was created.", +"format": "google-datetime", +"readOnly": true, +"type": "string" +}, +"creator": { +"$ref": "GoogleAppsDriveLabelsV2UserInfo", +"description": "Output only. The user who created this field.", +"readOnly": true +}, +"dateOptions": { +"$ref": "GoogleAppsDriveLabelsV2FieldDateOptions", +"description": "Date field options." +}, +"disableTime": { +"description": "Output only. The time this field was disabled. This value has no meaning when the field is not disabled.", +"format": "google-datetime", +"readOnly": true, +"type": "string" +}, +"disabler": { +"$ref": "GoogleAppsDriveLabelsV2UserInfo", +"description": "Output only. The user who disabled this field. This value has no meaning when the field is not disabled.", +"readOnly": true +}, +"displayHints": { +"$ref": "GoogleAppsDriveLabelsV2FieldDisplayHints", +"description": "Output only. UI display hints for rendering a field.", +"readOnly": true +}, +"id": { +"description": "Output only. The key of a field, unique within a label or library. This value is autogenerated. Matches the regex: `([a-zA-Z0-9])+`", +"readOnly": true, +"type": "string" +}, +"integerOptions": { +"$ref": "GoogleAppsDriveLabelsV2FieldIntegerOptions", +"description": "Integer field options." +}, +"lifecycle": { +"$ref": "GoogleAppsDriveLabelsV2Lifecycle", +"description": "Output only. The lifecycle of this field.", +"readOnly": true +}, +"lockStatus": { +"$ref": "GoogleAppsDriveLabelsV2LockStatus", +"description": "Output only. The LockStatus of this field.", +"readOnly": true +}, +"properties": { +"$ref": "GoogleAppsDriveLabelsV2FieldProperties", +"description": "The basic properties of the field." +}, +"publisher": { +"$ref": "GoogleAppsDriveLabelsV2UserInfo", +"description": "Output only. The user who published this field. This value has no meaning when the field is not published.", +"readOnly": true +}, +"queryKey": { +"description": "Output only. The key to use when constructing Drive search queries to find files based on values defined for this field on files. For example, \"`{query_key}` > 2001-01-01\".", +"readOnly": true, +"type": "string" +}, +"schemaCapabilities": { +"$ref": "GoogleAppsDriveLabelsV2FieldSchemaCapabilities", +"description": "Output only. The capabilities this user has when editing this field.", +"readOnly": true +}, +"selectionOptions": { +"$ref": "GoogleAppsDriveLabelsV2FieldSelectionOptions", +"description": "Selection field options." +}, +"textOptions": { +"$ref": "GoogleAppsDriveLabelsV2FieldTextOptions", +"description": "Text field options." +}, +"updateTime": { +"description": "Output only. The time this field was updated.", +"format": "google-datetime", +"readOnly": true, +"type": "string" +}, +"updater": { +"$ref": "GoogleAppsDriveLabelsV2UserInfo", +"description": "Output only. The user who modified this field.", +"readOnly": true +}, +"userOptions": { +"$ref": "GoogleAppsDriveLabelsV2FieldUserOptions", +"description": "User field options." +} +}, +"type": "object" +}, +"GoogleAppsDriveLabelsV2FieldAppliedCapabilities": { +"description": "The capabilities related to this field on applied metadata.", +"id": "GoogleAppsDriveLabelsV2FieldAppliedCapabilities", +"properties": { +"canRead": { +"description": "Whether the user can read related applied metadata on items.", +"type": "boolean" +}, +"canSearch": { +"description": "Whether the user can search for Drive items referencing this field.", +"type": "boolean" +}, +"canWrite": { +"description": "Whether the user can set this field on Drive items.", +"type": "boolean" +} +}, +"type": "object" +}, +"GoogleAppsDriveLabelsV2FieldDateOptions": { +"description": "Options for the date field type.", +"id": "GoogleAppsDriveLabelsV2FieldDateOptions", +"properties": { +"dateFormat": { +"description": "Output only. ICU date format.", +"readOnly": true, +"type": "string" +}, +"dateFormatType": { +"description": "Localized date formatting option. Field values are rendered in this format according to their locale.", +"enum": [ +"DATE_FORMAT_UNSPECIFIED", +"LONG_DATE", +"SHORT_DATE" +], +"enumDescriptions": [ +"Date format unspecified.", +"Includes full month name. For example, January 12, 1999 (MMMM d, y)", +"Short, numeric, representation. For example, 12/13/99 (M/d/yy)" +], +"type": "string" +}, +"maxValue": { +"$ref": "GoogleTypeDate", +"description": "Output only. Maximum valid value (year, month, day).", +"readOnly": true +}, +"minValue": { +"$ref": "GoogleTypeDate", +"description": "Output only. Minimum valid value (year, month, day).", +"readOnly": true +} +}, +"type": "object" +}, +"GoogleAppsDriveLabelsV2FieldDisplayHints": { +"description": "UI display hints for rendering a field.", +"id": "GoogleAppsDriveLabelsV2FieldDisplayHints", +"properties": { +"disabled": { +"description": "Whether the field should be shown in the UI as disabled.", +"type": "boolean" +}, +"hiddenInSearch": { +"description": "This field should be hidden in the search menu when searching for Drive items.", +"type": "boolean" +}, +"required": { +"description": "Whether the field should be shown as required in the UI.", +"type": "boolean" +}, +"shownInApply": { +"description": "This field should be shown in the apply menu when applying values to a Drive item.", +"type": "boolean" +} +}, +"type": "object" +}, +"GoogleAppsDriveLabelsV2FieldIntegerOptions": { +"description": "Options for the Integer field type.", +"id": "GoogleAppsDriveLabelsV2FieldIntegerOptions", +"properties": { +"maxValue": { +"description": "Output only. The maximum valid value for the integer field.", +"format": "int64", +"readOnly": true, +"type": "string" +}, +"minValue": { +"description": "Output only. The minimum valid value for the integer field.", +"format": "int64", +"readOnly": true, +"type": "string" +} +}, +"type": "object" +}, +"GoogleAppsDriveLabelsV2FieldLimits": { +"description": "Field constants governing the structure of a Field; such as, the maximum title length, minimum and maximum field values or length, etc.", +"id": "GoogleAppsDriveLabelsV2FieldLimits", +"properties": { +"dateLimits": { +"$ref": "GoogleAppsDriveLabelsV2DateLimits", +"description": "Date Field limits." +}, +"integerLimits": { +"$ref": "GoogleAppsDriveLabelsV2IntegerLimits", +"description": "Integer Field limits." +}, +"longTextLimits": { +"$ref": "GoogleAppsDriveLabelsV2LongTextLimits", +"description": "Long text Field limits." +}, +"maxDescriptionLength": { +"description": "Limits for Field description, also called help text.", +"format": "int32", +"type": "integer" +}, +"maxDisplayNameLength": { +"description": "Limits for Field title.", +"format": "int32", +"type": "integer" +}, +"maxIdLength": { +"description": "Max length for the id.", +"format": "int32", +"type": "integer" +}, +"selectionLimits": { +"$ref": "GoogleAppsDriveLabelsV2SelectionLimits", +"description": "Selection Field limits." +}, +"textLimits": { +"$ref": "GoogleAppsDriveLabelsV2TextLimits", +"description": "The relevant limits for the specified Field.Type. Text Field limits." +}, +"userLimits": { +"$ref": "GoogleAppsDriveLabelsV2UserLimits", +"description": "User Field limits." +} +}, +"type": "object" +}, +"GoogleAppsDriveLabelsV2FieldListOptions": { +"description": "Options for a multi-valued variant of an associated field type.", +"id": "GoogleAppsDriveLabelsV2FieldListOptions", +"properties": { +"maxEntries": { +"description": "Maximum number of entries permitted.", +"format": "int32", +"type": "integer" +} +}, +"type": "object" +}, +"GoogleAppsDriveLabelsV2FieldProperties": { +"description": "The basic properties of the field.", +"id": "GoogleAppsDriveLabelsV2FieldProperties", +"properties": { +"displayName": { +"description": "Required. The display text to show in the UI identifying this field.", +"type": "string" +}, +"insertBeforeField": { +"description": "Input only. Insert or move this field before the indicated field. If empty, the field is placed at the end of the list.", +"type": "string" +}, +"required": { +"description": "Whether the field should be marked as required.", +"type": "boolean" +} +}, +"type": "object" +}, +"GoogleAppsDriveLabelsV2FieldSchemaCapabilities": { +"description": "The capabilities related to this field when editing the field.", +"id": "GoogleAppsDriveLabelsV2FieldSchemaCapabilities", +"properties": { +"canDelete": { +"description": "Whether the user can delete this field. The user must have permission and the field must be deprecated.", +"type": "boolean" +}, +"canDisable": { +"description": "Whether the user can disable this field. The user must have permission and this field must not already be disabled.", +"type": "boolean" +}, +"canEnable": { +"description": "Whether the user can enable this field. The user must have permission and this field must be disabled.", +"type": "boolean" +}, +"canUpdate": { +"description": "Whether the user can change this field.", +"type": "boolean" +} +}, +"type": "object" +}, +"GoogleAppsDriveLabelsV2FieldSelectionOptions": { +"description": "Options for the selection field type.", +"id": "GoogleAppsDriveLabelsV2FieldSelectionOptions", +"properties": { +"choices": { +"description": "The options available for this selection field. The list order is consistent, and modified with `insert_before_choice`.", +"items": { +"$ref": "GoogleAppsDriveLabelsV2FieldSelectionOptionsChoice" +}, +"type": "array" +}, +"listOptions": { +"$ref": "GoogleAppsDriveLabelsV2FieldListOptions", +"description": "When specified, indicates this field supports a list of values. Once the field is published, this cannot be changed." +} +}, +"type": "object" +}, +"GoogleAppsDriveLabelsV2FieldSelectionOptionsChoice": { +"description": "Selection field choice.", +"id": "GoogleAppsDriveLabelsV2FieldSelectionOptionsChoice", +"properties": { +"appliedCapabilities": { +"$ref": "GoogleAppsDriveLabelsV2FieldSelectionOptionsChoiceAppliedCapabilities", +"description": "Output only. The capabilities related to this choice on applied metadata.", +"readOnly": true +}, +"createTime": { +"description": "Output only. The time this choice was created.", +"format": "google-datetime", +"readOnly": true, +"type": "string" +}, +"creator": { +"$ref": "GoogleAppsDriveLabelsV2UserInfo", +"description": "Output only. The user who created this choice.", +"readOnly": true +}, +"disableTime": { +"description": "Output only. The time this choice was disabled. This value has no meaning when the choice is not disabled.", +"format": "google-datetime", +"readOnly": true, +"type": "string" +}, +"disabler": { +"$ref": "GoogleAppsDriveLabelsV2UserInfo", +"description": "Output only. The user who disabled this choice. This value has no meaning when the option is not disabled.", +"readOnly": true +}, +"displayHints": { +"$ref": "GoogleAppsDriveLabelsV2FieldSelectionOptionsChoiceDisplayHints", +"description": "Output only. UI display hints for rendering a choice.", +"readOnly": true +}, +"id": { +"description": "The unique value of the choice. This ID is autogenerated. Matches the regex: `([a-zA-Z0-9_])+`.", +"type": "string" +}, +"lifecycle": { +"$ref": "GoogleAppsDriveLabelsV2Lifecycle", +"description": "Output only. Lifecycle of the choice.", +"readOnly": true +}, +"lockStatus": { +"$ref": "GoogleAppsDriveLabelsV2LockStatus", +"description": "Output only. The LockStatus of this choice.", +"readOnly": true +}, +"properties": { +"$ref": "GoogleAppsDriveLabelsV2FieldSelectionOptionsChoiceProperties", +"description": "Basic properties of the choice." +}, +"publishTime": { +"description": "Output only. The time this choice was published. This value has no meaning when the choice is not published.", +"format": "google-datetime", +"readOnly": true, +"type": "string" +}, +"publisher": { +"$ref": "GoogleAppsDriveLabelsV2UserInfo", +"description": "Output only. The user who published this choice. This value has no meaning when the choice is not published.", +"readOnly": true +}, +"schemaCapabilities": { +"$ref": "GoogleAppsDriveLabelsV2FieldSelectionOptionsChoiceSchemaCapabilities", +"description": "Output only. The capabilities related to this option when editing the option.", +"readOnly": true +}, +"updateTime": { +"description": "Output only. The time this choice was updated last.", +"format": "google-datetime", +"readOnly": true, +"type": "string" +}, +"updater": { +"$ref": "GoogleAppsDriveLabelsV2UserInfo", +"description": "Output only. The user who updated this choice last.", +"readOnly": true +} +}, +"type": "object" +}, +"GoogleAppsDriveLabelsV2FieldSelectionOptionsChoiceAppliedCapabilities": { +"description": "The capabilities related to this choice on applied metadata.", +"id": "GoogleAppsDriveLabelsV2FieldSelectionOptionsChoiceAppliedCapabilities", +"properties": { +"canRead": { +"description": "Whether the user can read related applied metadata on items.", +"type": "boolean" +}, +"canSearch": { +"description": "Whether the user can use this choice in search queries.", +"type": "boolean" +}, +"canSelect": { +"description": "Whether the user can select this choice on an item.", +"type": "boolean" +} +}, +"type": "object" +}, +"GoogleAppsDriveLabelsV2FieldSelectionOptionsChoiceDisplayHints": { +"description": "UI display hints for rendering an option.", +"id": "GoogleAppsDriveLabelsV2FieldSelectionOptionsChoiceDisplayHints", +"properties": { +"badgeColors": { +"$ref": "GoogleAppsDriveLabelsV2BadgeColors", +"description": "The colors to use for the badge. Changed to Google Material colors based on the chosen `properties.badge_config.color`." +}, +"badgePriority": { +"description": "The priority of this badge. Used to compare and sort between multiple badges. A lower number means the badge should be shown first. When a badging configuration is not present, this will be 0. Otherwise, this will be set to `BadgeConfig.priority_override` or the default heuristic which prefers creation date of the label, and field and option priority.", +"format": "int64", +"type": "string" +}, +"darkBadgeColors": { +"$ref": "GoogleAppsDriveLabelsV2BadgeColors", +"description": "The dark-mode color to use for the badge. Changed to Google Material colors based on the chosen `properties.badge_config.color`." +}, +"disabled": { +"description": "Whether the option should be shown in the UI as disabled.", +"type": "boolean" +}, +"hiddenInSearch": { +"description": "This option should be hidden in the search menu when searching for Drive items.", +"type": "boolean" +}, +"shownInApply": { +"description": "This option should be shown in the apply menu when applying values to a Drive item.", +"type": "boolean" +} +}, +"type": "object" +}, +"GoogleAppsDriveLabelsV2FieldSelectionOptionsChoiceProperties": { +"description": "Basic properties of the choice.", +"id": "GoogleAppsDriveLabelsV2FieldSelectionOptionsChoiceProperties", +"properties": { +"badgeConfig": { +"$ref": "GoogleAppsDriveLabelsV2BadgeConfig", +"description": "The badge configuration for this choice. When set, the label that owns this choice is considered a \"badged label\"." +}, +"description": { +"description": "The description of this label.", +"type": "string" +}, +"displayName": { +"description": "Required. The display text to show in the UI identifying this field.", +"type": "string" +}, +"insertBeforeChoice": { +"description": "Input only. Insert or move this choice before the indicated choice. If empty, the choice is placed at the end of the list.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleAppsDriveLabelsV2FieldSelectionOptionsChoiceSchemaCapabilities": { +"description": "The capabilities related to this choice when editing the choice.", +"id": "GoogleAppsDriveLabelsV2FieldSelectionOptionsChoiceSchemaCapabilities", +"properties": { +"canDelete": { +"description": "Whether the user can delete this choice.", +"type": "boolean" +}, +"canDisable": { +"description": "Whether the user can disable this choice.", +"type": "boolean" +}, +"canEnable": { +"description": "Whether the user can enable this choice.", +"type": "boolean" +}, +"canUpdate": { +"description": "Whether the user can update this choice.", +"type": "boolean" +} +}, +"type": "object" +}, +"GoogleAppsDriveLabelsV2FieldTextOptions": { +"description": "Options for the Text field type.", +"id": "GoogleAppsDriveLabelsV2FieldTextOptions", +"properties": { +"maxLength": { +"description": "Output only. The maximum valid length of values for the text field.", +"format": "int32", +"readOnly": true, +"type": "integer" +}, +"minLength": { +"description": "Output only. The minimum valid length of values for the text field.", +"format": "int32", +"readOnly": true, +"type": "integer" +} +}, +"type": "object" +}, +"GoogleAppsDriveLabelsV2FieldUserOptions": { +"description": "Options for the user field type.", +"id": "GoogleAppsDriveLabelsV2FieldUserOptions", +"properties": { +"listOptions": { +"$ref": "GoogleAppsDriveLabelsV2FieldListOptions", +"description": "When specified, indicates that this field supports a list of values. Once the field is published, this cannot be changed." +} +}, +"type": "object" +}, +"GoogleAppsDriveLabelsV2IntegerLimits": { +"description": "Limits for integer Field type.", +"id": "GoogleAppsDriveLabelsV2IntegerLimits", +"properties": { +"maxValue": { +"description": "Maximum value for an integer Field type.", +"format": "int64", +"type": "string" +}, +"minValue": { +"description": "Minimum value for an integer Field type.", +"format": "int64", +"type": "string" +} +}, +"type": "object" +}, +"GoogleAppsDriveLabelsV2Label": { +"description": "A label defines a taxonomy that can be applied to Drive items in order to organize and search across items. Labels can be simple strings, or can contain fields that describe additional metadata that can be further used to organize and search Drive items.", +"id": "GoogleAppsDriveLabelsV2Label", +"properties": { +"appliedCapabilities": { +"$ref": "GoogleAppsDriveLabelsV2LabelAppliedCapabilities", +"description": "Output only. The capabilities related to this label on applied metadata.", +"readOnly": true +}, +"appliedLabelPolicy": { +"$ref": "GoogleAppsDriveLabelsV2LabelAppliedLabelPolicy", +"description": "Output only. Behavior of this label when it's applied to Drive items.", +"readOnly": true +}, +"createTime": { +"description": "Output only. The time this label was created.", +"format": "google-datetime", +"readOnly": true, +"type": "string" +}, +"creator": { +"$ref": "GoogleAppsDriveLabelsV2UserInfo", +"description": "Output only. The user who created this label.", +"readOnly": true +}, +"customer": { +"description": "Output only. The customer this label belongs to. For example: \"customers/123abc789.\"", +"readOnly": true, +"type": "string" +}, +"disableTime": { +"description": "Output only. The time this label was disabled. This value has no meaning when the label is not disabled.", +"format": "google-datetime", +"readOnly": true, +"type": "string" +}, +"disabler": { +"$ref": "GoogleAppsDriveLabelsV2UserInfo", +"description": "Output only. The user who disabled this label. This value has no meaning when the label is not disabled.", +"readOnly": true +}, +"displayHints": { +"$ref": "GoogleAppsDriveLabelsV2LabelDisplayHints", +"description": "Output only. UI display hints for rendering the label.", +"readOnly": true +}, +"fields": { +"description": "List of fields in descending priority order.", +"items": { +"$ref": "GoogleAppsDriveLabelsV2Field" +}, +"type": "array" +}, +"id": { +"description": "Output only. Globally unique identifier of this label. ID makes up part of the label `name`, but unlike `name`, ID is consistent between revisions. Matches the regex: `([a-zA-Z0-9])+`", +"readOnly": true, +"type": "string" +}, +"labelType": { +"description": "Required. The type of label.", +"enum": [ +"LABEL_TYPE_UNSPECIFIED", +"SHARED", +"ADMIN", +"GOOGLE_APP" +], +"enumDescriptions": [ +"Unknown label type.", +"Shared labels may be shared with users to apply to Drive items.", +"Admin-owned label. Only creatable and editable by admins. Supports some additional admin-only features.", +"A label owned by an internal Google application rather than a customer. These labels are read-only." +], +"type": "string" +}, +"learnMoreUri": { +"description": "Custom URL to present to users to allow them to learn more about this label and how it should be used.", +"type": "string" +}, +"lifecycle": { +"$ref": "GoogleAppsDriveLabelsV2Lifecycle", +"description": "Output only. The lifecycle state of the label including whether it's published, deprecated, and has draft changes.", +"readOnly": true +}, +"lockStatus": { +"$ref": "GoogleAppsDriveLabelsV2LockStatus", +"description": "Output only. The LockStatus of this label.", +"readOnly": true +}, +"name": { +"description": "Output only. Resource name of the label. Will be in the form of either: `labels/{id}` or `labels/{id}@{revision_id}` depending on the request. See `id` and `revision_id` below.", +"readOnly": true, +"type": "string" +}, +"properties": { +"$ref": "GoogleAppsDriveLabelsV2LabelProperties", +"description": "Required. The basic properties of the label." +}, +"publishTime": { +"description": "Output only. The time this label was published. This value has no meaning when the label is not published.", +"format": "google-datetime", +"readOnly": true, +"type": "string" +}, +"publisher": { +"$ref": "GoogleAppsDriveLabelsV2UserInfo", +"description": "Output only. The user who published this label. This value has no meaning when the label is not published.", +"readOnly": true +}, +"revisionCreateTime": { +"description": "Output only. The time this label revision was created.", +"format": "google-datetime", +"readOnly": true, +"type": "string" +}, +"revisionCreator": { +"$ref": "GoogleAppsDriveLabelsV2UserInfo", +"description": "Output only. The user who created this label revision.", +"readOnly": true +}, +"revisionId": { +"description": "Output only. Revision ID of the label. Revision ID might be part of the label `name` depending on the request issued. A new revision is created whenever revisioned properties of a label are changed. Matches the regex: `([a-zA-Z0-9])+`", +"readOnly": true, +"type": "string" +}, +"schemaCapabilities": { +"$ref": "GoogleAppsDriveLabelsV2LabelSchemaCapabilities", +"description": "Output only. The capabilities the user has on this label.", +"readOnly": true +} +}, +"type": "object" +}, +"GoogleAppsDriveLabelsV2LabelAppliedCapabilities": { +"description": "The capabilities a user has on this label's applied metadata.", +"id": "GoogleAppsDriveLabelsV2LabelAppliedCapabilities", +"properties": { +"canApply": { +"description": "Whether the user can apply this label to items.", +"type": "boolean" +}, +"canRead": { +"description": "Whether the user can read applied metadata related to this label.", +"type": "boolean" +}, +"canRemove": { +"description": "Whether the user can remove this label from items.", +"type": "boolean" +} +}, +"type": "object" +}, +"GoogleAppsDriveLabelsV2LabelAppliedLabelPolicy": { +"description": "Behavior of this label when it's applied to Drive items.", +"id": "GoogleAppsDriveLabelsV2LabelAppliedLabelPolicy", +"properties": { +"copyMode": { +"description": "Indicates how the applied label and field values should be copied when a Drive item is copied.", +"enum": [ +"COPY_MODE_UNSPECIFIED", +"DO_NOT_COPY", +"ALWAYS_COPY", +"COPY_APPLIABLE" +], +"enumDescriptions": [ +"Copy mode unspecified.", +"The applied label and field values are not copied by default when the Drive item it's applied to is copied.", +"The applied label and field values are always copied when the Drive item it's applied to is copied. Only admins can use this mode.", +"The applied label and field values are copied if the label is appliable by the user making the copy." +], +"type": "string" +} +}, +"type": "object" +}, +"GoogleAppsDriveLabelsV2LabelDisplayHints": { +"description": "UI display hints for rendering the label.", +"id": "GoogleAppsDriveLabelsV2LabelDisplayHints", +"properties": { +"disabled": { +"description": "Whether the label should be shown in the UI as disabled.", +"type": "boolean" +}, +"hiddenInSearch": { +"description": "This label should be hidden in the search menu when searching for Drive items.", +"type": "boolean" +}, +"priority": { +"description": "Order to display label in a list.", +"format": "int64", +"type": "string" +}, +"shownInApply": { +"description": "This label should be shown in the apply menu when applying values to a Drive item.", +"type": "boolean" +} +}, +"type": "object" +}, +"GoogleAppsDriveLabelsV2LabelLimits": { +"description": "Label constraints governing the structure of a Label; such as, the maximum number of Fields allowed and maximum length of the label title.", +"id": "GoogleAppsDriveLabelsV2LabelLimits", +"properties": { +"fieldLimits": { +"$ref": "GoogleAppsDriveLabelsV2FieldLimits", +"description": "The limits for Fields." +}, +"maxDeletedFields": { +"description": "The maximum number of published Fields that can be deleted.", +"format": "int32", +"type": "integer" +}, +"maxDescriptionLength": { +"description": "The maximum number of characters allowed for the description.", +"format": "int32", +"type": "integer" +}, +"maxDraftRevisions": { +"description": "The maximum number of draft revisions that will be kept before deleting old drafts.", +"format": "int32", +"type": "integer" +}, +"maxFields": { +"description": "The maximum number of Fields allowed within the label.", +"format": "int32", +"type": "integer" +}, +"maxTitleLength": { +"description": "The maximum number of characters allowed for the title.", +"format": "int32", +"type": "integer" +}, +"name": { +"description": "Resource name.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleAppsDriveLabelsV2LabelLock": { +"description": "A Lock that can be applied to a Label, Field, or Choice.", +"id": "GoogleAppsDriveLabelsV2LabelLock", +"properties": { +"capabilities": { +"$ref": "GoogleAppsDriveLabelsV2LabelLockCapabilities", +"description": "Output only. The user's capabilities on this LabelLock.", +"readOnly": true +}, +"choiceId": { +"description": "The ID of the Selection Field Choice that should be locked. If present, `field_id` must also be present.", +"type": "string" +}, +"createTime": { +"description": "Output only. The time this LabelLock was created.", +"format": "google-datetime", +"readOnly": true, +"type": "string" +}, +"creator": { +"$ref": "GoogleAppsDriveLabelsV2UserInfo", +"description": "Output only. The user whose credentials were used to create the LabelLock. This will not be present if no user was responsible for creating the LabelLock.", +"readOnly": true +}, +"deleteTime": { +"description": "Output only. A timestamp indicating when this LabelLock was scheduled for deletion. This will be present only if this LabelLock is in the DELETING state.", +"format": "google-datetime", +"readOnly": true, +"type": "string" +}, +"fieldId": { +"description": "The ID of the Field that should be locked. Empty if the whole Label should be locked.", +"type": "string" +}, +"name": { +"description": "Output only. Resource name of this LabelLock.", +"readOnly": true, +"type": "string" +}, +"state": { +"description": "Output only. This LabelLock's state.", +"enum": [ +"STATE_UNSPECIFIED", +"ACTIVE", +"DELETING" +], +"enumDescriptions": [ +"Unknown state.", +"The LabelLock is active and is being enforced by the server.", +"The LabelLock is being deleted. The LabelLock will continue to be enforced by the server until it has been fully removed." +], +"readOnly": true, +"type": "string" +} +}, +"type": "object" +}, +"GoogleAppsDriveLabelsV2LabelLockCapabilities": { +"description": "A description of a user's capabilities on a LabelLock.", +"id": "GoogleAppsDriveLabelsV2LabelLockCapabilities", +"properties": { +"canViewPolicy": { +"description": "True if the user is authorized to view the policy.", +"type": "boolean" +} +}, +"type": "object" +}, +"GoogleAppsDriveLabelsV2LabelPermission": { +"description": "The permission that applies to a principal (user, group, audience) on a label.", +"id": "GoogleAppsDriveLabelsV2LabelPermission", +"properties": { +"audience": { +"description": "Audience to grant a role to. The magic value of `audiences/default` may be used to apply the role to the default audience in the context of the organization that owns the Label.", +"type": "string" +}, +"email": { +"description": "Specifies the email address for a user or group pricinpal. Not populated for audience principals. User and Group permissions may only be inserted using email address. On update requests, if email address is specified, no principal should be specified.", +"type": "string" +}, +"group": { +"description": "Group resource name.", +"type": "string" +}, +"name": { +"description": "Resource name of this permission.", +"type": "string" +}, +"person": { +"description": "Person resource name.", +"type": "string" +}, +"role": { +"description": "The role the principal should have.", +"enum": [ +"LABEL_ROLE_UNSPECIFIED", +"READER", +"APPLIER", +"ORGANIZER", +"EDITOR" +], +"enumDescriptions": [ +"Unknown role.", +"A reader can read the label and associated metadata applied to Drive items.", +"An applier can write associated metadata on Drive items in which they also have write access to. Implies `READER`.", +"An organizer can pin this label in shared drives they manage and add new appliers to the label.", +"Editors can make any update including deleting the label which also deletes the associated Drive item metadata. Implies `APPLIER`." +], +"type": "string" +} +}, +"type": "object" +}, +"GoogleAppsDriveLabelsV2LabelProperties": { +"description": "Basic properties of the label.", +"id": "GoogleAppsDriveLabelsV2LabelProperties", +"properties": { +"description": { +"description": "The description of the label.", +"type": "string" +}, +"title": { +"description": "Required. Title of the label.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleAppsDriveLabelsV2LabelSchemaCapabilities": { +"description": "The capabilities related to this label when editing the label.", +"id": "GoogleAppsDriveLabelsV2LabelSchemaCapabilities", +"properties": { +"canDelete": { +"description": "Whether the user can delete this label. The user must have permission and the label must be disabled.", +"type": "boolean" +}, +"canDisable": { +"description": "Whether the user can disable this label. The user must have permission and this label must not already be disabled.", +"type": "boolean" +}, +"canEnable": { +"description": "Whether the user can enable this label. The user must have permission and this label must be disabled.", +"type": "boolean" +}, +"canUpdate": { +"description": "Whether the user can change this label.", +"type": "boolean" +} +}, +"type": "object" +}, +"GoogleAppsDriveLabelsV2Lifecycle": { +"description": "The lifecycle state of an object, such as label, field, or choice. The lifecycle enforces the following transitions: * `UNPUBLISHED_DRAFT` (starting state) * `UNPUBLISHED_DRAFT` -> `PUBLISHED` * `UNPUBLISHED_DRAFT` -> (Deleted) * `PUBLISHED` -> `DISABLED` * `DISABLED` -> `PUBLISHED` * `DISABLED` -> (Deleted) The published and disabled states have some distinct characteristics: * Published\u2014Some kinds of changes might be made to an object in this state, in which case `has_unpublished_changes` will be true. Also, some kinds of changes are not permitted. Generally, any change that would invalidate or cause new restrictions on existing metadata related to the label are rejected. * Disabled\u2014When disabled, the configured `DisabledPolicy` takes effect.", +"id": "GoogleAppsDriveLabelsV2Lifecycle", +"properties": { +"disabledPolicy": { +"$ref": "GoogleAppsDriveLabelsV2LifecycleDisabledPolicy", +"description": "The policy that governs how to show a disabled label, field, or selection choice." +}, +"hasUnpublishedChanges": { +"description": "Output only. Whether the object associated with this lifecycle has unpublished changes.", +"readOnly": true, +"type": "boolean" +}, +"state": { +"description": "Output only. The state of the object associated with this lifecycle.", +"enum": [ +"STATE_UNSPECIFIED", +"UNPUBLISHED_DRAFT", +"PUBLISHED", +"DISABLED", +"DELETED" +], +"enumDescriptions": [ +"Unknown State.", +"The initial state of an object. Once published, the object can never return to this state. Once an object is published, certain kinds of changes are no longer permitted.", +"The object has been published. The object might have unpublished draft changes as indicated by `has_unpublished_changes`.", +"The object has been published and has since been disabled. The object might have unpublished draft changes as indicated by `has_unpublished_changes`.", +"The object has been deleted." +], +"readOnly": true, +"type": "string" +} +}, +"type": "object" +}, +"GoogleAppsDriveLabelsV2LifecycleDisabledPolicy": { +"description": "The policy that governs how to treat a disabled label, field, or selection choice in different contexts.", +"id": "GoogleAppsDriveLabelsV2LifecycleDisabledPolicy", +"properties": { +"hideInSearch": { +"description": "Whether to hide this disabled object in the search menu for Drive items. * When `false`, the object is generally shown in the UI as disabled but it appears in the search results when searching for Drive items. * When `true`, the object is generally hidden in the UI when searching for Drive items.", +"type": "boolean" +}, +"showInApply": { +"description": "Whether to show this disabled object in the apply menu on Drive items. * When `true`, the object is generally shown in the UI as disabled and is unselectable. * When `false`, the object is generally hidden in the UI.", +"type": "boolean" +} +}, +"type": "object" +}, +"GoogleAppsDriveLabelsV2ListLabelLocksResponse": { +"description": "The response to a ListLabelLocksRequest.", +"id": "GoogleAppsDriveLabelsV2ListLabelLocksResponse", +"properties": { +"labelLocks": { +"description": "LabelLocks.", +"items": { +"$ref": "GoogleAppsDriveLabelsV2LabelLock" +}, +"type": "array" +}, +"nextPageToken": { +"description": "The token of the next page in the response.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleAppsDriveLabelsV2ListLabelPermissionsResponse": { +"description": "Response for listing the permissions on a Label.", +"id": "GoogleAppsDriveLabelsV2ListLabelPermissionsResponse", +"properties": { +"labelPermissions": { +"description": "Label permissions.", +"items": { +"$ref": "GoogleAppsDriveLabelsV2LabelPermission" +}, +"type": "array" +}, +"nextPageToken": { +"description": "The token of the next page in the response.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleAppsDriveLabelsV2ListLabelsResponse": { +"description": "Response for listing Labels.", +"id": "GoogleAppsDriveLabelsV2ListLabelsResponse", +"properties": { +"labels": { +"description": "Labels.", +"items": { +"$ref": "GoogleAppsDriveLabelsV2Label" +}, +"type": "array" +}, +"nextPageToken": { +"description": "The token of the next page in the response.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleAppsDriveLabelsV2ListLimits": { +"description": "Limits for list-variant of a Field type.", +"id": "GoogleAppsDriveLabelsV2ListLimits", +"properties": { +"maxEntries": { +"description": "Maximum number of values allowed for the Field type.", +"format": "int32", +"type": "integer" +} +}, +"type": "object" +}, +"GoogleAppsDriveLabelsV2LockStatus": { +"description": "Contains information about whether a label component should be considered locked.", +"id": "GoogleAppsDriveLabelsV2LockStatus", +"properties": { +"locked": { +"description": "Output only. Indicates whether this label component is the (direct) target of a LabelLock. A label component can be implicitly locked even if it's not the direct target of a LabelLock, in which case this field is set to false.", +"readOnly": true, +"type": "boolean" +} +}, +"type": "object" +}, +"GoogleAppsDriveLabelsV2LongTextLimits": { +"description": "Limits for long text Field type.", +"id": "GoogleAppsDriveLabelsV2LongTextLimits", +"properties": { +"maxLength": { +"description": "Maximum length allowed for a long text Field type.", +"format": "int32", +"type": "integer" +}, +"minLength": { +"description": "Minimum length allowed for a long text Field type.", +"format": "int32", +"type": "integer" +} +}, +"type": "object" +}, +"GoogleAppsDriveLabelsV2PublishLabelRequest": { +"description": "Request to publish a label.", +"id": "GoogleAppsDriveLabelsV2PublishLabelRequest", +"properties": { +"languageCode": { +"description": "The BCP-47 language code to use for evaluating localized field labels. When not specified, values in the default configured language will be used.", +"type": "string" +}, +"useAdminAccess": { +"description": "Set to `true` in order to use the user's admin credentials. The server will verify the user is an admin for the Label before allowing access.", +"type": "boolean" +}, +"writeControl": { +"$ref": "GoogleAppsDriveLabelsV2WriteControl", +"description": "Provides control over how write requests are executed. Defaults to unset, which means last write wins." +} +}, +"type": "object" +}, +"GoogleAppsDriveLabelsV2SelectionLimits": { +"description": "Limits for selection Field type.", +"id": "GoogleAppsDriveLabelsV2SelectionLimits", +"properties": { +"listLimits": { +"$ref": "GoogleAppsDriveLabelsV2ListLimits", +"description": "Limits for list-variant of a Field type." +}, +"maxChoices": { +"description": "The max number of choices.", +"format": "int32", +"type": "integer" +}, +"maxDeletedChoices": { +"description": "Maximum number of deleted choices.", +"format": "int32", +"type": "integer" +}, +"maxDisplayNameLength": { +"description": "Maximum length for display name.", +"format": "int32", +"type": "integer" +}, +"maxIdLength": { +"description": "Maximum ID length for a selection options.", +"format": "int32", +"type": "integer" +} +}, +"type": "object" +}, +"GoogleAppsDriveLabelsV2TextLimits": { +"description": "Limits for text Field type.", +"id": "GoogleAppsDriveLabelsV2TextLimits", +"properties": { +"maxLength": { +"description": "Maximum length allowed for a text Field type.", +"format": "int32", +"type": "integer" +}, +"minLength": { +"description": "Minimum length allowed for a text Field type.", +"format": "int32", +"type": "integer" +} +}, +"type": "object" +}, +"GoogleAppsDriveLabelsV2UpdateLabelCopyModeRequest": { +"description": "Request to update the `CopyMode` of the given Label. Changes to this policy are not revisioned, do not require publishing, and take effect immediately. \\", +"id": "GoogleAppsDriveLabelsV2UpdateLabelCopyModeRequest", +"properties": { +"copyMode": { +"description": "Required. Indicates how the applied Label, and Field values should be copied when a Drive item is copied.", +"enum": [ +"COPY_MODE_UNSPECIFIED", +"DO_NOT_COPY", +"ALWAYS_COPY", +"COPY_APPLIABLE" +], +"enumDescriptions": [ +"Copy mode unspecified.", +"The applied label and field values are not copied by default when the Drive item it's applied to is copied.", +"The applied label and field values are always copied when the Drive item it's applied to is copied. Only admins can use this mode.", +"The applied label and field values are copied if the label is appliable by the user making the copy." +], +"type": "string" +}, +"languageCode": { +"description": "The BCP-47 language code to use for evaluating localized field labels. When not specified, values in the default configured language will be used.", +"type": "string" +}, +"useAdminAccess": { +"description": "Set to `true` in order to use the user's admin credentials. The server will verify the user is an admin for the Label before allowing access.", +"type": "boolean" +}, +"view": { +"description": "When specified, only certain fields belonging to the indicated view will be returned.", +"enum": [ +"LABEL_VIEW_BASIC", +"LABEL_VIEW_FULL" +], +"enumDescriptions": [ +"Implies the field mask: `name,id,revision_id,label_type,properties.*`", +"All possible fields." +], +"type": "string" +} +}, +"type": "object" +}, +"GoogleAppsDriveLabelsV2UpdateLabelPermissionRequest": { +"description": "Updates a Label Permission. Permissions affect the Label resource as a whole, are not revisioned, and do not require publishing.", +"id": "GoogleAppsDriveLabelsV2UpdateLabelPermissionRequest", +"properties": { +"labelPermission": { +"$ref": "GoogleAppsDriveLabelsV2LabelPermission", +"description": "Required. The permission to create or update on the Label." +}, +"parent": { +"description": "Required. The parent Label resource name.", +"type": "string" +}, +"useAdminAccess": { +"description": "Set to `true` in order to use the user's admin credentials. The server will verify the user is an admin for the Label before allowing access.", +"type": "boolean" +} +}, +"type": "object" +}, +"GoogleAppsDriveLabelsV2UserCapabilities": { +"description": "The capabilities of a user.", +"id": "GoogleAppsDriveLabelsV2UserCapabilities", +"properties": { +"canAccessLabelManager": { +"description": "Output only. Whether the user is allowed access to the label manager.", +"readOnly": true, +"type": "boolean" +}, +"canAdministrateLabels": { +"description": "Output only. Whether the user is an administrator for the shared labels feature.", +"readOnly": true, +"type": "boolean" +}, +"canCreateAdminLabels": { +"description": "Output only. Whether the user is allowed to create new admin labels.", +"readOnly": true, +"type": "boolean" +}, +"canCreateSharedLabels": { +"description": "Output only. Whether the user is allowed to create new shared labels.", +"readOnly": true, +"type": "boolean" +}, +"name": { +"description": "Output only. Resource name for the user capabilities.", +"readOnly": true, +"type": "string" +} +}, +"type": "object" +}, +"GoogleAppsDriveLabelsV2UserInfo": { +"description": "Information about a user.", +"id": "GoogleAppsDriveLabelsV2UserInfo", +"properties": { +"person": { +"description": "The identifier for this user that can be used with the People API to get more information. For example, people/12345678.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleAppsDriveLabelsV2UserLimits": { +"description": "Limits for Field.Type.USER.", +"id": "GoogleAppsDriveLabelsV2UserLimits", +"properties": { +"listLimits": { +"$ref": "GoogleAppsDriveLabelsV2ListLimits", +"description": "Limits for list-variant of a Field type." +} +}, +"type": "object" +}, +"GoogleAppsDriveLabelsV2WriteControl": { +"description": "Provides control over how write requests are executed. When not specified, the last write wins.", +"id": "GoogleAppsDriveLabelsV2WriteControl", +"properties": { +"requiredRevisionId": { +"description": "The revision_id of the label that the write request will be applied to. If this is not the latest revision of the label, the request will not be processed and will return a 400 Bad Request error.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleProtobufEmpty": { +"description": "A generic empty message that you can re-use to avoid defining duplicated empty messages in your APIs. A typical example is to use it as the request or the response type of an API method. For instance: service Foo { rpc Bar(google.protobuf.Empty) returns (google.protobuf.Empty); }", +"id": "GoogleProtobufEmpty", +"properties": {}, +"type": "object" +}, +"GoogleTypeColor": { +"description": "Represents a color in the RGBA color space. This representation is designed for simplicity of conversion to and from color representations in various languages over compactness. For example, the fields of this representation can be trivially provided to the constructor of `java.awt.Color` in Java; it can also be trivially provided to UIColor's `+colorWithRed:green:blue:alpha` method in iOS; and, with just a little work, it can be easily formatted into a CSS `rgba()` string in JavaScript. This reference page doesn't have information about the absolute color space that should be used to interpret the RGB value\u2014for example, sRGB, Adobe RGB, DCI-P3, and BT.2020. By default, applications should assume the sRGB color space. When color equality needs to be decided, implementations, unless documented otherwise, treat two colors as equal if all their red, green, blue, and alpha values each differ by at most `1e-5`. Example (Java): import com.google.type.Color; // ... public static java.awt.Color fromProto(Color protocolor) { float alpha = protocolor.hasAlpha() ? protocolor.getAlpha().getValue() : 1.0; return new java.awt.Color( protocolor.getRed(), protocolor.getGreen(), protocolor.getBlue(), alpha); } public static Color toProto(java.awt.Color color) { float red = (float) color.getRed(); float green = (float) color.getGreen(); float blue = (float) color.getBlue(); float denominator = 255.0; Color.Builder resultBuilder = Color .newBuilder() .setRed(red / denominator) .setGreen(green / denominator) .setBlue(blue / denominator); int alpha = color.getAlpha(); if (alpha != 255) { result.setAlpha( FloatValue .newBuilder() .setValue(((float) alpha) / denominator) .build()); } return resultBuilder.build(); } // ... Example (iOS / Obj-C): // ... static UIColor* fromProto(Color* protocolor) { float red = [protocolor red]; float green = [protocolor green]; float blue = [protocolor blue]; FloatValue* alpha_wrapper = [protocolor alpha]; float alpha = 1.0; if (alpha_wrapper != nil) { alpha = [alpha_wrapper value]; } return [UIColor colorWithRed:red green:green blue:blue alpha:alpha]; } static Color* toProto(UIColor* color) { CGFloat red, green, blue, alpha; if (![color getRed:&red green:&green blue:&blue alpha:&alpha]) { return nil; } Color* result = [[Color alloc] init]; [result setRed:red]; [result setGreen:green]; [result setBlue:blue]; if (alpha <= 0.9999) { [result setAlpha:floatWrapperWithValue(alpha)]; } [result autorelease]; return result; } // ... Example (JavaScript): // ... var protoToCssColor = function(rgb_color) { var redFrac = rgb_color.red || 0.0; var greenFrac = rgb_color.green || 0.0; var blueFrac = rgb_color.blue || 0.0; var red = Math.floor(redFrac * 255); var green = Math.floor(greenFrac * 255); var blue = Math.floor(blueFrac * 255); if (!('alpha' in rgb_color)) { return rgbToCssColor(red, green, blue); } var alphaFrac = rgb_color.alpha.value || 0.0; var rgbParams = [red, green, blue].join(','); return ['rgba(', rgbParams, ',', alphaFrac, ')'].join(''); }; var rgbToCssColor = function(red, green, blue) { var rgbNumber = new Number((red << 16) | (green << 8) | blue); var hexString = rgbNumber.toString(16); var missingZeros = 6 - hexString.length; var resultBuilder = ['#']; for (var i = 0; i < missingZeros; i++) { resultBuilder.push('0'); } resultBuilder.push(hexString); return resultBuilder.join(''); }; // ...", +"id": "GoogleTypeColor", +"properties": { +"alpha": { +"description": "The fraction of this color that should be applied to the pixel. That is, the final pixel color is defined by the equation: `pixel color = alpha * (this color) + (1.0 - alpha) * (background color)` This means that a value of 1.0 corresponds to a solid color, whereas a value of 0.0 corresponds to a completely transparent color. This uses a wrapper message rather than a simple float scalar so that it is possible to distinguish between a default value and the value being unset. If omitted, this color object is rendered as a solid color (as if the alpha value had been explicitly given a value of 1.0).", +"format": "float", +"type": "number" +}, +"blue": { +"description": "The amount of blue in the color as a value in the interval [0, 1].", +"format": "float", +"type": "number" +}, +"green": { +"description": "The amount of green in the color as a value in the interval [0, 1].", +"format": "float", +"type": "number" +}, +"red": { +"description": "The amount of red in the color as a value in the interval [0, 1].", +"format": "float", +"type": "number" +} +}, +"type": "object" +}, +"GoogleTypeDate": { +"description": "Represents a whole or partial calendar date, such as a birthday. The time of day and time zone are either specified elsewhere or are insignificant. The date is relative to the Gregorian Calendar. This can represent one of the following: * A full date, with non-zero year, month, and day values. * A month and day, with a zero year (for example, an anniversary). * A year on its own, with a zero month and a zero day. * A year and month, with a zero day (for example, a credit card expiration date). Related types: * google.type.TimeOfDay * google.type.DateTime * google.protobuf.Timestamp", +"id": "GoogleTypeDate", +"properties": { +"day": { +"description": "Day of a month. Must be from 1 to 31 and valid for the year and month, or 0 to specify a year by itself or a year and month where the day isn't significant.", +"format": "int32", +"type": "integer" +}, +"month": { +"description": "Month of a year. Must be from 1 to 12, or 0 to specify a year without a month and day.", +"format": "int32", +"type": "integer" +}, +"year": { +"description": "Year of the date. Must be from 1 to 9999, or 0 to specify a date without a year.", +"format": "int32", +"type": "integer" +} +}, +"type": "object" +} +}, +"servicePath": "", +"title": "Drive Labels API", +"version": "v2", +"version_module": true +} \ No newline at end of file diff --git a/.venv/lib/python3.11/site-packages/googleapiclient/discovery_cache/documents/fcm.v1.json b/.venv/lib/python3.11/site-packages/googleapiclient/discovery_cache/documents/fcm.v1.json new file mode 100644 index 0000000000000000000000000000000000000000..808f655b189f78066f50dbc0cea1c88fc865d085 --- /dev/null +++ b/.venv/lib/python3.11/site-packages/googleapiclient/discovery_cache/documents/fcm.v1.json @@ -0,0 +1,623 @@ +{ +"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." +}, +"https://www.googleapis.com/auth/firebase.messaging": { +"description": "Send messages and manage messaging subscriptions for your Firebase applications" +} +} +} +}, +"basePath": "", +"baseUrl": "https://fcm.googleapis.com/", +"batchPath": "batch", +"canonicalName": "Firebase Cloud Messaging", +"description": "FCM send API that provides a cross-platform messaging solution to reliably deliver messages at no cost.", +"discoveryVersion": "v1", +"documentationLink": "https://firebase.google.com/docs/cloud-messaging", +"fullyEncodeReservedExpansion": true, +"icons": { +"x16": "http://www.google.com/images/icons/product/search-16.gif", +"x32": "http://www.google.com/images/icons/product/search-32.gif" +}, +"id": "fcm:v1", +"kind": "discovery#restDescription", +"mtlsRootUrl": "https://fcm.mtls.googleapis.com/", +"name": "fcm", +"ownerDomain": "google.com", +"ownerName": "Google", +"parameters": { +"$.xgafv": { +"description": "V1 error format.", +"enum": [ +"1", +"2" +], +"enumDescriptions": [ +"v1 error format", +"v2 error format" +], +"location": "query", +"type": "string" +}, +"access_token": { +"description": "OAuth access token.", +"location": "query", +"type": "string" +}, +"alt": { +"default": "json", +"description": "Data format for response.", +"enum": [ +"json", +"media", +"proto" +], +"enumDescriptions": [ +"Responses with Content-Type of application/json", +"Media download with context-dependent Content-Type", +"Responses with Content-Type of application/x-protobuf" +], +"location": "query", +"type": "string" +}, +"callback": { +"description": "JSONP", +"location": "query", +"type": "string" +}, +"fields": { +"description": "Selector specifying which fields to include in a partial response.", +"location": "query", +"type": "string" +}, +"key": { +"description": "API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token.", +"location": "query", +"type": "string" +}, +"oauth_token": { +"description": "OAuth 2.0 token for the current user.", +"location": "query", +"type": "string" +}, +"prettyPrint": { +"default": "true", +"description": "Returns response with indentations and line breaks.", +"location": "query", +"type": "boolean" +}, +"quotaUser": { +"description": "Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters.", +"location": "query", +"type": "string" +}, +"uploadType": { +"description": "Legacy upload protocol for media (e.g. \"media\", \"multipart\").", +"location": "query", +"type": "string" +}, +"upload_protocol": { +"description": "Upload protocol for media (e.g. \"raw\", \"multipart\").", +"location": "query", +"type": "string" +} +}, +"protocol": "rest", +"resources": { +"projects": { +"resources": { +"messages": { +"methods": { +"send": { +"description": "Send a message to specified target (a registration token, topic or condition).", +"flatPath": "v1/projects/{projectsId}/messages:send", +"httpMethod": "POST", +"id": "fcm.projects.messages.send", +"parameterOrder": [ +"parent" +], +"parameters": { +"parent": { +"description": "Required. It contains the Firebase project id (i.e. the unique identifier for your Firebase project), in the format of `projects/{project_id}`. For legacy support, the numeric project number with no padding is also supported in the format of `projects/{project_number}`.", +"location": "path", +"pattern": "^projects/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+parent}/messages:send", +"request": { +"$ref": "SendMessageRequest" +}, +"response": { +"$ref": "Message" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/firebase.messaging" +] +} +} +} +} +} +}, +"revision": "20241112", +"rootUrl": "https://fcm.googleapis.com/", +"schemas": { +"AndroidConfig": { +"description": "Android specific options for messages sent through [FCM connection server](https://goo.gl/4GLdUl).", +"id": "AndroidConfig", +"properties": { +"collapseKey": { +"description": "An identifier of a group of messages that can be collapsed, so that only the last message gets sent when delivery can be resumed. A maximum of 4 different collapse keys is allowed at any given time.", +"type": "string" +}, +"data": { +"additionalProperties": { +"type": "string" +}, +"description": "Arbitrary key/value payload. If present, it will override google.firebase.fcm.v1.Message.data.", +"type": "object" +}, +"directBootOk": { +"description": "If set to true, messages will be allowed to be delivered to the app while the device is in direct boot mode. See [Support Direct Boot mode](https://developer.android.com/training/articles/direct-boot).", +"type": "boolean" +}, +"fcmOptions": { +"$ref": "AndroidFcmOptions", +"description": "Options for features provided by the FCM SDK for Android." +}, +"notification": { +"$ref": "AndroidNotification", +"description": "Notification to send to android devices." +}, +"priority": { +"description": "Message priority. Can take \"normal\" and \"high\" values. For more information, see [Setting the priority of a message](https://goo.gl/GjONJv).", +"enum": [ +"NORMAL", +"HIGH" +], +"enumDescriptions": [ +"Default priority for data messages. Normal priority messages won't open network connections on a sleeping device, and their delivery may be delayed to conserve the battery. For less time-sensitive messages, such as notifications of new email or other data to sync, choose normal delivery priority.", +"Default priority for notification messages. FCM attempts to deliver high priority messages immediately, allowing the FCM service to wake a sleeping device when possible and open a network connection to your app server. Apps with instant messaging, chat, or voice call alerts, for example, generally need to open a network connection and make sure FCM delivers the message to the device without delay. Set high priority if the message is time-critical and requires the user's immediate interaction, but beware that setting your messages to high priority contributes more to battery drain compared with normal priority messages." +], +"type": "string" +}, +"restrictedPackageName": { +"description": "Package name of the application where the registration token must match in order to receive the message.", +"type": "string" +}, +"ttl": { +"description": "How long (in seconds) the message should be kept in FCM storage if the device is offline. The maximum time to live supported is 4 weeks, and the default value is 4 weeks if not set. Set it to 0 if want to send the message immediately. In JSON format, the Duration type is encoded as a string rather than an object, where the string ends in the suffix \"s\" (indicating seconds) and is preceded by the number of seconds, with nanoseconds expressed as fractional seconds. For example, 3 seconds with 0 nanoseconds should be encoded in JSON format as \"3s\", while 3 seconds and 1 nanosecond should be expressed in JSON format as \"3.000000001s\". The ttl will be rounded down to the nearest second.", +"format": "google-duration", +"type": "string" +} +}, +"type": "object" +}, +"AndroidFcmOptions": { +"description": "Options for features provided by the FCM SDK for Android.", +"id": "AndroidFcmOptions", +"properties": { +"analyticsLabel": { +"description": "Label associated with the message's analytics data.", +"type": "string" +} +}, +"type": "object" +}, +"AndroidNotification": { +"description": "Notification to send to android devices.", +"id": "AndroidNotification", +"properties": { +"body": { +"description": "The notification's body text. If present, it will override google.firebase.fcm.v1.Notification.body.", +"type": "string" +}, +"bodyLocArgs": { +"description": "Variable string values to be used in place of the format specifiers in body_loc_key to use to localize the body text to the user's current localization. See [Formatting and Styling](https://goo.gl/MalYE3) for more information.", +"items": { +"type": "string" +}, +"type": "array" +}, +"bodyLocKey": { +"description": "The key to the body string in the app's string resources to use to localize the body text to the user's current localization. See [String Resources](https://goo.gl/NdFZGI) for more information.", +"type": "string" +}, +"bypassProxyNotification": { +"deprecated": true, +"description": "If set, display notifications delivered to the device will be handled by the app instead of the proxy.", +"type": "boolean" +}, +"channelId": { +"description": "The [notification's channel id](https://developer.android.com/guide/topics/ui/notifiers/notifications#ManageChannels) (new in Android O). The app must create a channel with this channel ID before any notification with this channel ID is received. If you don't send this channel ID in the request, or if the channel ID provided has not yet been created by the app, FCM uses the channel ID specified in the app manifest.", +"type": "string" +}, +"clickAction": { +"description": "The action associated with a user click on the notification. If specified, an activity with a matching intent filter is launched when a user clicks on the notification.", +"type": "string" +}, +"color": { +"description": "The notification's icon color, expressed in #rrggbb format.", +"type": "string" +}, +"defaultLightSettings": { +"description": "If set to true, use the Android framework's default LED light settings for the notification. Default values are specified in [config.xml](https://android.googlesource.com/platform/frameworks/base/+/master/core/res/res/values/config.xml). If `default_light_settings` is set to true and `light_settings` is also set, the user-specified `light_settings` is used instead of the default value.", +"type": "boolean" +}, +"defaultSound": { +"description": "If set to true, use the Android framework's default sound for the notification. Default values are specified in [config.xml](https://android.googlesource.com/platform/frameworks/base/+/master/core/res/res/values/config.xml).", +"type": "boolean" +}, +"defaultVibrateTimings": { +"description": "If set to true, use the Android framework's default vibrate pattern for the notification. Default values are specified in [config.xml](https://android.googlesource.com/platform/frameworks/base/+/master/core/res/res/values/config.xml). If `default_vibrate_timings` is set to true and `vibrate_timings` is also set, the default value is used instead of the user-specified `vibrate_timings`.", +"type": "boolean" +}, +"eventTime": { +"description": "Set the time that the event in the notification occurred. Notifications in the panel are sorted by this time. A point in time is represented using [protobuf.Timestamp](https://developers.google.com/protocol-buffers/docs/reference/java/com/google/protobuf/Timestamp).", +"format": "google-datetime", +"type": "string" +}, +"icon": { +"description": "The notification's icon. Sets the notification icon to myicon for drawable resource myicon. If you don't send this key in the request, FCM displays the launcher icon specified in your app manifest.", +"type": "string" +}, +"image": { +"description": "Contains the URL of an image that is going to be displayed in a notification. If present, it will override google.firebase.fcm.v1.Notification.image.", +"type": "string" +}, +"lightSettings": { +"$ref": "LightSettings", +"description": "Settings to control the notification's LED blinking rate and color if LED is available on the device. The total blinking time is controlled by the OS." +}, +"localOnly": { +"description": "Set whether or not this notification is relevant only to the current device. Some notifications can be bridged to other devices for remote display, such as a Wear OS watch. This hint can be set to recommend this notification not be bridged. See [Wear OS guides](https://developer.android.com/training/wearables/notifications/bridger#existing-method-of-preventing-bridging)", +"type": "boolean" +}, +"notificationCount": { +"description": "Sets the number of items this notification represents. May be displayed as a badge count for launchers that support badging.See [Notification Badge](https://developer.android.com/training/notify-user/badges). For example, this might be useful if you're using just one notification to represent multiple new messages but you want the count here to represent the number of total new messages. If zero or unspecified, systems that support badging use the default, which is to increment a number displayed on the long-press menu each time a new notification arrives.", +"format": "int32", +"type": "integer" +}, +"notificationPriority": { +"description": "Set the relative priority for this notification. Priority is an indication of how much of the user's attention should be consumed by this notification. Low-priority notifications may be hidden from the user in certain situations, while the user might be interrupted for a higher-priority notification. The effect of setting the same priorities may differ slightly on different platforms. Note this priority differs from `AndroidMessagePriority`. This priority is processed by the client after the message has been delivered, whereas [AndroidMessagePriority](https://firebase.google.com/docs/reference/fcm/rest/v1/projects.messages#androidmessagepriority) is an FCM concept that controls when the message is delivered.", +"enum": [ +"PRIORITY_UNSPECIFIED", +"PRIORITY_MIN", +"PRIORITY_LOW", +"PRIORITY_DEFAULT", +"PRIORITY_HIGH", +"PRIORITY_MAX" +], +"enumDescriptions": [ +"If priority is unspecified, notification priority is set to `PRIORITY_DEFAULT`.", +"Lowest notification priority. Notifications with this `PRIORITY_MIN` might not be shown to the user except under special circumstances, such as detailed notification logs.", +"Lower notification priority. The UI may choose to show the notifications smaller, or at a different position in the list, compared with notifications with `PRIORITY_DEFAULT`.", +"Default notification priority. If the application does not prioritize its own notifications, use this value for all notifications.", +"Higher notification priority. Use this for more important notifications or alerts. The UI may choose to show these notifications larger, or at a different position in the notification lists, compared with notifications with `PRIORITY_DEFAULT`.", +"Highest notification priority. Use this for the application's most important items that require the user's prompt attention or input." +], +"type": "string" +}, +"proxy": { +"description": "Setting to control when a notification may be proxied.", +"enum": [ +"PROXY_UNSPECIFIED", +"ALLOW", +"DENY", +"IF_PRIORITY_LOWERED" +], +"enumDescriptions": [ +"If unspecified, default to `Proxy.IF_PRIORITY_LOWERED`.", +"Try to proxy this notification.", +"Do not proxy this notification.", +"Only try to proxy this notification if its `AndroidMessagePriority` was lowered from `HIGH` to `NORMAL` on the device." +], +"type": "string" +}, +"sound": { +"description": "The sound to play when the device receives the notification. Supports \"default\" or the filename of a sound resource bundled in the app. Sound files must reside in /res/raw/.", +"type": "string" +}, +"sticky": { +"description": "When set to false or unset, the notification is automatically dismissed when the user clicks it in the panel. When set to true, the notification persists even when the user clicks it.", +"type": "boolean" +}, +"tag": { +"description": "Identifier used to replace existing notifications in the notification drawer. If not specified, each request creates a new notification. If specified and a notification with the same tag is already being shown, the new notification replaces the existing one in the notification drawer.", +"type": "string" +}, +"ticker": { +"description": "Sets the \"ticker\" text, which is sent to accessibility services. Prior to API level 21 (`Lollipop`), sets the text that is displayed in the status bar when the notification first arrives.", +"type": "string" +}, +"title": { +"description": "The notification's title. If present, it will override google.firebase.fcm.v1.Notification.title.", +"type": "string" +}, +"titleLocArgs": { +"description": "Variable string values to be used in place of the format specifiers in title_loc_key to use to localize the title text to the user's current localization. See [Formatting and Styling](https://goo.gl/MalYE3) for more information.", +"items": { +"type": "string" +}, +"type": "array" +}, +"titleLocKey": { +"description": "The key to the title string in the app's string resources to use to localize the title text to the user's current localization. See [String Resources](https://goo.gl/NdFZGI) for more information.", +"type": "string" +}, +"vibrateTimings": { +"description": "Set the vibration pattern to use. Pass in an array of [protobuf.Duration](https://developers.google.com/protocol-buffers/docs/reference/google.protobuf#google.protobuf.Duration) to turn on or off the vibrator. The first value indicates the `Duration` to wait before turning the vibrator on. The next value indicates the `Duration` to keep the vibrator on. Subsequent values alternate between `Duration` to turn the vibrator off and to turn the vibrator on. If `vibrate_timings` is set and `default_vibrate_timings` is set to `true`, the default value is used instead of the user-specified `vibrate_timings`.", +"items": { +"format": "google-duration", +"type": "string" +}, +"type": "array" +}, +"visibility": { +"description": "Set the [Notification.visibility](https://developer.android.com/reference/android/app/Notification.html#visibility) of the notification.", +"enum": [ +"VISIBILITY_UNSPECIFIED", +"PRIVATE", +"PUBLIC", +"SECRET" +], +"enumDescriptions": [ +"If unspecified, default to `Visibility.PRIVATE`.", +"Show this notification on all lockscreens, but conceal sensitive or private information on secure lockscreens.", +"Show this notification in its entirety on all lockscreens.", +"Do not reveal any part of this notification on a secure lockscreen." +], +"type": "string" +} +}, +"type": "object" +}, +"ApnsConfig": { +"description": "[Apple Push Notification Service](https://goo.gl/MXRTPa) specific options.", +"id": "ApnsConfig", +"properties": { +"fcmOptions": { +"$ref": "ApnsFcmOptions", +"description": "Options for features provided by the FCM SDK for iOS." +}, +"headers": { +"additionalProperties": { +"type": "string" +}, +"description": "HTTP request headers defined in Apple Push Notification Service. Refer to [APNs request headers](https://developer.apple.com/documentation/usernotifications/setting_up_a_remote_notification_server/sending_notification_requests_to_apns) for supported headers such as `apns-expiration` and `apns-priority`. The backend sets a default value for `apns-expiration` of 30 days and a default value for `apns-priority` of 10 if not explicitly set.", +"type": "object" +}, +"liveActivityToken": { +"description": "Optional. [Apple Live Activity](https://developer.apple.com/design/human-interface-guidelines/live-activities) token to send updates to. This token can either be a push token or [push-to-start](https://developer.apple.com/documentation/activitykit/activity/pushtostarttoken) token from Apple. To start, update, or end a live activity remotely using FCM, construct an [`aps payload`](https://developer.apple.com/documentation/activitykit/starting-and-updating-live-activities-with-activitykit-push-notifications#Construct-the-payload-that-starts-a-Live-Activity) and put it in the [`apns.payload`](https://firebase.google.com/docs/reference/fcm/rest/v1/projects.messages#ApnsConfig) field.", +"type": "string" +}, +"payload": { +"additionalProperties": { +"description": "Properties of the object.", +"type": "any" +}, +"description": "APNs payload as a JSON object, including both `aps` dictionary and custom payload. See [Payload Key Reference](https://developer.apple.com/documentation/usernotifications/setting_up_a_remote_notification_server/generating_a_remote_notification). If present, it overrides google.firebase.fcm.v1.Notification.title and google.firebase.fcm.v1.Notification.body.", +"type": "object" +} +}, +"type": "object" +}, +"ApnsFcmOptions": { +"description": "Options for features provided by the FCM SDK for iOS.", +"id": "ApnsFcmOptions", +"properties": { +"analyticsLabel": { +"description": "Label associated with the message's analytics data.", +"type": "string" +}, +"image": { +"description": "Contains the URL of an image that is going to be displayed in a notification. If present, it will override google.firebase.fcm.v1.Notification.image.", +"type": "string" +} +}, +"type": "object" +}, +"Color": { +"description": "Represents a color in the RGBA color space. This representation is designed for simplicity of conversion to and from color representations in various languages over compactness. For example, the fields of this representation can be trivially provided to the constructor of `java.awt.Color` in Java; it can also be trivially provided to UIColor's `+colorWithRed:green:blue:alpha` method in iOS; and, with just a little work, it can be easily formatted into a CSS `rgba()` string in JavaScript. This reference page doesn't have information about the absolute color space that should be used to interpret the RGB value\u2014for example, sRGB, Adobe RGB, DCI-P3, and BT.2020. By default, applications should assume the sRGB color space. When color equality needs to be decided, implementations, unless documented otherwise, treat two colors as equal if all their red, green, blue, and alpha values each differ by at most `1e-5`. Example (Java): import com.google.type.Color; // ... public static java.awt.Color fromProto(Color protocolor) { float alpha = protocolor.hasAlpha() ? protocolor.getAlpha().getValue() : 1.0; return new java.awt.Color( protocolor.getRed(), protocolor.getGreen(), protocolor.getBlue(), alpha); } public static Color toProto(java.awt.Color color) { float red = (float) color.getRed(); float green = (float) color.getGreen(); float blue = (float) color.getBlue(); float denominator = 255.0; Color.Builder resultBuilder = Color .newBuilder() .setRed(red / denominator) .setGreen(green / denominator) .setBlue(blue / denominator); int alpha = color.getAlpha(); if (alpha != 255) { result.setAlpha( FloatValue .newBuilder() .setValue(((float) alpha) / denominator) .build()); } return resultBuilder.build(); } // ... Example (iOS / Obj-C): // ... static UIColor* fromProto(Color* protocolor) { float red = [protocolor red]; float green = [protocolor green]; float blue = [protocolor blue]; FloatValue* alpha_wrapper = [protocolor alpha]; float alpha = 1.0; if (alpha_wrapper != nil) { alpha = [alpha_wrapper value]; } return [UIColor colorWithRed:red green:green blue:blue alpha:alpha]; } static Color* toProto(UIColor* color) { CGFloat red, green, blue, alpha; if (![color getRed:&red green:&green blue:&blue alpha:&alpha]) { return nil; } Color* result = [[Color alloc] init]; [result setRed:red]; [result setGreen:green]; [result setBlue:blue]; if (alpha <= 0.9999) { [result setAlpha:floatWrapperWithValue(alpha)]; } [result autorelease]; return result; } // ... Example (JavaScript): // ... var protoToCssColor = function(rgb_color) { var redFrac = rgb_color.red || 0.0; var greenFrac = rgb_color.green || 0.0; var blueFrac = rgb_color.blue || 0.0; var red = Math.floor(redFrac * 255); var green = Math.floor(greenFrac * 255); var blue = Math.floor(blueFrac * 255); if (!('alpha' in rgb_color)) { return rgbToCssColor(red, green, blue); } var alphaFrac = rgb_color.alpha.value || 0.0; var rgbParams = [red, green, blue].join(','); return ['rgba(', rgbParams, ',', alphaFrac, ')'].join(''); }; var rgbToCssColor = function(red, green, blue) { var rgbNumber = new Number((red << 16) | (green << 8) | blue); var hexString = rgbNumber.toString(16); var missingZeros = 6 - hexString.length; var resultBuilder = ['#']; for (var i = 0; i < missingZeros; i++) { resultBuilder.push('0'); } resultBuilder.push(hexString); return resultBuilder.join(''); }; // ...", +"id": "Color", +"properties": { +"alpha": { +"description": "The fraction of this color that should be applied to the pixel. That is, the final pixel color is defined by the equation: `pixel color = alpha * (this color) + (1.0 - alpha) * (background color)` This means that a value of 1.0 corresponds to a solid color, whereas a value of 0.0 corresponds to a completely transparent color. This uses a wrapper message rather than a simple float scalar so that it is possible to distinguish between a default value and the value being unset. If omitted, this color object is rendered as a solid color (as if the alpha value had been explicitly given a value of 1.0).", +"format": "float", +"type": "number" +}, +"blue": { +"description": "The amount of blue in the color as a value in the interval [0, 1].", +"format": "float", +"type": "number" +}, +"green": { +"description": "The amount of green in the color as a value in the interval [0, 1].", +"format": "float", +"type": "number" +}, +"red": { +"description": "The amount of red in the color as a value in the interval [0, 1].", +"format": "float", +"type": "number" +} +}, +"type": "object" +}, +"FcmOptions": { +"description": "Platform independent options for features provided by the FCM SDKs.", +"id": "FcmOptions", +"properties": { +"analyticsLabel": { +"description": "Label associated with the message's analytics data.", +"type": "string" +} +}, +"type": "object" +}, +"LightSettings": { +"description": "Settings to control notification LED.", +"id": "LightSettings", +"properties": { +"color": { +"$ref": "Color", +"description": "Required. Set `color` of the LED with [google.type.Color](https://github.com/googleapis/googleapis/blob/master/google/type/color.proto)." +}, +"lightOffDuration": { +"description": "Required. Along with `light_on_duration `, define the blink rate of LED flashes. Resolution defined by [proto.Duration](https://developers.google.com/protocol-buffers/docs/reference/google.protobuf#google.protobuf.Duration)", +"format": "google-duration", +"type": "string" +}, +"lightOnDuration": { +"description": "Required. Along with `light_off_duration`, define the blink rate of LED flashes. Resolution defined by [proto.Duration](https://developers.google.com/protocol-buffers/docs/reference/google.protobuf#google.protobuf.Duration)", +"format": "google-duration", +"type": "string" +} +}, +"type": "object" +}, +"Message": { +"description": "Message to send by Firebase Cloud Messaging Service.", +"id": "Message", +"properties": { +"android": { +"$ref": "AndroidConfig", +"description": "Input only. Android specific options for messages sent through [FCM connection server](https://goo.gl/4GLdUl)." +}, +"apns": { +"$ref": "ApnsConfig", +"description": "Input only. [Apple Push Notification Service](https://goo.gl/MXRTPa) specific options." +}, +"condition": { +"description": "Condition to send a message to, e.g. \"'foo' in topics && 'bar' in topics\".", +"type": "string" +}, +"data": { +"additionalProperties": { +"type": "string" +}, +"description": "Input only. Arbitrary key/value payload, which must be UTF-8 encoded. The key should not be a reserved word (\"from\", \"message_type\", or any word starting with \"google.\" or \"gcm.notification.\"). When sending payloads containing only data fields to iOS devices, only normal priority (`\"apns-priority\": \"5\"`) is allowed in [`ApnsConfig`](/docs/reference/fcm/rest/v1/projects.messages#apnsconfig).", +"type": "object" +}, +"fcmOptions": { +"$ref": "FcmOptions", +"description": "Input only. Template for FCM SDK feature options to use across all platforms." +}, +"name": { +"description": "Output Only. The identifier of the message sent, in the format of `projects/*/messages/{message_id}`.", +"type": "string" +}, +"notification": { +"$ref": "Notification", +"description": "Input only. Basic notification template to use across all platforms." +}, +"token": { +"description": "Registration token to send a message to.", +"type": "string" +}, +"topic": { +"description": "Topic name to send a message to, e.g. \"weather\". Note: \"/topics/\" prefix should not be provided.", +"type": "string" +}, +"webpush": { +"$ref": "WebpushConfig", +"description": "Input only. [Webpush protocol](https://tools.ietf.org/html/rfc8030) options." +} +}, +"type": "object" +}, +"Notification": { +"description": "Basic notification template to use across all platforms.", +"id": "Notification", +"properties": { +"body": { +"description": "The notification's body text.", +"type": "string" +}, +"image": { +"description": "Contains the URL of an image that is going to be downloaded on the device and displayed in a notification. JPEG, PNG, BMP have full support across platforms. Animated GIF and video only work on iOS. WebP and HEIF have varying levels of support across platforms and platform versions. Android has 1MB image size limit. Quota usage and implications/costs for hosting image on Firebase Storage: https://firebase.google.com/pricing", +"type": "string" +}, +"title": { +"description": "The notification's title.", +"type": "string" +} +}, +"type": "object" +}, +"SendMessageRequest": { +"description": "Request to send a message to specified target.", +"id": "SendMessageRequest", +"properties": { +"message": { +"$ref": "Message", +"description": "Required. Message to send." +}, +"validateOnly": { +"description": "Flag for testing the request without actually delivering the message.", +"type": "boolean" +} +}, +"type": "object" +}, +"WebpushConfig": { +"description": "[Webpush protocol](https://tools.ietf.org/html/rfc8030) options.", +"id": "WebpushConfig", +"properties": { +"data": { +"additionalProperties": { +"type": "string" +}, +"description": "Arbitrary key/value payload. If present, it will override google.firebase.fcm.v1.Message.data.", +"type": "object" +}, +"fcmOptions": { +"$ref": "WebpushFcmOptions", +"description": "Options for features provided by the FCM SDK for Web." +}, +"headers": { +"additionalProperties": { +"type": "string" +}, +"description": "HTTP headers defined in webpush protocol. Refer to [Webpush protocol](https://tools.ietf.org/html/rfc8030#section-5) for supported headers, e.g. \"TTL\": \"15\".", +"type": "object" +}, +"notification": { +"additionalProperties": { +"description": "Properties of the object.", +"type": "any" +}, +"description": "Web Notification options as a JSON object. Supports Notification instance properties as defined in [Web Notification API](https://developer.mozilla.org/en-US/docs/Web/API/Notification). If present, \"title\" and \"body\" fields override [google.firebase.fcm.v1.Notification.title] and [google.firebase.fcm.v1.Notification.body].", +"type": "object" +} +}, +"type": "object" +}, +"WebpushFcmOptions": { +"description": "Options for features provided by the FCM SDK for Web.", +"id": "WebpushFcmOptions", +"properties": { +"analyticsLabel": { +"description": "Label associated with the message's analytics data.", +"type": "string" +}, +"link": { +"description": "The link to open when the user clicks on the notification. For all URL values, HTTPS is required.", +"type": "string" +} +}, +"type": "object" +} +}, +"servicePath": "", +"title": "Firebase Cloud Messaging API", +"version": "v1", +"version_module": true +} \ No newline at end of file diff --git a/.venv/lib/python3.11/site-packages/googleapiclient/discovery_cache/documents/firebaseappdistribution.v1.json b/.venv/lib/python3.11/site-packages/googleapiclient/discovery_cache/documents/firebaseappdistribution.v1.json new file mode 100644 index 0000000000000000000000000000000000000000..6bcc48196a0204c8f5eda744576c491bebf29f7b --- /dev/null +++ b/.venv/lib/python3.11/site-packages/googleapiclient/discovery_cache/documents/firebaseappdistribution.v1.json @@ -0,0 +1,1942 @@ +{ +"auth": { +"oauth2": { +"scopes": { +"https://www.googleapis.com/auth/cloud-platform": { +"description": "See, edit, configure, and delete your Google Cloud data and see the email address for your Google Account." +} +} +} +}, +"basePath": "", +"baseUrl": "https://firebaseappdistribution.googleapis.com/", +"batchPath": "batch", +"canonicalName": "Firebase App Distribution", +"description": "", +"discoveryVersion": "v1", +"documentationLink": "https://firebase.google.com/products/app-distribution", +"fullyEncodeReservedExpansion": true, +"icons": { +"x16": "http://www.google.com/images/icons/product/search-16.gif", +"x32": "http://www.google.com/images/icons/product/search-32.gif" +}, +"id": "firebaseappdistribution:v1", +"kind": "discovery#restDescription", +"mtlsRootUrl": "https://firebaseappdistribution.mtls.googleapis.com/", +"name": "firebaseappdistribution", +"ownerDomain": "google.com", +"ownerName": "Google", +"parameters": { +"$.xgafv": { +"description": "V1 error format.", +"enum": [ +"1", +"2" +], +"enumDescriptions": [ +"v1 error format", +"v2 error format" +], +"location": "query", +"type": "string" +}, +"access_token": { +"description": "OAuth access token.", +"location": "query", +"type": "string" +}, +"alt": { +"default": "json", +"description": "Data format for response.", +"enum": [ +"json", +"media", +"proto" +], +"enumDescriptions": [ +"Responses with Content-Type of application/json", +"Media download with context-dependent Content-Type", +"Responses with Content-Type of application/x-protobuf" +], +"location": "query", +"type": "string" +}, +"callback": { +"description": "JSONP", +"location": "query", +"type": "string" +}, +"fields": { +"description": "Selector specifying which fields to include in a partial response.", +"location": "query", +"type": "string" +}, +"key": { +"description": "API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token.", +"location": "query", +"type": "string" +}, +"oauth_token": { +"description": "OAuth 2.0 token for the current user.", +"location": "query", +"type": "string" +}, +"prettyPrint": { +"default": "true", +"description": "Returns response with indentations and line breaks.", +"location": "query", +"type": "boolean" +}, +"quotaUser": { +"description": "Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters.", +"location": "query", +"type": "string" +}, +"uploadType": { +"description": "Legacy upload protocol for media (e.g. \"media\", \"multipart\").", +"location": "query", +"type": "string" +}, +"upload_protocol": { +"description": "Upload protocol for media (e.g. \"raw\", \"multipart\").", +"location": "query", +"type": "string" +} +}, +"protocol": "rest", +"resources": { +"media": { +"methods": { +"upload": { +"description": "Uploads a binary. Uploading a binary can result in a new release being created, an update to an existing release, or a no-op if a release with the same binary already exists.", +"flatPath": "v1/projects/{projectsId}/apps/{appsId}/releases:upload", +"httpMethod": "POST", +"id": "firebaseappdistribution.media.upload", +"mediaUpload": { +"accept": [ +"*/*" +], +"protocols": { +"simple": { +"multipart": true, +"path": "/upload/v1/{+app}/releases:upload" +} +} +}, +"parameterOrder": [ +"app" +], +"parameters": { +"app": { +"description": "The name of the app resource. Format: `projects/{project_number}/apps/{app_id}`", +"location": "path", +"pattern": "^projects/[^/]+/apps/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+app}/releases:upload", +"request": { +"$ref": "GoogleFirebaseAppdistroV1UploadReleaseRequest" +}, +"response": { +"$ref": "GoogleLongrunningOperation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +], +"supportsMediaUpload": true +} +} +}, +"projects": { +"resources": { +"apps": { +"methods": { +"getAabInfo": { +"description": "Gets Android App Bundle (AAB) information for a Firebase app.", +"flatPath": "v1/projects/{projectsId}/apps/{appsId}/aabInfo", +"httpMethod": "GET", +"id": "firebaseappdistribution.projects.apps.getAabInfo", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. The name of the `AabInfo` resource to retrieve. Format: `projects/{project_number}/apps/{app_id}/aabInfo`", +"location": "path", +"pattern": "^projects/[^/]+/apps/[^/]+/aabInfo$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+name}", +"response": { +"$ref": "GoogleFirebaseAppdistroV1AabInfo" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +} +}, +"resources": { +"releases": { +"methods": { +"batchDelete": { +"description": "Deletes releases. A maximum of 100 releases can be deleted per request.", +"flatPath": "v1/projects/{projectsId}/apps/{appsId}/releases:batchDelete", +"httpMethod": "POST", +"id": "firebaseappdistribution.projects.apps.releases.batchDelete", +"parameterOrder": [ +"parent" +], +"parameters": { +"parent": { +"description": "Required. The name of the app resource, which is the parent of the release resources. Format: `projects/{project_number}/apps/{app_id}`", +"location": "path", +"pattern": "^projects/[^/]+/apps/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+parent}/releases:batchDelete", +"request": { +"$ref": "GoogleFirebaseAppdistroV1BatchDeleteReleasesRequest" +}, +"response": { +"$ref": "GoogleProtobufEmpty" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"distribute": { +"description": "Distributes a release to testers. This call does the following: 1. Creates testers for the specified emails, if none exist. 2. Adds the testers and groups to the release. 3. Sends new testers an invitation email. 4. Sends existing testers a new release email. The request will fail with a `INVALID_ARGUMENT` if it contains a group that doesn't exist.", +"flatPath": "v1/projects/{projectsId}/apps/{appsId}/releases/{releasesId}:distribute", +"httpMethod": "POST", +"id": "firebaseappdistribution.projects.apps.releases.distribute", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. The name of the release resource to distribute. Format: `projects/{project_number}/apps/{app_id}/releases/{release_id}`", +"location": "path", +"pattern": "^projects/[^/]+/apps/[^/]+/releases/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+name}:distribute", +"request": { +"$ref": "GoogleFirebaseAppdistroV1DistributeReleaseRequest" +}, +"response": { +"$ref": "GoogleFirebaseAppdistroV1DistributeReleaseResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"get": { +"description": "Gets a release.", +"flatPath": "v1/projects/{projectsId}/apps/{appsId}/releases/{releasesId}", +"httpMethod": "GET", +"id": "firebaseappdistribution.projects.apps.releases.get", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. The name of the release resource to retrieve. Format: projects/{project_number}/apps/{app_id}/releases/{release_id}", +"location": "path", +"pattern": "^projects/[^/]+/apps/[^/]+/releases/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+name}", +"response": { +"$ref": "GoogleFirebaseAppdistroV1Release" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"list": { +"description": "Lists releases. By default, sorts by `createTime` in descending order.", +"flatPath": "v1/projects/{projectsId}/apps/{appsId}/releases", +"httpMethod": "GET", +"id": "firebaseappdistribution.projects.apps.releases.list", +"parameterOrder": [ +"parent" +], +"parameters": { +"filter": { +"description": "The expression to filter releases listed in the response. To learn more about filtering, refer to [Google's AIP-160 standard](http://aip.dev/160). Supported fields: - `releaseNotes.text` supports `=` (can contain a wildcard character (`*`) at the beginning or end of the string) - `createTime` supports `<`, `<=`, `>` and `>=`, and expects an RFC-3339 formatted string Examples: - `createTime <= \"2021-09-08T00:00:00+04:00\"` - `releaseNotes.text=\"fixes\" AND createTime >= \"2021-09-08T00:00:00.0Z\"` - `releaseNotes.text=\"*v1.0.0-rc*\"`", +"location": "query", +"type": "string" +}, +"orderBy": { +"description": "The fields used to order releases. Supported fields: - `createTime` To specify descending order for a field, append a \"desc\" suffix, for example, `createTime desc`. If this parameter is not set, releases are ordered by `createTime` in descending order.", +"location": "query", +"type": "string" +}, +"pageSize": { +"description": "The maximum number of releases to return. The service may return fewer than this value. The valid range is [1-100]; If unspecified (0), at most 25 releases are returned. Values above 100 are coerced to 100.", +"format": "int32", +"location": "query", +"type": "integer" +}, +"pageToken": { +"description": "A page token, received from a previous `ListReleases` call. Provide this to retrieve the subsequent page. When paginating, all other parameters provided to `ListReleases` must match the call that provided the page token.", +"location": "query", +"type": "string" +}, +"parent": { +"description": "Required. The name of the app resource, which is the parent of the release resources. Format: `projects/{project_number}/apps/{app_id}`", +"location": "path", +"pattern": "^projects/[^/]+/apps/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+parent}/releases", +"response": { +"$ref": "GoogleFirebaseAppdistroV1ListReleasesResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"patch": { +"description": "Updates a release.", +"flatPath": "v1/projects/{projectsId}/apps/{appsId}/releases/{releasesId}", +"httpMethod": "PATCH", +"id": "firebaseappdistribution.projects.apps.releases.patch", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "The name of the release resource. Format: `projects/{project_number}/apps/{app_id}/releases/{release_id}`", +"location": "path", +"pattern": "^projects/[^/]+/apps/[^/]+/releases/[^/]+$", +"required": true, +"type": "string" +}, +"updateMask": { +"description": "The list of fields to update.", +"format": "google-fieldmask", +"location": "query", +"type": "string" +} +}, +"path": "v1/{+name}", +"request": { +"$ref": "GoogleFirebaseAppdistroV1Release" +}, +"response": { +"$ref": "GoogleFirebaseAppdistroV1Release" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +} +}, +"resources": { +"feedbackReports": { +"methods": { +"delete": { +"description": "Deletes a feedback report.", +"flatPath": "v1/projects/{projectsId}/apps/{appsId}/releases/{releasesId}/feedbackReports/{feedbackReportsId}", +"httpMethod": "DELETE", +"id": "firebaseappdistribution.projects.apps.releases.feedbackReports.delete", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. The name of the feedback report to delete. Format: projects/{project_number}/apps/{app}/releases/{release}/feedbackReports/{feedback_report}", +"location": "path", +"pattern": "^projects/[^/]+/apps/[^/]+/releases/[^/]+/feedbackReports/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+name}", +"response": { +"$ref": "GoogleProtobufEmpty" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"get": { +"description": "Gets a feedback report.", +"flatPath": "v1/projects/{projectsId}/apps/{appsId}/releases/{releasesId}/feedbackReports/{feedbackReportsId}", +"httpMethod": "GET", +"id": "firebaseappdistribution.projects.apps.releases.feedbackReports.get", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. The name of the feedback report to retrieve. Format: projects/{project_number}/apps/{app}/releases/{release}/feedbackReports/{feedback_report}", +"location": "path", +"pattern": "^projects/[^/]+/apps/[^/]+/releases/[^/]+/feedbackReports/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+name}", +"response": { +"$ref": "GoogleFirebaseAppdistroV1FeedbackReport" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"list": { +"description": "Lists feedback reports. By default, sorts by `createTime` in descending order.", +"flatPath": "v1/projects/{projectsId}/apps/{appsId}/releases/{releasesId}/feedbackReports", +"httpMethod": "GET", +"id": "firebaseappdistribution.projects.apps.releases.feedbackReports.list", +"parameterOrder": [ +"parent" +], +"parameters": { +"pageSize": { +"description": "The maximum number of feedback reports to return. The service may return fewer than this value. The valid range is [1-100]; If unspecified (0), at most 25 feedback reports are returned. Values above 100 are coerced to 100.", +"format": "int32", +"location": "query", +"type": "integer" +}, +"pageToken": { +"description": "A page token, received from a previous `ListFeedbackReports` call. Provide this to retrieve the subsequent page. When paginating, all other parameters provided to `ListFeedbackReports` must match the call that provided the page token.", +"location": "query", +"type": "string" +}, +"parent": { +"description": "Required. The name of the release resource, which is the parent of the feedback report resources. Format: `projects/{project_number}/apps/{app}/releases/{release}`", +"location": "path", +"pattern": "^projects/[^/]+/apps/[^/]+/releases/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+parent}/feedbackReports", +"response": { +"$ref": "GoogleFirebaseAppdistroV1ListFeedbackReportsResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +} +} +}, +"operations": { +"methods": { +"cancel": { +"description": "Starts asynchronous cancellation on a long-running operation. The server makes a best effort to cancel the operation, but success is not guaranteed. If the server doesn't support this method, it returns `google.rpc.Code.UNIMPLEMENTED`. Clients can use Operations.GetOperation or other methods to check whether the cancellation succeeded or whether the operation completed despite cancellation. On successful cancellation, the operation is not deleted; instead, it becomes an operation with an Operation.error value with a google.rpc.Status.code of `1`, corresponding to `Code.CANCELLED`.", +"flatPath": "v1/projects/{projectsId}/apps/{appsId}/releases/{releasesId}/operations/{operationsId}:cancel", +"httpMethod": "POST", +"id": "firebaseappdistribution.projects.apps.releases.operations.cancel", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "The name of the operation resource to be cancelled.", +"location": "path", +"pattern": "^projects/[^/]+/apps/[^/]+/releases/[^/]+/operations/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+name}:cancel", +"request": { +"$ref": "GoogleLongrunningCancelOperationRequest" +}, +"response": { +"$ref": "GoogleProtobufEmpty" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"delete": { +"description": "Deletes a long-running operation. This method indicates that the client is no longer interested in the operation result. It does not cancel the operation. If the server doesn't support this method, it returns `google.rpc.Code.UNIMPLEMENTED`.", +"flatPath": "v1/projects/{projectsId}/apps/{appsId}/releases/{releasesId}/operations/{operationsId}", +"httpMethod": "DELETE", +"id": "firebaseappdistribution.projects.apps.releases.operations.delete", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "The name of the operation resource to be deleted.", +"location": "path", +"pattern": "^projects/[^/]+/apps/[^/]+/releases/[^/]+/operations/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+name}", +"response": { +"$ref": "GoogleProtobufEmpty" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"get": { +"description": "Gets the latest state of a long-running operation. Clients can use this method to poll the operation result at intervals as recommended by the API service.", +"flatPath": "v1/projects/{projectsId}/apps/{appsId}/releases/{releasesId}/operations/{operationsId}", +"httpMethod": "GET", +"id": "firebaseappdistribution.projects.apps.releases.operations.get", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "The name of the operation resource.", +"location": "path", +"pattern": "^projects/[^/]+/apps/[^/]+/releases/[^/]+/operations/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+name}", +"response": { +"$ref": "GoogleLongrunningOperation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"list": { +"description": "Lists operations that match the specified filter in the request. If the server doesn't support this method, it returns `UNIMPLEMENTED`.", +"flatPath": "v1/projects/{projectsId}/apps/{appsId}/releases/{releasesId}/operations", +"httpMethod": "GET", +"id": "firebaseappdistribution.projects.apps.releases.operations.list", +"parameterOrder": [ +"name" +], +"parameters": { +"filter": { +"description": "The standard list filter.", +"location": "query", +"type": "string" +}, +"name": { +"description": "The name of the operation's parent resource.", +"location": "path", +"pattern": "^projects/[^/]+/apps/[^/]+/releases/[^/]+$", +"required": true, +"type": "string" +}, +"pageSize": { +"description": "The standard list page size.", +"format": "int32", +"location": "query", +"type": "integer" +}, +"pageToken": { +"description": "The standard list page token.", +"location": "query", +"type": "string" +} +}, +"path": "v1/{+name}/operations", +"response": { +"$ref": "GoogleLongrunningListOperationsResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"wait": { +"description": "Waits until the specified long-running operation is done or reaches at most a specified timeout, returning the latest state. If the operation is already done, the latest state is immediately returned. If the timeout specified is greater than the default HTTP/RPC timeout, the HTTP/RPC timeout is used. If the server does not support this method, it returns `google.rpc.Code.UNIMPLEMENTED`. Note that this method is on a best-effort basis. It may return the latest state before the specified timeout (including immediately), meaning even an immediate response is no guarantee that the operation is done.", +"flatPath": "v1/projects/{projectsId}/apps/{appsId}/releases/{releasesId}/operations/{operationsId}:wait", +"httpMethod": "POST", +"id": "firebaseappdistribution.projects.apps.releases.operations.wait", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "The name of the operation resource to wait on.", +"location": "path", +"pattern": "^projects/[^/]+/apps/[^/]+/releases/[^/]+/operations/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+name}:wait", +"request": { +"$ref": "GoogleLongrunningWaitOperationRequest" +}, +"response": { +"$ref": "GoogleLongrunningOperation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +} +} +} +} +} +} +}, +"groups": { +"methods": { +"batchJoin": { +"description": "Batch adds members to a group. The testers will gain access to all releases that the groups have access to.", +"flatPath": "v1/projects/{projectsId}/groups/{groupsId}:batchJoin", +"httpMethod": "POST", +"id": "firebaseappdistribution.projects.groups.batchJoin", +"parameterOrder": [ +"group" +], +"parameters": { +"group": { +"description": "Required. The name of the group resource to which testers are added. Format: `projects/{project_number}/groups/{group_alias}`", +"location": "path", +"pattern": "^projects/[^/]+/groups/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+group}:batchJoin", +"request": { +"$ref": "GoogleFirebaseAppdistroV1BatchJoinGroupRequest" +}, +"response": { +"$ref": "GoogleProtobufEmpty" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"batchLeave": { +"description": "Batch removed members from a group. The testers will lose access to all releases that the groups have access to.", +"flatPath": "v1/projects/{projectsId}/groups/{groupsId}:batchLeave", +"httpMethod": "POST", +"id": "firebaseappdistribution.projects.groups.batchLeave", +"parameterOrder": [ +"group" +], +"parameters": { +"group": { +"description": "Required. The name of the group resource from which testers are removed. Format: `projects/{project_number}/groups/{group_alias}`", +"location": "path", +"pattern": "^projects/[^/]+/groups/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+group}:batchLeave", +"request": { +"$ref": "GoogleFirebaseAppdistroV1BatchLeaveGroupRequest" +}, +"response": { +"$ref": "GoogleProtobufEmpty" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"create": { +"description": "Create a group.", +"flatPath": "v1/projects/{projectsId}/groups", +"httpMethod": "POST", +"id": "firebaseappdistribution.projects.groups.create", +"parameterOrder": [ +"parent" +], +"parameters": { +"groupId": { +"description": "Optional. The \"alias\" to use for the group, which will become the final component of the group's resource name. This value must be unique per project. The field is named `groupId` to comply with AIP guidance for user-specified IDs. This value should be 4-63 characters, and valid characters are `/a-z-/`. If not set, it will be generated based on the display name.", +"location": "query", +"type": "string" +}, +"parent": { +"description": "Required. The name of the project resource, which is the parent of the group resource. Format: `projects/{project_number}`", +"location": "path", +"pattern": "^projects/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+parent}/groups", +"request": { +"$ref": "GoogleFirebaseAppdistroV1Group" +}, +"response": { +"$ref": "GoogleFirebaseAppdistroV1Group" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"delete": { +"description": "Delete a group.", +"flatPath": "v1/projects/{projectsId}/groups/{groupsId}", +"httpMethod": "DELETE", +"id": "firebaseappdistribution.projects.groups.delete", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. The name of the group resource. Format: `projects/{project_number}/groups/{group_alias}`", +"location": "path", +"pattern": "^projects/[^/]+/groups/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+name}", +"response": { +"$ref": "GoogleProtobufEmpty" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"get": { +"description": "Get a group.", +"flatPath": "v1/projects/{projectsId}/groups/{groupsId}", +"httpMethod": "GET", +"id": "firebaseappdistribution.projects.groups.get", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. The name of the group resource to retrieve. Format: `projects/{project_number}/groups/{group_alias}`", +"location": "path", +"pattern": "^projects/[^/]+/groups/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+name}", +"response": { +"$ref": "GoogleFirebaseAppdistroV1Group" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"list": { +"description": "List groups.", +"flatPath": "v1/projects/{projectsId}/groups", +"httpMethod": "GET", +"id": "firebaseappdistribution.projects.groups.list", +"parameterOrder": [ +"parent" +], +"parameters": { +"pageSize": { +"description": "Optional. The maximum number of groups to return. The service may return fewer than this value. The valid range is [1-1000]; If unspecified (0), at most 25 groups are returned. Values above 1000 are coerced to 1000.", +"format": "int32", +"location": "query", +"type": "integer" +}, +"pageToken": { +"description": "Optional. A page token, received from a previous `ListGroups` call. Provide this to retrieve the subsequent page. When paginating, all other parameters provided to `ListGroups` must match the call that provided the page token.", +"location": "query", +"type": "string" +}, +"parent": { +"description": "Required. The name of the project resource, which is the parent of the group resources. Format: `projects/{project_number}`", +"location": "path", +"pattern": "^projects/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+parent}/groups", +"response": { +"$ref": "GoogleFirebaseAppdistroV1ListGroupsResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"patch": { +"description": "Update a group.", +"flatPath": "v1/projects/{projectsId}/groups/{groupsId}", +"httpMethod": "PATCH", +"id": "firebaseappdistribution.projects.groups.patch", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "The name of the group resource. Format: `projects/{project_number}/groups/{group_alias}`", +"location": "path", +"pattern": "^projects/[^/]+/groups/[^/]+$", +"required": true, +"type": "string" +}, +"updateMask": { +"description": "The list of fields to update.", +"format": "google-fieldmask", +"location": "query", +"type": "string" +} +}, +"path": "v1/{+name}", +"request": { +"$ref": "GoogleFirebaseAppdistroV1Group" +}, +"response": { +"$ref": "GoogleFirebaseAppdistroV1Group" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +} +} +}, +"testers": { +"methods": { +"batchAdd": { +"description": "Batch adds testers. This call adds testers for the specified emails if they don't already exist. Returns all testers specified in the request, including newly created and previously existing testers. This action is idempotent.", +"flatPath": "v1/projects/{projectsId}/testers:batchAdd", +"httpMethod": "POST", +"id": "firebaseappdistribution.projects.testers.batchAdd", +"parameterOrder": [ +"project" +], +"parameters": { +"project": { +"description": "Required. The name of the project resource. Format: `projects/{project_number}`", +"location": "path", +"pattern": "^projects/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+project}/testers:batchAdd", +"request": { +"$ref": "GoogleFirebaseAppdistroV1BatchAddTestersRequest" +}, +"response": { +"$ref": "GoogleFirebaseAppdistroV1BatchAddTestersResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"batchRemove": { +"description": "Batch removes testers. If found, this call deletes testers for the specified emails. Returns all deleted testers.", +"flatPath": "v1/projects/{projectsId}/testers:batchRemove", +"httpMethod": "POST", +"id": "firebaseappdistribution.projects.testers.batchRemove", +"parameterOrder": [ +"project" +], +"parameters": { +"project": { +"description": "Required. The name of the project resource. Format: `projects/{project_number}`", +"location": "path", +"pattern": "^projects/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+project}/testers:batchRemove", +"request": { +"$ref": "GoogleFirebaseAppdistroV1BatchRemoveTestersRequest" +}, +"response": { +"$ref": "GoogleFirebaseAppdistroV1BatchRemoveTestersResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"list": { +"description": "Lists testers and their resource ids.", +"flatPath": "v1/projects/{projectsId}/testers", +"httpMethod": "GET", +"id": "firebaseappdistribution.projects.testers.list", +"parameterOrder": [ +"parent" +], +"parameters": { +"filter": { +"description": "Optional. The expression to filter testers listed in the response. To learn more about filtering, refer to [Google's AIP-160 standard](http://aip.dev/160). Supported fields: - `name` - `displayName` - `groups` Example: - `name = \"projects/-/testers/*@example.com\"` - `displayName = \"Joe Sixpack\"` - `groups = \"projects/*/groups/qa-team\"`", +"location": "query", +"type": "string" +}, +"pageSize": { +"description": "Optional. The maximum number of testers to return. The service may return fewer than this value. The valid range is [1-1000]; If unspecified (0), at most 10 testers are returned. Values above 1000 are coerced to 1000.", +"format": "int32", +"location": "query", +"type": "integer" +}, +"pageToken": { +"description": "Optional. A page token, received from a previous `ListTesters` call. Provide this to retrieve the subsequent page. When paginating, all other parameters provided to `ListTesters` must match the call that provided the page token.", +"location": "query", +"type": "string" +}, +"parent": { +"description": "Required. The name of the project resource, which is the parent of the tester resources. Format: `projects/{project_number}`", +"location": "path", +"pattern": "^projects/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+parent}/testers", +"response": { +"$ref": "GoogleFirebaseAppdistroV1ListTestersResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"patch": { +"description": "Update a tester. If the testers joins a group they gain access to all releases that the group has access to.", +"flatPath": "v1/projects/{projectsId}/testers/{testersId}", +"httpMethod": "PATCH", +"id": "firebaseappdistribution.projects.testers.patch", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "The name of the tester resource. Format: `projects/{project_number}/testers/{email_address}`", +"location": "path", +"pattern": "^projects/[^/]+/testers/[^/]+$", +"required": true, +"type": "string" +}, +"updateMask": { +"description": "The list of fields to update.", +"format": "google-fieldmask", +"location": "query", +"type": "string" +} +}, +"path": "v1/{+name}", +"request": { +"$ref": "GoogleFirebaseAppdistroV1Tester" +}, +"response": { +"$ref": "GoogleFirebaseAppdistroV1Tester" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +} +} +} +} +} +}, +"revision": "20241115", +"rootUrl": "https://firebaseappdistribution.googleapis.com/", +"schemas": { +"GdataBlobstore2Info": { +"description": "Information to read/write to blobstore2.", +"id": "GdataBlobstore2Info", +"properties": { +"blobGeneration": { +"description": "The blob generation id.", +"format": "int64", +"type": "string" +}, +"blobId": { +"description": "The blob id, e.g., /blobstore/prod/playground/scotty", +"type": "string" +}, +"downloadReadHandle": { +"description": "Read handle passed from Bigstore -> Scotty for a GCS download. This is a signed, serialized blobstore2.ReadHandle proto which must never be set outside of Bigstore, and is not applicable to non-GCS media downloads.", +"format": "byte", +"type": "string" +}, +"readToken": { +"description": "The blob read token. Needed to read blobs that have not been replicated. Might not be available until the final call.", +"type": "string" +}, +"uploadMetadataContainer": { +"description": "Metadata passed from Blobstore -> Scotty for a new GCS upload. This is a signed, serialized blobstore2.BlobMetadataContainer proto which must never be consumed outside of Bigstore, and is not applicable to non-GCS media uploads.", +"format": "byte", +"type": "string" +} +}, +"type": "object" +}, +"GdataCompositeMedia": { +"description": "A sequence of media data references representing composite data. Introduced to support Bigstore composite objects. For details, visit http://go/bigstore-composites.", +"id": "GdataCompositeMedia", +"properties": { +"blobRef": { +"deprecated": true, +"description": "Blobstore v1 reference, set if reference_type is BLOBSTORE_REF This should be the byte representation of a blobstore.BlobRef. Since Blobstore is deprecating v1, use blobstore2_info instead. For now, any v2 blob will also be represented in this field as v1 BlobRef.", +"format": "byte", +"type": "string" +}, +"blobstore2Info": { +"$ref": "GdataBlobstore2Info", +"description": "Blobstore v2 info, set if reference_type is BLOBSTORE_REF and it refers to a v2 blob." +}, +"cosmoBinaryReference": { +"description": "A binary data reference for a media download. Serves as a technology-agnostic binary reference in some Google infrastructure. This value is a serialized storage_cosmo.BinaryReference proto. Storing it as bytes is a hack to get around the fact that the cosmo proto (as well as others it includes) doesn't support JavaScript. This prevents us from including the actual type of this field.", +"format": "byte", +"type": "string" +}, +"crc32cHash": { +"description": "crc32.c hash for the payload.", +"format": "uint32", +"type": "integer" +}, +"inline": { +"description": "Media data, set if reference_type is INLINE", +"format": "byte", +"type": "string" +}, +"length": { +"description": "Size of the data, in bytes", +"format": "int64", +"type": "string" +}, +"md5Hash": { +"description": "MD5 hash for the payload.", +"format": "byte", +"type": "string" +}, +"objectId": { +"$ref": "GdataObjectId", +"description": "Reference to a TI Blob, set if reference_type is BIGSTORE_REF." +}, +"path": { +"description": "Path to the data, set if reference_type is PATH", +"type": "string" +}, +"referenceType": { +"description": "Describes what the field reference contains.", +"enum": [ +"PATH", +"BLOB_REF", +"INLINE", +"BIGSTORE_REF", +"COSMO_BINARY_REFERENCE" +], +"enumDescriptions": [ +"Reference contains a GFS path or a local path.", +"Reference points to a blobstore object. This could be either a v1 blob_ref or a v2 blobstore2_info. Clients should check blobstore2_info first, since v1 is being deprecated.", +"Data is included into this proto buffer", +"Reference points to a bigstore object", +"Indicates the data is stored in cosmo_binary_reference." +], +"type": "string" +}, +"sha1Hash": { +"description": "SHA-1 hash for the payload.", +"format": "byte", +"type": "string" +} +}, +"type": "object" +}, +"GdataContentTypeInfo": { +"description": "Detailed Content-Type information from Scotty. The Content-Type of the media will typically be filled in by the header or Scotty's best_guess, but this extended information provides the backend with more information so that it can make a better decision if needed. This is only used on media upload requests from Scotty.", +"id": "GdataContentTypeInfo", +"properties": { +"bestGuess": { +"description": "Scotty's best guess of what the content type of the file is.", +"type": "string" +}, +"fromBytes": { +"description": "The content type of the file derived by looking at specific bytes (i.e. \"magic bytes\") of the actual file.", +"type": "string" +}, +"fromFileName": { +"description": "The content type of the file derived from the file extension of the original file name used by the client.", +"type": "string" +}, +"fromHeader": { +"description": "The content type of the file as specified in the request headers, multipart headers, or RUPIO start request.", +"type": "string" +}, +"fromUrlPath": { +"description": "The content type of the file derived from the file extension of the URL path. The URL path is assumed to represent a file name (which is typically only true for agents that are providing a REST API).", +"type": "string" +} +}, +"type": "object" +}, +"GdataDiffChecksumsResponse": { +"description": "Backend response for a Diff get checksums response. For details on the Scotty Diff protocol, visit http://go/scotty-diff-protocol.", +"id": "GdataDiffChecksumsResponse", +"properties": { +"checksumsLocation": { +"$ref": "GdataCompositeMedia", +"description": "Exactly one of these fields must be populated. If checksums_location is filled, the server will return the corresponding contents to the user. If object_location is filled, the server will calculate the checksums based on the content there and return that to the user. For details on the format of the checksums, see http://go/scotty-diff-protocol." +}, +"chunkSizeBytes": { +"description": "The chunk size of checksums. Must be a multiple of 256KB.", +"format": "int64", +"type": "string" +}, +"objectLocation": { +"$ref": "GdataCompositeMedia", +"description": "If set, calculate the checksums based on the contents and return them to the caller." +}, +"objectSizeBytes": { +"description": "The total size of the server object.", +"format": "int64", +"type": "string" +}, +"objectVersion": { +"description": "The object version of the object the checksums are being returned for.", +"type": "string" +} +}, +"type": "object" +}, +"GdataDiffDownloadResponse": { +"description": "Backend response for a Diff download response. For details on the Scotty Diff protocol, visit http://go/scotty-diff-protocol.", +"id": "GdataDiffDownloadResponse", +"properties": { +"objectLocation": { +"$ref": "GdataCompositeMedia", +"description": "The original object location." +} +}, +"type": "object" +}, +"GdataDiffUploadRequest": { +"description": "A Diff upload request. For details on the Scotty Diff protocol, visit http://go/scotty-diff-protocol.", +"id": "GdataDiffUploadRequest", +"properties": { +"checksumsInfo": { +"$ref": "GdataCompositeMedia", +"description": "The location of the checksums for the new object. Agents must clone the object located here, as the upload server will delete the contents once a response is received. For details on the format of the checksums, see http://go/scotty-diff-protocol." +}, +"objectInfo": { +"$ref": "GdataCompositeMedia", +"description": "The location of the new object. Agents must clone the object located here, as the upload server will delete the contents once a response is received." +}, +"objectVersion": { +"description": "The object version of the object that is the base version the incoming diff script will be applied to. This field will always be filled in.", +"type": "string" +} +}, +"type": "object" +}, +"GdataDiffUploadResponse": { +"description": "Backend response for a Diff upload request. For details on the Scotty Diff protocol, visit http://go/scotty-diff-protocol.", +"id": "GdataDiffUploadResponse", +"properties": { +"objectVersion": { +"description": "The object version of the object at the server. Must be included in the end notification response. The version in the end notification response must correspond to the new version of the object that is now stored at the server, after the upload.", +"type": "string" +}, +"originalObject": { +"$ref": "GdataCompositeMedia", +"description": "The location of the original file for a diff upload request. Must be filled in if responding to an upload start notification." +} +}, +"type": "object" +}, +"GdataDiffVersionResponse": { +"description": "Backend response for a Diff get version response. For details on the Scotty Diff protocol, visit http://go/scotty-diff-protocol.", +"id": "GdataDiffVersionResponse", +"properties": { +"objectSizeBytes": { +"description": "The total size of the server object.", +"format": "int64", +"type": "string" +}, +"objectVersion": { +"description": "The version of the object stored at the server.", +"type": "string" +} +}, +"type": "object" +}, +"GdataDownloadParameters": { +"description": "Parameters specific to media downloads.", +"id": "GdataDownloadParameters", +"properties": { +"allowGzipCompression": { +"description": "A boolean to be returned in the response to Scotty. Allows/disallows gzip encoding of the payload content when the server thinks it's advantageous (hence, does not guarantee compression) which allows Scotty to GZip the response to the client.", +"type": "boolean" +}, +"ignoreRange": { +"description": "Determining whether or not Apiary should skip the inclusion of any Content-Range header on its response to Scotty.", +"type": "boolean" +} +}, +"type": "object" +}, +"GdataMedia": { +"description": "A reference to data stored on the filesystem, on GFS or in blobstore.", +"id": "GdataMedia", +"properties": { +"algorithm": { +"deprecated": true, +"description": "Deprecated, use one of explicit hash type fields instead. Algorithm used for calculating the hash. As of 2011/01/21, \"MD5\" is the only possible value for this field. New values may be added at any time.", +"type": "string" +}, +"bigstoreObjectRef": { +"deprecated": true, +"description": "Use object_id instead.", +"format": "byte", +"type": "string" +}, +"blobRef": { +"deprecated": true, +"description": "Blobstore v1 reference, set if reference_type is BLOBSTORE_REF This should be the byte representation of a blobstore.BlobRef. Since Blobstore is deprecating v1, use blobstore2_info instead. For now, any v2 blob will also be represented in this field as v1 BlobRef.", +"format": "byte", +"type": "string" +}, +"blobstore2Info": { +"$ref": "GdataBlobstore2Info", +"description": "Blobstore v2 info, set if reference_type is BLOBSTORE_REF and it refers to a v2 blob." +}, +"compositeMedia": { +"description": "A composite media composed of one or more media objects, set if reference_type is COMPOSITE_MEDIA. The media length field must be set to the sum of the lengths of all composite media objects. Note: All composite media must have length specified.", +"items": { +"$ref": "GdataCompositeMedia" +}, +"type": "array" +}, +"contentType": { +"description": "MIME type of the data", +"type": "string" +}, +"contentTypeInfo": { +"$ref": "GdataContentTypeInfo", +"description": "Extended content type information provided for Scotty uploads." +}, +"cosmoBinaryReference": { +"description": "A binary data reference for a media download. Serves as a technology-agnostic binary reference in some Google infrastructure. This value is a serialized storage_cosmo.BinaryReference proto. Storing it as bytes is a hack to get around the fact that the cosmo proto (as well as others it includes) doesn't support JavaScript. This prevents us from including the actual type of this field.", +"format": "byte", +"type": "string" +}, +"crc32cHash": { +"description": "For Scotty Uploads: Scotty-provided hashes for uploads For Scotty Downloads: (WARNING: DO NOT USE WITHOUT PERMISSION FROM THE SCOTTY TEAM.) A Hash provided by the agent to be used to verify the data being downloaded. Currently only supported for inline payloads. Further, only crc32c_hash is currently supported.", +"format": "uint32", +"type": "integer" +}, +"diffChecksumsResponse": { +"$ref": "GdataDiffChecksumsResponse", +"description": "Set if reference_type is DIFF_CHECKSUMS_RESPONSE." +}, +"diffDownloadResponse": { +"$ref": "GdataDiffDownloadResponse", +"description": "Set if reference_type is DIFF_DOWNLOAD_RESPONSE." +}, +"diffUploadRequest": { +"$ref": "GdataDiffUploadRequest", +"description": "Set if reference_type is DIFF_UPLOAD_REQUEST." +}, +"diffUploadResponse": { +"$ref": "GdataDiffUploadResponse", +"description": "Set if reference_type is DIFF_UPLOAD_RESPONSE." +}, +"diffVersionResponse": { +"$ref": "GdataDiffVersionResponse", +"description": "Set if reference_type is DIFF_VERSION_RESPONSE." +}, +"downloadParameters": { +"$ref": "GdataDownloadParameters", +"description": "Parameters for a media download." +}, +"filename": { +"description": "Original file name", +"type": "string" +}, +"hash": { +"deprecated": true, +"description": "Deprecated, use one of explicit hash type fields instead. These two hash related fields will only be populated on Scotty based media uploads and will contain the content of the hash group in the NotificationRequest: http://cs/#google3/blobstore2/api/scotty/service/proto/upload_listener.proto&q=class:Hash Hex encoded hash value of the uploaded media.", +"type": "string" +}, +"hashVerified": { +"description": "For Scotty uploads only. If a user sends a hash code and the backend has requested that Scotty verify the upload against the client hash, Scotty will perform the check on behalf of the backend and will reject it if the hashes don't match. This is set to true if Scotty performed this verification.", +"type": "boolean" +}, +"inline": { +"description": "Media data, set if reference_type is INLINE", +"format": "byte", +"type": "string" +}, +"isPotentialRetry": { +"description": "|is_potential_retry| is set false only when Scotty is certain that it has not sent the request before. When a client resumes an upload, this field must be set true in agent calls, because Scotty cannot be certain that it has never sent the request before due to potential failure in the session state persistence.", +"type": "boolean" +}, +"length": { +"description": "Size of the data, in bytes", +"format": "int64", +"type": "string" +}, +"md5Hash": { +"description": "Scotty-provided MD5 hash for an upload.", +"format": "byte", +"type": "string" +}, +"mediaId": { +"description": "Media id to forward to the operation GetMedia. Can be set if reference_type is GET_MEDIA.", +"format": "byte", +"type": "string" +}, +"objectId": { +"$ref": "GdataObjectId", +"description": "Reference to a TI Blob, set if reference_type is BIGSTORE_REF." +}, +"path": { +"description": "Path to the data, set if reference_type is PATH", +"type": "string" +}, +"referenceType": { +"description": "Describes what the field reference contains.", +"enum": [ +"PATH", +"BLOB_REF", +"INLINE", +"GET_MEDIA", +"COMPOSITE_MEDIA", +"BIGSTORE_REF", +"DIFF_VERSION_RESPONSE", +"DIFF_CHECKSUMS_RESPONSE", +"DIFF_DOWNLOAD_RESPONSE", +"DIFF_UPLOAD_REQUEST", +"DIFF_UPLOAD_RESPONSE", +"COSMO_BINARY_REFERENCE", +"ARBITRARY_BYTES" +], +"enumDescriptions": [ +"Reference contains a GFS path or a local path.", +"Reference points to a blobstore object. This could be either a v1 blob_ref or a v2 blobstore2_info. Clients should check blobstore2_info first, since v1 is being deprecated.", +"Data is included into this proto buffer", +"Data should be accessed from the current service using the operation GetMedia.", +"The content for this media object is stored across multiple partial media objects under the composite_media field.", +"Reference points to a bigstore object", +"Indicates the data is stored in diff_version_response.", +"Indicates the data is stored in diff_checksums_response.", +"Indicates the data is stored in diff_download_response.", +"Indicates the data is stored in diff_upload_request.", +"Indicates the data is stored in diff_upload_response.", +"Indicates the data is stored in cosmo_binary_reference.", +"Informs Scotty to generate a response payload with the size specified in the length field. The contents of the payload are generated by Scotty and are undefined. This is useful for testing download speeds between the user and Scotty without involving a real payload source. Note: range is not supported when using arbitrary_bytes." +], +"type": "string" +}, +"sha1Hash": { +"description": "Scotty-provided SHA1 hash for an upload.", +"format": "byte", +"type": "string" +}, +"sha256Hash": { +"description": "Scotty-provided SHA256 hash for an upload.", +"format": "byte", +"type": "string" +}, +"timestamp": { +"description": "Time at which the media data was last updated, in milliseconds since UNIX epoch", +"format": "uint64", +"type": "string" +}, +"token": { +"description": "A unique fingerprint/version id for the media data", +"type": "string" +} +}, +"type": "object" +}, +"GdataObjectId": { +"description": "This is a copy of the tech.blob.ObjectId proto, which could not be used directly here due to transitive closure issues with JavaScript support; see http://b/8801763.", +"id": "GdataObjectId", +"properties": { +"bucketName": { +"description": "The name of the bucket to which this object belongs.", +"type": "string" +}, +"generation": { +"description": "Generation of the object. Generations are monotonically increasing across writes, allowing them to be be compared to determine which generation is newer. If this is omitted in a request, then you are requesting the live object. See http://go/bigstore-versions", +"format": "int64", +"type": "string" +}, +"objectName": { +"description": "The name of the object.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleFirebaseAppdistroV1AabInfo": { +"description": "Android App Bundle (AAB) information for a Firebase app.", +"id": "GoogleFirebaseAppdistroV1AabInfo", +"properties": { +"integrationState": { +"description": "App bundle integration state. Only valid for android apps.", +"enum": [ +"AAB_INTEGRATION_STATE_UNSPECIFIED", +"INTEGRATED", +"PLAY_ACCOUNT_NOT_LINKED", +"NO_APP_WITH_GIVEN_BUNDLE_ID_IN_PLAY_ACCOUNT", +"APP_NOT_PUBLISHED", +"AAB_STATE_UNAVAILABLE", +"PLAY_IAS_TERMS_NOT_ACCEPTED" +], +"enumDescriptions": [ +"Aab integration state unspecified", +"App can receive app bundle uploads", +"Firebase project is not linked to a Play developer account", +"There is no app in linked Play developer account with the same bundle id", +"The app in Play developer account is not in a published state", +"Play App status is unavailable", +"Play IAS terms not accepted" +], +"type": "string" +}, +"name": { +"description": "The name of the `AabInfo` resource. Format: `projects/{project_number}/apps/{app}/aabInfo`", +"type": "string" +}, +"testCertificate": { +"$ref": "GoogleFirebaseAppdistroV1TestCertificate", +"description": "App bundle test certificate generated for the app. Set after the first app bundle is uploaded for this app." +} +}, +"type": "object" +}, +"GoogleFirebaseAppdistroV1BatchAddTestersRequest": { +"description": "The Request message for batch adding testers", +"id": "GoogleFirebaseAppdistroV1BatchAddTestersRequest", +"properties": { +"emails": { +"description": "Required. The email addresses of the tester resources to create. A maximum of 999 and a minimum of 1 tester can be created in a batch.", +"items": { +"type": "string" +}, +"type": "array" +} +}, +"type": "object" +}, +"GoogleFirebaseAppdistroV1BatchAddTestersResponse": { +"description": "The Response message for `BatchAddTesters`.", +"id": "GoogleFirebaseAppdistroV1BatchAddTestersResponse", +"properties": { +"testers": { +"description": "The testers which are created and/or already exist", +"items": { +"$ref": "GoogleFirebaseAppdistroV1Tester" +}, +"type": "array" +} +}, +"type": "object" +}, +"GoogleFirebaseAppdistroV1BatchDeleteReleasesRequest": { +"description": "The request message for `BatchDeleteReleases`.", +"id": "GoogleFirebaseAppdistroV1BatchDeleteReleasesRequest", +"properties": { +"names": { +"description": "Required. The names of the release resources to delete. Format: `projects/{project_number}/apps/{app_id}/releases/{release_id}` A maximum of 100 releases can be deleted per request.", +"items": { +"type": "string" +}, +"type": "array" +} +}, +"type": "object" +}, +"GoogleFirebaseAppdistroV1BatchJoinGroupRequest": { +"description": "The request message for `BatchJoinGroup`", +"id": "GoogleFirebaseAppdistroV1BatchJoinGroupRequest", +"properties": { +"createMissingTesters": { +"description": "Indicates whether to create tester resources based on `emails` if they don't exist yet.", +"type": "boolean" +}, +"emails": { +"description": "Required. The emails of the testers to be added to the group. A maximum of 999 and a minimum of 1 tester can be created in a batch.", +"items": { +"type": "string" +}, +"type": "array" +} +}, +"type": "object" +}, +"GoogleFirebaseAppdistroV1BatchLeaveGroupRequest": { +"description": "Request message for `BatchLeaveGroup`", +"id": "GoogleFirebaseAppdistroV1BatchLeaveGroupRequest", +"properties": { +"emails": { +"description": "Required. The email addresses of the testers to be removed from the group. A maximum of 999 and a minimum of 1 testers can be removed in a batch.", +"items": { +"type": "string" +}, +"type": "array" +} +}, +"type": "object" +}, +"GoogleFirebaseAppdistroV1BatchRemoveTestersRequest": { +"description": "The request message for `BatchRemoveTesters`.", +"id": "GoogleFirebaseAppdistroV1BatchRemoveTestersRequest", +"properties": { +"emails": { +"description": "Required. The email addresses of the tester resources to removed. A maximum of 999 and a minimum of 1 testers can be deleted in a batch.", +"items": { +"type": "string" +}, +"type": "array" +} +}, +"type": "object" +}, +"GoogleFirebaseAppdistroV1BatchRemoveTestersResponse": { +"description": "The response message for `BatchRemoveTesters`", +"id": "GoogleFirebaseAppdistroV1BatchRemoveTestersResponse", +"properties": { +"emails": { +"description": "List of deleted tester emails", +"items": { +"type": "string" +}, +"type": "array" +} +}, +"type": "object" +}, +"GoogleFirebaseAppdistroV1DistributeReleaseRequest": { +"description": "The request message for `DistributeRelease`.", +"id": "GoogleFirebaseAppdistroV1DistributeReleaseRequest", +"properties": { +"groupAliases": { +"description": "A list of group aliases (IDs) to be given access to this release. A combined maximum of 999 `testerEmails` and `groupAliases` can be specified in a single request.", +"items": { +"type": "string" +}, +"type": "array" +}, +"testerEmails": { +"description": "A list of tester email addresses to be given access to this release. A combined maximum of 999 `testerEmails` and `groupAliases` can be specified in a single request.", +"items": { +"type": "string" +}, +"type": "array" +} +}, +"type": "object" +}, +"GoogleFirebaseAppdistroV1DistributeReleaseResponse": { +"description": "The response message for `DistributeRelease`.", +"id": "GoogleFirebaseAppdistroV1DistributeReleaseResponse", +"properties": {}, +"type": "object" +}, +"GoogleFirebaseAppdistroV1FeedbackReport": { +"description": "A feedback report submitted by a tester for a release.", +"id": "GoogleFirebaseAppdistroV1FeedbackReport", +"properties": { +"createTime": { +"description": "Output only. The time when the feedback report was created.", +"format": "google-datetime", +"readOnly": true, +"type": "string" +}, +"firebaseConsoleUri": { +"description": "Output only. A link to the Firebase console displaying the feedback report.", +"readOnly": true, +"type": "string" +}, +"name": { +"description": "The name of the feedback report resource. Format: `projects/{project_number}/apps/{app}/releases/{release}/feedbackReports/{feedback_report}`", +"type": "string" +}, +"screenshotUri": { +"description": "Output only. A signed link (which expires in one hour) that lets you directly download the screenshot.", +"readOnly": true, +"type": "string" +}, +"tester": { +"description": "Output only. The resource name of the tester who submitted the feedback report.", +"readOnly": true, +"type": "string" +}, +"text": { +"description": "Output only. The text of the feedback report.", +"readOnly": true, +"type": "string" +} +}, +"type": "object" +}, +"GoogleFirebaseAppdistroV1Group": { +"description": "A group which can contain testers. A group can be invited to test apps in a Firebase project.", +"id": "GoogleFirebaseAppdistroV1Group", +"properties": { +"displayName": { +"description": "Required. The display name of the group.", +"type": "string" +}, +"inviteLinkCount": { +"description": "Output only. The number of invite links for this group.", +"format": "int32", +"readOnly": true, +"type": "integer" +}, +"name": { +"description": "The name of the group resource. Format: `projects/{project_number}/groups/{group_alias}`", +"type": "string" +}, +"releaseCount": { +"description": "Output only. The number of releases this group is permitted to access.", +"format": "int32", +"readOnly": true, +"type": "integer" +}, +"testerCount": { +"description": "Output only. The number of testers who are members of this group.", +"format": "int32", +"readOnly": true, +"type": "integer" +} +}, +"type": "object" +}, +"GoogleFirebaseAppdistroV1ListFeedbackReportsResponse": { +"description": "The response message for `ListFeedbackReports`.", +"id": "GoogleFirebaseAppdistroV1ListFeedbackReportsResponse", +"properties": { +"feedbackReports": { +"description": "The feedback reports", +"items": { +"$ref": "GoogleFirebaseAppdistroV1FeedbackReport" +}, +"type": "array" +}, +"nextPageToken": { +"description": "A short-lived token, which can be sent as `pageToken` to retrieve the next page. If this field is omitted, there are no subsequent pages.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleFirebaseAppdistroV1ListGroupsResponse": { +"description": "The response message for `ListGroups`.", +"id": "GoogleFirebaseAppdistroV1ListGroupsResponse", +"properties": { +"groups": { +"description": "The groups listed.", +"items": { +"$ref": "GoogleFirebaseAppdistroV1Group" +}, +"type": "array" +}, +"nextPageToken": { +"description": "A short-lived token, which can be sent as `pageToken` to retrieve the next page. If this field is omitted, there are no subsequent pages.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleFirebaseAppdistroV1ListReleasesResponse": { +"description": "The response message for `ListReleases`.", +"id": "GoogleFirebaseAppdistroV1ListReleasesResponse", +"properties": { +"nextPageToken": { +"description": "A short-lived token, which can be sent as `pageToken` to retrieve the next page. If this field is omitted, there are no subsequent pages.", +"type": "string" +}, +"releases": { +"description": "The releases", +"items": { +"$ref": "GoogleFirebaseAppdistroV1Release" +}, +"type": "array" +} +}, +"type": "object" +}, +"GoogleFirebaseAppdistroV1ListTestersResponse": { +"description": "The response message for `ListTesters`.", +"id": "GoogleFirebaseAppdistroV1ListTestersResponse", +"properties": { +"nextPageToken": { +"description": "A short-lived token, which can be sent as `pageToken` to retrieve the next page. If this field is omitted, there are no subsequent pages.", +"type": "string" +}, +"testers": { +"description": "The testers listed.", +"items": { +"$ref": "GoogleFirebaseAppdistroV1Tester" +}, +"type": "array" +} +}, +"type": "object" +}, +"GoogleFirebaseAppdistroV1Release": { +"description": "A release of a Firebase app.", +"id": "GoogleFirebaseAppdistroV1Release", +"properties": { +"binaryDownloadUri": { +"description": "Output only. A signed link (which expires in one hour) to directly download the app binary (IPA/APK/AAB) file.", +"readOnly": true, +"type": "string" +}, +"buildVersion": { +"description": "Output only. Build version of the release. For an Android release, the build version is the `versionCode`. For an iOS release, the build version is the `CFBundleVersion`.", +"readOnly": true, +"type": "string" +}, +"createTime": { +"description": "Output only. The time the release was created.", +"format": "google-datetime", +"readOnly": true, +"type": "string" +}, +"displayVersion": { +"description": "Output only. Display version of the release. For an Android release, the display version is the `versionName`. For an iOS release, the display version is the `CFBundleShortVersionString`.", +"readOnly": true, +"type": "string" +}, +"firebaseConsoleUri": { +"description": "Output only. A link to the Firebase console displaying a single release.", +"readOnly": true, +"type": "string" +}, +"name": { +"description": "The name of the release resource. Format: `projects/{project_number}/apps/{app_id}/releases/{release_id}`", +"type": "string" +}, +"releaseNotes": { +"$ref": "GoogleFirebaseAppdistroV1ReleaseNotes", +"description": "Notes of the release." +}, +"testingUri": { +"description": "Output only. A link to the release in the tester web clip or Android app that lets testers (which were granted access to the app) view release notes and install the app onto their devices.", +"readOnly": true, +"type": "string" +} +}, +"type": "object" +}, +"GoogleFirebaseAppdistroV1ReleaseNotes": { +"description": "Notes that belong to a release.", +"id": "GoogleFirebaseAppdistroV1ReleaseNotes", +"properties": { +"text": { +"description": "The text of the release notes.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleFirebaseAppdistroV1TestCertificate": { +"description": "App bundle test certificate", +"id": "GoogleFirebaseAppdistroV1TestCertificate", +"properties": { +"hashMd5": { +"description": "Hex string of MD5 hash of the test certificate used to resign the AAB", +"type": "string" +}, +"hashSha1": { +"description": "Hex string of SHA1 hash of the test certificate used to resign the AAB", +"type": "string" +}, +"hashSha256": { +"description": "Hex string of SHA256 hash of the test certificate used to resign the AAB", +"type": "string" +} +}, +"type": "object" +}, +"GoogleFirebaseAppdistroV1Tester": { +"description": "A person that can be invited to test apps in a Firebase project.", +"id": "GoogleFirebaseAppdistroV1Tester", +"properties": { +"displayName": { +"description": "The name of the tester associated with the Google account used to accept the tester invitation.", +"type": "string" +}, +"groups": { +"description": "The resource names of the groups this tester belongs to.", +"items": { +"type": "string" +}, +"type": "array" +}, +"lastActivityTime": { +"description": "Output only. The time the tester was last active. This is the most recent time the tester installed one of the apps. If they've never installed one or if the release no longer exists, this is the time the tester was added to the project.", +"format": "google-datetime", +"readOnly": true, +"type": "string" +}, +"name": { +"description": "The name of the tester resource. Format: `projects/{project_number}/testers/{email_address}`", +"type": "string" +} +}, +"type": "object" +}, +"GoogleFirebaseAppdistroV1UploadReleaseMetadata": { +"description": "Operation metadata for `UploadRelease`.", +"id": "GoogleFirebaseAppdistroV1UploadReleaseMetadata", +"properties": {}, +"type": "object" +}, +"GoogleFirebaseAppdistroV1UploadReleaseRequest": { +"description": "Request message for `UploadRelease`.", +"id": "GoogleFirebaseAppdistroV1UploadReleaseRequest", +"properties": { +"blob": { +"$ref": "GdataMedia", +"description": "Binary to upload" +} +}, +"type": "object" +}, +"GoogleFirebaseAppdistroV1UploadReleaseResponse": { +"description": "Response message for `UploadRelease`.", +"id": "GoogleFirebaseAppdistroV1UploadReleaseResponse", +"properties": { +"release": { +"$ref": "GoogleFirebaseAppdistroV1Release", +"description": "Release associated with the uploaded binary." +}, +"result": { +"description": "Result of upload release.", +"enum": [ +"UPLOAD_RELEASE_RESULT_UNSPECIFIED", +"RELEASE_CREATED", +"RELEASE_UPDATED", +"RELEASE_UNMODIFIED" +], +"enumDescriptions": [ +"Upload binary result unspecified", +"Upload binary resulted in a new release", +"Upload binary updated an existing release", +"Upload binary resulted in a no-op. A release with the exact same binary already exists." +], +"type": "string" +} +}, +"type": "object" +}, +"GoogleLongrunningCancelOperationRequest": { +"description": "The request message for Operations.CancelOperation.", +"id": "GoogleLongrunningCancelOperationRequest", +"properties": {}, +"type": "object" +}, +"GoogleLongrunningListOperationsResponse": { +"description": "The response message for Operations.ListOperations.", +"id": "GoogleLongrunningListOperationsResponse", +"properties": { +"nextPageToken": { +"description": "The standard List next-page token.", +"type": "string" +}, +"operations": { +"description": "A list of operations that matches the specified filter in the request.", +"items": { +"$ref": "GoogleLongrunningOperation" +}, +"type": "array" +} +}, +"type": "object" +}, +"GoogleLongrunningOperation": { +"description": "This resource represents a long-running operation that is the result of a network API call.", +"id": "GoogleLongrunningOperation", +"properties": { +"done": { +"description": "If the value is `false`, it means the operation is still in progress. If `true`, the operation is completed, and either `error` or `response` is available.", +"type": "boolean" +}, +"error": { +"$ref": "GoogleRpcStatus", +"description": "The error result of the operation in case of failure or cancellation." +}, +"metadata": { +"additionalProperties": { +"description": "Properties of the object. Contains field @type with type URL.", +"type": "any" +}, +"description": "Service-specific metadata associated with the operation. It typically contains progress information and common metadata such as create time. Some services might not provide such metadata. Any method that returns a long-running operation should document the metadata type, if any.", +"type": "object" +}, +"name": { +"description": "The server-assigned name, which is only unique within the same service that originally returns it. If you use the default HTTP mapping, the `name` should be a resource name ending with `operations/{unique_id}`.", +"type": "string" +}, +"response": { +"additionalProperties": { +"description": "Properties of the object. Contains field @type with type URL.", +"type": "any" +}, +"description": "The normal, successful response of the operation. If the original method returns no data on success, such as `Delete`, the response is `google.protobuf.Empty`. If the original method is standard `Get`/`Create`/`Update`, the response should be the resource. For other methods, the response should have the type `XxxResponse`, where `Xxx` is the original method name. For example, if the original method name is `TakeSnapshot()`, the inferred response type is `TakeSnapshotResponse`.", +"type": "object" +} +}, +"type": "object" +}, +"GoogleLongrunningWaitOperationRequest": { +"description": "The request message for Operations.WaitOperation.", +"id": "GoogleLongrunningWaitOperationRequest", +"properties": { +"timeout": { +"description": "The maximum duration to wait before timing out. If left blank, the wait will be at most the time permitted by the underlying HTTP/RPC protocol. If RPC context deadline is also specified, the shorter one will be used.", +"format": "google-duration", +"type": "string" +} +}, +"type": "object" +}, +"GoogleProtobufEmpty": { +"description": "A generic empty message that you can re-use to avoid defining duplicated empty messages in your APIs. A typical example is to use it as the request or the response type of an API method. For instance: service Foo { rpc Bar(google.protobuf.Empty) returns (google.protobuf.Empty); }", +"id": "GoogleProtobufEmpty", +"properties": {}, +"type": "object" +}, +"GoogleRpcStatus": { +"description": "The `Status` type defines a logical error model that is suitable for different programming environments, including REST APIs and RPC APIs. It is used by [gRPC](https://github.com/grpc). Each `Status` message contains three pieces of data: error code, error message, and error details. You can find out more about this error model and how to work with it in the [API Design Guide](https://cloud.google.com/apis/design/errors).", +"id": "GoogleRpcStatus", +"properties": { +"code": { +"description": "The status code, which should be an enum value of google.rpc.Code.", +"format": "int32", +"type": "integer" +}, +"details": { +"description": "A list of messages that carry the error details. There is a common set of message types for APIs to use.", +"items": { +"additionalProperties": { +"description": "Properties of the object. Contains field @type with type URL.", +"type": "any" +}, +"type": "object" +}, +"type": "array" +}, +"message": { +"description": "A developer-facing error message, which should be in English. Any user-facing error message should be localized and sent in the google.rpc.Status.details field, or localized by the client.", +"type": "string" +} +}, +"type": "object" +} +}, +"servicePath": "", +"title": "Firebase App Distribution API", +"version": "v1", +"version_module": true +} \ No newline at end of file diff --git a/.venv/lib/python3.11/site-packages/googleapiclient/discovery_cache/documents/firebasehosting.v1.json b/.venv/lib/python3.11/site-packages/googleapiclient/discovery_cache/documents/firebasehosting.v1.json new file mode 100644 index 0000000000000000000000000000000000000000..fc5ffea4cf12763d9ac6e1853b41faeb58553609 --- /dev/null +++ b/.venv/lib/python3.11/site-packages/googleapiclient/discovery_cache/documents/firebasehosting.v1.json @@ -0,0 +1,661 @@ +{ +"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." +}, +"https://www.googleapis.com/auth/firebase": { +"description": "View and administer all your Firebase data and settings" +} +} +} +}, +"basePath": "", +"baseUrl": "https://firebasehosting.googleapis.com/", +"batchPath": "batch", +"canonicalName": "Firebase Hosting", +"description": "The Firebase Hosting REST API enables programmatic and customizable management and deployments to your Firebase-hosted sites. Use this REST API to create and manage channels and sites as well as to deploy new or updated hosting configurations and content files.", +"discoveryVersion": "v1", +"documentationLink": "https://firebase.google.com/docs/hosting/", +"fullyEncodeReservedExpansion": true, +"icons": { +"x16": "http://www.google.com/images/icons/product/search-16.gif", +"x32": "http://www.google.com/images/icons/product/search-32.gif" +}, +"id": "firebasehosting:v1", +"kind": "discovery#restDescription", +"mtlsRootUrl": "https://firebasehosting.mtls.googleapis.com/", +"name": "firebasehosting", +"ownerDomain": "google.com", +"ownerName": "Google", +"parameters": { +"$.xgafv": { +"description": "V1 error format.", +"enum": [ +"1", +"2" +], +"enumDescriptions": [ +"v1 error format", +"v2 error format" +], +"location": "query", +"type": "string" +}, +"access_token": { +"description": "OAuth access token.", +"location": "query", +"type": "string" +}, +"alt": { +"default": "json", +"description": "Data format for response.", +"enum": [ +"json", +"media", +"proto" +], +"enumDescriptions": [ +"Responses with Content-Type of application/json", +"Media download with context-dependent Content-Type", +"Responses with Content-Type of application/x-protobuf" +], +"location": "query", +"type": "string" +}, +"callback": { +"description": "JSONP", +"location": "query", +"type": "string" +}, +"fields": { +"description": "Selector specifying which fields to include in a partial response.", +"location": "query", +"type": "string" +}, +"key": { +"description": "API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token.", +"location": "query", +"type": "string" +}, +"oauth_token": { +"description": "OAuth 2.0 token for the current user.", +"location": "query", +"type": "string" +}, +"prettyPrint": { +"default": "true", +"description": "Returns response with indentations and line breaks.", +"location": "query", +"type": "boolean" +}, +"quotaUser": { +"description": "Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters.", +"location": "query", +"type": "string" +}, +"uploadType": { +"description": "Legacy upload protocol for media (e.g. \"media\", \"multipart\").", +"location": "query", +"type": "string" +}, +"upload_protocol": { +"description": "Upload protocol for media (e.g. \"raw\", \"multipart\").", +"location": "query", +"type": "string" +} +}, +"protocol": "rest", +"resources": { +"operations": { +"methods": { +"cancel": { +"description": "Starts asynchronous cancellation on a long-running operation. The server makes a best effort to cancel the operation, but success is not guaranteed. If the server doesn't support this method, it returns `google.rpc.Code.UNIMPLEMENTED`. Clients can use Operations.GetOperation or other methods to check whether the cancellation succeeded or whether the operation completed despite cancellation. On successful cancellation, the operation is not deleted; instead, it becomes an operation with an Operation.error value with a google.rpc.Status.code of `1`, corresponding to `Code.CANCELLED`.", +"flatPath": "v1/operations/{operationsId}:cancel", +"httpMethod": "POST", +"id": "firebasehosting.operations.cancel", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "The name of the operation resource to be cancelled.", +"location": "path", +"pattern": "^operations/.*$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+name}:cancel", +"request": { +"$ref": "CancelOperationRequest" +}, +"response": { +"$ref": "Empty" +} +}, +"delete": { +"description": "Deletes a long-running operation. This method indicates that the client is no longer interested in the operation result. It does not cancel the operation. If the server doesn't support this method, it returns `google.rpc.Code.UNIMPLEMENTED`.", +"flatPath": "v1/operations/{operationsId}", +"httpMethod": "DELETE", +"id": "firebasehosting.operations.delete", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "The name of the operation resource to be deleted.", +"location": "path", +"pattern": "^operations/.*$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+name}", +"response": { +"$ref": "Empty" +} +}, +"list": { +"description": "Lists operations that match the specified filter in the request. If the server doesn't support this method, it returns `UNIMPLEMENTED`.", +"flatPath": "v1/operations", +"httpMethod": "GET", +"id": "firebasehosting.operations.list", +"parameterOrder": [ +"name" +], +"parameters": { +"filter": { +"description": "The standard list filter.", +"location": "query", +"type": "string" +}, +"name": { +"description": "The name of the operation's parent resource.", +"location": "path", +"pattern": "^operations$", +"required": true, +"type": "string" +}, +"pageSize": { +"description": "The standard list page size.", +"format": "int32", +"location": "query", +"type": "integer" +}, +"pageToken": { +"description": "The standard list page token.", +"location": "query", +"type": "string" +} +}, +"path": "v1/{+name}", +"response": { +"$ref": "ListOperationsResponse" +} +} +} +}, +"projects": { +"resources": { +"sites": { +"resources": { +"customDomains": { +"resources": { +"operations": { +"methods": { +"cancel": { +"description": "CancelOperation is a part of the google.longrunning.Operations interface, but is not implemented for CustomDomain resources.", +"flatPath": "v1/projects/{projectsId}/sites/{sitesId}/customDomains/{customDomainsId}/operations/{operationsId}:cancel", +"httpMethod": "POST", +"id": "firebasehosting.projects.sites.customDomains.operations.cancel", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "The name of the operation resource to be cancelled.", +"location": "path", +"pattern": "^projects/[^/]+/sites/[^/]+/customDomains/[^/]+/operations/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+name}:cancel", +"request": { +"$ref": "CancelOperationRequest" +}, +"response": { +"$ref": "Empty" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/firebase" +] +}, +"delete": { +"description": "DeleteOperation is a part of the google.longrunning.Operations interface, but is not implemented for CustomDomain resources.", +"flatPath": "v1/projects/{projectsId}/sites/{sitesId}/customDomains/{customDomainsId}/operations/{operationsId}", +"httpMethod": "DELETE", +"id": "firebasehosting.projects.sites.customDomains.operations.delete", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "The name of the operation resource to be deleted.", +"location": "path", +"pattern": "^projects/[^/]+/sites/[^/]+/customDomains/[^/]+/operations/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+name}", +"response": { +"$ref": "Empty" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/firebase" +] +} +} +} +} +} +} +} +} +} +}, +"revision": "20241203", +"rootUrl": "https://firebasehosting.googleapis.com/", +"schemas": { +"CancelOperationRequest": { +"description": "The request message for Operations.CancelOperation.", +"id": "CancelOperationRequest", +"properties": {}, +"type": "object" +}, +"CertVerification": { +"description": "A set of ACME challenges you can use to allow Hosting to create an SSL certificate for your domain name before directing traffic to Hosting servers. Use either the DNS or HTTP challenge; it's not necessary to provide both.", +"id": "CertVerification", +"properties": { +"dns": { +"$ref": "DnsUpdates", +"description": "Output only. A `TXT` record to add to your DNS records that confirms your intent to let Hosting create an SSL cert for your domain name.", +"readOnly": true +}, +"http": { +"$ref": "HttpUpdate", +"description": "Output only. A file to add to your existing, non-Hosting hosting service that confirms your intent to let Hosting create an SSL cert for your domain name.", +"readOnly": true +} +}, +"type": "object" +}, +"CustomDomainMetadata": { +"description": "Metadata associated with a`CustomDomain` operation.", +"id": "CustomDomainMetadata", +"properties": { +"certState": { +"description": "The `CertState` of the domain name's SSL certificate.", +"enum": [ +"CERT_STATE_UNSPECIFIED", +"CERT_PREPARING", +"CERT_VALIDATING", +"CERT_PROPAGATING", +"CERT_ACTIVE", +"CERT_EXPIRING_SOON", +"CERT_EXPIRED" +], +"enumDescriptions": [ +"The certificate's state is unspecified. The message is invalid if this is unspecified.", +"The initial state of every certificate, represents Hosting's intent to create a certificate, before requests to a Certificate Authority are made.", +"Hosting is validating whether a domain name's DNS records are in a state that allow certificate creation on its behalf.", +"The certificate was recently created, and needs time to propagate in Hosting's CDN.", +"The certificate is active, providing secure connections for the domain names it represents.", +"The certificate is expiring, all domain names on it will be given new certificates.", +"The certificate has expired. Hosting can no longer serve secure content on your domain name." +], +"type": "string" +}, +"hostState": { +"description": "The `HostState` of the domain name this `CustomDomain` refers to.", +"enum": [ +"HOST_STATE_UNSPECIFIED", +"HOST_UNHOSTED", +"HOST_UNREACHABLE", +"HOST_MISMATCH", +"HOST_CONFLICT", +"HOST_ACTIVE" +], +"enumDescriptions": [ +"Your custom domain's host state is unspecified. The message is invalid if this is unspecified.", +"Your custom domain's domain name isn't associated with any IP addresses.", +"Your custom domain's domain name can't be reached. Hosting services' DNS queries to find your domain name's IP addresses resulted in errors. See your `CustomDomain` object's `issues` field for more details.", +"Your custom domain's domain name has IP addresses that don't ultimately resolve to Hosting.", +"Your custom domain's domain name has IP addresses that resolve to both Hosting and other services. To ensure consistent results, remove `A` and `AAAA` records related to non-Hosting services.", +"All requests against your custom domain's domain name are served by Hosting. If the custom domain's `OwnershipState` is also `ACTIVE`, Hosting serves your Hosting site's content on the domain name." +], +"type": "string" +}, +"issues": { +"description": "A list of issues that are currently preventing Hosting from completing the operation. These are generally DNS-related issues that Hosting encounters when querying a domain name's records or attempting to mint an SSL certificate.", +"items": { +"$ref": "Status" +}, +"type": "array" +}, +"liveMigrationSteps": { +"description": "A set of DNS record updates and ACME challenges that allow you to transition domain names to Firebase Hosting with zero downtime. These updates allow Hosting to create an SSL certificate and establish ownership for your custom domain before Hosting begins serving traffic on it. If your domain name is already in active use with another provider, add one of the challenges and make the recommended DNS updates. After adding challenges and adjusting DNS records as necessary, wait for the `ownershipState` to be `OWNERSHIP_ACTIVE` and the `certState` to be `CERT_ACTIVE` before sending traffic to Hosting.", +"items": { +"$ref": "LiveMigrationStep" +}, +"type": "array" +}, +"ownershipState": { +"description": "The `OwnershipState` of the domain name this `CustomDomain` refers to.", +"enum": [ +"OWNERSHIP_STATE_UNSPECIFIED", +"OWNERSHIP_MISSING", +"OWNERSHIP_UNREACHABLE", +"OWNERSHIP_MISMATCH", +"OWNERSHIP_CONFLICT", +"OWNERSHIP_PENDING", +"OWNERSHIP_ACTIVE" +], +"enumDescriptions": [ +"Your custom domain's ownership state is unspecified. This should never happen.", +"Your custom domain's domain name has no Hosting-related ownership records; no Firebase project has permission to act on the domain name's behalf.", +"Your custom domain's domain name can't be reached. Hosting services' DNS queries to find your domain name's ownership records resulted in errors. See your `CustomDomain` object's `issues` field for more details.", +"Your custom domain's domain name is owned by another Firebase project. Remove the conflicting `TXT` records and replace them with project-specific records for your current Firebase project.", +"Your custom domain's domain name has conflicting `TXT` records that indicate ownership by both your current Firebase project and another project. Remove the other project's ownership records to grant the current project ownership.", +"Your custom domain's DNS records are configured correctly. Hosting will transfer ownership of your domain to this `CustomDomain` within 24 hours.", +"Your custom domain's domain name has `TXT` records that grant its project permission to act on its behalf." +], +"type": "string" +}, +"quickSetupUpdates": { +"$ref": "DnsUpdates", +"description": "A set of DNS record updates that allow Hosting to serve secure content on your domain name. The record type determines the update's purpose: - `A` and `AAAA`: Updates your domain name's IP addresses so that they direct traffic to Hosting servers. - `TXT`: Updates ownership permissions on your domain name, letting Hosting know that your custom domain's project has permission to perform actions for that domain name. - `CAA`: Updates your domain name's list of authorized Certificate Authorities (CAs). Only present if you have existing `CAA` records that prohibit Hosting's CA from minting certs for your domain name. These updates include all DNS changes you'll need to get started with Hosting, but, if made all at once, can result in a brief period of downtime for your domain name--while Hosting creates and uploads an SSL cert, for example. If you'd like to add your domain name to Hosting without downtime, complete the `liveMigrationSteps` first, before making the remaining updates in this field." +} +}, +"type": "object" +}, +"DnsRecord": { +"description": "DNS records are resource records that define how systems and services should behave when handling requests for a domain name. For example, when you add `A` records to your domain name's DNS records, you're informing other systems (such as your users' web browsers) to contact those IPv4 addresses to retrieve resources relevant to your domain name (such as your Hosting site files).", +"id": "DnsRecord", +"properties": { +"domainName": { +"description": "Output only. The domain name the record pertains to, e.g. `foo.bar.com.`.", +"readOnly": true, +"type": "string" +}, +"rdata": { +"description": "Output only. The data of the record. The meaning of the value depends on record type: - A and AAAA: IP addresses for the domain name. - CNAME: Another domain to check for records. - TXT: Arbitrary text strings associated with the domain name. Hosting uses TXT records to determine which Firebase projects have permission to act on the domain name's behalf. - CAA: The record's flags, tag, and value, e.g. `0 issue \"pki.goog\"`.", +"readOnly": true, +"type": "string" +}, +"requiredAction": { +"description": "Output only. An enum that indicates the a required action for this record.", +"enum": [ +"NONE", +"ADD", +"REMOVE" +], +"enumDescriptions": [ +"No action necessary.", +"Add this record to your DNS records.", +"Remove this record from your DNS records." +], +"readOnly": true, +"type": "string" +}, +"type": { +"description": "Output only. The record's type, which determines what data the record contains.", +"enum": [ +"TYPE_UNSPECIFIED", +"A", +"CNAME", +"TXT", +"AAAA", +"CAA" +], +"enumDescriptions": [ +"The record's type is unspecified. The message is invalid if this is unspecified.", +"An `A` record, as defined in [RFC 1035](https://tools.ietf.org/html/rfc1035). A records determine which IPv4 addresses a domain name directs traffic towards.", +"A `CNAME` record, as defined in [RFC 1035](https://tools.ietf.org/html/rfc1035). `CNAME` or Canonical Name records map a domain name to a different, canonical domain name. If a `CNAME` record is present, it should be the only record on the domain name.", +"A `TXT` record, as defined in [RFC 1035](https://tools.ietf.org/html/rfc1035). `TXT` records hold arbitrary text data on a domain name. Hosting uses `TXT` records to establish which Firebase Project has permission to act on a domain name.", +"An AAAA record, as defined in [RFC 3596](https://tools.ietf.org/html/rfc3596) AAAA records determine which IPv6 addresses a domain name directs traffic towards.", +"A CAA record, as defined in [RFC 6844](https://tools.ietf.org/html/rfc6844). CAA, or Certificate Authority Authorization, records determine which Certificate Authorities (SSL certificate minting organizations) are authorized to mint a certificate for the domain name. Firebase Hosting uses `pki.goog` as its primary CA. CAA records cascade. A CAA record on `foo.com` also applies to `bar.foo.com` unless `bar.foo.com` has its own set of CAA records. CAA records are optional. If a domain name and its parents have no CAA records, all CAs are authorized to mint certificates on its behalf. In general, Hosting only asks you to modify CAA records when doing so is required to unblock SSL cert creation." +], +"readOnly": true, +"type": "string" +} +}, +"type": "object" +}, +"DnsRecordSet": { +"description": "A set of DNS records relevant to the setup and maintenance of a custom domain in Firebase Hosting.", +"id": "DnsRecordSet", +"properties": { +"checkError": { +"$ref": "Status", +"description": "Output only. An error Hosting services encountered when querying your domain name's DNS records. Note: Hosting ignores `NXDOMAIN` errors, as those generally just mean that a domain name hasn't been set up yet.", +"readOnly": true +}, +"domainName": { +"description": "Output only. The domain name the record set pertains to.", +"readOnly": true, +"type": "string" +}, +"records": { +"description": "Output only. Records on the domain.", +"items": { +"$ref": "DnsRecord" +}, +"readOnly": true, +"type": "array" +} +}, +"type": "object" +}, +"DnsUpdates": { +"description": "A set of DNS record updates that you should make to allow Hosting to serve secure content in response to requests against your domain name. These updates present the current state of your domain name's DNS records when Hosting last queried them, and the desired set of records that Hosting needs to see before your custom domain can be fully active.", +"id": "DnsUpdates", +"properties": { +"checkTime": { +"description": "The last time Hosting checked your custom domain's DNS records.", +"format": "google-datetime", +"type": "string" +}, +"desired": { +"description": "The set of DNS records Hosting needs to serve secure content on the domain.", +"items": { +"$ref": "DnsRecordSet" +}, +"type": "array" +}, +"discovered": { +"description": "The set of DNS records Hosting discovered when inspecting a domain.", +"items": { +"$ref": "DnsRecordSet" +}, +"type": "array" +} +}, +"type": "object" +}, +"Empty": { +"description": "A generic empty message that you can re-use to avoid defining duplicated empty messages in your APIs. A typical example is to use it as the request or the response type of an API method. For instance: service Foo { rpc Bar(google.protobuf.Empty) returns (google.protobuf.Empty); }", +"id": "Empty", +"properties": {}, +"type": "object" +}, +"HttpUpdate": { +"description": "A file you can add to your existing, non-Hosting hosting service that confirms your intent to allow Hosting's Certificate Authorities to create an SSL certificate for your domain.", +"id": "HttpUpdate", +"properties": { +"checkError": { +"$ref": "Status", +"description": "Output only. An error encountered during the last contents check. If null, the check completed successfully.", +"readOnly": true +}, +"desired": { +"description": "Output only. A text string to serve at the path.", +"readOnly": true, +"type": "string" +}, +"discovered": { +"description": "Output only. Whether Hosting was able to find the required file contents on the specified path during its last check.", +"readOnly": true, +"type": "string" +}, +"lastCheckTime": { +"description": "Output only. The last time Hosting systems checked for the file contents.", +"format": "google-datetime", +"readOnly": true, +"type": "string" +}, +"path": { +"description": "Output only. The path to the file.", +"readOnly": true, +"type": "string" +} +}, +"type": "object" +}, +"ListOperationsResponse": { +"description": "The response message for Operations.ListOperations.", +"id": "ListOperationsResponse", +"properties": { +"nextPageToken": { +"description": "The standard List next-page token.", +"type": "string" +}, +"operations": { +"description": "A list of operations that matches the specified filter in the request.", +"items": { +"$ref": "Operation" +}, +"type": "array" +} +}, +"type": "object" +}, +"LiveMigrationStep": { +"description": "A set of updates including ACME challenges and DNS records that allow Hosting to create an SSL certificate and establish project ownership for your domain name before you direct traffic to Hosting servers. Use these updates to facilitate zero downtime migrations to Hosting from other services. After you've made the recommended updates, check your custom domain's `ownershipState` and `certState`. To avoid downtime, they should be `OWNERSHIP_ACTIVE` and `CERT_ACTIVE`, respectively, before you update your `A` and `AAAA` records.", +"id": "LiveMigrationStep", +"properties": { +"certVerification": { +"$ref": "CertVerification", +"description": "Output only. A pair of ACME challenges that Hosting's Certificate Authority (CA) can use to create an SSL cert for your domain name. Use either the DNS or HTTP challenge; it's not necessary to provide both.", +"readOnly": true +}, +"dnsUpdates": { +"$ref": "DnsUpdates", +"description": "Output only. DNS updates to facilitate your domain's zero-downtime migration to Hosting.", +"readOnly": true +}, +"issues": { +"description": "Output only. Issues that prevent the current step from completing.", +"items": { +"$ref": "Status" +}, +"readOnly": true, +"type": "array" +}, +"state": { +"description": "Output only. The state of the live migration step, indicates whether you should work to complete the step now, in the future, or have already completed it.", +"enum": [ +"STATE_UNSPECIFIED", +"PREPARING", +"PENDING", +"INCOMPLETE", +"PROCESSING", +"COMPLETE" +], +"enumDescriptions": [ +"The step's state is unspecified. The message is invalid if this is unspecified.", +"Hosting doesn't have enough information to construct the step yet. Complete any prior steps and/or resolve this step's issue to proceed.", +"The step's state is pending. Complete prior steps before working on a `PENDING` step.", +"The step is incomplete. You should complete any `certVerification` or `dnsUpdates` changes to complete it.", +"You've done your part to update records and present challenges as necessary. Hosting is now completing background processes to complete the step, e.g. minting an SSL cert for your domain name.", +"The step is complete. You've already made the necessary changes to your domain and/or prior hosting service to advance to the next step. Once all steps are complete, Hosting is ready to serve secure content on your domain." +], +"readOnly": true, +"type": "string" +} +}, +"type": "object" +}, +"Operation": { +"description": "This resource represents a long-running operation that is the result of a network API call.", +"id": "Operation", +"properties": { +"done": { +"description": "If the value is `false`, it means the operation is still in progress. If `true`, the operation is completed, and either `error` or `response` is available.", +"type": "boolean" +}, +"error": { +"$ref": "Status", +"description": "The error result of the operation in case of failure or cancellation." +}, +"metadata": { +"additionalProperties": { +"description": "Properties of the object. Contains field @type with type URL.", +"type": "any" +}, +"description": "Service-specific metadata associated with the operation. It typically contains progress information and common metadata such as create time. Some services might not provide such metadata. Any method that returns a long-running operation should document the metadata type, if any.", +"type": "object" +}, +"name": { +"description": "The server-assigned name, which is only unique within the same service that originally returns it. If you use the default HTTP mapping, the `name` should be a resource name ending with `operations/{unique_id}`.", +"type": "string" +}, +"response": { +"additionalProperties": { +"description": "Properties of the object. Contains field @type with type URL.", +"type": "any" +}, +"description": "The normal, successful response of the operation. If the original method returns no data on success, such as `Delete`, the response is `google.protobuf.Empty`. If the original method is standard `Get`/`Create`/`Update`, the response should be the resource. For other methods, the response should have the type `XxxResponse`, where `Xxx` is the original method name. For example, if the original method name is `TakeSnapshot()`, the inferred response type is `TakeSnapshotResponse`.", +"type": "object" +} +}, +"type": "object" +}, +"Status": { +"description": "The `Status` type defines a logical error model that is suitable for different programming environments, including REST APIs and RPC APIs. It is used by [gRPC](https://github.com/grpc). Each `Status` message contains three pieces of data: error code, error message, and error details. You can find out more about this error model and how to work with it in the [API Design Guide](https://cloud.google.com/apis/design/errors).", +"id": "Status", +"properties": { +"code": { +"description": "The status code, which should be an enum value of google.rpc.Code.", +"format": "int32", +"type": "integer" +}, +"details": { +"description": "A list of messages that carry the error details. There is a common set of message types for APIs to use.", +"items": { +"additionalProperties": { +"description": "Properties of the object. Contains field @type with type URL.", +"type": "any" +}, +"type": "object" +}, +"type": "array" +}, +"message": { +"description": "A developer-facing error message, which should be in English. Any user-facing error message should be localized and sent in the google.rpc.Status.details field, or localized by the client.", +"type": "string" +} +}, +"type": "object" +} +}, +"servicePath": "", +"title": "Firebase Hosting API", +"version": "v1", +"version_module": true +} \ No newline at end of file diff --git a/.venv/lib/python3.11/site-packages/googleapiclient/discovery_cache/documents/firestore.v1beta2.json b/.venv/lib/python3.11/site-packages/googleapiclient/discovery_cache/documents/firestore.v1beta2.json new file mode 100644 index 0000000000000000000000000000000000000000..b714808b2e8b26753986ab92f858f2804b7c23ff --- /dev/null +++ b/.venv/lib/python3.11/site-packages/googleapiclient/discovery_cache/documents/firestore.v1beta2.json @@ -0,0 +1,1134 @@ +{ +"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." +}, +"https://www.googleapis.com/auth/datastore": { +"description": "View and manage your Google Cloud Datastore data" +} +} +} +}, +"basePath": "", +"baseUrl": "https://firestore.googleapis.com/", +"batchPath": "batch", +"canonicalName": "Firestore", +"description": "Accesses the NoSQL document database built for automatic scaling, high performance, and ease of application development. ", +"discoveryVersion": "v1", +"documentationLink": "https://cloud.google.com/firestore", +"fullyEncodeReservedExpansion": true, +"icons": { +"x16": "http://www.google.com/images/icons/product/search-16.gif", +"x32": "http://www.google.com/images/icons/product/search-32.gif" +}, +"id": "firestore:v1beta2", +"kind": "discovery#restDescription", +"mtlsRootUrl": "https://firestore.mtls.googleapis.com/", +"name": "firestore", +"ownerDomain": "google.com", +"ownerName": "Google", +"parameters": { +"$.xgafv": { +"description": "V1 error format.", +"enum": [ +"1", +"2" +], +"enumDescriptions": [ +"v1 error format", +"v2 error format" +], +"location": "query", +"type": "string" +}, +"access_token": { +"description": "OAuth access token.", +"location": "query", +"type": "string" +}, +"alt": { +"default": "json", +"description": "Data format for response.", +"enum": [ +"json", +"media", +"proto" +], +"enumDescriptions": [ +"Responses with Content-Type of application/json", +"Media download with context-dependent Content-Type", +"Responses with Content-Type of application/x-protobuf" +], +"location": "query", +"type": "string" +}, +"callback": { +"description": "JSONP", +"location": "query", +"type": "string" +}, +"fields": { +"description": "Selector specifying which fields to include in a partial response.", +"location": "query", +"type": "string" +}, +"key": { +"description": "API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token.", +"location": "query", +"type": "string" +}, +"oauth_token": { +"description": "OAuth 2.0 token for the current user.", +"location": "query", +"type": "string" +}, +"prettyPrint": { +"default": "true", +"description": "Returns response with indentations and line breaks.", +"location": "query", +"type": "boolean" +}, +"quotaUser": { +"description": "Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters.", +"location": "query", +"type": "string" +}, +"uploadType": { +"description": "Legacy upload protocol for media (e.g. \"media\", \"multipart\").", +"location": "query", +"type": "string" +}, +"upload_protocol": { +"description": "Upload protocol for media (e.g. \"raw\", \"multipart\").", +"location": "query", +"type": "string" +} +}, +"protocol": "rest", +"resources": { +"projects": { +"resources": { +"databases": { +"methods": { +"exportDocuments": { +"description": "Exports a copy of all or a subset of documents from Google Cloud Firestore to another storage system, such as Google Cloud Storage. Recent updates to documents may not be reflected in the export. The export occurs in the background and its progress can be monitored and managed via the Operation resource that is created. The output of an export may only be used once the associated operation is done. If an export operation is cancelled before completion it may leave partial data behind in Google Cloud Storage.", +"flatPath": "v1beta2/projects/{projectsId}/databases/{databasesId}:exportDocuments", +"httpMethod": "POST", +"id": "firestore.projects.databases.exportDocuments", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Database to export. Should be of the form: `projects/{project_id}/databases/{database_id}`.", +"location": "path", +"pattern": "^projects/[^/]+/databases/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1beta2/{+name}:exportDocuments", +"request": { +"$ref": "GoogleFirestoreAdminV1beta2ExportDocumentsRequest" +}, +"response": { +"$ref": "GoogleLongrunningOperation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/datastore" +] +}, +"importDocuments": { +"description": "Imports documents into Google Cloud Firestore. Existing documents with the same name are overwritten. The import occurs in the background and its progress can be monitored and managed via the Operation resource that is created. If an ImportDocuments operation is cancelled, it is possible that a subset of the data has already been imported to Cloud Firestore.", +"flatPath": "v1beta2/projects/{projectsId}/databases/{databasesId}:importDocuments", +"httpMethod": "POST", +"id": "firestore.projects.databases.importDocuments", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Database to import into. Should be of the form: `projects/{project_id}/databases/{database_id}`.", +"location": "path", +"pattern": "^projects/[^/]+/databases/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1beta2/{+name}:importDocuments", +"request": { +"$ref": "GoogleFirestoreAdminV1beta2ImportDocumentsRequest" +}, +"response": { +"$ref": "GoogleLongrunningOperation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/datastore" +] +} +}, +"resources": { +"collectionGroups": { +"resources": { +"fields": { +"methods": { +"get": { +"description": "Gets the metadata and configuration for a Field.", +"flatPath": "v1beta2/projects/{projectsId}/databases/{databasesId}/collectionGroups/{collectionGroupsId}/fields/{fieldsId}", +"httpMethod": "GET", +"id": "firestore.projects.databases.collectionGroups.fields.get", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "A name of the form `projects/{project_id}/databases/{database_id}/collectionGroups/{collection_id}/fields/{field_id}`", +"location": "path", +"pattern": "^projects/[^/]+/databases/[^/]+/collectionGroups/[^/]+/fields/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1beta2/{+name}", +"response": { +"$ref": "GoogleFirestoreAdminV1beta2Field" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/datastore" +] +}, +"list": { +"description": "Lists the field configuration and metadata for this database. Currently, FirestoreAdmin.ListFields only supports listing fields that have been explicitly overridden. To issue this query, call FirestoreAdmin.ListFields with the filter set to `indexConfig.usesAncestorConfig:false`.", +"flatPath": "v1beta2/projects/{projectsId}/databases/{databasesId}/collectionGroups/{collectionGroupsId}/fields", +"httpMethod": "GET", +"id": "firestore.projects.databases.collectionGroups.fields.list", +"parameterOrder": [ +"parent" +], +"parameters": { +"filter": { +"description": "The filter to apply to list results. Currently, FirestoreAdmin.ListFields only supports listing fields that have been explicitly overridden. To issue this query, call FirestoreAdmin.ListFields with the filter set to `indexConfig.usesAncestorConfig:false`.", +"location": "query", +"type": "string" +}, +"pageSize": { +"description": "The number of results to return.", +"format": "int32", +"location": "query", +"type": "integer" +}, +"pageToken": { +"description": "A page token, returned from a previous call to FirestoreAdmin.ListFields, that may be used to get the next page of results.", +"location": "query", +"type": "string" +}, +"parent": { +"description": "A parent name of the form `projects/{project_id}/databases/{database_id}/collectionGroups/{collection_id}`", +"location": "path", +"pattern": "^projects/[^/]+/databases/[^/]+/collectionGroups/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1beta2/{+parent}/fields", +"response": { +"$ref": "GoogleFirestoreAdminV1beta2ListFieldsResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/datastore" +] +}, +"patch": { +"description": "Updates a field configuration. Currently, field updates apply only to single field index configuration. However, calls to FirestoreAdmin.UpdateField should provide a field mask to avoid changing any configuration that the caller isn't aware of. The field mask should be specified as: `{ paths: \"index_config\" }`. This call returns a google.longrunning.Operation which may be used to track the status of the field update. The metadata for the operation will be the type FieldOperationMetadata. To configure the default field settings for the database, use the special `Field` with resource name: `projects/{project_id}/databases/{database_id}/collectionGroups/__default__/fields/*`.", +"flatPath": "v1beta2/projects/{projectsId}/databases/{databasesId}/collectionGroups/{collectionGroupsId}/fields/{fieldsId}", +"httpMethod": "PATCH", +"id": "firestore.projects.databases.collectionGroups.fields.patch", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "A field name of the form `projects/{project_id}/databases/{database_id}/collectionGroups/{collection_id}/fields/{field_path}` A field path may be a simple field name, e.g. `address` or a path to fields within map_value , e.g. `address.city`, or a special field path. The only valid special field is `*`, which represents any field. Field paths may be quoted using ` (backtick). The only character that needs to be escaped within a quoted field path is the backtick character itself, escaped using a backslash. Special characters in field paths that must be quoted include: `*`, `.`, ``` (backtick), `[`, `]`, as well as any ascii symbolic characters. Examples: (Note: Comments here are written in markdown syntax, so there is an additional layer of backticks to represent a code block) `\\`address.city\\`` represents a field named `address.city`, not the map key `city` in the field `address`. `\\`*\\`` represents a field named `*`, not any field. A special `Field` contains the default indexing settings for all fields. This field's resource name is: `projects/{project_id}/databases/{database_id}/collectionGroups/__default__/fields/*` Indexes defined on this `Field` will be applied to all fields which do not have their own `Field` index configuration.", +"location": "path", +"pattern": "^projects/[^/]+/databases/[^/]+/collectionGroups/[^/]+/fields/[^/]+$", +"required": true, +"type": "string" +}, +"updateMask": { +"description": "A mask, relative to the field. If specified, only configuration specified by this field_mask will be updated in the field.", +"format": "google-fieldmask", +"location": "query", +"type": "string" +} +}, +"path": "v1beta2/{+name}", +"request": { +"$ref": "GoogleFirestoreAdminV1beta2Field" +}, +"response": { +"$ref": "GoogleLongrunningOperation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/datastore" +] +} +} +}, +"indexes": { +"methods": { +"create": { +"description": "Creates a composite index. This returns a google.longrunning.Operation which may be used to track the status of the creation. The metadata for the operation will be the type IndexOperationMetadata.", +"flatPath": "v1beta2/projects/{projectsId}/databases/{databasesId}/collectionGroups/{collectionGroupsId}/indexes", +"httpMethod": "POST", +"id": "firestore.projects.databases.collectionGroups.indexes.create", +"parameterOrder": [ +"parent" +], +"parameters": { +"parent": { +"description": "A parent name of the form `projects/{project_id}/databases/{database_id}/collectionGroups/{collection_id}`", +"location": "path", +"pattern": "^projects/[^/]+/databases/[^/]+/collectionGroups/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1beta2/{+parent}/indexes", +"request": { +"$ref": "GoogleFirestoreAdminV1beta2Index" +}, +"response": { +"$ref": "GoogleLongrunningOperation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/datastore" +] +}, +"delete": { +"description": "Deletes a composite index.", +"flatPath": "v1beta2/projects/{projectsId}/databases/{databasesId}/collectionGroups/{collectionGroupsId}/indexes/{indexesId}", +"httpMethod": "DELETE", +"id": "firestore.projects.databases.collectionGroups.indexes.delete", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "A name of the form `projects/{project_id}/databases/{database_id}/collectionGroups/{collection_id}/indexes/{index_id}`", +"location": "path", +"pattern": "^projects/[^/]+/databases/[^/]+/collectionGroups/[^/]+/indexes/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1beta2/{+name}", +"response": { +"$ref": "Empty" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/datastore" +] +}, +"get": { +"description": "Gets a composite index.", +"flatPath": "v1beta2/projects/{projectsId}/databases/{databasesId}/collectionGroups/{collectionGroupsId}/indexes/{indexesId}", +"httpMethod": "GET", +"id": "firestore.projects.databases.collectionGroups.indexes.get", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "A name of the form `projects/{project_id}/databases/{database_id}/collectionGroups/{collection_id}/indexes/{index_id}`", +"location": "path", +"pattern": "^projects/[^/]+/databases/[^/]+/collectionGroups/[^/]+/indexes/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1beta2/{+name}", +"response": { +"$ref": "GoogleFirestoreAdminV1beta2Index" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/datastore" +] +}, +"list": { +"description": "Lists composite indexes.", +"flatPath": "v1beta2/projects/{projectsId}/databases/{databasesId}/collectionGroups/{collectionGroupsId}/indexes", +"httpMethod": "GET", +"id": "firestore.projects.databases.collectionGroups.indexes.list", +"parameterOrder": [ +"parent" +], +"parameters": { +"filter": { +"description": "The filter to apply to list results.", +"location": "query", +"type": "string" +}, +"pageSize": { +"description": "The number of results to return.", +"format": "int32", +"location": "query", +"type": "integer" +}, +"pageToken": { +"description": "A page token, returned from a previous call to FirestoreAdmin.ListIndexes, that may be used to get the next page of results.", +"location": "query", +"type": "string" +}, +"parent": { +"description": "A parent name of the form `projects/{project_id}/databases/{database_id}/collectionGroups/{collection_id}`", +"location": "path", +"pattern": "^projects/[^/]+/databases/[^/]+/collectionGroups/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1beta2/{+parent}/indexes", +"response": { +"$ref": "GoogleFirestoreAdminV1beta2ListIndexesResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/datastore" +] +} +} +} +} +} +} +} +} +} +}, +"revision": "20240822", +"rootUrl": "https://firestore.googleapis.com/", +"schemas": { +"Empty": { +"description": "A generic empty message that you can re-use to avoid defining duplicated empty messages in your APIs. A typical example is to use it as the request or the response type of an API method. For instance: service Foo { rpc Bar(google.protobuf.Empty) returns (google.protobuf.Empty); }", +"id": "Empty", +"properties": {}, +"type": "object" +}, +"GoogleFirestoreAdminV1BulkDeleteDocumentsMetadata": { +"description": "Metadata for google.longrunning.Operation results from FirestoreAdmin.BulkDeleteDocuments.", +"id": "GoogleFirestoreAdminV1BulkDeleteDocumentsMetadata", +"properties": { +"collectionIds": { +"description": "The IDs of the collection groups that are being deleted.", +"items": { +"type": "string" +}, +"type": "array" +}, +"endTime": { +"description": "The time this operation completed. Will be unset if operation still in progress.", +"format": "google-datetime", +"type": "string" +}, +"namespaceIds": { +"description": "Which namespace IDs are being deleted.", +"items": { +"type": "string" +}, +"type": "array" +}, +"operationState": { +"description": "The state of the operation.", +"enum": [ +"OPERATION_STATE_UNSPECIFIED", +"INITIALIZING", +"PROCESSING", +"CANCELLING", +"FINALIZING", +"SUCCESSFUL", +"FAILED", +"CANCELLED" +], +"enumDescriptions": [ +"Unspecified.", +"Request is being prepared for processing.", +"Request is actively being processed.", +"Request is in the process of being cancelled after user called google.longrunning.Operations.CancelOperation on the operation.", +"Request has been processed and is in its finalization stage.", +"Request has completed successfully.", +"Request has finished being processed, but encountered an error.", +"Request has finished being cancelled after user called google.longrunning.Operations.CancelOperation." +], +"type": "string" +}, +"progressBytes": { +"$ref": "GoogleFirestoreAdminV1Progress", +"description": "The progress, in bytes, of this operation." +}, +"progressDocuments": { +"$ref": "GoogleFirestoreAdminV1Progress", +"description": "The progress, in documents, of this operation." +}, +"snapshotTime": { +"description": "The timestamp that corresponds to the version of the database that is being read to get the list of documents to delete. This time can also be used as the timestamp of PITR in case of disaster recovery (subject to PITR window limit).", +"format": "google-datetime", +"type": "string" +}, +"startTime": { +"description": "The time this operation started.", +"format": "google-datetime", +"type": "string" +} +}, +"type": "object" +}, +"GoogleFirestoreAdminV1CreateDatabaseMetadata": { +"description": "Metadata related to the create database operation.", +"id": "GoogleFirestoreAdminV1CreateDatabaseMetadata", +"properties": {}, +"type": "object" +}, +"GoogleFirestoreAdminV1DeleteDatabaseMetadata": { +"description": "Metadata related to the delete database operation.", +"id": "GoogleFirestoreAdminV1DeleteDatabaseMetadata", +"properties": {}, +"type": "object" +}, +"GoogleFirestoreAdminV1Progress": { +"description": "Describes the progress of the operation. Unit of work is generic and must be interpreted based on where Progress is used.", +"id": "GoogleFirestoreAdminV1Progress", +"properties": { +"completedWork": { +"description": "The amount of work completed.", +"format": "int64", +"type": "string" +}, +"estimatedWork": { +"description": "The amount of work estimated.", +"format": "int64", +"type": "string" +} +}, +"type": "object" +}, +"GoogleFirestoreAdminV1RestoreDatabaseMetadata": { +"description": "Metadata for the long-running operation from the RestoreDatabase request.", +"id": "GoogleFirestoreAdminV1RestoreDatabaseMetadata", +"properties": { +"backup": { +"description": "The name of the backup restoring from.", +"type": "string" +}, +"database": { +"description": "The name of the database being restored to.", +"type": "string" +}, +"endTime": { +"description": "The time the restore finished, unset for ongoing restores.", +"format": "google-datetime", +"type": "string" +}, +"operationState": { +"description": "The operation state of the restore.", +"enum": [ +"OPERATION_STATE_UNSPECIFIED", +"INITIALIZING", +"PROCESSING", +"CANCELLING", +"FINALIZING", +"SUCCESSFUL", +"FAILED", +"CANCELLED" +], +"enumDescriptions": [ +"Unspecified.", +"Request is being prepared for processing.", +"Request is actively being processed.", +"Request is in the process of being cancelled after user called google.longrunning.Operations.CancelOperation on the operation.", +"Request has been processed and is in its finalization stage.", +"Request has completed successfully.", +"Request has finished being processed, but encountered an error.", +"Request has finished being cancelled after user called google.longrunning.Operations.CancelOperation." +], +"type": "string" +}, +"progressPercentage": { +"$ref": "GoogleFirestoreAdminV1Progress", +"description": "How far along the restore is as an estimated percentage of remaining time." +}, +"startTime": { +"description": "The time the restore was started.", +"format": "google-datetime", +"type": "string" +} +}, +"type": "object" +}, +"GoogleFirestoreAdminV1UpdateDatabaseMetadata": { +"description": "Metadata related to the update database operation.", +"id": "GoogleFirestoreAdminV1UpdateDatabaseMetadata", +"properties": {}, +"type": "object" +}, +"GoogleFirestoreAdminV1beta2ExportDocumentsMetadata": { +"description": "Metadata for google.longrunning.Operation results from FirestoreAdmin.ExportDocuments.", +"id": "GoogleFirestoreAdminV1beta2ExportDocumentsMetadata", +"properties": { +"collectionIds": { +"description": "Which collection ids are being exported.", +"items": { +"type": "string" +}, +"type": "array" +}, +"endTime": { +"description": "The time this operation completed. Will be unset if operation still in progress.", +"format": "google-datetime", +"type": "string" +}, +"operationState": { +"description": "The state of the export operation.", +"enum": [ +"OPERATION_STATE_UNSPECIFIED", +"INITIALIZING", +"PROCESSING", +"CANCELLING", +"FINALIZING", +"SUCCESSFUL", +"FAILED", +"CANCELLED" +], +"enumDescriptions": [ +"Unspecified.", +"Request is being prepared for processing.", +"Request is actively being processed.", +"Request is in the process of being cancelled after user called google.longrunning.Operations.CancelOperation on the operation.", +"Request has been processed and is in its finalization stage.", +"Request has completed successfully.", +"Request has finished being processed, but encountered an error.", +"Request has finished being cancelled after user called google.longrunning.Operations.CancelOperation." +], +"type": "string" +}, +"outputUriPrefix": { +"description": "Where the entities are being exported to.", +"type": "string" +}, +"progressBytes": { +"$ref": "GoogleFirestoreAdminV1beta2Progress", +"description": "The progress, in bytes, of this operation." +}, +"progressDocuments": { +"$ref": "GoogleFirestoreAdminV1beta2Progress", +"description": "The progress, in documents, of this operation." +}, +"startTime": { +"description": "The time this operation started.", +"format": "google-datetime", +"type": "string" +} +}, +"type": "object" +}, +"GoogleFirestoreAdminV1beta2ExportDocumentsRequest": { +"description": "The request for FirestoreAdmin.ExportDocuments.", +"id": "GoogleFirestoreAdminV1beta2ExportDocumentsRequest", +"properties": { +"collectionIds": { +"description": "Which collection ids to export. Unspecified means all collections.", +"items": { +"type": "string" +}, +"type": "array" +}, +"outputUriPrefix": { +"description": "The output URI. Currently only supports Google Cloud Storage URIs of the form: `gs://BUCKET_NAME[/NAMESPACE_PATH]`, where `BUCKET_NAME` is the name of the Google Cloud Storage bucket and `NAMESPACE_PATH` is an optional Google Cloud Storage namespace path. When choosing a name, be sure to consider Google Cloud Storage naming guidelines: https://cloud.google.com/storage/docs/naming. If the URI is a bucket (without a namespace path), a prefix will be generated based on the start time.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleFirestoreAdminV1beta2ExportDocumentsResponse": { +"description": "Returned in the google.longrunning.Operation response field.", +"id": "GoogleFirestoreAdminV1beta2ExportDocumentsResponse", +"properties": { +"outputUriPrefix": { +"description": "Location of the output files. This can be used to begin an import into Cloud Firestore (this project or another project) after the operation completes successfully.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleFirestoreAdminV1beta2Field": { +"description": "Represents a single field in the database. Fields are grouped by their \"Collection Group\", which represent all collections in the database with the same id.", +"id": "GoogleFirestoreAdminV1beta2Field", +"properties": { +"indexConfig": { +"$ref": "GoogleFirestoreAdminV1beta2IndexConfig", +"description": "The index configuration for this field. If unset, field indexing will revert to the configuration defined by the `ancestor_field`. To explicitly remove all indexes for this field, specify an index config with an empty list of indexes." +}, +"name": { +"description": "A field name of the form `projects/{project_id}/databases/{database_id}/collectionGroups/{collection_id}/fields/{field_path}` A field path may be a simple field name, e.g. `address` or a path to fields within map_value , e.g. `address.city`, or a special field path. The only valid special field is `*`, which represents any field. Field paths may be quoted using ` (backtick). The only character that needs to be escaped within a quoted field path is the backtick character itself, escaped using a backslash. Special characters in field paths that must be quoted include: `*`, `.`, ``` (backtick), `[`, `]`, as well as any ascii symbolic characters. Examples: (Note: Comments here are written in markdown syntax, so there is an additional layer of backticks to represent a code block) `\\`address.city\\`` represents a field named `address.city`, not the map key `city` in the field `address`. `\\`*\\`` represents a field named `*`, not any field. A special `Field` contains the default indexing settings for all fields. This field's resource name is: `projects/{project_id}/databases/{database_id}/collectionGroups/__default__/fields/*` Indexes defined on this `Field` will be applied to all fields which do not have their own `Field` index configuration.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleFirestoreAdminV1beta2FieldOperationMetadata": { +"description": "Metadata for google.longrunning.Operation results from FirestoreAdmin.UpdateField.", +"id": "GoogleFirestoreAdminV1beta2FieldOperationMetadata", +"properties": { +"bytesProgress": { +"$ref": "GoogleFirestoreAdminV1beta2Progress", +"description": "The progress, in bytes, of this operation." +}, +"documentProgress": { +"$ref": "GoogleFirestoreAdminV1beta2Progress", +"description": "The progress, in documents, of this operation." +}, +"endTime": { +"description": "The time this operation completed. Will be unset if operation still in progress.", +"format": "google-datetime", +"type": "string" +}, +"field": { +"description": "The field resource that this operation is acting on. For example: `projects/{project_id}/databases/{database_id}/collectionGroups/{collection_id}/fields/{field_path}`", +"type": "string" +}, +"indexConfigDeltas": { +"description": "A list of IndexConfigDelta, which describe the intent of this operation.", +"items": { +"$ref": "GoogleFirestoreAdminV1beta2IndexConfigDelta" +}, +"type": "array" +}, +"startTime": { +"description": "The time this operation started.", +"format": "google-datetime", +"type": "string" +}, +"state": { +"description": "The state of the operation.", +"enum": [ +"OPERATION_STATE_UNSPECIFIED", +"INITIALIZING", +"PROCESSING", +"CANCELLING", +"FINALIZING", +"SUCCESSFUL", +"FAILED", +"CANCELLED" +], +"enumDescriptions": [ +"Unspecified.", +"Request is being prepared for processing.", +"Request is actively being processed.", +"Request is in the process of being cancelled after user called google.longrunning.Operations.CancelOperation on the operation.", +"Request has been processed and is in its finalization stage.", +"Request has completed successfully.", +"Request has finished being processed, but encountered an error.", +"Request has finished being cancelled after user called google.longrunning.Operations.CancelOperation." +], +"type": "string" +} +}, +"type": "object" +}, +"GoogleFirestoreAdminV1beta2ImportDocumentsMetadata": { +"description": "Metadata for google.longrunning.Operation results from FirestoreAdmin.ImportDocuments.", +"id": "GoogleFirestoreAdminV1beta2ImportDocumentsMetadata", +"properties": { +"collectionIds": { +"description": "Which collection ids are being imported.", +"items": { +"type": "string" +}, +"type": "array" +}, +"endTime": { +"description": "The time this operation completed. Will be unset if operation still in progress.", +"format": "google-datetime", +"type": "string" +}, +"inputUriPrefix": { +"description": "The location of the documents being imported.", +"type": "string" +}, +"operationState": { +"description": "The state of the import operation.", +"enum": [ +"OPERATION_STATE_UNSPECIFIED", +"INITIALIZING", +"PROCESSING", +"CANCELLING", +"FINALIZING", +"SUCCESSFUL", +"FAILED", +"CANCELLED" +], +"enumDescriptions": [ +"Unspecified.", +"Request is being prepared for processing.", +"Request is actively being processed.", +"Request is in the process of being cancelled after user called google.longrunning.Operations.CancelOperation on the operation.", +"Request has been processed and is in its finalization stage.", +"Request has completed successfully.", +"Request has finished being processed, but encountered an error.", +"Request has finished being cancelled after user called google.longrunning.Operations.CancelOperation." +], +"type": "string" +}, +"progressBytes": { +"$ref": "GoogleFirestoreAdminV1beta2Progress", +"description": "The progress, in bytes, of this operation." +}, +"progressDocuments": { +"$ref": "GoogleFirestoreAdminV1beta2Progress", +"description": "The progress, in documents, of this operation." +}, +"startTime": { +"description": "The time this operation started.", +"format": "google-datetime", +"type": "string" +} +}, +"type": "object" +}, +"GoogleFirestoreAdminV1beta2ImportDocumentsRequest": { +"description": "The request for FirestoreAdmin.ImportDocuments.", +"id": "GoogleFirestoreAdminV1beta2ImportDocumentsRequest", +"properties": { +"collectionIds": { +"description": "Which collection ids to import. Unspecified means all collections included in the import.", +"items": { +"type": "string" +}, +"type": "array" +}, +"inputUriPrefix": { +"description": "Location of the exported files. This must match the output_uri_prefix of an ExportDocumentsResponse from an export that has completed successfully. See: google.firestore.admin.v1beta2.ExportDocumentsResponse.output_uri_prefix.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleFirestoreAdminV1beta2Index": { +"description": "Cloud Firestore indexes enable simple and complex queries against documents in a database.", +"id": "GoogleFirestoreAdminV1beta2Index", +"properties": { +"fields": { +"description": "The fields supported by this index. For composite indexes, this is always 2 or more fields. The last field entry is always for the field path `__name__`. If, on creation, `__name__` was not specified as the last field, it will be added automatically with the same direction as that of the last field defined. If the final field in a composite index is not directional, the `__name__` will be ordered ASCENDING (unless explicitly specified). For single field indexes, this will always be exactly one entry with a field path equal to the field path of the associated field.", +"items": { +"$ref": "GoogleFirestoreAdminV1beta2IndexField" +}, +"type": "array" +}, +"name": { +"description": "Output only. A server defined name for this index. The form of this name for composite indexes will be: `projects/{project_id}/databases/{database_id}/collectionGroups/{collection_id}/indexes/{composite_index_id}` For single field indexes, this field will be empty.", +"type": "string" +}, +"queryScope": { +"description": "Indexes with a collection query scope specified allow queries against a collection that is the child of a specific document, specified at query time, and that has the same collection id. Indexes with a collection group query scope specified allow queries against all collections descended from a specific document, specified at query time, and that have the same collection id as this index.", +"enum": [ +"QUERY_SCOPE_UNSPECIFIED", +"COLLECTION", +"COLLECTION_GROUP" +], +"enumDescriptions": [ +"The query scope is unspecified. Not a valid option.", +"Indexes with a collection query scope specified allow queries against a collection that is the child of a specific document, specified at query time, and that has the collection id specified by the index.", +"Indexes with a collection group query scope specified allow queries against all collections that has the collection id specified by the index." +], +"type": "string" +}, +"state": { +"description": "Output only. The serving state of the index.", +"enum": [ +"STATE_UNSPECIFIED", +"CREATING", +"READY", +"NEEDS_REPAIR" +], +"enumDescriptions": [ +"The state is unspecified.", +"The index is being created. There is an active long-running operation for the index. The index is updated when writing a document. Some index data may exist.", +"The index is ready to be used. The index is updated when writing a document. The index is fully populated from all stored documents it applies to.", +"The index was being created, but something went wrong. There is no active long-running operation for the index, and the most recently finished long-running operation failed. The index is not updated when writing a document. Some index data may exist. Use the google.longrunning.Operations API to determine why the operation that last attempted to create this index failed, then re-create the index." +], +"type": "string" +} +}, +"type": "object" +}, +"GoogleFirestoreAdminV1beta2IndexConfig": { +"description": "The index configuration for this field.", +"id": "GoogleFirestoreAdminV1beta2IndexConfig", +"properties": { +"ancestorField": { +"description": "Output only. Specifies the resource name of the `Field` from which this field's index configuration is set (when `uses_ancestor_config` is true), or from which it *would* be set if this field had no index configuration (when `uses_ancestor_config` is false).", +"type": "string" +}, +"indexes": { +"description": "The indexes supported for this field.", +"items": { +"$ref": "GoogleFirestoreAdminV1beta2Index" +}, +"type": "array" +}, +"reverting": { +"description": "Output only When true, the `Field`'s index configuration is in the process of being reverted. Once complete, the index config will transition to the same state as the field specified by `ancestor_field`, at which point `uses_ancestor_config` will be `true` and `reverting` will be `false`.", +"type": "boolean" +}, +"usesAncestorConfig": { +"description": "Output only. When true, the `Field`'s index configuration is set from the configuration specified by the `ancestor_field`. When false, the `Field`'s index configuration is defined explicitly.", +"type": "boolean" +} +}, +"type": "object" +}, +"GoogleFirestoreAdminV1beta2IndexConfigDelta": { +"description": "Information about an index configuration change.", +"id": "GoogleFirestoreAdminV1beta2IndexConfigDelta", +"properties": { +"changeType": { +"description": "Specifies how the index is changing.", +"enum": [ +"CHANGE_TYPE_UNSPECIFIED", +"ADD", +"REMOVE" +], +"enumDescriptions": [ +"The type of change is not specified or known.", +"The single field index is being added.", +"The single field index is being removed." +], +"type": "string" +}, +"index": { +"$ref": "GoogleFirestoreAdminV1beta2Index", +"description": "The index being changed." +} +}, +"type": "object" +}, +"GoogleFirestoreAdminV1beta2IndexField": { +"description": "A field in an index. The field_path describes which field is indexed, the value_mode describes how the field value is indexed.", +"id": "GoogleFirestoreAdminV1beta2IndexField", +"properties": { +"arrayConfig": { +"description": "Indicates that this field supports operations on `array_value`s.", +"enum": [ +"ARRAY_CONFIG_UNSPECIFIED", +"CONTAINS" +], +"enumDescriptions": [ +"The index does not support additional array queries.", +"The index supports array containment queries." +], +"type": "string" +}, +"fieldPath": { +"description": "Can be __name__. For single field indexes, this must match the name of the field or may be omitted.", +"type": "string" +}, +"order": { +"description": "Indicates that this field supports ordering by the specified order or comparing using =, <, <=, >, >=.", +"enum": [ +"ORDER_UNSPECIFIED", +"ASCENDING", +"DESCENDING" +], +"enumDescriptions": [ +"The ordering is unspecified. Not a valid option.", +"The field is ordered by ascending field value.", +"The field is ordered by descending field value." +], +"type": "string" +} +}, +"type": "object" +}, +"GoogleFirestoreAdminV1beta2IndexOperationMetadata": { +"description": "Metadata for google.longrunning.Operation results from FirestoreAdmin.CreateIndex.", +"id": "GoogleFirestoreAdminV1beta2IndexOperationMetadata", +"properties": { +"endTime": { +"description": "The time this operation completed. Will be unset if operation still in progress.", +"format": "google-datetime", +"type": "string" +}, +"index": { +"description": "The index resource that this operation is acting on. For example: `projects/{project_id}/databases/{database_id}/collectionGroups/{collection_id}/indexes/{index_id}`", +"type": "string" +}, +"progressBytes": { +"$ref": "GoogleFirestoreAdminV1beta2Progress", +"description": "The progress, in bytes, of this operation." +}, +"progressDocuments": { +"$ref": "GoogleFirestoreAdminV1beta2Progress", +"description": "The progress, in documents, of this operation." +}, +"startTime": { +"description": "The time this operation started.", +"format": "google-datetime", +"type": "string" +}, +"state": { +"description": "The state of the operation.", +"enum": [ +"OPERATION_STATE_UNSPECIFIED", +"INITIALIZING", +"PROCESSING", +"CANCELLING", +"FINALIZING", +"SUCCESSFUL", +"FAILED", +"CANCELLED" +], +"enumDescriptions": [ +"Unspecified.", +"Request is being prepared for processing.", +"Request is actively being processed.", +"Request is in the process of being cancelled after user called google.longrunning.Operations.CancelOperation on the operation.", +"Request has been processed and is in its finalization stage.", +"Request has completed successfully.", +"Request has finished being processed, but encountered an error.", +"Request has finished being cancelled after user called google.longrunning.Operations.CancelOperation." +], +"type": "string" +} +}, +"type": "object" +}, +"GoogleFirestoreAdminV1beta2ListFieldsResponse": { +"description": "The response for FirestoreAdmin.ListFields.", +"id": "GoogleFirestoreAdminV1beta2ListFieldsResponse", +"properties": { +"fields": { +"description": "The requested fields.", +"items": { +"$ref": "GoogleFirestoreAdminV1beta2Field" +}, +"type": "array" +}, +"nextPageToken": { +"description": "A page token that may be used to request another page of results. If blank, this is the last page.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleFirestoreAdminV1beta2ListIndexesResponse": { +"description": "The response for FirestoreAdmin.ListIndexes.", +"id": "GoogleFirestoreAdminV1beta2ListIndexesResponse", +"properties": { +"indexes": { +"description": "The requested indexes.", +"items": { +"$ref": "GoogleFirestoreAdminV1beta2Index" +}, +"type": "array" +}, +"nextPageToken": { +"description": "A page token that may be used to request another page of results. If blank, this is the last page.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleFirestoreAdminV1beta2Progress": { +"description": "Describes the progress of the operation. Unit of work is generic and must be interpreted based on where Progress is used.", +"id": "GoogleFirestoreAdminV1beta2Progress", +"properties": { +"completedWork": { +"description": "The amount of work completed.", +"format": "int64", +"type": "string" +}, +"estimatedWork": { +"description": "The amount of work estimated.", +"format": "int64", +"type": "string" +} +}, +"type": "object" +}, +"GoogleLongrunningOperation": { +"description": "This resource represents a long-running operation that is the result of a network API call.", +"id": "GoogleLongrunningOperation", +"properties": { +"done": { +"description": "If the value is `false`, it means the operation is still in progress. If `true`, the operation is completed, and either `error` or `response` is available.", +"type": "boolean" +}, +"error": { +"$ref": "Status", +"description": "The error result of the operation in case of failure or cancellation." +}, +"metadata": { +"additionalProperties": { +"description": "Properties of the object. Contains field @type with type URL.", +"type": "any" +}, +"description": "Service-specific metadata associated with the operation. It typically contains progress information and common metadata such as create time. Some services might not provide such metadata. Any method that returns a long-running operation should document the metadata type, if any.", +"type": "object" +}, +"name": { +"description": "The server-assigned name, which is only unique within the same service that originally returns it. If you use the default HTTP mapping, the `name` should be a resource name ending with `operations/{unique_id}`.", +"type": "string" +}, +"response": { +"additionalProperties": { +"description": "Properties of the object. Contains field @type with type URL.", +"type": "any" +}, +"description": "The normal, successful response of the operation. If the original method returns no data on success, such as `Delete`, the response is `google.protobuf.Empty`. If the original method is standard `Get`/`Create`/`Update`, the response should be the resource. For other methods, the response should have the type `XxxResponse`, where `Xxx` is the original method name. For example, if the original method name is `TakeSnapshot()`, the inferred response type is `TakeSnapshotResponse`.", +"type": "object" +} +}, +"type": "object" +}, +"Status": { +"description": "The `Status` type defines a logical error model that is suitable for different programming environments, including REST APIs and RPC APIs. It is used by [gRPC](https://github.com/grpc). Each `Status` message contains three pieces of data: error code, error message, and error details. You can find out more about this error model and how to work with it in the [API Design Guide](https://cloud.google.com/apis/design/errors).", +"id": "Status", +"properties": { +"code": { +"description": "The status code, which should be an enum value of google.rpc.Code.", +"format": "int32", +"type": "integer" +}, +"details": { +"description": "A list of messages that carry the error details. There is a common set of message types for APIs to use.", +"items": { +"additionalProperties": { +"description": "Properties of the object. Contains field @type with type URL.", +"type": "any" +}, +"type": "object" +}, +"type": "array" +}, +"message": { +"description": "A developer-facing error message, which should be in English. Any user-facing error message should be localized and sent in the google.rpc.Status.details field, or localized by the client.", +"type": "string" +} +}, +"type": "object" +} +}, +"servicePath": "", +"title": "Cloud Firestore API", +"version": "v1beta2", +"version_module": true +} \ No newline at end of file diff --git a/.venv/lib/python3.11/site-packages/googleapiclient/discovery_cache/documents/gameservices.v1beta.json b/.venv/lib/python3.11/site-packages/googleapiclient/discovery_cache/documents/gameservices.v1beta.json new file mode 100644 index 0000000000000000000000000000000000000000..03a5c9bd2f6863bf10d295341ffbb462c971aa8c --- /dev/null +++ b/.venv/lib/python3.11/site-packages/googleapiclient/discovery_cache/documents/gameservices.v1beta.json @@ -0,0 +1,1007 @@ +{ + "auth": { + "oauth2": { + "scopes": { + "https://www.googleapis.com/auth/cloud-platform": { + "description": "See, edit, configure, and delete your Google Cloud data and see the email address for your Google Account." + } + } + } + }, + "basePath": "", + "baseUrl": "https://gameservices.googleapis.com/", + "batchPath": "batch", + "canonicalName": "Game Services", + "description": "Deploy and manage infrastructure for global multiplayer gaming experiences.", + "discoveryVersion": "v1", + "documentationLink": "https://cloud.google.com/solutions/gaming/", + "fullyEncodeReservedExpansion": true, + "icons": { + "x16": "http://www.google.com/images/icons/product/search-16.gif", + "x32": "http://www.google.com/images/icons/product/search-32.gif" + }, + "id": "gameservices:v1beta", + "kind": "discovery#restDescription", + "mtlsRootUrl": "https://gameservices.mtls.googleapis.com/", + "name": "gameservices", + "ownerDomain": "google.com", + "ownerName": "Google", + "parameters": { + "$.xgafv": { + "description": "V1 error format.", + "enum": [ + "1", + "2" + ], + "enumDescriptions": [ + "v1 error format", + "v2 error format" + ], + "location": "query", + "type": "string" + }, + "access_token": { + "description": "OAuth access token.", + "location": "query", + "type": "string" + }, + "alt": { + "default": "json", + "description": "Data format for response.", + "enum": [ + "json", + "media", + "proto" + ], + "enumDescriptions": [ + "Responses with Content-Type of application/json", + "Media download with context-dependent Content-Type", + "Responses with Content-Type of application/x-protobuf" + ], + "location": "query", + "type": "string" + }, + "callback": { + "description": "JSONP", + "location": "query", + "type": "string" + }, + "fields": { + "description": "Selector specifying which fields to include in a partial response.", + "location": "query", + "type": "string" + }, + "key": { + "description": "API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token.", + "location": "query", + "type": "string" + }, + "oauth_token": { + "description": "OAuth 2.0 token for the current user.", + "location": "query", + "type": "string" + }, + "prettyPrint": { + "default": "true", + "description": "Returns response with indentations and line breaks.", + "location": "query", + "type": "boolean" + }, + "quotaUser": { + "description": "Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters.", + "location": "query", + "type": "string" + }, + "uploadType": { + "description": "Legacy upload protocol for media (e.g. \"media\", \"multipart\").", + "location": "query", + "type": "string" + }, + "upload_protocol": { + "description": "Upload protocol for media (e.g. \"raw\", \"multipart\").", + "location": "query", + "type": "string" + } + }, + "protocol": "rest", + "resources": { + "projects": { + "resources": { + "locations": { + "methods": { + "get": { + "description": "Gets information about a location.", + "flatPath": "v1beta/projects/{projectsId}/locations/{locationsId}", + "httpMethod": "GET", + "id": "gameservices.projects.locations.get", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Resource name for the location.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1beta/{+name}", + "response": { + "$ref": "Location" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "list": { + "description": "Lists information about the supported locations for this service.", + "flatPath": "v1beta/projects/{projectsId}/locations", + "httpMethod": "GET", + "id": "gameservices.projects.locations.list", + "parameterOrder": [ + "name" + ], + "parameters": { + "filter": { + "description": "A filter to narrow down results to a preferred subset. The filtering language accepts strings like `\"displayName=tokyo\"`, and is documented in more detail in [AIP-160](https://google.aip.dev/160).", + "location": "query", + "type": "string" + }, + "includeUnrevealedLocations": { + "description": "If true, the returned list will include locations which are not yet revealed.", + "location": "query", + "type": "boolean" + }, + "name": { + "description": "The resource that owns the locations collection, if applicable.", + "location": "path", + "pattern": "^projects/[^/]+$", + "required": true, + "type": "string" + }, + "pageSize": { + "description": "The maximum number of results to return. If not set, the service selects a default.", + "format": "int32", + "location": "query", + "type": "integer" + }, + "pageToken": { + "description": "A page token received from the `next_page_token` field in the response. Send that page token to receive the subsequent page.", + "location": "query", + "type": "string" + } + }, + "path": "v1beta/{+name}/locations", + "response": { + "$ref": "ListLocationsResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + } + }, + "resources": { + "gameServerDeployments": { + "methods": { + "getIamPolicy": { + "description": "Gets the access control policy for a resource. Returns an empty policy if the resource exists and does not have a policy set.", + "flatPath": "v1beta/projects/{projectsId}/locations/{locationsId}/gameServerDeployments/{gameServerDeploymentsId}:getIamPolicy", + "httpMethod": "GET", + "id": "gameservices.projects.locations.gameServerDeployments.getIamPolicy", + "parameterOrder": [ + "resource" + ], + "parameters": { + "options.requestedPolicyVersion": { + "description": "Optional. The maximum policy version that will be used to format the policy. Valid values are 0, 1, and 3. Requests specifying an invalid value will be rejected. Requests for policies with any conditional role bindings must specify version 3. Policies with no conditional role bindings may specify any valid value or leave the field unset. The policy in the response might use the policy version that you specified, or it might use a lower policy version. For example, if you specify version 3, but the policy has no conditional role bindings, the response uses version 1. To learn which resources support conditions in their IAM policies, see the [IAM documentation](https://cloud.google.com/iam/help/conditions/resource-policies).", + "format": "int32", + "location": "query", + "type": "integer" + }, + "resource": { + "description": "REQUIRED: The resource for which the policy is being requested. See [Resource names](https://cloud.google.com/apis/design/resource_names) for the appropriate value for this field.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/gameServerDeployments/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1beta/{+resource}:getIamPolicy", + "response": { + "$ref": "Policy" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "setIamPolicy": { + "description": "Sets the access control policy on the specified resource. Replaces any existing policy. Can return `NOT_FOUND`, `INVALID_ARGUMENT`, and `PERMISSION_DENIED` errors.", + "flatPath": "v1beta/projects/{projectsId}/locations/{locationsId}/gameServerDeployments/{gameServerDeploymentsId}:setIamPolicy", + "httpMethod": "POST", + "id": "gameservices.projects.locations.gameServerDeployments.setIamPolicy", + "parameterOrder": [ + "resource" + ], + "parameters": { + "resource": { + "description": "REQUIRED: The resource for which the policy is being specified. See [Resource names](https://cloud.google.com/apis/design/resource_names) for the appropriate value for this field.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/gameServerDeployments/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1beta/{+resource}:setIamPolicy", + "request": { + "$ref": "SetIamPolicyRequest" + }, + "response": { + "$ref": "Policy" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "testIamPermissions": { + "description": "Returns permissions that a caller has on the specified resource. If the resource does not exist, this will return an empty set of permissions, not a `NOT_FOUND` error. Note: This operation is designed to be used for building permission-aware UIs and command-line tools, not for authorization checking. This operation may \"fail open\" without warning.", + "flatPath": "v1beta/projects/{projectsId}/locations/{locationsId}/gameServerDeployments/{gameServerDeploymentsId}:testIamPermissions", + "httpMethod": "POST", + "id": "gameservices.projects.locations.gameServerDeployments.testIamPermissions", + "parameterOrder": [ + "resource" + ], + "parameters": { + "resource": { + "description": "REQUIRED: The resource for which the policy detail is being requested. See [Resource names](https://cloud.google.com/apis/design/resource_names) for the appropriate value for this field.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/gameServerDeployments/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1beta/{+resource}:testIamPermissions", + "request": { + "$ref": "TestIamPermissionsRequest" + }, + "response": { + "$ref": "TestIamPermissionsResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + } + } + }, + "operations": { + "methods": { + "cancel": { + "description": "Starts asynchronous cancellation on a long-running operation. The server makes a best effort to cancel the operation, but success is not guaranteed. If the server doesn't support this method, it returns `google.rpc.Code.UNIMPLEMENTED`. Clients can use Operations.GetOperation or other methods to check whether the cancellation succeeded or whether the operation completed despite cancellation. On successful cancellation, the operation is not deleted; instead, it becomes an operation with an Operation.error value with a google.rpc.Status.code of 1, corresponding to `Code.CANCELLED`.", + "flatPath": "v1beta/projects/{projectsId}/locations/{locationsId}/operations/{operationsId}:cancel", + "httpMethod": "POST", + "id": "gameservices.projects.locations.operations.cancel", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "The name of the operation resource to be cancelled.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/operations/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1beta/{+name}:cancel", + "request": { + "$ref": "CancelOperationRequest" + }, + "response": { + "$ref": "Empty" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "delete": { + "description": "Deletes a long-running operation. This method indicates that the client is no longer interested in the operation result. It does not cancel the operation. If the server doesn't support this method, it returns `google.rpc.Code.UNIMPLEMENTED`.", + "flatPath": "v1beta/projects/{projectsId}/locations/{locationsId}/operations/{operationsId}", + "httpMethod": "DELETE", + "id": "gameservices.projects.locations.operations.delete", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "The name of the operation resource to be deleted.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/operations/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1beta/{+name}", + "response": { + "$ref": "Empty" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "get": { + "description": "Gets the latest state of a long-running operation. Clients can use this method to poll the operation result at intervals as recommended by the API service.", + "flatPath": "v1beta/projects/{projectsId}/locations/{locationsId}/operations/{operationsId}", + "httpMethod": "GET", + "id": "gameservices.projects.locations.operations.get", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "The name of the operation resource.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/operations/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1beta/{+name}", + "response": { + "$ref": "Operation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "list": { + "description": "Lists operations that match the specified filter in the request. If the server doesn't support this method, it returns `UNIMPLEMENTED`.", + "flatPath": "v1beta/projects/{projectsId}/locations/{locationsId}/operations", + "httpMethod": "GET", + "id": "gameservices.projects.locations.operations.list", + "parameterOrder": [ + "name" + ], + "parameters": { + "filter": { + "description": "The standard list filter.", + "location": "query", + "type": "string" + }, + "name": { + "description": "The name of the operation's parent resource.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+$", + "required": true, + "type": "string" + }, + "pageSize": { + "description": "The standard list page size.", + "format": "int32", + "location": "query", + "type": "integer" + }, + "pageToken": { + "description": "The standard list page token.", + "location": "query", + "type": "string" + } + }, + "path": "v1beta/{+name}/operations", + "response": { + "$ref": "ListOperationsResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + } + } + } + } + } + } + } + }, + "revision": "20230706", + "rootUrl": "https://gameservices.googleapis.com/", + "schemas": { + "AuditConfig": { + "description": "Specifies the audit configuration for a service. The configuration determines which permission types are logged, and what identities, if any, are exempted from logging. An AuditConfig must have one or more AuditLogConfigs. If there are AuditConfigs for both `allServices` and a specific service, the union of the two AuditConfigs is used for that service: the log_types specified in each AuditConfig are enabled, and the exempted_members in each AuditLogConfig are exempted. Example Policy with multiple AuditConfigs: { \"audit_configs\": [ { \"service\": \"allServices\", \"audit_log_configs\": [ { \"log_type\": \"DATA_READ\", \"exempted_members\": [ \"user:jose@example.com\" ] }, { \"log_type\": \"DATA_WRITE\" }, { \"log_type\": \"ADMIN_READ\" } ] }, { \"service\": \"sampleservice.googleapis.com\", \"audit_log_configs\": [ { \"log_type\": \"DATA_READ\" }, { \"log_type\": \"DATA_WRITE\", \"exempted_members\": [ \"user:aliya@example.com\" ] } ] } ] } For sampleservice, this policy enables DATA_READ, DATA_WRITE and ADMIN_READ logging. It also exempts `jose@example.com` from DATA_READ logging, and `aliya@example.com` from DATA_WRITE logging.", + "id": "AuditConfig", + "properties": { + "auditLogConfigs": { + "description": "The configuration for logging of each type of permission.", + "items": { + "$ref": "AuditLogConfig" + }, + "type": "array" + }, + "service": { + "description": "Specifies a service that will be enabled for audit logging. For example, `storage.googleapis.com`, `cloudsql.googleapis.com`. `allServices` is a special value that covers all services.", + "type": "string" + } + }, + "type": "object" + }, + "AuditLogConfig": { + "description": "Provides the configuration for logging a type of permissions. Example: { \"audit_log_configs\": [ { \"log_type\": \"DATA_READ\", \"exempted_members\": [ \"user:jose@example.com\" ] }, { \"log_type\": \"DATA_WRITE\" } ] } This enables 'DATA_READ' and 'DATA_WRITE' logging, while exempting jose@example.com from DATA_READ logging.", + "id": "AuditLogConfig", + "properties": { + "exemptedMembers": { + "description": "Specifies the identities that do not cause logging for this type of permission. Follows the same format of Binding.members.", + "items": { + "type": "string" + }, + "type": "array" + }, + "ignoreChildExemptions": { + "type": "boolean" + }, + "logType": { + "description": "The log type that this config enables.", + "enum": [ + "LOG_TYPE_UNSPECIFIED", + "ADMIN_READ", + "DATA_WRITE", + "DATA_READ" + ], + "enumDescriptions": [ + "Default case. Should never be this.", + "Admin reads. Example: CloudIAM getIamPolicy", + "Data writes. Example: CloudSQL Users create", + "Data reads. Example: CloudSQL Users list" + ], + "type": "string" + } + }, + "type": "object" + }, + "AuthorizationLoggingOptions": { + "description": "Authorization-related information used by Cloud Audit Logging.", + "id": "AuthorizationLoggingOptions", + "properties": { + "permissionType": { + "description": "The type of the permission that was checked.", + "enum": [ + "PERMISSION_TYPE_UNSPECIFIED", + "ADMIN_READ", + "ADMIN_WRITE", + "DATA_READ", + "DATA_WRITE" + ], + "enumDescriptions": [ + "Default. Should not be used.", + "A read of admin (meta) data.", + "A write of admin (meta) data.", + "A read of standard data.", + "A write of standard data." + ], + "type": "string" + } + }, + "type": "object" + }, + "Binding": { + "description": "Associates `members`, or principals, with a `role`.", + "id": "Binding", + "properties": { + "bindingId": { + "type": "string" + }, + "condition": { + "$ref": "Expr", + "description": "The condition that is associated with this binding. If the condition evaluates to `true`, then this binding applies to the current request. If the condition evaluates to `false`, then this binding does not apply to the current request. However, a different role binding might grant the same role to one or more of the principals in this binding. To learn which resources support conditions in their IAM policies, see the [IAM documentation](https://cloud.google.com/iam/help/conditions/resource-policies)." + }, + "members": { + "description": "Specifies the principals requesting access for a Google Cloud resource. `members` can have the following values: * `allUsers`: A special identifier that represents anyone who is on the internet; with or without a Google account. * `allAuthenticatedUsers`: A special identifier that represents anyone who is authenticated with a Google account or a service account. Does not include identities that come from external identity providers (IdPs) through identity federation. * `user:{emailid}`: An email address that represents a specific Google account. For example, `alice@example.com` . * `serviceAccount:{emailid}`: An email address that represents a Google service account. For example, `my-other-app@appspot.gserviceaccount.com`. * `serviceAccount:{projectid}.svc.id.goog[{namespace}/{kubernetes-sa}]`: An identifier for a [Kubernetes service account](https://cloud.google.com/kubernetes-engine/docs/how-to/kubernetes-service-accounts). For example, `my-project.svc.id.goog[my-namespace/my-kubernetes-sa]`. * `group:{emailid}`: An email address that represents a Google group. For example, `admins@example.com`. * `domain:{domain}`: The G Suite domain (primary) that represents all the users of that domain. For example, `google.com` or `example.com`. * `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.", + "items": { + "type": "string" + }, + "type": "array" + }, + "role": { + "description": "Role that is assigned to the list of `members`, or principals. For example, `roles/viewer`, `roles/editor`, or `roles/owner`.", + "type": "string" + } + }, + "type": "object" + }, + "CancelOperationRequest": { + "description": "The request message for Operations.CancelOperation.", + "id": "CancelOperationRequest", + "properties": {}, + "type": "object" + }, + "CloudAuditOptions": { + "description": "Write a Cloud Audit log", + "id": "CloudAuditOptions", + "properties": { + "authorizationLoggingOptions": { + "$ref": "AuthorizationLoggingOptions", + "description": "Information used by the Cloud Audit Logging pipeline." + }, + "logName": { + "description": "The log_name to populate in the Cloud Audit Record.", + "enum": [ + "UNSPECIFIED_LOG_NAME", + "ADMIN_ACTIVITY", + "DATA_ACCESS" + ], + "enumDescriptions": [ + "Default. Should not be used.", + "Corresponds to \"cloudaudit.googleapis.com/activity\"", + "Corresponds to \"cloudaudit.googleapis.com/data_access\"" + ], + "type": "string" + } + }, + "type": "object" + }, + "Condition": { + "description": "A condition to be met.", + "id": "Condition", + "properties": { + "iam": { + "description": "Trusted attributes supplied by the IAM system.", + "enum": [ + "NO_ATTR", + "AUTHORITY", + "ATTRIBUTION", + "SECURITY_REALM", + "APPROVER", + "JUSTIFICATION_TYPE", + "CREDENTIALS_TYPE", + "CREDS_ASSERTION" + ], + "enumDescriptions": [ + "Default non-attribute.", + "Either principal or (if present) authority selector.", + "The principal (even if an authority selector is present), which must only be used for attribution, not authorization.", + "Any of the security realms in the IAMContext (go/security-realms). When used with IN, the condition indicates \"any of the request's realms match one of the given values; with NOT_IN, \"none of the realms match any of the given values\". Note that a value can be: - 'self:campus' (i.e., clients that are in the same campus) - 'self:metro' (i.e., clients that are in the same metro) - 'self:cloud-region' (i.e., allow connections from clients that are in the same cloud region) - 'self:prod-region' (i.e., allow connections from clients that are in the same prod region) - 'guardians' (i.e., allow connections from its guardian realms. See go/security-realms-glossary#guardian for more information.) - 'self' [DEPRECATED] (i.e., allow connections from clients that are in the same security realm, which is currently but not guaranteed to be campus-sized) - a realm (e.g., 'campus-abc') - a realm group (e.g., 'realms-for-borg-cell-xx', see: go/realm-groups) A match is determined by a realm group membership check performed by a RealmAclRep object (go/realm-acl-howto). It is not permitted to grant access based on the *absence* of a realm, so realm conditions can only be used in a \"positive\" context (e.g., ALLOW/IN or DENY/NOT_IN).", + "An approver (distinct from the requester) that has authorized this request. When used with IN, the condition indicates that one of the approvers associated with the request matches the specified principal, or is a member of the specified group. Approvers can only grant additional access, and are thus only used in a strictly positive context (e.g. ALLOW/IN or DENY/NOT_IN).", + "What types of justifications have been supplied with this request. String values should match enum names from security.credentials.JustificationType, e.g. \"MANUAL_STRING\". It is not permitted to grant access based on the *absence* of a justification, so justification conditions can only be used in a \"positive\" context (e.g., ALLOW/IN or DENY/NOT_IN). Multiple justifications, e.g., a Buganizer ID and a manually-entered reason, are normal and supported.", + "What type of credentials have been supplied with this request. String values should match enum names from security_loas_l2.CredentialsType - currently, only CREDS_TYPE_EMERGENCY is supported. It is not permitted to grant access based on the *absence* of a credentials type, so the conditions can only be used in a \"positive\" context (e.g., ALLOW/IN or DENY/NOT_IN).", + "EXPERIMENTAL -- DO NOT USE. The conditions can only be used in a \"positive\" context (e.g., ALLOW/IN or DENY/NOT_IN)." + ], + "type": "string" + }, + "op": { + "description": "An operator to apply the subject with.", + "enum": [ + "NO_OP", + "EQUALS", + "NOT_EQUALS", + "IN", + "NOT_IN", + "DISCHARGED" + ], + "enumDescriptions": [ + "Default no-op.", + "DEPRECATED. Use IN instead.", + "DEPRECATED. Use NOT_IN instead.", + "The condition is true if the subject (or any element of it if it is a set) matches any of the supplied values.", + "The condition is true if the subject (or every element of it if it is a set) matches none of the supplied values.", + "Subject is discharged" + ], + "type": "string" + }, + "svc": { + "description": "Trusted attributes discharged by the service.", + "type": "string" + }, + "sys": { + "description": "Trusted attributes supplied by any service that owns resources and uses the IAM system for access control.", + "enum": [ + "NO_ATTR", + "REGION", + "SERVICE", + "NAME", + "IP" + ], + "enumDescriptions": [ + "Default non-attribute type", + "Region of the resource", + "Service name", + "Resource name", + "IP address of the caller" + ], + "type": "string" + }, + "values": { + "description": "The objects of the condition.", + "items": { + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, + "CounterOptions": { + "description": "Increment a streamz counter with the specified metric and field names. Metric names should start with a '/', generally be lowercase-only, and end in \"_count\". Field names should not contain an initial slash. The actual exported metric names will have \"/iam/policy\" prepended. Field names correspond to IAM request parameters and field values are their respective values. Supported field names: - \"authority\", which is \"[token]\" if IAMContext.token is present, otherwise the value of IAMContext.authority_selector if present, and otherwise a representation of IAMContext.principal; or - \"iam_principal\", a representation of IAMContext.principal even if a token or authority selector is present; or - \"\" (empty string), resulting in a counter with no fields. Examples: counter { metric: \"/debug_access_count\" field: \"iam_principal\" } ==> increment counter /iam/policy/debug_access_count {iam_principal=[value of IAMContext.principal]}", + "id": "CounterOptions", + "properties": { + "customFields": { + "description": "Custom fields.", + "items": { + "$ref": "CustomField" + }, + "type": "array" + }, + "field": { + "description": "The field value to attribute.", + "type": "string" + }, + "metric": { + "description": "The metric to update.", + "type": "string" + } + }, + "type": "object" + }, + "CustomField": { + "description": "Custom fields. These can be used to create a counter with arbitrary field/value pairs. See: go/rpcsp-custom-fields.", + "id": "CustomField", + "properties": { + "name": { + "description": "Name is the field name.", + "type": "string" + }, + "value": { + "description": "Value is the field value. It is important that in contrast to the CounterOptions.field, the value here is a constant that is not derived from the IAMContext.", + "type": "string" + } + }, + "type": "object" + }, + "DataAccessOptions": { + "description": "Write a Data Access (Gin) log", + "id": "DataAccessOptions", + "properties": { + "logMode": { + "enum": [ + "LOG_MODE_UNSPECIFIED", + "LOG_FAIL_CLOSED" + ], + "enumDescriptions": [ + "Client is not required to write a partial Gin log immediately after the authorization check. If client chooses to write one and it fails, client may either fail open (allow the operation to continue) or fail closed (handle as a DENY outcome).", + "The application's operation in the context of which this authorization check is being made may only be performed if it is successfully logged to Gin. For instance, the authorization library may satisfy this obligation by emitting a partial log entry at authorization check time and only returning ALLOW to the application if it succeeds. If a matching Rule has this directive, but the client has not indicated that it will honor such requirements, then the IAM check will result in authorization failure by setting CheckPolicyResponse.success=false." + ], + "type": "string" + } + }, + "type": "object" + }, + "Empty": { + "description": "A generic empty message that you can re-use to avoid defining duplicated empty messages in your APIs. A typical example is to use it as the request or the response type of an API method. For instance: service Foo { rpc Bar(google.protobuf.Empty) returns (google.protobuf.Empty); }", + "id": "Empty", + "properties": {}, + "type": "object" + }, + "Expr": { + "description": "Represents a textual expression in the Common Expression Language (CEL) syntax. CEL is a C-like expression language. The syntax and semantics of CEL are documented at https://github.com/google/cel-spec. Example (Comparison): title: \"Summary size limit\" description: \"Determines if a summary is less than 100 chars\" expression: \"document.summary.size() < 100\" Example (Equality): title: \"Requestor is owner\" description: \"Determines if requestor is the document owner\" expression: \"document.owner == request.auth.claims.email\" Example (Logic): title: \"Public documents\" description: \"Determine whether the document should be publicly visible\" expression: \"document.type != 'private' && document.type != 'internal'\" Example (Data Manipulation): title: \"Notification string\" description: \"Create a notification string with a timestamp.\" expression: \"'New message received at ' + string(document.create_time)\" The exact variables and functions that may be referenced within an expression are determined by the service that evaluates it. See the service documentation for additional information.", + "id": "Expr", + "properties": { + "description": { + "description": "Optional. Description of the expression. This is a longer text which describes the expression, e.g. when hovered over it in a UI.", + "type": "string" + }, + "expression": { + "description": "Textual representation of an expression in Common Expression Language syntax.", + "type": "string" + }, + "location": { + "description": "Optional. String indicating the location of the expression for error reporting, e.g. a file name and a position in the file.", + "type": "string" + }, + "title": { + "description": "Optional. Title for the expression, i.e. a short string describing its purpose. This can be used e.g. in UIs which allow to enter the expression.", + "type": "string" + } + }, + "type": "object" + }, + "ListLocationsResponse": { + "description": "The response message for Locations.ListLocations.", + "id": "ListLocationsResponse", + "properties": { + "locations": { + "description": "A list of locations that matches the specified filter in the request.", + "items": { + "$ref": "Location" + }, + "type": "array" + }, + "nextPageToken": { + "description": "The standard List next-page token.", + "type": "string" + } + }, + "type": "object" + }, + "ListOperationsResponse": { + "description": "The response message for Operations.ListOperations.", + "id": "ListOperationsResponse", + "properties": { + "nextPageToken": { + "description": "The standard List next-page token.", + "type": "string" + }, + "operations": { + "description": "A list of operations that matches the specified filter in the request.", + "items": { + "$ref": "Operation" + }, + "type": "array" + } + }, + "type": "object" + }, + "Location": { + "description": "A resource that represents a Google Cloud location.", + "id": "Location", + "properties": { + "displayName": { + "description": "The friendly name for this location, typically a nearby city name. For example, \"Tokyo\".", + "type": "string" + }, + "labels": { + "additionalProperties": { + "type": "string" + }, + "description": "Cross-service attributes for the location. For example {\"cloud.googleapis.com/region\": \"us-east1\"}", + "type": "object" + }, + "locationId": { + "description": "The canonical id for this location. For example: `\"us-east1\"`.", + "type": "string" + }, + "metadata": { + "additionalProperties": { + "description": "Properties of the object. Contains field @type with type URL.", + "type": "any" + }, + "description": "Service-specific metadata. For example the available capacity at the given location.", + "type": "object" + }, + "name": { + "description": "Resource name for the location, which may vary between implementations. For example: `\"projects/example-project/locations/us-east1\"`", + "type": "string" + } + }, + "type": "object" + }, + "LogConfig": { + "description": "Specifies what kind of log the caller must write", + "id": "LogConfig", + "properties": { + "cloudAudit": { + "$ref": "CloudAuditOptions", + "description": "Cloud audit options." + }, + "counter": { + "$ref": "CounterOptions", + "description": "Counter options." + }, + "dataAccess": { + "$ref": "DataAccessOptions", + "description": "Data access options." + } + }, + "type": "object" + }, + "Operation": { + "description": "This resource represents a long-running operation that is the result of a network API call.", + "id": "Operation", + "properties": { + "done": { + "description": "If the value is `false`, it means the operation is still in progress. If `true`, the operation is completed, and either `error` or `response` is available.", + "type": "boolean" + }, + "error": { + "$ref": "Status", + "description": "The error result of the operation in case of failure or cancellation." + }, + "metadata": { + "additionalProperties": { + "description": "Properties of the object. Contains field @type with type URL.", + "type": "any" + }, + "description": "Service-specific metadata associated with the operation. It typically contains progress information and common metadata such as create time. Some services might not provide such metadata. Any method that returns a long-running operation should document the metadata type, if any.", + "type": "object" + }, + "name": { + "description": "The server-assigned name, which is only unique within the same service that originally returns it. If you use the default HTTP mapping, the `name` should be a resource name ending with `operations/{unique_id}`.", + "type": "string" + }, + "response": { + "additionalProperties": { + "description": "Properties of the object. Contains field @type with type URL.", + "type": "any" + }, + "description": "The normal response of the operation in case of success. If the original method returns no data on success, such as `Delete`, the response is `google.protobuf.Empty`. If the original method is standard `Get`/`Create`/`Update`, the response should be the resource. For other methods, the response should have the type `XxxResponse`, where `Xxx` is the original method name. For example, if the original method name is `TakeSnapshot()`, the inferred response type is `TakeSnapshotResponse`.", + "type": "object" + } + }, + "type": "object" + }, + "Policy": { + "description": "An Identity and Access Management (IAM) policy, which specifies access controls for Google Cloud resources. A `Policy` is a collection of `bindings`. A `binding` binds one or more `members`, or principals, to a single `role`. Principals can be user accounts, service accounts, Google groups, and domains (such as G Suite). A `role` is a named list of permissions; each `role` can be an IAM predefined role or a user-created custom role. For some types of Google Cloud resources, a `binding` can also specify a `condition`, which is a logical expression that allows access to a resource only if the expression evaluates to `true`. A condition can add constraints based on attributes of the request, the resource, or both. To learn which resources support conditions in their IAM policies, see the [IAM documentation](https://cloud.google.com/iam/help/conditions/resource-policies). **JSON example:** { \"bindings\": [ { \"role\": \"roles/resourcemanager.organizationAdmin\", \"members\": [ \"user:mike@example.com\", \"group:admins@example.com\", \"domain:google.com\", \"serviceAccount:my-project-id@appspot.gserviceaccount.com\" ] }, { \"role\": \"roles/resourcemanager.organizationViewer\", \"members\": [ \"user:eve@example.com\" ], \"condition\": { \"title\": \"expirable access\", \"description\": \"Does not grant access after Sep 2020\", \"expression\": \"request.time < timestamp('2020-10-01T00:00:00.000Z')\", } } ], \"etag\": \"BwWWja0YfJA=\", \"version\": 3 } **YAML example:** bindings: - members: - user:mike@example.com - group:admins@example.com - domain:google.com - serviceAccount:my-project-id@appspot.gserviceaccount.com role: roles/resourcemanager.organizationAdmin - members: - user:eve@example.com role: roles/resourcemanager.organizationViewer condition: title: expirable access description: Does not grant access after Sep 2020 expression: request.time < timestamp('2020-10-01T00:00:00.000Z') etag: BwWWja0YfJA= version: 3 For a description of IAM and its features, see the [IAM documentation](https://cloud.google.com/iam/docs/).", + "id": "Policy", + "properties": { + "auditConfigs": { + "description": "Specifies cloud audit logging configuration for this policy.", + "items": { + "$ref": "AuditConfig" + }, + "type": "array" + }, + "bindings": { + "description": "Associates a list of `members`, or principals, with a `role`. Optionally, may specify a `condition` that determines how and when the `bindings` are applied. Each of the `bindings` must contain at least one principal. The `bindings` in a `Policy` can refer to up to 1,500 principals; up to 250 of these principals can be Google groups. Each occurrence of a principal counts towards these limits. For example, if the `bindings` grant 50 different roles to `user:alice@example.com`, and not to any other principal, then you can add another 1,450 principals to the `bindings` in the `Policy`.", + "items": { + "$ref": "Binding" + }, + "type": "array" + }, + "etag": { + "description": "`etag` is used for optimistic concurrency control as a way to help prevent simultaneous updates of a policy from overwriting each other. It is strongly suggested that systems make use of the `etag` in the read-modify-write cycle to perform policy updates in order to avoid race conditions: An `etag` is returned in the response to `getIamPolicy`, and systems are expected to put that etag in the request to `setIamPolicy` to ensure that their change will be applied to the same version of the policy. **Important:** If you use IAM Conditions, you must include the `etag` field whenever you call `setIamPolicy`. If you omit this field, then IAM allows you to overwrite a version `3` policy with a version `1` policy, and all of the conditions in the version `3` policy are lost.", + "format": "byte", + "type": "string" + }, + "rules": { + "description": "If more than one rule is specified, the rules are applied in the following manner: - All matching LOG rules are always applied. - If any DENY/DENY_WITH_LOG rule matches, permission is denied. Logging will be applied if one or more matching rule requires logging. - Otherwise, if any ALLOW/ALLOW_WITH_LOG rule matches, permission is granted. Logging will be applied if one or more matching rule requires logging. - Otherwise, if no rule applies, permission is denied.", + "items": { + "$ref": "Rule" + }, + "type": "array" + }, + "version": { + "description": "Specifies the format of the policy. Valid values are `0`, `1`, and `3`. Requests that specify an invalid value are rejected. Any operation that affects conditional role bindings must specify version `3`. This requirement applies to the following operations: * Getting a policy that includes a conditional role binding * Adding a conditional role binding to a policy * Changing a conditional role binding in a policy * Removing any role binding, with or without a condition, from a policy that includes conditions **Important:** If you use IAM Conditions, you must include the `etag` field whenever you call `setIamPolicy`. If you omit this field, then IAM allows you to overwrite a version `3` policy with a version `1` policy, and all of the conditions in the version `3` policy are lost. If a policy does not include any conditions, operations on that policy may specify any valid version or leave the field unset. To learn which resources support conditions in their IAM policies, see the [IAM documentation](https://cloud.google.com/iam/help/conditions/resource-policies).", + "format": "int32", + "type": "integer" + } + }, + "type": "object" + }, + "Rule": { + "description": "A rule to be applied in a Policy.", + "id": "Rule", + "properties": { + "action": { + "description": "Required", + "enum": [ + "NO_ACTION", + "ALLOW", + "ALLOW_WITH_LOG", + "DENY", + "DENY_WITH_LOG", + "LOG" + ], + "enumDescriptions": [ + "Default no action.", + "Matching 'Entries' grant access.", + "Matching 'Entries' grant access and the caller promises to log the request per the returned log_configs.", + "Matching 'Entries' deny access.", + "Matching 'Entries' deny access and the caller promises to log the request per the returned log_configs.", + "Matching 'Entries' tell IAM.Check callers to generate logs." + ], + "type": "string" + }, + "conditions": { + "description": "Additional restrictions that must be met. All conditions must pass for the rule to match.", + "items": { + "$ref": "Condition" + }, + "type": "array" + }, + "description": { + "description": "Human-readable description of the rule.", + "type": "string" + }, + "in": { + "description": "If one or more 'in' clauses are specified, the rule matches if the PRINCIPAL/AUTHORITY_SELECTOR is in at least one of these entries.", + "items": { + "type": "string" + }, + "type": "array" + }, + "logConfig": { + "description": "The config returned to callers of CheckPolicy for any entries that match the LOG action.", + "items": { + "$ref": "LogConfig" + }, + "type": "array" + }, + "notIn": { + "description": "If one or more 'not_in' clauses are specified, the rule matches if the PRINCIPAL/AUTHORITY_SELECTOR is in none of the entries. The format for in and not_in entries can be found at in the Local IAM documentation (see go/local-iam#features).", + "items": { + "type": "string" + }, + "type": "array" + }, + "permissions": { + "description": "A permission is a string of form '..' (e.g., 'storage.buckets.list'). A value of '*' matches all permissions, and a verb part of '*' (e.g., 'storage.buckets.*') matches all verbs.", + "items": { + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, + "SetIamPolicyRequest": { + "description": "Request message for `SetIamPolicy` method.", + "id": "SetIamPolicyRequest", + "properties": { + "policy": { + "$ref": "Policy", + "description": "REQUIRED: The complete policy to be applied to the `resource`. The size of the policy is limited to a few 10s of KB. An empty policy is a valid policy but certain Google Cloud services (such as Projects) might reject them." + }, + "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" + } + }, + "type": "object" + }, + "Status": { + "description": "The `Status` type defines a logical error model that is suitable for different programming environments, including REST APIs and RPC APIs. It is used by [gRPC](https://github.com/grpc). Each `Status` message contains three pieces of data: error code, error message, and error details. You can find out more about this error model and how to work with it in the [API Design Guide](https://cloud.google.com/apis/design/errors).", + "id": "Status", + "properties": { + "code": { + "description": "The status code, which should be an enum value of google.rpc.Code.", + "format": "int32", + "type": "integer" + }, + "details": { + "description": "A list of messages that carry the error details. There is a common set of message types for APIs to use.", + "items": { + "additionalProperties": { + "description": "Properties of the object. Contains field @type with type URL.", + "type": "any" + }, + "type": "object" + }, + "type": "array" + }, + "message": { + "description": "A developer-facing error message, which should be in English. Any user-facing error message should be localized and sent in the google.rpc.Status.details field, or localized by the client.", + "type": "string" + } + }, + "type": "object" + }, + "TestIamPermissionsRequest": { + "description": "Request message for `TestIamPermissions` method.", + "id": "TestIamPermissionsRequest", + "properties": { + "permissions": { + "description": "The set of permissions to check for the `resource`. Permissions with wildcards (such as `*` or `storage.*`) are not allowed. For more information see [IAM Overview](https://cloud.google.com/iam/docs/overview#permissions).", + "items": { + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, + "TestIamPermissionsResponse": { + "description": "Response message for `TestIamPermissions` method.", + "id": "TestIamPermissionsResponse", + "properties": { + "permissions": { + "description": "A subset of `TestPermissionsRequest.permissions` that the caller is allowed.", + "items": { + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + } + }, + "servicePath": "", + "title": "Game Services API", + "version": "v1beta", + "version_module": true +} \ No newline at end of file diff --git a/.venv/lib/python3.11/site-packages/googleapiclient/discovery_cache/documents/gkehub.v2alpha.json b/.venv/lib/python3.11/site-packages/googleapiclient/discovery_cache/documents/gkehub.v2alpha.json new file mode 100644 index 0000000000000000000000000000000000000000..d45e3cdb58ab3ee7ea5443eba8b7a1d6b0ded143 --- /dev/null +++ b/.venv/lib/python3.11/site-packages/googleapiclient/discovery_cache/documents/gkehub.v2alpha.json @@ -0,0 +1,3295 @@ +{ +"auth": { +"oauth2": { +"scopes": { +"https://www.googleapis.com/auth/cloud-platform": { +"description": "See, edit, configure, and delete your Google Cloud data and see the email address for your Google Account." +} +} +} +}, +"basePath": "", +"baseUrl": "https://gkehub.googleapis.com/", +"batchPath": "batch", +"canonicalName": "GKE Hub", +"description": "", +"discoveryVersion": "v1", +"documentationLink": "https://cloud.google.com/anthos/multicluster-management/connect/registering-a-cluster", +"fullyEncodeReservedExpansion": true, +"icons": { +"x16": "http://www.google.com/images/icons/product/search-16.gif", +"x32": "http://www.google.com/images/icons/product/search-32.gif" +}, +"id": "gkehub:v2alpha", +"kind": "discovery#restDescription", +"mtlsRootUrl": "https://gkehub.mtls.googleapis.com/", +"name": "gkehub", +"ownerDomain": "google.com", +"ownerName": "Google", +"parameters": { +"$.xgafv": { +"description": "V1 error format.", +"enum": [ +"1", +"2" +], +"enumDescriptions": [ +"v1 error format", +"v2 error format" +], +"location": "query", +"type": "string" +}, +"access_token": { +"description": "OAuth access token.", +"location": "query", +"type": "string" +}, +"alt": { +"default": "json", +"description": "Data format for response.", +"enum": [ +"json", +"media", +"proto" +], +"enumDescriptions": [ +"Responses with Content-Type of application/json", +"Media download with context-dependent Content-Type", +"Responses with Content-Type of application/x-protobuf" +], +"location": "query", +"type": "string" +}, +"callback": { +"description": "JSONP", +"location": "query", +"type": "string" +}, +"fields": { +"description": "Selector specifying which fields to include in a partial response.", +"location": "query", +"type": "string" +}, +"key": { +"description": "API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token.", +"location": "query", +"type": "string" +}, +"oauth_token": { +"description": "OAuth 2.0 token for the current user.", +"location": "query", +"type": "string" +}, +"prettyPrint": { +"default": "true", +"description": "Returns response with indentations and line breaks.", +"location": "query", +"type": "boolean" +}, +"quotaUser": { +"description": "Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters.", +"location": "query", +"type": "string" +}, +"uploadType": { +"description": "Legacy upload protocol for media (e.g. \"media\", \"multipart\").", +"location": "query", +"type": "string" +}, +"upload_protocol": { +"description": "Upload protocol for media (e.g. \"raw\", \"multipart\").", +"location": "query", +"type": "string" +} +}, +"protocol": "rest", +"resources": { +"projects": { +"resources": { +"locations": { +"methods": { +"get": { +"description": "Gets information about a location.", +"flatPath": "v2alpha/projects/{projectsId}/locations/{locationsId}", +"httpMethod": "GET", +"id": "gkehub.projects.locations.get", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Resource name for the location.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v2alpha/{+name}", +"response": { +"$ref": "Location" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"list": { +"description": "Lists information about the supported locations for this service.", +"flatPath": "v2alpha/projects/{projectsId}/locations", +"httpMethod": "GET", +"id": "gkehub.projects.locations.list", +"parameterOrder": [ +"name" +], +"parameters": { +"filter": { +"description": "A filter to narrow down results to a preferred subset. The filtering language accepts strings like `\"displayName=tokyo\"`, and is documented in more detail in [AIP-160](https://google.aip.dev/160).", +"location": "query", +"type": "string" +}, +"name": { +"description": "The resource that owns the locations collection, if applicable.", +"location": "path", +"pattern": "^projects/[^/]+$", +"required": true, +"type": "string" +}, +"pageSize": { +"description": "The maximum number of results to return. If not set, the service selects a default.", +"format": "int32", +"location": "query", +"type": "integer" +}, +"pageToken": { +"description": "A page token received from the `next_page_token` field in the response. Send that page token to receive the subsequent page.", +"location": "query", +"type": "string" +} +}, +"path": "v2alpha/{+name}/locations", +"response": { +"$ref": "ListLocationsResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +} +}, +"resources": { +"memberships": { +"resources": { +"features": { +"methods": { +"create": { +"description": "Creates membershipFeature under a given parent.", +"flatPath": "v2alpha/projects/{projectsId}/locations/{locationsId}/memberships/{membershipsId}/features", +"httpMethod": "POST", +"id": "gkehub.projects.locations.memberships.features.create", +"parameterOrder": [ +"parent" +], +"parameters": { +"featureId": { +"description": "Required. The ID of the membership_feature to create.", +"location": "query", +"type": "string" +}, +"parent": { +"description": "Required. The name of parent where the MembershipFeature will be created. Specified in the format `projects/*/locations/*/memberships/*`.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/memberships/[^/]+$", +"required": true, +"type": "string" +}, +"requestId": { +"description": "Idempotent request UUID.", +"location": "query", +"type": "string" +} +}, +"path": "v2alpha/{+parent}/features", +"request": { +"$ref": "MembershipFeature" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"delete": { +"description": "Removes a membershipFeature.", +"flatPath": "v2alpha/projects/{projectsId}/locations/{locationsId}/memberships/{membershipsId}/features/{featuresId}", +"httpMethod": "DELETE", +"id": "gkehub.projects.locations.memberships.features.delete", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. The name of the membershipFeature to be deleted. Specified in the format `projects/*/locations/*/memberships/*/features/*`.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/memberships/[^/]+/features/[^/]+$", +"required": true, +"type": "string" +}, +"requestId": { +"description": "Idempotent request UUID.", +"location": "query", +"type": "string" +} +}, +"path": "v2alpha/{+name}", +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"get": { +"description": "========= MembershipFeature Services ========= Gets details of a membershipFeature.", +"flatPath": "v2alpha/projects/{projectsId}/locations/{locationsId}/memberships/{membershipsId}/features/{featuresId}", +"httpMethod": "GET", +"id": "gkehub.projects.locations.memberships.features.get", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. The MembershipFeature resource name in the format `projects/*/locations/*/memberships/*/features/*`.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/memberships/[^/]+/features/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v2alpha/{+name}", +"response": { +"$ref": "MembershipFeature" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"list": { +"description": "Lists MembershipFeatures in a given project and location.", +"flatPath": "v2alpha/projects/{projectsId}/locations/{locationsId}/memberships/{membershipsId}/features", +"httpMethod": "GET", +"id": "gkehub.projects.locations.memberships.features.list", +"parameterOrder": [ +"parent" +], +"parameters": { +"filter": { +"description": "Lists MembershipFeatures that match the filter expression, following the syntax outlined in https://google.aip.dev/160. Examples: - Feature with the name \"helloworld\" in project \"foo-proj\" and membership \"member-bar\": name = \"projects/foo-proj/locations/global/memberships/member-bar/features/helloworld\" - Features that have a label called `foo`: labels.foo:* - Features that have a label called `foo` whose value is `bar`: labels.foo = bar", +"location": "query", +"type": "string" +}, +"orderBy": { +"description": "One or more fields to compare and use to sort the output. See https://google.aip.dev/132#ordering.", +"location": "query", +"type": "string" +}, +"pageSize": { +"description": "When requesting a 'page' of resources, `page_size` specifies number of resources to return. If unspecified or set to 0, all resources will be returned.", +"format": "int32", +"location": "query", +"type": "integer" +}, +"pageToken": { +"description": "Token returned by previous call to `ListFeatures` which specifies the position in the list from where to continue listing the resources.", +"location": "query", +"type": "string" +}, +"parent": { +"description": "Required. The parent where the MembershipFeature will be listed. In the format: `projects/*/locations/*/memberships/*`.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/memberships/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v2alpha/{+parent}/features", +"response": { +"$ref": "ListMembershipFeaturesResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"patch": { +"description": "Updates an existing MembershipFeature.", +"flatPath": "v2alpha/projects/{projectsId}/locations/{locationsId}/memberships/{membershipsId}/features/{featuresId}", +"httpMethod": "PATCH", +"id": "gkehub.projects.locations.memberships.features.patch", +"parameterOrder": [ +"name" +], +"parameters": { +"allowMissing": { +"description": "Optional. If set to true, and the MembershipFeature is not found, a new MembershipFeature will be created. In this situation, `update_mask` is ignored.", +"location": "query", +"type": "boolean" +}, +"name": { +"description": "Output only. The resource name of the membershipFeature, in the format: `projects/{project}/locations/{location}/memberships/{membership}/features/{feature}`. Note that `membershipFeatures` is shortened to `features` in the resource name. (see http://go/aip/122#collection-identifiers)", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/memberships/[^/]+/features/[^/]+$", +"required": true, +"type": "string" +}, +"requestId": { +"description": "Idempotent request UUID.", +"location": "query", +"type": "string" +}, +"updateMask": { +"description": "Required. Mask of fields to update.", +"format": "google-fieldmask", +"location": "query", +"type": "string" +} +}, +"path": "v2alpha/{+name}", +"request": { +"$ref": "MembershipFeature" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +} +} +} +} +}, +"operations": { +"methods": { +"cancel": { +"description": "Starts asynchronous cancellation on a long-running operation. The server makes a best effort to cancel the operation, but success is not guaranteed. If the server doesn't support this method, it returns `google.rpc.Code.UNIMPLEMENTED`. Clients can use Operations.GetOperation or other methods to check whether the cancellation succeeded or whether the operation completed despite cancellation. On successful cancellation, the operation is not deleted; instead, it becomes an operation with an Operation.error value with a google.rpc.Status.code of `1`, corresponding to `Code.CANCELLED`.", +"flatPath": "v2alpha/projects/{projectsId}/locations/{locationsId}/operations/{operationsId}:cancel", +"httpMethod": "POST", +"id": "gkehub.projects.locations.operations.cancel", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "The name of the operation resource to be cancelled.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/operations/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v2alpha/{+name}:cancel", +"request": { +"$ref": "CancelOperationRequest" +}, +"response": { +"$ref": "Empty" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"get": { +"description": "Gets the latest state of a long-running operation. Clients can use this method to poll the operation result at intervals as recommended by the API service.", +"flatPath": "v2alpha/projects/{projectsId}/locations/{locationsId}/operations/{operationsId}", +"httpMethod": "GET", +"id": "gkehub.projects.locations.operations.get", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "The name of the operation resource.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/operations/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v2alpha/{+name}", +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"list": { +"description": "Lists operations that match the specified filter in the request. If the server doesn't support this method, it returns `UNIMPLEMENTED`.", +"flatPath": "v2alpha/projects/{projectsId}/locations/{locationsId}/operations", +"httpMethod": "GET", +"id": "gkehub.projects.locations.operations.list", +"parameterOrder": [ +"name" +], +"parameters": { +"filter": { +"description": "The standard list filter.", +"location": "query", +"type": "string" +}, +"name": { +"description": "The name of the operation's parent resource.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+$", +"required": true, +"type": "string" +}, +"pageSize": { +"description": "The standard list page size.", +"format": "int32", +"location": "query", +"type": "integer" +}, +"pageToken": { +"description": "The standard list page token.", +"location": "query", +"type": "string" +} +}, +"path": "v2alpha/{+name}/operations", +"response": { +"$ref": "ListOperationsResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +} +} +} +} +} +} +} +}, +"revision": "20250103", +"rootUrl": "https://gkehub.googleapis.com/", +"schemas": { +"AppDevExperienceState": { +"description": "State for App Dev Exp Feature.", +"id": "AppDevExperienceState", +"properties": { +"networkingInstallSucceeded": { +"$ref": "AppDevExperienceStatus", +"description": "Status of subcomponent that detects configured Service Mesh resources." +} +}, +"type": "object" +}, +"AppDevExperienceStatus": { +"description": "Status specifies state for the subcomponent.", +"id": "AppDevExperienceStatus", +"properties": { +"code": { +"description": "Code specifies AppDevExperienceFeature's subcomponent ready state.", +"enum": [ +"CODE_UNSPECIFIED", +"OK", +"FAILED", +"UNKNOWN" +], +"enumDescriptions": [ +"Not set.", +"AppDevExperienceFeature's specified subcomponent is ready.", +"AppDevExperienceFeature's specified subcomponent ready state is false. This means AppDevExperienceFeature has encountered an issue that blocks all, or a portion, of its normal operation. See the `description` for more details.", +"AppDevExperienceFeature's specified subcomponent has a pending or unknown state." +], +"type": "string" +}, +"description": { +"description": "Description is populated if Code is Failed, explaining why it has failed.", +"type": "string" +} +}, +"type": "object" +}, +"CancelOperationRequest": { +"description": "The request message for Operations.CancelOperation.", +"id": "CancelOperationRequest", +"properties": {}, +"type": "object" +}, +"CloudBuildSpec": { +"description": "**Cloud Build**: Configurations for each Cloud Build enabled cluster.", +"id": "CloudBuildSpec", +"properties": { +"securityPolicy": { +"description": "Whether it is allowed to run the privileged builds on the cluster or not.", +"enum": [ +"SECURITY_POLICY_UNSPECIFIED", +"NON_PRIVILEGED", +"PRIVILEGED" +], +"enumDescriptions": [ +"Unspecified policy", +"Privileged build pods are disallowed", +"Privileged build pods are allowed" +], +"type": "string" +}, +"version": { +"description": "Version of the cloud build software on the cluster.", +"type": "string" +} +}, +"type": "object" +}, +"ClusterUpgradeGKEUpgrade": { +"description": "GKEUpgrade represents a GKE provided upgrade, e.g., control plane upgrade.", +"id": "ClusterUpgradeGKEUpgrade", +"properties": { +"name": { +"description": "Name of the upgrade, e.g., \"k8s_control_plane\".", +"type": "string" +}, +"version": { +"description": "Version of the upgrade, e.g., \"1.22.1-gke.100\".", +"type": "string" +} +}, +"type": "object" +}, +"ClusterUpgradeIgnoredMembership": { +"description": "IgnoredMembership represents a membership ignored by the feature. A membership can be ignored because it was manually upgraded to a newer version than RC default.", +"id": "ClusterUpgradeIgnoredMembership", +"properties": { +"ignoredTime": { +"description": "Time when the membership was first set to ignored.", +"format": "google-datetime", +"type": "string" +}, +"reason": { +"description": "Reason why the membership is ignored.", +"type": "string" +} +}, +"type": "object" +}, +"ClusterUpgradeMembershipGKEUpgradeState": { +"description": "MembershipGKEUpgradeState is a GKEUpgrade and its state per-membership.", +"id": "ClusterUpgradeMembershipGKEUpgradeState", +"properties": { +"status": { +"$ref": "ClusterUpgradeUpgradeStatus", +"description": "Status of the upgrade." +}, +"upgrade": { +"$ref": "ClusterUpgradeGKEUpgrade", +"description": "Which upgrade to track the state." +} +}, +"type": "object" +}, +"ClusterUpgradeState": { +"description": "Per-membership state for this feature.", +"id": "ClusterUpgradeState", +"properties": { +"ignored": { +"$ref": "ClusterUpgradeIgnoredMembership", +"description": "Whether this membership is ignored by the feature. For example, manually upgraded clusters can be ignored if they are newer than the default versions of its release channel." +}, +"upgrades": { +"description": "Actual upgrade state against desired.", +"items": { +"$ref": "ClusterUpgradeMembershipGKEUpgradeState" +}, +"type": "array" +} +}, +"type": "object" +}, +"ClusterUpgradeUpgradeStatus": { +"description": "UpgradeStatus provides status information for each upgrade.", +"id": "ClusterUpgradeUpgradeStatus", +"properties": { +"code": { +"description": "Status code of the upgrade.", +"enum": [ +"CODE_UNSPECIFIED", +"INELIGIBLE", +"PENDING", +"IN_PROGRESS", +"SOAKING", +"FORCED_SOAKING", +"COMPLETE" +], +"enumDescriptions": [ +"Required by https://linter.aip.dev/126/unspecified.", +"The upgrade is ineligible. At the scope level, this means the upgrade is ineligible for all the clusters in the scope.", +"The upgrade is pending. At the scope level, this means the upgrade is pending for all the clusters in the scope.", +"The upgrade is in progress. At the scope level, this means the upgrade is in progress for at least one cluster in the scope.", +"The upgrade has finished and is soaking until the soaking time is up. At the scope level, this means at least one cluster is in soaking while the rest are either soaking or complete.", +"A cluster will be forced to enter soaking if an upgrade doesn't finish within a certain limit, despite it's actual status.", +"The upgrade has passed all post conditions (soaking). At the scope level, this means all eligible clusters are in COMPLETE status." +], +"type": "string" +}, +"reason": { +"description": "Reason for this status.", +"type": "string" +}, +"updateTime": { +"description": "Last timestamp the status was updated.", +"format": "google-datetime", +"type": "string" +} +}, +"type": "object" +}, +"ConfigManagementBinauthzConfig": { +"description": "Configuration for Binauthz.", +"id": "ConfigManagementBinauthzConfig", +"properties": { +"enabled": { +"description": "Whether binauthz is enabled in this cluster.", +"type": "boolean" +} +}, +"type": "object" +}, +"ConfigManagementBinauthzState": { +"description": "State for Binauthz.", +"id": "ConfigManagementBinauthzState", +"properties": { +"version": { +"$ref": "ConfigManagementBinauthzVersion", +"description": "The version of binauthz that is installed." +}, +"webhook": { +"description": "The state of the binauthz webhook.", +"enum": [ +"DEPLOYMENT_STATE_UNSPECIFIED", +"NOT_INSTALLED", +"INSTALLED", +"ERROR", +"PENDING" +], +"enumDescriptions": [ +"Deployment's state cannot be determined.", +"Deployment is not installed.", +"Deployment is installed.", +"Deployment was attempted to be installed, but has errors.", +"Deployment is installing or terminating" +], +"type": "string" +} +}, +"type": "object" +}, +"ConfigManagementBinauthzVersion": { +"description": "The version of binauthz.", +"id": "ConfigManagementBinauthzVersion", +"properties": { +"webhookVersion": { +"description": "The version of the binauthz webhook.", +"type": "string" +} +}, +"type": "object" +}, +"ConfigManagementConfigSync": { +"description": "Configuration for Config Sync", +"id": "ConfigManagementConfigSync", +"properties": { +"allowVerticalScale": { +"deprecated": true, +"description": "Optional. Set to true to allow the vertical scaling. Defaults to false which disallows vertical scaling. This field is deprecated.", +"type": "boolean" +}, +"enabled": { +"description": "Optional. Enables the installation of ConfigSync. If set to true, ConfigSync resources will be created and the other ConfigSync fields will be applied if exist. If set to false, all other ConfigSync fields will be ignored, ConfigSync resources will be deleted. If omitted, ConfigSync resources will be managed depends on the presence of the git or oci field.", +"type": "boolean" +}, +"git": { +"$ref": "ConfigManagementGitConfig", +"description": "Optional. Git repo configuration for the cluster." +}, +"metricsGcpServiceAccountEmail": { +"deprecated": true, +"description": "Optional. The Email of the Google Cloud Service Account (GSA) used for exporting Config Sync metrics to Cloud Monitoring and Cloud Monarch when Workload Identity is enabled. The GSA should have the Monitoring Metric Writer (roles/monitoring.metricWriter) IAM role. The Kubernetes ServiceAccount `default` in the namespace `config-management-monitoring` should be bound to the GSA. Deprecated: If Workload Identity Federation for GKE is enabled, Google Cloud Service Account is no longer needed for exporting Config Sync metrics: https://cloud.google.com/kubernetes-engine/enterprise/config-sync/docs/how-to/monitor-config-sync-cloud-monitoring#custom-monitoring.", +"type": "string" +}, +"oci": { +"$ref": "ConfigManagementOciConfig", +"description": "Optional. OCI repo configuration for the cluster." +}, +"preventDrift": { +"description": "Optional. Set to true to enable the Config Sync admission webhook to prevent drifts. If set to `false`, disables the Config Sync admission webhook and does not prevent drifts.", +"type": "boolean" +}, +"sourceFormat": { +"description": "Optional. Specifies whether the Config Sync Repo is in \"hierarchical\" or \"unstructured\" mode.", +"type": "string" +}, +"stopSyncing": { +"description": "Optional. Set to true to stop syncing configs for a single cluster. Default to false.", +"type": "boolean" +} +}, +"type": "object" +}, +"ConfigManagementConfigSyncDeploymentState": { +"description": "The state of ConfigSync's deployment on a cluster.", +"id": "ConfigManagementConfigSyncDeploymentState", +"properties": { +"admissionWebhook": { +"description": "Deployment state of admission-webhook.", +"enum": [ +"DEPLOYMENT_STATE_UNSPECIFIED", +"NOT_INSTALLED", +"INSTALLED", +"ERROR", +"PENDING" +], +"enumDescriptions": [ +"Deployment's state cannot be determined.", +"Deployment is not installed.", +"Deployment is installed.", +"Deployment was attempted to be installed, but has errors.", +"Deployment is installing or terminating" +], +"type": "string" +}, +"gitSync": { +"description": "Deployment state of the git-sync pod.", +"enum": [ +"DEPLOYMENT_STATE_UNSPECIFIED", +"NOT_INSTALLED", +"INSTALLED", +"ERROR", +"PENDING" +], +"enumDescriptions": [ +"Deployment's state cannot be determined.", +"Deployment is not installed.", +"Deployment is installed.", +"Deployment was attempted to be installed, but has errors.", +"Deployment is installing or terminating" +], +"type": "string" +}, +"importer": { +"description": "Deployment state of the importer pod.", +"enum": [ +"DEPLOYMENT_STATE_UNSPECIFIED", +"NOT_INSTALLED", +"INSTALLED", +"ERROR", +"PENDING" +], +"enumDescriptions": [ +"Deployment's state cannot be determined.", +"Deployment is not installed.", +"Deployment is installed.", +"Deployment was attempted to be installed, but has errors.", +"Deployment is installing or terminating" +], +"type": "string" +}, +"monitor": { +"description": "Deployment state of the monitor pod.", +"enum": [ +"DEPLOYMENT_STATE_UNSPECIFIED", +"NOT_INSTALLED", +"INSTALLED", +"ERROR", +"PENDING" +], +"enumDescriptions": [ +"Deployment's state cannot be determined.", +"Deployment is not installed.", +"Deployment is installed.", +"Deployment was attempted to be installed, but has errors.", +"Deployment is installing or terminating" +], +"type": "string" +}, +"otelCollector": { +"description": "Deployment state of otel-collector", +"enum": [ +"DEPLOYMENT_STATE_UNSPECIFIED", +"NOT_INSTALLED", +"INSTALLED", +"ERROR", +"PENDING" +], +"enumDescriptions": [ +"Deployment's state cannot be determined.", +"Deployment is not installed.", +"Deployment is installed.", +"Deployment was attempted to be installed, but has errors.", +"Deployment is installing or terminating" +], +"type": "string" +}, +"reconcilerManager": { +"description": "Deployment state of reconciler-manager pod.", +"enum": [ +"DEPLOYMENT_STATE_UNSPECIFIED", +"NOT_INSTALLED", +"INSTALLED", +"ERROR", +"PENDING" +], +"enumDescriptions": [ +"Deployment's state cannot be determined.", +"Deployment is not installed.", +"Deployment is installed.", +"Deployment was attempted to be installed, but has errors.", +"Deployment is installing or terminating" +], +"type": "string" +}, +"resourceGroupControllerManager": { +"description": "Deployment state of resource-group-controller-manager", +"enum": [ +"DEPLOYMENT_STATE_UNSPECIFIED", +"NOT_INSTALLED", +"INSTALLED", +"ERROR", +"PENDING" +], +"enumDescriptions": [ +"Deployment's state cannot be determined.", +"Deployment is not installed.", +"Deployment is installed.", +"Deployment was attempted to be installed, but has errors.", +"Deployment is installing or terminating" +], +"type": "string" +}, +"rootReconciler": { +"description": "Deployment state of root-reconciler.", +"enum": [ +"DEPLOYMENT_STATE_UNSPECIFIED", +"NOT_INSTALLED", +"INSTALLED", +"ERROR", +"PENDING" +], +"enumDescriptions": [ +"Deployment's state cannot be determined.", +"Deployment is not installed.", +"Deployment is installed.", +"Deployment was attempted to be installed, but has errors.", +"Deployment is installing or terminating" +], +"type": "string" +}, +"syncer": { +"description": "Deployment state of the syncer pod.", +"enum": [ +"DEPLOYMENT_STATE_UNSPECIFIED", +"NOT_INSTALLED", +"INSTALLED", +"ERROR", +"PENDING" +], +"enumDescriptions": [ +"Deployment's state cannot be determined.", +"Deployment is not installed.", +"Deployment is installed.", +"Deployment was attempted to be installed, but has errors.", +"Deployment is installing or terminating" +], +"type": "string" +} +}, +"type": "object" +}, +"ConfigManagementConfigSyncError": { +"description": "Errors pertaining to the installation of Config Sync", +"id": "ConfigManagementConfigSyncError", +"properties": { +"errorMessage": { +"description": "A string representing the user facing error message", +"type": "string" +} +}, +"type": "object" +}, +"ConfigManagementConfigSyncState": { +"description": "State information for ConfigSync.", +"id": "ConfigManagementConfigSyncState", +"properties": { +"clusterLevelStopSyncingState": { +"description": "Output only. Whether syncing resources to the cluster is stopped at the cluster level.", +"enum": [ +"STOP_SYNCING_STATE_UNSPECIFIED", +"NOT_STOPPED", +"PENDING", +"STOPPED" +], +"enumDescriptions": [ +"State cannot be determined", +"Syncing resources to the cluster is not stopped at the cluster level.", +"Some reconcilers stop syncing resources to the cluster, while others are still syncing.", +"Syncing resources to the cluster is stopped at the cluster level." +], +"readOnly": true, +"type": "string" +}, +"crCount": { +"description": "Output only. The number of RootSync and RepoSync CRs in the cluster.", +"format": "int32", +"readOnly": true, +"type": "integer" +}, +"deploymentState": { +"$ref": "ConfigManagementConfigSyncDeploymentState", +"description": "Output only. Information about the deployment of ConfigSync, including the version. of the various Pods deployed", +"readOnly": true +}, +"errors": { +"description": "Output only. Errors pertaining to the installation of Config Sync.", +"items": { +"$ref": "ConfigManagementConfigSyncError" +}, +"readOnly": true, +"type": "array" +}, +"reposyncCrd": { +"description": "Output only. The state of the Reposync CRD", +"enum": [ +"CRD_STATE_UNSPECIFIED", +"NOT_INSTALLED", +"INSTALLED", +"TERMINATING", +"INSTALLING" +], +"enumDescriptions": [ +"CRD's state cannot be determined", +"CRD is not installed", +"CRD is installed", +"CRD is terminating (i.e., it has been deleted and is cleaning up)", +"CRD is installing" +], +"readOnly": true, +"type": "string" +}, +"rootsyncCrd": { +"description": "Output only. The state of the RootSync CRD", +"enum": [ +"CRD_STATE_UNSPECIFIED", +"NOT_INSTALLED", +"INSTALLED", +"TERMINATING", +"INSTALLING" +], +"enumDescriptions": [ +"CRD's state cannot be determined", +"CRD is not installed", +"CRD is installed", +"CRD is terminating (i.e., it has been deleted and is cleaning up)", +"CRD is installing" +], +"readOnly": true, +"type": "string" +}, +"state": { +"description": "Output only. The state of CS This field summarizes the other fields in this message.", +"enum": [ +"STATE_UNSPECIFIED", +"CONFIG_SYNC_NOT_INSTALLED", +"CONFIG_SYNC_INSTALLED", +"CONFIG_SYNC_ERROR", +"CONFIG_SYNC_PENDING" +], +"enumDescriptions": [ +"CS's state cannot be determined.", +"CS is not installed.", +"The expected CS version is installed successfully.", +"CS encounters errors.", +"CS is installing or terminating." +], +"readOnly": true, +"type": "string" +}, +"syncState": { +"$ref": "ConfigManagementSyncState", +"description": "Output only. The state of ConfigSync's process to sync configs to a cluster.", +"readOnly": true +}, +"version": { +"$ref": "ConfigManagementConfigSyncVersion", +"description": "Output only. The version of ConfigSync deployed.", +"readOnly": true +} +}, +"type": "object" +}, +"ConfigManagementConfigSyncVersion": { +"description": "Specific versioning information pertaining to ConfigSync's Pods.", +"id": "ConfigManagementConfigSyncVersion", +"properties": { +"admissionWebhook": { +"description": "Version of the deployed admission-webhook pod.", +"type": "string" +}, +"gitSync": { +"description": "Version of the deployed git-sync pod.", +"type": "string" +}, +"importer": { +"description": "Version of the deployed importer pod.", +"type": "string" +}, +"monitor": { +"description": "Version of the deployed monitor pod.", +"type": "string" +}, +"otelCollector": { +"description": "Version of the deployed otel-collector pod", +"type": "string" +}, +"reconcilerManager": { +"description": "Version of the deployed reconciler-manager pod.", +"type": "string" +}, +"resourceGroupControllerManager": { +"description": "Version of the deployed resource-group-controller-manager pod", +"type": "string" +}, +"rootReconciler": { +"description": "Version of the deployed reconciler container in root-reconciler pod.", +"type": "string" +}, +"syncer": { +"description": "Version of the deployed syncer pod.", +"type": "string" +} +}, +"type": "object" +}, +"ConfigManagementErrorResource": { +"description": "Model for a config file in the git repo with an associated Sync error.", +"id": "ConfigManagementErrorResource", +"properties": { +"resourceGvk": { +"$ref": "ConfigManagementGroupVersionKind", +"description": "Group/version/kind of the resource that is causing an error" +}, +"resourceName": { +"description": "Metadata name of the resource that is causing an error", +"type": "string" +}, +"resourceNamespace": { +"description": "Namespace of the resource that is causing an error", +"type": "string" +}, +"sourcePath": { +"description": "Path in the git repo of the erroneous config", +"type": "string" +} +}, +"type": "object" +}, +"ConfigManagementGatekeeperDeploymentState": { +"description": "State of Policy Controller installation.", +"id": "ConfigManagementGatekeeperDeploymentState", +"properties": { +"gatekeeperAudit": { +"description": "Status of gatekeeper-audit deployment.", +"enum": [ +"DEPLOYMENT_STATE_UNSPECIFIED", +"NOT_INSTALLED", +"INSTALLED", +"ERROR", +"PENDING" +], +"enumDescriptions": [ +"Deployment's state cannot be determined.", +"Deployment is not installed.", +"Deployment is installed.", +"Deployment was attempted to be installed, but has errors.", +"Deployment is installing or terminating" +], +"type": "string" +}, +"gatekeeperControllerManagerState": { +"description": "Status of gatekeeper-controller-manager pod.", +"enum": [ +"DEPLOYMENT_STATE_UNSPECIFIED", +"NOT_INSTALLED", +"INSTALLED", +"ERROR", +"PENDING" +], +"enumDescriptions": [ +"Deployment's state cannot be determined.", +"Deployment is not installed.", +"Deployment is installed.", +"Deployment was attempted to be installed, but has errors.", +"Deployment is installing or terminating" +], +"type": "string" +}, +"gatekeeperMutation": { +"description": "Status of the pod serving the mutation webhook.", +"enum": [ +"DEPLOYMENT_STATE_UNSPECIFIED", +"NOT_INSTALLED", +"INSTALLED", +"ERROR", +"PENDING" +], +"enumDescriptions": [ +"Deployment's state cannot be determined.", +"Deployment is not installed.", +"Deployment is installed.", +"Deployment was attempted to be installed, but has errors.", +"Deployment is installing or terminating" +], +"type": "string" +} +}, +"type": "object" +}, +"ConfigManagementGitConfig": { +"description": "Git repo configuration for a single cluster.", +"id": "ConfigManagementGitConfig", +"properties": { +"gcpServiceAccountEmail": { +"description": "Optional. The Google Cloud Service Account Email used for auth when secret_type is gcpServiceAccount.", +"type": "string" +}, +"httpsProxy": { +"description": "Optional. URL for the HTTPS proxy to be used when communicating with the Git repo.", +"type": "string" +}, +"policyDir": { +"description": "Optional. The path within the Git repository that represents the top level of the repo to sync. Default: the root directory of the repository.", +"type": "string" +}, +"secretType": { +"description": "Required. Type of secret configured for access to the Git repo. Must be one of ssh, cookiefile, gcenode, token, gcpserviceaccount or none. The validation of this is case-sensitive. Required.", +"type": "string" +}, +"syncBranch": { +"description": "Optional. The branch of the repository to sync from. Default: master.", +"type": "string" +}, +"syncRepo": { +"description": "Optional. The URL of the Git repository to use as the source of truth.", +"type": "string" +}, +"syncRev": { +"description": "Optional. Git revision (tag or hash) to check out. Default HEAD.", +"type": "string" +}, +"syncWaitSecs": { +"description": "Optional. Period in seconds between consecutive syncs. Default: 15.", +"format": "int64", +"type": "string" +} +}, +"type": "object" +}, +"ConfigManagementGroupVersionKind": { +"description": "A Kubernetes object's GVK.", +"id": "ConfigManagementGroupVersionKind", +"properties": { +"group": { +"description": "Kubernetes Group", +"type": "string" +}, +"kind": { +"description": "Kubernetes Kind", +"type": "string" +}, +"version": { +"description": "Kubernetes Version", +"type": "string" +} +}, +"type": "object" +}, +"ConfigManagementHierarchyControllerConfig": { +"description": "Configuration for Hierarchy Controller.", +"id": "ConfigManagementHierarchyControllerConfig", +"properties": { +"enableHierarchicalResourceQuota": { +"description": "Whether hierarchical resource quota is enabled in this cluster.", +"type": "boolean" +}, +"enablePodTreeLabels": { +"description": "Whether pod tree labels are enabled in this cluster.", +"type": "boolean" +}, +"enabled": { +"description": "Whether Hierarchy Controller is enabled in this cluster.", +"type": "boolean" +} +}, +"type": "object" +}, +"ConfigManagementHierarchyControllerDeploymentState": { +"description": "Deployment state for Hierarchy Controller", +"id": "ConfigManagementHierarchyControllerDeploymentState", +"properties": { +"extension": { +"description": "The deployment state for Hierarchy Controller extension (e.g. v0.7.0-hc.1).", +"enum": [ +"DEPLOYMENT_STATE_UNSPECIFIED", +"NOT_INSTALLED", +"INSTALLED", +"ERROR", +"PENDING" +], +"enumDescriptions": [ +"Deployment's state cannot be determined.", +"Deployment is not installed.", +"Deployment is installed.", +"Deployment was attempted to be installed, but has errors.", +"Deployment is installing or terminating" +], +"type": "string" +}, +"hnc": { +"description": "The deployment state for open source HNC (e.g. v0.7.0-hc.0).", +"enum": [ +"DEPLOYMENT_STATE_UNSPECIFIED", +"NOT_INSTALLED", +"INSTALLED", +"ERROR", +"PENDING" +], +"enumDescriptions": [ +"Deployment's state cannot be determined.", +"Deployment is not installed.", +"Deployment is installed.", +"Deployment was attempted to be installed, but has errors.", +"Deployment is installing or terminating" +], +"type": "string" +} +}, +"type": "object" +}, +"ConfigManagementHierarchyControllerState": { +"description": "State for Hierarchy Controller.", +"id": "ConfigManagementHierarchyControllerState", +"properties": { +"state": { +"$ref": "ConfigManagementHierarchyControllerDeploymentState", +"description": "The deployment state for Hierarchy Controller." +}, +"version": { +"$ref": "ConfigManagementHierarchyControllerVersion", +"description": "The version for Hierarchy Controller." +} +}, +"type": "object" +}, +"ConfigManagementHierarchyControllerVersion": { +"description": "Version for Hierarchy Controller.", +"id": "ConfigManagementHierarchyControllerVersion", +"properties": { +"extension": { +"description": "Version for Hierarchy Controller extension.", +"type": "string" +}, +"hnc": { +"description": "Version for open source HNC.", +"type": "string" +} +}, +"type": "object" +}, +"ConfigManagementInstallError": { +"description": "Errors pertaining to the installation of ACM.", +"id": "ConfigManagementInstallError", +"properties": { +"errorMessage": { +"description": "A string representing the user facing error message.", +"type": "string" +} +}, +"type": "object" +}, +"ConfigManagementOciConfig": { +"description": "OCI repo configuration for a single cluster.", +"id": "ConfigManagementOciConfig", +"properties": { +"gcpServiceAccountEmail": { +"description": "Optional. The Google Cloud Service Account Email used for auth when secret_type is gcpServiceAccount.", +"type": "string" +}, +"policyDir": { +"description": "Optional. The absolute path of the directory that contains the local resources. Default: the root directory of the image.", +"type": "string" +}, +"secretType": { +"description": "Optional. Type of secret configured for access to the Git repo.", +"type": "string" +}, +"syncRepo": { +"description": "Optional. The OCI image repository URL for the package to sync from. e.g. `LOCATION-docker.pkg.dev/PROJECT_ID/REPOSITORY_NAME/PACKAGE_NAME`.", +"type": "string" +}, +"syncWaitSecs": { +"description": "Optional. Period in seconds between consecutive syncs. Default: 15.", +"format": "int64", +"type": "string" +} +}, +"type": "object" +}, +"ConfigManagementOperatorState": { +"description": "State information for an ACM's Operator.", +"id": "ConfigManagementOperatorState", +"properties": { +"deploymentState": { +"description": "The state of the Operator's deployment.", +"enum": [ +"DEPLOYMENT_STATE_UNSPECIFIED", +"NOT_INSTALLED", +"INSTALLED", +"ERROR", +"PENDING" +], +"enumDescriptions": [ +"Deployment's state cannot be determined.", +"Deployment is not installed.", +"Deployment is installed.", +"Deployment was attempted to be installed, but has errors.", +"Deployment is installing or terminating" +], +"type": "string" +}, +"errors": { +"description": "Install errors.", +"items": { +"$ref": "ConfigManagementInstallError" +}, +"type": "array" +}, +"version": { +"description": "The semenatic version number of the operator.", +"type": "string" +} +}, +"type": "object" +}, +"ConfigManagementPolicyController": { +"description": "Configuration for Policy Controller", +"id": "ConfigManagementPolicyController", +"properties": { +"auditIntervalSeconds": { +"description": "Sets the interval for Policy Controller Audit Scans (in seconds). When set to 0, this disables audit functionality altogether.", +"format": "int64", +"type": "string" +}, +"enabled": { +"description": "Enables the installation of Policy Controller. If false, the rest of PolicyController fields take no effect.", +"type": "boolean" +}, +"exemptableNamespaces": { +"description": "The set of namespaces that are excluded from Policy Controller checks. Namespaces do not need to currently exist on the cluster.", +"items": { +"type": "string" +}, +"type": "array" +}, +"logDeniesEnabled": { +"description": "Logs all denies and dry run failures.", +"type": "boolean" +}, +"monitoring": { +"$ref": "ConfigManagementPolicyControllerMonitoring", +"description": "Monitoring specifies the configuration of monitoring." +}, +"mutationEnabled": { +"description": "Enable or disable mutation in policy controller. If true, mutation CRDs, webhook and controller deployment will be deployed to the cluster.", +"type": "boolean" +}, +"referentialRulesEnabled": { +"description": "Enables the ability to use Constraint Templates that reference to objects other than the object currently being evaluated.", +"type": "boolean" +}, +"templateLibraryInstalled": { +"description": "Installs the default template library along with Policy Controller.", +"type": "boolean" +}, +"updateTime": { +"description": "Output only. Last time this membership spec was updated.", +"format": "google-datetime", +"readOnly": true, +"type": "string" +} +}, +"type": "object" +}, +"ConfigManagementPolicyControllerMigration": { +"description": "State for the migration of PolicyController from ACM -> PoCo Hub.", +"id": "ConfigManagementPolicyControllerMigration", +"properties": { +"copyTime": { +"description": "Last time this membership spec was copied to PoCo feature.", +"format": "google-datetime", +"type": "string" +}, +"stage": { +"description": "Stage of the migration.", +"enum": [ +"STAGE_UNSPECIFIED", +"ACM_MANAGED", +"POCO_MANAGED" +], +"enumDescriptions": [ +"Unknown state of migration.", +"ACM Hub/Operator manages policycontroller. No migration yet completed.", +"All migrations steps complete; Poco Hub now manages policycontroller." +], +"type": "string" +} +}, +"type": "object" +}, +"ConfigManagementPolicyControllerMonitoring": { +"description": "PolicyControllerMonitoring specifies the backends Policy Controller should export metrics to. For example, to specify metrics should be exported to Cloud Monitoring and Prometheus, specify backends: [\"cloudmonitoring\", \"prometheus\"]", +"id": "ConfigManagementPolicyControllerMonitoring", +"properties": { +"backends": { +"description": "Specifies the list of backends Policy Controller will export to. An empty list would effectively disable metrics export.", +"items": { +"enum": [ +"MONITORING_BACKEND_UNSPECIFIED", +"PROMETHEUS", +"CLOUD_MONITORING" +], +"enumDescriptions": [ +"Backend cannot be determined", +"Prometheus backend for monitoring", +"Stackdriver/Cloud Monitoring backend for monitoring" +], +"type": "string" +}, +"type": "array" +} +}, +"type": "object" +}, +"ConfigManagementPolicyControllerState": { +"description": "State for PolicyControllerState.", +"id": "ConfigManagementPolicyControllerState", +"properties": { +"deploymentState": { +"$ref": "ConfigManagementGatekeeperDeploymentState", +"description": "The state about the policy controller installation." +}, +"migration": { +"$ref": "ConfigManagementPolicyControllerMigration", +"description": "Record state of ACM -> PoCo Hub migration for this feature." +}, +"version": { +"$ref": "ConfigManagementPolicyControllerVersion", +"description": "The version of Gatekeeper Policy Controller deployed." +} +}, +"type": "object" +}, +"ConfigManagementPolicyControllerVersion": { +"description": "The build version of Gatekeeper Policy Controller is using.", +"id": "ConfigManagementPolicyControllerVersion", +"properties": { +"version": { +"description": "The gatekeeper image tag that is composed of ACM version, git tag, build number.", +"type": "string" +} +}, +"type": "object" +}, +"ConfigManagementSpec": { +"description": "**Anthos Config Management**: Configuration for a single cluster. Intended to parallel the ConfigManagement CR.", +"id": "ConfigManagementSpec", +"properties": { +"binauthz": { +"$ref": "ConfigManagementBinauthzConfig", +"deprecated": true, +"description": "Optional. Binauthz conifguration for the cluster. Deprecated: This field will be ignored and should not be set." +}, +"cluster": { +"description": "Optional. The user-specified cluster name used by Config Sync cluster-name-selector annotation or ClusterSelector, for applying configs to only a subset of clusters. Omit this field if the cluster's fleet membership name is used by Config Sync cluster-name-selector annotation or ClusterSelector. Set this field if a name different from the cluster's fleet membership name is used by Config Sync cluster-name-selector annotation or ClusterSelector.", +"type": "string" +}, +"configSync": { +"$ref": "ConfigManagementConfigSync", +"description": "Optional. Config Sync configuration for the cluster." +}, +"hierarchyController": { +"$ref": "ConfigManagementHierarchyControllerConfig", +"deprecated": true, +"description": "Optional. Hierarchy Controller configuration for the cluster. Deprecated: Configuring Hierarchy Controller through the configmanagement feature is no longer recommended. Use https://github.com/kubernetes-sigs/hierarchical-namespaces instead." +}, +"management": { +"description": "Optional. Enables automatic Feature management.", +"enum": [ +"MANAGEMENT_UNSPECIFIED", +"MANAGEMENT_AUTOMATIC", +"MANAGEMENT_MANUAL" +], +"enumDescriptions": [ +"Unspecified", +"Google will manage the Feature for the cluster.", +"User will manually manage the Feature for the cluster." +], +"type": "string" +}, +"policyController": { +"$ref": "ConfigManagementPolicyController", +"deprecated": true, +"description": "Optional. Policy Controller configuration for the cluster. Deprecated: Configuring Policy Controller through the configmanagement feature is no longer recommended. Use the policycontroller feature instead." +}, +"version": { +"description": "Optional. Version of ACM installed.", +"type": "string" +} +}, +"type": "object" +}, +"ConfigManagementState": { +"description": "**Anthos Config Management**: State for a single cluster.", +"id": "ConfigManagementState", +"properties": { +"binauthzState": { +"$ref": "ConfigManagementBinauthzState", +"description": "Output only. Binauthz status.", +"readOnly": true +}, +"clusterName": { +"description": "Output only. This field is set to the `cluster_name` field of the Membership Spec if it is not empty. Otherwise, it is set to the cluster's fleet membership name.", +"readOnly": true, +"type": "string" +}, +"configSyncState": { +"$ref": "ConfigManagementConfigSyncState", +"description": "Output only. Current sync status.", +"readOnly": true +}, +"hierarchyControllerState": { +"$ref": "ConfigManagementHierarchyControllerState", +"description": "Output only. Hierarchy Controller status.", +"readOnly": true +}, +"membershipSpec": { +"$ref": "ConfigManagementSpec", +"description": "Output only. Membership configuration in the cluster. This represents the actual state in the cluster, while the MembershipSpec in the FeatureSpec represents the intended state.", +"readOnly": true +}, +"operatorState": { +"$ref": "ConfigManagementOperatorState", +"description": "Output only. Current install status of ACM's Operator.", +"readOnly": true +}, +"policyControllerState": { +"$ref": "ConfigManagementPolicyControllerState", +"description": "Output only. PolicyController status.", +"readOnly": true +} +}, +"type": "object" +}, +"ConfigManagementSyncError": { +"description": "An ACM created error representing a problem syncing configurations.", +"id": "ConfigManagementSyncError", +"properties": { +"code": { +"description": "An ACM defined error code", +"type": "string" +}, +"errorMessage": { +"description": "A description of the error", +"type": "string" +}, +"errorResources": { +"description": "A list of config(s) associated with the error, if any", +"items": { +"$ref": "ConfigManagementErrorResource" +}, +"type": "array" +} +}, +"type": "object" +}, +"ConfigManagementSyncState": { +"description": "State indicating an ACM's progress syncing configurations to a cluster.", +"id": "ConfigManagementSyncState", +"properties": { +"code": { +"description": "Sync status code.", +"enum": [ +"SYNC_CODE_UNSPECIFIED", +"SYNCED", +"PENDING", +"ERROR", +"NOT_CONFIGURED", +"NOT_INSTALLED", +"UNAUTHORIZED", +"UNREACHABLE" +], +"enumDescriptions": [ +"Config Sync cannot determine a sync code", +"Config Sync successfully synced the git Repo with the cluster", +"Config Sync is in the progress of syncing a new change", +"Indicates an error configuring Config Sync, and user action is required", +"Config Sync has been installed but not configured", +"Config Sync has not been installed", +"Error authorizing with the cluster", +"Cluster could not be reached" +], +"type": "string" +}, +"errors": { +"description": "A list of errors resulting from problematic configs. This list will be truncated after 100 errors, although it is unlikely for that many errors to simultaneously exist.", +"items": { +"$ref": "ConfigManagementSyncError" +}, +"type": "array" +}, +"importToken": { +"description": "Token indicating the state of the importer.", +"type": "string" +}, +"lastSync": { +"deprecated": true, +"description": "Deprecated: use last_sync_time instead. Timestamp of when ACM last successfully synced the repo. The time format is specified in https://golang.org/pkg/time/#Time.String", +"type": "string" +}, +"lastSyncTime": { +"description": "Timestamp type of when ACM last successfully synced the repo.", +"format": "google-datetime", +"type": "string" +}, +"sourceToken": { +"description": "Token indicating the state of the repo.", +"type": "string" +}, +"syncToken": { +"description": "Token indicating the state of the syncer.", +"type": "string" +} +}, +"type": "object" +}, +"Empty": { +"description": "A generic empty message that you can re-use to avoid defining duplicated empty messages in your APIs. A typical example is to use it as the request or the response type of an API method. For instance: service Foo { rpc Bar(google.protobuf.Empty) returns (google.protobuf.Empty); }", +"id": "Empty", +"properties": {}, +"type": "object" +}, +"FeatureSpec": { +"description": "FeatureSpec contains user input per-feature spec information.", +"id": "FeatureSpec", +"properties": { +"cloudbuild": { +"$ref": "CloudBuildSpec", +"description": "Cloudbuild-specific FeatureSpec." +}, +"configmanagement": { +"$ref": "ConfigManagementSpec", +"description": "Config Management FeatureSpec." +}, +"identityservice": { +"$ref": "IdentityServiceSpec", +"description": "IdentityService FeatureSpec." +}, +"origin": { +"$ref": "Origin", +"description": "Whether this per-Feature spec was inherited from a fleet-level default. This field can be updated by users by either overriding a Feature config (updated to USER implicitly) or setting to FLEET explicitly." +}, +"policycontroller": { +"$ref": "PolicyControllerSpec", +"description": "Policycontroller-specific FeatureSpec." +}, +"servicemesh": { +"$ref": "ServiceMeshSpec", +"description": "ServiceMesh Feature Spec." +}, +"workloadcertificate": { +"$ref": "WorkloadCertificateSpec", +"description": "Workloadcertificate-specific FeatureSpec." +} +}, +"type": "object" +}, +"FeatureState": { +"description": "FeatureState contains high-level state information and per-feature state information for this MembershipFeature.", +"id": "FeatureState", +"properties": { +"appdevexperience": { +"$ref": "AppDevExperienceState", +"description": "Appdevexperience specific state." +}, +"clusterupgrade": { +"$ref": "ClusterUpgradeState", +"description": "Cluster upgrade state." +}, +"configmanagement": { +"$ref": "ConfigManagementState", +"description": "Config Management state" +}, +"identityservice": { +"$ref": "IdentityServiceState", +"description": "Identity service state" +}, +"metering": { +"$ref": "MeteringState", +"description": "Metering state" +}, +"policycontroller": { +"$ref": "PolicyControllerState", +"description": "Policy Controller state" +}, +"servicemesh": { +"$ref": "ServiceMeshState", +"description": "Service mesh state" +}, +"state": { +"$ref": "State", +"description": "The high-level state of this MembershipFeature." +} +}, +"type": "object" +}, +"GoogleRpcStatus": { +"description": "The `Status` type defines a logical error model that is suitable for different programming environments, including REST APIs and RPC APIs. It is used by [gRPC](https://github.com/grpc). Each `Status` message contains three pieces of data: error code, error message, and error details. You can find out more about this error model and how to work with it in the [API Design Guide](https://cloud.google.com/apis/design/errors).", +"id": "GoogleRpcStatus", +"properties": { +"code": { +"description": "The status code, which should be an enum value of google.rpc.Code.", +"format": "int32", +"type": "integer" +}, +"details": { +"description": "A list of messages that carry the error details. There is a common set of message types for APIs to use.", +"items": { +"additionalProperties": { +"description": "Properties of the object. Contains field @type with type URL.", +"type": "any" +}, +"type": "object" +}, +"type": "array" +}, +"message": { +"description": "A developer-facing error message, which should be in English. Any user-facing error message should be localized and sent in the google.rpc.Status.details field, or localized by the client.", +"type": "string" +} +}, +"type": "object" +}, +"IdentityServiceAuthMethod": { +"description": "Configuration of an auth method for a member/cluster. Only one authentication method (e.g., OIDC and LDAP) can be set per AuthMethod.", +"id": "IdentityServiceAuthMethod", +"properties": { +"azureadConfig": { +"$ref": "IdentityServiceAzureADConfig", +"description": "AzureAD specific Configuration." +}, +"googleConfig": { +"$ref": "IdentityServiceGoogleConfig", +"description": "GoogleConfig specific configuration" +}, +"ldapConfig": { +"$ref": "IdentityServiceLdapConfig", +"description": "LDAP specific configuration." +}, +"name": { +"description": "Identifier for auth config.", +"type": "string" +}, +"oidcConfig": { +"$ref": "IdentityServiceOidcConfig", +"description": "OIDC specific configuration." +}, +"proxy": { +"description": "Proxy server address to use for auth method.", +"type": "string" +}, +"samlConfig": { +"$ref": "IdentityServiceSamlConfig", +"description": "SAML specific configuration." +} +}, +"type": "object" +}, +"IdentityServiceAzureADConfig": { +"description": "Configuration for the AzureAD Auth flow.", +"id": "IdentityServiceAzureADConfig", +"properties": { +"clientId": { +"description": "ID for the registered client application that makes authentication requests to the Azure AD identity provider.", +"type": "string" +}, +"clientSecret": { +"description": "Input only. Unencrypted AzureAD client secret will be passed to the GKE Hub CLH.", +"type": "string" +}, +"encryptedClientSecret": { +"description": "Output only. Encrypted AzureAD client secret.", +"format": "byte", +"readOnly": true, +"type": "string" +}, +"groupFormat": { +"description": "Optional. Format of the AzureAD groups that the client wants for auth.", +"type": "string" +}, +"kubectlRedirectUri": { +"description": "The redirect URL that kubectl uses for authorization.", +"type": "string" +}, +"tenant": { +"description": "Kind of Azure AD account to be authenticated. Supported values are or for accounts belonging to a specific tenant.", +"type": "string" +}, +"userClaim": { +"description": "Optional. Claim in the AzureAD ID Token that holds the user details.", +"type": "string" +} +}, +"type": "object" +}, +"IdentityServiceDiagnosticInterface": { +"description": "Configuration options for the AIS diagnostic interface.", +"id": "IdentityServiceDiagnosticInterface", +"properties": { +"enabled": { +"description": "Determines whether to enable the diagnostic interface.", +"type": "boolean" +}, +"expirationTime": { +"description": "Determines the expiration time of the diagnostic interface enablement. When reached, requests to the interface would be automatically rejected.", +"format": "google-datetime", +"type": "string" +} +}, +"type": "object" +}, +"IdentityServiceGoogleConfig": { +"description": "Configuration for the Google Plugin Auth flow.", +"id": "IdentityServiceGoogleConfig", +"properties": { +"disable": { +"description": "Disable automatic configuration of Google Plugin on supported platforms.", +"type": "boolean" +} +}, +"type": "object" +}, +"IdentityServiceGroupConfig": { +"description": "Contains the properties for locating and authenticating groups in the directory.", +"id": "IdentityServiceGroupConfig", +"properties": { +"baseDn": { +"description": "Required. The location of the subtree in the LDAP directory to search for group entries.", +"type": "string" +}, +"filter": { +"description": "Optional. Optional filter to be used when searching for groups a user belongs to. This can be used to explicitly match only certain groups in order to reduce the amount of groups returned for each user. This defaults to \"(objectClass=Group)\".", +"type": "string" +}, +"idAttribute": { +"description": "Optional. The identifying name of each group a user belongs to. For example, if this is set to \"distinguishedName\" then RBACs and other group expectations should be written as full DNs. This defaults to \"distinguishedName\".", +"type": "string" +} +}, +"type": "object" +}, +"IdentityServiceIdentityServiceOptions": { +"description": "Holds non-protocol-related configuration options.", +"id": "IdentityServiceIdentityServiceOptions", +"properties": { +"diagnosticInterface": { +"$ref": "IdentityServiceDiagnosticInterface", +"description": "Configuration options for the AIS diagnostic interface." +}, +"sessionDuration": { +"description": "Determines the lifespan of STS tokens issued by Anthos Identity Service.", +"format": "google-duration", +"type": "string" +} +}, +"type": "object" +}, +"IdentityServiceLdapConfig": { +"description": "Configuration for the LDAP Auth flow.", +"id": "IdentityServiceLdapConfig", +"properties": { +"group": { +"$ref": "IdentityServiceGroupConfig", +"description": "Optional. Contains the properties for locating and authenticating groups in the directory." +}, +"server": { +"$ref": "IdentityServiceServerConfig", +"description": "Required. Server settings for the external LDAP server." +}, +"serviceAccount": { +"$ref": "IdentityServiceServiceAccountConfig", +"description": "Required. Contains the credentials of the service account which is authorized to perform the LDAP search in the directory. The credentials can be supplied by the combination of the DN and password or the client certificate." +}, +"user": { +"$ref": "IdentityServiceUserConfig", +"description": "Required. Defines where users exist in the LDAP directory." +} +}, +"type": "object" +}, +"IdentityServiceOidcConfig": { +"description": "Configuration for OIDC Auth flow.", +"id": "IdentityServiceOidcConfig", +"properties": { +"certificateAuthorityData": { +"description": "PEM-encoded CA for OIDC provider.", +"type": "string" +}, +"clientId": { +"description": "ID for OIDC client application.", +"type": "string" +}, +"clientSecret": { +"description": "Input only. Unencrypted OIDC client secret will be passed to the GKE Hub CLH.", +"type": "string" +}, +"deployCloudConsoleProxy": { +"description": "Flag to denote if reverse proxy is used to connect to auth provider. This flag should be set to true when provider is not reachable by Google Cloud Console.", +"type": "boolean" +}, +"enableAccessToken": { +"description": "Enable access token.", +"type": "boolean" +}, +"encryptedClientSecret": { +"description": "Output only. Encrypted OIDC Client secret", +"format": "byte", +"readOnly": true, +"type": "string" +}, +"extraParams": { +"description": "Comma-separated list of key-value pairs.", +"type": "string" +}, +"groupPrefix": { +"description": "Prefix to prepend to group name.", +"type": "string" +}, +"groupsClaim": { +"description": "Claim in OIDC ID token that holds group information.", +"type": "string" +}, +"issuerUri": { +"description": "URI for the OIDC provider. This should point to the level below .well-known/openid-configuration.", +"type": "string" +}, +"kubectlRedirectUri": { +"description": "Registered redirect uri to redirect users going through OAuth flow using kubectl plugin.", +"type": "string" +}, +"scopes": { +"description": "Comma-separated list of identifiers.", +"type": "string" +}, +"userClaim": { +"description": "Claim in OIDC ID token that holds username.", +"type": "string" +}, +"userPrefix": { +"description": "Prefix to prepend to user name.", +"type": "string" +} +}, +"type": "object" +}, +"IdentityServiceSamlConfig": { +"description": "Configuration for the SAML Auth flow.", +"id": "IdentityServiceSamlConfig", +"properties": { +"attributeMapping": { +"additionalProperties": { +"type": "string" +}, +"description": "Optional. The mapping of additional user attributes like nickname, birthday and address etc.. `key` is the name of this additional attribute. `value` is a string presenting as CEL(common expression language, go/cel) used for getting the value from the resources. Take nickname as an example, in this case, `key` is \"attribute.nickname\" and `value` is \"assertion.nickname\".", +"type": "object" +}, +"groupPrefix": { +"description": "Optional. Prefix to prepend to group name.", +"type": "string" +}, +"groupsAttribute": { +"description": "Optional. The SAML attribute to read groups from. This value is expected to be a string and will be passed along as-is (with the option of being prefixed by the `group_prefix`).", +"type": "string" +}, +"identityProviderCertificates": { +"description": "Required. The list of IdP certificates to validate the SAML response against.", +"items": { +"type": "string" +}, +"type": "array" +}, +"identityProviderId": { +"description": "Required. The entity ID of the SAML IdP.", +"type": "string" +}, +"identityProviderSsoUri": { +"description": "Required. The URI where the SAML IdP exposes the SSO service.", +"type": "string" +}, +"userAttribute": { +"description": "Optional. The SAML attribute to read username from. If unspecified, the username will be read from the NameID element of the assertion in SAML response. This value is expected to be a string and will be passed along as-is (with the option of being prefixed by the `user_prefix`).", +"type": "string" +}, +"userPrefix": { +"description": "Optional. Prefix to prepend to user name.", +"type": "string" +} +}, +"type": "object" +}, +"IdentityServiceServerConfig": { +"description": "Server settings for the external LDAP server.", +"id": "IdentityServiceServerConfig", +"properties": { +"certificateAuthorityData": { +"description": "Optional. Contains a Base64 encoded, PEM formatted certificate authority certificate for the LDAP server. This must be provided for the \"ldaps\" and \"startTLS\" connections.", +"format": "byte", +"type": "string" +}, +"connectionType": { +"description": "Optional. Defines the connection type to communicate with the LDAP server. If `starttls` or `ldaps` is specified, the certificate_authority_data should not be empty.", +"type": "string" +}, +"host": { +"description": "Required. Defines the hostname or IP of the LDAP server. Port is optional and will default to 389, if unspecified. For example, \"ldap.server.example\" or \"10.10.10.10:389\".", +"type": "string" +} +}, +"type": "object" +}, +"IdentityServiceServiceAccountConfig": { +"description": "Contains the credentials of the service account which is authorized to perform the LDAP search in the directory. The credentials can be supplied by the combination of the DN and password or the client certificate.", +"id": "IdentityServiceServiceAccountConfig", +"properties": { +"simpleBindCredentials": { +"$ref": "IdentityServiceSimpleBindCredentials", +"description": "Credentials for basic auth." +} +}, +"type": "object" +}, +"IdentityServiceSimpleBindCredentials": { +"description": "The structure holds the LDAP simple binding credential.", +"id": "IdentityServiceSimpleBindCredentials", +"properties": { +"dn": { +"description": "Required. The distinguished name(DN) of the service account object/user.", +"type": "string" +}, +"encryptedPassword": { +"description": "Output only. The encrypted password of the service account object/user.", +"format": "byte", +"readOnly": true, +"type": "string" +}, +"password": { +"description": "Required. Input only. The password of the service account object/user.", +"type": "string" +} +}, +"type": "object" +}, +"IdentityServiceSpec": { +"description": "**IdentityService**: Configuration for a single membership.", +"id": "IdentityServiceSpec", +"properties": { +"authMethods": { +"description": "A member may support multiple auth methods.", +"items": { +"$ref": "IdentityServiceAuthMethod" +}, +"type": "array" +}, +"identityServiceOptions": { +"$ref": "IdentityServiceIdentityServiceOptions", +"description": "Optional. non-protocol-related configuration options." +} +}, +"type": "object" +}, +"IdentityServiceState": { +"description": "**IdentityService**: State for a single membership, analyzed and reported by feature controller.", +"id": "IdentityServiceState", +"properties": { +"failureReason": { +"description": "The reason of the failure.", +"type": "string" +}, +"installedVersion": { +"description": "Installed AIS version. This is the AIS version installed on this member. The values makes sense iff state is OK.", +"type": "string" +}, +"memberConfig": { +"$ref": "IdentityServiceSpec", +"description": "Last reconciled membership configuration" +}, +"state": { +"description": "Deployment state on this member", +"enum": [ +"DEPLOYMENT_STATE_UNSPECIFIED", +"OK", +"ERROR" +], +"enumDescriptions": [ +"Unspecified state", +"deployment succeeds", +"Failure with error." +], +"type": "string" +} +}, +"type": "object" +}, +"IdentityServiceUserConfig": { +"description": "Defines where users exist in the LDAP directory.", +"id": "IdentityServiceUserConfig", +"properties": { +"baseDn": { +"description": "Required. The location of the subtree in the LDAP directory to search for user entries.", +"type": "string" +}, +"filter": { +"description": "Optional. Filter to apply when searching for the user. This can be used to further restrict the user accounts which are allowed to login. This defaults to \"(objectClass=User)\".", +"type": "string" +}, +"idAttribute": { +"description": "Optional. Determines which attribute to use as the user's identity after they are authenticated. This is distinct from the loginAttribute field to allow users to login with a username, but then have their actual identifier be an email address or full Distinguished Name (DN). For example, setting loginAttribute to \"sAMAccountName\" and identifierAttribute to \"userPrincipalName\" would allow a user to login as \"bsmith\", but actual RBAC policies for the user would be written as \"bsmith@example.com\". Using \"userPrincipalName\" is recommended since this will be unique for each user. This defaults to \"userPrincipalName\".", +"type": "string" +}, +"loginAttribute": { +"description": "Optional. The name of the attribute which matches against the input username. This is used to find the user in the LDAP database e.g. \"(=)\" and is combined with the optional filter field. This defaults to \"userPrincipalName\".", +"type": "string" +} +}, +"type": "object" +}, +"LifecycleState": { +"description": "LifecycleState describes the state of a MembershipFeature *resource* in the GkeHub API. See `FeatureState` for the \"running state\" of the MembershipFeature.", +"id": "LifecycleState", +"properties": { +"state": { +"description": "Output only. The current state of the Feature resource in the Hub API.", +"enum": [ +"STATE_UNSPECIFIED", +"ENABLING", +"ACTIVE", +"DISABLING", +"UPDATING", +"SERVICE_UPDATING" +], +"enumDescriptions": [ +"State is unknown or not set.", +"The MembershipFeature is being enabled, and the MembershipFeature resource is being created. Once complete, the corresponding MembershipFeature will be enabled in this Hub.", +"The MembershipFeature is enabled in this Hub, and the MembershipFeature resource is fully available.", +"The MembershipFeature is being disabled in this Hub, and the MembershipFeature resource is being deleted.", +"The MembershipFeature resource is being updated.", +"The MembershipFeature resource is being updated by the Hub Service." +], +"readOnly": true, +"type": "string" +} +}, +"type": "object" +}, +"ListLocationsResponse": { +"description": "The response message for Locations.ListLocations.", +"id": "ListLocationsResponse", +"properties": { +"locations": { +"description": "A list of locations that matches the specified filter in the request.", +"items": { +"$ref": "Location" +}, +"type": "array" +}, +"nextPageToken": { +"description": "The standard List next-page token.", +"type": "string" +} +}, +"type": "object" +}, +"ListMembershipFeaturesResponse": { +"description": "Response message for the `GkeHubFeature.ListMembershipFeatures` method.", +"id": "ListMembershipFeaturesResponse", +"properties": { +"membershipFeatures": { +"description": "The list of matching MembershipFeatures.", +"items": { +"$ref": "MembershipFeature" +}, +"type": "array" +}, +"nextPageToken": { +"description": "A token to request the next page of resources from the `ListMembershipFeatures` method. The value of an empty string means that there are no more resources to return.", +"type": "string" +}, +"unreachable": { +"description": "List of locations that could not be reached while fetching this list.", +"items": { +"type": "string" +}, +"type": "array" +} +}, +"type": "object" +}, +"ListOperationsResponse": { +"description": "The response message for Operations.ListOperations.", +"id": "ListOperationsResponse", +"properties": { +"nextPageToken": { +"description": "The standard List next-page token.", +"type": "string" +}, +"operations": { +"description": "A list of operations that matches the specified filter in the request.", +"items": { +"$ref": "Operation" +}, +"type": "array" +} +}, +"type": "object" +}, +"Location": { +"description": "A resource that represents a Google Cloud location.", +"id": "Location", +"properties": { +"displayName": { +"description": "The friendly name for this location, typically a nearby city name. For example, \"Tokyo\".", +"type": "string" +}, +"labels": { +"additionalProperties": { +"type": "string" +}, +"description": "Cross-service attributes for the location. For example {\"cloud.googleapis.com/region\": \"us-east1\"}", +"type": "object" +}, +"locationId": { +"description": "The canonical id for this location. For example: `\"us-east1\"`.", +"type": "string" +}, +"metadata": { +"additionalProperties": { +"description": "Properties of the object. Contains field @type with type URL.", +"type": "any" +}, +"description": "Service-specific metadata. For example the available capacity at the given location.", +"type": "object" +}, +"name": { +"description": "Resource name for the location, which may vary between implementations. For example: `\"projects/example-project/locations/us-east1\"`", +"type": "string" +} +}, +"type": "object" +}, +"MembershipFeature": { +"description": "MembershipFeature represents the settings and status of a Fleet Feature enabled on a single Fleet Membership.", +"id": "MembershipFeature", +"properties": { +"createTime": { +"description": "Output only. When the MembershipFeature resource was created.", +"format": "google-datetime", +"readOnly": true, +"type": "string" +}, +"deleteTime": { +"description": "Output only. When the MembershipFeature resource was deleted.", +"format": "google-datetime", +"readOnly": true, +"type": "string" +}, +"labels": { +"additionalProperties": { +"type": "string" +}, +"description": "GCP labels for this MembershipFeature.", +"type": "object" +}, +"lifecycleState": { +"$ref": "LifecycleState", +"description": "Output only. Lifecycle information of the resource itself.", +"readOnly": true +}, +"name": { +"description": "Output only. The resource name of the membershipFeature, in the format: `projects/{project}/locations/{location}/memberships/{membership}/features/{feature}`. Note that `membershipFeatures` is shortened to `features` in the resource name. (see http://go/aip/122#collection-identifiers)", +"readOnly": true, +"type": "string" +}, +"spec": { +"$ref": "FeatureSpec", +"description": "Optional. Spec of this membershipFeature." +}, +"state": { +"$ref": "FeatureState", +"description": "Output only. State of the this membershipFeature.", +"readOnly": true +}, +"updateTime": { +"description": "Output only. When the MembershipFeature resource was last updated.", +"format": "google-datetime", +"readOnly": true, +"type": "string" +} +}, +"type": "object" +}, +"MeteringState": { +"description": "**Metering**: State for a single membership, analyzed and reported by feature controller.", +"id": "MeteringState", +"properties": { +"lastMeasurementTime": { +"description": "The time stamp of the most recent measurement of the number of vCPUs in the cluster.", +"format": "google-datetime", +"type": "string" +}, +"preciseLastMeasuredClusterVcpuCapacity": { +"description": "The vCPUs capacity in the cluster according to the most recent measurement (1/1000 precision).", +"format": "float", +"type": "number" +} +}, +"type": "object" +}, +"Operation": { +"description": "This resource represents a long-running operation that is the result of a network API call.", +"id": "Operation", +"properties": { +"done": { +"description": "If the value is `false`, it means the operation is still in progress. If `true`, the operation is completed, and either `error` or `response` is available.", +"type": "boolean" +}, +"error": { +"$ref": "GoogleRpcStatus", +"description": "The error result of the operation in case of failure or cancellation." +}, +"metadata": { +"additionalProperties": { +"description": "Properties of the object. Contains field @type with type URL.", +"type": "any" +}, +"description": "Service-specific metadata associated with the operation. It typically contains progress information and common metadata such as create time. Some services might not provide such metadata. Any method that returns a long-running operation should document the metadata type, if any.", +"type": "object" +}, +"name": { +"description": "The server-assigned name, which is only unique within the same service that originally returns it. If you use the default HTTP mapping, the `name` should be a resource name ending with `operations/{unique_id}`.", +"type": "string" +}, +"response": { +"additionalProperties": { +"description": "Properties of the object. Contains field @type with type URL.", +"type": "any" +}, +"description": "The normal, successful response of the operation. If the original method returns no data on success, such as `Delete`, the response is `google.protobuf.Empty`. If the original method is standard `Get`/`Create`/`Update`, the response should be the resource. For other methods, the response should have the type `XxxResponse`, where `Xxx` is the original method name. For example, if the original method name is `TakeSnapshot()`, the inferred response type is `TakeSnapshotResponse`.", +"type": "object" +} +}, +"type": "object" +}, +"OperationMetadata": { +"description": "Metadata of the long-running operation.", +"id": "OperationMetadata", +"properties": { +"apiVersion": { +"description": "Output only. API version used to start the operation.", +"readOnly": true, +"type": "string" +}, +"cancelRequested": { +"description": "Output only. Identifies whether the user has requested cancellation of the operation. Operations that have successfully been cancelled have Operation.error value with a google.rpc.Status.code of 1, corresponding to `Code.CANCELLED`.", +"readOnly": true, +"type": "boolean" +}, +"createTime": { +"description": "Output only. The time the operation was created.", +"format": "google-datetime", +"readOnly": true, +"type": "string" +}, +"endTime": { +"description": "Output only. The time the operation finished running.", +"format": "google-datetime", +"readOnly": true, +"type": "string" +}, +"statusDetail": { +"description": "Output only. Human-readable status of the operation, if any.", +"readOnly": true, +"type": "string" +}, +"target": { +"description": "Output only. Server-defined resource path for the target of the operation.", +"readOnly": true, +"type": "string" +}, +"verb": { +"description": "Output only. Name of the verb executed by the operation.", +"readOnly": true, +"type": "string" +} +}, +"type": "object" +}, +"Origin": { +"description": "Origin defines where this FeatureSpec originated from.", +"id": "Origin", +"properties": { +"type": { +"description": "Type specifies which type of origin is set.", +"enum": [ +"TYPE_UNSPECIFIED", +"FLEET", +"FLEET_OUT_OF_SYNC", +"USER" +], +"enumDescriptions": [ +"Type is unknown or not set.", +"Per-Feature spec was inherited from the fleet-level default.", +"Per-Feature spec was inherited from the fleet-level default but is now out of sync with the current default.", +"Per-Feature spec was inherited from a user specification." +], +"type": "string" +} +}, +"type": "object" +}, +"PolicyControllerBundleInstallSpec": { +"description": "BundleInstallSpec is the specification configuration for a single managed bundle.", +"id": "PolicyControllerBundleInstallSpec", +"properties": { +"exemptedNamespaces": { +"description": "the set of namespaces to be exempted from the bundle", +"items": { +"type": "string" +}, +"type": "array" +} +}, +"type": "object" +}, +"PolicyControllerHubConfig": { +"description": "Configuration for Policy Controller", +"id": "PolicyControllerHubConfig", +"properties": { +"auditIntervalSeconds": { +"description": "Sets the interval for Policy Controller Audit Scans (in seconds). When set to 0, this disables audit functionality altogether.", +"format": "int64", +"type": "string" +}, +"constraintViolationLimit": { +"description": "The maximum number of audit violations to be stored in a constraint. If not set, the internal default (currently 20) will be used.", +"format": "int64", +"type": "string" +}, +"deploymentConfigs": { +"additionalProperties": { +"$ref": "PolicyControllerPolicyControllerDeploymentConfig" +}, +"description": "Map of deployment configs to deployments (\u201cadmission\u201d, \u201caudit\u201d, \u201cmutation\u201d).", +"type": "object" +}, +"exemptableNamespaces": { +"description": "The set of namespaces that are excluded from Policy Controller checks. Namespaces do not need to currently exist on the cluster.", +"items": { +"type": "string" +}, +"type": "array" +}, +"installSpec": { +"description": "The install_spec represents the intended state specified by the latest request that mutated install_spec in the feature spec, not the lifecycle state of the feature observed by the Hub feature controller that is reported in the feature state.", +"enum": [ +"INSTALL_SPEC_UNSPECIFIED", +"INSTALL_SPEC_NOT_INSTALLED", +"INSTALL_SPEC_ENABLED", +"INSTALL_SPEC_SUSPENDED", +"INSTALL_SPEC_DETACHED" +], +"enumDescriptions": [ +"Spec is unknown.", +"Request to uninstall Policy Controller.", +"Request to install and enable Policy Controller.", +"Request to suspend Policy Controller i.e. its webhooks. If Policy Controller is not installed, it will be installed but suspended.", +"Request to stop all reconciliation actions by PoCo Hub controller. This is a breakglass mechanism to stop PoCo Hub from affecting cluster resources." +], +"type": "string" +}, +"logDeniesEnabled": { +"description": "Logs all denies and dry run failures.", +"type": "boolean" +}, +"monitoring": { +"$ref": "PolicyControllerMonitoringConfig", +"description": "Monitoring specifies the configuration of monitoring." +}, +"mutationEnabled": { +"description": "Enables the ability to mutate resources using Policy Controller.", +"type": "boolean" +}, +"policyContent": { +"$ref": "PolicyControllerPolicyContentSpec", +"description": "Specifies the desired policy content on the cluster" +}, +"referentialRulesEnabled": { +"description": "Enables the ability to use Constraint Templates that reference to objects other than the object currently being evaluated.", +"type": "boolean" +} +}, +"type": "object" +}, +"PolicyControllerMonitoringConfig": { +"description": "MonitoringConfig specifies the backends Policy Controller should export metrics to. For example, to specify metrics should be exported to Cloud Monitoring and Prometheus, specify backends: [\"cloudmonitoring\", \"prometheus\"]", +"id": "PolicyControllerMonitoringConfig", +"properties": { +"backends": { +"description": "Specifies the list of backends Policy Controller will export to. An empty list would effectively disable metrics export.", +"items": { +"enum": [ +"MONITORING_BACKEND_UNSPECIFIED", +"PROMETHEUS", +"CLOUD_MONITORING" +], +"enumDescriptions": [ +"Backend cannot be determined", +"Prometheus backend for monitoring", +"Stackdriver/Cloud Monitoring backend for monitoring" +], +"type": "string" +}, +"type": "array" +} +}, +"type": "object" +}, +"PolicyControllerOnClusterState": { +"description": "OnClusterState represents the state of a sub-component of Policy Controller.", +"id": "PolicyControllerOnClusterState", +"properties": { +"details": { +"description": "Surface potential errors or information logs.", +"type": "string" +}, +"state": { +"description": "The lifecycle state of this component.", +"enum": [ +"LIFECYCLE_STATE_UNSPECIFIED", +"NOT_INSTALLED", +"INSTALLING", +"ACTIVE", +"UPDATING", +"DECOMMISSIONING", +"CLUSTER_ERROR", +"HUB_ERROR", +"SUSPENDED", +"DETACHED" +], +"enumDescriptions": [ +"The lifecycle state is unspecified.", +"The PC does not exist on the given cluster, and no k8s resources of any type that are associated with the PC should exist there. The cluster does not possess a membership with the PCH.", +"The PCH possesses a Membership, however the PC is not fully installed on the cluster. In this state the hub can be expected to be taking actions to install the PC on the cluster.", +"The PC is fully installed on the cluster and in an operational mode. In this state PCH will be reconciling state with the PC, and the PC will be performing it's operational tasks per that software. Entering a READY state requires that the hub has confirmed the PC is installed and its pods are operational with the version of the PC the PCH expects.", +"The PC is fully installed, but in the process of changing the configuration (including changing the version of PC either up and down, or modifying the manifests of PC) of the resources running on the cluster. The PCH has a Membership, is aware of the version the cluster should be running in, but has not confirmed for itself that the PC is running with that version.", +"The PC may have resources on the cluster, but the PCH wishes to remove the Membership. The Membership still exists.", +"The PC is not operational, and the PCH is unable to act to make it operational. Entering a CLUSTER_ERROR state happens automatically when the PCH determines that a PC installed on the cluster is non-operative or that the cluster does not meet requirements set for the PCH to administer the cluster but has nevertheless been given an instruction to do so (such as \u2018install').", +"In this state, the PC may still be operational, and only the PCH is unable to act. The hub should not issue instructions to change the PC state, or otherwise interfere with the on-cluster resources. Entering a HUB_ERROR state happens automatically when the PCH determines the hub is in an unhealthy state and it wishes to \u2018take hands off' to avoid corrupting the PC or other data.", +"Policy Controller (PC) is installed but suspended. This means that the policies are not enforced, but violations are still recorded (through audit).", +"PoCo Hub is not taking any action to reconcile cluster objects. Changes to those objects will not be overwritten by PoCo Hub." +], +"type": "string" +} +}, +"type": "object" +}, +"PolicyControllerPolicyContentSpec": { +"description": "PolicyContentSpec defines the user's desired content configuration on the cluster.", +"id": "PolicyControllerPolicyContentSpec", +"properties": { +"bundles": { +"additionalProperties": { +"$ref": "PolicyControllerBundleInstallSpec" +}, +"description": "map of bundle name to BundleInstallSpec. The bundle name maps to the `bundleName` key in the `policycontroller.gke.io/constraintData` annotation on a constraint.", +"type": "object" +}, +"templateLibrary": { +"$ref": "PolicyControllerTemplateLibraryConfig", +"description": "Configures the installation of the Template Library." +} +}, +"type": "object" +}, +"PolicyControllerPolicyContentState": { +"description": "The state of the policy controller policy content", +"id": "PolicyControllerPolicyContentState", +"properties": { +"bundleStates": { +"additionalProperties": { +"$ref": "PolicyControllerOnClusterState" +}, +"description": "The state of the any bundles included in the chosen version of the manifest", +"type": "object" +}, +"referentialSyncConfigState": { +"$ref": "PolicyControllerOnClusterState", +"description": "The state of the referential data sync configuration. This could represent the state of either the syncSet object(s) or the config object, depending on the version of PoCo configured by the user." +}, +"templateLibraryState": { +"$ref": "PolicyControllerOnClusterState", +"description": "The state of the template library" +} +}, +"type": "object" +}, +"PolicyControllerPolicyControllerDeploymentConfig": { +"description": "Deployment-specific configuration.", +"id": "PolicyControllerPolicyControllerDeploymentConfig", +"properties": { +"containerResources": { +"$ref": "PolicyControllerResourceRequirements", +"description": "Container resource requirements." +}, +"podAffinity": { +"description": "Pod affinity configuration.", +"enum": [ +"AFFINITY_UNSPECIFIED", +"NO_AFFINITY", +"ANTI_AFFINITY" +], +"enumDescriptions": [ +"No affinity configuration has been specified.", +"Affinity configurations will be removed from the deployment.", +"Anti-affinity configuration will be applied to this deployment. Default for admissions deployment." +], +"type": "string" +}, +"podAntiAffinity": { +"deprecated": true, +"description": "Pod anti-affinity enablement. Deprecated: use `pod_affinity` instead.", +"type": "boolean" +}, +"podTolerations": { +"description": "Pod tolerations of node taints.", +"items": { +"$ref": "PolicyControllerToleration" +}, +"type": "array" +}, +"replicaCount": { +"description": "Pod replica count.", +"format": "int64", +"type": "string" +} +}, +"type": "object" +}, +"PolicyControllerResourceList": { +"description": "ResourceList contains container resource requirements.", +"id": "PolicyControllerResourceList", +"properties": { +"cpu": { +"description": "CPU requirement expressed in Kubernetes resource units.", +"type": "string" +}, +"memory": { +"description": "Memory requirement expressed in Kubernetes resource units.", +"type": "string" +} +}, +"type": "object" +}, +"PolicyControllerResourceRequirements": { +"description": "ResourceRequirements describes the compute resource requirements.", +"id": "PolicyControllerResourceRequirements", +"properties": { +"limits": { +"$ref": "PolicyControllerResourceList", +"description": "Limits describes the maximum amount of compute resources allowed for use by the running container." +}, +"requests": { +"$ref": "PolicyControllerResourceList", +"description": "Requests describes the amount of compute resources reserved for the container by the kube-scheduler." +} +}, +"type": "object" +}, +"PolicyControllerSpec": { +"description": "**Policy Controller**: Configuration for a single cluster. Intended to parallel the PolicyController CR.", +"id": "PolicyControllerSpec", +"properties": { +"policyControllerHubConfig": { +"$ref": "PolicyControllerHubConfig", +"description": "Policy Controller configuration for the cluster." +}, +"version": { +"description": "Version of Policy Controller installed.", +"type": "string" +} +}, +"type": "object" +}, +"PolicyControllerState": { +"description": "**Policy Controller**: State for a single cluster.", +"id": "PolicyControllerState", +"properties": { +"componentStates": { +"additionalProperties": { +"$ref": "PolicyControllerOnClusterState" +}, +"description": "Currently these include (also serving as map keys): 1. \"admission\" 2. \"audit\" 3. \"mutation\"", +"type": "object" +}, +"policyContentState": { +"$ref": "PolicyControllerPolicyContentState", +"description": "The overall content state observed by the Hub Feature controller." +}, +"state": { +"description": "The overall Policy Controller lifecycle state observed by the Hub Feature controller.", +"enum": [ +"LIFECYCLE_STATE_UNSPECIFIED", +"NOT_INSTALLED", +"INSTALLING", +"ACTIVE", +"UPDATING", +"DECOMMISSIONING", +"CLUSTER_ERROR", +"HUB_ERROR", +"SUSPENDED", +"DETACHED" +], +"enumDescriptions": [ +"The lifecycle state is unspecified.", +"The PC does not exist on the given cluster, and no k8s resources of any type that are associated with the PC should exist there. The cluster does not possess a membership with the PCH.", +"The PCH possesses a Membership, however the PC is not fully installed on the cluster. In this state the hub can be expected to be taking actions to install the PC on the cluster.", +"The PC is fully installed on the cluster and in an operational mode. In this state PCH will be reconciling state with the PC, and the PC will be performing it's operational tasks per that software. Entering a READY state requires that the hub has confirmed the PC is installed and its pods are operational with the version of the PC the PCH expects.", +"The PC is fully installed, but in the process of changing the configuration (including changing the version of PC either up and down, or modifying the manifests of PC) of the resources running on the cluster. The PCH has a Membership, is aware of the version the cluster should be running in, but has not confirmed for itself that the PC is running with that version.", +"The PC may have resources on the cluster, but the PCH wishes to remove the Membership. The Membership still exists.", +"The PC is not operational, and the PCH is unable to act to make it operational. Entering a CLUSTER_ERROR state happens automatically when the PCH determines that a PC installed on the cluster is non-operative or that the cluster does not meet requirements set for the PCH to administer the cluster but has nevertheless been given an instruction to do so (such as \u2018install').", +"In this state, the PC may still be operational, and only the PCH is unable to act. The hub should not issue instructions to change the PC state, or otherwise interfere with the on-cluster resources. Entering a HUB_ERROR state happens automatically when the PCH determines the hub is in an unhealthy state and it wishes to \u2018take hands off' to avoid corrupting the PC or other data.", +"Policy Controller (PC) is installed but suspended. This means that the policies are not enforced, but violations are still recorded (through audit).", +"PoCo Hub is not taking any action to reconcile cluster objects. Changes to those objects will not be overwritten by PoCo Hub." +], +"type": "string" +} +}, +"type": "object" +}, +"PolicyControllerTemplateLibraryConfig": { +"description": "The config specifying which default library templates to install.", +"id": "PolicyControllerTemplateLibraryConfig", +"properties": { +"installation": { +"description": "Configures the manner in which the template library is installed on the cluster.", +"enum": [ +"INSTALLATION_UNSPECIFIED", +"NOT_INSTALLED", +"ALL" +], +"enumDescriptions": [ +"No installation strategy has been specified.", +"Do not install the template library.", +"Install the entire template library." +], +"type": "string" +} +}, +"type": "object" +}, +"PolicyControllerToleration": { +"description": "Toleration of a node taint.", +"id": "PolicyControllerToleration", +"properties": { +"effect": { +"description": "Matches a taint effect.", +"type": "string" +}, +"key": { +"description": "Matches a taint key (not necessarily unique).", +"type": "string" +}, +"operator": { +"description": "Matches a taint operator.", +"type": "string" +}, +"value": { +"description": "Matches a taint value.", +"type": "string" +} +}, +"type": "object" +}, +"ServiceMeshAnalysisMessage": { +"description": "AnalysisMessage is a single message produced by an analyzer, and it used to communicate to the end user about the state of their Service Mesh configuration.", +"id": "ServiceMeshAnalysisMessage", +"properties": { +"args": { +"additionalProperties": { +"description": "Properties of the object.", +"type": "any" +}, +"description": "A UI can combine these args with a template (based on message_base.type) to produce an internationalized message.", +"type": "object" +}, +"description": { +"description": "A human readable description of what the error means. It is suitable for non-internationalize display purposes.", +"type": "string" +}, +"messageBase": { +"$ref": "ServiceMeshAnalysisMessageBase", +"description": "Details common to all types of Istio and ServiceMesh analysis messages." +}, +"resourcePaths": { +"description": "A list of strings specifying the resource identifiers that were the cause of message generation. A \"path\" here may be: * MEMBERSHIP_ID if the cause is a specific member cluster * MEMBERSHIP_ID/(NAMESPACE\\/)?RESOURCETYPE/NAME if the cause is a resource in a cluster", +"items": { +"type": "string" +}, +"type": "array" +} +}, +"type": "object" +}, +"ServiceMeshAnalysisMessageBase": { +"description": "AnalysisMessageBase describes some common information that is needed for all messages.", +"id": "ServiceMeshAnalysisMessageBase", +"properties": { +"documentationUrl": { +"description": "A url pointing to the Service Mesh or Istio documentation for this specific error type.", +"type": "string" +}, +"level": { +"description": "Represents how severe a message is.", +"enum": [ +"LEVEL_UNSPECIFIED", +"ERROR", +"WARNING", +"INFO" +], +"enumDescriptions": [ +"Illegal. Same istio.analysis.v1alpha1.AnalysisMessageBase.Level.UNKNOWN.", +"ERROR represents a misconfiguration that must be fixed.", +"WARNING represents a misconfiguration that should be fixed.", +"INFO represents an informational finding." +], +"type": "string" +}, +"type": { +"$ref": "ServiceMeshType", +"description": "Represents the specific type of a message." +} +}, +"type": "object" +}, +"ServiceMeshCondition": { +"description": "Condition being reported.", +"id": "ServiceMeshCondition", +"properties": { +"code": { +"description": "Unique identifier of the condition which describes the condition recognizable to the user.", +"enum": [ +"CODE_UNSPECIFIED", +"MESH_IAM_PERMISSION_DENIED", +"MESH_IAM_CROSS_PROJECT_PERMISSION_DENIED", +"CNI_CONFIG_UNSUPPORTED", +"GKE_SANDBOX_UNSUPPORTED", +"NODEPOOL_WORKLOAD_IDENTITY_FEDERATION_REQUIRED", +"CNI_INSTALLATION_FAILED", +"CNI_POD_UNSCHEDULABLE", +"CLUSTER_HAS_ZERO_NODES", +"UNSUPPORTED_MULTIPLE_CONTROL_PLANES", +"VPCSC_GA_SUPPORTED", +"DEPRECATED_SPEC_CONTROL_PLANE_MANAGEMENT", +"DEPRECATED_SPEC_CONTROL_PLANE_MANAGEMENT_SAFE", +"CONFIG_APPLY_INTERNAL_ERROR", +"CONFIG_VALIDATION_ERROR", +"CONFIG_VALIDATION_WARNING", +"QUOTA_EXCEEDED_BACKEND_SERVICES", +"QUOTA_EXCEEDED_HEALTH_CHECKS", +"QUOTA_EXCEEDED_HTTP_ROUTES", +"QUOTA_EXCEEDED_TCP_ROUTES", +"QUOTA_EXCEEDED_TLS_ROUTES", +"QUOTA_EXCEEDED_TRAFFIC_POLICIES", +"QUOTA_EXCEEDED_ENDPOINT_POLICIES", +"QUOTA_EXCEEDED_GATEWAYS", +"QUOTA_EXCEEDED_MESHES", +"QUOTA_EXCEEDED_SERVER_TLS_POLICIES", +"QUOTA_EXCEEDED_CLIENT_TLS_POLICIES", +"QUOTA_EXCEEDED_SERVICE_LB_POLICIES", +"QUOTA_EXCEEDED_HTTP_FILTERS", +"QUOTA_EXCEEDED_TCP_FILTERS", +"QUOTA_EXCEEDED_NETWORK_ENDPOINT_GROUPS", +"MODERNIZATION_SCHEDULED", +"MODERNIZATION_IN_PROGRESS", +"MODERNIZATION_COMPLETED", +"MODERNIZATION_ABORTED" +], +"enumDescriptions": [ +"Default Unspecified code", +"Mesh IAM permission denied error code", +"Permission denied error code for cross-project", +"CNI config unsupported error code", +"GKE sandbox unsupported error code", +"Nodepool workload identity federation required error code", +"CNI installation failed error code", +"CNI pod unschedulable error code", +"Cluster has zero node code", +"Multiple control planes unsupported error code", +"VPC-SC GA is supported for this control plane.", +"User is using deprecated ControlPlaneManagement and they have not yet set Management.", +"User is using deprecated ControlPlaneManagement and they have already set Management.", +"Configuration (Istio/k8s resources) failed to apply due to internal error.", +"Configuration failed to be applied due to being invalid.", +"Encountered configuration(s) with possible unintended behavior or invalid configuration. These configs may not have been applied.", +"BackendService quota exceeded error code.", +"HealthCheck quota exceeded error code.", +"HTTPRoute quota exceeded error code.", +"TCPRoute quota exceeded error code.", +"TLS routes quota exceeded error code.", +"TrafficPolicy quota exceeded error code.", +"EndpointPolicy quota exceeded error code.", +"Gateway quota exceeded error code.", +"Mesh quota exceeded error code.", +"ServerTLSPolicy quota exceeded error code.", +"ClientTLSPolicy quota exceeded error code.", +"ServiceLBPolicy quota exceeded error code.", +"HTTPFilter quota exceeded error code.", +"TCPFilter quota exceeded error code.", +"NetworkEndpointGroup quota exceeded error code.", +"Modernization is scheduled for a cluster.", +"Modernization is in progress for a cluster.", +"Modernization is completed for a cluster.", +"Modernization is aborted for a cluster." +], +"type": "string" +}, +"details": { +"description": "A short summary about the issue.", +"type": "string" +}, +"documentationLink": { +"description": "Links contains actionable information.", +"type": "string" +}, +"severity": { +"description": "Severity level of the condition.", +"enum": [ +"SEVERITY_UNSPECIFIED", +"ERROR", +"WARNING", +"INFO" +], +"enumDescriptions": [ +"Unspecified severity", +"Indicates an issue that prevents the mesh from operating correctly", +"Indicates a setting is likely wrong, but the mesh is still able to operate", +"An informational message, not requiring any action" +], +"type": "string" +} +}, +"type": "object" +}, +"ServiceMeshControlPlaneManagement": { +"description": "Status of control plane management.", +"id": "ServiceMeshControlPlaneManagement", +"properties": { +"details": { +"description": "Explanation of state.", +"items": { +"$ref": "ServiceMeshStatusDetails" +}, +"type": "array" +}, +"implementation": { +"description": "Output only. Implementation of managed control plane.", +"enum": [ +"IMPLEMENTATION_UNSPECIFIED", +"ISTIOD", +"TRAFFIC_DIRECTOR", +"UPDATING" +], +"enumDescriptions": [ +"Unspecified", +"A Google build of istiod is used for the managed control plane.", +"Traffic director is used for the managed control plane.", +"The control plane implementation is being updated." +], +"readOnly": true, +"type": "string" +}, +"state": { +"description": "LifecycleState of control plane management.", +"enum": [ +"LIFECYCLE_STATE_UNSPECIFIED", +"DISABLED", +"FAILED_PRECONDITION", +"PROVISIONING", +"ACTIVE", +"STALLED", +"NEEDS_ATTENTION", +"DEGRADED" +], +"enumDescriptions": [ +"Unspecified", +"DISABLED means that the component is not enabled.", +"FAILED_PRECONDITION means that provisioning cannot proceed because of some characteristic of the member cluster.", +"PROVISIONING means that provisioning is in progress.", +"ACTIVE means that the component is ready for use.", +"STALLED means that provisioning could not be done.", +"NEEDS_ATTENTION means that the component is ready, but some user intervention is required. (For example that the user should migrate workloads to a new control plane revision.)", +"DEGRADED means that the component is ready, but operating in a degraded state." +], +"type": "string" +} +}, +"type": "object" +}, +"ServiceMeshDataPlaneManagement": { +"description": "Status of data plane management. Only reported per-member.", +"id": "ServiceMeshDataPlaneManagement", +"properties": { +"details": { +"description": "Explanation of the status.", +"items": { +"$ref": "ServiceMeshStatusDetails" +}, +"type": "array" +}, +"state": { +"description": "Lifecycle status of data plane management.", +"enum": [ +"LIFECYCLE_STATE_UNSPECIFIED", +"DISABLED", +"FAILED_PRECONDITION", +"PROVISIONING", +"ACTIVE", +"STALLED", +"NEEDS_ATTENTION", +"DEGRADED" +], +"enumDescriptions": [ +"Unspecified", +"DISABLED means that the component is not enabled.", +"FAILED_PRECONDITION means that provisioning cannot proceed because of some characteristic of the member cluster.", +"PROVISIONING means that provisioning is in progress.", +"ACTIVE means that the component is ready for use.", +"STALLED means that provisioning could not be done.", +"NEEDS_ATTENTION means that the component is ready, but some user intervention is required. (For example that the user should migrate workloads to a new control plane revision.)", +"DEGRADED means that the component is ready, but operating in a degraded state." +], +"type": "string" +} +}, +"type": "object" +}, +"ServiceMeshSpec": { +"description": "**Service Mesh**: Spec for a single Membership for the servicemesh feature", +"id": "ServiceMeshSpec", +"properties": { +"configApi": { +"description": "Optional. Specifies the API that will be used for configuring the mesh workloads.", +"enum": [ +"CONFIG_API_UNSPECIFIED", +"CONFIG_API_ISTIO", +"CONFIG_API_GATEWAY" +], +"enumDescriptions": [ +"Unspecified", +"Use the Istio API for configuration.", +"Use the K8s Gateway API for configuration." +], +"type": "string" +}, +"controlPlane": { +"deprecated": true, +"description": "Deprecated: use `management` instead Enables automatic control plane management.", +"enum": [ +"CONTROL_PLANE_MANAGEMENT_UNSPECIFIED", +"AUTOMATIC", +"MANUAL" +], +"enumDescriptions": [ +"Unspecified", +"Google should provision a control plane revision and make it available in the cluster. Google will enroll this revision in a release channel and keep it up to date. The control plane revision may be a managed service, or a managed install.", +"User will manually configure the control plane (e.g. via CLI, or via the ControlPlaneRevision KRM API)" +], +"type": "string" +}, +"defaultChannel": { +"deprecated": true, +"description": "Determines which release channel to use for default injection and service mesh APIs.", +"enum": [ +"CHANNEL_UNSPECIFIED", +"RAPID", +"REGULAR", +"STABLE" +], +"enumDescriptions": [ +"Unspecified", +"RAPID channel is offered on an early access basis for customers who want to test new releases.", +"REGULAR channel is intended for production users who want to take advantage of new features.", +"STABLE channel includes versions that are known to be stable and reliable in production." +], +"type": "string" +}, +"management": { +"description": "Optional. Enables automatic Service Mesh management.", +"enum": [ +"MANAGEMENT_UNSPECIFIED", +"MANAGEMENT_AUTOMATIC", +"MANAGEMENT_MANUAL" +], +"enumDescriptions": [ +"Unspecified", +"Google should manage my Service Mesh for the cluster.", +"User will manually configure their service mesh components." +], +"type": "string" +} +}, +"type": "object" +}, +"ServiceMeshState": { +"description": "**Service Mesh**: State for a single Membership, as analyzed by the Service Mesh Hub Controller.", +"id": "ServiceMeshState", +"properties": { +"analysisMessages": { +"description": "Output only. Results of running Service Mesh analyzers.", +"items": { +"$ref": "ServiceMeshAnalysisMessage" +}, +"readOnly": true, +"type": "array" +}, +"conditions": { +"description": "Output only. List of conditions reported for this membership.", +"items": { +"$ref": "ServiceMeshCondition" +}, +"readOnly": true, +"type": "array" +}, +"configApiVersion": { +"description": "The API version (i.e. Istio CRD version) for configuring service mesh in this cluster. This version is influenced by the `default_channel` field.", +"type": "string" +}, +"controlPlaneManagement": { +"$ref": "ServiceMeshControlPlaneManagement", +"description": "Output only. Status of control plane management", +"readOnly": true +}, +"dataPlaneManagement": { +"$ref": "ServiceMeshDataPlaneManagement", +"description": "Output only. Status of data plane management.", +"readOnly": true +} +}, +"type": "object" +}, +"ServiceMeshStatusDetails": { +"description": "Structured and human-readable details for a status.", +"id": "ServiceMeshStatusDetails", +"properties": { +"code": { +"description": "A machine-readable code that further describes a broad status.", +"type": "string" +}, +"details": { +"description": "Human-readable explanation of code.", +"type": "string" +} +}, +"type": "object" +}, +"ServiceMeshType": { +"description": "A unique identifier for the type of message. Display_name is intended to be human-readable, code is intended to be machine readable. There should be a one-to-one mapping between display_name and code. (i.e. do not re-use display_names or codes between message types.) See istio.analysis.v1alpha1.AnalysisMessageBase.Type", +"id": "ServiceMeshType", +"properties": { +"code": { +"description": "A 7 character code matching `^IST[0-9]{4}$` or `^ASM[0-9]{4}$`, intended to uniquely identify the message type. (e.g. \"IST0001\" is mapped to the \"InternalError\" message type.)", +"type": "string" +}, +"displayName": { +"description": "A human-readable name for the message type. e.g. \"InternalError\", \"PodMissingProxy\". This should be the same for all messages of the same type. (This corresponds to the `name` field in open-source Istio.)", +"type": "string" +} +}, +"type": "object" +}, +"State": { +"description": "High-level state of a MembershipFeature.", +"id": "State", +"properties": { +"code": { +"description": "The high-level, machine-readable status of this MembershipFeature.", +"enum": [ +"CODE_UNSPECIFIED", +"OK", +"WARNING", +"ERROR" +], +"enumDescriptions": [ +"Unknown or not set.", +"The MembershipFeature is operating normally.", +"The MembershipFeature has encountered an issue, and is operating in a degraded state. The MembershipFeature may need intervention to return to normal operation. See the description and any associated MembershipFeature-specific details for more information.", +"The MembershipFeature is not operating or is in a severely degraded state. The MembershipFeature may need intervention to return to normal operation. See the description and any associated MembershipFeature-specific details for more information." +], +"type": "string" +}, +"description": { +"description": "A human-readable description of the current status.", +"type": "string" +}, +"updateTime": { +"description": "The time this status and any related Feature-specific details were updated.", +"format": "google-datetime", +"type": "string" +} +}, +"type": "object" +}, +"WorkloadCertificateSpec": { +"description": "**WorkloadCertificate**: The membership-specific input for WorkloadCertificate feature.", +"id": "WorkloadCertificateSpec", +"properties": { +"certificateManagement": { +"description": "CertificateManagement specifies workload certificate management.", +"enum": [ +"CERTIFICATE_MANAGEMENT_UNSPECIFIED", +"DISABLED", +"ENABLED" +], +"enumDescriptions": [ +"Disable workload certificate feature.", +"Disable workload certificate feature.", +"Enable workload certificate feature." +], +"type": "string" +} +}, +"type": "object" +} +}, +"servicePath": "", +"title": "GKE Hub API", +"version": "v2alpha", +"version_module": true +} \ No newline at end of file diff --git a/.venv/lib/python3.11/site-packages/googleapiclient/discovery_cache/documents/groupsmigration.v1.json b/.venv/lib/python3.11/site-packages/googleapiclient/discovery_cache/documents/groupsmigration.v1.json new file mode 100644 index 0000000000000000000000000000000000000000..b37910d5831381d4eb3f6fd6e6801759053c5ce9 --- /dev/null +++ b/.venv/lib/python3.11/site-packages/googleapiclient/discovery_cache/documents/groupsmigration.v1.json @@ -0,0 +1,171 @@ +{ +"auth": { +"oauth2": { +"scopes": { +"https://www.googleapis.com/auth/apps.groups.migration": { +"description": "Upload messages to any Google group in your domain" +} +} +} +}, +"basePath": "", +"baseUrl": "https://groupsmigration.googleapis.com/", +"batchPath": "batch", +"canonicalName": "Groups Migration", +"description": "The Groups Migration API allows domain administrators to archive emails into Google groups.", +"discoveryVersion": "v1", +"documentationLink": "https://developers.google.com/google-apps/groups-migration/", +"icons": { +"x16": "http://www.google.com/images/icons/product/search-16.gif", +"x32": "http://www.google.com/images/icons/product/search-32.gif" +}, +"id": "groupsmigration:v1", +"kind": "discovery#restDescription", +"mtlsRootUrl": "https://groupsmigration.mtls.googleapis.com/", +"name": "groupsmigration", +"ownerDomain": "google.com", +"ownerName": "Google", +"parameters": { +"$.xgafv": { +"description": "V1 error format.", +"enum": [ +"1", +"2" +], +"enumDescriptions": [ +"v1 error format", +"v2 error format" +], +"location": "query", +"type": "string" +}, +"access_token": { +"description": "OAuth access token.", +"location": "query", +"type": "string" +}, +"alt": { +"default": "json", +"description": "Data format for response.", +"enum": [ +"json", +"media", +"proto" +], +"enumDescriptions": [ +"Responses with Content-Type of application/json", +"Media download with context-dependent Content-Type", +"Responses with Content-Type of application/x-protobuf" +], +"location": "query", +"type": "string" +}, +"callback": { +"description": "JSONP", +"location": "query", +"type": "string" +}, +"fields": { +"description": "Selector specifying which fields to include in a partial response.", +"location": "query", +"type": "string" +}, +"key": { +"description": "API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token.", +"location": "query", +"type": "string" +}, +"oauth_token": { +"description": "OAuth 2.0 token for the current user.", +"location": "query", +"type": "string" +}, +"prettyPrint": { +"default": "true", +"description": "Returns response with indentations and line breaks.", +"location": "query", +"type": "boolean" +}, +"quotaUser": { +"description": "Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters.", +"location": "query", +"type": "string" +}, +"uploadType": { +"description": "Legacy upload protocol for media (e.g. \"media\", \"multipart\").", +"location": "query", +"type": "string" +}, +"upload_protocol": { +"description": "Upload protocol for media (e.g. \"raw\", \"multipart\").", +"location": "query", +"type": "string" +} +}, +"protocol": "rest", +"resources": { +"archive": { +"methods": { +"insert": { +"description": "Inserts a new mail into the archive of the Google group.", +"flatPath": "groups/v1/groups/{groupId}/archive", +"httpMethod": "POST", +"id": "groupsmigration.archive.insert", +"mediaUpload": { +"accept": [ +"message/rfc822" +], +"maxSize": "26214400", +"protocols": { +"simple": { +"multipart": true, +"path": "/upload/groups/v1/groups/{groupId}/archive" +} +} +}, +"parameterOrder": [ +"groupId" +], +"parameters": { +"groupId": { +"description": "The group ID", +"location": "path", +"required": true, +"type": "string" +} +}, +"path": "groups/v1/groups/{groupId}/archive", +"response": { +"$ref": "Groups" +}, +"scopes": [ +"https://www.googleapis.com/auth/apps.groups.migration" +], +"supportsMediaUpload": true +} +} +} +}, +"revision": "20240701", +"rootUrl": "https://groupsmigration.googleapis.com/", +"schemas": { +"Groups": { +"description": "JSON response template for groups migration API.", +"id": "Groups", +"properties": { +"kind": { +"description": "The kind of insert resource this is.", +"type": "string" +}, +"responseCode": { +"description": "The status of the insert request.", +"type": "string" +} +}, +"type": "object" +} +}, +"servicePath": "", +"title": "Groups Migration API", +"version": "v1" +} \ No newline at end of file diff --git a/.venv/lib/python3.11/site-packages/googleapiclient/discovery_cache/documents/iamcredentials.v1.json b/.venv/lib/python3.11/site-packages/googleapiclient/discovery_cache/documents/iamcredentials.v1.json new file mode 100644 index 0000000000000000000000000000000000000000..cb401fd52446b650f1141f81a04da2db7a7b2394 --- /dev/null +++ b/.venv/lib/python3.11/site-packages/googleapiclient/discovery_cache/documents/iamcredentials.v1.json @@ -0,0 +1,414 @@ +{ +"auth": { +"oauth2": { +"scopes": { +"https://www.googleapis.com/auth/cloud-platform": { +"description": "See, edit, configure, and delete your Google Cloud data and see the email address for your Google Account." +} +} +} +}, +"basePath": "", +"baseUrl": "https://iamcredentials.googleapis.com/", +"batchPath": "batch", +"canonicalName": "IAM Credentials", +"description": "Creates short-lived credentials for impersonating IAM service accounts. Disabling this API also disables the IAM API (iam.googleapis.com). However, enabling this API doesn't enable the IAM API. ", +"discoveryVersion": "v1", +"documentationLink": "https://cloud.google.com/iam/docs/creating-short-lived-service-account-credentials", +"fullyEncodeReservedExpansion": true, +"icons": { +"x16": "http://www.google.com/images/icons/product/search-16.gif", +"x32": "http://www.google.com/images/icons/product/search-32.gif" +}, +"id": "iamcredentials:v1", +"kind": "discovery#restDescription", +"mtlsRootUrl": "https://iamcredentials.mtls.googleapis.com/", +"name": "iamcredentials", +"ownerDomain": "google.com", +"ownerName": "Google", +"parameters": { +"$.xgafv": { +"description": "V1 error format.", +"enum": [ +"1", +"2" +], +"enumDescriptions": [ +"v1 error format", +"v2 error format" +], +"location": "query", +"type": "string" +}, +"access_token": { +"description": "OAuth access token.", +"location": "query", +"type": "string" +}, +"alt": { +"default": "json", +"description": "Data format for response.", +"enum": [ +"json", +"media", +"proto" +], +"enumDescriptions": [ +"Responses with Content-Type of application/json", +"Media download with context-dependent Content-Type", +"Responses with Content-Type of application/x-protobuf" +], +"location": "query", +"type": "string" +}, +"callback": { +"description": "JSONP", +"location": "query", +"type": "string" +}, +"fields": { +"description": "Selector specifying which fields to include in a partial response.", +"location": "query", +"type": "string" +}, +"key": { +"description": "API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token.", +"location": "query", +"type": "string" +}, +"oauth_token": { +"description": "OAuth 2.0 token for the current user.", +"location": "query", +"type": "string" +}, +"prettyPrint": { +"default": "true", +"description": "Returns response with indentations and line breaks.", +"location": "query", +"type": "boolean" +}, +"quotaUser": { +"description": "Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters.", +"location": "query", +"type": "string" +}, +"uploadType": { +"description": "Legacy upload protocol for media (e.g. \"media\", \"multipart\").", +"location": "query", +"type": "string" +}, +"upload_protocol": { +"description": "Upload protocol for media (e.g. \"raw\", \"multipart\").", +"location": "query", +"type": "string" +} +}, +"protocol": "rest", +"resources": { +"projects": { +"resources": { +"serviceAccounts": { +"methods": { +"generateAccessToken": { +"description": "Generates an OAuth 2.0 access token for a service account.", +"flatPath": "v1/projects/{projectsId}/serviceAccounts/{serviceAccountsId}:generateAccessToken", +"httpMethod": "POST", +"id": "iamcredentials.projects.serviceAccounts.generateAccessToken", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. The resource name of the service account for which the credentials are requested, in the following format: `projects/-/serviceAccounts/{ACCOUNT_EMAIL_OR_UNIQUEID}`. The `-` wildcard character is required; replacing it with a project ID is invalid.", +"location": "path", +"pattern": "^projects/[^/]+/serviceAccounts/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+name}:generateAccessToken", +"request": { +"$ref": "GenerateAccessTokenRequest" +}, +"response": { +"$ref": "GenerateAccessTokenResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"generateIdToken": { +"description": "Generates an OpenID Connect ID token for a service account.", +"flatPath": "v1/projects/{projectsId}/serviceAccounts/{serviceAccountsId}:generateIdToken", +"httpMethod": "POST", +"id": "iamcredentials.projects.serviceAccounts.generateIdToken", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. The resource name of the service account for which the credentials are requested, in the following format: `projects/-/serviceAccounts/{ACCOUNT_EMAIL_OR_UNIQUEID}`. The `-` wildcard character is required; replacing it with a project ID is invalid.", +"location": "path", +"pattern": "^projects/[^/]+/serviceAccounts/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+name}:generateIdToken", +"request": { +"$ref": "GenerateIdTokenRequest" +}, +"response": { +"$ref": "GenerateIdTokenResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"getAllowedLocations": { +"description": "Returns the trust boundary info for a given service account.", +"flatPath": "v1/projects/{projectsId}/serviceAccounts/{serviceAccountsId}/allowedLocations", +"httpMethod": "GET", +"id": "iamcredentials.projects.serviceAccounts.getAllowedLocations", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. Resource name of service account.", +"location": "path", +"pattern": "^projects/[^/]+/serviceAccounts/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+name}/allowedLocations", +"response": { +"$ref": "ServiceAccountAllowedLocations" +} +}, +"signBlob": { +"description": "Signs a blob using a service account's system-managed private key.", +"flatPath": "v1/projects/{projectsId}/serviceAccounts/{serviceAccountsId}:signBlob", +"httpMethod": "POST", +"id": "iamcredentials.projects.serviceAccounts.signBlob", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. The resource name of the service account for which the credentials are requested, in the following format: `projects/-/serviceAccounts/{ACCOUNT_EMAIL_OR_UNIQUEID}`. The `-` wildcard character is required; replacing it with a project ID is invalid.", +"location": "path", +"pattern": "^projects/[^/]+/serviceAccounts/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+name}:signBlob", +"request": { +"$ref": "SignBlobRequest" +}, +"response": { +"$ref": "SignBlobResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"signJwt": { +"description": "Signs a JWT using a service account's system-managed private key.", +"flatPath": "v1/projects/{projectsId}/serviceAccounts/{serviceAccountsId}:signJwt", +"httpMethod": "POST", +"id": "iamcredentials.projects.serviceAccounts.signJwt", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. The resource name of the service account for which the credentials are requested, in the following format: `projects/-/serviceAccounts/{ACCOUNT_EMAIL_OR_UNIQUEID}`. The `-` wildcard character is required; replacing it with a project ID is invalid.", +"location": "path", +"pattern": "^projects/[^/]+/serviceAccounts/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+name}:signJwt", +"request": { +"$ref": "SignJwtRequest" +}, +"response": { +"$ref": "SignJwtResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +} +} +} +} +} +}, +"revision": "20241024", +"rootUrl": "https://iamcredentials.googleapis.com/", +"schemas": { +"GenerateAccessTokenRequest": { +"id": "GenerateAccessTokenRequest", +"properties": { +"delegates": { +"description": "The sequence of service accounts in a delegation chain. This field is required for [delegated requests](https://cloud.google.com/iam/help/credentials/delegated-request). For [direct requests](https://cloud.google.com/iam/help/credentials/direct-request), which are more common, do not specify this field. Each service account must be granted the `roles/iam.serviceAccountTokenCreator` role on its next service account in the chain. The last service account in the chain must be granted the `roles/iam.serviceAccountTokenCreator` role on the service account that is specified in the `name` field of the request. The delegates must have the following format: `projects/-/serviceAccounts/{ACCOUNT_EMAIL_OR_UNIQUEID}`. The `-` wildcard character is required; replacing it with a project ID is invalid.", +"items": { +"type": "string" +}, +"type": "array" +}, +"lifetime": { +"description": "The desired lifetime duration of the access token in seconds. By default, the maximum allowed value is 1 hour. To set a lifetime of up to 12 hours, you can add the service account as an allowed value in an Organization Policy that enforces the `constraints/iam.allowServiceAccountCredentialLifetimeExtension` constraint. See detailed instructions at https://cloud.google.com/iam/help/credentials/lifetime If a value is not specified, the token's lifetime will be set to a default value of 1 hour.", +"format": "google-duration", +"type": "string" +}, +"scope": { +"description": "Required. Code to identify the scopes to be included in the OAuth 2.0 access token. See https://developers.google.com/identity/protocols/googlescopes for more information. At least one value required.", +"items": { +"type": "string" +}, +"type": "array" +} +}, +"type": "object" +}, +"GenerateAccessTokenResponse": { +"id": "GenerateAccessTokenResponse", +"properties": { +"accessToken": { +"description": "The OAuth 2.0 access token.", +"type": "string" +}, +"expireTime": { +"description": "Token expiration time. The expiration time is always set.", +"format": "google-datetime", +"type": "string" +} +}, +"type": "object" +}, +"GenerateIdTokenRequest": { +"id": "GenerateIdTokenRequest", +"properties": { +"audience": { +"description": "Required. The audience for the token, such as the API or account that this token grants access to.", +"type": "string" +}, +"delegates": { +"description": "The sequence of service accounts in a delegation chain. Each service account must be granted the `roles/iam.serviceAccountTokenCreator` role on its next service account in the chain. The last service account in the chain must be granted the `roles/iam.serviceAccountTokenCreator` role on the service account that is specified in the `name` field of the request. The delegates must have the following format: `projects/-/serviceAccounts/{ACCOUNT_EMAIL_OR_UNIQUEID}`. The `-` wildcard character is required; replacing it with a project ID is invalid.", +"items": { +"type": "string" +}, +"type": "array" +}, +"includeEmail": { +"description": "Include the service account email in the token. If set to `true`, the token will contain `email` and `email_verified` claims.", +"type": "boolean" +} +}, +"type": "object" +}, +"GenerateIdTokenResponse": { +"id": "GenerateIdTokenResponse", +"properties": { +"token": { +"description": "The OpenId Connect ID token.", +"type": "string" +} +}, +"type": "object" +}, +"ServiceAccountAllowedLocations": { +"description": "Represents a list of allowed locations for given service account.", +"id": "ServiceAccountAllowedLocations", +"properties": { +"encodedLocations": { +"description": "Output only. The hex encoded bitmap of the trust boundary locations", +"readOnly": true, +"type": "string" +}, +"locations": { +"description": "Output only. The human readable trust boundary locations. For example, [\"us-central1\", \"europe-west1\"]", +"items": { +"type": "string" +}, +"readOnly": true, +"type": "array" +} +}, +"type": "object" +}, +"SignBlobRequest": { +"id": "SignBlobRequest", +"properties": { +"delegates": { +"description": "The sequence of service accounts in a delegation chain. Each service account must be granted the `roles/iam.serviceAccountTokenCreator` role on its next service account in the chain. The last service account in the chain must be granted the `roles/iam.serviceAccountTokenCreator` role on the service account that is specified in the `name` field of the request. The delegates must have the following format: `projects/-/serviceAccounts/{ACCOUNT_EMAIL_OR_UNIQUEID}`. The `-` wildcard character is required; replacing it with a project ID is invalid.", +"items": { +"type": "string" +}, +"type": "array" +}, +"payload": { +"description": "Required. The bytes to sign.", +"format": "byte", +"type": "string" +} +}, +"type": "object" +}, +"SignBlobResponse": { +"id": "SignBlobResponse", +"properties": { +"keyId": { +"description": "The ID of the key used to sign the blob. The key used for signing will remain valid for at least 12 hours after the blob is signed. To verify the signature, you can retrieve the public key in several formats from the following endpoints: - RSA public key wrapped in an X.509 v3 certificate: `https://www.googleapis.com/service_accounts/v1/metadata/x509/{ACCOUNT_EMAIL}` - Raw key in JSON format: `https://www.googleapis.com/service_accounts/v1/metadata/raw/{ACCOUNT_EMAIL}` - JSON Web Key (JWK): `https://www.googleapis.com/service_accounts/v1/metadata/jwk/{ACCOUNT_EMAIL}`", +"type": "string" +}, +"signedBlob": { +"description": "The signature for the blob. Does not include the original blob. After the key pair referenced by the `key_id` response field expires, Google no longer exposes the public key that can be used to verify the blob. As a result, the receiver can no longer verify the signature.", +"format": "byte", +"type": "string" +} +}, +"type": "object" +}, +"SignJwtRequest": { +"id": "SignJwtRequest", +"properties": { +"delegates": { +"description": "The sequence of service accounts in a delegation chain. Each service account must be granted the `roles/iam.serviceAccountTokenCreator` role on its next service account in the chain. The last service account in the chain must be granted the `roles/iam.serviceAccountTokenCreator` role on the service account that is specified in the `name` field of the request. The delegates must have the following format: `projects/-/serviceAccounts/{ACCOUNT_EMAIL_OR_UNIQUEID}`. The `-` wildcard character is required; replacing it with a project ID is invalid.", +"items": { +"type": "string" +}, +"type": "array" +}, +"payload": { +"description": "Required. The JWT payload to sign. Must be a serialized JSON object that contains a JWT Claims Set. For example: `{\"sub\": \"user@example.com\", \"iat\": 313435}` If the JWT Claims Set contains an expiration time (`exp`) claim, it must be an integer timestamp that is not in the past and no more than 12 hours in the future.", +"type": "string" +} +}, +"type": "object" +}, +"SignJwtResponse": { +"id": "SignJwtResponse", +"properties": { +"keyId": { +"description": "The ID of the key used to sign the JWT. The key used for signing will remain valid for at least 12 hours after the JWT is signed. To verify the signature, you can retrieve the public key in several formats from the following endpoints: - RSA public key wrapped in an X.509 v3 certificate: `https://www.googleapis.com/service_accounts/v1/metadata/x509/{ACCOUNT_EMAIL}` - Raw key in JSON format: `https://www.googleapis.com/service_accounts/v1/metadata/raw/{ACCOUNT_EMAIL}` - JSON Web Key (JWK): `https://www.googleapis.com/service_accounts/v1/metadata/jwk/{ACCOUNT_EMAIL}`", +"type": "string" +}, +"signedJwt": { +"description": "The signed JWT. Contains the automatically generated header; the client-supplied payload; and the signature, which is generated using the key referenced by the `kid` field in the header. After the key pair referenced by the `key_id` response field expires, Google no longer exposes the public key that can be used to verify the JWT. As a result, the receiver can no longer verify the signature.", +"type": "string" +} +}, +"type": "object" +} +}, +"servicePath": "", +"title": "IAM Service Account Credentials API", +"version": "v1", +"version_module": true +} \ No newline at end of file diff --git a/.venv/lib/python3.11/site-packages/googleapiclient/discovery_cache/documents/indexing.v3.json b/.venv/lib/python3.11/site-packages/googleapiclient/discovery_cache/documents/indexing.v3.json new file mode 100644 index 0000000000000000000000000000000000000000..5b3fda7e6d3d1fe2a3c0747892ca05457c1d16d7 --- /dev/null +++ b/.venv/lib/python3.11/site-packages/googleapiclient/discovery_cache/documents/indexing.v3.json @@ -0,0 +1,220 @@ +{ +"auth": { +"oauth2": { +"scopes": { +"https://www.googleapis.com/auth/indexing": { +"description": "Submit data to Google for indexing" +} +} +} +}, +"basePath": "", +"baseUrl": "https://indexing.googleapis.com/", +"batchPath": "batch", +"canonicalName": "Indexing", +"description": "Notifies Google Web Search when your web pages change.", +"discoveryVersion": "v1", +"documentationLink": "https://developers.google.com/search/apis/indexing-api/", +"fullyEncodeReservedExpansion": true, +"icons": { +"x16": "http://www.google.com/images/icons/product/search-16.gif", +"x32": "http://www.google.com/images/icons/product/search-32.gif" +}, +"id": "indexing:v3", +"kind": "discovery#restDescription", +"mtlsRootUrl": "https://indexing.mtls.googleapis.com/", +"name": "indexing", +"ownerDomain": "google.com", +"ownerName": "Google", +"parameters": { +"$.xgafv": { +"description": "V1 error format.", +"enum": [ +"1", +"2" +], +"enumDescriptions": [ +"v1 error format", +"v2 error format" +], +"location": "query", +"type": "string" +}, +"access_token": { +"description": "OAuth access token.", +"location": "query", +"type": "string" +}, +"alt": { +"default": "json", +"description": "Data format for response.", +"enum": [ +"json", +"media", +"proto" +], +"enumDescriptions": [ +"Responses with Content-Type of application/json", +"Media download with context-dependent Content-Type", +"Responses with Content-Type of application/x-protobuf" +], +"location": "query", +"type": "string" +}, +"callback": { +"description": "JSONP", +"location": "query", +"type": "string" +}, +"fields": { +"description": "Selector specifying which fields to include in a partial response.", +"location": "query", +"type": "string" +}, +"key": { +"description": "API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token.", +"location": "query", +"type": "string" +}, +"oauth_token": { +"description": "OAuth 2.0 token for the current user.", +"location": "query", +"type": "string" +}, +"prettyPrint": { +"default": "true", +"description": "Returns response with indentations and line breaks.", +"location": "query", +"type": "boolean" +}, +"quotaUser": { +"description": "Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters.", +"location": "query", +"type": "string" +}, +"uploadType": { +"description": "Legacy upload protocol for media (e.g. \"media\", \"multipart\").", +"location": "query", +"type": "string" +}, +"upload_protocol": { +"description": "Upload protocol for media (e.g. \"raw\", \"multipart\").", +"location": "query", +"type": "string" +} +}, +"protocol": "rest", +"resources": { +"urlNotifications": { +"methods": { +"getMetadata": { +"description": "Gets metadata about a Web Document. This method can _only_ be used to query URLs that were previously seen in successful Indexing API notifications. Includes the latest `UrlNotification` received via this API.", +"flatPath": "v3/urlNotifications/metadata", +"httpMethod": "GET", +"id": "indexing.urlNotifications.getMetadata", +"parameterOrder": [], +"parameters": { +"url": { +"description": "URL that is being queried.", +"location": "query", +"type": "string" +} +}, +"path": "v3/urlNotifications/metadata", +"response": { +"$ref": "UrlNotificationMetadata" +}, +"scopes": [ +"https://www.googleapis.com/auth/indexing" +] +}, +"publish": { +"description": "Notifies that a URL has been updated or deleted.", +"flatPath": "v3/urlNotifications:publish", +"httpMethod": "POST", +"id": "indexing.urlNotifications.publish", +"parameterOrder": [], +"parameters": {}, +"path": "v3/urlNotifications:publish", +"request": { +"$ref": "UrlNotification" +}, +"response": { +"$ref": "PublishUrlNotificationResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/indexing" +] +} +} +} +}, +"revision": "20240702", +"rootUrl": "https://indexing.googleapis.com/", +"schemas": { +"PublishUrlNotificationResponse": { +"description": "Output for PublishUrlNotification", +"id": "PublishUrlNotificationResponse", +"properties": { +"urlNotificationMetadata": { +"$ref": "UrlNotificationMetadata", +"description": "Description of the notification events received for this URL." +} +}, +"type": "object" +}, +"UrlNotification": { +"description": "`UrlNotification` is the resource used in all Indexing API calls. It describes one event in the life cycle of a Web Document.", +"id": "UrlNotification", +"properties": { +"notifyTime": { +"description": "Creation timestamp for this notification. Users should _not_ specify it, the field is ignored at the request time.", +"format": "google-datetime", +"type": "string" +}, +"type": { +"description": "The URL life cycle event that Google is being notified about.", +"enum": [ +"URL_NOTIFICATION_TYPE_UNSPECIFIED", +"URL_UPDATED", +"URL_DELETED" +], +"enumDescriptions": [ +"Unspecified.", +"The given URL (Web document) has been updated.", +"The given URL (Web document) has been deleted." +], +"type": "string" +}, +"url": { +"description": "The object of this notification. The URL must be owned by the publisher of this notification and, in case of `URL_UPDATED` notifications, it _must_ be crawlable by Google.", +"type": "string" +} +}, +"type": "object" +}, +"UrlNotificationMetadata": { +"description": "Summary of the most recent Indexing API notifications successfully received, for a given URL.", +"id": "UrlNotificationMetadata", +"properties": { +"latestRemove": { +"$ref": "UrlNotification", +"description": "Latest notification received with type `URL_REMOVED`." +}, +"latestUpdate": { +"$ref": "UrlNotification", +"description": "Latest notification received with type `URL_UPDATED`." +}, +"url": { +"description": "URL to which this metadata refers.", +"type": "string" +} +}, +"type": "object" +} +}, +"servicePath": "", +"title": "Web Search Indexing API", +"version": "v3", +"version_module": true +} \ No newline at end of file diff --git a/.venv/lib/python3.11/site-packages/googleapiclient/discovery_cache/documents/integrations.v1alpha.json b/.venv/lib/python3.11/site-packages/googleapiclient/discovery_cache/documents/integrations.v1alpha.json new file mode 100644 index 0000000000000000000000000000000000000000..492768f82a060dc05da165f2c94195a9d644e4c2 --- /dev/null +++ b/.venv/lib/python3.11/site-packages/googleapiclient/discovery_cache/documents/integrations.v1alpha.json @@ -0,0 +1,11961 @@ +{ +"auth": { +"oauth2": { +"scopes": { +"https://www.googleapis.com/auth/cloud-platform": { +"description": "See, edit, configure, and delete your Google Cloud data and see the email address for your Google Account." +} +} +} +}, +"basePath": "", +"baseUrl": "https://integrations.googleapis.com/", +"batchPath": "batch", +"canonicalName": "Integrations", +"description": "", +"discoveryVersion": "v1", +"documentationLink": "https://cloud.google.com/application-integration", +"fullyEncodeReservedExpansion": true, +"icons": { +"x16": "http://www.google.com/images/icons/product/search-16.gif", +"x32": "http://www.google.com/images/icons/product/search-32.gif" +}, +"id": "integrations:v1alpha", +"kind": "discovery#restDescription", +"mtlsRootUrl": "https://integrations.mtls.googleapis.com/", +"name": "integrations", +"ownerDomain": "google.com", +"ownerName": "Google", +"parameters": { +"$.xgafv": { +"description": "V1 error format.", +"enum": [ +"1", +"2" +], +"enumDescriptions": [ +"v1 error format", +"v2 error format" +], +"location": "query", +"type": "string" +}, +"access_token": { +"description": "OAuth access token.", +"location": "query", +"type": "string" +}, +"alt": { +"default": "json", +"description": "Data format for response.", +"enum": [ +"json", +"media", +"proto" +], +"enumDescriptions": [ +"Responses with Content-Type of application/json", +"Media download with context-dependent Content-Type", +"Responses with Content-Type of application/x-protobuf" +], +"location": "query", +"type": "string" +}, +"callback": { +"description": "JSONP", +"location": "query", +"type": "string" +}, +"fields": { +"description": "Selector specifying which fields to include in a partial response.", +"location": "query", +"type": "string" +}, +"key": { +"description": "API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token.", +"location": "query", +"type": "string" +}, +"oauth_token": { +"description": "OAuth 2.0 token for the current user.", +"location": "query", +"type": "string" +}, +"prettyPrint": { +"default": "true", +"description": "Returns response with indentations and line breaks.", +"location": "query", +"type": "boolean" +}, +"quotaUser": { +"description": "Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters.", +"location": "query", +"type": "string" +}, +"uploadType": { +"description": "Legacy upload protocol for media (e.g. \"media\", \"multipart\").", +"location": "query", +"type": "string" +}, +"upload_protocol": { +"description": "Upload protocol for media (e.g. \"raw\", \"multipart\").", +"location": "query", +"type": "string" +} +}, +"protocol": "rest", +"resources": { +"callback": { +"methods": { +"generateToken": { +"description": "Receives the auth code and auth config id to combine that with the client id and secret to retrieve access tokens from the token endpoint. Returns either a success or error message when it's done.", +"flatPath": "v1alpha/callback:generateToken", +"httpMethod": "GET", +"id": "integrations.callback.generateToken", +"parameterOrder": [], +"parameters": { +"code": { +"description": "The auth code for the given request", +"location": "query", +"type": "string" +}, +"gcpProjectId": { +"description": "The gcp project id of the request", +"location": "query", +"type": "string" +}, +"product": { +"description": "Which product sends the request", +"enum": [ +"UNSPECIFIED_PRODUCT", +"IP", +"APIGEE", +"SECURITY" +], +"enumDescriptions": [ +"", +"", +"", +"" +], +"location": "query", +"type": "string" +}, +"redirectUri": { +"description": "Redirect uri of the auth code request", +"location": "query", +"type": "string" +}, +"state": { +"description": "The auth config id for the given request", +"location": "query", +"type": "string" +} +}, +"path": "v1alpha/callback:generateToken", +"response": { +"$ref": "GoogleCloudIntegrationsV1alphaGenerateTokenResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +} +} +}, +"connectorPlatformRegions": { +"methods": { +"enumerate": { +"description": "Enumerates the regions for which Connector Platform is provisioned.", +"flatPath": "v1alpha/connectorPlatformRegions:enumerate", +"httpMethod": "GET", +"id": "integrations.connectorPlatformRegions.enumerate", +"parameterOrder": [], +"parameters": {}, +"path": "v1alpha/connectorPlatformRegions:enumerate", +"response": { +"$ref": "GoogleCloudIntegrationsV1alphaEnumerateConnectorPlatformRegionsResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +} +} +}, +"projects": { +"resources": { +"locations": { +"resources": { +"appsScriptProjects": { +"methods": { +"create": { +"description": "Creates an Apps Script project.", +"flatPath": "v1alpha/projects/{projectsId}/locations/{locationsId}/appsScriptProjects", +"httpMethod": "POST", +"id": "integrations.projects.locations.appsScriptProjects.create", +"parameterOrder": [ +"parent" +], +"parameters": { +"parent": { +"description": "Required. The project that the executed integration belongs to.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1alpha/{+parent}/appsScriptProjects", +"request": { +"$ref": "GoogleCloudIntegrationsV1alphaCreateAppsScriptProjectRequest" +}, +"response": { +"$ref": "GoogleCloudIntegrationsV1alphaCreateAppsScriptProjectResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"link": { +"description": "Links a existing Apps Script project.", +"flatPath": "v1alpha/projects/{projectsId}/locations/{locationsId}/appsScriptProjects:link", +"httpMethod": "POST", +"id": "integrations.projects.locations.appsScriptProjects.link", +"parameterOrder": [ +"parent" +], +"parameters": { +"parent": { +"description": "Required. The project that the executed integration belongs to.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1alpha/{+parent}/appsScriptProjects:link", +"request": { +"$ref": "GoogleCloudIntegrationsV1alphaLinkAppsScriptProjectRequest" +}, +"response": { +"$ref": "GoogleCloudIntegrationsV1alphaLinkAppsScriptProjectResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +} +} +}, +"authConfigs": { +"methods": { +"create": { +"description": "Creates an auth config record. Fetch corresponding credentials for specific auth types, e.g. access token for OAuth 2.0, JWT token for JWT. Encrypt the auth config with Cloud KMS and store the encrypted credentials in Spanner. Returns the encrypted auth config.", +"flatPath": "v1alpha/projects/{projectsId}/locations/{locationsId}/authConfigs", +"httpMethod": "POST", +"id": "integrations.projects.locations.authConfigs.create", +"parameterOrder": [ +"parent" +], +"parameters": { +"clientCertificate.encryptedPrivateKey": { +"description": "The ssl certificate encoded in PEM format. This string must include the begin header and end footer lines. For example, -----BEGIN CERTIFICATE----- MIICTTCCAbagAwIBAgIJAPT0tSKNxan/MA0GCSqGSIb3DQEBCwUAMCoxFzAVBgNV BAoTDkdvb2dsZSBURVNUSU5HMQ8wDQYDVQQDEwZ0ZXN0Q0EwHhcNMTUwMTAxMDAw MDAwWhcNMjUwMTAxMDAwMDAwWjAuMRcwFQYDVQQKEw5Hb29nbGUgVEVTVElORzET MBEGA1UEAwwKam9lQGJhbmFuYTCBnzANBgkqhkiG9w0BAQEFAAOBjQAwgYkCgYEA vDYFgMgxi5W488d9J7UpCInl0NXmZQpJDEHE4hvkaRlH7pnC71H0DLt0/3zATRP1 JzY2+eqBmbGl4/sgZKYv8UrLnNyQNUTsNx1iZAfPUflf5FwgVsai8BM0pUciq1NB xD429VFcrGZNucvFLh72RuRFIKH8WUpiK/iZNFkWhZ0CAwEAAaN3MHUwDgYDVR0P AQH/BAQDAgWgMB0GA1UdJQQWMBQGCCsGAQUFBwMBBggrBgEFBQcDAjAMBgNVHRMB Af8EAjAAMBkGA1UdDgQSBBCVgnFBCWgL/iwCqnGrhTPQMBsGA1UdIwQUMBKAEKey Um2o4k2WiEVA0ldQvNYwDQYJKoZIhvcNAQELBQADgYEAYK986R4E3L1v+Q6esBtW JrUwA9UmJRSQr0N5w3o9XzarU37/bkjOP0Fw0k/A6Vv1n3vlciYfBFaBIam1qRHr 5dMsYf4CZS6w50r7hyzqyrwDoyNxkLnd2PdcHT/sym1QmflsjEs7pejtnohO6N2H wQW6M0H7Zt8claGRla4fKkg= -----END CERTIFICATE-----", +"location": "query", +"type": "string" +}, +"clientCertificate.passphrase": { +"description": "'passphrase' should be left unset if private key is not encrypted. Note that 'passphrase' is not the password for web server, but an extra layer of security to protected private key.", +"location": "query", +"type": "string" +}, +"clientCertificate.sslCertificate": { +"description": "The ssl certificate encoded in PEM format. This string must include the begin header and end footer lines. For example, -----BEGIN CERTIFICATE----- MIICTTCCAbagAwIBAgIJAPT0tSKNxan/MA0GCSqGSIb3DQEBCwUAMCoxFzAVBgNV BAoTDkdvb2dsZSBURVNUSU5HMQ8wDQYDVQQDEwZ0ZXN0Q0EwHhcNMTUwMTAxMDAw MDAwWhcNMjUwMTAxMDAwMDAwWjAuMRcwFQYDVQQKEw5Hb29nbGUgVEVTVElORzET MBEGA1UEAwwKam9lQGJhbmFuYTCBnzANBgkqhkiG9w0BAQEFAAOBjQAwgYkCgYEA vDYFgMgxi5W488d9J7UpCInl0NXmZQpJDEHE4hvkaRlH7pnC71H0DLt0/3zATRP1 JzY2+eqBmbGl4/sgZKYv8UrLnNyQNUTsNx1iZAfPUflf5FwgVsai8BM0pUciq1NB xD429VFcrGZNucvFLh72RuRFIKH8WUpiK/iZNFkWhZ0CAwEAAaN3MHUwDgYDVR0P AQH/BAQDAgWgMB0GA1UdJQQWMBQGCCsGAQUFBwMBBggrBgEFBQcDAjAMBgNVHRMB Af8EAjAAMBkGA1UdDgQSBBCVgnFBCWgL/iwCqnGrhTPQMBsGA1UdIwQUMBKAEKey Um2o4k2WiEVA0ldQvNYwDQYJKoZIhvcNAQELBQADgYEAYK986R4E3L1v+Q6esBtW JrUwA9UmJRSQr0N5w3o9XzarU37/bkjOP0Fw0k/A6Vv1n3vlciYfBFaBIam1qRHr 5dMsYf4CZS6w50r7hyzqyrwDoyNxkLnd2PdcHT/sym1QmflsjEs7pejtnohO6N2H wQW6M0H7Zt8claGRla4fKkg= -----END CERTIFICATE-----", +"location": "query", +"type": "string" +}, +"parent": { +"description": "Required. \"projects/{project}/locations/{location}\" format.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1alpha/{+parent}/authConfigs", +"request": { +"$ref": "GoogleCloudIntegrationsV1alphaAuthConfig" +}, +"response": { +"$ref": "GoogleCloudIntegrationsV1alphaAuthConfig" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"delete": { +"description": "Deletes an auth config.", +"flatPath": "v1alpha/projects/{projectsId}/locations/{locationsId}/authConfigs/{authConfigsId}", +"httpMethod": "DELETE", +"id": "integrations.projects.locations.authConfigs.delete", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. The name that is associated with the AuthConfig.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/authConfigs/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1alpha/{+name}", +"response": { +"$ref": "GoogleProtobufEmpty" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"get": { +"description": "Gets a complete auth config. If the auth config doesn't exist, Code.NOT_FOUND exception will be thrown. Returns the decrypted auth config.", +"flatPath": "v1alpha/projects/{projectsId}/locations/{locationsId}/authConfigs/{authConfigsId}", +"httpMethod": "GET", +"id": "integrations.projects.locations.authConfigs.get", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. The name that is associated with the AuthConfig.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/authConfigs/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1alpha/{+name}", +"response": { +"$ref": "GoogleCloudIntegrationsV1alphaAuthConfig" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"list": { +"description": "Lists all auth configs that match the filter. Restrict to auth configs belong to the current client only.", +"flatPath": "v1alpha/projects/{projectsId}/locations/{locationsId}/authConfigs", +"httpMethod": "GET", +"id": "integrations.projects.locations.authConfigs.list", +"parameterOrder": [ +"parent" +], +"parameters": { +"filter": { +"description": "Filtering as supported in https://developers.google.com/authorized-buyers/apis/guides/list-filters.", +"location": "query", +"type": "string" +}, +"pageSize": { +"description": "The size of entries in the response. If unspecified, defaults to 100.", +"format": "int32", +"location": "query", +"type": "integer" +}, +"pageToken": { +"description": "The token returned in the previous response.", +"location": "query", +"type": "string" +}, +"parent": { +"description": "Required. The client, which owns this collection of AuthConfigs.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+$", +"required": true, +"type": "string" +}, +"readMask": { +"description": "The mask which specifies fields that need to be returned in the AuthConfig's response.", +"format": "google-fieldmask", +"location": "query", +"type": "string" +} +}, +"path": "v1alpha/{+parent}/authConfigs", +"response": { +"$ref": "GoogleCloudIntegrationsV1alphaListAuthConfigsResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"patch": { +"description": "Updates an auth config. If credential is updated, fetch the encrypted auth config from Spanner, decrypt with Cloud KMS key, update the credential fields, re-encrypt with Cloud KMS key and update the Spanner record. For other fields, directly update the Spanner record. Returns the encrypted auth config.", +"flatPath": "v1alpha/projects/{projectsId}/locations/{locationsId}/authConfigs/{authConfigsId}", +"httpMethod": "PATCH", +"id": "integrations.projects.locations.authConfigs.patch", +"parameterOrder": [ +"name" +], +"parameters": { +"clientCertificate.encryptedPrivateKey": { +"description": "The ssl certificate encoded in PEM format. This string must include the begin header and end footer lines. For example, -----BEGIN CERTIFICATE----- MIICTTCCAbagAwIBAgIJAPT0tSKNxan/MA0GCSqGSIb3DQEBCwUAMCoxFzAVBgNV BAoTDkdvb2dsZSBURVNUSU5HMQ8wDQYDVQQDEwZ0ZXN0Q0EwHhcNMTUwMTAxMDAw MDAwWhcNMjUwMTAxMDAwMDAwWjAuMRcwFQYDVQQKEw5Hb29nbGUgVEVTVElORzET MBEGA1UEAwwKam9lQGJhbmFuYTCBnzANBgkqhkiG9w0BAQEFAAOBjQAwgYkCgYEA vDYFgMgxi5W488d9J7UpCInl0NXmZQpJDEHE4hvkaRlH7pnC71H0DLt0/3zATRP1 JzY2+eqBmbGl4/sgZKYv8UrLnNyQNUTsNx1iZAfPUflf5FwgVsai8BM0pUciq1NB xD429VFcrGZNucvFLh72RuRFIKH8WUpiK/iZNFkWhZ0CAwEAAaN3MHUwDgYDVR0P AQH/BAQDAgWgMB0GA1UdJQQWMBQGCCsGAQUFBwMBBggrBgEFBQcDAjAMBgNVHRMB Af8EAjAAMBkGA1UdDgQSBBCVgnFBCWgL/iwCqnGrhTPQMBsGA1UdIwQUMBKAEKey Um2o4k2WiEVA0ldQvNYwDQYJKoZIhvcNAQELBQADgYEAYK986R4E3L1v+Q6esBtW JrUwA9UmJRSQr0N5w3o9XzarU37/bkjOP0Fw0k/A6Vv1n3vlciYfBFaBIam1qRHr 5dMsYf4CZS6w50r7hyzqyrwDoyNxkLnd2PdcHT/sym1QmflsjEs7pejtnohO6N2H wQW6M0H7Zt8claGRla4fKkg= -----END CERTIFICATE-----", +"location": "query", +"type": "string" +}, +"clientCertificate.passphrase": { +"description": "'passphrase' should be left unset if private key is not encrypted. Note that 'passphrase' is not the password for web server, but an extra layer of security to protected private key.", +"location": "query", +"type": "string" +}, +"clientCertificate.sslCertificate": { +"description": "The ssl certificate encoded in PEM format. This string must include the begin header and end footer lines. For example, -----BEGIN CERTIFICATE----- MIICTTCCAbagAwIBAgIJAPT0tSKNxan/MA0GCSqGSIb3DQEBCwUAMCoxFzAVBgNV BAoTDkdvb2dsZSBURVNUSU5HMQ8wDQYDVQQDEwZ0ZXN0Q0EwHhcNMTUwMTAxMDAw MDAwWhcNMjUwMTAxMDAwMDAwWjAuMRcwFQYDVQQKEw5Hb29nbGUgVEVTVElORzET MBEGA1UEAwwKam9lQGJhbmFuYTCBnzANBgkqhkiG9w0BAQEFAAOBjQAwgYkCgYEA vDYFgMgxi5W488d9J7UpCInl0NXmZQpJDEHE4hvkaRlH7pnC71H0DLt0/3zATRP1 JzY2+eqBmbGl4/sgZKYv8UrLnNyQNUTsNx1iZAfPUflf5FwgVsai8BM0pUciq1NB xD429VFcrGZNucvFLh72RuRFIKH8WUpiK/iZNFkWhZ0CAwEAAaN3MHUwDgYDVR0P AQH/BAQDAgWgMB0GA1UdJQQWMBQGCCsGAQUFBwMBBggrBgEFBQcDAjAMBgNVHRMB Af8EAjAAMBkGA1UdDgQSBBCVgnFBCWgL/iwCqnGrhTPQMBsGA1UdIwQUMBKAEKey Um2o4k2WiEVA0ldQvNYwDQYJKoZIhvcNAQELBQADgYEAYK986R4E3L1v+Q6esBtW JrUwA9UmJRSQr0N5w3o9XzarU37/bkjOP0Fw0k/A6Vv1n3vlciYfBFaBIam1qRHr 5dMsYf4CZS6w50r7hyzqyrwDoyNxkLnd2PdcHT/sym1QmflsjEs7pejtnohO6N2H wQW6M0H7Zt8claGRla4fKkg= -----END CERTIFICATE-----", +"location": "query", +"type": "string" +}, +"name": { +"description": "Resource name of the auth config. For more information, see Manage authentication profiles. projects/{project}/locations/{location}/authConfigs/{authConfig}.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/authConfigs/[^/]+$", +"required": true, +"type": "string" +}, +"updateMask": { +"description": "Field mask specifying the fields in the above AuthConfig that have been modified and need to be updated.", +"format": "google-fieldmask", +"location": "query", +"type": "string" +} +}, +"path": "v1alpha/{+name}", +"request": { +"$ref": "GoogleCloudIntegrationsV1alphaAuthConfig" +}, +"response": { +"$ref": "GoogleCloudIntegrationsV1alphaAuthConfig" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +} +} +}, +"certificates": { +"methods": { +"get": { +"description": "Get a certificates in the specified project.", +"flatPath": "v1alpha/projects/{projectsId}/locations/{locationsId}/certificates/{certificatesId}", +"httpMethod": "GET", +"id": "integrations.projects.locations.certificates.get", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. The certificate to retrieve. Format: projects/{project}/locations/{location}/certificates/{certificate}", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/certificates/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1alpha/{+name}", +"response": { +"$ref": "GoogleCloudIntegrationsV1alphaCertificate" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +} +} +}, +"connections": { +"methods": { +"getConnectionSchemaMetadata": { +"description": "Lists the available entities and actions associated with a Connection.", +"flatPath": "v1alpha/projects/{projectsId}/locations/{locationsId}/connections/{connectionsId}/connectionSchemaMetadata", +"httpMethod": "GET", +"id": "integrations.projects.locations.connections.getConnectionSchemaMetadata", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. ConnectionSchemaMetadata name. Format: projects/{project}/locations/{location}/connections/{connection}/connectionSchemaMetadata", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/connections/[^/]+/connectionSchemaMetadata$", +"required": true, +"type": "string" +} +}, +"path": "v1alpha/{+name}", +"response": { +"$ref": "GoogleCloudIntegrationsV1alphaConnectionSchemaMetadata" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"list": { +"description": "Lists Connections in a given project and location.", +"flatPath": "v1alpha/projects/{projectsId}/locations/{locationsId}/connections", +"httpMethod": "GET", +"id": "integrations.projects.locations.connections.list", +"parameterOrder": [ +"parent" +], +"parameters": { +"filter": { +"description": "Filter.", +"location": "query", +"type": "string" +}, +"orderBy": { +"description": "Order by parameters.", +"location": "query", +"type": "string" +}, +"pageSize": { +"description": "Page size.", +"format": "int32", +"location": "query", +"type": "integer" +}, +"pageToken": { +"description": "Page token.", +"location": "query", +"type": "string" +}, +"parent": { +"description": "Required. Parent resource of the Connection, of the form: `projects/*/locations/*`", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1alpha/{+parent}/connections", +"response": { +"$ref": "GoogleCloudIntegrationsV1alphaListConnectionsResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +} +}, +"resources": { +"runtimeActionSchemas": { +"methods": { +"list": { +"description": "Lists the JSON schemas for the inputs and outputs of actions, filtered by action name.", +"flatPath": "v1alpha/projects/{projectsId}/locations/{locationsId}/connections/{connectionsId}/runtimeActionSchemas", +"httpMethod": "GET", +"id": "integrations.projects.locations.connections.runtimeActionSchemas.list", +"parameterOrder": [ +"parent" +], +"parameters": { +"filter": { +"description": "Filter. Only the action field with literal equality operator is supported.", +"location": "query", +"type": "string" +}, +"pageSize": { +"description": "Page size.", +"format": "int32", +"location": "query", +"type": "integer" +}, +"pageToken": { +"description": "Page token.", +"location": "query", +"type": "string" +}, +"parent": { +"description": "Required. Parent resource of RuntimeActionSchema. Format: projects/{project}/locations/{location}/connections/{connection}", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/connections/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1alpha/{+parent}/runtimeActionSchemas", +"response": { +"$ref": "GoogleCloudIntegrationsV1alphaListRuntimeActionSchemasResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +} +} +}, +"runtimeEntitySchemas": { +"methods": { +"list": { +"description": "Lists the JSON schemas for the properties of runtime entities, filtered by entity name.", +"flatPath": "v1alpha/projects/{projectsId}/locations/{locationsId}/connections/{connectionsId}/runtimeEntitySchemas", +"httpMethod": "GET", +"id": "integrations.projects.locations.connections.runtimeEntitySchemas.list", +"parameterOrder": [ +"parent" +], +"parameters": { +"filter": { +"description": "Filter. Only the entity field with literal equality operator is supported.", +"location": "query", +"type": "string" +}, +"pageSize": { +"description": "Page size.", +"format": "int32", +"location": "query", +"type": "integer" +}, +"pageToken": { +"description": "Page token.", +"location": "query", +"type": "string" +}, +"parent": { +"description": "Required. Parent resource of RuntimeEntitySchema. Format: projects/{project}/locations/{location}/connections/{connection}", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/connections/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1alpha/{+parent}/runtimeEntitySchemas", +"response": { +"$ref": "GoogleCloudIntegrationsV1alphaListRuntimeEntitySchemasResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +} +} +} +} +}, +"integrations": { +"methods": { +"delete": { +"description": "Delete the selected integration and all versions inside", +"flatPath": "v1alpha/projects/{projectsId}/locations/{locationsId}/integrations/{integrationsId}", +"httpMethod": "DELETE", +"id": "integrations.projects.locations.integrations.delete", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. The location resource of the request.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/integrations/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1alpha/{+name}", +"response": { +"$ref": "GoogleProtobufEmpty" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"execute": { +"description": "Executes integrations synchronously by passing the trigger id in the request body. The request is not returned until the requested executions are either fulfilled or experienced an error. If the integration name is not specified (passing `-`), all of the associated integration under the given trigger_id will be executed. Otherwise only the specified integration for the given `trigger_id` is executed. This is helpful for execution the integration from UI.", +"flatPath": "v1alpha/projects/{projectsId}/locations/{locationsId}/integrations/{integrationsId}:execute", +"httpMethod": "POST", +"id": "integrations.projects.locations.integrations.execute", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. The integration resource name.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/integrations/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1alpha/{+name}:execute", +"request": { +"$ref": "GoogleCloudIntegrationsV1alphaExecuteIntegrationsRequest" +}, +"response": { +"$ref": "GoogleCloudIntegrationsV1alphaExecuteIntegrationsResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"executeEvent": { +"description": "Executes an integration on receiving events from Integration Connector triggers, Eventarc or CPS Trigger. Input data to integration is received in body in json format", +"flatPath": "v1alpha/projects/{projectsId}/locations/{locationsId}/integrations/{integrationsId}:executeEvent", +"httpMethod": "POST", +"id": "integrations.projects.locations.integrations.executeEvent", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. The integration resource name. Format: projects/{gcp_project_id}/locations/{location}/integrations/{integration_id}", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/integrations/[^/]+$", +"required": true, +"type": "string" +}, +"triggerId": { +"description": "Required. Id of the integration trigger config. The trigger_id is in the format: `integration_connector_trigger/projects/{gcp_project_id}/location/{location}/connections/{connection_name}/subscriptions/{subscription_name}`.", +"location": "query", +"type": "string" +} +}, +"path": "v1alpha/{+name}:executeEvent", +"request": { +"additionalProperties": { +"description": "Properties of the object.", +"type": "any" +}, +"type": "object" +}, +"response": { +"$ref": "GoogleCloudIntegrationsV1alphaExecuteEventResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"list": { +"description": "Returns the list of all integrations in the specified project.", +"flatPath": "v1alpha/projects/{projectsId}/locations/{locationsId}/integrations", +"httpMethod": "GET", +"id": "integrations.projects.locations.integrations.list", +"parameterOrder": [ +"parent" +], +"parameters": { +"filter": { +"description": "Filter on fields of IntegrationVersion. Fields can be compared with literal values by use of \":\" (containment), \"=\" (equality), \">\" (greater), \"<\" (less than), >=\" (greater than or equal to), \"<=\" (less than or equal to), and \"!=\" (inequality) operators. Negation, conjunction, and disjunction are written using NOT, AND, and OR keywords. For example, organization_id=\\\"1\\\" AND state=ACTIVE AND description:\"test\". Filtering cannot be performed on repeated fields like `task_config`.", +"location": "query", +"type": "string" +}, +"orderBy": { +"description": "The results would be returned in order you specified here. Supported sort keys are: Descending sort order by \"last_modified_time\", \"created_time\", \"snapshot_number\". Ascending sort order by the integration name.", +"location": "query", +"type": "string" +}, +"pageSize": { +"description": "The page size for the resquest.", +"format": "int32", +"location": "query", +"type": "integer" +}, +"pageToken": { +"description": "The page token for the resquest.", +"location": "query", +"type": "string" +}, +"parent": { +"description": "Required. Project and location from which the integrations should be listed. Format: projects/{project}", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1alpha/{+parent}/integrations", +"response": { +"$ref": "GoogleCloudIntegrationsV1alphaListIntegrationsResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"schedule": { +"description": "Schedules an integration for execution by passing the trigger id and the scheduled time in the request body.", +"flatPath": "v1alpha/projects/{projectsId}/locations/{locationsId}/integrations/{integrationsId}:schedule", +"httpMethod": "POST", +"id": "integrations.projects.locations.integrations.schedule", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "The integration resource name.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/integrations/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1alpha/{+name}:schedule", +"request": { +"$ref": "GoogleCloudIntegrationsV1alphaScheduleIntegrationsRequest" +}, +"response": { +"$ref": "GoogleCloudIntegrationsV1alphaScheduleIntegrationsResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +} +}, +"resources": { +"executions": { +"methods": { +"list": { +"description": "Lists the results of all the integration executions. The response includes the same information as the [execution log](https://cloud.google.com/application-integration/docs/viewing-logs) in the Integration UI.", +"flatPath": "v1alpha/projects/{projectsId}/locations/{locationsId}/integrations/{integrationsId}/executions", +"httpMethod": "GET", +"id": "integrations.projects.locations.integrations.executions.list", +"parameterOrder": [ +"parent" +], +"parameters": { +"filter": { +"description": "Optional. Standard filter field, we support filtering on following fields: workflow_name: the name of the integration. CreateTimestamp: the execution created time. event_execution_state: the state of the executions. execution_id: the id of the execution. trigger_id: the id of the trigger. parameter_type: the type of the parameters involved in the execution. All fields support for EQUALS, in additional: CreateTimestamp support for LESS_THAN, GREATER_THAN ParameterType support for HAS For example: \"parameter_type\" HAS \\\"string\\\" Also supports operators like AND, OR, NOT For example, trigger_id=\\\"id1\\\" AND workflow_name=\\\"testWorkflow\\\"", +"location": "query", +"type": "string" +}, +"filterParams.customFilter": { +"description": "Optional user-provided custom filter.", +"location": "query", +"type": "string" +}, +"filterParams.endTime": { +"description": "End timestamp.", +"format": "int64", +"location": "query", +"type": "string" +}, +"filterParams.eventStatuses": { +"description": "List of possible event statuses.", +"location": "query", +"repeated": true, +"type": "string" +}, +"filterParams.executionId": { +"description": "Execution id.", +"location": "query", +"type": "string" +}, +"filterParams.parameterKey": { +"deprecated": true, +"description": "Param key. DEPRECATED. User parameter_pair_key instead.", +"location": "query", +"type": "string" +}, +"filterParams.parameterPairKey": { +"description": "Param key in the key value pair filter.", +"location": "query", +"type": "string" +}, +"filterParams.parameterPairValue": { +"description": "Param value in the key value pair filter.", +"location": "query", +"type": "string" +}, +"filterParams.parameterType": { +"description": "Param type.", +"location": "query", +"type": "string" +}, +"filterParams.parameterValue": { +"deprecated": true, +"description": "Param value. DEPRECATED. User parameter_pair_value instead.", +"location": "query", +"type": "string" +}, +"filterParams.startTime": { +"description": "Start timestamp.", +"format": "int64", +"location": "query", +"type": "string" +}, +"filterParams.taskStatuses": { +"deprecated": true, +"description": "List of possible task statuses.", +"location": "query", +"repeated": true, +"type": "string" +}, +"filterParams.workflowName": { +"description": "Workflow name.", +"location": "query", +"type": "string" +}, +"orderBy": { +"description": "Optional. The results would be returned in order you specified here. Currently supporting \"last_modified_time\" and \"create_time\".", +"location": "query", +"type": "string" +}, +"pageSize": { +"description": "Optional. The size of entries in the response.", +"format": "int32", +"location": "query", +"type": "integer" +}, +"pageToken": { +"description": "Optional. The token returned in the previous response.", +"location": "query", +"type": "string" +}, +"parent": { +"description": "Required. The parent resource name of the integration execution.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/integrations/[^/]+$", +"required": true, +"type": "string" +}, +"readMask": { +"description": "Optional. View mask for the response data. If set, only the field specified will be returned as part of the result. If not set, all fields in event execution info will be filled and returned.", +"format": "google-fieldmask", +"location": "query", +"type": "string" +}, +"refreshAcl": { +"description": "Optional. If true, the service will use the most recent acl information to list event execution infos and renew the acl cache. Note that fetching the most recent acl is synchronous, so it will increase RPC call latency.", +"location": "query", +"type": "boolean" +}, +"snapshotMetadataWithoutParams": { +"description": "Optional. If true, the service will provide execution info with snapshot metadata only i.e. without event parameters.", +"location": "query", +"type": "boolean" +}, +"truncateParams": { +"deprecated": true, +"description": "Optional. If true, the service will truncate the params to only keep the first 1000 characters of string params and empty the executions in order to make response smaller. Only works for UI and when the params fields are not filtered out.", +"location": "query", +"type": "boolean" +} +}, +"path": "v1alpha/{+parent}/executions", +"response": { +"$ref": "GoogleCloudIntegrationsV1alphaListExecutionsResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +} +}, +"resources": { +"suspensions": { +"methods": { +"lift": { +"description": "* Lifts suspension for the Suspension task. Fetch corresponding suspension with provided suspension Id, resolve suspension, and set up suspension result for the Suspension Task.", +"flatPath": "v1alpha/projects/{projectsId}/locations/{locationsId}/integrations/{integrationsId}/executions/{executionsId}/suspensions/{suspensionsId}:lift", +"httpMethod": "POST", +"id": "integrations.projects.locations.integrations.executions.suspensions.lift", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. The resource that the suspension belongs to. \"projects/{project}/locations/{location}/products/{product}/integrations/{integration}/executions/{execution}/suspensions/{suspenion}\" format.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/integrations/[^/]+/executions/[^/]+/suspensions/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1alpha/{+name}:lift", +"request": { +"$ref": "GoogleCloudIntegrationsV1alphaLiftSuspensionRequest" +}, +"response": { +"$ref": "GoogleCloudIntegrationsV1alphaLiftSuspensionResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"list": { +"description": "* Lists suspensions associated with a specific execution. Only those with permissions to resolve the relevant suspensions will be able to view them.", +"flatPath": "v1alpha/projects/{projectsId}/locations/{locationsId}/integrations/{integrationsId}/executions/{executionsId}/suspensions", +"httpMethod": "GET", +"id": "integrations.projects.locations.integrations.executions.suspensions.list", +"parameterOrder": [ +"parent" +], +"parameters": { +"filter": { +"description": "Standard filter field.", +"location": "query", +"type": "string" +}, +"orderBy": { +"description": "Field name to order by.", +"location": "query", +"type": "string" +}, +"pageSize": { +"description": "Maximum number of entries in the response.", +"format": "int32", +"location": "query", +"type": "integer" +}, +"pageToken": { +"description": "Token to retrieve a specific page.", +"location": "query", +"type": "string" +}, +"parent": { +"description": "Required. projects/{gcp_project_id}/locations/{location}/products/{product}/integrations/{integration_name}/executions/{execution_name}", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/integrations/[^/]+/executions/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1alpha/{+parent}/suspensions", +"response": { +"$ref": "GoogleCloudIntegrationsV1alphaListSuspensionsResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"resolve": { +"description": "* Resolves (lifts/rejects) any number of suspensions. If the integration is already running, only the status of the suspension is updated. Otherwise, the suspended integration will begin execution again.", +"flatPath": "v1alpha/projects/{projectsId}/locations/{locationsId}/integrations/{integrationsId}/executions/{executionsId}/suspensions/{suspensionsId}:resolve", +"httpMethod": "POST", +"id": "integrations.projects.locations.integrations.executions.suspensions.resolve", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. projects/{gcp_project_id}/locations/{location}/products/{product}/integrations/{integration_name}/executions/{execution_name}/suspensions/{suspension_id}", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/integrations/[^/]+/executions/[^/]+/suspensions/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1alpha/{+name}:resolve", +"request": { +"$ref": "GoogleCloudIntegrationsV1alphaResolveSuspensionRequest" +}, +"response": { +"$ref": "GoogleCloudIntegrationsV1alphaResolveSuspensionResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +} +} +} +} +}, +"versions": { +"methods": { +"create": { +"description": "Create a integration with a draft version in the specified project.", +"flatPath": "v1alpha/projects/{projectsId}/locations/{locationsId}/integrations/{integrationsId}/versions", +"httpMethod": "POST", +"id": "integrations.projects.locations.integrations.versions.create", +"parameterOrder": [ +"parent" +], +"parameters": { +"createSampleIntegrations": { +"description": "Optional. Optional. Indicates if sample workflow should be created.", +"location": "query", +"type": "boolean" +}, +"newIntegration": { +"description": "Set this flag to true, if draft version is to be created for a brand new integration. False, if the request is for an existing integration. For backward compatibility reasons, even if this flag is set to `false` and no existing integration is found, a new draft integration will still be created.", +"location": "query", +"type": "boolean" +}, +"parent": { +"description": "Required. The parent resource where this version will be created. Format: projects/{project}/locations/{location}/integrations/{integration}", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/integrations/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1alpha/{+parent}/versions", +"request": { +"$ref": "GoogleCloudIntegrationsV1alphaIntegrationVersion" +}, +"response": { +"$ref": "GoogleCloudIntegrationsV1alphaIntegrationVersion" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"delete": { +"description": "Soft-deletes the integration. Changes the status of the integration to ARCHIVED. If the integration being ARCHIVED is tagged as \"HEAD\", the tag is removed from this snapshot and set to the previous non-ARCHIVED snapshot. The PUBLISH_REQUESTED, DUE_FOR_DELETION tags are removed too. This RPC throws an exception if the version being deleted is DRAFT, and if the `locked_by` user is not the same as the user performing the Delete. Audit fields updated include last_modified_timestamp, last_modified_by. Any existing lock is released when Deleting a integration. Currently, there is no undelete mechanism.", +"flatPath": "v1alpha/projects/{projectsId}/locations/{locationsId}/integrations/{integrationsId}/versions/{versionsId}", +"httpMethod": "DELETE", +"id": "integrations.projects.locations.integrations.versions.delete", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. The version to delete. Format: projects/{project}/locations/{location}/integrations/{integration}/versions/{version}", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/integrations/[^/]+/versions/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1alpha/{+name}", +"response": { +"$ref": "GoogleProtobufEmpty" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"download": { +"description": "Downloads an integration. Retrieves the `IntegrationVersion` for a given `integration_id` and returns the response as a string.", +"flatPath": "v1alpha/projects/{projectsId}/locations/{locationsId}/integrations/{integrationsId}/versions/{versionsId}:download", +"httpMethod": "GET", +"id": "integrations.projects.locations.integrations.versions.download", +"parameterOrder": [ +"name" +], +"parameters": { +"fileFormat": { +"description": "File format for download request.", +"enum": [ +"FILE_FORMAT_UNSPECIFIED", +"JSON", +"YAML" +], +"enumDescriptions": [ +"Unspecified file format", +"JSON File Format", +"YAML File Format" +], +"location": "query", +"type": "string" +}, +"files": { +"description": "Optional. Integration related file to download like Integration Json, Config variable, testcase etc.", +"enum": [ +"INTEGRATION_FILE_UNSPECIFIED", +"INTEGRATION", +"INTEGRATION_CONFIG_VARIABLES" +], +"enumDescriptions": [ +"Default value.", +"Integration file.", +"Integration Config variables." +], +"location": "query", +"repeated": true, +"type": "string" +}, +"name": { +"description": "Required. The version to download. Format: projects/{project}/locations/{location}/integrations/{integration}/versions/{version}", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/integrations/[^/]+/versions/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1alpha/{+name}:download", +"response": { +"$ref": "GoogleCloudIntegrationsV1alphaDownloadIntegrationVersionResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"get": { +"description": "Get a integration in the specified project.", +"flatPath": "v1alpha/projects/{projectsId}/locations/{locationsId}/integrations/{integrationsId}/versions/{versionsId}", +"httpMethod": "GET", +"id": "integrations.projects.locations.integrations.versions.get", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. The version to retrieve. Format: projects/{project}/locations/{location}/integrations/{integration}/versions/{version}", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/integrations/[^/]+/versions/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1alpha/{+name}", +"response": { +"$ref": "GoogleCloudIntegrationsV1alphaIntegrationVersion" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"list": { +"description": "Returns the list of all integration versions in the specified project.", +"flatPath": "v1alpha/projects/{projectsId}/locations/{locationsId}/integrations/{integrationsId}/versions", +"httpMethod": "GET", +"id": "integrations.projects.locations.integrations.versions.list", +"parameterOrder": [ +"parent" +], +"parameters": { +"fieldMask": { +"description": "The field mask which specifies the particular data to be returned.", +"format": "google-fieldmask", +"location": "query", +"type": "string" +}, +"filter": { +"description": "Filter on fields of IntegrationVersion. Fields can be compared with literal values by use of \":\" (containment), \"=\" (equality), \">\" (greater), \"<\" (less than), >=\" (greater than or equal to), \"<=\" (less than or equal to), and \"!=\" (inequality) operators. Negation, conjunction, and disjunction are written using NOT, AND, and OR keywords. For example, organization_id=\\\"1\\\" AND state=ACTIVE AND description:\"test\". Filtering cannot be performed on repeated fields like `task_config`.", +"location": "query", +"type": "string" +}, +"orderBy": { +"description": "The results would be returned in order you specified here. Currently supported sort keys are: Descending sort order for \"last_modified_time\", \"created_time\", \"snapshot_number\" Ascending sort order for \"name\".", +"location": "query", +"type": "string" +}, +"pageSize": { +"description": "The maximum number of versions to return. The service may return fewer than this value. If unspecified, at most 50 versions will be returned. The maximum value is 1000; values above 1000 will be coerced to 1000.", +"format": "int32", +"location": "query", +"type": "integer" +}, +"pageToken": { +"description": "A page token, received from a previous `ListIntegrationVersions` call. Provide this to retrieve the subsequent page. When paginating, all other parameters provided to `ListIntegrationVersions` must match the call that provided the page token.", +"location": "query", +"type": "string" +}, +"parent": { +"description": "Required. The parent resource where this version will be created. Format: projects/{project}/locations/{location}/integrations/{integration} Specifically, when parent equals: 1. projects//locations//integrations/, Meaning: \"List versions (with filter) for a particular integration\". 2. projects//locations//integrations/- Meaning: \"List versions (with filter) for a client within a particular region\". 3. projects//locations/-/integrations/- Meaning: \"List versions (with filter) for a client\".", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/integrations/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1alpha/{+parent}/versions", +"response": { +"$ref": "GoogleCloudIntegrationsV1alphaListIntegrationVersionsResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"patch": { +"description": "Update a integration with a draft version in the specified project.", +"flatPath": "v1alpha/projects/{projectsId}/locations/{locationsId}/integrations/{integrationsId}/versions/{versionsId}", +"httpMethod": "PATCH", +"id": "integrations.projects.locations.integrations.versions.patch", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Output only. Auto-generated primary key.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/integrations/[^/]+/versions/[^/]+$", +"required": true, +"type": "string" +}, +"updateMask": { +"description": "Field mask specifying the fields in the above integration that have been modified and need to be updated.", +"format": "google-fieldmask", +"location": "query", +"type": "string" +} +}, +"path": "v1alpha/{+name}", +"request": { +"$ref": "GoogleCloudIntegrationsV1alphaIntegrationVersion" +}, +"response": { +"$ref": "GoogleCloudIntegrationsV1alphaIntegrationVersion" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"publish": { +"description": "This RPC throws an exception if the integration is in ARCHIVED or ACTIVE state. This RPC throws an exception if the version being published is DRAFT, and if the `locked_by` user is not the same as the user performing the Publish. Audit fields updated include last_published_timestamp, last_published_by, last_modified_timestamp, last_modified_by. Any existing lock is on this integration is released.", +"flatPath": "v1alpha/projects/{projectsId}/locations/{locationsId}/integrations/{integrationsId}/versions/{versionsId}:publish", +"httpMethod": "POST", +"id": "integrations.projects.locations.integrations.versions.publish", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. The version to publish. Format: projects/{project}/locations/{location}/integrations/{integration}/versions/{version}", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/integrations/[^/]+/versions/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1alpha/{+name}:publish", +"request": { +"$ref": "GoogleCloudIntegrationsV1alphaPublishIntegrationVersionRequest" +}, +"response": { +"$ref": "GoogleCloudIntegrationsV1alphaPublishIntegrationVersionResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"takeoverEditLock": { +"description": "Clears the `locked_by` and `locked_at_timestamp`in the DRAFT version of this integration. It then performs the same action as the CreateDraftIntegrationVersion (i.e., copies the DRAFT version of the integration as a SNAPSHOT and then creates a new DRAFT version with the `locked_by` set to the `user_taking_over` and the `locked_at_timestamp` set to the current timestamp). Both the `locked_by` and `user_taking_over` are notified via email about the takeover. This RPC throws an exception if the integration is not in DRAFT status or if the `locked_by` and `locked_at_timestamp` fields are not set.The TakeoverEdit lock is treated the same as an edit of the integration, and hence shares ACLs with edit. Audit fields updated include last_modified_timestamp, last_modified_by.", +"flatPath": "v1alpha/projects/{projectsId}/locations/{locationsId}/integrations/{integrationsId}/versions/{versionsId}:takeoverEditLock", +"httpMethod": "POST", +"id": "integrations.projects.locations.integrations.versions.takeoverEditLock", +"parameterOrder": [ +"integrationVersion" +], +"parameters": { +"integrationVersion": { +"description": "Required. The version to take over edit lock. Format: projects/{project}/locations/{location}/integrations/{integration}/versions/{version}", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/integrations/[^/]+/versions/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1alpha/{+integrationVersion}:takeoverEditLock", +"request": { +"$ref": "GoogleCloudIntegrationsV1alphaTakeoverEditLockRequest" +}, +"response": { +"$ref": "GoogleCloudIntegrationsV1alphaTakeoverEditLockResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"unpublish": { +"description": "Sets the status of the ACTIVE integration to SNAPSHOT with a new tag \"PREVIOUSLY_PUBLISHED\" after validating it. The \"HEAD\" and \"PUBLISH_REQUESTED\" tags do not change. This RPC throws an exception if the version being snapshot is not ACTIVE. Audit fields added include action, action_by, action_timestamp.", +"flatPath": "v1alpha/projects/{projectsId}/locations/{locationsId}/integrations/{integrationsId}/versions/{versionsId}:unpublish", +"httpMethod": "POST", +"id": "integrations.projects.locations.integrations.versions.unpublish", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. The version to deactivate. Format: projects/{project}/locations/{location}/integrations/{integration}/versions/{version}", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/integrations/[^/]+/versions/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1alpha/{+name}:unpublish", +"request": { +"$ref": "GoogleCloudIntegrationsV1alphaUnpublishIntegrationVersionRequest" +}, +"response": { +"$ref": "GoogleProtobufEmpty" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"upload": { +"description": "Uploads an integration. The content can be a previously downloaded integration. Performs the same function as CreateDraftIntegrationVersion, but accepts input in a string format, which holds the complete representation of the IntegrationVersion content.", +"flatPath": "v1alpha/projects/{projectsId}/locations/{locationsId}/integrations/{integrationsId}/versions:upload", +"httpMethod": "POST", +"id": "integrations.projects.locations.integrations.versions.upload", +"parameterOrder": [ +"parent" +], +"parameters": { +"parent": { +"description": "Required. The version to upload. Format: projects/{project}/locations/{location}/integrations/{integration}", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/integrations/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1alpha/{+parent}/versions:upload", +"request": { +"$ref": "GoogleCloudIntegrationsV1alphaUploadIntegrationVersionRequest" +}, +"response": { +"$ref": "GoogleCloudIntegrationsV1alphaUploadIntegrationVersionResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +} +} +} +} +}, +"products": { +"resources": { +"authConfigs": { +"methods": { +"create": { +"description": "Creates an auth config record. Fetch corresponding credentials for specific auth types, e.g. access token for OAuth 2.0, JWT token for JWT. Encrypt the auth config with Cloud KMS and store the encrypted credentials in Spanner. Returns the encrypted auth config.", +"flatPath": "v1alpha/projects/{projectsId}/locations/{locationsId}/products/{productsId}/authConfigs", +"httpMethod": "POST", +"id": "integrations.projects.locations.products.authConfigs.create", +"parameterOrder": [ +"parent" +], +"parameters": { +"clientCertificate.encryptedPrivateKey": { +"description": "The ssl certificate encoded in PEM format. This string must include the begin header and end footer lines. For example, -----BEGIN CERTIFICATE----- MIICTTCCAbagAwIBAgIJAPT0tSKNxan/MA0GCSqGSIb3DQEBCwUAMCoxFzAVBgNV BAoTDkdvb2dsZSBURVNUSU5HMQ8wDQYDVQQDEwZ0ZXN0Q0EwHhcNMTUwMTAxMDAw MDAwWhcNMjUwMTAxMDAwMDAwWjAuMRcwFQYDVQQKEw5Hb29nbGUgVEVTVElORzET MBEGA1UEAwwKam9lQGJhbmFuYTCBnzANBgkqhkiG9w0BAQEFAAOBjQAwgYkCgYEA vDYFgMgxi5W488d9J7UpCInl0NXmZQpJDEHE4hvkaRlH7pnC71H0DLt0/3zATRP1 JzY2+eqBmbGl4/sgZKYv8UrLnNyQNUTsNx1iZAfPUflf5FwgVsai8BM0pUciq1NB xD429VFcrGZNucvFLh72RuRFIKH8WUpiK/iZNFkWhZ0CAwEAAaN3MHUwDgYDVR0P AQH/BAQDAgWgMB0GA1UdJQQWMBQGCCsGAQUFBwMBBggrBgEFBQcDAjAMBgNVHRMB Af8EAjAAMBkGA1UdDgQSBBCVgnFBCWgL/iwCqnGrhTPQMBsGA1UdIwQUMBKAEKey Um2o4k2WiEVA0ldQvNYwDQYJKoZIhvcNAQELBQADgYEAYK986R4E3L1v+Q6esBtW JrUwA9UmJRSQr0N5w3o9XzarU37/bkjOP0Fw0k/A6Vv1n3vlciYfBFaBIam1qRHr 5dMsYf4CZS6w50r7hyzqyrwDoyNxkLnd2PdcHT/sym1QmflsjEs7pejtnohO6N2H wQW6M0H7Zt8claGRla4fKkg= -----END CERTIFICATE-----", +"location": "query", +"type": "string" +}, +"clientCertificate.passphrase": { +"description": "'passphrase' should be left unset if private key is not encrypted. Note that 'passphrase' is not the password for web server, but an extra layer of security to protected private key.", +"location": "query", +"type": "string" +}, +"clientCertificate.sslCertificate": { +"description": "The ssl certificate encoded in PEM format. This string must include the begin header and end footer lines. For example, -----BEGIN CERTIFICATE----- MIICTTCCAbagAwIBAgIJAPT0tSKNxan/MA0GCSqGSIb3DQEBCwUAMCoxFzAVBgNV BAoTDkdvb2dsZSBURVNUSU5HMQ8wDQYDVQQDEwZ0ZXN0Q0EwHhcNMTUwMTAxMDAw MDAwWhcNMjUwMTAxMDAwMDAwWjAuMRcwFQYDVQQKEw5Hb29nbGUgVEVTVElORzET MBEGA1UEAwwKam9lQGJhbmFuYTCBnzANBgkqhkiG9w0BAQEFAAOBjQAwgYkCgYEA vDYFgMgxi5W488d9J7UpCInl0NXmZQpJDEHE4hvkaRlH7pnC71H0DLt0/3zATRP1 JzY2+eqBmbGl4/sgZKYv8UrLnNyQNUTsNx1iZAfPUflf5FwgVsai8BM0pUciq1NB xD429VFcrGZNucvFLh72RuRFIKH8WUpiK/iZNFkWhZ0CAwEAAaN3MHUwDgYDVR0P AQH/BAQDAgWgMB0GA1UdJQQWMBQGCCsGAQUFBwMBBggrBgEFBQcDAjAMBgNVHRMB Af8EAjAAMBkGA1UdDgQSBBCVgnFBCWgL/iwCqnGrhTPQMBsGA1UdIwQUMBKAEKey Um2o4k2WiEVA0ldQvNYwDQYJKoZIhvcNAQELBQADgYEAYK986R4E3L1v+Q6esBtW JrUwA9UmJRSQr0N5w3o9XzarU37/bkjOP0Fw0k/A6Vv1n3vlciYfBFaBIam1qRHr 5dMsYf4CZS6w50r7hyzqyrwDoyNxkLnd2PdcHT/sym1QmflsjEs7pejtnohO6N2H wQW6M0H7Zt8claGRla4fKkg= -----END CERTIFICATE-----", +"location": "query", +"type": "string" +}, +"parent": { +"description": "Required. \"projects/{project}/locations/{location}\" format.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/products/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1alpha/{+parent}/authConfigs", +"request": { +"$ref": "GoogleCloudIntegrationsV1alphaAuthConfig" +}, +"response": { +"$ref": "GoogleCloudIntegrationsV1alphaAuthConfig" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"delete": { +"description": "Deletes an auth config.", +"flatPath": "v1alpha/projects/{projectsId}/locations/{locationsId}/products/{productsId}/authConfigs/{authConfigsId}", +"httpMethod": "DELETE", +"id": "integrations.projects.locations.products.authConfigs.delete", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. The name that is associated with the AuthConfig.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/products/[^/]+/authConfigs/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1alpha/{+name}", +"response": { +"$ref": "GoogleProtobufEmpty" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"get": { +"description": "Gets a complete auth config. If the auth config doesn't exist, Code.NOT_FOUND exception will be thrown. Returns the decrypted auth config.", +"flatPath": "v1alpha/projects/{projectsId}/locations/{locationsId}/products/{productsId}/authConfigs/{authConfigsId}", +"httpMethod": "GET", +"id": "integrations.projects.locations.products.authConfigs.get", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. The name that is associated with the AuthConfig.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/products/[^/]+/authConfigs/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1alpha/{+name}", +"response": { +"$ref": "GoogleCloudIntegrationsV1alphaAuthConfig" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"list": { +"description": "Lists all auth configs that match the filter. Restrict to auth configs belong to the current client only.", +"flatPath": "v1alpha/projects/{projectsId}/locations/{locationsId}/products/{productsId}/authConfigs", +"httpMethod": "GET", +"id": "integrations.projects.locations.products.authConfigs.list", +"parameterOrder": [ +"parent" +], +"parameters": { +"filter": { +"description": "Filtering as supported in https://developers.google.com/authorized-buyers/apis/guides/list-filters.", +"location": "query", +"type": "string" +}, +"pageSize": { +"description": "The size of entries in the response. If unspecified, defaults to 100.", +"format": "int32", +"location": "query", +"type": "integer" +}, +"pageToken": { +"description": "The token returned in the previous response.", +"location": "query", +"type": "string" +}, +"parent": { +"description": "Required. The client, which owns this collection of AuthConfigs.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/products/[^/]+$", +"required": true, +"type": "string" +}, +"readMask": { +"description": "The mask which specifies fields that need to be returned in the AuthConfig's response.", +"format": "google-fieldmask", +"location": "query", +"type": "string" +} +}, +"path": "v1alpha/{+parent}/authConfigs", +"response": { +"$ref": "GoogleCloudIntegrationsV1alphaListAuthConfigsResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"patch": { +"description": "Updates an auth config. If credential is updated, fetch the encrypted auth config from Spanner, decrypt with Cloud KMS key, update the credential fields, re-encrypt with Cloud KMS key and update the Spanner record. For other fields, directly update the Spanner record. Returns the encrypted auth config.", +"flatPath": "v1alpha/projects/{projectsId}/locations/{locationsId}/products/{productsId}/authConfigs/{authConfigsId}", +"httpMethod": "PATCH", +"id": "integrations.projects.locations.products.authConfigs.patch", +"parameterOrder": [ +"name" +], +"parameters": { +"clientCertificate.encryptedPrivateKey": { +"description": "The ssl certificate encoded in PEM format. This string must include the begin header and end footer lines. For example, -----BEGIN CERTIFICATE----- MIICTTCCAbagAwIBAgIJAPT0tSKNxan/MA0GCSqGSIb3DQEBCwUAMCoxFzAVBgNV BAoTDkdvb2dsZSBURVNUSU5HMQ8wDQYDVQQDEwZ0ZXN0Q0EwHhcNMTUwMTAxMDAw MDAwWhcNMjUwMTAxMDAwMDAwWjAuMRcwFQYDVQQKEw5Hb29nbGUgVEVTVElORzET MBEGA1UEAwwKam9lQGJhbmFuYTCBnzANBgkqhkiG9w0BAQEFAAOBjQAwgYkCgYEA vDYFgMgxi5W488d9J7UpCInl0NXmZQpJDEHE4hvkaRlH7pnC71H0DLt0/3zATRP1 JzY2+eqBmbGl4/sgZKYv8UrLnNyQNUTsNx1iZAfPUflf5FwgVsai8BM0pUciq1NB xD429VFcrGZNucvFLh72RuRFIKH8WUpiK/iZNFkWhZ0CAwEAAaN3MHUwDgYDVR0P AQH/BAQDAgWgMB0GA1UdJQQWMBQGCCsGAQUFBwMBBggrBgEFBQcDAjAMBgNVHRMB Af8EAjAAMBkGA1UdDgQSBBCVgnFBCWgL/iwCqnGrhTPQMBsGA1UdIwQUMBKAEKey Um2o4k2WiEVA0ldQvNYwDQYJKoZIhvcNAQELBQADgYEAYK986R4E3L1v+Q6esBtW JrUwA9UmJRSQr0N5w3o9XzarU37/bkjOP0Fw0k/A6Vv1n3vlciYfBFaBIam1qRHr 5dMsYf4CZS6w50r7hyzqyrwDoyNxkLnd2PdcHT/sym1QmflsjEs7pejtnohO6N2H wQW6M0H7Zt8claGRla4fKkg= -----END CERTIFICATE-----", +"location": "query", +"type": "string" +}, +"clientCertificate.passphrase": { +"description": "'passphrase' should be left unset if private key is not encrypted. Note that 'passphrase' is not the password for web server, but an extra layer of security to protected private key.", +"location": "query", +"type": "string" +}, +"clientCertificate.sslCertificate": { +"description": "The ssl certificate encoded in PEM format. This string must include the begin header and end footer lines. For example, -----BEGIN CERTIFICATE----- MIICTTCCAbagAwIBAgIJAPT0tSKNxan/MA0GCSqGSIb3DQEBCwUAMCoxFzAVBgNV BAoTDkdvb2dsZSBURVNUSU5HMQ8wDQYDVQQDEwZ0ZXN0Q0EwHhcNMTUwMTAxMDAw MDAwWhcNMjUwMTAxMDAwMDAwWjAuMRcwFQYDVQQKEw5Hb29nbGUgVEVTVElORzET MBEGA1UEAwwKam9lQGJhbmFuYTCBnzANBgkqhkiG9w0BAQEFAAOBjQAwgYkCgYEA vDYFgMgxi5W488d9J7UpCInl0NXmZQpJDEHE4hvkaRlH7pnC71H0DLt0/3zATRP1 JzY2+eqBmbGl4/sgZKYv8UrLnNyQNUTsNx1iZAfPUflf5FwgVsai8BM0pUciq1NB xD429VFcrGZNucvFLh72RuRFIKH8WUpiK/iZNFkWhZ0CAwEAAaN3MHUwDgYDVR0P AQH/BAQDAgWgMB0GA1UdJQQWMBQGCCsGAQUFBwMBBggrBgEFBQcDAjAMBgNVHRMB Af8EAjAAMBkGA1UdDgQSBBCVgnFBCWgL/iwCqnGrhTPQMBsGA1UdIwQUMBKAEKey Um2o4k2WiEVA0ldQvNYwDQYJKoZIhvcNAQELBQADgYEAYK986R4E3L1v+Q6esBtW JrUwA9UmJRSQr0N5w3o9XzarU37/bkjOP0Fw0k/A6Vv1n3vlciYfBFaBIam1qRHr 5dMsYf4CZS6w50r7hyzqyrwDoyNxkLnd2PdcHT/sym1QmflsjEs7pejtnohO6N2H wQW6M0H7Zt8claGRla4fKkg= -----END CERTIFICATE-----", +"location": "query", +"type": "string" +}, +"name": { +"description": "Resource name of the auth config. For more information, see Manage authentication profiles. projects/{project}/locations/{location}/authConfigs/{authConfig}.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/products/[^/]+/authConfigs/[^/]+$", +"required": true, +"type": "string" +}, +"updateMask": { +"description": "Field mask specifying the fields in the above AuthConfig that have been modified and need to be updated.", +"format": "google-fieldmask", +"location": "query", +"type": "string" +} +}, +"path": "v1alpha/{+name}", +"request": { +"$ref": "GoogleCloudIntegrationsV1alphaAuthConfig" +}, +"response": { +"$ref": "GoogleCloudIntegrationsV1alphaAuthConfig" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +} +} +}, +"certificates": { +"methods": { +"create": { +"description": "Creates a new certificate. The certificate will be registered to the trawler service and will be encrypted using cloud KMS and stored in Spanner Returns the certificate.", +"flatPath": "v1alpha/projects/{projectsId}/locations/{locationsId}/products/{productsId}/certificates", +"httpMethod": "POST", +"id": "integrations.projects.locations.products.certificates.create", +"parameterOrder": [ +"parent" +], +"parameters": { +"parent": { +"description": "Required. \"projects/{project}/locations/{location}\" format.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/products/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1alpha/{+parent}/certificates", +"request": { +"$ref": "GoogleCloudIntegrationsV1alphaCertificate" +}, +"response": { +"$ref": "GoogleCloudIntegrationsV1alphaCertificate" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"delete": { +"description": "Delete a certificate", +"flatPath": "v1alpha/projects/{projectsId}/locations/{locationsId}/products/{productsId}/certificates/{certificatesId}", +"httpMethod": "DELETE", +"id": "integrations.projects.locations.products.certificates.delete", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. The name that is associated with the Certificate.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/products/[^/]+/certificates/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1alpha/{+name}", +"response": { +"$ref": "GoogleProtobufEmpty" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"get": { +"description": "Get a certificates in the specified project.", +"flatPath": "v1alpha/projects/{projectsId}/locations/{locationsId}/products/{productsId}/certificates/{certificatesId}", +"httpMethod": "GET", +"id": "integrations.projects.locations.products.certificates.get", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. The certificate to retrieve. Format: projects/{project}/locations/{location}/certificates/{certificate}", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/products/[^/]+/certificates/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1alpha/{+name}", +"response": { +"$ref": "GoogleCloudIntegrationsV1alphaCertificate" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"list": { +"description": "List all the certificates that match the filter. Restrict to certificate of current client only.", +"flatPath": "v1alpha/projects/{projectsId}/locations/{locationsId}/products/{productsId}/certificates", +"httpMethod": "GET", +"id": "integrations.projects.locations.products.certificates.list", +"parameterOrder": [ +"parent" +], +"parameters": { +"filter": { +"description": "Filtering as supported in https://developers.google.com/authorized-buyers/apis/guides/list-filters.", +"location": "query", +"type": "string" +}, +"pageSize": { +"description": "The size of entries in the response. If unspecified, defaults to 100.", +"format": "int32", +"location": "query", +"type": "integer" +}, +"pageToken": { +"description": "The token returned in the previous response.", +"location": "query", +"type": "string" +}, +"parent": { +"description": "Required. The client, which owns this collection of Certificates.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/products/[^/]+$", +"required": true, +"type": "string" +}, +"readMask": { +"description": "The mask which specifies fields that need to be returned in the Certificate's response.", +"format": "google-fieldmask", +"location": "query", +"type": "string" +} +}, +"path": "v1alpha/{+parent}/certificates", +"response": { +"$ref": "GoogleCloudIntegrationsV1alphaListCertificatesResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"patch": { +"description": "Updates the certificate by id. If new certificate file is updated, it will register with the trawler service, re-encrypt with cloud KMS and update the Spanner record. Other fields will directly update the Spanner record. Returns the Certificate.", +"flatPath": "v1alpha/projects/{projectsId}/locations/{locationsId}/products/{productsId}/certificates/{certificatesId}", +"httpMethod": "PATCH", +"id": "integrations.projects.locations.products.certificates.patch", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Output only. Auto generated primary key", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/products/[^/]+/certificates/[^/]+$", +"required": true, +"type": "string" +}, +"updateMask": { +"description": "Field mask specifying the fields in the above Certificate that have been modified and need to be updated.", +"format": "google-fieldmask", +"location": "query", +"type": "string" +} +}, +"path": "v1alpha/{+name}", +"request": { +"$ref": "GoogleCloudIntegrationsV1alphaCertificate" +}, +"response": { +"$ref": "GoogleCloudIntegrationsV1alphaCertificate" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +} +} +}, +"integrations": { +"methods": { +"delete": { +"description": "Delete the selected integration and all versions inside", +"flatPath": "v1alpha/projects/{projectsId}/locations/{locationsId}/products/{productsId}/integrations/{integrationsId}", +"httpMethod": "DELETE", +"id": "integrations.projects.locations.products.integrations.delete", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. The location resource of the request.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/products/[^/]+/integrations/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1alpha/{+name}", +"response": { +"$ref": "GoogleProtobufEmpty" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"execute": { +"description": "Executes integrations synchronously by passing the trigger id in the request body. The request is not returned until the requested executions are either fulfilled or experienced an error. If the integration name is not specified (passing `-`), all of the associated integration under the given trigger_id will be executed. Otherwise only the specified integration for the given `trigger_id` is executed. This is helpful for execution the integration from UI.", +"flatPath": "v1alpha/projects/{projectsId}/locations/{locationsId}/products/{productsId}/integrations/{integrationsId}:execute", +"httpMethod": "POST", +"id": "integrations.projects.locations.products.integrations.execute", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. The integration resource name.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/products/[^/]+/integrations/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1alpha/{+name}:execute", +"request": { +"$ref": "GoogleCloudIntegrationsV1alphaExecuteIntegrationsRequest" +}, +"response": { +"$ref": "GoogleCloudIntegrationsV1alphaExecuteIntegrationsResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"list": { +"description": "Returns the list of all integrations in the specified project.", +"flatPath": "v1alpha/projects/{projectsId}/locations/{locationsId}/products/{productsId}/integrations", +"httpMethod": "GET", +"id": "integrations.projects.locations.products.integrations.list", +"parameterOrder": [ +"parent" +], +"parameters": { +"filter": { +"description": "Filter on fields of IntegrationVersion. Fields can be compared with literal values by use of \":\" (containment), \"=\" (equality), \">\" (greater), \"<\" (less than), >=\" (greater than or equal to), \"<=\" (less than or equal to), and \"!=\" (inequality) operators. Negation, conjunction, and disjunction are written using NOT, AND, and OR keywords. For example, organization_id=\\\"1\\\" AND state=ACTIVE AND description:\"test\". Filtering cannot be performed on repeated fields like `task_config`.", +"location": "query", +"type": "string" +}, +"orderBy": { +"description": "The results would be returned in order you specified here. Supported sort keys are: Descending sort order by \"last_modified_time\", \"created_time\", \"snapshot_number\". Ascending sort order by the integration name.", +"location": "query", +"type": "string" +}, +"pageSize": { +"description": "The page size for the resquest.", +"format": "int32", +"location": "query", +"type": "integer" +}, +"pageToken": { +"description": "The page token for the resquest.", +"location": "query", +"type": "string" +}, +"parent": { +"description": "Required. Project and location from which the integrations should be listed. Format: projects/{project}", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/products/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1alpha/{+parent}/integrations", +"response": { +"$ref": "GoogleCloudIntegrationsV1alphaListIntegrationsResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"schedule": { +"description": "Schedules an integration for execution by passing the trigger id and the scheduled time in the request body.", +"flatPath": "v1alpha/projects/{projectsId}/locations/{locationsId}/products/{productsId}/integrations/{integrationsId}:schedule", +"httpMethod": "POST", +"id": "integrations.projects.locations.products.integrations.schedule", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "The integration resource name.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/products/[^/]+/integrations/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1alpha/{+name}:schedule", +"request": { +"$ref": "GoogleCloudIntegrationsV1alphaScheduleIntegrationsRequest" +}, +"response": { +"$ref": "GoogleCloudIntegrationsV1alphaScheduleIntegrationsResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +} +}, +"resources": { +"executions": { +"methods": { +"cancel": { +"description": "Cancellation of an execution", +"flatPath": "v1alpha/projects/{projectsId}/locations/{locationsId}/products/{productsId}/integrations/{integrationsId}/executions/{executionsId}:cancel", +"httpMethod": "POST", +"id": "integrations.projects.locations.products.integrations.executions.cancel", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. The execution resource name. Format: projects/{gcp_project_id}/locations/{location}/products/{product}/integrations/{integration_id}/executions/{execution_id}", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/products/[^/]+/integrations/[^/]+/executions/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1alpha/{+name}:cancel", +"request": { +"$ref": "GoogleCloudIntegrationsV1alphaCancelExecutionRequest" +}, +"response": { +"$ref": "GoogleCloudIntegrationsV1alphaCancelExecutionResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"get": { +"description": "Get an execution in the specified project.", +"flatPath": "v1alpha/projects/{projectsId}/locations/{locationsId}/products/{productsId}/integrations/{integrationsId}/executions/{executionsId}", +"httpMethod": "GET", +"id": "integrations.projects.locations.products.integrations.executions.get", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. The execution resource name. Format: projects/{gcp_project_id}/locations/{location}/products/{product}/integrations/{integration_id}/executions/{execution_id}", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/products/[^/]+/integrations/[^/]+/executions/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1alpha/{+name}", +"response": { +"$ref": "GoogleCloudIntegrationsV1alphaExecution" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"list": { +"description": "Lists the results of all the integration executions. The response includes the same information as the [execution log](https://cloud.google.com/application-integration/docs/viewing-logs) in the Integration UI.", +"flatPath": "v1alpha/projects/{projectsId}/locations/{locationsId}/products/{productsId}/integrations/{integrationsId}/executions", +"httpMethod": "GET", +"id": "integrations.projects.locations.products.integrations.executions.list", +"parameterOrder": [ +"parent" +], +"parameters": { +"filter": { +"description": "Optional. Standard filter field, we support filtering on following fields: workflow_name: the name of the integration. CreateTimestamp: the execution created time. event_execution_state: the state of the executions. execution_id: the id of the execution. trigger_id: the id of the trigger. parameter_type: the type of the parameters involved in the execution. All fields support for EQUALS, in additional: CreateTimestamp support for LESS_THAN, GREATER_THAN ParameterType support for HAS For example: \"parameter_type\" HAS \\\"string\\\" Also supports operators like AND, OR, NOT For example, trigger_id=\\\"id1\\\" AND workflow_name=\\\"testWorkflow\\\"", +"location": "query", +"type": "string" +}, +"filterParams.customFilter": { +"description": "Optional user-provided custom filter.", +"location": "query", +"type": "string" +}, +"filterParams.endTime": { +"description": "End timestamp.", +"format": "int64", +"location": "query", +"type": "string" +}, +"filterParams.eventStatuses": { +"description": "List of possible event statuses.", +"location": "query", +"repeated": true, +"type": "string" +}, +"filterParams.executionId": { +"description": "Execution id.", +"location": "query", +"type": "string" +}, +"filterParams.parameterKey": { +"deprecated": true, +"description": "Param key. DEPRECATED. User parameter_pair_key instead.", +"location": "query", +"type": "string" +}, +"filterParams.parameterPairKey": { +"description": "Param key in the key value pair filter.", +"location": "query", +"type": "string" +}, +"filterParams.parameterPairValue": { +"description": "Param value in the key value pair filter.", +"location": "query", +"type": "string" +}, +"filterParams.parameterType": { +"description": "Param type.", +"location": "query", +"type": "string" +}, +"filterParams.parameterValue": { +"deprecated": true, +"description": "Param value. DEPRECATED. User parameter_pair_value instead.", +"location": "query", +"type": "string" +}, +"filterParams.startTime": { +"description": "Start timestamp.", +"format": "int64", +"location": "query", +"type": "string" +}, +"filterParams.taskStatuses": { +"deprecated": true, +"description": "List of possible task statuses.", +"location": "query", +"repeated": true, +"type": "string" +}, +"filterParams.workflowName": { +"description": "Workflow name.", +"location": "query", +"type": "string" +}, +"orderBy": { +"description": "Optional. The results would be returned in order you specified here. Currently supporting \"last_modified_time\" and \"create_time\".", +"location": "query", +"type": "string" +}, +"pageSize": { +"description": "Optional. The size of entries in the response.", +"format": "int32", +"location": "query", +"type": "integer" +}, +"pageToken": { +"description": "Optional. The token returned in the previous response.", +"location": "query", +"type": "string" +}, +"parent": { +"description": "Required. The parent resource name of the integration execution.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/products/[^/]+/integrations/[^/]+$", +"required": true, +"type": "string" +}, +"readMask": { +"description": "Optional. View mask for the response data. If set, only the field specified will be returned as part of the result. If not set, all fields in event execution info will be filled and returned.", +"format": "google-fieldmask", +"location": "query", +"type": "string" +}, +"refreshAcl": { +"description": "Optional. If true, the service will use the most recent acl information to list event execution infos and renew the acl cache. Note that fetching the most recent acl is synchronous, so it will increase RPC call latency.", +"location": "query", +"type": "boolean" +}, +"snapshotMetadataWithoutParams": { +"description": "Optional. If true, the service will provide execution info with snapshot metadata only i.e. without event parameters.", +"location": "query", +"type": "boolean" +}, +"truncateParams": { +"deprecated": true, +"description": "Optional. If true, the service will truncate the params to only keep the first 1000 characters of string params and empty the executions in order to make response smaller. Only works for UI and when the params fields are not filtered out.", +"location": "query", +"type": "boolean" +} +}, +"path": "v1alpha/{+parent}/executions", +"response": { +"$ref": "GoogleCloudIntegrationsV1alphaListExecutionsResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +} +}, +"resources": { +"suspensions": { +"methods": { +"lift": { +"description": "* Lifts suspension for the Suspension task. Fetch corresponding suspension with provided suspension Id, resolve suspension, and set up suspension result for the Suspension Task.", +"flatPath": "v1alpha/projects/{projectsId}/locations/{locationsId}/products/{productsId}/integrations/{integrationsId}/executions/{executionsId}/suspensions/{suspensionsId}:lift", +"httpMethod": "POST", +"id": "integrations.projects.locations.products.integrations.executions.suspensions.lift", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. The resource that the suspension belongs to. \"projects/{project}/locations/{location}/products/{product}/integrations/{integration}/executions/{execution}/suspensions/{suspenion}\" format.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/products/[^/]+/integrations/[^/]+/executions/[^/]+/suspensions/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1alpha/{+name}:lift", +"request": { +"$ref": "GoogleCloudIntegrationsV1alphaLiftSuspensionRequest" +}, +"response": { +"$ref": "GoogleCloudIntegrationsV1alphaLiftSuspensionResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"list": { +"description": "* Lists suspensions associated with a specific execution. Only those with permissions to resolve the relevant suspensions will be able to view them.", +"flatPath": "v1alpha/projects/{projectsId}/locations/{locationsId}/products/{productsId}/integrations/{integrationsId}/executions/{executionsId}/suspensions", +"httpMethod": "GET", +"id": "integrations.projects.locations.products.integrations.executions.suspensions.list", +"parameterOrder": [ +"parent" +], +"parameters": { +"filter": { +"description": "Standard filter field.", +"location": "query", +"type": "string" +}, +"orderBy": { +"description": "Field name to order by.", +"location": "query", +"type": "string" +}, +"pageSize": { +"description": "Maximum number of entries in the response.", +"format": "int32", +"location": "query", +"type": "integer" +}, +"pageToken": { +"description": "Token to retrieve a specific page.", +"location": "query", +"type": "string" +}, +"parent": { +"description": "Required. projects/{gcp_project_id}/locations/{location}/products/{product}/integrations/{integration_name}/executions/{execution_name}", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/products/[^/]+/integrations/[^/]+/executions/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1alpha/{+parent}/suspensions", +"response": { +"$ref": "GoogleCloudIntegrationsV1alphaListSuspensionsResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"resolve": { +"description": "* Resolves (lifts/rejects) any number of suspensions. If the integration is already running, only the status of the suspension is updated. Otherwise, the suspended integration will begin execution again.", +"flatPath": "v1alpha/projects/{projectsId}/locations/{locationsId}/products/{productsId}/integrations/{integrationsId}/executions/{executionsId}/suspensions/{suspensionsId}:resolve", +"httpMethod": "POST", +"id": "integrations.projects.locations.products.integrations.executions.suspensions.resolve", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. projects/{gcp_project_id}/locations/{location}/products/{product}/integrations/{integration_name}/executions/{execution_name}/suspensions/{suspension_id}", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/products/[^/]+/integrations/[^/]+/executions/[^/]+/suspensions/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1alpha/{+name}:resolve", +"request": { +"$ref": "GoogleCloudIntegrationsV1alphaResolveSuspensionRequest" +}, +"response": { +"$ref": "GoogleCloudIntegrationsV1alphaResolveSuspensionResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +} +} +} +} +}, +"versions": { +"methods": { +"create": { +"description": "Create a integration with a draft version in the specified project.", +"flatPath": "v1alpha/projects/{projectsId}/locations/{locationsId}/products/{productsId}/integrations/{integrationsId}/versions", +"httpMethod": "POST", +"id": "integrations.projects.locations.products.integrations.versions.create", +"parameterOrder": [ +"parent" +], +"parameters": { +"createSampleIntegrations": { +"description": "Optional. Optional. Indicates if sample workflow should be created.", +"location": "query", +"type": "boolean" +}, +"newIntegration": { +"description": "Set this flag to true, if draft version is to be created for a brand new integration. False, if the request is for an existing integration. For backward compatibility reasons, even if this flag is set to `false` and no existing integration is found, a new draft integration will still be created.", +"location": "query", +"type": "boolean" +}, +"parent": { +"description": "Required. The parent resource where this version will be created. Format: projects/{project}/locations/{location}/integrations/{integration}", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/products/[^/]+/integrations/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1alpha/{+parent}/versions", +"request": { +"$ref": "GoogleCloudIntegrationsV1alphaIntegrationVersion" +}, +"response": { +"$ref": "GoogleCloudIntegrationsV1alphaIntegrationVersion" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"delete": { +"description": "Soft-deletes the integration. Changes the status of the integration to ARCHIVED. If the integration being ARCHIVED is tagged as \"HEAD\", the tag is removed from this snapshot and set to the previous non-ARCHIVED snapshot. The PUBLISH_REQUESTED, DUE_FOR_DELETION tags are removed too. This RPC throws an exception if the version being deleted is DRAFT, and if the `locked_by` user is not the same as the user performing the Delete. Audit fields updated include last_modified_timestamp, last_modified_by. Any existing lock is released when Deleting a integration. Currently, there is no undelete mechanism.", +"flatPath": "v1alpha/projects/{projectsId}/locations/{locationsId}/products/{productsId}/integrations/{integrationsId}/versions/{versionsId}", +"httpMethod": "DELETE", +"id": "integrations.projects.locations.products.integrations.versions.delete", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. The version to delete. Format: projects/{project}/locations/{location}/integrations/{integration}/versions/{version}", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/products/[^/]+/integrations/[^/]+/versions/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1alpha/{+name}", +"response": { +"$ref": "GoogleProtobufEmpty" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"download": { +"description": "Downloads an integration. Retrieves the `IntegrationVersion` for a given `integration_id` and returns the response as a string.", +"flatPath": "v1alpha/projects/{projectsId}/locations/{locationsId}/products/{productsId}/integrations/{integrationsId}/versions/{versionsId}:download", +"httpMethod": "GET", +"id": "integrations.projects.locations.products.integrations.versions.download", +"parameterOrder": [ +"name" +], +"parameters": { +"fileFormat": { +"description": "File format for download request.", +"enum": [ +"FILE_FORMAT_UNSPECIFIED", +"JSON", +"YAML" +], +"enumDescriptions": [ +"Unspecified file format", +"JSON File Format", +"YAML File Format" +], +"location": "query", +"type": "string" +}, +"files": { +"description": "Optional. Integration related file to download like Integration Json, Config variable, testcase etc.", +"enum": [ +"INTEGRATION_FILE_UNSPECIFIED", +"INTEGRATION", +"INTEGRATION_CONFIG_VARIABLES" +], +"enumDescriptions": [ +"Default value.", +"Integration file.", +"Integration Config variables." +], +"location": "query", +"repeated": true, +"type": "string" +}, +"name": { +"description": "Required. The version to download. Format: projects/{project}/locations/{location}/integrations/{integration}/versions/{version}", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/products/[^/]+/integrations/[^/]+/versions/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1alpha/{+name}:download", +"response": { +"$ref": "GoogleCloudIntegrationsV1alphaDownloadIntegrationVersionResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"get": { +"description": "Get a integration in the specified project.", +"flatPath": "v1alpha/projects/{projectsId}/locations/{locationsId}/products/{productsId}/integrations/{integrationsId}/versions/{versionsId}", +"httpMethod": "GET", +"id": "integrations.projects.locations.products.integrations.versions.get", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. The version to retrieve. Format: projects/{project}/locations/{location}/integrations/{integration}/versions/{version}", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/products/[^/]+/integrations/[^/]+/versions/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1alpha/{+name}", +"response": { +"$ref": "GoogleCloudIntegrationsV1alphaIntegrationVersion" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"list": { +"description": "Returns the list of all integration versions in the specified project.", +"flatPath": "v1alpha/projects/{projectsId}/locations/{locationsId}/products/{productsId}/integrations/{integrationsId}/versions", +"httpMethod": "GET", +"id": "integrations.projects.locations.products.integrations.versions.list", +"parameterOrder": [ +"parent" +], +"parameters": { +"fieldMask": { +"description": "The field mask which specifies the particular data to be returned.", +"format": "google-fieldmask", +"location": "query", +"type": "string" +}, +"filter": { +"description": "Filter on fields of IntegrationVersion. Fields can be compared with literal values by use of \":\" (containment), \"=\" (equality), \">\" (greater), \"<\" (less than), >=\" (greater than or equal to), \"<=\" (less than or equal to), and \"!=\" (inequality) operators. Negation, conjunction, and disjunction are written using NOT, AND, and OR keywords. For example, organization_id=\\\"1\\\" AND state=ACTIVE AND description:\"test\". Filtering cannot be performed on repeated fields like `task_config`.", +"location": "query", +"type": "string" +}, +"orderBy": { +"description": "The results would be returned in order you specified here. Currently supported sort keys are: Descending sort order for \"last_modified_time\", \"created_time\", \"snapshot_number\" Ascending sort order for \"name\".", +"location": "query", +"type": "string" +}, +"pageSize": { +"description": "The maximum number of versions to return. The service may return fewer than this value. If unspecified, at most 50 versions will be returned. The maximum value is 1000; values above 1000 will be coerced to 1000.", +"format": "int32", +"location": "query", +"type": "integer" +}, +"pageToken": { +"description": "A page token, received from a previous `ListIntegrationVersions` call. Provide this to retrieve the subsequent page. When paginating, all other parameters provided to `ListIntegrationVersions` must match the call that provided the page token.", +"location": "query", +"type": "string" +}, +"parent": { +"description": "Required. The parent resource where this version will be created. Format: projects/{project}/locations/{location}/integrations/{integration} Specifically, when parent equals: 1. projects//locations//integrations/, Meaning: \"List versions (with filter) for a particular integration\". 2. projects//locations//integrations/- Meaning: \"List versions (with filter) for a client within a particular region\". 3. projects//locations/-/integrations/- Meaning: \"List versions (with filter) for a client\".", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/products/[^/]+/integrations/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1alpha/{+parent}/versions", +"response": { +"$ref": "GoogleCloudIntegrationsV1alphaListIntegrationVersionsResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"patch": { +"description": "Update a integration with a draft version in the specified project.", +"flatPath": "v1alpha/projects/{projectsId}/locations/{locationsId}/products/{productsId}/integrations/{integrationsId}/versions/{versionsId}", +"httpMethod": "PATCH", +"id": "integrations.projects.locations.products.integrations.versions.patch", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Output only. Auto-generated primary key.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/products/[^/]+/integrations/[^/]+/versions/[^/]+$", +"required": true, +"type": "string" +}, +"updateMask": { +"description": "Field mask specifying the fields in the above integration that have been modified and need to be updated.", +"format": "google-fieldmask", +"location": "query", +"type": "string" +} +}, +"path": "v1alpha/{+name}", +"request": { +"$ref": "GoogleCloudIntegrationsV1alphaIntegrationVersion" +}, +"response": { +"$ref": "GoogleCloudIntegrationsV1alphaIntegrationVersion" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"publish": { +"description": "This RPC throws an exception if the integration is in ARCHIVED or ACTIVE state. This RPC throws an exception if the version being published is DRAFT, and if the `locked_by` user is not the same as the user performing the Publish. Audit fields updated include last_published_timestamp, last_published_by, last_modified_timestamp, last_modified_by. Any existing lock is on this integration is released.", +"flatPath": "v1alpha/projects/{projectsId}/locations/{locationsId}/products/{productsId}/integrations/{integrationsId}/versions/{versionsId}:publish", +"httpMethod": "POST", +"id": "integrations.projects.locations.products.integrations.versions.publish", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. The version to publish. Format: projects/{project}/locations/{location}/integrations/{integration}/versions/{version}", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/products/[^/]+/integrations/[^/]+/versions/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1alpha/{+name}:publish", +"request": { +"$ref": "GoogleCloudIntegrationsV1alphaPublishIntegrationVersionRequest" +}, +"response": { +"$ref": "GoogleCloudIntegrationsV1alphaPublishIntegrationVersionResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"takeoverEditLock": { +"description": "Clears the `locked_by` and `locked_at_timestamp`in the DRAFT version of this integration. It then performs the same action as the CreateDraftIntegrationVersion (i.e., copies the DRAFT version of the integration as a SNAPSHOT and then creates a new DRAFT version with the `locked_by` set to the `user_taking_over` and the `locked_at_timestamp` set to the current timestamp). Both the `locked_by` and `user_taking_over` are notified via email about the takeover. This RPC throws an exception if the integration is not in DRAFT status or if the `locked_by` and `locked_at_timestamp` fields are not set.The TakeoverEdit lock is treated the same as an edit of the integration, and hence shares ACLs with edit. Audit fields updated include last_modified_timestamp, last_modified_by.", +"flatPath": "v1alpha/projects/{projectsId}/locations/{locationsId}/products/{productsId}/integrations/{integrationsId}/versions/{versionsId}:takeoverEditLock", +"httpMethod": "POST", +"id": "integrations.projects.locations.products.integrations.versions.takeoverEditLock", +"parameterOrder": [ +"integrationVersion" +], +"parameters": { +"integrationVersion": { +"description": "Required. The version to take over edit lock. Format: projects/{project}/locations/{location}/integrations/{integration}/versions/{version}", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/products/[^/]+/integrations/[^/]+/versions/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1alpha/{+integrationVersion}:takeoverEditLock", +"request": { +"$ref": "GoogleCloudIntegrationsV1alphaTakeoverEditLockRequest" +}, +"response": { +"$ref": "GoogleCloudIntegrationsV1alphaTakeoverEditLockResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"unpublish": { +"description": "Sets the status of the ACTIVE integration to SNAPSHOT with a new tag \"PREVIOUSLY_PUBLISHED\" after validating it. The \"HEAD\" and \"PUBLISH_REQUESTED\" tags do not change. This RPC throws an exception if the version being snapshot is not ACTIVE. Audit fields added include action, action_by, action_timestamp.", +"flatPath": "v1alpha/projects/{projectsId}/locations/{locationsId}/products/{productsId}/integrations/{integrationsId}/versions/{versionsId}:unpublish", +"httpMethod": "POST", +"id": "integrations.projects.locations.products.integrations.versions.unpublish", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. The version to deactivate. Format: projects/{project}/locations/{location}/integrations/{integration}/versions/{version}", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/products/[^/]+/integrations/[^/]+/versions/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1alpha/{+name}:unpublish", +"request": { +"$ref": "GoogleCloudIntegrationsV1alphaUnpublishIntegrationVersionRequest" +}, +"response": { +"$ref": "GoogleProtobufEmpty" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"upload": { +"description": "Uploads an integration. The content can be a previously downloaded integration. Performs the same function as CreateDraftIntegrationVersion, but accepts input in a string format, which holds the complete representation of the IntegrationVersion content.", +"flatPath": "v1alpha/projects/{projectsId}/locations/{locationsId}/products/{productsId}/integrations/{integrationsId}/versions:upload", +"httpMethod": "POST", +"id": "integrations.projects.locations.products.integrations.versions.upload", +"parameterOrder": [ +"parent" +], +"parameters": { +"parent": { +"description": "Required. The version to upload. Format: projects/{project}/locations/{location}/integrations/{integration}", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/products/[^/]+/integrations/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1alpha/{+parent}/versions:upload", +"request": { +"$ref": "GoogleCloudIntegrationsV1alphaUploadIntegrationVersionRequest" +}, +"response": { +"$ref": "GoogleCloudIntegrationsV1alphaUploadIntegrationVersionResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +} +} +} +} +}, +"integrationtemplates": { +"resources": { +"versions": { +"methods": { +"create": { +"description": "Creates an IntegrationTemplateVersion.", +"flatPath": "v1alpha/projects/{projectsId}/locations/{locationsId}/products/{productsId}/integrationtemplates/{integrationtemplatesId}/versions", +"httpMethod": "POST", +"id": "integrations.projects.locations.products.integrationtemplates.versions.create", +"parameterOrder": [ +"parent" +], +"parameters": { +"parent": { +"description": "Required. The parent resource where this TemplateVersion will be created. Format: projects/{project}/location/{location}/product/{product}/integrationtemplates/{integrationtemplate}", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/products/[^/]+/integrationtemplates/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1alpha/{+parent}/versions", +"request": { +"$ref": "GoogleCloudIntegrationsV1alphaIntegrationTemplateVersion" +}, +"response": { +"$ref": "GoogleCloudIntegrationsV1alphaIntegrationTemplateVersion" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"get": { +"description": "Returns an IntegrationTemplateVersion in the specified project.", +"flatPath": "v1alpha/projects/{projectsId}/locations/{locationsId}/products/{productsId}/integrationtemplates/{integrationtemplatesId}/versions/{versionsId}", +"httpMethod": "GET", +"id": "integrations.projects.locations.products.integrationtemplates.versions.get", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. The TemplateVersion to retrieve. Format: projects/{project}/locations/{location}/products/{product}/integrationtemplates/{integrationtemplate}/versions/{version}", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/products/[^/]+/integrationtemplates/[^/]+/versions/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1alpha/{+name}", +"response": { +"$ref": "GoogleCloudIntegrationsV1alphaIntegrationTemplateVersion" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"list": { +"description": "Returns the list of all IntegrationTemplateVersions in the specified project.", +"flatPath": "v1alpha/projects/{projectsId}/locations/{locationsId}/products/{productsId}/integrationtemplates/{integrationtemplatesId}/versions", +"httpMethod": "GET", +"id": "integrations.projects.locations.products.integrationtemplates.versions.list", +"parameterOrder": [ +"parent" +], +"parameters": { +"filter": { +"description": "Filter syntax: defined in the EBNF grammar.", +"location": "query", +"type": "string" +}, +"pageSize": { +"description": "The maximum number of IntegrationTemplateVersions to return. The service may return fewer than this value. If unspecified, at most 50 versions will be returned. The maximum value is 1000; values above 1000 will be coerced to 1000.", +"format": "int32", +"location": "query", +"type": "integer" +}, +"pageToken": { +"description": "A page token, received from a previous `ListIntegrationTemplateVersions` call. Provide this to retrieve the subsequent page. When paginating, all other parameters provided to `ListIntegrationTemplateVersions` must match the call that provided the page token.", +"location": "query", +"type": "string" +}, +"parent": { +"description": "Required. Format: projects/{project}/location/{location}/product/{product}/integrationtemplates/{integrationtemplate}", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/products/[^/]+/integrationtemplates/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1alpha/{+parent}/versions", +"response": { +"$ref": "GoogleCloudIntegrationsV1alphaListIntegrationTemplateVersionsResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +} +} +} +} +}, +"sfdcInstances": { +"methods": { +"create": { +"description": "Creates an sfdc instance record. Store the sfdc instance in Spanner. Returns the sfdc instance.", +"flatPath": "v1alpha/projects/{projectsId}/locations/{locationsId}/products/{productsId}/sfdcInstances", +"httpMethod": "POST", +"id": "integrations.projects.locations.products.sfdcInstances.create", +"parameterOrder": [ +"parent" +], +"parameters": { +"parent": { +"description": "Required. \"projects/{project}/locations/{location}\" format.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/products/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1alpha/{+parent}/sfdcInstances", +"request": { +"$ref": "GoogleCloudIntegrationsV1alphaSfdcInstance" +}, +"response": { +"$ref": "GoogleCloudIntegrationsV1alphaSfdcInstance" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"delete": { +"description": "Deletes an sfdc instance.", +"flatPath": "v1alpha/projects/{projectsId}/locations/{locationsId}/products/{productsId}/sfdcInstances/{sfdcInstancesId}", +"httpMethod": "DELETE", +"id": "integrations.projects.locations.products.sfdcInstances.delete", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. The name that is associated with the SfdcInstance.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/products/[^/]+/sfdcInstances/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1alpha/{+name}", +"response": { +"$ref": "GoogleProtobufEmpty" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"get": { +"description": "Gets an sfdc instance. If the instance doesn't exist, Code.NOT_FOUND exception will be thrown.", +"flatPath": "v1alpha/projects/{projectsId}/locations/{locationsId}/products/{productsId}/sfdcInstances/{sfdcInstancesId}", +"httpMethod": "GET", +"id": "integrations.projects.locations.products.sfdcInstances.get", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. The name that is associated with the SfdcInstance.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/products/[^/]+/sfdcInstances/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1alpha/{+name}", +"response": { +"$ref": "GoogleCloudIntegrationsV1alphaSfdcInstance" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"list": { +"description": "Lists all sfdc instances that match the filter. Restrict to sfdc instances belonging to the current client only.", +"flatPath": "v1alpha/projects/{projectsId}/locations/{locationsId}/products/{productsId}/sfdcInstances", +"httpMethod": "GET", +"id": "integrations.projects.locations.products.sfdcInstances.list", +"parameterOrder": [ +"parent" +], +"parameters": { +"filter": { +"description": "Filtering as supported in https://developers.google.com/authorized-buyers/apis/guides/list-filters.", +"location": "query", +"type": "string" +}, +"pageSize": { +"description": "The size of entries in the response. If unspecified, defaults to 100.", +"format": "int32", +"location": "query", +"type": "integer" +}, +"pageToken": { +"description": "The token returned in the previous response.", +"location": "query", +"type": "string" +}, +"parent": { +"description": "Required. The client, which owns this collection of SfdcInstances.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/products/[^/]+$", +"required": true, +"type": "string" +}, +"readMask": { +"description": "The mask which specifies fields that need to be returned in the SfdcInstance's response.", +"format": "google-fieldmask", +"location": "query", +"type": "string" +} +}, +"path": "v1alpha/{+parent}/sfdcInstances", +"response": { +"$ref": "GoogleCloudIntegrationsV1alphaListSfdcInstancesResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"patch": { +"description": "Updates an sfdc instance. Updates the sfdc instance in spanner. Returns the sfdc instance.", +"flatPath": "v1alpha/projects/{projectsId}/locations/{locationsId}/products/{productsId}/sfdcInstances/{sfdcInstancesId}", +"httpMethod": "PATCH", +"id": "integrations.projects.locations.products.sfdcInstances.patch", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Resource name of the SFDC instance projects/{project}/locations/{location}/sfdcInstances/{sfdcInstance}.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/products/[^/]+/sfdcInstances/[^/]+$", +"required": true, +"type": "string" +}, +"updateMask": { +"description": "Field mask specifying the fields in the above SfdcInstance that have been modified and need to be updated.", +"format": "google-fieldmask", +"location": "query", +"type": "string" +} +}, +"path": "v1alpha/{+name}", +"request": { +"$ref": "GoogleCloudIntegrationsV1alphaSfdcInstance" +}, +"response": { +"$ref": "GoogleCloudIntegrationsV1alphaSfdcInstance" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +} +}, +"resources": { +"sfdcChannels": { +"methods": { +"create": { +"description": "Creates an sfdc channel record. Store the sfdc channel in Spanner. Returns the sfdc channel.", +"flatPath": "v1alpha/projects/{projectsId}/locations/{locationsId}/products/{productsId}/sfdcInstances/{sfdcInstancesId}/sfdcChannels", +"httpMethod": "POST", +"id": "integrations.projects.locations.products.sfdcInstances.sfdcChannels.create", +"parameterOrder": [ +"parent" +], +"parameters": { +"parent": { +"description": "Required. \"projects/{project}/locations/{location}\" format.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/products/[^/]+/sfdcInstances/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1alpha/{+parent}/sfdcChannels", +"request": { +"$ref": "GoogleCloudIntegrationsV1alphaSfdcChannel" +}, +"response": { +"$ref": "GoogleCloudIntegrationsV1alphaSfdcChannel" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"delete": { +"description": "Deletes an sfdc channel.", +"flatPath": "v1alpha/projects/{projectsId}/locations/{locationsId}/products/{productsId}/sfdcInstances/{sfdcInstancesId}/sfdcChannels/{sfdcChannelsId}", +"httpMethod": "DELETE", +"id": "integrations.projects.locations.products.sfdcInstances.sfdcChannels.delete", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. The name that is associated with the SfdcChannel.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/products/[^/]+/sfdcInstances/[^/]+/sfdcChannels/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1alpha/{+name}", +"response": { +"$ref": "GoogleProtobufEmpty" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"get": { +"description": "Gets an sfdc channel. If the channel doesn't exist, Code.NOT_FOUND exception will be thrown.", +"flatPath": "v1alpha/projects/{projectsId}/locations/{locationsId}/products/{productsId}/sfdcInstances/{sfdcInstancesId}/sfdcChannels/{sfdcChannelsId}", +"httpMethod": "GET", +"id": "integrations.projects.locations.products.sfdcInstances.sfdcChannels.get", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. The name that is associated with the SfdcChannel.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/products/[^/]+/sfdcInstances/[^/]+/sfdcChannels/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1alpha/{+name}", +"response": { +"$ref": "GoogleCloudIntegrationsV1alphaSfdcChannel" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"list": { +"description": "Lists all sfdc channels that match the filter. Restrict to sfdc channels belonging to the current client only.", +"flatPath": "v1alpha/projects/{projectsId}/locations/{locationsId}/products/{productsId}/sfdcInstances/{sfdcInstancesId}/sfdcChannels", +"httpMethod": "GET", +"id": "integrations.projects.locations.products.sfdcInstances.sfdcChannels.list", +"parameterOrder": [ +"parent" +], +"parameters": { +"filter": { +"description": "Filtering as supported in https://developers.google.com/authorized-buyers/apis/guides/list-filters.", +"location": "query", +"type": "string" +}, +"pageSize": { +"description": "The size of entries in the response. If unspecified, defaults to 100.", +"format": "int32", +"location": "query", +"type": "integer" +}, +"pageToken": { +"description": "The token returned in the previous response.", +"location": "query", +"type": "string" +}, +"parent": { +"description": "Required. The client, which owns this collection of SfdcChannels.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/products/[^/]+/sfdcInstances/[^/]+$", +"required": true, +"type": "string" +}, +"readMask": { +"description": "The mask which specifies fields that need to be returned in the SfdcChannel's response.", +"format": "google-fieldmask", +"location": "query", +"type": "string" +} +}, +"path": "v1alpha/{+parent}/sfdcChannels", +"response": { +"$ref": "GoogleCloudIntegrationsV1alphaListSfdcChannelsResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"patch": { +"description": "Updates an sfdc channel. Updates the sfdc channel in spanner. Returns the sfdc channel.", +"flatPath": "v1alpha/projects/{projectsId}/locations/{locationsId}/products/{productsId}/sfdcInstances/{sfdcInstancesId}/sfdcChannels/{sfdcChannelsId}", +"httpMethod": "PATCH", +"id": "integrations.projects.locations.products.sfdcInstances.sfdcChannels.patch", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Resource name of the SFDC channel projects/{project}/locations/{location}/sfdcInstances/{sfdc_instance}/sfdcChannels/{sfdc_channel}.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/products/[^/]+/sfdcInstances/[^/]+/sfdcChannels/[^/]+$", +"required": true, +"type": "string" +}, +"updateMask": { +"description": "Field mask specifying the fields in the above SfdcChannel that have been modified and need to be updated.", +"format": "google-fieldmask", +"location": "query", +"type": "string" +} +}, +"path": "v1alpha/{+name}", +"request": { +"$ref": "GoogleCloudIntegrationsV1alphaSfdcChannel" +}, +"response": { +"$ref": "GoogleCloudIntegrationsV1alphaSfdcChannel" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +} +} +} +} +} +} +}, +"sfdcInstances": { +"methods": { +"create": { +"description": "Creates an sfdc instance record. Store the sfdc instance in Spanner. Returns the sfdc instance.", +"flatPath": "v1alpha/projects/{projectsId}/locations/{locationsId}/sfdcInstances", +"httpMethod": "POST", +"id": "integrations.projects.locations.sfdcInstances.create", +"parameterOrder": [ +"parent" +], +"parameters": { +"parent": { +"description": "Required. \"projects/{project}/locations/{location}\" format.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1alpha/{+parent}/sfdcInstances", +"request": { +"$ref": "GoogleCloudIntegrationsV1alphaSfdcInstance" +}, +"response": { +"$ref": "GoogleCloudIntegrationsV1alphaSfdcInstance" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"delete": { +"description": "Deletes an sfdc instance.", +"flatPath": "v1alpha/projects/{projectsId}/locations/{locationsId}/sfdcInstances/{sfdcInstancesId}", +"httpMethod": "DELETE", +"id": "integrations.projects.locations.sfdcInstances.delete", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. The name that is associated with the SfdcInstance.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/sfdcInstances/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1alpha/{+name}", +"response": { +"$ref": "GoogleProtobufEmpty" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"get": { +"description": "Gets an sfdc instance. If the instance doesn't exist, Code.NOT_FOUND exception will be thrown.", +"flatPath": "v1alpha/projects/{projectsId}/locations/{locationsId}/sfdcInstances/{sfdcInstancesId}", +"httpMethod": "GET", +"id": "integrations.projects.locations.sfdcInstances.get", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. The name that is associated with the SfdcInstance.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/sfdcInstances/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1alpha/{+name}", +"response": { +"$ref": "GoogleCloudIntegrationsV1alphaSfdcInstance" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"list": { +"description": "Lists all sfdc instances that match the filter. Restrict to sfdc instances belonging to the current client only.", +"flatPath": "v1alpha/projects/{projectsId}/locations/{locationsId}/sfdcInstances", +"httpMethod": "GET", +"id": "integrations.projects.locations.sfdcInstances.list", +"parameterOrder": [ +"parent" +], +"parameters": { +"filter": { +"description": "Filtering as supported in https://developers.google.com/authorized-buyers/apis/guides/list-filters.", +"location": "query", +"type": "string" +}, +"pageSize": { +"description": "The size of entries in the response. If unspecified, defaults to 100.", +"format": "int32", +"location": "query", +"type": "integer" +}, +"pageToken": { +"description": "The token returned in the previous response.", +"location": "query", +"type": "string" +}, +"parent": { +"description": "Required. The client, which owns this collection of SfdcInstances.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+$", +"required": true, +"type": "string" +}, +"readMask": { +"description": "The mask which specifies fields that need to be returned in the SfdcInstance's response.", +"format": "google-fieldmask", +"location": "query", +"type": "string" +} +}, +"path": "v1alpha/{+parent}/sfdcInstances", +"response": { +"$ref": "GoogleCloudIntegrationsV1alphaListSfdcInstancesResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"patch": { +"description": "Updates an sfdc instance. Updates the sfdc instance in spanner. Returns the sfdc instance.", +"flatPath": "v1alpha/projects/{projectsId}/locations/{locationsId}/sfdcInstances/{sfdcInstancesId}", +"httpMethod": "PATCH", +"id": "integrations.projects.locations.sfdcInstances.patch", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Resource name of the SFDC instance projects/{project}/locations/{location}/sfdcInstances/{sfdcInstance}.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/sfdcInstances/[^/]+$", +"required": true, +"type": "string" +}, +"updateMask": { +"description": "Field mask specifying the fields in the above SfdcInstance that have been modified and need to be updated.", +"format": "google-fieldmask", +"location": "query", +"type": "string" +} +}, +"path": "v1alpha/{+name}", +"request": { +"$ref": "GoogleCloudIntegrationsV1alphaSfdcInstance" +}, +"response": { +"$ref": "GoogleCloudIntegrationsV1alphaSfdcInstance" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +} +}, +"resources": { +"sfdcChannels": { +"methods": { +"create": { +"description": "Creates an sfdc channel record. Store the sfdc channel in Spanner. Returns the sfdc channel.", +"flatPath": "v1alpha/projects/{projectsId}/locations/{locationsId}/sfdcInstances/{sfdcInstancesId}/sfdcChannels", +"httpMethod": "POST", +"id": "integrations.projects.locations.sfdcInstances.sfdcChannels.create", +"parameterOrder": [ +"parent" +], +"parameters": { +"parent": { +"description": "Required. \"projects/{project}/locations/{location}\" format.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/sfdcInstances/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1alpha/{+parent}/sfdcChannels", +"request": { +"$ref": "GoogleCloudIntegrationsV1alphaSfdcChannel" +}, +"response": { +"$ref": "GoogleCloudIntegrationsV1alphaSfdcChannel" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"delete": { +"description": "Deletes an sfdc channel.", +"flatPath": "v1alpha/projects/{projectsId}/locations/{locationsId}/sfdcInstances/{sfdcInstancesId}/sfdcChannels/{sfdcChannelsId}", +"httpMethod": "DELETE", +"id": "integrations.projects.locations.sfdcInstances.sfdcChannels.delete", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. The name that is associated with the SfdcChannel.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/sfdcInstances/[^/]+/sfdcChannels/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1alpha/{+name}", +"response": { +"$ref": "GoogleProtobufEmpty" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"get": { +"description": "Gets an sfdc channel. If the channel doesn't exist, Code.NOT_FOUND exception will be thrown.", +"flatPath": "v1alpha/projects/{projectsId}/locations/{locationsId}/sfdcInstances/{sfdcInstancesId}/sfdcChannels/{sfdcChannelsId}", +"httpMethod": "GET", +"id": "integrations.projects.locations.sfdcInstances.sfdcChannels.get", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. The name that is associated with the SfdcChannel.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/sfdcInstances/[^/]+/sfdcChannels/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1alpha/{+name}", +"response": { +"$ref": "GoogleCloudIntegrationsV1alphaSfdcChannel" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"list": { +"description": "Lists all sfdc channels that match the filter. Restrict to sfdc channels belonging to the current client only.", +"flatPath": "v1alpha/projects/{projectsId}/locations/{locationsId}/sfdcInstances/{sfdcInstancesId}/sfdcChannels", +"httpMethod": "GET", +"id": "integrations.projects.locations.sfdcInstances.sfdcChannels.list", +"parameterOrder": [ +"parent" +], +"parameters": { +"filter": { +"description": "Filtering as supported in https://developers.google.com/authorized-buyers/apis/guides/list-filters.", +"location": "query", +"type": "string" +}, +"pageSize": { +"description": "The size of entries in the response. If unspecified, defaults to 100.", +"format": "int32", +"location": "query", +"type": "integer" +}, +"pageToken": { +"description": "The token returned in the previous response.", +"location": "query", +"type": "string" +}, +"parent": { +"description": "Required. The client, which owns this collection of SfdcChannels.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/sfdcInstances/[^/]+$", +"required": true, +"type": "string" +}, +"readMask": { +"description": "The mask which specifies fields that need to be returned in the SfdcChannel's response.", +"format": "google-fieldmask", +"location": "query", +"type": "string" +} +}, +"path": "v1alpha/{+parent}/sfdcChannels", +"response": { +"$ref": "GoogleCloudIntegrationsV1alphaListSfdcChannelsResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"patch": { +"description": "Updates an sfdc channel. Updates the sfdc channel in spanner. Returns the sfdc channel.", +"flatPath": "v1alpha/projects/{projectsId}/locations/{locationsId}/sfdcInstances/{sfdcInstancesId}/sfdcChannels/{sfdcChannelsId}", +"httpMethod": "PATCH", +"id": "integrations.projects.locations.sfdcInstances.sfdcChannels.patch", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Resource name of the SFDC channel projects/{project}/locations/{location}/sfdcInstances/{sfdc_instance}/sfdcChannels/{sfdc_channel}.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/sfdcInstances/[^/]+/sfdcChannels/[^/]+$", +"required": true, +"type": "string" +}, +"updateMask": { +"description": "Field mask specifying the fields in the above SfdcChannel that have been modified and need to be updated.", +"format": "google-fieldmask", +"location": "query", +"type": "string" +} +}, +"path": "v1alpha/{+name}", +"request": { +"$ref": "GoogleCloudIntegrationsV1alphaSfdcChannel" +}, +"response": { +"$ref": "GoogleCloudIntegrationsV1alphaSfdcChannel" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +} +} +} +} +} +} +} +} +} +}, +"revision": "20240416", +"rootUrl": "https://integrations.googleapis.com/", +"schemas": { +"CrmlogErrorCode": { +"description": "Registered ids for errors, as \"oneof\" enums. Each task or logical grouping of tasks may share the same enum.", +"id": "CrmlogErrorCode", +"properties": { +"commonErrorCode": { +"enum": [ +"COMMON_ERROR_CODE_UNSPECIFIED", +"INVALID_CREDENTIALS", +"REQUIRED_FIELDS_MISSING", +"INVALID_FIELDS", +"BACKEND", +"GENERAL", +"INTERNAL", +"IO_ERROR", +"NOT_FOUND", +"EVENT_BUS", +"ALREADY_EXISTS", +"CONCORD", +"CONVERSION", +"FLUME", +"PERMISSION", +"SALES_FORCE", +"SPANNER", +"UNIMPLEMENTED", +"RELTIO", +"WORKFLOW_NOT_FOUND", +"QUOTA_THROTTLED", +"QUOTA_ENQUEUED", +"INVALID_QUOTA_CONFIGURATION", +"TASK_NOT_FOUND", +"EXECUTION_TIMEOUT", +"INVALID_EVENT_EXECUTION_STATE", +"INVALID_ATTRIBUTE", +"MISSING_ATTRIBUTE", +"CLIENT_UNAUTHORIZED_FOR_WORKFLOW", +"INVALID_PARAMETER", +"MISSING_PARAMETER", +"UNAUTHROIZED_WORKFLOW_EDITOR_ACTION", +"FAILED_PRECONDITION", +"INVALID_CLIENT", +"MISSING_CLIENT", +"INVALID_WORKFLOW", +"MISSING_QUOTA_CONFIGURATION", +"UNHANDLED_TASK_ERROR", +"SCRIPT_TASK_RUNTIME_ERROR", +"RPC", +"INVALID_PROTO", +"UNHANDLED_EVENTBUS_ERROR", +"INVALID_TASK_STATE", +"TYPED_TASK_INVALID_INPUT_OPERATION", +"TYPED_TASK_INVALID_OUTPUT_OPERATION", +"VALIDATION_ERROR", +"RESUME_ERROR", +"APPS_SCRIPT_EXECUTION_ERROR", +"INVALID_VECTOR_USER", +"INFORMATICA", +"RETRYABLE_TASK_ERROR", +"INVALID_TENANT", +"WRONG_TENANT", +"INFORMATICA_BACKEND_UNAVAILABLE", +"RPC_PERMISSION_DENIED", +"SYNC_EVENTBUS_EXECUTION_TIMEOUT", +"ASYNC_EVENTBUS_EXECUTION_TIMEOUT", +"NOT_SUPPORTED_DATA_TYPE", +"UNSANITIZED_USER_INPUT", +"TRANSFORM_EXPRESSION_EVALUATION_ERROR", +"HTTP_EXCEPTION", +"EXECUTION_CANCELLED" +], +"enumDeprecated": [ +false, +true, +false, +false, +true, +true, +true, +false, +false, +true, +false, +false, +false, +false, +true, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false +], +"enumDescriptions": [ +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"SYNC_EVENTBUS_EXECUTION_TIMEOUT is for eventbus internal use only.", +"ASYNC_EVENTBUS_EXECUTION_TIMEOUT is for eventbus internal use only. This error will be counted as server availability error.", +"", +"", +"", +"", +"" +], +"type": "string" +} +}, +"type": "object" +}, +"EnterpriseCrmEventbusAuthconfigAuthConfigTaskParam": { +"id": "EnterpriseCrmEventbusAuthconfigAuthConfigTaskParam", +"properties": { +"allowedCredentialTypes": { +"description": "Defines the credential types to be supported as Task may restrict specific types to use, e.g. Cloud SQL Task will use username/password type only.", +"items": { +"enum": [ +"CREDENTIAL_TYPE_UNSPECIFIED", +"USERNAME_AND_PASSWORD", +"API_KEY", +"OAUTH2_AUTHORIZATION_CODE", +"OAUTH2_IMPLICIT", +"OAUTH2_CLIENT_CREDENTIALS", +"OAUTH2_RESOURCE_OWNER_CREDENTIALS", +"JWT", +"AUTH_TOKEN", +"SERVICE_ACCOUNT", +"CLIENT_CERTIFICATE_ONLY", +"OIDC_TOKEN" +], +"enumDescriptions": [ +"", +"Regular username/password pair.", +"API key.", +"OAuth 2.0 Authorization Code Grant Type.", +"OAuth 2.0 Implicit Grant Type.", +"OAuth 2.0 Client Credentials Grant Type.", +"OAuth 2.0 Resource Owner Credentials Grant Type.", +"JWT Token.", +"Auth Token, e.g. bearer token.", +"Service Account which can be used to generate token for authentication.", +"Client Certificate only.", +"Google OIDC ID Token" +], +"type": "string" +}, +"type": "array" +}, +"allowedServiceAccountInContext": { +"type": "boolean" +}, +"authConfigId": { +"description": "UUID of the AuthConfig.", +"type": "string" +}, +"scope": { +"description": "A space-delimited list of requested scope permissions.", +"type": "string" +}, +"useServiceAccountInContext": { +"type": "boolean" +} +}, +"type": "object" +}, +"EnterpriseCrmEventbusProtoAddress": { +"description": "Email address along with optional name and tokens. These tokens will be substituted for the variables in the form of [{var_name}], where var_name could be any string of no more than 32 bytes.", +"id": "EnterpriseCrmEventbusProtoAddress", +"properties": { +"email": { +"description": "Required.", +"type": "string" +}, +"name": { +"type": "string" +}, +"tokens": { +"items": { +"$ref": "EnterpriseCrmEventbusProtoToken" +}, +"type": "array" +} +}, +"type": "object" +}, +"EnterpriseCrmEventbusProtoAttributes": { +"description": "Attributes are additional options that can be associated with each event property. For more information, see", +"id": "EnterpriseCrmEventbusProtoAttributes", +"properties": { +"dataType": { +"description": "Things like URL, Email, Currency, Timestamp (rather than string, int64...)", +"enum": [ +"DATA_TYPE_UNSPECIFIED", +"EMAIL", +"URL", +"CURRENCY", +"TIMESTAMP", +"DOMAIN_NAME" +], +"enumDescriptions": [ +"", +"", +"", +"", +"", +"Domain is a web url string with one top-level private domain and a suffix (for example: google.com, walmart.com)" +], +"type": "string" +}, +"defaultValue": { +"$ref": "EnterpriseCrmEventbusProtoValueType", +"description": "Used to define defaults." +}, +"isRequired": { +"description": "Required for event execution. The validation will be done by the event bus when the event is triggered.", +"type": "boolean" +}, +"isSearchable": { +"deprecated": true, +"description": "Used to indicate if a ParameterEntry should be converted to ParamIndexes for ST-Spanner full-text search. DEPRECATED: use searchable.", +"type": "boolean" +}, +"logSettings": { +"$ref": "EnterpriseCrmEventbusProtoLogSettings", +"description": "See" +}, +"masked": { +"description": "True if this workflow parameter should be masked in the logs", +"type": "boolean" +}, +"readOnly": { +"description": "Used to indicate if the ParameterEntry is a read only field or not.", +"type": "boolean" +}, +"searchable": { +"enum": [ +"UNSPECIFIED", +"YES", +"NO" +], +"enumDescriptions": [ +"", +"If yes, the parameter key and value will be full-text indexed. In a proto, this value will propagate to all children whose searchable is unspecified.", +"If no, the parameter key and value will not be full-text indexed. In a proto, this value will propagate to all children whose searchable is unspecified." +], +"type": "string" +}, +"taskVisibility": { +"description": "List of tasks that can view this property, if empty then all.", +"items": { +"type": "string" +}, +"type": "array" +} +}, +"type": "object" +}, +"EnterpriseCrmEventbusProtoBaseAlertConfigErrorEnumList": { +"description": "List of error enums for alerts.", +"id": "EnterpriseCrmEventbusProtoBaseAlertConfigErrorEnumList", +"properties": { +"enumStrings": { +"items": { +"type": "string" +}, +"type": "array" +}, +"filterType": { +"enum": [ +"DEFAULT_INCLUSIVE", +"EXCLUSIVE" +], +"enumDescriptions": [ +"", +"" +], +"type": "string" +} +}, +"type": "object" +}, +"EnterpriseCrmEventbusProtoBaseAlertConfigThresholdValue": { +"description": "The threshold value of the metric, above or below which the alert should be triggered. See EventAlertConfig or TaskAlertConfig for the different alert metric types in each case. For the *RATE metrics, one or both of these fields may be set. Zero is the default value and can be left at that. For *PERCENTILE_DURATION metrics, one or both of these fields may be set, and also, the duration threshold value should be specified in the threshold_duration_ms member below. For *AVERAGE_DURATION metrics, these fields should not be set at all. A different member, threshold_duration_ms, must be set in the EventAlertConfig or the TaskAlertConfig.", +"id": "EnterpriseCrmEventbusProtoBaseAlertConfigThresholdValue", +"properties": { +"absolute": { +"format": "int64", +"type": "string" +}, +"percentage": { +"format": "int32", +"type": "integer" +} +}, +"type": "object" +}, +"EnterpriseCrmEventbusProtoBaseFunction": { +"id": "EnterpriseCrmEventbusProtoBaseFunction", +"properties": { +"functionName": { +"enum": [ +"UNSPECIFIED", +"NOW_IN_MILLIS", +"INT_LIST", +"ENVIRONMENT", +"GET_EXECUTION_ID", +"GET_INTEGRATION_NAME", +"GET_REGION", +"GET_UUID", +"GET_PROJECT_ID" +], +"enumDescriptions": [ +"", +"", +"", +"", +"", +"", +"", +"", +"" +], +"type": "string" +} +}, +"type": "object" +}, +"EnterpriseCrmEventbusProtoBaseValue": { +"id": "EnterpriseCrmEventbusProtoBaseValue", +"properties": { +"baseFunction": { +"$ref": "EnterpriseCrmEventbusProtoFunction", +"description": "Start with a function that does not build on existing values. Eg. CurrentTime, Min, Max, Exists, etc." +}, +"literalValue": { +"$ref": "EnterpriseCrmEventbusProtoParameterValueType", +"description": "Start with a literal value." +}, +"referenceValue": { +"description": "Start with a reference value to dereference.", +"type": "string" +} +}, +"type": "object" +}, +"EnterpriseCrmEventbusProtoBooleanArrayFunction": { +"id": "EnterpriseCrmEventbusProtoBooleanArrayFunction", +"properties": { +"functionName": { +"enum": [ +"UNSPECIFIED", +"GET", +"APPEND", +"SIZE", +"TO_SET", +"APPEND_ALL", +"TO_JSON", +"SET", +"REMOVE", +"REMOVE_AT", +"CONTAINS", +"FOR_EACH", +"FILTER" +], +"enumDescriptions": [ +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"" +], +"type": "string" +} +}, +"type": "object" +}, +"EnterpriseCrmEventbusProtoBooleanFunction": { +"id": "EnterpriseCrmEventbusProtoBooleanFunction", +"properties": { +"functionName": { +"enum": [ +"UNSPECIFIED", +"TO_JSON", +"NOT", +"AND", +"NAND", +"OR", +"XOR", +"NOR", +"XNOR", +"TO_STRING", +"EQUALS" +], +"enumDescriptions": [ +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"" +], +"type": "string" +} +}, +"type": "object" +}, +"EnterpriseCrmEventbusProtoBooleanParameterArray": { +"id": "EnterpriseCrmEventbusProtoBooleanParameterArray", +"properties": { +"booleanValues": { +"items": { +"type": "boolean" +}, +"type": "array" +} +}, +"type": "object" +}, +"EnterpriseCrmEventbusProtoBuganizerNotification": { +"id": "EnterpriseCrmEventbusProtoBuganizerNotification", +"properties": { +"assigneeEmailAddress": { +"description": "Whom to assign the new bug. Optional.", +"type": "string" +}, +"componentId": { +"description": "ID of the buganizer component within which to create a new issue. Required.", +"format": "int64", +"type": "string" +}, +"templateId": { +"description": "ID of the buganizer template to use. Optional.", +"format": "int64", +"type": "string" +}, +"title": { +"description": "Title of the issue to be created. Required.", +"type": "string" +} +}, +"type": "object" +}, +"EnterpriseCrmEventbusProtoCloudKmsConfig": { +"id": "EnterpriseCrmEventbusProtoCloudKmsConfig", +"properties": { +"gcpProjectId": { +"description": "Optional. The id of GCP project where the KMS key is stored. If not provided, assume the key is stored in the same GCP project defined in Client (tag 14).", +"type": "string" +}, +"keyName": { +"description": "A Cloud KMS key is a named object containing one or more key versions, along with metadata for the key. A key exists on exactly one key ring tied to a specific location.", +"type": "string" +}, +"keyRingName": { +"description": "A key ring organizes keys in a specific Google Cloud location and allows you to manage access control on groups of keys. A key ring's name does not need to be unique across a Google Cloud project, but must be unique within a given location.", +"type": "string" +}, +"keyVersionName": { +"description": "Optional. Each version of a key contains key material used for encryption or signing. A key's version is represented by an integer, starting at 1. To decrypt data or verify a signature, you must use the same key version that was used to encrypt or sign the data.", +"type": "string" +}, +"locationName": { +"description": "Location name of the key ring, e.g. \"us-west1\".", +"type": "string" +}, +"serviceAccount": { +"description": "Optional. The service account used for authentication of this KMS key. If this is not provided, the service account in Client.clientSource will be used.", +"type": "string" +} +}, +"type": "object" +}, +"EnterpriseCrmEventbusProtoCloudSchedulerConfig": { +"description": "Cloud Scheduler Trigger configuration", +"id": "EnterpriseCrmEventbusProtoCloudSchedulerConfig", +"properties": { +"cronTab": { +"description": "Required. The cron tab of cloud scheduler trigger.", +"type": "string" +}, +"errorMessage": { +"description": "Optional. When the job was deleted from Pantheon UI, error_message will be populated when Get/List integrations", +"type": "string" +}, +"location": { +"description": "Required. The location where associated cloud scheduler job will be created", +"type": "string" +}, +"serviceAccountEmail": { +"description": "Required. Service account used by Cloud Scheduler to trigger the integration at scheduled time", +"type": "string" +} +}, +"type": "object" +}, +"EnterpriseCrmEventbusProtoCombinedCondition": { +"deprecated": true, +"description": "This message recursively combines constituent conditions using logical AND.", +"id": "EnterpriseCrmEventbusProtoCombinedCondition", +"properties": { +"conditions": { +"description": "A set of individual constituent conditions.", +"items": { +"$ref": "EnterpriseCrmEventbusProtoCondition" +}, +"type": "array" +} +}, +"type": "object" +}, +"EnterpriseCrmEventbusProtoCondition": { +"deprecated": true, +"description": "Condition that uses `operator` to evaluate the key against the value.", +"id": "EnterpriseCrmEventbusProtoCondition", +"properties": { +"eventPropertyKey": { +"description": "Key that's evaluated against the `value`. Please note the data type of the runtime value associated with the key should match the data type of `value`, else an IllegalArgumentException is thrown.", +"type": "string" +}, +"operator": { +"description": "Operator used to evaluate the condition. Please note that an operator with an inappropriate key/value operand will result in IllegalArgumentException, e.g. CONTAINS with boolean key/value pair.", +"enum": [ +"UNSET", +"EQUALS", +"CONTAINS", +"LESS_THAN", +"GREATER_THAN", +"EXISTS", +"DOES_NOT_EXIST", +"IS_EMPTY", +"IS_NOT_EMPTY" +], +"enumDescriptions": [ +"", +"", +"", +"", +"", +"", +"", +"", +"" +], +"type": "string" +}, +"value": { +"$ref": "EnterpriseCrmEventbusProtoValueType", +"description": "Value that's checked for the key." +} +}, +"type": "object" +}, +"EnterpriseCrmEventbusProtoConditionResult": { +"description": "Contains the combined condition calculation results.", +"id": "EnterpriseCrmEventbusProtoConditionResult", +"properties": { +"currentTaskNumber": { +"description": "the current task number.", +"type": "string" +}, +"nextTaskNumber": { +"description": "the next task number.", +"type": "string" +}, +"result": { +"description": "the result comes out after evaluate the combined condition. True if there's no combined condition specified.", +"type": "boolean" +} +}, +"type": "object" +}, +"EnterpriseCrmEventbusProtoConnectorsConnection": { +"id": "EnterpriseCrmEventbusProtoConnectorsConnection", +"properties": { +"connectionName": { +"description": "Connection name Format: projects/{project}/locations/{location}/connections/{connection}", +"type": "string" +}, +"connectorVersion": { +"description": "Connector version Format: projects/{project}/locations/{location}/providers/{provider}/connectors/{connector}/versions/{version}", +"type": "string" +}, +"serviceName": { +"description": "Service name Format: projects/{project}/locations/{location}/namespaces/{namespace}/services/{service}", +"type": "string" +} +}, +"type": "object" +}, +"EnterpriseCrmEventbusProtoConnectorsGenericConnectorTaskConfig": { +"id": "EnterpriseCrmEventbusProtoConnectorsGenericConnectorTaskConfig", +"properties": { +"connection": { +"$ref": "EnterpriseCrmEventbusProtoConnectorsConnection", +"description": "User-selected connection." +}, +"operation": { +"description": "Operation to perform using the configured connection.", +"enum": [ +"OPERATION_UNSPECIFIED", +"EXECUTE_ACTION", +"LIST_ENTITIES", +"GET_ENTITY", +"CREATE_ENTITY", +"UPDATE_ENTITY", +"DELETE_ENTITY", +"EXECUTE_QUERY" +], +"enumDescriptions": [ +"", +"", +"", +"", +"", +"", +"", +"" +], +"type": "string" +} +}, +"type": "object" +}, +"EnterpriseCrmEventbusProtoCoordinate": { +"description": "Represents two-dimensional positions.", +"id": "EnterpriseCrmEventbusProtoCoordinate", +"properties": { +"x": { +"format": "int32", +"type": "integer" +}, +"y": { +"format": "int32", +"type": "integer" +} +}, +"type": "object" +}, +"EnterpriseCrmEventbusProtoCustomSuspensionRequest": { +"id": "EnterpriseCrmEventbusProtoCustomSuspensionRequest", +"properties": { +"postToQueueWithTriggerIdRequest": { +"$ref": "GoogleInternalCloudCrmEventbusV3PostToQueueWithTriggerIdRequest", +"description": "Request to fire an event containing the SuspensionInfo message." +}, +"suspensionInfoEventParameterKey": { +"description": "In the fired event, set the SuspensionInfo message as the value for this key.", +"type": "string" +} +}, +"type": "object" +}, +"EnterpriseCrmEventbusProtoDoubleArray": { +"id": "EnterpriseCrmEventbusProtoDoubleArray", +"properties": { +"values": { +"items": { +"format": "double", +"type": "number" +}, +"type": "array" +} +}, +"type": "object" +}, +"EnterpriseCrmEventbusProtoDoubleArrayFunction": { +"id": "EnterpriseCrmEventbusProtoDoubleArrayFunction", +"properties": { +"functionName": { +"enum": [ +"UNSPECIFIED", +"GET", +"APPEND", +"SIZE", +"SUM", +"AVG", +"MAX", +"MIN", +"TO_SET", +"APPEND_ALL", +"TO_JSON", +"SET", +"REMOVE", +"REMOVE_AT", +"CONTAINS", +"FOR_EACH", +"FILTER" +], +"enumDescriptions": [ +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"" +], +"type": "string" +} +}, +"type": "object" +}, +"EnterpriseCrmEventbusProtoDoubleFunction": { +"id": "EnterpriseCrmEventbusProtoDoubleFunction", +"properties": { +"functionName": { +"enum": [ +"UNSPECIFIED", +"TO_JSON", +"TO_STRING", +"ADD", +"SUBTRACT", +"MULTIPLY", +"DIVIDE", +"EXPONENT", +"ROUND", +"FLOOR", +"CEIL", +"GREATER_THAN", +"LESS_THAN", +"EQUALS", +"GREATER_THAN_EQUALS", +"LESS_THAN_EQUALS", +"MOD" +], +"enumDescriptions": [ +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"" +], +"type": "string" +} +}, +"type": "object" +}, +"EnterpriseCrmEventbusProtoDoubleParameterArray": { +"id": "EnterpriseCrmEventbusProtoDoubleParameterArray", +"properties": { +"doubleValues": { +"items": { +"format": "double", +"type": "number" +}, +"type": "array" +} +}, +"type": "object" +}, +"EnterpriseCrmEventbusProtoErrorDetail": { +"description": "An error, warning, or information message associated with a workflow.", +"id": "EnterpriseCrmEventbusProtoErrorDetail", +"properties": { +"errorCode": { +"$ref": "CrmlogErrorCode", +"description": "The associated error-code, which can be a common or internal code." +}, +"errorMessage": { +"description": "The full text of the error message, including any parameters that were thrown along with the exception.", +"type": "string" +}, +"severity": { +"description": "The severity of the error: ERROR|WARN|INFO.", +"enum": [ +"SEVERITY_UNSPECIFIED", +"ERROR", +"WARN", +"INFO" +], +"enumDescriptions": [ +"", +"", +"", +"" +], +"type": "string" +}, +"taskNumber": { +"description": "The task try-number, in which, the error occurred. If zero, the error happened at the event level.", +"format": "int32", +"type": "integer" +} +}, +"type": "object" +}, +"EnterpriseCrmEventbusProtoEventBusProperties": { +"description": "LINT.IfChange This message is used for storing key value pair properties for each Event / Task in the EventBus.", +"id": "EnterpriseCrmEventbusProtoEventBusProperties", +"properties": { +"properties": { +"description": "An unordered list of property entries.", +"items": { +"$ref": "EnterpriseCrmEventbusProtoPropertyEntry" +}, +"type": "array" +} +}, +"type": "object" +}, +"EnterpriseCrmEventbusProtoEventExecutionDetails": { +"description": "Contains the details of the execution info of this event: this includes the tasks execution details plus the event execution statistics. Next available id: 11", +"id": "EnterpriseCrmEventbusProtoEventExecutionDetails", +"properties": { +"eventAttemptStats": { +"items": { +"$ref": "EnterpriseCrmEventbusProtoEventExecutionDetailsEventAttemptStats" +}, +"type": "array" +}, +"eventExecutionSnapshot": { +"items": { +"$ref": "EnterpriseCrmEventbusProtoEventExecutionSnapshot" +}, +"type": "array" +}, +"eventExecutionSnapshotsSize": { +"description": "Total size of all event_execution_snapshots for an execution", +"format": "int64", +"type": "string" +}, +"eventExecutionState": { +"enum": [ +"UNSPECIFIED", +"ON_HOLD", +"IN_PROCESS", +"SUCCEEDED", +"FAILED", +"CANCELED", +"RETRY_ON_HOLD", +"SUSPENDED" +], +"enumDescriptions": [ +"", +"Event is received and waiting for the execution. This happens when firing the event via \"postToQueue\" or \"schedule\".", +"Event is under processing.", +"Event execution successfully finished. There's no more change after this state.", +"Event execution failed. There's no more change after this state.", +"Event execution canceled by user. There's no more change after this state.", +"Event execution failed and waiting for retry.", +"Event execution suspended and waiting for manual intervention." +], +"type": "string" +}, +"eventRetriesFromBeginningCount": { +"description": "Indicates the number of times the execution has restarted from the beginning.", +"format": "int32", +"type": "integer" +}, +"logFilePath": { +"description": "The log file path (aka. cns address) for this event.", +"type": "string" +}, +"networkAddress": { +"description": "The network address (aka. bns address) that indicates where the event executor is running.", +"type": "string" +}, +"nextExecutionTime": { +"description": "Next scheduled execution time in case the execution status was RETRY_ON_HOLD.", +"format": "int64", +"type": "string" +}, +"ryeLockUnheldCount": { +"description": "Used internally and shouldn't be exposed to users. A counter for the cron job to record how many times this event is in in_process state but don't have a lock consecutively/", +"format": "int32", +"type": "integer" +} +}, +"type": "object" +}, +"EnterpriseCrmEventbusProtoEventExecutionDetailsEventAttemptStats": { +"id": "EnterpriseCrmEventbusProtoEventExecutionDetailsEventAttemptStats", +"properties": { +"endTime": { +"description": "The end time of the event execution for current attempt.", +"format": "int64", +"type": "string" +}, +"startTime": { +"description": "The start time of the event execution for current attempt. This could be in the future if it's been scheduled.", +"format": "int64", +"type": "string" +} +}, +"type": "object" +}, +"EnterpriseCrmEventbusProtoEventExecutionSnapshot": { +"description": "Contains the snapshot of the event execution for a given checkpoint. Next available id: 13", +"id": "EnterpriseCrmEventbusProtoEventExecutionSnapshot", +"properties": { +"checkpointTaskNumber": { +"description": "Indicates \"right after which checkpoint task's execution\" this snapshot is taken.", +"type": "string" +}, +"conditionResults": { +"description": "All of the computed conditions that been calculated.", +"items": { +"$ref": "EnterpriseCrmEventbusProtoConditionResult" +}, +"type": "array" +}, +"diffParams": { +"$ref": "EnterpriseCrmEventbusProtoEventParameters", +"description": "The parameters in Event object that differs from last snapshot." +}, +"eventExecutionInfoId": { +"description": "Points to the event execution info this snapshot belongs to.", +"type": "string" +}, +"eventExecutionSnapshotId": { +"description": "Auto-generated. Used as primary key for EventExecutionSnapshots table.", +"type": "string" +}, +"eventExecutionSnapshotMetadata": { +"$ref": "EnterpriseCrmEventbusProtoEventExecutionSnapshotEventExecutionSnapshotMetadata" +}, +"eventParams": { +"$ref": "EnterpriseCrmEventbusProtoEventParameters", +"description": "The parameters in Event object." +}, +"exceedMaxSize": { +"description": "indicate whether snapshot exceeded maximum size before clean up", +"type": "boolean" +}, +"snapshotTime": { +"description": "Indicates when this snapshot is taken.", +"format": "int64", +"type": "string" +}, +"taskExecutionDetails": { +"description": "All of the task execution details at the given point of time.", +"items": { +"$ref": "EnterpriseCrmEventbusProtoTaskExecutionDetails" +}, +"type": "array" +}, +"taskName": { +"deprecated": true, +"description": "The task name associated with this snapshot. Could be empty.", +"type": "string" +} +}, +"type": "object" +}, +"EnterpriseCrmEventbusProtoEventExecutionSnapshotEventExecutionSnapshotMetadata": { +"id": "EnterpriseCrmEventbusProtoEventExecutionSnapshotEventExecutionSnapshotMetadata", +"properties": { +"ancestorIterationNumbers": { +"description": "Ancestor iteration number for the task(it will only be non-empty if the task is under 'private workflow')", +"items": { +"type": "string" +}, +"type": "array" +}, +"ancestorTaskNumbers": { +"description": "Ancestor task number for the task(it will only be non-empty if the task is under 'private workflow')", +"items": { +"type": "string" +}, +"type": "array" +}, +"eventAttemptNum": { +"description": "the event attempt number this snapshot belongs to.", +"format": "int32", +"type": "integer" +}, +"integrationName": { +"description": "The direct integration which the event execution snapshots belongs to", +"type": "string" +}, +"taskAttemptNum": { +"description": "the task attempt number this snapshot belongs to. Could be empty.", +"format": "int32", +"type": "integer" +}, +"taskLabel": { +"description": "the task label associated with this snapshot. Could be empty.", +"type": "string" +}, +"taskName": { +"description": "the task name associated with this snapshot. Could be empty.", +"type": "string" +}, +"taskNumber": { +"description": "The task number associated with this snapshot. Could be empty.", +"type": "string" +} +}, +"type": "object" +}, +"EnterpriseCrmEventbusProtoEventParameters": { +"description": "LINT.IfChange This message is used for processing and persisting (when applicable) key value pair parameters for each event in the event bus. Please see", +"id": "EnterpriseCrmEventbusProtoEventParameters", +"properties": { +"parameters": { +"description": "Parameters are a part of Event and can be used to communicate between different tasks that are part of the same integration execution.", +"items": { +"$ref": "EnterpriseCrmEventbusProtoParameterEntry" +}, +"type": "array" +} +}, +"type": "object" +}, +"EnterpriseCrmEventbusProtoExecutionTraceInfo": { +"description": "Message that helps aggregate all sub-executions triggered by one execution and keeps track of child-parent relationships.", +"id": "EnterpriseCrmEventbusProtoExecutionTraceInfo", +"properties": { +"parentEventExecutionInfoId": { +"description": "Parent event execution info id that triggers the current execution through SubWorkflowExecutorTask.", +"type": "string" +}, +"traceId": { +"description": "Used to aggregate ExecutionTraceInfo.", +"type": "string" +} +}, +"type": "object" +}, +"EnterpriseCrmEventbusProtoExternalTraffic": { +"description": "Represents external traffic type and id.", +"id": "EnterpriseCrmEventbusProtoExternalTraffic", +"properties": { +"gcpProjectId": { +"description": "User\u2019s GCP project id the traffic is referring to.", +"type": "string" +}, +"gcpProjectNumber": { +"description": "User\u2019s GCP project number the traffic is referring to.", +"type": "string" +}, +"location": { +"description": "Location for the user's request.", +"type": "string" +}, +"source": { +"description": "LINT.ThenChange(//depot/google3/enterprise/crm/eventbus/proto/product.proto:product, //depot/google3/java/com/google/enterprise/crm/integrationplatform/api/utils/ConverterUtils.java:source_to_product)", +"enum": [ +"SOURCE_UNSPECIFIED", +"APIGEE", +"SECURITY" +], +"enumDescriptions": [ +"", +"", +"" +], +"type": "string" +} +}, +"type": "object" +}, +"EnterpriseCrmEventbusProtoFailurePolicy": { +"description": "Policy that defines the task retry logic and failure type. If no FailurePolicy is defined for a task, all its dependent tasks will not be executed (i.e, a `retry_strategy` of NONE will be applied).", +"id": "EnterpriseCrmEventbusProtoFailurePolicy", +"properties": { +"intervalInSeconds": { +"description": "Required if retry_strategy is FIXED_INTERVAL or LINEAR/EXPONENTIAL_BACKOFF/RESTART_WORKFLOW_WITH_BACKOFF. Defines the initial interval for backoff.", +"format": "int64", +"type": "string" +}, +"maxNumRetries": { +"description": "Required if retry_strategy is FIXED_INTERVAL or LINEAR/EXPONENTIAL_BACKOFF/RESTART_WORKFLOW_WITH_BACKOFF. Defines the number of times the task will be retried if failed.", +"format": "int32", +"type": "integer" +}, +"retryStrategy": { +"description": "Defines what happens to the task upon failure.", +"enum": [ +"UNSPECIFIED", +"IGNORE", +"NONE", +"FATAL", +"FIXED_INTERVAL", +"LINEAR_BACKOFF", +"EXPONENTIAL_BACKOFF", +"RESTART_WORKFLOW_WITH_BACKOFF" +], +"enumDescriptions": [ +"", +"Ignores the failure of this task. The rest of the workflow will be executed Assuming this task succeeded.", +"Causes a permanent failure of the task. However, if the last task(s) of event was successfully completed despite the failure of this task, it has no impact on the workflow.", +"Causes a permanent failure of the event. It is different from NONE because this will mark the event as FAILED by shutting down the event execution.", +"The task will be retried from the failed task onwards after a fixed delay. A max-retry count is required to be specified with this strategy. A jitter is added to each exponential interval so that concurrently failing tasks of the same type do not end up retrying after the exact same exponential interval. Max_num_retries and interval_in_seconds must be specified.", +"The task will be retried from the failed task onwards after a fixed delay that linearly increases with each retry attempt. A jitter is added to each exponential interval so that concurrently failing tasks of the same type do not end up retrying after the exact same exponential interval. A max-retry count is required to be specified with this strategy. Max_num_retries and interval_in_seconds must be specified.", +"The task will be retried after an exponentially increasing period of time with each failure. A jitter is added to each exponential interval so that concurrently failing tasks of the same type do not end up retrying after the exact same exponential interval. A max-retry count is required to be specified with this strategy. `max_num_retries` and `interval_in_seconds` must be specified.", +"The entire workflow will be restarted with the initial parameters that were set when the event was fired. A max-retry count is required to be specified with this strategy. `max_num_retries` and `interval_in_seconds` must be specified." +], +"type": "string" +} +}, +"type": "object" +}, +"EnterpriseCrmEventbusProtoField": { +"description": "Information about the value and type of the field.", +"id": "EnterpriseCrmEventbusProtoField", +"properties": { +"cardinality": { +"description": "By default, if the cardinality is unspecified the field is considered required while mapping.", +"enum": [ +"UNSPECIFIED", +"OPTIONAL" +], +"enumDescriptions": [ +"For fields with unspecified cardinality.", +"If field cardinality is set to optional, ignore errors if input field value is null or the reference_key is not found." +], +"type": "string" +}, +"defaultValue": { +"$ref": "EnterpriseCrmEventbusProtoParameterValueType", +"description": "This holds the default values for the fields. This value is supplied by user so may or may not contain PII or SPII data." +}, +"fieldType": { +"description": "Specifies the data type of the field.", +"enum": [ +"DATA_TYPE_UNSPECIFIED", +"STRING_VALUE", +"INT_VALUE", +"DOUBLE_VALUE", +"BOOLEAN_VALUE", +"PROTO_VALUE", +"SERIALIZED_OBJECT_VALUE", +"STRING_ARRAY", +"INT_ARRAY", +"DOUBLE_ARRAY", +"PROTO_ARRAY", +"PROTO_ENUM", +"BOOLEAN_ARRAY", +"PROTO_ENUM_ARRAY", +"BYTES", +"BYTES_ARRAY", +"NON_SERIALIZABLE_OBJECT", +"JSON_VALUE" +], +"enumDescriptions": [ +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"BYTES and BYTES_ARRAY data types are not allowed for top-level params. They're only meant to support protobufs with BYTES (sub)fields.", +"", +"", +"" +], +"type": "string" +}, +"protoDefPath": { +"description": "Optional. The fully qualified proto name (e.g. enterprise.crm.storage.Account). Required for output field of type PROTO_VALUE or PROTO_ARRAY. For e.g., if input field_type is BYTES and output field_type is PROTO_VALUE, then fully qualified proto type url should be provided to parse the input bytes. If field_type is *_ARRAY, then all the converted protos are of the same type.", +"type": "string" +}, +"referenceKey": { +"description": "This holds the reference key of the workflow or task parameter. 1. Any workflow parameter, for e.g. $workflowParam1$. 2. Any task input or output parameter, for e.g. $task1_param1$. 3. Any workflow or task parameters with subfield references, for e.g., $task1_param1.employee.id$", +"type": "string" +}, +"transformExpression": { +"$ref": "EnterpriseCrmEventbusProtoTransformExpression", +"description": "This is the transform expression to fetch the input field value. for e.g. $param1$.CONCAT('test'). Keep points - 1. Only input field can have a transform expression. 2. If a transform expression is provided, reference_key will be ignored. 3. If no value is returned after evaluation of transform expression, default_value can be mapped if provided. 4. The field_type should be the type of the final object returned after the transform expression is evaluated. Scrubs the transform expression before logging as value provided by user so may or may not contain PII or SPII data." +} +}, +"type": "object" +}, +"EnterpriseCrmEventbusProtoFieldMappingConfig": { +"description": "Field Mapping Config to map multiple output fields values from input fields values.", +"id": "EnterpriseCrmEventbusProtoFieldMappingConfig", +"properties": { +"mappedFields": { +"items": { +"$ref": "EnterpriseCrmEventbusProtoMappedField" +}, +"type": "array" +} +}, +"type": "object" +}, +"EnterpriseCrmEventbusProtoFunction": { +"id": "EnterpriseCrmEventbusProtoFunction", +"properties": { +"functionType": { +"$ref": "EnterpriseCrmEventbusProtoFunctionType", +"description": "The name of the function to perform." +}, +"parameters": { +"description": "List of parameters required for the transformation.", +"items": { +"$ref": "EnterpriseCrmEventbusProtoTransformExpression" +}, +"type": "array" +} +}, +"type": "object" +}, +"EnterpriseCrmEventbusProtoFunctionType": { +"id": "EnterpriseCrmEventbusProtoFunctionType", +"properties": { +"baseFunction": { +"$ref": "EnterpriseCrmEventbusProtoBaseFunction", +"description": "LINT.IfChange" +}, +"booleanArrayFunction": { +"$ref": "EnterpriseCrmEventbusProtoBooleanArrayFunction" +}, +"booleanFunction": { +"$ref": "EnterpriseCrmEventbusProtoBooleanFunction" +}, +"doubleArrayFunction": { +"$ref": "EnterpriseCrmEventbusProtoDoubleArrayFunction" +}, +"doubleFunction": { +"$ref": "EnterpriseCrmEventbusProtoDoubleFunction" +}, +"intArrayFunction": { +"$ref": "EnterpriseCrmEventbusProtoIntArrayFunction" +}, +"intFunction": { +"$ref": "EnterpriseCrmEventbusProtoIntFunction" +}, +"jsonFunction": { +"$ref": "EnterpriseCrmEventbusProtoJsonFunction", +"description": "LINT.ThenChange(//depot/google3/alkali/apps/integrationplatform/client/workflow_editor/utils/transform_function.ts)" +}, +"protoArrayFunction": { +"$ref": "EnterpriseCrmEventbusProtoProtoArrayFunction" +}, +"protoFunction": { +"$ref": "EnterpriseCrmEventbusProtoProtoFunction" +}, +"stringArrayFunction": { +"$ref": "EnterpriseCrmEventbusProtoStringArrayFunction" +}, +"stringFunction": { +"$ref": "EnterpriseCrmEventbusProtoStringFunction" +} +}, +"type": "object" +}, +"EnterpriseCrmEventbusProtoIntArray": { +"id": "EnterpriseCrmEventbusProtoIntArray", +"properties": { +"values": { +"items": { +"format": "int64", +"type": "string" +}, +"type": "array" +} +}, +"type": "object" +}, +"EnterpriseCrmEventbusProtoIntArrayFunction": { +"id": "EnterpriseCrmEventbusProtoIntArrayFunction", +"properties": { +"functionName": { +"enum": [ +"UNSPECIFIED", +"GET", +"APPEND", +"SIZE", +"SUM", +"AVG", +"MAX", +"MIN", +"TO_SET", +"APPEND_ALL", +"TO_JSON", +"SET", +"REMOVE", +"REMOVE_AT", +"CONTAINS", +"FOR_EACH", +"FILTER" +], +"enumDescriptions": [ +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"" +], +"type": "string" +} +}, +"type": "object" +}, +"EnterpriseCrmEventbusProtoIntFunction": { +"id": "EnterpriseCrmEventbusProtoIntFunction", +"properties": { +"functionName": { +"enum": [ +"UNSPECIFIED", +"ADD", +"SUBTRACT", +"MULTIPLY", +"DIVIDE", +"EXPONENT", +"GREATER_THAN_EQUAL_TO", +"GREATER_THAN", +"LESS_THAN_EQUAL_TO", +"LESS_THAN", +"TO_DOUBLE", +"TO_STRING", +"EQUALS", +"TO_JSON", +"MOD", +"EPOCH_TO_HUMAN_READABLE_TIME" +], +"enumDescriptions": [ +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"" +], +"type": "string" +} +}, +"type": "object" +}, +"EnterpriseCrmEventbusProtoIntParameterArray": { +"id": "EnterpriseCrmEventbusProtoIntParameterArray", +"properties": { +"intValues": { +"items": { +"format": "int64", +"type": "string" +}, +"type": "array" +} +}, +"type": "object" +}, +"EnterpriseCrmEventbusProtoJsonFunction": { +"id": "EnterpriseCrmEventbusProtoJsonFunction", +"properties": { +"functionName": { +"enum": [ +"UNSPECIFIED", +"GET_PROPERTY", +"GET_ELEMENT", +"APPEND_ELEMENT", +"SIZE", +"SET_PROPERTY", +"FLATTEN", +"FLATTEN_ONCE", +"MERGE", +"TO_STRING", +"TO_INT", +"TO_DOUBLE", +"TO_BOOLEAN", +"TO_PROTO", +"TO_STRING_ARRAY", +"TO_INT_ARRAY", +"TO_DOUBLE_ARRAY", +"TO_PROTO_ARRAY", +"TO_BOOLEAN_ARRAY", +"REMOVE_PROPERTY", +"RESOLVE_TEMPLATE", +"EQUALS", +"FOR_EACH", +"FILTER_ELEMENTS" +], +"enumDescriptions": [ +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"next id: 24" +], +"type": "string" +} +}, +"type": "object" +}, +"EnterpriseCrmEventbusProtoLogSettings": { +"description": "The LogSettings define the logging attributes for an event property. These attributes are used to map the property to the parameter in the log proto. Also used to define scrubbing/truncation behavior and PII information.", +"id": "EnterpriseCrmEventbusProtoLogSettings", +"properties": { +"logFieldName": { +"description": "The name of corresponding logging field of the event property. If omitted, assumes the same name as the event property key.", +"type": "string" +}, +"sanitizeOptions": { +"$ref": "EnterpriseCrmLoggingGwsSanitizeOptions", +"description": "Contains the scrubbing options, such as whether to scrub, obfuscate, etc." +}, +"seedPeriod": { +"enum": [ +"SEED_PERIOD_UNSPECIFIED", +"DAY", +"WEEK", +"MONTH" +], +"enumDescriptions": [ +"", +"Sanitized values remain constant for the day of the event.", +"Sanitized values remain constant for the week of the event; may cross month boundaries.", +"Sanitized values remain constant for the month of the event." +], +"type": "string" +}, +"seedScope": { +"enum": [ +"SEED_SCOPE_UNSPECIFIED", +"EVENT_NAME", +"TIME_PERIOD", +"PARAM_NAME" +], +"enumDescriptions": [ +"", +"Hash computations include the event name.", +"Hash computations include a time period.", +"Hash computations include the param name." +], +"type": "string" +}, +"shorteningLimits": { +"$ref": "EnterpriseCrmLoggingGwsFieldLimits", +"description": "Contains the field limits for shortening, such as max string length and max array length." +} +}, +"type": "object" +}, +"EnterpriseCrmEventbusProtoLoopMetadata": { +"id": "EnterpriseCrmEventbusProtoLoopMetadata", +"properties": { +"currentIterationCount": { +"description": "Starting from 1, not 0.", +"format": "int64", +"type": "string" +}, +"currentIterationDetail": { +"description": "Needs to be set by the loop impl class before each iteration. The abstract loop class will append the request and response to it. Eg. The foreach Loop will clean up and set it as the current iteration element at the start of each loop. The post request and response will be appended to the value once they are available.", +"type": "string" +}, +"errorMsg": { +"description": "Add the error message when loops fail.", +"type": "string" +}, +"failureLocation": { +"description": "Indicates where in the loop logic did it error out.", +"enum": [ +"UNKNOWN", +"SUBWORKFLOW", +"PARAM_OVERRIDING", +"PARAM_AGGREGATING", +"SETTING_ITERATION_ELEMENT", +"GETTING_LIST_TO_ITERATE", +"CONDITION_EVALUATION", +"BUILDING_REQUEST" +], +"enumDescriptions": [ +"No error or Unknown.", +"Subworkflow failed while firing/running.", +"Param overrides failed.", +"Param aggregation failed.", +"Setting for loop current element failed.", +"Getting the list to iterate.", +"Evaluating the while loop condition.", +"Building the iteration request" +], +"type": "string" +} +}, +"type": "object" +}, +"EnterpriseCrmEventbusProtoMappedField": { +"description": "Mapped field is a pair of input field and output field.", +"id": "EnterpriseCrmEventbusProtoMappedField", +"properties": { +"inputField": { +"$ref": "EnterpriseCrmEventbusProtoField", +"description": "The input field being mapped from." +}, +"outputField": { +"$ref": "EnterpriseCrmEventbusProtoField", +"description": "The output field being mapped to." +} +}, +"type": "object" +}, +"EnterpriseCrmEventbusProtoNextTask": { +"description": "The task that is next in line to be executed, if the condition specified evaluated to true.", +"id": "EnterpriseCrmEventbusProtoNextTask", +"properties": { +"combinedConditions": { +"deprecated": true, +"description": "Combined condition for this task to become an eligible next task. Each of these combined_conditions are joined with logical OR. DEPRECATED: use `condition`", +"items": { +"$ref": "EnterpriseCrmEventbusProtoCombinedCondition" +}, +"type": "array" +}, +"condition": { +"description": "Standard filter expression for this task to become an eligible next task.", +"type": "string" +}, +"description": { +"description": "User-provided description intended to give more business context about the next task edge or condition.", +"type": "string" +}, +"label": { +"description": "User-provided label that is attached to this edge in the UI.", +"type": "string" +}, +"taskConfigId": { +"description": "ID of the next task.", +"type": "string" +}, +"taskNumber": { +"description": "Task number of the next task.", +"type": "string" +} +}, +"type": "object" +}, +"EnterpriseCrmEventbusProtoNextTeardownTask": { +"description": "The teardown task that is next in line to be executed. We support only sequential execution of teardown tasks (i.e. no branching).", +"id": "EnterpriseCrmEventbusProtoNextTeardownTask", +"properties": { +"name": { +"description": "Required. Name of the next teardown task.", +"type": "string" +} +}, +"type": "object" +}, +"EnterpriseCrmEventbusProtoNodeIdentifier": { +"description": "Represents a node identifier (type + id). Next highest id: 3", +"id": "EnterpriseCrmEventbusProtoNodeIdentifier", +"properties": { +"elementIdentifier": { +"description": "Configuration of the edge.", +"type": "string" +}, +"elementType": { +"description": "Destination node where the edge ends. It can only be a task config.", +"enum": [ +"UNKNOWN_TYPE", +"TASK_CONFIG", +"TRIGGER_CONFIG" +], +"enumDescriptions": [ +"", +"", +"" +], +"type": "string" +} +}, +"type": "object" +}, +"EnterpriseCrmEventbusProtoNotification": { +"id": "EnterpriseCrmEventbusProtoNotification", +"properties": { +"buganizerNotification": { +"$ref": "EnterpriseCrmEventbusProtoBuganizerNotification" +}, +"emailAddress": { +"$ref": "EnterpriseCrmEventbusProtoAddress" +}, +"escalatorQueue": { +"type": "string" +}, +"pubsubTopic": { +"type": "string" +}, +"request": { +"$ref": "EnterpriseCrmEventbusProtoCustomSuspensionRequest", +"description": "If the out-of-the-box email/pubsub notifications are not suitable and custom logic is required, fire a workflow containing all info needed to notify users to resume execution." +} +}, +"type": "object" +}, +"EnterpriseCrmEventbusProtoParamSpecEntryConfig": { +"id": "EnterpriseCrmEventbusProtoParamSpecEntryConfig", +"properties": { +"descriptivePhrase": { +"description": "A short phrase to describe what this parameter contains.", +"type": "string" +}, +"helpText": { +"description": "Detailed help text for this parameter containing information not provided elsewhere. For example, instructions on how to migrate from a deprecated parameter.", +"type": "string" +}, +"hideDefaultValue": { +"description": "Whether the default value is hidden in the UI.", +"type": "boolean" +}, +"inputDisplayOption": { +"enum": [ +"DEFAULT", +"STRING_MULTI_LINE", +"NUMBER_SLIDER", +"BOOLEAN_TOGGLE" +], +"enumDescriptions": [ +"A single-line input for strings, a numeric input box for numbers, or a checkbox for booleans.", +"A multi-line input box for longer strings/string templates.", +"A slider to select a numerical value. The default range is [0, 100].", +"A toggle button for boolean parameters." +], +"type": "string" +}, +"isHidden": { +"description": "Whether this field is hidden in the UI.", +"type": "boolean" +}, +"label": { +"description": "A user-friendly label for the parameter.", +"type": "string" +}, +"parameterNameOption": { +"enum": [ +"DEFAULT_NOT_PARAMETER_NAME", +"IS_PARAMETER_NAME", +"KEY_IS_PARAMETER_NAME", +"VALUE_IS_PARAMETER_NAME" +], +"enumDescriptions": [ +"This field is not a parameter name.", +"If this field is a string and this option is selected, the field will be interpreted as a parameter name. Users will be able to choose a variable using the autocomplete, but the name will be stored as a literal string.", +"If this field is a ParameterMap and this option is selected, the map's keys will be interpreted as parameter names. Ignored if this field is not a ParameterMap.", +"If this field is a ParameterMap and this option is selected, the map's values will be interpreted as parameter names. Ignored if this field is not a ParameterMap." +], +"type": "string" +}, +"subSectionLabel": { +"description": "A user-friendly label for subSection under which the parameter will be displayed.", +"type": "string" +}, +"uiPlaceholderText": { +"description": "Placeholder text which will appear in the UI input form for this parameter.", +"type": "string" +} +}, +"type": "object" +}, +"EnterpriseCrmEventbusProtoParamSpecEntryProtoDefinition": { +"id": "EnterpriseCrmEventbusProtoParamSpecEntryProtoDefinition", +"properties": { +"fullName": { +"description": "The fully-qualified proto name. This message, for example, would be \"enterprise.crm.eventbus.proto.ParamSpecEntry.ProtoDefinition\".", +"type": "string" +}, +"path": { +"description": "Path to the proto file that contains the message type's definition.", +"type": "string" +} +}, +"type": "object" +}, +"EnterpriseCrmEventbusProtoParamSpecEntryValidationRule": { +"id": "EnterpriseCrmEventbusProtoParamSpecEntryValidationRule", +"properties": { +"doubleRange": { +"$ref": "EnterpriseCrmEventbusProtoParamSpecEntryValidationRuleDoubleRange" +}, +"intRange": { +"$ref": "EnterpriseCrmEventbusProtoParamSpecEntryValidationRuleIntRange" +}, +"stringRegex": { +"$ref": "EnterpriseCrmEventbusProtoParamSpecEntryValidationRuleStringRegex" +} +}, +"type": "object" +}, +"EnterpriseCrmEventbusProtoParamSpecEntryValidationRuleDoubleRange": { +"description": "Range used to validate doubles and floats.", +"id": "EnterpriseCrmEventbusProtoParamSpecEntryValidationRuleDoubleRange", +"properties": { +"max": { +"description": "The inclusive maximum of the acceptable range.", +"format": "double", +"type": "number" +}, +"min": { +"description": "The inclusive minimum of the acceptable range.", +"format": "double", +"type": "number" +} +}, +"type": "object" +}, +"EnterpriseCrmEventbusProtoParamSpecEntryValidationRuleIntRange": { +"description": "Range used to validate longs and ints.", +"id": "EnterpriseCrmEventbusProtoParamSpecEntryValidationRuleIntRange", +"properties": { +"max": { +"description": "The inclusive maximum of the acceptable range.", +"format": "int64", +"type": "string" +}, +"min": { +"description": "The inclusive minimum of the acceptable range.", +"format": "int64", +"type": "string" +} +}, +"type": "object" +}, +"EnterpriseCrmEventbusProtoParamSpecEntryValidationRuleStringRegex": { +"description": "Rule used to validate strings.", +"id": "EnterpriseCrmEventbusProtoParamSpecEntryValidationRuleStringRegex", +"properties": { +"exclusive": { +"description": "Whether the regex matcher is applied exclusively (if true, matching values will be rejected).", +"type": "boolean" +}, +"regex": { +"description": "The regex applied to the input value(s).", +"type": "string" +} +}, +"type": "object" +}, +"EnterpriseCrmEventbusProtoParameterEntry": { +"description": "Key-value pair of EventBus parameters.", +"id": "EnterpriseCrmEventbusProtoParameterEntry", +"properties": { +"key": { +"description": "Key is used to retrieve the corresponding parameter value. This should be unique for a given fired event. These parameters must be predefined in the integration definition.", +"type": "string" +}, +"masked": { +"description": "True if this parameter should be masked in the logs", +"type": "boolean" +}, +"value": { +"$ref": "EnterpriseCrmEventbusProtoParameterValueType", +"description": "Values for the defined keys. Each value can either be string, int, double or any proto message." +} +}, +"type": "object" +}, +"EnterpriseCrmEventbusProtoParameterMap": { +"description": "A generic multi-map that holds key value pairs. They keys and values can be of any type, unless specified.", +"id": "EnterpriseCrmEventbusProtoParameterMap", +"properties": { +"entries": { +"items": { +"$ref": "EnterpriseCrmEventbusProtoParameterMapEntry" +}, +"type": "array" +}, +"keyType": { +"description": "Option to specify key value type for all entries of the map. If provided then field types for all entries must conform to this.", +"enum": [ +"DATA_TYPE_UNSPECIFIED", +"STRING_VALUE", +"INT_VALUE", +"DOUBLE_VALUE", +"BOOLEAN_VALUE", +"PROTO_VALUE", +"SERIALIZED_OBJECT_VALUE", +"STRING_ARRAY", +"INT_ARRAY", +"DOUBLE_ARRAY", +"PROTO_ARRAY", +"PROTO_ENUM", +"BOOLEAN_ARRAY", +"PROTO_ENUM_ARRAY", +"BYTES", +"BYTES_ARRAY", +"NON_SERIALIZABLE_OBJECT", +"JSON_VALUE" +], +"enumDescriptions": [ +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"BYTES and BYTES_ARRAY data types are not allowed for top-level params. They're only meant to support protobufs with BYTES (sub)fields.", +"", +"", +"" +], +"type": "string" +}, +"valueType": { +"enum": [ +"DATA_TYPE_UNSPECIFIED", +"STRING_VALUE", +"INT_VALUE", +"DOUBLE_VALUE", +"BOOLEAN_VALUE", +"PROTO_VALUE", +"SERIALIZED_OBJECT_VALUE", +"STRING_ARRAY", +"INT_ARRAY", +"DOUBLE_ARRAY", +"PROTO_ARRAY", +"PROTO_ENUM", +"BOOLEAN_ARRAY", +"PROTO_ENUM_ARRAY", +"BYTES", +"BYTES_ARRAY", +"NON_SERIALIZABLE_OBJECT", +"JSON_VALUE" +], +"enumDescriptions": [ +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"BYTES and BYTES_ARRAY data types are not allowed for top-level params. They're only meant to support protobufs with BYTES (sub)fields.", +"", +"", +"" +], +"type": "string" +} +}, +"type": "object" +}, +"EnterpriseCrmEventbusProtoParameterMapEntry": { +"description": "Entry is a pair of key and value.", +"id": "EnterpriseCrmEventbusProtoParameterMapEntry", +"properties": { +"key": { +"$ref": "EnterpriseCrmEventbusProtoParameterMapField" +}, +"value": { +"$ref": "EnterpriseCrmEventbusProtoParameterMapField" +} +}, +"type": "object" +}, +"EnterpriseCrmEventbusProtoParameterMapField": { +"description": "Field represents either the key or value in an entry.", +"id": "EnterpriseCrmEventbusProtoParameterMapField", +"properties": { +"literalValue": { +"$ref": "EnterpriseCrmEventbusProtoParameterValueType", +"description": "Passing a literal value." +}, +"referenceKey": { +"description": "Referencing one of the WF variables.", +"type": "string" +} +}, +"type": "object" +}, +"EnterpriseCrmEventbusProtoParameterValueType": { +"description": "LINT.IfChange To support various types of parameter values. Next available id: 14", +"id": "EnterpriseCrmEventbusProtoParameterValueType", +"properties": { +"booleanArray": { +"$ref": "EnterpriseCrmEventbusProtoBooleanParameterArray" +}, +"booleanValue": { +"type": "boolean" +}, +"doubleArray": { +"$ref": "EnterpriseCrmEventbusProtoDoubleParameterArray" +}, +"doubleValue": { +"format": "double", +"type": "number" +}, +"intArray": { +"$ref": "EnterpriseCrmEventbusProtoIntParameterArray" +}, +"intValue": { +"format": "int64", +"type": "string" +}, +"protoArray": { +"$ref": "EnterpriseCrmEventbusProtoProtoParameterArray" +}, +"protoValue": { +"additionalProperties": { +"description": "Properties of the object. Contains field @type with type URL.", +"type": "any" +}, +"type": "object" +}, +"serializedObjectValue": { +"$ref": "EnterpriseCrmEventbusProtoSerializedObjectParameter" +}, +"stringArray": { +"$ref": "EnterpriseCrmEventbusProtoStringParameterArray" +}, +"stringValue": { +"type": "string" +} +}, +"type": "object" +}, +"EnterpriseCrmEventbusProtoPropertyEntry": { +"description": "Key-value pair of EventBus property.", +"id": "EnterpriseCrmEventbusProtoPropertyEntry", +"properties": { +"key": { +"description": "Key is used to retrieve the corresponding property value. This should be unique for a given fired event. The Tasks should be aware of the keys used while firing the events for them to be able to retrieve the values.", +"type": "string" +}, +"value": { +"$ref": "EnterpriseCrmEventbusProtoValueType", +"description": "Values for the defined keys. Each value can either be string, int, double or any proto message." +} +}, +"type": "object" +}, +"EnterpriseCrmEventbusProtoProtoArrayFunction": { +"id": "EnterpriseCrmEventbusProtoProtoArrayFunction", +"properties": { +"functionName": { +"enum": [ +"UNSPECIFIED", +"GET", +"APPEND", +"SIZE", +"TO_SET", +"APPEND_ALL", +"TO_JSON", +"SET", +"REMOVE", +"REMOVE_AT", +"CONTAINS", +"FOR_EACH", +"FILTER" +], +"enumDescriptions": [ +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"" +], +"type": "string" +} +}, +"type": "object" +}, +"EnterpriseCrmEventbusProtoProtoFunction": { +"id": "EnterpriseCrmEventbusProtoProtoFunction", +"properties": { +"functionName": { +"enum": [ +"UNSPECIFIED", +"GET_STRING_SUBFIELD", +"GET_INT_SUBFIELD", +"GET_DOUBLE_SUBFIELD", +"GET_BOOLEAN_SUBFIELD", +"GET_STRING_ARRAY_SUBFIELD", +"GET_INT_ARRAY_SUBFIELD", +"GET_DOUBLE_ARRAY_SUBFIELD", +"GET_BOOLEAN_ARRAY_SUBFIELD", +"GET_PROTO_ARRAY_SUBFIELD", +"GET_PROTO_SUBFIELD", +"TO_JSON", +"GET_BYTES_SUBFIELD_AS_UTF_8_STRING", +"GET_BYTES_SUBFIELD_AS_PROTO", +"EQUALS" +], +"enumDescriptions": [ +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"" +], +"type": "string" +} +}, +"type": "object" +}, +"EnterpriseCrmEventbusProtoProtoParameterArray": { +"id": "EnterpriseCrmEventbusProtoProtoParameterArray", +"properties": { +"protoValues": { +"items": { +"additionalProperties": { +"description": "Properties of the object. Contains field @type with type URL.", +"type": "any" +}, +"type": "object" +}, +"type": "array" +} +}, +"type": "object" +}, +"EnterpriseCrmEventbusProtoScatterResponse": { +"id": "EnterpriseCrmEventbusProtoScatterResponse", +"properties": { +"errorMsg": { +"description": "The error message of the failure if applicable.", +"type": "string" +}, +"executionIds": { +"description": "The execution ids of each Subworkflow fired by this scatter.", +"items": { +"type": "string" +}, +"type": "array" +}, +"isSuccessful": { +"description": "If execution is sync, this is true if the execution passed and false if it failed. If the execution is async, this is true if the WF was fired off successfully, and false if it failed to execute. The success or failure of the subworkflows executed are not captured.", +"type": "boolean" +}, +"responseParams": { +"description": "A list of all the response parameters in the aggregtorMap stored with the remapped key.", +"items": { +"$ref": "EnterpriseCrmEventbusProtoParameterEntry" +}, +"type": "array" +}, +"scatterElement": { +"$ref": "EnterpriseCrmEventbusProtoParameterValueType", +"description": "The element that was scattered for this execution." +} +}, +"type": "object" +}, +"EnterpriseCrmEventbusProtoSerializedObjectParameter": { +"id": "EnterpriseCrmEventbusProtoSerializedObjectParameter", +"properties": { +"objectValue": { +"format": "byte", +"type": "string" +} +}, +"type": "object" +}, +"EnterpriseCrmEventbusProtoStringArray": { +"id": "EnterpriseCrmEventbusProtoStringArray", +"properties": { +"values": { +"items": { +"type": "string" +}, +"type": "array" +} +}, +"type": "object" +}, +"EnterpriseCrmEventbusProtoStringArrayFunction": { +"id": "EnterpriseCrmEventbusProtoStringArrayFunction", +"properties": { +"functionName": { +"enum": [ +"UNSPECIFIED", +"GET", +"APPEND", +"SIZE", +"TO_SET", +"APPEND_ALL", +"TO_JSON", +"SET", +"REMOVE", +"REMOVE_AT", +"CONTAINS", +"FOR_EACH", +"FILTER" +], +"enumDescriptions": [ +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"" +], +"type": "string" +} +}, +"type": "object" +}, +"EnterpriseCrmEventbusProtoStringFunction": { +"id": "EnterpriseCrmEventbusProtoStringFunction", +"properties": { +"functionName": { +"enum": [ +"UNSPECIFIED", +"CONCAT", +"TO_UPPERCASE", +"TO_LOWERCASE", +"CONTAINS", +"SPLIT", +"LENGTH", +"EQUALS", +"TO_INT", +"TO_DOUBLE", +"TO_BOOLEAN", +"TO_BASE_64", +"TO_JSON", +"EQUALS_IGNORE_CASE", +"REPLACE_ALL", +"SUBSTRING", +"RESOLVE_TEMPLATE", +"DECODE_BASE64_STRING" +], +"enumDescriptions": [ +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"" +], +"type": "string" +} +}, +"type": "object" +}, +"EnterpriseCrmEventbusProtoStringParameterArray": { +"id": "EnterpriseCrmEventbusProtoStringParameterArray", +"properties": { +"stringValues": { +"items": { +"type": "string" +}, +"type": "array" +} +}, +"type": "object" +}, +"EnterpriseCrmEventbusProtoSuccessPolicy": { +"description": "Policy that dictates the behavior for the task after it completes successfully.", +"id": "EnterpriseCrmEventbusProtoSuccessPolicy", +"properties": { +"finalState": { +"description": "State to which the execution snapshot status will be set if the task succeeds.", +"enum": [ +"UNSPECIFIED", +"SUCCEEDED", +"SUSPENDED" +], +"enumDescriptions": [ +"", +"The default behavior, where successful tasks will be marked as SUCCEEDED.", +"Sets the state to SUSPENDED after executing. This is required for SuspensionTask; event execution will continue once the user calls ResolveSuspensions with the event_execution_info_id and the task number." +], +"type": "string" +} +}, +"type": "object" +}, +"EnterpriseCrmEventbusProtoSuspensionAuthPermissions": { +"description": "LINT.IfChange", +"id": "EnterpriseCrmEventbusProtoSuspensionAuthPermissions", +"properties": { +"gaiaIdentity": { +"$ref": "EnterpriseCrmEventbusProtoSuspensionAuthPermissionsGaiaIdentity", +"description": "Represents a Gaia identity for a person or service account." +}, +"googleGroup": { +"$ref": "EnterpriseCrmEventbusProtoSuspensionAuthPermissionsGaiaIdentity" +}, +"loasRole": { +"type": "string" +}, +"mdbGroup": { +"type": "string" +} +}, +"type": "object" +}, +"EnterpriseCrmEventbusProtoSuspensionAuthPermissionsGaiaIdentity": { +"id": "EnterpriseCrmEventbusProtoSuspensionAuthPermissionsGaiaIdentity", +"properties": { +"emailAddress": { +"type": "string" +}, +"gaiaId": { +"format": "int64", +"type": "string" +} +}, +"type": "object" +}, +"EnterpriseCrmEventbusProtoSuspensionConfig": { +"id": "EnterpriseCrmEventbusProtoSuspensionConfig", +"properties": { +"customMessage": { +"description": "Optional information to provide recipients of the suspension in addition to the resolution URL, typically containing relevant parameter values from the originating workflow.", +"type": "string" +}, +"notifications": { +"items": { +"$ref": "EnterpriseCrmEventbusProtoNotification" +}, +"type": "array" +}, +"suspensionExpiration": { +"$ref": "EnterpriseCrmEventbusProtoSuspensionExpiration", +"description": "Indicates the next steps when no external actions happen on the suspension." +}, +"whoMayResolve": { +"description": "Identities able to resolve this suspension.", +"items": { +"$ref": "EnterpriseCrmEventbusProtoSuspensionAuthPermissions" +}, +"type": "array" +} +}, +"type": "object" +}, +"EnterpriseCrmEventbusProtoSuspensionExpiration": { +"id": "EnterpriseCrmEventbusProtoSuspensionExpiration", +"properties": { +"expireAfterMs": { +"description": "Milliseconds after which the suspension expires, if no action taken.", +"format": "int32", +"type": "integer" +}, +"liftWhenExpired": { +"description": "Whether the suspension will be REJECTED or LIFTED upon expiration. REJECTED is the default behavior.", +"type": "boolean" +}, +"remindAfterMs": { +"description": "Milliseconds after which the previous suspension action reminder, if any, is sent using the selected notification option, for a suspension which is still PENDING_UNSPECIFIED.", +"format": "int32", +"type": "integer" +} +}, +"type": "object" +}, +"EnterpriseCrmEventbusProtoSuspensionResolutionInfo": { +"id": "EnterpriseCrmEventbusProtoSuspensionResolutionInfo", +"properties": { +"audit": { +"$ref": "EnterpriseCrmEventbusProtoSuspensionResolutionInfoAudit" +}, +"clientId": { +"description": "The event data user sends as request.", +"type": "string" +}, +"cloudKmsConfig": { +"$ref": "EnterpriseCrmEventbusProtoCloudKmsConfig", +"description": "KMS info, used by cmek/gmek integration" +}, +"createdTimestamp": { +"description": "Auto-generated.", +"format": "google-datetime", +"type": "string" +}, +"encryptedSuspensionResolutionInfo": { +"description": "Encrypted SuspensionResolutionInfo", +"format": "byte", +"type": "string" +}, +"eventExecutionInfoId": { +"description": "Required. ID of the associated execution.", +"type": "string" +}, +"externalTraffic": { +"$ref": "EnterpriseCrmEventbusProtoExternalTraffic", +"description": "The origin of the suspension for periodic notifications." +}, +"lastModifiedTimestamp": { +"description": "Auto-generated.", +"format": "google-datetime", +"type": "string" +}, +"product": { +"description": "Which Google product the suspension belongs to. If not set, the suspension belongs to Integration Platform by default.", +"enum": [ +"UNSPECIFIED_PRODUCT", +"IP", +"APIGEE", +"SECURITY" +], +"enumDescriptions": [ +"", +"", +"", +"" +], +"type": "string" +}, +"status": { +"enum": [ +"PENDING_UNSPECIFIED", +"REJECTED", +"LIFTED", +"CANCELED" +], +"enumDescriptions": [ +"", +"", +"", +"" +], +"type": "string" +}, +"suspensionConfig": { +"$ref": "EnterpriseCrmEventbusProtoSuspensionConfig" +}, +"suspensionId": { +"description": "Primary key for the SuspensionResolutionInfoTable.", +"type": "string" +}, +"taskNumber": { +"description": "Required. Task number of the associated SuspensionTask.", +"type": "string" +}, +"workflowName": { +"description": "Required. The name of the originating workflow.", +"type": "string" +}, +"wrappedDek": { +"description": "Wrapped dek", +"format": "byte", +"type": "string" +} +}, +"type": "object" +}, +"EnterpriseCrmEventbusProtoSuspensionResolutionInfoAudit": { +"id": "EnterpriseCrmEventbusProtoSuspensionResolutionInfoAudit", +"properties": { +"resolvedBy": { +"type": "string" +}, +"resolvedByCpi": { +"type": "string" +}, +"timestamp": { +"format": "google-datetime", +"type": "string" +} +}, +"type": "object" +}, +"EnterpriseCrmEventbusProtoTaskAlertConfig": { +"description": "Message to be used to configure alerting in the {@code TaskConfig} protos for tasks in an event.", +"id": "EnterpriseCrmEventbusProtoTaskAlertConfig", +"properties": { +"aggregationPeriod": { +"description": "The period over which the metric value should be aggregated and evaluated. Format is , where integer should be a positive integer and unit should be one of (s,m,h,d,w) meaning (second, minute, hour, day, week).", +"type": "string" +}, +"alertDisabled": { +"description": "Set to false by default. When set to true, the metrics are not aggregated or pushed to Monarch for this workflow alert.", +"type": "boolean" +}, +"alertName": { +"description": "A name to identify this alert. This will be displayed in the alert subject. If set, this name should be unique in within the scope of the containing workflow.", +"type": "string" +}, +"clientId": { +"description": "Client associated with this alert configuration. Must be a client enabled in one of the containing workflow's triggers.", +"type": "string" +}, +"durationThresholdMs": { +"description": "Should be specified only for TASK_AVERAGE_DURATION and TASK_PERCENTILE_DURATION metrics. This member should be used to specify what duration value the metrics should exceed for the alert to trigger.", +"format": "int64", +"type": "string" +}, +"errorEnumList": { +"$ref": "EnterpriseCrmEventbusProtoBaseAlertConfigErrorEnumList" +}, +"metricType": { +"enum": [ +"METRIC_TYPE_UNSPECIFIED", +"TASK_ERROR_RATE", +"TASK_WARNING_RATE", +"TASK_RATE", +"TASK_AVERAGE_DURATION", +"TASK_PERCENTILE_DURATION" +], +"enumDescriptions": [ +"The default value. Metric type should always be set to one of the other non-default values, otherwise it will result in an INVALID_ARGUMENT error.", +"Specifies alerting on the rate of errors (potentially for a specific set of enum values) for the enclosing TaskConfig.", +"Specifies alerting on the rate of warnings (potentially for a specific set of enum values) for the enclosing TaskConfig. Warnings use the same enum values as errors.", +"Specifies alerting on the number of instances for the enclosing TaskConfig executed in the given aggregation_period.", +"Specifies alerting on the average duration of execution for the enclosing task.", +"Specifies alerting on the duration of a particular percentile of task executions. E.g. If 10% or more of the task executions have durations above 5 seconds, alert." +], +"type": "string" +}, +"numAggregationPeriods": { +"description": "For how many contiguous aggregation periods should the expected min or max be violated for the alert to be fired.", +"format": "int32", +"type": "integer" +}, +"onlyFinalAttempt": { +"description": "Only count final task attempts, not retries.", +"type": "boolean" +}, +"playbookUrl": { +"description": "Link to a playbook for resolving the issue that triggered this alert.", +"type": "string" +}, +"thresholdType": { +"description": "The threshold type for which this alert is being configured. If value falls below expected_min or exceeds expected_max, an alert will be fired.", +"enum": [ +"UNSPECIFIED_THRESHOLD_TYPE", +"EXPECTED_MIN", +"EXPECTED_MAX" +], +"enumDescriptions": [ +"", +"Note that this field will only trigger alerts if the workflow specifying it runs at least once in 24 hours (which is our in-memory retention period for monarch streams). Also note that `aggregation_period` for this alert configuration must be less than 24 hours.", +"" +], +"type": "string" +}, +"thresholdValue": { +"$ref": "EnterpriseCrmEventbusProtoBaseAlertConfigThresholdValue", +"description": "The metric value, above or below which the alert should be triggered." +}, +"warningEnumList": { +"$ref": "EnterpriseCrmEventbusProtoBaseAlertConfigErrorEnumList" +} +}, +"type": "object" +}, +"EnterpriseCrmEventbusProtoTaskExecutionDetails": { +"description": "Contains the details of the execution of this task. Next available id: 11", +"id": "EnterpriseCrmEventbusProtoTaskExecutionDetails", +"properties": { +"taskAttemptStats": { +"items": { +"$ref": "EnterpriseCrmEventbusProtoTaskExecutionDetailsTaskAttemptStats" +}, +"type": "array" +}, +"taskExecutionState": { +"enum": [ +"UNSPECIFIED", +"PENDING_EXECUTION", +"IN_PROCESS", +"SUCCEED", +"FAILED", +"FATAL", +"RETRY_ON_HOLD", +"SKIPPED", +"CANCELED", +"PENDING_ROLLBACK", +"ROLLBACK_IN_PROCESS", +"ROLLEDBACK", +"SUSPENDED" +], +"enumDescriptions": [ +"", +"Task is waiting for its precondition tasks to finish to start the execution.", +"Task is under processing.", +"Task execution successfully finished. There's no more change after this state.", +"Task execution failed. There's no more change after this state.", +"Task execution failed and cause the whole event execution to fail immediately. There's no more change after this state.", +"Task execution failed and waiting for retry.", +"Task execution skipped. This happens when its precondition wasn't met, or the event execution been canceled before reach to the task. There's no more changes after this state.", +"Task execution canceled when in progress. This happens when event execution been canceled or any other task fall in fatal state.", +"Task is waiting for its dependency tasks' rollback to finish to start its rollback.", +"Task is rolling back.", +"Task is rolled back. This is the state we will set regardless of rollback succeeding or failing.", +"Task is a SuspensionTask which has executed once, creating a pending suspension." +], +"type": "string" +}, +"taskNumber": { +"description": "Pointer to the task config it used for execution.", +"type": "string" +} +}, +"type": "object" +}, +"EnterpriseCrmEventbusProtoTaskExecutionDetailsTaskAttemptStats": { +"id": "EnterpriseCrmEventbusProtoTaskExecutionDetailsTaskAttemptStats", +"properties": { +"endTime": { +"description": "The end time of the task execution for current attempt.", +"format": "int64", +"type": "string" +}, +"startTime": { +"description": "The start time of the task execution for current attempt. This could be in the future if it's been scheduled.", +"format": "int64", +"type": "string" +} +}, +"type": "object" +}, +"EnterpriseCrmEventbusProtoTaskMetadata": { +"description": "TaskMetadata are attributes that are associated to every common Task we have.", +"id": "EnterpriseCrmEventbusProtoTaskMetadata", +"properties": { +"activeTaskName": { +"description": "The new task name to replace the current task if it is deprecated. Otherwise, it is the same as the current task name.", +"type": "string" +}, +"admins": { +"items": { +"$ref": "EnterpriseCrmEventbusProtoTaskMetadataAdmin" +}, +"type": "array" +}, +"category": { +"enum": [ +"UNSPECIFIED_CATEGORY", +"CUSTOM", +"FLOW_CONTROL", +"DATA_MANIPULATION", +"SCRIPTING", +"CONNECTOR", +"HIDDEN", +"CLOUD_SYSTEMS", +"CUSTOM_TASK_TEMPLATE", +"TASK_RECOMMENDATIONS" +], +"enumDescriptions": [ +"", +"", +"", +"", +"", +"", +"Internal IP tasks that should not be available in the UI.", +"Tasks that are relevant to cloud systems teams and typically", +"include connecting to Vector salesforce, CRM Hub Spanner etc. Task entities that derive from a custom task template.", +"Category to show task recommendations" +], +"type": "string" +}, +"codeSearchLink": { +"description": "The Code Search link to the Task Java file.", +"type": "string" +}, +"defaultJsonValidationOption": { +"description": "Controls whether JSON workflow parameters are validated against provided schemas before and/or after this task's execution.", +"enum": [ +"UNSPECIFIED_JSON_VALIDATION_OPTION", +"SKIP", +"PRE_EXECUTION", +"POST_EXECUTION", +"PRE_POST_EXECUTION" +], +"enumDescriptions": [ +"As per the default behavior, no validation will be run. Will not override any option set in a Task.", +"Do not run any validation against JSON schemas.", +"Validate all potential input JSON parameters against schemas specified in WorkflowParameters.", +"Validate all potential output JSON parameters against schemas specified in WorkflowParameters.", +"Perform both PRE_EXECUTION and POST_EXECUTION validations." +], +"type": "string" +}, +"defaultSpec": { +"description": "Contains the initial configuration of the task with default values set. For now, The string should be compatible to an ASCII-proto format.", +"type": "string" +}, +"description": { +"description": "In a few sentences, describe the purpose and usage of the task.", +"type": "string" +}, +"descriptiveName": { +"description": "The string name to show on the task list on the Workflow editor screen. This should be a very short, one to two words name for the task. (e.g. \"Send Mail\")", +"type": "string" +}, +"docMarkdown": { +"description": "Snippet of markdown documentation to embed in the RHP for this task.", +"type": "string" +}, +"externalCategory": { +"enum": [ +"UNSPECIFIED_EXTERNAL_CATEGORY", +"CORE", +"CONNECTORS", +"EXTERNAL_HTTP", +"EXTERNAL_INTEGRATION_SERVICES", +"EXTERNAL_CUSTOMER_ACTIONS", +"EXTERNAL_FLOW_CONTROL", +"EXTERNAL_WORKSPACE", +"EXTERNAL_SECURITY", +"EXTERNAL_DATABASES", +"EXTERNAL_ANALYTICS", +"EXTERNAL_BYOC", +"EXTERNAL_BYOT", +"EXTERNAL_ARTIFICIAL_INTELIGENCE", +"EXTERNAL_DATA_MANIPULATION" +], +"enumDescriptions": [ +"", +"", +"", +"HTTP tasks, e.g. rest api call task", +"Integration services, e.g. connector task", +"Customer ations, e.g. email task", +"Flow control, e.g. while loop task", +"Workspace tasks, e.g. list drive task", +"Security, e.g. kms related tasks", +"Database operation tasks, e.g. read firestore info tasks", +"Analytics tasks, e.g. dataflow creattion tasks", +"BYOC tasks", +"BYOT tasks", +"AI related tasks.", +"Data manipulation related tasks, e.g. data mapping task" +], +"type": "string" +}, +"externalCategorySequence": { +"description": "Sequence with which the task in specific category to be displayed in task discovery panel for external users.", +"format": "int32", +"type": "integer" +}, +"externalDocHtml": { +"description": "External-facing documention embedded in the RHP for this task.", +"type": "string" +}, +"externalDocLink": { +"description": "Doc link for external-facing documentation (separate from g3doc).", +"type": "string" +}, +"externalDocMarkdown": { +"description": "DEPRECATED: Use external_doc_html.", +"type": "string" +}, +"g3DocLink": { +"description": "URL to the associated G3 Doc for the task if available", +"type": "string" +}, +"iconLink": { +"description": "URL to gstatic image icon for this task. This icon shows up on the task list panel along with the task name in the Workflow Editor screen. Use the 24p, 2x, gray color icon image format.", +"type": "string" +}, +"isDeprecated": { +"description": "The deprecation status of the current task. Default value is false;", +"type": "boolean" +}, +"name": { +"description": "The actual class name or the annotated name of the task. Task Author should initialize this field with value from the getName() method of the Task class.", +"type": "string" +}, +"standaloneExternalDocHtml": { +"description": "External-facing documention for standalone IP in pantheon embedded in the RHP for this task. Non null only if different from external_doc_html", +"type": "string" +}, +"status": { +"description": "Allows author to indicate if the task is ready to use or not. If not set, then it will default to INACTIVE.", +"enum": [ +"UNSPECIFIED_STATUS", +"DEFAULT_INACTIVE", +"ACTIVE" +], +"enumDescriptions": [ +"Default value. Actual Task Status should always be set to either INACTIVE or ACTIVE. If none is specified at runtime, it will be set to INACTIVE.", +"Still in-progress or incomplete, and not intended for use.", +"Available for use." +], +"type": "string" +}, +"system": { +"enum": [ +"UNSPECIFIED_SYSTEM", +"GENERIC", +"BUGANIZER", +"SALESFORCE", +"CLOUD_SQL", +"PLX", +"SHEETS", +"GOOGLE_GROUPS", +"EMAIL", +"SPANNER", +"DATA_BRIDGE" +], +"enumDescriptions": [ +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"" +], +"type": "string" +}, +"tags": { +"description": "A set of tags that pertain to a particular task. This can be used to improve the searchability of tasks with several names (\"REST Caller\" vs. \"Call REST Endpoint\") or to help users find tasks based on related words.", +"items": { +"type": "string" +}, +"type": "array" +} +}, +"type": "object" +}, +"EnterpriseCrmEventbusProtoTaskMetadataAdmin": { +"description": "Admins are owners of a Task, and have all permissions on a particular task identified by the task name. By default, Eventbus periodically scans all task metadata and syncs (adds) any new admins defined here to Zanzibar.", +"id": "EnterpriseCrmEventbusProtoTaskMetadataAdmin", +"properties": { +"googleGroupEmail": { +"type": "string" +}, +"userEmail": { +"type": "string" +} +}, +"type": "object" +}, +"EnterpriseCrmEventbusProtoTaskUiConfig": { +"description": "Task authors would use this type to configure the UI for a particular task by specifying what UI config modules should be included to compose the UI. Learn more about config module framework:", +"id": "EnterpriseCrmEventbusProtoTaskUiConfig", +"properties": { +"taskUiModuleConfigs": { +"description": "Configurations of included config modules.", +"items": { +"$ref": "EnterpriseCrmEventbusProtoTaskUiModuleConfig" +}, +"type": "array" +} +}, +"type": "object" +}, +"EnterpriseCrmEventbusProtoTaskUiModuleConfig": { +"description": "Task author would use this type to configure a config module.", +"id": "EnterpriseCrmEventbusProtoTaskUiModuleConfig", +"properties": { +"moduleId": { +"description": "ID of the config module.", +"enum": [ +"UNSPECIFIED_TASK_MODULE", +"LABEL", +"ERROR_HANDLING", +"TASK_PARAM_TABLE", +"TASK_PARAM_FORM", +"PRECONDITION", +"SCRIPT_EDITOR", +"RPC", +"TASK_SUMMARY", +"SUSPENSION", +"RPC_TYPED", +"SUB_WORKFLOW", +"APPS_SCRIPT_NAVIGATOR", +"SUB_WORKFLOW_FOR_EACH_LOOP", +"FIELD_MAPPING", +"README", +"REST_CALLER", +"SUB_WORKFLOW_SCATTER_GATHER", +"CLOUD_SQL", +"GENERIC_CONNECTOR_TASK" +], +"enumDescriptions": [ +"Default", +"Supports editing label of a task config.", +"Supports editing error handling settings such as retry strategy.", +"Supports adding, removing and editing task parameter values in a table with little assistance or restriction.", +"Supports editing values of declared input parameters of a task. Think of it as a \"strongly typed\" upgrade to the TASK_PARAM_TABLE.", +"Supports editing preconditions of a task config.", +"Supports adding, editing, and deleting the scripts associated with a script task, as well as modifying the input/output parameters.", +"Supports editing task parameters associated with an RPC/stubby task.", +"Contains readonly task information, including input/output type info.", +"Configures a SuspensionTask.", +"Configures a GenericStubbyTypedTask.", +"Configures a SubWorkflowExecutorTask.", +"Supports navigating to Apps Script editor", +"Configures a SubWorkflowForEachLoopTask.", +"Configures a FieldMappingTask.", +"Contains embedded in-product documentation for a task.", +"UI widget for the rest caller task.", +"Configures a SubWorkflowScatterGatherTask.", +"Configures a CloudSql Task.", +"Configure a GenericConnectorTask." +], +"type": "string" +} +}, +"type": "object" +}, +"EnterpriseCrmEventbusProtoTeardown": { +"id": "EnterpriseCrmEventbusProtoTeardown", +"properties": { +"teardownTaskConfigs": { +"description": "Required.", +"items": { +"$ref": "EnterpriseCrmEventbusProtoTeardownTaskConfig" +}, +"type": "array" +} +}, +"type": "object" +}, +"EnterpriseCrmEventbusProtoTeardownTaskConfig": { +"id": "EnterpriseCrmEventbusProtoTeardownTaskConfig", +"properties": { +"creatorEmail": { +"description": "The creator's email address.", +"type": "string" +}, +"name": { +"description": "Required. Unique identifier of the teardown task within this Config. We use this field as the identifier to find next teardown tasks.", +"type": "string" +}, +"nextTeardownTask": { +"$ref": "EnterpriseCrmEventbusProtoNextTeardownTask" +}, +"parameters": { +"$ref": "EnterpriseCrmEventbusProtoEventParameters", +"description": "The parameters the user can pass to this task." +}, +"properties": { +"$ref": "EnterpriseCrmEventbusProtoEventBusProperties" +}, +"teardownTaskImplementationClassName": { +"description": "Required. Implementation class name.", +"type": "string" +} +}, +"type": "object" +}, +"EnterpriseCrmEventbusProtoToken": { +"id": "EnterpriseCrmEventbusProtoToken", +"properties": { +"name": { +"type": "string" +}, +"value": { +"type": "string" +} +}, +"type": "object" +}, +"EnterpriseCrmEventbusProtoTransformExpression": { +"id": "EnterpriseCrmEventbusProtoTransformExpression", +"properties": { +"initialValue": { +"$ref": "EnterpriseCrmEventbusProtoBaseValue", +"description": "Initial value upon which to perform transformations." +}, +"transformationFunctions": { +"description": "Transformations to be applied sequentially.", +"items": { +"$ref": "EnterpriseCrmEventbusProtoFunction" +}, +"type": "array" +} +}, +"type": "object" +}, +"EnterpriseCrmEventbusProtoTriggerCriteria": { +"id": "EnterpriseCrmEventbusProtoTriggerCriteria", +"properties": { +"condition": { +"description": "Required. Standard filter expression, when true the workflow will be executed. If there's no trigger_criteria_task_implementation_class_name specified, the condition will be validated directly.", +"type": "string" +}, +"parameters": { +"$ref": "EnterpriseCrmEventbusProtoEventParameters", +"description": "Optional. To be used in TaskConfig for the implementation class." +}, +"triggerCriteriaTaskImplementationClassName": { +"description": "Optional. Implementation class name. The class should implement the \u201cTypedTask\u201d interface.", +"type": "string" +} +}, +"type": "object" +}, +"EnterpriseCrmEventbusProtoValueType": { +"description": "Used for define type for values. Currently supported value types include int, string, double, array, and any proto message.", +"id": "EnterpriseCrmEventbusProtoValueType", +"properties": { +"booleanValue": { +"type": "boolean" +}, +"doubleArray": { +"$ref": "EnterpriseCrmEventbusProtoDoubleArray" +}, +"doubleValue": { +"format": "double", +"type": "number" +}, +"intArray": { +"$ref": "EnterpriseCrmEventbusProtoIntArray" +}, +"intValue": { +"format": "int64", +"type": "string" +}, +"protoValue": { +"additionalProperties": { +"description": "Properties of the object. Contains field @type with type URL.", +"type": "any" +}, +"type": "object" +}, +"stringArray": { +"$ref": "EnterpriseCrmEventbusProtoStringArray" +}, +"stringValue": { +"type": "string" +} +}, +"type": "object" +}, +"EnterpriseCrmEventbusProtoWorkflowAlertConfig": { +"description": "Message to be used to configure custom alerting in the {@code EventConfig} protos for an event.", +"id": "EnterpriseCrmEventbusProtoWorkflowAlertConfig", +"properties": { +"aggregationPeriod": { +"description": "For an EXPECTED_MIN threshold, this aggregation_period must be lesser than 24 hours.", +"type": "string" +}, +"alertDisabled": { +"description": "Set to false by default. When set to true, the metrics are not aggregated or pushed to Monarch for this workflow alert.", +"type": "boolean" +}, +"alertName": { +"description": "A name to identify this alert. This will be displayed in the alert subject. If set, this name should be unique within the scope of the workflow.", +"type": "string" +}, +"clientId": { +"description": "Client associated with this alert configuration.", +"type": "string" +}, +"durationThresholdMs": { +"description": "Should be specified only for *AVERAGE_DURATION and *PERCENTILE_DURATION metrics. This member should be used to specify what duration value the metrics should exceed for the alert to trigger.", +"format": "int64", +"type": "string" +}, +"errorEnumList": { +"$ref": "EnterpriseCrmEventbusProtoBaseAlertConfigErrorEnumList" +}, +"metricType": { +"enum": [ +"METRIC_TYPE_UNSPECIFIED", +"EVENT_ERROR_RATE", +"EVENT_WARNING_RATE", +"TASK_ERROR_RATE", +"TASK_WARNING_RATE", +"TASK_RATE", +"EVENT_RATE", +"EVENT_AVERAGE_DURATION", +"EVENT_PERCENTILE_DURATION", +"TASK_AVERAGE_DURATION", +"TASK_PERCENTILE_DURATION" +], +"enumDescriptions": [ +"The default value. Metric type should always be set to one of the other non-default values, otherwise it will result in an INVALID_ARGUMENT error.", +"Specifies alerting on the rate of errors for the enclosing workflow.", +"Specifies alerting on the rate of warnings for the enclosing workflow. Warnings use the same enum values as errors.", +"Specifies alerting on the rate of errors for any task in the enclosing workflow.", +"Specifies alerting on the rate of warnings for any task in the enclosing workflow.", +"Specifies alerting on the rate of executions over all tasks in the enclosing workflow.", +"Specifies alerting on the number of events executed in the given aggregation_period.", +"Specifies alerting on the average duration of executions for this workflow.", +"Specifies alerting on the duration value of a particular percentile of workflow executions. E.g. If 10% or more of the workflow executions have durations above 5 seconds, alert.", +"Specifies alerting on the average duration of any task in the enclosing workflow,", +"Specifies alerting on the duration value of a particular percentile of any task executions within the enclosing workflow. E.g. If 10% or more of the task executions in the workflow have durations above 5 seconds, alert." +], +"type": "string" +}, +"numAggregationPeriods": { +"description": "For how many contiguous aggregation periods should the expected min or max be violated for the alert to be fired.", +"format": "int32", +"type": "integer" +}, +"onlyFinalAttempt": { +"description": "For either events or tasks, depending on the type of alert, count only final attempts, not retries.", +"type": "boolean" +}, +"playbookUrl": { +"description": "Link to a playbook for resolving the issue that triggered this alert.", +"type": "string" +}, +"thresholdType": { +"description": "The threshold type, whether lower(expected_min) or upper(expected_max), for which this alert is being configured. If value falls below expected_min or exceeds expected_max, an alert will be fired.", +"enum": [ +"UNSPECIFIED_THRESHOLD_TYPE", +"EXPECTED_MIN", +"EXPECTED_MAX" +], +"enumDescriptions": [ +"", +"Note that this field will only trigger alerts if the workflow specifying it runs at least once in 24 hours (which is our in-memory retention period for monarch streams). Also note that `aggregation_period` for this alert configuration must be less than 24 hours.", +"" +], +"type": "string" +}, +"thresholdValue": { +"$ref": "EnterpriseCrmEventbusProtoBaseAlertConfigThresholdValue", +"description": "The metric value, above or below which the alert should be triggered." +}, +"warningEnumList": { +"$ref": "EnterpriseCrmEventbusProtoBaseAlertConfigErrorEnumList" +} +}, +"type": "object" +}, +"EnterpriseCrmEventbusStats": { +"description": "Stats for the requested dimensions: QPS, duration, and error/warning rate", +"id": "EnterpriseCrmEventbusStats", +"properties": { +"dimensions": { +"$ref": "EnterpriseCrmEventbusStatsDimensions", +"description": "Dimensions that these stats have been aggregated on." +}, +"durationInSeconds": { +"description": "Average duration in seconds.", +"format": "double", +"type": "number" +}, +"errorRate": { +"description": "Average error rate.", +"format": "double", +"type": "number" +}, +"qps": { +"description": "Queries per second.", +"format": "double", +"type": "number" +}, +"warningRate": { +"description": "Average warning rate.", +"format": "double", +"type": "number" +} +}, +"type": "object" +}, +"EnterpriseCrmEventbusStatsDimensions": { +"id": "EnterpriseCrmEventbusStatsDimensions", +"properties": { +"clientId": { +"type": "string" +}, +"enumFilterType": { +"description": "Whether to include or exclude the enums matching the regex.", +"enum": [ +"DEFAULT_INCLUSIVE", +"EXCLUSIVE" +], +"enumDescriptions": [ +"", +"" +], +"type": "string" +}, +"errorEnumString": { +"type": "string" +}, +"retryAttempt": { +"enum": [ +"UNSPECIFIED", +"FINAL", +"RETRYABLE", +"CANCELED" +], +"enumDescriptions": [ +"", +"Task has completed successfully or has depleted all retry attempts.", +"Task has failed but may be retried.", +"Task has been deliberately canceled." +], +"type": "string" +}, +"taskName": { +"type": "string" +}, +"taskNumber": { +"type": "string" +}, +"triggerId": { +"description": "Stats have been or will be aggregated on set fields for any semantically-meaningful combination.", +"type": "string" +}, +"warningEnumString": { +"type": "string" +}, +"workflowId": { +"type": "string" +}, +"workflowName": { +"type": "string" +} +}, +"type": "object" +}, +"EnterpriseCrmFrontendsEventbusProtoBooleanParameterArray": { +"id": "EnterpriseCrmFrontendsEventbusProtoBooleanParameterArray", +"properties": { +"booleanValues": { +"items": { +"type": "boolean" +}, +"type": "array" +} +}, +"type": "object" +}, +"EnterpriseCrmFrontendsEventbusProtoDoubleParameterArray": { +"id": "EnterpriseCrmFrontendsEventbusProtoDoubleParameterArray", +"properties": { +"doubleValues": { +"items": { +"format": "double", +"type": "number" +}, +"type": "array" +} +}, +"type": "object" +}, +"EnterpriseCrmFrontendsEventbusProtoEventExecutionDetails": { +"description": "Contains the details of the execution info of this event: this includes the tasks execution details plus the event execution statistics. Next available id: 11", +"id": "EnterpriseCrmFrontendsEventbusProtoEventExecutionDetails", +"properties": { +"eventAttemptStats": { +"items": { +"$ref": "EnterpriseCrmEventbusProtoEventExecutionDetailsEventAttemptStats" +}, +"type": "array" +}, +"eventExecutionSnapshot": { +"description": "After snapshot migration, this field will no longer be populated, but old execution snapshots will still be accessible.", +"items": { +"$ref": "EnterpriseCrmFrontendsEventbusProtoEventExecutionSnapshot" +}, +"type": "array" +}, +"eventExecutionSnapshotsSize": { +"description": "Total size of all event_execution_snapshots for an execution", +"format": "int64", +"type": "string" +}, +"eventExecutionState": { +"description": "The execution state of this event.", +"enum": [ +"UNSPECIFIED", +"ON_HOLD", +"IN_PROCESS", +"SUCCEEDED", +"FAILED", +"CANCELED", +"RETRY_ON_HOLD", +"SUSPENDED" +], +"enumDescriptions": [ +"", +"Event is received and waiting for the execution. This happens when firing the event via \"postToQueue\" or \"schedule\".", +"Event is under processing.", +"Event execution successfully finished. There's no more change after this state.", +"Event execution failed. There's no more change after this state.", +"Event execution canceled by user. There's no more change after this state.", +"Event execution failed and waiting for retry.", +"Event execution suspended and waiting for manual intervention." +], +"type": "string" +}, +"eventRetriesFromBeginningCount": { +"description": "Indicates the number of times the execution has restarted from the beginning.", +"format": "int32", +"type": "integer" +}, +"logFilePath": { +"description": "The log file path (aka. cns address) for this event.", +"type": "string" +}, +"networkAddress": { +"description": "The network address (aka. bns address) that indicates where the event executor is running.", +"type": "string" +}, +"nextExecutionTime": { +"description": "Next scheduled execution time in case the execution status was RETRY_ON_HOLD.", +"format": "int64", +"type": "string" +}, +"ryeLockUnheldCount": { +"description": "Used internally and shouldn't be exposed to users. A counter for the cron job to record how many times this event is in in_process state but don't have a lock consecutively/", +"format": "int32", +"type": "integer" +} +}, +"type": "object" +}, +"EnterpriseCrmFrontendsEventbusProtoEventExecutionInfo": { +"description": "Contains all the execution details for a workflow instance. Next available id: 24", +"id": "EnterpriseCrmFrontendsEventbusProtoEventExecutionInfo", +"properties": { +"clientId": { +"description": "The event data user sends as request.", +"type": "string" +}, +"createTime": { +"description": "Auto-generated.", +"format": "int64", +"type": "string" +}, +"errorCode": { +"$ref": "CrmlogErrorCode", +"description": "Final error-code if event failed." +}, +"errors": { +"description": "Errors, warnings, and informationals associated with the workflow/task. The order in which the errors were added by the workflow/task is maintained.", +"items": { +"$ref": "EnterpriseCrmEventbusProtoErrorDetail" +}, +"type": "array" +}, +"eventExecutionDetails": { +"$ref": "EnterpriseCrmFrontendsEventbusProtoEventExecutionDetails", +"description": "The execution info about this event." +}, +"eventExecutionInfoId": { +"description": "Auto-generated primary key.", +"type": "string" +}, +"executionTraceInfo": { +"$ref": "EnterpriseCrmEventbusProtoExecutionTraceInfo", +"description": "Execution trace info to aggregate parent-child executions." +}, +"lastModifiedTime": { +"description": "Auto-generated.", +"format": "int64", +"type": "string" +}, +"postMethod": { +"description": "The ways user posts this event.", +"enum": [ +"UNSPECIFIED", +"POST", +"POST_TO_QUEUE", +"SCHEDULE", +"POST_BY_EVENT_CONFIG_ID", +"POST_WITH_EVENT_DETAILS" +], +"enumDescriptions": [ +"", +"", +"", +"", +"", +"" +], +"type": "string" +}, +"product": { +"description": "Which Google product the execution_info belongs to. If not set, the execution_info belongs to Integration Platform by default.", +"enum": [ +"UNSPECIFIED_PRODUCT", +"IP", +"APIGEE", +"SECURITY" +], +"enumDescriptions": [ +"", +"", +"", +"" +], +"type": "string" +}, +"requestId": { +"description": "Optional. This is used to de-dup incoming request.", +"type": "string" +}, +"requestParams": { +"$ref": "EnterpriseCrmFrontendsEventbusProtoEventParameters", +"description": "Event parameters come in as part of the request." +}, +"responseParams": { +"$ref": "EnterpriseCrmFrontendsEventbusProtoEventParameters", +"description": "Event parameters come out as part of the response." +}, +"snapshotNumber": { +"description": "Workflow snapshot number.", +"format": "int64", +"type": "string" +}, +"tenant": { +"description": "Tenant this event is created. Used to reschedule the event to correct tenant.", +"type": "string" +}, +"triggerId": { +"description": "The trigger id of the workflow trigger config. If both trigger_id and client_id is present, the workflow is executed from the start tasks provided by the matching trigger config otherwise it is executed from the default start tasks.", +"type": "string" +}, +"workflowId": { +"description": "Required. Pointer to the workflow it is executing.", +"type": "string" +}, +"workflowName": { +"description": "Name of the workflow.", +"type": "string" +}, +"workflowRetryBackoffIntervalSeconds": { +"description": "Time interval in seconds to schedule retry of workflow in manifold when workflow is already running", +"format": "int64", +"type": "string" +} +}, +"type": "object" +}, +"EnterpriseCrmFrontendsEventbusProtoEventExecutionSnapshot": { +"id": "EnterpriseCrmFrontendsEventbusProtoEventExecutionSnapshot", +"properties": { +"checkpointTaskNumber": { +"description": "Indicates \"right after which checkpoint task's execution\" this snapshot is taken.", +"type": "string" +}, +"conditionResults": { +"description": "All of the computed conditions that been calculated.", +"items": { +"$ref": "EnterpriseCrmEventbusProtoConditionResult" +}, +"type": "array" +}, +"diffParams": { +"$ref": "EnterpriseCrmFrontendsEventbusProtoEventParameters", +"description": "The parameters in Event object that differs from last snapshot." +}, +"eventExecutionInfoId": { +"description": "Points to the event execution info this snapshot belongs to.", +"type": "string" +}, +"eventExecutionSnapshotId": { +"description": "Auto-generated. Used as primary key for EventExecutionSnapshots table.", +"type": "string" +}, +"eventExecutionSnapshotMetadata": { +"$ref": "EnterpriseCrmEventbusProtoEventExecutionSnapshotEventExecutionSnapshotMetadata" +}, +"eventParams": { +"$ref": "EnterpriseCrmFrontendsEventbusProtoEventParameters", +"description": "The parameters in Event object." +}, +"snapshotTime": { +"description": "Indicates when this snapshot is taken.", +"format": "int64", +"type": "string" +}, +"taskExecutionDetails": { +"description": "All of the task execution details at the given point of time.", +"items": { +"$ref": "EnterpriseCrmEventbusProtoTaskExecutionDetails" +}, +"type": "array" +}, +"taskName": { +"deprecated": true, +"description": "The task name associated with this snapshot. Could be empty.", +"type": "string" +} +}, +"type": "object" +}, +"EnterpriseCrmFrontendsEventbusProtoEventParameters": { +"description": "LINT.IfChange This message is used for processing and persisting (when applicable) key value pair parameters for each event in the event bus. Please see", +"id": "EnterpriseCrmFrontendsEventbusProtoEventParameters", +"properties": { +"parameters": { +"description": "Parameters are a part of Event and can be used to communicate between different tasks that are part of the same workflow execution.", +"items": { +"$ref": "EnterpriseCrmFrontendsEventbusProtoParameterEntry" +}, +"type": "array" +} +}, +"type": "object" +}, +"EnterpriseCrmFrontendsEventbusProtoIntParameterArray": { +"id": "EnterpriseCrmFrontendsEventbusProtoIntParameterArray", +"properties": { +"intValues": { +"items": { +"format": "int64", +"type": "string" +}, +"type": "array" +} +}, +"type": "object" +}, +"EnterpriseCrmFrontendsEventbusProtoParamSpecEntry": { +"description": "Key-value pair of EventBus task parameters. Next id: 13", +"id": "EnterpriseCrmFrontendsEventbusProtoParamSpecEntry", +"properties": { +"className": { +"description": "The FQCN of the Java object this represents. A string, for example, would be \"java.lang.String\". If this is \"java.lang.Object\", the parameter can be of any type.", +"type": "string" +}, +"collectionElementClassName": { +"description": "If it is a collection of objects, this would be the FCQN of every individual element in the collection. If this is \"java.lang.Object\", the parameter is a collection of any type.", +"type": "string" +}, +"config": { +"$ref": "EnterpriseCrmEventbusProtoParamSpecEntryConfig", +"description": "Optional fields, such as help text and other useful info." +}, +"dataType": { +"description": "The data type of the parameter.", +"enum": [ +"DATA_TYPE_UNSPECIFIED", +"STRING_VALUE", +"INT_VALUE", +"DOUBLE_VALUE", +"BOOLEAN_VALUE", +"PROTO_VALUE", +"SERIALIZED_OBJECT_VALUE", +"STRING_ARRAY", +"INT_ARRAY", +"DOUBLE_ARRAY", +"PROTO_ARRAY", +"PROTO_ENUM", +"BOOLEAN_ARRAY", +"PROTO_ENUM_ARRAY", +"BYTES", +"BYTES_ARRAY", +"NON_SERIALIZABLE_OBJECT", +"JSON_VALUE" +], +"enumDescriptions": [ +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"BYTES and BYTES_ARRAY data types are not allowed for top-level params. They're only meant to support protobufs with BYTES (sub)fields.", +"", +"", +"" +], +"type": "string" +}, +"defaultValue": { +"$ref": "EnterpriseCrmFrontendsEventbusProtoParameterValueType", +"description": "Default values for the defined keys. Each value can either be string, int, double or any proto message or a serialized object." +}, +"isDeprecated": { +"description": "If set, this entry is deprecated, so further use of this parameter should be prohibited.", +"type": "boolean" +}, +"isOutput": { +"type": "boolean" +}, +"jsonSchema": { +"description": "If the data_type is JSON_VALUE, then this will define its schema.", +"type": "string" +}, +"key": { +"description": "Key is used to retrieve the corresponding parameter value. This should be unique for a given task. These parameters must be predefined in the workflow definition.", +"type": "string" +}, +"protoDef": { +"$ref": "EnterpriseCrmEventbusProtoParamSpecEntryProtoDefinition", +"description": "Populated if this represents a proto or proto array." +}, +"required": { +"description": "If set, the user must provide an input value for this parameter.", +"type": "boolean" +}, +"validationRule": { +"$ref": "EnterpriseCrmEventbusProtoParamSpecEntryValidationRule", +"description": "Rule used to validate inputs (individual values and collection elements) for this parameter." +} +}, +"type": "object" +}, +"EnterpriseCrmFrontendsEventbusProtoParamSpecsMessage": { +"id": "EnterpriseCrmFrontendsEventbusProtoParamSpecsMessage", +"properties": { +"parameters": { +"items": { +"$ref": "EnterpriseCrmFrontendsEventbusProtoParamSpecEntry" +}, +"type": "array" +} +}, +"type": "object" +}, +"EnterpriseCrmFrontendsEventbusProtoParameterEntry": { +"description": "Key-value pair of EventBus parameters.", +"id": "EnterpriseCrmFrontendsEventbusProtoParameterEntry", +"properties": { +"dataType": { +"description": "Explicitly getting the type of the parameter.", +"enum": [ +"DATA_TYPE_UNSPECIFIED", +"STRING_VALUE", +"INT_VALUE", +"DOUBLE_VALUE", +"BOOLEAN_VALUE", +"PROTO_VALUE", +"SERIALIZED_OBJECT_VALUE", +"STRING_ARRAY", +"INT_ARRAY", +"DOUBLE_ARRAY", +"PROTO_ARRAY", +"PROTO_ENUM", +"BOOLEAN_ARRAY", +"PROTO_ENUM_ARRAY", +"BYTES", +"BYTES_ARRAY", +"NON_SERIALIZABLE_OBJECT", +"JSON_VALUE" +], +"enumDescriptions": [ +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"BYTES and BYTES_ARRAY data types are not allowed for top-level params. They're only meant to support protobufs with BYTES (sub)fields.", +"", +"", +"" +], +"type": "string" +}, +"key": { +"description": "Key is used to retrieve the corresponding parameter value. This should be unique for a given fired event. These parameters must be predefined in the workflow definition.", +"type": "string" +}, +"masked": { +"description": "True if this parameter should be masked in the logs", +"type": "boolean" +}, +"value": { +"$ref": "EnterpriseCrmFrontendsEventbusProtoParameterValueType", +"description": "Values for the defined keys. Each value can either be string, int, double or any proto message." +} +}, +"type": "object" +}, +"EnterpriseCrmFrontendsEventbusProtoParameterMap": { +"description": "A generic multi-map that holds key value pairs. They keys and values can be of any type, unless specified.", +"id": "EnterpriseCrmFrontendsEventbusProtoParameterMap", +"properties": { +"entries": { +"items": { +"$ref": "EnterpriseCrmFrontendsEventbusProtoParameterMapEntry" +}, +"type": "array" +}, +"keyType": { +"description": "Option to specify key value type for all entries of the map. If provided then field types for all entries must conform to this.", +"enum": [ +"DATA_TYPE_UNSPECIFIED", +"STRING_VALUE", +"INT_VALUE", +"DOUBLE_VALUE", +"BOOLEAN_VALUE", +"PROTO_VALUE", +"SERIALIZED_OBJECT_VALUE", +"STRING_ARRAY", +"INT_ARRAY", +"DOUBLE_ARRAY", +"PROTO_ARRAY", +"PROTO_ENUM", +"BOOLEAN_ARRAY", +"PROTO_ENUM_ARRAY", +"BYTES", +"BYTES_ARRAY", +"NON_SERIALIZABLE_OBJECT", +"JSON_VALUE" +], +"enumDescriptions": [ +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"BYTES and BYTES_ARRAY data types are not allowed for top-level params. They're only meant to support protobufs with BYTES (sub)fields.", +"", +"", +"" +], +"type": "string" +}, +"valueType": { +"enum": [ +"DATA_TYPE_UNSPECIFIED", +"STRING_VALUE", +"INT_VALUE", +"DOUBLE_VALUE", +"BOOLEAN_VALUE", +"PROTO_VALUE", +"SERIALIZED_OBJECT_VALUE", +"STRING_ARRAY", +"INT_ARRAY", +"DOUBLE_ARRAY", +"PROTO_ARRAY", +"PROTO_ENUM", +"BOOLEAN_ARRAY", +"PROTO_ENUM_ARRAY", +"BYTES", +"BYTES_ARRAY", +"NON_SERIALIZABLE_OBJECT", +"JSON_VALUE" +], +"enumDescriptions": [ +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"BYTES and BYTES_ARRAY data types are not allowed for top-level params. They're only meant to support protobufs with BYTES (sub)fields.", +"", +"", +"" +], +"type": "string" +} +}, +"type": "object" +}, +"EnterpriseCrmFrontendsEventbusProtoParameterMapEntry": { +"description": "Entry is a pair of key and value.", +"id": "EnterpriseCrmFrontendsEventbusProtoParameterMapEntry", +"properties": { +"key": { +"$ref": "EnterpriseCrmFrontendsEventbusProtoParameterMapField" +}, +"value": { +"$ref": "EnterpriseCrmFrontendsEventbusProtoParameterMapField" +} +}, +"type": "object" +}, +"EnterpriseCrmFrontendsEventbusProtoParameterMapField": { +"description": "Field represents either the key or value in an entry.", +"id": "EnterpriseCrmFrontendsEventbusProtoParameterMapField", +"properties": { +"literalValue": { +"$ref": "EnterpriseCrmFrontendsEventbusProtoParameterValueType", +"description": "Passing a literal value." +}, +"referenceKey": { +"description": "Referencing one of the WF variables.", +"type": "string" +} +}, +"type": "object" +}, +"EnterpriseCrmFrontendsEventbusProtoParameterValueType": { +"description": "To support various types of parameter values. Next available id: 14", +"id": "EnterpriseCrmFrontendsEventbusProtoParameterValueType", +"properties": { +"booleanArray": { +"$ref": "EnterpriseCrmFrontendsEventbusProtoBooleanParameterArray" +}, +"booleanValue": { +"type": "boolean" +}, +"doubleArray": { +"$ref": "EnterpriseCrmFrontendsEventbusProtoDoubleParameterArray" +}, +"doubleValue": { +"format": "double", +"type": "number" +}, +"intArray": { +"$ref": "EnterpriseCrmFrontendsEventbusProtoIntParameterArray" +}, +"intValue": { +"format": "int64", +"type": "string" +}, +"jsonValue": { +"type": "string" +}, +"protoArray": { +"$ref": "EnterpriseCrmFrontendsEventbusProtoProtoParameterArray" +}, +"protoValue": { +"additionalProperties": { +"description": "Properties of the object. Contains field @type with type URL.", +"type": "any" +}, +"type": "object" +}, +"serializedObjectValue": { +"$ref": "EnterpriseCrmFrontendsEventbusProtoSerializedObjectParameter" +}, +"stringArray": { +"$ref": "EnterpriseCrmFrontendsEventbusProtoStringParameterArray" +}, +"stringValue": { +"type": "string" +} +}, +"type": "object" +}, +"EnterpriseCrmFrontendsEventbusProtoProtoParameterArray": { +"id": "EnterpriseCrmFrontendsEventbusProtoProtoParameterArray", +"properties": { +"protoValues": { +"items": { +"additionalProperties": { +"description": "Properties of the object. Contains field @type with type URL.", +"type": "any" +}, +"type": "object" +}, +"type": "array" +} +}, +"type": "object" +}, +"EnterpriseCrmFrontendsEventbusProtoRollbackStrategy": { +"description": "Next available id: 4", +"id": "EnterpriseCrmFrontendsEventbusProtoRollbackStrategy", +"properties": { +"parameters": { +"$ref": "EnterpriseCrmFrontendsEventbusProtoEventParameters", +"description": "Optional. The customized parameters the user can pass to this task." +}, +"rollbackTaskImplementationClassName": { +"description": "Required. This is the name of the task that needs to be executed upon rollback of this task.", +"type": "string" +}, +"taskNumbersToRollback": { +"description": "Required. These are the tasks numbers of the tasks whose `rollback_strategy.rollback_task_implementation_class_name` needs to be executed upon failure of this task.", +"items": { +"type": "string" +}, +"type": "array" +} +}, +"type": "object" +}, +"EnterpriseCrmFrontendsEventbusProtoSerializedObjectParameter": { +"id": "EnterpriseCrmFrontendsEventbusProtoSerializedObjectParameter", +"properties": { +"objectValue": { +"format": "byte", +"type": "string" +} +}, +"type": "object" +}, +"EnterpriseCrmFrontendsEventbusProtoStringParameterArray": { +"id": "EnterpriseCrmFrontendsEventbusProtoStringParameterArray", +"properties": { +"stringValues": { +"items": { +"type": "string" +}, +"type": "array" +} +}, +"type": "object" +}, +"EnterpriseCrmFrontendsEventbusProtoTaskConfig": { +"description": "The task configuration details. This is not the implementation of Task. There might be multiple TaskConfigs for the same Task.", +"id": "EnterpriseCrmFrontendsEventbusProtoTaskConfig", +"properties": { +"alertConfigs": { +"description": "Alert configurations on error rate, warning rate, number of runs, durations, etc.", +"items": { +"$ref": "EnterpriseCrmEventbusProtoTaskAlertConfig" +}, +"type": "array" +}, +"createTime": { +"description": "Auto-generated.", +"format": "google-datetime", +"type": "string" +}, +"creatorEmail": { +"description": "The creator's email address. Auto-generated from the user's email.", +"type": "string" +}, +"description": { +"description": "User-provided description intended to give more business context about the task.", +"type": "string" +}, +"disableStrictTypeValidation": { +"description": "If this config contains a TypedTask, allow validation to succeed if an input is read from the output of another TypedTask whose output type is declared as a superclass of the requested input type. For instance, if the previous task declares an output of type Message, any task with this flag enabled will pass validation when attempting to read any proto Message type from the resultant Event parameter.", +"type": "boolean" +}, +"errorCatcherId": { +"description": "Optional Error catcher id of the error catch flow which will be executed when execution error happens in the task", +"type": "string" +}, +"externalTaskType": { +"enum": [ +"EXTERNAL_TASK_TYPE_UNSPECIFIED", +"NORMAL_TASK", +"ERROR_TASK" +], +"enumDescriptions": [ +"Default value. External task type is not specified", +"Tasks belongs to the normal task flows", +"Task belongs to the error catch task flows" +], +"type": "string" +}, +"failurePolicy": { +"$ref": "EnterpriseCrmEventbusProtoFailurePolicy", +"description": "Optional. Determines the number of times the task will be retried on failure and with what retry strategy. This is applicable for asynchronous calls to Eventbus alone (Post To Queue, Schedule etc.)." +}, +"incomingEdgeCount": { +"description": "The number of edges leading into this TaskConfig.", +"format": "int32", +"type": "integer" +}, +"jsonValidationOption": { +"description": "If set, overrides the option configured in the Task implementation class.", +"enum": [ +"UNSPECIFIED_JSON_VALIDATION_OPTION", +"SKIP", +"PRE_EXECUTION", +"POST_EXECUTION", +"PRE_POST_EXECUTION" +], +"enumDescriptions": [ +"As per the default behavior, no validation will be run. Will not override any option set in a Task.", +"Do not run any validation against JSON schemas.", +"Validate all potential input JSON parameters against schemas specified in WorkflowParameters.", +"Validate all potential output JSON parameters against schemas specified in WorkflowParameters.", +"Perform both PRE_EXECUTION and POST_EXECUTION validations." +], +"type": "string" +}, +"label": { +"description": "User-provided label that is attached to this TaskConfig in the UI.", +"type": "string" +}, +"lastModifiedTime": { +"description": "Auto-generated.", +"format": "google-datetime", +"type": "string" +}, +"nextTasks": { +"description": "The set of tasks that are next in line to be executed as per the execution graph defined for the parent event, specified by `event_config_id`. Each of these next tasks are executed only if the condition associated with them evaluates to true.", +"items": { +"$ref": "EnterpriseCrmEventbusProtoNextTask" +}, +"type": "array" +}, +"nextTasksExecutionPolicy": { +"description": "The policy dictating the execution of the next set of tasks for the current task.", +"enum": [ +"UNSPECIFIED", +"RUN_ALL_MATCH", +"RUN_FIRST_MATCH" +], +"enumDescriptions": [ +"Default", +"Execute all the tasks that satisfy their associated condition.", +"Execute the first task that satisfies the associated condition." +], +"type": "string" +}, +"parameters": { +"additionalProperties": { +"$ref": "EnterpriseCrmFrontendsEventbusProtoParameterEntry" +}, +"description": "The customized parameters the user can pass to this task.", +"type": "object" +}, +"position": { +"$ref": "EnterpriseCrmEventbusProtoCoordinate", +"description": "Optional. Informs the front-end application where to draw this task config on the UI." +}, +"precondition": { +"description": "Optional. Standard filter expression evaluated before execution. Independent of other conditions and tasks. Can be used to enable rollout. e.g. \"rollout(5)\" will only allow 5% of incoming traffic to task.", +"type": "string" +}, +"preconditionLabel": { +"description": "Optional. User-provided label that is attached to precondition in the UI.", +"type": "string" +}, +"rollbackStrategy": { +"$ref": "EnterpriseCrmFrontendsEventbusProtoRollbackStrategy", +"description": "Optional. Contains information about what needs to be done upon failure (either a permanent error or after it has been retried too many times)." +}, +"successPolicy": { +"$ref": "EnterpriseCrmEventbusProtoSuccessPolicy", +"description": "Determines what action to take upon successful task completion." +}, +"synchronousCallFailurePolicy": { +"$ref": "EnterpriseCrmEventbusProtoFailurePolicy", +"description": "Optional. Determines the number of times the task will be retried on failure and with what retry strategy. This is applicable for synchronous calls to Eventbus alone (Post)." +}, +"taskEntity": { +"$ref": "EnterpriseCrmFrontendsEventbusProtoTaskEntity", +"description": "Copy of the task entity that this task config is an instance of." +}, +"taskExecutionStrategy": { +"description": "The policy dictating the execution strategy of this task.", +"enum": [ +"WHEN_ALL_SUCCEED", +"WHEN_ANY_SUCCEED", +"WHEN_ALL_TASKS_AND_CONDITIONS_SUCCEED" +], +"enumDescriptions": [ +"Wait until all of its previous tasks finished execution, then verify at least one of the edge conditions is met, and execute if possible. This should be considered as WHEN_ALL_TASKS_SUCCEED.", +"Start execution as long as any of its previous tasks finished execution and the corresponding edge condition is met (since we will execute if only that succeeding edge condition is met).", +"Wait until all of its previous tasks finished execution, then verify the all edge conditions are met and execute if possible." +], +"type": "string" +}, +"taskName": { +"description": "The name for the task.", +"type": "string" +}, +"taskNumber": { +"description": "REQUIRED: the identifier of this task within its parent event config, specified by the client. This should be unique among all the tasks belong to the same event config. We use this field as the identifier to find next tasks (via field `next_tasks.task_number`).", +"type": "string" +}, +"taskSpec": { +"description": "A string template that allows user to configure task parameters (with either literal default values or tokens which will be resolved at execution time) for the task. It will eventually replace the old \"parameters\" field.", +"type": "string" +}, +"taskTemplateName": { +"description": "Used to define task-template name if task is of type task-template", +"type": "string" +}, +"taskType": { +"description": "Defines the type of the task", +"enum": [ +"TASK", +"ASIS_TEMPLATE", +"IO_TEMPLATE" +], +"enumDescriptions": [ +"Normal IP task", +"Task is of As-Is Template type", +"Task is of I/O template type with a different underlying task" +], +"type": "string" +} +}, +"type": "object" +}, +"EnterpriseCrmFrontendsEventbusProtoTaskEntity": { +"description": "Contains a task's metadata and associated information. Next available id: 7", +"id": "EnterpriseCrmFrontendsEventbusProtoTaskEntity", +"properties": { +"disabledForVpcSc": { +"description": "True if the task has conflict with vpcsc", +"type": "boolean" +}, +"metadata": { +"$ref": "EnterpriseCrmEventbusProtoTaskMetadata", +"description": "Metadata inclueds the task name, author and so on." +}, +"paramSpecs": { +"$ref": "EnterpriseCrmFrontendsEventbusProtoParamSpecsMessage", +"description": "Declarations for inputs/outputs for a TypedTask. This is also associated with the METADATA mask." +}, +"stats": { +"$ref": "EnterpriseCrmEventbusStats", +"deprecated": true, +"description": "Deprecated - statistics from the Monarch query." +}, +"taskType": { +"description": "Defines the type of the task", +"enum": [ +"TASK", +"ASIS_TEMPLATE", +"IO_TEMPLATE" +], +"enumDescriptions": [ +"Normal IP task", +"Task is of As-Is Template type", +"Task is of I/O template type with a different underlying task" +], +"type": "string" +}, +"uiConfig": { +"$ref": "EnterpriseCrmEventbusProtoTaskUiConfig", +"description": "UI configuration for this task Also associated with the METADATA mask." +} +}, +"type": "object" +}, +"EnterpriseCrmFrontendsEventbusProtoTriggerConfig": { +"description": "Configuration detail of a trigger. Next available id: 20", +"id": "EnterpriseCrmFrontendsEventbusProtoTriggerConfig", +"properties": { +"alertConfig": { +"description": "An alert threshold configuration for the [trigger + client + workflow] tuple. If these values are not specified in the trigger config, default values will be populated by the system. Note that there must be exactly one alert threshold configured per [client + trigger + workflow] when published.", +"items": { +"$ref": "EnterpriseCrmEventbusProtoWorkflowAlertConfig" +}, +"type": "array" +}, +"cloudSchedulerConfig": { +"$ref": "EnterpriseCrmEventbusProtoCloudSchedulerConfig" +}, +"description": { +"description": "User-provided description intended to give more business context about the task.", +"type": "string" +}, +"enabledClients": { +"description": "Required. The list of client ids which are enabled to execute the workflow using this trigger. In other words, these clients have the workflow execution privledges for this trigger. For API trigger, the client id in the incoming request is validated against the list of enabled clients. For non-API triggers, one workflow execution is triggered on behalf of each enabled client.", +"items": { +"type": "string" +}, +"type": "array" +}, +"errorCatcherId": { +"description": "Optional Error catcher id of the error catch flow which will be executed when execution error happens in the task", +"type": "string" +}, +"label": { +"description": "The user created label for a particular trigger.", +"type": "string" +}, +"nextTasksExecutionPolicy": { +"description": "Dictates how next tasks will be executed.", +"enum": [ +"UNSPECIFIED", +"RUN_ALL_MATCH", +"RUN_FIRST_MATCH" +], +"enumDescriptions": [ +"Default", +"Execute all the tasks that satisfy their associated condition.", +"Execute the first task that satisfies the associated condition." +], +"type": "string" +}, +"pauseWorkflowExecutions": { +"description": "Optional. If set to true, any upcoming requests for this trigger config will be paused and the executions will be resumed later when the flag is reset. The workflow to which this trigger config belongs has to be in ACTIVE status for the executions to be paused or resumed.", +"type": "boolean" +}, +"position": { +"$ref": "EnterpriseCrmEventbusProtoCoordinate", +"description": "Optional. Informs the front-end application where to draw this trigger config on the UI." +}, +"properties": { +"additionalProperties": { +"type": "string" +}, +"description": "Configurable properties of the trigger, not to be confused with workflow parameters. E.g. \"name\" is a property for API triggers and \"subscription\" is a property for Cloud Pubsub triggers.", +"type": "object" +}, +"startTasks": { +"description": "Set of tasks numbers from where the workflow execution is started by this trigger. If this is empty, then workflow is executed with default start tasks. In the list of start tasks, none of two tasks can have direct ancestor-descendant relationships (i.e. in a same workflow execution graph).", +"items": { +"$ref": "EnterpriseCrmEventbusProtoNextTask" +}, +"type": "array" +}, +"triggerCriteria": { +"$ref": "EnterpriseCrmEventbusProtoTriggerCriteria", +"description": "Optional. When set, Eventbus will run the task specified in the trigger_criteria and validate the result using the trigger_criteria.condition, and only execute the workflow when result is true." +}, +"triggerId": { +"description": "The backend trigger ID.", +"type": "string" +}, +"triggerName": { +"description": "Optional. Name of the trigger This is added to identify the type of trigger. This is avoid the logic on triggerId to identify the trigger_type and push the same to monitoring.", +"type": "string" +}, +"triggerNumber": { +"description": "Required. A number to uniquely identify each trigger config within the workflow on UI.", +"type": "string" +}, +"triggerType": { +"enum": [ +"UNKNOWN", +"CLOUD_PUBSUB", +"GOOPS", +"SFDC_SYNC", +"CRON", +"API", +"MANIFOLD_TRIGGER", +"DATALAYER_DATA_CHANGE", +"SFDC_CHANNEL", +"CLOUD_PUBSUB_EXTERNAL", +"SFDC_CDC_CHANNEL", +"SFDC_PLATFORM_EVENTS_CHANNEL", +"CLOUD_SCHEDULER", +"INTEGRATION_CONNECTOR_TRIGGER", +"PRIVATE_TRIGGER" +], +"enumDescriptions": [ +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"" +], +"type": "string" +} +}, +"type": "object" +}, +"EnterpriseCrmFrontendsEventbusProtoWorkflowParameterEntry": { +"id": "EnterpriseCrmFrontendsEventbusProtoWorkflowParameterEntry", +"properties": { +"attributes": { +"$ref": "EnterpriseCrmEventbusProtoAttributes", +"description": "Metadata information about the parameters." +}, +"children": { +"description": "Child parameters nested within this parameter. This field only applies to protobuf parameters", +"items": { +"$ref": "EnterpriseCrmFrontendsEventbusProtoWorkflowParameterEntry" +}, +"type": "array" +}, +"containsLargeData": { +"description": "Indicates whether this variable contains large data and need to be uploaded to Cloud Storage.", +"type": "boolean" +}, +"dataType": { +"description": "The data type of the parameter.", +"enum": [ +"DATA_TYPE_UNSPECIFIED", +"STRING_VALUE", +"INT_VALUE", +"DOUBLE_VALUE", +"BOOLEAN_VALUE", +"PROTO_VALUE", +"SERIALIZED_OBJECT_VALUE", +"STRING_ARRAY", +"INT_ARRAY", +"DOUBLE_ARRAY", +"PROTO_ARRAY", +"PROTO_ENUM", +"BOOLEAN_ARRAY", +"PROTO_ENUM_ARRAY", +"BYTES", +"BYTES_ARRAY", +"NON_SERIALIZABLE_OBJECT", +"JSON_VALUE" +], +"enumDescriptions": [ +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"BYTES and BYTES_ARRAY data types are not allowed for top-level params. They're only meant to support protobufs with BYTES (sub)fields.", +"", +"", +"" +], +"type": "string" +}, +"defaultValue": { +"$ref": "EnterpriseCrmFrontendsEventbusProtoParameterValueType", +"description": "Default values for the defined keys. Each value can either be string, int, double or any proto message or a serialized object." +}, +"description": { +"description": "Optional. The description about the parameter", +"type": "string" +}, +"inOutType": { +"description": "Specifies the input/output type for the parameter.", +"enum": [ +"IN_OUT_TYPE_UNSPECIFIED", +"IN", +"OUT", +"IN_OUT" +], +"enumDescriptions": [ +"", +"Input parameters for the workflow. EventBus validates that these parameters exist in the workflows before execution.", +"Output Parameters for the workflow. EventBus will only return the workflow parameters tagged with OUT in the response back.", +"Input or Output Parameters. These can be used as both input and output. EventBus will validate for the existence of these parameters before execution and will also return this parameter back in the response." +], +"type": "string" +}, +"isTransient": { +"description": "Whether this parameter is a transient parameter.", +"type": "boolean" +}, +"jsonSchema": { +"description": "This schema will be used to validate runtime JSON-typed values of this parameter.", +"type": "string" +}, +"key": { +"description": "Key is used to retrieve the corresponding parameter value. This should be unique for a given fired event. These parameters must be predefined in the workflow definition.", +"type": "string" +}, +"name": { +"description": "The name (without prefix) to be displayed in the UI for this parameter. E.g. if the key is \"foo.bar.myName\", then the name would be \"myName\".", +"type": "string" +}, +"producedBy": { +"$ref": "EnterpriseCrmEventbusProtoNodeIdentifier", +"description": "The identifier of the node (TaskConfig/TriggerConfig) this parameter was produced by, if it is a transient param or a copy of an input param." +}, +"producer": { +"type": "string" +}, +"protoDefName": { +"description": "The name of the protobuf type if the parameter has a protobuf data type.", +"type": "string" +}, +"protoDefPath": { +"description": "If the data type is of type proto or proto array, this field needs to be populated with the fully qualified proto name. This message, for example, would be \"enterprise.crm.frontends.eventbus.proto.WorkflowParameterEntry\".", +"type": "string" +}, +"required": { +"type": "boolean" +} +}, +"type": "object" +}, +"EnterpriseCrmFrontendsEventbusProtoWorkflowParameters": { +"description": "LINT.IfChange This is the frontend version of WorkflowParameters. It's exactly like the backend version except that instead of flattening protobuf parameters and treating every field and subfield of a protobuf parameter as a separate parameter, the fields/subfields of a protobuf parameter will be nested as \"children\" (see 'children' field below) parameters of the parent parameter. Please refer to enterprise/crm/eventbus/proto/workflow_parameters.proto for more information about WorkflowParameters.", +"id": "EnterpriseCrmFrontendsEventbusProtoWorkflowParameters", +"properties": { +"parameters": { +"description": "Parameters are a part of Event and can be used to communiticate between different tasks that are part of the same workflow execution.", +"items": { +"$ref": "EnterpriseCrmFrontendsEventbusProtoWorkflowParameterEntry" +}, +"type": "array" +} +}, +"type": "object" +}, +"EnterpriseCrmLoggingGwsFieldLimits": { +"description": "Describes string and array limits when writing to logs. When a limit is exceeded the *shortener_type* describes how to shorten the field. next_id: 6", +"id": "EnterpriseCrmLoggingGwsFieldLimits", +"properties": { +"logAction": { +"enum": [ +"LOG_ACTION_UNSPECIFIED", +"DONT_LOG", +"LOG" +], +"enumDescriptions": [ +"", +"", +"" +], +"type": "string" +}, +"logType": { +"description": "To which type(s) of logs the limits apply.", +"items": { +"enum": [ +"LOG_TYPE_UNSPECIFIED", +"GWS", +"GTS", +"ALL" +], +"enumDescriptions": [ +"", +"Limits apply when log detail records are written to GWS.", +"Limits apply when log detail records are written to GTS (e.g., RecordIO files).", +"Limits apply to *all* output log types." +], +"type": "string" +}, +"type": "array" +}, +"maxArraySize": { +"description": "maximum array size. If the array exceds this size, the field (list) is truncated.", +"format": "int32", +"type": "integer" +}, +"maxStringLength": { +"description": "maximum string length. If the field exceeds this amount the field is shortened.", +"format": "int32", +"type": "integer" +}, +"shortenerType": { +"enum": [ +"SHORTENER_TYPE_UNSPECIFIED", +"SHORTEN", +"HASH", +"SHORTEN_WITH_HASH", +"SHORTEN_EMAIL", +"SHORTEN_EMAIL_WITH_HASH", +"SHORTEN_DOMAIN" +], +"enumDescriptions": [ +"", +"String is shortened to max_string_length.", +"String is replaced by its hex-string hash.", +"String is replaced by a combination of string shortening and a hex-string hash.", +"String shortening for email addresses. Shortening may be done on the user and/or domain portion of the email address.", +"String is replaced by a combination of string shortening and a hex-string hash for an email address.", +"Shortens a domain name (e.g., as part of an email address or URL)." +], +"type": "string" +} +}, +"type": "object" +}, +"EnterpriseCrmLoggingGwsSanitizeOptions": { +"description": "Identifies whether a field contains, or may contain, PII or sensitive data, and how to sanitize the field if it does. If a field's privacy type cannot be determined then it is sanitized (e.g., scrubbed). The specific sanitizer implementation is determined by run-time configuration and environment options (e.g., prod vs. qa). next_id: 5", +"id": "EnterpriseCrmLoggingGwsSanitizeOptions", +"properties": { +"isAlreadySanitized": { +"description": "If true, the value has already been sanitized and needs no further sanitization. For instance, a D3 customer id is already an obfuscated entity and *might not* need further sanitization.", +"type": "boolean" +}, +"logType": { +"description": "To which type(s) of logs the sanitize options apply.", +"items": { +"enum": [ +"LOG_TYPE_UNSPECIFIED", +"GWS", +"GTS", +"ALL" +], +"enumDescriptions": [ +"", +"Limits apply when log detail records are written to GWS.", +"Limits apply when log detail records are written to GTS (e.g., RecordIO files).", +"Limits apply to *all* output log types." +], +"type": "string" +}, +"type": "array" +}, +"privacy": { +"enum": [ +"PRIVACY_TYPE_UNSPECIFIED", +"NOT_PII", +"PII", +"SPII", +"UNSURE" +], +"enumDescriptions": [ +"", +"Field does *NOT* contain PII or sensitive data.", +"Field contains PII.", +"Field contains Sensitive PII.", +"Unsure if field contains PII." +], +"type": "string" +}, +"sanitizeType": { +"enum": [ +"SANITIZE_TYPE_UNSPECIFIED", +"SCRUB", +"ANONYMIZE", +"ANONYMIZE_LIMITED_REPEATABLE", +"OBFUSCATE", +"ENCRYPT", +"DO_NOT_SANITIZE" +], +"enumDescriptions": [ +"", +"Replace value with a scrubbed value (usu. a constant).", +"Transform a value so that it cannot be tracked across events. However, a given value, is transformed to the same value *within* an event. E.g., \"foo.com\" is transformed to \"0xabcdef\" for event 1001, and to \"0xfedcba\" for event 1002.", +"Transform values as with ANONYMIZER, but the same transformation is repeated for a limited time (e.g., 1 day).", +"The value is transformed using a well-defined obfuscator (e.g., D3_CUSTOMER_ID).", +"The value is encrypted.", +"No sanitization is required." +], +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudConnectorsV1AuthConfig": { +"description": "AuthConfig defines details of a authentication type.", +"id": "GoogleCloudConnectorsV1AuthConfig", +"properties": { +"additionalVariables": { +"description": "List containing additional auth configs.", +"items": { +"$ref": "GoogleCloudConnectorsV1ConfigVariable" +}, +"type": "array" +}, +"authKey": { +"description": "Identifier key for auth config", +"type": "string" +}, +"authType": { +"description": "The type of authentication configured.", +"enum": [ +"AUTH_TYPE_UNSPECIFIED", +"USER_PASSWORD", +"OAUTH2_JWT_BEARER", +"OAUTH2_CLIENT_CREDENTIALS", +"SSH_PUBLIC_KEY", +"OAUTH2_AUTH_CODE_FLOW", +"GOOGLE_AUTHENTICATION" +], +"enumDescriptions": [ +"Authentication type not specified.", +"Username and Password Authentication.", +"JSON Web Token (JWT) Profile for Oauth 2.0 Authorization Grant based authentication", +"Oauth 2.0 Client Credentials Grant Authentication", +"SSH Public Key Authentication", +"Oauth 2.0 Authorization Code Flow", +"Google authentication" +], +"type": "string" +}, +"oauth2AuthCodeFlow": { +"$ref": "GoogleCloudConnectorsV1AuthConfigOauth2AuthCodeFlow", +"description": "Oauth2AuthCodeFlow." +}, +"oauth2ClientCredentials": { +"$ref": "GoogleCloudConnectorsV1AuthConfigOauth2ClientCredentials", +"description": "Oauth2ClientCredentials." +}, +"oauth2JwtBearer": { +"$ref": "GoogleCloudConnectorsV1AuthConfigOauth2JwtBearer", +"description": "Oauth2JwtBearer." +}, +"sshPublicKey": { +"$ref": "GoogleCloudConnectorsV1AuthConfigSshPublicKey", +"description": "SSH Public Key." +}, +"userPassword": { +"$ref": "GoogleCloudConnectorsV1AuthConfigUserPassword", +"description": "UserPassword." +} +}, +"type": "object" +}, +"GoogleCloudConnectorsV1AuthConfigOauth2AuthCodeFlow": { +"description": "Parameters to support Oauth 2.0 Auth Code Grant Authentication. See https://www.rfc-editor.org/rfc/rfc6749#section-1.3.1 for more details.", +"id": "GoogleCloudConnectorsV1AuthConfigOauth2AuthCodeFlow", +"properties": { +"authCode": { +"description": "Authorization code to be exchanged for access and refresh tokens.", +"type": "string" +}, +"authUri": { +"description": "Auth URL for Authorization Code Flow", +"type": "string" +}, +"clientId": { +"description": "Client ID for user-provided OAuth app.", +"type": "string" +}, +"clientSecret": { +"$ref": "GoogleCloudConnectorsV1Secret", +"description": "Client secret for user-provided OAuth app." +}, +"enablePkce": { +"description": "Whether to enable PKCE when the user performs the auth code flow.", +"type": "boolean" +}, +"pkceVerifier": { +"description": "PKCE verifier to be used during the auth code exchange.", +"type": "string" +}, +"redirectUri": { +"description": "Redirect URI to be provided during the auth code exchange.", +"type": "string" +}, +"scopes": { +"description": "Scopes the connection will request when the user performs the auth code flow.", +"items": { +"type": "string" +}, +"type": "array" +} +}, +"type": "object" +}, +"GoogleCloudConnectorsV1AuthConfigOauth2ClientCredentials": { +"description": "Parameters to support Oauth 2.0 Client Credentials Grant Authentication. See https://tools.ietf.org/html/rfc6749#section-1.3.4 for more details.", +"id": "GoogleCloudConnectorsV1AuthConfigOauth2ClientCredentials", +"properties": { +"clientId": { +"description": "The client identifier.", +"type": "string" +}, +"clientSecret": { +"$ref": "GoogleCloudConnectorsV1Secret", +"description": "Secret version reference containing the client secret." +} +}, +"type": "object" +}, +"GoogleCloudConnectorsV1AuthConfigOauth2JwtBearer": { +"description": "Parameters to support JSON Web Token (JWT) Profile for Oauth 2.0 Authorization Grant based authentication. See https://tools.ietf.org/html/rfc7523 for more details.", +"id": "GoogleCloudConnectorsV1AuthConfigOauth2JwtBearer", +"properties": { +"clientKey": { +"$ref": "GoogleCloudConnectorsV1Secret", +"description": "Secret version reference containing a PKCS#8 PEM-encoded private key associated with the Client Certificate. This private key will be used to sign JWTs used for the jwt-bearer authorization grant. Specified in the form as: `projects/*/secrets/*/versions/*`." +}, +"jwtClaims": { +"$ref": "GoogleCloudConnectorsV1AuthConfigOauth2JwtBearerJwtClaims", +"description": "JwtClaims providers fields to generate the token." +} +}, +"type": "object" +}, +"GoogleCloudConnectorsV1AuthConfigOauth2JwtBearerJwtClaims": { +"description": "JWT claims used for the jwt-bearer authorization grant.", +"id": "GoogleCloudConnectorsV1AuthConfigOauth2JwtBearerJwtClaims", +"properties": { +"audience": { +"description": "Value for the \"aud\" claim.", +"type": "string" +}, +"issuer": { +"description": "Value for the \"iss\" claim.", +"type": "string" +}, +"subject": { +"description": "Value for the \"sub\" claim.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudConnectorsV1AuthConfigSshPublicKey": { +"description": "Parameters to support Ssh public key Authentication.", +"id": "GoogleCloudConnectorsV1AuthConfigSshPublicKey", +"properties": { +"certType": { +"description": "Format of SSH Client cert.", +"type": "string" +}, +"sshClientCert": { +"$ref": "GoogleCloudConnectorsV1Secret", +"description": "SSH Client Cert. It should contain both public and private key." +}, +"sshClientCertPass": { +"$ref": "GoogleCloudConnectorsV1Secret", +"description": "Password (passphrase) for ssh client certificate if it has one." +}, +"username": { +"description": "The user account used to authenticate.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudConnectorsV1AuthConfigUserPassword": { +"description": "Parameters to support Username and Password Authentication.", +"id": "GoogleCloudConnectorsV1AuthConfigUserPassword", +"properties": { +"password": { +"$ref": "GoogleCloudConnectorsV1Secret", +"description": "Secret version reference containing the password." +}, +"username": { +"description": "Username.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudConnectorsV1BillingConfig": { +"description": "Billing config for the connection.", +"id": "GoogleCloudConnectorsV1BillingConfig", +"properties": { +"billingCategory": { +"description": "Output only. Billing category for the connector.", +"enum": [ +"BILLING_CATEGORY_UNSPECIFIED", +"GCP_AND_TECHNICAL_CONNECTOR", +"NON_GCP_CONNECTOR" +], +"enumDescriptions": [ +"Billing category is not specified.", +"GCP/Technical connector.", +"Non-GCP connector." +], +"readOnly": true, +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudConnectorsV1ConfigVariable": { +"description": "ConfigVariable represents a configuration variable present in a Connection. or AuthConfig.", +"id": "GoogleCloudConnectorsV1ConfigVariable", +"properties": { +"boolValue": { +"description": "Value is a bool.", +"type": "boolean" +}, +"encryptionKeyValue": { +"$ref": "GoogleCloudConnectorsV1EncryptionKey", +"description": "Value is a Encryption Key." +}, +"intValue": { +"description": "Value is an integer", +"format": "int64", +"type": "string" +}, +"key": { +"description": "Key of the config variable.", +"type": "string" +}, +"secretValue": { +"$ref": "GoogleCloudConnectorsV1Secret", +"description": "Value is a secret." +}, +"stringValue": { +"description": "Value is a string.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudConnectorsV1Connection": { +"description": "Connection represents an instance of connector.", +"id": "GoogleCloudConnectorsV1Connection", +"properties": { +"authConfig": { +"$ref": "GoogleCloudConnectorsV1AuthConfig", +"description": "Optional. Configuration for establishing the connection's authentication with an external system." +}, +"billingConfig": { +"$ref": "GoogleCloudConnectorsV1BillingConfig", +"description": "Output only. Billing config for the connection.", +"readOnly": true +}, +"configVariables": { +"description": "Optional. Configuration for configuring the connection with an external system.", +"items": { +"$ref": "GoogleCloudConnectorsV1ConfigVariable" +}, +"type": "array" +}, +"connectionRevision": { +"description": "Output only. Connection revision. This field is only updated when the connection is created or updated by User.", +"format": "int64", +"readOnly": true, +"type": "string" +}, +"connectorVersion": { +"description": "Required. Connector version on which the connection is created. The format is: projects/*/locations/*/providers/*/connectors/*/versions/* Only global location is supported for ConnectorVersion resource.", +"type": "string" +}, +"connectorVersionInfraConfig": { +"$ref": "GoogleCloudConnectorsV1ConnectorVersionInfraConfig", +"description": "Output only. Infra configs supported by Connector Version.", +"readOnly": true +}, +"connectorVersionLaunchStage": { +"description": "Output only. Flag to mark the version indicating the launch stage.", +"enum": [ +"LAUNCH_STAGE_UNSPECIFIED", +"PREVIEW", +"GA", +"DEPRECATED", +"PRIVATE_PREVIEW" +], +"enumDescriptions": [ +"LAUNCH_STAGE_UNSPECIFIED.", +"PREVIEW.", +"GA.", +"DEPRECATED.", +"PRIVATE_PREVIEW." +], +"readOnly": true, +"type": "string" +}, +"createTime": { +"description": "Output only. Created time.", +"format": "google-datetime", +"readOnly": true, +"type": "string" +}, +"description": { +"description": "Optional. Description of the resource.", +"type": "string" +}, +"destinationConfigs": { +"description": "Optional. Configuration of the Connector's destination. Only accepted for Connectors that accepts user defined destination(s).", +"items": { +"$ref": "GoogleCloudConnectorsV1DestinationConfig" +}, +"type": "array" +}, +"envoyImageLocation": { +"description": "Output only. GCR location where the envoy image is stored. formatted like: gcr.io/{bucketName}/{imageName}", +"readOnly": true, +"type": "string" +}, +"eventingConfig": { +"$ref": "GoogleCloudConnectorsV1EventingConfig", +"description": "Optional. Eventing config of a connection" +}, +"eventingEnablementType": { +"description": "Optional. Eventing enablement type. Will be nil if eventing is not enabled.", +"enum": [ +"EVENTING_ENABLEMENT_TYPE_UNSPECIFIED", +"EVENTING_AND_CONNECTION", +"ONLY_EVENTING" +], +"enumDescriptions": [ +"Eventing Enablement Type Unspecifeied.", +"Both connection and eventing.", +"Only Eventing." +], +"type": "string" +}, +"eventingRuntimeData": { +"$ref": "GoogleCloudConnectorsV1EventingRuntimeData", +"description": "Output only. Eventing Runtime Data.", +"readOnly": true +}, +"imageLocation": { +"description": "Output only. GCR location where the runtime image is stored. formatted like: gcr.io/{bucketName}/{imageName}", +"readOnly": true, +"type": "string" +}, +"isTrustedTester": { +"description": "Output only. Is trusted tester program enabled for the project.", +"readOnly": true, +"type": "boolean" +}, +"labels": { +"additionalProperties": { +"type": "string" +}, +"description": "Optional. Resource labels to represent user-provided metadata. Refer to cloud documentation on labels for more details. https://cloud.google.com/compute/docs/labeling-resources", +"type": "object" +}, +"lockConfig": { +"$ref": "GoogleCloudConnectorsV1LockConfig", +"description": "Optional. Configuration that indicates whether or not the Connection can be edited." +}, +"logConfig": { +"$ref": "GoogleCloudConnectorsV1LogConfig", +"description": "Optional. Log configuration for the connection." +}, +"name": { +"description": "Output only. Resource name of the Connection. Format: projects/{project}/locations/{location}/connections/{connection}", +"readOnly": true, +"type": "string" +}, +"nodeConfig": { +"$ref": "GoogleCloudConnectorsV1NodeConfig", +"description": "Optional. Node configuration for the connection." +}, +"serviceAccount": { +"description": "Optional. Service account needed for runtime plane to access Google Cloud resources.", +"type": "string" +}, +"serviceDirectory": { +"description": "Output only. The name of the Service Directory service name. Used for Private Harpoon to resolve the ILB address. e.g. \"projects/cloud-connectors-e2e-testing/locations/us-central1/namespaces/istio-system/services/istio-ingressgateway-connectors\"", +"readOnly": true, +"type": "string" +}, +"sslConfig": { +"$ref": "GoogleCloudConnectorsV1SslConfig", +"description": "Optional. Ssl config of a connection" +}, +"status": { +"$ref": "GoogleCloudConnectorsV1ConnectionStatus", +"description": "Output only. Current status of the connection.", +"readOnly": true +}, +"subscriptionType": { +"description": "Output only. This subscription type enum states the subscription type of the project.", +"enum": [ +"SUBSCRIPTION_TYPE_UNSPECIFIED", +"PAY_G", +"PAID" +], +"enumDescriptions": [ +"Unspecified subscription type.", +"PayG subscription.", +"Paid Subscription." +], +"readOnly": true, +"type": "string" +}, +"suspended": { +"description": "Optional. Suspended indicates if a user has suspended a connection or not.", +"type": "boolean" +}, +"updateTime": { +"description": "Output only. Updated time.", +"format": "google-datetime", +"readOnly": true, +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudConnectorsV1ConnectionStatus": { +"description": "ConnectionStatus indicates the state of the connection.", +"id": "GoogleCloudConnectorsV1ConnectionStatus", +"properties": { +"description": { +"description": "Description.", +"type": "string" +}, +"state": { +"description": "State.", +"enum": [ +"STATE_UNSPECIFIED", +"CREATING", +"ACTIVE", +"INACTIVE", +"DELETING", +"UPDATING", +"ERROR", +"AUTHORIZATION_REQUIRED" +], +"enumDescriptions": [ +"Connection does not have a state yet.", +"Connection is being created.", +"Connection is running and ready for requests.", +"Connection is stopped.", +"Connection is being deleted.", +"Connection is being updated.", +"Connection is not running due to an error.", +"Connection is not running because the authorization configuration is not complete." +], +"type": "string" +}, +"status": { +"description": "Status provides detailed information for the state.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudConnectorsV1ConnectorVersionInfraConfig": { +"description": "This cofiguration provides infra configs like rate limit threshold which need to be configurable for every connector version", +"id": "GoogleCloudConnectorsV1ConnectorVersionInfraConfig", +"properties": { +"connectionRatelimitWindowSeconds": { +"description": "Output only. The window used for ratelimiting runtime requests to connections.", +"format": "int64", +"readOnly": true, +"type": "string" +}, +"deploymentModel": { +"description": "Optional. Indicates whether connector is deployed on GKE/CloudRun", +"enum": [ +"DEPLOYMENT_MODEL_UNSPECIFIED", +"GKE_MST", +"CLOUD_RUN_MST" +], +"enumDescriptions": [ +"Deployment model is not specified.", +"Default model gke mst.", +"Cloud run mst." +], +"type": "string" +}, +"hpaConfig": { +"$ref": "GoogleCloudConnectorsV1HPAConfig", +"description": "Output only. HPA autoscaling config.", +"readOnly": true +}, +"internalclientRatelimitThreshold": { +"description": "Output only. Max QPS supported for internal requests originating from Connd.", +"format": "int64", +"readOnly": true, +"type": "string" +}, +"ratelimitThreshold": { +"description": "Output only. Max QPS supported by the connector version before throttling of requests.", +"format": "int64", +"readOnly": true, +"type": "string" +}, +"resourceLimits": { +"$ref": "GoogleCloudConnectorsV1ResourceLimits", +"description": "Output only. System resource limits.", +"readOnly": true +}, +"resourceRequests": { +"$ref": "GoogleCloudConnectorsV1ResourceRequests", +"description": "Output only. System resource requests.", +"readOnly": true +}, +"sharedDeployment": { +"description": "Output only. The name of shared connector deployment.", +"readOnly": true, +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudConnectorsV1Destination": { +"id": "GoogleCloudConnectorsV1Destination", +"properties": { +"host": { +"description": "For publicly routable host.", +"type": "string" +}, +"port": { +"description": "The port is the target port number that is accepted by the destination.", +"format": "int32", +"type": "integer" +}, +"serviceAttachment": { +"deprecated": true, +"description": "PSC service attachments. Format: projects/*/regions/*/serviceAttachments/*", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudConnectorsV1DestinationConfig": { +"description": "Define the Connectors target endpoint.", +"id": "GoogleCloudConnectorsV1DestinationConfig", +"properties": { +"destinations": { +"description": "The destinations for the key.", +"items": { +"$ref": "GoogleCloudConnectorsV1Destination" +}, +"type": "array" +}, +"key": { +"description": "The key is the destination identifier that is supported by the Connector.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudConnectorsV1EncryptionKey": { +"description": "Encryption Key value.", +"id": "GoogleCloudConnectorsV1EncryptionKey", +"properties": { +"kmsKeyName": { +"description": "The [KMS key name] with which the content of the Operation is encrypted. The expected format: `projects/*/locations/*/keyRings/*/cryptoKeys/*`. Will be empty string if google managed.", +"type": "string" +}, +"type": { +"description": "Type.", +"enum": [ +"TYPE_UNSPECIFIED", +"GOOGLE_MANAGED", +"CUSTOMER_MANAGED" +], +"enumDescriptions": [ +"Value type is not specified.", +"Google Managed.", +"Customer Managed." +], +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudConnectorsV1EventingConfig": { +"description": "Eventing Configuration of a connection", +"id": "GoogleCloudConnectorsV1EventingConfig", +"properties": { +"additionalVariables": { +"description": "Additional eventing related field values", +"items": { +"$ref": "GoogleCloudConnectorsV1ConfigVariable" +}, +"type": "array" +}, +"authConfig": { +"$ref": "GoogleCloudConnectorsV1AuthConfig", +"description": "Auth details for the webhook adapter." +}, +"deadLetterConfig": { +"$ref": "GoogleCloudConnectorsV1EventingConfigDeadLetterConfig", +"description": "Optional. Dead letter configuration for eventing of a connection." +}, +"enrichmentEnabled": { +"description": "Enrichment Enabled.", +"type": "boolean" +}, +"eventsListenerIngressEndpoint": { +"description": "Optional. Ingress endpoint of the event listener. This is used only when private connectivity is enabled.", +"type": "string" +}, +"listenerAuthConfig": { +"$ref": "GoogleCloudConnectorsV1AuthConfig", +"description": "Optional. Auth details for the event listener." +}, +"privateConnectivityEnabled": { +"description": "Optional. Private Connectivity Enabled.", +"type": "boolean" +}, +"proxyDestinationConfig": { +"$ref": "GoogleCloudConnectorsV1DestinationConfig", +"description": "Optional. Proxy for Eventing auto-registration." +}, +"registrationDestinationConfig": { +"$ref": "GoogleCloudConnectorsV1DestinationConfig", +"description": "Registration endpoint for auto registration." +} +}, +"type": "object" +}, +"GoogleCloudConnectorsV1EventingConfigDeadLetterConfig": { +"description": "Dead Letter configuration details provided by the user.", +"id": "GoogleCloudConnectorsV1EventingConfigDeadLetterConfig", +"properties": { +"projectId": { +"description": "Optional. Project which has the topic given.", +"type": "string" +}, +"topic": { +"description": "Optional. Topic to push events which couldn't be processed.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudConnectorsV1EventingRuntimeData": { +"description": "Eventing runtime data has the details related to eventing managed by the system.", +"id": "GoogleCloudConnectorsV1EventingRuntimeData", +"properties": { +"eventsListenerEndpoint": { +"description": "Output only. Events listener endpoint. The value will populated after provisioning the events listener.", +"readOnly": true, +"type": "string" +}, +"eventsListenerPscSa": { +"description": "Output only. Events listener PSC Service attachment. The value will be populated after provisioning the events listener with private connectivity enabled.", +"readOnly": true, +"type": "string" +}, +"status": { +"$ref": "GoogleCloudConnectorsV1EventingStatus", +"description": "Output only. Current status of eventing.", +"readOnly": true +}, +"webhookData": { +"$ref": "GoogleCloudConnectorsV1EventingRuntimeDataWebhookData", +"description": "Output only. Webhook data.", +"readOnly": true +} +}, +"type": "object" +}, +"GoogleCloudConnectorsV1EventingRuntimeDataWebhookData": { +"description": "WebhookData has details of webhook configuration.", +"id": "GoogleCloudConnectorsV1EventingRuntimeDataWebhookData", +"properties": { +"additionalVariables": { +"description": "Output only. Additional webhook related field values.", +"items": { +"$ref": "GoogleCloudConnectorsV1ConfigVariable" +}, +"readOnly": true, +"type": "array" +}, +"createTime": { +"description": "Output only. Timestamp when the webhook was created.", +"format": "google-datetime", +"readOnly": true, +"type": "string" +}, +"id": { +"description": "Output only. ID to uniquely identify webhook.", +"readOnly": true, +"type": "string" +}, +"name": { +"description": "Output only. Name of the Webhook", +"readOnly": true, +"type": "string" +}, +"nextRefreshTime": { +"description": "Output only. Next webhook refresh time. Will be null if refresh is not supported.", +"format": "google-datetime", +"readOnly": true, +"type": "string" +}, +"updateTime": { +"description": "Output only. Timestamp when the webhook was last updated.", +"format": "google-datetime", +"readOnly": true, +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudConnectorsV1EventingStatus": { +"description": "EventingStatus indicates the state of eventing.", +"id": "GoogleCloudConnectorsV1EventingStatus", +"properties": { +"description": { +"description": "Output only. Description of error if State is set to \"ERROR\".", +"readOnly": true, +"type": "string" +}, +"state": { +"description": "Output only. State.", +"enum": [ +"STATE_UNSPECIFIED", +"ACTIVE", +"ERROR", +"INGRESS_ENDPOINT_REQUIRED" +], +"enumDescriptions": [ +"Default state.", +"Eventing is enabled and ready to receive events.", +"Eventing is not active due to an error.", +"Ingress endpoint required." +], +"readOnly": true, +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudConnectorsV1HPAConfig": { +"description": "Autoscaling config for connector deployment system metrics.", +"id": "GoogleCloudConnectorsV1HPAConfig", +"properties": { +"cpuUtilizationThreshold": { +"description": "Output only. Percent CPU utilization where HPA triggers autoscaling.", +"format": "int64", +"readOnly": true, +"type": "string" +}, +"memoryUtilizationThreshold": { +"description": "Output only. Percent Memory utilization where HPA triggers autoscaling.", +"format": "int64", +"readOnly": true, +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudConnectorsV1LockConfig": { +"description": "Determines whether or no a connection is locked. If locked, a reason must be specified.", +"id": "GoogleCloudConnectorsV1LockConfig", +"properties": { +"locked": { +"description": "Indicates whether or not the connection is locked.", +"type": "boolean" +}, +"reason": { +"description": "Describes why a connection is locked.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudConnectorsV1LogConfig": { +"description": "Log configuration for the connection.", +"id": "GoogleCloudConnectorsV1LogConfig", +"properties": { +"enabled": { +"description": "Enabled represents whether logging is enabled or not for a connection.", +"type": "boolean" +} +}, +"type": "object" +}, +"GoogleCloudConnectorsV1NodeConfig": { +"description": "Node configuration for the connection.", +"id": "GoogleCloudConnectorsV1NodeConfig", +"properties": { +"maxNodeCount": { +"description": "Maximum number of nodes in the runtime nodes.", +"format": "int32", +"type": "integer" +}, +"minNodeCount": { +"description": "Minimum number of nodes in the runtime nodes.", +"format": "int32", +"type": "integer" +} +}, +"type": "object" +}, +"GoogleCloudConnectorsV1ResourceLimits": { +"description": "Resource limits defined for connection pods of a given connector type.", +"id": "GoogleCloudConnectorsV1ResourceLimits", +"properties": { +"cpu": { +"description": "Output only. CPU limit.", +"readOnly": true, +"type": "string" +}, +"memory": { +"description": "Output only. Memory limit.", +"readOnly": true, +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudConnectorsV1ResourceRequests": { +"description": "Resource requests defined for connection pods of a given connector type.", +"id": "GoogleCloudConnectorsV1ResourceRequests", +"properties": { +"cpu": { +"description": "Output only. CPU request.", +"readOnly": true, +"type": "string" +}, +"memory": { +"description": "Output only. Memory request.", +"readOnly": true, +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudConnectorsV1Secret": { +"description": "Secret provides a reference to entries in Secret Manager.", +"id": "GoogleCloudConnectorsV1Secret", +"properties": { +"secretVersion": { +"description": "The resource name of the secret version in the format, format as: `projects/*/secrets/*/versions/*`.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudConnectorsV1SslConfig": { +"description": "SSL Configuration of a connection", +"id": "GoogleCloudConnectorsV1SslConfig", +"properties": { +"additionalVariables": { +"description": "Additional SSL related field values", +"items": { +"$ref": "GoogleCloudConnectorsV1ConfigVariable" +}, +"type": "array" +}, +"clientCertType": { +"description": "Type of Client Cert (PEM/JKS/.. etc.)", +"enum": [ +"CERT_TYPE_UNSPECIFIED", +"PEM" +], +"enumDescriptions": [ +"Cert type unspecified.", +"Privacy Enhanced Mail (PEM) Type" +], +"type": "string" +}, +"clientCertificate": { +"$ref": "GoogleCloudConnectorsV1Secret", +"description": "Client Certificate" +}, +"clientPrivateKey": { +"$ref": "GoogleCloudConnectorsV1Secret", +"description": "Client Private Key" +}, +"clientPrivateKeyPass": { +"$ref": "GoogleCloudConnectorsV1Secret", +"description": "Secret containing the passphrase protecting the Client Private Key" +}, +"privateServerCertificate": { +"$ref": "GoogleCloudConnectorsV1Secret", +"description": "Private Server Certificate. Needs to be specified if trust model is `PRIVATE`." +}, +"serverCertType": { +"description": "Type of Server Cert (PEM/JKS/.. etc.)", +"enum": [ +"CERT_TYPE_UNSPECIFIED", +"PEM" +], +"enumDescriptions": [ +"Cert type unspecified.", +"Privacy Enhanced Mail (PEM) Type" +], +"type": "string" +}, +"trustModel": { +"description": "Trust Model of the SSL connection", +"enum": [ +"PUBLIC", +"PRIVATE", +"INSECURE" +], +"enumDescriptions": [ +"Public Trust Model. Takes the Default Java trust store.", +"Private Trust Model. Takes custom/private trust store.", +"Insecure Trust Model. Accept all certificates." +], +"type": "string" +}, +"type": { +"description": "Controls the ssl type for the given connector version.", +"enum": [ +"SSL_TYPE_UNSPECIFIED", +"TLS", +"MTLS" +], +"enumDescriptions": [ +"No SSL configuration required.", +"TLS Handshake", +"mutual TLS (MTLS) Handshake" +], +"type": "string" +}, +"useSsl": { +"description": "Bool for enabling SSL", +"type": "boolean" +} +}, +"type": "object" +}, +"GoogleCloudIntegrationsV1alphaAccessToken": { +"description": "The access token represents the authorization of a specific application to access specific parts of a user\u2019s data.", +"id": "GoogleCloudIntegrationsV1alphaAccessToken", +"properties": { +"accessToken": { +"description": "The access token encapsulating the security identity of a process or thread.", +"type": "string" +}, +"accessTokenExpireTime": { +"description": "Required. The approximate time until the access token retrieved is valid.", +"format": "google-datetime", +"type": "string" +}, +"refreshToken": { +"description": "If the access token will expire, use the refresh token to obtain another access token.", +"type": "string" +}, +"refreshTokenExpireTime": { +"description": "The approximate time until the refresh token retrieved is valid.", +"format": "google-datetime", +"type": "string" +}, +"tokenType": { +"description": "Only support \"bearer\" token in v1 as bearer token is the predominant type used with OAuth 2.0.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudIntegrationsV1alphaAttemptStats": { +"description": "Status for the execution attempt.", +"id": "GoogleCloudIntegrationsV1alphaAttemptStats", +"properties": { +"endTime": { +"description": "The end time of the integration execution for current attempt.", +"format": "google-datetime", +"type": "string" +}, +"startTime": { +"description": "The start time of the integration execution for current attempt. This could be in the future if it's been scheduled.", +"format": "google-datetime", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudIntegrationsV1alphaAuthConfig": { +"description": "The AuthConfig resource use to hold channels and connection config data.", +"id": "GoogleCloudIntegrationsV1alphaAuthConfig", +"properties": { +"certificateId": { +"description": "Certificate id for client certificate", +"type": "string" +}, +"createTime": { +"description": "Output only. The timestamp when the auth config is created.", +"format": "google-datetime", +"readOnly": true, +"type": "string" +}, +"creatorEmail": { +"description": "The creator's email address. Generated based on the End User Credentials/LOAS role of the user making the call.", +"type": "string" +}, +"credentialType": { +"description": "Credential type of the encrypted credential.", +"enum": [ +"CREDENTIAL_TYPE_UNSPECIFIED", +"USERNAME_AND_PASSWORD", +"API_KEY", +"OAUTH2_AUTHORIZATION_CODE", +"OAUTH2_IMPLICIT", +"OAUTH2_CLIENT_CREDENTIALS", +"OAUTH2_RESOURCE_OWNER_CREDENTIALS", +"JWT", +"AUTH_TOKEN", +"SERVICE_ACCOUNT", +"CLIENT_CERTIFICATE_ONLY", +"OIDC_TOKEN" +], +"enumDescriptions": [ +"Unspecified credential type", +"Regular username/password pair.", +"API key.", +"OAuth 2.0 Authorization Code Grant Type.", +"OAuth 2.0 Implicit Grant Type.", +"OAuth 2.0 Client Credentials Grant Type.", +"OAuth 2.0 Resource Owner Credentials Grant Type.", +"JWT Token.", +"Auth Token, e.g. bearer token.", +"Service Account which can be used to generate token for authentication.", +"Client Certificate only.", +"Google OIDC ID Token" +], +"type": "string" +}, +"decryptedCredential": { +"$ref": "GoogleCloudIntegrationsV1alphaCredential", +"description": "Raw auth credentials." +}, +"description": { +"description": "A description of the auth config.", +"type": "string" +}, +"displayName": { +"description": "Required. The name of the auth config.", +"type": "string" +}, +"encryptedCredential": { +"description": "Auth credential encrypted by Cloud KMS. Can be decrypted as Credential with proper KMS key.", +"format": "byte", +"type": "string" +}, +"expiryNotificationDuration": { +"description": "User can define the time to receive notification after which the auth config becomes invalid. Support up to 30 days. Support granularity in hours.", +"items": { +"format": "google-duration", +"type": "string" +}, +"type": "array" +}, +"lastModifierEmail": { +"description": "The last modifier's email address. Generated based on the End User Credentials/LOAS role of the user making the call.", +"type": "string" +}, +"name": { +"description": "Resource name of the auth config. For more information, see Manage authentication profiles. projects/{project}/locations/{location}/authConfigs/{authConfig}.", +"type": "string" +}, +"overrideValidTime": { +"description": "User provided expiry time to override. For the example of Salesforce, username/password credentials can be valid for 6 months depending on the instance settings.", +"format": "google-datetime", +"type": "string" +}, +"reason": { +"description": "The reason / details of the current status.", +"type": "string" +}, +"state": { +"description": "The status of the auth config.", +"enum": [ +"STATE_UNSPECIFIED", +"VALID", +"INVALID", +"SOFT_DELETED", +"EXPIRED", +"UNAUTHORIZED", +"UNSUPPORTED" +], +"enumDescriptions": [ +"Status not specified.", +"Valid Auth config.", +"General invalidity, if it doesn't fits in the detailed issue below.", +"Auth config soft deleted.", +"Auth config expired.", +"Auth config unauthorized.", +"Auth config not supported." +], +"type": "string" +}, +"updateTime": { +"description": "Output only. The timestamp when the auth config is modified.", +"format": "google-datetime", +"readOnly": true, +"type": "string" +}, +"validTime": { +"description": "The time until the auth config is valid. Empty or max value is considered the auth config won't expire.", +"format": "google-datetime", +"type": "string" +}, +"visibility": { +"description": "The visibility of the auth config.", +"enum": [ +"AUTH_CONFIG_VISIBILITY_UNSPECIFIED", +"PRIVATE", +"CLIENT_VISIBLE" +], +"enumDescriptions": [ +"Visibility not specified.", +"Profile visible to the creator only.", +"Profile visible within the client." +], +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudIntegrationsV1alphaAuthToken": { +"description": "The credentials to authenticate a user agent with a server that is put in HTTP Authorization request header.", +"id": "GoogleCloudIntegrationsV1alphaAuthToken", +"properties": { +"token": { +"description": "The token for the auth type.", +"type": "string" +}, +"type": { +"description": "Authentication type, e.g. \"Basic\", \"Bearer\", etc.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudIntegrationsV1alphaBooleanParameterArray": { +"description": "This message only contains a field of boolean array.", +"id": "GoogleCloudIntegrationsV1alphaBooleanParameterArray", +"properties": { +"booleanValues": { +"description": "Boolean array.", +"items": { +"type": "boolean" +}, +"type": "array" +} +}, +"type": "object" +}, +"GoogleCloudIntegrationsV1alphaCancelExecutionRequest": { +"description": "Request for cancelling an execution.", +"id": "GoogleCloudIntegrationsV1alphaCancelExecutionRequest", +"properties": {}, +"type": "object" +}, +"GoogleCloudIntegrationsV1alphaCancelExecutionResponse": { +"description": "Response for cancelling an execution.", +"id": "GoogleCloudIntegrationsV1alphaCancelExecutionResponse", +"properties": { +"isCanceled": { +"description": "True if cancellation performed successfully", +"type": "boolean" +} +}, +"type": "object" +}, +"GoogleCloudIntegrationsV1alphaCertificate": { +"description": "The certificate definition", +"id": "GoogleCloudIntegrationsV1alphaCertificate", +"properties": { +"certificateStatus": { +"description": "Status of the certificate", +"enum": [ +"STATE_UNSPECIFIED", +"ACTIVE", +"EXPIRED" +], +"enumDescriptions": [ +"Unspecified certificate status", +"Certificate in active state will be able to use", +"Certificate in expired state needs to be updated" +], +"type": "string" +}, +"credentialId": { +"description": "Immutable. Credential id that will be used to register with trawler INTERNAL_ONLY", +"type": "string" +}, +"description": { +"description": "Description of the certificate", +"type": "string" +}, +"displayName": { +"description": "Required. Name of the certificate", +"type": "string" +}, +"name": { +"description": "Output only. Auto generated primary key", +"readOnly": true, +"type": "string" +}, +"rawCertificate": { +"$ref": "GoogleCloudIntegrationsV1alphaClientCertificate", +"description": "Input only. Raw client certificate which would be registered with trawler" +}, +"requestorId": { +"description": "Immutable. Requestor ID to be used to register certificate with trawler", +"type": "string" +}, +"validEndTime": { +"description": "Output only. The timestamp after which certificate will expire", +"format": "google-datetime", +"readOnly": true, +"type": "string" +}, +"validStartTime": { +"description": "Output only. The timestamp after which certificate will be valid", +"format": "google-datetime", +"readOnly": true, +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudIntegrationsV1alphaClientCertificate": { +"description": "Contains client certificate information", +"id": "GoogleCloudIntegrationsV1alphaClientCertificate", +"properties": { +"encryptedPrivateKey": { +"description": "The ssl certificate encoded in PEM format. This string must include the begin header and end footer lines. For example, -----BEGIN CERTIFICATE----- MIICTTCCAbagAwIBAgIJAPT0tSKNxan/MA0GCSqGSIb3DQEBCwUAMCoxFzAVBgNV BAoTDkdvb2dsZSBURVNUSU5HMQ8wDQYDVQQDEwZ0ZXN0Q0EwHhcNMTUwMTAxMDAw MDAwWhcNMjUwMTAxMDAwMDAwWjAuMRcwFQYDVQQKEw5Hb29nbGUgVEVTVElORzET MBEGA1UEAwwKam9lQGJhbmFuYTCBnzANBgkqhkiG9w0BAQEFAAOBjQAwgYkCgYEA vDYFgMgxi5W488d9J7UpCInl0NXmZQpJDEHE4hvkaRlH7pnC71H0DLt0/3zATRP1 JzY2+eqBmbGl4/sgZKYv8UrLnNyQNUTsNx1iZAfPUflf5FwgVsai8BM0pUciq1NB xD429VFcrGZNucvFLh72RuRFIKH8WUpiK/iZNFkWhZ0CAwEAAaN3MHUwDgYDVR0P AQH/BAQDAgWgMB0GA1UdJQQWMBQGCCsGAQUFBwMBBggrBgEFBQcDAjAMBgNVHRMB Af8EAjAAMBkGA1UdDgQSBBCVgnFBCWgL/iwCqnGrhTPQMBsGA1UdIwQUMBKAEKey Um2o4k2WiEVA0ldQvNYwDQYJKoZIhvcNAQELBQADgYEAYK986R4E3L1v+Q6esBtW JrUwA9UmJRSQr0N5w3o9XzarU37/bkjOP0Fw0k/A6Vv1n3vlciYfBFaBIam1qRHr 5dMsYf4CZS6w50r7hyzqyrwDoyNxkLnd2PdcHT/sym1QmflsjEs7pejtnohO6N2H wQW6M0H7Zt8claGRla4fKkg= -----END CERTIFICATE-----", +"type": "string" +}, +"passphrase": { +"description": "'passphrase' should be left unset if private key is not encrypted. Note that 'passphrase' is not the password for web server, but an extra layer of security to protected private key.", +"type": "string" +}, +"sslCertificate": { +"description": "The ssl certificate encoded in PEM format. This string must include the begin header and end footer lines. For example, -----BEGIN CERTIFICATE----- MIICTTCCAbagAwIBAgIJAPT0tSKNxan/MA0GCSqGSIb3DQEBCwUAMCoxFzAVBgNV BAoTDkdvb2dsZSBURVNUSU5HMQ8wDQYDVQQDEwZ0ZXN0Q0EwHhcNMTUwMTAxMDAw MDAwWhcNMjUwMTAxMDAwMDAwWjAuMRcwFQYDVQQKEw5Hb29nbGUgVEVTVElORzET MBEGA1UEAwwKam9lQGJhbmFuYTCBnzANBgkqhkiG9w0BAQEFAAOBjQAwgYkCgYEA vDYFgMgxi5W488d9J7UpCInl0NXmZQpJDEHE4hvkaRlH7pnC71H0DLt0/3zATRP1 JzY2+eqBmbGl4/sgZKYv8UrLnNyQNUTsNx1iZAfPUflf5FwgVsai8BM0pUciq1NB xD429VFcrGZNucvFLh72RuRFIKH8WUpiK/iZNFkWhZ0CAwEAAaN3MHUwDgYDVR0P AQH/BAQDAgWgMB0GA1UdJQQWMBQGCCsGAQUFBwMBBggrBgEFBQcDAjAMBgNVHRMB Af8EAjAAMBkGA1UdDgQSBBCVgnFBCWgL/iwCqnGrhTPQMBsGA1UdIwQUMBKAEKey Um2o4k2WiEVA0ldQvNYwDQYJKoZIhvcNAQELBQADgYEAYK986R4E3L1v+Q6esBtW JrUwA9UmJRSQr0N5w3o9XzarU37/bkjOP0Fw0k/A6Vv1n3vlciYfBFaBIam1qRHr 5dMsYf4CZS6w50r7hyzqyrwDoyNxkLnd2PdcHT/sym1QmflsjEs7pejtnohO6N2H wQW6M0H7Zt8claGRla4fKkg= -----END CERTIFICATE-----", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudIntegrationsV1alphaCloudLoggingDetails": { +"description": "Cloud Logging details for execution info", +"id": "GoogleCloudIntegrationsV1alphaCloudLoggingDetails", +"properties": { +"cloudLoggingSeverity": { +"description": "Optional. Severity selected by the customer for the logs to be sent to Cloud Logging, for the integration version getting executed.", +"enum": [ +"CLOUD_LOGGING_SEVERITY_UNSPECIFIED", +"INFO", +"ERROR", +"WARNING" +], +"enumDescriptions": [ +"Unspecified", +"If Severity selected is `INFO`, then all the Integration Execution States (`IN_PROCESS`, `ON_HOLD`, `SUCCEEDED`, `SUSPENDED`, `ERROR`, `CANCELLED`) will be sent to Cloud Logging.", +"If Severity selected is `ERROR`, then only the following Integration Execution States (`ERROR`, `CANCELLED`) will be sent to Cloud Logging.", +"If Severity selected is `WARNING`, then only the following Integration Execution States (`ERROR`, `CANCELLED`) will be sent to Cloud Logging." +], +"type": "string" +}, +"enableCloudLogging": { +"description": "Optional. Status of whether Cloud Logging is enabled or not for the integration version getting executed.", +"type": "boolean" +} +}, +"type": "object" +}, +"GoogleCloudIntegrationsV1alphaCloudSchedulerConfig": { +"description": "Cloud Scheduler Trigger configuration", +"id": "GoogleCloudIntegrationsV1alphaCloudSchedulerConfig", +"properties": { +"cronTab": { +"description": "Required. The cron tab of cloud scheduler trigger.", +"type": "string" +}, +"errorMessage": { +"description": "Optional. When the job was deleted from Pantheon UI, error_message will be populated when Get/List integrations", +"type": "string" +}, +"location": { +"description": "Required. The location where associated cloud scheduler job will be created", +"type": "string" +}, +"serviceAccountEmail": { +"description": "Required. Service account used by Cloud Scheduler to trigger the integration at scheduled time", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudIntegrationsV1alphaConnectionSchemaMetadata": { +"description": "Metadata of runtime connection schema.", +"id": "GoogleCloudIntegrationsV1alphaConnectionSchemaMetadata", +"properties": { +"actions": { +"description": "List of actions.", +"items": { +"type": "string" +}, +"type": "array" +}, +"entities": { +"description": "List of entity names.", +"items": { +"type": "string" +}, +"type": "array" +} +}, +"type": "object" +}, +"GoogleCloudIntegrationsV1alphaCoordinate": { +"description": "Configuration detail of coordinate, it used for UI", +"id": "GoogleCloudIntegrationsV1alphaCoordinate", +"properties": { +"x": { +"description": "Required. X axis of the coordinate", +"format": "int32", +"type": "integer" +}, +"y": { +"description": "Required. Y axis of the coordinate", +"format": "int32", +"type": "integer" +} +}, +"type": "object" +}, +"GoogleCloudIntegrationsV1alphaCreateAppsScriptProjectRequest": { +"description": "Request for CreateAppsScriptProject rpc call.", +"id": "GoogleCloudIntegrationsV1alphaCreateAppsScriptProjectRequest", +"properties": { +"appsScriptProject": { +"description": "The name of the Apps Script project to be created.", +"type": "string" +}, +"authConfigId": { +"description": "The auth config id necessary to fetch the necessary credentials to create the project for external clients", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudIntegrationsV1alphaCreateAppsScriptProjectResponse": { +"description": "Response for CreateAppsScriptProject rpc call.", +"id": "GoogleCloudIntegrationsV1alphaCreateAppsScriptProjectResponse", +"properties": { +"projectId": { +"description": "The created AppsScriptProject ID.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudIntegrationsV1alphaCredential": { +"description": "Defines parameters for a single, canonical credential.", +"id": "GoogleCloudIntegrationsV1alphaCredential", +"properties": { +"authToken": { +"$ref": "GoogleCloudIntegrationsV1alphaAuthToken", +"description": "Auth token credential" +}, +"credentialType": { +"description": "Credential type associated with auth config.", +"enum": [ +"CREDENTIAL_TYPE_UNSPECIFIED", +"USERNAME_AND_PASSWORD", +"API_KEY", +"OAUTH2_AUTHORIZATION_CODE", +"OAUTH2_IMPLICIT", +"OAUTH2_CLIENT_CREDENTIALS", +"OAUTH2_RESOURCE_OWNER_CREDENTIALS", +"JWT", +"AUTH_TOKEN", +"SERVICE_ACCOUNT", +"CLIENT_CERTIFICATE_ONLY", +"OIDC_TOKEN" +], +"enumDescriptions": [ +"Unspecified credential type", +"Regular username/password pair.", +"API key.", +"OAuth 2.0 Authorization Code Grant Type.", +"OAuth 2.0 Implicit Grant Type.", +"OAuth 2.0 Client Credentials Grant Type.", +"OAuth 2.0 Resource Owner Credentials Grant Type.", +"JWT Token.", +"Auth Token, e.g. bearer token.", +"Service Account which can be used to generate token for authentication.", +"Client Certificate only.", +"Google OIDC ID Token" +], +"type": "string" +}, +"jwt": { +"$ref": "GoogleCloudIntegrationsV1alphaJwt", +"description": "JWT credential" +}, +"oauth2AuthorizationCode": { +"$ref": "GoogleCloudIntegrationsV1alphaOAuth2AuthorizationCode", +"description": "The api_key and oauth2_implicit are not covered in v1 and will be picked up once v1 is implemented. ApiKey api_key = 3; OAuth2 authorization code credential" +}, +"oauth2ClientCredentials": { +"$ref": "GoogleCloudIntegrationsV1alphaOAuth2ClientCredentials", +"description": "OAuth2Implicit oauth2_implicit = 5; OAuth2 client credentials" +}, +"oauth2ResourceOwnerCredentials": { +"$ref": "GoogleCloudIntegrationsV1alphaOAuth2ResourceOwnerCredentials", +"description": "OAuth2 resource owner credentials" +}, +"oidcToken": { +"$ref": "GoogleCloudIntegrationsV1alphaOidcToken", +"description": "Google OIDC ID Token" +}, +"serviceAccountCredentials": { +"$ref": "GoogleCloudIntegrationsV1alphaServiceAccountCredentials", +"description": "Service account credential" +}, +"usernameAndPassword": { +"$ref": "GoogleCloudIntegrationsV1alphaUsernameAndPassword", +"description": "Username and password credential" +} +}, +"type": "object" +}, +"GoogleCloudIntegrationsV1alphaDoubleParameterArray": { +"description": "This message only contains a field of double number array.", +"id": "GoogleCloudIntegrationsV1alphaDoubleParameterArray", +"properties": { +"doubleValues": { +"description": "Double number array.", +"items": { +"format": "double", +"type": "number" +}, +"type": "array" +} +}, +"type": "object" +}, +"GoogleCloudIntegrationsV1alphaDownloadIntegrationVersionResponse": { +"description": "Response for DownloadIntegrationVersion.", +"id": "GoogleCloudIntegrationsV1alphaDownloadIntegrationVersionResponse", +"properties": { +"content": { +"description": "String representation of the requested file.", +"type": "string" +}, +"files": { +"description": "List containing String represendation for multiple file with type.", +"items": { +"$ref": "GoogleCloudIntegrationsV1alphaSerializedFile" +}, +"type": "array" +} +}, +"type": "object" +}, +"GoogleCloudIntegrationsV1alphaEnumerateConnectorPlatformRegionsResponse": { +"description": "Response containing all provisioned regions for Connector Platform.", +"id": "GoogleCloudIntegrationsV1alphaEnumerateConnectorPlatformRegionsResponse", +"properties": { +"regions": { +"description": "All regions where Connector Platform is provisioned.", +"items": { +"type": "string" +}, +"type": "array" +} +}, +"type": "object" +}, +"GoogleCloudIntegrationsV1alphaErrorCatcherConfig": { +"description": "Configuration detail of a error catch task", +"id": "GoogleCloudIntegrationsV1alphaErrorCatcherConfig", +"properties": { +"description": { +"description": "Optional. User-provided description intended to give more business context about the error catcher config.", +"type": "string" +}, +"errorCatcherId": { +"description": "Required. An error catcher id is string representation for the error catcher config. Within a workflow, error_catcher_id uniquely identifies an error catcher config among all error catcher configs for the workflow", +"type": "string" +}, +"errorCatcherNumber": { +"description": "Required. A number to uniquely identify each error catcher config within the workflow on UI.", +"type": "string" +}, +"label": { +"description": "Optional. The user created label for a particular error catcher. Optional.", +"type": "string" +}, +"position": { +"$ref": "GoogleCloudIntegrationsV1alphaCoordinate", +"description": "Optional. Informs the front-end application where to draw this error catcher config on the UI." +}, +"startErrorTasks": { +"description": "Required. The set of start tasks that are to be executed for the error catch flow", +"items": { +"$ref": "GoogleCloudIntegrationsV1alphaNextTask" +}, +"type": "array" +} +}, +"type": "object" +}, +"GoogleCloudIntegrationsV1alphaEventParameter": { +"description": "This message is used for processing and persisting (when applicable) key value pair parameters for each event in the event bus. Next available id: 4", +"id": "GoogleCloudIntegrationsV1alphaEventParameter", +"properties": { +"key": { +"description": "Key is used to retrieve the corresponding parameter value. This should be unique for a given fired event. These parameters must be predefined in the integration definition.", +"type": "string" +}, +"masked": { +"description": "True if this parameter should be masked in the logs", +"type": "boolean" +}, +"value": { +"$ref": "GoogleCloudIntegrationsV1alphaValueType", +"description": "Values for the defined keys. Each value can either be string, int, double or any proto message." +} +}, +"type": "object" +}, +"GoogleCloudIntegrationsV1alphaExecuteEventResponse": { +"description": "The response for executing an integration.", +"id": "GoogleCloudIntegrationsV1alphaExecuteEventResponse", +"properties": { +"executionId": { +"description": "The id of the execution corresponding to this run of integration.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudIntegrationsV1alphaExecuteIntegrationsRequest": { +"description": "The request for executing an integration.", +"id": "GoogleCloudIntegrationsV1alphaExecuteIntegrationsRequest", +"properties": { +"doNotPropagateError": { +"description": "Optional. Flag to determine how to should propagate errors. If this flag is set to be true, it will not throw an exception. Instead, it will return a {@link ExecuteIntegrationsResponse} with an execution id and error messages as PostWithTriggerIdExecutionException in {@link EventParameters}. The flag is set to be false by default.", +"type": "boolean" +}, +"executionId": { +"deprecated": true, +"description": "Optional. The id of the ON_HOLD execution to be resumed.", +"type": "string" +}, +"inputParameters": { +"additionalProperties": { +"$ref": "GoogleCloudIntegrationsV1alphaValueType" +}, +"description": "Optional. Input parameters used by integration execution.", +"type": "object" +}, +"parameterEntries": { +"deprecated": true, +"description": "Optional. Parameters are a part of Event and can be used to communicate between different tasks that are part of the same integration execution.", +"items": { +"$ref": "EnterpriseCrmFrontendsEventbusProtoParameterEntry" +}, +"type": "array" +}, +"parameters": { +"$ref": "EnterpriseCrmFrontendsEventbusProtoEventParameters", +"deprecated": true, +"description": "Optional. Passed in as parameters to each integration execution. Redacted" +}, +"requestId": { +"description": "Optional. This is used to de-dup incoming request: if the duplicate request was detected, the response from the previous execution is returned.", +"type": "string" +}, +"triggerId": { +"description": "Required. Matched against all {@link TriggerConfig}s across all integrations. i.e. TriggerConfig.trigger_id.equals(trigger_id). The trigger_id is in the format of `api_trigger/TRIGGER_NAME`.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudIntegrationsV1alphaExecuteIntegrationsResponse": { +"description": "The response for executing an integration.", +"id": "GoogleCloudIntegrationsV1alphaExecuteIntegrationsResponse", +"properties": { +"eventParameters": { +"$ref": "EnterpriseCrmFrontendsEventbusProtoEventParameters", +"deprecated": true, +"description": "Details for the integration that were executed." +}, +"executionFailed": { +"deprecated": true, +"description": "Is true if any execution in the integration failed. False otherwise.", +"type": "boolean" +}, +"executionId": { +"description": "The id of the execution corresponding to this run of integration.", +"type": "string" +}, +"outputParameters": { +"additionalProperties": { +"description": "Properties of the object.", +"type": "any" +}, +"description": "OUTPUT parameters in format of Map. Where Key is the name of the parameter. Note: Name of the system generated parameters are wrapped by backtick(`) to distinguish them from the user defined parameters.", +"type": "object" +}, +"parameterEntries": { +"deprecated": true, +"description": "Parameters are a part of Event and can be used to communicate between different tasks that are part of the same integration execution.", +"items": { +"$ref": "EnterpriseCrmFrontendsEventbusProtoParameterEntry" +}, +"type": "array" +} +}, +"type": "object" +}, +"GoogleCloudIntegrationsV1alphaExecution": { +"description": "The Execution resource contains detailed information of an individual integration execution.", +"id": "GoogleCloudIntegrationsV1alphaExecution", +"properties": { +"cloudLoggingDetails": { +"$ref": "GoogleCloudIntegrationsV1alphaCloudLoggingDetails", +"description": "Cloud Logging details for the integration version" +}, +"createTime": { +"description": "Output only. Created time of the execution.", +"format": "google-datetime", +"readOnly": true, +"type": "string" +}, +"directSubExecutions": { +"description": "Direct sub executions of the following Execution.", +"items": { +"$ref": "GoogleCloudIntegrationsV1alphaExecution" +}, +"type": "array" +}, +"eventExecutionDetails": { +"$ref": "EnterpriseCrmEventbusProtoEventExecutionDetails", +"deprecated": true, +"description": "The execution info about this event." +}, +"executionDetails": { +"$ref": "GoogleCloudIntegrationsV1alphaExecutionDetails", +"description": "Detailed info of this execution." +}, +"executionMethod": { +"description": "The ways user posts this event.", +"enum": [ +"EXECUTION_METHOD_UNSPECIFIED", +"POST", +"POST_TO_QUEUE", +"SCHEDULE" +], +"enumDescriptions": [ +"Default value.", +"Sync post.", +"Async post.", +"Async post with schedule time." +], +"type": "string" +}, +"integrationVersionState": { +"description": "Output only. State of the integration version", +"enum": [ +"INTEGRATION_STATE_UNSPECIFIED", +"DRAFT", +"ACTIVE", +"ARCHIVED", +"SNAPSHOT" +], +"enumDescriptions": [ +"Default.", +"Draft.", +"Active.", +"Archived.", +"Snapshot." +], +"readOnly": true, +"type": "string" +}, +"name": { +"description": "Auto-generated primary key.", +"type": "string" +}, +"requestParameters": { +"additionalProperties": { +"$ref": "GoogleCloudIntegrationsV1alphaValueType" +}, +"description": "Event parameters come in as part of the request.", +"type": "object" +}, +"requestParams": { +"deprecated": true, +"description": "Event parameters come in as part of the request.", +"items": { +"$ref": "EnterpriseCrmFrontendsEventbusProtoParameterEntry" +}, +"type": "array" +}, +"responseParameters": { +"additionalProperties": { +"$ref": "GoogleCloudIntegrationsV1alphaValueType" +}, +"description": "Event parameters returned as part of the response.", +"type": "object" +}, +"responseParams": { +"deprecated": true, +"description": "Event parameters come out as part of the response.", +"items": { +"$ref": "EnterpriseCrmFrontendsEventbusProtoParameterEntry" +}, +"type": "array" +}, +"snapshotNumber": { +"description": "Output only. An increasing sequence that is set when a new snapshot is created", +"format": "int64", +"readOnly": true, +"type": "string" +}, +"triggerId": { +"description": "The trigger id of the integration trigger config. If both trigger_id and client_id is present, the integration is executed from the start tasks provided by the matching trigger config otherwise it is executed from the default start tasks.", +"type": "string" +}, +"updateTime": { +"description": "Output only. Last modified time of the execution.", +"format": "google-datetime", +"readOnly": true, +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudIntegrationsV1alphaExecutionDetails": { +"description": "Contains the details of the execution info: this includes the tasks execution details plus the event execution statistics.", +"id": "GoogleCloudIntegrationsV1alphaExecutionDetails", +"properties": { +"attemptStats": { +"description": "List of Start and end time of the execution attempts.", +"items": { +"$ref": "GoogleCloudIntegrationsV1alphaAttemptStats" +}, +"type": "array" +}, +"eventExecutionSnapshotsSize": { +"description": "Total size of all event_execution_snapshots for an execution", +"format": "int64", +"type": "string" +}, +"executionSnapshots": { +"description": "List of snapshots taken during the execution.", +"items": { +"$ref": "GoogleCloudIntegrationsV1alphaExecutionSnapshot" +}, +"type": "array" +}, +"state": { +"description": "Status of the execution.", +"enum": [ +"STATE_UNSPECIFIED", +"PENDING", +"PROCESSING", +"SUCCEEDED", +"FAILED", +"CANCELLED", +"RETRY_ON_HOLD", +"SUSPENDED" +], +"enumDescriptions": [ +"Default.", +"Execution is scheduled and awaiting to be triggered.", +"Execution is processing.", +"Execution successfully finished. There's no more change after this state.", +"Execution failed. There's no more change after this state.", +"Execution canceled by user. There's no more change after this state.", +"Execution failed and waiting for retry.", +"Execution suspended and waiting for manual intervention." +], +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudIntegrationsV1alphaExecutionSnapshot": { +"description": "Contains the snapshot of the execution for a given checkpoint.", +"id": "GoogleCloudIntegrationsV1alphaExecutionSnapshot", +"properties": { +"checkpointTaskNumber": { +"description": "Indicates \"after which checkpoint task's execution\" this snapshot is taken.", +"type": "string" +}, +"executionSnapshotMetadata": { +"$ref": "GoogleCloudIntegrationsV1alphaExecutionSnapshotExecutionSnapshotMetadata", +"description": "Metadata of the execution snapshot." +}, +"params": { +"additionalProperties": { +"$ref": "GoogleCloudIntegrationsV1alphaValueType" +}, +"description": "Parameters used during the execution.", +"type": "object" +}, +"taskExecutionDetails": { +"description": "All of the task execution details at the given point of time.", +"items": { +"$ref": "GoogleCloudIntegrationsV1alphaTaskExecutionDetails" +}, +"type": "array" +} +}, +"type": "object" +}, +"GoogleCloudIntegrationsV1alphaExecutionSnapshotExecutionSnapshotMetadata": { +"description": "Metadata of the execution snapshot.", +"id": "GoogleCloudIntegrationsV1alphaExecutionSnapshotExecutionSnapshotMetadata", +"properties": { +"ancestorIterationNumbers": { +"description": "Ancestor iteration number for the task(it will only be non-empty if the task is under 'private workflow')", +"items": { +"type": "string" +}, +"type": "array" +}, +"ancestorTaskNumbers": { +"description": "Ancestor task number for the task(it will only be non-empty if the task is under 'private workflow')", +"items": { +"type": "string" +}, +"type": "array" +}, +"executionAttempt": { +"description": "the execution attempt number this snapshot belongs to.", +"format": "int32", +"type": "integer" +}, +"integrationName": { +"description": "The direct integration which the event execution snapshots belongs to", +"type": "string" +}, +"task": { +"description": "the task name associated with this snapshot.", +"type": "string" +}, +"taskAttempt": { +"description": "the task attempt number this snapshot belongs to.", +"format": "int32", +"type": "integer" +}, +"taskLabel": { +"description": "the task label associated with this snapshot. Could be empty.", +"type": "string" +}, +"taskNumber": { +"description": "The task number associated with this snapshot.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudIntegrationsV1alphaFailurePolicy": { +"description": "Policy that defines the task retry logic and failure type. If no FailurePolicy is defined for a task, all its dependent tasks will not be executed (i.e, a `retry_strategy` of NONE will be applied).", +"id": "GoogleCloudIntegrationsV1alphaFailurePolicy", +"properties": { +"intervalTime": { +"description": "Required if retry_strategy is FIXED_INTERVAL or LINEAR/EXPONENTIAL_BACKOFF/RESTART_INTEGRATION_WITH_BACKOFF. Defines the initial interval in seconds for backoff.", +"format": "google-datetime", +"type": "string" +}, +"maxRetries": { +"description": "Required if retry_strategy is FIXED_INTERVAL or LINEAR/EXPONENTIAL_BACKOFF/RESTART_INTEGRATION_WITH_BACKOFF. Defines the number of times the task will be retried if failed.", +"format": "int32", +"type": "integer" +}, +"retryStrategy": { +"description": "Defines what happens to the task upon failure.", +"enum": [ +"RETRY_STRATEGY_UNSPECIFIED", +"IGNORE", +"NONE", +"FATAL", +"FIXED_INTERVAL", +"LINEAR_BACKOFF", +"EXPONENTIAL_BACKOFF", +"RESTART_INTEGRATION_WITH_BACKOFF" +], +"enumDescriptions": [ +"UNSPECIFIED.", +"Ignores the failure of this task. The rest of the integration will be executed Assuming this task succeeded.", +"Causes a permanent failure of the task. However, if the last task(s) of event was successfully completed despite the failure of this task, it has no impact on the integration.", +"Causes a permanent failure of the event. It is different from NONE because this will mark the event as FAILED by shutting down the event execution.", +"The task will be retried from the failed task onwards after a fixed delay. A max-retry count is required to be specified with this strategy. A jitter is added to each exponential interval so that concurrently failing tasks of the same type do not end up retrying after the exact same exponential interval. max_retries and interval_in_seconds must be specified.", +"The task will be retried from the failed task onwards after a fixed delay that linearly increases with each retry attempt. A jitter is added to each exponential interval so that concurrently failing tasks of the same type do not end up retrying after the exact same exponential interval. A max-retry count is required to be specified with this strategy. max_retries and interval_in_seconds must be specified.", +"The task will be retried after an exponentially increasing period of time with each failure. A jitter is added to each exponential interval so that concurrently failing tasks of the same type do not end up retrying after the exact same exponential interval. A max-retry count is required to be specified with this strategy. `max_retries` and `interval_in_seconds` must be specified.", +"The entire integration will be restarted with the initial parameters that were set when the event was fired. A max-retry count is required to be specified with this strategy. `max_retries` and `interval_in_seconds` must be specified." +], +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudIntegrationsV1alphaGenerateTokenResponse": { +"description": "Returns success or error message", +"id": "GoogleCloudIntegrationsV1alphaGenerateTokenResponse", +"properties": { +"message": { +"description": "The message that notifies the user if the request succeeded or not.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudIntegrationsV1alphaIntParameterArray": { +"description": "This message only contains a field of integer array.", +"id": "GoogleCloudIntegrationsV1alphaIntParameterArray", +"properties": { +"intValues": { +"description": "Integer array.", +"items": { +"format": "int64", +"type": "string" +}, +"type": "array" +} +}, +"type": "object" +}, +"GoogleCloudIntegrationsV1alphaIntegration": { +"description": "The integration definition.", +"id": "GoogleCloudIntegrationsV1alphaIntegration", +"properties": { +"active": { +"description": "Required. If any integration version is published.", +"type": "boolean" +}, +"creatorEmail": { +"description": "Output only. The creator's email address. Generated based on the End User Credentials/LOAS role of the user making the call.", +"readOnly": true, +"type": "string" +}, +"description": { +"description": "Optional.", +"type": "string" +}, +"lastModifierEmail": { +"description": "Required. The last modifier of this integration", +"type": "string" +}, +"name": { +"description": "Required. The resource name of the integration.", +"type": "string" +}, +"updateTime": { +"description": "Output only. Auto-generated.", +"format": "google-datetime", +"readOnly": true, +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudIntegrationsV1alphaIntegrationAlertConfig": { +"description": "Message to be used to configure custom alerting in the {@code EventConfig} protos for an event.", +"id": "GoogleCloudIntegrationsV1alphaIntegrationAlertConfig", +"properties": { +"aggregationPeriod": { +"description": "The period over which the metric value should be aggregated and evaluated. Format is , where integer should be a positive integer and unit should be one of (s,m,h,d,w) meaning (second, minute, hour, day, week). For an EXPECTED_MIN threshold, this aggregation_period must be lesser than 24 hours.", +"type": "string" +}, +"alertThreshold": { +"description": "For how many contiguous aggregation periods should the expected min or max be violated for the alert to be fired.", +"format": "int32", +"type": "integer" +}, +"disableAlert": { +"description": "Set to false by default. When set to true, the metrics are not aggregated or pushed to Monarch for this integration alert.", +"type": "boolean" +}, +"displayName": { +"description": "Name of the alert. This will be displayed in the alert subject. If set, this name should be unique within the scope of the integration.", +"type": "string" +}, +"durationThreshold": { +"description": "Should be specified only for *AVERAGE_DURATION and *PERCENTILE_DURATION metrics. This member should be used to specify what duration value the metrics should exceed for the alert to trigger.", +"format": "google-duration", +"type": "string" +}, +"metricType": { +"description": "The type of metric.", +"enum": [ +"METRIC_TYPE_UNSPECIFIED", +"EVENT_ERROR_RATE", +"EVENT_WARNING_RATE", +"TASK_ERROR_RATE", +"TASK_WARNING_RATE", +"TASK_RATE", +"EVENT_RATE", +"EVENT_AVERAGE_DURATION", +"EVENT_PERCENTILE_DURATION", +"TASK_AVERAGE_DURATION", +"TASK_PERCENTILE_DURATION" +], +"enumDescriptions": [ +"The default value. Metric type should always be set to one of the other non-default values, otherwise it will result in an INVALID_ARGUMENT error.", +"Specifies alerting on the rate of errors for the enclosing integration.", +"Specifies alerting on the rate of warnings for the enclosing integration. Warnings use the same enum values as errors.", +"Specifies alerting on the rate of errors for any task in the enclosing integration.", +"Specifies alerting on the rate of warnings for any task in the enclosing integration.", +"Specifies alerting on the rate of executions over all tasks in the enclosing integration.", +"Specifies alerting on the number of events executed in the given aggregation_period.", +"Specifies alerting on the average duration of executions for this integration.", +"Specifies alerting on the duration value of a particular percentile of integration executions. E.g. If 10% or more of the integration executions have durations above 5 seconds, alert.", +"Specifies alerting on the average duration of any task in the enclosing integration,", +"Specifies alerting on the duration value of a particular percentile of any task executions within the enclosing integration. E.g. If 10% or more of the task executions in the integration have durations above 5 seconds, alert." +], +"type": "string" +}, +"onlyFinalAttempt": { +"description": "For either events or tasks, depending on the type of alert, count only final attempts, not retries.", +"type": "boolean" +}, +"thresholdType": { +"description": "The threshold type, whether lower(expected_min) or upper(expected_max), for which this alert is being configured. If value falls below expected_min or exceeds expected_max, an alert will be fired.", +"enum": [ +"THRESHOLD_TYPE_UNSPECIFIED", +"EXPECTED_MIN", +"EXPECTED_MAX" +], +"enumDescriptions": [ +"Default.", +"Note that this field will only trigger alerts if the integration specifying it runs at least once in 24 hours (which is our in-memory retention period for monarch streams). Also note that `aggregation_period` for this alert configuration must be less than 24 hours. Min value threshold.", +"Max value threshold." +], +"type": "string" +}, +"thresholdValue": { +"$ref": "GoogleCloudIntegrationsV1alphaIntegrationAlertConfigThresholdValue", +"description": "The metric value, above or below which the alert should be triggered." +} +}, +"type": "object" +}, +"GoogleCloudIntegrationsV1alphaIntegrationAlertConfigThresholdValue": { +"description": "The threshold value of the metric, above or below which the alert should be triggered. See EventAlertConfig or TaskAlertConfig for the different alert metric types in each case. For the *RATE metrics, one or both of these fields may be set. Zero is the default value and can be left at that. For *PERCENTILE_DURATION metrics, one or both of these fields may be set, and also, the duration threshold value should be specified in the threshold_duration_ms member below. For *AVERAGE_DURATION metrics, these fields should not be set at all. A different member, threshold_duration_ms, must be set in the EventAlertConfig or the TaskAlertConfig.", +"id": "GoogleCloudIntegrationsV1alphaIntegrationAlertConfigThresholdValue", +"properties": { +"absolute": { +"description": "Absolute value threshold.", +"format": "int64", +"type": "string" +}, +"percentage": { +"description": "Percentage threshold.", +"format": "int32", +"type": "integer" +} +}, +"type": "object" +}, +"GoogleCloudIntegrationsV1alphaIntegrationConfigParameter": { +"description": "Integration Config Parameter is defined in the integration config and are used to provide external configuration for integration. It provide information about data types of the expected parameters and provide any default values or value. They can also be used to add custom attributes.", +"id": "GoogleCloudIntegrationsV1alphaIntegrationConfigParameter", +"properties": { +"parameter": { +"$ref": "GoogleCloudIntegrationsV1alphaIntegrationParameter", +"description": "Optional. Integration Parameter to provide the default value, data type and attributes required for the Integration config variables." +}, +"value": { +"$ref": "GoogleCloudIntegrationsV1alphaValueType", +"description": "Values for the defined keys. Each value can either be string, int, double or any proto message or a serialized object." +} +}, +"type": "object" +}, +"GoogleCloudIntegrationsV1alphaIntegrationParameter": { +"description": "Integration Parameter is defined in the integration config and are used to provide information about data types of the expected parameters and provide any default values if needed. They can also be used to add custom attributes. These are static in nature and should not be used for dynamic event definition.", +"id": "GoogleCloudIntegrationsV1alphaIntegrationParameter", +"properties": { +"containsLargeData": { +"description": "Indicates whether this variable contains large data and need to be uploaded to Cloud Storage.", +"type": "boolean" +}, +"dataType": { +"description": "Type of the parameter.", +"enum": [ +"INTEGRATION_PARAMETER_DATA_TYPE_UNSPECIFIED", +"STRING_VALUE", +"INT_VALUE", +"DOUBLE_VALUE", +"BOOLEAN_VALUE", +"STRING_ARRAY", +"INT_ARRAY", +"DOUBLE_ARRAY", +"BOOLEAN_ARRAY", +"JSON_VALUE", +"PROTO_VALUE", +"PROTO_ARRAY" +], +"enumDescriptions": [ +"Unspecified.", +"String.", +"Integer.", +"Double Number.", +"Boolean.", +"String Array.", +"Integer Array.", +"Double Number Array.", +"Boolean Array.", +"Json.", +"Proto Value (Internal use only).", +"Proto Array (Internal use only)." +], +"type": "string" +}, +"defaultValue": { +"$ref": "GoogleCloudIntegrationsV1alphaValueType", +"description": "Default values for the defined keys. Each value can either be string, int, double or any proto message or a serialized object." +}, +"displayName": { +"description": "The name (without prefix) to be displayed in the UI for this parameter. E.g. if the key is \"foo.bar.myName\", then the name would be \"myName\".", +"type": "string" +}, +"inputOutputType": { +"description": "Specifies the input/output type for the parameter.", +"enum": [ +"IN_OUT_TYPE_UNSPECIFIED", +"IN", +"OUT", +"IN_OUT" +], +"enumDescriptions": [ +"Default.", +"Input parameters for the integration. EventBus validates that these parameters exist in the integrations before execution.", +"Output Parameters for the integration. EventBus will only return the integration parameters tagged with OUT in the response back.", +"Input and Output Parameters. These can be used as both input and output. EventBus will validate for the existence of these parameters before execution and will also return this parameter back in the response." +], +"type": "string" +}, +"isTransient": { +"description": "Whether this parameter is a transient parameter.", +"type": "boolean" +}, +"jsonSchema": { +"description": "This schema will be used to validate runtime JSON-typed values of this parameter.", +"type": "string" +}, +"key": { +"description": "Key is used to retrieve the corresponding parameter value. This should be unique for a given fired event. These parameters must be predefined in the integration definition.", +"type": "string" +}, +"masked": { +"description": "True if this parameter should be masked in the logs", +"type": "boolean" +}, +"producer": { +"description": "The identifier of the node (TaskConfig/TriggerConfig) this parameter was produced by, if it is a transient param or a copy of an input param.", +"type": "string" +}, +"searchable": { +"description": "Searchable in the execution log or not.", +"type": "boolean" +} +}, +"type": "object" +}, +"GoogleCloudIntegrationsV1alphaIntegrationTemplateVersion": { +"description": "IntegrationTemplateVersion definition. An IntegrationTemplateVersion provides configurations required to construct an IntegrationVersion. It cannot be executed directly like an Integration. Users can create IntegrationTemplateVersions using Integrations. These Templates can be shared by users across GCP projects. Next available: 17", +"id": "GoogleCloudIntegrationsV1alphaIntegrationTemplateVersion", +"properties": { +"createTime": { +"description": "Output only. Auto-generated.", +"format": "google-datetime", +"readOnly": true, +"type": "string" +}, +"databasePersistencePolicy": { +"description": "Optional. Flag to disable database persistence for execution data, including event execution info, execution export info, execution metadata index and execution param index.", +"enum": [ +"DATABASE_PERSISTENCE_POLICY_UNSPECIFIED", +"DATABASE_PERSISTENCE_DISABLED", +"DATABASE_PERSISTENCE_ASYNC" +], +"enumDescriptions": [ +"Enables persistence for all execution data.", +"Disables persistence for all execution data.", +"Asynchronously persist all execution data." +], +"type": "string" +}, +"description": { +"description": "Optional. The templateversion description. Permitted format is alphanumeric with underscores and no spaces.", +"type": "string" +}, +"enableVariableMasking": { +"description": "Optional. True if variable masking feature should be turned on for generated workflows", +"type": "boolean" +}, +"errorCatcherConfigs": { +"description": "Optional. Error Catch Task configuration for the IntegrationTemplateVersion. It's optional.", +"items": { +"$ref": "GoogleCloudIntegrationsV1alphaErrorCatcherConfig" +}, +"type": "array" +}, +"lastModifierEmail": { +"description": "Optional. The last modifier's email address. Generated based on the End User Credentials/LOAS role of the user making the call.", +"type": "string" +}, +"name": { +"description": "Output only. Auto-generated primary key. Format: projects/{project}/locations/{location}/products/{product}/integrationtemplates/{integrationtemplate}/versions/{version}", +"readOnly": true, +"type": "string" +}, +"parentIntegrationVersionId": { +"description": "Optional. ID of the IntegrationVersion that was used to create this IntegrationTemplateVersion", +"type": "string" +}, +"snapshotNumber": { +"description": "Output only. An increasing sequence that is set when a new snapshot is created.", +"format": "int64", +"readOnly": true, +"type": "string" +}, +"status": { +"description": "Optional. Generated by eventbus. User should not set it as an input.", +"enum": [ +"UNKNOWN", +"DRAFT", +"ACTIVE", +"ARCHIVED", +"SNAPSHOT" +], +"enumDescriptions": [ +"", +"", +"", +"", +"" +], +"type": "string" +}, +"taskConfigs": { +"description": "Optional. Task configuration for the IntegrationTemplateVersion. It's optional, but the IntegrationTemplateVersion doesn't do anything without task_configs.", +"items": { +"$ref": "EnterpriseCrmFrontendsEventbusProtoTaskConfig" +}, +"type": "array" +}, +"teardown": { +"$ref": "EnterpriseCrmEventbusProtoTeardown", +"description": "Optional. Contains a graph of tasks that will be executed before putting the event in a terminal state (SUCCEEDED/FAILED/FATAL), regardless of success or failure, similar to \"finally\" in code." +}, +"templateParameters": { +"$ref": "EnterpriseCrmFrontendsEventbusProtoWorkflowParameters", +"description": "Optional. Parameters that are expected to be passed to the IntegrationTemplateVersion when an event is triggered. This consists of all the parameters that are expected in the IntegrationTemplateVersion execution. This gives the user the ability to provide default values, add information like PII and also provide data types of each parameter." +}, +"triggerConfigs": { +"description": "Optional. Trigger configurations.", +"items": { +"$ref": "EnterpriseCrmFrontendsEventbusProtoTriggerConfig" +}, +"type": "array" +}, +"updateTime": { +"description": "Output only. Auto-generated.", +"format": "google-datetime", +"readOnly": true, +"type": "string" +}, +"userLabel": { +"description": "Optional. A user-defined label that annotates an integration version. Typically, this is only set when the integration version is created.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudIntegrationsV1alphaIntegrationVersion": { +"description": "The integration version definition.", +"id": "GoogleCloudIntegrationsV1alphaIntegrationVersion", +"properties": { +"cloudLoggingDetails": { +"$ref": "GoogleCloudIntegrationsV1alphaCloudLoggingDetails", +"description": "Optional. Cloud Logging details for the integration version" +}, +"createTime": { +"description": "Output only. Auto-generated.", +"format": "google-datetime", +"readOnly": true, +"type": "string" +}, +"createdFromTemplate": { +"description": "Optional. Optional. The resource name of the template from which the integration is created.", +"type": "string" +}, +"databasePersistencePolicy": { +"description": "Optional. Flag to disable database persistence for execution data, including event execution info, execution export info, execution metadata index and execution param index.", +"enum": [ +"DATABASE_PERSISTENCE_POLICY_UNSPECIFIED", +"DATABASE_PERSISTENCE_DISABLED", +"DATABASE_PERSISTENCE_ASYNC" +], +"enumDescriptions": [ +"Enables persistence for all execution data.", +"Disables persistence for all execution data.", +"Asynchronously persist all execution data." +], +"type": "string" +}, +"description": { +"description": "Optional. The integration description.", +"type": "string" +}, +"enableVariableMasking": { +"description": "Optional. True if variable masking feature should be turned on for this version", +"type": "boolean" +}, +"errorCatcherConfigs": { +"description": "Optional. Error Catch Task configuration for the integration. It's optional.", +"items": { +"$ref": "GoogleCloudIntegrationsV1alphaErrorCatcherConfig" +}, +"type": "array" +}, +"integrationConfigParameters": { +"description": "Optional. Config Parameters that are expected to be passed to the integration when an integration is published. This consists of all the parameters that are expected to provide configuration in the integration execution. This gives the user the ability to provide default values, value, add information like connection url, project based configuration value and also provide data types of each parameter.", +"items": { +"$ref": "GoogleCloudIntegrationsV1alphaIntegrationConfigParameter" +}, +"type": "array" +}, +"integrationParameters": { +"description": "Optional. Parameters that are expected to be passed to the integration when an event is triggered. This consists of all the parameters that are expected in the integration execution. This gives the user the ability to provide default values, add information like PII and also provide data types of each parameter.", +"items": { +"$ref": "GoogleCloudIntegrationsV1alphaIntegrationParameter" +}, +"type": "array" +}, +"integrationParametersInternal": { +"$ref": "EnterpriseCrmFrontendsEventbusProtoWorkflowParameters", +"deprecated": true, +"description": "Optional. Parameters that are expected to be passed to the integration when an event is triggered. This consists of all the parameters that are expected in the integration execution. This gives the user the ability to provide default values, add information like PII and also provide data types of each parameter." +}, +"lastModifierEmail": { +"description": "Optional. The last modifier's email address. Generated based on the End User Credentials/LOAS role of the user making the call.", +"type": "string" +}, +"lockHolder": { +"description": "Optional. The edit lock holder's email address. Generated based on the End User Credentials/LOAS role of the user making the call.", +"type": "string" +}, +"name": { +"description": "Output only. Auto-generated primary key.", +"readOnly": true, +"type": "string" +}, +"origin": { +"deprecated": true, +"description": "Optional. The origin that indicates where this integration is coming from.", +"enum": [ +"UNSPECIFIED", +"UI", +"PIPER_V2", +"PIPER_V3", +"APPLICATION_IP_PROVISIONING", +"TEST_CASE" +], +"enumDeprecated": [ +false, +false, +true, +false, +false, +false +], +"enumDescriptions": [ +"", +"Workflow is being created via event bus UI.", +"User checked in this workflow in Piper as v2 textproto format and we synced it into spanner.", +"User checked in this workflow in piper as v3 textproto format and we synced it into spanner.", +"Workflow is being created via Standalone IP Provisioning", +"Workflow is being created via Test Case." +], +"type": "string" +}, +"parentTemplateId": { +"description": "Optional. The id of the template which was used to create this integration_version.", +"type": "string" +}, +"runAsServiceAccount": { +"description": "Optional. The run-as service account email, if set and auth config is not configured, that will be used to generate auth token to be used in Connector task, Rest caller task and Cloud function task.", +"type": "string" +}, +"snapshotNumber": { +"description": "Optional. An increasing sequence that is set when a new snapshot is created. The last created snapshot can be identified by [workflow_name, org_id latest(snapshot_number)]. However, last created snapshot need not be same as the HEAD. So users should always use \"HEAD\" tag to identify the head.", +"format": "int64", +"type": "string" +}, +"state": { +"description": "Output only. User should not set it as an input.", +"enum": [ +"INTEGRATION_STATE_UNSPECIFIED", +"DRAFT", +"ACTIVE", +"ARCHIVED", +"SNAPSHOT" +], +"enumDescriptions": [ +"Default.", +"Draft.", +"Active.", +"Archived.", +"Snapshot." +], +"readOnly": true, +"type": "string" +}, +"status": { +"deprecated": true, +"description": "Output only. Generated by eventbus. User should not set it as an input.", +"enum": [ +"UNKNOWN", +"DRAFT", +"ACTIVE", +"ARCHIVED", +"SNAPSHOT" +], +"enumDescriptions": [ +"", +"", +"", +"", +"" +], +"readOnly": true, +"type": "string" +}, +"taskConfigs": { +"description": "Optional. Task configuration for the integration. It's optional, but the integration doesn't do anything without task_configs.", +"items": { +"$ref": "GoogleCloudIntegrationsV1alphaTaskConfig" +}, +"type": "array" +}, +"taskConfigsInternal": { +"deprecated": true, +"description": "Optional. Task configuration for the integration. It's optional, but the integration doesn't do anything without task_configs.", +"items": { +"$ref": "EnterpriseCrmFrontendsEventbusProtoTaskConfig" +}, +"type": "array" +}, +"teardown": { +"$ref": "EnterpriseCrmEventbusProtoTeardown", +"deprecated": true, +"description": "Optional. Contains a graph of tasks that will be executed before putting the event in a terminal state (SUCCEEDED/FAILED/FATAL), regardless of success or failure, similar to \"finally\" in code." +}, +"triggerConfigs": { +"description": "Optional. Trigger configurations.", +"items": { +"$ref": "GoogleCloudIntegrationsV1alphaTriggerConfig" +}, +"type": "array" +}, +"triggerConfigsInternal": { +"deprecated": true, +"description": "Optional. Trigger configurations.", +"items": { +"$ref": "EnterpriseCrmFrontendsEventbusProtoTriggerConfig" +}, +"type": "array" +}, +"updateTime": { +"description": "Output only. Auto-generated.", +"format": "google-datetime", +"readOnly": true, +"type": "string" +}, +"userLabel": { +"description": "Optional. A user-defined label that annotates an integration version. Typically, this is only set when the integration version is created.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudIntegrationsV1alphaJwt": { +"description": "Represents JSON web token(JWT), which is a compact, URL-safe means of representing claims to be transferred between two parties, enabling the claims to be digitally signed or integrity protected.", +"id": "GoogleCloudIntegrationsV1alphaJwt", +"properties": { +"jwt": { +"description": "The token calculated by the header, payload and signature.", +"type": "string" +}, +"jwtHeader": { +"description": "Identifies which algorithm is used to generate the signature.", +"type": "string" +}, +"jwtPayload": { +"description": "Contains a set of claims. The JWT specification defines seven Registered Claim Names which are the standard fields commonly included in tokens. Custom claims are usually also included, depending on the purpose of the token.", +"type": "string" +}, +"secret": { +"description": "User's pre-shared secret to sign the token.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudIntegrationsV1alphaLiftSuspensionRequest": { +"description": "Request for lift Suspension", +"id": "GoogleCloudIntegrationsV1alphaLiftSuspensionRequest", +"properties": { +"suspensionResult": { +"description": "User passed in suspension result and will be used to control workflow execution branching behavior by setting up corresponnding edge condition with suspension result. For example, if you want to lift the suspension, you can pass \"Approved\", or if you want to reject the suspension and terminate workfloe execution, you can pass \"Rejected\" and terminate the workflow execution with configuring the edge condition.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudIntegrationsV1alphaLiftSuspensionResponse": { +"description": "Response of lift Suspense", +"id": "GoogleCloudIntegrationsV1alphaLiftSuspensionResponse", +"properties": { +"eventExecutionInfoId": { +"description": "Execution Id that will be returned", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudIntegrationsV1alphaLinkAppsScriptProjectRequest": { +"description": "Request for LinkAppsScriptProject rpc call.", +"id": "GoogleCloudIntegrationsV1alphaLinkAppsScriptProjectRequest", +"properties": { +"scriptId": { +"description": "The id of the Apps Script project to be linked.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudIntegrationsV1alphaLinkAppsScriptProjectResponse": { +"description": "Response for LinkAppsScriptProject rpc call.", +"id": "GoogleCloudIntegrationsV1alphaLinkAppsScriptProjectResponse", +"properties": { +"scriptId": { +"description": "The id of the linked Apps Script project.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudIntegrationsV1alphaListAuthConfigsResponse": { +"description": "Response to list AuthConfigs.", +"id": "GoogleCloudIntegrationsV1alphaListAuthConfigsResponse", +"properties": { +"authConfigs": { +"description": "The list of AuthConfigs retrieved.", +"items": { +"$ref": "GoogleCloudIntegrationsV1alphaAuthConfig" +}, +"type": "array" +}, +"nextPageToken": { +"description": "The token used to retrieve the next page of results.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudIntegrationsV1alphaListCertificatesResponse": { +"description": "Response to list Certificates.", +"id": "GoogleCloudIntegrationsV1alphaListCertificatesResponse", +"properties": { +"certificates": { +"description": "The list of Certificates retrieved.", +"items": { +"$ref": "GoogleCloudIntegrationsV1alphaCertificate" +}, +"type": "array" +}, +"nextPageToken": { +"description": "The token used to retrieve the next page of results.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudIntegrationsV1alphaListConnectionsResponse": { +"description": "Response containing Connections listed by region.", +"id": "GoogleCloudIntegrationsV1alphaListConnectionsResponse", +"properties": { +"connections": { +"description": "Connections.", +"items": { +"$ref": "GoogleCloudConnectorsV1Connection" +}, +"type": "array" +}, +"nextPageToken": { +"description": "Next page token.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudIntegrationsV1alphaListExecutionsResponse": { +"description": "Response for listing the integration execution data.", +"id": "GoogleCloudIntegrationsV1alphaListExecutionsResponse", +"properties": { +"executionInfos": { +"deprecated": true, +"description": "Required. The detailed information of requested executions.", +"items": { +"$ref": "EnterpriseCrmFrontendsEventbusProtoEventExecutionInfo" +}, +"type": "array" +}, +"executions": { +"description": "The detailed information of requested executions", +"items": { +"$ref": "GoogleCloudIntegrationsV1alphaExecution" +}, +"type": "array" +}, +"nextPageToken": { +"description": "The token used to retrieve the next page results.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudIntegrationsV1alphaListIntegrationTemplateVersionsResponse": { +"description": "Response for IntegrationTemplateVersions.ListIntegrationTemplateVersions.", +"id": "GoogleCloudIntegrationsV1alphaListIntegrationTemplateVersionsResponse", +"properties": { +"integrationTemplateVersions": { +"description": "The IntegrationTemplateVersions which match the request.", +"items": { +"$ref": "GoogleCloudIntegrationsV1alphaIntegrationTemplateVersion" +}, +"type": "array" +}, +"nextPageToken": { +"description": "A token, which can be sent as `page_token` to retrieve the next page. If this field is omitted, there are no subsequent pages.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudIntegrationsV1alphaListIntegrationVersionsResponse": { +"description": "Response for ListIntegrationVersions.", +"id": "GoogleCloudIntegrationsV1alphaListIntegrationVersionsResponse", +"properties": { +"integrationVersions": { +"description": "The integrations which match the request.", +"items": { +"$ref": "GoogleCloudIntegrationsV1alphaIntegrationVersion" +}, +"type": "array" +}, +"nextPageToken": { +"description": "A token, which can be sent as `page_token` to retrieve the next page. If this field is omitted, there are no subsequent pages.", +"type": "string" +}, +"noPermission": { +"description": "Whether the user has no permission on the version or not.", +"type": "boolean" +} +}, +"type": "object" +}, +"GoogleCloudIntegrationsV1alphaListIntegrationsResponse": { +"description": "Response for ListIntegrations.", +"id": "GoogleCloudIntegrationsV1alphaListIntegrationsResponse", +"properties": { +"integrations": { +"description": "The integrations which match the request.", +"items": { +"$ref": "GoogleCloudIntegrationsV1alphaIntegration" +}, +"type": "array" +}, +"nextPageToken": { +"description": "The next page token for the response.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudIntegrationsV1alphaListRuntimeActionSchemasResponse": { +"description": "Response for listing RuntimeActionSchemas for a specific Connection.", +"id": "GoogleCloudIntegrationsV1alphaListRuntimeActionSchemasResponse", +"properties": { +"nextPageToken": { +"description": "Next page token.", +"type": "string" +}, +"runtimeActionSchemas": { +"description": "Runtime action schemas.", +"items": { +"$ref": "GoogleCloudIntegrationsV1alphaRuntimeActionSchema" +}, +"type": "array" +} +}, +"type": "object" +}, +"GoogleCloudIntegrationsV1alphaListRuntimeEntitySchemasResponse": { +"description": "Response for listing RuntimeEntitySchemas for a specific Connection.", +"id": "GoogleCloudIntegrationsV1alphaListRuntimeEntitySchemasResponse", +"properties": { +"nextPageToken": { +"description": "Next page token.", +"type": "string" +}, +"runtimeEntitySchemas": { +"description": "Runtime entity schemas.", +"items": { +"$ref": "GoogleCloudIntegrationsV1alphaRuntimeEntitySchema" +}, +"type": "array" +} +}, +"type": "object" +}, +"GoogleCloudIntegrationsV1alphaListSfdcChannelsResponse": { +"description": "Response to list SfdcChannels.", +"id": "GoogleCloudIntegrationsV1alphaListSfdcChannelsResponse", +"properties": { +"nextPageToken": { +"description": "The token used to retrieve the next page of results.", +"type": "string" +}, +"sfdcChannels": { +"description": "The list of SfdcChannels retrieved.", +"items": { +"$ref": "GoogleCloudIntegrationsV1alphaSfdcChannel" +}, +"type": "array" +} +}, +"type": "object" +}, +"GoogleCloudIntegrationsV1alphaListSfdcInstancesResponse": { +"description": "Response to list SfdcInstances.", +"id": "GoogleCloudIntegrationsV1alphaListSfdcInstancesResponse", +"properties": { +"nextPageToken": { +"description": "The token used to retrieve the next page of results.", +"type": "string" +}, +"sfdcInstances": { +"description": "The list of SfdcInstances retrieved.", +"items": { +"$ref": "GoogleCloudIntegrationsV1alphaSfdcInstance" +}, +"type": "array" +} +}, +"type": "object" +}, +"GoogleCloudIntegrationsV1alphaListSuspensionsResponse": { +"description": "Response for Suspensions.ListSuspensions.", +"id": "GoogleCloudIntegrationsV1alphaListSuspensionsResponse", +"properties": { +"nextPageToken": { +"description": "Token to retrieve the next page of results.", +"type": "string" +}, +"suspensions": { +"description": "The suspensions for the relevant execution which the caller has permissions to view and resolve.", +"items": { +"$ref": "GoogleCloudIntegrationsV1alphaSuspension" +}, +"type": "array" +} +}, +"type": "object" +}, +"GoogleCloudIntegrationsV1alphaNextTask": { +"description": "The task that is next in line to be executed, if the condition specified evaluated to true.", +"id": "GoogleCloudIntegrationsV1alphaNextTask", +"properties": { +"condition": { +"description": "Standard filter expression for this task to become an eligible next task.", +"type": "string" +}, +"description": { +"description": "User-provided description intended to give additional business context about the task.", +"type": "string" +}, +"displayName": { +"description": "User-provided label that is attached to this edge in the UI.", +"type": "string" +}, +"taskConfigId": { +"description": "ID of the next task.", +"type": "string" +}, +"taskId": { +"description": "Task number of the next task.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudIntegrationsV1alphaOAuth2AuthorizationCode": { +"description": "The OAuth Type where the client sends request with the client id and requested scopes to auth endpoint. User sees a consent screen and auth code is received at specified redirect url afterwards. The auth code is then combined with the client id and secret and sent to the token endpoint in exchange for the access and refresh token. The refresh token can be used to fetch new access tokens.", +"id": "GoogleCloudIntegrationsV1alphaOAuth2AuthorizationCode", +"properties": { +"accessToken": { +"$ref": "GoogleCloudIntegrationsV1alphaAccessToken", +"description": "The access token received from the token endpoint." +}, +"applyReauthPolicy": { +"description": "Indicates if the user has opted in Google Reauth Policy. If opted in, the refresh token will be valid for 20 hours, after which time users must re-authenticate in order to obtain a new one.", +"type": "boolean" +}, +"authCode": { +"description": "The Auth Code that is used to initially retrieve the access token.", +"type": "string" +}, +"authEndpoint": { +"description": "The auth url endpoint to send the auth code request to.", +"type": "string" +}, +"authParams": { +"$ref": "GoogleCloudIntegrationsV1alphaParameterMap", +"description": "The auth parameters sent along with the auth code request." +}, +"clientId": { +"description": "The client's id.", +"type": "string" +}, +"clientSecret": { +"description": "The client's secret.", +"type": "string" +}, +"requestType": { +"description": "Represent how to pass parameters to fetch access token", +"enum": [ +"REQUEST_TYPE_UNSPECIFIED", +"REQUEST_BODY", +"QUERY_PARAMETERS", +"ENCODED_HEADER" +], +"enumDescriptions": [ +"Unspecified request type", +"To pass all the parameters in post body.", +"To pass all the parameters as a part of query parameter.", +"To pass client id and client secret as base 64 encoding of client_id:client_password and rest parameters in post body." +], +"type": "string" +}, +"scope": { +"description": "A space-delimited list of requested scope permissions.", +"type": "string" +}, +"tokenEndpoint": { +"description": "The token url endpoint to send the token request to.", +"type": "string" +}, +"tokenParams": { +"$ref": "GoogleCloudIntegrationsV1alphaParameterMap", +"description": "The token parameters sent along with the token request." +} +}, +"type": "object" +}, +"GoogleCloudIntegrationsV1alphaOAuth2ClientCredentials": { +"description": "For client credentials grant, the client sends a POST request with grant_type as 'client_credentials' to the authorization server. The authorization server will respond with a JSON object containing the access token.", +"id": "GoogleCloudIntegrationsV1alphaOAuth2ClientCredentials", +"properties": { +"accessToken": { +"$ref": "GoogleCloudIntegrationsV1alphaAccessToken", +"description": "Access token fetched from the authorization server." +}, +"clientId": { +"description": "The client's ID.", +"type": "string" +}, +"clientSecret": { +"description": "The client's secret.", +"type": "string" +}, +"requestType": { +"description": "Represent how to pass parameters to fetch access token", +"enum": [ +"REQUEST_TYPE_UNSPECIFIED", +"REQUEST_BODY", +"QUERY_PARAMETERS", +"ENCODED_HEADER" +], +"enumDescriptions": [ +"Unspecified request type", +"To pass all the parameters in post body.", +"To pass all the parameters as a part of query parameter.", +"To pass client id and client secret as base 64 encoding of client_id:client_password and rest parameters in post body." +], +"type": "string" +}, +"scope": { +"description": "A space-delimited list of requested scope permissions.", +"type": "string" +}, +"tokenEndpoint": { +"description": "The token endpoint is used by the client to obtain an access token by presenting its authorization grant or refresh token.", +"type": "string" +}, +"tokenParams": { +"$ref": "GoogleCloudIntegrationsV1alphaParameterMap", +"description": "Token parameters for the auth request." +} +}, +"type": "object" +}, +"GoogleCloudIntegrationsV1alphaOAuth2ResourceOwnerCredentials": { +"description": "For resource owner credentials grant, the client will ask the user for their authorization credentials (ususally a username and password) and send a POST request to the authorization server. The authorization server will respond with a JSON object containing the access token.", +"id": "GoogleCloudIntegrationsV1alphaOAuth2ResourceOwnerCredentials", +"properties": { +"accessToken": { +"$ref": "GoogleCloudIntegrationsV1alphaAccessToken", +"description": "Access token fetched from the authorization server." +}, +"clientId": { +"description": "The client's ID.", +"type": "string" +}, +"clientSecret": { +"description": "The client's secret.", +"type": "string" +}, +"password": { +"description": "The user's password.", +"type": "string" +}, +"requestType": { +"description": "Represent how to pass parameters to fetch access token", +"enum": [ +"REQUEST_TYPE_UNSPECIFIED", +"REQUEST_BODY", +"QUERY_PARAMETERS", +"ENCODED_HEADER" +], +"enumDescriptions": [ +"Unspecified request type", +"To pass all the parameters in post body.", +"To pass all the parameters as a part of query parameter.", +"To pass client id and client secret as base 64 encoding of client_id:client_password and rest parameters in post body." +], +"type": "string" +}, +"scope": { +"description": "A space-delimited list of requested scope permissions.", +"type": "string" +}, +"tokenEndpoint": { +"description": "The token endpoint is used by the client to obtain an access token by presenting its authorization grant or refresh token.", +"type": "string" +}, +"tokenParams": { +"$ref": "GoogleCloudIntegrationsV1alphaParameterMap", +"description": "Token parameters for the auth request." +}, +"username": { +"description": "The user's username.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudIntegrationsV1alphaOidcToken": { +"description": "OIDC Token", +"id": "GoogleCloudIntegrationsV1alphaOidcToken", +"properties": { +"audience": { +"description": "Audience to be used when generating OIDC token. The audience claim identifies the recipients that the JWT is intended for.", +"type": "string" +}, +"serviceAccountEmail": { +"description": "The service account email to be used as the identity for the token.", +"type": "string" +}, +"token": { +"description": "ID token obtained for the service account", +"type": "string" +}, +"tokenExpireTime": { +"description": "The approximate time until the token retrieved is valid.", +"format": "google-datetime", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudIntegrationsV1alphaParameterMap": { +"description": "A generic multi-map that holds key value pairs. They keys and values can be of any type, unless specified.", +"id": "GoogleCloudIntegrationsV1alphaParameterMap", +"properties": { +"entries": { +"description": "A list of parameter map entries.", +"items": { +"$ref": "GoogleCloudIntegrationsV1alphaParameterMapEntry" +}, +"type": "array" +}, +"keyType": { +"description": "Option to specify key type for all entries of the map. If provided then field types for all entries must conform to this.", +"enum": [ +"INTEGRATION_PARAMETER_DATA_TYPE_UNSPECIFIED", +"STRING_VALUE", +"INT_VALUE", +"DOUBLE_VALUE", +"BOOLEAN_VALUE", +"STRING_ARRAY", +"INT_ARRAY", +"DOUBLE_ARRAY", +"BOOLEAN_ARRAY", +"JSON_VALUE", +"PROTO_VALUE", +"PROTO_ARRAY" +], +"enumDescriptions": [ +"Unspecified.", +"String.", +"Integer.", +"Double Number.", +"Boolean.", +"String Array.", +"Integer Array.", +"Double Number Array.", +"Boolean Array.", +"Json.", +"Proto Value (Internal use only).", +"Proto Array (Internal use only)." +], +"type": "string" +}, +"valueType": { +"description": "Option to specify value type for all entries of the map. If provided then field types for all entries must conform to this.", +"enum": [ +"INTEGRATION_PARAMETER_DATA_TYPE_UNSPECIFIED", +"STRING_VALUE", +"INT_VALUE", +"DOUBLE_VALUE", +"BOOLEAN_VALUE", +"STRING_ARRAY", +"INT_ARRAY", +"DOUBLE_ARRAY", +"BOOLEAN_ARRAY", +"JSON_VALUE", +"PROTO_VALUE", +"PROTO_ARRAY" +], +"enumDescriptions": [ +"Unspecified.", +"String.", +"Integer.", +"Double Number.", +"Boolean.", +"String Array.", +"Integer Array.", +"Double Number Array.", +"Boolean Array.", +"Json.", +"Proto Value (Internal use only).", +"Proto Array (Internal use only)." +], +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudIntegrationsV1alphaParameterMapEntry": { +"description": "Entry is a pair of key and value.", +"id": "GoogleCloudIntegrationsV1alphaParameterMapEntry", +"properties": { +"key": { +"$ref": "GoogleCloudIntegrationsV1alphaParameterMapField", +"description": "Key of the map entry." +}, +"value": { +"$ref": "GoogleCloudIntegrationsV1alphaParameterMapField", +"description": "Value of the map entry." +} +}, +"type": "object" +}, +"GoogleCloudIntegrationsV1alphaParameterMapField": { +"description": "Field represents either the key or value in an entry.", +"id": "GoogleCloudIntegrationsV1alphaParameterMapField", +"properties": { +"literalValue": { +"$ref": "GoogleCloudIntegrationsV1alphaValueType", +"description": "Passing a literal value." +}, +"referenceKey": { +"description": "Referencing one of the Integration variables.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudIntegrationsV1alphaPublishIntegrationVersionRequest": { +"description": "Request for PublishIntegrationVersion.", +"id": "GoogleCloudIntegrationsV1alphaPublishIntegrationVersionRequest", +"properties": { +"configParameters": { +"additionalProperties": { +"description": "Properties of the object.", +"type": "any" +}, +"description": "Optional. Config parameters used during integration execution.", +"type": "object" +} +}, +"type": "object" +}, +"GoogleCloudIntegrationsV1alphaPublishIntegrationVersionResponse": { +"description": "Response for PublishIntegrationVersion.", +"id": "GoogleCloudIntegrationsV1alphaPublishIntegrationVersionResponse", +"properties": {}, +"type": "object" +}, +"GoogleCloudIntegrationsV1alphaResolveSuspensionRequest": { +"description": "Request for [Suspensions.ResolveSuspensions].", +"id": "GoogleCloudIntegrationsV1alphaResolveSuspensionRequest", +"properties": { +"suspension": { +"$ref": "GoogleCloudIntegrationsV1alphaSuspension", +"description": "Suspension, containing the event_execution_info_id, task_id, and state to set on the corresponding suspension record." +} +}, +"type": "object" +}, +"GoogleCloudIntegrationsV1alphaResolveSuspensionResponse": { +"description": "Response for Suspensions.ResolveSuspensions.", +"id": "GoogleCloudIntegrationsV1alphaResolveSuspensionResponse", +"properties": {}, +"type": "object" +}, +"GoogleCloudIntegrationsV1alphaRuntimeActionSchema": { +"description": "Metadata of an action, including schemas for its inputs and outputs.", +"id": "GoogleCloudIntegrationsV1alphaRuntimeActionSchema", +"properties": { +"action": { +"description": "Name of the action.", +"type": "string" +}, +"inputSchema": { +"description": "Input parameter schema for the action.", +"type": "string" +}, +"outputSchema": { +"description": "Output parameter schema for the action.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudIntegrationsV1alphaRuntimeEntitySchema": { +"description": "Metadata of an entity, including a schema for its properties.", +"id": "GoogleCloudIntegrationsV1alphaRuntimeEntitySchema", +"properties": { +"arrayFieldSchema": { +"description": "The above schema, but for an array of the associated entity.", +"type": "string" +}, +"entity": { +"description": "Name of the entity.", +"type": "string" +}, +"fieldSchema": { +"description": "List of fields in the entity.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudIntegrationsV1alphaScheduleIntegrationsRequest": { +"description": "The request for scheduling an integration. Next available id: 11", +"id": "GoogleCloudIntegrationsV1alphaScheduleIntegrationsRequest", +"properties": { +"inputParameters": { +"additionalProperties": { +"$ref": "GoogleCloudIntegrationsV1alphaValueType" +}, +"description": "Optional. Input parameters used by integration execution.", +"type": "object" +}, +"parameterEntries": { +"deprecated": true, +"description": "Parameters are a part of Event and can be used to communicate between different tasks that are part of the same integration execution.", +"items": { +"$ref": "EnterpriseCrmFrontendsEventbusProtoParameterEntry" +}, +"type": "array" +}, +"parameters": { +"$ref": "EnterpriseCrmEventbusProtoEventParameters", +"deprecated": true, +"description": "Passed in as parameters to each integration execution." +}, +"requestId": { +"description": "This is used to de-dup incoming request: if the duplicate request was detected, the response from the previous execution is returned.", +"type": "string" +}, +"scheduleTime": { +"description": "The time that the integration should be executed. If the time is less or equal to the current time, the integration is executed immediately.", +"format": "google-datetime", +"type": "string" +}, +"triggerId": { +"description": "Required. Matched against all {@link TriggerConfig}s across all integrations. i.e. TriggerConfig.trigger_id.equals(trigger_id)", +"type": "string" +}, +"userGeneratedExecutionId": { +"description": "Optional. This is a unique id provided by the method caller. If provided this will be used as the execution_id when a new execution info is created. This is a string representation of a UUID. Must have no more than 36 characters and contain only alphanumeric characters and hyphens.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudIntegrationsV1alphaScheduleIntegrationsResponse": { +"description": "The response for executing an integration.", +"id": "GoogleCloudIntegrationsV1alphaScheduleIntegrationsResponse", +"properties": { +"executionInfoIds": { +"description": "The execution info id for the executed integrations.", +"items": { +"type": "string" +}, +"type": "array" +} +}, +"type": "object" +}, +"GoogleCloudIntegrationsV1alphaSerializedFile": { +"description": "To store string representation of Integration file.", +"id": "GoogleCloudIntegrationsV1alphaSerializedFile", +"properties": { +"content": { +"description": "String representation of the file content.", +"type": "string" +}, +"file": { +"description": "File information like Integration version, Integration Config variables etc.", +"enum": [ +"INTEGRATION_FILE_UNSPECIFIED", +"INTEGRATION", +"INTEGRATION_CONFIG_VARIABLES" +], +"enumDescriptions": [ +"Default value.", +"Integration file.", +"Integration Config variables." +], +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudIntegrationsV1alphaServiceAccountCredentials": { +"description": "Represents the service account which can be used to generate access token for authenticating the service call.", +"id": "GoogleCloudIntegrationsV1alphaServiceAccountCredentials", +"properties": { +"scope": { +"description": "A space-delimited list of requested scope permissions.", +"type": "string" +}, +"serviceAccount": { +"description": "Name of the service account that has the permission to make the request.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudIntegrationsV1alphaSfdcChannel": { +"description": "The SfdcChannel that points to a CDC or Platform Event Channel.", +"id": "GoogleCloudIntegrationsV1alphaSfdcChannel", +"properties": { +"channelTopic": { +"description": "The Channel topic defined by salesforce once an channel is opened", +"type": "string" +}, +"createTime": { +"description": "Output only. Time when the channel is created", +"format": "google-datetime", +"readOnly": true, +"type": "string" +}, +"deleteTime": { +"description": "Output only. Time when the channel was deleted. Empty if not deleted.", +"format": "google-datetime", +"readOnly": true, +"type": "string" +}, +"description": { +"description": "The description for this channel", +"type": "string" +}, +"displayName": { +"description": "Client level unique name/alias to easily reference a channel.", +"type": "string" +}, +"isActive": { +"description": "Indicated if a channel has any active integrations referencing it. Set to false when the channel is created, and set to true if there is any integration published with the channel configured in it.", +"type": "boolean" +}, +"lastReplayId": { +"description": "Last sfdc messsage replay id for channel", +"type": "string" +}, +"name": { +"description": "Resource name of the SFDC channel projects/{project}/locations/{location}/sfdcInstances/{sfdc_instance}/sfdcChannels/{sfdc_channel}.", +"type": "string" +}, +"updateTime": { +"description": "Output only. Time when the channel was last updated", +"format": "google-datetime", +"readOnly": true, +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudIntegrationsV1alphaSfdcInstance": { +"description": "The SfdcInstance resource use to hold channels and connection config data.", +"id": "GoogleCloudIntegrationsV1alphaSfdcInstance", +"properties": { +"authConfigId": { +"description": "A list of AuthConfigs that can be tried to open the channel to SFDC", +"items": { +"type": "string" +}, +"type": "array" +}, +"createTime": { +"description": "Output only. Time when the instance is created", +"format": "google-datetime", +"readOnly": true, +"type": "string" +}, +"deleteTime": { +"description": "Output only. Time when the instance was deleted. Empty if not deleted.", +"format": "google-datetime", +"readOnly": true, +"type": "string" +}, +"description": { +"description": "A description of the sfdc instance.", +"type": "string" +}, +"displayName": { +"description": "User selected unique name/alias to easily reference an instance.", +"type": "string" +}, +"name": { +"description": "Resource name of the SFDC instance projects/{project}/locations/{location}/sfdcInstances/{sfdcInstance}.", +"type": "string" +}, +"serviceAuthority": { +"description": "URL used for API calls after authentication (the login authority is configured within the referenced AuthConfig).", +"type": "string" +}, +"sfdcOrgId": { +"description": "The SFDC Org Id. This is defined in salesforce.", +"type": "string" +}, +"updateTime": { +"description": "Output only. Time when the instance was last updated", +"format": "google-datetime", +"readOnly": true, +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudIntegrationsV1alphaStringParameterArray": { +"description": "This message only contains a field of string array.", +"id": "GoogleCloudIntegrationsV1alphaStringParameterArray", +"properties": { +"stringValues": { +"description": "String array.", +"items": { +"type": "string" +}, +"type": "array" +} +}, +"type": "object" +}, +"GoogleCloudIntegrationsV1alphaSuccessPolicy": { +"description": "Policy that dictates the behavior for the task after it completes successfully.", +"id": "GoogleCloudIntegrationsV1alphaSuccessPolicy", +"properties": { +"finalState": { +"description": "State to which the execution snapshot status will be set if the task succeeds.", +"enum": [ +"FINAL_STATE_UNSPECIFIED", +"SUCCEEDED", +"SUSPENDED" +], +"enumDescriptions": [ +"UNSPECIFIED.", +"The default behavior, where successful tasks will be marked as SUCCEEDED.", +"Sets the state to SUSPENDED after executing. This is required for SuspensionTask; event execution will continue once the user calls ResolveSuspensions with the event_execution_info_id and the task number." +], +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudIntegrationsV1alphaSuspension": { +"description": "A record representing a suspension.", +"id": "GoogleCloudIntegrationsV1alphaSuspension", +"properties": { +"approvalConfig": { +"$ref": "GoogleCloudIntegrationsV1alphaSuspensionApprovalConfig", +"description": "Controls the notifications and approval permissions for this suspension." +}, +"audit": { +"$ref": "GoogleCloudIntegrationsV1alphaSuspensionAudit", +"description": "Metadata pertaining to the resolution of this suspension." +}, +"createTime": { +"description": "Output only. Auto-generated.", +"format": "google-datetime", +"readOnly": true, +"type": "string" +}, +"eventExecutionInfoId": { +"description": "Required. ID of the associated execution.", +"type": "string" +}, +"integration": { +"description": "Required. The name of the originating integration.", +"type": "string" +}, +"lastModifyTime": { +"description": "Output only. Auto-generated.", +"format": "google-datetime", +"readOnly": true, +"type": "string" +}, +"name": { +"description": "Resource name for suspensions suspension/{suspension_id}", +"type": "string" +}, +"state": { +"description": "Required. State of this suspension, indicating what action a resolver has taken.", +"enum": [ +"RESOLUTION_STATE_UNSPECIFIED", +"PENDING", +"REJECTED", +"LIFTED" +], +"enumDescriptions": [ +"Unset state.", +"The suspension has not yet been resolved.", +"The resolver has rejected the suspension.", +"The resolver has lifted the suspension." +], +"type": "string" +}, +"suspensionConfig": { +"$ref": "EnterpriseCrmEventbusProtoSuspensionConfig", +"deprecated": true, +"description": "Controls the notifications and resolver permissions for this suspension." +}, +"taskId": { +"description": "Required. Task id of the associated SuspensionTask.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudIntegrationsV1alphaSuspensionApprovalConfig": { +"description": "Configurations for approving the Suspension.", +"id": "GoogleCloudIntegrationsV1alphaSuspensionApprovalConfig", +"properties": { +"customMessage": { +"description": "Information to provide for recipients.", +"type": "string" +}, +"emailAddresses": { +"description": "Email addresses to send approval request to.", +"items": { +"type": "string" +}, +"type": "array" +}, +"expiration": { +"$ref": "GoogleCloudIntegrationsV1alphaSuspensionApprovalExpiration", +"description": "Indicates the next steps when no external actions happen on the suspension." +} +}, +"type": "object" +}, +"GoogleCloudIntegrationsV1alphaSuspensionApprovalExpiration": { +"description": "Expiration configs for the approval request.", +"id": "GoogleCloudIntegrationsV1alphaSuspensionApprovalExpiration", +"properties": { +"expireTime": { +"description": "Output only. Time after which the suspension expires, if no action taken.", +"format": "google-datetime", +"readOnly": true, +"type": "string" +}, +"liftWhenExpired": { +"description": "Whether the suspension will be REJECTED or LIFTED upon expiration. REJECTED is the default behavior.", +"type": "boolean" +}, +"remindTime": { +"description": "Time after the previous suspension action reminder, if any, is sent using the selected notification option, for a suspension which is still PENDING_UNSPECIFIED.", +"format": "google-datetime", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudIntegrationsV1alphaSuspensionAudit": { +"description": "Contains when and by whom the suspension was resolved.", +"id": "GoogleCloudIntegrationsV1alphaSuspensionAudit", +"properties": { +"resolveTime": { +"description": "Time at which this suspension was resolved.", +"format": "google-datetime", +"type": "string" +}, +"resolver": { +"description": "Email address of the person who resolved this suspension.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudIntegrationsV1alphaTakeoverEditLockRequest": { +"description": "Request for TakeoverEditLock.", +"id": "GoogleCloudIntegrationsV1alphaTakeoverEditLockRequest", +"properties": {}, +"type": "object" +}, +"GoogleCloudIntegrationsV1alphaTakeoverEditLockResponse": { +"description": "Response for TakeoverEditLock.", +"id": "GoogleCloudIntegrationsV1alphaTakeoverEditLockResponse", +"properties": { +"integrationVersion": { +"$ref": "GoogleCloudIntegrationsV1alphaIntegrationVersion", +"description": "Version after the lock is acquired by the new user." +} +}, +"type": "object" +}, +"GoogleCloudIntegrationsV1alphaTaskConfig": { +"description": "The task configuration details. This is not the implementation of Task. There might be multiple TaskConfigs for the same Task.", +"id": "GoogleCloudIntegrationsV1alphaTaskConfig", +"properties": { +"description": { +"description": "Optional. User-provided description intended to give additional business context about the task.", +"type": "string" +}, +"displayName": { +"description": "Optional. User-provided label that is attached to this TaskConfig in the UI.", +"type": "string" +}, +"errorCatcherId": { +"description": "Optional. Optional Error catcher id of the error catch flow which will be executed when execution error happens in the task", +"type": "string" +}, +"externalTaskType": { +"description": "Optional. External task type of the task", +"enum": [ +"EXTERNAL_TASK_TYPE_UNSPECIFIED", +"NORMAL_TASK", +"ERROR_TASK" +], +"enumDescriptions": [ +"Default value. External task type is not specified", +"Tasks belongs to the normal task flows", +"Task belongs to the error catch task flows" +], +"type": "string" +}, +"failurePolicy": { +"$ref": "GoogleCloudIntegrationsV1alphaFailurePolicy", +"description": "Optional. Determines the number of times the task will be retried on failure and with what retry strategy. This is applicable for asynchronous calls to Eventbus alone (Post To Queue, Schedule etc.)." +}, +"jsonValidationOption": { +"description": "Optional. If set, overrides the option configured in the Task implementation class.", +"enum": [ +"JSON_VALIDATION_OPTION_UNSPECIFIED", +"SKIP", +"PRE_EXECUTION", +"POST_EXECUTION", +"PRE_POST_EXECUTION" +], +"enumDescriptions": [ +"As per the default behavior, no validation will be run. Will not override any option set in a Task.", +"Do not run any validation against JSON schemas.", +"Validate all potential input JSON parameters against schemas specified in IntegrationParameter.", +"Validate all potential output JSON parameters against schemas specified in IntegrationParameter.", +"Perform both PRE_EXECUTION and POST_EXECUTION validations." +], +"type": "string" +}, +"nextTasks": { +"description": "Optional. The set of tasks that are next in line to be executed as per the execution graph defined for the parent event, specified by `event_config_id`. Each of these next tasks are executed only if the condition associated with them evaluates to true.", +"items": { +"$ref": "GoogleCloudIntegrationsV1alphaNextTask" +}, +"type": "array" +}, +"nextTasksExecutionPolicy": { +"description": "Optional. The policy dictating the execution of the next set of tasks for the current task.", +"enum": [ +"NEXT_TASKS_EXECUTION_POLICY_UNSPECIFIED", +"RUN_ALL_MATCH", +"RUN_FIRST_MATCH" +], +"enumDescriptions": [ +"Default.", +"Execute all the tasks that satisfy their associated condition.", +"Execute the first task that satisfies the associated condition." +], +"type": "string" +}, +"parameters": { +"additionalProperties": { +"$ref": "GoogleCloudIntegrationsV1alphaEventParameter" +}, +"description": "Optional. The customized parameters the user can pass to this task.", +"type": "object" +}, +"position": { +"$ref": "GoogleCloudIntegrationsV1alphaCoordinate", +"description": "Optional. Informs the front-end application where to draw this error catcher config on the UI." +}, +"successPolicy": { +"$ref": "GoogleCloudIntegrationsV1alphaSuccessPolicy", +"description": "Optional. Determines what action to take upon successful task completion." +}, +"synchronousCallFailurePolicy": { +"$ref": "GoogleCloudIntegrationsV1alphaFailurePolicy", +"description": "Optional. Determines the number of times the task will be retried on failure and with what retry strategy. This is applicable for synchronous calls to Eventbus alone (Post)." +}, +"task": { +"description": "Optional. The name for the task.", +"type": "string" +}, +"taskExecutionStrategy": { +"description": "Optional. The policy dictating the execution strategy of this task.", +"enum": [ +"TASK_EXECUTION_STRATEGY_UNSPECIFIED", +"WHEN_ALL_SUCCEED", +"WHEN_ANY_SUCCEED", +"WHEN_ALL_TASKS_AND_CONDITIONS_SUCCEED" +], +"enumDescriptions": [ +"Default. If the strategy is not set explicitly, it will default to `WHEN_ALL_SUCCEED`.", +"Wait until all of its previous tasks finished execution, then verify at least one of the edge conditions is met, and execute if possible. This should be considered as WHEN_ALL_TASKS_SUCCEED.", +"Start execution as long as any of its previous tasks finished execution and the corresponding edge condition is met (since we will execute if only that succeeding edge condition is met).", +"Wait until all of its previous tasks finished execution, then verify the all edge conditions are met and execute if possible." +], +"type": "string" +}, +"taskId": { +"description": "Required. The identifier of this task within its parent event config, specified by the client. This should be unique among all the tasks belong to the same event config. We use this field as the identifier to find next tasks (via field `next_tasks.task_id`).", +"type": "string" +}, +"taskTemplate": { +"description": "Optional. Used to define task-template name if task is of type task-template", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudIntegrationsV1alphaTaskExecutionDetails": { +"description": "Contains the details of the execution of this task.", +"id": "GoogleCloudIntegrationsV1alphaTaskExecutionDetails", +"properties": { +"taskAttemptStats": { +"description": "Status for the current task execution attempt.", +"items": { +"$ref": "GoogleCloudIntegrationsV1alphaAttemptStats" +}, +"type": "array" +}, +"taskExecutionState": { +"description": "The execution state of this task.", +"enum": [ +"TASK_EXECUTION_STATE_UNSPECIFIED", +"PENDING_EXECUTION", +"IN_PROCESS", +"SUCCEED", +"FAILED", +"FATAL", +"RETRY_ON_HOLD", +"SKIPPED", +"CANCELLED", +"PENDING_ROLLBACK", +"ROLLBACK_IN_PROCESS", +"ROLLEDBACK", +"SUSPENDED" +], +"enumDescriptions": [ +"Default value.", +"Task is waiting for its precondition tasks to finish to start the execution.", +"Task is under processing.", +"Task execution successfully finished. There's no more change after this state.", +"Task execution failed. There's no more change after this state.", +"Task execution failed and cause the whole integration execution to fail immediately. There's no more change after this state.", +"Task execution failed and waiting for retry.", +"Task execution skipped. This happens when its precondition wasn't met, or the integration execution been canceled before reach to the task. There's no more changes after this state.", +"Task execution canceled when in progress. This happens when integration execution been canceled or any other task fall in fatal state.", +"Task is waiting for its dependency tasks' rollback to finish to start its rollback.", +"Task is rolling back.", +"Task is rolled back. This is the state we will set regardless of rollback succeeding or failing.", +"Task is a SuspensionTask which has executed once, creating a pending suspension." +], +"type": "string" +}, +"taskNumber": { +"description": "Pointer to the task config it used for execution.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudIntegrationsV1alphaTriggerConfig": { +"description": "Configuration detail of a trigger.", +"id": "GoogleCloudIntegrationsV1alphaTriggerConfig", +"properties": { +"alertConfig": { +"description": "Optional. An alert threshold configuration for the [trigger + client + integration] tuple. If these values are not specified in the trigger config, default values will be populated by the system. Note that there must be exactly one alert threshold configured per [client + trigger + integration] when published.", +"items": { +"$ref": "GoogleCloudIntegrationsV1alphaIntegrationAlertConfig" +}, +"type": "array" +}, +"cloudSchedulerConfig": { +"$ref": "GoogleCloudIntegrationsV1alphaCloudSchedulerConfig", +"description": "Optional. Cloud Scheduler Trigger related metadata" +}, +"description": { +"description": "Optional. User-provided description intended to give additional business context about the task.", +"type": "string" +}, +"errorCatcherId": { +"description": "Optional. Optional Error catcher id of the error catch flow which will be executed when execution error happens in the task", +"type": "string" +}, +"label": { +"description": "Optional. The user created label for a particular trigger.", +"type": "string" +}, +"nextTasksExecutionPolicy": { +"description": "Optional. Dictates how next tasks will be executed.", +"enum": [ +"NEXT_TASKS_EXECUTION_POLICY_UNSPECIFIED", +"RUN_ALL_MATCH", +"RUN_FIRST_MATCH" +], +"enumDescriptions": [ +"Default.", +"Execute all the tasks that satisfy their associated condition.", +"Execute the first task that satisfies the associated condition." +], +"type": "string" +}, +"position": { +"$ref": "GoogleCloudIntegrationsV1alphaCoordinate", +"description": "Optional. Informs the front-end application where to draw this error catcher config on the UI." +}, +"properties": { +"additionalProperties": { +"type": "string" +}, +"description": "Optional. Configurable properties of the trigger, not to be confused with integration parameters. E.g. \"name\" is a property for API triggers and \"subscription\" is a property for Pub/sub triggers.", +"type": "object" +}, +"startTasks": { +"description": "Optional. Set of tasks numbers from where the integration execution is started by this trigger. If this is empty, then integration is executed with default start tasks. In the list of start tasks, none of two tasks can have direct ancestor-descendant relationships (i.e. in a same integration execution graph).", +"items": { +"$ref": "GoogleCloudIntegrationsV1alphaNextTask" +}, +"type": "array" +}, +"trigger": { +"description": "Optional. Name of the trigger. Example: \"API Trigger\", \"Cloud Pub Sub Trigger\" When set will be sent out to monitoring dashabord for tracking purpose.", +"type": "string" +}, +"triggerId": { +"description": "Optional. The backend trigger ID.", +"type": "string" +}, +"triggerNumber": { +"description": "Required. A number to uniquely identify each trigger config within the integration on UI.", +"type": "string" +}, +"triggerType": { +"description": "Optional. Type of trigger", +"enum": [ +"TRIGGER_TYPE_UNSPECIFIED", +"CRON", +"API", +"SFDC_CHANNEL", +"CLOUD_PUBSUB_EXTERNAL", +"SFDC_CDC_CHANNEL", +"CLOUD_SCHEDULER", +"INTEGRATION_CONNECTOR_TRIGGER", +"PRIVATE_TRIGGER" +], +"enumDescriptions": [ +"Unknown.", +"Trigger by scheduled time.", +"Trigger by API call.", +"Trigger by Salesforce Channel.", +"Trigger by Pub/Sub external.", +"SFDC Channel Trigger for CDC.", +"Trigger by Cloud Scheduler job.", +"Trigger by Connector Event", +"Trigger for private workflow" +], +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudIntegrationsV1alphaUnpublishIntegrationVersionRequest": { +"description": "Request for UnpublishIntegrationVersion.", +"id": "GoogleCloudIntegrationsV1alphaUnpublishIntegrationVersionRequest", +"properties": {}, +"type": "object" +}, +"GoogleCloudIntegrationsV1alphaUploadIntegrationVersionRequest": { +"description": "Request for UploadIntegrationVersion.", +"id": "GoogleCloudIntegrationsV1alphaUploadIntegrationVersionRequest", +"properties": { +"content": { +"description": "The textproto of the integration_version.", +"type": "string" +}, +"fileFormat": { +"description": "File format for upload request.", +"enum": [ +"FILE_FORMAT_UNSPECIFIED", +"JSON", +"YAML" +], +"enumDescriptions": [ +"Unspecified file format", +"JSON File Format", +"YAML File Format" +], +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudIntegrationsV1alphaUploadIntegrationVersionResponse": { +"description": "Response for UploadIntegrationVersion.", +"id": "GoogleCloudIntegrationsV1alphaUploadIntegrationVersionResponse", +"properties": { +"integrationVersion": { +"$ref": "GoogleCloudIntegrationsV1alphaIntegrationVersion", +"description": "The uploaded integration." +} +}, +"type": "object" +}, +"GoogleCloudIntegrationsV1alphaUsernameAndPassword": { +"description": "Username and password pair.", +"id": "GoogleCloudIntegrationsV1alphaUsernameAndPassword", +"properties": { +"password": { +"description": "Password to be used", +"type": "string" +}, +"username": { +"description": "Username to be used", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudIntegrationsV1alphaValueType": { +"description": "The type of the parameter.", +"id": "GoogleCloudIntegrationsV1alphaValueType", +"properties": { +"booleanArray": { +"$ref": "GoogleCloudIntegrationsV1alphaBooleanParameterArray", +"description": "Boolean Array." +}, +"booleanValue": { +"description": "Boolean.", +"type": "boolean" +}, +"doubleArray": { +"$ref": "GoogleCloudIntegrationsV1alphaDoubleParameterArray", +"description": "Double Number Array." +}, +"doubleValue": { +"description": "Double Number.", +"format": "double", +"type": "number" +}, +"intArray": { +"$ref": "GoogleCloudIntegrationsV1alphaIntParameterArray", +"description": "Integer Array." +}, +"intValue": { +"description": "Integer.", +"format": "int64", +"type": "string" +}, +"jsonValue": { +"description": "Json.", +"type": "string" +}, +"stringArray": { +"$ref": "GoogleCloudIntegrationsV1alphaStringParameterArray", +"description": "String Array." +}, +"stringValue": { +"description": "String.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleInternalCloudCrmEventbusV3PostToQueueWithTriggerIdRequest": { +"description": "LINT.IfChange Use this request to post all workflows associated with a given trigger id. Next available id: 13", +"id": "GoogleInternalCloudCrmEventbusV3PostToQueueWithTriggerIdRequest", +"properties": { +"clientId": { +"description": "Optional. If the client id is provided, then the combination of trigger id and client id is matched across all the workflows. If the client id is not provided, then workflows with matching trigger id are executed for each client id in the {@link TriggerConfig}. For Api Trigger, the client id is required and will be validated against the allowed clients.", +"type": "string" +}, +"ignoreErrorIfNoActiveWorkflow": { +"description": "Optional. Flag to determine whether clients would suppress a warning when no ACTIVE workflows are not found. If this flag is set to be true, an error will not be thrown if the requested trigger_id or client_id is not found in any ACTIVE workflow. Otherwise, the error is always thrown. The flag is set to be false by default.", +"type": "boolean" +}, +"parameters": { +"$ref": "EnterpriseCrmEventbusProtoEventParameters", +"description": "Passed in as parameters to each workflow execution. Optional." +}, +"priority": { +"description": "The request priority this request should be processed at. For internal users:", +"enum": [ +"UNSPCIFIED", +"SHEDDABLE", +"SHEDDABLE_PLUS", +"CRITICAL", +"CRITICAL_PLUS" +], +"enumDescriptions": [ +"Unspecified", +"Frequent partial and occasional full unavailability is expected and not pageable. * Requests to this band will be shed before all other requests. * This is the default for async calls sent from batch jobs.", +"Partial unavailability is expected and is not necessarily pageable. * Requests to this band will be shed before any critical traffic. * This is the default for async calls sent from production jobs.", +"Any outage is a pageable event. * During a production outage requests in this band will only be shed before CRITICAL_PLUS. * This is the default for sync calls sent from production jobs.", +"Any outage is a pageable event. * The guideline is for < 10% of requests to a service to be in this band. * During a production outage requests in this band will be prioritized above all others. * Opt-in to CRITICAL_PLUS when your workflow triggers by human." +], +"type": "string" +}, +"quotaRetryCount": { +"description": "Optional. This is a field to see the quota retry count for integration execution", +"format": "int32", +"type": "integer" +}, +"requestId": { +"description": "Optional. This is used to de-dup incoming request: if the duplicate request was detected, the response from the previous execution is returned. Must have no more than 36 characters and contain only alphanumeric characters and hyphens.", +"type": "string" +}, +"resourceName": { +"description": "This field is only required when using Admin Access. The resource name of target, or the parent resource name. For example: \"projects/*/locations/*/integrations/*\"", +"type": "string" +}, +"scheduledTime": { +"description": "Optional. Time in milliseconds since epoch when the given event would be scheduled.", +"format": "int64", +"type": "string" +}, +"testMode": { +"description": "Optional. Sets test mode in {@link enterprise/crm/eventbus/event_message.proto}.", +"type": "boolean" +}, +"triggerId": { +"description": "Matched against all {@link TriggerConfig}s across all workflows. i.e. TriggerConfig.trigger_id.equals(trigger_id) Required.", +"type": "string" +}, +"userGeneratedExecutionId": { +"description": "This is a unique id provided by the method caller. If provided this will be used as the execution_id when a new execution info is created. This is a string representation of a UUID. Must have no more than 36 characters and contain only alphanumeric characters and hyphens.", +"type": "string" +}, +"workflowName": { +"description": "Optional. If provided, the workflow_name is used to filter all the matched workflows having same trigger_id+client_id. A combination of trigger_id, client_id and workflow_name identifies a unique workflow.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleProtobufEmpty": { +"description": "A generic empty message that you can re-use to avoid defining duplicated empty messages in your APIs. A typical example is to use it as the request or the response type of an API method. For instance: service Foo { rpc Bar(google.protobuf.Empty) returns (google.protobuf.Empty); }", +"id": "GoogleProtobufEmpty", +"properties": {}, +"type": "object" +} +}, +"servicePath": "", +"title": "Application Integration API", +"version": "v1alpha", +"version_module": true +} \ No newline at end of file diff --git a/.venv/lib/python3.11/site-packages/googleapiclient/discovery_cache/documents/jobs.v4.json b/.venv/lib/python3.11/site-packages/googleapiclient/discovery_cache/documents/jobs.v4.json new file mode 100644 index 0000000000000000000000000000000000000000..04f1cb653b7653a98cb12ff4ecdd1cb4fe343238 --- /dev/null +++ b/.venv/lib/python3.11/site-packages/googleapiclient/discovery_cache/documents/jobs.v4.json @@ -0,0 +1,2924 @@ +{ +"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." +}, +"https://www.googleapis.com/auth/jobs": { +"description": "Manage job postings" +} +} +} +}, +"basePath": "", +"baseUrl": "https://jobs.googleapis.com/", +"batchPath": "batch", +"canonicalName": "Cloud Talent Solution", +"description": "Cloud Talent Solution provides the capability to create, read, update, and delete job postings, as well as search jobs based on keywords and filters. ", +"discoveryVersion": "v1", +"documentationLink": "https://cloud.google.com/talent-solution/job-search/docs/", +"fullyEncodeReservedExpansion": true, +"icons": { +"x16": "http://www.google.com/images/icons/product/search-16.gif", +"x32": "http://www.google.com/images/icons/product/search-32.gif" +}, +"id": "jobs:v4", +"kind": "discovery#restDescription", +"mtlsRootUrl": "https://jobs.mtls.googleapis.com/", +"name": "jobs", +"ownerDomain": "google.com", +"ownerName": "Google", +"parameters": { +"$.xgafv": { +"description": "V1 error format.", +"enum": [ +"1", +"2" +], +"enumDescriptions": [ +"v1 error format", +"v2 error format" +], +"location": "query", +"type": "string" +}, +"access_token": { +"description": "OAuth access token.", +"location": "query", +"type": "string" +}, +"alt": { +"default": "json", +"description": "Data format for response.", +"enum": [ +"json", +"media", +"proto" +], +"enumDescriptions": [ +"Responses with Content-Type of application/json", +"Media download with context-dependent Content-Type", +"Responses with Content-Type of application/x-protobuf" +], +"location": "query", +"type": "string" +}, +"callback": { +"description": "JSONP", +"location": "query", +"type": "string" +}, +"fields": { +"description": "Selector specifying which fields to include in a partial response.", +"location": "query", +"type": "string" +}, +"key": { +"description": "API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token.", +"location": "query", +"type": "string" +}, +"oauth_token": { +"description": "OAuth 2.0 token for the current user.", +"location": "query", +"type": "string" +}, +"prettyPrint": { +"default": "true", +"description": "Returns response with indentations and line breaks.", +"location": "query", +"type": "boolean" +}, +"quotaUser": { +"description": "Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters.", +"location": "query", +"type": "string" +}, +"uploadType": { +"description": "Legacy upload protocol for media (e.g. \"media\", \"multipart\").", +"location": "query", +"type": "string" +}, +"upload_protocol": { +"description": "Upload protocol for media (e.g. \"raw\", \"multipart\").", +"location": "query", +"type": "string" +} +}, +"protocol": "rest", +"resources": { +"projects": { +"resources": { +"operations": { +"methods": { +"get": { +"description": "Gets the latest state of a long-running operation. Clients can use this method to poll the operation result at intervals as recommended by the API service.", +"flatPath": "v4/projects/{projectsId}/operations/{operationsId}", +"httpMethod": "GET", +"id": "jobs.projects.operations.get", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "The name of the operation resource.", +"location": "path", +"pattern": "^projects/[^/]+/operations/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v4/{+name}", +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/jobs" +] +} +} +}, +"tenants": { +"methods": { +"completeQuery": { +"description": "Completes the specified prefix with keyword suggestions. Intended for use by a job search auto-complete search box.", +"flatPath": "v4/projects/{projectsId}/tenants/{tenantsId}:completeQuery", +"httpMethod": "GET", +"id": "jobs.projects.tenants.completeQuery", +"parameterOrder": [ +"tenant" +], +"parameters": { +"company": { +"description": "If provided, restricts completion to specified company. The format is \"projects/{project_id}/tenants/{tenant_id}/companies/{company_id}\", for example, \"projects/foo/tenants/bar/companies/baz\".", +"location": "query", +"type": "string" +}, +"languageCodes": { +"description": "The list of languages of the query. This is the BCP-47 language code, such as \"en-US\" or \"sr-Latn\". For more information, see [Tags for Identifying Languages](https://tools.ietf.org/html/bcp47). The maximum number of allowed characters is 255.", +"location": "query", +"repeated": true, +"type": "string" +}, +"pageSize": { +"description": "Required. Completion result count. The maximum allowed page size is 10.", +"format": "int32", +"location": "query", +"type": "integer" +}, +"query": { +"description": "Required. The query used to generate suggestions. The maximum number of allowed characters is 255.", +"location": "query", +"type": "string" +}, +"scope": { +"description": "The scope of the completion. The defaults is CompletionScope.PUBLIC.", +"enum": [ +"COMPLETION_SCOPE_UNSPECIFIED", +"TENANT", +"PUBLIC" +], +"enumDescriptions": [ +"Default value.", +"Suggestions are based only on the data provided by the client.", +"Suggestions are based on all jobs data in the system that's visible to the client" +], +"location": "query", +"type": "string" +}, +"tenant": { +"description": "Required. Resource name of tenant the completion is performed within. The format is \"projects/{project_id}/tenants/{tenant_id}\", for example, \"projects/foo/tenants/bar\".", +"location": "path", +"pattern": "^projects/[^/]+/tenants/[^/]+$", +"required": true, +"type": "string" +}, +"type": { +"description": "The completion topic. The default is CompletionType.COMBINED.", +"enum": [ +"COMPLETION_TYPE_UNSPECIFIED", +"JOB_TITLE", +"COMPANY_NAME", +"COMBINED" +], +"enumDescriptions": [ +"Default value.", +"Suggest job titles for jobs autocomplete. For CompletionType.JOB_TITLE type, only open jobs with the same language_codes are returned.", +"Suggest company names for jobs autocomplete. For CompletionType.COMPANY_NAME type, only companies having open jobs with the same language_codes are returned.", +"Suggest both job titles and company names for jobs autocomplete. For CompletionType.COMBINED type, only open jobs with the same language_codes or companies having open jobs with the same language_codes are returned." +], +"location": "query", +"type": "string" +} +}, +"path": "v4/{+tenant}:completeQuery", +"response": { +"$ref": "CompleteQueryResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/jobs" +] +}, +"create": { +"description": "Creates a new tenant entity.", +"flatPath": "v4/projects/{projectsId}/tenants", +"httpMethod": "POST", +"id": "jobs.projects.tenants.create", +"parameterOrder": [ +"parent" +], +"parameters": { +"parent": { +"description": "Required. Resource name of the project under which the tenant is created. The format is \"projects/{project_id}\", for example, \"projects/foo\".", +"location": "path", +"pattern": "^projects/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v4/{+parent}/tenants", +"request": { +"$ref": "Tenant" +}, +"response": { +"$ref": "Tenant" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/jobs" +] +}, +"delete": { +"description": "Deletes specified tenant.", +"flatPath": "v4/projects/{projectsId}/tenants/{tenantsId}", +"httpMethod": "DELETE", +"id": "jobs.projects.tenants.delete", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. The resource name of the tenant to be deleted. The format is \"projects/{project_id}/tenants/{tenant_id}\", for example, \"projects/foo/tenants/bar\".", +"location": "path", +"pattern": "^projects/[^/]+/tenants/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v4/{+name}", +"response": { +"$ref": "Empty" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/jobs" +] +}, +"get": { +"description": "Retrieves specified tenant.", +"flatPath": "v4/projects/{projectsId}/tenants/{tenantsId}", +"httpMethod": "GET", +"id": "jobs.projects.tenants.get", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. The resource name of the tenant to be retrieved. The format is \"projects/{project_id}/tenants/{tenant_id}\", for example, \"projects/foo/tenants/bar\".", +"location": "path", +"pattern": "^projects/[^/]+/tenants/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v4/{+name}", +"response": { +"$ref": "Tenant" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/jobs" +] +}, +"list": { +"description": "Lists all tenants associated with the project.", +"flatPath": "v4/projects/{projectsId}/tenants", +"httpMethod": "GET", +"id": "jobs.projects.tenants.list", +"parameterOrder": [ +"parent" +], +"parameters": { +"pageSize": { +"description": "The maximum number of tenants to be returned, at most 100. Default is 100 if a non-positive number is provided.", +"format": "int32", +"location": "query", +"type": "integer" +}, +"pageToken": { +"description": "The starting indicator from which to return results.", +"location": "query", +"type": "string" +}, +"parent": { +"description": "Required. Resource name of the project under which the tenant is created. The format is \"projects/{project_id}\", for example, \"projects/foo\".", +"location": "path", +"pattern": "^projects/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v4/{+parent}/tenants", +"response": { +"$ref": "ListTenantsResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/jobs" +] +}, +"patch": { +"description": "Updates specified tenant.", +"flatPath": "v4/projects/{projectsId}/tenants/{tenantsId}", +"httpMethod": "PATCH", +"id": "jobs.projects.tenants.patch", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required during tenant update. The resource name for a tenant. This is generated by the service when a tenant is created. The format is \"projects/{project_id}/tenants/{tenant_id}\", for example, \"projects/foo/tenants/bar\".", +"location": "path", +"pattern": "^projects/[^/]+/tenants/[^/]+$", +"required": true, +"type": "string" +}, +"updateMask": { +"description": "Strongly recommended for the best service experience. If update_mask is provided, only the specified fields in tenant are updated. Otherwise all the fields are updated. A field mask to specify the tenant fields to be updated. Only top level fields of Tenant are supported.", +"format": "google-fieldmask", +"location": "query", +"type": "string" +} +}, +"path": "v4/{+name}", +"request": { +"$ref": "Tenant" +}, +"response": { +"$ref": "Tenant" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/jobs" +] +} +}, +"resources": { +"clientEvents": { +"methods": { +"create": { +"description": "Report events issued when end user interacts with customer's application that uses Cloud Talent Solution. You may inspect the created events in [self service tools](https://console.cloud.google.com/talent-solution/overview). [Learn more](https://cloud.google.com/talent-solution/docs/management-tools) about self service tools.", +"flatPath": "v4/projects/{projectsId}/tenants/{tenantsId}/clientEvents", +"httpMethod": "POST", +"id": "jobs.projects.tenants.clientEvents.create", +"parameterOrder": [ +"parent" +], +"parameters": { +"parent": { +"description": "Required. Resource name of the tenant under which the event is created. The format is \"projects/{project_id}/tenants/{tenant_id}\", for example, \"projects/foo/tenants/bar\".", +"location": "path", +"pattern": "^projects/[^/]+/tenants/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v4/{+parent}/clientEvents", +"request": { +"$ref": "ClientEvent" +}, +"response": { +"$ref": "ClientEvent" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/jobs" +] +} +} +}, +"companies": { +"methods": { +"create": { +"description": "Creates a new company entity.", +"flatPath": "v4/projects/{projectsId}/tenants/{tenantsId}/companies", +"httpMethod": "POST", +"id": "jobs.projects.tenants.companies.create", +"parameterOrder": [ +"parent" +], +"parameters": { +"parent": { +"description": "Required. Resource name of the tenant under which the company is created. The format is \"projects/{project_id}/tenants/{tenant_id}\", for example, \"projects/foo/tenants/bar\".", +"location": "path", +"pattern": "^projects/[^/]+/tenants/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v4/{+parent}/companies", +"request": { +"$ref": "Company" +}, +"response": { +"$ref": "Company" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/jobs" +] +}, +"delete": { +"description": "Deletes specified company. Prerequisite: The company has no jobs associated with it.", +"flatPath": "v4/projects/{projectsId}/tenants/{tenantsId}/companies/{companiesId}", +"httpMethod": "DELETE", +"id": "jobs.projects.tenants.companies.delete", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. The resource name of the company to be deleted. The format is \"projects/{project_id}/tenants/{tenant_id}/companies/{company_id}\", for example, \"projects/foo/tenants/bar/companies/baz\".", +"location": "path", +"pattern": "^projects/[^/]+/tenants/[^/]+/companies/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v4/{+name}", +"response": { +"$ref": "Empty" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/jobs" +] +}, +"get": { +"description": "Retrieves specified company.", +"flatPath": "v4/projects/{projectsId}/tenants/{tenantsId}/companies/{companiesId}", +"httpMethod": "GET", +"id": "jobs.projects.tenants.companies.get", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. The resource name of the company to be retrieved. The format is \"projects/{project_id}/tenants/{tenant_id}/companies/{company_id}\", for example, \"projects/api-test-project/tenants/foo/companies/bar\".", +"location": "path", +"pattern": "^projects/[^/]+/tenants/[^/]+/companies/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v4/{+name}", +"response": { +"$ref": "Company" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/jobs" +] +}, +"list": { +"description": "Lists all companies associated with the project.", +"flatPath": "v4/projects/{projectsId}/tenants/{tenantsId}/companies", +"httpMethod": "GET", +"id": "jobs.projects.tenants.companies.list", +"parameterOrder": [ +"parent" +], +"parameters": { +"pageSize": { +"description": "The maximum number of companies to be returned, at most 100. Default is 100 if a non-positive number is provided.", +"format": "int32", +"location": "query", +"type": "integer" +}, +"pageToken": { +"description": "The starting indicator from which to return results.", +"location": "query", +"type": "string" +}, +"parent": { +"description": "Required. Resource name of the tenant under which the company is created. The format is \"projects/{project_id}/tenants/{tenant_id}\", for example, \"projects/foo/tenants/bar\".", +"location": "path", +"pattern": "^projects/[^/]+/tenants/[^/]+$", +"required": true, +"type": "string" +}, +"requireOpenJobs": { +"description": "Set to true if the companies requested must have open jobs. Defaults to false. If true, at most page_size of companies are fetched, among which only those with open jobs are returned.", +"location": "query", +"type": "boolean" +} +}, +"path": "v4/{+parent}/companies", +"response": { +"$ref": "ListCompaniesResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/jobs" +] +}, +"patch": { +"description": "Updates specified company.", +"flatPath": "v4/projects/{projectsId}/tenants/{tenantsId}/companies/{companiesId}", +"httpMethod": "PATCH", +"id": "jobs.projects.tenants.companies.patch", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required during company update. The resource name for a company. This is generated by the service when a company is created. The format is \"projects/{project_id}/tenants/{tenant_id}/companies/{company_id}\", for example, \"projects/foo/tenants/bar/companies/baz\".", +"location": "path", +"pattern": "^projects/[^/]+/tenants/[^/]+/companies/[^/]+$", +"required": true, +"type": "string" +}, +"updateMask": { +"description": "Strongly recommended for the best service experience. If update_mask is provided, only the specified fields in company are updated. Otherwise all the fields are updated. A field mask to specify the company fields to be updated. Only top level fields of Company are supported.", +"format": "google-fieldmask", +"location": "query", +"type": "string" +} +}, +"path": "v4/{+name}", +"request": { +"$ref": "Company" +}, +"response": { +"$ref": "Company" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/jobs" +] +} +} +}, +"jobs": { +"methods": { +"batchCreate": { +"description": "Begins executing a batch create jobs operation.", +"flatPath": "v4/projects/{projectsId}/tenants/{tenantsId}/jobs:batchCreate", +"httpMethod": "POST", +"id": "jobs.projects.tenants.jobs.batchCreate", +"parameterOrder": [ +"parent" +], +"parameters": { +"parent": { +"description": "Required. The resource name of the tenant under which the job is created. The format is \"projects/{project_id}/tenants/{tenant_id}\". For example, \"projects/foo/tenants/bar\".", +"location": "path", +"pattern": "^projects/[^/]+/tenants/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v4/{+parent}/jobs:batchCreate", +"request": { +"$ref": "BatchCreateJobsRequest" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/jobs" +] +}, +"batchDelete": { +"description": "Begins executing a batch delete jobs operation.", +"flatPath": "v4/projects/{projectsId}/tenants/{tenantsId}/jobs:batchDelete", +"httpMethod": "POST", +"id": "jobs.projects.tenants.jobs.batchDelete", +"parameterOrder": [ +"parent" +], +"parameters": { +"parent": { +"description": "Required. The resource name of the tenant under which the job is created. The format is \"projects/{project_id}/tenants/{tenant_id}\". For example, \"projects/foo/tenants/bar\". The parent of all of the jobs specified in `names` must match this field.", +"location": "path", +"pattern": "^projects/[^/]+/tenants/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v4/{+parent}/jobs:batchDelete", +"request": { +"$ref": "BatchDeleteJobsRequest" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/jobs" +] +}, +"batchUpdate": { +"description": "Begins executing a batch update jobs operation.", +"flatPath": "v4/projects/{projectsId}/tenants/{tenantsId}/jobs:batchUpdate", +"httpMethod": "POST", +"id": "jobs.projects.tenants.jobs.batchUpdate", +"parameterOrder": [ +"parent" +], +"parameters": { +"parent": { +"description": "Required. The resource name of the tenant under which the job is created. The format is \"projects/{project_id}/tenants/{tenant_id}\". For example, \"projects/foo/tenants/bar\".", +"location": "path", +"pattern": "^projects/[^/]+/tenants/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v4/{+parent}/jobs:batchUpdate", +"request": { +"$ref": "BatchUpdateJobsRequest" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/jobs" +] +}, +"create": { +"description": "Creates a new job. Typically, the job becomes searchable within 10 seconds, but it may take up to 5 minutes.", +"flatPath": "v4/projects/{projectsId}/tenants/{tenantsId}/jobs", +"httpMethod": "POST", +"id": "jobs.projects.tenants.jobs.create", +"parameterOrder": [ +"parent" +], +"parameters": { +"parent": { +"description": "Required. The resource name of the tenant under which the job is created. The format is \"projects/{project_id}/tenants/{tenant_id}\". For example, \"projects/foo/tenants/bar\".", +"location": "path", +"pattern": "^projects/[^/]+/tenants/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v4/{+parent}/jobs", +"request": { +"$ref": "Job" +}, +"response": { +"$ref": "Job" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/jobs" +] +}, +"delete": { +"description": "Deletes the specified job. Typically, the job becomes unsearchable within 10 seconds, but it may take up to 5 minutes.", +"flatPath": "v4/projects/{projectsId}/tenants/{tenantsId}/jobs/{jobsId}", +"httpMethod": "DELETE", +"id": "jobs.projects.tenants.jobs.delete", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. The resource name of the job to be deleted. The format is \"projects/{project_id}/tenants/{tenant_id}/jobs/{job_id}\". For example, \"projects/foo/tenants/bar/jobs/baz\".", +"location": "path", +"pattern": "^projects/[^/]+/tenants/[^/]+/jobs/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v4/{+name}", +"response": { +"$ref": "Empty" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/jobs" +] +}, +"get": { +"description": "Retrieves the specified job, whose status is OPEN or recently EXPIRED within the last 90 days.", +"flatPath": "v4/projects/{projectsId}/tenants/{tenantsId}/jobs/{jobsId}", +"httpMethod": "GET", +"id": "jobs.projects.tenants.jobs.get", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. The resource name of the job to retrieve. The format is \"projects/{project_id}/tenants/{tenant_id}/jobs/{job_id}\". For example, \"projects/foo/tenants/bar/jobs/baz\".", +"location": "path", +"pattern": "^projects/[^/]+/tenants/[^/]+/jobs/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v4/{+name}", +"response": { +"$ref": "Job" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/jobs" +] +}, +"list": { +"description": "Lists jobs by filter.", +"flatPath": "v4/projects/{projectsId}/tenants/{tenantsId}/jobs", +"httpMethod": "GET", +"id": "jobs.projects.tenants.jobs.list", +"parameterOrder": [ +"parent" +], +"parameters": { +"filter": { +"description": "Required. The filter string specifies the jobs to be enumerated. Supported operator: =, AND The fields eligible for filtering are: * `companyName` * `requisitionId` * `status` Available values: OPEN, EXPIRED, ALL. Defaults to OPEN if no value is specified. At least one of `companyName` and `requisitionId` must present or an INVALID_ARGUMENT error is thrown. Sample Query: * companyName = \"projects/foo/tenants/bar/companies/baz\" * companyName = \"projects/foo/tenants/bar/companies/baz\" AND requisitionId = \"req-1\" * companyName = \"projects/foo/tenants/bar/companies/baz\" AND status = \"EXPIRED\" * requisitionId = \"req-1\" * requisitionId = \"req-1\" AND status = \"EXPIRED\"", +"location": "query", +"type": "string" +}, +"jobView": { +"description": "The desired job attributes returned for jobs in the search response. Defaults to JobView.JOB_VIEW_FULL if no value is specified.", +"enum": [ +"JOB_VIEW_UNSPECIFIED", +"JOB_VIEW_ID_ONLY", +"JOB_VIEW_MINIMAL", +"JOB_VIEW_SMALL", +"JOB_VIEW_FULL" +], +"enumDescriptions": [ +"Default value.", +"A ID only view of job, with following attributes: Job.name, Job.requisition_id, Job.language_code.", +"A minimal view of the job, with the following attributes: Job.name, Job.requisition_id, Job.title, Job.company, Job.DerivedInfo.locations, Job.language_code.", +"A small view of the job, with the following attributes in the search results: Job.name, Job.requisition_id, Job.title, Job.company, Job.DerivedInfo.locations, Job.visibility, Job.language_code, Job.description.", +"All available attributes are included in the search results." +], +"location": "query", +"type": "string" +}, +"pageSize": { +"description": "The maximum number of jobs to be returned per page of results. If job_view is set to JobView.JOB_VIEW_ID_ONLY, the maximum allowed page size is 1000. Otherwise, the maximum allowed page size is 100. Default is 100 if empty or a number < 1 is specified.", +"format": "int32", +"location": "query", +"type": "integer" +}, +"pageToken": { +"description": "The starting point of a query result.", +"location": "query", +"type": "string" +}, +"parent": { +"description": "Required. The resource name of the tenant under which the job is created. The format is \"projects/{project_id}/tenants/{tenant_id}\". For example, \"projects/foo/tenants/bar\".", +"location": "path", +"pattern": "^projects/[^/]+/tenants/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v4/{+parent}/jobs", +"response": { +"$ref": "ListJobsResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/jobs" +] +}, +"patch": { +"description": "Updates specified job. Typically, updated contents become visible in search results within 10 seconds, but it may take up to 5 minutes.", +"flatPath": "v4/projects/{projectsId}/tenants/{tenantsId}/jobs/{jobsId}", +"httpMethod": "PATCH", +"id": "jobs.projects.tenants.jobs.patch", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required during job update. The resource name for the job. This is generated by the service when a job is created. The format is \"projects/{project_id}/tenants/{tenant_id}/jobs/{job_id}\". For example, \"projects/foo/tenants/bar/jobs/baz\". Use of this field in job queries and API calls is preferred over the use of requisition_id since this value is unique.", +"location": "path", +"pattern": "^projects/[^/]+/tenants/[^/]+/jobs/[^/]+$", +"required": true, +"type": "string" +}, +"updateMask": { +"description": "Strongly recommended for the best service experience. If update_mask is provided, only the specified fields in job are updated. Otherwise all the fields are updated. A field mask to restrict the fields that are updated. Only top level fields of Job are supported.", +"format": "google-fieldmask", +"location": "query", +"type": "string" +} +}, +"path": "v4/{+name}", +"request": { +"$ref": "Job" +}, +"response": { +"$ref": "Job" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/jobs" +] +}, +"search": { +"description": "Searches for jobs using the provided SearchJobsRequest. This call constrains the visibility of jobs present in the database, and only returns jobs that the caller has permission to search against.", +"flatPath": "v4/projects/{projectsId}/tenants/{tenantsId}/jobs:search", +"httpMethod": "POST", +"id": "jobs.projects.tenants.jobs.search", +"parameterOrder": [ +"parent" +], +"parameters": { +"parent": { +"description": "Required. The resource name of the tenant to search within. The format is \"projects/{project_id}/tenants/{tenant_id}\". For example, \"projects/foo/tenants/bar\".", +"location": "path", +"pattern": "^projects/[^/]+/tenants/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v4/{+parent}/jobs:search", +"request": { +"$ref": "SearchJobsRequest" +}, +"response": { +"$ref": "SearchJobsResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/jobs" +] +}, +"searchForAlert": { +"description": "Searches for jobs using the provided SearchJobsRequest. This API call is intended for the use case of targeting passive job seekers (for example, job seekers who have signed up to receive email alerts about potential job opportunities), it has different algorithmic adjustments that are designed to specifically target passive job seekers. This call constrains the visibility of jobs present in the database, and only returns jobs the caller has permission to search against.", +"flatPath": "v4/projects/{projectsId}/tenants/{tenantsId}/jobs:searchForAlert", +"httpMethod": "POST", +"id": "jobs.projects.tenants.jobs.searchForAlert", +"parameterOrder": [ +"parent" +], +"parameters": { +"parent": { +"description": "Required. The resource name of the tenant to search within. The format is \"projects/{project_id}/tenants/{tenant_id}\". For example, \"projects/foo/tenants/bar\".", +"location": "path", +"pattern": "^projects/[^/]+/tenants/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v4/{+parent}/jobs:searchForAlert", +"request": { +"$ref": "SearchJobsRequest" +}, +"response": { +"$ref": "SearchJobsResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/jobs" +] +} +} +} +} +} +} +} +}, +"revision": "20241217", +"rootUrl": "https://jobs.googleapis.com/", +"schemas": { +"ApplicationInfo": { +"description": "Application related details of a job posting.", +"id": "ApplicationInfo", +"properties": { +"emails": { +"description": "Use this field to specify email address(es) to which resumes or applications can be sent. The maximum number of allowed characters for each entry is 255.", +"items": { +"type": "string" +}, +"type": "array" +}, +"instruction": { +"description": "Use this field to provide instructions, such as \"Mail your application to ...\", that a candidate can follow to apply for the job. This field accepts and sanitizes HTML input, and also accepts bold, italic, ordered list, and unordered list markup tags. The maximum number of allowed characters is 3,000.", +"type": "string" +}, +"uris": { +"description": "Use this URI field to direct an applicant to a website, for example to link to an online application form. The maximum number of allowed characters for each entry is 2,000.", +"items": { +"type": "string" +}, +"type": "array" +} +}, +"type": "object" +}, +"BatchCreateJobsRequest": { +"description": "Request to create a batch of jobs.", +"id": "BatchCreateJobsRequest", +"properties": { +"jobs": { +"description": "Required. The jobs to be created. A maximum of 200 jobs can be created in a batch.", +"items": { +"$ref": "Job" +}, +"type": "array" +} +}, +"type": "object" +}, +"BatchCreateJobsResponse": { +"description": "The result of JobService.BatchCreateJobs. It's used to replace google.longrunning.Operation.response in case of success.", +"id": "BatchCreateJobsResponse", +"properties": { +"jobResults": { +"description": "List of job mutation results from a batch create operation. It can change until operation status is FINISHED, FAILED or CANCELLED.", +"items": { +"$ref": "JobResult" +}, +"type": "array" +} +}, +"type": "object" +}, +"BatchDeleteJobsRequest": { +"description": "Request to delete a batch of jobs.", +"id": "BatchDeleteJobsRequest", +"properties": { +"names": { +"description": "The names of the jobs to delete. The format is \"projects/{project_id}/tenants/{tenant_id}/jobs/{job_id}\". For example, \"projects/foo/tenants/bar/jobs/baz\". A maximum of 200 jobs can be deleted in a batch.", +"items": { +"type": "string" +}, +"type": "array" +} +}, +"type": "object" +}, +"BatchDeleteJobsResponse": { +"description": "The result of JobService.BatchDeleteJobs. It's used to replace google.longrunning.Operation.response in case of success.", +"id": "BatchDeleteJobsResponse", +"properties": { +"jobResults": { +"description": "List of job mutation results from a batch delete operation. It can change until operation status is FINISHED, FAILED or CANCELLED.", +"items": { +"$ref": "JobResult" +}, +"type": "array" +} +}, +"type": "object" +}, +"BatchOperationMetadata": { +"description": "Metadata used for long running operations returned by CTS batch APIs. It's used to replace google.longrunning.Operation.metadata.", +"id": "BatchOperationMetadata", +"properties": { +"createTime": { +"description": "The time when the batch operation is created.", +"format": "google-datetime", +"type": "string" +}, +"endTime": { +"description": "The time when the batch operation is finished and google.longrunning.Operation.done is set to `true`.", +"format": "google-datetime", +"type": "string" +}, +"failureCount": { +"description": "Count of failed item(s) inside an operation.", +"format": "int32", +"type": "integer" +}, +"state": { +"description": "The state of a long running operation.", +"enum": [ +"STATE_UNSPECIFIED", +"INITIALIZING", +"PROCESSING", +"SUCCEEDED", +"FAILED", +"CANCELLING", +"CANCELLED" +], +"enumDescriptions": [ +"Default value.", +"The batch operation is being prepared for processing.", +"The batch operation is actively being processed.", +"The batch operation is processed, and at least one item has been successfully processed.", +"The batch operation is done and no item has been successfully processed.", +"The batch operation is in the process of cancelling after google.longrunning.Operations.CancelOperation is called.", +"The batch operation is done after google.longrunning.Operations.CancelOperation is called. Any items processed before cancelling are returned in the response." +], +"type": "string" +}, +"stateDescription": { +"description": "More detailed information about operation state.", +"type": "string" +}, +"successCount": { +"description": "Count of successful item(s) inside an operation.", +"format": "int32", +"type": "integer" +}, +"totalCount": { +"description": "Count of total item(s) inside an operation.", +"format": "int32", +"type": "integer" +}, +"updateTime": { +"description": "The time when the batch operation status is updated. The metadata and the update_time is refreshed every minute otherwise cached data is returned.", +"format": "google-datetime", +"type": "string" +} +}, +"type": "object" +}, +"BatchUpdateJobsRequest": { +"description": "Request to update a batch of jobs.", +"id": "BatchUpdateJobsRequest", +"properties": { +"jobs": { +"description": "Required. The jobs to be updated. A maximum of 200 jobs can be updated in a batch.", +"items": { +"$ref": "Job" +}, +"type": "array" +}, +"updateMask": { +"description": "Strongly recommended for the best service experience. Be aware that it will also increase latency when checking the status of a batch operation. If update_mask is provided, only the specified fields in Job are updated. Otherwise all the fields are updated. A field mask to restrict the fields that are updated. Only top level fields of Job are supported. If update_mask is provided, The Job inside JobResult will only contains fields that is updated, plus the Id of the Job. Otherwise, Job will include all fields, which can yield a very large response.", +"format": "google-fieldmask", +"type": "string" +} +}, +"type": "object" +}, +"BatchUpdateJobsResponse": { +"description": "The result of JobService.BatchUpdateJobs. It's used to replace google.longrunning.Operation.response in case of success.", +"id": "BatchUpdateJobsResponse", +"properties": { +"jobResults": { +"description": "List of job mutation results from a batch update operation. It can change until operation status is FINISHED, FAILED or CANCELLED.", +"items": { +"$ref": "JobResult" +}, +"type": "array" +} +}, +"type": "object" +}, +"ClientEvent": { +"description": "An event issued when an end user interacts with the application that implements Cloud Talent Solution. Providing this information improves the quality of results for the API clients, enabling the service to perform optimally. The number of events sent must be consistent with other calls, such as job searches, issued to the service by the client.", +"id": "ClientEvent", +"properties": { +"createTime": { +"description": "Required. The timestamp of the event.", +"format": "google-datetime", +"type": "string" +}, +"eventId": { +"description": "Required. A unique identifier, generated by the client application.", +"type": "string" +}, +"eventNotes": { +"description": "Notes about the event provided by recruiters or other users, for example, feedback on why a job was bookmarked.", +"type": "string" +}, +"jobEvent": { +"$ref": "JobEvent", +"description": "An event issued when a job seeker interacts with the application that implements Cloud Talent Solution." +}, +"requestId": { +"description": "Strongly recommended for the best service experience. A unique ID generated in the API responses. It can be found in ResponseMetadata.request_id.", +"type": "string" +} +}, +"type": "object" +}, +"CommuteFilter": { +"description": "Parameters needed for commute search.", +"id": "CommuteFilter", +"properties": { +"allowImpreciseAddresses": { +"description": "If `true`, jobs without street level addresses may also be returned. For city level addresses, the city center is used. For state and coarser level addresses, text matching is used. If this field is set to `false` or isn't specified, only jobs that include street level addresses will be returned by commute search.", +"type": "boolean" +}, +"commuteMethod": { +"description": "Required. The method of transportation to calculate the commute time for.", +"enum": [ +"COMMUTE_METHOD_UNSPECIFIED", +"DRIVING", +"TRANSIT", +"WALKING", +"CYCLING", +"TRANSIT_ACCESSIBLE" +], +"enumDescriptions": [ +"Commute method isn't specified.", +"Commute time is calculated based on driving time.", +"Commute time is calculated based on public transit including bus, metro, subway, and so on.", +"Commute time is calculated based on walking time.", +"Commute time is calculated based on biking time.", +"Commute time is calculated based on public transit that is wheelchair accessible." +], +"type": "string" +}, +"departureTime": { +"$ref": "TimeOfDay", +"description": "The departure time used to calculate traffic impact, represented as google.type.TimeOfDay in local time zone. Currently traffic model is restricted to hour level resolution." +}, +"roadTraffic": { +"description": "Specifies the traffic density to use when calculating commute time.", +"enum": [ +"ROAD_TRAFFIC_UNSPECIFIED", +"TRAFFIC_FREE", +"BUSY_HOUR" +], +"enumDescriptions": [ +"Road traffic situation isn't specified.", +"Optimal commute time without considering any traffic impact.", +"Commute time calculation takes in account the peak traffic impact." +], +"type": "string" +}, +"startCoordinates": { +"$ref": "LatLng", +"description": "Required. The latitude and longitude of the location to calculate the commute time from." +}, +"travelDuration": { +"description": "Required. The maximum travel time in seconds. The maximum allowed value is `3600s` (one hour). Format is `123s`.", +"format": "google-duration", +"type": "string" +} +}, +"type": "object" +}, +"CommuteInfo": { +"description": "Commute details related to this job.", +"id": "CommuteInfo", +"properties": { +"jobLocation": { +"$ref": "Location", +"description": "Location used as the destination in the commute calculation." +}, +"travelDuration": { +"description": "The number of seconds required to travel to the job location from the query location. A duration of 0 seconds indicates that the job isn't reachable within the requested duration, but was returned as part of an expanded query.", +"format": "google-duration", +"type": "string" +} +}, +"type": "object" +}, +"Company": { +"description": "A Company resource represents a company in the service. A company is the entity that owns job postings, that is, the hiring entity responsible for employing applicants for the job position.", +"id": "Company", +"properties": { +"careerSiteUri": { +"description": "The URI to employer's career site or careers page on the employer's web site, for example, \"https://careers.google.com\".", +"type": "string" +}, +"derivedInfo": { +"$ref": "CompanyDerivedInfo", +"description": "Output only. Derived details about the company.", +"readOnly": true +}, +"displayName": { +"description": "Required. The display name of the company, for example, \"Google LLC\".", +"type": "string" +}, +"eeoText": { +"description": "Equal Employment Opportunity legal disclaimer text to be associated with all jobs, and typically to be displayed in all roles. The maximum number of allowed characters is 500.", +"type": "string" +}, +"externalId": { +"description": "Required. Client side company identifier, used to uniquely identify the company. The maximum number of allowed characters is 255.", +"type": "string" +}, +"headquartersAddress": { +"description": "The street address of the company's main headquarters, which may be different from the job location. The service attempts to geolocate the provided address, and populates a more specific location wherever possible in DerivedInfo.headquarters_location.", +"type": "string" +}, +"hiringAgency": { +"description": "Set to true if it is the hiring agency that post jobs for other employers. Defaults to false if not provided.", +"type": "boolean" +}, +"imageUri": { +"description": "A URI that hosts the employer's company logo.", +"type": "string" +}, +"keywordSearchableJobCustomAttributes": { +"deprecated": true, +"description": "This field is deprecated. Please set the searchability of the custom attribute in the Job.custom_attributes going forward. A list of keys of filterable Job.custom_attributes, whose corresponding `string_values` are used in keyword searches. Jobs with `string_values` under these specified field keys are returned if any of the values match the search keyword. Custom field values with parenthesis, brackets and special symbols are not searchable as-is, and those keyword queries must be surrounded by quotes.", +"items": { +"type": "string" +}, +"type": "array" +}, +"name": { +"description": "Required during company update. The resource name for a company. This is generated by the service when a company is created. The format is \"projects/{project_id}/tenants/{tenant_id}/companies/{company_id}\", for example, \"projects/foo/tenants/bar/companies/baz\".", +"type": "string" +}, +"size": { +"description": "The employer's company size.", +"enum": [ +"COMPANY_SIZE_UNSPECIFIED", +"MINI", +"SMALL", +"SMEDIUM", +"MEDIUM", +"BIG", +"BIGGER", +"GIANT" +], +"enumDescriptions": [ +"Default value if the size isn't specified.", +"The company has less than 50 employees.", +"The company has between 50 and 99 employees.", +"The company has between 100 and 499 employees.", +"The company has between 500 and 999 employees.", +"The company has between 1,000 and 4,999 employees.", +"The company has between 5,000 and 9,999 employees.", +"The company has 10,000 or more employees." +], +"type": "string" +}, +"suspended": { +"description": "Output only. Indicates whether a company is flagged to be suspended from public availability by the service when job content appears suspicious, abusive, or spammy.", +"readOnly": true, +"type": "boolean" +}, +"websiteUri": { +"description": "The URI representing the company's primary web site or home page, for example, \"https://www.google.com\". The maximum number of allowed characters is 255.", +"type": "string" +} +}, +"type": "object" +}, +"CompanyDerivedInfo": { +"description": "Derived details about the company.", +"id": "CompanyDerivedInfo", +"properties": { +"headquartersLocation": { +"$ref": "Location", +"description": "A structured headquarters location of the company, resolved from Company.headquarters_address if provided." +} +}, +"type": "object" +}, +"CompensationEntry": { +"description": "A compensation entry that represents one component of compensation, such as base pay, bonus, or other compensation type. Annualization: One compensation entry can be annualized if - it contains valid amount or range. - and its expected_units_per_year is set or can be derived. Its annualized range is determined as (amount or range) times expected_units_per_year.", +"id": "CompensationEntry", +"properties": { +"amount": { +"$ref": "Money", +"description": "Compensation amount." +}, +"description": { +"description": "Compensation description. For example, could indicate equity terms or provide additional context to an estimated bonus.", +"type": "string" +}, +"expectedUnitsPerYear": { +"description": "Expected number of units paid each year. If not specified, when Job.employment_types is FULLTIME, a default value is inferred based on unit. Default values: - HOURLY: 2080 - DAILY: 260 - WEEKLY: 52 - MONTHLY: 12 - ANNUAL: 1", +"format": "double", +"type": "number" +}, +"range": { +"$ref": "CompensationRange", +"description": "Compensation range." +}, +"type": { +"description": "Compensation type. Default is CompensationType.COMPENSATION_TYPE_UNSPECIFIED.", +"enum": [ +"COMPENSATION_TYPE_UNSPECIFIED", +"BASE", +"BONUS", +"SIGNING_BONUS", +"EQUITY", +"PROFIT_SHARING", +"COMMISSIONS", +"TIPS", +"OTHER_COMPENSATION_TYPE" +], +"enumDescriptions": [ +"Default value.", +"Base compensation: Refers to the fixed amount of money paid to an employee by an employer in return for work performed. Base compensation does not include benefits, bonuses or any other potential compensation from an employer.", +"Bonus.", +"Signing bonus.", +"Equity.", +"Profit sharing.", +"Commission.", +"Tips.", +"Other compensation type." +], +"type": "string" +}, +"unit": { +"description": "Frequency of the specified amount. Default is CompensationUnit.COMPENSATION_UNIT_UNSPECIFIED.", +"enum": [ +"COMPENSATION_UNIT_UNSPECIFIED", +"HOURLY", +"DAILY", +"WEEKLY", +"MONTHLY", +"YEARLY", +"ONE_TIME", +"OTHER_COMPENSATION_UNIT" +], +"enumDescriptions": [ +"Default value.", +"Hourly.", +"Daily.", +"Weekly", +"Monthly.", +"Yearly.", +"One time.", +"Other compensation units." +], +"type": "string" +} +}, +"type": "object" +}, +"CompensationFilter": { +"description": "Filter on job compensation type and amount.", +"id": "CompensationFilter", +"properties": { +"includeJobsWithUnspecifiedCompensationRange": { +"description": "If set to true, jobs with unspecified compensation range fields are included.", +"type": "boolean" +}, +"range": { +"$ref": "CompensationRange", +"description": "Compensation range." +}, +"type": { +"description": "Required. Type of filter.", +"enum": [ +"FILTER_TYPE_UNSPECIFIED", +"UNIT_ONLY", +"UNIT_AND_AMOUNT", +"ANNUALIZED_BASE_AMOUNT", +"ANNUALIZED_TOTAL_AMOUNT" +], +"enumDescriptions": [ +"Filter type unspecified. Position holder, INVALID, should never be used.", +"Filter by `base compensation entry's` unit. A job is a match if and only if the job contains a base CompensationEntry and the base CompensationEntry's unit matches provided units. Populate one or more units. See CompensationInfo.CompensationEntry for definition of base compensation entry.", +"Filter by `base compensation entry's` unit and amount / range. A job is a match if and only if the job contains a base CompensationEntry, and the base entry's unit matches provided CompensationUnit and amount or range overlaps with provided CompensationRange. See CompensationInfo.CompensationEntry for definition of base compensation entry. Set exactly one units and populate range.", +"Filter by annualized base compensation amount and `base compensation entry's` unit. Populate range and zero or more units.", +"Filter by annualized total compensation amount and `base compensation entry's` unit . Populate range and zero or more units." +], +"type": "string" +}, +"units": { +"description": "Required. Specify desired `base compensation entry's` CompensationInfo.CompensationUnit.", +"items": { +"enum": [ +"COMPENSATION_UNIT_UNSPECIFIED", +"HOURLY", +"DAILY", +"WEEKLY", +"MONTHLY", +"YEARLY", +"ONE_TIME", +"OTHER_COMPENSATION_UNIT" +], +"enumDescriptions": [ +"Default value.", +"Hourly.", +"Daily.", +"Weekly", +"Monthly.", +"Yearly.", +"One time.", +"Other compensation units." +], +"type": "string" +}, +"type": "array" +} +}, +"type": "object" +}, +"CompensationInfo": { +"description": "Job compensation details.", +"id": "CompensationInfo", +"properties": { +"annualizedBaseCompensationRange": { +"$ref": "CompensationRange", +"description": "Output only. Annualized base compensation range. Computed as base compensation entry's CompensationEntry.amount times CompensationEntry.expected_units_per_year. See CompensationEntry for explanation on compensation annualization.", +"readOnly": true +}, +"annualizedTotalCompensationRange": { +"$ref": "CompensationRange", +"description": "Output only. Annualized total compensation range. Computed as all compensation entries' CompensationEntry.amount times CompensationEntry.expected_units_per_year. See CompensationEntry for explanation on compensation annualization.", +"readOnly": true +}, +"entries": { +"description": "Job compensation information. At most one entry can be of type CompensationInfo.CompensationType.BASE, which is referred as **base compensation entry** for the job.", +"items": { +"$ref": "CompensationEntry" +}, +"type": "array" +} +}, +"type": "object" +}, +"CompensationRange": { +"description": "Compensation range.", +"id": "CompensationRange", +"properties": { +"maxCompensation": { +"$ref": "Money", +"description": "The maximum amount of compensation. If left empty, the value is set to a maximal compensation value and the currency code is set to match the currency code of min_compensation." +}, +"minCompensation": { +"$ref": "Money", +"description": "The minimum amount of compensation. If left empty, the value is set to zero and the currency code is set to match the currency code of max_compensation." +} +}, +"type": "object" +}, +"CompleteQueryResponse": { +"description": "Response of auto-complete query.", +"id": "CompleteQueryResponse", +"properties": { +"completionResults": { +"description": "Results of the matching job/company candidates.", +"items": { +"$ref": "CompletionResult" +}, +"type": "array" +}, +"metadata": { +"$ref": "ResponseMetadata", +"description": "Additional information for the API invocation, such as the request tracking id." +} +}, +"type": "object" +}, +"CompletionResult": { +"description": "Resource that represents completion results.", +"id": "CompletionResult", +"properties": { +"imageUri": { +"description": "The URI of the company image for COMPANY_NAME.", +"type": "string" +}, +"suggestion": { +"description": "The suggestion for the query.", +"type": "string" +}, +"type": { +"description": "The completion topic.", +"enum": [ +"COMPLETION_TYPE_UNSPECIFIED", +"JOB_TITLE", +"COMPANY_NAME", +"COMBINED" +], +"enumDescriptions": [ +"Default value.", +"Suggest job titles for jobs autocomplete. For CompletionType.JOB_TITLE type, only open jobs with the same language_codes are returned.", +"Suggest company names for jobs autocomplete. For CompletionType.COMPANY_NAME type, only companies having open jobs with the same language_codes are returned.", +"Suggest both job titles and company names for jobs autocomplete. For CompletionType.COMBINED type, only open jobs with the same language_codes or companies having open jobs with the same language_codes are returned." +], +"type": "string" +} +}, +"type": "object" +}, +"CustomAttribute": { +"description": "Custom attribute values that are either filterable or non-filterable.", +"id": "CustomAttribute", +"properties": { +"filterable": { +"description": "If the `filterable` flag is true, the custom field values may be used for custom attribute filters JobQuery.custom_attribute_filter. If false, these values may not be used for custom attribute filters. Default is false.", +"type": "boolean" +}, +"keywordSearchable": { +"description": "If the `keyword_searchable` flag is true, the keywords in custom fields are searchable by keyword match. If false, the values are not searchable by keyword match. Default is false.", +"type": "boolean" +}, +"longValues": { +"description": "Exactly one of string_values or long_values must be specified. This field is used to perform number range search. (`EQ`, `GT`, `GE`, `LE`, `LT`) over filterable `long_value`. Currently at most 1 long_values is supported.", +"items": { +"format": "int64", +"type": "string" +}, +"type": "array" +}, +"stringValues": { +"description": "Exactly one of string_values or long_values must be specified. This field is used to perform a string match (`CASE_SENSITIVE_MATCH` or `CASE_INSENSITIVE_MATCH`) search. For filterable `string_value`s, a maximum total number of 200 values is allowed, with each `string_value` has a byte size of no more than 500B. For unfilterable `string_values`, the maximum total byte size of unfilterable `string_values` is 50KB. Empty string isn't allowed.", +"items": { +"type": "string" +}, +"type": "array" +} +}, +"type": "object" +}, +"CustomRankingInfo": { +"description": "Custom ranking information for SearchJobsRequest.", +"id": "CustomRankingInfo", +"properties": { +"importanceLevel": { +"description": "Required. Controls over how important the score of CustomRankingInfo.ranking_expression gets applied to job's final ranking position. An error is thrown if not specified.", +"enum": [ +"IMPORTANCE_LEVEL_UNSPECIFIED", +"NONE", +"LOW", +"MILD", +"MEDIUM", +"HIGH", +"EXTREME" +], +"enumDescriptions": [ +"Default value if the importance level isn't specified.", +"The given ranking expression is of None importance, existing relevance score (determined by API algorithm) dominates job's final ranking position.", +"The given ranking expression is of Low importance in terms of job's final ranking position compared to existing relevance score (determined by API algorithm).", +"The given ranking expression is of Mild importance in terms of job's final ranking position compared to existing relevance score (determined by API algorithm).", +"The given ranking expression is of Medium importance in terms of job's final ranking position compared to existing relevance score (determined by API algorithm).", +"The given ranking expression is of High importance in terms of job's final ranking position compared to existing relevance score (determined by API algorithm).", +"The given ranking expression is of Extreme importance, and dominates job's final ranking position with existing relevance score (determined by API algorithm) ignored." +], +"type": "string" +}, +"rankingExpression": { +"description": "Required. Controls over how job documents get ranked on top of existing relevance score (determined by API algorithm). A combination of the ranking expression and relevance score is used to determine job's final ranking position. The syntax for this expression is a subset of Google SQL syntax. Supported operators are: +, -, *, /, where the left and right side of the operator is either a numeric Job.custom_attributes key, integer/double value or an expression that can be evaluated to a number. Parenthesis are supported to adjust calculation precedence. The expression must be < 200 characters in length. The expression is considered invalid for a job if the expression references custom attributes that are not populated on the job or if the expression results in a divide by zero. If an expression is invalid for a job, that job is demoted to the end of the results. Sample ranking expression (year + 25) * 0.25 - (freshness / 0.5)", +"type": "string" +} +}, +"type": "object" +}, +"DeviceInfo": { +"description": "Device information collected from the job seeker, candidate, or other entity conducting the job search. Providing this information improves the quality of the search results across devices.", +"id": "DeviceInfo", +"properties": { +"deviceType": { +"description": "Type of the device.", +"enum": [ +"DEVICE_TYPE_UNSPECIFIED", +"WEB", +"MOBILE_WEB", +"ANDROID", +"IOS", +"BOT", +"OTHER" +], +"enumDescriptions": [ +"The device type isn't specified.", +"A desktop web browser, such as, Chrome, Firefox, Safari, or Internet Explorer)", +"A mobile device web browser, such as a phone or tablet with a Chrome browser.", +"An Android device native application.", +"An iOS device native application.", +"A bot, as opposed to a device operated by human beings, such as a web crawler.", +"Other devices types." +], +"type": "string" +}, +"id": { +"description": "A device-specific ID. The ID must be a unique identifier that distinguishes the device from other devices.", +"type": "string" +} +}, +"type": "object" +}, +"Empty": { +"description": "A generic empty message that you can re-use to avoid defining duplicated empty messages in your APIs. A typical example is to use it as the request or the response type of an API method. For instance: service Foo { rpc Bar(google.protobuf.Empty) returns (google.protobuf.Empty); }", +"id": "Empty", +"properties": {}, +"type": "object" +}, +"HistogramQuery": { +"description": "The histogram request.", +"id": "HistogramQuery", +"properties": { +"histogramQuery": { +"description": "An expression specifies a histogram request against matching jobs for searches. See SearchJobsRequest.histogram_queries for details about syntax.", +"type": "string" +} +}, +"type": "object" +}, +"HistogramQueryResult": { +"description": "Histogram result that matches HistogramQuery specified in searches.", +"id": "HistogramQueryResult", +"properties": { +"histogram": { +"additionalProperties": { +"format": "int64", +"type": "string" +}, +"description": "A map from the values of the facet associated with distinct values to the number of matching entries with corresponding value. The key format is: * (for string histogram) string values stored in the field. * (for named numeric bucket) name specified in `bucket()` function, like for `bucket(0, MAX, \"non-negative\")`, the key will be `non-negative`. * (for anonymous numeric bucket) range formatted as `-`, for example, `0-1000`, `MIN-0`, and `0-MAX`.", +"type": "object" +}, +"histogramQuery": { +"description": "Requested histogram expression.", +"type": "string" +} +}, +"type": "object" +}, +"Job": { +"description": "A Job resource represents a job posting (also referred to as a \"job listing\" or \"job requisition\"). A job belongs to a Company, which is the hiring entity responsible for the job.", +"id": "Job", +"properties": { +"addresses": { +"description": "Strongly recommended for the best service experience. Location(s) where the employer is looking to hire for this job posting. Specifying the full street address(es) of the hiring location enables better API results, especially job searches by commute time. At most 50 locations are allowed for best search performance. If a job has more locations, it is suggested to split it into multiple jobs with unique requisition_ids (e.g. 'ReqA' becomes 'ReqA-1', 'ReqA-2', and so on.) as multiple jobs with the same company, language_code and requisition_id are not allowed. If the original requisition_id must be preserved, a custom field should be used for storage. It is also suggested to group the locations that close to each other in the same job for better search experience. Jobs with multiple addresses must have their addresses with the same LocationType to allow location filtering to work properly. (For example, a Job with addresses \"1600 Amphitheatre Parkway, Mountain View, CA, USA\" and \"London, UK\" may not have location filters applied correctly at search time since the first is a LocationType.STREET_ADDRESS and the second is a LocationType.LOCALITY.) If a job needs to have multiple addresses, it is suggested to split it into multiple jobs with same LocationTypes. The maximum number of allowed characters is 500.", +"items": { +"type": "string" +}, +"type": "array" +}, +"applicationInfo": { +"$ref": "ApplicationInfo", +"description": "Job application information." +}, +"company": { +"description": "Required. The resource name of the company listing the job. The format is \"projects/{project_id}/tenants/{tenant_id}/companies/{company_id}\". For example, \"projects/foo/tenants/bar/companies/baz\".", +"type": "string" +}, +"companyDisplayName": { +"description": "Output only. Display name of the company listing the job.", +"readOnly": true, +"type": "string" +}, +"compensationInfo": { +"$ref": "CompensationInfo", +"description": "Job compensation information (a.k.a. \"pay rate\") i.e., the compensation that will paid to the employee." +}, +"customAttributes": { +"additionalProperties": { +"$ref": "CustomAttribute" +}, +"description": "A map of fields to hold both filterable and non-filterable custom job attributes that are not covered by the provided structured fields. The keys of the map are strings up to 64 bytes and must match the pattern: `a-zA-Z*`. For example, key0LikeThis or KEY_1_LIKE_THIS. At most 100 filterable and at most 100 unfilterable keys are supported. For filterable `string_values`, across all keys at most 200 values are allowed, with each string no more than 255 characters. For unfilterable `string_values`, the maximum total size of `string_values` across all keys is 50KB.", +"type": "object" +}, +"degreeTypes": { +"description": "The desired education degrees for the job, such as Bachelors, Masters.", +"items": { +"enum": [ +"DEGREE_TYPE_UNSPECIFIED", +"PRIMARY_EDUCATION", +"LOWER_SECONDARY_EDUCATION", +"UPPER_SECONDARY_EDUCATION", +"ADULT_REMEDIAL_EDUCATION", +"ASSOCIATES_OR_EQUIVALENT", +"BACHELORS_OR_EQUIVALENT", +"MASTERS_OR_EQUIVALENT", +"DOCTORAL_OR_EQUIVALENT" +], +"enumDescriptions": [ +"Default value. Represents no degree, or early childhood education. Maps to ISCED code 0. Ex) Kindergarten", +"Primary education which is typically the first stage of compulsory education. ISCED code 1. Ex) Elementary school", +"Lower secondary education; First stage of secondary education building on primary education, typically with a more subject-oriented curriculum. ISCED code 2. Ex) Middle school", +"Middle education; Second/final stage of secondary education preparing for tertiary education and/or providing skills relevant to employment. Usually with an increased range of subject options and streams. ISCED code 3. Ex) High school", +"Adult Remedial Education; Programmes providing learning experiences that build on secondary education and prepare for labour market entry and/or tertiary education. The content is broader than secondary but not as complex as tertiary education. ISCED code 4.", +"Associate's or equivalent; Short first tertiary programmes that are typically practically-based, occupationally-specific and prepare for labour market entry. These programmes may also provide a pathway to other tertiary programmes. ISCED code 5.", +"Bachelor's or equivalent; Programmes designed to provide intermediate academic and/or professional knowledge, skills and competencies leading to a first tertiary degree or equivalent qualification. ISCED code 6.", +"Master's or equivalent; Programmes designed to provide advanced academic and/or professional knowledge, skills and competencies leading to a second tertiary degree or equivalent qualification. ISCED code 7.", +"Doctoral or equivalent; Programmes designed primarily to lead to an advanced research qualification, usually concluding with the submission and defense of a substantive dissertation of publishable quality based on original research. ISCED code 8." +], +"type": "string" +}, +"type": "array" +}, +"department": { +"description": "The department or functional area within the company with the open position. The maximum number of allowed characters is 255.", +"type": "string" +}, +"derivedInfo": { +"$ref": "JobDerivedInfo", +"description": "Output only. Derived details about the job posting.", +"readOnly": true +}, +"description": { +"description": "Required. The description of the job, which typically includes a multi-paragraph description of the company and related information. Separate fields are provided on the job object for responsibilities, qualifications, and other job characteristics. Use of these separate job fields is recommended. This field accepts and sanitizes HTML input, and also accepts bold, italic, ordered list, and unordered list markup tags. The maximum number of allowed characters is 100,000.", +"type": "string" +}, +"employmentTypes": { +"description": "The employment type(s) of a job, for example, full time or part time.", +"items": { +"enum": [ +"EMPLOYMENT_TYPE_UNSPECIFIED", +"FULL_TIME", +"PART_TIME", +"CONTRACTOR", +"CONTRACT_TO_HIRE", +"TEMPORARY", +"INTERN", +"VOLUNTEER", +"PER_DIEM", +"FLY_IN_FLY_OUT", +"OTHER_EMPLOYMENT_TYPE" +], +"enumDescriptions": [ +"The default value if the employment type isn't specified.", +"The job requires working a number of hours that constitute full time employment, typically 40 or more hours per week.", +"The job entails working fewer hours than a full time job, typically less than 40 hours a week.", +"The job is offered as a contracted, as opposed to a salaried employee, position.", +"The job is offered as a contracted position with the understanding that it's converted into a full-time position at the end of the contract. Jobs of this type are also returned by a search for EmploymentType.CONTRACTOR jobs.", +"The job is offered as a temporary employment opportunity, usually a short-term engagement.", +"The job is a fixed-term opportunity for students or entry-level job seekers to obtain on-the-job training, typically offered as a summer position.", +"The is an opportunity for an individual to volunteer, where there's no expectation of compensation for the provided services.", +"The job requires an employee to work on an as-needed basis with a flexible schedule.", +"The job involves employing people in remote areas and flying them temporarily to the work site instead of relocating employees and their families permanently.", +"The job does not fit any of the other listed types." +], +"type": "string" +}, +"type": "array" +}, +"incentives": { +"description": "A description of bonus, commission, and other compensation incentives associated with the job not including salary or pay. The maximum number of allowed characters is 10,000.", +"type": "string" +}, +"jobBenefits": { +"description": "The benefits included with the job.", +"items": { +"enum": [ +"JOB_BENEFIT_UNSPECIFIED", +"CHILD_CARE", +"DENTAL", +"DOMESTIC_PARTNER", +"FLEXIBLE_HOURS", +"MEDICAL", +"LIFE_INSURANCE", +"PARENTAL_LEAVE", +"RETIREMENT_PLAN", +"SICK_DAYS", +"VACATION", +"VISION" +], +"enumDescriptions": [ +"Default value if the type isn't specified.", +"The job includes access to programs that support child care, such as daycare.", +"The job includes dental services covered by a dental insurance plan.", +"The job offers specific benefits to domestic partners.", +"The job allows for a flexible work schedule.", +"The job includes health services covered by a medical insurance plan.", +"The job includes a life insurance plan provided by the employer or available for purchase by the employee.", +"The job allows for a leave of absence to a parent to care for a newborn child.", +"The job includes a workplace retirement plan provided by the employer or available for purchase by the employee.", +"The job allows for paid time off due to illness.", +"The job includes paid time off for vacation.", +"The job includes vision services covered by a vision insurance plan." +], +"type": "string" +}, +"type": "array" +}, +"jobEndTime": { +"description": "The end timestamp of the job. Typically this field is used for contracting engagements. Invalid timestamps are ignored.", +"format": "google-datetime", +"type": "string" +}, +"jobLevel": { +"description": "The experience level associated with the job, such as \"Entry Level\".", +"enum": [ +"JOB_LEVEL_UNSPECIFIED", +"ENTRY_LEVEL", +"EXPERIENCED", +"MANAGER", +"DIRECTOR", +"EXECUTIVE" +], +"enumDescriptions": [ +"The default value if the level isn't specified.", +"Entry-level individual contributors, typically with less than 2 years of experience in a similar role. Includes interns.", +"Experienced individual contributors, typically with 2+ years of experience in a similar role.", +"Entry- to mid-level managers responsible for managing a team of people.", +"Senior-level managers responsible for managing teams of managers.", +"Executive-level managers and above, including C-level positions." +], +"type": "string" +}, +"jobStartTime": { +"description": "The start timestamp of the job in UTC time zone. Typically this field is used for contracting engagements. Invalid timestamps are ignored.", +"format": "google-datetime", +"type": "string" +}, +"languageCode": { +"description": "The language of the posting. This field is distinct from any requirements for fluency that are associated with the job. Language codes must be in BCP-47 format, such as \"en-US\" or \"sr-Latn\". For more information, see [Tags for Identifying Languages](https://tools.ietf.org/html/bcp47){: class=\"external\" target=\"_blank\" }. If this field is unspecified and Job.description is present, detected language code based on Job.description is assigned, otherwise defaults to 'en_US'.", +"type": "string" +}, +"name": { +"description": "Required during job update. The resource name for the job. This is generated by the service when a job is created. The format is \"projects/{project_id}/tenants/{tenant_id}/jobs/{job_id}\". For example, \"projects/foo/tenants/bar/jobs/baz\". Use of this field in job queries and API calls is preferred over the use of requisition_id since this value is unique.", +"type": "string" +}, +"postingCreateTime": { +"description": "Output only. The timestamp when this job posting was created.", +"format": "google-datetime", +"readOnly": true, +"type": "string" +}, +"postingExpireTime": { +"description": "Strongly recommended for the best service experience. The expiration timestamp of the job. After this timestamp, the job is marked as expired, and it no longer appears in search results. The expired job can't be listed by the ListJobs API, but it can be retrieved with the GetJob API or updated with the UpdateJob API or deleted with the DeleteJob API. An expired job can be updated and opened again by using a future expiration timestamp. Updating an expired job fails if there is another existing open job with same company, language_code and requisition_id. The expired jobs are retained in our system for 90 days. However, the overall expired job count cannot exceed 3 times the maximum number of open jobs over previous 7 days. If this threshold is exceeded, expired jobs are cleaned out in order of earliest expire time. Expired jobs are no longer accessible after they are cleaned out. Invalid timestamps are ignored, and treated as expire time not provided. If the timestamp is before the instant request is made, the job is treated as expired immediately on creation. This kind of job can not be updated. And when creating a job with past timestamp, the posting_publish_time must be set before posting_expire_time. The purpose of this feature is to allow other objects, such as ApplicationInfo, to refer a job that didn't exist in the system prior to becoming expired. If you want to modify a job that was expired on creation, delete it and create a new one. If this value isn't provided at the time of job creation or is invalid, the job posting expires after 30 days from the job's creation time. For example, if the job was created on 2017/01/01 13:00AM UTC with an unspecified expiration date, the job expires after 2017/01/31 13:00AM UTC. If this value isn't provided on job update, it depends on the field masks set by UpdateJobRequest.update_mask. If the field masks include job_end_time, or the masks are empty meaning that every field is updated, the job posting expires after 30 days from the job's last update time. Otherwise the expiration date isn't updated.", +"format": "google-datetime", +"type": "string" +}, +"postingPublishTime": { +"description": "The timestamp this job posting was most recently published. The default value is the time the request arrives at the server. Invalid timestamps are ignored.", +"format": "google-datetime", +"type": "string" +}, +"postingRegion": { +"description": "The job PostingRegion (for example, state, country) throughout which the job is available. If this field is set, a LocationFilter in a search query within the job region finds this job posting if an exact location match isn't specified. If this field is set to PostingRegion.NATION or PostingRegion.ADMINISTRATIVE_AREA, setting job Job.addresses to the same location level as this field is strongly recommended.", +"enum": [ +"POSTING_REGION_UNSPECIFIED", +"ADMINISTRATIVE_AREA", +"NATION", +"TELECOMMUTE" +], +"enumDescriptions": [ +"If the region is unspecified, the job is only returned if it matches the LocationFilter.", +"In addition to exact location matching, job posting is returned when the LocationFilter in the search query is in the same administrative area as the returned job posting. For example, if a `ADMINISTRATIVE_AREA` job is posted in \"CA, USA\", it's returned if LocationFilter has \"Mountain View\". Administrative area refers to top-level administrative subdivision of this country. For example, US state, IT region, UK constituent nation and JP prefecture.", +"In addition to exact location matching, job is returned when LocationFilter in search query is in the same country as this job. For example, if a `NATION_WIDE` job is posted in \"USA\", it's returned if LocationFilter has 'Mountain View'.", +"Job allows employees to work remotely (telecommute). If locations are provided with this value, the job is considered as having a location, but telecommuting is allowed." +], +"type": "string" +}, +"postingUpdateTime": { +"description": "Output only. The timestamp when this job posting was last updated.", +"format": "google-datetime", +"readOnly": true, +"type": "string" +}, +"processingOptions": { +"$ref": "ProcessingOptions", +"description": "Options for job processing." +}, +"promotionValue": { +"description": "A promotion value of the job, as determined by the client. The value determines the sort order of the jobs returned when searching for jobs using the featured jobs search call, with higher promotional values being returned first and ties being resolved by relevance sort. Only the jobs with a promotionValue >0 are returned in a FEATURED_JOB_SEARCH. Default value is 0, and negative values are treated as 0.", +"format": "int32", +"type": "integer" +}, +"qualifications": { +"description": "A description of the qualifications required to perform the job. The use of this field is recommended as an alternative to using the more general description field. This field accepts and sanitizes HTML input, and also accepts bold, italic, ordered list, and unordered list markup tags. The maximum number of allowed characters is 10,000.", +"type": "string" +}, +"requisitionId": { +"description": "Required. The requisition ID, also referred to as the posting ID, is assigned by the client to identify a job. This field is intended to be used by clients for client identification and tracking of postings. A job isn't allowed to be created if there is another job with the same company, language_code and requisition_id. The maximum number of allowed characters is 255.", +"type": "string" +}, +"responsibilities": { +"description": "A description of job responsibilities. The use of this field is recommended as an alternative to using the more general description field. This field accepts and sanitizes HTML input, and also accepts bold, italic, ordered list, and unordered list markup tags. The maximum number of allowed characters is 10,000.", +"type": "string" +}, +"title": { +"description": "Required. The title of the job, such as \"Software Engineer\" The maximum number of allowed characters is 500.", +"type": "string" +}, +"visibility": { +"deprecated": true, +"description": "Deprecated. The job is only visible to the owner. The visibility of the job. Defaults to Visibility.ACCOUNT_ONLY if not specified.", +"enum": [ +"VISIBILITY_UNSPECIFIED", +"ACCOUNT_ONLY", +"SHARED_WITH_GOOGLE", +"SHARED_WITH_PUBLIC" +], +"enumDescriptions": [ +"Default value.", +"The resource is only visible to the GCP account who owns it.", +"The resource is visible to the owner and may be visible to other applications and processes at Google.", +"The resource is visible to the owner and may be visible to all other API clients." +], +"type": "string" +} +}, +"type": "object" +}, +"JobDerivedInfo": { +"description": "Derived details about the job posting.", +"id": "JobDerivedInfo", +"properties": { +"jobCategories": { +"description": "Job categories derived from Job.title and Job.description.", +"items": { +"enum": [ +"JOB_CATEGORY_UNSPECIFIED", +"ACCOUNTING_AND_FINANCE", +"ADMINISTRATIVE_AND_OFFICE", +"ADVERTISING_AND_MARKETING", +"ANIMAL_CARE", +"ART_FASHION_AND_DESIGN", +"BUSINESS_OPERATIONS", +"CLEANING_AND_FACILITIES", +"COMPUTER_AND_IT", +"CONSTRUCTION", +"CUSTOMER_SERVICE", +"EDUCATION", +"ENTERTAINMENT_AND_TRAVEL", +"FARMING_AND_OUTDOORS", +"HEALTHCARE", +"HUMAN_RESOURCES", +"INSTALLATION_MAINTENANCE_AND_REPAIR", +"LEGAL", +"MANAGEMENT", +"MANUFACTURING_AND_WAREHOUSE", +"MEDIA_COMMUNICATIONS_AND_WRITING", +"OIL_GAS_AND_MINING", +"PERSONAL_CARE_AND_SERVICES", +"PROTECTIVE_SERVICES", +"REAL_ESTATE", +"RESTAURANT_AND_HOSPITALITY", +"SALES_AND_RETAIL", +"SCIENCE_AND_ENGINEERING", +"SOCIAL_SERVICES_AND_NON_PROFIT", +"SPORTS_FITNESS_AND_RECREATION", +"TRANSPORTATION_AND_LOGISTICS" +], +"enumDescriptions": [ +"The default value if the category isn't specified.", +"An accounting and finance job, such as an Accountant.", +"An administrative and office job, such as an Administrative Assistant.", +"An advertising and marketing job, such as Marketing Manager.", +"An animal care job, such as Veterinarian.", +"An art, fashion, or design job, such as Designer.", +"A business operations job, such as Business Operations Manager.", +"A cleaning and facilities job, such as Custodial Staff.", +"A computer and IT job, such as Systems Administrator.", +"A construction job, such as General Laborer.", +"A customer service job, such s Cashier.", +"An education job, such as School Teacher.", +"An entertainment and travel job, such as Flight Attendant.", +"A farming or outdoor job, such as Park Ranger.", +"A healthcare job, such as Registered Nurse.", +"A human resources job, such as Human Resources Director.", +"An installation, maintenance, or repair job, such as Electrician.", +"A legal job, such as Law Clerk.", +"A management job, often used in conjunction with another category, such as Store Manager.", +"A manufacturing or warehouse job, such as Assembly Technician.", +"A media, communications, or writing job, such as Media Relations.", +"An oil, gas or mining job, such as Offshore Driller.", +"A personal care and services job, such as Hair Stylist.", +"A protective services job, such as Security Guard.", +"A real estate job, such as Buyer's Agent.", +"A restaurant and hospitality job, such as Restaurant Server.", +"A sales and/or retail job, such Sales Associate.", +"A science and engineering job, such as Lab Technician.", +"A social services or non-profit job, such as Case Worker.", +"A sports, fitness, or recreation job, such as Personal Trainer.", +"A transportation or logistics job, such as Truck Driver." +], +"type": "string" +}, +"type": "array" +}, +"locations": { +"description": "Structured locations of the job, resolved from Job.addresses. locations are exactly matched to Job.addresses in the same order.", +"items": { +"$ref": "Location" +}, +"type": "array" +} +}, +"type": "object" +}, +"JobEvent": { +"description": "An event issued when a job seeker interacts with the application that implements Cloud Talent Solution.", +"id": "JobEvent", +"properties": { +"jobs": { +"description": "Required. The job name(s) associated with this event. For example, if this is an impression event, this field contains the identifiers of all jobs shown to the job seeker. If this was a view event, this field contains the identifier of the viewed job. The format is \"projects/{project_id}/tenants/{tenant_id}/jobs/{job_id}\", for example, \"projects/foo/tenants/bar/jobs/baz\".", +"items": { +"type": "string" +}, +"type": "array" +}, +"type": { +"description": "Required. The type of the event (see JobEventType).", +"enum": [ +"JOB_EVENT_TYPE_UNSPECIFIED", +"IMPRESSION", +"VIEW", +"VIEW_REDIRECT", +"APPLICATION_START", +"APPLICATION_FINISH", +"APPLICATION_QUICK_SUBMISSION", +"APPLICATION_REDIRECT", +"APPLICATION_START_FROM_SEARCH", +"APPLICATION_REDIRECT_FROM_SEARCH", +"APPLICATION_COMPANY_SUBMIT", +"BOOKMARK", +"NOTIFICATION", +"HIRED", +"SENT_CV", +"INTERVIEW_GRANTED" +], +"enumDescriptions": [ +"The event is unspecified by other provided values.", +"The job seeker or other entity interacting with the service has had a job rendered in their view, such as in a list of search results in a compressed or clipped format. This event is typically associated with the viewing of a jobs list on a single page by a job seeker.", +"The job seeker, or other entity interacting with the service, has viewed the details of a job, including the full description. This event doesn't apply to the viewing a snippet of a job appearing as a part of the job search results. Viewing a snippet is associated with an impression).", +"The job seeker or other entity interacting with the service performed an action to view a job and was redirected to a different website for job.", +"The job seeker or other entity interacting with the service began the process or demonstrated the intention of applying for a job.", +"The job seeker or other entity interacting with the service submitted an application for a job.", +"The job seeker or other entity interacting with the service submitted an application for a job with a single click without entering information. If a job seeker performs this action, send only this event to the service. Do not also send JobEventType.APPLICATION_START or JobEventType.APPLICATION_FINISH events.", +"The job seeker or other entity interacting with the service performed an action to apply to a job and was redirected to a different website to complete the application.", +"The job seeker or other entity interacting with the service began the process or demonstrated the intention of applying for a job from the search results page without viewing the details of the job posting. If sending this event, JobEventType.VIEW event shouldn't be sent.", +"The job seeker, or other entity interacting with the service, performs an action with a single click from the search results page to apply to a job (without viewing the details of the job posting), and is redirected to a different website to complete the application. If a candidate performs this action, send only this event to the service. Do not also send JobEventType.APPLICATION_START, JobEventType.APPLICATION_FINISH or JobEventType.VIEW events.", +"This event should be used when a company submits an application on behalf of a job seeker. This event is intended for use by staffing agencies attempting to place candidates.", +"The job seeker or other entity interacting with the service demonstrated an interest in a job by bookmarking or saving it.", +"The job seeker or other entity interacting with the service was sent a notification, such as an email alert or device notification, containing one or more jobs listings generated by the service.", +"The job seeker or other entity interacting with the service was employed by the hiring entity (employer). Send this event only if the job seeker was hired through an application that was initiated by a search conducted through the Cloud Talent Solution service.", +"A recruiter or staffing agency submitted an application on behalf of the candidate after interacting with the service to identify a suitable job posting.", +"The entity interacting with the service (for example, the job seeker), was granted an initial interview by the hiring entity (employer). This event should only be sent if the job seeker was granted an interview as part of an application that was initiated by a search conducted through / recommendation provided by the Cloud Talent Solution service." +], +"type": "string" +} +}, +"type": "object" +}, +"JobQuery": { +"description": "The query required to perform a search query.", +"id": "JobQuery", +"properties": { +"commuteFilter": { +"$ref": "CommuteFilter", +"description": "Allows filtering jobs by commute time with different travel methods (for example, driving or public transit). Note: This only works when you specify a CommuteMethod. In this case, location_filters is ignored. Currently we don't support sorting by commute time." +}, +"companies": { +"description": "This filter specifies the company entities to search against. If a value isn't specified, jobs are searched for against all companies. If multiple values are specified, jobs are searched against the companies specified. The format is \"projects/{project_id}/tenants/{tenant_id}/companies/{company_id}\". For example, \"projects/foo/tenants/bar/companies/baz\". At most 20 company filters are allowed.", +"items": { +"type": "string" +}, +"type": "array" +}, +"companyDisplayNames": { +"description": "This filter specifies the company Company.display_name of the jobs to search against. The company name must match the value exactly. Alternatively, the value being searched for can be wrapped in different match operators. `SUBSTRING_MATCH([value])` The company name must contain a case insensitive substring match of the value. Using this function may increase latency. Sample Value: `SUBSTRING_MATCH(google)` `MULTI_WORD_TOKEN_MATCH([value])` The value will be treated as a multi word token and the company name must contain a case insensitive match of the value. Using this function may increase latency. Sample Value: `MULTI_WORD_TOKEN_MATCH(google)` If a value isn't specified, jobs within the search results are associated with any company. If multiple values are specified, jobs within the search results may be associated with any of the specified companies. At most 20 company display name filters are allowed.", +"items": { +"type": "string" +}, +"type": "array" +}, +"compensationFilter": { +"$ref": "CompensationFilter", +"description": "This search filter is applied only to Job.compensation_info. For example, if the filter is specified as \"Hourly job with per-hour compensation > $15\", only jobs meeting these criteria are searched. If a filter isn't defined, all open jobs are searched." +}, +"customAttributeFilter": { +"description": "This filter specifies a structured syntax to match against the Job.custom_attributes marked as `filterable`. The syntax for this expression is a subset of SQL syntax. Supported operators are: `=`, `!=`, `<`, `<=`, `>`, and `>=` where the left of the operator is a custom field key and the right of the operator is a number or a quoted string. You must escape backslash (\\\\) and quote (\\\") characters. Supported functions are `LOWER([field_name])` to perform a case insensitive match and `EMPTY([field_name])` to filter on the existence of a key. Boolean expressions (AND/OR/NOT) are supported up to 3 levels of nesting (for example, \"((A AND B AND C) OR NOT D) AND E\"), a maximum of 100 comparisons or functions are allowed in the expression. The expression must be < 10000 bytes in length. Sample Query: `(LOWER(driving_license)=\"class \\\"a\\\"\" OR EMPTY(driving_license)) AND driving_years > 10`", +"type": "string" +}, +"disableSpellCheck": { +"description": "This flag controls the spell-check feature. If false, the service attempts to correct a misspelled query, for example, \"enginee\" is corrected to \"engineer\". Defaults to false: a spell check is performed.", +"type": "boolean" +}, +"employmentTypes": { +"description": "The employment type filter specifies the employment type of jobs to search against, such as EmploymentType.FULL_TIME. If a value isn't specified, jobs in the search results includes any employment type. If multiple values are specified, jobs in the search results include any of the specified employment types.", +"items": { +"enum": [ +"EMPLOYMENT_TYPE_UNSPECIFIED", +"FULL_TIME", +"PART_TIME", +"CONTRACTOR", +"CONTRACT_TO_HIRE", +"TEMPORARY", +"INTERN", +"VOLUNTEER", +"PER_DIEM", +"FLY_IN_FLY_OUT", +"OTHER_EMPLOYMENT_TYPE" +], +"enumDescriptions": [ +"The default value if the employment type isn't specified.", +"The job requires working a number of hours that constitute full time employment, typically 40 or more hours per week.", +"The job entails working fewer hours than a full time job, typically less than 40 hours a week.", +"The job is offered as a contracted, as opposed to a salaried employee, position.", +"The job is offered as a contracted position with the understanding that it's converted into a full-time position at the end of the contract. Jobs of this type are also returned by a search for EmploymentType.CONTRACTOR jobs.", +"The job is offered as a temporary employment opportunity, usually a short-term engagement.", +"The job is a fixed-term opportunity for students or entry-level job seekers to obtain on-the-job training, typically offered as a summer position.", +"The is an opportunity for an individual to volunteer, where there's no expectation of compensation for the provided services.", +"The job requires an employee to work on an as-needed basis with a flexible schedule.", +"The job involves employing people in remote areas and flying them temporarily to the work site instead of relocating employees and their families permanently.", +"The job does not fit any of the other listed types." +], +"type": "string" +}, +"type": "array" +}, +"excludedJobs": { +"description": "This filter specifies a list of job names to be excluded during search. At most 400 excluded job names are allowed.", +"items": { +"type": "string" +}, +"type": "array" +}, +"jobCategories": { +"description": "The category filter specifies the categories of jobs to search against. See JobCategory for more information. If a value isn't specified, jobs from any category are searched against. If multiple values are specified, jobs from any of the specified categories are searched against.", +"items": { +"enum": [ +"JOB_CATEGORY_UNSPECIFIED", +"ACCOUNTING_AND_FINANCE", +"ADMINISTRATIVE_AND_OFFICE", +"ADVERTISING_AND_MARKETING", +"ANIMAL_CARE", +"ART_FASHION_AND_DESIGN", +"BUSINESS_OPERATIONS", +"CLEANING_AND_FACILITIES", +"COMPUTER_AND_IT", +"CONSTRUCTION", +"CUSTOMER_SERVICE", +"EDUCATION", +"ENTERTAINMENT_AND_TRAVEL", +"FARMING_AND_OUTDOORS", +"HEALTHCARE", +"HUMAN_RESOURCES", +"INSTALLATION_MAINTENANCE_AND_REPAIR", +"LEGAL", +"MANAGEMENT", +"MANUFACTURING_AND_WAREHOUSE", +"MEDIA_COMMUNICATIONS_AND_WRITING", +"OIL_GAS_AND_MINING", +"PERSONAL_CARE_AND_SERVICES", +"PROTECTIVE_SERVICES", +"REAL_ESTATE", +"RESTAURANT_AND_HOSPITALITY", +"SALES_AND_RETAIL", +"SCIENCE_AND_ENGINEERING", +"SOCIAL_SERVICES_AND_NON_PROFIT", +"SPORTS_FITNESS_AND_RECREATION", +"TRANSPORTATION_AND_LOGISTICS" +], +"enumDescriptions": [ +"The default value if the category isn't specified.", +"An accounting and finance job, such as an Accountant.", +"An administrative and office job, such as an Administrative Assistant.", +"An advertising and marketing job, such as Marketing Manager.", +"An animal care job, such as Veterinarian.", +"An art, fashion, or design job, such as Designer.", +"A business operations job, such as Business Operations Manager.", +"A cleaning and facilities job, such as Custodial Staff.", +"A computer and IT job, such as Systems Administrator.", +"A construction job, such as General Laborer.", +"A customer service job, such s Cashier.", +"An education job, such as School Teacher.", +"An entertainment and travel job, such as Flight Attendant.", +"A farming or outdoor job, such as Park Ranger.", +"A healthcare job, such as Registered Nurse.", +"A human resources job, such as Human Resources Director.", +"An installation, maintenance, or repair job, such as Electrician.", +"A legal job, such as Law Clerk.", +"A management job, often used in conjunction with another category, such as Store Manager.", +"A manufacturing or warehouse job, such as Assembly Technician.", +"A media, communications, or writing job, such as Media Relations.", +"An oil, gas or mining job, such as Offshore Driller.", +"A personal care and services job, such as Hair Stylist.", +"A protective services job, such as Security Guard.", +"A real estate job, such as Buyer's Agent.", +"A restaurant and hospitality job, such as Restaurant Server.", +"A sales and/or retail job, such Sales Associate.", +"A science and engineering job, such as Lab Technician.", +"A social services or non-profit job, such as Case Worker.", +"A sports, fitness, or recreation job, such as Personal Trainer.", +"A transportation or logistics job, such as Truck Driver." +], +"type": "string" +}, +"type": "array" +}, +"languageCodes": { +"description": "This filter specifies the locale of jobs to search against, for example, \"en-US\". If a value isn't specified, the search results can contain jobs in any locale. Language codes should be in BCP-47 format, such as \"en-US\" or \"sr-Latn\". For more information, see [Tags for Identifying Languages](https://tools.ietf.org/html/bcp47). At most 10 language code filters are allowed.", +"items": { +"type": "string" +}, +"type": "array" +}, +"locationFilters": { +"description": "The location filter specifies geo-regions containing the jobs to search against. See LocationFilter for more information. If a location value isn't specified, jobs fitting the other search criteria are retrieved regardless of where they're located. If multiple values are specified, jobs are retrieved from any of the specified locations. If different values are specified for the LocationFilter.distance_in_miles parameter, the maximum provided distance is used for all locations. At most 5 location filters are allowed.", +"items": { +"$ref": "LocationFilter" +}, +"type": "array" +}, +"publishTimeRange": { +"$ref": "TimestampRange", +"description": "Jobs published within a range specified by this filter are searched against." +}, +"query": { +"description": "The query string that matches against the job title, description, and location fields. The maximum number of allowed characters is 255.", +"type": "string" +}, +"queryLanguageCode": { +"description": "The language code of query. For example, \"en-US\". This field helps to better interpret the query. If a value isn't specified, the query language code is automatically detected, which may not be accurate. Language code should be in BCP-47 format, such as \"en-US\" or \"sr-Latn\". For more information, see [Tags for Identifying Languages](https://tools.ietf.org/html/bcp47).", +"type": "string" +} +}, +"type": "object" +}, +"JobResult": { +"description": "Mutation result of a job from a batch operation.", +"id": "JobResult", +"properties": { +"job": { +"$ref": "Job", +"description": "Here Job only contains basic information including name, company, language_code and requisition_id, use getJob method to retrieve detailed information of the created/updated job." +}, +"status": { +"$ref": "Status", +"description": "The status of the job processed. This field is populated if the processing of the job fails." +} +}, +"type": "object" +}, +"LatLng": { +"description": "An object that represents a latitude/longitude pair. This is expressed as a pair of doubles to represent degrees latitude and degrees longitude. Unless specified otherwise, this object must conform to the WGS84 standard. Values must be within normalized ranges.", +"id": "LatLng", +"properties": { +"latitude": { +"description": "The latitude in degrees. It must be in the range [-90.0, +90.0].", +"format": "double", +"type": "number" +}, +"longitude": { +"description": "The longitude in degrees. It must be in the range [-180.0, +180.0].", +"format": "double", +"type": "number" +} +}, +"type": "object" +}, +"ListCompaniesResponse": { +"description": "The List companies response object.", +"id": "ListCompaniesResponse", +"properties": { +"companies": { +"description": "Companies for the current client.", +"items": { +"$ref": "Company" +}, +"type": "array" +}, +"metadata": { +"$ref": "ResponseMetadata", +"description": "Additional information for the API invocation, such as the request tracking id." +}, +"nextPageToken": { +"description": "A token to retrieve the next page of results.", +"type": "string" +} +}, +"type": "object" +}, +"ListJobsResponse": { +"description": "List jobs response.", +"id": "ListJobsResponse", +"properties": { +"jobs": { +"description": "The Jobs for a given company. The maximum number of items returned is based on the limit field provided in the request.", +"items": { +"$ref": "Job" +}, +"type": "array" +}, +"metadata": { +"$ref": "ResponseMetadata", +"description": "Additional information for the API invocation, such as the request tracking id." +}, +"nextPageToken": { +"description": "A token to retrieve the next page of results.", +"type": "string" +} +}, +"type": "object" +}, +"ListTenantsResponse": { +"description": "The List tenants response object.", +"id": "ListTenantsResponse", +"properties": { +"metadata": { +"$ref": "ResponseMetadata", +"description": "Additional information for the API invocation, such as the request tracking id." +}, +"nextPageToken": { +"description": "A token to retrieve the next page of results.", +"type": "string" +}, +"tenants": { +"description": "Tenants for the current client.", +"items": { +"$ref": "Tenant" +}, +"type": "array" +} +}, +"type": "object" +}, +"Location": { +"description": "A resource that represents a location with full geographic information.", +"id": "Location", +"properties": { +"latLng": { +"$ref": "LatLng", +"description": "An object representing a latitude/longitude pair." +}, +"locationType": { +"description": "The type of a location, which corresponds to the address lines field of google.type.PostalAddress. For example, \"Downtown, Atlanta, GA, USA\" has a type of LocationType.NEIGHBORHOOD, and \"Kansas City, KS, USA\" has a type of LocationType.LOCALITY.", +"enum": [ +"LOCATION_TYPE_UNSPECIFIED", +"COUNTRY", +"ADMINISTRATIVE_AREA", +"SUB_ADMINISTRATIVE_AREA", +"LOCALITY", +"POSTAL_CODE", +"SUB_LOCALITY", +"SUB_LOCALITY_1", +"SUB_LOCALITY_2", +"NEIGHBORHOOD", +"STREET_ADDRESS" +], +"enumDescriptions": [ +"Default value if the type isn't specified.", +"A country level location.", +"A state or equivalent level location.", +"A county or equivalent level location.", +"A city or equivalent level location.", +"A postal code level location.", +"A sublocality is a subdivision of a locality, for example a city borough, ward, or arrondissement. Sublocalities are usually recognized by a local political authority. For example, Manhattan and Brooklyn are recognized as boroughs by the City of New York, and are therefore modeled as sublocalities.", +"A district or equivalent level location.", +"A smaller district or equivalent level display.", +"A neighborhood level location.", +"A street address level location." +], +"type": "string" +}, +"postalAddress": { +"$ref": "PostalAddress", +"description": "Postal address of the location that includes human readable information, such as postal delivery and payments addresses. Given a postal address, a postal service can deliver items to a premises, P.O. Box, or other delivery location." +}, +"radiusMiles": { +"description": "Radius in miles of the job location. This value is derived from the location bounding box in which a circle with the specified radius centered from google.type.LatLng covers the area associated with the job location. For example, currently, \"Mountain View, CA, USA\" has a radius of 6.17 miles.", +"format": "double", +"type": "number" +} +}, +"type": "object" +}, +"LocationFilter": { +"description": "Geographic region of the search.", +"id": "LocationFilter", +"properties": { +"address": { +"description": "The address name, such as \"Mountain View\" or \"Bay Area\".", +"type": "string" +}, +"distanceInMiles": { +"description": "The distance_in_miles is applied when the location being searched for is identified as a city or smaller. This field is ignored if the location being searched for is a state or larger.", +"format": "double", +"type": "number" +}, +"latLng": { +"$ref": "LatLng", +"description": "The latitude and longitude of the geographic center to search from. This field is ignored if `address` is provided." +}, +"regionCode": { +"description": "CLDR region code of the country/region. This field may be used in two ways: 1) If telecommute preference is not set, this field is used address ambiguity of the user-input address. For example, \"Liverpool\" may refer to \"Liverpool, NY, US\" or \"Liverpool, UK\". This region code biases the address resolution toward a specific country or territory. If this field is not set, address resolution is biased toward the United States by default. 2) If telecommute preference is set to TELECOMMUTE_ALLOWED, the telecommute location filter will be limited to the region specified in this field. If this field is not set, the telecommute job locations will not be See https://unicode-org.github.io/cldr-staging/charts/latest/supplemental/territory_information.html for details. Example: \"CH\" for Switzerland.", +"type": "string" +}, +"telecommutePreference": { +"description": "Allows the client to return jobs without a set location, specifically, telecommuting jobs (telecommuting is considered by the service as a special location). Job.posting_region indicates if a job permits telecommuting. If this field is set to TelecommutePreference.TELECOMMUTE_ALLOWED, telecommuting jobs are searched, and address and lat_lng are ignored. If not set or set to TelecommutePreference.TELECOMMUTE_EXCLUDED, the telecommute status of the jobs is ignored. Jobs that have PostingRegion.TELECOMMUTE and have additional Job.addresses may still be matched based on other location filters using address or lat_lng. This filter can be used by itself to search exclusively for telecommuting jobs, or it can be combined with another location filter to search for a combination of job locations, such as \"Mountain View\" or \"telecommuting\" jobs. However, when used in combination with other location filters, telecommuting jobs can be treated as less relevant than other jobs in the search response. This field is only used for job search requests.", +"enum": [ +"TELECOMMUTE_PREFERENCE_UNSPECIFIED", +"TELECOMMUTE_EXCLUDED", +"TELECOMMUTE_ALLOWED", +"TELECOMMUTE_JOBS_EXCLUDED" +], +"enumDeprecated": [ +false, +true, +false, +false +], +"enumDescriptions": [ +"Default value if the telecommute preference isn't specified.", +"Deprecated: Ignore telecommute status of jobs. Use TELECOMMUTE_JOBS_EXCLUDED if want to exclude telecommute jobs.", +"Allow telecommute jobs.", +"Exclude telecommute jobs." +], +"type": "string" +} +}, +"type": "object" +}, +"MatchingJob": { +"description": "Job entry with metadata inside SearchJobsResponse.", +"id": "MatchingJob", +"properties": { +"commuteInfo": { +"$ref": "CommuteInfo", +"description": "Commute information which is generated based on specified CommuteFilter." +}, +"job": { +"$ref": "Job", +"description": "Job resource that matches the specified SearchJobsRequest." +}, +"jobSummary": { +"description": "A summary of the job with core information that's displayed on the search results listing page.", +"type": "string" +}, +"jobTitleSnippet": { +"description": "Contains snippets of text from the Job.title field most closely matching a search query's keywords, if available. The matching query keywords are enclosed in HTML bold tags.", +"type": "string" +}, +"searchTextSnippet": { +"description": "Contains snippets of text from the Job.description and similar fields that most closely match a search query's keywords, if available. All HTML tags in the original fields are stripped when returned in this field, and matching query keywords are enclosed in HTML bold tags.", +"type": "string" +} +}, +"type": "object" +}, +"Money": { +"description": "Represents an amount of money with its currency type.", +"id": "Money", +"properties": { +"currencyCode": { +"description": "The three-letter currency code defined in ISO 4217.", +"type": "string" +}, +"nanos": { +"description": "Number of nano (10^-9) units of the amount. The value must be between -999,999,999 and +999,999,999 inclusive. If `units` is positive, `nanos` must be positive or zero. If `units` is zero, `nanos` can be positive, zero, or negative. If `units` is negative, `nanos` must be negative or zero. For example $-1.75 is represented as `units`=-1 and `nanos`=-750,000,000.", +"format": "int32", +"type": "integer" +}, +"units": { +"description": "The whole units of the amount. For example if `currencyCode` is `\"USD\"`, then 1 unit is one US dollar.", +"format": "int64", +"type": "string" +} +}, +"type": "object" +}, +"Operation": { +"description": "This resource represents a long-running operation that is the result of a network API call.", +"id": "Operation", +"properties": { +"done": { +"description": "If the value is `false`, it means the operation is still in progress. If `true`, the operation is completed, and either `error` or `response` is available.", +"type": "boolean" +}, +"error": { +"$ref": "Status", +"description": "The error result of the operation in case of failure or cancellation." +}, +"metadata": { +"additionalProperties": { +"description": "Properties of the object. Contains field @type with type URL.", +"type": "any" +}, +"description": "Service-specific metadata associated with the operation. It typically contains progress information and common metadata such as create time. Some services might not provide such metadata. Any method that returns a long-running operation should document the metadata type, if any.", +"type": "object" +}, +"name": { +"description": "The server-assigned name, which is only unique within the same service that originally returns it. If you use the default HTTP mapping, the `name` should be a resource name ending with `operations/{unique_id}`.", +"type": "string" +}, +"response": { +"additionalProperties": { +"description": "Properties of the object. Contains field @type with type URL.", +"type": "any" +}, +"description": "The normal, successful response of the operation. If the original method returns no data on success, such as `Delete`, the response is `google.protobuf.Empty`. If the original method is standard `Get`/`Create`/`Update`, the response should be the resource. For other methods, the response should have the type `XxxResponse`, where `Xxx` is the original method name. For example, if the original method name is `TakeSnapshot()`, the inferred response type is `TakeSnapshotResponse`.", +"type": "object" +} +}, +"type": "object" +}, +"PostalAddress": { +"description": "Represents a postal address. For example for postal delivery or payments addresses. Given a postal address, a postal service can deliver items to a premise, P.O. Box or similar. It is not intended to model geographical locations (roads, towns, mountains). In typical usage an address would be created by user input or from importing existing data, depending on the type of process. Advice on address input / editing: - Use an internationalization-ready address widget such as https://github.com/google/libaddressinput) - Users should not be presented with UI elements for input or editing of fields outside countries where that field is used. For more guidance on how to use this schema, see: https://support.google.com/business/answer/6397478", +"id": "PostalAddress", +"properties": { +"addressLines": { +"description": "Unstructured address lines describing the lower levels of an address. Because values in address_lines do not have type information and may sometimes contain multiple values in a single field (For example \"Austin, TX\"), it is important that the line order is clear. The order of address lines should be \"envelope order\" for the country/region of the address. In places where this can vary (For example Japan), address_language is used to make it explicit (For example \"ja\" for large-to-small ordering and \"ja-Latn\" or \"en\" for small-to-large). This way, the most specific line of an address can be selected based on the language. The minimum permitted structural representation of an address consists of a region_code with all remaining information placed in the address_lines. It would be possible to format such an address very approximately without geocoding, but no semantic reasoning could be made about any of the address components until it was at least partially resolved. Creating an address only containing a region_code and address_lines, and then geocoding is the recommended way to handle completely unstructured addresses (as opposed to guessing which parts of the address should be localities or administrative areas).", +"items": { +"type": "string" +}, +"type": "array" +}, +"administrativeArea": { +"description": "Optional. Highest administrative subdivision which is used for postal addresses of a country or region. For example, this can be a state, a province, an oblast, or a prefecture. Specifically, for Spain this is the province and not the autonomous community (For example \"Barcelona\" and not \"Catalonia\"). Many countries don't use an administrative area in postal addresses. For example in Switzerland this should be left unpopulated.", +"type": "string" +}, +"languageCode": { +"description": "Optional. BCP-47 language code of the contents of this address (if known). This is often the UI language of the input form or is expected to match one of the languages used in the address' country/region, or their transliterated equivalents. This can affect formatting in certain countries, but is not critical to the correctness of the data and will never affect any validation or other non-formatting related operations. If this value is not known, it should be omitted (rather than specifying a possibly incorrect default). Examples: \"zh-Hant\", \"ja\", \"ja-Latn\", \"en\".", +"type": "string" +}, +"locality": { +"description": "Optional. Generally refers to the city/town portion of the address. Examples: US city, IT comune, UK post town. In regions of the world where localities are not well defined or do not fit into this structure well, leave locality empty and use address_lines.", +"type": "string" +}, +"organization": { +"description": "Optional. The name of the organization at the address.", +"type": "string" +}, +"postalCode": { +"description": "Optional. Postal code of the address. Not all countries use or require postal codes to be present, but where they are used, they may trigger additional validation with other parts of the address (For example state/zip validation in the U.S.A.).", +"type": "string" +}, +"recipients": { +"description": "Optional. The recipient at the address. This field may, under certain circumstances, contain multiline information. For example, it might contain \"care of\" information.", +"items": { +"type": "string" +}, +"type": "array" +}, +"regionCode": { +"description": "Required. CLDR region code of the country/region of the address. This is never inferred and it is up to the user to ensure the value is correct. See https://cldr.unicode.org/ and https://www.unicode.org/cldr/charts/30/supplemental/territory_information.html for details. Example: \"CH\" for Switzerland.", +"type": "string" +}, +"revision": { +"description": "The schema revision of the `PostalAddress`. This must be set to 0, which is the latest revision. All new revisions **must** be backward compatible with old revisions.", +"format": "int32", +"type": "integer" +}, +"sortingCode": { +"description": "Optional. Additional, country-specific, sorting code. This is not used in most regions. Where it is used, the value is either a string like \"CEDEX\", optionally followed by a number (For example \"CEDEX 7\"), or just a number alone, representing the \"sector code\" (Jamaica), \"delivery area indicator\" (Malawi) or \"post office indicator\" (For example C\u00f4te d'Ivoire).", +"type": "string" +}, +"sublocality": { +"description": "Optional. Sublocality of the address. For example, this can be neighborhoods, boroughs, districts.", +"type": "string" +} +}, +"type": "object" +}, +"ProcessingOptions": { +"description": "Options for job processing.", +"id": "ProcessingOptions", +"properties": { +"disableStreetAddressResolution": { +"description": "If set to `true`, the service does not attempt to resolve a more precise address for the job.", +"type": "boolean" +}, +"htmlSanitization": { +"description": "Option for job HTML content sanitization. Applied fields are: * description * applicationInfo.instruction * incentives * qualifications * responsibilities HTML tags in these fields may be stripped if sanitiazation isn't disabled. Defaults to HtmlSanitization.SIMPLE_FORMATTING_ONLY.", +"enum": [ +"HTML_SANITIZATION_UNSPECIFIED", +"HTML_SANITIZATION_DISABLED", +"SIMPLE_FORMATTING_ONLY" +], +"enumDescriptions": [ +"Default value.", +"Disables sanitization on HTML input.", +"Sanitizes HTML input, only accepts bold, italic, ordered list, and unordered list markup tags." +], +"type": "string" +} +}, +"type": "object" +}, +"RequestMetadata": { +"description": "Meta information related to the job searcher or entity conducting the job search. This information is used to improve the performance of the service.", +"id": "RequestMetadata", +"properties": { +"allowMissingIds": { +"description": "Only set when any of domain, session_id and user_id isn't available for some reason. It is highly recommended not to set this field and provide accurate domain, session_id and user_id for the best service experience.", +"type": "boolean" +}, +"deviceInfo": { +"$ref": "DeviceInfo", +"description": "The type of device used by the job seeker at the time of the call to the service." +}, +"domain": { +"description": "Required if allow_missing_ids is unset or `false`. The client-defined scope or source of the service call, which typically is the domain on which the service has been implemented and is currently being run. For example, if the service is being run by client *Foo, Inc.*, on job board www.foo.com and career site www.bar.com, then this field is set to \"foo.com\" for use on the job board, and \"bar.com\" for use on the career site. Note that any improvements to the model for a particular tenant site rely on this field being set correctly to a unique domain. The maximum number of allowed characters is 255.", +"type": "string" +}, +"sessionId": { +"description": "Required if allow_missing_ids is unset or `false`. A unique session identification string. A session is defined as the duration of an end user's interaction with the service over a certain period. Obfuscate this field for privacy concerns before providing it to the service. Note that any improvements to the model for a particular tenant site rely on this field being set correctly to a unique session ID. The maximum number of allowed characters is 255.", +"type": "string" +}, +"userId": { +"description": "Required if allow_missing_ids is unset or `false`. A unique user identification string, as determined by the client. To have the strongest positive impact on search quality make sure the client-level is unique. Obfuscate this field for privacy concerns before providing it to the service. Note that any improvements to the model for a particular tenant site rely on this field being set correctly to a unique user ID. The maximum number of allowed characters is 255.", +"type": "string" +} +}, +"type": "object" +}, +"ResponseMetadata": { +"description": "Additional information returned to client, such as debugging information.", +"id": "ResponseMetadata", +"properties": { +"requestId": { +"description": "A unique id associated with this call. This id is logged for tracking purposes.", +"type": "string" +} +}, +"type": "object" +}, +"SearchJobsRequest": { +"description": "The Request body of the `SearchJobs` call.", +"id": "SearchJobsRequest", +"properties": { +"customRankingInfo": { +"$ref": "CustomRankingInfo", +"description": "Controls over how job documents get ranked on top of existing relevance score (determined by API algorithm)." +}, +"disableKeywordMatch": { +"deprecated": true, +"description": "This field is deprecated. Please use SearchJobsRequest.keyword_match_mode going forward. To migrate, disable_keyword_match set to false maps to KeywordMatchMode.KEYWORD_MATCH_ALL, and disable_keyword_match set to true maps to KeywordMatchMode.KEYWORD_MATCH_DISABLED. If SearchJobsRequest.keyword_match_mode is set, this field is ignored. Controls whether to disable exact keyword match on Job.title, Job.description, Job.company_display_name, Job.addresses, Job.qualifications. When disable keyword match is turned off, a keyword match returns jobs that do not match given category filters when there are matching keywords. For example, for the query \"program manager,\" a result is returned even if the job posting has the title \"software developer,\" which doesn't fall into \"program manager\" ontology, but does have \"program manager\" appearing in its description. For queries like \"cloud\" that don't contain title or location specific ontology, jobs with \"cloud\" keyword matches are returned regardless of this flag's value. Use Company.keyword_searchable_job_custom_attributes if company-specific globally matched custom field/attribute string values are needed. Enabling keyword match improves recall of subsequent search requests. Defaults to false.", +"type": "boolean" +}, +"diversificationLevel": { +"description": "Controls whether highly similar jobs are returned next to each other in the search results. Jobs are identified as highly similar based on their titles, job categories, and locations. Highly similar results are clustered so that only one representative job of the cluster is displayed to the job seeker higher up in the results, with the other jobs being displayed lower down in the results. Defaults to DiversificationLevel.SIMPLE if no value is specified.", +"enum": [ +"DIVERSIFICATION_LEVEL_UNSPECIFIED", +"DISABLED", +"SIMPLE", +"ONE_PER_COMPANY", +"TWO_PER_COMPANY", +"MAX_THREE_PER_COMPANY", +"DIVERSIFY_BY_LOOSER_SIMILARITY" +], +"enumDescriptions": [ +"The diversification level isn't specified.", +"Disables diversification. Jobs that would normally be pushed to the last page would not have their positions altered. This may result in highly similar jobs appearing in sequence in the search results.", +"Default diversifying behavior. The result list is ordered so that highly similar results are pushed to the end of the last page of search results.", +"Only one job from the same company will be shown at once, other jobs under same company are pushed to the end of the last page of search result.", +"Similar to ONE_PER_COMPANY, but it allows at most two jobs in the same company to be shown at once, the other jobs under same company are pushed to the end of the last page of search result.", +"Similar to ONE_PER_COMPANY, but it allows at most three jobs in the same company to be shown at once, the other jobs under same company are dropped.", +"The result list is ordered such that somewhat similar results are pushed to the end of the last page of the search results. This option is recommended if SIMPLE diversification does not diversify enough." +], +"type": "string" +}, +"enableBroadening": { +"description": "Controls whether to broaden the search when it produces sparse results. Broadened queries append results to the end of the matching results list. Defaults to false.", +"type": "boolean" +}, +"histogramQueries": { +"description": "An expression specifies a histogram request against matching jobs. Expression syntax is an aggregation function call with histogram facets and other options. Available aggregation function calls are: * `count(string_histogram_facet)`: Count the number of matching entities, for each distinct attribute value. * `count(numeric_histogram_facet, list of buckets)`: Count the number of matching entities within each bucket. A maximum of 200 histogram buckets are supported. Data types: * Histogram facet: facet names with format `a-zA-Z+`. * String: string like \"any string with backslash escape for quote(\\\").\" * Number: whole number and floating point number like 10, -1 and -0.01. * List: list of elements with comma(,) separator surrounded by square brackets, for example, [1, 2, 3] and [\"one\", \"two\", \"three\"]. Built-in constants: * MIN (minimum number similar to java Double.MIN_VALUE) * MAX (maximum number similar to java Double.MAX_VALUE) Built-in functions: * bucket(start, end[, label]): bucket built-in function creates a bucket with range of start, end). Note that the end is exclusive, for example, bucket(1, MAX, \"positive number\") or bucket(1, 10). Job histogram facets: * company_display_name: histogram by [Job.company_display_name. * employment_type: histogram by Job.employment_types, for example, \"FULL_TIME\", \"PART_TIME\". * company_size (DEPRECATED): histogram by CompanySize, for example, \"SMALL\", \"MEDIUM\", \"BIG\". * publish_time_in_day: histogram by the Job.posting_publish_time in days. Must specify list of numeric buckets in spec. * publish_time_in_month: histogram by the Job.posting_publish_time in months. Must specify list of numeric buckets in spec. * publish_time_in_year: histogram by the Job.posting_publish_time in years. Must specify list of numeric buckets in spec. * degree_types: histogram by the Job.degree_types, for example, \"Bachelors\", \"Masters\". * job_level: histogram by the Job.job_level, for example, \"Entry Level\". * country: histogram by the country code of jobs, for example, \"US\", \"FR\". * admin1: histogram by the admin1 code of jobs, which is a global placeholder referring to the state, province, or the particular term a country uses to define the geographic structure below the country level, for example, \"CA\", \"IL\". * city: histogram by a combination of the \"city name, admin1 code\". For example, \"Mountain View, CA\", \"New York, NY\". * admin1_country: histogram by a combination of the \"admin1 code, country\", for example, \"CA, US\", \"IL, US\". * city_coordinate: histogram by the city center's GPS coordinates (latitude and longitude), for example, 37.4038522,-122.0987765. Since the coordinates of a city center can change, customers may need to refresh them periodically. * locale: histogram by the Job.language_code, for example, \"en-US\", \"fr-FR\". * language: histogram by the language subtag of the Job.language_code, for example, \"en\", \"fr\". * category: histogram by the JobCategory, for example, \"COMPUTER_AND_IT\", \"HEALTHCARE\". * base_compensation_unit: histogram by the CompensationInfo.CompensationUnit of base salary, for example, \"WEEKLY\", \"MONTHLY\". * base_compensation: histogram by the base salary. Must specify list of numeric buckets to group results by. * annualized_base_compensation: histogram by the base annualized salary. Must specify list of numeric buckets to group results by. * annualized_total_compensation: histogram by the total annualized salary. Must specify list of numeric buckets to group results by. * string_custom_attribute: histogram by string Job.custom_attributes. Values can be accessed via square bracket notations like string_custom_attribute[\"key1\"]. * numeric_custom_attribute: histogram by numeric Job.custom_attributes. Values can be accessed via square bracket notations like numeric_custom_attribute[\"key1\"]. Must specify list of numeric buckets to group results by. Example expressions: * `count(admin1)` * `count(base_compensation, [bucket(1000, 10000), bucket(10000, 100000), bucket(100000, MAX)])` * `count(string_custom_attribute[\"some-string-custom-attribute\"])` * `count(numeric_custom_attribute[\"some-numeric-custom-attribute\"], [bucket(MIN, 0, \"negative\"), bucket(0, MAX, \"non-negative\")])`", +"items": { +"$ref": "HistogramQuery" +}, +"type": "array" +}, +"jobQuery": { +"$ref": "JobQuery", +"description": "Query used to search against jobs, such as keyword, location filters, etc." +}, +"jobView": { +"description": "The desired job attributes returned for jobs in the search response. Defaults to JobView.JOB_VIEW_SMALL if no value is specified.", +"enum": [ +"JOB_VIEW_UNSPECIFIED", +"JOB_VIEW_ID_ONLY", +"JOB_VIEW_MINIMAL", +"JOB_VIEW_SMALL", +"JOB_VIEW_FULL" +], +"enumDescriptions": [ +"Default value.", +"A ID only view of job, with following attributes: Job.name, Job.requisition_id, Job.language_code.", +"A minimal view of the job, with the following attributes: Job.name, Job.requisition_id, Job.title, Job.company, Job.DerivedInfo.locations, Job.language_code.", +"A small view of the job, with the following attributes in the search results: Job.name, Job.requisition_id, Job.title, Job.company, Job.DerivedInfo.locations, Job.visibility, Job.language_code, Job.description.", +"All available attributes are included in the search results." +], +"type": "string" +}, +"keywordMatchMode": { +"description": "Controls what keyword match options to use. If both keyword_match_mode and disable_keyword_match are set, keyword_match_mode will take precedence. Defaults to KeywordMatchMode.KEYWORD_MATCH_ALL if no value is specified.", +"enum": [ +"KEYWORD_MATCH_MODE_UNSPECIFIED", +"KEYWORD_MATCH_DISABLED", +"KEYWORD_MATCH_ALL", +"KEYWORD_MATCH_TITLE_ONLY" +], +"enumDescriptions": [ +"The keyword match option isn't specified. Defaults to KeywordMatchMode.KEYWORD_MATCH_ALL behavior.", +"Disables keyword matching.", +"Enable keyword matching over Job.title, Job.description, Job.company_display_name, Job.addresses, Job.qualifications, and keyword searchable Job.custom_attributes fields.", +"Only enable keyword matching over Job.title." +], +"type": "string" +}, +"maxPageSize": { +"description": "A limit on the number of jobs returned in the search results. Increasing this value above the default value of 10 can increase search response time. The value can be between 1 and 100.", +"format": "int32", +"type": "integer" +}, +"offset": { +"description": "An integer that specifies the current offset (that is, starting result location, amongst the jobs deemed by the API as relevant) in search results. This field is only considered if page_token is unset. The maximum allowed value is 5000. Otherwise an error is thrown. For example, 0 means to return results starting from the first matching job, and 10 means to return from the 11th job. This can be used for pagination, (for example, pageSize = 10 and offset = 10 means to return from the second page).", +"format": "int32", +"type": "integer" +}, +"orderBy": { +"description": "The criteria determining how search results are sorted. Default is `\"relevance desc\"`. Supported options are: * `\"relevance desc\"`: By relevance descending, as determined by the API algorithms. Relevance thresholding of query results is only available with this ordering. * `\"posting_publish_time desc\"`: By Job.posting_publish_time descending. * `\"posting_update_time desc\"`: By Job.posting_update_time descending. * `\"title\"`: By Job.title ascending. * `\"title desc\"`: By Job.title descending. * `\"annualized_base_compensation\"`: By job's CompensationInfo.annualized_base_compensation_range ascending. Jobs whose annualized base compensation is unspecified are put at the end of search results. * `\"annualized_base_compensation desc\"`: By job's CompensationInfo.annualized_base_compensation_range descending. Jobs whose annualized base compensation is unspecified are put at the end of search results. * `\"annualized_total_compensation\"`: By job's CompensationInfo.annualized_total_compensation_range ascending. Jobs whose annualized base compensation is unspecified are put at the end of search results. * `\"annualized_total_compensation desc\"`: By job's CompensationInfo.annualized_total_compensation_range descending. Jobs whose annualized base compensation is unspecified are put at the end of search results. * `\"custom_ranking desc\"`: By the relevance score adjusted to the SearchJobsRequest.CustomRankingInfo.ranking_expression with weight factor assigned by SearchJobsRequest.CustomRankingInfo.importance_level in descending order. * Location sorting: Use the special syntax to order jobs by distance: `\"distance_from('Hawaii')\"`: Order by distance from Hawaii. `\"distance_from(19.89, 155.5)\"`: Order by distance from a coordinate. `\"distance_from('Hawaii'), distance_from('Puerto Rico')\"`: Order by multiple locations. See details below. `\"distance_from('Hawaii'), distance_from(19.89, 155.5)\"`: Order by multiple locations. See details below. The string can have a maximum of 256 characters. When multiple distance centers are provided, a job that is close to any of the distance centers would have a high rank. When a job has multiple locations, the job location closest to one of the distance centers will be used. Jobs that don't have locations will be ranked at the bottom. Distance is calculated with a precision of 11.3 meters (37.4 feet). Diversification strategy is still applied unless explicitly disabled in diversification_level.", +"type": "string" +}, +"pageToken": { +"description": "The token specifying the current offset within search results. See SearchJobsResponse.next_page_token for an explanation of how to obtain the next set of query results.", +"type": "string" +}, +"relevanceThreshold": { +"description": "Optional. The relevance threshold of the search results. Default to Google defined threshold, leveraging a balance of precision and recall to deliver both highly accurate results and comprehensive coverage of relevant information.", +"enum": [ +"RELEVANCE_THRESHOLD_UNSPECIFIED", +"LOWEST", +"LOW", +"MEDIUM", +"HIGH" +], +"enumDescriptions": [ +"Default value. In this case, server behavior defaults to Google defined threshold.", +"Lowest relevance threshold.", +"Low relevance threshold.", +"Medium relevance threshold.", +"High relevance threshold." +], +"type": "string" +}, +"requestMetadata": { +"$ref": "RequestMetadata", +"description": "Required. The meta information collected about the job searcher, used to improve the search quality of the service. The identifiers (such as `user_id`) are provided by users, and must be unique and consistent." +}, +"searchMode": { +"description": "Mode of a search. Defaults to SearchMode.JOB_SEARCH.", +"enum": [ +"SEARCH_MODE_UNSPECIFIED", +"JOB_SEARCH", +"FEATURED_JOB_SEARCH" +], +"enumDescriptions": [ +"The mode of the search method isn't specified. The default search behavior is identical to JOB_SEARCH search behavior.", +"The job search matches against all jobs, and featured jobs (jobs with promotionValue > 0) are not specially handled.", +"The job search matches only against featured jobs (jobs with a promotionValue > 0). This method doesn't return any jobs having a promotionValue <= 0. The search results order is determined by the promotionValue (jobs with a higher promotionValue are returned higher up in the search results), with relevance being used as a tiebreaker." +], +"type": "string" +} +}, +"type": "object" +}, +"SearchJobsResponse": { +"description": "Response for SearchJob method.", +"id": "SearchJobsResponse", +"properties": { +"broadenedQueryJobsCount": { +"description": "If query broadening is enabled, we may append additional results from the broadened query. This number indicates how many of the jobs returned in the jobs field are from the broadened query. These results are always at the end of the jobs list. In particular, a value of 0, or if the field isn't set, all the jobs in the jobs list are from the original (without broadening) query. If this field is non-zero, subsequent requests with offset after this result set should contain all broadened results.", +"format": "int32", +"type": "integer" +}, +"histogramQueryResults": { +"description": "The histogram results that match with specified SearchJobsRequest.histogram_queries.", +"items": { +"$ref": "HistogramQueryResult" +}, +"type": "array" +}, +"locationFilters": { +"description": "The location filters that the service applied to the specified query. If any filters are lat-lng based, the Location.location_type is Location.LocationType.LOCATION_TYPE_UNSPECIFIED.", +"items": { +"$ref": "Location" +}, +"type": "array" +}, +"matchingJobs": { +"description": "The Job entities that match the specified SearchJobsRequest.", +"items": { +"$ref": "MatchingJob" +}, +"type": "array" +}, +"metadata": { +"$ref": "ResponseMetadata", +"description": "Additional information for the API invocation, such as the request tracking id." +}, +"nextPageToken": { +"description": "The token that specifies the starting position of the next page of results. This field is empty if there are no more results.", +"type": "string" +}, +"spellCorrection": { +"$ref": "SpellingCorrection", +"description": "The spell checking result, and correction." +}, +"totalSize": { +"description": "Number of jobs that match the specified query. Note: This size is precise only if the total is less than 100,000.", +"format": "int32", +"type": "integer" +} +}, +"type": "object" +}, +"SpellingCorrection": { +"description": "Spell check result.", +"id": "SpellingCorrection", +"properties": { +"corrected": { +"description": "Indicates if the query was corrected by the spell checker.", +"type": "boolean" +}, +"correctedHtml": { +"description": "Corrected output with html tags to highlight the corrected words. Corrected words are called out with the \"*...*\" html tags. For example, the user input query is \"software enginear\", where the second word, \"enginear,\" is incorrect. It should be \"engineer\". When spelling correction is enabled, this value is \"software *engineer*\".", +"type": "string" +}, +"correctedText": { +"description": "Correction output consisting of the corrected keyword string.", +"type": "string" +} +}, +"type": "object" +}, +"Status": { +"description": "The `Status` type defines a logical error model that is suitable for different programming environments, including REST APIs and RPC APIs. It is used by [gRPC](https://github.com/grpc). Each `Status` message contains three pieces of data: error code, error message, and error details. You can find out more about this error model and how to work with it in the [API Design Guide](https://cloud.google.com/apis/design/errors).", +"id": "Status", +"properties": { +"code": { +"description": "The status code, which should be an enum value of google.rpc.Code.", +"format": "int32", +"type": "integer" +}, +"details": { +"description": "A list of messages that carry the error details. There is a common set of message types for APIs to use.", +"items": { +"additionalProperties": { +"description": "Properties of the object. Contains field @type with type URL.", +"type": "any" +}, +"type": "object" +}, +"type": "array" +}, +"message": { +"description": "A developer-facing error message, which should be in English. Any user-facing error message should be localized and sent in the google.rpc.Status.details field, or localized by the client.", +"type": "string" +} +}, +"type": "object" +}, +"Tenant": { +"description": "A Tenant resource represents a tenant in the service. A tenant is a group or entity that shares common access with specific privileges for resources like jobs. Customer may create multiple tenants to provide data isolation for different groups.", +"id": "Tenant", +"properties": { +"externalId": { +"description": "Required. Client side tenant identifier, used to uniquely identify the tenant. The maximum number of allowed characters is 255.", +"type": "string" +}, +"name": { +"description": "Required during tenant update. The resource name for a tenant. This is generated by the service when a tenant is created. The format is \"projects/{project_id}/tenants/{tenant_id}\", for example, \"projects/foo/tenants/bar\".", +"type": "string" +} +}, +"type": "object" +}, +"TimeOfDay": { +"description": "Represents a time of day. The date and time zone are either not significant or are specified elsewhere. An API may choose to allow leap seconds. Related types are google.type.Date and `google.protobuf.Timestamp`.", +"id": "TimeOfDay", +"properties": { +"hours": { +"description": "Hours of a day in 24 hour format. Must be greater than or equal to 0 and typically must be less than or equal to 23. An API may choose to allow the value \"24:00:00\" for scenarios like business closing time.", +"format": "int32", +"type": "integer" +}, +"minutes": { +"description": "Minutes of an hour. Must be greater than or equal to 0 and less than or equal to 59.", +"format": "int32", +"type": "integer" +}, +"nanos": { +"description": "Fractions of seconds, in nanoseconds. Must be greater than or equal to 0 and less than or equal to 999,999,999.", +"format": "int32", +"type": "integer" +}, +"seconds": { +"description": "Seconds of a minute. Must be greater than or equal to 0 and typically must be less than or equal to 59. An API may allow the value 60 if it allows leap-seconds.", +"format": "int32", +"type": "integer" +} +}, +"type": "object" +}, +"TimestampRange": { +"description": "Message representing a period of time between two timestamps.", +"id": "TimestampRange", +"properties": { +"endTime": { +"description": "End of the period (exclusive).", +"format": "google-datetime", +"type": "string" +}, +"startTime": { +"description": "Begin of the period (inclusive).", +"format": "google-datetime", +"type": "string" +} +}, +"type": "object" +} +}, +"servicePath": "", +"title": "Cloud Talent Solution API", +"version": "v4", +"version_module": true +} \ No newline at end of file diff --git a/.venv/lib/python3.11/site-packages/googleapiclient/discovery_cache/documents/keep.v1.json b/.venv/lib/python3.11/site-packages/googleapiclient/discovery_cache/documents/keep.v1.json new file mode 100644 index 0000000000000000000000000000000000000000..edc6de62f564efa05cb27287fc9c1693c4a311e5 --- /dev/null +++ b/.venv/lib/python3.11/site-packages/googleapiclient/discovery_cache/documents/keep.v1.json @@ -0,0 +1,623 @@ +{ +"auth": { +"oauth2": { +"scopes": { +"https://www.googleapis.com/auth/keep": { +"description": "See, edit, create and permanently delete all your Google Keep data" +}, +"https://www.googleapis.com/auth/keep.readonly": { +"description": "View all your Google Keep data" +} +} +} +}, +"basePath": "", +"baseUrl": "https://keep.googleapis.com/", +"batchPath": "batch", +"canonicalName": "Keep", +"description": "The Google Keep API is used in an enterprise environment to manage Google Keep content and resolve issues identified by cloud security software.", +"discoveryVersion": "v1", +"documentationLink": "https://developers.google.com/keep/api", +"fullyEncodeReservedExpansion": true, +"icons": { +"x16": "http://www.google.com/images/icons/product/search-16.gif", +"x32": "http://www.google.com/images/icons/product/search-32.gif" +}, +"id": "keep:v1", +"kind": "discovery#restDescription", +"mtlsRootUrl": "https://keep.mtls.googleapis.com/", +"name": "keep", +"ownerDomain": "google.com", +"ownerName": "Google", +"parameters": { +"$.xgafv": { +"description": "V1 error format.", +"enum": [ +"1", +"2" +], +"enumDescriptions": [ +"v1 error format", +"v2 error format" +], +"location": "query", +"type": "string" +}, +"access_token": { +"description": "OAuth access token.", +"location": "query", +"type": "string" +}, +"alt": { +"default": "json", +"description": "Data format for response.", +"enum": [ +"json", +"media", +"proto" +], +"enumDescriptions": [ +"Responses with Content-Type of application/json", +"Media download with context-dependent Content-Type", +"Responses with Content-Type of application/x-protobuf" +], +"location": "query", +"type": "string" +}, +"callback": { +"description": "JSONP", +"location": "query", +"type": "string" +}, +"fields": { +"description": "Selector specifying which fields to include in a partial response.", +"location": "query", +"type": "string" +}, +"key": { +"description": "API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token.", +"location": "query", +"type": "string" +}, +"oauth_token": { +"description": "OAuth 2.0 token for the current user.", +"location": "query", +"type": "string" +}, +"prettyPrint": { +"default": "true", +"description": "Returns response with indentations and line breaks.", +"location": "query", +"type": "boolean" +}, +"quotaUser": { +"description": "Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters.", +"location": "query", +"type": "string" +}, +"uploadType": { +"description": "Legacy upload protocol for media (e.g. \"media\", \"multipart\").", +"location": "query", +"type": "string" +}, +"upload_protocol": { +"description": "Upload protocol for media (e.g. \"raw\", \"multipart\").", +"location": "query", +"type": "string" +} +}, +"protocol": "rest", +"resources": { +"media": { +"methods": { +"download": { +"description": "Gets an attachment. To download attachment media via REST requires the alt=media query parameter. Returns a 400 bad request error if attachment media is not available in the requested MIME type.", +"flatPath": "v1/notes/{notesId}/attachments/{attachmentsId}", +"httpMethod": "GET", +"id": "keep.media.download", +"parameterOrder": [ +"name" +], +"parameters": { +"mimeType": { +"description": "The IANA MIME type format requested. The requested MIME type must be one specified in the attachment.mime_type. Required when downloading attachment media and ignored otherwise.", +"location": "query", +"type": "string" +}, +"name": { +"description": "Required. The name of the attachment.", +"location": "path", +"pattern": "^notes/[^/]+/attachments/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+name}", +"response": { +"$ref": "Attachment" +}, +"scopes": [ +"https://www.googleapis.com/auth/keep", +"https://www.googleapis.com/auth/keep.readonly" +], +"supportsMediaDownload": true, +"useMediaDownloadService": true +} +} +}, +"notes": { +"methods": { +"create": { +"description": "Creates a new note.", +"flatPath": "v1/notes", +"httpMethod": "POST", +"id": "keep.notes.create", +"parameterOrder": [], +"parameters": {}, +"path": "v1/notes", +"request": { +"$ref": "Note" +}, +"response": { +"$ref": "Note" +}, +"scopes": [ +"https://www.googleapis.com/auth/keep" +] +}, +"delete": { +"description": "Deletes a note. Caller must have the `OWNER` role on the note to delete. Deleting a note removes the resource immediately and cannot be undone. Any collaborators will lose access to the note.", +"flatPath": "v1/notes/{notesId}", +"httpMethod": "DELETE", +"id": "keep.notes.delete", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. Name of the note to delete.", +"location": "path", +"pattern": "^notes/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+name}", +"response": { +"$ref": "Empty" +}, +"scopes": [ +"https://www.googleapis.com/auth/keep" +] +}, +"get": { +"description": "Gets a note.", +"flatPath": "v1/notes/{notesId}", +"httpMethod": "GET", +"id": "keep.notes.get", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. Name of the resource.", +"location": "path", +"pattern": "^notes/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+name}", +"response": { +"$ref": "Note" +}, +"scopes": [ +"https://www.googleapis.com/auth/keep", +"https://www.googleapis.com/auth/keep.readonly" +] +}, +"list": { +"description": "Lists notes. Every list call returns a page of results with `page_size` as the upper bound of returned items. A `page_size` of zero allows the server to choose the upper bound. The ListNotesResponse contains at most `page_size` entries. If there are more things left to list, it provides a `next_page_token` value. (Page tokens are opaque values.) To get the next page of results, copy the result's `next_page_token` into the next request's `page_token`. Repeat until the `next_page_token` returned with a page of results is empty. ListNotes return consistent results in the face of concurrent changes, or signals that it cannot with an ABORTED error.", +"flatPath": "v1/notes", +"httpMethod": "GET", +"id": "keep.notes.list", +"parameterOrder": [], +"parameters": { +"filter": { +"description": "Filter for list results. If no filter is supplied, the `trashed` filter is applied by default. Valid fields to filter by are: `create_time`, `update_time`, `trash_time`, and `trashed`. Filter syntax follows the [Google AIP filtering spec](https://aip.dev/160).", +"location": "query", +"type": "string" +}, +"pageSize": { +"description": "The maximum number of results to return.", +"format": "int32", +"location": "query", +"type": "integer" +}, +"pageToken": { +"description": "The previous page's `next_page_token` field.", +"location": "query", +"type": "string" +} +}, +"path": "v1/notes", +"response": { +"$ref": "ListNotesResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/keep", +"https://www.googleapis.com/auth/keep.readonly" +] +} +}, +"resources": { +"permissions": { +"methods": { +"batchCreate": { +"description": "Creates one or more permissions on the note. Only permissions with the `WRITER` role may be created. If adding any permission fails, then the entire request fails and no changes are made.", +"flatPath": "v1/notes/{notesId}/permissions:batchCreate", +"httpMethod": "POST", +"id": "keep.notes.permissions.batchCreate", +"parameterOrder": [ +"parent" +], +"parameters": { +"parent": { +"description": "The parent resource shared by all Permissions being created. Format: `notes/{note}` If this is set, the parent field in the CreatePermission messages must either be empty or match this field.", +"location": "path", +"pattern": "^notes/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+parent}/permissions:batchCreate", +"request": { +"$ref": "BatchCreatePermissionsRequest" +}, +"response": { +"$ref": "BatchCreatePermissionsResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/keep" +] +}, +"batchDelete": { +"description": "Deletes one or more permissions on the note. The specified entities will immediately lose access. A permission with the `OWNER` role can't be removed. If removing a permission fails, then the entire request fails and no changes are made. Returns a 400 bad request error if a specified permission does not exist on the note.", +"flatPath": "v1/notes/{notesId}/permissions:batchDelete", +"httpMethod": "POST", +"id": "keep.notes.permissions.batchDelete", +"parameterOrder": [ +"parent" +], +"parameters": { +"parent": { +"description": "The parent resource shared by all permissions being deleted. Format: `notes/{note}` If this is set, the parent of all of the permissions specified in the DeletePermissionRequest messages must match this field.", +"location": "path", +"pattern": "^notes/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+parent}/permissions:batchDelete", +"request": { +"$ref": "BatchDeletePermissionsRequest" +}, +"response": { +"$ref": "Empty" +}, +"scopes": [ +"https://www.googleapis.com/auth/keep" +] +} +} +} +} +} +}, +"revision": "20240702", +"rootUrl": "https://keep.googleapis.com/", +"schemas": { +"Attachment": { +"description": "An attachment to a note.", +"id": "Attachment", +"properties": { +"mimeType": { +"description": "The MIME types (IANA media types) in which the attachment is available.", +"items": { +"type": "string" +}, +"type": "array" +}, +"name": { +"description": "The resource name;", +"type": "string" +} +}, +"type": "object" +}, +"BatchCreatePermissionsRequest": { +"description": "The request to add one or more permissions on the note. Currently, only the `WRITER` role may be specified. If adding a permission fails, then the entire request fails and no changes are made.", +"id": "BatchCreatePermissionsRequest", +"properties": { +"requests": { +"description": "The request message specifying the resources to create.", +"items": { +"$ref": "CreatePermissionRequest" +}, +"type": "array" +} +}, +"type": "object" +}, +"BatchCreatePermissionsResponse": { +"description": "The response for creating permissions on a note.", +"id": "BatchCreatePermissionsResponse", +"properties": { +"permissions": { +"description": "Permissions created.", +"items": { +"$ref": "Permission" +}, +"type": "array" +} +}, +"type": "object" +}, +"BatchDeletePermissionsRequest": { +"description": "The request to remove one or more permissions from a note. A permission with the `OWNER` role can't be removed. If removing a permission fails, then the entire request fails and no changes are made. Returns a 400 bad request error if a specified permission does not exist on the note.", +"id": "BatchDeletePermissionsRequest", +"properties": { +"names": { +"description": "Required. The names of the permissions to delete. Format: `notes/{note}/permissions/{permission}`", +"items": { +"type": "string" +}, +"type": "array" +} +}, +"type": "object" +}, +"CreatePermissionRequest": { +"description": "The request to add a single permission on the note.", +"id": "CreatePermissionRequest", +"properties": { +"parent": { +"description": "Required. The parent note where this permission will be created. Format: `notes/{note}`", +"type": "string" +}, +"permission": { +"$ref": "Permission", +"description": "Required. The permission to create. One of Permission.email, User.email or Group.email must be supplied." +} +}, +"type": "object" +}, +"Empty": { +"description": "A generic empty message that you can re-use to avoid defining duplicated empty messages in your APIs. A typical example is to use it as the request or the response type of an API method. For instance: service Foo { rpc Bar(google.protobuf.Empty) returns (google.protobuf.Empty); }", +"id": "Empty", +"properties": {}, +"type": "object" +}, +"Family": { +"description": "Describes a single Google Family.", +"id": "Family", +"properties": {}, +"type": "object" +}, +"Group": { +"description": "Describes a single Group.", +"id": "Group", +"properties": { +"email": { +"description": "The group email.", +"type": "string" +} +}, +"type": "object" +}, +"ListContent": { +"description": "The list of items for a single list note.", +"id": "ListContent", +"properties": { +"listItems": { +"description": "The items in the list. The number of items must be less than 1,000.", +"items": { +"$ref": "ListItem" +}, +"type": "array" +} +}, +"type": "object" +}, +"ListItem": { +"description": "A single list item in a note's list.", +"id": "ListItem", +"properties": { +"checked": { +"description": "Whether this item has been checked off or not.", +"type": "boolean" +}, +"childListItems": { +"description": "If set, list of list items nested under this list item. Only one level of nesting is allowed.", +"items": { +"$ref": "ListItem" +}, +"type": "array" +}, +"text": { +"$ref": "TextContent", +"description": "The text of this item. Length must be less than 1,000 characters." +} +}, +"type": "object" +}, +"ListNotesResponse": { +"description": "The response when listing a page of notes.", +"id": "ListNotesResponse", +"properties": { +"nextPageToken": { +"description": "Next page's `page_token` field.", +"type": "string" +}, +"notes": { +"description": "A page of notes.", +"items": { +"$ref": "Note" +}, +"type": "array" +} +}, +"type": "object" +}, +"Note": { +"description": "A single note.", +"id": "Note", +"properties": { +"attachments": { +"description": "Output only. The attachments attached to this note.", +"items": { +"$ref": "Attachment" +}, +"readOnly": true, +"type": "array" +}, +"body": { +"$ref": "Section", +"description": "The body of the note." +}, +"createTime": { +"description": "Output only. When this note was created.", +"format": "google-datetime", +"readOnly": true, +"type": "string" +}, +"name": { +"description": "Output only. The resource name of this note. See general note on identifiers in KeepService.", +"readOnly": true, +"type": "string" +}, +"permissions": { +"description": "Output only. The list of permissions set on the note. Contains at least one entry for the note owner.", +"items": { +"$ref": "Permission" +}, +"readOnly": true, +"type": "array" +}, +"title": { +"description": "The title of the note. Length must be less than 1,000 characters.", +"type": "string" +}, +"trashTime": { +"description": "Output only. When this note was trashed. If `trashed`, the note is eventually deleted. If the note is not trashed, this field is not set (and the trashed field is `false`).", +"format": "google-datetime", +"readOnly": true, +"type": "string" +}, +"trashed": { +"description": "Output only. `true` if this note has been trashed. If trashed, the note is eventually deleted.", +"readOnly": true, +"type": "boolean" +}, +"updateTime": { +"description": "Output only. When this note was last modified.", +"format": "google-datetime", +"readOnly": true, +"type": "string" +} +}, +"type": "object" +}, +"Permission": { +"description": "A single permission on the note. Associates a `member` with a `role`.", +"id": "Permission", +"properties": { +"deleted": { +"description": "Output only. Whether this member has been deleted. If the member is recovered, this value is set to false and the recovered member retains the role on the note.", +"readOnly": true, +"type": "boolean" +}, +"email": { +"description": "The email associated with the member. If set on create, the `email` field in the `User` or `Group` message must either be empty or match this field. On read, may be unset if the member does not have an associated email.", +"type": "string" +}, +"family": { +"$ref": "Family", +"description": "Output only. The Google Family to which this role applies.", +"readOnly": true +}, +"group": { +"$ref": "Group", +"description": "Output only. The group to which this role applies.", +"readOnly": true +}, +"name": { +"description": "Output only. The resource name.", +"readOnly": true, +"type": "string" +}, +"role": { +"description": "The role granted by this permission. The role determines the entity\u2019s ability to read, write, and share notes.", +"enum": [ +"ROLE_UNSPECIFIED", +"OWNER", +"WRITER" +], +"enumDescriptions": [ +"An undefined role.", +"A role granting full access. This role cannot be added or removed. Defined by the creator of the note.", +"A role granting the ability to contribute content and modify note permissions." +], +"type": "string" +}, +"user": { +"$ref": "User", +"description": "Output only. The user to whom this role applies.", +"readOnly": true +} +}, +"type": "object" +}, +"Section": { +"description": "The content of the note.", +"id": "Section", +"properties": { +"list": { +"$ref": "ListContent", +"description": "Used if this section's content is a list." +}, +"text": { +"$ref": "TextContent", +"description": "Used if this section's content is a block of text. The length of the text content must be less than 20,000 characters." +} +}, +"type": "object" +}, +"TextContent": { +"description": "The block of text for a single text section or list item.", +"id": "TextContent", +"properties": { +"text": { +"description": "The text of the note. The limits on this vary with the specific field using this type.", +"type": "string" +} +}, +"type": "object" +}, +"User": { +"description": "Describes a single user.", +"id": "User", +"properties": { +"email": { +"description": "The user's email.", +"type": "string" +} +}, +"type": "object" +} +}, +"servicePath": "", +"title": "Google Keep API", +"version": "v1", +"version_module": true +} \ No newline at end of file diff --git a/.venv/lib/python3.11/site-packages/googleapiclient/discovery_cache/documents/language.v1.json b/.venv/lib/python3.11/site-packages/googleapiclient/discovery_cache/documents/language.v1.json new file mode 100644 index 0000000000000000000000000000000000000000..48567bcaa3cb2a80643c0720cb827ea9a2be88ed --- /dev/null +++ b/.venv/lib/python3.11/site-packages/googleapiclient/discovery_cache/documents/language.v1.json @@ -0,0 +1,5703 @@ +{ +"auth": { +"oauth2": { +"scopes": { +"https://www.googleapis.com/auth/cloud-language": { +"description": "Apply machine learning models to reveal the structure and meaning of text" +}, +"https://www.googleapis.com/auth/cloud-platform": { +"description": "See, edit, configure, and delete your Google Cloud data and see the email address for your Google Account." +} +} +} +}, +"basePath": "", +"baseUrl": "https://language.googleapis.com/", +"batchPath": "batch", +"canonicalName": "Cloud Natural Language", +"description": "Provides natural language understanding technologies, such as sentiment analysis, entity recognition, entity sentiment analysis, and other text annotations, to developers.", +"discoveryVersion": "v1", +"documentationLink": "https://cloud.google.com/natural-language/", +"fullyEncodeReservedExpansion": true, +"icons": { +"x16": "http://www.google.com/images/icons/product/search-16.gif", +"x32": "http://www.google.com/images/icons/product/search-32.gif" +}, +"id": "language:v1", +"kind": "discovery#restDescription", +"mtlsRootUrl": "https://language.mtls.googleapis.com/", +"name": "language", +"ownerDomain": "google.com", +"ownerName": "Google", +"parameters": { +"$.xgafv": { +"description": "V1 error format.", +"enum": [ +"1", +"2" +], +"enumDescriptions": [ +"v1 error format", +"v2 error format" +], +"location": "query", +"type": "string" +}, +"access_token": { +"description": "OAuth access token.", +"location": "query", +"type": "string" +}, +"alt": { +"default": "json", +"description": "Data format for response.", +"enum": [ +"json", +"media", +"proto" +], +"enumDescriptions": [ +"Responses with Content-Type of application/json", +"Media download with context-dependent Content-Type", +"Responses with Content-Type of application/x-protobuf" +], +"location": "query", +"type": "string" +}, +"callback": { +"description": "JSONP", +"location": "query", +"type": "string" +}, +"fields": { +"description": "Selector specifying which fields to include in a partial response.", +"location": "query", +"type": "string" +}, +"key": { +"description": "API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token.", +"location": "query", +"type": "string" +}, +"oauth_token": { +"description": "OAuth 2.0 token for the current user.", +"location": "query", +"type": "string" +}, +"prettyPrint": { +"default": "true", +"description": "Returns response with indentations and line breaks.", +"location": "query", +"type": "boolean" +}, +"quotaUser": { +"description": "Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters.", +"location": "query", +"type": "string" +}, +"uploadType": { +"description": "Legacy upload protocol for media (e.g. \"media\", \"multipart\").", +"location": "query", +"type": "string" +}, +"upload_protocol": { +"description": "Upload protocol for media (e.g. \"raw\", \"multipart\").", +"location": "query", +"type": "string" +} +}, +"protocol": "rest", +"resources": { +"documents": { +"methods": { +"analyzeEntities": { +"description": "Finds named entities (currently proper names and common nouns) in the text along with entity types, salience, mentions for each entity, and other properties.", +"flatPath": "v1/documents:analyzeEntities", +"httpMethod": "POST", +"id": "language.documents.analyzeEntities", +"parameterOrder": [], +"parameters": {}, +"path": "v1/documents:analyzeEntities", +"request": { +"$ref": "AnalyzeEntitiesRequest" +}, +"response": { +"$ref": "AnalyzeEntitiesResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-language", +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"analyzeEntitySentiment": { +"description": "Finds entities, similar to AnalyzeEntities in the text and analyzes sentiment associated with each entity and its mentions.", +"flatPath": "v1/documents:analyzeEntitySentiment", +"httpMethod": "POST", +"id": "language.documents.analyzeEntitySentiment", +"parameterOrder": [], +"parameters": {}, +"path": "v1/documents:analyzeEntitySentiment", +"request": { +"$ref": "AnalyzeEntitySentimentRequest" +}, +"response": { +"$ref": "AnalyzeEntitySentimentResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-language", +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"analyzeSentiment": { +"description": "Analyzes the sentiment of the provided text.", +"flatPath": "v1/documents:analyzeSentiment", +"httpMethod": "POST", +"id": "language.documents.analyzeSentiment", +"parameterOrder": [], +"parameters": {}, +"path": "v1/documents:analyzeSentiment", +"request": { +"$ref": "AnalyzeSentimentRequest" +}, +"response": { +"$ref": "AnalyzeSentimentResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-language", +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"analyzeSyntax": { +"description": "Analyzes the syntax of the text and provides sentence boundaries and tokenization along with part of speech tags, dependency trees, and other properties.", +"flatPath": "v1/documents:analyzeSyntax", +"httpMethod": "POST", +"id": "language.documents.analyzeSyntax", +"parameterOrder": [], +"parameters": {}, +"path": "v1/documents:analyzeSyntax", +"request": { +"$ref": "AnalyzeSyntaxRequest" +}, +"response": { +"$ref": "AnalyzeSyntaxResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-language", +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"annotateText": { +"description": "A convenience method that provides all the features that analyzeSentiment, analyzeEntities, and analyzeSyntax provide in one call.", +"flatPath": "v1/documents:annotateText", +"httpMethod": "POST", +"id": "language.documents.annotateText", +"parameterOrder": [], +"parameters": {}, +"path": "v1/documents:annotateText", +"request": { +"$ref": "AnnotateTextRequest" +}, +"response": { +"$ref": "AnnotateTextResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-language", +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"classifyText": { +"description": "Classifies a document into categories.", +"flatPath": "v1/documents:classifyText", +"httpMethod": "POST", +"id": "language.documents.classifyText", +"parameterOrder": [], +"parameters": {}, +"path": "v1/documents:classifyText", +"request": { +"$ref": "ClassifyTextRequest" +}, +"response": { +"$ref": "ClassifyTextResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-language", +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"moderateText": { +"description": "Moderates a document for harmful and sensitive categories.", +"flatPath": "v1/documents:moderateText", +"httpMethod": "POST", +"id": "language.documents.moderateText", +"parameterOrder": [], +"parameters": {}, +"path": "v1/documents:moderateText", +"request": { +"$ref": "ModerateTextRequest" +}, +"response": { +"$ref": "ModerateTextResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-language", +"https://www.googleapis.com/auth/cloud-platform" +] +} +} +} +}, +"revision": "20250105", +"rootUrl": "https://language.googleapis.com/", +"schemas": { +"AnalyzeEntitiesRequest": { +"description": "The entity analysis request message.", +"id": "AnalyzeEntitiesRequest", +"properties": { +"document": { +"$ref": "Document", +"description": "Required. Input document." +}, +"encodingType": { +"description": "The encoding type used by the API to calculate offsets.", +"enum": [ +"NONE", +"UTF8", +"UTF16", +"UTF32" +], +"enumDescriptions": [ +"If `EncodingType` is not specified, encoding-dependent information (such as `begin_offset`) will be set at `-1`.", +"Encoding-dependent information (such as `begin_offset`) is calculated based on the UTF-8 encoding of the input. C++ and Go are examples of languages that use this encoding natively.", +"Encoding-dependent information (such as `begin_offset`) is calculated based on the UTF-16 encoding of the input. Java and JavaScript are examples of languages that use this encoding natively.", +"Encoding-dependent information (such as `begin_offset`) is calculated based on the UTF-32 encoding of the input. Python is an example of a language that uses this encoding natively." +], +"type": "string" +} +}, +"type": "object" +}, +"AnalyzeEntitiesResponse": { +"description": "The entity analysis response message.", +"id": "AnalyzeEntitiesResponse", +"properties": { +"entities": { +"description": "The recognized entities in the input document.", +"items": { +"$ref": "Entity" +}, +"type": "array" +}, +"language": { +"description": "The language of the text, which will be the same as the language specified in the request or, if not specified, the automatically-detected language. See Document.language field for more details.", +"type": "string" +} +}, +"type": "object" +}, +"AnalyzeEntitySentimentRequest": { +"description": "The entity-level sentiment analysis request message.", +"id": "AnalyzeEntitySentimentRequest", +"properties": { +"document": { +"$ref": "Document", +"description": "Required. Input document." +}, +"encodingType": { +"description": "The encoding type used by the API to calculate offsets.", +"enum": [ +"NONE", +"UTF8", +"UTF16", +"UTF32" +], +"enumDescriptions": [ +"If `EncodingType` is not specified, encoding-dependent information (such as `begin_offset`) will be set at `-1`.", +"Encoding-dependent information (such as `begin_offset`) is calculated based on the UTF-8 encoding of the input. C++ and Go are examples of languages that use this encoding natively.", +"Encoding-dependent information (such as `begin_offset`) is calculated based on the UTF-16 encoding of the input. Java and JavaScript are examples of languages that use this encoding natively.", +"Encoding-dependent information (such as `begin_offset`) is calculated based on the UTF-32 encoding of the input. Python is an example of a language that uses this encoding natively." +], +"type": "string" +} +}, +"type": "object" +}, +"AnalyzeEntitySentimentResponse": { +"description": "The entity-level sentiment analysis response message.", +"id": "AnalyzeEntitySentimentResponse", +"properties": { +"entities": { +"description": "The recognized entities in the input document with associated sentiments.", +"items": { +"$ref": "Entity" +}, +"type": "array" +}, +"language": { +"description": "The language of the text, which will be the same as the language specified in the request or, if not specified, the automatically-detected language. See Document.language field for more details.", +"type": "string" +} +}, +"type": "object" +}, +"AnalyzeSentimentRequest": { +"description": "The sentiment analysis request message.", +"id": "AnalyzeSentimentRequest", +"properties": { +"document": { +"$ref": "Document", +"description": "Required. Input document." +}, +"encodingType": { +"description": "The encoding type used by the API to calculate sentence offsets.", +"enum": [ +"NONE", +"UTF8", +"UTF16", +"UTF32" +], +"enumDescriptions": [ +"If `EncodingType` is not specified, encoding-dependent information (such as `begin_offset`) will be set at `-1`.", +"Encoding-dependent information (such as `begin_offset`) is calculated based on the UTF-8 encoding of the input. C++ and Go are examples of languages that use this encoding natively.", +"Encoding-dependent information (such as `begin_offset`) is calculated based on the UTF-16 encoding of the input. Java and JavaScript are examples of languages that use this encoding natively.", +"Encoding-dependent information (such as `begin_offset`) is calculated based on the UTF-32 encoding of the input. Python is an example of a language that uses this encoding natively." +], +"type": "string" +} +}, +"type": "object" +}, +"AnalyzeSentimentResponse": { +"description": "The sentiment analysis response message.", +"id": "AnalyzeSentimentResponse", +"properties": { +"documentSentiment": { +"$ref": "Sentiment", +"description": "The overall sentiment of the input document." +}, +"language": { +"description": "The language of the text, which will be the same as the language specified in the request or, if not specified, the automatically-detected language. See Document.language field for more details.", +"type": "string" +}, +"sentences": { +"description": "The sentiment for all the sentences in the document.", +"items": { +"$ref": "Sentence" +}, +"type": "array" +} +}, +"type": "object" +}, +"AnalyzeSyntaxRequest": { +"description": "The syntax analysis request message.", +"id": "AnalyzeSyntaxRequest", +"properties": { +"document": { +"$ref": "Document", +"description": "Required. Input document." +}, +"encodingType": { +"description": "The encoding type used by the API to calculate offsets.", +"enum": [ +"NONE", +"UTF8", +"UTF16", +"UTF32" +], +"enumDescriptions": [ +"If `EncodingType` is not specified, encoding-dependent information (such as `begin_offset`) will be set at `-1`.", +"Encoding-dependent information (such as `begin_offset`) is calculated based on the UTF-8 encoding of the input. C++ and Go are examples of languages that use this encoding natively.", +"Encoding-dependent information (such as `begin_offset`) is calculated based on the UTF-16 encoding of the input. Java and JavaScript are examples of languages that use this encoding natively.", +"Encoding-dependent information (such as `begin_offset`) is calculated based on the UTF-32 encoding of the input. Python is an example of a language that uses this encoding natively." +], +"type": "string" +} +}, +"type": "object" +}, +"AnalyzeSyntaxResponse": { +"description": "The syntax analysis response message.", +"id": "AnalyzeSyntaxResponse", +"properties": { +"language": { +"description": "The language of the text, which will be the same as the language specified in the request or, if not specified, the automatically-detected language. See Document.language field for more details.", +"type": "string" +}, +"sentences": { +"description": "Sentences in the input document.", +"items": { +"$ref": "Sentence" +}, +"type": "array" +}, +"tokens": { +"description": "Tokens, along with their syntactic information, in the input document.", +"items": { +"$ref": "Token" +}, +"type": "array" +} +}, +"type": "object" +}, +"AnnotateTextRequest": { +"description": "The request message for the text annotation API, which can perform multiple analysis types (sentiment, entities, and syntax) in one call.", +"id": "AnnotateTextRequest", +"properties": { +"document": { +"$ref": "Document", +"description": "Required. Input document." +}, +"encodingType": { +"description": "The encoding type used by the API to calculate offsets.", +"enum": [ +"NONE", +"UTF8", +"UTF16", +"UTF32" +], +"enumDescriptions": [ +"If `EncodingType` is not specified, encoding-dependent information (such as `begin_offset`) will be set at `-1`.", +"Encoding-dependent information (such as `begin_offset`) is calculated based on the UTF-8 encoding of the input. C++ and Go are examples of languages that use this encoding natively.", +"Encoding-dependent information (such as `begin_offset`) is calculated based on the UTF-16 encoding of the input. Java and JavaScript are examples of languages that use this encoding natively.", +"Encoding-dependent information (such as `begin_offset`) is calculated based on the UTF-32 encoding of the input. Python is an example of a language that uses this encoding natively." +], +"type": "string" +}, +"features": { +"$ref": "AnnotateTextRequestFeatures", +"description": "Required. The enabled features." +} +}, +"type": "object" +}, +"AnnotateTextRequestFeatures": { +"description": "All available features for sentiment, syntax, and semantic analysis. Setting each one to true will enable that specific analysis for the input.", +"id": "AnnotateTextRequestFeatures", +"properties": { +"classificationModelOptions": { +"$ref": "ClassificationModelOptions", +"description": "Optional. The model options to use for classification. Defaults to v1 options if not specified. Only used if `classify_text` is set to true." +}, +"classifyText": { +"description": "Classify the full document into categories.", +"type": "boolean" +}, +"extractDocumentSentiment": { +"description": "Extract document-level sentiment.", +"type": "boolean" +}, +"extractEntities": { +"description": "Extract entities.", +"type": "boolean" +}, +"extractEntitySentiment": { +"description": "Extract entities and their associated sentiment.", +"type": "boolean" +}, +"extractSyntax": { +"description": "Extract syntax information.", +"type": "boolean" +}, +"moderateText": { +"description": "Moderate the document for harmful and sensitive categories.", +"type": "boolean" +} +}, +"type": "object" +}, +"AnnotateTextResponse": { +"description": "The text annotations response message.", +"id": "AnnotateTextResponse", +"properties": { +"categories": { +"description": "Categories identified in the input document.", +"items": { +"$ref": "ClassificationCategory" +}, +"type": "array" +}, +"documentSentiment": { +"$ref": "Sentiment", +"description": "The overall sentiment for the document. Populated if the user enables AnnotateTextRequest.Features.extract_document_sentiment." +}, +"entities": { +"description": "Entities, along with their semantic information, in the input document. Populated if the user enables AnnotateTextRequest.Features.extract_entities.", +"items": { +"$ref": "Entity" +}, +"type": "array" +}, +"language": { +"description": "The language of the text, which will be the same as the language specified in the request or, if not specified, the automatically-detected language. See Document.language field for more details.", +"type": "string" +}, +"moderationCategories": { +"description": "Harmful and sensitive categories identified in the input document.", +"items": { +"$ref": "ClassificationCategory" +}, +"type": "array" +}, +"sentences": { +"description": "Sentences in the input document. Populated if the user enables AnnotateTextRequest.Features.extract_syntax.", +"items": { +"$ref": "Sentence" +}, +"type": "array" +}, +"tokens": { +"description": "Tokens, along with their syntactic information, in the input document. Populated if the user enables AnnotateTextRequest.Features.extract_syntax.", +"items": { +"$ref": "Token" +}, +"type": "array" +} +}, +"type": "object" +}, +"ClassificationCategory": { +"description": "Represents a category returned from the text classifier.", +"id": "ClassificationCategory", +"properties": { +"confidence": { +"description": "The classifier's confidence of the category. Number represents how certain the classifier is that this category represents the given text.", +"format": "float", +"type": "number" +}, +"name": { +"description": "The name of the category representing the document.", +"type": "string" +} +}, +"type": "object" +}, +"ClassificationModelOptions": { +"description": "Model options available for classification requests.", +"id": "ClassificationModelOptions", +"properties": { +"v1Model": { +"$ref": "ClassificationModelOptionsV1Model", +"description": "Setting this field will use the V1 model and V1 content categories version. The V1 model is a legacy model; support for this will be discontinued in the future." +}, +"v2Model": { +"$ref": "ClassificationModelOptionsV2Model", +"description": "Setting this field will use the V2 model with the appropriate content categories version. The V2 model is a better performing model." +} +}, +"type": "object" +}, +"ClassificationModelOptionsV1Model": { +"description": "Options for the V1 model.", +"id": "ClassificationModelOptionsV1Model", +"properties": {}, +"type": "object" +}, +"ClassificationModelOptionsV2Model": { +"description": "Options for the V2 model.", +"id": "ClassificationModelOptionsV2Model", +"properties": { +"contentCategoriesVersion": { +"description": "The content categories used for classification.", +"enum": [ +"CONTENT_CATEGORIES_VERSION_UNSPECIFIED", +"V1", +"V2" +], +"enumDescriptions": [ +"If `ContentCategoriesVersion` is not specified, this option will default to `V1`.", +"Legacy content categories of our initial launch in 2017.", +"Updated content categories in 2022." +], +"type": "string" +} +}, +"type": "object" +}, +"ClassifyTextRequest": { +"description": "The document classification request message.", +"id": "ClassifyTextRequest", +"properties": { +"classificationModelOptions": { +"$ref": "ClassificationModelOptions", +"description": "Optional. Model options to use for classification. Defaults to v1 options if not specified." +}, +"document": { +"$ref": "Document", +"description": "Required. Input document." +} +}, +"type": "object" +}, +"ClassifyTextResponse": { +"description": "The document classification response message.", +"id": "ClassifyTextResponse", +"properties": { +"categories": { +"description": "Categories representing the input document.", +"items": { +"$ref": "ClassificationCategory" +}, +"type": "array" +} +}, +"type": "object" +}, +"Color": { +"description": "Represents a color in the RGBA color space. This representation is designed for simplicity of conversion to and from color representations in various languages over compactness. For example, the fields of this representation can be trivially provided to the constructor of `java.awt.Color` in Java; it can also be trivially provided to UIColor's `+colorWithRed:green:blue:alpha` method in iOS; and, with just a little work, it can be easily formatted into a CSS `rgba()` string in JavaScript. This reference page doesn't have information about the absolute color space that should be used to interpret the RGB value\u2014for example, sRGB, Adobe RGB, DCI-P3, and BT.2020. By default, applications should assume the sRGB color space. When color equality needs to be decided, implementations, unless documented otherwise, treat two colors as equal if all their red, green, blue, and alpha values each differ by at most `1e-5`. Example (Java): import com.google.type.Color; // ... public static java.awt.Color fromProto(Color protocolor) { float alpha = protocolor.hasAlpha() ? protocolor.getAlpha().getValue() : 1.0; return new java.awt.Color( protocolor.getRed(), protocolor.getGreen(), protocolor.getBlue(), alpha); } public static Color toProto(java.awt.Color color) { float red = (float) color.getRed(); float green = (float) color.getGreen(); float blue = (float) color.getBlue(); float denominator = 255.0; Color.Builder resultBuilder = Color .newBuilder() .setRed(red / denominator) .setGreen(green / denominator) .setBlue(blue / denominator); int alpha = color.getAlpha(); if (alpha != 255) { result.setAlpha( FloatValue .newBuilder() .setValue(((float) alpha) / denominator) .build()); } return resultBuilder.build(); } // ... Example (iOS / Obj-C): // ... static UIColor* fromProto(Color* protocolor) { float red = [protocolor red]; float green = [protocolor green]; float blue = [protocolor blue]; FloatValue* alpha_wrapper = [protocolor alpha]; float alpha = 1.0; if (alpha_wrapper != nil) { alpha = [alpha_wrapper value]; } return [UIColor colorWithRed:red green:green blue:blue alpha:alpha]; } static Color* toProto(UIColor* color) { CGFloat red, green, blue, alpha; if (![color getRed:&red green:&green blue:&blue alpha:&alpha]) { return nil; } Color* result = [[Color alloc] init]; [result setRed:red]; [result setGreen:green]; [result setBlue:blue]; if (alpha <= 0.9999) { [result setAlpha:floatWrapperWithValue(alpha)]; } [result autorelease]; return result; } // ... Example (JavaScript): // ... var protoToCssColor = function(rgb_color) { var redFrac = rgb_color.red || 0.0; var greenFrac = rgb_color.green || 0.0; var blueFrac = rgb_color.blue || 0.0; var red = Math.floor(redFrac * 255); var green = Math.floor(greenFrac * 255); var blue = Math.floor(blueFrac * 255); if (!('alpha' in rgb_color)) { return rgbToCssColor(red, green, blue); } var alphaFrac = rgb_color.alpha.value || 0.0; var rgbParams = [red, green, blue].join(','); return ['rgba(', rgbParams, ',', alphaFrac, ')'].join(''); }; var rgbToCssColor = function(red, green, blue) { var rgbNumber = new Number((red << 16) | (green << 8) | blue); var hexString = rgbNumber.toString(16); var missingZeros = 6 - hexString.length; var resultBuilder = ['#']; for (var i = 0; i < missingZeros; i++) { resultBuilder.push('0'); } resultBuilder.push(hexString); return resultBuilder.join(''); }; // ...", +"id": "Color", +"properties": { +"alpha": { +"description": "The fraction of this color that should be applied to the pixel. That is, the final pixel color is defined by the equation: `pixel color = alpha * (this color) + (1.0 - alpha) * (background color)` This means that a value of 1.0 corresponds to a solid color, whereas a value of 0.0 corresponds to a completely transparent color. This uses a wrapper message rather than a simple float scalar so that it is possible to distinguish between a default value and the value being unset. If omitted, this color object is rendered as a solid color (as if the alpha value had been explicitly given a value of 1.0).", +"format": "float", +"type": "number" +}, +"blue": { +"description": "The amount of blue in the color as a value in the interval [0, 1].", +"format": "float", +"type": "number" +}, +"green": { +"description": "The amount of green in the color as a value in the interval [0, 1].", +"format": "float", +"type": "number" +}, +"red": { +"description": "The amount of red in the color as a value in the interval [0, 1].", +"format": "float", +"type": "number" +} +}, +"type": "object" +}, +"CpuMetric": { +"description": "Metric for billing reports.", +"id": "CpuMetric", +"properties": { +"coreNumber": { +"description": "Required. Number of CPU cores.", +"format": "int64", +"type": "string" +}, +"coreSec": { +"description": "Required. Total seconds of core usage, e.g. 4.", +"format": "int64", +"type": "string" +}, +"cpuType": { +"description": "Required. Type of cpu, e.g. N2.", +"enum": [ +"UNKNOWN_CPU_TYPE", +"A2", +"A3", +"C2", +"C2D", +"CUSTOM", +"E2", +"G2", +"C3", +"M2", +"M1", +"N1", +"N2_CUSTOM", +"N2", +"N2D" +], +"enumDescriptions": [ +"", +"GPU-based machine, skip quota reporting.", +"GPU-based machine, skip quota reporting.", +"COMPUTE_OPTIMIZED", +"", +"", +"", +"GPU-based machine, skip quota reporting.", +"", +"MEMORY_OPTIMIZED_UPGRADE_PREMIUM", +"MEMORY_OPTIMIZED", +"", +"", +"", +"" +], +"type": "string" +}, +"machineSpec": { +"description": "Required. Machine spec, e.g. N1_STANDARD_4.", +"enum": [ +"UNKNOWN_MACHINE_SPEC", +"N1_STANDARD_2", +"N1_STANDARD_4", +"N1_STANDARD_8", +"N1_STANDARD_16", +"N1_STANDARD_32", +"N1_STANDARD_64", +"N1_STANDARD_96", +"N1_HIGHMEM_2", +"N1_HIGHMEM_4", +"N1_HIGHMEM_8", +"N1_HIGHMEM_16", +"N1_HIGHMEM_32", +"N1_HIGHMEM_64", +"N1_HIGHMEM_96", +"N1_HIGHCPU_2", +"N1_HIGHCPU_4", +"N1_HIGHCPU_8", +"N1_HIGHCPU_16", +"N1_HIGHCPU_32", +"N1_HIGHCPU_64", +"N1_HIGHCPU_96", +"A2_HIGHGPU_1G", +"A2_HIGHGPU_2G", +"A2_HIGHGPU_4G", +"A2_HIGHGPU_8G", +"A2_MEGAGPU_16G", +"A2_ULTRAGPU_1G", +"A2_ULTRAGPU_2G", +"A2_ULTRAGPU_4G", +"A2_ULTRAGPU_8G", +"A3_HIGHGPU_1G", +"A3_HIGHGPU_2G", +"A3_HIGHGPU_4G", +"A3_HIGHGPU_8G", +"A3_MEGAGPU_8G", +"A3_ULTRAGPU_8G", +"E2_STANDARD_2", +"E2_STANDARD_4", +"E2_STANDARD_8", +"E2_STANDARD_16", +"E2_STANDARD_32", +"E2_HIGHMEM_2", +"E2_HIGHMEM_4", +"E2_HIGHMEM_8", +"E2_HIGHMEM_16", +"E2_HIGHCPU_2", +"E2_HIGHCPU_4", +"E2_HIGHCPU_8", +"E2_HIGHCPU_16", +"E2_HIGHCPU_32", +"N2_STANDARD_2", +"N2_STANDARD_4", +"N2_STANDARD_8", +"N2_STANDARD_16", +"N2_STANDARD_32", +"N2_STANDARD_48", +"N2_STANDARD_64", +"N2_STANDARD_80", +"N2_STANDARD_96", +"N2_STANDARD_128", +"N2_HIGHMEM_2", +"N2_HIGHMEM_4", +"N2_HIGHMEM_8", +"N2_HIGHMEM_16", +"N2_HIGHMEM_32", +"N2_HIGHMEM_48", +"N2_HIGHMEM_64", +"N2_HIGHMEM_80", +"N2_HIGHMEM_96", +"N2_HIGHMEM_128", +"N2_HIGHCPU_2", +"N2_HIGHCPU_4", +"N2_HIGHCPU_8", +"N2_HIGHCPU_16", +"N2_HIGHCPU_32", +"N2_HIGHCPU_48", +"N2_HIGHCPU_64", +"N2_HIGHCPU_80", +"N2_HIGHCPU_96", +"N2D_STANDARD_2", +"N2D_STANDARD_4", +"N2D_STANDARD_8", +"N2D_STANDARD_16", +"N2D_STANDARD_32", +"N2D_STANDARD_48", +"N2D_STANDARD_64", +"N2D_STANDARD_80", +"N2D_STANDARD_96", +"N2D_STANDARD_128", +"N2D_STANDARD_224", +"N2D_HIGHMEM_2", +"N2D_HIGHMEM_4", +"N2D_HIGHMEM_8", +"N2D_HIGHMEM_16", +"N2D_HIGHMEM_32", +"N2D_HIGHMEM_48", +"N2D_HIGHMEM_64", +"N2D_HIGHMEM_80", +"N2D_HIGHMEM_96", +"N2D_HIGHCPU_2", +"N2D_HIGHCPU_4", +"N2D_HIGHCPU_8", +"N2D_HIGHCPU_16", +"N2D_HIGHCPU_32", +"N2D_HIGHCPU_48", +"N2D_HIGHCPU_64", +"N2D_HIGHCPU_80", +"N2D_HIGHCPU_96", +"N2D_HIGHCPU_128", +"N2D_HIGHCPU_224", +"C2_STANDARD_4", +"C2_STANDARD_8", +"C2_STANDARD_16", +"C2_STANDARD_30", +"C2_STANDARD_60", +"C2D_STANDARD_2", +"C2D_STANDARD_4", +"C2D_STANDARD_8", +"C2D_STANDARD_16", +"C2D_STANDARD_32", +"C2D_STANDARD_56", +"C2D_STANDARD_112", +"C2D_HIGHCPU_2", +"C2D_HIGHCPU_4", +"C2D_HIGHCPU_8", +"C2D_HIGHCPU_16", +"C2D_HIGHCPU_32", +"C2D_HIGHCPU_56", +"C2D_HIGHCPU_112", +"C2D_HIGHMEM_2", +"C2D_HIGHMEM_4", +"C2D_HIGHMEM_8", +"C2D_HIGHMEM_16", +"C2D_HIGHMEM_32", +"C2D_HIGHMEM_56", +"C2D_HIGHMEM_112", +"G2_STANDARD_4", +"G2_STANDARD_8", +"G2_STANDARD_12", +"G2_STANDARD_16", +"G2_STANDARD_24", +"G2_STANDARD_32", +"G2_STANDARD_48", +"G2_STANDARD_96", +"C3_STANDARD_4", +"C3_STANDARD_8", +"C3_STANDARD_22", +"C3_STANDARD_44", +"C3_STANDARD_88", +"C3_STANDARD_176", +"C3_HIGHCPU_4", +"C3_HIGHCPU_8", +"C3_HIGHCPU_22", +"C3_HIGHCPU_44", +"C3_HIGHCPU_88", +"C3_HIGHCPU_176", +"C3_HIGHMEM_4", +"C3_HIGHMEM_8", +"C3_HIGHMEM_22", +"C3_HIGHMEM_44", +"C3_HIGHMEM_88", +"C3_HIGHMEM_176" +], +"enumDescriptions": [ +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"" +], +"type": "string" +}, +"trackingLabels": { +"additionalProperties": { +"type": "string" +}, +"description": "Billing tracking labels. They do not contain any user data but only the labels set by Vertex Core Infra itself. Tracking labels' keys are defined with special format: goog-[\\p{Ll}\\p{N}]+ E.g. \"key\": \"goog-k8s-cluster-name\",\"value\": \"us-east1-b4rk\"", +"type": "object" +} +}, +"type": "object" +}, +"DependencyEdge": { +"description": "Represents dependency parse tree information for a token. (For more information on dependency labels, see http://www.aclweb.org/anthology/P13-2017", +"id": "DependencyEdge", +"properties": { +"headTokenIndex": { +"description": "Represents the head of this token in the dependency tree. This is the index of the token which has an arc going to this token. The index is the position of the token in the array of tokens returned by the API method. If this token is a root token, then the `head_token_index` is its own index.", +"format": "int32", +"type": "integer" +}, +"label": { +"description": "The parse label for the token.", +"enum": [ +"UNKNOWN", +"ABBREV", +"ACOMP", +"ADVCL", +"ADVMOD", +"AMOD", +"APPOS", +"ATTR", +"AUX", +"AUXPASS", +"CC", +"CCOMP", +"CONJ", +"CSUBJ", +"CSUBJPASS", +"DEP", +"DET", +"DISCOURSE", +"DOBJ", +"EXPL", +"GOESWITH", +"IOBJ", +"MARK", +"MWE", +"MWV", +"NEG", +"NN", +"NPADVMOD", +"NSUBJ", +"NSUBJPASS", +"NUM", +"NUMBER", +"P", +"PARATAXIS", +"PARTMOD", +"PCOMP", +"POBJ", +"POSS", +"POSTNEG", +"PRECOMP", +"PRECONJ", +"PREDET", +"PREF", +"PREP", +"PRONL", +"PRT", +"PS", +"QUANTMOD", +"RCMOD", +"RCMODREL", +"RDROP", +"REF", +"REMNANT", +"REPARANDUM", +"ROOT", +"SNUM", +"SUFF", +"TMOD", +"TOPIC", +"VMOD", +"VOCATIVE", +"XCOMP", +"SUFFIX", +"TITLE", +"ADVPHMOD", +"AUXCAUS", +"AUXVV", +"DTMOD", +"FOREIGN", +"KW", +"LIST", +"NOMC", +"NOMCSUBJ", +"NOMCSUBJPASS", +"NUMC", +"COP", +"DISLOCATED", +"ASP", +"GMOD", +"GOBJ", +"INFMOD", +"MES", +"NCOMP" +], +"enumDescriptions": [ +"Unknown", +"Abbreviation modifier", +"Adjectival complement", +"Adverbial clause modifier", +"Adverbial modifier", +"Adjectival modifier of an NP", +"Appositional modifier of an NP", +"Attribute dependent of a copular verb", +"Auxiliary (non-main) verb", +"Passive auxiliary", +"Coordinating conjunction", +"Clausal complement of a verb or adjective", +"Conjunct", +"Clausal subject", +"Clausal passive subject", +"Dependency (unable to determine)", +"Determiner", +"Discourse", +"Direct object", +"Expletive", +"Goes with (part of a word in a text not well edited)", +"Indirect object", +"Marker (word introducing a subordinate clause)", +"Multi-word expression", +"Multi-word verbal expression", +"Negation modifier", +"Noun compound modifier", +"Noun phrase used as an adverbial modifier", +"Nominal subject", +"Passive nominal subject", +"Numeric modifier of a noun", +"Element of compound number", +"Punctuation mark", +"Parataxis relation", +"Participial modifier", +"The complement of a preposition is a clause", +"Object of a preposition", +"Possession modifier", +"Postverbal negative particle", +"Predicate complement", +"Preconjunt", +"Predeterminer", +"Prefix", +"Prepositional modifier", +"The relationship between a verb and verbal morpheme", +"Particle", +"Associative or possessive marker", +"Quantifier phrase modifier", +"Relative clause modifier", +"Complementizer in relative clause", +"Ellipsis without a preceding predicate", +"Referent", +"Remnant", +"Reparandum", +"Root", +"Suffix specifying a unit of number", +"Suffix", +"Temporal modifier", +"Topic marker", +"Clause headed by an infinite form of the verb that modifies a noun", +"Vocative", +"Open clausal complement", +"Name suffix", +"Name title", +"Adverbial phrase modifier", +"Causative auxiliary", +"Helper auxiliary", +"Rentaishi (Prenominal modifier)", +"Foreign words", +"Keyword", +"List for chains of comparable items", +"Nominalized clause", +"Nominalized clausal subject", +"Nominalized clausal passive", +"Compound of numeric modifier", +"Copula", +"Dislocated relation (for fronted/topicalized elements)", +"Aspect marker", +"Genitive modifier", +"Genitive object", +"Infinitival modifier", +"Measure", +"Nominal complement of a noun" +], +"type": "string" +} +}, +"type": "object" +}, +"DiskMetric": { +"id": "DiskMetric", +"properties": { +"diskType": { +"description": "Required. Type of Disk, e.g. REGIONAL_SSD.", +"enum": [ +"UNKNOWN_DISK_TYPE", +"REGIONAL_SSD", +"REGIONAL_STORAGE", +"PD_SSD", +"PD_STANDARD", +"STORAGE_SNAPSHOT" +], +"enumDescriptions": [ +"", +"", +"", +"", +"", +"" +], +"type": "string" +}, +"gibSec": { +"description": "Required. Seconds of physical disk usage, e.g. 3600.", +"format": "int64", +"type": "string" +} +}, +"type": "object" +}, +"Document": { +"description": "Represents the input to API methods.", +"id": "Document", +"properties": { +"content": { +"description": "The content of the input in string format. Cloud audit logging exempt since it is based on user data.", +"type": "string" +}, +"gcsContentUri": { +"description": "The Google Cloud Storage URI where the file content is located. This URI must be of the form: gs://bucket_name/object_name. For more details, see https://cloud.google.com/storage/docs/reference-uris. NOTE: Cloud Storage object versioning is not supported.", +"type": "string" +}, +"language": { +"description": "The language of the document (if not specified, the language is automatically detected). Both ISO and BCP-47 language codes are accepted. [Language Support](https://cloud.google.com/natural-language/docs/languages) lists currently supported languages for each API method. If the language (either specified by the caller or automatically detected) is not supported by the called API method, an `INVALID_ARGUMENT` error is returned.", +"type": "string" +}, +"type": { +"description": "Required. If the type is not set or is `TYPE_UNSPECIFIED`, returns an `INVALID_ARGUMENT` error.", +"enum": [ +"TYPE_UNSPECIFIED", +"PLAIN_TEXT", +"HTML" +], +"enumDescriptions": [ +"The content type is not specified.", +"Plain text", +"HTML" +], +"type": "string" +} +}, +"type": "object" +}, +"Entity": { +"description": "Represents a phrase in the text that is a known entity, such as a person, an organization, or location. The API associates information, such as salience and mentions, with entities.", +"id": "Entity", +"properties": { +"mentions": { +"description": "The mentions of this entity in the input document. The API currently supports proper noun mentions.", +"items": { +"$ref": "EntityMention" +}, +"type": "array" +}, +"metadata": { +"additionalProperties": { +"type": "string" +}, +"description": "Metadata associated with the entity. For most entity types, the metadata is a Wikipedia URL (`wikipedia_url`) and Knowledge Graph MID (`mid`), if they are available. For the metadata associated with other entity types, see the Type table below.", +"type": "object" +}, +"name": { +"description": "The representative name for the entity.", +"type": "string" +}, +"salience": { +"description": "The salience score associated with the entity in the [0, 1.0] range. The salience score for an entity provides information about the importance or centrality of that entity to the entire document text. Scores closer to 0 are less salient, while scores closer to 1.0 are highly salient.", +"format": "float", +"type": "number" +}, +"sentiment": { +"$ref": "Sentiment", +"description": "For calls to AnalyzeEntitySentiment or if AnnotateTextRequest.Features.extract_entity_sentiment is set to true, this field will contain the aggregate sentiment expressed for this entity in the provided document." +}, +"type": { +"description": "The entity type.", +"enum": [ +"UNKNOWN", +"PERSON", +"LOCATION", +"ORGANIZATION", +"EVENT", +"WORK_OF_ART", +"CONSUMER_GOOD", +"OTHER", +"PHONE_NUMBER", +"ADDRESS", +"DATE", +"NUMBER", +"PRICE" +], +"enumDescriptions": [ +"Unknown", +"Person", +"Location", +"Organization", +"Event", +"Artwork", +"Consumer product", +"Other types of entities", +"Phone number The metadata lists the phone number, formatted according to local convention, plus whichever additional elements appear in the text: * `number` - the actual number, broken down into sections as per local convention * `national_prefix` - country code, if detected * `area_code` - region or area code, if detected * `extension` - phone extension (to be dialed after connection), if detected", +"Address The metadata identifies the street number and locality plus whichever additional elements appear in the text: * `street_number` - street number * `locality` - city or town * `street_name` - street/route name, if detected * `postal_code` - postal code, if detected * `country` - country, if detected< * `broad_region` - administrative area, such as the state, if detected * `narrow_region` - smaller administrative area, such as county, if detected * `sublocality` - used in Asian addresses to demark a district within a city, if detected", +"Date The metadata identifies the components of the date: * `year` - four digit year, if detected * `month` - two digit month number, if detected * `day` - two digit day number, if detected", +"Number The metadata is the number itself.", +"Price The metadata identifies the `value` and `currency`." +], +"type": "string" +} +}, +"type": "object" +}, +"EntityMention": { +"description": "Represents a mention for an entity in the text. Currently, proper noun mentions are supported.", +"id": "EntityMention", +"properties": { +"sentiment": { +"$ref": "Sentiment", +"description": "For calls to AnalyzeEntitySentiment or if AnnotateTextRequest.Features.extract_entity_sentiment is set to true, this field will contain the sentiment expressed for this mention of the entity in the provided document." +}, +"text": { +"$ref": "TextSpan", +"description": "The mention text." +}, +"type": { +"description": "The type of the entity mention.", +"enum": [ +"TYPE_UNKNOWN", +"PROPER", +"COMMON" +], +"enumDescriptions": [ +"Unknown", +"Proper name", +"Common noun (or noun compound)" +], +"type": "string" +} +}, +"type": "object" +}, +"GpuMetric": { +"id": "GpuMetric", +"properties": { +"gpuSec": { +"description": "Required. Seconds of GPU usage, e.g. 3600.", +"format": "int64", +"type": "string" +}, +"gpuType": { +"description": "Required. Type of GPU, e.g. NVIDIA_TESLA_V100.", +"enum": [ +"UNKNOWN_GPU_TYPE", +"NVIDIA_TESLA_A100", +"NVIDIA_A100_80GB", +"NVIDIA_TESLA_K80", +"NVIDIA_L4", +"NVIDIA_TESLA_P100", +"NVIDIA_TESLA_P4", +"NVIDIA_TESLA_T4", +"NVIDIA_TESLA_V100", +"NVIDIA_H100_80GB" +], +"enumDescriptions": [ +"", +"", +"", +"", +"", +"", +"", +"", +"", +"" +], +"type": "string" +}, +"machineSpec": { +"description": "Required. Machine spec, e.g. N1_STANDARD_4.", +"enum": [ +"UNKNOWN_MACHINE_SPEC", +"N1_STANDARD_2", +"N1_STANDARD_4", +"N1_STANDARD_8", +"N1_STANDARD_16", +"N1_STANDARD_32", +"N1_STANDARD_64", +"N1_STANDARD_96", +"N1_HIGHMEM_2", +"N1_HIGHMEM_4", +"N1_HIGHMEM_8", +"N1_HIGHMEM_16", +"N1_HIGHMEM_32", +"N1_HIGHMEM_64", +"N1_HIGHMEM_96", +"N1_HIGHCPU_2", +"N1_HIGHCPU_4", +"N1_HIGHCPU_8", +"N1_HIGHCPU_16", +"N1_HIGHCPU_32", +"N1_HIGHCPU_64", +"N1_HIGHCPU_96", +"A2_HIGHGPU_1G", +"A2_HIGHGPU_2G", +"A2_HIGHGPU_4G", +"A2_HIGHGPU_8G", +"A2_MEGAGPU_16G", +"A2_ULTRAGPU_1G", +"A2_ULTRAGPU_2G", +"A2_ULTRAGPU_4G", +"A2_ULTRAGPU_8G", +"A3_HIGHGPU_1G", +"A3_HIGHGPU_2G", +"A3_HIGHGPU_4G", +"A3_HIGHGPU_8G", +"A3_MEGAGPU_8G", +"A3_ULTRAGPU_8G", +"E2_STANDARD_2", +"E2_STANDARD_4", +"E2_STANDARD_8", +"E2_STANDARD_16", +"E2_STANDARD_32", +"E2_HIGHMEM_2", +"E2_HIGHMEM_4", +"E2_HIGHMEM_8", +"E2_HIGHMEM_16", +"E2_HIGHCPU_2", +"E2_HIGHCPU_4", +"E2_HIGHCPU_8", +"E2_HIGHCPU_16", +"E2_HIGHCPU_32", +"N2_STANDARD_2", +"N2_STANDARD_4", +"N2_STANDARD_8", +"N2_STANDARD_16", +"N2_STANDARD_32", +"N2_STANDARD_48", +"N2_STANDARD_64", +"N2_STANDARD_80", +"N2_STANDARD_96", +"N2_STANDARD_128", +"N2_HIGHMEM_2", +"N2_HIGHMEM_4", +"N2_HIGHMEM_8", +"N2_HIGHMEM_16", +"N2_HIGHMEM_32", +"N2_HIGHMEM_48", +"N2_HIGHMEM_64", +"N2_HIGHMEM_80", +"N2_HIGHMEM_96", +"N2_HIGHMEM_128", +"N2_HIGHCPU_2", +"N2_HIGHCPU_4", +"N2_HIGHCPU_8", +"N2_HIGHCPU_16", +"N2_HIGHCPU_32", +"N2_HIGHCPU_48", +"N2_HIGHCPU_64", +"N2_HIGHCPU_80", +"N2_HIGHCPU_96", +"N2D_STANDARD_2", +"N2D_STANDARD_4", +"N2D_STANDARD_8", +"N2D_STANDARD_16", +"N2D_STANDARD_32", +"N2D_STANDARD_48", +"N2D_STANDARD_64", +"N2D_STANDARD_80", +"N2D_STANDARD_96", +"N2D_STANDARD_128", +"N2D_STANDARD_224", +"N2D_HIGHMEM_2", +"N2D_HIGHMEM_4", +"N2D_HIGHMEM_8", +"N2D_HIGHMEM_16", +"N2D_HIGHMEM_32", +"N2D_HIGHMEM_48", +"N2D_HIGHMEM_64", +"N2D_HIGHMEM_80", +"N2D_HIGHMEM_96", +"N2D_HIGHCPU_2", +"N2D_HIGHCPU_4", +"N2D_HIGHCPU_8", +"N2D_HIGHCPU_16", +"N2D_HIGHCPU_32", +"N2D_HIGHCPU_48", +"N2D_HIGHCPU_64", +"N2D_HIGHCPU_80", +"N2D_HIGHCPU_96", +"N2D_HIGHCPU_128", +"N2D_HIGHCPU_224", +"C2_STANDARD_4", +"C2_STANDARD_8", +"C2_STANDARD_16", +"C2_STANDARD_30", +"C2_STANDARD_60", +"C2D_STANDARD_2", +"C2D_STANDARD_4", +"C2D_STANDARD_8", +"C2D_STANDARD_16", +"C2D_STANDARD_32", +"C2D_STANDARD_56", +"C2D_STANDARD_112", +"C2D_HIGHCPU_2", +"C2D_HIGHCPU_4", +"C2D_HIGHCPU_8", +"C2D_HIGHCPU_16", +"C2D_HIGHCPU_32", +"C2D_HIGHCPU_56", +"C2D_HIGHCPU_112", +"C2D_HIGHMEM_2", +"C2D_HIGHMEM_4", +"C2D_HIGHMEM_8", +"C2D_HIGHMEM_16", +"C2D_HIGHMEM_32", +"C2D_HIGHMEM_56", +"C2D_HIGHMEM_112", +"G2_STANDARD_4", +"G2_STANDARD_8", +"G2_STANDARD_12", +"G2_STANDARD_16", +"G2_STANDARD_24", +"G2_STANDARD_32", +"G2_STANDARD_48", +"G2_STANDARD_96", +"C3_STANDARD_4", +"C3_STANDARD_8", +"C3_STANDARD_22", +"C3_STANDARD_44", +"C3_STANDARD_88", +"C3_STANDARD_176", +"C3_HIGHCPU_4", +"C3_HIGHCPU_8", +"C3_HIGHCPU_22", +"C3_HIGHCPU_44", +"C3_HIGHCPU_88", +"C3_HIGHCPU_176", +"C3_HIGHMEM_4", +"C3_HIGHMEM_8", +"C3_HIGHMEM_22", +"C3_HIGHMEM_44", +"C3_HIGHMEM_88", +"C3_HIGHMEM_176" +], +"enumDescriptions": [ +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"" +], +"type": "string" +}, +"trackingLabels": { +"additionalProperties": { +"type": "string" +}, +"description": "Billing tracking labels. They do not contain any user data but only the labels set by Vertex Core Infra itself. Tracking labels' keys are defined with special format: goog-[\\p{Ll}\\p{N}]+ E.g. \"key\": \"goog-k8s-cluster-name\",\"value\": \"us-east1-b4rk\"", +"type": "object" +} +}, +"type": "object" +}, +"InfraUsage": { +"description": "Infra Usage of billing metrics.", +"id": "InfraUsage", +"properties": { +"cpuMetrics": { +"description": "Aggregated core metrics since requested start_time.", +"items": { +"$ref": "CpuMetric" +}, +"type": "array" +}, +"diskMetrics": { +"description": "Aggregated persistent disk metrics since requested start_time.", +"items": { +"$ref": "DiskMetric" +}, +"type": "array" +}, +"gpuMetrics": { +"description": "Aggregated gpu metrics since requested start_time.", +"items": { +"$ref": "GpuMetric" +}, +"type": "array" +}, +"ramMetrics": { +"description": "Aggregated ram metrics since requested start_time.", +"items": { +"$ref": "RamMetric" +}, +"type": "array" +}, +"tpuMetrics": { +"description": "Aggregated tpu metrics since requested start_time.", +"items": { +"$ref": "TpuMetric" +}, +"type": "array" +} +}, +"type": "object" +}, +"ModerateTextRequest": { +"description": "The document moderation request message.", +"id": "ModerateTextRequest", +"properties": { +"document": { +"$ref": "Document", +"description": "Required. Input document." +} +}, +"type": "object" +}, +"ModerateTextResponse": { +"description": "The document moderation response message.", +"id": "ModerateTextResponse", +"properties": { +"moderationCategories": { +"description": "Harmful and sensitive categories representing the input document.", +"items": { +"$ref": "ClassificationCategory" +}, +"type": "array" +} +}, +"type": "object" +}, +"PartOfSpeech": { +"description": "Represents part of speech information for a token. Parts of speech are as defined in http://www.lrec-conf.org/proceedings/lrec2012/pdf/274_Paper.pdf", +"id": "PartOfSpeech", +"properties": { +"aspect": { +"description": "The grammatical aspect.", +"enum": [ +"ASPECT_UNKNOWN", +"PERFECTIVE", +"IMPERFECTIVE", +"PROGRESSIVE" +], +"enumDescriptions": [ +"Aspect is not applicable in the analyzed language or is not predicted.", +"Perfective", +"Imperfective", +"Progressive" +], +"type": "string" +}, +"case": { +"description": "The grammatical case.", +"enum": [ +"CASE_UNKNOWN", +"ACCUSATIVE", +"ADVERBIAL", +"COMPLEMENTIVE", +"DATIVE", +"GENITIVE", +"INSTRUMENTAL", +"LOCATIVE", +"NOMINATIVE", +"OBLIQUE", +"PARTITIVE", +"PREPOSITIONAL", +"REFLEXIVE_CASE", +"RELATIVE_CASE", +"VOCATIVE" +], +"enumDescriptions": [ +"Case is not applicable in the analyzed language or is not predicted.", +"Accusative", +"Adverbial", +"Complementive", +"Dative", +"Genitive", +"Instrumental", +"Locative", +"Nominative", +"Oblique", +"Partitive", +"Prepositional", +"Reflexive", +"Relative", +"Vocative" +], +"type": "string" +}, +"form": { +"description": "The grammatical form.", +"enum": [ +"FORM_UNKNOWN", +"ADNOMIAL", +"AUXILIARY", +"COMPLEMENTIZER", +"FINAL_ENDING", +"GERUND", +"REALIS", +"IRREALIS", +"SHORT", +"LONG", +"ORDER", +"SPECIFIC" +], +"enumDescriptions": [ +"Form is not applicable in the analyzed language or is not predicted.", +"Adnomial", +"Auxiliary", +"Complementizer", +"Final ending", +"Gerund", +"Realis", +"Irrealis", +"Short form", +"Long form", +"Order form", +"Specific form" +], +"type": "string" +}, +"gender": { +"description": "The grammatical gender.", +"enum": [ +"GENDER_UNKNOWN", +"FEMININE", +"MASCULINE", +"NEUTER" +], +"enumDescriptions": [ +"Gender is not applicable in the analyzed language or is not predicted.", +"Feminine", +"Masculine", +"Neuter" +], +"type": "string" +}, +"mood": { +"description": "The grammatical mood.", +"enum": [ +"MOOD_UNKNOWN", +"CONDITIONAL_MOOD", +"IMPERATIVE", +"INDICATIVE", +"INTERROGATIVE", +"JUSSIVE", +"SUBJUNCTIVE" +], +"enumDescriptions": [ +"Mood is not applicable in the analyzed language or is not predicted.", +"Conditional", +"Imperative", +"Indicative", +"Interrogative", +"Jussive", +"Subjunctive" +], +"type": "string" +}, +"number": { +"description": "The grammatical number.", +"enum": [ +"NUMBER_UNKNOWN", +"SINGULAR", +"PLURAL", +"DUAL" +], +"enumDescriptions": [ +"Number is not applicable in the analyzed language or is not predicted.", +"Singular", +"Plural", +"Dual" +], +"type": "string" +}, +"person": { +"description": "The grammatical person.", +"enum": [ +"PERSON_UNKNOWN", +"FIRST", +"SECOND", +"THIRD", +"REFLEXIVE_PERSON" +], +"enumDescriptions": [ +"Person is not applicable in the analyzed language or is not predicted.", +"First", +"Second", +"Third", +"Reflexive" +], +"type": "string" +}, +"proper": { +"description": "The grammatical properness.", +"enum": [ +"PROPER_UNKNOWN", +"PROPER", +"NOT_PROPER" +], +"enumDescriptions": [ +"Proper is not applicable in the analyzed language or is not predicted.", +"Proper", +"Not proper" +], +"type": "string" +}, +"reciprocity": { +"description": "The grammatical reciprocity.", +"enum": [ +"RECIPROCITY_UNKNOWN", +"RECIPROCAL", +"NON_RECIPROCAL" +], +"enumDescriptions": [ +"Reciprocity is not applicable in the analyzed language or is not predicted.", +"Reciprocal", +"Non-reciprocal" +], +"type": "string" +}, +"tag": { +"description": "The part of speech tag.", +"enum": [ +"UNKNOWN", +"ADJ", +"ADP", +"ADV", +"CONJ", +"DET", +"NOUN", +"NUM", +"PRON", +"PRT", +"PUNCT", +"VERB", +"X", +"AFFIX" +], +"enumDescriptions": [ +"Unknown", +"Adjective", +"Adposition (preposition and postposition)", +"Adverb", +"Conjunction", +"Determiner", +"Noun (common and proper)", +"Cardinal number", +"Pronoun", +"Particle or other function word", +"Punctuation", +"Verb (all tenses and modes)", +"Other: foreign words, typos, abbreviations", +"Affix" +], +"type": "string" +}, +"tense": { +"description": "The grammatical tense.", +"enum": [ +"TENSE_UNKNOWN", +"CONDITIONAL_TENSE", +"FUTURE", +"PAST", +"PRESENT", +"IMPERFECT", +"PLUPERFECT" +], +"enumDescriptions": [ +"Tense is not applicable in the analyzed language or is not predicted.", +"Conditional", +"Future", +"Past", +"Present", +"Imperfect", +"Pluperfect" +], +"type": "string" +}, +"voice": { +"description": "The grammatical voice.", +"enum": [ +"VOICE_UNKNOWN", +"ACTIVE", +"CAUSATIVE", +"PASSIVE" +], +"enumDescriptions": [ +"Voice is not applicable in the analyzed language or is not predicted.", +"Active", +"Causative", +"Passive" +], +"type": "string" +} +}, +"type": "object" +}, +"RamMetric": { +"id": "RamMetric", +"properties": { +"gibSec": { +"description": "Required. VM memory in Gigabyte second, e.g. 3600. Using int64 type to match billing metrics definition.", +"format": "int64", +"type": "string" +}, +"machineSpec": { +"description": "Required. Machine spec, e.g. N1_STANDARD_4.", +"enum": [ +"UNKNOWN_MACHINE_SPEC", +"N1_STANDARD_2", +"N1_STANDARD_4", +"N1_STANDARD_8", +"N1_STANDARD_16", +"N1_STANDARD_32", +"N1_STANDARD_64", +"N1_STANDARD_96", +"N1_HIGHMEM_2", +"N1_HIGHMEM_4", +"N1_HIGHMEM_8", +"N1_HIGHMEM_16", +"N1_HIGHMEM_32", +"N1_HIGHMEM_64", +"N1_HIGHMEM_96", +"N1_HIGHCPU_2", +"N1_HIGHCPU_4", +"N1_HIGHCPU_8", +"N1_HIGHCPU_16", +"N1_HIGHCPU_32", +"N1_HIGHCPU_64", +"N1_HIGHCPU_96", +"A2_HIGHGPU_1G", +"A2_HIGHGPU_2G", +"A2_HIGHGPU_4G", +"A2_HIGHGPU_8G", +"A2_MEGAGPU_16G", +"A2_ULTRAGPU_1G", +"A2_ULTRAGPU_2G", +"A2_ULTRAGPU_4G", +"A2_ULTRAGPU_8G", +"A3_HIGHGPU_1G", +"A3_HIGHGPU_2G", +"A3_HIGHGPU_4G", +"A3_HIGHGPU_8G", +"A3_MEGAGPU_8G", +"A3_ULTRAGPU_8G", +"E2_STANDARD_2", +"E2_STANDARD_4", +"E2_STANDARD_8", +"E2_STANDARD_16", +"E2_STANDARD_32", +"E2_HIGHMEM_2", +"E2_HIGHMEM_4", +"E2_HIGHMEM_8", +"E2_HIGHMEM_16", +"E2_HIGHCPU_2", +"E2_HIGHCPU_4", +"E2_HIGHCPU_8", +"E2_HIGHCPU_16", +"E2_HIGHCPU_32", +"N2_STANDARD_2", +"N2_STANDARD_4", +"N2_STANDARD_8", +"N2_STANDARD_16", +"N2_STANDARD_32", +"N2_STANDARD_48", +"N2_STANDARD_64", +"N2_STANDARD_80", +"N2_STANDARD_96", +"N2_STANDARD_128", +"N2_HIGHMEM_2", +"N2_HIGHMEM_4", +"N2_HIGHMEM_8", +"N2_HIGHMEM_16", +"N2_HIGHMEM_32", +"N2_HIGHMEM_48", +"N2_HIGHMEM_64", +"N2_HIGHMEM_80", +"N2_HIGHMEM_96", +"N2_HIGHMEM_128", +"N2_HIGHCPU_2", +"N2_HIGHCPU_4", +"N2_HIGHCPU_8", +"N2_HIGHCPU_16", +"N2_HIGHCPU_32", +"N2_HIGHCPU_48", +"N2_HIGHCPU_64", +"N2_HIGHCPU_80", +"N2_HIGHCPU_96", +"N2D_STANDARD_2", +"N2D_STANDARD_4", +"N2D_STANDARD_8", +"N2D_STANDARD_16", +"N2D_STANDARD_32", +"N2D_STANDARD_48", +"N2D_STANDARD_64", +"N2D_STANDARD_80", +"N2D_STANDARD_96", +"N2D_STANDARD_128", +"N2D_STANDARD_224", +"N2D_HIGHMEM_2", +"N2D_HIGHMEM_4", +"N2D_HIGHMEM_8", +"N2D_HIGHMEM_16", +"N2D_HIGHMEM_32", +"N2D_HIGHMEM_48", +"N2D_HIGHMEM_64", +"N2D_HIGHMEM_80", +"N2D_HIGHMEM_96", +"N2D_HIGHCPU_2", +"N2D_HIGHCPU_4", +"N2D_HIGHCPU_8", +"N2D_HIGHCPU_16", +"N2D_HIGHCPU_32", +"N2D_HIGHCPU_48", +"N2D_HIGHCPU_64", +"N2D_HIGHCPU_80", +"N2D_HIGHCPU_96", +"N2D_HIGHCPU_128", +"N2D_HIGHCPU_224", +"C2_STANDARD_4", +"C2_STANDARD_8", +"C2_STANDARD_16", +"C2_STANDARD_30", +"C2_STANDARD_60", +"C2D_STANDARD_2", +"C2D_STANDARD_4", +"C2D_STANDARD_8", +"C2D_STANDARD_16", +"C2D_STANDARD_32", +"C2D_STANDARD_56", +"C2D_STANDARD_112", +"C2D_HIGHCPU_2", +"C2D_HIGHCPU_4", +"C2D_HIGHCPU_8", +"C2D_HIGHCPU_16", +"C2D_HIGHCPU_32", +"C2D_HIGHCPU_56", +"C2D_HIGHCPU_112", +"C2D_HIGHMEM_2", +"C2D_HIGHMEM_4", +"C2D_HIGHMEM_8", +"C2D_HIGHMEM_16", +"C2D_HIGHMEM_32", +"C2D_HIGHMEM_56", +"C2D_HIGHMEM_112", +"G2_STANDARD_4", +"G2_STANDARD_8", +"G2_STANDARD_12", +"G2_STANDARD_16", +"G2_STANDARD_24", +"G2_STANDARD_32", +"G2_STANDARD_48", +"G2_STANDARD_96", +"C3_STANDARD_4", +"C3_STANDARD_8", +"C3_STANDARD_22", +"C3_STANDARD_44", +"C3_STANDARD_88", +"C3_STANDARD_176", +"C3_HIGHCPU_4", +"C3_HIGHCPU_8", +"C3_HIGHCPU_22", +"C3_HIGHCPU_44", +"C3_HIGHCPU_88", +"C3_HIGHCPU_176", +"C3_HIGHMEM_4", +"C3_HIGHMEM_8", +"C3_HIGHMEM_22", +"C3_HIGHMEM_44", +"C3_HIGHMEM_88", +"C3_HIGHMEM_176" +], +"enumDescriptions": [ +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"" +], +"type": "string" +}, +"memories": { +"description": "Required. VM memory in gb.", +"format": "double", +"type": "number" +}, +"ramType": { +"description": "Required. Type of ram.", +"enum": [ +"UNKNOWN_RAM_TYPE", +"A2", +"A3", +"C2", +"C2D", +"CUSTOM", +"E2", +"G2", +"C3", +"M2", +"M1", +"N1", +"N2_CUSTOM", +"N2", +"N2D" +], +"enumDescriptions": [ +"", +"", +"", +"COMPUTE_OPTIMIZED", +"", +"", +"", +"", +"", +"MEMORY_OPTIMIZED_UPGRADE_PREMIUM", +"MEMORY_OPTIMIZED", +"", +"", +"", +"" +], +"type": "string" +}, +"trackingLabels": { +"additionalProperties": { +"type": "string" +}, +"description": "Billing tracking labels. They do not contain any user data but only the labels set by Vertex Core Infra itself. Tracking labels' keys are defined with special format: goog-[\\p{Ll}\\p{N}]+ E.g. \"key\": \"goog-k8s-cluster-name\",\"value\": \"us-east1-b4rk\"", +"type": "object" +} +}, +"type": "object" +}, +"Sentence": { +"description": "Represents a sentence in the input document.", +"id": "Sentence", +"properties": { +"sentiment": { +"$ref": "Sentiment", +"description": "For calls to AnalyzeSentiment or if AnnotateTextRequest.Features.extract_document_sentiment is set to true, this field will contain the sentiment for the sentence." +}, +"text": { +"$ref": "TextSpan", +"description": "The sentence text." +} +}, +"type": "object" +}, +"Sentiment": { +"description": "Represents the feeling associated with the entire text or entities in the text.", +"id": "Sentiment", +"properties": { +"magnitude": { +"description": "A non-negative number in the [0, +inf) range, which represents the absolute magnitude of sentiment regardless of score (positive or negative).", +"format": "float", +"type": "number" +}, +"score": { +"description": "Sentiment score between -1.0 (negative sentiment) and 1.0 (positive sentiment).", +"format": "float", +"type": "number" +} +}, +"type": "object" +}, +"Status": { +"description": "The `Status` type defines a logical error model that is suitable for different programming environments, including REST APIs and RPC APIs. It is used by [gRPC](https://github.com/grpc). Each `Status` message contains three pieces of data: error code, error message, and error details. You can find out more about this error model and how to work with it in the [API Design Guide](https://cloud.google.com/apis/design/errors).", +"id": "Status", +"properties": { +"code": { +"description": "The status code, which should be an enum value of google.rpc.Code.", +"format": "int32", +"type": "integer" +}, +"details": { +"description": "A list of messages that carry the error details. There is a common set of message types for APIs to use.", +"items": { +"additionalProperties": { +"description": "Properties of the object. Contains field @type with type URL.", +"type": "any" +}, +"type": "object" +}, +"type": "array" +}, +"message": { +"description": "A developer-facing error message, which should be in English. Any user-facing error message should be localized and sent in the google.rpc.Status.details field, or localized by the client.", +"type": "string" +} +}, +"type": "object" +}, +"TextSpan": { +"description": "Represents a text span in the input document.", +"id": "TextSpan", +"properties": { +"beginOffset": { +"description": "The API calculates the beginning offset of the content in the original document according to the EncodingType specified in the API request.", +"format": "int32", +"type": "integer" +}, +"content": { +"description": "The content of the text span, which is a substring of the document.", +"type": "string" +} +}, +"type": "object" +}, +"Token": { +"description": "Represents the smallest syntactic building block of the text.", +"id": "Token", +"properties": { +"dependencyEdge": { +"$ref": "DependencyEdge", +"description": "Dependency tree parse for this token." +}, +"lemma": { +"description": "[Lemma](https://en.wikipedia.org/wiki/Lemma_%28morphology%29) of the token.", +"type": "string" +}, +"partOfSpeech": { +"$ref": "PartOfSpeech", +"description": "Parts of speech tag for this token." +}, +"text": { +"$ref": "TextSpan", +"description": "The token text." +} +}, +"type": "object" +}, +"TpuMetric": { +"id": "TpuMetric", +"properties": { +"tpuSec": { +"description": "Required. Seconds of TPU usage, e.g. 3600.", +"format": "int64", +"type": "string" +}, +"tpuType": { +"description": "Required. Type of TPU, e.g. TPU_V2, TPU_V3_POD.", +"enum": [ +"UNKNOWN_TPU_TYPE", +"TPU_V2_POD", +"TPU_V2", +"TPU_V3_POD", +"TPU_V3", +"TPU_V5_LITEPOD" +], +"enumDescriptions": [ +"", +"", +"", +"", +"", +"" +], +"type": "string" +} +}, +"type": "object" +}, +"XPSArrayStats": { +"description": "The data statistics of a series of ARRAY values.", +"id": "XPSArrayStats", +"properties": { +"commonStats": { +"$ref": "XPSCommonStats" +}, +"memberStats": { +"$ref": "XPSDataStats", +"description": "Stats of all the values of all arrays, as if they were a single long series of data. The type depends on the element type of the array." +} +}, +"type": "object" +}, +"XPSBatchPredictResponse": { +"id": "XPSBatchPredictResponse", +"properties": { +"exampleSet": { +"$ref": "XPSExampleSet", +"description": "Examples for batch prediction result. Under full API implementation, results are stored in shared RecordIO of AnnotatedExample protobufs, the annotations field of which is populated by XPS backend." +} +}, +"type": "object" +}, +"XPSBoundingBoxMetricsEntry": { +"description": "Bounding box matching model metrics for a single intersection-over-union threshold and multiple label match confidence thresholds.", +"id": "XPSBoundingBoxMetricsEntry", +"properties": { +"confidenceMetricsEntries": { +"description": "Metrics for each label-match confidence_threshold from 0.05,0.10,...,0.95,0.96,0.97,0.98,0.99.", +"items": { +"$ref": "XPSBoundingBoxMetricsEntryConfidenceMetricsEntry" +}, +"type": "array" +}, +"iouThreshold": { +"description": "The intersection-over-union threshold value used to compute this metrics entry.", +"format": "float", +"type": "number" +}, +"meanAveragePrecision": { +"description": "The mean average precision.", +"format": "float", +"type": "number" +} +}, +"type": "object" +}, +"XPSBoundingBoxMetricsEntryConfidenceMetricsEntry": { +"description": "Metrics for a single confidence threshold.", +"id": "XPSBoundingBoxMetricsEntryConfidenceMetricsEntry", +"properties": { +"confidenceThreshold": { +"description": "The confidence threshold value used to compute the metrics.", +"format": "float", +"type": "number" +}, +"f1Score": { +"description": "The harmonic mean of recall and precision.", +"format": "float", +"type": "number" +}, +"precision": { +"description": "Precision for the given confidence threshold.", +"format": "float", +"type": "number" +}, +"recall": { +"description": "Recall for the given confidence threshold.", +"format": "float", +"type": "number" +} +}, +"type": "object" +}, +"XPSCategoryStats": { +"description": "The data statistics of a series of CATEGORY values.", +"id": "XPSCategoryStats", +"properties": { +"commonStats": { +"$ref": "XPSCommonStats" +}, +"topCategoryStats": { +"description": "The statistics of the top 20 CATEGORY values, ordered by CategoryStats.SingleCategoryStats.count.", +"items": { +"$ref": "XPSCategoryStatsSingleCategoryStats" +}, +"type": "array" +} +}, +"type": "object" +}, +"XPSCategoryStatsSingleCategoryStats": { +"description": "The statistics of a single CATEGORY value.", +"id": "XPSCategoryStatsSingleCategoryStats", +"properties": { +"count": { +"description": "The number of occurrences of this value in the series.", +"format": "int64", +"type": "string" +}, +"value": { +"description": "The CATEGORY value.", +"type": "string" +} +}, +"type": "object" +}, +"XPSClassificationEvaluationMetrics": { +"description": "Model evaluation metrics for classification problems. It can be used for image and video classification. Next tag: 9.", +"id": "XPSClassificationEvaluationMetrics", +"properties": { +"auPrc": { +"description": "The Area under precision recall curve metric.", +"format": "float", +"type": "number" +}, +"auRoc": { +"description": "The Area Under Receiver Operating Characteristic curve metric. Micro-averaged for the overall evaluation.", +"format": "float", +"type": "number" +}, +"baseAuPrc": { +"description": "The Area under precision recall curve metric based on priors.", +"format": "float", +"type": "number" +}, +"confidenceMetricsEntries": { +"description": "Metrics that have confidence thresholds. Precision-recall curve can be derived from it.", +"items": { +"$ref": "XPSConfidenceMetricsEntry" +}, +"type": "array" +}, +"confusionMatrix": { +"$ref": "XPSConfusionMatrix", +"description": "Confusion matrix of the evaluation. Only set for MULTICLASS classification problems where number of annotation specs is no more than 10. Only set for model level evaluation, not for evaluation per label." +}, +"evaluatedExamplesCount": { +"description": "The number of examples used for model evaluation.", +"format": "int32", +"type": "integer" +}, +"logLoss": { +"description": "The Log Loss metric.", +"format": "float", +"type": "number" +} +}, +"type": "object" +}, +"XPSColorMap": { +"description": "Map from color to display name. Will only be used by Image Segmentation for uCAIP.", +"id": "XPSColorMap", +"properties": { +"annotationSpecIdToken": { +"description": "Should be used during training.", +"type": "string" +}, +"color": { +"$ref": "Color", +"deprecated": true, +"description": "This type is deprecated in favor of the IntColor below. This is because google.type.Color represent color has a float which semantically does not reflect discrete classes/categories concept. Moreover, to handle it well we need to have some tolerance when converting to a discretized color. As such, the recommendation is to have API surface still use google.type.Color while internally IntColor is used." +}, +"displayName": { +"description": "Should be used during preprocessing.", +"type": "string" +}, +"intColor": { +"$ref": "XPSColorMapIntColor" +} +}, +"type": "object" +}, +"XPSColorMapIntColor": { +"description": "RGB color and each channel is represented by an integer.", +"id": "XPSColorMapIntColor", +"properties": { +"blue": { +"description": "The value should be in range of [0, 255].", +"format": "int32", +"type": "integer" +}, +"green": { +"description": "The value should be in range of [0, 255].", +"format": "int32", +"type": "integer" +}, +"red": { +"description": "The value should be in range of [0, 255].", +"format": "int32", +"type": "integer" +} +}, +"type": "object" +}, +"XPSColumnSpec": { +"id": "XPSColumnSpec", +"properties": { +"columnId": { +"description": "The unique id of the column. When Preprocess, the Tables BE will popuate the order id of the column, which reflects the order of the column inside the table, i.e. 0 means the first column in the table, N-1 means the last column. AutoML BE will persist this order id in Spanner and set the order id here when calling RefreshTablesStats and Train. Note: it's different than the column_spec_id that is generated in AutoML BE.", +"format": "int32", +"type": "integer" +}, +"dataStats": { +"$ref": "XPSDataStats", +"description": "The data stats of the column. It's outputed in RefreshTablesStats and a required input for Train." +}, +"dataType": { +"$ref": "XPSDataType", +"description": "The data type of the column. It's outputed in Preprocess rpc and a required input for RefreshTablesStats and Train." +}, +"displayName": { +"description": "The display name of the column. It's outputed in Preprocess and a required input for RefreshTablesStats and Train.", +"type": "string" +}, +"forecastingMetadata": { +"$ref": "XPSColumnSpecForecastingMetadata" +}, +"topCorrelatedColumns": { +"description": "It's outputed in RefreshTablesStats, and a required input in Train.", +"items": { +"$ref": "XPSColumnSpecCorrelatedColumn" +}, +"type": "array" +} +}, +"type": "object" +}, +"XPSColumnSpecCorrelatedColumn": { +"description": "Identifies a table's column, and its correlation with the column this ColumnSpec describes.", +"id": "XPSColumnSpecCorrelatedColumn", +"properties": { +"columnId": { +"format": "int32", +"type": "integer" +}, +"correlationStats": { +"$ref": "XPSCorrelationStats" +} +}, +"type": "object" +}, +"XPSColumnSpecForecastingMetadata": { +"id": "XPSColumnSpecForecastingMetadata", +"properties": { +"columnType": { +"description": "The type of the column for FORECASTING model training purposes.", +"enum": [ +"COLUMN_TYPE_UNSPECIFIED", +"KEY", +"KEY_METADATA", +"TIME_SERIES_AVAILABLE_PAST_ONLY", +"TIME_SERIES_AVAILABLE_PAST_AND_FUTURE" +], +"enumDescriptions": [ +"An un-set value of this enum.", +"Key columns are used to identify timeseries.", +"This column contains information describing static properties of the entities identified by the key column(s) (e.g. city's ZIP code).", +"This column contains information for the given entity, at any time poinrt, they are only available in the time series before.", +"This column contains information for the given entity is known both for the past and the sufficiently far future." +], +"type": "string" +} +}, +"type": "object" +}, +"XPSCommonStats": { +"description": "Common statistics for a column with a specified data type.", +"id": "XPSCommonStats", +"properties": { +"distinctValueCount": { +"format": "int64", +"type": "string" +}, +"nullValueCount": { +"format": "int64", +"type": "string" +}, +"validValueCount": { +"format": "int64", +"type": "string" +} +}, +"type": "object" +}, +"XPSConfidenceMetricsEntry": { +"description": "ConfidenceMetricsEntry includes generic precision, recall, f1 score etc. Next tag: 16.", +"id": "XPSConfidenceMetricsEntry", +"properties": { +"confidenceThreshold": { +"description": "Metrics are computed with an assumption that the model never return predictions with score lower than this value.", +"format": "float", +"type": "number" +}, +"f1Score": { +"description": "The harmonic mean of recall and precision.", +"format": "float", +"type": "number" +}, +"f1ScoreAt1": { +"description": "The harmonic mean of recall_at1 and precision_at1.", +"format": "float", +"type": "number" +}, +"falseNegativeCount": { +"description": "The number of ground truth labels that are not matched by a model created label.", +"format": "int64", +"type": "string" +}, +"falsePositiveCount": { +"description": "The number of model created labels that do not match a ground truth label.", +"format": "int64", +"type": "string" +}, +"falsePositiveRate": { +"description": "False Positive Rate for the given confidence threshold.", +"format": "float", +"type": "number" +}, +"falsePositiveRateAt1": { +"description": "The False Positive Rate when only considering the label that has the highest prediction score and not below the confidence threshold for each example.", +"format": "float", +"type": "number" +}, +"positionThreshold": { +"description": "Metrics are computed with an assumption that the model always returns at most this many predictions (ordered by their score, descendingly), but they all still need to meet the confidence_threshold.", +"format": "int32", +"type": "integer" +}, +"precision": { +"description": "Precision for the given confidence threshold.", +"format": "float", +"type": "number" +}, +"precisionAt1": { +"description": "The precision when only considering the label that has the highest prediction score and not below the confidence threshold for each example.", +"format": "float", +"type": "number" +}, +"recall": { +"description": "Recall (true positive rate) for the given confidence threshold.", +"format": "float", +"type": "number" +}, +"recallAt1": { +"description": "The recall (true positive rate) when only considering the label that has the highest prediction score and not below the confidence threshold for each example.", +"format": "float", +"type": "number" +}, +"trueNegativeCount": { +"description": "The number of labels that were not created by the model, but if they would, they would not match a ground truth label.", +"format": "int64", +"type": "string" +}, +"truePositiveCount": { +"description": "The number of model created labels that match a ground truth label.", +"format": "int64", +"type": "string" +} +}, +"type": "object" +}, +"XPSConfusionMatrix": { +"description": "Confusion matrix of the model running the classification.", +"id": "XPSConfusionMatrix", +"properties": { +"annotationSpecIdToken": { +"description": "For the following three repeated fields, only one is intended to be set. annotation_spec_id_token is preferable to be set. ID tokens of the annotation specs used in the confusion matrix.", +"items": { +"type": "string" +}, +"type": "array" +}, +"category": { +"description": "Category (mainly for segmentation). Set only for image segmentation models. Note: uCAIP Image Segmentation should use annotation_spec_id_token.", +"items": { +"format": "int32", +"type": "integer" +}, +"type": "array" +}, +"row": { +"description": "Rows in the confusion matrix. The number of rows is equal to the size of `annotation_spec_id_token`. `row[i].value[j]` is the number of examples that have ground truth of the `annotation_spec_id_token[i]` and are predicted as `annotation_spec_id_token[j]` by the model being evaluated.", +"items": { +"$ref": "XPSConfusionMatrixRow" +}, +"type": "array" +}, +"sentimentLabel": { +"description": "Sentiment labels used in the confusion matrix. Set only for text sentiment models. For AutoML Text Revamp, use `annotation_spec_id_token` instead and leave this field empty.", +"items": { +"format": "int32", +"type": "integer" +}, +"type": "array" +} +}, +"type": "object" +}, +"XPSConfusionMatrixRow": { +"description": "A row in the confusion matrix.", +"id": "XPSConfusionMatrixRow", +"properties": { +"count": { +"description": "Same as above except intended to represent other counts (for e.g. for segmentation this is pixel count). NOTE(params): Only example_count or count is set (oneoff does not support repeated fields unless they are embedded inside another message).", +"items": { +"format": "int64", +"type": "string" +}, +"type": "array" +}, +"exampleCount": { +"description": "Value of the specific cell in the confusion matrix. The number of values each row has (i.e. the length of the row) is equal to the length of the annotation_spec_id_token field.", +"items": { +"format": "int32", +"type": "integer" +}, +"type": "array" +} +}, +"type": "object" +}, +"XPSCoreMlFormat": { +"description": "A model format used for iOS mobile devices.", +"id": "XPSCoreMlFormat", +"properties": {}, +"type": "object" +}, +"XPSCorrelationStats": { +"description": "A correlation statistics between two series of DataType values. The series may have differing DataType-s, but within a single series the DataType must be the same.", +"id": "XPSCorrelationStats", +"properties": { +"cramersV": { +"description": "The correlation value using the Cramer's V measure.", +"format": "double", +"type": "number" +} +}, +"type": "object" +}, +"XPSDataErrors": { +"description": "Different types of errors and the stats associatesd with each error.", +"id": "XPSDataErrors", +"properties": { +"count": { +"description": "Number of records having errors associated with the enum.", +"format": "int32", +"type": "integer" +}, +"errorType": { +"description": "Type of the error.", +"enum": [ +"ERROR_TYPE_UNSPECIFIED", +"UNSUPPORTED_AUDIO_FORMAT", +"FILE_EXTENSION_MISMATCH_WITH_AUDIO_FORMAT", +"FILE_TOO_LARGE", +"MISSING_TRANSCRIPTION" +], +"enumDescriptions": [ +"Not specified.", +"Audio format not in the formats by cloud-speech AutoML. Currently only wav and flac file formats are supported.", +"File format differnt from what is specified in the file name extension.", +"File too large. Maximum allowed size is 50 MB.", +"Transcript is missing." +], +"type": "string" +} +}, +"type": "object" +}, +"XPSDataStats": { +"description": "The data statistics of a series of values that share the same DataType.", +"id": "XPSDataStats", +"properties": { +"arrayStats": { +"$ref": "XPSArrayStats", +"description": "The statistics for ARRAY DataType." +}, +"categoryStats": { +"$ref": "XPSCategoryStats", +"description": "The statistics for CATEGORY DataType." +}, +"distinctValueCount": { +"description": "The number of distinct values.", +"format": "int64", +"type": "string" +}, +"float64Stats": { +"$ref": "XPSFloat64Stats", +"description": "The statistics for FLOAT64 DataType." +}, +"nullValueCount": { +"description": "The number of values that are null.", +"format": "int64", +"type": "string" +}, +"stringStats": { +"$ref": "XPSStringStats", +"description": "The statistics for STRING DataType." +}, +"structStats": { +"$ref": "XPSStructStats", +"description": "The statistics for STRUCT DataType." +}, +"timestampStats": { +"$ref": "XPSTimestampStats", +"description": "The statistics for TIMESTAMP DataType." +}, +"validValueCount": { +"description": "The number of values that are valid.", +"format": "int64", +"type": "string" +} +}, +"type": "object" +}, +"XPSDataType": { +"description": "Indicated the type of data that can be stored in a structured data entity (e.g. a table).", +"id": "XPSDataType", +"properties": { +"compatibleDataTypes": { +"description": "The highly compatible data types to this data type.", +"items": { +"$ref": "XPSDataType" +}, +"type": "array" +}, +"listElementType": { +"$ref": "XPSDataType", +"description": "If type_code == ARRAY, then `list_element_type` is the type of the elements." +}, +"nullable": { +"description": "If true, this DataType can also be `null`.", +"type": "boolean" +}, +"structType": { +"$ref": "XPSStructType", +"description": "If type_code == STRUCT, then `struct_type` provides type information for the struct's fields." +}, +"timeFormat": { +"description": "If type_code == TIMESTAMP then `time_format` provides the format in which that time field is expressed. The time_format must be written in `strftime` syntax. If time_format is not set, then the default format as described on the field is used.", +"type": "string" +}, +"typeCode": { +"description": "Required. The TypeCode for this type.", +"enum": [ +"TYPE_CODE_UNSPECIFIED", +"FLOAT64", +"TIMESTAMP", +"STRING", +"ARRAY", +"STRUCT", +"CATEGORY" +], +"enumDescriptions": [ +"Not specified. Should not be used.", +"Encoded as `number`, or the strings `\"NaN\"`, `\"Infinity\"`, or `\"-Infinity\"`.", +"Must be between 0AD and 9999AD. Encoded as `string` according to time_format, or, if that format is not set, then in RFC 3339 `date-time` format, where `time-offset` = `\"Z\"` (e.g. 1985-04-12T23:20:50.52Z).", +"Encoded as `string`.", +"Encoded as `list`, where the list elements are represented according to list_element_type.", +"Encoded as `struct`, where field values are represented according to struct_type.", +"Values of this type are not further understood by AutoML, e.g. AutoML is unable to tell the order of values (as it could with FLOAT64), or is unable to say if one value contains another (as it could with STRING). Encoded as `string` (bytes should be base64-encoded, as described in RFC 4648, section 4)." +], +"type": "string" +} +}, +"type": "object" +}, +"XPSDockerFormat": { +"description": "A model format used for Docker containers. Use the params field to customize the container. The container is verified to work correctly on ubuntu 16.04 operating system.", +"id": "XPSDockerFormat", +"properties": { +"cpuArchitecture": { +"description": "Optional. Additional cpu information describing the requirements for the to be exported model files.", +"enum": [ +"CPU_ARCHITECTURE_UNSPECIFIED", +"CPU_ARCHITECTURE_X86_64" +], +"enumDescriptions": [ +"", +"" +], +"type": "string" +}, +"gpuArchitecture": { +"description": "Optional. Additional gpu information describing the requirements for the to be exported model files.", +"enum": [ +"GPU_ARCHITECTURE_UNSPECIFIED", +"GPU_ARCHITECTURE_NVIDIA" +], +"enumDescriptions": [ +"", +"" +], +"type": "string" +} +}, +"type": "object" +}, +"XPSEdgeTpuTfLiteFormat": { +"description": "A model format used for [Edge TPU](https://cloud.google.com/edge-tpu/) devices.", +"id": "XPSEdgeTpuTfLiteFormat", +"properties": {}, +"type": "object" +}, +"XPSEvaluationMetrics": { +"description": "Contains xPS-specific model evaluation metrics either for a single annotation spec (label), or for the model overall. Next tag: 18.", +"id": "XPSEvaluationMetrics", +"properties": { +"annotationSpecIdToken": { +"description": "The annotation_spec for which this evaluation metrics instance had been created. Empty iff this is an overall model evaluation (like Tables evaluation metrics), i.e. aggregated across all labels. The value comes from the input annotations in AnnotatedExample. For MVP product or for text sentiment models where annotation_spec_id_token is not available, set label instead.", +"type": "string" +}, +"category": { +"description": "The integer category label for which this evaluation metric instance had been created. Valid categories are 0 or higher. Overall model evaluation should set this to negative values (rather than implicit zero). Only used for Image Segmentation (prefer to set annotation_spec_id_token instead). Note: uCAIP Image Segmentation should use annotation_spec_id_token.", +"format": "int32", +"type": "integer" +}, +"evaluatedExampleCount": { +"description": "The number of examples used to create this evaluation metrics instance.", +"format": "int32", +"type": "integer" +}, +"imageClassificationEvalMetrics": { +"$ref": "XPSClassificationEvaluationMetrics" +}, +"imageObjectDetectionEvalMetrics": { +"$ref": "XPSImageObjectDetectionEvaluationMetrics" +}, +"imageSegmentationEvalMetrics": { +"$ref": "XPSImageSegmentationEvaluationMetrics" +}, +"label": { +"description": "The label for which this evaluation metrics instance had been created. Empty iff this is an overall model evaluation (like Tables evaluation metrics), i.e. aggregated across all labels. The label maps to AnnotationSpec.display_name in Public API protos. Only used by MVP implementation and text sentiment FULL implementation.", +"type": "string" +}, +"regressionEvalMetrics": { +"$ref": "XPSRegressionEvaluationMetrics" +}, +"tablesClassificationEvalMetrics": { +"$ref": "XPSClassificationEvaluationMetrics" +}, +"tablesEvalMetrics": { +"$ref": "XPSTablesEvaluationMetrics" +}, +"textClassificationEvalMetrics": { +"$ref": "XPSClassificationEvaluationMetrics" +}, +"textExtractionEvalMetrics": { +"$ref": "XPSTextExtractionEvaluationMetrics" +}, +"textSentimentEvalMetrics": { +"$ref": "XPSTextSentimentEvaluationMetrics" +}, +"translationEvalMetrics": { +"$ref": "XPSTranslationEvaluationMetrics" +}, +"videoActionRecognitionEvalMetrics": { +"$ref": "XPSVideoActionRecognitionEvaluationMetrics" +}, +"videoClassificationEvalMetrics": { +"$ref": "XPSClassificationEvaluationMetrics" +}, +"videoObjectTrackingEvalMetrics": { +"$ref": "XPSVideoObjectTrackingEvaluationMetrics" +} +}, +"type": "object" +}, +"XPSEvaluationMetricsSet": { +"description": "Specifies location of model evaluation metrics.", +"id": "XPSEvaluationMetricsSet", +"properties": { +"evaluationMetrics": { +"description": "Inline EvaluationMetrics - should be relatively small. For passing large quantities of exhaustive metrics, use file_spec.", +"items": { +"$ref": "XPSEvaluationMetrics" +}, +"type": "array" +}, +"fileSpec": { +"$ref": "XPSFileSpec", +"description": "File spec containing evaluation metrics of a model, must point to RecordIO file(s) of intelligence.cloud.automl.xps.EvaluationMetrics messages." +}, +"numEvaluationMetrics": { +"description": "Number of the evaluation metrics (usually one per label plus overall).", +"format": "int64", +"type": "string" +} +}, +"type": "object" +}, +"XPSExampleSet": { +"description": "Set of examples or input sources.", +"id": "XPSExampleSet", +"properties": { +"fileSpec": { +"$ref": "XPSFileSpec", +"description": "File spec of the examples or input sources." +}, +"fingerprint": { +"description": "Fingerprint of the example set.", +"format": "int64", +"type": "string" +}, +"numExamples": { +"description": "Number of examples.", +"format": "int64", +"type": "string" +}, +"numInputSources": { +"description": "Number of input sources.", +"format": "int64", +"type": "string" +} +}, +"type": "object" +}, +"XPSExportModelOutputConfig": { +"id": "XPSExportModelOutputConfig", +"properties": { +"coreMlFormat": { +"$ref": "XPSCoreMlFormat" +}, +"dockerFormat": { +"$ref": "XPSDockerFormat" +}, +"edgeTpuTfLiteFormat": { +"$ref": "XPSEdgeTpuTfLiteFormat" +}, +"exportFirebaseAuxiliaryInfo": { +"description": "For any model and format: If true, will additionally export FirebaseExportedModelInfo in a firebase.txt file.", +"type": "boolean" +}, +"outputGcrUri": { +"description": "The Google Contained Registry path the exported files to be pushed to. This location is set if the exported format is DOCKDER.", +"type": "string" +}, +"outputGcsUri": { +"description": "The Google Cloud Storage directory where XPS will output the exported models and related files. Format: gs://bucket/directory", +"type": "string" +}, +"tfJsFormat": { +"$ref": "XPSTfJsFormat" +}, +"tfLiteFormat": { +"$ref": "XPSTfLiteFormat" +}, +"tfSavedModelFormat": { +"$ref": "XPSTfSavedModelFormat" +} +}, +"type": "object" +}, +"XPSFileSpec": { +"description": "Spec of input and output files, on external file systems (for example, Colossus Namespace System or Google Cloud Storage).", +"id": "XPSFileSpec", +"properties": { +"directoryPath": { +"deprecated": true, +"description": "Deprecated. Use file_spec.", +"type": "string" +}, +"fileFormat": { +"enum": [ +"FILE_FORMAT_UNKNOWN", +"FILE_FORMAT_SSTABLE", +"FILE_FORMAT_TRANSLATION_RKV", +"FILE_FORMAT_RECORDIO", +"FILE_FORMAT_RAW_CSV", +"FILE_FORMAT_RAW_CAPACITOR" +], +"enumDeprecated": [ +false, +true, +false, +false, +false, +false +], +"enumDescriptions": [ +"", +"", +"Internal format for parallel text data used by Google Translate.", +"", +"Only the lexicographically first file described by the file_spec contains the header line.", +"" +], +"type": "string" +}, +"fileSpec": { +"description": "Single file path, or file pattern of format \"/path/to/file@shard_count\". E.g. /cns/cell-d/somewhere/file@2 is expanded to two files: /cns/cell-d/somewhere/file-00000-of-00002 and /cns/cell-d/somewhere/file-00001-of-00002.", +"type": "string" +}, +"singleFilePath": { +"deprecated": true, +"description": "Deprecated. Use file_spec.", +"type": "string" +} +}, +"type": "object" +}, +"XPSFloat64Stats": { +"description": "The data statistics of a series of FLOAT64 values.", +"id": "XPSFloat64Stats", +"properties": { +"commonStats": { +"$ref": "XPSCommonStats" +}, +"histogramBuckets": { +"description": "Histogram buckets of the data series. Sorted by the min value of the bucket, ascendingly, and the number of the buckets is dynamically generated. The buckets are non-overlapping and completely cover whole FLOAT64 range with min of first bucket being `\"-Infinity\"`, and max of the last one being `\"Infinity\"`.", +"items": { +"$ref": "XPSFloat64StatsHistogramBucket" +}, +"type": "array" +}, +"mean": { +"description": "The mean of the series.", +"format": "double", +"type": "number" +}, +"quantiles": { +"description": "Ordered from 0 to k k-quantile values of the data series of n values. The value at index i is, approximately, the i*n/k-th smallest value in the series; for i = 0 and i = k these are, respectively, the min and max values.", +"items": { +"format": "double", +"type": "number" +}, +"type": "array" +}, +"standardDeviation": { +"description": "The standard deviation of the series.", +"format": "double", +"type": "number" +} +}, +"type": "object" +}, +"XPSFloat64StatsHistogramBucket": { +"description": "A bucket of a histogram.", +"id": "XPSFloat64StatsHistogramBucket", +"properties": { +"count": { +"description": "The number of data values that are in the bucket, i.e. are between min and max values.", +"format": "int64", +"type": "string" +}, +"max": { +"description": "The maximum value of the bucket, exclusive unless max = `\"Infinity\"`, in which case it's inclusive.", +"format": "double", +"type": "number" +}, +"min": { +"description": "The minimum value of the bucket, inclusive.", +"format": "double", +"type": "number" +} +}, +"type": "object" +}, +"XPSImageClassificationTrainResponse": { +"id": "XPSImageClassificationTrainResponse", +"properties": { +"classCount": { +"description": "Total number of classes.", +"format": "int64", +"type": "string" +}, +"exportModelSpec": { +"$ref": "XPSImageExportModelSpec", +"description": "Information of downloadable models that are pre-generated as part of training flow and will be persisted in AutoMl backend. Populated for AutoMl requests." +}, +"modelArtifactSpec": { +"$ref": "XPSImageModelArtifactSpec", +"description": "## The fields below are only populated under uCAIP request scope." +}, +"modelServingSpec": { +"$ref": "XPSImageModelServingSpec" +}, +"stopReason": { +"description": "Stop reason for training job, e.g. 'TRAIN_BUDGET_REACHED', 'MODEL_CONVERGED', 'MODEL_EARLY_STOPPED'.", +"enum": [ +"TRAIN_STOP_REASON_UNSPECIFIED", +"TRAIN_STOP_REASON_BUDGET_REACHED", +"TRAIN_STOP_REASON_MODEL_CONVERGED", +"TRAIN_STOP_REASON_MODEL_EARLY_STOPPED" +], +"enumDescriptions": [ +"", +"", +"Model fully converged, can not be resumbed training.", +"Model early converged, can be further trained till full convergency." +], +"type": "string" +}, +"trainCostInNodeTime": { +"description": "The actual cost to create this model. - For edge type model, the cost is expressed in node hour. - For cloud type model,the cost is expressed in compute hour. - Populated for models created before GA. To be deprecated after GA.", +"format": "google-duration", +"type": "string" +}, +"trainCostNodeSeconds": { +"description": "The actual training cost, expressed in node seconds. Populated for models trained in node time.", +"format": "int64", +"type": "string" +} +}, +"type": "object" +}, +"XPSImageExportModelSpec": { +"description": "Information of downloadable models that are pre-generated as part of training flow and will be persisted in AutoMl backend. Upon receiving ExportModel request from user, AutoMl backend can serve the pre-generated models to user if exists (by copying the files from internal path to user provided location), otherwise, AutoMl backend will call xPS ExportModel API to generate the model on the fly with the requesting format.", +"id": "XPSImageExportModelSpec", +"properties": { +"exportModelOutputConfig": { +"description": "Contains the model format and internal location of the model files to be exported/downloaded. Use the Google Cloud Storage bucket name which is provided via TrainRequest.gcs_bucket_name to store the model files.", +"items": { +"$ref": "XPSExportModelOutputConfig" +}, +"type": "array" +} +}, +"type": "object" +}, +"XPSImageModelArtifactSpec": { +"description": "Stores the locations and related metadata of the model artifacts. Populated for uCAIP requests only.", +"id": "XPSImageModelArtifactSpec", +"properties": { +"checkpointArtifact": { +"$ref": "XPSModelArtifactItem", +"description": "The Tensorflow checkpoint files. e.g. Used for resumable training." +}, +"exportArtifact": { +"description": "The model binary files in different formats for model export.", +"items": { +"$ref": "XPSModelArtifactItem" +}, +"type": "array" +}, +"labelGcsUri": { +"description": "Google Cloud Storage URI of decoded labels file for model export 'dict.txt'.", +"type": "string" +}, +"servingArtifact": { +"$ref": "XPSModelArtifactItem", +"description": "The default model binary file used for serving (e.g. online predict, batch predict) via public Cloud AI Platform API." +}, +"tfJsBinaryGcsPrefix": { +"description": "Google Cloud Storage URI prefix of Tensorflow JavaScript binary files 'groupX-shardXofX.bin'. Deprecated.", +"type": "string" +}, +"tfLiteMetadataGcsUri": { +"description": "Google Cloud Storage URI of Tensorflow Lite metadata 'tflite_metadata.json'.", +"type": "string" +} +}, +"type": "object" +}, +"XPSImageModelServingSpec": { +"description": "Serving specification for image models.", +"id": "XPSImageModelServingSpec", +"properties": { +"modelThroughputEstimation": { +"description": "Populate under uCAIP request scope.", +"items": { +"$ref": "XPSImageModelServingSpecModelThroughputEstimation" +}, +"type": "array" +}, +"nodeQps": { +"description": "An estimated value of how much traffic a node can serve. Populated for AutoMl request only.", +"format": "double", +"type": "number" +}, +"tfRuntimeVersion": { +"description": "## The fields below are only populated under uCAIP request scope. https://cloud.google.com/ml-engine/docs/runtime-version-list", +"type": "string" +} +}, +"type": "object" +}, +"XPSImageModelServingSpecModelThroughputEstimation": { +"id": "XPSImageModelServingSpecModelThroughputEstimation", +"properties": { +"computeEngineAcceleratorType": { +"enum": [ +"UNSPECIFIED", +"NVIDIA_TESLA_K80", +"NVIDIA_TESLA_P100", +"NVIDIA_TESLA_V100", +"NVIDIA_TESLA_P4", +"NVIDIA_TESLA_T4", +"NVIDIA_TESLA_A100", +"NVIDIA_A100_80GB", +"NVIDIA_L4", +"NVIDIA_H100_80GB", +"NVIDIA_H100_MEGA_80GB", +"NVIDIA_H200_141GB", +"TPU_V2", +"TPU_V3", +"TPU_V4_POD", +"TPU_V5_LITEPOD" +], +"enumDescriptions": [ +"", +"Nvidia Tesla K80 GPU.", +"Nvidia Tesla P100 GPU.", +"Nvidia Tesla V100 GPU.", +"Nvidia Tesla P4 GPU.", +"Nvidia Tesla T4 GPU.", +"Nvidia Tesla A100 GPU.", +"Nvidia A100 80GB GPU.", +"Nvidia L4 GPU.", +"Nvidia H100 80Gb GPU.", +"Nvidia H100 80Gb GPU.", +"Nvidia H200 141Gb GPU.", +"TPU v2 (JellyFish).", +"TPU v3 (DragonFish).", +"TPU_v4 (PufferFish).", +"TPU v5 Lite Pods." +], +"type": "string" +}, +"latencyInMilliseconds": { +"description": "Estimated latency.", +"format": "double", +"type": "number" +}, +"nodeQps": { +"description": "The approximate qps a deployed node can serve.", +"format": "double", +"type": "number" +}, +"servomaticPartitionType": { +"enum": [ +"PARTITION_TYPE_UNSPECIFIED", +"PARTITION_ZERO", +"PARTITION_REDUCED_HOMING", +"PARTITION_JELLYFISH", +"PARTITION_CPU", +"PARTITION_CUSTOM_STORAGE_CPU" +], +"enumDescriptions": [ +"", +"The default partition.", +"It has significantly lower replication than partition-0 and is located in the US only. It also has a larger model size limit and higher default RAM quota than partition-0. Customers with batch traffic, US-based traffic, or very large models should use this partition. Capacity in this partition is significantly cheaper than partition-0.", +"To be used by customers with Jellyfish-accelerated ops.", +"The partition used by regionalized servomatic cloud regions.", +"The partition used for loading models from custom storage." +], +"type": "string" +} +}, +"type": "object" +}, +"XPSImageObjectDetectionEvaluationMetrics": { +"description": "Model evaluation metrics for image object detection problems. Evaluates prediction quality of labeled bounding boxes.", +"id": "XPSImageObjectDetectionEvaluationMetrics", +"properties": { +"boundingBoxMeanAveragePrecision": { +"description": "The single metric for bounding boxes evaluation: the mean_average_precision averaged over all bounding_box_metrics_entries.", +"format": "float", +"type": "number" +}, +"boundingBoxMetricsEntries": { +"description": "The bounding boxes match metrics for each Intersection-over-union threshold 0.05,0.10,...,0.95,0.96,0.97,0.98,0.99 and each label confidence threshold 0.05,0.10,...,0.95,0.96,0.97,0.98,0.99 pair.", +"items": { +"$ref": "XPSBoundingBoxMetricsEntry" +}, +"type": "array" +}, +"evaluatedBoundingBoxCount": { +"description": "The total number of bounding boxes (i.e. summed over all images) the ground truth used to create this evaluation had.", +"format": "int32", +"type": "integer" +} +}, +"type": "object" +}, +"XPSImageObjectDetectionModelSpec": { +"id": "XPSImageObjectDetectionModelSpec", +"properties": { +"classCount": { +"description": "Total number of classes.", +"format": "int64", +"type": "string" +}, +"exportModelSpec": { +"$ref": "XPSImageExportModelSpec" +}, +"maxBoundingBoxCount": { +"description": "Max number of bounding box.", +"format": "int64", +"type": "string" +}, +"modelArtifactSpec": { +"$ref": "XPSImageModelArtifactSpec", +"description": "## The fields below are only populated under uCAIP request scope." +}, +"modelServingSpec": { +"$ref": "XPSImageModelServingSpec" +}, +"stopReason": { +"description": "Stop reason for training job, e.g. 'TRAIN_BUDGET_REACHED', 'MODEL_CONVERGED'.", +"enum": [ +"TRAIN_STOP_REASON_UNSPECIFIED", +"TRAIN_STOP_REASON_BUDGET_REACHED", +"TRAIN_STOP_REASON_MODEL_CONVERGED", +"TRAIN_STOP_REASON_MODEL_EARLY_STOPPED" +], +"enumDescriptions": [ +"", +"", +"Model fully converged, can not be resumbed training.", +"Model early converged, can be further trained till full convergency." +], +"type": "string" +}, +"trainCostNodeSeconds": { +"description": "The actual train cost of creating this model, expressed in node seconds, i.e. 3,600 value in this field means 1 node hour.", +"format": "int64", +"type": "string" +} +}, +"type": "object" +}, +"XPSImageSegmentationEvaluationMetrics": { +"description": "Model evaluation metrics for image segmentation problems. Next tag: 4.", +"id": "XPSImageSegmentationEvaluationMetrics", +"properties": { +"confidenceMetricsEntries": { +"description": "Metrics that have confidence thresholds. Precision-recall curve can be derived from it.", +"items": { +"$ref": "XPSImageSegmentationEvaluationMetricsConfidenceMetricsEntry" +}, +"type": "array" +} +}, +"type": "object" +}, +"XPSImageSegmentationEvaluationMetricsConfidenceMetricsEntry": { +"description": "Metrics for a single confidence threshold.", +"id": "XPSImageSegmentationEvaluationMetricsConfidenceMetricsEntry", +"properties": { +"confidenceThreshold": { +"description": "The confidence threshold value used to compute the metrics.", +"format": "float", +"type": "number" +}, +"confusionMatrix": { +"$ref": "XPSConfusionMatrix", +"description": "Confusion matrix of the per confidence_threshold evaluation. Pixel counts are set here. Only set for model level evaluation, not for evaluation per label." +}, +"diceScoreCoefficient": { +"description": "DSC or the F1 score: The harmonic mean of recall and precision.", +"format": "float", +"type": "number" +}, +"iouScore": { +"description": "IOU score.", +"format": "float", +"type": "number" +}, +"precision": { +"description": "Precision for the given confidence threshold.", +"format": "float", +"type": "number" +}, +"recall": { +"description": "Recall for the given confidence threshold.", +"format": "float", +"type": "number" +} +}, +"type": "object" +}, +"XPSImageSegmentationTrainResponse": { +"id": "XPSImageSegmentationTrainResponse", +"properties": { +"colorMaps": { +"description": "Color map of the model.", +"items": { +"$ref": "XPSColorMap" +}, +"type": "array" +}, +"exportModelSpec": { +"$ref": "XPSImageExportModelSpec", +"description": "NOTE: These fields are not used/needed in EAP but will be set later." +}, +"modelArtifactSpec": { +"$ref": "XPSImageModelArtifactSpec", +"description": "## The fields below are only populated under uCAIP request scope. Model artifact spec stores and model gcs pathes and related metadata" +}, +"modelServingSpec": { +"$ref": "XPSImageModelServingSpec" +}, +"stopReason": { +"description": "Stop reason for training job, e.g. 'TRAIN_BUDGET_REACHED', 'MODEL_CONVERGED'.", +"enum": [ +"TRAIN_STOP_REASON_UNSPECIFIED", +"TRAIN_STOP_REASON_BUDGET_REACHED", +"TRAIN_STOP_REASON_MODEL_CONVERGED", +"TRAIN_STOP_REASON_MODEL_EARLY_STOPPED" +], +"enumDescriptions": [ +"", +"", +"Model fully converged, can not be resumbed training.", +"Model early converged, can be further trained till full convergency." +], +"type": "string" +}, +"trainCostNodeSeconds": { +"description": "The actual train cost of creating this model, expressed in node seconds, i.e. 3,600 value in this field means 1 node hour.", +"format": "int64", +"type": "string" +} +}, +"type": "object" +}, +"XPSIntegratedGradientsAttribution": { +"deprecated": true, +"description": "An attribution method that computes the Aumann-Shapley value taking advantage of the model's fully differentiable structure. Refer to this paper for more details: https://arxiv.org/abs/1703.01365", +"id": "XPSIntegratedGradientsAttribution", +"properties": { +"stepCount": { +"description": "The number of steps for approximating the path integral. A good value to start is 50 and gradually increase until the sum to diff property is within the desired error range. Valid range of its value is [1, 100], inclusively.", +"format": "int32", +"type": "integer" +} +}, +"type": "object" +}, +"XPSMetricEntry": { +"id": "XPSMetricEntry", +"properties": { +"argentumMetricId": { +"description": "For billing metrics that are using legacy sku's, set the legacy billing metric id here. This will be sent to Chemist as the \"cloudbilling.googleapis.com/argentum_metric_id\" label. Otherwise leave empty.", +"type": "string" +}, +"doubleValue": { +"description": "A double value.", +"format": "double", +"type": "number" +}, +"int64Value": { +"description": "A signed 64-bit integer value.", +"format": "int64", +"type": "string" +}, +"metricName": { +"description": "The metric name defined in the service configuration.", +"type": "string" +}, +"systemLabels": { +"description": "Billing system labels for this (metric, value) pair.", +"items": { +"$ref": "XPSMetricEntryLabel" +}, +"type": "array" +} +}, +"type": "object" +}, +"XPSMetricEntryLabel": { +"id": "XPSMetricEntryLabel", +"properties": { +"labelName": { +"description": "The name of the label.", +"type": "string" +}, +"labelValue": { +"description": "The value of the label.", +"type": "string" +} +}, +"type": "object" +}, +"XPSModelArtifactItem": { +"description": "A single model artifact item.", +"id": "XPSModelArtifactItem", +"properties": { +"artifactFormat": { +"description": "The model artifact format.", +"enum": [ +"ARTIFACT_FORMAT_UNSPECIFIED", +"TF_CHECKPOINT", +"TF_SAVED_MODEL", +"TF_LITE", +"EDGE_TPU_TF_LITE", +"TF_JS", +"CORE_ML" +], +"enumDescriptions": [ +"Should not be used.", +"The Tensorflow checkpoints. See https://www.tensorflow.org/guide/checkpoint.", +"The Tensorflow SavedModel binary.", +"Model artifact in generic TensorFlow Lite (.tflite) format. See https://www.tensorflow.org/lite.", +"Used for [Edge TPU](https://cloud.google.com/edge-tpu/) devices.", +"A [TensorFlow.js](https://www.tensorflow.org/js) model that can be used in the browser and in Node.js using JavaScript.", +"Used for iOS mobile devices in (.mlmodel) format. See https://developer.apple.com/documentation/coreml" +], +"type": "string" +}, +"gcsUri": { +"description": "The Google Cloud Storage URI that stores the model binary files.", +"type": "string" +} +}, +"type": "object" +}, +"XPSPreprocessResponse": { +"id": "XPSPreprocessResponse", +"properties": { +"outputExampleSet": { +"$ref": "XPSExampleSet", +"description": "Preprocessed examples, that are to be imported into AutoML storage. This should point to RecordIO file(s) of PreprocessedExample messages. The PreprocessedExample.mvp_training_data-s returned here are later verbatim passed to Train() call in TrainExample.mvp_training_data." +}, +"speechPreprocessResp": { +"$ref": "XPSSpeechPreprocessResponse" +}, +"tablesPreprocessResponse": { +"$ref": "XPSTablesPreprocessResponse" +}, +"translationPreprocessResp": { +"$ref": "XPSTranslationPreprocessResponse" +} +}, +"type": "object" +}, +"XPSRegressionEvaluationMetrics": { +"description": "Model evaluation metrics for regression problems. It can be used for Tables.", +"id": "XPSRegressionEvaluationMetrics", +"properties": { +"meanAbsoluteError": { +"description": "Mean Absolute Error (MAE).", +"format": "float", +"type": "number" +}, +"meanAbsolutePercentageError": { +"description": "Mean absolute percentage error. Only set if all ground truth values are positive.", +"format": "float", +"type": "number" +}, +"rSquared": { +"description": "R squared.", +"format": "float", +"type": "number" +}, +"regressionMetricsEntries": { +"description": "A list of actual versus predicted points for the model being evaluated.", +"items": { +"$ref": "XPSRegressionMetricsEntry" +}, +"type": "array" +}, +"rootMeanSquaredError": { +"description": "Root Mean Squared Error (RMSE).", +"format": "float", +"type": "number" +}, +"rootMeanSquaredLogError": { +"description": "Root mean squared log error.", +"format": "float", +"type": "number" +} +}, +"type": "object" +}, +"XPSRegressionMetricsEntry": { +"description": "A pair of actual & observed values for the model being evaluated.", +"id": "XPSRegressionMetricsEntry", +"properties": { +"predictedValue": { +"description": "The observed value for a row in the dataset.", +"format": "float", +"type": "number" +}, +"trueValue": { +"description": "The actual target value for a row in the dataset.", +"format": "float", +"type": "number" +} +}, +"type": "object" +}, +"XPSReportingMetrics": { +"id": "XPSReportingMetrics", +"properties": { +"effectiveTrainingDuration": { +"deprecated": true, +"description": "The effective time training used. If set, this is used for quota management and billing. Deprecated. AutoML BE doesn't use this. Don't set.", +"format": "google-duration", +"type": "string" +}, +"metricEntries": { +"description": "One entry per metric name. The values must be aggregated per metric name.", +"items": { +"$ref": "XPSMetricEntry" +}, +"type": "array" +} +}, +"type": "object" +}, +"XPSResponseExplanationMetadata": { +"deprecated": true, +"id": "XPSResponseExplanationMetadata", +"properties": { +"inputs": { +"additionalProperties": { +"$ref": "XPSResponseExplanationMetadataInputMetadata" +}, +"description": "Metadata of the input.", +"type": "object" +}, +"outputs": { +"additionalProperties": { +"$ref": "XPSResponseExplanationMetadataOutputMetadata" +}, +"description": "Metadata of the output.", +"type": "object" +} +}, +"type": "object" +}, +"XPSResponseExplanationMetadataInputMetadata": { +"description": "Metadata of the input of a feature.", +"id": "XPSResponseExplanationMetadataInputMetadata", +"properties": { +"inputTensorName": { +"description": "Name of the input tensor for this model. Only needed in train response.", +"type": "string" +}, +"modality": { +"description": "Modality of the feature. Valid values are: numeric, image. Defaults to numeric.", +"enum": [ +"MODALITY_UNSPECIFIED", +"NUMERIC", +"IMAGE", +"CATEGORICAL" +], +"enumDescriptions": [ +"", +"", +"", +"" +], +"type": "string" +}, +"visualizationConfig": { +"$ref": "XPSVisualization", +"description": "Visualization configurations for image explanation." +} +}, +"type": "object" +}, +"XPSResponseExplanationMetadataOutputMetadata": { +"description": "Metadata of the prediction output to be explained.", +"id": "XPSResponseExplanationMetadataOutputMetadata", +"properties": { +"outputTensorName": { +"description": "Name of the output tensor. Only needed in train response.", +"type": "string" +} +}, +"type": "object" +}, +"XPSResponseExplanationParameters": { +"deprecated": true, +"id": "XPSResponseExplanationParameters", +"properties": { +"integratedGradientsAttribution": { +"$ref": "XPSIntegratedGradientsAttribution", +"description": "An attribution method that computes Aumann-Shapley values taking advantage of the model's fully differentiable structure. Refer to this paper for more details: https://arxiv.org/abs/1703.01365" +}, +"xraiAttribution": { +"$ref": "XPSXraiAttribution", +"description": "An attribution method that redistributes Integrated Gradients attribution to segmented regions, taking advantage of the model's fully differentiable structure. Refer to this paper for more details: https://arxiv.org/abs/1906.02825 XRAI currently performs better on natural images, like a picture of a house or an animal. If the images are taken in artificial environments, like a lab or manufacturing line, or from diagnostic equipment, like x-rays or quality-control cameras, use Integrated Gradients instead." +} +}, +"type": "object" +}, +"XPSResponseExplanationSpec": { +"deprecated": true, +"description": "Specification of Model explanation. Feature-based XAI in AutoML Vision ICN is deprecated.", +"id": "XPSResponseExplanationSpec", +"properties": { +"explanationType": { +"description": "Explanation type. For AutoML Image Classification models, possible values are: * `image-integrated-gradients` * `image-xrai`", +"type": "string" +}, +"metadata": { +"$ref": "XPSResponseExplanationMetadata", +"description": "Metadata describing the Model's input and output for explanation." +}, +"parameters": { +"$ref": "XPSResponseExplanationParameters", +"description": "Parameters that configure explaining of the Model's predictions." +} +}, +"type": "object" +}, +"XPSRow": { +"id": "XPSRow", +"properties": { +"columnIds": { +"description": "The ids of the columns. Note: The below `values` field must match order of this field, if this field is set.", +"items": { +"format": "int32", +"type": "integer" +}, +"type": "array" +}, +"values": { +"description": "The values of the row cells, given in the same order as the column_ids. If column_ids is not set, then in the same order as the input_feature_column_ids in TablesModelMetadata.", +"items": { +"type": "any" +}, +"type": "array" +} +}, +"type": "object" +}, +"XPSSpeechEvaluationMetrics": { +"id": "XPSSpeechEvaluationMetrics", +"properties": { +"subModelEvaluationMetrics": { +"description": "Evaluation metrics for all submodels contained in this model.", +"items": { +"$ref": "XPSSpeechEvaluationMetricsSubModelEvaluationMetric" +}, +"type": "array" +} +}, +"type": "object" +}, +"XPSSpeechEvaluationMetricsSubModelEvaluationMetric": { +"id": "XPSSpeechEvaluationMetricsSubModelEvaluationMetric", +"properties": { +"biasingModelType": { +"description": "Type of the biasing model.", +"enum": [ +"BIASING_MODEL_TYPE_UNSPECIFIED", +"COMMAND_AND_SEARCH", +"PHONE_CALL", +"VIDEO", +"DEFAULT" +], +"enumDescriptions": [ +"", +"Build biasing model on top of COMMAND_AND_SEARCH model", +"Build biasing model on top of PHONE_CALL model", +"Build biasing model on top of VIDEO model", +"Build biasing model on top of DEFAULT model" +], +"type": "string" +}, +"isEnhancedModel": { +"description": "If true then it means we have an enhanced version of the biasing models.", +"type": "boolean" +}, +"numDeletions": { +"format": "int32", +"type": "integer" +}, +"numInsertions": { +"format": "int32", +"type": "integer" +}, +"numSubstitutions": { +"format": "int32", +"type": "integer" +}, +"numUtterances": { +"description": "Number of utterances used in the wer computation.", +"format": "int32", +"type": "integer" +}, +"numWords": { +"description": "Number of words over which the word error rate was computed.", +"format": "int32", +"type": "integer" +}, +"sentenceAccuracy": { +"description": "Below fields are used for debugging purposes", +"format": "double", +"type": "number" +}, +"wer": { +"description": "Word error rate (standard error metric used for speech recognition).", +"format": "double", +"type": "number" +} +}, +"type": "object" +}, +"XPSSpeechModelSpec": { +"id": "XPSSpeechModelSpec", +"properties": { +"datasetId": { +"description": "Required for speech xps backend. Speech xps has to use dataset_id and model_id as the primary key in db so that speech API can query the db directly.", +"format": "int64", +"type": "string" +}, +"language": { +"type": "string" +}, +"subModelSpecs": { +"description": "Model specs for all submodels contained in this model.", +"items": { +"$ref": "XPSSpeechModelSpecSubModelSpec" +}, +"type": "array" +} +}, +"type": "object" +}, +"XPSSpeechModelSpecSubModelSpec": { +"id": "XPSSpeechModelSpecSubModelSpec", +"properties": { +"biasingModelType": { +"description": "Type of the biasing model.", +"enum": [ +"BIASING_MODEL_TYPE_UNSPECIFIED", +"COMMAND_AND_SEARCH", +"PHONE_CALL", +"VIDEO", +"DEFAULT" +], +"enumDescriptions": [ +"", +"Build biasing model on top of COMMAND_AND_SEARCH model", +"Build biasing model on top of PHONE_CALL model", +"Build biasing model on top of VIDEO model", +"Build biasing model on top of DEFAULT model" +], +"type": "string" +}, +"clientId": { +"description": "In S3, Recognition ClientContextId.client_id", +"type": "string" +}, +"contextId": { +"description": "In S3, Recognition ClientContextId.context_id", +"type": "string" +}, +"isEnhancedModel": { +"description": "If true then it means we have an enhanced version of the biasing models.", +"type": "boolean" +} +}, +"type": "object" +}, +"XPSSpeechPreprocessResponse": { +"id": "XPSSpeechPreprocessResponse", +"properties": { +"cnsTestDataPath": { +"description": "Location od shards of sstables (test data) of DataUtterance protos.", +"type": "string" +}, +"cnsTrainDataPath": { +"description": "Location of shards of sstables (training data) of DataUtterance protos.", +"type": "string" +}, +"prebuiltModelEvaluationMetrics": { +"$ref": "XPSSpeechEvaluationMetrics", +"description": "The metrics for prebuilt speech models. They are included here because there is no prebuilt speech models stored in the AutoML." +}, +"speechPreprocessStats": { +"$ref": "XPSSpeechPreprocessStats", +"description": "Stats associated with the data." +} +}, +"type": "object" +}, +"XPSSpeechPreprocessStats": { +"id": "XPSSpeechPreprocessStats", +"properties": { +"dataErrors": { +"description": "Different types of data errors and the counts associated with them.", +"items": { +"$ref": "XPSDataErrors" +}, +"type": "array" +}, +"numHumanLabeledExamples": { +"description": "The number of rows marked HUMAN_LABELLED", +"format": "int32", +"type": "integer" +}, +"numLogsExamples": { +"description": "The number of samples found in the previously recorded logs data.", +"format": "int32", +"type": "integer" +}, +"numMachineTranscribedExamples": { +"description": "The number of rows marked as MACHINE_TRANSCRIBED", +"format": "int32", +"type": "integer" +}, +"testExamplesCount": { +"description": "The number of examples labelled as TEST by Speech xps server.", +"format": "int32", +"type": "integer" +}, +"testSentencesCount": { +"description": "The number of sentences in the test data set.", +"format": "int32", +"type": "integer" +}, +"testWordsCount": { +"description": "The number of words in the test data set.", +"format": "int32", +"type": "integer" +}, +"trainExamplesCount": { +"description": "The number of examples labeled as TRAIN by Speech xps server.", +"format": "int32", +"type": "integer" +}, +"trainSentencesCount": { +"description": "The number of sentences in the training data set.", +"format": "int32", +"type": "integer" +}, +"trainWordsCount": { +"description": "The number of words in the training data set.", +"format": "int32", +"type": "integer" +} +}, +"type": "object" +}, +"XPSStringStats": { +"description": "The data statistics of a series of STRING values.", +"id": "XPSStringStats", +"properties": { +"commonStats": { +"$ref": "XPSCommonStats" +}, +"topUnigramStats": { +"description": "The statistics of the top 20 unigrams, ordered by StringStats.UnigramStats.count.", +"items": { +"$ref": "XPSStringStatsUnigramStats" +}, +"type": "array" +} +}, +"type": "object" +}, +"XPSStringStatsUnigramStats": { +"description": "The statistics of a unigram.", +"id": "XPSStringStatsUnigramStats", +"properties": { +"count": { +"description": "The number of occurrences of this unigram in the series.", +"format": "int64", +"type": "string" +}, +"value": { +"description": "The unigram.", +"type": "string" +} +}, +"type": "object" +}, +"XPSStructStats": { +"description": "The data statistics of a series of STRUCT values.", +"id": "XPSStructStats", +"properties": { +"commonStats": { +"$ref": "XPSCommonStats" +}, +"fieldStats": { +"additionalProperties": { +"$ref": "XPSDataStats" +}, +"description": "Map from a field name of the struct to data stats aggregated over series of all data in that field across all the structs.", +"type": "object" +} +}, +"type": "object" +}, +"XPSStructType": { +"description": "`StructType` defines the DataType-s of a STRUCT type.", +"id": "XPSStructType", +"properties": { +"fields": { +"additionalProperties": { +"$ref": "XPSDataType" +}, +"description": "Unordered map of struct field names to their data types.", +"type": "object" +} +}, +"type": "object" +}, +"XPSTableSpec": { +"id": "XPSTableSpec", +"properties": { +"columnSpecs": { +"additionalProperties": { +"$ref": "XPSColumnSpec" +}, +"description": "Mapping from column id to column spec.", +"type": "object" +}, +"importedDataSizeInBytes": { +"description": "The total size of imported data of the table.", +"format": "int64", +"type": "string" +}, +"rowCount": { +"description": "The number of rows in the table.", +"format": "int64", +"type": "string" +}, +"timeColumnId": { +"description": "The id of the time column.", +"format": "int32", +"type": "integer" +}, +"validRowCount": { +"description": "The number of valid rows.", +"format": "int64", +"type": "string" +} +}, +"type": "object" +}, +"XPSTablesClassificationMetrics": { +"description": "Metrics for Tables classification problems.", +"id": "XPSTablesClassificationMetrics", +"properties": { +"curveMetrics": { +"description": "Metrics building a curve.", +"items": { +"$ref": "XPSTablesClassificationMetricsCurveMetrics" +}, +"type": "array" +} +}, +"type": "object" +}, +"XPSTablesClassificationMetricsCurveMetrics": { +"description": "Metrics curve data point for a single value.", +"id": "XPSTablesClassificationMetricsCurveMetrics", +"properties": { +"aucPr": { +"description": "The area under the precision-recall curve.", +"format": "double", +"type": "number" +}, +"aucRoc": { +"description": "The area under receiver operating characteristic curve.", +"format": "double", +"type": "number" +}, +"confidenceMetricsEntries": { +"description": "Metrics that have confidence thresholds. Precision-recall curve and ROC curve can be derived from them.", +"items": { +"$ref": "XPSTablesConfidenceMetricsEntry" +}, +"type": "array" +}, +"logLoss": { +"description": "The Log loss metric.", +"format": "double", +"type": "number" +}, +"positionThreshold": { +"description": "The position threshold value used to compute the metrics.", +"format": "int32", +"type": "integer" +}, +"value": { +"description": "The CATEGORY row value (for ARRAY unnested) the curve metrics are for.", +"type": "string" +} +}, +"type": "object" +}, +"XPSTablesConfidenceMetricsEntry": { +"description": "Metrics for a single confidence threshold.", +"id": "XPSTablesConfidenceMetricsEntry", +"properties": { +"confidenceThreshold": { +"description": "The confidence threshold value used to compute the metrics.", +"format": "double", +"type": "number" +}, +"f1Score": { +"description": "The harmonic mean of recall and precision. (2 * precision * recall) / (precision + recall)", +"format": "double", +"type": "number" +}, +"falseNegativeCount": { +"description": "False negative count.", +"format": "int64", +"type": "string" +}, +"falsePositiveCount": { +"description": "False positive count.", +"format": "int64", +"type": "string" +}, +"falsePositiveRate": { +"description": "FPR = #false positives / (#false positives + #true negatives)", +"format": "double", +"type": "number" +}, +"precision": { +"description": "Precision = #true positives / (#true positives + #false positives).", +"format": "double", +"type": "number" +}, +"recall": { +"description": "Recall = #true positives / (#true positives + #false negatives).", +"format": "double", +"type": "number" +}, +"trueNegativeCount": { +"description": "True negative count.", +"format": "int64", +"type": "string" +}, +"truePositiveCount": { +"description": "True positive count.", +"format": "int64", +"type": "string" +}, +"truePositiveRate": { +"description": "TPR = #true positives / (#true positives + #false negatvies)", +"format": "double", +"type": "number" +} +}, +"type": "object" +}, +"XPSTablesDatasetMetadata": { +"description": "Metadata for a dataset used for AutoML Tables.", +"id": "XPSTablesDatasetMetadata", +"properties": { +"mlUseColumnId": { +"description": "Id the column to split the table.", +"format": "int32", +"type": "integer" +}, +"primaryTableSpec": { +"$ref": "XPSTableSpec", +"description": "Primary table." +}, +"targetColumnCorrelations": { +"additionalProperties": { +"$ref": "XPSCorrelationStats" +}, +"description": "(the column id : its CorrelationStats with target column).", +"type": "object" +}, +"targetColumnId": { +"description": "Id of the primary table column that should be used as the training label.", +"format": "int32", +"type": "integer" +}, +"weightColumnId": { +"description": "Id of the primary table column that should be used as the weight column.", +"format": "int32", +"type": "integer" +} +}, +"type": "object" +}, +"XPSTablesEvaluationMetrics": { +"id": "XPSTablesEvaluationMetrics", +"properties": { +"classificationMetrics": { +"$ref": "XPSTablesClassificationMetrics", +"description": "Classification metrics." +}, +"regressionMetrics": { +"$ref": "XPSTablesRegressionMetrics", +"description": "Regression metrics." +} +}, +"type": "object" +}, +"XPSTablesModelColumnInfo": { +"description": "An information specific to given column and Tables Model, in context of the Model and the predictions created by it.", +"id": "XPSTablesModelColumnInfo", +"properties": { +"columnId": { +"description": "The ID of the column.", +"format": "int32", +"type": "integer" +}, +"featureImportance": { +"description": "When given as part of a Model: Measurement of how much model predictions correctness on the TEST data depend on values in this column. A value between 0 and 1, higher means higher influence. These values are normalized - for all input feature columns of a given model they add to 1. When given back by Predict or Batch Predict: Measurement of how impactful for the prediction returned for the given row the value in this column was. Specifically, the feature importance specifies the marginal contribution that the feature made to the prediction score compared to the baseline score. These values are computed using the Sampled Shapley method.", +"format": "float", +"type": "number" +} +}, +"type": "object" +}, +"XPSTablesModelStructure": { +"description": "A description of Tables model structure.", +"id": "XPSTablesModelStructure", +"properties": { +"modelParameters": { +"description": "A list of models.", +"items": { +"$ref": "XPSTablesModelStructureModelParameters" +}, +"type": "array" +} +}, +"type": "object" +}, +"XPSTablesModelStructureModelParameters": { +"description": "Model hyper-parameters for a model.", +"id": "XPSTablesModelStructureModelParameters", +"properties": { +"hyperparameters": { +"items": { +"$ref": "XPSTablesModelStructureModelParametersParameter" +}, +"type": "array" +} +}, +"type": "object" +}, +"XPSTablesModelStructureModelParametersParameter": { +"id": "XPSTablesModelStructureModelParametersParameter", +"properties": { +"floatValue": { +"description": "Float type parameter value.", +"format": "double", +"type": "number" +}, +"intValue": { +"description": "Integer type parameter value.", +"format": "int64", +"type": "string" +}, +"name": { +"description": "Parameter name.", +"type": "string" +}, +"stringValue": { +"description": "String type parameter value.", +"type": "string" +} +}, +"type": "object" +}, +"XPSTablesPreprocessResponse": { +"id": "XPSTablesPreprocessResponse", +"properties": { +"tablesDatasetMetadata": { +"$ref": "XPSTablesDatasetMetadata", +"description": "The table/column id, column_name and the DataTypes of the columns will be populated." +} +}, +"type": "object" +}, +"XPSTablesRegressionMetrics": { +"description": "Metrics for Tables regression problems.", +"id": "XPSTablesRegressionMetrics", +"properties": { +"meanAbsoluteError": { +"description": "Mean absolute error.", +"format": "double", +"type": "number" +}, +"meanAbsolutePercentageError": { +"description": "Mean absolute percentage error, only set if all of the target column's values are positive.", +"format": "double", +"type": "number" +}, +"rSquared": { +"description": "R squared.", +"format": "double", +"type": "number" +}, +"regressionMetricsEntries": { +"description": "A list of actual versus predicted points for the model being evaluated.", +"items": { +"$ref": "XPSRegressionMetricsEntry" +}, +"type": "array" +}, +"rootMeanSquaredError": { +"description": "Root mean squared error.", +"format": "double", +"type": "number" +}, +"rootMeanSquaredLogError": { +"description": "Root mean squared log error.", +"format": "double", +"type": "number" +} +}, +"type": "object" +}, +"XPSTablesTrainResponse": { +"id": "XPSTablesTrainResponse", +"properties": { +"modelStructure": { +"$ref": "XPSTablesModelStructure" +}, +"predictionSampleRows": { +"description": "Sample rows from the dataset this model was trained.", +"items": { +"$ref": "XPSRow" +}, +"type": "array" +}, +"tablesModelColumnInfo": { +"description": "Output only. Auxiliary information for each of the input_feature_column_specs, with respect to this particular model.", +"items": { +"$ref": "XPSTablesModelColumnInfo" +}, +"type": "array" +}, +"trainCostMilliNodeHours": { +"description": "The actual training cost of the model, expressed in milli node hours, i.e. 1,000 value in this field means 1 node hour. Guaranteed to not exceed the train budget.", +"format": "int64", +"type": "string" +} +}, +"type": "object" +}, +"XPSTablesTrainingOperationMetadata": { +"id": "XPSTablesTrainingOperationMetadata", +"properties": { +"createModelStage": { +"description": "Current stage of creating model.", +"enum": [ +"CREATE_MODEL_STAGE_UNSPECIFIED", +"DATA_PREPROCESSING", +"TRAINING", +"EVALUATING", +"MODEL_POST_PROCESSING" +], +"enumDescriptions": [ +"Unspecified stage.", +"Prepare the model training pipeline and run data processing.", +"Training model.", +"Run evaluation.", +"Finalizing model training pipeline." +], +"type": "string" +}, +"optimizationObjective": { +"description": "The optimization objective for model.", +"type": "string" +}, +"topTrials": { +"description": "This field is for training. When the operation is terminated successfully, AutoML Backend post this field to operation metadata in spanner. If the metadata has no trials returned, the training operation is supposed to be a failure.", +"items": { +"$ref": "XPSTuningTrial" +}, +"type": "array" +}, +"trainBudgetMilliNodeHours": { +"description": "Creating model budget.", +"format": "int64", +"type": "string" +}, +"trainingObjectivePoints": { +"description": "This field records the training objective value with respect to time, giving insight into how the model architecture search is performing as training time elapses.", +"items": { +"$ref": "XPSTrainingObjectivePoint" +}, +"type": "array" +}, +"trainingStartTime": { +"description": "Timestamp when training process starts.", +"format": "google-datetime", +"type": "string" +} +}, +"type": "object" +}, +"XPSTextComponentModel": { +"description": "Component model.", +"id": "XPSTextComponentModel", +"properties": { +"batchPredictionModelGcsUri": { +"description": "The Cloud Storage resource path to hold batch prediction model.", +"type": "string" +}, +"onlinePredictionModelGcsUri": { +"description": "The Cloud Storage resource path to hold online prediction model.", +"type": "string" +}, +"partition": { +"description": "The partition where the model is deployed. Populated by uCAIP BE as part of online PredictRequest.", +"enum": [ +"PARTITION_TYPE_UNSPECIFIED", +"PARTITION_ZERO", +"PARTITION_REDUCED_HOMING", +"PARTITION_JELLYFISH", +"PARTITION_CPU", +"PARTITION_CUSTOM_STORAGE_CPU" +], +"enumDescriptions": [ +"", +"The default partition.", +"It has significantly lower replication than partition-0 and is located in the US only. It also has a larger model size limit and higher default RAM quota than partition-0. Customers with batch traffic, US-based traffic, or very large models should use this partition. Capacity in this partition is significantly cheaper than partition-0.", +"To be used by customers with Jellyfish-accelerated ops.", +"The partition used by regionalized servomatic cloud regions.", +"The partition used for loading models from custom storage." +], +"type": "string" +}, +"servingArtifact": { +"$ref": "XPSModelArtifactItem", +"description": "The default model binary file used for serving (e.g. online predict, batch predict) via public Cloud Ai Platform API." +}, +"servoModelName": { +"description": "The name of servo model. Populated by uCAIP BE as part of online PredictRequest.", +"type": "string" +}, +"submodelName": { +"description": "The name of the trained NL submodel.", +"type": "string" +}, +"submodelType": { +"description": "The type of trained NL submodel", +"enum": [ +"TEXT_MODEL_TYPE_UNSPECIFIED", +"TEXT_MODEL_TYPE_DEFAULT", +"TEXT_MODEL_TYPE_META_ARCHITECT", +"TEXT_MODEL_TYPE_ATC", +"TEXT_MODEL_TYPE_CLARA2", +"TEXT_MODEL_TYPE_CHATBASE", +"TEXT_MODEL_TYPE_SAFT_SPAN_LABELING", +"TEXT_MODEL_TYPE_TEXT_EXTRACTION", +"TEXT_MODEL_TYPE_RELATIONSHIP_EXTRACTION", +"TEXT_MODEL_TYPE_COMPOSITE", +"TEXT_MODEL_TYPE_ALL_MODELS", +"TEXT_MODEL_TYPE_BERT", +"TEXT_MODEL_TYPE_ENC_PALM" +], +"enumDescriptions": [ +"", +"", +"", +"", +"", +"", +"", +"Model type for entity extraction.", +"Model type for relationship extraction.", +"A composite model represents a set of component models that have to be used together for prediction. A composite model appears to be a single model to the model user. It may contain only one component model.", +"Model type used to train default, MA, and ATC models in a single batch worker pipeline.", +"BERT pipeline needs a specific model type, since it uses a different TFX configuration compared with DEFAULT (despite sharing most of the code).", +"Model type for EncPaLM." +], +"type": "string" +}, +"tfRuntimeVersion": { +"description": "## The fields below are only populated under uCAIP request scope. https://cloud.google.com/ml-engine/docs/runtime-version-list", +"type": "string" +}, +"versionNumber": { +"description": "The servomatic model version number. Populated by uCAIP BE as part of online PredictRequest.", +"format": "int64", +"type": "string" +} +}, +"type": "object" +}, +"XPSTextExtractionEvaluationMetrics": { +"id": "XPSTextExtractionEvaluationMetrics", +"properties": { +"bestF1ConfidenceMetrics": { +"$ref": "XPSConfidenceMetricsEntry", +"deprecated": true, +"description": "Values are at the highest F1 score on the precision-recall curve. Only confidence_threshold, recall, precision, and f1_score will be set." +}, +"confidenceMetricsEntries": { +"description": "If the enclosing EvaluationMetrics.label is empty, confidence_metrics_entries is an evaluation of the entire model across all labels. If the enclosing EvaluationMetrics.label is set, confidence_metrics_entries applies to that label.", +"items": { +"$ref": "XPSConfidenceMetricsEntry" +}, +"type": "array" +}, +"confusionMatrix": { +"$ref": "XPSConfusionMatrix", +"description": "Confusion matrix of the model, at the default confidence threshold (0.0). Only set for whole-model evaluation, not for evaluation per label." +}, +"perLabelConfidenceMetrics": { +"additionalProperties": { +"$ref": "XPSConfidenceMetricsEntry" +}, +"deprecated": true, +"description": "Only recall, precision, and f1_score will be set.", +"type": "object" +} +}, +"type": "object" +}, +"XPSTextSentimentEvaluationMetrics": { +"description": "Model evaluation metrics for text sentiment problems.", +"id": "XPSTextSentimentEvaluationMetrics", +"properties": { +"confusionMatrix": { +"$ref": "XPSConfusionMatrix", +"description": "Output only. Confusion matrix of the evaluation. Only set for the overall model evaluation, not for evaluation of a single annotation spec." +}, +"f1Score": { +"description": "Output only. The harmonic mean of recall and precision.", +"format": "float", +"type": "number" +}, +"linearKappa": { +"description": "Output only. Linear weighted kappa. Only set for the overall model evaluation, not for evaluation of a single annotation spec.", +"format": "float", +"type": "number" +}, +"meanAbsoluteError": { +"description": "Output only. Mean absolute error. Only set for the overall model evaluation, not for evaluation of a single annotation spec.", +"format": "float", +"type": "number" +}, +"meanSquaredError": { +"description": "Output only. Mean squared error. Only set for the overall model evaluation, not for evaluation of a single annotation spec.", +"format": "float", +"type": "number" +}, +"precision": { +"description": "Output only. Precision.", +"format": "float", +"type": "number" +}, +"quadraticKappa": { +"description": "Output only. Quadratic weighted kappa. Only set for the overall model evaluation, not for evaluation of a single annotation spec.", +"format": "float", +"type": "number" +}, +"recall": { +"description": "Output only. Recall.", +"format": "float", +"type": "number" +} +}, +"type": "object" +}, +"XPSTextToSpeechTrainResponse": { +"description": "TextToSpeech train response", +"id": "XPSTextToSpeechTrainResponse", +"properties": {}, +"type": "object" +}, +"XPSTextTrainResponse": { +"id": "XPSTextTrainResponse", +"properties": { +"componentModel": { +"description": "Component submodels.", +"items": { +"$ref": "XPSTextComponentModel" +}, +"type": "array" +} +}, +"type": "object" +}, +"XPSTfJsFormat": { +"description": "A [TensorFlow.js](https://www.tensorflow.org/js) model that can be used in the browser and in Node.js using JavaScript.", +"id": "XPSTfJsFormat", +"properties": {}, +"type": "object" +}, +"XPSTfLiteFormat": { +"description": "LINT.IfChange A model format used for mobile and IoT devices. See https://www.tensorflow.org/lite.", +"id": "XPSTfLiteFormat", +"properties": {}, +"type": "object" +}, +"XPSTfSavedModelFormat": { +"description": "A tensorflow model format in SavedModel format.", +"id": "XPSTfSavedModelFormat", +"properties": {}, +"type": "object" +}, +"XPSTimestampStats": { +"description": "The data statistics of a series of TIMESTAMP values.", +"id": "XPSTimestampStats", +"properties": { +"commonStats": { +"$ref": "XPSCommonStats" +}, +"granularStats": { +"additionalProperties": { +"$ref": "XPSTimestampStatsGranularStats" +}, +"description": "The string key is the pre-defined granularity. Currently supported: hour_of_day, day_of_week, month_of_year. Granularities finer that the granularity of timestamp data are not populated (e.g. if timestamps are at day granularity, then hour_of_day is not populated).", +"type": "object" +}, +"medianTimestampNanos": { +"format": "int64", +"type": "string" +} +}, +"type": "object" +}, +"XPSTimestampStatsGranularStats": { +"description": "Stats split by a defined in context granularity.", +"id": "XPSTimestampStatsGranularStats", +"properties": { +"buckets": { +"additionalProperties": { +"format": "int64", +"type": "string" +}, +"description": "A map from granularity key to example count for that key. E.g. for hour_of_day `13` means 1pm, or for month_of_year `5` means May).", +"type": "object" +} +}, +"type": "object" +}, +"XPSTrackMetricsEntry": { +"description": "Track matching model metrics for a single track match threshold and multiple label match confidence thresholds. Next tag: 6.", +"id": "XPSTrackMetricsEntry", +"properties": { +"confidenceMetricsEntries": { +"description": "Output only. Metrics for each label-match confidence_threshold from 0.05,0.10,...,0.95,0.96,0.97,0.98,0.99. Precision-recall curve is derived from them.", +"items": { +"$ref": "XPSTrackMetricsEntryConfidenceMetricsEntry" +}, +"type": "array" +}, +"iouThreshold": { +"description": "Output only. The intersection-over-union threshold value between bounding boxes across frames used to compute this metric entry.", +"format": "float", +"type": "number" +}, +"meanBoundingBoxIou": { +"description": "Output only. The mean bounding box iou over all confidence thresholds.", +"format": "float", +"type": "number" +}, +"meanMismatchRate": { +"description": "Output only. The mean mismatch rate over all confidence thresholds.", +"format": "float", +"type": "number" +}, +"meanTrackingAveragePrecision": { +"description": "Output only. The mean average precision over all confidence thresholds.", +"format": "float", +"type": "number" +} +}, +"type": "object" +}, +"XPSTrackMetricsEntryConfidenceMetricsEntry": { +"description": "Metrics for a single confidence threshold. Next tag: 6.", +"id": "XPSTrackMetricsEntryConfidenceMetricsEntry", +"properties": { +"boundingBoxIou": { +"description": "Output only. Bounding box intersection-over-union precision. Measures how well the bounding boxes overlap between each other (e.g. complete overlap or just barely above iou_threshold).", +"format": "float", +"type": "number" +}, +"confidenceThreshold": { +"description": "Output only. The confidence threshold value used to compute the metrics.", +"format": "float", +"type": "number" +}, +"mismatchRate": { +"description": "Output only. Mismatch rate, which measures the tracking consistency, i.e. correctness of instance ID continuity.", +"format": "float", +"type": "number" +}, +"trackingPrecision": { +"description": "Output only. Tracking precision.", +"format": "float", +"type": "number" +}, +"trackingRecall": { +"description": "Output only. Tracking recall.", +"format": "float", +"type": "number" +} +}, +"type": "object" +}, +"XPSTrainResponse": { +"id": "XPSTrainResponse", +"properties": { +"deployedModelSizeBytes": { +"description": "Estimated model size in bytes once deployed.", +"format": "int64", +"type": "string" +}, +"errorAnalysisConfigs": { +"description": "Optional vision model error analysis configuration. The field is set when model error analysis is enabled in the training request. The results of error analysis will be binded together with evaluation results (in the format of AnnotatedExample).", +"items": { +"$ref": "XPSVisionErrorAnalysisConfig" +}, +"type": "array" +}, +"evaluatedExampleSet": { +"$ref": "XPSExampleSet", +"description": "Examples used to evaluate the model (usually the test set), with the predicted annotations. The file_spec should point to recordio file(s) of AnnotatedExample. For each returned example, the example_id_token and annotations predicted by the model must be set. The example payload can and is recommended to be omitted." +}, +"evaluationMetricsSet": { +"$ref": "XPSEvaluationMetricsSet", +"description": "The trained model evaluation metrics. This can be optionally returned." +}, +"explanationConfigs": { +"deprecated": true, +"description": "VisionExplanationConfig for XAI on test set. Optional for when XAI is enable in training request.", +"items": { +"$ref": "XPSResponseExplanationSpec" +}, +"type": "array" +}, +"imageClassificationTrainResp": { +"$ref": "XPSImageClassificationTrainResponse" +}, +"imageObjectDetectionTrainResp": { +"$ref": "XPSImageObjectDetectionModelSpec" +}, +"imageSegmentationTrainResp": { +"$ref": "XPSImageSegmentationTrainResponse" +}, +"modelToken": { +"description": "Token that represents the trained model. This is considered immutable and is persisted in AutoML. xPS can put their own proto in the byte string, to e.g. point to the model checkpoints. The token is passed to other xPS APIs to refer to the model.", +"format": "byte", +"type": "string" +}, +"speechTrainResp": { +"$ref": "XPSSpeechModelSpec" +}, +"tablesTrainResp": { +"$ref": "XPSTablesTrainResponse" +}, +"textToSpeechTrainResp": { +"$ref": "XPSTextToSpeechTrainResponse" +}, +"textTrainResp": { +"$ref": "XPSTextTrainResponse", +"description": "Will only be needed for uCAIP from Beta." +}, +"translationTrainResp": { +"$ref": "XPSTranslationTrainResponse" +}, +"videoActionRecognitionTrainResp": { +"$ref": "XPSVideoActionRecognitionTrainResponse" +}, +"videoClassificationTrainResp": { +"$ref": "XPSVideoClassificationTrainResponse" +}, +"videoObjectTrackingTrainResp": { +"$ref": "XPSVideoObjectTrackingTrainResponse" +} +}, +"type": "object" +}, +"XPSTrainingObjectivePoint": { +"id": "XPSTrainingObjectivePoint", +"properties": { +"createTime": { +"description": "The time at which this point was recorded.", +"format": "google-datetime", +"type": "string" +}, +"value": { +"description": "The objective value when this point was recorded.", +"format": "float", +"type": "number" +} +}, +"type": "object" +}, +"XPSTranslationEvaluationMetrics": { +"description": "Evaluation metrics for the dataset.", +"id": "XPSTranslationEvaluationMetrics", +"properties": { +"baseBleuScore": { +"description": "BLEU score for base model.", +"format": "double", +"type": "number" +}, +"bleuScore": { +"description": "BLEU score.", +"format": "double", +"type": "number" +} +}, +"type": "object" +}, +"XPSTranslationPreprocessResponse": { +"description": "Translation preprocess response.", +"id": "XPSTranslationPreprocessResponse", +"properties": { +"parsedExampleCount": { +"description": "Total example count parsed.", +"format": "int64", +"type": "string" +}, +"validExampleCount": { +"description": "Total valid example count.", +"format": "int64", +"type": "string" +} +}, +"type": "object" +}, +"XPSTranslationTrainResponse": { +"description": "Train response for translation.", +"id": "XPSTranslationTrainResponse", +"properties": { +"modelType": { +"description": "Type of the model.", +"enum": [ +"MODEL_TYPE_UNSPECIFIED", +"LEGACY", +"CURRENT" +], +"enumDescriptions": [ +"Default", +"Legacy model. Will be deprecated.", +"Current model." +], +"type": "string" +} +}, +"type": "object" +}, +"XPSTuningTrial": { +"description": "Metrics for a tuning job generated, will get forwarded to Stackdriver as model tuning logs. Setting this as a standalone message out of CreateModelMetadata to avoid confusion as we expose this message only to users.", +"id": "XPSTuningTrial", +"properties": { +"modelStructure": { +"$ref": "XPSTablesModelStructure", +"description": "Model parameters for the trial." +}, +"trainingObjectivePoint": { +"$ref": "XPSTrainingObjectivePoint", +"description": "The optimization objective evaluation of the eval split data." +} +}, +"type": "object" +}, +"XPSVideoActionMetricsEntry": { +"description": "The Evaluation metrics entry given a specific precision_window_length.", +"id": "XPSVideoActionMetricsEntry", +"properties": { +"confidenceMetricsEntries": { +"description": "Metrics for each label-match confidence_threshold from 0.05,0.10,...,0.95,0.96,0.97,0.98,0.99.", +"items": { +"$ref": "XPSVideoActionMetricsEntryConfidenceMetricsEntry" +}, +"type": "array" +}, +"meanAveragePrecision": { +"description": "The mean average precision.", +"format": "float", +"type": "number" +}, +"precisionWindowLength": { +"description": "This VideoActionMetricsEntry is calculated based on this prediction window length. If the predicted action's timestamp is inside the time window whose center is the ground truth action's timestamp with this specific length, the prediction result is treated as a true positive.", +"format": "google-duration", +"type": "string" +} +}, +"type": "object" +}, +"XPSVideoActionMetricsEntryConfidenceMetricsEntry": { +"description": "Metrics for a single confidence threshold.", +"id": "XPSVideoActionMetricsEntryConfidenceMetricsEntry", +"properties": { +"confidenceThreshold": { +"description": "Output only. The confidence threshold value used to compute the metrics.", +"format": "float", +"type": "number" +}, +"f1Score": { +"description": "Output only. The harmonic mean of recall and precision.", +"format": "float", +"type": "number" +}, +"precision": { +"description": "Output only. Precision for the given confidence threshold.", +"format": "float", +"type": "number" +}, +"recall": { +"description": "Output only. Recall for the given confidence threshold.", +"format": "float", +"type": "number" +} +}, +"type": "object" +}, +"XPSVideoActionRecognitionEvaluationMetrics": { +"description": "Model evaluation metrics for video action recognition.", +"id": "XPSVideoActionRecognitionEvaluationMetrics", +"properties": { +"evaluatedActionCount": { +"description": "Output only. The number of ground truth actions used to create this evaluation.", +"format": "int32", +"type": "integer" +}, +"videoActionMetricsEntries": { +"description": "Output only. The metric entries for precision window lengths: 1s,2s,3s,4s, 5s.", +"items": { +"$ref": "XPSVideoActionMetricsEntry" +}, +"type": "array" +} +}, +"type": "object" +}, +"XPSVideoActionRecognitionTrainResponse": { +"id": "XPSVideoActionRecognitionTrainResponse", +"properties": { +"modelArtifactSpec": { +"$ref": "XPSVideoModelArtifactSpec", +"description": "## The fields below are only populated under uCAIP request scope." +}, +"trainCostNodeSeconds": { +"description": "The actual train cost of creating this model, expressed in node seconds, i.e. 3,600 value in this field means 1 node hour.", +"format": "int64", +"type": "string" +} +}, +"type": "object" +}, +"XPSVideoBatchPredictOperationMetadata": { +"id": "XPSVideoBatchPredictOperationMetadata", +"properties": { +"outputExamples": { +"description": "All the partial batch prediction results that are completed at the moment. Output examples are sorted by completion time. The order will not be changed. Each output example should be the path of a single RecordIO file of AnnotatedExamples.", +"items": { +"type": "string" +}, +"type": "array" +} +}, +"type": "object" +}, +"XPSVideoClassificationTrainResponse": { +"id": "XPSVideoClassificationTrainResponse", +"properties": { +"modelArtifactSpec": { +"$ref": "XPSVideoModelArtifactSpec", +"description": "## The fields below are only populated under uCAIP request scope." +}, +"trainCostNodeSeconds": { +"description": "The actual train cost of creating this model, expressed in node seconds, i.e. 3,600 value in this field means 1 node hour.", +"format": "int64", +"type": "string" +} +}, +"type": "object" +}, +"XPSVideoExportModelSpec": { +"description": "Information of downloadable models that are pre-generated as part of training flow and will be persisted in AutoMl backend. Upon receiving ExportModel request from user, AutoMl backend can serve the pre-generated models to user if exists (by copying the files from internal path to user provided location), otherwise, AutoMl backend will call xPS ExportModel API to generate the model on the fly with the requesting format.", +"id": "XPSVideoExportModelSpec", +"properties": { +"exportModelOutputConfig": { +"description": "Contains the model format and internal location of the model files to be exported/downloaded. Use the Google Cloud Storage bucket name which is provided via TrainRequest.gcs_bucket_name to store the model files.", +"items": { +"$ref": "XPSExportModelOutputConfig" +}, +"type": "array" +} +}, +"type": "object" +}, +"XPSVideoModelArtifactSpec": { +"id": "XPSVideoModelArtifactSpec", +"properties": { +"exportArtifact": { +"description": "The model binary files in different formats for model export.", +"items": { +"$ref": "XPSModelArtifactItem" +}, +"type": "array" +}, +"servingArtifact": { +"$ref": "XPSModelArtifactItem", +"description": "The default model binary file used for serving (e.g. batch predict) via public Cloud AI Platform API." +} +}, +"type": "object" +}, +"XPSVideoObjectTrackingEvaluationMetrics": { +"description": "Model evaluation metrics for ObjectTracking problems. Next tag: 10.", +"id": "XPSVideoObjectTrackingEvaluationMetrics", +"properties": { +"boundingBoxMeanAveragePrecision": { +"description": "Output only. The single metric for bounding boxes evaluation: the mean_average_precision averaged over all bounding_box_metrics_entries.", +"format": "float", +"type": "number" +}, +"boundingBoxMetricsEntries": { +"description": "Output only. The bounding boxes match metrics for each Intersection-over-union threshold 0.05,0.10,...,0.95,0.96,0.97,0.98,0.99.", +"items": { +"$ref": "XPSBoundingBoxMetricsEntry" +}, +"type": "array" +}, +"evaluatedBoundingboxCount": { +"description": "The number of bounding boxes used for model evaluation.", +"format": "int32", +"type": "integer" +}, +"evaluatedFrameCount": { +"description": "The number of video frames used for model evaluation.", +"format": "int32", +"type": "integer" +}, +"evaluatedTrackCount": { +"description": "The number of tracks used for model evaluation.", +"format": "int32", +"type": "integer" +}, +"trackMeanAveragePrecision": { +"description": "Output only. The single metric for tracks accuracy evaluation: the mean_average_precision averaged over all track_metrics_entries.", +"format": "float", +"type": "number" +}, +"trackMeanBoundingBoxIou": { +"description": "Output only. The single metric for tracks bounding box iou evaluation: the mean_bounding_box_iou averaged over all track_metrics_entries.", +"format": "float", +"type": "number" +}, +"trackMeanMismatchRate": { +"description": "Output only. The single metric for tracking consistency evaluation: the mean_mismatch_rate averaged over all track_metrics_entries.", +"format": "float", +"type": "number" +}, +"trackMetricsEntries": { +"description": "Output only. The tracks match metrics for each Intersection-over-union threshold 0.05,0.10,...,0.95,0.96,0.97,0.98,0.99.", +"items": { +"$ref": "XPSTrackMetricsEntry" +}, +"type": "array" +} +}, +"type": "object" +}, +"XPSVideoObjectTrackingTrainResponse": { +"id": "XPSVideoObjectTrackingTrainResponse", +"properties": { +"exportModelSpec": { +"$ref": "XPSVideoExportModelSpec", +"description": "Populated for AutoML request only." +}, +"modelArtifactSpec": { +"$ref": "XPSVideoModelArtifactSpec", +"description": "## The fields below are only populated under uCAIP request scope." +}, +"trainCostNodeSeconds": { +"description": "The actual train cost of creating this model, expressed in node seconds, i.e. 3,600 value in this field means 1 node hour.", +"format": "int64", +"type": "string" +} +}, +"type": "object" +}, +"XPSVideoTrainingOperationMetadata": { +"id": "XPSVideoTrainingOperationMetadata", +"properties": { +"trainCostMilliNodeHour": { +"description": "This is an estimation of the node hours necessary for training a model, expressed in milli node hours (i.e. 1,000 value in this field means 1 node hour). A node hour represents the time a virtual machine spends running your training job. The cost of one node running for one hour is a node hour.", +"format": "int64", +"type": "string" +} +}, +"type": "object" +}, +"XPSVisionErrorAnalysisConfig": { +"description": "The vision model error analysis configuration. Next tag: 3", +"id": "XPSVisionErrorAnalysisConfig", +"properties": { +"exampleCount": { +"description": "The number of query examples in error analysis.", +"format": "int32", +"type": "integer" +}, +"queryType": { +"description": "The query type used in retrieval. The enum values are frozen in the foreseeable future.", +"enum": [ +"QUERY_TYPE_UNSPECIFIED", +"QUERY_TYPE_ALL_SIMILAR", +"QUERY_TYPE_SAME_CLASS_SIMILAR", +"QUERY_TYPE_SAME_CLASS_DISSIMILAR" +], +"enumDescriptions": [ +"Unspecified query type for model error analysis.", +"Query similar samples across all classes in the dataset.", +"Query similar samples from the same class of the input sample.", +"Query dissimilar samples from the same class of the input sample." +], +"type": "string" +} +}, +"type": "object" +}, +"XPSVisionTrainingOperationMetadata": { +"deprecated": true, +"id": "XPSVisionTrainingOperationMetadata", +"properties": { +"explanationUsage": { +"$ref": "InfraUsage", +"description": "Aggregated infra usage within certain time period, for billing report purpose if XAI is enable in training request." +} +}, +"type": "object" +}, +"XPSVisualization": { +"deprecated": true, +"description": "Visualization configurations for image explanation.", +"id": "XPSVisualization", +"properties": { +"clipPercentLowerbound": { +"description": "Excludes attributions below the specified percentile, from the highlighted areas. Defaults to 62.", +"format": "float", +"type": "number" +}, +"clipPercentUpperbound": { +"description": "Excludes attributions above the specified percentile from the highlighted areas. Using the clip_percent_upperbound and clip_percent_lowerbound together can be useful for filtering out noise and making it easier to see areas of strong attribution. Defaults to 99.9.", +"format": "float", +"type": "number" +}, +"colorMap": { +"description": "The color scheme used for the highlighted areas. Defaults to PINK_GREEN for Integrated Gradients attribution, which shows positive attributions in green and negative in pink. Defaults to VIRIDIS for XRAI attribution, which highlights the most influential regions in yellow and the least influential in blue.", +"enum": [ +"COLOR_MAP_UNSPECIFIED", +"PINK_GREEN", +"VIRIDIS", +"RED", +"GREEN", +"RED_GREEN", +"PINK_WHITE_GREEN" +], +"enumDescriptions": [ +"Should not be used.", +"Positive: green. Negative: pink.", +"Viridis color map: A perceptually uniform color mapping which is easier to see by those with colorblindness and progresses from yellow to green to blue. Positive: yellow. Negative: blue.", +"Positive: red. Negative: red.", +"Positive: green. Negative: green.", +"Positive: green. Negative: red.", +"PiYG palette." +], +"type": "string" +}, +"overlayType": { +"description": "How the original image is displayed in the visualization. Adjusting the overlay can help increase visual clarity if the original image makes it difficult to view the visualization. Defaults to NONE.", +"enum": [ +"OVERLAY_TYPE_UNSPECIFIED", +"NONE", +"ORIGINAL", +"GRAYSCALE", +"MASK_BLACK" +], +"enumDescriptions": [ +"Default value. This is the same as NONE.", +"No overlay.", +"The attributions are shown on top of the original image.", +"The attributions are shown on top of grayscaled version of the original image.", +"The attributions are used as a mask to reveal predictive parts of the image and hide the un-predictive parts." +], +"type": "string" +}, +"polarity": { +"description": "Whether to only highlight pixels with positive contributions, negative or both. Defaults to POSITIVE.", +"enum": [ +"POLARITY_UNSPECIFIED", +"POSITIVE", +"NEGATIVE", +"BOTH" +], +"enumDescriptions": [ +"Default value. This is the same as POSITIVE.", +"Highlights the pixels/outlines that were most influential to the model's prediction.", +"Setting polarity to negative highlights areas that does not lead to the models's current prediction.", +"Shows both positive and negative attributions." +], +"type": "string" +}, +"type": { +"description": "Type of the image visualization. Only applicable to Integrated Gradients attribution. OUTLINES shows regions of attribution, while PIXELS shows per-pixel attribution. Defaults to OUTLINES.", +"enum": [ +"TYPE_UNSPECIFIED", +"PIXELS", +"OUTLINES" +], +"enumDescriptions": [ +"Should not be used.", +"Shows which pixel contributed to the image prediction.", +"Shows which region contributed to the image prediction by outlining the region." +], +"type": "string" +} +}, +"type": "object" +}, +"XPSXpsOperationMetadata": { +"id": "XPSXpsOperationMetadata", +"properties": { +"exampleCount": { +"description": "Optional. XPS server can opt to provide example count of the long running operation (e.g. training, data importing, batch prediction).", +"format": "int64", +"type": "string" +}, +"reportingMetrics": { +"$ref": "XPSReportingMetrics", +"description": "Metrics for the operation. By the time the operation is terminated (whether succeeded or failed) as returned from XPS, AutoML BE assumes the metrics are finalized. AutoML BE transparently posts the metrics to Chemist if it's not empty, regardless of the response content or error type. If user is supposed to be charged in case of cancellation/error, this field should be set. In the case where the type of LRO doesn't require any billing, this field should be left unset." +}, +"tablesTrainingOperationMetadata": { +"$ref": "XPSTablesTrainingOperationMetadata" +}, +"videoBatchPredictOperationMetadata": { +"$ref": "XPSVideoBatchPredictOperationMetadata" +}, +"videoTrainingOperationMetadata": { +"$ref": "XPSVideoTrainingOperationMetadata" +}, +"visionTrainingOperationMetadata": { +"$ref": "XPSVisionTrainingOperationMetadata" +} +}, +"type": "object" +}, +"XPSXraiAttribution": { +"deprecated": true, +"description": "An explanation method that redistributes Integrated Gradients attributions to segmented regions, taking advantage of the model's fully differentiable structure. Refer to this paper for more details: https://arxiv.org/abs/1906.02825 Only supports image Models (modality is IMAGE).", +"id": "XPSXraiAttribution", +"properties": { +"stepCount": { +"description": "The number of steps for approximating the path integral. A good value to start is 50 and gradually increase until the sum to diff property is met within the desired error range. Valid range of its value is [1, 100], inclusively.", +"format": "int32", +"type": "integer" +} +}, +"type": "object" +} +}, +"servicePath": "", +"title": "Cloud Natural Language API", +"version": "v1", +"version_module": true +} \ No newline at end of file diff --git a/.venv/lib/python3.11/site-packages/googleapiclient/discovery_cache/documents/licensing.v1.json b/.venv/lib/python3.11/site-packages/googleapiclient/discovery_cache/documents/licensing.v1.json new file mode 100644 index 0000000000000000000000000000000000000000..37960c515fcf779e58868691269048d6ef7b108b --- /dev/null +++ b/.venv/lib/python3.11/site-packages/googleapiclient/discovery_cache/documents/licensing.v1.json @@ -0,0 +1,513 @@ +{ +"auth": { +"oauth2": { +"scopes": { +"https://www.googleapis.com/auth/apps.licensing": { +"description": "View and manage G Suite licenses for your domain" +} +} +} +}, +"basePath": "", +"baseUrl": "https://licensing.googleapis.com/", +"batchPath": "batch", +"description": "The Google Enterprise License Manager API lets you manage Google Workspace and related licenses for all users of a customer that you manage.", +"discoveryVersion": "v1", +"documentationLink": "https://developers.google.com/admin-sdk/licensing/", +"fullyEncodeReservedExpansion": true, +"icons": { +"x16": "http://www.google.com/images/icons/product/search-16.gif", +"x32": "http://www.google.com/images/icons/product/search-32.gif" +}, +"id": "licensing:v1", +"kind": "discovery#restDescription", +"mtlsRootUrl": "https://licensing.mtls.googleapis.com/", +"name": "licensing", +"ownerDomain": "google.com", +"ownerName": "Google", +"parameters": { +"$.xgafv": { +"description": "V1 error format.", +"enum": [ +"1", +"2" +], +"enumDescriptions": [ +"v1 error format", +"v2 error format" +], +"location": "query", +"type": "string" +}, +"access_token": { +"description": "OAuth access token.", +"location": "query", +"type": "string" +}, +"alt": { +"default": "json", +"description": "Data format for response.", +"enum": [ +"json", +"media", +"proto" +], +"enumDescriptions": [ +"Responses with Content-Type of application/json", +"Media download with context-dependent Content-Type", +"Responses with Content-Type of application/x-protobuf" +], +"location": "query", +"type": "string" +}, +"callback": { +"description": "JSONP", +"location": "query", +"type": "string" +}, +"fields": { +"description": "Selector specifying which fields to include in a partial response.", +"location": "query", +"type": "string" +}, +"key": { +"description": "API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token.", +"location": "query", +"type": "string" +}, +"oauth_token": { +"description": "OAuth 2.0 token for the current user.", +"location": "query", +"type": "string" +}, +"prettyPrint": { +"default": "true", +"description": "Returns response with indentations and line breaks.", +"location": "query", +"type": "boolean" +}, +"quotaUser": { +"description": "Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters.", +"location": "query", +"type": "string" +}, +"uploadType": { +"description": "Legacy upload protocol for media (e.g. \"media\", \"multipart\").", +"location": "query", +"type": "string" +}, +"upload_protocol": { +"description": "Upload protocol for media (e.g. \"raw\", \"multipart\").", +"location": "query", +"type": "string" +} +}, +"protocol": "rest", +"resources": { +"licenseAssignments": { +"methods": { +"delete": { +"description": "Revoke a license.", +"flatPath": "apps/licensing/v1/product/{productId}/sku/{skuId}/user/{userId}", +"httpMethod": "DELETE", +"id": "licensing.licenseAssignments.delete", +"parameterOrder": [ +"productId", +"skuId", +"userId" +], +"parameters": { +"productId": { +"description": "A product's unique identifier. For more information about products in this version of the API, see Products and SKUs.", +"location": "path", +"required": true, +"type": "string" +}, +"skuId": { +"description": "A product SKU's unique identifier. For more information about available SKUs in this version of the API, see Products and SKUs.", +"location": "path", +"required": true, +"type": "string" +}, +"userId": { +"description": "The user's current primary email address. If the user's email address changes, use the new email address in your API requests. Since a `userId` is subject to change, do not use a `userId` value as a key for persistent data. This key could break if the current user's email address changes. If the `userId` is suspended, the license status changes.", +"location": "path", +"required": true, +"type": "string" +} +}, +"path": "apps/licensing/v1/product/{productId}/sku/{skuId}/user/{userId}", +"response": { +"$ref": "Empty" +}, +"scopes": [ +"https://www.googleapis.com/auth/apps.licensing" +] +}, +"get": { +"description": "Get a specific user's license by product SKU.", +"flatPath": "apps/licensing/v1/product/{productId}/sku/{skuId}/user/{userId}", +"httpMethod": "GET", +"id": "licensing.licenseAssignments.get", +"parameterOrder": [ +"productId", +"skuId", +"userId" +], +"parameters": { +"productId": { +"description": "A product's unique identifier. For more information about products in this version of the API, see Products and SKUs.", +"location": "path", +"required": true, +"type": "string" +}, +"skuId": { +"description": "A product SKU's unique identifier. For more information about available SKUs in this version of the API, see Products and SKUs.", +"location": "path", +"required": true, +"type": "string" +}, +"userId": { +"description": "The user's current primary email address. If the user's email address changes, use the new email address in your API requests. Since a `userId` is subject to change, do not use a `userId` value as a key for persistent data. This key could break if the current user's email address changes. If the `userId` is suspended, the license status changes.", +"location": "path", +"required": true, +"type": "string" +} +}, +"path": "apps/licensing/v1/product/{productId}/sku/{skuId}/user/{userId}", +"response": { +"$ref": "LicenseAssignment" +}, +"scopes": [ +"https://www.googleapis.com/auth/apps.licensing" +] +}, +"insert": { +"description": "Assign a license.", +"flatPath": "apps/licensing/v1/product/{productId}/sku/{skuId}/user", +"httpMethod": "POST", +"id": "licensing.licenseAssignments.insert", +"parameterOrder": [ +"productId", +"skuId" +], +"parameters": { +"productId": { +"description": "A product's unique identifier. For more information about products in this version of the API, see Products and SKUs.", +"location": "path", +"required": true, +"type": "string" +}, +"skuId": { +"description": "A product SKU's unique identifier. For more information about available SKUs in this version of the API, see Products and SKUs.", +"location": "path", +"required": true, +"type": "string" +} +}, +"path": "apps/licensing/v1/product/{productId}/sku/{skuId}/user", +"request": { +"$ref": "LicenseAssignmentInsert" +}, +"response": { +"$ref": "LicenseAssignment" +}, +"scopes": [ +"https://www.googleapis.com/auth/apps.licensing" +] +}, +"listForProduct": { +"description": "List all users assigned licenses for a specific product SKU.", +"flatPath": "apps/licensing/v1/product/{productId}/users", +"httpMethod": "GET", +"id": "licensing.licenseAssignments.listForProduct", +"parameterOrder": [ +"productId", +"customerId" +], +"parameters": { +"customerId": { +"description": "The customer's unique ID as defined in the Admin console, such as `C00000000`. If the customer is suspended, the server returns an error.", +"location": "query", +"required": true, +"type": "string" +}, +"maxResults": { +"default": "100", +"description": "The `maxResults` query string determines how many entries are returned on each page of a large response. This is an optional parameter. The value must be a positive number.", +"format": "uint32", +"location": "query", +"maximum": "1000", +"minimum": "1", +"type": "integer" +}, +"pageToken": { +"default": "", +"description": "Token to fetch the next page of data. The `maxResults` query string is related to the `pageToken` since `maxResults` determines how many entries are returned on each page. This is an optional query string. If not specified, the server returns the first page.", +"location": "query", +"type": "string" +}, +"productId": { +"description": "A product's unique identifier. For more information about products in this version of the API, see Products and SKUs.", +"location": "path", +"required": true, +"type": "string" +} +}, +"path": "apps/licensing/v1/product/{productId}/users", +"response": { +"$ref": "LicenseAssignmentList" +}, +"scopes": [ +"https://www.googleapis.com/auth/apps.licensing" +] +}, +"listForProductAndSku": { +"description": "List all users assigned licenses for a specific product SKU.", +"flatPath": "apps/licensing/v1/product/{productId}/sku/{skuId}/users", +"httpMethod": "GET", +"id": "licensing.licenseAssignments.listForProductAndSku", +"parameterOrder": [ +"productId", +"skuId", +"customerId" +], +"parameters": { +"customerId": { +"description": "The customer's unique ID as defined in the Admin console, such as `C00000000`. If the customer is suspended, the server returns an error.", +"location": "query", +"required": true, +"type": "string" +}, +"maxResults": { +"default": "100", +"description": "The `maxResults` query string determines how many entries are returned on each page of a large response. This is an optional parameter. The value must be a positive number.", +"format": "uint32", +"location": "query", +"maximum": "1000", +"minimum": "1", +"type": "integer" +}, +"pageToken": { +"default": "", +"description": "Token to fetch the next page of data. The `maxResults` query string is related to the `pageToken` since `maxResults` determines how many entries are returned on each page. This is an optional query string. If not specified, the server returns the first page.", +"location": "query", +"type": "string" +}, +"productId": { +"description": "A product's unique identifier. For more information about products in this version of the API, see Products and SKUs.", +"location": "path", +"required": true, +"type": "string" +}, +"skuId": { +"description": "A product SKU's unique identifier. For more information about available SKUs in this version of the API, see Products and SKUs.", +"location": "path", +"required": true, +"type": "string" +} +}, +"path": "apps/licensing/v1/product/{productId}/sku/{skuId}/users", +"response": { +"$ref": "LicenseAssignmentList" +}, +"scopes": [ +"https://www.googleapis.com/auth/apps.licensing" +] +}, +"patch": { +"description": "Reassign a user's product SKU with a different SKU in the same product. This method supports patch semantics.", +"flatPath": "apps/licensing/v1/product/{productId}/sku/{skuId}/user/{userId}", +"httpMethod": "PATCH", +"id": "licensing.licenseAssignments.patch", +"parameterOrder": [ +"productId", +"skuId", +"userId" +], +"parameters": { +"productId": { +"description": "A product's unique identifier. For more information about products in this version of the API, see Products and SKUs.", +"location": "path", +"required": true, +"type": "string" +}, +"skuId": { +"description": "A product SKU's unique identifier. For more information about available SKUs in this version of the API, see Products and SKUs.", +"location": "path", +"required": true, +"type": "string" +}, +"userId": { +"description": "The user's current primary email address. If the user's email address changes, use the new email address in your API requests. Since a `userId` is subject to change, do not use a `userId` value as a key for persistent data. This key could break if the current user's email address changes. If the `userId` is suspended, the license status changes.", +"location": "path", +"required": true, +"type": "string" +} +}, +"path": "apps/licensing/v1/product/{productId}/sku/{skuId}/user/{userId}", +"request": { +"$ref": "LicenseAssignment" +}, +"response": { +"$ref": "LicenseAssignment" +}, +"scopes": [ +"https://www.googleapis.com/auth/apps.licensing" +] +}, +"update": { +"description": "Reassign a user's product SKU with a different SKU in the same product.", +"flatPath": "apps/licensing/v1/product/{productId}/sku/{skuId}/user/{userId}", +"httpMethod": "PUT", +"id": "licensing.licenseAssignments.update", +"parameterOrder": [ +"productId", +"skuId", +"userId" +], +"parameters": { +"productId": { +"description": "A product's unique identifier. For more information about products in this version of the API, see Products and SKUs.", +"location": "path", +"required": true, +"type": "string" +}, +"skuId": { +"description": "A product SKU's unique identifier. For more information about available SKUs in this version of the API, see Products and SKUs.", +"location": "path", +"required": true, +"type": "string" +}, +"userId": { +"description": "The user's current primary email address. If the user's email address changes, use the new email address in your API requests. Since a `userId` is subject to change, do not use a `userId` value as a key for persistent data. This key could break if the current user's email address changes. If the `userId` is suspended, the license status changes.", +"location": "path", +"required": true, +"type": "string" +} +}, +"path": "apps/licensing/v1/product/{productId}/sku/{skuId}/user/{userId}", +"request": { +"$ref": "LicenseAssignment" +}, +"response": { +"$ref": "LicenseAssignment" +}, +"scopes": [ +"https://www.googleapis.com/auth/apps.licensing" +] +} +} +} +}, +"revision": "20240706", +"rootUrl": "https://licensing.googleapis.com/", +"schemas": { +"Empty": { +"description": "A generic empty message that you can re-use to avoid defining duplicated empty messages in your APIs. A typical example is to use it as the request or the response type of an API method. For instance: service Foo { rpc Bar(google.protobuf.Empty) returns (google.protobuf.Empty); }", +"id": "Empty", +"properties": {}, +"type": "object" +}, +"LicenseAssignment": { +"description": "Representation of a license assignment.", +"id": "LicenseAssignment", +"properties": { +"etags": { +"description": "ETag of the resource.", +"type": "string" +}, +"kind": { +"default": "licensing#licenseAssignment", +"description": "Identifies the resource as a LicenseAssignment, which is `licensing#licenseAssignment`.", +"type": "string" +}, +"productId": { +"annotations": { +"required": [ +"licensing.licenseAssignments.update" +] +}, +"description": "A product's unique identifier. For more information about products in this version of the API, see Product and SKU IDs.", +"type": "string" +}, +"productName": { +"description": "Display Name of the product.", +"type": "string" +}, +"selfLink": { +"description": "Link to this page.", +"type": "string" +}, +"skuId": { +"annotations": { +"required": [ +"licensing.licenseAssignments.update" +] +}, +"description": "A product SKU's unique identifier. For more information about available SKUs in this version of the API, see Products and SKUs.", +"type": "string" +}, +"skuName": { +"description": "Display Name of the sku of the product.", +"type": "string" +}, +"userId": { +"annotations": { +"required": [ +"licensing.licenseAssignments.update" +] +}, +"description": "The user's current primary email address. If the user's email address changes, use the new email address in your API requests. Since a `userId` is subject to change, do not use a `userId` value as a key for persistent data. This key could break if the current user's email address changes. If the `userId` is suspended, the license status changes.", +"type": "string" +} +}, +"type": "object" +}, +"LicenseAssignmentInsert": { +"description": "Representation of a license assignment.", +"id": "LicenseAssignmentInsert", +"properties": { +"userId": { +"annotations": { +"required": [ +"licensing.licenseAssignments.insert" +] +}, +"description": "Email id of the user", +"type": "string" +} +}, +"type": "object" +}, +"LicenseAssignmentList": { +"id": "LicenseAssignmentList", +"properties": { +"etag": { +"description": "ETag of the resource.", +"type": "string" +}, +"items": { +"description": "The LicenseAssignments in this page of results.", +"items": { +"$ref": "LicenseAssignment" +}, +"type": "array" +}, +"kind": { +"default": "licensing#licenseAssignmentList", +"description": "Identifies the resource as a collection of LicenseAssignments.", +"type": "string" +}, +"nextPageToken": { +"description": "The token that you must submit in a subsequent request to retrieve additional license results matching your query parameters. The `maxResults` query string is related to the `nextPageToken` since `maxResults` determines how many entries are returned on each next page.", +"type": "string" +} +}, +"type": "object" +} +}, +"servicePath": "", +"title": "Enterprise License Manager API", +"version": "v1" +} \ No newline at end of file diff --git a/.venv/lib/python3.11/site-packages/googleapiclient/discovery_cache/documents/logging.v2.json b/.venv/lib/python3.11/site-packages/googleapiclient/discovery_cache/documents/logging.v2.json new file mode 100644 index 0000000000000000000000000000000000000000..5a254ca6460f825076026681a038b6017df288c0 --- /dev/null +++ b/.venv/lib/python3.11/site-packages/googleapiclient/discovery_cache/documents/logging.v2.json @@ -0,0 +1,11494 @@ +{ +"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." +}, +"https://www.googleapis.com/auth/cloud-platform.read-only": { +"description": "View your data across Google Cloud services and see the email address of your Google Account" +}, +"https://www.googleapis.com/auth/logging.admin": { +"description": "Administrate log data for your projects" +}, +"https://www.googleapis.com/auth/logging.read": { +"description": "View log data for your projects" +}, +"https://www.googleapis.com/auth/logging.write": { +"description": "Submit log data for your projects" +} +} +} +}, +"basePath": "", +"baseUrl": "https://logging.googleapis.com/", +"batchPath": "batch", +"canonicalName": "Logging", +"description": "Writes log entries and manages your Cloud Logging configuration.", +"discoveryVersion": "v1", +"documentationLink": "https://cloud.google.com/logging/docs/", +"endpoints": [ +{ +"description": "Regional Endpoint", +"endpointUrl": "https://logging.europe-west3.rep.googleapis.com/", +"location": "europe-west3" +}, +{ +"description": "Regional Endpoint", +"endpointUrl": "https://logging.europe-west8.rep.googleapis.com/", +"location": "europe-west8" +}, +{ +"description": "Regional Endpoint", +"endpointUrl": "https://logging.europe-west9.rep.googleapis.com/", +"location": "europe-west9" +}, +{ +"description": "Regional Endpoint", +"endpointUrl": "https://logging.me-central2.rep.googleapis.com/", +"location": "me-central2" +}, +{ +"description": "Regional Endpoint", +"endpointUrl": "https://logging.us-central1.rep.googleapis.com/", +"location": "us-central1" +}, +{ +"description": "Regional Endpoint", +"endpointUrl": "https://logging.us-central2.rep.googleapis.com/", +"location": "us-central2" +}, +{ +"description": "Regional Endpoint", +"endpointUrl": "https://logging.us-east1.rep.googleapis.com/", +"location": "us-east1" +}, +{ +"description": "Regional Endpoint", +"endpointUrl": "https://logging.us-east4.rep.googleapis.com/", +"location": "us-east4" +}, +{ +"description": "Regional Endpoint", +"endpointUrl": "https://logging.us-east5.rep.googleapis.com/", +"location": "us-east5" +}, +{ +"description": "Regional Endpoint", +"endpointUrl": "https://logging.us-east7.rep.googleapis.com/", +"location": "us-east7" +}, +{ +"description": "Regional Endpoint", +"endpointUrl": "https://logging.us-south1.rep.googleapis.com/", +"location": "us-south1" +}, +{ +"description": "Regional Endpoint", +"endpointUrl": "https://logging.us-west1.rep.googleapis.com/", +"location": "us-west1" +}, +{ +"description": "Regional Endpoint", +"endpointUrl": "https://logging.us-west2.rep.googleapis.com/", +"location": "us-west2" +}, +{ +"description": "Regional Endpoint", +"endpointUrl": "https://logging.us-west3.rep.googleapis.com/", +"location": "us-west3" +}, +{ +"description": "Regional Endpoint", +"endpointUrl": "https://logging.us-west4.rep.googleapis.com/", +"location": "us-west4" +}, +{ +"description": "Regional Endpoint", +"endpointUrl": "https://logging.us-west8.rep.googleapis.com/", +"location": "us-west8" +} +], +"fullyEncodeReservedExpansion": true, +"icons": { +"x16": "http://www.google.com/images/icons/product/search-16.gif", +"x32": "http://www.google.com/images/icons/product/search-32.gif" +}, +"id": "logging:v2", +"kind": "discovery#restDescription", +"mtlsRootUrl": "https://logging.mtls.googleapis.com/", +"name": "logging", +"ownerDomain": "google.com", +"ownerName": "Google", +"parameters": { +"$.xgafv": { +"description": "V1 error format.", +"enum": [ +"1", +"2" +], +"enumDescriptions": [ +"v1 error format", +"v2 error format" +], +"location": "query", +"type": "string" +}, +"access_token": { +"description": "OAuth access token.", +"location": "query", +"type": "string" +}, +"alt": { +"default": "json", +"description": "Data format for response.", +"enum": [ +"json", +"media", +"proto" +], +"enumDescriptions": [ +"Responses with Content-Type of application/json", +"Media download with context-dependent Content-Type", +"Responses with Content-Type of application/x-protobuf" +], +"location": "query", +"type": "string" +}, +"callback": { +"description": "JSONP", +"location": "query", +"type": "string" +}, +"fields": { +"description": "Selector specifying which fields to include in a partial response.", +"location": "query", +"type": "string" +}, +"key": { +"description": "API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token.", +"location": "query", +"type": "string" +}, +"oauth_token": { +"description": "OAuth 2.0 token for the current user.", +"location": "query", +"type": "string" +}, +"prettyPrint": { +"default": "true", +"description": "Returns response with indentations and line breaks.", +"location": "query", +"type": "boolean" +}, +"quotaUser": { +"description": "Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters.", +"location": "query", +"type": "string" +}, +"uploadType": { +"description": "Legacy upload protocol for media (e.g. \"media\", \"multipart\").", +"location": "query", +"type": "string" +}, +"upload_protocol": { +"description": "Upload protocol for media (e.g. \"raw\", \"multipart\").", +"location": "query", +"type": "string" +} +}, +"protocol": "rest", +"resources": { +"billingAccounts": { +"methods": { +"getCmekSettings": { +"description": "Gets the Logging CMEK settings for the given resource.Note: CMEK for the Log Router can be configured for Google Cloud projects, folders, organizations, and billing accounts. Once configured for an organization, it applies to all projects and folders in the Google Cloud organization.See Enabling CMEK for Log Router (https://cloud.google.com/logging/docs/routing/managed-encryption) for more information.", +"flatPath": "v2/billingAccounts/{billingAccountsId}/cmekSettings", +"httpMethod": "GET", +"id": "logging.billingAccounts.getCmekSettings", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. The resource for which to retrieve CMEK settings. \"projects/[PROJECT_ID]/cmekSettings\" \"organizations/[ORGANIZATION_ID]/cmekSettings\" \"billingAccounts/[BILLING_ACCOUNT_ID]/cmekSettings\" \"folders/[FOLDER_ID]/cmekSettings\" For example:\"organizations/12345/cmekSettings\"Note: CMEK for the Log Router can be configured for Google Cloud projects, folders, organizations, and billing accounts. Once configured for an organization, it applies to all projects and folders in the Google Cloud organization.", +"location": "path", +"pattern": "^billingAccounts/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v2/{+name}/cmekSettings", +"response": { +"$ref": "CmekSettings" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/cloud-platform.read-only", +"https://www.googleapis.com/auth/logging.admin", +"https://www.googleapis.com/auth/logging.read" +] +}, +"getSettings": { +"description": "Gets the settings for the given resource.Note: Settings can be retrieved for Google Cloud projects, folders, organizations, and billing accounts.See View default resource settings for Logging (https://cloud.google.com/logging/docs/default-settings#view-org-settings) for more information.", +"flatPath": "v2/billingAccounts/{billingAccountsId}/settings", +"httpMethod": "GET", +"id": "logging.billingAccounts.getSettings", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. The resource for which to retrieve settings. \"projects/[PROJECT_ID]/settings\" \"organizations/[ORGANIZATION_ID]/settings\" \"billingAccounts/[BILLING_ACCOUNT_ID]/settings\" \"folders/[FOLDER_ID]/settings\" For example:\"organizations/12345/settings\"Note: Settings can be retrieved for Google Cloud projects, folders, organizations, and billing accounts.", +"location": "path", +"pattern": "^billingAccounts/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v2/{+name}/settings", +"response": { +"$ref": "Settings" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/cloud-platform.read-only", +"https://www.googleapis.com/auth/logging.admin", +"https://www.googleapis.com/auth/logging.read" +] +} +}, +"resources": { +"exclusions": { +"methods": { +"create": { +"description": "Creates a new exclusion in the _Default sink in a specified parent resource. Only log entries belonging to that resource can be excluded. You can have up to 10 exclusions in a resource.", +"flatPath": "v2/billingAccounts/{billingAccountsId}/exclusions", +"httpMethod": "POST", +"id": "logging.billingAccounts.exclusions.create", +"parameterOrder": [ +"parent" +], +"parameters": { +"parent": { +"description": "Required. The parent resource in which to create the exclusion: \"projects/[PROJECT_ID]\" \"organizations/[ORGANIZATION_ID]\" \"billingAccounts/[BILLING_ACCOUNT_ID]\" \"folders/[FOLDER_ID]\" For examples:\"projects/my-logging-project\" \"organizations/123456789\"", +"location": "path", +"pattern": "^billingAccounts/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v2/{+parent}/exclusions", +"request": { +"$ref": "LogExclusion" +}, +"response": { +"$ref": "LogExclusion" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/logging.admin" +] +}, +"delete": { +"description": "Deletes an exclusion in the _Default sink.", +"flatPath": "v2/billingAccounts/{billingAccountsId}/exclusions/{exclusionsId}", +"httpMethod": "DELETE", +"id": "logging.billingAccounts.exclusions.delete", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. The resource name of an existing exclusion to delete: \"projects/[PROJECT_ID]/exclusions/[EXCLUSION_ID]\" \"organizations/[ORGANIZATION_ID]/exclusions/[EXCLUSION_ID]\" \"billingAccounts/[BILLING_ACCOUNT_ID]/exclusions/[EXCLUSION_ID]\" \"folders/[FOLDER_ID]/exclusions/[EXCLUSION_ID]\" For example:\"projects/my-project/exclusions/my-exclusion\"", +"location": "path", +"pattern": "^billingAccounts/[^/]+/exclusions/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v2/{+name}", +"response": { +"$ref": "Empty" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/logging.admin" +] +}, +"get": { +"description": "Gets the description of an exclusion in the _Default sink.", +"flatPath": "v2/billingAccounts/{billingAccountsId}/exclusions/{exclusionsId}", +"httpMethod": "GET", +"id": "logging.billingAccounts.exclusions.get", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. The resource name of an existing exclusion: \"projects/[PROJECT_ID]/exclusions/[EXCLUSION_ID]\" \"organizations/[ORGANIZATION_ID]/exclusions/[EXCLUSION_ID]\" \"billingAccounts/[BILLING_ACCOUNT_ID]/exclusions/[EXCLUSION_ID]\" \"folders/[FOLDER_ID]/exclusions/[EXCLUSION_ID]\" For example:\"projects/my-project/exclusions/my-exclusion\"", +"location": "path", +"pattern": "^billingAccounts/[^/]+/exclusions/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v2/{+name}", +"response": { +"$ref": "LogExclusion" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/cloud-platform.read-only", +"https://www.googleapis.com/auth/logging.admin", +"https://www.googleapis.com/auth/logging.read" +] +}, +"list": { +"description": "Lists all the exclusions on the _Default sink in a parent resource.", +"flatPath": "v2/billingAccounts/{billingAccountsId}/exclusions", +"httpMethod": "GET", +"id": "logging.billingAccounts.exclusions.list", +"parameterOrder": [ +"parent" +], +"parameters": { +"pageSize": { +"description": "Optional. The maximum number of results to return from this request. Non-positive values are ignored. The presence of nextPageToken in the response indicates that more results might be available.", +"format": "int32", +"location": "query", +"type": "integer" +}, +"pageToken": { +"description": "Optional. If present, then retrieve the next batch of results from the preceding call to this method. pageToken must be the value of nextPageToken from the previous response. The values of other method parameters should be identical to those in the previous call.", +"location": "query", +"type": "string" +}, +"parent": { +"description": "Required. The parent resource whose exclusions are to be listed. \"projects/[PROJECT_ID]\" \"organizations/[ORGANIZATION_ID]\" \"billingAccounts/[BILLING_ACCOUNT_ID]\" \"folders/[FOLDER_ID]\" ", +"location": "path", +"pattern": "^billingAccounts/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v2/{+parent}/exclusions", +"response": { +"$ref": "ListExclusionsResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/cloud-platform.read-only", +"https://www.googleapis.com/auth/logging.admin", +"https://www.googleapis.com/auth/logging.read" +] +}, +"patch": { +"description": "Changes one or more properties of an existing exclusion in the _Default sink.", +"flatPath": "v2/billingAccounts/{billingAccountsId}/exclusions/{exclusionsId}", +"httpMethod": "PATCH", +"id": "logging.billingAccounts.exclusions.patch", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. The resource name of the exclusion to update: \"projects/[PROJECT_ID]/exclusions/[EXCLUSION_ID]\" \"organizations/[ORGANIZATION_ID]/exclusions/[EXCLUSION_ID]\" \"billingAccounts/[BILLING_ACCOUNT_ID]/exclusions/[EXCLUSION_ID]\" \"folders/[FOLDER_ID]/exclusions/[EXCLUSION_ID]\" For example:\"projects/my-project/exclusions/my-exclusion\"", +"location": "path", +"pattern": "^billingAccounts/[^/]+/exclusions/[^/]+$", +"required": true, +"type": "string" +}, +"updateMask": { +"description": "Required. A non-empty list of fields to change in the existing exclusion. New values for the fields are taken from the corresponding fields in the LogExclusion included in this request. Fields not mentioned in update_mask are not changed and are ignored in the request.For example, to change the filter and description of an exclusion, specify an update_mask of \"filter,description\".", +"format": "google-fieldmask", +"location": "query", +"type": "string" +} +}, +"path": "v2/{+name}", +"request": { +"$ref": "LogExclusion" +}, +"response": { +"$ref": "LogExclusion" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/logging.admin" +] +} +} +}, +"locations": { +"methods": { +"get": { +"description": "Gets information about a location.", +"flatPath": "v2/billingAccounts/{billingAccountsId}/locations/{locationsId}", +"httpMethod": "GET", +"id": "logging.billingAccounts.locations.get", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Resource name for the location.", +"location": "path", +"pattern": "^billingAccounts/[^/]+/locations/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v2/{+name}", +"response": { +"$ref": "Location" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/cloud-platform.read-only", +"https://www.googleapis.com/auth/logging.admin", +"https://www.googleapis.com/auth/logging.read" +] +}, +"list": { +"description": "Lists information about the supported locations for this service.", +"flatPath": "v2/billingAccounts/{billingAccountsId}/locations", +"httpMethod": "GET", +"id": "logging.billingAccounts.locations.list", +"parameterOrder": [ +"name" +], +"parameters": { +"filter": { +"description": "A filter to narrow down results to a preferred subset. The filtering language accepts strings like \"displayName=tokyo\", and is documented in more detail in AIP-160 (https://google.aip.dev/160).", +"location": "query", +"type": "string" +}, +"name": { +"description": "The resource that owns the locations collection, if applicable.", +"location": "path", +"pattern": "^billingAccounts/[^/]+$", +"required": true, +"type": "string" +}, +"pageSize": { +"description": "The maximum number of results to return. If not set, the service selects a default.", +"format": "int32", +"location": "query", +"type": "integer" +}, +"pageToken": { +"description": "A page token received from the next_page_token field in the response. Send that page token to receive the subsequent page.", +"location": "query", +"type": "string" +} +}, +"path": "v2/{+name}/locations", +"response": { +"$ref": "ListLocationsResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/cloud-platform.read-only", +"https://www.googleapis.com/auth/logging.admin", +"https://www.googleapis.com/auth/logging.read" +] +} +}, +"resources": { +"buckets": { +"methods": { +"create": { +"description": "Creates a log bucket that can be used to store log entries. After a bucket has been created, the bucket's location cannot be changed.", +"flatPath": "v2/billingAccounts/{billingAccountsId}/locations/{locationsId}/buckets", +"httpMethod": "POST", +"id": "logging.billingAccounts.locations.buckets.create", +"parameterOrder": [ +"parent" +], +"parameters": { +"bucketId": { +"description": "Required. A client-assigned identifier such as \"my-bucket\". Identifiers are limited to 100 characters and can include only letters, digits, underscores, hyphens, and periods. Bucket identifiers must start with an alphanumeric character.", +"location": "query", +"type": "string" +}, +"parent": { +"description": "Required. The resource in which to create the log bucket: \"projects/[PROJECT_ID]/locations/[LOCATION_ID]\" For example:\"projects/my-project/locations/global\"", +"location": "path", +"pattern": "^billingAccounts/[^/]+/locations/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v2/{+parent}/buckets", +"request": { +"$ref": "LogBucket" +}, +"response": { +"$ref": "LogBucket" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/logging.admin" +] +}, +"createAsync": { +"description": "Creates a log bucket asynchronously that can be used to store log entries.After a bucket has been created, the bucket's location cannot be changed.", +"flatPath": "v2/billingAccounts/{billingAccountsId}/locations/{locationsId}/buckets:createAsync", +"httpMethod": "POST", +"id": "logging.billingAccounts.locations.buckets.createAsync", +"parameterOrder": [ +"parent" +], +"parameters": { +"bucketId": { +"description": "Required. A client-assigned identifier such as \"my-bucket\". Identifiers are limited to 100 characters and can include only letters, digits, underscores, hyphens, and periods. Bucket identifiers must start with an alphanumeric character.", +"location": "query", +"type": "string" +}, +"parent": { +"description": "Required. The resource in which to create the log bucket: \"projects/[PROJECT_ID]/locations/[LOCATION_ID]\" For example:\"projects/my-project/locations/global\"", +"location": "path", +"pattern": "^billingAccounts/[^/]+/locations/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v2/{+parent}/buckets:createAsync", +"request": { +"$ref": "LogBucket" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/logging.admin" +] +}, +"delete": { +"description": "Deletes a log bucket.Changes the bucket's lifecycle_state to the DELETE_REQUESTED state. After 7 days, the bucket will be purged and all log entries in the bucket will be permanently deleted.", +"flatPath": "v2/billingAccounts/{billingAccountsId}/locations/{locationsId}/buckets/{bucketsId}", +"httpMethod": "DELETE", +"id": "logging.billingAccounts.locations.buckets.delete", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. The full resource name of the bucket to delete. \"projects/[PROJECT_ID]/locations/[LOCATION_ID]/buckets/[BUCKET_ID]\" \"organizations/[ORGANIZATION_ID]/locations/[LOCATION_ID]/buckets/[BUCKET_ID]\" \"billingAccounts/[BILLING_ACCOUNT_ID]/locations/[LOCATION_ID]/buckets/[BUCKET_ID]\" \"folders/[FOLDER_ID]/locations/[LOCATION_ID]/buckets/[BUCKET_ID]\" For example:\"projects/my-project/locations/global/buckets/my-bucket\"", +"location": "path", +"pattern": "^billingAccounts/[^/]+/locations/[^/]+/buckets/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v2/{+name}", +"response": { +"$ref": "Empty" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/logging.admin" +] +}, +"get": { +"description": "Gets a log bucket.", +"flatPath": "v2/billingAccounts/{billingAccountsId}/locations/{locationsId}/buckets/{bucketsId}", +"httpMethod": "GET", +"id": "logging.billingAccounts.locations.buckets.get", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. The resource name of the bucket: \"projects/[PROJECT_ID]/locations/[LOCATION_ID]/buckets/[BUCKET_ID]\" \"organizations/[ORGANIZATION_ID]/locations/[LOCATION_ID]/buckets/[BUCKET_ID]\" \"billingAccounts/[BILLING_ACCOUNT_ID]/locations/[LOCATION_ID]/buckets/[BUCKET_ID]\" \"folders/[FOLDER_ID]/locations/[LOCATION_ID]/buckets/[BUCKET_ID]\" For example:\"projects/my-project/locations/global/buckets/my-bucket\"", +"location": "path", +"pattern": "^billingAccounts/[^/]+/locations/[^/]+/buckets/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v2/{+name}", +"response": { +"$ref": "LogBucket" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/cloud-platform.read-only", +"https://www.googleapis.com/auth/logging.admin", +"https://www.googleapis.com/auth/logging.read" +] +}, +"list": { +"description": "Lists log buckets.", +"flatPath": "v2/billingAccounts/{billingAccountsId}/locations/{locationsId}/buckets", +"httpMethod": "GET", +"id": "logging.billingAccounts.locations.buckets.list", +"parameterOrder": [ +"parent" +], +"parameters": { +"pageSize": { +"description": "Optional. The maximum number of results to return from this request. Non-positive values are ignored. The presence of nextPageToken in the response indicates that more results might be available.", +"format": "int32", +"location": "query", +"type": "integer" +}, +"pageToken": { +"description": "Optional. If present, then retrieve the next batch of results from the preceding call to this method. pageToken must be the value of nextPageToken from the previous response. The values of other method parameters should be identical to those in the previous call.", +"location": "query", +"type": "string" +}, +"parent": { +"description": "Required. The parent resource whose buckets are to be listed: \"projects/[PROJECT_ID]/locations/[LOCATION_ID]\" \"organizations/[ORGANIZATION_ID]/locations/[LOCATION_ID]\" \"billingAccounts/[BILLING_ACCOUNT_ID]/locations/[LOCATION_ID]\" \"folders/[FOLDER_ID]/locations/[LOCATION_ID]\" Note: The locations portion of the resource must be specified, but supplying the character - in place of LOCATION_ID will return all buckets.", +"location": "path", +"pattern": "^billingAccounts/[^/]+/locations/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v2/{+parent}/buckets", +"response": { +"$ref": "ListBucketsResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/cloud-platform.read-only", +"https://www.googleapis.com/auth/logging.admin", +"https://www.googleapis.com/auth/logging.read" +] +}, +"patch": { +"description": "Updates a log bucket.If the bucket has a lifecycle_state of DELETE_REQUESTED, then FAILED_PRECONDITION will be returned.After a bucket has been created, the bucket's location cannot be changed.", +"flatPath": "v2/billingAccounts/{billingAccountsId}/locations/{locationsId}/buckets/{bucketsId}", +"httpMethod": "PATCH", +"id": "logging.billingAccounts.locations.buckets.patch", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. The full resource name of the bucket to update. \"projects/[PROJECT_ID]/locations/[LOCATION_ID]/buckets/[BUCKET_ID]\" \"organizations/[ORGANIZATION_ID]/locations/[LOCATION_ID]/buckets/[BUCKET_ID]\" \"billingAccounts/[BILLING_ACCOUNT_ID]/locations/[LOCATION_ID]/buckets/[BUCKET_ID]\" \"folders/[FOLDER_ID]/locations/[LOCATION_ID]/buckets/[BUCKET_ID]\" For example:\"projects/my-project/locations/global/buckets/my-bucket\"", +"location": "path", +"pattern": "^billingAccounts/[^/]+/locations/[^/]+/buckets/[^/]+$", +"required": true, +"type": "string" +}, +"updateMask": { +"description": "Required. Field mask that specifies the fields in bucket that need an update. A bucket field will be overwritten if, and only if, it is in the update mask. name and output only fields cannot be updated.For a detailed FieldMask definition, see: https://developers.google.com/protocol-buffers/docs/reference/google.protobuf#google.protobuf.FieldMaskFor example: updateMask=retention_days", +"format": "google-fieldmask", +"location": "query", +"type": "string" +} +}, +"path": "v2/{+name}", +"request": { +"$ref": "LogBucket" +}, +"response": { +"$ref": "LogBucket" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/logging.admin" +] +}, +"undelete": { +"description": "Undeletes a log bucket. A bucket that has been deleted can be undeleted within the grace period of 7 days.", +"flatPath": "v2/billingAccounts/{billingAccountsId}/locations/{locationsId}/buckets/{bucketsId}:undelete", +"httpMethod": "POST", +"id": "logging.billingAccounts.locations.buckets.undelete", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. The full resource name of the bucket to undelete. \"projects/[PROJECT_ID]/locations/[LOCATION_ID]/buckets/[BUCKET_ID]\" \"organizations/[ORGANIZATION_ID]/locations/[LOCATION_ID]/buckets/[BUCKET_ID]\" \"billingAccounts/[BILLING_ACCOUNT_ID]/locations/[LOCATION_ID]/buckets/[BUCKET_ID]\" \"folders/[FOLDER_ID]/locations/[LOCATION_ID]/buckets/[BUCKET_ID]\" For example:\"projects/my-project/locations/global/buckets/my-bucket\"", +"location": "path", +"pattern": "^billingAccounts/[^/]+/locations/[^/]+/buckets/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v2/{+name}:undelete", +"request": { +"$ref": "UndeleteBucketRequest" +}, +"response": { +"$ref": "Empty" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/logging.admin" +] +}, +"updateAsync": { +"description": "Updates a log bucket asynchronously.If the bucket has a lifecycle_state of DELETE_REQUESTED, then FAILED_PRECONDITION will be returned.After a bucket has been created, the bucket's location cannot be changed.", +"flatPath": "v2/billingAccounts/{billingAccountsId}/locations/{locationsId}/buckets/{bucketsId}:updateAsync", +"httpMethod": "POST", +"id": "logging.billingAccounts.locations.buckets.updateAsync", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. The full resource name of the bucket to update. \"projects/[PROJECT_ID]/locations/[LOCATION_ID]/buckets/[BUCKET_ID]\" \"organizations/[ORGANIZATION_ID]/locations/[LOCATION_ID]/buckets/[BUCKET_ID]\" \"billingAccounts/[BILLING_ACCOUNT_ID]/locations/[LOCATION_ID]/buckets/[BUCKET_ID]\" \"folders/[FOLDER_ID]/locations/[LOCATION_ID]/buckets/[BUCKET_ID]\" For example:\"projects/my-project/locations/global/buckets/my-bucket\"", +"location": "path", +"pattern": "^billingAccounts/[^/]+/locations/[^/]+/buckets/[^/]+$", +"required": true, +"type": "string" +}, +"updateMask": { +"description": "Required. Field mask that specifies the fields in bucket that need an update. A bucket field will be overwritten if, and only if, it is in the update mask. name and output only fields cannot be updated.For a detailed FieldMask definition, see: https://developers.google.com/protocol-buffers/docs/reference/google.protobuf#google.protobuf.FieldMaskFor example: updateMask=retention_days", +"format": "google-fieldmask", +"location": "query", +"type": "string" +} +}, +"path": "v2/{+name}:updateAsync", +"request": { +"$ref": "LogBucket" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/logging.admin" +] +} +}, +"resources": { +"links": { +"methods": { +"create": { +"description": "Asynchronously creates a linked dataset in BigQuery which makes it possible to use BigQuery to read the logs stored in the log bucket. A log bucket may currently only contain one link.", +"flatPath": "v2/billingAccounts/{billingAccountsId}/locations/{locationsId}/buckets/{bucketsId}/links", +"httpMethod": "POST", +"id": "logging.billingAccounts.locations.buckets.links.create", +"parameterOrder": [ +"parent" +], +"parameters": { +"linkId": { +"description": "Required. The ID to use for the link. The link_id can have up to 100 characters. A valid link_id must only have alphanumeric characters and underscores within it.", +"location": "query", +"type": "string" +}, +"parent": { +"description": "Required. The full resource name of the bucket to create a link for. \"projects/[PROJECT_ID]/locations/[LOCATION_ID]/buckets/[BUCKET_ID]\" \"organizations/[ORGANIZATION_ID]/locations/[LOCATION_ID]/buckets/[BUCKET_ID]\" \"billingAccounts/[BILLING_ACCOUNT_ID]/locations/[LOCATION_ID]/buckets/[BUCKET_ID]\" \"folders/[FOLDER_ID]/locations/[LOCATION_ID]/buckets/[BUCKET_ID]\" ", +"location": "path", +"pattern": "^billingAccounts/[^/]+/locations/[^/]+/buckets/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v2/{+parent}/links", +"request": { +"$ref": "Link" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/logging.admin" +] +}, +"delete": { +"description": "Deletes a link. This will also delete the corresponding BigQuery linked dataset.", +"flatPath": "v2/billingAccounts/{billingAccountsId}/locations/{locationsId}/buckets/{bucketsId}/links/{linksId}", +"httpMethod": "DELETE", +"id": "logging.billingAccounts.locations.buckets.links.delete", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. The full resource name of the link to delete. \"projects/[PROJECT_ID]/locations/[LOCATION_ID]/buckets/[BUCKET_ID]/links/[LINK_ID]\" \"organizations/[ORGANIZATION_ID]/locations/[LOCATION_ID]/buckets/[BUCKET_ID]/links/[LINK_ID]\" \"billingAccounts/[BILLING_ACCOUNT_ID]/locations/[LOCATION_ID]/buckets/[BUCKET_ID]/links/[LINK_ID]\" \"folders/[FOLDER_ID]/locations/[LOCATION_ID]/buckets/[BUCKET_ID]/links/[LINK_ID]\" ", +"location": "path", +"pattern": "^billingAccounts/[^/]+/locations/[^/]+/buckets/[^/]+/links/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v2/{+name}", +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/logging.admin" +] +}, +"get": { +"description": "Gets a link.", +"flatPath": "v2/billingAccounts/{billingAccountsId}/locations/{locationsId}/buckets/{bucketsId}/links/{linksId}", +"httpMethod": "GET", +"id": "logging.billingAccounts.locations.buckets.links.get", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. The resource name of the link: \"projects/[PROJECT_ID]/locations/[LOCATION_ID]/buckets/[BUCKET_ID]/links/[LINK_ID]\" \"organizations/[ORGANIZATION_ID]/locations/[LOCATION_ID]/buckets/[BUCKET_ID]/links/[LINK_ID]\" \"billingAccounts/[BILLING_ACCOUNT_ID]/locations/[LOCATION_ID]/buckets/[BUCKET_ID]/links/[LINK_ID]\" \"folders/[FOLDER_ID]/locations/[LOCATION_ID]/buckets/[BUCKET_ID]/links/[LINK_ID]\" ", +"location": "path", +"pattern": "^billingAccounts/[^/]+/locations/[^/]+/buckets/[^/]+/links/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v2/{+name}", +"response": { +"$ref": "Link" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/cloud-platform.read-only", +"https://www.googleapis.com/auth/logging.admin", +"https://www.googleapis.com/auth/logging.read" +] +}, +"list": { +"description": "Lists links.", +"flatPath": "v2/billingAccounts/{billingAccountsId}/locations/{locationsId}/buckets/{bucketsId}/links", +"httpMethod": "GET", +"id": "logging.billingAccounts.locations.buckets.links.list", +"parameterOrder": [ +"parent" +], +"parameters": { +"pageSize": { +"description": "Optional. The maximum number of results to return from this request.", +"format": "int32", +"location": "query", +"type": "integer" +}, +"pageToken": { +"description": "Optional. If present, then retrieve the next batch of results from the preceding call to this method. pageToken must be the value of nextPageToken from the previous response.", +"location": "query", +"type": "string" +}, +"parent": { +"description": "Required. The parent resource whose links are to be listed: \"projects/[PROJECT_ID]/locations/[LOCATION_ID]/buckets/[BUCKET_ID]\" \"organizations/[ORGANIZATION_ID]/locations/[LOCATION_ID]/buckets/[BUCKET_ID]\" \"billingAccounts/[BILLING_ACCOUNT_ID]/locations/[LOCATION_ID]/buckets/[BUCKET_ID]\" \"folders/[FOLDER_ID]/locations/[LOCATION_ID]/buckets/[BUCKET_ID]\" ", +"location": "path", +"pattern": "^billingAccounts/[^/]+/locations/[^/]+/buckets/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v2/{+parent}/links", +"response": { +"$ref": "ListLinksResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/cloud-platform.read-only", +"https://www.googleapis.com/auth/logging.admin", +"https://www.googleapis.com/auth/logging.read" +] +} +} +}, +"views": { +"methods": { +"create": { +"description": "Creates a view over log entries in a log bucket. A bucket may contain a maximum of 30 views.", +"flatPath": "v2/billingAccounts/{billingAccountsId}/locations/{locationsId}/buckets/{bucketsId}/views", +"httpMethod": "POST", +"id": "logging.billingAccounts.locations.buckets.views.create", +"parameterOrder": [ +"parent" +], +"parameters": { +"parent": { +"description": "Required. The bucket in which to create the view `\"projects/[PROJECT_ID]/locations/[LOCATION_ID]/buckets/[BUCKET_ID]\"` For example:\"projects/my-project/locations/global/buckets/my-bucket\"", +"location": "path", +"pattern": "^billingAccounts/[^/]+/locations/[^/]+/buckets/[^/]+$", +"required": true, +"type": "string" +}, +"viewId": { +"description": "Required. A client-assigned identifier such as \"my-view\". Identifiers are limited to 100 characters and can include only letters, digits, underscores, hyphens, and periods.", +"location": "query", +"type": "string" +} +}, +"path": "v2/{+parent}/views", +"request": { +"$ref": "LogView" +}, +"response": { +"$ref": "LogView" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/logging.admin" +] +}, +"delete": { +"description": "Deletes a view on a log bucket. If an UNAVAILABLE error is returned, this indicates that system is not in a state where it can delete the view. If this occurs, please try again in a few minutes.", +"flatPath": "v2/billingAccounts/{billingAccountsId}/locations/{locationsId}/buckets/{bucketsId}/views/{viewsId}", +"httpMethod": "DELETE", +"id": "logging.billingAccounts.locations.buckets.views.delete", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. The full resource name of the view to delete: \"projects/[PROJECT_ID]/locations/[LOCATION_ID]/buckets/[BUCKET_ID]/views/[VIEW_ID]\" For example:\"projects/my-project/locations/global/buckets/my-bucket/views/my-view\"", +"location": "path", +"pattern": "^billingAccounts/[^/]+/locations/[^/]+/buckets/[^/]+/views/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v2/{+name}", +"response": { +"$ref": "Empty" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/logging.admin" +] +}, +"get": { +"description": "Gets a view on a log bucket.", +"flatPath": "v2/billingAccounts/{billingAccountsId}/locations/{locationsId}/buckets/{bucketsId}/views/{viewsId}", +"httpMethod": "GET", +"id": "logging.billingAccounts.locations.buckets.views.get", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. The resource name of the policy: \"projects/[PROJECT_ID]/locations/[LOCATION_ID]/buckets/[BUCKET_ID]/views/[VIEW_ID]\" For example:\"projects/my-project/locations/global/buckets/my-bucket/views/my-view\"", +"location": "path", +"pattern": "^billingAccounts/[^/]+/locations/[^/]+/buckets/[^/]+/views/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v2/{+name}", +"response": { +"$ref": "LogView" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/cloud-platform.read-only", +"https://www.googleapis.com/auth/logging.admin", +"https://www.googleapis.com/auth/logging.read" +] +}, +"list": { +"description": "Lists views on a log bucket.", +"flatPath": "v2/billingAccounts/{billingAccountsId}/locations/{locationsId}/buckets/{bucketsId}/views", +"httpMethod": "GET", +"id": "logging.billingAccounts.locations.buckets.views.list", +"parameterOrder": [ +"parent" +], +"parameters": { +"pageSize": { +"description": "Optional. The maximum number of results to return from this request.Non-positive values are ignored. The presence of nextPageToken in the response indicates that more results might be available.", +"format": "int32", +"location": "query", +"type": "integer" +}, +"pageToken": { +"description": "Optional. If present, then retrieve the next batch of results from the preceding call to this method. pageToken must be the value of nextPageToken from the previous response. The values of other method parameters should be identical to those in the previous call.", +"location": "query", +"type": "string" +}, +"parent": { +"description": "Required. The bucket whose views are to be listed: \"projects/[PROJECT_ID]/locations/[LOCATION_ID]/buckets/[BUCKET_ID]\" ", +"location": "path", +"pattern": "^billingAccounts/[^/]+/locations/[^/]+/buckets/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v2/{+parent}/views", +"response": { +"$ref": "ListViewsResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/cloud-platform.read-only", +"https://www.googleapis.com/auth/logging.admin", +"https://www.googleapis.com/auth/logging.read" +] +}, +"patch": { +"description": "Updates a view on a log bucket. This method replaces the value of the filter field from the existing view with the corresponding value from the new view. If an UNAVAILABLE error is returned, this indicates that system is not in a state where it can update the view. If this occurs, please try again in a few minutes.", +"flatPath": "v2/billingAccounts/{billingAccountsId}/locations/{locationsId}/buckets/{bucketsId}/views/{viewsId}", +"httpMethod": "PATCH", +"id": "logging.billingAccounts.locations.buckets.views.patch", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. The full resource name of the view to update \"projects/[PROJECT_ID]/locations/[LOCATION_ID]/buckets/[BUCKET_ID]/views/[VIEW_ID]\" For example:\"projects/my-project/locations/global/buckets/my-bucket/views/my-view\"", +"location": "path", +"pattern": "^billingAccounts/[^/]+/locations/[^/]+/buckets/[^/]+/views/[^/]+$", +"required": true, +"type": "string" +}, +"updateMask": { +"description": "Optional. Field mask that specifies the fields in view that need an update. A field will be overwritten if, and only if, it is in the update mask. name and output only fields cannot be updated.For a detailed FieldMask definition, see https://developers.google.com/protocol-buffers/docs/reference/google.protobuf#google.protobuf.FieldMaskFor example: updateMask=filter", +"format": "google-fieldmask", +"location": "query", +"type": "string" +} +}, +"path": "v2/{+name}", +"request": { +"$ref": "LogView" +}, +"response": { +"$ref": "LogView" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/logging.admin" +] +} +}, +"resources": { +"logs": { +"methods": { +"list": { +"description": "Lists the logs in projects, organizations, folders, or billing accounts. Only logs that have entries are listed.", +"flatPath": "v2/billingAccounts/{billingAccountsId}/locations/{locationsId}/buckets/{bucketsId}/views/{viewsId}/logs", +"httpMethod": "GET", +"id": "logging.billingAccounts.locations.buckets.views.logs.list", +"parameterOrder": [ +"parent" +], +"parameters": { +"pageSize": { +"description": "Optional. The maximum number of results to return from this request. Non-positive values are ignored. The presence of nextPageToken in the response indicates that more results might be available.", +"format": "int32", +"location": "query", +"type": "integer" +}, +"pageToken": { +"description": "Optional. If present, then retrieve the next batch of results from the preceding call to this method. pageToken must be the value of nextPageToken from the previous response. The values of other method parameters should be identical to those in the previous call.", +"location": "query", +"type": "string" +}, +"parent": { +"description": "Required. The resource name to list logs for: projects/[PROJECT_ID] organizations/[ORGANIZATION_ID] billingAccounts/[BILLING_ACCOUNT_ID] folders/[FOLDER_ID]", +"location": "path", +"pattern": "^billingAccounts/[^/]+/locations/[^/]+/buckets/[^/]+/views/[^/]+$", +"required": true, +"type": "string" +}, +"resourceNames": { +"description": "Optional. List of resource names to list logs for: projects/[PROJECT_ID]/locations/[LOCATION_ID]/buckets/[BUCKET_ID]/views/[VIEW_ID] organizations/[ORGANIZATION_ID]/locations/[LOCATION_ID]/buckets/[BUCKET_ID]/views/[VIEW_ID] billingAccounts/[BILLING_ACCOUNT_ID]/locations/[LOCATION_ID]/buckets/[BUCKET_ID]/views/[VIEW_ID] folders/[FOLDER_ID]/locations/[LOCATION_ID]/buckets/[BUCKET_ID]/views/[VIEW_ID]To support legacy queries, it could also be: projects/[PROJECT_ID] organizations/[ORGANIZATION_ID] billingAccounts/[BILLING_ACCOUNT_ID] folders/[FOLDER_ID]The resource name in the parent field is added to this list.", +"location": "query", +"repeated": true, +"type": "string" +} +}, +"path": "v2/{+parent}/logs", +"response": { +"$ref": "ListLogsResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/cloud-platform.read-only", +"https://www.googleapis.com/auth/logging.admin", +"https://www.googleapis.com/auth/logging.read" +] +} +} +} +} +} +} +}, +"operations": { +"methods": { +"cancel": { +"description": "Starts asynchronous cancellation on a long-running operation. The server makes a best effort to cancel the operation, but success is not guaranteed. If the server doesn't support this method, it returns google.rpc.Code.UNIMPLEMENTED. Clients can use Operations.GetOperation or other methods to check whether the cancellation succeeded or whether the operation completed despite cancellation. On successful cancellation, the operation is not deleted; instead, it becomes an operation with an Operation.error value with a google.rpc.Status.code of 1, corresponding to Code.CANCELLED.", +"flatPath": "v2/billingAccounts/{billingAccountsId}/locations/{locationsId}/operations/{operationsId}:cancel", +"httpMethod": "POST", +"id": "logging.billingAccounts.locations.operations.cancel", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "The name of the operation resource to be cancelled.", +"location": "path", +"pattern": "^billingAccounts/[^/]+/locations/[^/]+/operations/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v2/{+name}:cancel", +"request": { +"$ref": "CancelOperationRequest" +}, +"response": { +"$ref": "Empty" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/logging.admin" +] +}, +"get": { +"description": "Gets the latest state of a long-running operation. Clients can use this method to poll the operation result at intervals as recommended by the API service.", +"flatPath": "v2/billingAccounts/{billingAccountsId}/locations/{locationsId}/operations/{operationsId}", +"httpMethod": "GET", +"id": "logging.billingAccounts.locations.operations.get", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "The name of the operation resource.", +"location": "path", +"pattern": "^billingAccounts/[^/]+/locations/[^/]+/operations/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v2/{+name}", +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/cloud-platform.read-only", +"https://www.googleapis.com/auth/logging.admin", +"https://www.googleapis.com/auth/logging.read" +] +}, +"list": { +"description": "Lists operations that match the specified filter in the request. If the server doesn't support this method, it returns UNIMPLEMENTED.", +"flatPath": "v2/billingAccounts/{billingAccountsId}/locations/{locationsId}/operations", +"httpMethod": "GET", +"id": "logging.billingAccounts.locations.operations.list", +"parameterOrder": [ +"name" +], +"parameters": { +"filter": { +"description": "The standard list filter.", +"location": "query", +"type": "string" +}, +"name": { +"description": "The name of the operation's parent resource.", +"location": "path", +"pattern": "^billingAccounts/[^/]+/locations/[^/]+$", +"required": true, +"type": "string" +}, +"pageSize": { +"description": "The standard list page size.", +"format": "int32", +"location": "query", +"type": "integer" +}, +"pageToken": { +"description": "The standard list page token.", +"location": "query", +"type": "string" +} +}, +"path": "v2/{+name}/operations", +"response": { +"$ref": "ListOperationsResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/cloud-platform.read-only", +"https://www.googleapis.com/auth/logging.admin", +"https://www.googleapis.com/auth/logging.read" +] +} +} +}, +"recentQueries": { +"methods": { +"list": { +"description": "Lists the RecentQueries that were created by the user making the request.", +"flatPath": "v2/billingAccounts/{billingAccountsId}/locations/{locationsId}/recentQueries", +"httpMethod": "GET", +"id": "logging.billingAccounts.locations.recentQueries.list", +"parameterOrder": [ +"parent" +], +"parameters": { +"filter": { +"description": "Optional. Specifies the type (\"Logging\" or \"OpsAnalytics\") of the recent queries to list. The only valid value for this field is one of the two allowable type function calls, which are the following: type(\"Logging\") type(\"OpsAnalytics\")", +"location": "query", +"type": "string" +}, +"pageSize": { +"description": "Optional. The maximum number of results to return from this request. Non-positive values are ignored. The presence of nextPageToken in the response indicates that more results might be available.", +"format": "int32", +"location": "query", +"type": "integer" +}, +"pageToken": { +"description": "Optional. If present, then retrieve the next batch of results from the preceding call to this method. pageToken must be the value of nextPageToken from the previous response. The values of other method parameters should be identical to those in the previous call.", +"location": "query", +"type": "string" +}, +"parent": { +"description": "Required. The resource to which the listed queries belong. \"projects/[PROJECT_ID]/locations/[LOCATION_ID]\" \"organizations/[ORGANIZATION_ID]/locations/[LOCATION_ID]\" \"billingAccounts/[BILLING_ACCOUNT_ID]/locations/[LOCATION_ID]\" \"folders/[FOLDER_ID]/locations/[LOCATION_ID]\" For example:projects/my-project/locations/us-central1Note: The location portion of the resource must be specified, but supplying the character - in place of LOCATION_ID will return all recent queries.", +"location": "path", +"pattern": "^billingAccounts/[^/]+/locations/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v2/{+parent}/recentQueries", +"response": { +"$ref": "ListRecentQueriesResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/cloud-platform.read-only", +"https://www.googleapis.com/auth/logging.admin", +"https://www.googleapis.com/auth/logging.read" +] +} +} +}, +"savedQueries": { +"methods": { +"create": { +"description": "Creates a new SavedQuery for the user making the request.", +"flatPath": "v2/billingAccounts/{billingAccountsId}/locations/{locationsId}/savedQueries", +"httpMethod": "POST", +"id": "logging.billingAccounts.locations.savedQueries.create", +"parameterOrder": [ +"parent" +], +"parameters": { +"parent": { +"description": "Required. The parent resource in which to create the saved query: \"projects/[PROJECT_ID]/locations/[LOCATION_ID]\" \"organizations/[ORGANIZATION_ID]/locations/[LOCATION_ID]\" \"billingAccounts/[BILLING_ACCOUNT_ID]/locations/[LOCATION_ID]\" \"folders/[FOLDER_ID]/locations/[LOCATION_ID]\" For example: \"projects/my-project/locations/global\" \"organizations/123456789/locations/us-central1\" ", +"location": "path", +"pattern": "^billingAccounts/[^/]+/locations/[^/]+$", +"required": true, +"type": "string" +}, +"savedQueryId": { +"description": "Optional. The ID to use for the saved query, which will become the final component of the saved query's resource name.If the saved_query_id is not provided, the system will generate an alphanumeric ID.The saved_query_id is limited to 100 characters and can include only the following characters: upper and lower-case alphanumeric characters, underscores, hyphens, periods.First character has to be alphanumeric.", +"location": "query", +"type": "string" +} +}, +"path": "v2/{+parent}/savedQueries", +"request": { +"$ref": "SavedQuery" +}, +"response": { +"$ref": "SavedQuery" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/logging.admin" +] +}, +"delete": { +"description": "Deletes an existing SavedQuery that was created by the user making the request.", +"flatPath": "v2/billingAccounts/{billingAccountsId}/locations/{locationsId}/savedQueries/{savedQueriesId}", +"httpMethod": "DELETE", +"id": "logging.billingAccounts.locations.savedQueries.delete", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. The full resource name of the saved query to delete. \"projects/[PROJECT_ID]/locations/[LOCATION_ID]/savedQueries/[QUERY_ID]\" \"organizations/[ORGANIZATION_ID]/locations/[LOCATION_ID]/savedQueries/[QUERY_ID]\" \"billingAccounts/[BILLING_ACCOUNT_ID]/locations/[LOCATION_ID]/savedQueries/[QUERY_ID]\" \"folders/[FOLDER_ID]/locations/[LOCATION_ID]/savedQueries/[QUERY_ID]\" For example: \"projects/my-project/locations/global/savedQueries/my-saved-query\" ", +"location": "path", +"pattern": "^billingAccounts/[^/]+/locations/[^/]+/savedQueries/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v2/{+name}", +"response": { +"$ref": "Empty" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/logging.admin" +] +}, +"get": { +"description": "Returns all data associated with the requested query.", +"flatPath": "v2/billingAccounts/{billingAccountsId}/locations/{locationsId}/savedQueries/{savedQueriesId}", +"httpMethod": "GET", +"id": "logging.billingAccounts.locations.savedQueries.get", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. The resource name of the saved query. \"projects/[PROJECT_ID]/locations/[LOCATION_ID]/savedQueries/[QUERY_ID]\" \"organizations/[ORGANIZATION_ID]/locations/[LOCATION_ID]/savedQueries/[QUERY_ID]\" \"billingAccounts/[BILLING_ACCOUNT_ID]/locations/[LOCATION_ID]/savedQueries/[QUERY_ID]\" \"folders/[FOLDER_ID]/locations/[LOCATION_ID]/savedQueries/[QUERY_ID]\" For example: \"projects/my-project/locations/global/savedQueries/my-saved-query\" ", +"location": "path", +"pattern": "^billingAccounts/[^/]+/locations/[^/]+/savedQueries/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v2/{+name}", +"response": { +"$ref": "SavedQuery" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/cloud-platform.read-only", +"https://www.googleapis.com/auth/logging.admin", +"https://www.googleapis.com/auth/logging.read" +] +}, +"list": { +"description": "Lists the SavedQueries that were created by the user making the request.", +"flatPath": "v2/billingAccounts/{billingAccountsId}/locations/{locationsId}/savedQueries", +"httpMethod": "GET", +"id": "logging.billingAccounts.locations.savedQueries.list", +"parameterOrder": [ +"parent" +], +"parameters": { +"filter": { +"description": "Optional. Specifies the type (\"Logging\" or \"OpsAnalytics\") and the visibility (PRIVATE or SHARED) of the saved queries to list. If provided, the filter must contain either the type function or a visibility token, or both. If both are chosen, they can be placed in any order, but they must be joined by the AND operator or the empty character.The two supported type function calls are: type(\"Logging\") type(\"OpsAnalytics\")The two supported visibility tokens are: visibility = PRIVATE visibility = SHAREDFor example:type(\"Logging\") AND visibility = PRIVATE visibility=SHARED type(\"OpsAnalytics\") type(\"OpsAnalytics)\" visibility = PRIVATE visibility = SHARED", +"location": "query", +"type": "string" +}, +"pageSize": { +"description": "Optional. The maximum number of results to return from this request.Non-positive values are ignored. The presence of nextPageToken in the response indicates that more results might be available.", +"format": "int32", +"location": "query", +"type": "integer" +}, +"pageToken": { +"description": "Optional. If present, then retrieve the next batch of results from the preceding call to this method. pageToken must be the value of nextPageToken from the previous response. The values of other method parameters should be identical to those in the previous call.", +"location": "query", +"type": "string" +}, +"parent": { +"description": "Required. The resource to which the listed queries belong. \"projects/[PROJECT_ID]/locations/[LOCATION_ID]\" \"organizations/[ORGANIZATION_ID]/locations/[LOCATION_ID]\" \"billingAccounts/[BILLING_ACCOUNT_ID]/locations/[LOCATION_ID]\" \"folders/[FOLDER_ID]/locations/[LOCATION_ID]\" For example: \"projects/my-project/locations/us-central1\" Note: The locations portion of the resource must be specified. To get a list of all saved queries, a wildcard character - can be used for LOCATION_ID, for example: \"projects/my-project/locations/-\" ", +"location": "path", +"pattern": "^billingAccounts/[^/]+/locations/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v2/{+parent}/savedQueries", +"response": { +"$ref": "ListSavedQueriesResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/cloud-platform.read-only", +"https://www.googleapis.com/auth/logging.admin", +"https://www.googleapis.com/auth/logging.read" +] +}, +"patch": { +"description": "Updates an existing SavedQuery.", +"flatPath": "v2/billingAccounts/{billingAccountsId}/locations/{locationsId}/savedQueries/{savedQueriesId}", +"httpMethod": "PATCH", +"id": "logging.billingAccounts.locations.savedQueries.patch", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Output only. Resource name of the saved query.In the format: \"projects/[PROJECT_ID]/locations/[LOCATION_ID]/savedQueries/[QUERY_ID]\" For a list of supported locations, see Supported Regions (https://cloud.google.com/logging/docs/region-support#bucket-regions)After the saved query is created, the location cannot be changed.If the user doesn't provide a QUERY_ID, the system will generate an alphanumeric ID.", +"location": "path", +"pattern": "^billingAccounts/[^/]+/locations/[^/]+/savedQueries/[^/]+$", +"required": true, +"type": "string" +}, +"updateMask": { +"description": "Required. A non-empty list of fields to change in the existing saved query. Fields are relative to the saved_query and new values for the fields are taken from the corresponding fields in the SavedQuery included in this request. Fields not mentioned in update_mask are not changed and are ignored in the request.To update all mutable fields, specify an update_mask of *.For example, to change the description and query filter text of a saved query, specify an update_mask of \"description, query.filter\".", +"format": "google-fieldmask", +"location": "query", +"type": "string" +} +}, +"path": "v2/{+name}", +"request": { +"$ref": "SavedQuery" +}, +"response": { +"$ref": "SavedQuery" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/logging.admin" +] +} +} +} +} +}, +"logs": { +"methods": { +"delete": { +"description": "Deletes all the log entries in a log for the _Default Log Bucket. The log reappears if it receives new entries. Log entries written shortly before the delete operation might not be deleted. Entries received after the delete operation with a timestamp before the operation will be deleted.", +"flatPath": "v2/billingAccounts/{billingAccountsId}/logs/{logsId}", +"httpMethod": "DELETE", +"id": "logging.billingAccounts.logs.delete", +"parameterOrder": [ +"logName" +], +"parameters": { +"logName": { +"description": "Required. The resource name of the log to delete: projects/[PROJECT_ID]/logs/[LOG_ID] organizations/[ORGANIZATION_ID]/logs/[LOG_ID] billingAccounts/[BILLING_ACCOUNT_ID]/logs/[LOG_ID] folders/[FOLDER_ID]/logs/[LOG_ID][LOG_ID] must be URL-encoded. For example, \"projects/my-project-id/logs/syslog\", \"organizations/123/logs/cloudaudit.googleapis.com%2Factivity\".For more information about log names, see LogEntry.", +"location": "path", +"pattern": "^billingAccounts/[^/]+/logs/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v2/{+logName}", +"response": { +"$ref": "Empty" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/logging.admin" +] +}, +"list": { +"description": "Lists the logs in projects, organizations, folders, or billing accounts. Only logs that have entries are listed.", +"flatPath": "v2/billingAccounts/{billingAccountsId}/logs", +"httpMethod": "GET", +"id": "logging.billingAccounts.logs.list", +"parameterOrder": [ +"parent" +], +"parameters": { +"pageSize": { +"description": "Optional. The maximum number of results to return from this request. Non-positive values are ignored. The presence of nextPageToken in the response indicates that more results might be available.", +"format": "int32", +"location": "query", +"type": "integer" +}, +"pageToken": { +"description": "Optional. If present, then retrieve the next batch of results from the preceding call to this method. pageToken must be the value of nextPageToken from the previous response. The values of other method parameters should be identical to those in the previous call.", +"location": "query", +"type": "string" +}, +"parent": { +"description": "Required. The resource name to list logs for: projects/[PROJECT_ID] organizations/[ORGANIZATION_ID] billingAccounts/[BILLING_ACCOUNT_ID] folders/[FOLDER_ID]", +"location": "path", +"pattern": "^billingAccounts/[^/]+$", +"required": true, +"type": "string" +}, +"resourceNames": { +"description": "Optional. List of resource names to list logs for: projects/[PROJECT_ID]/locations/[LOCATION_ID]/buckets/[BUCKET_ID]/views/[VIEW_ID] organizations/[ORGANIZATION_ID]/locations/[LOCATION_ID]/buckets/[BUCKET_ID]/views/[VIEW_ID] billingAccounts/[BILLING_ACCOUNT_ID]/locations/[LOCATION_ID]/buckets/[BUCKET_ID]/views/[VIEW_ID] folders/[FOLDER_ID]/locations/[LOCATION_ID]/buckets/[BUCKET_ID]/views/[VIEW_ID]To support legacy queries, it could also be: projects/[PROJECT_ID] organizations/[ORGANIZATION_ID] billingAccounts/[BILLING_ACCOUNT_ID] folders/[FOLDER_ID]The resource name in the parent field is added to this list.", +"location": "query", +"repeated": true, +"type": "string" +} +}, +"path": "v2/{+parent}/logs", +"response": { +"$ref": "ListLogsResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/cloud-platform.read-only", +"https://www.googleapis.com/auth/logging.admin", +"https://www.googleapis.com/auth/logging.read" +] +} +} +}, +"sinks": { +"methods": { +"create": { +"description": "Creates a sink that exports specified log entries to a destination. The export begins upon ingress, unless the sink's writer_identity is not permitted to write to the destination. A sink can export log entries only from the resource owning the sink.", +"flatPath": "v2/billingAccounts/{billingAccountsId}/sinks", +"httpMethod": "POST", +"id": "logging.billingAccounts.sinks.create", +"parameterOrder": [ +"parent" +], +"parameters": { +"customWriterIdentity": { +"description": "Optional. The service account provided by the caller that will be used to write the log entries. The format must be serviceAccount:some@email. This field can only be specified when you are routing logs to a log bucket that is in a different project than the sink. When not specified, a Logging service account will automatically be generated.", +"location": "query", +"type": "string" +}, +"parent": { +"description": "Required. The resource in which to create the sink: \"projects/[PROJECT_ID]\" \"organizations/[ORGANIZATION_ID]\" \"billingAccounts/[BILLING_ACCOUNT_ID]\" \"folders/[FOLDER_ID]\" For examples:\"projects/my-project\" \"organizations/123456789\"", +"location": "path", +"pattern": "^billingAccounts/[^/]+$", +"required": true, +"type": "string" +}, +"uniqueWriterIdentity": { +"description": "Optional. Determines the kind of IAM identity returned as writer_identity in the new sink. If this value is omitted or set to false, and if the sink's parent is a project, then the value returned as writer_identity is the same group or service account used by Cloud Logging before the addition of writer identities to this API. The sink's destination must be in the same project as the sink itself.If this field is set to true, or if the sink is owned by a non-project resource such as an organization, then the value of writer_identity will be a service agent (https://cloud.google.com/iam/docs/service-account-types#service-agents) used by the sinks with the same parent. For more information, see writer_identity in LogSink.", +"location": "query", +"type": "boolean" +} +}, +"path": "v2/{+parent}/sinks", +"request": { +"$ref": "LogSink" +}, +"response": { +"$ref": "LogSink" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/logging.admin" +] +}, +"delete": { +"description": "Deletes a sink. If the sink has a unique writer_identity, then that service account is also deleted.", +"flatPath": "v2/billingAccounts/{billingAccountsId}/sinks/{sinksId}", +"httpMethod": "DELETE", +"id": "logging.billingAccounts.sinks.delete", +"parameterOrder": [ +"sinkName" +], +"parameters": { +"sinkName": { +"description": "Required. The full resource name of the sink to delete, including the parent resource and the sink identifier: \"projects/[PROJECT_ID]/sinks/[SINK_ID]\" \"organizations/[ORGANIZATION_ID]/sinks/[SINK_ID]\" \"billingAccounts/[BILLING_ACCOUNT_ID]/sinks/[SINK_ID]\" \"folders/[FOLDER_ID]/sinks/[SINK_ID]\" For example:\"projects/my-project/sinks/my-sink\"", +"location": "path", +"pattern": "^billingAccounts/[^/]+/sinks/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v2/{+sinkName}", +"response": { +"$ref": "Empty" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/logging.admin" +] +}, +"get": { +"description": "Gets a sink.", +"flatPath": "v2/billingAccounts/{billingAccountsId}/sinks/{sinksId}", +"httpMethod": "GET", +"id": "logging.billingAccounts.sinks.get", +"parameterOrder": [ +"sinkName" +], +"parameters": { +"sinkName": { +"description": "Required. The resource name of the sink: \"projects/[PROJECT_ID]/sinks/[SINK_ID]\" \"organizations/[ORGANIZATION_ID]/sinks/[SINK_ID]\" \"billingAccounts/[BILLING_ACCOUNT_ID]/sinks/[SINK_ID]\" \"folders/[FOLDER_ID]/sinks/[SINK_ID]\" For example:\"projects/my-project/sinks/my-sink\"", +"location": "path", +"pattern": "^billingAccounts/[^/]+/sinks/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v2/{+sinkName}", +"response": { +"$ref": "LogSink" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/cloud-platform.read-only", +"https://www.googleapis.com/auth/logging.admin", +"https://www.googleapis.com/auth/logging.read" +] +}, +"list": { +"description": "Lists sinks.", +"flatPath": "v2/billingAccounts/{billingAccountsId}/sinks", +"httpMethod": "GET", +"id": "logging.billingAccounts.sinks.list", +"parameterOrder": [ +"parent" +], +"parameters": { +"filter": { +"description": "Optional. A filter expression to constrain the sinks returned. Today, this only supports the following strings: '' 'in_scope(\"ALL\")', 'in_scope(\"ANCESTOR\")', 'in_scope(\"DEFAULT\")'.Description of scopes below. ALL: Includes all of the sinks which can be returned in any other scope. ANCESTOR: Includes intercepting sinks owned by ancestor resources. DEFAULT: Includes sinks owned by parent.When the empty string is provided, then the filter 'in_scope(\"DEFAULT\")' is applied.", +"location": "query", +"type": "string" +}, +"pageSize": { +"description": "Optional. The maximum number of results to return from this request. Non-positive values are ignored. The presence of nextPageToken in the response indicates that more results might be available.", +"format": "int32", +"location": "query", +"type": "integer" +}, +"pageToken": { +"description": "Optional. If present, then retrieve the next batch of results from the preceding call to this method. pageToken must be the value of nextPageToken from the previous response. The values of other method parameters should be identical to those in the previous call.", +"location": "query", +"type": "string" +}, +"parent": { +"description": "Required. The parent resource whose sinks are to be listed: \"projects/[PROJECT_ID]\" \"organizations/[ORGANIZATION_ID]\" \"billingAccounts/[BILLING_ACCOUNT_ID]\" \"folders/[FOLDER_ID]\" ", +"location": "path", +"pattern": "^billingAccounts/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v2/{+parent}/sinks", +"response": { +"$ref": "ListSinksResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/cloud-platform.read-only", +"https://www.googleapis.com/auth/logging.admin", +"https://www.googleapis.com/auth/logging.read" +] +}, +"patch": { +"description": "Updates a sink. This method replaces the values of the destination and filter fields of the existing sink with the corresponding values from the new sink.The updated sink might also have a new writer_identity; see the unique_writer_identity field.", +"flatPath": "v2/billingAccounts/{billingAccountsId}/sinks/{sinksId}", +"httpMethod": "PATCH", +"id": "logging.billingAccounts.sinks.patch", +"parameterOrder": [ +"sinkName" +], +"parameters": { +"customWriterIdentity": { +"description": "Optional. The service account provided by the caller that will be used to write the log entries. The format must be serviceAccount:some@email. This field can only be specified when you are routing logs to a log bucket that is in a different project than the sink. When not specified, a Logging service account will automatically be generated.", +"location": "query", +"type": "string" +}, +"sinkName": { +"description": "Required. The full resource name of the sink to update, including the parent resource and the sink identifier: \"projects/[PROJECT_ID]/sinks/[SINK_ID]\" \"organizations/[ORGANIZATION_ID]/sinks/[SINK_ID]\" \"billingAccounts/[BILLING_ACCOUNT_ID]/sinks/[SINK_ID]\" \"folders/[FOLDER_ID]/sinks/[SINK_ID]\" For example:\"projects/my-project/sinks/my-sink\"", +"location": "path", +"pattern": "^billingAccounts/[^/]+/sinks/[^/]+$", +"required": true, +"type": "string" +}, +"uniqueWriterIdentity": { +"description": "Optional. See sinks.create for a description of this field. When updating a sink, the effect of this field on the value of writer_identity in the updated sink depends on both the old and new values of this field: If the old and new values of this field are both false or both true, then there is no change to the sink's writer_identity. If the old value is false and the new value is true, then writer_identity is changed to a service agent (https://cloud.google.com/iam/docs/service-account-types#service-agents) owned by Cloud Logging. It is an error if the old value is true and the new value is set to false or defaulted to false.", +"location": "query", +"type": "boolean" +}, +"updateMask": { +"description": "Optional. Field mask that specifies the fields in sink that need an update. A sink field will be overwritten if, and only if, it is in the update mask. name and output only fields cannot be updated.An empty updateMask is temporarily treated as using the following mask for backwards compatibility purposes:destination,filter,includeChildrenAt some point in the future, behavior will be removed and specifying an empty updateMask will be an error.For a detailed FieldMask definition, see https://developers.google.com/protocol-buffers/docs/reference/google.protobuf#google.protobuf.FieldMaskFor example: updateMask=filter", +"format": "google-fieldmask", +"location": "query", +"type": "string" +} +}, +"path": "v2/{+sinkName}", +"request": { +"$ref": "LogSink" +}, +"response": { +"$ref": "LogSink" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/logging.admin" +] +}, +"update": { +"description": "Updates a sink. This method replaces the values of the destination and filter fields of the existing sink with the corresponding values from the new sink.The updated sink might also have a new writer_identity; see the unique_writer_identity field.", +"flatPath": "v2/billingAccounts/{billingAccountsId}/sinks/{sinksId}", +"httpMethod": "PUT", +"id": "logging.billingAccounts.sinks.update", +"parameterOrder": [ +"sinkName" +], +"parameters": { +"customWriterIdentity": { +"description": "Optional. The service account provided by the caller that will be used to write the log entries. The format must be serviceAccount:some@email. This field can only be specified when you are routing logs to a log bucket that is in a different project than the sink. When not specified, a Logging service account will automatically be generated.", +"location": "query", +"type": "string" +}, +"sinkName": { +"description": "Required. The full resource name of the sink to update, including the parent resource and the sink identifier: \"projects/[PROJECT_ID]/sinks/[SINK_ID]\" \"organizations/[ORGANIZATION_ID]/sinks/[SINK_ID]\" \"billingAccounts/[BILLING_ACCOUNT_ID]/sinks/[SINK_ID]\" \"folders/[FOLDER_ID]/sinks/[SINK_ID]\" For example:\"projects/my-project/sinks/my-sink\"", +"location": "path", +"pattern": "^billingAccounts/[^/]+/sinks/[^/]+$", +"required": true, +"type": "string" +}, +"uniqueWriterIdentity": { +"description": "Optional. See sinks.create for a description of this field. When updating a sink, the effect of this field on the value of writer_identity in the updated sink depends on both the old and new values of this field: If the old and new values of this field are both false or both true, then there is no change to the sink's writer_identity. If the old value is false and the new value is true, then writer_identity is changed to a service agent (https://cloud.google.com/iam/docs/service-account-types#service-agents) owned by Cloud Logging. It is an error if the old value is true and the new value is set to false or defaulted to false.", +"location": "query", +"type": "boolean" +}, +"updateMask": { +"description": "Optional. Field mask that specifies the fields in sink that need an update. A sink field will be overwritten if, and only if, it is in the update mask. name and output only fields cannot be updated.An empty updateMask is temporarily treated as using the following mask for backwards compatibility purposes:destination,filter,includeChildrenAt some point in the future, behavior will be removed and specifying an empty updateMask will be an error.For a detailed FieldMask definition, see https://developers.google.com/protocol-buffers/docs/reference/google.protobuf#google.protobuf.FieldMaskFor example: updateMask=filter", +"format": "google-fieldmask", +"location": "query", +"type": "string" +} +}, +"path": "v2/{+sinkName}", +"request": { +"$ref": "LogSink" +}, +"response": { +"$ref": "LogSink" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/logging.admin" +] +} +} +} +} +}, +"entries": { +"methods": { +"copy": { +"description": "Copies a set of log entries from a log bucket to a Cloud Storage bucket.", +"flatPath": "v2/entries:copy", +"httpMethod": "POST", +"id": "logging.entries.copy", +"parameterOrder": [], +"parameters": {}, +"path": "v2/entries:copy", +"request": { +"$ref": "CopyLogEntriesRequest" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/logging.admin" +] +}, +"list": { +"description": "Lists log entries. Use this method to retrieve log entries that originated from a project/folder/organization/billing account. For ways to export log entries, see Exporting Logs (https://cloud.google.com/logging/docs/export).", +"flatPath": "v2/entries:list", +"httpMethod": "POST", +"id": "logging.entries.list", +"parameterOrder": [], +"parameters": {}, +"path": "v2/entries:list", +"request": { +"$ref": "ListLogEntriesRequest" +}, +"response": { +"$ref": "ListLogEntriesResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/cloud-platform.read-only", +"https://www.googleapis.com/auth/logging.admin", +"https://www.googleapis.com/auth/logging.read" +] +}, +"tail": { +"description": "Streaming read of log entries as they are received. Until the stream is terminated, it will continue reading logs.", +"flatPath": "v2/entries:tail", +"httpMethod": "POST", +"id": "logging.entries.tail", +"parameterOrder": [], +"parameters": {}, +"path": "v2/entries:tail", +"request": { +"$ref": "TailLogEntriesRequest" +}, +"response": { +"$ref": "TailLogEntriesResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/cloud-platform.read-only", +"https://www.googleapis.com/auth/logging.admin", +"https://www.googleapis.com/auth/logging.read" +] +}, +"write": { +"description": "Writes log entries to Logging. This API method is the only way to send log entries to Logging. This method is used, directly or indirectly, by the Logging agent (fluentd) and all logging libraries configured to use Logging. A single request may contain log entries for a maximum of 1000 different resource names (projects, organizations, billing accounts or folders), where the resource name for a log entry is determined from its logName field.", +"flatPath": "v2/entries:write", +"httpMethod": "POST", +"id": "logging.entries.write", +"parameterOrder": [], +"parameters": {}, +"path": "v2/entries:write", +"request": { +"$ref": "WriteLogEntriesRequest" +}, +"response": { +"$ref": "WriteLogEntriesResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/logging.admin", +"https://www.googleapis.com/auth/logging.write" +] +} +} +}, +"exclusions": { +"methods": { +"create": { +"description": "Creates a new exclusion in the _Default sink in a specified parent resource. Only log entries belonging to that resource can be excluded. You can have up to 10 exclusions in a resource.", +"flatPath": "v2/{v2Id}/{v2Id1}/exclusions", +"httpMethod": "POST", +"id": "logging.exclusions.create", +"parameterOrder": [ +"parent" +], +"parameters": { +"parent": { +"description": "Required. The parent resource in which to create the exclusion: \"projects/[PROJECT_ID]\" \"organizations/[ORGANIZATION_ID]\" \"billingAccounts/[BILLING_ACCOUNT_ID]\" \"folders/[FOLDER_ID]\" For examples:\"projects/my-logging-project\" \"organizations/123456789\"", +"location": "path", +"pattern": "^[^/]+/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v2/{+parent}/exclusions", +"request": { +"$ref": "LogExclusion" +}, +"response": { +"$ref": "LogExclusion" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/logging.admin" +] +}, +"delete": { +"description": "Deletes an exclusion in the _Default sink.", +"flatPath": "v2/{v2Id}/{v2Id1}/exclusions/{exclusionsId}", +"httpMethod": "DELETE", +"id": "logging.exclusions.delete", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. The resource name of an existing exclusion to delete: \"projects/[PROJECT_ID]/exclusions/[EXCLUSION_ID]\" \"organizations/[ORGANIZATION_ID]/exclusions/[EXCLUSION_ID]\" \"billingAccounts/[BILLING_ACCOUNT_ID]/exclusions/[EXCLUSION_ID]\" \"folders/[FOLDER_ID]/exclusions/[EXCLUSION_ID]\" For example:\"projects/my-project/exclusions/my-exclusion\"", +"location": "path", +"pattern": "^[^/]+/[^/]+/exclusions/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v2/{+name}", +"response": { +"$ref": "Empty" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/logging.admin" +] +}, +"get": { +"description": "Gets the description of an exclusion in the _Default sink.", +"flatPath": "v2/{v2Id}/{v2Id1}/exclusions/{exclusionsId}", +"httpMethod": "GET", +"id": "logging.exclusions.get", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. The resource name of an existing exclusion: \"projects/[PROJECT_ID]/exclusions/[EXCLUSION_ID]\" \"organizations/[ORGANIZATION_ID]/exclusions/[EXCLUSION_ID]\" \"billingAccounts/[BILLING_ACCOUNT_ID]/exclusions/[EXCLUSION_ID]\" \"folders/[FOLDER_ID]/exclusions/[EXCLUSION_ID]\" For example:\"projects/my-project/exclusions/my-exclusion\"", +"location": "path", +"pattern": "^[^/]+/[^/]+/exclusions/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v2/{+name}", +"response": { +"$ref": "LogExclusion" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/cloud-platform.read-only", +"https://www.googleapis.com/auth/logging.admin", +"https://www.googleapis.com/auth/logging.read" +] +}, +"list": { +"description": "Lists all the exclusions on the _Default sink in a parent resource.", +"flatPath": "v2/{v2Id}/{v2Id1}/exclusions", +"httpMethod": "GET", +"id": "logging.exclusions.list", +"parameterOrder": [ +"parent" +], +"parameters": { +"pageSize": { +"description": "Optional. The maximum number of results to return from this request. Non-positive values are ignored. The presence of nextPageToken in the response indicates that more results might be available.", +"format": "int32", +"location": "query", +"type": "integer" +}, +"pageToken": { +"description": "Optional. If present, then retrieve the next batch of results from the preceding call to this method. pageToken must be the value of nextPageToken from the previous response. The values of other method parameters should be identical to those in the previous call.", +"location": "query", +"type": "string" +}, +"parent": { +"description": "Required. The parent resource whose exclusions are to be listed. \"projects/[PROJECT_ID]\" \"organizations/[ORGANIZATION_ID]\" \"billingAccounts/[BILLING_ACCOUNT_ID]\" \"folders/[FOLDER_ID]\" ", +"location": "path", +"pattern": "^[^/]+/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v2/{+parent}/exclusions", +"response": { +"$ref": "ListExclusionsResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/cloud-platform.read-only", +"https://www.googleapis.com/auth/logging.admin", +"https://www.googleapis.com/auth/logging.read" +] +}, +"patch": { +"description": "Changes one or more properties of an existing exclusion in the _Default sink.", +"flatPath": "v2/{v2Id}/{v2Id1}/exclusions/{exclusionsId}", +"httpMethod": "PATCH", +"id": "logging.exclusions.patch", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. The resource name of the exclusion to update: \"projects/[PROJECT_ID]/exclusions/[EXCLUSION_ID]\" \"organizations/[ORGANIZATION_ID]/exclusions/[EXCLUSION_ID]\" \"billingAccounts/[BILLING_ACCOUNT_ID]/exclusions/[EXCLUSION_ID]\" \"folders/[FOLDER_ID]/exclusions/[EXCLUSION_ID]\" For example:\"projects/my-project/exclusions/my-exclusion\"", +"location": "path", +"pattern": "^[^/]+/[^/]+/exclusions/[^/]+$", +"required": true, +"type": "string" +}, +"updateMask": { +"description": "Required. A non-empty list of fields to change in the existing exclusion. New values for the fields are taken from the corresponding fields in the LogExclusion included in this request. Fields not mentioned in update_mask are not changed and are ignored in the request.For example, to change the filter and description of an exclusion, specify an update_mask of \"filter,description\".", +"format": "google-fieldmask", +"location": "query", +"type": "string" +} +}, +"path": "v2/{+name}", +"request": { +"$ref": "LogExclusion" +}, +"response": { +"$ref": "LogExclusion" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/logging.admin" +] +} +} +}, +"folders": { +"methods": { +"getCmekSettings": { +"description": "Gets the Logging CMEK settings for the given resource.Note: CMEK for the Log Router can be configured for Google Cloud projects, folders, organizations, and billing accounts. Once configured for an organization, it applies to all projects and folders in the Google Cloud organization.See Enabling CMEK for Log Router (https://cloud.google.com/logging/docs/routing/managed-encryption) for more information.", +"flatPath": "v2/folders/{foldersId}/cmekSettings", +"httpMethod": "GET", +"id": "logging.folders.getCmekSettings", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. The resource for which to retrieve CMEK settings. \"projects/[PROJECT_ID]/cmekSettings\" \"organizations/[ORGANIZATION_ID]/cmekSettings\" \"billingAccounts/[BILLING_ACCOUNT_ID]/cmekSettings\" \"folders/[FOLDER_ID]/cmekSettings\" For example:\"organizations/12345/cmekSettings\"Note: CMEK for the Log Router can be configured for Google Cloud projects, folders, organizations, and billing accounts. Once configured for an organization, it applies to all projects and folders in the Google Cloud organization.", +"location": "path", +"pattern": "^folders/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v2/{+name}/cmekSettings", +"response": { +"$ref": "CmekSettings" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/cloud-platform.read-only", +"https://www.googleapis.com/auth/logging.admin", +"https://www.googleapis.com/auth/logging.read" +] +}, +"getSettings": { +"description": "Gets the settings for the given resource.Note: Settings can be retrieved for Google Cloud projects, folders, organizations, and billing accounts.See View default resource settings for Logging (https://cloud.google.com/logging/docs/default-settings#view-org-settings) for more information.", +"flatPath": "v2/folders/{foldersId}/settings", +"httpMethod": "GET", +"id": "logging.folders.getSettings", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. The resource for which to retrieve settings. \"projects/[PROJECT_ID]/settings\" \"organizations/[ORGANIZATION_ID]/settings\" \"billingAccounts/[BILLING_ACCOUNT_ID]/settings\" \"folders/[FOLDER_ID]/settings\" For example:\"organizations/12345/settings\"Note: Settings can be retrieved for Google Cloud projects, folders, organizations, and billing accounts.", +"location": "path", +"pattern": "^folders/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v2/{+name}/settings", +"response": { +"$ref": "Settings" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/cloud-platform.read-only", +"https://www.googleapis.com/auth/logging.admin", +"https://www.googleapis.com/auth/logging.read" +] +}, +"updateSettings": { +"description": "Updates the settings for the given resource. This method applies to all feature configurations for organization and folders.UpdateSettings fails when any of the following are true: The value of storage_location either isn't supported by Logging or violates the location OrgPolicy. The default_sink_config field is set, but it has an unspecified filter write mode. The value of kms_key_name is invalid. The associated service account doesn't have the required roles/cloudkms.cryptoKeyEncrypterDecrypter role assigned for the key. Access to the key is disabled.See Configure default settings for organizations and folders (https://cloud.google.com/logging/docs/default-settings) for more information.", +"flatPath": "v2/folders/{foldersId}/settings", +"httpMethod": "PATCH", +"id": "logging.folders.updateSettings", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. The resource name for the settings to update. \"organizations/[ORGANIZATION_ID]/settings\" \"folders/[FOLDER_ID]/settings\" For example:\"organizations/12345/settings\"", +"location": "path", +"pattern": "^folders/[^/]+$", +"required": true, +"type": "string" +}, +"updateMask": { +"description": "Optional. Field mask identifying which fields from settings should be updated. A field will be overwritten if and only if it is in the update mask. Output only fields cannot be updated.See FieldMask for more information.For example: \"updateMask=kmsKeyName\"", +"format": "google-fieldmask", +"location": "query", +"type": "string" +} +}, +"path": "v2/{+name}/settings", +"request": { +"$ref": "Settings" +}, +"response": { +"$ref": "Settings" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/logging.admin" +] +} +}, +"resources": { +"exclusions": { +"methods": { +"create": { +"description": "Creates a new exclusion in the _Default sink in a specified parent resource. Only log entries belonging to that resource can be excluded. You can have up to 10 exclusions in a resource.", +"flatPath": "v2/folders/{foldersId}/exclusions", +"httpMethod": "POST", +"id": "logging.folders.exclusions.create", +"parameterOrder": [ +"parent" +], +"parameters": { +"parent": { +"description": "Required. The parent resource in which to create the exclusion: \"projects/[PROJECT_ID]\" \"organizations/[ORGANIZATION_ID]\" \"billingAccounts/[BILLING_ACCOUNT_ID]\" \"folders/[FOLDER_ID]\" For examples:\"projects/my-logging-project\" \"organizations/123456789\"", +"location": "path", +"pattern": "^folders/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v2/{+parent}/exclusions", +"request": { +"$ref": "LogExclusion" +}, +"response": { +"$ref": "LogExclusion" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/logging.admin" +] +}, +"delete": { +"description": "Deletes an exclusion in the _Default sink.", +"flatPath": "v2/folders/{foldersId}/exclusions/{exclusionsId}", +"httpMethod": "DELETE", +"id": "logging.folders.exclusions.delete", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. The resource name of an existing exclusion to delete: \"projects/[PROJECT_ID]/exclusions/[EXCLUSION_ID]\" \"organizations/[ORGANIZATION_ID]/exclusions/[EXCLUSION_ID]\" \"billingAccounts/[BILLING_ACCOUNT_ID]/exclusions/[EXCLUSION_ID]\" \"folders/[FOLDER_ID]/exclusions/[EXCLUSION_ID]\" For example:\"projects/my-project/exclusions/my-exclusion\"", +"location": "path", +"pattern": "^folders/[^/]+/exclusions/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v2/{+name}", +"response": { +"$ref": "Empty" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/logging.admin" +] +}, +"get": { +"description": "Gets the description of an exclusion in the _Default sink.", +"flatPath": "v2/folders/{foldersId}/exclusions/{exclusionsId}", +"httpMethod": "GET", +"id": "logging.folders.exclusions.get", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. The resource name of an existing exclusion: \"projects/[PROJECT_ID]/exclusions/[EXCLUSION_ID]\" \"organizations/[ORGANIZATION_ID]/exclusions/[EXCLUSION_ID]\" \"billingAccounts/[BILLING_ACCOUNT_ID]/exclusions/[EXCLUSION_ID]\" \"folders/[FOLDER_ID]/exclusions/[EXCLUSION_ID]\" For example:\"projects/my-project/exclusions/my-exclusion\"", +"location": "path", +"pattern": "^folders/[^/]+/exclusions/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v2/{+name}", +"response": { +"$ref": "LogExclusion" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/cloud-platform.read-only", +"https://www.googleapis.com/auth/logging.admin", +"https://www.googleapis.com/auth/logging.read" +] +}, +"list": { +"description": "Lists all the exclusions on the _Default sink in a parent resource.", +"flatPath": "v2/folders/{foldersId}/exclusions", +"httpMethod": "GET", +"id": "logging.folders.exclusions.list", +"parameterOrder": [ +"parent" +], +"parameters": { +"pageSize": { +"description": "Optional. The maximum number of results to return from this request. Non-positive values are ignored. The presence of nextPageToken in the response indicates that more results might be available.", +"format": "int32", +"location": "query", +"type": "integer" +}, +"pageToken": { +"description": "Optional. If present, then retrieve the next batch of results from the preceding call to this method. pageToken must be the value of nextPageToken from the previous response. The values of other method parameters should be identical to those in the previous call.", +"location": "query", +"type": "string" +}, +"parent": { +"description": "Required. The parent resource whose exclusions are to be listed. \"projects/[PROJECT_ID]\" \"organizations/[ORGANIZATION_ID]\" \"billingAccounts/[BILLING_ACCOUNT_ID]\" \"folders/[FOLDER_ID]\" ", +"location": "path", +"pattern": "^folders/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v2/{+parent}/exclusions", +"response": { +"$ref": "ListExclusionsResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/cloud-platform.read-only", +"https://www.googleapis.com/auth/logging.admin", +"https://www.googleapis.com/auth/logging.read" +] +}, +"patch": { +"description": "Changes one or more properties of an existing exclusion in the _Default sink.", +"flatPath": "v2/folders/{foldersId}/exclusions/{exclusionsId}", +"httpMethod": "PATCH", +"id": "logging.folders.exclusions.patch", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. The resource name of the exclusion to update: \"projects/[PROJECT_ID]/exclusions/[EXCLUSION_ID]\" \"organizations/[ORGANIZATION_ID]/exclusions/[EXCLUSION_ID]\" \"billingAccounts/[BILLING_ACCOUNT_ID]/exclusions/[EXCLUSION_ID]\" \"folders/[FOLDER_ID]/exclusions/[EXCLUSION_ID]\" For example:\"projects/my-project/exclusions/my-exclusion\"", +"location": "path", +"pattern": "^folders/[^/]+/exclusions/[^/]+$", +"required": true, +"type": "string" +}, +"updateMask": { +"description": "Required. A non-empty list of fields to change in the existing exclusion. New values for the fields are taken from the corresponding fields in the LogExclusion included in this request. Fields not mentioned in update_mask are not changed and are ignored in the request.For example, to change the filter and description of an exclusion, specify an update_mask of \"filter,description\".", +"format": "google-fieldmask", +"location": "query", +"type": "string" +} +}, +"path": "v2/{+name}", +"request": { +"$ref": "LogExclusion" +}, +"response": { +"$ref": "LogExclusion" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/logging.admin" +] +} +} +}, +"locations": { +"methods": { +"get": { +"description": "Gets information about a location.", +"flatPath": "v2/folders/{foldersId}/locations/{locationsId}", +"httpMethod": "GET", +"id": "logging.folders.locations.get", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Resource name for the location.", +"location": "path", +"pattern": "^folders/[^/]+/locations/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v2/{+name}", +"response": { +"$ref": "Location" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/cloud-platform.read-only", +"https://www.googleapis.com/auth/logging.admin", +"https://www.googleapis.com/auth/logging.read" +] +}, +"list": { +"description": "Lists information about the supported locations for this service.", +"flatPath": "v2/folders/{foldersId}/locations", +"httpMethod": "GET", +"id": "logging.folders.locations.list", +"parameterOrder": [ +"name" +], +"parameters": { +"filter": { +"description": "A filter to narrow down results to a preferred subset. The filtering language accepts strings like \"displayName=tokyo\", and is documented in more detail in AIP-160 (https://google.aip.dev/160).", +"location": "query", +"type": "string" +}, +"name": { +"description": "The resource that owns the locations collection, if applicable.", +"location": "path", +"pattern": "^folders/[^/]+$", +"required": true, +"type": "string" +}, +"pageSize": { +"description": "The maximum number of results to return. If not set, the service selects a default.", +"format": "int32", +"location": "query", +"type": "integer" +}, +"pageToken": { +"description": "A page token received from the next_page_token field in the response. Send that page token to receive the subsequent page.", +"location": "query", +"type": "string" +} +}, +"path": "v2/{+name}/locations", +"response": { +"$ref": "ListLocationsResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/cloud-platform.read-only", +"https://www.googleapis.com/auth/logging.admin", +"https://www.googleapis.com/auth/logging.read" +] +} +}, +"resources": { +"buckets": { +"methods": { +"create": { +"description": "Creates a log bucket that can be used to store log entries. After a bucket has been created, the bucket's location cannot be changed.", +"flatPath": "v2/folders/{foldersId}/locations/{locationsId}/buckets", +"httpMethod": "POST", +"id": "logging.folders.locations.buckets.create", +"parameterOrder": [ +"parent" +], +"parameters": { +"bucketId": { +"description": "Required. A client-assigned identifier such as \"my-bucket\". Identifiers are limited to 100 characters and can include only letters, digits, underscores, hyphens, and periods. Bucket identifiers must start with an alphanumeric character.", +"location": "query", +"type": "string" +}, +"parent": { +"description": "Required. The resource in which to create the log bucket: \"projects/[PROJECT_ID]/locations/[LOCATION_ID]\" For example:\"projects/my-project/locations/global\"", +"location": "path", +"pattern": "^folders/[^/]+/locations/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v2/{+parent}/buckets", +"request": { +"$ref": "LogBucket" +}, +"response": { +"$ref": "LogBucket" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/logging.admin" +] +}, +"createAsync": { +"description": "Creates a log bucket asynchronously that can be used to store log entries.After a bucket has been created, the bucket's location cannot be changed.", +"flatPath": "v2/folders/{foldersId}/locations/{locationsId}/buckets:createAsync", +"httpMethod": "POST", +"id": "logging.folders.locations.buckets.createAsync", +"parameterOrder": [ +"parent" +], +"parameters": { +"bucketId": { +"description": "Required. A client-assigned identifier such as \"my-bucket\". Identifiers are limited to 100 characters and can include only letters, digits, underscores, hyphens, and periods. Bucket identifiers must start with an alphanumeric character.", +"location": "query", +"type": "string" +}, +"parent": { +"description": "Required. The resource in which to create the log bucket: \"projects/[PROJECT_ID]/locations/[LOCATION_ID]\" For example:\"projects/my-project/locations/global\"", +"location": "path", +"pattern": "^folders/[^/]+/locations/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v2/{+parent}/buckets:createAsync", +"request": { +"$ref": "LogBucket" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/logging.admin" +] +}, +"delete": { +"description": "Deletes a log bucket.Changes the bucket's lifecycle_state to the DELETE_REQUESTED state. After 7 days, the bucket will be purged and all log entries in the bucket will be permanently deleted.", +"flatPath": "v2/folders/{foldersId}/locations/{locationsId}/buckets/{bucketsId}", +"httpMethod": "DELETE", +"id": "logging.folders.locations.buckets.delete", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. The full resource name of the bucket to delete. \"projects/[PROJECT_ID]/locations/[LOCATION_ID]/buckets/[BUCKET_ID]\" \"organizations/[ORGANIZATION_ID]/locations/[LOCATION_ID]/buckets/[BUCKET_ID]\" \"billingAccounts/[BILLING_ACCOUNT_ID]/locations/[LOCATION_ID]/buckets/[BUCKET_ID]\" \"folders/[FOLDER_ID]/locations/[LOCATION_ID]/buckets/[BUCKET_ID]\" For example:\"projects/my-project/locations/global/buckets/my-bucket\"", +"location": "path", +"pattern": "^folders/[^/]+/locations/[^/]+/buckets/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v2/{+name}", +"response": { +"$ref": "Empty" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/logging.admin" +] +}, +"get": { +"description": "Gets a log bucket.", +"flatPath": "v2/folders/{foldersId}/locations/{locationsId}/buckets/{bucketsId}", +"httpMethod": "GET", +"id": "logging.folders.locations.buckets.get", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. The resource name of the bucket: \"projects/[PROJECT_ID]/locations/[LOCATION_ID]/buckets/[BUCKET_ID]\" \"organizations/[ORGANIZATION_ID]/locations/[LOCATION_ID]/buckets/[BUCKET_ID]\" \"billingAccounts/[BILLING_ACCOUNT_ID]/locations/[LOCATION_ID]/buckets/[BUCKET_ID]\" \"folders/[FOLDER_ID]/locations/[LOCATION_ID]/buckets/[BUCKET_ID]\" For example:\"projects/my-project/locations/global/buckets/my-bucket\"", +"location": "path", +"pattern": "^folders/[^/]+/locations/[^/]+/buckets/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v2/{+name}", +"response": { +"$ref": "LogBucket" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/cloud-platform.read-only", +"https://www.googleapis.com/auth/logging.admin", +"https://www.googleapis.com/auth/logging.read" +] +}, +"list": { +"description": "Lists log buckets.", +"flatPath": "v2/folders/{foldersId}/locations/{locationsId}/buckets", +"httpMethod": "GET", +"id": "logging.folders.locations.buckets.list", +"parameterOrder": [ +"parent" +], +"parameters": { +"pageSize": { +"description": "Optional. The maximum number of results to return from this request. Non-positive values are ignored. The presence of nextPageToken in the response indicates that more results might be available.", +"format": "int32", +"location": "query", +"type": "integer" +}, +"pageToken": { +"description": "Optional. If present, then retrieve the next batch of results from the preceding call to this method. pageToken must be the value of nextPageToken from the previous response. The values of other method parameters should be identical to those in the previous call.", +"location": "query", +"type": "string" +}, +"parent": { +"description": "Required. The parent resource whose buckets are to be listed: \"projects/[PROJECT_ID]/locations/[LOCATION_ID]\" \"organizations/[ORGANIZATION_ID]/locations/[LOCATION_ID]\" \"billingAccounts/[BILLING_ACCOUNT_ID]/locations/[LOCATION_ID]\" \"folders/[FOLDER_ID]/locations/[LOCATION_ID]\" Note: The locations portion of the resource must be specified, but supplying the character - in place of LOCATION_ID will return all buckets.", +"location": "path", +"pattern": "^folders/[^/]+/locations/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v2/{+parent}/buckets", +"response": { +"$ref": "ListBucketsResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/cloud-platform.read-only", +"https://www.googleapis.com/auth/logging.admin", +"https://www.googleapis.com/auth/logging.read" +] +}, +"patch": { +"description": "Updates a log bucket.If the bucket has a lifecycle_state of DELETE_REQUESTED, then FAILED_PRECONDITION will be returned.After a bucket has been created, the bucket's location cannot be changed.", +"flatPath": "v2/folders/{foldersId}/locations/{locationsId}/buckets/{bucketsId}", +"httpMethod": "PATCH", +"id": "logging.folders.locations.buckets.patch", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. The full resource name of the bucket to update. \"projects/[PROJECT_ID]/locations/[LOCATION_ID]/buckets/[BUCKET_ID]\" \"organizations/[ORGANIZATION_ID]/locations/[LOCATION_ID]/buckets/[BUCKET_ID]\" \"billingAccounts/[BILLING_ACCOUNT_ID]/locations/[LOCATION_ID]/buckets/[BUCKET_ID]\" \"folders/[FOLDER_ID]/locations/[LOCATION_ID]/buckets/[BUCKET_ID]\" For example:\"projects/my-project/locations/global/buckets/my-bucket\"", +"location": "path", +"pattern": "^folders/[^/]+/locations/[^/]+/buckets/[^/]+$", +"required": true, +"type": "string" +}, +"updateMask": { +"description": "Required. Field mask that specifies the fields in bucket that need an update. A bucket field will be overwritten if, and only if, it is in the update mask. name and output only fields cannot be updated.For a detailed FieldMask definition, see: https://developers.google.com/protocol-buffers/docs/reference/google.protobuf#google.protobuf.FieldMaskFor example: updateMask=retention_days", +"format": "google-fieldmask", +"location": "query", +"type": "string" +} +}, +"path": "v2/{+name}", +"request": { +"$ref": "LogBucket" +}, +"response": { +"$ref": "LogBucket" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/logging.admin" +] +}, +"undelete": { +"description": "Undeletes a log bucket. A bucket that has been deleted can be undeleted within the grace period of 7 days.", +"flatPath": "v2/folders/{foldersId}/locations/{locationsId}/buckets/{bucketsId}:undelete", +"httpMethod": "POST", +"id": "logging.folders.locations.buckets.undelete", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. The full resource name of the bucket to undelete. \"projects/[PROJECT_ID]/locations/[LOCATION_ID]/buckets/[BUCKET_ID]\" \"organizations/[ORGANIZATION_ID]/locations/[LOCATION_ID]/buckets/[BUCKET_ID]\" \"billingAccounts/[BILLING_ACCOUNT_ID]/locations/[LOCATION_ID]/buckets/[BUCKET_ID]\" \"folders/[FOLDER_ID]/locations/[LOCATION_ID]/buckets/[BUCKET_ID]\" For example:\"projects/my-project/locations/global/buckets/my-bucket\"", +"location": "path", +"pattern": "^folders/[^/]+/locations/[^/]+/buckets/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v2/{+name}:undelete", +"request": { +"$ref": "UndeleteBucketRequest" +}, +"response": { +"$ref": "Empty" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/logging.admin" +] +}, +"updateAsync": { +"description": "Updates a log bucket asynchronously.If the bucket has a lifecycle_state of DELETE_REQUESTED, then FAILED_PRECONDITION will be returned.After a bucket has been created, the bucket's location cannot be changed.", +"flatPath": "v2/folders/{foldersId}/locations/{locationsId}/buckets/{bucketsId}:updateAsync", +"httpMethod": "POST", +"id": "logging.folders.locations.buckets.updateAsync", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. The full resource name of the bucket to update. \"projects/[PROJECT_ID]/locations/[LOCATION_ID]/buckets/[BUCKET_ID]\" \"organizations/[ORGANIZATION_ID]/locations/[LOCATION_ID]/buckets/[BUCKET_ID]\" \"billingAccounts/[BILLING_ACCOUNT_ID]/locations/[LOCATION_ID]/buckets/[BUCKET_ID]\" \"folders/[FOLDER_ID]/locations/[LOCATION_ID]/buckets/[BUCKET_ID]\" For example:\"projects/my-project/locations/global/buckets/my-bucket\"", +"location": "path", +"pattern": "^folders/[^/]+/locations/[^/]+/buckets/[^/]+$", +"required": true, +"type": "string" +}, +"updateMask": { +"description": "Required. Field mask that specifies the fields in bucket that need an update. A bucket field will be overwritten if, and only if, it is in the update mask. name and output only fields cannot be updated.For a detailed FieldMask definition, see: https://developers.google.com/protocol-buffers/docs/reference/google.protobuf#google.protobuf.FieldMaskFor example: updateMask=retention_days", +"format": "google-fieldmask", +"location": "query", +"type": "string" +} +}, +"path": "v2/{+name}:updateAsync", +"request": { +"$ref": "LogBucket" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/logging.admin" +] +} +}, +"resources": { +"links": { +"methods": { +"create": { +"description": "Asynchronously creates a linked dataset in BigQuery which makes it possible to use BigQuery to read the logs stored in the log bucket. A log bucket may currently only contain one link.", +"flatPath": "v2/folders/{foldersId}/locations/{locationsId}/buckets/{bucketsId}/links", +"httpMethod": "POST", +"id": "logging.folders.locations.buckets.links.create", +"parameterOrder": [ +"parent" +], +"parameters": { +"linkId": { +"description": "Required. The ID to use for the link. The link_id can have up to 100 characters. A valid link_id must only have alphanumeric characters and underscores within it.", +"location": "query", +"type": "string" +}, +"parent": { +"description": "Required. The full resource name of the bucket to create a link for. \"projects/[PROJECT_ID]/locations/[LOCATION_ID]/buckets/[BUCKET_ID]\" \"organizations/[ORGANIZATION_ID]/locations/[LOCATION_ID]/buckets/[BUCKET_ID]\" \"billingAccounts/[BILLING_ACCOUNT_ID]/locations/[LOCATION_ID]/buckets/[BUCKET_ID]\" \"folders/[FOLDER_ID]/locations/[LOCATION_ID]/buckets/[BUCKET_ID]\" ", +"location": "path", +"pattern": "^folders/[^/]+/locations/[^/]+/buckets/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v2/{+parent}/links", +"request": { +"$ref": "Link" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/logging.admin" +] +}, +"delete": { +"description": "Deletes a link. This will also delete the corresponding BigQuery linked dataset.", +"flatPath": "v2/folders/{foldersId}/locations/{locationsId}/buckets/{bucketsId}/links/{linksId}", +"httpMethod": "DELETE", +"id": "logging.folders.locations.buckets.links.delete", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. The full resource name of the link to delete. \"projects/[PROJECT_ID]/locations/[LOCATION_ID]/buckets/[BUCKET_ID]/links/[LINK_ID]\" \"organizations/[ORGANIZATION_ID]/locations/[LOCATION_ID]/buckets/[BUCKET_ID]/links/[LINK_ID]\" \"billingAccounts/[BILLING_ACCOUNT_ID]/locations/[LOCATION_ID]/buckets/[BUCKET_ID]/links/[LINK_ID]\" \"folders/[FOLDER_ID]/locations/[LOCATION_ID]/buckets/[BUCKET_ID]/links/[LINK_ID]\" ", +"location": "path", +"pattern": "^folders/[^/]+/locations/[^/]+/buckets/[^/]+/links/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v2/{+name}", +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/logging.admin" +] +}, +"get": { +"description": "Gets a link.", +"flatPath": "v2/folders/{foldersId}/locations/{locationsId}/buckets/{bucketsId}/links/{linksId}", +"httpMethod": "GET", +"id": "logging.folders.locations.buckets.links.get", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. The resource name of the link: \"projects/[PROJECT_ID]/locations/[LOCATION_ID]/buckets/[BUCKET_ID]/links/[LINK_ID]\" \"organizations/[ORGANIZATION_ID]/locations/[LOCATION_ID]/buckets/[BUCKET_ID]/links/[LINK_ID]\" \"billingAccounts/[BILLING_ACCOUNT_ID]/locations/[LOCATION_ID]/buckets/[BUCKET_ID]/links/[LINK_ID]\" \"folders/[FOLDER_ID]/locations/[LOCATION_ID]/buckets/[BUCKET_ID]/links/[LINK_ID]\" ", +"location": "path", +"pattern": "^folders/[^/]+/locations/[^/]+/buckets/[^/]+/links/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v2/{+name}", +"response": { +"$ref": "Link" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/cloud-platform.read-only", +"https://www.googleapis.com/auth/logging.admin", +"https://www.googleapis.com/auth/logging.read" +] +}, +"list": { +"description": "Lists links.", +"flatPath": "v2/folders/{foldersId}/locations/{locationsId}/buckets/{bucketsId}/links", +"httpMethod": "GET", +"id": "logging.folders.locations.buckets.links.list", +"parameterOrder": [ +"parent" +], +"parameters": { +"pageSize": { +"description": "Optional. The maximum number of results to return from this request.", +"format": "int32", +"location": "query", +"type": "integer" +}, +"pageToken": { +"description": "Optional. If present, then retrieve the next batch of results from the preceding call to this method. pageToken must be the value of nextPageToken from the previous response.", +"location": "query", +"type": "string" +}, +"parent": { +"description": "Required. The parent resource whose links are to be listed: \"projects/[PROJECT_ID]/locations/[LOCATION_ID]/buckets/[BUCKET_ID]\" \"organizations/[ORGANIZATION_ID]/locations/[LOCATION_ID]/buckets/[BUCKET_ID]\" \"billingAccounts/[BILLING_ACCOUNT_ID]/locations/[LOCATION_ID]/buckets/[BUCKET_ID]\" \"folders/[FOLDER_ID]/locations/[LOCATION_ID]/buckets/[BUCKET_ID]\" ", +"location": "path", +"pattern": "^folders/[^/]+/locations/[^/]+/buckets/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v2/{+parent}/links", +"response": { +"$ref": "ListLinksResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/cloud-platform.read-only", +"https://www.googleapis.com/auth/logging.admin", +"https://www.googleapis.com/auth/logging.read" +] +} +} +}, +"views": { +"methods": { +"create": { +"description": "Creates a view over log entries in a log bucket. A bucket may contain a maximum of 30 views.", +"flatPath": "v2/folders/{foldersId}/locations/{locationsId}/buckets/{bucketsId}/views", +"httpMethod": "POST", +"id": "logging.folders.locations.buckets.views.create", +"parameterOrder": [ +"parent" +], +"parameters": { +"parent": { +"description": "Required. The bucket in which to create the view `\"projects/[PROJECT_ID]/locations/[LOCATION_ID]/buckets/[BUCKET_ID]\"` For example:\"projects/my-project/locations/global/buckets/my-bucket\"", +"location": "path", +"pattern": "^folders/[^/]+/locations/[^/]+/buckets/[^/]+$", +"required": true, +"type": "string" +}, +"viewId": { +"description": "Required. A client-assigned identifier such as \"my-view\". Identifiers are limited to 100 characters and can include only letters, digits, underscores, hyphens, and periods.", +"location": "query", +"type": "string" +} +}, +"path": "v2/{+parent}/views", +"request": { +"$ref": "LogView" +}, +"response": { +"$ref": "LogView" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/logging.admin" +] +}, +"delete": { +"description": "Deletes a view on a log bucket. If an UNAVAILABLE error is returned, this indicates that system is not in a state where it can delete the view. If this occurs, please try again in a few minutes.", +"flatPath": "v2/folders/{foldersId}/locations/{locationsId}/buckets/{bucketsId}/views/{viewsId}", +"httpMethod": "DELETE", +"id": "logging.folders.locations.buckets.views.delete", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. The full resource name of the view to delete: \"projects/[PROJECT_ID]/locations/[LOCATION_ID]/buckets/[BUCKET_ID]/views/[VIEW_ID]\" For example:\"projects/my-project/locations/global/buckets/my-bucket/views/my-view\"", +"location": "path", +"pattern": "^folders/[^/]+/locations/[^/]+/buckets/[^/]+/views/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v2/{+name}", +"response": { +"$ref": "Empty" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/logging.admin" +] +}, +"get": { +"description": "Gets a view on a log bucket.", +"flatPath": "v2/folders/{foldersId}/locations/{locationsId}/buckets/{bucketsId}/views/{viewsId}", +"httpMethod": "GET", +"id": "logging.folders.locations.buckets.views.get", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. The resource name of the policy: \"projects/[PROJECT_ID]/locations/[LOCATION_ID]/buckets/[BUCKET_ID]/views/[VIEW_ID]\" For example:\"projects/my-project/locations/global/buckets/my-bucket/views/my-view\"", +"location": "path", +"pattern": "^folders/[^/]+/locations/[^/]+/buckets/[^/]+/views/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v2/{+name}", +"response": { +"$ref": "LogView" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/cloud-platform.read-only", +"https://www.googleapis.com/auth/logging.admin", +"https://www.googleapis.com/auth/logging.read" +] +}, +"getIamPolicy": { +"description": "Gets the access control policy for a resource. Returns an empty policy if the resource exists and does not have a policy set.", +"flatPath": "v2/folders/{foldersId}/locations/{locationsId}/buckets/{bucketsId}/views/{viewsId}:getIamPolicy", +"httpMethod": "POST", +"id": "logging.folders.locations.buckets.views.getIamPolicy", +"parameterOrder": [ +"resource" +], +"parameters": { +"resource": { +"description": "REQUIRED: The resource for which the policy is being requested. See Resource names (https://cloud.google.com/apis/design/resource_names) for the appropriate value for this field.", +"location": "path", +"pattern": "^folders/[^/]+/locations/[^/]+/buckets/[^/]+/views/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v2/{+resource}:getIamPolicy", +"request": { +"$ref": "GetIamPolicyRequest" +}, +"response": { +"$ref": "Policy" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/cloud-platform.read-only", +"https://www.googleapis.com/auth/logging.admin", +"https://www.googleapis.com/auth/logging.read" +] +}, +"list": { +"description": "Lists views on a log bucket.", +"flatPath": "v2/folders/{foldersId}/locations/{locationsId}/buckets/{bucketsId}/views", +"httpMethod": "GET", +"id": "logging.folders.locations.buckets.views.list", +"parameterOrder": [ +"parent" +], +"parameters": { +"pageSize": { +"description": "Optional. The maximum number of results to return from this request.Non-positive values are ignored. The presence of nextPageToken in the response indicates that more results might be available.", +"format": "int32", +"location": "query", +"type": "integer" +}, +"pageToken": { +"description": "Optional. If present, then retrieve the next batch of results from the preceding call to this method. pageToken must be the value of nextPageToken from the previous response. The values of other method parameters should be identical to those in the previous call.", +"location": "query", +"type": "string" +}, +"parent": { +"description": "Required. The bucket whose views are to be listed: \"projects/[PROJECT_ID]/locations/[LOCATION_ID]/buckets/[BUCKET_ID]\" ", +"location": "path", +"pattern": "^folders/[^/]+/locations/[^/]+/buckets/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v2/{+parent}/views", +"response": { +"$ref": "ListViewsResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/cloud-platform.read-only", +"https://www.googleapis.com/auth/logging.admin", +"https://www.googleapis.com/auth/logging.read" +] +}, +"patch": { +"description": "Updates a view on a log bucket. This method replaces the value of the filter field from the existing view with the corresponding value from the new view. If an UNAVAILABLE error is returned, this indicates that system is not in a state where it can update the view. If this occurs, please try again in a few minutes.", +"flatPath": "v2/folders/{foldersId}/locations/{locationsId}/buckets/{bucketsId}/views/{viewsId}", +"httpMethod": "PATCH", +"id": "logging.folders.locations.buckets.views.patch", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. The full resource name of the view to update \"projects/[PROJECT_ID]/locations/[LOCATION_ID]/buckets/[BUCKET_ID]/views/[VIEW_ID]\" For example:\"projects/my-project/locations/global/buckets/my-bucket/views/my-view\"", +"location": "path", +"pattern": "^folders/[^/]+/locations/[^/]+/buckets/[^/]+/views/[^/]+$", +"required": true, +"type": "string" +}, +"updateMask": { +"description": "Optional. Field mask that specifies the fields in view that need an update. A field will be overwritten if, and only if, it is in the update mask. name and output only fields cannot be updated.For a detailed FieldMask definition, see https://developers.google.com/protocol-buffers/docs/reference/google.protobuf#google.protobuf.FieldMaskFor example: updateMask=filter", +"format": "google-fieldmask", +"location": "query", +"type": "string" +} +}, +"path": "v2/{+name}", +"request": { +"$ref": "LogView" +}, +"response": { +"$ref": "LogView" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/logging.admin" +] +}, +"setIamPolicy": { +"description": "Sets the access control policy on the specified resource. Replaces any existing policy.Can return NOT_FOUND, INVALID_ARGUMENT, and PERMISSION_DENIED errors.", +"flatPath": "v2/folders/{foldersId}/locations/{locationsId}/buckets/{bucketsId}/views/{viewsId}:setIamPolicy", +"httpMethod": "POST", +"id": "logging.folders.locations.buckets.views.setIamPolicy", +"parameterOrder": [ +"resource" +], +"parameters": { +"resource": { +"description": "REQUIRED: The resource for which the policy is being specified. See Resource names (https://cloud.google.com/apis/design/resource_names) for the appropriate value for this field.", +"location": "path", +"pattern": "^folders/[^/]+/locations/[^/]+/buckets/[^/]+/views/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v2/{+resource}:setIamPolicy", +"request": { +"$ref": "SetIamPolicyRequest" +}, +"response": { +"$ref": "Policy" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/logging.admin" +] +}, +"testIamPermissions": { +"description": "Returns permissions that a caller has on the specified resource. If the resource does not exist, this will return an empty set of permissions, not a NOT_FOUND error.Note: This operation is designed to be used for building permission-aware UIs and command-line tools, not for authorization checking. This operation may \"fail open\" without warning.", +"flatPath": "v2/folders/{foldersId}/locations/{locationsId}/buckets/{bucketsId}/views/{viewsId}:testIamPermissions", +"httpMethod": "POST", +"id": "logging.folders.locations.buckets.views.testIamPermissions", +"parameterOrder": [ +"resource" +], +"parameters": { +"resource": { +"description": "REQUIRED: The resource for which the policy detail is being requested. See Resource names (https://cloud.google.com/apis/design/resource_names) for the appropriate value for this field.", +"location": "path", +"pattern": "^folders/[^/]+/locations/[^/]+/buckets/[^/]+/views/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v2/{+resource}:testIamPermissions", +"request": { +"$ref": "TestIamPermissionsRequest" +}, +"response": { +"$ref": "TestIamPermissionsResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/cloud-platform.read-only", +"https://www.googleapis.com/auth/logging.admin", +"https://www.googleapis.com/auth/logging.read" +] +} +}, +"resources": { +"logs": { +"methods": { +"list": { +"description": "Lists the logs in projects, organizations, folders, or billing accounts. Only logs that have entries are listed.", +"flatPath": "v2/folders/{foldersId}/locations/{locationsId}/buckets/{bucketsId}/views/{viewsId}/logs", +"httpMethod": "GET", +"id": "logging.folders.locations.buckets.views.logs.list", +"parameterOrder": [ +"parent" +], +"parameters": { +"pageSize": { +"description": "Optional. The maximum number of results to return from this request. Non-positive values are ignored. The presence of nextPageToken in the response indicates that more results might be available.", +"format": "int32", +"location": "query", +"type": "integer" +}, +"pageToken": { +"description": "Optional. If present, then retrieve the next batch of results from the preceding call to this method. pageToken must be the value of nextPageToken from the previous response. The values of other method parameters should be identical to those in the previous call.", +"location": "query", +"type": "string" +}, +"parent": { +"description": "Required. The resource name to list logs for: projects/[PROJECT_ID] organizations/[ORGANIZATION_ID] billingAccounts/[BILLING_ACCOUNT_ID] folders/[FOLDER_ID]", +"location": "path", +"pattern": "^folders/[^/]+/locations/[^/]+/buckets/[^/]+/views/[^/]+$", +"required": true, +"type": "string" +}, +"resourceNames": { +"description": "Optional. List of resource names to list logs for: projects/[PROJECT_ID]/locations/[LOCATION_ID]/buckets/[BUCKET_ID]/views/[VIEW_ID] organizations/[ORGANIZATION_ID]/locations/[LOCATION_ID]/buckets/[BUCKET_ID]/views/[VIEW_ID] billingAccounts/[BILLING_ACCOUNT_ID]/locations/[LOCATION_ID]/buckets/[BUCKET_ID]/views/[VIEW_ID] folders/[FOLDER_ID]/locations/[LOCATION_ID]/buckets/[BUCKET_ID]/views/[VIEW_ID]To support legacy queries, it could also be: projects/[PROJECT_ID] organizations/[ORGANIZATION_ID] billingAccounts/[BILLING_ACCOUNT_ID] folders/[FOLDER_ID]The resource name in the parent field is added to this list.", +"location": "query", +"repeated": true, +"type": "string" +} +}, +"path": "v2/{+parent}/logs", +"response": { +"$ref": "ListLogsResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/cloud-platform.read-only", +"https://www.googleapis.com/auth/logging.admin", +"https://www.googleapis.com/auth/logging.read" +] +} +} +} +} +} +} +}, +"logScopes": { +"methods": { +"create": { +"description": "Creates a log scope.", +"flatPath": "v2/folders/{foldersId}/locations/{locationsId}/logScopes", +"httpMethod": "POST", +"id": "logging.folders.locations.logScopes.create", +"parameterOrder": [ +"parent" +], +"parameters": { +"logScopeId": { +"description": "Required. A client-assigned identifier such as \"log-scope\". Identifiers are limited to 100 characters and can include only letters, digits, underscores, hyphens, and periods. First character has to be alphanumeric.", +"location": "query", +"type": "string" +}, +"parent": { +"description": "Required. The parent project in which to create the log scope \"projects/[PROJECT_ID]/locations/[LOCATION_ID]\" For example:\"projects/my-project/locations/global\"", +"location": "path", +"pattern": "^folders/[^/]+/locations/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v2/{+parent}/logScopes", +"request": { +"$ref": "LogScope" +}, +"response": { +"$ref": "LogScope" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/logging.admin" +] +}, +"delete": { +"description": "Deletes a log scope.", +"flatPath": "v2/folders/{foldersId}/locations/{locationsId}/logScopes/{logScopesId}", +"httpMethod": "DELETE", +"id": "logging.folders.locations.logScopes.delete", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. The resource name of the log scope to delete: \"projects/[PROJECT_ID]/locations/[LOCATION_ID]/logScopes/[LOG_SCOPE_ID]\" For example:\"projects/my-project/locations/global/logScopes/my-log-scope\"", +"location": "path", +"pattern": "^folders/[^/]+/locations/[^/]+/logScopes/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v2/{+name}", +"response": { +"$ref": "Empty" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/logging.admin" +] +}, +"get": { +"description": "Gets a log scope.", +"flatPath": "v2/folders/{foldersId}/locations/{locationsId}/logScopes/{logScopesId}", +"httpMethod": "GET", +"id": "logging.folders.locations.logScopes.get", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. The resource name of the log scope: \"projects/[PROJECT_ID]/locations/[LOCATION_ID]/logScopes/[LOG_SCOPE_ID]\" For example:\"projects/my-project/locations/global/logScopes/my-log-scope\"", +"location": "path", +"pattern": "^folders/[^/]+/locations/[^/]+/logScopes/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v2/{+name}", +"response": { +"$ref": "LogScope" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/cloud-platform.read-only", +"https://www.googleapis.com/auth/logging.admin", +"https://www.googleapis.com/auth/logging.read" +] +}, +"list": { +"description": "Lists log scopes.", +"flatPath": "v2/folders/{foldersId}/locations/{locationsId}/logScopes", +"httpMethod": "GET", +"id": "logging.folders.locations.logScopes.list", +"parameterOrder": [ +"parent" +], +"parameters": { +"pageSize": { +"description": "Optional. The maximum number of results to return from this request.Non-positive values are ignored. The presence of nextPageToken in the response indicates that more results might be available.", +"format": "int32", +"location": "query", +"type": "integer" +}, +"pageToken": { +"description": "Optional. If present, then retrieve the next batch of results from the preceding call to this method. pageToken must be the value of nextPageToken from the previous response. The values of other method parameters should be identical to those in the previous call.", +"location": "query", +"type": "string" +}, +"parent": { +"description": "Required. The parent resource whose log scopes are to be listed: \"projects/[PROJECT_ID]/locations/[LOCATION_ID]\" ", +"location": "path", +"pattern": "^folders/[^/]+/locations/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v2/{+parent}/logScopes", +"response": { +"$ref": "ListLogScopesResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/cloud-platform.read-only", +"https://www.googleapis.com/auth/logging.admin", +"https://www.googleapis.com/auth/logging.read" +] +}, +"patch": { +"description": "Updates a log scope.", +"flatPath": "v2/folders/{foldersId}/locations/{locationsId}/logScopes/{logScopesId}", +"httpMethod": "PATCH", +"id": "logging.folders.locations.logScopes.patch", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Output only. The resource name of the log scope.Log scopes are only available in the global location. For example:projects/my-project/locations/global/logScopes/my-log-scope", +"location": "path", +"pattern": "^folders/[^/]+/locations/[^/]+/logScopes/[^/]+$", +"required": true, +"type": "string" +}, +"updateMask": { +"description": "Optional. Field mask that specifies the fields in log_scope that need an update. A field will be overwritten if, and only if, it is in the update mask. name and output only fields cannot be updated.For a detailed FieldMask definition, see https://developers.google.com/protocol-buffers/docs/reference/google.protobuf#google.protobuf.FieldMaskFor example: updateMask=description", +"format": "google-fieldmask", +"location": "query", +"type": "string" +} +}, +"path": "v2/{+name}", +"request": { +"$ref": "LogScope" +}, +"response": { +"$ref": "LogScope" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/logging.admin" +] +} +} +}, +"operations": { +"methods": { +"cancel": { +"description": "Starts asynchronous cancellation on a long-running operation. The server makes a best effort to cancel the operation, but success is not guaranteed. If the server doesn't support this method, it returns google.rpc.Code.UNIMPLEMENTED. Clients can use Operations.GetOperation or other methods to check whether the cancellation succeeded or whether the operation completed despite cancellation. On successful cancellation, the operation is not deleted; instead, it becomes an operation with an Operation.error value with a google.rpc.Status.code of 1, corresponding to Code.CANCELLED.", +"flatPath": "v2/folders/{foldersId}/locations/{locationsId}/operations/{operationsId}:cancel", +"httpMethod": "POST", +"id": "logging.folders.locations.operations.cancel", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "The name of the operation resource to be cancelled.", +"location": "path", +"pattern": "^folders/[^/]+/locations/[^/]+/operations/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v2/{+name}:cancel", +"request": { +"$ref": "CancelOperationRequest" +}, +"response": { +"$ref": "Empty" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/logging.admin" +] +}, +"get": { +"description": "Gets the latest state of a long-running operation. Clients can use this method to poll the operation result at intervals as recommended by the API service.", +"flatPath": "v2/folders/{foldersId}/locations/{locationsId}/operations/{operationsId}", +"httpMethod": "GET", +"id": "logging.folders.locations.operations.get", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "The name of the operation resource.", +"location": "path", +"pattern": "^folders/[^/]+/locations/[^/]+/operations/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v2/{+name}", +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/cloud-platform.read-only", +"https://www.googleapis.com/auth/logging.admin", +"https://www.googleapis.com/auth/logging.read" +] +}, +"list": { +"description": "Lists operations that match the specified filter in the request. If the server doesn't support this method, it returns UNIMPLEMENTED.", +"flatPath": "v2/folders/{foldersId}/locations/{locationsId}/operations", +"httpMethod": "GET", +"id": "logging.folders.locations.operations.list", +"parameterOrder": [ +"name" +], +"parameters": { +"filter": { +"description": "The standard list filter.", +"location": "query", +"type": "string" +}, +"name": { +"description": "The name of the operation's parent resource.", +"location": "path", +"pattern": "^folders/[^/]+/locations/[^/]+$", +"required": true, +"type": "string" +}, +"pageSize": { +"description": "The standard list page size.", +"format": "int32", +"location": "query", +"type": "integer" +}, +"pageToken": { +"description": "The standard list page token.", +"location": "query", +"type": "string" +} +}, +"path": "v2/{+name}/operations", +"response": { +"$ref": "ListOperationsResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/cloud-platform.read-only", +"https://www.googleapis.com/auth/logging.admin", +"https://www.googleapis.com/auth/logging.read" +] +} +} +}, +"recentQueries": { +"methods": { +"list": { +"description": "Lists the RecentQueries that were created by the user making the request.", +"flatPath": "v2/folders/{foldersId}/locations/{locationsId}/recentQueries", +"httpMethod": "GET", +"id": "logging.folders.locations.recentQueries.list", +"parameterOrder": [ +"parent" +], +"parameters": { +"filter": { +"description": "Optional. Specifies the type (\"Logging\" or \"OpsAnalytics\") of the recent queries to list. The only valid value for this field is one of the two allowable type function calls, which are the following: type(\"Logging\") type(\"OpsAnalytics\")", +"location": "query", +"type": "string" +}, +"pageSize": { +"description": "Optional. The maximum number of results to return from this request. Non-positive values are ignored. The presence of nextPageToken in the response indicates that more results might be available.", +"format": "int32", +"location": "query", +"type": "integer" +}, +"pageToken": { +"description": "Optional. If present, then retrieve the next batch of results from the preceding call to this method. pageToken must be the value of nextPageToken from the previous response. The values of other method parameters should be identical to those in the previous call.", +"location": "query", +"type": "string" +}, +"parent": { +"description": "Required. The resource to which the listed queries belong. \"projects/[PROJECT_ID]/locations/[LOCATION_ID]\" \"organizations/[ORGANIZATION_ID]/locations/[LOCATION_ID]\" \"billingAccounts/[BILLING_ACCOUNT_ID]/locations/[LOCATION_ID]\" \"folders/[FOLDER_ID]/locations/[LOCATION_ID]\" For example:projects/my-project/locations/us-central1Note: The location portion of the resource must be specified, but supplying the character - in place of LOCATION_ID will return all recent queries.", +"location": "path", +"pattern": "^folders/[^/]+/locations/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v2/{+parent}/recentQueries", +"response": { +"$ref": "ListRecentQueriesResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/cloud-platform.read-only", +"https://www.googleapis.com/auth/logging.admin", +"https://www.googleapis.com/auth/logging.read" +] +} +} +}, +"savedQueries": { +"methods": { +"create": { +"description": "Creates a new SavedQuery for the user making the request.", +"flatPath": "v2/folders/{foldersId}/locations/{locationsId}/savedQueries", +"httpMethod": "POST", +"id": "logging.folders.locations.savedQueries.create", +"parameterOrder": [ +"parent" +], +"parameters": { +"parent": { +"description": "Required. The parent resource in which to create the saved query: \"projects/[PROJECT_ID]/locations/[LOCATION_ID]\" \"organizations/[ORGANIZATION_ID]/locations/[LOCATION_ID]\" \"billingAccounts/[BILLING_ACCOUNT_ID]/locations/[LOCATION_ID]\" \"folders/[FOLDER_ID]/locations/[LOCATION_ID]\" For example: \"projects/my-project/locations/global\" \"organizations/123456789/locations/us-central1\" ", +"location": "path", +"pattern": "^folders/[^/]+/locations/[^/]+$", +"required": true, +"type": "string" +}, +"savedQueryId": { +"description": "Optional. The ID to use for the saved query, which will become the final component of the saved query's resource name.If the saved_query_id is not provided, the system will generate an alphanumeric ID.The saved_query_id is limited to 100 characters and can include only the following characters: upper and lower-case alphanumeric characters, underscores, hyphens, periods.First character has to be alphanumeric.", +"location": "query", +"type": "string" +} +}, +"path": "v2/{+parent}/savedQueries", +"request": { +"$ref": "SavedQuery" +}, +"response": { +"$ref": "SavedQuery" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/logging.admin" +] +}, +"delete": { +"description": "Deletes an existing SavedQuery that was created by the user making the request.", +"flatPath": "v2/folders/{foldersId}/locations/{locationsId}/savedQueries/{savedQueriesId}", +"httpMethod": "DELETE", +"id": "logging.folders.locations.savedQueries.delete", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. The full resource name of the saved query to delete. \"projects/[PROJECT_ID]/locations/[LOCATION_ID]/savedQueries/[QUERY_ID]\" \"organizations/[ORGANIZATION_ID]/locations/[LOCATION_ID]/savedQueries/[QUERY_ID]\" \"billingAccounts/[BILLING_ACCOUNT_ID]/locations/[LOCATION_ID]/savedQueries/[QUERY_ID]\" \"folders/[FOLDER_ID]/locations/[LOCATION_ID]/savedQueries/[QUERY_ID]\" For example: \"projects/my-project/locations/global/savedQueries/my-saved-query\" ", +"location": "path", +"pattern": "^folders/[^/]+/locations/[^/]+/savedQueries/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v2/{+name}", +"response": { +"$ref": "Empty" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/logging.admin" +] +}, +"get": { +"description": "Returns all data associated with the requested query.", +"flatPath": "v2/folders/{foldersId}/locations/{locationsId}/savedQueries/{savedQueriesId}", +"httpMethod": "GET", +"id": "logging.folders.locations.savedQueries.get", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. The resource name of the saved query. \"projects/[PROJECT_ID]/locations/[LOCATION_ID]/savedQueries/[QUERY_ID]\" \"organizations/[ORGANIZATION_ID]/locations/[LOCATION_ID]/savedQueries/[QUERY_ID]\" \"billingAccounts/[BILLING_ACCOUNT_ID]/locations/[LOCATION_ID]/savedQueries/[QUERY_ID]\" \"folders/[FOLDER_ID]/locations/[LOCATION_ID]/savedQueries/[QUERY_ID]\" For example: \"projects/my-project/locations/global/savedQueries/my-saved-query\" ", +"location": "path", +"pattern": "^folders/[^/]+/locations/[^/]+/savedQueries/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v2/{+name}", +"response": { +"$ref": "SavedQuery" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/cloud-platform.read-only", +"https://www.googleapis.com/auth/logging.admin", +"https://www.googleapis.com/auth/logging.read" +] +}, +"list": { +"description": "Lists the SavedQueries that were created by the user making the request.", +"flatPath": "v2/folders/{foldersId}/locations/{locationsId}/savedQueries", +"httpMethod": "GET", +"id": "logging.folders.locations.savedQueries.list", +"parameterOrder": [ +"parent" +], +"parameters": { +"filter": { +"description": "Optional. Specifies the type (\"Logging\" or \"OpsAnalytics\") and the visibility (PRIVATE or SHARED) of the saved queries to list. If provided, the filter must contain either the type function or a visibility token, or both. If both are chosen, they can be placed in any order, but they must be joined by the AND operator or the empty character.The two supported type function calls are: type(\"Logging\") type(\"OpsAnalytics\")The two supported visibility tokens are: visibility = PRIVATE visibility = SHAREDFor example:type(\"Logging\") AND visibility = PRIVATE visibility=SHARED type(\"OpsAnalytics\") type(\"OpsAnalytics)\" visibility = PRIVATE visibility = SHARED", +"location": "query", +"type": "string" +}, +"pageSize": { +"description": "Optional. The maximum number of results to return from this request.Non-positive values are ignored. The presence of nextPageToken in the response indicates that more results might be available.", +"format": "int32", +"location": "query", +"type": "integer" +}, +"pageToken": { +"description": "Optional. If present, then retrieve the next batch of results from the preceding call to this method. pageToken must be the value of nextPageToken from the previous response. The values of other method parameters should be identical to those in the previous call.", +"location": "query", +"type": "string" +}, +"parent": { +"description": "Required. The resource to which the listed queries belong. \"projects/[PROJECT_ID]/locations/[LOCATION_ID]\" \"organizations/[ORGANIZATION_ID]/locations/[LOCATION_ID]\" \"billingAccounts/[BILLING_ACCOUNT_ID]/locations/[LOCATION_ID]\" \"folders/[FOLDER_ID]/locations/[LOCATION_ID]\" For example: \"projects/my-project/locations/us-central1\" Note: The locations portion of the resource must be specified. To get a list of all saved queries, a wildcard character - can be used for LOCATION_ID, for example: \"projects/my-project/locations/-\" ", +"location": "path", +"pattern": "^folders/[^/]+/locations/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v2/{+parent}/savedQueries", +"response": { +"$ref": "ListSavedQueriesResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/cloud-platform.read-only", +"https://www.googleapis.com/auth/logging.admin", +"https://www.googleapis.com/auth/logging.read" +] +}, +"patch": { +"description": "Updates an existing SavedQuery.", +"flatPath": "v2/folders/{foldersId}/locations/{locationsId}/savedQueries/{savedQueriesId}", +"httpMethod": "PATCH", +"id": "logging.folders.locations.savedQueries.patch", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Output only. Resource name of the saved query.In the format: \"projects/[PROJECT_ID]/locations/[LOCATION_ID]/savedQueries/[QUERY_ID]\" For a list of supported locations, see Supported Regions (https://cloud.google.com/logging/docs/region-support#bucket-regions)After the saved query is created, the location cannot be changed.If the user doesn't provide a QUERY_ID, the system will generate an alphanumeric ID.", +"location": "path", +"pattern": "^folders/[^/]+/locations/[^/]+/savedQueries/[^/]+$", +"required": true, +"type": "string" +}, +"updateMask": { +"description": "Required. A non-empty list of fields to change in the existing saved query. Fields are relative to the saved_query and new values for the fields are taken from the corresponding fields in the SavedQuery included in this request. Fields not mentioned in update_mask are not changed and are ignored in the request.To update all mutable fields, specify an update_mask of *.For example, to change the description and query filter text of a saved query, specify an update_mask of \"description, query.filter\".", +"format": "google-fieldmask", +"location": "query", +"type": "string" +} +}, +"path": "v2/{+name}", +"request": { +"$ref": "SavedQuery" +}, +"response": { +"$ref": "SavedQuery" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/logging.admin" +] +} +} +} +} +}, +"logs": { +"methods": { +"delete": { +"description": "Deletes all the log entries in a log for the _Default Log Bucket. The log reappears if it receives new entries. Log entries written shortly before the delete operation might not be deleted. Entries received after the delete operation with a timestamp before the operation will be deleted.", +"flatPath": "v2/folders/{foldersId}/logs/{logsId}", +"httpMethod": "DELETE", +"id": "logging.folders.logs.delete", +"parameterOrder": [ +"logName" +], +"parameters": { +"logName": { +"description": "Required. The resource name of the log to delete: projects/[PROJECT_ID]/logs/[LOG_ID] organizations/[ORGANIZATION_ID]/logs/[LOG_ID] billingAccounts/[BILLING_ACCOUNT_ID]/logs/[LOG_ID] folders/[FOLDER_ID]/logs/[LOG_ID][LOG_ID] must be URL-encoded. For example, \"projects/my-project-id/logs/syslog\", \"organizations/123/logs/cloudaudit.googleapis.com%2Factivity\".For more information about log names, see LogEntry.", +"location": "path", +"pattern": "^folders/[^/]+/logs/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v2/{+logName}", +"response": { +"$ref": "Empty" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/logging.admin" +] +}, +"list": { +"description": "Lists the logs in projects, organizations, folders, or billing accounts. Only logs that have entries are listed.", +"flatPath": "v2/folders/{foldersId}/logs", +"httpMethod": "GET", +"id": "logging.folders.logs.list", +"parameterOrder": [ +"parent" +], +"parameters": { +"pageSize": { +"description": "Optional. The maximum number of results to return from this request. Non-positive values are ignored. The presence of nextPageToken in the response indicates that more results might be available.", +"format": "int32", +"location": "query", +"type": "integer" +}, +"pageToken": { +"description": "Optional. If present, then retrieve the next batch of results from the preceding call to this method. pageToken must be the value of nextPageToken from the previous response. The values of other method parameters should be identical to those in the previous call.", +"location": "query", +"type": "string" +}, +"parent": { +"description": "Required. The resource name to list logs for: projects/[PROJECT_ID] organizations/[ORGANIZATION_ID] billingAccounts/[BILLING_ACCOUNT_ID] folders/[FOLDER_ID]", +"location": "path", +"pattern": "^folders/[^/]+$", +"required": true, +"type": "string" +}, +"resourceNames": { +"description": "Optional. List of resource names to list logs for: projects/[PROJECT_ID]/locations/[LOCATION_ID]/buckets/[BUCKET_ID]/views/[VIEW_ID] organizations/[ORGANIZATION_ID]/locations/[LOCATION_ID]/buckets/[BUCKET_ID]/views/[VIEW_ID] billingAccounts/[BILLING_ACCOUNT_ID]/locations/[LOCATION_ID]/buckets/[BUCKET_ID]/views/[VIEW_ID] folders/[FOLDER_ID]/locations/[LOCATION_ID]/buckets/[BUCKET_ID]/views/[VIEW_ID]To support legacy queries, it could also be: projects/[PROJECT_ID] organizations/[ORGANIZATION_ID] billingAccounts/[BILLING_ACCOUNT_ID] folders/[FOLDER_ID]The resource name in the parent field is added to this list.", +"location": "query", +"repeated": true, +"type": "string" +} +}, +"path": "v2/{+parent}/logs", +"response": { +"$ref": "ListLogsResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/cloud-platform.read-only", +"https://www.googleapis.com/auth/logging.admin", +"https://www.googleapis.com/auth/logging.read" +] +} +} +}, +"sinks": { +"methods": { +"create": { +"description": "Creates a sink that exports specified log entries to a destination. The export begins upon ingress, unless the sink's writer_identity is not permitted to write to the destination. A sink can export log entries only from the resource owning the sink.", +"flatPath": "v2/folders/{foldersId}/sinks", +"httpMethod": "POST", +"id": "logging.folders.sinks.create", +"parameterOrder": [ +"parent" +], +"parameters": { +"customWriterIdentity": { +"description": "Optional. The service account provided by the caller that will be used to write the log entries. The format must be serviceAccount:some@email. This field can only be specified when you are routing logs to a log bucket that is in a different project than the sink. When not specified, a Logging service account will automatically be generated.", +"location": "query", +"type": "string" +}, +"parent": { +"description": "Required. The resource in which to create the sink: \"projects/[PROJECT_ID]\" \"organizations/[ORGANIZATION_ID]\" \"billingAccounts/[BILLING_ACCOUNT_ID]\" \"folders/[FOLDER_ID]\" For examples:\"projects/my-project\" \"organizations/123456789\"", +"location": "path", +"pattern": "^folders/[^/]+$", +"required": true, +"type": "string" +}, +"uniqueWriterIdentity": { +"description": "Optional. Determines the kind of IAM identity returned as writer_identity in the new sink. If this value is omitted or set to false, and if the sink's parent is a project, then the value returned as writer_identity is the same group or service account used by Cloud Logging before the addition of writer identities to this API. The sink's destination must be in the same project as the sink itself.If this field is set to true, or if the sink is owned by a non-project resource such as an organization, then the value of writer_identity will be a service agent (https://cloud.google.com/iam/docs/service-account-types#service-agents) used by the sinks with the same parent. For more information, see writer_identity in LogSink.", +"location": "query", +"type": "boolean" +} +}, +"path": "v2/{+parent}/sinks", +"request": { +"$ref": "LogSink" +}, +"response": { +"$ref": "LogSink" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/logging.admin" +] +}, +"delete": { +"description": "Deletes a sink. If the sink has a unique writer_identity, then that service account is also deleted.", +"flatPath": "v2/folders/{foldersId}/sinks/{sinksId}", +"httpMethod": "DELETE", +"id": "logging.folders.sinks.delete", +"parameterOrder": [ +"sinkName" +], +"parameters": { +"sinkName": { +"description": "Required. The full resource name of the sink to delete, including the parent resource and the sink identifier: \"projects/[PROJECT_ID]/sinks/[SINK_ID]\" \"organizations/[ORGANIZATION_ID]/sinks/[SINK_ID]\" \"billingAccounts/[BILLING_ACCOUNT_ID]/sinks/[SINK_ID]\" \"folders/[FOLDER_ID]/sinks/[SINK_ID]\" For example:\"projects/my-project/sinks/my-sink\"", +"location": "path", +"pattern": "^folders/[^/]+/sinks/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v2/{+sinkName}", +"response": { +"$ref": "Empty" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/logging.admin" +] +}, +"get": { +"description": "Gets a sink.", +"flatPath": "v2/folders/{foldersId}/sinks/{sinksId}", +"httpMethod": "GET", +"id": "logging.folders.sinks.get", +"parameterOrder": [ +"sinkName" +], +"parameters": { +"sinkName": { +"description": "Required. The resource name of the sink: \"projects/[PROJECT_ID]/sinks/[SINK_ID]\" \"organizations/[ORGANIZATION_ID]/sinks/[SINK_ID]\" \"billingAccounts/[BILLING_ACCOUNT_ID]/sinks/[SINK_ID]\" \"folders/[FOLDER_ID]/sinks/[SINK_ID]\" For example:\"projects/my-project/sinks/my-sink\"", +"location": "path", +"pattern": "^folders/[^/]+/sinks/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v2/{+sinkName}", +"response": { +"$ref": "LogSink" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/cloud-platform.read-only", +"https://www.googleapis.com/auth/logging.admin", +"https://www.googleapis.com/auth/logging.read" +] +}, +"list": { +"description": "Lists sinks.", +"flatPath": "v2/folders/{foldersId}/sinks", +"httpMethod": "GET", +"id": "logging.folders.sinks.list", +"parameterOrder": [ +"parent" +], +"parameters": { +"filter": { +"description": "Optional. A filter expression to constrain the sinks returned. Today, this only supports the following strings: '' 'in_scope(\"ALL\")', 'in_scope(\"ANCESTOR\")', 'in_scope(\"DEFAULT\")'.Description of scopes below. ALL: Includes all of the sinks which can be returned in any other scope. ANCESTOR: Includes intercepting sinks owned by ancestor resources. DEFAULT: Includes sinks owned by parent.When the empty string is provided, then the filter 'in_scope(\"DEFAULT\")' is applied.", +"location": "query", +"type": "string" +}, +"pageSize": { +"description": "Optional. The maximum number of results to return from this request. Non-positive values are ignored. The presence of nextPageToken in the response indicates that more results might be available.", +"format": "int32", +"location": "query", +"type": "integer" +}, +"pageToken": { +"description": "Optional. If present, then retrieve the next batch of results from the preceding call to this method. pageToken must be the value of nextPageToken from the previous response. The values of other method parameters should be identical to those in the previous call.", +"location": "query", +"type": "string" +}, +"parent": { +"description": "Required. The parent resource whose sinks are to be listed: \"projects/[PROJECT_ID]\" \"organizations/[ORGANIZATION_ID]\" \"billingAccounts/[BILLING_ACCOUNT_ID]\" \"folders/[FOLDER_ID]\" ", +"location": "path", +"pattern": "^folders/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v2/{+parent}/sinks", +"response": { +"$ref": "ListSinksResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/cloud-platform.read-only", +"https://www.googleapis.com/auth/logging.admin", +"https://www.googleapis.com/auth/logging.read" +] +}, +"patch": { +"description": "Updates a sink. This method replaces the values of the destination and filter fields of the existing sink with the corresponding values from the new sink.The updated sink might also have a new writer_identity; see the unique_writer_identity field.", +"flatPath": "v2/folders/{foldersId}/sinks/{sinksId}", +"httpMethod": "PATCH", +"id": "logging.folders.sinks.patch", +"parameterOrder": [ +"sinkName" +], +"parameters": { +"customWriterIdentity": { +"description": "Optional. The service account provided by the caller that will be used to write the log entries. The format must be serviceAccount:some@email. This field can only be specified when you are routing logs to a log bucket that is in a different project than the sink. When not specified, a Logging service account will automatically be generated.", +"location": "query", +"type": "string" +}, +"sinkName": { +"description": "Required. The full resource name of the sink to update, including the parent resource and the sink identifier: \"projects/[PROJECT_ID]/sinks/[SINK_ID]\" \"organizations/[ORGANIZATION_ID]/sinks/[SINK_ID]\" \"billingAccounts/[BILLING_ACCOUNT_ID]/sinks/[SINK_ID]\" \"folders/[FOLDER_ID]/sinks/[SINK_ID]\" For example:\"projects/my-project/sinks/my-sink\"", +"location": "path", +"pattern": "^folders/[^/]+/sinks/[^/]+$", +"required": true, +"type": "string" +}, +"uniqueWriterIdentity": { +"description": "Optional. See sinks.create for a description of this field. When updating a sink, the effect of this field on the value of writer_identity in the updated sink depends on both the old and new values of this field: If the old and new values of this field are both false or both true, then there is no change to the sink's writer_identity. If the old value is false and the new value is true, then writer_identity is changed to a service agent (https://cloud.google.com/iam/docs/service-account-types#service-agents) owned by Cloud Logging. It is an error if the old value is true and the new value is set to false or defaulted to false.", +"location": "query", +"type": "boolean" +}, +"updateMask": { +"description": "Optional. Field mask that specifies the fields in sink that need an update. A sink field will be overwritten if, and only if, it is in the update mask. name and output only fields cannot be updated.An empty updateMask is temporarily treated as using the following mask for backwards compatibility purposes:destination,filter,includeChildrenAt some point in the future, behavior will be removed and specifying an empty updateMask will be an error.For a detailed FieldMask definition, see https://developers.google.com/protocol-buffers/docs/reference/google.protobuf#google.protobuf.FieldMaskFor example: updateMask=filter", +"format": "google-fieldmask", +"location": "query", +"type": "string" +} +}, +"path": "v2/{+sinkName}", +"request": { +"$ref": "LogSink" +}, +"response": { +"$ref": "LogSink" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/logging.admin" +] +}, +"update": { +"description": "Updates a sink. This method replaces the values of the destination and filter fields of the existing sink with the corresponding values from the new sink.The updated sink might also have a new writer_identity; see the unique_writer_identity field.", +"flatPath": "v2/folders/{foldersId}/sinks/{sinksId}", +"httpMethod": "PUT", +"id": "logging.folders.sinks.update", +"parameterOrder": [ +"sinkName" +], +"parameters": { +"customWriterIdentity": { +"description": "Optional. The service account provided by the caller that will be used to write the log entries. The format must be serviceAccount:some@email. This field can only be specified when you are routing logs to a log bucket that is in a different project than the sink. When not specified, a Logging service account will automatically be generated.", +"location": "query", +"type": "string" +}, +"sinkName": { +"description": "Required. The full resource name of the sink to update, including the parent resource and the sink identifier: \"projects/[PROJECT_ID]/sinks/[SINK_ID]\" \"organizations/[ORGANIZATION_ID]/sinks/[SINK_ID]\" \"billingAccounts/[BILLING_ACCOUNT_ID]/sinks/[SINK_ID]\" \"folders/[FOLDER_ID]/sinks/[SINK_ID]\" For example:\"projects/my-project/sinks/my-sink\"", +"location": "path", +"pattern": "^folders/[^/]+/sinks/[^/]+$", +"required": true, +"type": "string" +}, +"uniqueWriterIdentity": { +"description": "Optional. See sinks.create for a description of this field. When updating a sink, the effect of this field on the value of writer_identity in the updated sink depends on both the old and new values of this field: If the old and new values of this field are both false or both true, then there is no change to the sink's writer_identity. If the old value is false and the new value is true, then writer_identity is changed to a service agent (https://cloud.google.com/iam/docs/service-account-types#service-agents) owned by Cloud Logging. It is an error if the old value is true and the new value is set to false or defaulted to false.", +"location": "query", +"type": "boolean" +}, +"updateMask": { +"description": "Optional. Field mask that specifies the fields in sink that need an update. A sink field will be overwritten if, and only if, it is in the update mask. name and output only fields cannot be updated.An empty updateMask is temporarily treated as using the following mask for backwards compatibility purposes:destination,filter,includeChildrenAt some point in the future, behavior will be removed and specifying an empty updateMask will be an error.For a detailed FieldMask definition, see https://developers.google.com/protocol-buffers/docs/reference/google.protobuf#google.protobuf.FieldMaskFor example: updateMask=filter", +"format": "google-fieldmask", +"location": "query", +"type": "string" +} +}, +"path": "v2/{+sinkName}", +"request": { +"$ref": "LogSink" +}, +"response": { +"$ref": "LogSink" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/logging.admin" +] +} +} +} +} +}, +"locations": { +"methods": { +"get": { +"description": "Gets information about a location.", +"flatPath": "v2/{v2Id}/{v2Id1}/locations/{locationsId}", +"httpMethod": "GET", +"id": "logging.locations.get", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Resource name for the location.", +"location": "path", +"pattern": "^[^/]+/[^/]+/locations/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v2/{+name}", +"response": { +"$ref": "Location" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/cloud-platform.read-only", +"https://www.googleapis.com/auth/logging.admin", +"https://www.googleapis.com/auth/logging.read" +] +}, +"list": { +"description": "Lists information about the supported locations for this service.", +"flatPath": "v2/{v2Id}/{v2Id1}/locations", +"httpMethod": "GET", +"id": "logging.locations.list", +"parameterOrder": [ +"name" +], +"parameters": { +"filter": { +"description": "A filter to narrow down results to a preferred subset. The filtering language accepts strings like \"displayName=tokyo\", and is documented in more detail in AIP-160 (https://google.aip.dev/160).", +"location": "query", +"type": "string" +}, +"name": { +"description": "The resource that owns the locations collection, if applicable.", +"location": "path", +"pattern": "^[^/]+/[^/]+$", +"required": true, +"type": "string" +}, +"pageSize": { +"description": "The maximum number of results to return. If not set, the service selects a default.", +"format": "int32", +"location": "query", +"type": "integer" +}, +"pageToken": { +"description": "A page token received from the next_page_token field in the response. Send that page token to receive the subsequent page.", +"location": "query", +"type": "string" +} +}, +"path": "v2/{+name}/locations", +"response": { +"$ref": "ListLocationsResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/cloud-platform.read-only", +"https://www.googleapis.com/auth/logging.admin", +"https://www.googleapis.com/auth/logging.read" +] +} +}, +"resources": { +"buckets": { +"methods": { +"create": { +"description": "Creates a log bucket that can be used to store log entries. After a bucket has been created, the bucket's location cannot be changed.", +"flatPath": "v2/{v2Id}/{v2Id1}/locations/{locationsId}/buckets", +"httpMethod": "POST", +"id": "logging.locations.buckets.create", +"parameterOrder": [ +"parent" +], +"parameters": { +"bucketId": { +"description": "Required. A client-assigned identifier such as \"my-bucket\". Identifiers are limited to 100 characters and can include only letters, digits, underscores, hyphens, and periods. Bucket identifiers must start with an alphanumeric character.", +"location": "query", +"type": "string" +}, +"parent": { +"description": "Required. The resource in which to create the log bucket: \"projects/[PROJECT_ID]/locations/[LOCATION_ID]\" For example:\"projects/my-project/locations/global\"", +"location": "path", +"pattern": "^[^/]+/[^/]+/locations/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v2/{+parent}/buckets", +"request": { +"$ref": "LogBucket" +}, +"response": { +"$ref": "LogBucket" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/logging.admin" +] +}, +"createAsync": { +"description": "Creates a log bucket asynchronously that can be used to store log entries.After a bucket has been created, the bucket's location cannot be changed.", +"flatPath": "v2/{v2Id}/{v2Id1}/locations/{locationsId}/buckets:createAsync", +"httpMethod": "POST", +"id": "logging.locations.buckets.createAsync", +"parameterOrder": [ +"parent" +], +"parameters": { +"bucketId": { +"description": "Required. A client-assigned identifier such as \"my-bucket\". Identifiers are limited to 100 characters and can include only letters, digits, underscores, hyphens, and periods. Bucket identifiers must start with an alphanumeric character.", +"location": "query", +"type": "string" +}, +"parent": { +"description": "Required. The resource in which to create the log bucket: \"projects/[PROJECT_ID]/locations/[LOCATION_ID]\" For example:\"projects/my-project/locations/global\"", +"location": "path", +"pattern": "^[^/]+/[^/]+/locations/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v2/{+parent}/buckets:createAsync", +"request": { +"$ref": "LogBucket" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/logging.admin" +] +}, +"delete": { +"description": "Deletes a log bucket.Changes the bucket's lifecycle_state to the DELETE_REQUESTED state. After 7 days, the bucket will be purged and all log entries in the bucket will be permanently deleted.", +"flatPath": "v2/{v2Id}/{v2Id1}/locations/{locationsId}/buckets/{bucketsId}", +"httpMethod": "DELETE", +"id": "logging.locations.buckets.delete", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. The full resource name of the bucket to delete. \"projects/[PROJECT_ID]/locations/[LOCATION_ID]/buckets/[BUCKET_ID]\" \"organizations/[ORGANIZATION_ID]/locations/[LOCATION_ID]/buckets/[BUCKET_ID]\" \"billingAccounts/[BILLING_ACCOUNT_ID]/locations/[LOCATION_ID]/buckets/[BUCKET_ID]\" \"folders/[FOLDER_ID]/locations/[LOCATION_ID]/buckets/[BUCKET_ID]\" For example:\"projects/my-project/locations/global/buckets/my-bucket\"", +"location": "path", +"pattern": "^[^/]+/[^/]+/locations/[^/]+/buckets/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v2/{+name}", +"response": { +"$ref": "Empty" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/logging.admin" +] +}, +"get": { +"description": "Gets a log bucket.", +"flatPath": "v2/{v2Id}/{v2Id1}/locations/{locationsId}/buckets/{bucketsId}", +"httpMethod": "GET", +"id": "logging.locations.buckets.get", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. The resource name of the bucket: \"projects/[PROJECT_ID]/locations/[LOCATION_ID]/buckets/[BUCKET_ID]\" \"organizations/[ORGANIZATION_ID]/locations/[LOCATION_ID]/buckets/[BUCKET_ID]\" \"billingAccounts/[BILLING_ACCOUNT_ID]/locations/[LOCATION_ID]/buckets/[BUCKET_ID]\" \"folders/[FOLDER_ID]/locations/[LOCATION_ID]/buckets/[BUCKET_ID]\" For example:\"projects/my-project/locations/global/buckets/my-bucket\"", +"location": "path", +"pattern": "^[^/]+/[^/]+/locations/[^/]+/buckets/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v2/{+name}", +"response": { +"$ref": "LogBucket" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/cloud-platform.read-only", +"https://www.googleapis.com/auth/logging.admin", +"https://www.googleapis.com/auth/logging.read" +] +}, +"list": { +"description": "Lists log buckets.", +"flatPath": "v2/{v2Id}/{v2Id1}/locations/{locationsId}/buckets", +"httpMethod": "GET", +"id": "logging.locations.buckets.list", +"parameterOrder": [ +"parent" +], +"parameters": { +"pageSize": { +"description": "Optional. The maximum number of results to return from this request. Non-positive values are ignored. The presence of nextPageToken in the response indicates that more results might be available.", +"format": "int32", +"location": "query", +"type": "integer" +}, +"pageToken": { +"description": "Optional. If present, then retrieve the next batch of results from the preceding call to this method. pageToken must be the value of nextPageToken from the previous response. The values of other method parameters should be identical to those in the previous call.", +"location": "query", +"type": "string" +}, +"parent": { +"description": "Required. The parent resource whose buckets are to be listed: \"projects/[PROJECT_ID]/locations/[LOCATION_ID]\" \"organizations/[ORGANIZATION_ID]/locations/[LOCATION_ID]\" \"billingAccounts/[BILLING_ACCOUNT_ID]/locations/[LOCATION_ID]\" \"folders/[FOLDER_ID]/locations/[LOCATION_ID]\" Note: The locations portion of the resource must be specified, but supplying the character - in place of LOCATION_ID will return all buckets.", +"location": "path", +"pattern": "^[^/]+/[^/]+/locations/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v2/{+parent}/buckets", +"response": { +"$ref": "ListBucketsResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/cloud-platform.read-only", +"https://www.googleapis.com/auth/logging.admin", +"https://www.googleapis.com/auth/logging.read" +] +}, +"patch": { +"description": "Updates a log bucket.If the bucket has a lifecycle_state of DELETE_REQUESTED, then FAILED_PRECONDITION will be returned.After a bucket has been created, the bucket's location cannot be changed.", +"flatPath": "v2/{v2Id}/{v2Id1}/locations/{locationsId}/buckets/{bucketsId}", +"httpMethod": "PATCH", +"id": "logging.locations.buckets.patch", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. The full resource name of the bucket to update. \"projects/[PROJECT_ID]/locations/[LOCATION_ID]/buckets/[BUCKET_ID]\" \"organizations/[ORGANIZATION_ID]/locations/[LOCATION_ID]/buckets/[BUCKET_ID]\" \"billingAccounts/[BILLING_ACCOUNT_ID]/locations/[LOCATION_ID]/buckets/[BUCKET_ID]\" \"folders/[FOLDER_ID]/locations/[LOCATION_ID]/buckets/[BUCKET_ID]\" For example:\"projects/my-project/locations/global/buckets/my-bucket\"", +"location": "path", +"pattern": "^[^/]+/[^/]+/locations/[^/]+/buckets/[^/]+$", +"required": true, +"type": "string" +}, +"updateMask": { +"description": "Required. Field mask that specifies the fields in bucket that need an update. A bucket field will be overwritten if, and only if, it is in the update mask. name and output only fields cannot be updated.For a detailed FieldMask definition, see: https://developers.google.com/protocol-buffers/docs/reference/google.protobuf#google.protobuf.FieldMaskFor example: updateMask=retention_days", +"format": "google-fieldmask", +"location": "query", +"type": "string" +} +}, +"path": "v2/{+name}", +"request": { +"$ref": "LogBucket" +}, +"response": { +"$ref": "LogBucket" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/logging.admin" +] +}, +"undelete": { +"description": "Undeletes a log bucket. A bucket that has been deleted can be undeleted within the grace period of 7 days.", +"flatPath": "v2/{v2Id}/{v2Id1}/locations/{locationsId}/buckets/{bucketsId}:undelete", +"httpMethod": "POST", +"id": "logging.locations.buckets.undelete", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. The full resource name of the bucket to undelete. \"projects/[PROJECT_ID]/locations/[LOCATION_ID]/buckets/[BUCKET_ID]\" \"organizations/[ORGANIZATION_ID]/locations/[LOCATION_ID]/buckets/[BUCKET_ID]\" \"billingAccounts/[BILLING_ACCOUNT_ID]/locations/[LOCATION_ID]/buckets/[BUCKET_ID]\" \"folders/[FOLDER_ID]/locations/[LOCATION_ID]/buckets/[BUCKET_ID]\" For example:\"projects/my-project/locations/global/buckets/my-bucket\"", +"location": "path", +"pattern": "^[^/]+/[^/]+/locations/[^/]+/buckets/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v2/{+name}:undelete", +"request": { +"$ref": "UndeleteBucketRequest" +}, +"response": { +"$ref": "Empty" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/logging.admin" +] +}, +"updateAsync": { +"description": "Updates a log bucket asynchronously.If the bucket has a lifecycle_state of DELETE_REQUESTED, then FAILED_PRECONDITION will be returned.After a bucket has been created, the bucket's location cannot be changed.", +"flatPath": "v2/{v2Id}/{v2Id1}/locations/{locationsId}/buckets/{bucketsId}:updateAsync", +"httpMethod": "POST", +"id": "logging.locations.buckets.updateAsync", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. The full resource name of the bucket to update. \"projects/[PROJECT_ID]/locations/[LOCATION_ID]/buckets/[BUCKET_ID]\" \"organizations/[ORGANIZATION_ID]/locations/[LOCATION_ID]/buckets/[BUCKET_ID]\" \"billingAccounts/[BILLING_ACCOUNT_ID]/locations/[LOCATION_ID]/buckets/[BUCKET_ID]\" \"folders/[FOLDER_ID]/locations/[LOCATION_ID]/buckets/[BUCKET_ID]\" For example:\"projects/my-project/locations/global/buckets/my-bucket\"", +"location": "path", +"pattern": "^[^/]+/[^/]+/locations/[^/]+/buckets/[^/]+$", +"required": true, +"type": "string" +}, +"updateMask": { +"description": "Required. Field mask that specifies the fields in bucket that need an update. A bucket field will be overwritten if, and only if, it is in the update mask. name and output only fields cannot be updated.For a detailed FieldMask definition, see: https://developers.google.com/protocol-buffers/docs/reference/google.protobuf#google.protobuf.FieldMaskFor example: updateMask=retention_days", +"format": "google-fieldmask", +"location": "query", +"type": "string" +} +}, +"path": "v2/{+name}:updateAsync", +"request": { +"$ref": "LogBucket" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/logging.admin" +] +} +}, +"resources": { +"links": { +"methods": { +"create": { +"description": "Asynchronously creates a linked dataset in BigQuery which makes it possible to use BigQuery to read the logs stored in the log bucket. A log bucket may currently only contain one link.", +"flatPath": "v2/{v2Id}/{v2Id1}/locations/{locationsId}/buckets/{bucketsId}/links", +"httpMethod": "POST", +"id": "logging.locations.buckets.links.create", +"parameterOrder": [ +"parent" +], +"parameters": { +"linkId": { +"description": "Required. The ID to use for the link. The link_id can have up to 100 characters. A valid link_id must only have alphanumeric characters and underscores within it.", +"location": "query", +"type": "string" +}, +"parent": { +"description": "Required. The full resource name of the bucket to create a link for. \"projects/[PROJECT_ID]/locations/[LOCATION_ID]/buckets/[BUCKET_ID]\" \"organizations/[ORGANIZATION_ID]/locations/[LOCATION_ID]/buckets/[BUCKET_ID]\" \"billingAccounts/[BILLING_ACCOUNT_ID]/locations/[LOCATION_ID]/buckets/[BUCKET_ID]\" \"folders/[FOLDER_ID]/locations/[LOCATION_ID]/buckets/[BUCKET_ID]\" ", +"location": "path", +"pattern": "^[^/]+/[^/]+/locations/[^/]+/buckets/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v2/{+parent}/links", +"request": { +"$ref": "Link" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/logging.admin" +] +}, +"delete": { +"description": "Deletes a link. This will also delete the corresponding BigQuery linked dataset.", +"flatPath": "v2/{v2Id}/{v2Id1}/locations/{locationsId}/buckets/{bucketsId}/links/{linksId}", +"httpMethod": "DELETE", +"id": "logging.locations.buckets.links.delete", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. The full resource name of the link to delete. \"projects/[PROJECT_ID]/locations/[LOCATION_ID]/buckets/[BUCKET_ID]/links/[LINK_ID]\" \"organizations/[ORGANIZATION_ID]/locations/[LOCATION_ID]/buckets/[BUCKET_ID]/links/[LINK_ID]\" \"billingAccounts/[BILLING_ACCOUNT_ID]/locations/[LOCATION_ID]/buckets/[BUCKET_ID]/links/[LINK_ID]\" \"folders/[FOLDER_ID]/locations/[LOCATION_ID]/buckets/[BUCKET_ID]/links/[LINK_ID]\" ", +"location": "path", +"pattern": "^[^/]+/[^/]+/locations/[^/]+/buckets/[^/]+/links/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v2/{+name}", +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/logging.admin" +] +}, +"get": { +"description": "Gets a link.", +"flatPath": "v2/{v2Id}/{v2Id1}/locations/{locationsId}/buckets/{bucketsId}/links/{linksId}", +"httpMethod": "GET", +"id": "logging.locations.buckets.links.get", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. The resource name of the link: \"projects/[PROJECT_ID]/locations/[LOCATION_ID]/buckets/[BUCKET_ID]/links/[LINK_ID]\" \"organizations/[ORGANIZATION_ID]/locations/[LOCATION_ID]/buckets/[BUCKET_ID]/links/[LINK_ID]\" \"billingAccounts/[BILLING_ACCOUNT_ID]/locations/[LOCATION_ID]/buckets/[BUCKET_ID]/links/[LINK_ID]\" \"folders/[FOLDER_ID]/locations/[LOCATION_ID]/buckets/[BUCKET_ID]/links/[LINK_ID]\" ", +"location": "path", +"pattern": "^[^/]+/[^/]+/locations/[^/]+/buckets/[^/]+/links/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v2/{+name}", +"response": { +"$ref": "Link" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/cloud-platform.read-only", +"https://www.googleapis.com/auth/logging.admin", +"https://www.googleapis.com/auth/logging.read" +] +}, +"list": { +"description": "Lists links.", +"flatPath": "v2/{v2Id}/{v2Id1}/locations/{locationsId}/buckets/{bucketsId}/links", +"httpMethod": "GET", +"id": "logging.locations.buckets.links.list", +"parameterOrder": [ +"parent" +], +"parameters": { +"pageSize": { +"description": "Optional. The maximum number of results to return from this request.", +"format": "int32", +"location": "query", +"type": "integer" +}, +"pageToken": { +"description": "Optional. If present, then retrieve the next batch of results from the preceding call to this method. pageToken must be the value of nextPageToken from the previous response.", +"location": "query", +"type": "string" +}, +"parent": { +"description": "Required. The parent resource whose links are to be listed: \"projects/[PROJECT_ID]/locations/[LOCATION_ID]/buckets/[BUCKET_ID]\" \"organizations/[ORGANIZATION_ID]/locations/[LOCATION_ID]/buckets/[BUCKET_ID]\" \"billingAccounts/[BILLING_ACCOUNT_ID]/locations/[LOCATION_ID]/buckets/[BUCKET_ID]\" \"folders/[FOLDER_ID]/locations/[LOCATION_ID]/buckets/[BUCKET_ID]\" ", +"location": "path", +"pattern": "^[^/]+/[^/]+/locations/[^/]+/buckets/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v2/{+parent}/links", +"response": { +"$ref": "ListLinksResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/cloud-platform.read-only", +"https://www.googleapis.com/auth/logging.admin", +"https://www.googleapis.com/auth/logging.read" +] +} +} +}, +"views": { +"methods": { +"create": { +"description": "Creates a view over log entries in a log bucket. A bucket may contain a maximum of 30 views.", +"flatPath": "v2/{v2Id}/{v2Id1}/locations/{locationsId}/buckets/{bucketsId}/views", +"httpMethod": "POST", +"id": "logging.locations.buckets.views.create", +"parameterOrder": [ +"parent" +], +"parameters": { +"parent": { +"description": "Required. The bucket in which to create the view `\"projects/[PROJECT_ID]/locations/[LOCATION_ID]/buckets/[BUCKET_ID]\"` For example:\"projects/my-project/locations/global/buckets/my-bucket\"", +"location": "path", +"pattern": "^[^/]+/[^/]+/locations/[^/]+/buckets/[^/]+$", +"required": true, +"type": "string" +}, +"viewId": { +"description": "Required. A client-assigned identifier such as \"my-view\". Identifiers are limited to 100 characters and can include only letters, digits, underscores, hyphens, and periods.", +"location": "query", +"type": "string" +} +}, +"path": "v2/{+parent}/views", +"request": { +"$ref": "LogView" +}, +"response": { +"$ref": "LogView" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/logging.admin" +] +}, +"delete": { +"description": "Deletes a view on a log bucket. If an UNAVAILABLE error is returned, this indicates that system is not in a state where it can delete the view. If this occurs, please try again in a few minutes.", +"flatPath": "v2/{v2Id}/{v2Id1}/locations/{locationsId}/buckets/{bucketsId}/views/{viewsId}", +"httpMethod": "DELETE", +"id": "logging.locations.buckets.views.delete", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. The full resource name of the view to delete: \"projects/[PROJECT_ID]/locations/[LOCATION_ID]/buckets/[BUCKET_ID]/views/[VIEW_ID]\" For example:\"projects/my-project/locations/global/buckets/my-bucket/views/my-view\"", +"location": "path", +"pattern": "^[^/]+/[^/]+/locations/[^/]+/buckets/[^/]+/views/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v2/{+name}", +"response": { +"$ref": "Empty" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/logging.admin" +] +}, +"get": { +"description": "Gets a view on a log bucket.", +"flatPath": "v2/{v2Id}/{v2Id1}/locations/{locationsId}/buckets/{bucketsId}/views/{viewsId}", +"httpMethod": "GET", +"id": "logging.locations.buckets.views.get", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. The resource name of the policy: \"projects/[PROJECT_ID]/locations/[LOCATION_ID]/buckets/[BUCKET_ID]/views/[VIEW_ID]\" For example:\"projects/my-project/locations/global/buckets/my-bucket/views/my-view\"", +"location": "path", +"pattern": "^[^/]+/[^/]+/locations/[^/]+/buckets/[^/]+/views/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v2/{+name}", +"response": { +"$ref": "LogView" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/cloud-platform.read-only", +"https://www.googleapis.com/auth/logging.admin", +"https://www.googleapis.com/auth/logging.read" +] +}, +"getIamPolicy": { +"description": "Gets the access control policy for a resource. Returns an empty policy if the resource exists and does not have a policy set.", +"flatPath": "v2/{v2Id}/{v2Id1}/locations/{locationsId}/buckets/{bucketsId}/views/{viewsId}:getIamPolicy", +"httpMethod": "POST", +"id": "logging.locations.buckets.views.getIamPolicy", +"parameterOrder": [ +"resource" +], +"parameters": { +"resource": { +"description": "REQUIRED: The resource for which the policy is being requested. See Resource names (https://cloud.google.com/apis/design/resource_names) for the appropriate value for this field.", +"location": "path", +"pattern": "^[^/]+/[^/]+/locations/[^/]+/buckets/[^/]+/views/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v2/{+resource}:getIamPolicy", +"request": { +"$ref": "GetIamPolicyRequest" +}, +"response": { +"$ref": "Policy" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/cloud-platform.read-only", +"https://www.googleapis.com/auth/logging.admin", +"https://www.googleapis.com/auth/logging.read" +] +}, +"list": { +"description": "Lists views on a log bucket.", +"flatPath": "v2/{v2Id}/{v2Id1}/locations/{locationsId}/buckets/{bucketsId}/views", +"httpMethod": "GET", +"id": "logging.locations.buckets.views.list", +"parameterOrder": [ +"parent" +], +"parameters": { +"pageSize": { +"description": "Optional. The maximum number of results to return from this request.Non-positive values are ignored. The presence of nextPageToken in the response indicates that more results might be available.", +"format": "int32", +"location": "query", +"type": "integer" +}, +"pageToken": { +"description": "Optional. If present, then retrieve the next batch of results from the preceding call to this method. pageToken must be the value of nextPageToken from the previous response. The values of other method parameters should be identical to those in the previous call.", +"location": "query", +"type": "string" +}, +"parent": { +"description": "Required. The bucket whose views are to be listed: \"projects/[PROJECT_ID]/locations/[LOCATION_ID]/buckets/[BUCKET_ID]\" ", +"location": "path", +"pattern": "^[^/]+/[^/]+/locations/[^/]+/buckets/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v2/{+parent}/views", +"response": { +"$ref": "ListViewsResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/cloud-platform.read-only", +"https://www.googleapis.com/auth/logging.admin", +"https://www.googleapis.com/auth/logging.read" +] +}, +"patch": { +"description": "Updates a view on a log bucket. This method replaces the value of the filter field from the existing view with the corresponding value from the new view. If an UNAVAILABLE error is returned, this indicates that system is not in a state where it can update the view. If this occurs, please try again in a few minutes.", +"flatPath": "v2/{v2Id}/{v2Id1}/locations/{locationsId}/buckets/{bucketsId}/views/{viewsId}", +"httpMethod": "PATCH", +"id": "logging.locations.buckets.views.patch", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. The full resource name of the view to update \"projects/[PROJECT_ID]/locations/[LOCATION_ID]/buckets/[BUCKET_ID]/views/[VIEW_ID]\" For example:\"projects/my-project/locations/global/buckets/my-bucket/views/my-view\"", +"location": "path", +"pattern": "^[^/]+/[^/]+/locations/[^/]+/buckets/[^/]+/views/[^/]+$", +"required": true, +"type": "string" +}, +"updateMask": { +"description": "Optional. Field mask that specifies the fields in view that need an update. A field will be overwritten if, and only if, it is in the update mask. name and output only fields cannot be updated.For a detailed FieldMask definition, see https://developers.google.com/protocol-buffers/docs/reference/google.protobuf#google.protobuf.FieldMaskFor example: updateMask=filter", +"format": "google-fieldmask", +"location": "query", +"type": "string" +} +}, +"path": "v2/{+name}", +"request": { +"$ref": "LogView" +}, +"response": { +"$ref": "LogView" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/logging.admin" +] +}, +"setIamPolicy": { +"description": "Sets the access control policy on the specified resource. Replaces any existing policy.Can return NOT_FOUND, INVALID_ARGUMENT, and PERMISSION_DENIED errors.", +"flatPath": "v2/{v2Id}/{v2Id1}/locations/{locationsId}/buckets/{bucketsId}/views/{viewsId}:setIamPolicy", +"httpMethod": "POST", +"id": "logging.locations.buckets.views.setIamPolicy", +"parameterOrder": [ +"resource" +], +"parameters": { +"resource": { +"description": "REQUIRED: The resource for which the policy is being specified. See Resource names (https://cloud.google.com/apis/design/resource_names) for the appropriate value for this field.", +"location": "path", +"pattern": "^[^/]+/[^/]+/locations/[^/]+/buckets/[^/]+/views/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v2/{+resource}:setIamPolicy", +"request": { +"$ref": "SetIamPolicyRequest" +}, +"response": { +"$ref": "Policy" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/logging.admin" +] +}, +"testIamPermissions": { +"description": "Returns permissions that a caller has on the specified resource. If the resource does not exist, this will return an empty set of permissions, not a NOT_FOUND error.Note: This operation is designed to be used for building permission-aware UIs and command-line tools, not for authorization checking. This operation may \"fail open\" without warning.", +"flatPath": "v2/{v2Id}/{v2Id1}/locations/{locationsId}/buckets/{bucketsId}/views/{viewsId}:testIamPermissions", +"httpMethod": "POST", +"id": "logging.locations.buckets.views.testIamPermissions", +"parameterOrder": [ +"resource" +], +"parameters": { +"resource": { +"description": "REQUIRED: The resource for which the policy detail is being requested. See Resource names (https://cloud.google.com/apis/design/resource_names) for the appropriate value for this field.", +"location": "path", +"pattern": "^[^/]+/[^/]+/locations/[^/]+/buckets/[^/]+/views/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v2/{+resource}:testIamPermissions", +"request": { +"$ref": "TestIamPermissionsRequest" +}, +"response": { +"$ref": "TestIamPermissionsResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/cloud-platform.read-only", +"https://www.googleapis.com/auth/logging.admin", +"https://www.googleapis.com/auth/logging.read" +] +} +} +} +} +}, +"operations": { +"methods": { +"cancel": { +"description": "Starts asynchronous cancellation on a long-running operation. The server makes a best effort to cancel the operation, but success is not guaranteed. If the server doesn't support this method, it returns google.rpc.Code.UNIMPLEMENTED. Clients can use Operations.GetOperation or other methods to check whether the cancellation succeeded or whether the operation completed despite cancellation. On successful cancellation, the operation is not deleted; instead, it becomes an operation with an Operation.error value with a google.rpc.Status.code of 1, corresponding to Code.CANCELLED.", +"flatPath": "v2/{v2Id}/{v2Id1}/locations/{locationsId}/operations/{operationsId}:cancel", +"httpMethod": "POST", +"id": "logging.locations.operations.cancel", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "The name of the operation resource to be cancelled.", +"location": "path", +"pattern": "^[^/]+/[^/]+/locations/[^/]+/operations/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v2/{+name}:cancel", +"request": { +"$ref": "CancelOperationRequest" +}, +"response": { +"$ref": "Empty" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/logging.admin" +] +}, +"get": { +"description": "Gets the latest state of a long-running operation. Clients can use this method to poll the operation result at intervals as recommended by the API service.", +"flatPath": "v2/{v2Id}/{v2Id1}/locations/{locationsId}/operations/{operationsId}", +"httpMethod": "GET", +"id": "logging.locations.operations.get", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "The name of the operation resource.", +"location": "path", +"pattern": "^[^/]+/[^/]+/locations/[^/]+/operations/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v2/{+name}", +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/cloud-platform.read-only", +"https://www.googleapis.com/auth/logging.admin", +"https://www.googleapis.com/auth/logging.read" +] +}, +"list": { +"description": "Lists operations that match the specified filter in the request. If the server doesn't support this method, it returns UNIMPLEMENTED.", +"flatPath": "v2/{v2Id}/{v2Id1}/locations/{locationsId}/operations", +"httpMethod": "GET", +"id": "logging.locations.operations.list", +"parameterOrder": [ +"name" +], +"parameters": { +"filter": { +"description": "The standard list filter.", +"location": "query", +"type": "string" +}, +"name": { +"description": "The name of the operation's parent resource.", +"location": "path", +"pattern": "^[^/]+/[^/]+/locations/[^/]+$", +"required": true, +"type": "string" +}, +"pageSize": { +"description": "The standard list page size.", +"format": "int32", +"location": "query", +"type": "integer" +}, +"pageToken": { +"description": "The standard list page token.", +"location": "query", +"type": "string" +} +}, +"path": "v2/{+name}/operations", +"response": { +"$ref": "ListOperationsResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/cloud-platform.read-only", +"https://www.googleapis.com/auth/logging.admin", +"https://www.googleapis.com/auth/logging.read" +] +} +} +} +} +}, +"logs": { +"methods": { +"delete": { +"description": "Deletes all the log entries in a log for the _Default Log Bucket. The log reappears if it receives new entries. Log entries written shortly before the delete operation might not be deleted. Entries received after the delete operation with a timestamp before the operation will be deleted.", +"flatPath": "v2/{v2Id}/{v2Id1}/logs/{logsId}", +"httpMethod": "DELETE", +"id": "logging.logs.delete", +"parameterOrder": [ +"logName" +], +"parameters": { +"logName": { +"description": "Required. The resource name of the log to delete: projects/[PROJECT_ID]/logs/[LOG_ID] organizations/[ORGANIZATION_ID]/logs/[LOG_ID] billingAccounts/[BILLING_ACCOUNT_ID]/logs/[LOG_ID] folders/[FOLDER_ID]/logs/[LOG_ID][LOG_ID] must be URL-encoded. For example, \"projects/my-project-id/logs/syslog\", \"organizations/123/logs/cloudaudit.googleapis.com%2Factivity\".For more information about log names, see LogEntry.", +"location": "path", +"pattern": "^[^/]+/[^/]+/logs/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v2/{+logName}", +"response": { +"$ref": "Empty" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/logging.admin" +] +}, +"list": { +"description": "Lists the logs in projects, organizations, folders, or billing accounts. Only logs that have entries are listed.", +"flatPath": "v2/{v2Id}/{v2Id1}/logs", +"httpMethod": "GET", +"id": "logging.logs.list", +"parameterOrder": [ +"parent" +], +"parameters": { +"pageSize": { +"description": "Optional. The maximum number of results to return from this request. Non-positive values are ignored. The presence of nextPageToken in the response indicates that more results might be available.", +"format": "int32", +"location": "query", +"type": "integer" +}, +"pageToken": { +"description": "Optional. If present, then retrieve the next batch of results from the preceding call to this method. pageToken must be the value of nextPageToken from the previous response. The values of other method parameters should be identical to those in the previous call.", +"location": "query", +"type": "string" +}, +"parent": { +"description": "Required. The resource name to list logs for: projects/[PROJECT_ID] organizations/[ORGANIZATION_ID] billingAccounts/[BILLING_ACCOUNT_ID] folders/[FOLDER_ID]", +"location": "path", +"pattern": "^[^/]+/[^/]+$", +"required": true, +"type": "string" +}, +"resourceNames": { +"description": "Optional. List of resource names to list logs for: projects/[PROJECT_ID]/locations/[LOCATION_ID]/buckets/[BUCKET_ID]/views/[VIEW_ID] organizations/[ORGANIZATION_ID]/locations/[LOCATION_ID]/buckets/[BUCKET_ID]/views/[VIEW_ID] billingAccounts/[BILLING_ACCOUNT_ID]/locations/[LOCATION_ID]/buckets/[BUCKET_ID]/views/[VIEW_ID] folders/[FOLDER_ID]/locations/[LOCATION_ID]/buckets/[BUCKET_ID]/views/[VIEW_ID]To support legacy queries, it could also be: projects/[PROJECT_ID] organizations/[ORGANIZATION_ID] billingAccounts/[BILLING_ACCOUNT_ID] folders/[FOLDER_ID]The resource name in the parent field is added to this list.", +"location": "query", +"repeated": true, +"type": "string" +} +}, +"path": "v2/{+parent}/logs", +"response": { +"$ref": "ListLogsResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/cloud-platform.read-only", +"https://www.googleapis.com/auth/logging.admin", +"https://www.googleapis.com/auth/logging.read" +] +} +} +}, +"monitoredResourceDescriptors": { +"methods": { +"list": { +"description": "Lists the descriptors for monitored resource types used by Logging.", +"flatPath": "v2/monitoredResourceDescriptors", +"httpMethod": "GET", +"id": "logging.monitoredResourceDescriptors.list", +"parameterOrder": [], +"parameters": { +"pageSize": { +"description": "Optional. The maximum number of results to return from this request. Non-positive values are ignored. The presence of nextPageToken in the response indicates that more results might be available.", +"format": "int32", +"location": "query", +"type": "integer" +}, +"pageToken": { +"description": "Optional. If present, then retrieve the next batch of results from the preceding call to this method. pageToken must be the value of nextPageToken from the previous response. The values of other method parameters should be identical to those in the previous call.", +"location": "query", +"type": "string" +} +}, +"path": "v2/monitoredResourceDescriptors", +"response": { +"$ref": "ListMonitoredResourceDescriptorsResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/cloud-platform.read-only", +"https://www.googleapis.com/auth/logging.admin", +"https://www.googleapis.com/auth/logging.read" +] +} +} +}, +"organizations": { +"methods": { +"getCmekSettings": { +"description": "Gets the Logging CMEK settings for the given resource.Note: CMEK for the Log Router can be configured for Google Cloud projects, folders, organizations, and billing accounts. Once configured for an organization, it applies to all projects and folders in the Google Cloud organization.See Enabling CMEK for Log Router (https://cloud.google.com/logging/docs/routing/managed-encryption) for more information.", +"flatPath": "v2/organizations/{organizationsId}/cmekSettings", +"httpMethod": "GET", +"id": "logging.organizations.getCmekSettings", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. The resource for which to retrieve CMEK settings. \"projects/[PROJECT_ID]/cmekSettings\" \"organizations/[ORGANIZATION_ID]/cmekSettings\" \"billingAccounts/[BILLING_ACCOUNT_ID]/cmekSettings\" \"folders/[FOLDER_ID]/cmekSettings\" For example:\"organizations/12345/cmekSettings\"Note: CMEK for the Log Router can be configured for Google Cloud projects, folders, organizations, and billing accounts. Once configured for an organization, it applies to all projects and folders in the Google Cloud organization.", +"location": "path", +"pattern": "^organizations/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v2/{+name}/cmekSettings", +"response": { +"$ref": "CmekSettings" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/cloud-platform.read-only", +"https://www.googleapis.com/auth/logging.admin", +"https://www.googleapis.com/auth/logging.read" +] +}, +"getSettings": { +"description": "Gets the settings for the given resource.Note: Settings can be retrieved for Google Cloud projects, folders, organizations, and billing accounts.See View default resource settings for Logging (https://cloud.google.com/logging/docs/default-settings#view-org-settings) for more information.", +"flatPath": "v2/organizations/{organizationsId}/settings", +"httpMethod": "GET", +"id": "logging.organizations.getSettings", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. The resource for which to retrieve settings. \"projects/[PROJECT_ID]/settings\" \"organizations/[ORGANIZATION_ID]/settings\" \"billingAccounts/[BILLING_ACCOUNT_ID]/settings\" \"folders/[FOLDER_ID]/settings\" For example:\"organizations/12345/settings\"Note: Settings can be retrieved for Google Cloud projects, folders, organizations, and billing accounts.", +"location": "path", +"pattern": "^organizations/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v2/{+name}/settings", +"response": { +"$ref": "Settings" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/cloud-platform.read-only", +"https://www.googleapis.com/auth/logging.admin", +"https://www.googleapis.com/auth/logging.read" +] +}, +"updateCmekSettings": { +"description": "Updates the Log Router CMEK settings for the given resource.Note: CMEK for the Log Router can currently only be configured for Google Cloud organizations. Once configured, it applies to all projects and folders in the Google Cloud organization.UpdateCmekSettings fails when any of the following are true: The value of kms_key_name is invalid. The associated service account doesn't have the required roles/cloudkms.cryptoKeyEncrypterDecrypter role assigned for the key. Access to the key is disabled.See Enabling CMEK for Log Router (https://cloud.google.com/logging/docs/routing/managed-encryption) for more information.", +"flatPath": "v2/organizations/{organizationsId}/cmekSettings", +"httpMethod": "PATCH", +"id": "logging.organizations.updateCmekSettings", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. The resource name for the CMEK settings to update. \"projects/[PROJECT_ID]/cmekSettings\" \"organizations/[ORGANIZATION_ID]/cmekSettings\" \"billingAccounts/[BILLING_ACCOUNT_ID]/cmekSettings\" \"folders/[FOLDER_ID]/cmekSettings\" For example:\"organizations/12345/cmekSettings\"Note: CMEK for the Log Router can currently only be configured for Google Cloud organizations. Once configured, it applies to all projects and folders in the Google Cloud organization.", +"location": "path", +"pattern": "^organizations/[^/]+$", +"required": true, +"type": "string" +}, +"updateMask": { +"description": "Optional. Field mask identifying which fields from cmek_settings should be updated. A field will be overwritten if and only if it is in the update mask. Output only fields cannot be updated.See FieldMask for more information.For example: \"updateMask=kmsKeyName\"", +"format": "google-fieldmask", +"location": "query", +"type": "string" +} +}, +"path": "v2/{+name}/cmekSettings", +"request": { +"$ref": "CmekSettings" +}, +"response": { +"$ref": "CmekSettings" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/logging.admin" +] +}, +"updateSettings": { +"description": "Updates the settings for the given resource. This method applies to all feature configurations for organization and folders.UpdateSettings fails when any of the following are true: The value of storage_location either isn't supported by Logging or violates the location OrgPolicy. The default_sink_config field is set, but it has an unspecified filter write mode. The value of kms_key_name is invalid. The associated service account doesn't have the required roles/cloudkms.cryptoKeyEncrypterDecrypter role assigned for the key. Access to the key is disabled.See Configure default settings for organizations and folders (https://cloud.google.com/logging/docs/default-settings) for more information.", +"flatPath": "v2/organizations/{organizationsId}/settings", +"httpMethod": "PATCH", +"id": "logging.organizations.updateSettings", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. The resource name for the settings to update. \"organizations/[ORGANIZATION_ID]/settings\" \"folders/[FOLDER_ID]/settings\" For example:\"organizations/12345/settings\"", +"location": "path", +"pattern": "^organizations/[^/]+$", +"required": true, +"type": "string" +}, +"updateMask": { +"description": "Optional. Field mask identifying which fields from settings should be updated. A field will be overwritten if and only if it is in the update mask. Output only fields cannot be updated.See FieldMask for more information.For example: \"updateMask=kmsKeyName\"", +"format": "google-fieldmask", +"location": "query", +"type": "string" +} +}, +"path": "v2/{+name}/settings", +"request": { +"$ref": "Settings" +}, +"response": { +"$ref": "Settings" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/logging.admin" +] +} +}, +"resources": { +"exclusions": { +"methods": { +"create": { +"description": "Creates a new exclusion in the _Default sink in a specified parent resource. Only log entries belonging to that resource can be excluded. You can have up to 10 exclusions in a resource.", +"flatPath": "v2/organizations/{organizationsId}/exclusions", +"httpMethod": "POST", +"id": "logging.organizations.exclusions.create", +"parameterOrder": [ +"parent" +], +"parameters": { +"parent": { +"description": "Required. The parent resource in which to create the exclusion: \"projects/[PROJECT_ID]\" \"organizations/[ORGANIZATION_ID]\" \"billingAccounts/[BILLING_ACCOUNT_ID]\" \"folders/[FOLDER_ID]\" For examples:\"projects/my-logging-project\" \"organizations/123456789\"", +"location": "path", +"pattern": "^organizations/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v2/{+parent}/exclusions", +"request": { +"$ref": "LogExclusion" +}, +"response": { +"$ref": "LogExclusion" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/logging.admin" +] +}, +"delete": { +"description": "Deletes an exclusion in the _Default sink.", +"flatPath": "v2/organizations/{organizationsId}/exclusions/{exclusionsId}", +"httpMethod": "DELETE", +"id": "logging.organizations.exclusions.delete", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. The resource name of an existing exclusion to delete: \"projects/[PROJECT_ID]/exclusions/[EXCLUSION_ID]\" \"organizations/[ORGANIZATION_ID]/exclusions/[EXCLUSION_ID]\" \"billingAccounts/[BILLING_ACCOUNT_ID]/exclusions/[EXCLUSION_ID]\" \"folders/[FOLDER_ID]/exclusions/[EXCLUSION_ID]\" For example:\"projects/my-project/exclusions/my-exclusion\"", +"location": "path", +"pattern": "^organizations/[^/]+/exclusions/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v2/{+name}", +"response": { +"$ref": "Empty" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/logging.admin" +] +}, +"get": { +"description": "Gets the description of an exclusion in the _Default sink.", +"flatPath": "v2/organizations/{organizationsId}/exclusions/{exclusionsId}", +"httpMethod": "GET", +"id": "logging.organizations.exclusions.get", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. The resource name of an existing exclusion: \"projects/[PROJECT_ID]/exclusions/[EXCLUSION_ID]\" \"organizations/[ORGANIZATION_ID]/exclusions/[EXCLUSION_ID]\" \"billingAccounts/[BILLING_ACCOUNT_ID]/exclusions/[EXCLUSION_ID]\" \"folders/[FOLDER_ID]/exclusions/[EXCLUSION_ID]\" For example:\"projects/my-project/exclusions/my-exclusion\"", +"location": "path", +"pattern": "^organizations/[^/]+/exclusions/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v2/{+name}", +"response": { +"$ref": "LogExclusion" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/cloud-platform.read-only", +"https://www.googleapis.com/auth/logging.admin", +"https://www.googleapis.com/auth/logging.read" +] +}, +"list": { +"description": "Lists all the exclusions on the _Default sink in a parent resource.", +"flatPath": "v2/organizations/{organizationsId}/exclusions", +"httpMethod": "GET", +"id": "logging.organizations.exclusions.list", +"parameterOrder": [ +"parent" +], +"parameters": { +"pageSize": { +"description": "Optional. The maximum number of results to return from this request. Non-positive values are ignored. The presence of nextPageToken in the response indicates that more results might be available.", +"format": "int32", +"location": "query", +"type": "integer" +}, +"pageToken": { +"description": "Optional. If present, then retrieve the next batch of results from the preceding call to this method. pageToken must be the value of nextPageToken from the previous response. The values of other method parameters should be identical to those in the previous call.", +"location": "query", +"type": "string" +}, +"parent": { +"description": "Required. The parent resource whose exclusions are to be listed. \"projects/[PROJECT_ID]\" \"organizations/[ORGANIZATION_ID]\" \"billingAccounts/[BILLING_ACCOUNT_ID]\" \"folders/[FOLDER_ID]\" ", +"location": "path", +"pattern": "^organizations/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v2/{+parent}/exclusions", +"response": { +"$ref": "ListExclusionsResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/cloud-platform.read-only", +"https://www.googleapis.com/auth/logging.admin", +"https://www.googleapis.com/auth/logging.read" +] +}, +"patch": { +"description": "Changes one or more properties of an existing exclusion in the _Default sink.", +"flatPath": "v2/organizations/{organizationsId}/exclusions/{exclusionsId}", +"httpMethod": "PATCH", +"id": "logging.organizations.exclusions.patch", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. The resource name of the exclusion to update: \"projects/[PROJECT_ID]/exclusions/[EXCLUSION_ID]\" \"organizations/[ORGANIZATION_ID]/exclusions/[EXCLUSION_ID]\" \"billingAccounts/[BILLING_ACCOUNT_ID]/exclusions/[EXCLUSION_ID]\" \"folders/[FOLDER_ID]/exclusions/[EXCLUSION_ID]\" For example:\"projects/my-project/exclusions/my-exclusion\"", +"location": "path", +"pattern": "^organizations/[^/]+/exclusions/[^/]+$", +"required": true, +"type": "string" +}, +"updateMask": { +"description": "Required. A non-empty list of fields to change in the existing exclusion. New values for the fields are taken from the corresponding fields in the LogExclusion included in this request. Fields not mentioned in update_mask are not changed and are ignored in the request.For example, to change the filter and description of an exclusion, specify an update_mask of \"filter,description\".", +"format": "google-fieldmask", +"location": "query", +"type": "string" +} +}, +"path": "v2/{+name}", +"request": { +"$ref": "LogExclusion" +}, +"response": { +"$ref": "LogExclusion" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/logging.admin" +] +} +} +}, +"locations": { +"methods": { +"get": { +"description": "Gets information about a location.", +"flatPath": "v2/organizations/{organizationsId}/locations/{locationsId}", +"httpMethod": "GET", +"id": "logging.organizations.locations.get", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Resource name for the location.", +"location": "path", +"pattern": "^organizations/[^/]+/locations/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v2/{+name}", +"response": { +"$ref": "Location" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/cloud-platform.read-only", +"https://www.googleapis.com/auth/logging.admin", +"https://www.googleapis.com/auth/logging.read" +] +}, +"list": { +"description": "Lists information about the supported locations for this service.", +"flatPath": "v2/organizations/{organizationsId}/locations", +"httpMethod": "GET", +"id": "logging.organizations.locations.list", +"parameterOrder": [ +"name" +], +"parameters": { +"filter": { +"description": "A filter to narrow down results to a preferred subset. The filtering language accepts strings like \"displayName=tokyo\", and is documented in more detail in AIP-160 (https://google.aip.dev/160).", +"location": "query", +"type": "string" +}, +"name": { +"description": "The resource that owns the locations collection, if applicable.", +"location": "path", +"pattern": "^organizations/[^/]+$", +"required": true, +"type": "string" +}, +"pageSize": { +"description": "The maximum number of results to return. If not set, the service selects a default.", +"format": "int32", +"location": "query", +"type": "integer" +}, +"pageToken": { +"description": "A page token received from the next_page_token field in the response. Send that page token to receive the subsequent page.", +"location": "query", +"type": "string" +} +}, +"path": "v2/{+name}/locations", +"response": { +"$ref": "ListLocationsResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/cloud-platform.read-only", +"https://www.googleapis.com/auth/logging.admin", +"https://www.googleapis.com/auth/logging.read" +] +} +}, +"resources": { +"buckets": { +"methods": { +"create": { +"description": "Creates a log bucket that can be used to store log entries. After a bucket has been created, the bucket's location cannot be changed.", +"flatPath": "v2/organizations/{organizationsId}/locations/{locationsId}/buckets", +"httpMethod": "POST", +"id": "logging.organizations.locations.buckets.create", +"parameterOrder": [ +"parent" +], +"parameters": { +"bucketId": { +"description": "Required. A client-assigned identifier such as \"my-bucket\". Identifiers are limited to 100 characters and can include only letters, digits, underscores, hyphens, and periods. Bucket identifiers must start with an alphanumeric character.", +"location": "query", +"type": "string" +}, +"parent": { +"description": "Required. The resource in which to create the log bucket: \"projects/[PROJECT_ID]/locations/[LOCATION_ID]\" For example:\"projects/my-project/locations/global\"", +"location": "path", +"pattern": "^organizations/[^/]+/locations/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v2/{+parent}/buckets", +"request": { +"$ref": "LogBucket" +}, +"response": { +"$ref": "LogBucket" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/logging.admin" +] +}, +"createAsync": { +"description": "Creates a log bucket asynchronously that can be used to store log entries.After a bucket has been created, the bucket's location cannot be changed.", +"flatPath": "v2/organizations/{organizationsId}/locations/{locationsId}/buckets:createAsync", +"httpMethod": "POST", +"id": "logging.organizations.locations.buckets.createAsync", +"parameterOrder": [ +"parent" +], +"parameters": { +"bucketId": { +"description": "Required. A client-assigned identifier such as \"my-bucket\". Identifiers are limited to 100 characters and can include only letters, digits, underscores, hyphens, and periods. Bucket identifiers must start with an alphanumeric character.", +"location": "query", +"type": "string" +}, +"parent": { +"description": "Required. The resource in which to create the log bucket: \"projects/[PROJECT_ID]/locations/[LOCATION_ID]\" For example:\"projects/my-project/locations/global\"", +"location": "path", +"pattern": "^organizations/[^/]+/locations/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v2/{+parent}/buckets:createAsync", +"request": { +"$ref": "LogBucket" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/logging.admin" +] +}, +"delete": { +"description": "Deletes a log bucket.Changes the bucket's lifecycle_state to the DELETE_REQUESTED state. After 7 days, the bucket will be purged and all log entries in the bucket will be permanently deleted.", +"flatPath": "v2/organizations/{organizationsId}/locations/{locationsId}/buckets/{bucketsId}", +"httpMethod": "DELETE", +"id": "logging.organizations.locations.buckets.delete", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. The full resource name of the bucket to delete. \"projects/[PROJECT_ID]/locations/[LOCATION_ID]/buckets/[BUCKET_ID]\" \"organizations/[ORGANIZATION_ID]/locations/[LOCATION_ID]/buckets/[BUCKET_ID]\" \"billingAccounts/[BILLING_ACCOUNT_ID]/locations/[LOCATION_ID]/buckets/[BUCKET_ID]\" \"folders/[FOLDER_ID]/locations/[LOCATION_ID]/buckets/[BUCKET_ID]\" For example:\"projects/my-project/locations/global/buckets/my-bucket\"", +"location": "path", +"pattern": "^organizations/[^/]+/locations/[^/]+/buckets/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v2/{+name}", +"response": { +"$ref": "Empty" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/logging.admin" +] +}, +"get": { +"description": "Gets a log bucket.", +"flatPath": "v2/organizations/{organizationsId}/locations/{locationsId}/buckets/{bucketsId}", +"httpMethod": "GET", +"id": "logging.organizations.locations.buckets.get", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. The resource name of the bucket: \"projects/[PROJECT_ID]/locations/[LOCATION_ID]/buckets/[BUCKET_ID]\" \"organizations/[ORGANIZATION_ID]/locations/[LOCATION_ID]/buckets/[BUCKET_ID]\" \"billingAccounts/[BILLING_ACCOUNT_ID]/locations/[LOCATION_ID]/buckets/[BUCKET_ID]\" \"folders/[FOLDER_ID]/locations/[LOCATION_ID]/buckets/[BUCKET_ID]\" For example:\"projects/my-project/locations/global/buckets/my-bucket\"", +"location": "path", +"pattern": "^organizations/[^/]+/locations/[^/]+/buckets/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v2/{+name}", +"response": { +"$ref": "LogBucket" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/cloud-platform.read-only", +"https://www.googleapis.com/auth/logging.admin", +"https://www.googleapis.com/auth/logging.read" +] +}, +"list": { +"description": "Lists log buckets.", +"flatPath": "v2/organizations/{organizationsId}/locations/{locationsId}/buckets", +"httpMethod": "GET", +"id": "logging.organizations.locations.buckets.list", +"parameterOrder": [ +"parent" +], +"parameters": { +"pageSize": { +"description": "Optional. The maximum number of results to return from this request. Non-positive values are ignored. The presence of nextPageToken in the response indicates that more results might be available.", +"format": "int32", +"location": "query", +"type": "integer" +}, +"pageToken": { +"description": "Optional. If present, then retrieve the next batch of results from the preceding call to this method. pageToken must be the value of nextPageToken from the previous response. The values of other method parameters should be identical to those in the previous call.", +"location": "query", +"type": "string" +}, +"parent": { +"description": "Required. The parent resource whose buckets are to be listed: \"projects/[PROJECT_ID]/locations/[LOCATION_ID]\" \"organizations/[ORGANIZATION_ID]/locations/[LOCATION_ID]\" \"billingAccounts/[BILLING_ACCOUNT_ID]/locations/[LOCATION_ID]\" \"folders/[FOLDER_ID]/locations/[LOCATION_ID]\" Note: The locations portion of the resource must be specified, but supplying the character - in place of LOCATION_ID will return all buckets.", +"location": "path", +"pattern": "^organizations/[^/]+/locations/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v2/{+parent}/buckets", +"response": { +"$ref": "ListBucketsResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/cloud-platform.read-only", +"https://www.googleapis.com/auth/logging.admin", +"https://www.googleapis.com/auth/logging.read" +] +}, +"patch": { +"description": "Updates a log bucket.If the bucket has a lifecycle_state of DELETE_REQUESTED, then FAILED_PRECONDITION will be returned.After a bucket has been created, the bucket's location cannot be changed.", +"flatPath": "v2/organizations/{organizationsId}/locations/{locationsId}/buckets/{bucketsId}", +"httpMethod": "PATCH", +"id": "logging.organizations.locations.buckets.patch", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. The full resource name of the bucket to update. \"projects/[PROJECT_ID]/locations/[LOCATION_ID]/buckets/[BUCKET_ID]\" \"organizations/[ORGANIZATION_ID]/locations/[LOCATION_ID]/buckets/[BUCKET_ID]\" \"billingAccounts/[BILLING_ACCOUNT_ID]/locations/[LOCATION_ID]/buckets/[BUCKET_ID]\" \"folders/[FOLDER_ID]/locations/[LOCATION_ID]/buckets/[BUCKET_ID]\" For example:\"projects/my-project/locations/global/buckets/my-bucket\"", +"location": "path", +"pattern": "^organizations/[^/]+/locations/[^/]+/buckets/[^/]+$", +"required": true, +"type": "string" +}, +"updateMask": { +"description": "Required. Field mask that specifies the fields in bucket that need an update. A bucket field will be overwritten if, and only if, it is in the update mask. name and output only fields cannot be updated.For a detailed FieldMask definition, see: https://developers.google.com/protocol-buffers/docs/reference/google.protobuf#google.protobuf.FieldMaskFor example: updateMask=retention_days", +"format": "google-fieldmask", +"location": "query", +"type": "string" +} +}, +"path": "v2/{+name}", +"request": { +"$ref": "LogBucket" +}, +"response": { +"$ref": "LogBucket" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/logging.admin" +] +}, +"undelete": { +"description": "Undeletes a log bucket. A bucket that has been deleted can be undeleted within the grace period of 7 days.", +"flatPath": "v2/organizations/{organizationsId}/locations/{locationsId}/buckets/{bucketsId}:undelete", +"httpMethod": "POST", +"id": "logging.organizations.locations.buckets.undelete", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. The full resource name of the bucket to undelete. \"projects/[PROJECT_ID]/locations/[LOCATION_ID]/buckets/[BUCKET_ID]\" \"organizations/[ORGANIZATION_ID]/locations/[LOCATION_ID]/buckets/[BUCKET_ID]\" \"billingAccounts/[BILLING_ACCOUNT_ID]/locations/[LOCATION_ID]/buckets/[BUCKET_ID]\" \"folders/[FOLDER_ID]/locations/[LOCATION_ID]/buckets/[BUCKET_ID]\" For example:\"projects/my-project/locations/global/buckets/my-bucket\"", +"location": "path", +"pattern": "^organizations/[^/]+/locations/[^/]+/buckets/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v2/{+name}:undelete", +"request": { +"$ref": "UndeleteBucketRequest" +}, +"response": { +"$ref": "Empty" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/logging.admin" +] +}, +"updateAsync": { +"description": "Updates a log bucket asynchronously.If the bucket has a lifecycle_state of DELETE_REQUESTED, then FAILED_PRECONDITION will be returned.After a bucket has been created, the bucket's location cannot be changed.", +"flatPath": "v2/organizations/{organizationsId}/locations/{locationsId}/buckets/{bucketsId}:updateAsync", +"httpMethod": "POST", +"id": "logging.organizations.locations.buckets.updateAsync", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. The full resource name of the bucket to update. \"projects/[PROJECT_ID]/locations/[LOCATION_ID]/buckets/[BUCKET_ID]\" \"organizations/[ORGANIZATION_ID]/locations/[LOCATION_ID]/buckets/[BUCKET_ID]\" \"billingAccounts/[BILLING_ACCOUNT_ID]/locations/[LOCATION_ID]/buckets/[BUCKET_ID]\" \"folders/[FOLDER_ID]/locations/[LOCATION_ID]/buckets/[BUCKET_ID]\" For example:\"projects/my-project/locations/global/buckets/my-bucket\"", +"location": "path", +"pattern": "^organizations/[^/]+/locations/[^/]+/buckets/[^/]+$", +"required": true, +"type": "string" +}, +"updateMask": { +"description": "Required. Field mask that specifies the fields in bucket that need an update. A bucket field will be overwritten if, and only if, it is in the update mask. name and output only fields cannot be updated.For a detailed FieldMask definition, see: https://developers.google.com/protocol-buffers/docs/reference/google.protobuf#google.protobuf.FieldMaskFor example: updateMask=retention_days", +"format": "google-fieldmask", +"location": "query", +"type": "string" +} +}, +"path": "v2/{+name}:updateAsync", +"request": { +"$ref": "LogBucket" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/logging.admin" +] +} +}, +"resources": { +"links": { +"methods": { +"create": { +"description": "Asynchronously creates a linked dataset in BigQuery which makes it possible to use BigQuery to read the logs stored in the log bucket. A log bucket may currently only contain one link.", +"flatPath": "v2/organizations/{organizationsId}/locations/{locationsId}/buckets/{bucketsId}/links", +"httpMethod": "POST", +"id": "logging.organizations.locations.buckets.links.create", +"parameterOrder": [ +"parent" +], +"parameters": { +"linkId": { +"description": "Required. The ID to use for the link. The link_id can have up to 100 characters. A valid link_id must only have alphanumeric characters and underscores within it.", +"location": "query", +"type": "string" +}, +"parent": { +"description": "Required. The full resource name of the bucket to create a link for. \"projects/[PROJECT_ID]/locations/[LOCATION_ID]/buckets/[BUCKET_ID]\" \"organizations/[ORGANIZATION_ID]/locations/[LOCATION_ID]/buckets/[BUCKET_ID]\" \"billingAccounts/[BILLING_ACCOUNT_ID]/locations/[LOCATION_ID]/buckets/[BUCKET_ID]\" \"folders/[FOLDER_ID]/locations/[LOCATION_ID]/buckets/[BUCKET_ID]\" ", +"location": "path", +"pattern": "^organizations/[^/]+/locations/[^/]+/buckets/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v2/{+parent}/links", +"request": { +"$ref": "Link" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/logging.admin" +] +}, +"delete": { +"description": "Deletes a link. This will also delete the corresponding BigQuery linked dataset.", +"flatPath": "v2/organizations/{organizationsId}/locations/{locationsId}/buckets/{bucketsId}/links/{linksId}", +"httpMethod": "DELETE", +"id": "logging.organizations.locations.buckets.links.delete", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. The full resource name of the link to delete. \"projects/[PROJECT_ID]/locations/[LOCATION_ID]/buckets/[BUCKET_ID]/links/[LINK_ID]\" \"organizations/[ORGANIZATION_ID]/locations/[LOCATION_ID]/buckets/[BUCKET_ID]/links/[LINK_ID]\" \"billingAccounts/[BILLING_ACCOUNT_ID]/locations/[LOCATION_ID]/buckets/[BUCKET_ID]/links/[LINK_ID]\" \"folders/[FOLDER_ID]/locations/[LOCATION_ID]/buckets/[BUCKET_ID]/links/[LINK_ID]\" ", +"location": "path", +"pattern": "^organizations/[^/]+/locations/[^/]+/buckets/[^/]+/links/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v2/{+name}", +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/logging.admin" +] +}, +"get": { +"description": "Gets a link.", +"flatPath": "v2/organizations/{organizationsId}/locations/{locationsId}/buckets/{bucketsId}/links/{linksId}", +"httpMethod": "GET", +"id": "logging.organizations.locations.buckets.links.get", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. The resource name of the link: \"projects/[PROJECT_ID]/locations/[LOCATION_ID]/buckets/[BUCKET_ID]/links/[LINK_ID]\" \"organizations/[ORGANIZATION_ID]/locations/[LOCATION_ID]/buckets/[BUCKET_ID]/links/[LINK_ID]\" \"billingAccounts/[BILLING_ACCOUNT_ID]/locations/[LOCATION_ID]/buckets/[BUCKET_ID]/links/[LINK_ID]\" \"folders/[FOLDER_ID]/locations/[LOCATION_ID]/buckets/[BUCKET_ID]/links/[LINK_ID]\" ", +"location": "path", +"pattern": "^organizations/[^/]+/locations/[^/]+/buckets/[^/]+/links/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v2/{+name}", +"response": { +"$ref": "Link" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/cloud-platform.read-only", +"https://www.googleapis.com/auth/logging.admin", +"https://www.googleapis.com/auth/logging.read" +] +}, +"list": { +"description": "Lists links.", +"flatPath": "v2/organizations/{organizationsId}/locations/{locationsId}/buckets/{bucketsId}/links", +"httpMethod": "GET", +"id": "logging.organizations.locations.buckets.links.list", +"parameterOrder": [ +"parent" +], +"parameters": { +"pageSize": { +"description": "Optional. The maximum number of results to return from this request.", +"format": "int32", +"location": "query", +"type": "integer" +}, +"pageToken": { +"description": "Optional. If present, then retrieve the next batch of results from the preceding call to this method. pageToken must be the value of nextPageToken from the previous response.", +"location": "query", +"type": "string" +}, +"parent": { +"description": "Required. The parent resource whose links are to be listed: \"projects/[PROJECT_ID]/locations/[LOCATION_ID]/buckets/[BUCKET_ID]\" \"organizations/[ORGANIZATION_ID]/locations/[LOCATION_ID]/buckets/[BUCKET_ID]\" \"billingAccounts/[BILLING_ACCOUNT_ID]/locations/[LOCATION_ID]/buckets/[BUCKET_ID]\" \"folders/[FOLDER_ID]/locations/[LOCATION_ID]/buckets/[BUCKET_ID]\" ", +"location": "path", +"pattern": "^organizations/[^/]+/locations/[^/]+/buckets/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v2/{+parent}/links", +"response": { +"$ref": "ListLinksResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/cloud-platform.read-only", +"https://www.googleapis.com/auth/logging.admin", +"https://www.googleapis.com/auth/logging.read" +] +} +} +}, +"views": { +"methods": { +"create": { +"description": "Creates a view over log entries in a log bucket. A bucket may contain a maximum of 30 views.", +"flatPath": "v2/organizations/{organizationsId}/locations/{locationsId}/buckets/{bucketsId}/views", +"httpMethod": "POST", +"id": "logging.organizations.locations.buckets.views.create", +"parameterOrder": [ +"parent" +], +"parameters": { +"parent": { +"description": "Required. The bucket in which to create the view `\"projects/[PROJECT_ID]/locations/[LOCATION_ID]/buckets/[BUCKET_ID]\"` For example:\"projects/my-project/locations/global/buckets/my-bucket\"", +"location": "path", +"pattern": "^organizations/[^/]+/locations/[^/]+/buckets/[^/]+$", +"required": true, +"type": "string" +}, +"viewId": { +"description": "Required. A client-assigned identifier such as \"my-view\". Identifiers are limited to 100 characters and can include only letters, digits, underscores, hyphens, and periods.", +"location": "query", +"type": "string" +} +}, +"path": "v2/{+parent}/views", +"request": { +"$ref": "LogView" +}, +"response": { +"$ref": "LogView" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/logging.admin" +] +}, +"delete": { +"description": "Deletes a view on a log bucket. If an UNAVAILABLE error is returned, this indicates that system is not in a state where it can delete the view. If this occurs, please try again in a few minutes.", +"flatPath": "v2/organizations/{organizationsId}/locations/{locationsId}/buckets/{bucketsId}/views/{viewsId}", +"httpMethod": "DELETE", +"id": "logging.organizations.locations.buckets.views.delete", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. The full resource name of the view to delete: \"projects/[PROJECT_ID]/locations/[LOCATION_ID]/buckets/[BUCKET_ID]/views/[VIEW_ID]\" For example:\"projects/my-project/locations/global/buckets/my-bucket/views/my-view\"", +"location": "path", +"pattern": "^organizations/[^/]+/locations/[^/]+/buckets/[^/]+/views/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v2/{+name}", +"response": { +"$ref": "Empty" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/logging.admin" +] +}, +"get": { +"description": "Gets a view on a log bucket.", +"flatPath": "v2/organizations/{organizationsId}/locations/{locationsId}/buckets/{bucketsId}/views/{viewsId}", +"httpMethod": "GET", +"id": "logging.organizations.locations.buckets.views.get", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. The resource name of the policy: \"projects/[PROJECT_ID]/locations/[LOCATION_ID]/buckets/[BUCKET_ID]/views/[VIEW_ID]\" For example:\"projects/my-project/locations/global/buckets/my-bucket/views/my-view\"", +"location": "path", +"pattern": "^organizations/[^/]+/locations/[^/]+/buckets/[^/]+/views/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v2/{+name}", +"response": { +"$ref": "LogView" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/cloud-platform.read-only", +"https://www.googleapis.com/auth/logging.admin", +"https://www.googleapis.com/auth/logging.read" +] +}, +"getIamPolicy": { +"description": "Gets the access control policy for a resource. Returns an empty policy if the resource exists and does not have a policy set.", +"flatPath": "v2/organizations/{organizationsId}/locations/{locationsId}/buckets/{bucketsId}/views/{viewsId}:getIamPolicy", +"httpMethod": "POST", +"id": "logging.organizations.locations.buckets.views.getIamPolicy", +"parameterOrder": [ +"resource" +], +"parameters": { +"resource": { +"description": "REQUIRED: The resource for which the policy is being requested. See Resource names (https://cloud.google.com/apis/design/resource_names) for the appropriate value for this field.", +"location": "path", +"pattern": "^organizations/[^/]+/locations/[^/]+/buckets/[^/]+/views/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v2/{+resource}:getIamPolicy", +"request": { +"$ref": "GetIamPolicyRequest" +}, +"response": { +"$ref": "Policy" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/cloud-platform.read-only", +"https://www.googleapis.com/auth/logging.admin", +"https://www.googleapis.com/auth/logging.read" +] +}, +"list": { +"description": "Lists views on a log bucket.", +"flatPath": "v2/organizations/{organizationsId}/locations/{locationsId}/buckets/{bucketsId}/views", +"httpMethod": "GET", +"id": "logging.organizations.locations.buckets.views.list", +"parameterOrder": [ +"parent" +], +"parameters": { +"pageSize": { +"description": "Optional. The maximum number of results to return from this request.Non-positive values are ignored. The presence of nextPageToken in the response indicates that more results might be available.", +"format": "int32", +"location": "query", +"type": "integer" +}, +"pageToken": { +"description": "Optional. If present, then retrieve the next batch of results from the preceding call to this method. pageToken must be the value of nextPageToken from the previous response. The values of other method parameters should be identical to those in the previous call.", +"location": "query", +"type": "string" +}, +"parent": { +"description": "Required. The bucket whose views are to be listed: \"projects/[PROJECT_ID]/locations/[LOCATION_ID]/buckets/[BUCKET_ID]\" ", +"location": "path", +"pattern": "^organizations/[^/]+/locations/[^/]+/buckets/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v2/{+parent}/views", +"response": { +"$ref": "ListViewsResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/cloud-platform.read-only", +"https://www.googleapis.com/auth/logging.admin", +"https://www.googleapis.com/auth/logging.read" +] +}, +"patch": { +"description": "Updates a view on a log bucket. This method replaces the value of the filter field from the existing view with the corresponding value from the new view. If an UNAVAILABLE error is returned, this indicates that system is not in a state where it can update the view. If this occurs, please try again in a few minutes.", +"flatPath": "v2/organizations/{organizationsId}/locations/{locationsId}/buckets/{bucketsId}/views/{viewsId}", +"httpMethod": "PATCH", +"id": "logging.organizations.locations.buckets.views.patch", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. The full resource name of the view to update \"projects/[PROJECT_ID]/locations/[LOCATION_ID]/buckets/[BUCKET_ID]/views/[VIEW_ID]\" For example:\"projects/my-project/locations/global/buckets/my-bucket/views/my-view\"", +"location": "path", +"pattern": "^organizations/[^/]+/locations/[^/]+/buckets/[^/]+/views/[^/]+$", +"required": true, +"type": "string" +}, +"updateMask": { +"description": "Optional. Field mask that specifies the fields in view that need an update. A field will be overwritten if, and only if, it is in the update mask. name and output only fields cannot be updated.For a detailed FieldMask definition, see https://developers.google.com/protocol-buffers/docs/reference/google.protobuf#google.protobuf.FieldMaskFor example: updateMask=filter", +"format": "google-fieldmask", +"location": "query", +"type": "string" +} +}, +"path": "v2/{+name}", +"request": { +"$ref": "LogView" +}, +"response": { +"$ref": "LogView" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/logging.admin" +] +}, +"setIamPolicy": { +"description": "Sets the access control policy on the specified resource. Replaces any existing policy.Can return NOT_FOUND, INVALID_ARGUMENT, and PERMISSION_DENIED errors.", +"flatPath": "v2/organizations/{organizationsId}/locations/{locationsId}/buckets/{bucketsId}/views/{viewsId}:setIamPolicy", +"httpMethod": "POST", +"id": "logging.organizations.locations.buckets.views.setIamPolicy", +"parameterOrder": [ +"resource" +], +"parameters": { +"resource": { +"description": "REQUIRED: The resource for which the policy is being specified. See Resource names (https://cloud.google.com/apis/design/resource_names) for the appropriate value for this field.", +"location": "path", +"pattern": "^organizations/[^/]+/locations/[^/]+/buckets/[^/]+/views/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v2/{+resource}:setIamPolicy", +"request": { +"$ref": "SetIamPolicyRequest" +}, +"response": { +"$ref": "Policy" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/logging.admin" +] +}, +"testIamPermissions": { +"description": "Returns permissions that a caller has on the specified resource. If the resource does not exist, this will return an empty set of permissions, not a NOT_FOUND error.Note: This operation is designed to be used for building permission-aware UIs and command-line tools, not for authorization checking. This operation may \"fail open\" without warning.", +"flatPath": "v2/organizations/{organizationsId}/locations/{locationsId}/buckets/{bucketsId}/views/{viewsId}:testIamPermissions", +"httpMethod": "POST", +"id": "logging.organizations.locations.buckets.views.testIamPermissions", +"parameterOrder": [ +"resource" +], +"parameters": { +"resource": { +"description": "REQUIRED: The resource for which the policy detail is being requested. See Resource names (https://cloud.google.com/apis/design/resource_names) for the appropriate value for this field.", +"location": "path", +"pattern": "^organizations/[^/]+/locations/[^/]+/buckets/[^/]+/views/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v2/{+resource}:testIamPermissions", +"request": { +"$ref": "TestIamPermissionsRequest" +}, +"response": { +"$ref": "TestIamPermissionsResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/cloud-platform.read-only", +"https://www.googleapis.com/auth/logging.admin", +"https://www.googleapis.com/auth/logging.read" +] +} +}, +"resources": { +"logs": { +"methods": { +"list": { +"description": "Lists the logs in projects, organizations, folders, or billing accounts. Only logs that have entries are listed.", +"flatPath": "v2/organizations/{organizationsId}/locations/{locationsId}/buckets/{bucketsId}/views/{viewsId}/logs", +"httpMethod": "GET", +"id": "logging.organizations.locations.buckets.views.logs.list", +"parameterOrder": [ +"parent" +], +"parameters": { +"pageSize": { +"description": "Optional. The maximum number of results to return from this request. Non-positive values are ignored. The presence of nextPageToken in the response indicates that more results might be available.", +"format": "int32", +"location": "query", +"type": "integer" +}, +"pageToken": { +"description": "Optional. If present, then retrieve the next batch of results from the preceding call to this method. pageToken must be the value of nextPageToken from the previous response. The values of other method parameters should be identical to those in the previous call.", +"location": "query", +"type": "string" +}, +"parent": { +"description": "Required. The resource name to list logs for: projects/[PROJECT_ID] organizations/[ORGANIZATION_ID] billingAccounts/[BILLING_ACCOUNT_ID] folders/[FOLDER_ID]", +"location": "path", +"pattern": "^organizations/[^/]+/locations/[^/]+/buckets/[^/]+/views/[^/]+$", +"required": true, +"type": "string" +}, +"resourceNames": { +"description": "Optional. List of resource names to list logs for: projects/[PROJECT_ID]/locations/[LOCATION_ID]/buckets/[BUCKET_ID]/views/[VIEW_ID] organizations/[ORGANIZATION_ID]/locations/[LOCATION_ID]/buckets/[BUCKET_ID]/views/[VIEW_ID] billingAccounts/[BILLING_ACCOUNT_ID]/locations/[LOCATION_ID]/buckets/[BUCKET_ID]/views/[VIEW_ID] folders/[FOLDER_ID]/locations/[LOCATION_ID]/buckets/[BUCKET_ID]/views/[VIEW_ID]To support legacy queries, it could also be: projects/[PROJECT_ID] organizations/[ORGANIZATION_ID] billingAccounts/[BILLING_ACCOUNT_ID] folders/[FOLDER_ID]The resource name in the parent field is added to this list.", +"location": "query", +"repeated": true, +"type": "string" +} +}, +"path": "v2/{+parent}/logs", +"response": { +"$ref": "ListLogsResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/cloud-platform.read-only", +"https://www.googleapis.com/auth/logging.admin", +"https://www.googleapis.com/auth/logging.read" +] +} +} +} +} +} +} +}, +"logScopes": { +"methods": { +"create": { +"description": "Creates a log scope.", +"flatPath": "v2/organizations/{organizationsId}/locations/{locationsId}/logScopes", +"httpMethod": "POST", +"id": "logging.organizations.locations.logScopes.create", +"parameterOrder": [ +"parent" +], +"parameters": { +"logScopeId": { +"description": "Required. A client-assigned identifier such as \"log-scope\". Identifiers are limited to 100 characters and can include only letters, digits, underscores, hyphens, and periods. First character has to be alphanumeric.", +"location": "query", +"type": "string" +}, +"parent": { +"description": "Required. The parent project in which to create the log scope \"projects/[PROJECT_ID]/locations/[LOCATION_ID]\" For example:\"projects/my-project/locations/global\"", +"location": "path", +"pattern": "^organizations/[^/]+/locations/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v2/{+parent}/logScopes", +"request": { +"$ref": "LogScope" +}, +"response": { +"$ref": "LogScope" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/logging.admin" +] +}, +"delete": { +"description": "Deletes a log scope.", +"flatPath": "v2/organizations/{organizationsId}/locations/{locationsId}/logScopes/{logScopesId}", +"httpMethod": "DELETE", +"id": "logging.organizations.locations.logScopes.delete", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. The resource name of the log scope to delete: \"projects/[PROJECT_ID]/locations/[LOCATION_ID]/logScopes/[LOG_SCOPE_ID]\" For example:\"projects/my-project/locations/global/logScopes/my-log-scope\"", +"location": "path", +"pattern": "^organizations/[^/]+/locations/[^/]+/logScopes/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v2/{+name}", +"response": { +"$ref": "Empty" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/logging.admin" +] +}, +"get": { +"description": "Gets a log scope.", +"flatPath": "v2/organizations/{organizationsId}/locations/{locationsId}/logScopes/{logScopesId}", +"httpMethod": "GET", +"id": "logging.organizations.locations.logScopes.get", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. The resource name of the log scope: \"projects/[PROJECT_ID]/locations/[LOCATION_ID]/logScopes/[LOG_SCOPE_ID]\" For example:\"projects/my-project/locations/global/logScopes/my-log-scope\"", +"location": "path", +"pattern": "^organizations/[^/]+/locations/[^/]+/logScopes/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v2/{+name}", +"response": { +"$ref": "LogScope" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/cloud-platform.read-only", +"https://www.googleapis.com/auth/logging.admin", +"https://www.googleapis.com/auth/logging.read" +] +}, +"list": { +"description": "Lists log scopes.", +"flatPath": "v2/organizations/{organizationsId}/locations/{locationsId}/logScopes", +"httpMethod": "GET", +"id": "logging.organizations.locations.logScopes.list", +"parameterOrder": [ +"parent" +], +"parameters": { +"pageSize": { +"description": "Optional. The maximum number of results to return from this request.Non-positive values are ignored. The presence of nextPageToken in the response indicates that more results might be available.", +"format": "int32", +"location": "query", +"type": "integer" +}, +"pageToken": { +"description": "Optional. If present, then retrieve the next batch of results from the preceding call to this method. pageToken must be the value of nextPageToken from the previous response. The values of other method parameters should be identical to those in the previous call.", +"location": "query", +"type": "string" +}, +"parent": { +"description": "Required. The parent resource whose log scopes are to be listed: \"projects/[PROJECT_ID]/locations/[LOCATION_ID]\" ", +"location": "path", +"pattern": "^organizations/[^/]+/locations/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v2/{+parent}/logScopes", +"response": { +"$ref": "ListLogScopesResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/cloud-platform.read-only", +"https://www.googleapis.com/auth/logging.admin", +"https://www.googleapis.com/auth/logging.read" +] +}, +"patch": { +"description": "Updates a log scope.", +"flatPath": "v2/organizations/{organizationsId}/locations/{locationsId}/logScopes/{logScopesId}", +"httpMethod": "PATCH", +"id": "logging.organizations.locations.logScopes.patch", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Output only. The resource name of the log scope.Log scopes are only available in the global location. For example:projects/my-project/locations/global/logScopes/my-log-scope", +"location": "path", +"pattern": "^organizations/[^/]+/locations/[^/]+/logScopes/[^/]+$", +"required": true, +"type": "string" +}, +"updateMask": { +"description": "Optional. Field mask that specifies the fields in log_scope that need an update. A field will be overwritten if, and only if, it is in the update mask. name and output only fields cannot be updated.For a detailed FieldMask definition, see https://developers.google.com/protocol-buffers/docs/reference/google.protobuf#google.protobuf.FieldMaskFor example: updateMask=description", +"format": "google-fieldmask", +"location": "query", +"type": "string" +} +}, +"path": "v2/{+name}", +"request": { +"$ref": "LogScope" +}, +"response": { +"$ref": "LogScope" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/logging.admin" +] +} +} +}, +"operations": { +"methods": { +"cancel": { +"description": "Starts asynchronous cancellation on a long-running operation. The server makes a best effort to cancel the operation, but success is not guaranteed. If the server doesn't support this method, it returns google.rpc.Code.UNIMPLEMENTED. Clients can use Operations.GetOperation or other methods to check whether the cancellation succeeded or whether the operation completed despite cancellation. On successful cancellation, the operation is not deleted; instead, it becomes an operation with an Operation.error value with a google.rpc.Status.code of 1, corresponding to Code.CANCELLED.", +"flatPath": "v2/organizations/{organizationsId}/locations/{locationsId}/operations/{operationsId}:cancel", +"httpMethod": "POST", +"id": "logging.organizations.locations.operations.cancel", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "The name of the operation resource to be cancelled.", +"location": "path", +"pattern": "^organizations/[^/]+/locations/[^/]+/operations/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v2/{+name}:cancel", +"request": { +"$ref": "CancelOperationRequest" +}, +"response": { +"$ref": "Empty" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/logging.admin" +] +}, +"get": { +"description": "Gets the latest state of a long-running operation. Clients can use this method to poll the operation result at intervals as recommended by the API service.", +"flatPath": "v2/organizations/{organizationsId}/locations/{locationsId}/operations/{operationsId}", +"httpMethod": "GET", +"id": "logging.organizations.locations.operations.get", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "The name of the operation resource.", +"location": "path", +"pattern": "^organizations/[^/]+/locations/[^/]+/operations/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v2/{+name}", +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/cloud-platform.read-only", +"https://www.googleapis.com/auth/logging.admin", +"https://www.googleapis.com/auth/logging.read" +] +}, +"list": { +"description": "Lists operations that match the specified filter in the request. If the server doesn't support this method, it returns UNIMPLEMENTED.", +"flatPath": "v2/organizations/{organizationsId}/locations/{locationsId}/operations", +"httpMethod": "GET", +"id": "logging.organizations.locations.operations.list", +"parameterOrder": [ +"name" +], +"parameters": { +"filter": { +"description": "The standard list filter.", +"location": "query", +"type": "string" +}, +"name": { +"description": "The name of the operation's parent resource.", +"location": "path", +"pattern": "^organizations/[^/]+/locations/[^/]+$", +"required": true, +"type": "string" +}, +"pageSize": { +"description": "The standard list page size.", +"format": "int32", +"location": "query", +"type": "integer" +}, +"pageToken": { +"description": "The standard list page token.", +"location": "query", +"type": "string" +} +}, +"path": "v2/{+name}/operations", +"response": { +"$ref": "ListOperationsResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/cloud-platform.read-only", +"https://www.googleapis.com/auth/logging.admin", +"https://www.googleapis.com/auth/logging.read" +] +} +} +}, +"recentQueries": { +"methods": { +"list": { +"description": "Lists the RecentQueries that were created by the user making the request.", +"flatPath": "v2/organizations/{organizationsId}/locations/{locationsId}/recentQueries", +"httpMethod": "GET", +"id": "logging.organizations.locations.recentQueries.list", +"parameterOrder": [ +"parent" +], +"parameters": { +"filter": { +"description": "Optional. Specifies the type (\"Logging\" or \"OpsAnalytics\") of the recent queries to list. The only valid value for this field is one of the two allowable type function calls, which are the following: type(\"Logging\") type(\"OpsAnalytics\")", +"location": "query", +"type": "string" +}, +"pageSize": { +"description": "Optional. The maximum number of results to return from this request. Non-positive values are ignored. The presence of nextPageToken in the response indicates that more results might be available.", +"format": "int32", +"location": "query", +"type": "integer" +}, +"pageToken": { +"description": "Optional. If present, then retrieve the next batch of results from the preceding call to this method. pageToken must be the value of nextPageToken from the previous response. The values of other method parameters should be identical to those in the previous call.", +"location": "query", +"type": "string" +}, +"parent": { +"description": "Required. The resource to which the listed queries belong. \"projects/[PROJECT_ID]/locations/[LOCATION_ID]\" \"organizations/[ORGANIZATION_ID]/locations/[LOCATION_ID]\" \"billingAccounts/[BILLING_ACCOUNT_ID]/locations/[LOCATION_ID]\" \"folders/[FOLDER_ID]/locations/[LOCATION_ID]\" For example:projects/my-project/locations/us-central1Note: The location portion of the resource must be specified, but supplying the character - in place of LOCATION_ID will return all recent queries.", +"location": "path", +"pattern": "^organizations/[^/]+/locations/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v2/{+parent}/recentQueries", +"response": { +"$ref": "ListRecentQueriesResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/cloud-platform.read-only", +"https://www.googleapis.com/auth/logging.admin", +"https://www.googleapis.com/auth/logging.read" +] +} +} +}, +"savedQueries": { +"methods": { +"create": { +"description": "Creates a new SavedQuery for the user making the request.", +"flatPath": "v2/organizations/{organizationsId}/locations/{locationsId}/savedQueries", +"httpMethod": "POST", +"id": "logging.organizations.locations.savedQueries.create", +"parameterOrder": [ +"parent" +], +"parameters": { +"parent": { +"description": "Required. The parent resource in which to create the saved query: \"projects/[PROJECT_ID]/locations/[LOCATION_ID]\" \"organizations/[ORGANIZATION_ID]/locations/[LOCATION_ID]\" \"billingAccounts/[BILLING_ACCOUNT_ID]/locations/[LOCATION_ID]\" \"folders/[FOLDER_ID]/locations/[LOCATION_ID]\" For example: \"projects/my-project/locations/global\" \"organizations/123456789/locations/us-central1\" ", +"location": "path", +"pattern": "^organizations/[^/]+/locations/[^/]+$", +"required": true, +"type": "string" +}, +"savedQueryId": { +"description": "Optional. The ID to use for the saved query, which will become the final component of the saved query's resource name.If the saved_query_id is not provided, the system will generate an alphanumeric ID.The saved_query_id is limited to 100 characters and can include only the following characters: upper and lower-case alphanumeric characters, underscores, hyphens, periods.First character has to be alphanumeric.", +"location": "query", +"type": "string" +} +}, +"path": "v2/{+parent}/savedQueries", +"request": { +"$ref": "SavedQuery" +}, +"response": { +"$ref": "SavedQuery" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/logging.admin" +] +}, +"delete": { +"description": "Deletes an existing SavedQuery that was created by the user making the request.", +"flatPath": "v2/organizations/{organizationsId}/locations/{locationsId}/savedQueries/{savedQueriesId}", +"httpMethod": "DELETE", +"id": "logging.organizations.locations.savedQueries.delete", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. The full resource name of the saved query to delete. \"projects/[PROJECT_ID]/locations/[LOCATION_ID]/savedQueries/[QUERY_ID]\" \"organizations/[ORGANIZATION_ID]/locations/[LOCATION_ID]/savedQueries/[QUERY_ID]\" \"billingAccounts/[BILLING_ACCOUNT_ID]/locations/[LOCATION_ID]/savedQueries/[QUERY_ID]\" \"folders/[FOLDER_ID]/locations/[LOCATION_ID]/savedQueries/[QUERY_ID]\" For example: \"projects/my-project/locations/global/savedQueries/my-saved-query\" ", +"location": "path", +"pattern": "^organizations/[^/]+/locations/[^/]+/savedQueries/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v2/{+name}", +"response": { +"$ref": "Empty" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/logging.admin" +] +}, +"get": { +"description": "Returns all data associated with the requested query.", +"flatPath": "v2/organizations/{organizationsId}/locations/{locationsId}/savedQueries/{savedQueriesId}", +"httpMethod": "GET", +"id": "logging.organizations.locations.savedQueries.get", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. The resource name of the saved query. \"projects/[PROJECT_ID]/locations/[LOCATION_ID]/savedQueries/[QUERY_ID]\" \"organizations/[ORGANIZATION_ID]/locations/[LOCATION_ID]/savedQueries/[QUERY_ID]\" \"billingAccounts/[BILLING_ACCOUNT_ID]/locations/[LOCATION_ID]/savedQueries/[QUERY_ID]\" \"folders/[FOLDER_ID]/locations/[LOCATION_ID]/savedQueries/[QUERY_ID]\" For example: \"projects/my-project/locations/global/savedQueries/my-saved-query\" ", +"location": "path", +"pattern": "^organizations/[^/]+/locations/[^/]+/savedQueries/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v2/{+name}", +"response": { +"$ref": "SavedQuery" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/cloud-platform.read-only", +"https://www.googleapis.com/auth/logging.admin", +"https://www.googleapis.com/auth/logging.read" +] +}, +"list": { +"description": "Lists the SavedQueries that were created by the user making the request.", +"flatPath": "v2/organizations/{organizationsId}/locations/{locationsId}/savedQueries", +"httpMethod": "GET", +"id": "logging.organizations.locations.savedQueries.list", +"parameterOrder": [ +"parent" +], +"parameters": { +"filter": { +"description": "Optional. Specifies the type (\"Logging\" or \"OpsAnalytics\") and the visibility (PRIVATE or SHARED) of the saved queries to list. If provided, the filter must contain either the type function or a visibility token, or both. If both are chosen, they can be placed in any order, but they must be joined by the AND operator or the empty character.The two supported type function calls are: type(\"Logging\") type(\"OpsAnalytics\")The two supported visibility tokens are: visibility = PRIVATE visibility = SHAREDFor example:type(\"Logging\") AND visibility = PRIVATE visibility=SHARED type(\"OpsAnalytics\") type(\"OpsAnalytics)\" visibility = PRIVATE visibility = SHARED", +"location": "query", +"type": "string" +}, +"pageSize": { +"description": "Optional. The maximum number of results to return from this request.Non-positive values are ignored. The presence of nextPageToken in the response indicates that more results might be available.", +"format": "int32", +"location": "query", +"type": "integer" +}, +"pageToken": { +"description": "Optional. If present, then retrieve the next batch of results from the preceding call to this method. pageToken must be the value of nextPageToken from the previous response. The values of other method parameters should be identical to those in the previous call.", +"location": "query", +"type": "string" +}, +"parent": { +"description": "Required. The resource to which the listed queries belong. \"projects/[PROJECT_ID]/locations/[LOCATION_ID]\" \"organizations/[ORGANIZATION_ID]/locations/[LOCATION_ID]\" \"billingAccounts/[BILLING_ACCOUNT_ID]/locations/[LOCATION_ID]\" \"folders/[FOLDER_ID]/locations/[LOCATION_ID]\" For example: \"projects/my-project/locations/us-central1\" Note: The locations portion of the resource must be specified. To get a list of all saved queries, a wildcard character - can be used for LOCATION_ID, for example: \"projects/my-project/locations/-\" ", +"location": "path", +"pattern": "^organizations/[^/]+/locations/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v2/{+parent}/savedQueries", +"response": { +"$ref": "ListSavedQueriesResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/cloud-platform.read-only", +"https://www.googleapis.com/auth/logging.admin", +"https://www.googleapis.com/auth/logging.read" +] +}, +"patch": { +"description": "Updates an existing SavedQuery.", +"flatPath": "v2/organizations/{organizationsId}/locations/{locationsId}/savedQueries/{savedQueriesId}", +"httpMethod": "PATCH", +"id": "logging.organizations.locations.savedQueries.patch", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Output only. Resource name of the saved query.In the format: \"projects/[PROJECT_ID]/locations/[LOCATION_ID]/savedQueries/[QUERY_ID]\" For a list of supported locations, see Supported Regions (https://cloud.google.com/logging/docs/region-support#bucket-regions)After the saved query is created, the location cannot be changed.If the user doesn't provide a QUERY_ID, the system will generate an alphanumeric ID.", +"location": "path", +"pattern": "^organizations/[^/]+/locations/[^/]+/savedQueries/[^/]+$", +"required": true, +"type": "string" +}, +"updateMask": { +"description": "Required. A non-empty list of fields to change in the existing saved query. Fields are relative to the saved_query and new values for the fields are taken from the corresponding fields in the SavedQuery included in this request. Fields not mentioned in update_mask are not changed and are ignored in the request.To update all mutable fields, specify an update_mask of *.For example, to change the description and query filter text of a saved query, specify an update_mask of \"description, query.filter\".", +"format": "google-fieldmask", +"location": "query", +"type": "string" +} +}, +"path": "v2/{+name}", +"request": { +"$ref": "SavedQuery" +}, +"response": { +"$ref": "SavedQuery" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/logging.admin" +] +} +} +} +} +}, +"logs": { +"methods": { +"delete": { +"description": "Deletes all the log entries in a log for the _Default Log Bucket. The log reappears if it receives new entries. Log entries written shortly before the delete operation might not be deleted. Entries received after the delete operation with a timestamp before the operation will be deleted.", +"flatPath": "v2/organizations/{organizationsId}/logs/{logsId}", +"httpMethod": "DELETE", +"id": "logging.organizations.logs.delete", +"parameterOrder": [ +"logName" +], +"parameters": { +"logName": { +"description": "Required. The resource name of the log to delete: projects/[PROJECT_ID]/logs/[LOG_ID] organizations/[ORGANIZATION_ID]/logs/[LOG_ID] billingAccounts/[BILLING_ACCOUNT_ID]/logs/[LOG_ID] folders/[FOLDER_ID]/logs/[LOG_ID][LOG_ID] must be URL-encoded. For example, \"projects/my-project-id/logs/syslog\", \"organizations/123/logs/cloudaudit.googleapis.com%2Factivity\".For more information about log names, see LogEntry.", +"location": "path", +"pattern": "^organizations/[^/]+/logs/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v2/{+logName}", +"response": { +"$ref": "Empty" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/logging.admin" +] +}, +"list": { +"description": "Lists the logs in projects, organizations, folders, or billing accounts. Only logs that have entries are listed.", +"flatPath": "v2/organizations/{organizationsId}/logs", +"httpMethod": "GET", +"id": "logging.organizations.logs.list", +"parameterOrder": [ +"parent" +], +"parameters": { +"pageSize": { +"description": "Optional. The maximum number of results to return from this request. Non-positive values are ignored. The presence of nextPageToken in the response indicates that more results might be available.", +"format": "int32", +"location": "query", +"type": "integer" +}, +"pageToken": { +"description": "Optional. If present, then retrieve the next batch of results from the preceding call to this method. pageToken must be the value of nextPageToken from the previous response. The values of other method parameters should be identical to those in the previous call.", +"location": "query", +"type": "string" +}, +"parent": { +"description": "Required. The resource name to list logs for: projects/[PROJECT_ID] organizations/[ORGANIZATION_ID] billingAccounts/[BILLING_ACCOUNT_ID] folders/[FOLDER_ID]", +"location": "path", +"pattern": "^organizations/[^/]+$", +"required": true, +"type": "string" +}, +"resourceNames": { +"description": "Optional. List of resource names to list logs for: projects/[PROJECT_ID]/locations/[LOCATION_ID]/buckets/[BUCKET_ID]/views/[VIEW_ID] organizations/[ORGANIZATION_ID]/locations/[LOCATION_ID]/buckets/[BUCKET_ID]/views/[VIEW_ID] billingAccounts/[BILLING_ACCOUNT_ID]/locations/[LOCATION_ID]/buckets/[BUCKET_ID]/views/[VIEW_ID] folders/[FOLDER_ID]/locations/[LOCATION_ID]/buckets/[BUCKET_ID]/views/[VIEW_ID]To support legacy queries, it could also be: projects/[PROJECT_ID] organizations/[ORGANIZATION_ID] billingAccounts/[BILLING_ACCOUNT_ID] folders/[FOLDER_ID]The resource name in the parent field is added to this list.", +"location": "query", +"repeated": true, +"type": "string" +} +}, +"path": "v2/{+parent}/logs", +"response": { +"$ref": "ListLogsResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/cloud-platform.read-only", +"https://www.googleapis.com/auth/logging.admin", +"https://www.googleapis.com/auth/logging.read" +] +} +} +}, +"sinks": { +"methods": { +"create": { +"description": "Creates a sink that exports specified log entries to a destination. The export begins upon ingress, unless the sink's writer_identity is not permitted to write to the destination. A sink can export log entries only from the resource owning the sink.", +"flatPath": "v2/organizations/{organizationsId}/sinks", +"httpMethod": "POST", +"id": "logging.organizations.sinks.create", +"parameterOrder": [ +"parent" +], +"parameters": { +"customWriterIdentity": { +"description": "Optional. The service account provided by the caller that will be used to write the log entries. The format must be serviceAccount:some@email. This field can only be specified when you are routing logs to a log bucket that is in a different project than the sink. When not specified, a Logging service account will automatically be generated.", +"location": "query", +"type": "string" +}, +"parent": { +"description": "Required. The resource in which to create the sink: \"projects/[PROJECT_ID]\" \"organizations/[ORGANIZATION_ID]\" \"billingAccounts/[BILLING_ACCOUNT_ID]\" \"folders/[FOLDER_ID]\" For examples:\"projects/my-project\" \"organizations/123456789\"", +"location": "path", +"pattern": "^organizations/[^/]+$", +"required": true, +"type": "string" +}, +"uniqueWriterIdentity": { +"description": "Optional. Determines the kind of IAM identity returned as writer_identity in the new sink. If this value is omitted or set to false, and if the sink's parent is a project, then the value returned as writer_identity is the same group or service account used by Cloud Logging before the addition of writer identities to this API. The sink's destination must be in the same project as the sink itself.If this field is set to true, or if the sink is owned by a non-project resource such as an organization, then the value of writer_identity will be a service agent (https://cloud.google.com/iam/docs/service-account-types#service-agents) used by the sinks with the same parent. For more information, see writer_identity in LogSink.", +"location": "query", +"type": "boolean" +} +}, +"path": "v2/{+parent}/sinks", +"request": { +"$ref": "LogSink" +}, +"response": { +"$ref": "LogSink" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/logging.admin" +] +}, +"delete": { +"description": "Deletes a sink. If the sink has a unique writer_identity, then that service account is also deleted.", +"flatPath": "v2/organizations/{organizationsId}/sinks/{sinksId}", +"httpMethod": "DELETE", +"id": "logging.organizations.sinks.delete", +"parameterOrder": [ +"sinkName" +], +"parameters": { +"sinkName": { +"description": "Required. The full resource name of the sink to delete, including the parent resource and the sink identifier: \"projects/[PROJECT_ID]/sinks/[SINK_ID]\" \"organizations/[ORGANIZATION_ID]/sinks/[SINK_ID]\" \"billingAccounts/[BILLING_ACCOUNT_ID]/sinks/[SINK_ID]\" \"folders/[FOLDER_ID]/sinks/[SINK_ID]\" For example:\"projects/my-project/sinks/my-sink\"", +"location": "path", +"pattern": "^organizations/[^/]+/sinks/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v2/{+sinkName}", +"response": { +"$ref": "Empty" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/logging.admin" +] +}, +"get": { +"description": "Gets a sink.", +"flatPath": "v2/organizations/{organizationsId}/sinks/{sinksId}", +"httpMethod": "GET", +"id": "logging.organizations.sinks.get", +"parameterOrder": [ +"sinkName" +], +"parameters": { +"sinkName": { +"description": "Required. The resource name of the sink: \"projects/[PROJECT_ID]/sinks/[SINK_ID]\" \"organizations/[ORGANIZATION_ID]/sinks/[SINK_ID]\" \"billingAccounts/[BILLING_ACCOUNT_ID]/sinks/[SINK_ID]\" \"folders/[FOLDER_ID]/sinks/[SINK_ID]\" For example:\"projects/my-project/sinks/my-sink\"", +"location": "path", +"pattern": "^organizations/[^/]+/sinks/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v2/{+sinkName}", +"response": { +"$ref": "LogSink" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/cloud-platform.read-only", +"https://www.googleapis.com/auth/logging.admin", +"https://www.googleapis.com/auth/logging.read" +] +}, +"list": { +"description": "Lists sinks.", +"flatPath": "v2/organizations/{organizationsId}/sinks", +"httpMethod": "GET", +"id": "logging.organizations.sinks.list", +"parameterOrder": [ +"parent" +], +"parameters": { +"filter": { +"description": "Optional. A filter expression to constrain the sinks returned. Today, this only supports the following strings: '' 'in_scope(\"ALL\")', 'in_scope(\"ANCESTOR\")', 'in_scope(\"DEFAULT\")'.Description of scopes below. ALL: Includes all of the sinks which can be returned in any other scope. ANCESTOR: Includes intercepting sinks owned by ancestor resources. DEFAULT: Includes sinks owned by parent.When the empty string is provided, then the filter 'in_scope(\"DEFAULT\")' is applied.", +"location": "query", +"type": "string" +}, +"pageSize": { +"description": "Optional. The maximum number of results to return from this request. Non-positive values are ignored. The presence of nextPageToken in the response indicates that more results might be available.", +"format": "int32", +"location": "query", +"type": "integer" +}, +"pageToken": { +"description": "Optional. If present, then retrieve the next batch of results from the preceding call to this method. pageToken must be the value of nextPageToken from the previous response. The values of other method parameters should be identical to those in the previous call.", +"location": "query", +"type": "string" +}, +"parent": { +"description": "Required. The parent resource whose sinks are to be listed: \"projects/[PROJECT_ID]\" \"organizations/[ORGANIZATION_ID]\" \"billingAccounts/[BILLING_ACCOUNT_ID]\" \"folders/[FOLDER_ID]\" ", +"location": "path", +"pattern": "^organizations/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v2/{+parent}/sinks", +"response": { +"$ref": "ListSinksResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/cloud-platform.read-only", +"https://www.googleapis.com/auth/logging.admin", +"https://www.googleapis.com/auth/logging.read" +] +}, +"patch": { +"description": "Updates a sink. This method replaces the values of the destination and filter fields of the existing sink with the corresponding values from the new sink.The updated sink might also have a new writer_identity; see the unique_writer_identity field.", +"flatPath": "v2/organizations/{organizationsId}/sinks/{sinksId}", +"httpMethod": "PATCH", +"id": "logging.organizations.sinks.patch", +"parameterOrder": [ +"sinkName" +], +"parameters": { +"customWriterIdentity": { +"description": "Optional. The service account provided by the caller that will be used to write the log entries. The format must be serviceAccount:some@email. This field can only be specified when you are routing logs to a log bucket that is in a different project than the sink. When not specified, a Logging service account will automatically be generated.", +"location": "query", +"type": "string" +}, +"sinkName": { +"description": "Required. The full resource name of the sink to update, including the parent resource and the sink identifier: \"projects/[PROJECT_ID]/sinks/[SINK_ID]\" \"organizations/[ORGANIZATION_ID]/sinks/[SINK_ID]\" \"billingAccounts/[BILLING_ACCOUNT_ID]/sinks/[SINK_ID]\" \"folders/[FOLDER_ID]/sinks/[SINK_ID]\" For example:\"projects/my-project/sinks/my-sink\"", +"location": "path", +"pattern": "^organizations/[^/]+/sinks/[^/]+$", +"required": true, +"type": "string" +}, +"uniqueWriterIdentity": { +"description": "Optional. See sinks.create for a description of this field. When updating a sink, the effect of this field on the value of writer_identity in the updated sink depends on both the old and new values of this field: If the old and new values of this field are both false or both true, then there is no change to the sink's writer_identity. If the old value is false and the new value is true, then writer_identity is changed to a service agent (https://cloud.google.com/iam/docs/service-account-types#service-agents) owned by Cloud Logging. It is an error if the old value is true and the new value is set to false or defaulted to false.", +"location": "query", +"type": "boolean" +}, +"updateMask": { +"description": "Optional. Field mask that specifies the fields in sink that need an update. A sink field will be overwritten if, and only if, it is in the update mask. name and output only fields cannot be updated.An empty updateMask is temporarily treated as using the following mask for backwards compatibility purposes:destination,filter,includeChildrenAt some point in the future, behavior will be removed and specifying an empty updateMask will be an error.For a detailed FieldMask definition, see https://developers.google.com/protocol-buffers/docs/reference/google.protobuf#google.protobuf.FieldMaskFor example: updateMask=filter", +"format": "google-fieldmask", +"location": "query", +"type": "string" +} +}, +"path": "v2/{+sinkName}", +"request": { +"$ref": "LogSink" +}, +"response": { +"$ref": "LogSink" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/logging.admin" +] +}, +"update": { +"description": "Updates a sink. This method replaces the values of the destination and filter fields of the existing sink with the corresponding values from the new sink.The updated sink might also have a new writer_identity; see the unique_writer_identity field.", +"flatPath": "v2/organizations/{organizationsId}/sinks/{sinksId}", +"httpMethod": "PUT", +"id": "logging.organizations.sinks.update", +"parameterOrder": [ +"sinkName" +], +"parameters": { +"customWriterIdentity": { +"description": "Optional. The service account provided by the caller that will be used to write the log entries. The format must be serviceAccount:some@email. This field can only be specified when you are routing logs to a log bucket that is in a different project than the sink. When not specified, a Logging service account will automatically be generated.", +"location": "query", +"type": "string" +}, +"sinkName": { +"description": "Required. The full resource name of the sink to update, including the parent resource and the sink identifier: \"projects/[PROJECT_ID]/sinks/[SINK_ID]\" \"organizations/[ORGANIZATION_ID]/sinks/[SINK_ID]\" \"billingAccounts/[BILLING_ACCOUNT_ID]/sinks/[SINK_ID]\" \"folders/[FOLDER_ID]/sinks/[SINK_ID]\" For example:\"projects/my-project/sinks/my-sink\"", +"location": "path", +"pattern": "^organizations/[^/]+/sinks/[^/]+$", +"required": true, +"type": "string" +}, +"uniqueWriterIdentity": { +"description": "Optional. See sinks.create for a description of this field. When updating a sink, the effect of this field on the value of writer_identity in the updated sink depends on both the old and new values of this field: If the old and new values of this field are both false or both true, then there is no change to the sink's writer_identity. If the old value is false and the new value is true, then writer_identity is changed to a service agent (https://cloud.google.com/iam/docs/service-account-types#service-agents) owned by Cloud Logging. It is an error if the old value is true and the new value is set to false or defaulted to false.", +"location": "query", +"type": "boolean" +}, +"updateMask": { +"description": "Optional. Field mask that specifies the fields in sink that need an update. A sink field will be overwritten if, and only if, it is in the update mask. name and output only fields cannot be updated.An empty updateMask is temporarily treated as using the following mask for backwards compatibility purposes:destination,filter,includeChildrenAt some point in the future, behavior will be removed and specifying an empty updateMask will be an error.For a detailed FieldMask definition, see https://developers.google.com/protocol-buffers/docs/reference/google.protobuf#google.protobuf.FieldMaskFor example: updateMask=filter", +"format": "google-fieldmask", +"location": "query", +"type": "string" +} +}, +"path": "v2/{+sinkName}", +"request": { +"$ref": "LogSink" +}, +"response": { +"$ref": "LogSink" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/logging.admin" +] +} +} +} +} +}, +"projects": { +"methods": { +"getCmekSettings": { +"description": "Gets the Logging CMEK settings for the given resource.Note: CMEK for the Log Router can be configured for Google Cloud projects, folders, organizations, and billing accounts. Once configured for an organization, it applies to all projects and folders in the Google Cloud organization.See Enabling CMEK for Log Router (https://cloud.google.com/logging/docs/routing/managed-encryption) for more information.", +"flatPath": "v2/projects/{projectsId}/cmekSettings", +"httpMethod": "GET", +"id": "logging.projects.getCmekSettings", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. The resource for which to retrieve CMEK settings. \"projects/[PROJECT_ID]/cmekSettings\" \"organizations/[ORGANIZATION_ID]/cmekSettings\" \"billingAccounts/[BILLING_ACCOUNT_ID]/cmekSettings\" \"folders/[FOLDER_ID]/cmekSettings\" For example:\"organizations/12345/cmekSettings\"Note: CMEK for the Log Router can be configured for Google Cloud projects, folders, organizations, and billing accounts. Once configured for an organization, it applies to all projects and folders in the Google Cloud organization.", +"location": "path", +"pattern": "^projects/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v2/{+name}/cmekSettings", +"response": { +"$ref": "CmekSettings" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/cloud-platform.read-only", +"https://www.googleapis.com/auth/logging.admin", +"https://www.googleapis.com/auth/logging.read" +] +}, +"getSettings": { +"description": "Gets the settings for the given resource.Note: Settings can be retrieved for Google Cloud projects, folders, organizations, and billing accounts.See View default resource settings for Logging (https://cloud.google.com/logging/docs/default-settings#view-org-settings) for more information.", +"flatPath": "v2/projects/{projectsId}/settings", +"httpMethod": "GET", +"id": "logging.projects.getSettings", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. The resource for which to retrieve settings. \"projects/[PROJECT_ID]/settings\" \"organizations/[ORGANIZATION_ID]/settings\" \"billingAccounts/[BILLING_ACCOUNT_ID]/settings\" \"folders/[FOLDER_ID]/settings\" For example:\"organizations/12345/settings\"Note: Settings can be retrieved for Google Cloud projects, folders, organizations, and billing accounts.", +"location": "path", +"pattern": "^projects/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v2/{+name}/settings", +"response": { +"$ref": "Settings" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/cloud-platform.read-only", +"https://www.googleapis.com/auth/logging.admin", +"https://www.googleapis.com/auth/logging.read" +] +} +}, +"resources": { +"exclusions": { +"methods": { +"create": { +"description": "Creates a new exclusion in the _Default sink in a specified parent resource. Only log entries belonging to that resource can be excluded. You can have up to 10 exclusions in a resource.", +"flatPath": "v2/projects/{projectsId}/exclusions", +"httpMethod": "POST", +"id": "logging.projects.exclusions.create", +"parameterOrder": [ +"parent" +], +"parameters": { +"parent": { +"description": "Required. The parent resource in which to create the exclusion: \"projects/[PROJECT_ID]\" \"organizations/[ORGANIZATION_ID]\" \"billingAccounts/[BILLING_ACCOUNT_ID]\" \"folders/[FOLDER_ID]\" For examples:\"projects/my-logging-project\" \"organizations/123456789\"", +"location": "path", +"pattern": "^projects/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v2/{+parent}/exclusions", +"request": { +"$ref": "LogExclusion" +}, +"response": { +"$ref": "LogExclusion" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/logging.admin" +] +}, +"delete": { +"description": "Deletes an exclusion in the _Default sink.", +"flatPath": "v2/projects/{projectsId}/exclusions/{exclusionsId}", +"httpMethod": "DELETE", +"id": "logging.projects.exclusions.delete", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. The resource name of an existing exclusion to delete: \"projects/[PROJECT_ID]/exclusions/[EXCLUSION_ID]\" \"organizations/[ORGANIZATION_ID]/exclusions/[EXCLUSION_ID]\" \"billingAccounts/[BILLING_ACCOUNT_ID]/exclusions/[EXCLUSION_ID]\" \"folders/[FOLDER_ID]/exclusions/[EXCLUSION_ID]\" For example:\"projects/my-project/exclusions/my-exclusion\"", +"location": "path", +"pattern": "^projects/[^/]+/exclusions/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v2/{+name}", +"response": { +"$ref": "Empty" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/logging.admin" +] +}, +"get": { +"description": "Gets the description of an exclusion in the _Default sink.", +"flatPath": "v2/projects/{projectsId}/exclusions/{exclusionsId}", +"httpMethod": "GET", +"id": "logging.projects.exclusions.get", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. The resource name of an existing exclusion: \"projects/[PROJECT_ID]/exclusions/[EXCLUSION_ID]\" \"organizations/[ORGANIZATION_ID]/exclusions/[EXCLUSION_ID]\" \"billingAccounts/[BILLING_ACCOUNT_ID]/exclusions/[EXCLUSION_ID]\" \"folders/[FOLDER_ID]/exclusions/[EXCLUSION_ID]\" For example:\"projects/my-project/exclusions/my-exclusion\"", +"location": "path", +"pattern": "^projects/[^/]+/exclusions/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v2/{+name}", +"response": { +"$ref": "LogExclusion" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/cloud-platform.read-only", +"https://www.googleapis.com/auth/logging.admin", +"https://www.googleapis.com/auth/logging.read" +] +}, +"list": { +"description": "Lists all the exclusions on the _Default sink in a parent resource.", +"flatPath": "v2/projects/{projectsId}/exclusions", +"httpMethod": "GET", +"id": "logging.projects.exclusions.list", +"parameterOrder": [ +"parent" +], +"parameters": { +"pageSize": { +"description": "Optional. The maximum number of results to return from this request. Non-positive values are ignored. The presence of nextPageToken in the response indicates that more results might be available.", +"format": "int32", +"location": "query", +"type": "integer" +}, +"pageToken": { +"description": "Optional. If present, then retrieve the next batch of results from the preceding call to this method. pageToken must be the value of nextPageToken from the previous response. The values of other method parameters should be identical to those in the previous call.", +"location": "query", +"type": "string" +}, +"parent": { +"description": "Required. The parent resource whose exclusions are to be listed. \"projects/[PROJECT_ID]\" \"organizations/[ORGANIZATION_ID]\" \"billingAccounts/[BILLING_ACCOUNT_ID]\" \"folders/[FOLDER_ID]\" ", +"location": "path", +"pattern": "^projects/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v2/{+parent}/exclusions", +"response": { +"$ref": "ListExclusionsResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/cloud-platform.read-only", +"https://www.googleapis.com/auth/logging.admin", +"https://www.googleapis.com/auth/logging.read" +] +}, +"patch": { +"description": "Changes one or more properties of an existing exclusion in the _Default sink.", +"flatPath": "v2/projects/{projectsId}/exclusions/{exclusionsId}", +"httpMethod": "PATCH", +"id": "logging.projects.exclusions.patch", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. The resource name of the exclusion to update: \"projects/[PROJECT_ID]/exclusions/[EXCLUSION_ID]\" \"organizations/[ORGANIZATION_ID]/exclusions/[EXCLUSION_ID]\" \"billingAccounts/[BILLING_ACCOUNT_ID]/exclusions/[EXCLUSION_ID]\" \"folders/[FOLDER_ID]/exclusions/[EXCLUSION_ID]\" For example:\"projects/my-project/exclusions/my-exclusion\"", +"location": "path", +"pattern": "^projects/[^/]+/exclusions/[^/]+$", +"required": true, +"type": "string" +}, +"updateMask": { +"description": "Required. A non-empty list of fields to change in the existing exclusion. New values for the fields are taken from the corresponding fields in the LogExclusion included in this request. Fields not mentioned in update_mask are not changed and are ignored in the request.For example, to change the filter and description of an exclusion, specify an update_mask of \"filter,description\".", +"format": "google-fieldmask", +"location": "query", +"type": "string" +} +}, +"path": "v2/{+name}", +"request": { +"$ref": "LogExclusion" +}, +"response": { +"$ref": "LogExclusion" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/logging.admin" +] +} +} +}, +"locations": { +"methods": { +"get": { +"description": "Gets information about a location.", +"flatPath": "v2/projects/{projectsId}/locations/{locationsId}", +"httpMethod": "GET", +"id": "logging.projects.locations.get", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Resource name for the location.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v2/{+name}", +"response": { +"$ref": "Location" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/cloud-platform.read-only", +"https://www.googleapis.com/auth/logging.admin", +"https://www.googleapis.com/auth/logging.read" +] +}, +"list": { +"description": "Lists information about the supported locations for this service.", +"flatPath": "v2/projects/{projectsId}/locations", +"httpMethod": "GET", +"id": "logging.projects.locations.list", +"parameterOrder": [ +"name" +], +"parameters": { +"filter": { +"description": "A filter to narrow down results to a preferred subset. The filtering language accepts strings like \"displayName=tokyo\", and is documented in more detail in AIP-160 (https://google.aip.dev/160).", +"location": "query", +"type": "string" +}, +"name": { +"description": "The resource that owns the locations collection, if applicable.", +"location": "path", +"pattern": "^projects/[^/]+$", +"required": true, +"type": "string" +}, +"pageSize": { +"description": "The maximum number of results to return. If not set, the service selects a default.", +"format": "int32", +"location": "query", +"type": "integer" +}, +"pageToken": { +"description": "A page token received from the next_page_token field in the response. Send that page token to receive the subsequent page.", +"location": "query", +"type": "string" +} +}, +"path": "v2/{+name}/locations", +"response": { +"$ref": "ListLocationsResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/cloud-platform.read-only", +"https://www.googleapis.com/auth/logging.admin", +"https://www.googleapis.com/auth/logging.read" +] +} +}, +"resources": { +"buckets": { +"methods": { +"create": { +"description": "Creates a log bucket that can be used to store log entries. After a bucket has been created, the bucket's location cannot be changed.", +"flatPath": "v2/projects/{projectsId}/locations/{locationsId}/buckets", +"httpMethod": "POST", +"id": "logging.projects.locations.buckets.create", +"parameterOrder": [ +"parent" +], +"parameters": { +"bucketId": { +"description": "Required. A client-assigned identifier such as \"my-bucket\". Identifiers are limited to 100 characters and can include only letters, digits, underscores, hyphens, and periods. Bucket identifiers must start with an alphanumeric character.", +"location": "query", +"type": "string" +}, +"parent": { +"description": "Required. The resource in which to create the log bucket: \"projects/[PROJECT_ID]/locations/[LOCATION_ID]\" For example:\"projects/my-project/locations/global\"", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v2/{+parent}/buckets", +"request": { +"$ref": "LogBucket" +}, +"response": { +"$ref": "LogBucket" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/logging.admin" +] +}, +"createAsync": { +"description": "Creates a log bucket asynchronously that can be used to store log entries.After a bucket has been created, the bucket's location cannot be changed.", +"flatPath": "v2/projects/{projectsId}/locations/{locationsId}/buckets:createAsync", +"httpMethod": "POST", +"id": "logging.projects.locations.buckets.createAsync", +"parameterOrder": [ +"parent" +], +"parameters": { +"bucketId": { +"description": "Required. A client-assigned identifier such as \"my-bucket\". Identifiers are limited to 100 characters and can include only letters, digits, underscores, hyphens, and periods. Bucket identifiers must start with an alphanumeric character.", +"location": "query", +"type": "string" +}, +"parent": { +"description": "Required. The resource in which to create the log bucket: \"projects/[PROJECT_ID]/locations/[LOCATION_ID]\" For example:\"projects/my-project/locations/global\"", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v2/{+parent}/buckets:createAsync", +"request": { +"$ref": "LogBucket" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/logging.admin" +] +}, +"delete": { +"description": "Deletes a log bucket.Changes the bucket's lifecycle_state to the DELETE_REQUESTED state. After 7 days, the bucket will be purged and all log entries in the bucket will be permanently deleted.", +"flatPath": "v2/projects/{projectsId}/locations/{locationsId}/buckets/{bucketsId}", +"httpMethod": "DELETE", +"id": "logging.projects.locations.buckets.delete", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. The full resource name of the bucket to delete. \"projects/[PROJECT_ID]/locations/[LOCATION_ID]/buckets/[BUCKET_ID]\" \"organizations/[ORGANIZATION_ID]/locations/[LOCATION_ID]/buckets/[BUCKET_ID]\" \"billingAccounts/[BILLING_ACCOUNT_ID]/locations/[LOCATION_ID]/buckets/[BUCKET_ID]\" \"folders/[FOLDER_ID]/locations/[LOCATION_ID]/buckets/[BUCKET_ID]\" For example:\"projects/my-project/locations/global/buckets/my-bucket\"", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/buckets/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v2/{+name}", +"response": { +"$ref": "Empty" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/logging.admin" +] +}, +"get": { +"description": "Gets a log bucket.", +"flatPath": "v2/projects/{projectsId}/locations/{locationsId}/buckets/{bucketsId}", +"httpMethod": "GET", +"id": "logging.projects.locations.buckets.get", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. The resource name of the bucket: \"projects/[PROJECT_ID]/locations/[LOCATION_ID]/buckets/[BUCKET_ID]\" \"organizations/[ORGANIZATION_ID]/locations/[LOCATION_ID]/buckets/[BUCKET_ID]\" \"billingAccounts/[BILLING_ACCOUNT_ID]/locations/[LOCATION_ID]/buckets/[BUCKET_ID]\" \"folders/[FOLDER_ID]/locations/[LOCATION_ID]/buckets/[BUCKET_ID]\" For example:\"projects/my-project/locations/global/buckets/my-bucket\"", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/buckets/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v2/{+name}", +"response": { +"$ref": "LogBucket" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/cloud-platform.read-only", +"https://www.googleapis.com/auth/logging.admin", +"https://www.googleapis.com/auth/logging.read" +] +}, +"list": { +"description": "Lists log buckets.", +"flatPath": "v2/projects/{projectsId}/locations/{locationsId}/buckets", +"httpMethod": "GET", +"id": "logging.projects.locations.buckets.list", +"parameterOrder": [ +"parent" +], +"parameters": { +"pageSize": { +"description": "Optional. The maximum number of results to return from this request. Non-positive values are ignored. The presence of nextPageToken in the response indicates that more results might be available.", +"format": "int32", +"location": "query", +"type": "integer" +}, +"pageToken": { +"description": "Optional. If present, then retrieve the next batch of results from the preceding call to this method. pageToken must be the value of nextPageToken from the previous response. The values of other method parameters should be identical to those in the previous call.", +"location": "query", +"type": "string" +}, +"parent": { +"description": "Required. The parent resource whose buckets are to be listed: \"projects/[PROJECT_ID]/locations/[LOCATION_ID]\" \"organizations/[ORGANIZATION_ID]/locations/[LOCATION_ID]\" \"billingAccounts/[BILLING_ACCOUNT_ID]/locations/[LOCATION_ID]\" \"folders/[FOLDER_ID]/locations/[LOCATION_ID]\" Note: The locations portion of the resource must be specified, but supplying the character - in place of LOCATION_ID will return all buckets.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v2/{+parent}/buckets", +"response": { +"$ref": "ListBucketsResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/cloud-platform.read-only", +"https://www.googleapis.com/auth/logging.admin", +"https://www.googleapis.com/auth/logging.read" +] +}, +"patch": { +"description": "Updates a log bucket.If the bucket has a lifecycle_state of DELETE_REQUESTED, then FAILED_PRECONDITION will be returned.After a bucket has been created, the bucket's location cannot be changed.", +"flatPath": "v2/projects/{projectsId}/locations/{locationsId}/buckets/{bucketsId}", +"httpMethod": "PATCH", +"id": "logging.projects.locations.buckets.patch", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. The full resource name of the bucket to update. \"projects/[PROJECT_ID]/locations/[LOCATION_ID]/buckets/[BUCKET_ID]\" \"organizations/[ORGANIZATION_ID]/locations/[LOCATION_ID]/buckets/[BUCKET_ID]\" \"billingAccounts/[BILLING_ACCOUNT_ID]/locations/[LOCATION_ID]/buckets/[BUCKET_ID]\" \"folders/[FOLDER_ID]/locations/[LOCATION_ID]/buckets/[BUCKET_ID]\" For example:\"projects/my-project/locations/global/buckets/my-bucket\"", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/buckets/[^/]+$", +"required": true, +"type": "string" +}, +"updateMask": { +"description": "Required. Field mask that specifies the fields in bucket that need an update. A bucket field will be overwritten if, and only if, it is in the update mask. name and output only fields cannot be updated.For a detailed FieldMask definition, see: https://developers.google.com/protocol-buffers/docs/reference/google.protobuf#google.protobuf.FieldMaskFor example: updateMask=retention_days", +"format": "google-fieldmask", +"location": "query", +"type": "string" +} +}, +"path": "v2/{+name}", +"request": { +"$ref": "LogBucket" +}, +"response": { +"$ref": "LogBucket" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/logging.admin" +] +}, +"undelete": { +"description": "Undeletes a log bucket. A bucket that has been deleted can be undeleted within the grace period of 7 days.", +"flatPath": "v2/projects/{projectsId}/locations/{locationsId}/buckets/{bucketsId}:undelete", +"httpMethod": "POST", +"id": "logging.projects.locations.buckets.undelete", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. The full resource name of the bucket to undelete. \"projects/[PROJECT_ID]/locations/[LOCATION_ID]/buckets/[BUCKET_ID]\" \"organizations/[ORGANIZATION_ID]/locations/[LOCATION_ID]/buckets/[BUCKET_ID]\" \"billingAccounts/[BILLING_ACCOUNT_ID]/locations/[LOCATION_ID]/buckets/[BUCKET_ID]\" \"folders/[FOLDER_ID]/locations/[LOCATION_ID]/buckets/[BUCKET_ID]\" For example:\"projects/my-project/locations/global/buckets/my-bucket\"", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/buckets/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v2/{+name}:undelete", +"request": { +"$ref": "UndeleteBucketRequest" +}, +"response": { +"$ref": "Empty" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/logging.admin" +] +}, +"updateAsync": { +"description": "Updates a log bucket asynchronously.If the bucket has a lifecycle_state of DELETE_REQUESTED, then FAILED_PRECONDITION will be returned.After a bucket has been created, the bucket's location cannot be changed.", +"flatPath": "v2/projects/{projectsId}/locations/{locationsId}/buckets/{bucketsId}:updateAsync", +"httpMethod": "POST", +"id": "logging.projects.locations.buckets.updateAsync", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. The full resource name of the bucket to update. \"projects/[PROJECT_ID]/locations/[LOCATION_ID]/buckets/[BUCKET_ID]\" \"organizations/[ORGANIZATION_ID]/locations/[LOCATION_ID]/buckets/[BUCKET_ID]\" \"billingAccounts/[BILLING_ACCOUNT_ID]/locations/[LOCATION_ID]/buckets/[BUCKET_ID]\" \"folders/[FOLDER_ID]/locations/[LOCATION_ID]/buckets/[BUCKET_ID]\" For example:\"projects/my-project/locations/global/buckets/my-bucket\"", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/buckets/[^/]+$", +"required": true, +"type": "string" +}, +"updateMask": { +"description": "Required. Field mask that specifies the fields in bucket that need an update. A bucket field will be overwritten if, and only if, it is in the update mask. name and output only fields cannot be updated.For a detailed FieldMask definition, see: https://developers.google.com/protocol-buffers/docs/reference/google.protobuf#google.protobuf.FieldMaskFor example: updateMask=retention_days", +"format": "google-fieldmask", +"location": "query", +"type": "string" +} +}, +"path": "v2/{+name}:updateAsync", +"request": { +"$ref": "LogBucket" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/logging.admin" +] +} +}, +"resources": { +"links": { +"methods": { +"create": { +"description": "Asynchronously creates a linked dataset in BigQuery which makes it possible to use BigQuery to read the logs stored in the log bucket. A log bucket may currently only contain one link.", +"flatPath": "v2/projects/{projectsId}/locations/{locationsId}/buckets/{bucketsId}/links", +"httpMethod": "POST", +"id": "logging.projects.locations.buckets.links.create", +"parameterOrder": [ +"parent" +], +"parameters": { +"linkId": { +"description": "Required. The ID to use for the link. The link_id can have up to 100 characters. A valid link_id must only have alphanumeric characters and underscores within it.", +"location": "query", +"type": "string" +}, +"parent": { +"description": "Required. The full resource name of the bucket to create a link for. \"projects/[PROJECT_ID]/locations/[LOCATION_ID]/buckets/[BUCKET_ID]\" \"organizations/[ORGANIZATION_ID]/locations/[LOCATION_ID]/buckets/[BUCKET_ID]\" \"billingAccounts/[BILLING_ACCOUNT_ID]/locations/[LOCATION_ID]/buckets/[BUCKET_ID]\" \"folders/[FOLDER_ID]/locations/[LOCATION_ID]/buckets/[BUCKET_ID]\" ", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/buckets/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v2/{+parent}/links", +"request": { +"$ref": "Link" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/logging.admin" +] +}, +"delete": { +"description": "Deletes a link. This will also delete the corresponding BigQuery linked dataset.", +"flatPath": "v2/projects/{projectsId}/locations/{locationsId}/buckets/{bucketsId}/links/{linksId}", +"httpMethod": "DELETE", +"id": "logging.projects.locations.buckets.links.delete", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. The full resource name of the link to delete. \"projects/[PROJECT_ID]/locations/[LOCATION_ID]/buckets/[BUCKET_ID]/links/[LINK_ID]\" \"organizations/[ORGANIZATION_ID]/locations/[LOCATION_ID]/buckets/[BUCKET_ID]/links/[LINK_ID]\" \"billingAccounts/[BILLING_ACCOUNT_ID]/locations/[LOCATION_ID]/buckets/[BUCKET_ID]/links/[LINK_ID]\" \"folders/[FOLDER_ID]/locations/[LOCATION_ID]/buckets/[BUCKET_ID]/links/[LINK_ID]\" ", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/buckets/[^/]+/links/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v2/{+name}", +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/logging.admin" +] +}, +"get": { +"description": "Gets a link.", +"flatPath": "v2/projects/{projectsId}/locations/{locationsId}/buckets/{bucketsId}/links/{linksId}", +"httpMethod": "GET", +"id": "logging.projects.locations.buckets.links.get", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. The resource name of the link: \"projects/[PROJECT_ID]/locations/[LOCATION_ID]/buckets/[BUCKET_ID]/links/[LINK_ID]\" \"organizations/[ORGANIZATION_ID]/locations/[LOCATION_ID]/buckets/[BUCKET_ID]/links/[LINK_ID]\" \"billingAccounts/[BILLING_ACCOUNT_ID]/locations/[LOCATION_ID]/buckets/[BUCKET_ID]/links/[LINK_ID]\" \"folders/[FOLDER_ID]/locations/[LOCATION_ID]/buckets/[BUCKET_ID]/links/[LINK_ID]\" ", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/buckets/[^/]+/links/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v2/{+name}", +"response": { +"$ref": "Link" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/cloud-platform.read-only", +"https://www.googleapis.com/auth/logging.admin", +"https://www.googleapis.com/auth/logging.read" +] +}, +"list": { +"description": "Lists links.", +"flatPath": "v2/projects/{projectsId}/locations/{locationsId}/buckets/{bucketsId}/links", +"httpMethod": "GET", +"id": "logging.projects.locations.buckets.links.list", +"parameterOrder": [ +"parent" +], +"parameters": { +"pageSize": { +"description": "Optional. The maximum number of results to return from this request.", +"format": "int32", +"location": "query", +"type": "integer" +}, +"pageToken": { +"description": "Optional. If present, then retrieve the next batch of results from the preceding call to this method. pageToken must be the value of nextPageToken from the previous response.", +"location": "query", +"type": "string" +}, +"parent": { +"description": "Required. The parent resource whose links are to be listed: \"projects/[PROJECT_ID]/locations/[LOCATION_ID]/buckets/[BUCKET_ID]\" \"organizations/[ORGANIZATION_ID]/locations/[LOCATION_ID]/buckets/[BUCKET_ID]\" \"billingAccounts/[BILLING_ACCOUNT_ID]/locations/[LOCATION_ID]/buckets/[BUCKET_ID]\" \"folders/[FOLDER_ID]/locations/[LOCATION_ID]/buckets/[BUCKET_ID]\" ", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/buckets/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v2/{+parent}/links", +"response": { +"$ref": "ListLinksResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/cloud-platform.read-only", +"https://www.googleapis.com/auth/logging.admin", +"https://www.googleapis.com/auth/logging.read" +] +} +} +}, +"views": { +"methods": { +"create": { +"description": "Creates a view over log entries in a log bucket. A bucket may contain a maximum of 30 views.", +"flatPath": "v2/projects/{projectsId}/locations/{locationsId}/buckets/{bucketsId}/views", +"httpMethod": "POST", +"id": "logging.projects.locations.buckets.views.create", +"parameterOrder": [ +"parent" +], +"parameters": { +"parent": { +"description": "Required. The bucket in which to create the view `\"projects/[PROJECT_ID]/locations/[LOCATION_ID]/buckets/[BUCKET_ID]\"` For example:\"projects/my-project/locations/global/buckets/my-bucket\"", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/buckets/[^/]+$", +"required": true, +"type": "string" +}, +"viewId": { +"description": "Required. A client-assigned identifier such as \"my-view\". Identifiers are limited to 100 characters and can include only letters, digits, underscores, hyphens, and periods.", +"location": "query", +"type": "string" +} +}, +"path": "v2/{+parent}/views", +"request": { +"$ref": "LogView" +}, +"response": { +"$ref": "LogView" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/logging.admin" +] +}, +"delete": { +"description": "Deletes a view on a log bucket. If an UNAVAILABLE error is returned, this indicates that system is not in a state where it can delete the view. If this occurs, please try again in a few minutes.", +"flatPath": "v2/projects/{projectsId}/locations/{locationsId}/buckets/{bucketsId}/views/{viewsId}", +"httpMethod": "DELETE", +"id": "logging.projects.locations.buckets.views.delete", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. The full resource name of the view to delete: \"projects/[PROJECT_ID]/locations/[LOCATION_ID]/buckets/[BUCKET_ID]/views/[VIEW_ID]\" For example:\"projects/my-project/locations/global/buckets/my-bucket/views/my-view\"", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/buckets/[^/]+/views/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v2/{+name}", +"response": { +"$ref": "Empty" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/logging.admin" +] +}, +"get": { +"description": "Gets a view on a log bucket.", +"flatPath": "v2/projects/{projectsId}/locations/{locationsId}/buckets/{bucketsId}/views/{viewsId}", +"httpMethod": "GET", +"id": "logging.projects.locations.buckets.views.get", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. The resource name of the policy: \"projects/[PROJECT_ID]/locations/[LOCATION_ID]/buckets/[BUCKET_ID]/views/[VIEW_ID]\" For example:\"projects/my-project/locations/global/buckets/my-bucket/views/my-view\"", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/buckets/[^/]+/views/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v2/{+name}", +"response": { +"$ref": "LogView" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/cloud-platform.read-only", +"https://www.googleapis.com/auth/logging.admin", +"https://www.googleapis.com/auth/logging.read" +] +}, +"getIamPolicy": { +"description": "Gets the access control policy for a resource. Returns an empty policy if the resource exists and does not have a policy set.", +"flatPath": "v2/projects/{projectsId}/locations/{locationsId}/buckets/{bucketsId}/views/{viewsId}:getIamPolicy", +"httpMethod": "POST", +"id": "logging.projects.locations.buckets.views.getIamPolicy", +"parameterOrder": [ +"resource" +], +"parameters": { +"resource": { +"description": "REQUIRED: The resource for which the policy is being requested. See Resource names (https://cloud.google.com/apis/design/resource_names) for the appropriate value for this field.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/buckets/[^/]+/views/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v2/{+resource}:getIamPolicy", +"request": { +"$ref": "GetIamPolicyRequest" +}, +"response": { +"$ref": "Policy" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/cloud-platform.read-only", +"https://www.googleapis.com/auth/logging.admin", +"https://www.googleapis.com/auth/logging.read" +] +}, +"list": { +"description": "Lists views on a log bucket.", +"flatPath": "v2/projects/{projectsId}/locations/{locationsId}/buckets/{bucketsId}/views", +"httpMethod": "GET", +"id": "logging.projects.locations.buckets.views.list", +"parameterOrder": [ +"parent" +], +"parameters": { +"pageSize": { +"description": "Optional. The maximum number of results to return from this request.Non-positive values are ignored. The presence of nextPageToken in the response indicates that more results might be available.", +"format": "int32", +"location": "query", +"type": "integer" +}, +"pageToken": { +"description": "Optional. If present, then retrieve the next batch of results from the preceding call to this method. pageToken must be the value of nextPageToken from the previous response. The values of other method parameters should be identical to those in the previous call.", +"location": "query", +"type": "string" +}, +"parent": { +"description": "Required. The bucket whose views are to be listed: \"projects/[PROJECT_ID]/locations/[LOCATION_ID]/buckets/[BUCKET_ID]\" ", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/buckets/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v2/{+parent}/views", +"response": { +"$ref": "ListViewsResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/cloud-platform.read-only", +"https://www.googleapis.com/auth/logging.admin", +"https://www.googleapis.com/auth/logging.read" +] +}, +"patch": { +"description": "Updates a view on a log bucket. This method replaces the value of the filter field from the existing view with the corresponding value from the new view. If an UNAVAILABLE error is returned, this indicates that system is not in a state where it can update the view. If this occurs, please try again in a few minutes.", +"flatPath": "v2/projects/{projectsId}/locations/{locationsId}/buckets/{bucketsId}/views/{viewsId}", +"httpMethod": "PATCH", +"id": "logging.projects.locations.buckets.views.patch", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. The full resource name of the view to update \"projects/[PROJECT_ID]/locations/[LOCATION_ID]/buckets/[BUCKET_ID]/views/[VIEW_ID]\" For example:\"projects/my-project/locations/global/buckets/my-bucket/views/my-view\"", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/buckets/[^/]+/views/[^/]+$", +"required": true, +"type": "string" +}, +"updateMask": { +"description": "Optional. Field mask that specifies the fields in view that need an update. A field will be overwritten if, and only if, it is in the update mask. name and output only fields cannot be updated.For a detailed FieldMask definition, see https://developers.google.com/protocol-buffers/docs/reference/google.protobuf#google.protobuf.FieldMaskFor example: updateMask=filter", +"format": "google-fieldmask", +"location": "query", +"type": "string" +} +}, +"path": "v2/{+name}", +"request": { +"$ref": "LogView" +}, +"response": { +"$ref": "LogView" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/logging.admin" +] +}, +"setIamPolicy": { +"description": "Sets the access control policy on the specified resource. Replaces any existing policy.Can return NOT_FOUND, INVALID_ARGUMENT, and PERMISSION_DENIED errors.", +"flatPath": "v2/projects/{projectsId}/locations/{locationsId}/buckets/{bucketsId}/views/{viewsId}:setIamPolicy", +"httpMethod": "POST", +"id": "logging.projects.locations.buckets.views.setIamPolicy", +"parameterOrder": [ +"resource" +], +"parameters": { +"resource": { +"description": "REQUIRED: The resource for which the policy is being specified. See Resource names (https://cloud.google.com/apis/design/resource_names) for the appropriate value for this field.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/buckets/[^/]+/views/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v2/{+resource}:setIamPolicy", +"request": { +"$ref": "SetIamPolicyRequest" +}, +"response": { +"$ref": "Policy" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/logging.admin" +] +}, +"testIamPermissions": { +"description": "Returns permissions that a caller has on the specified resource. If the resource does not exist, this will return an empty set of permissions, not a NOT_FOUND error.Note: This operation is designed to be used for building permission-aware UIs and command-line tools, not for authorization checking. This operation may \"fail open\" without warning.", +"flatPath": "v2/projects/{projectsId}/locations/{locationsId}/buckets/{bucketsId}/views/{viewsId}:testIamPermissions", +"httpMethod": "POST", +"id": "logging.projects.locations.buckets.views.testIamPermissions", +"parameterOrder": [ +"resource" +], +"parameters": { +"resource": { +"description": "REQUIRED: The resource for which the policy detail is being requested. See Resource names (https://cloud.google.com/apis/design/resource_names) for the appropriate value for this field.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/buckets/[^/]+/views/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v2/{+resource}:testIamPermissions", +"request": { +"$ref": "TestIamPermissionsRequest" +}, +"response": { +"$ref": "TestIamPermissionsResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/cloud-platform.read-only", +"https://www.googleapis.com/auth/logging.admin", +"https://www.googleapis.com/auth/logging.read" +] +} +}, +"resources": { +"logs": { +"methods": { +"list": { +"description": "Lists the logs in projects, organizations, folders, or billing accounts. Only logs that have entries are listed.", +"flatPath": "v2/projects/{projectsId}/locations/{locationsId}/buckets/{bucketsId}/views/{viewsId}/logs", +"httpMethod": "GET", +"id": "logging.projects.locations.buckets.views.logs.list", +"parameterOrder": [ +"parent" +], +"parameters": { +"pageSize": { +"description": "Optional. The maximum number of results to return from this request. Non-positive values are ignored. The presence of nextPageToken in the response indicates that more results might be available.", +"format": "int32", +"location": "query", +"type": "integer" +}, +"pageToken": { +"description": "Optional. If present, then retrieve the next batch of results from the preceding call to this method. pageToken must be the value of nextPageToken from the previous response. The values of other method parameters should be identical to those in the previous call.", +"location": "query", +"type": "string" +}, +"parent": { +"description": "Required. The resource name to list logs for: projects/[PROJECT_ID] organizations/[ORGANIZATION_ID] billingAccounts/[BILLING_ACCOUNT_ID] folders/[FOLDER_ID]", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/buckets/[^/]+/views/[^/]+$", +"required": true, +"type": "string" +}, +"resourceNames": { +"description": "Optional. List of resource names to list logs for: projects/[PROJECT_ID]/locations/[LOCATION_ID]/buckets/[BUCKET_ID]/views/[VIEW_ID] organizations/[ORGANIZATION_ID]/locations/[LOCATION_ID]/buckets/[BUCKET_ID]/views/[VIEW_ID] billingAccounts/[BILLING_ACCOUNT_ID]/locations/[LOCATION_ID]/buckets/[BUCKET_ID]/views/[VIEW_ID] folders/[FOLDER_ID]/locations/[LOCATION_ID]/buckets/[BUCKET_ID]/views/[VIEW_ID]To support legacy queries, it could also be: projects/[PROJECT_ID] organizations/[ORGANIZATION_ID] billingAccounts/[BILLING_ACCOUNT_ID] folders/[FOLDER_ID]The resource name in the parent field is added to this list.", +"location": "query", +"repeated": true, +"type": "string" +} +}, +"path": "v2/{+parent}/logs", +"response": { +"$ref": "ListLogsResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/cloud-platform.read-only", +"https://www.googleapis.com/auth/logging.admin", +"https://www.googleapis.com/auth/logging.read" +] +} +} +} +} +} +} +}, +"logScopes": { +"methods": { +"create": { +"description": "Creates a log scope.", +"flatPath": "v2/projects/{projectsId}/locations/{locationsId}/logScopes", +"httpMethod": "POST", +"id": "logging.projects.locations.logScopes.create", +"parameterOrder": [ +"parent" +], +"parameters": { +"logScopeId": { +"description": "Required. A client-assigned identifier such as \"log-scope\". Identifiers are limited to 100 characters and can include only letters, digits, underscores, hyphens, and periods. First character has to be alphanumeric.", +"location": "query", +"type": "string" +}, +"parent": { +"description": "Required. The parent project in which to create the log scope \"projects/[PROJECT_ID]/locations/[LOCATION_ID]\" For example:\"projects/my-project/locations/global\"", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v2/{+parent}/logScopes", +"request": { +"$ref": "LogScope" +}, +"response": { +"$ref": "LogScope" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/logging.admin" +] +}, +"delete": { +"description": "Deletes a log scope.", +"flatPath": "v2/projects/{projectsId}/locations/{locationsId}/logScopes/{logScopesId}", +"httpMethod": "DELETE", +"id": "logging.projects.locations.logScopes.delete", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. The resource name of the log scope to delete: \"projects/[PROJECT_ID]/locations/[LOCATION_ID]/logScopes/[LOG_SCOPE_ID]\" For example:\"projects/my-project/locations/global/logScopes/my-log-scope\"", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/logScopes/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v2/{+name}", +"response": { +"$ref": "Empty" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/logging.admin" +] +}, +"get": { +"description": "Gets a log scope.", +"flatPath": "v2/projects/{projectsId}/locations/{locationsId}/logScopes/{logScopesId}", +"httpMethod": "GET", +"id": "logging.projects.locations.logScopes.get", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. The resource name of the log scope: \"projects/[PROJECT_ID]/locations/[LOCATION_ID]/logScopes/[LOG_SCOPE_ID]\" For example:\"projects/my-project/locations/global/logScopes/my-log-scope\"", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/logScopes/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v2/{+name}", +"response": { +"$ref": "LogScope" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/cloud-platform.read-only", +"https://www.googleapis.com/auth/logging.admin", +"https://www.googleapis.com/auth/logging.read" +] +}, +"list": { +"description": "Lists log scopes.", +"flatPath": "v2/projects/{projectsId}/locations/{locationsId}/logScopes", +"httpMethod": "GET", +"id": "logging.projects.locations.logScopes.list", +"parameterOrder": [ +"parent" +], +"parameters": { +"pageSize": { +"description": "Optional. The maximum number of results to return from this request.Non-positive values are ignored. The presence of nextPageToken in the response indicates that more results might be available.", +"format": "int32", +"location": "query", +"type": "integer" +}, +"pageToken": { +"description": "Optional. If present, then retrieve the next batch of results from the preceding call to this method. pageToken must be the value of nextPageToken from the previous response. The values of other method parameters should be identical to those in the previous call.", +"location": "query", +"type": "string" +}, +"parent": { +"description": "Required. The parent resource whose log scopes are to be listed: \"projects/[PROJECT_ID]/locations/[LOCATION_ID]\" ", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v2/{+parent}/logScopes", +"response": { +"$ref": "ListLogScopesResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/cloud-platform.read-only", +"https://www.googleapis.com/auth/logging.admin", +"https://www.googleapis.com/auth/logging.read" +] +}, +"patch": { +"description": "Updates a log scope.", +"flatPath": "v2/projects/{projectsId}/locations/{locationsId}/logScopes/{logScopesId}", +"httpMethod": "PATCH", +"id": "logging.projects.locations.logScopes.patch", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Output only. The resource name of the log scope.Log scopes are only available in the global location. For example:projects/my-project/locations/global/logScopes/my-log-scope", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/logScopes/[^/]+$", +"required": true, +"type": "string" +}, +"updateMask": { +"description": "Optional. Field mask that specifies the fields in log_scope that need an update. A field will be overwritten if, and only if, it is in the update mask. name and output only fields cannot be updated.For a detailed FieldMask definition, see https://developers.google.com/protocol-buffers/docs/reference/google.protobuf#google.protobuf.FieldMaskFor example: updateMask=description", +"format": "google-fieldmask", +"location": "query", +"type": "string" +} +}, +"path": "v2/{+name}", +"request": { +"$ref": "LogScope" +}, +"response": { +"$ref": "LogScope" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/logging.admin" +] +} +} +}, +"operations": { +"methods": { +"cancel": { +"description": "Starts asynchronous cancellation on a long-running operation. The server makes a best effort to cancel the operation, but success is not guaranteed. If the server doesn't support this method, it returns google.rpc.Code.UNIMPLEMENTED. Clients can use Operations.GetOperation or other methods to check whether the cancellation succeeded or whether the operation completed despite cancellation. On successful cancellation, the operation is not deleted; instead, it becomes an operation with an Operation.error value with a google.rpc.Status.code of 1, corresponding to Code.CANCELLED.", +"flatPath": "v2/projects/{projectsId}/locations/{locationsId}/operations/{operationsId}:cancel", +"httpMethod": "POST", +"id": "logging.projects.locations.operations.cancel", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "The name of the operation resource to be cancelled.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/operations/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v2/{+name}:cancel", +"request": { +"$ref": "CancelOperationRequest" +}, +"response": { +"$ref": "Empty" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/logging.admin" +] +}, +"get": { +"description": "Gets the latest state of a long-running operation. Clients can use this method to poll the operation result at intervals as recommended by the API service.", +"flatPath": "v2/projects/{projectsId}/locations/{locationsId}/operations/{operationsId}", +"httpMethod": "GET", +"id": "logging.projects.locations.operations.get", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "The name of the operation resource.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/operations/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v2/{+name}", +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/cloud-platform.read-only", +"https://www.googleapis.com/auth/logging.admin", +"https://www.googleapis.com/auth/logging.read" +] +}, +"list": { +"description": "Lists operations that match the specified filter in the request. If the server doesn't support this method, it returns UNIMPLEMENTED.", +"flatPath": "v2/projects/{projectsId}/locations/{locationsId}/operations", +"httpMethod": "GET", +"id": "logging.projects.locations.operations.list", +"parameterOrder": [ +"name" +], +"parameters": { +"filter": { +"description": "The standard list filter.", +"location": "query", +"type": "string" +}, +"name": { +"description": "The name of the operation's parent resource.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+$", +"required": true, +"type": "string" +}, +"pageSize": { +"description": "The standard list page size.", +"format": "int32", +"location": "query", +"type": "integer" +}, +"pageToken": { +"description": "The standard list page token.", +"location": "query", +"type": "string" +} +}, +"path": "v2/{+name}/operations", +"response": { +"$ref": "ListOperationsResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/cloud-platform.read-only", +"https://www.googleapis.com/auth/logging.admin", +"https://www.googleapis.com/auth/logging.read" +] +} +} +}, +"recentQueries": { +"methods": { +"list": { +"description": "Lists the RecentQueries that were created by the user making the request.", +"flatPath": "v2/projects/{projectsId}/locations/{locationsId}/recentQueries", +"httpMethod": "GET", +"id": "logging.projects.locations.recentQueries.list", +"parameterOrder": [ +"parent" +], +"parameters": { +"filter": { +"description": "Optional. Specifies the type (\"Logging\" or \"OpsAnalytics\") of the recent queries to list. The only valid value for this field is one of the two allowable type function calls, which are the following: type(\"Logging\") type(\"OpsAnalytics\")", +"location": "query", +"type": "string" +}, +"pageSize": { +"description": "Optional. The maximum number of results to return from this request. Non-positive values are ignored. The presence of nextPageToken in the response indicates that more results might be available.", +"format": "int32", +"location": "query", +"type": "integer" +}, +"pageToken": { +"description": "Optional. If present, then retrieve the next batch of results from the preceding call to this method. pageToken must be the value of nextPageToken from the previous response. The values of other method parameters should be identical to those in the previous call.", +"location": "query", +"type": "string" +}, +"parent": { +"description": "Required. The resource to which the listed queries belong. \"projects/[PROJECT_ID]/locations/[LOCATION_ID]\" \"organizations/[ORGANIZATION_ID]/locations/[LOCATION_ID]\" \"billingAccounts/[BILLING_ACCOUNT_ID]/locations/[LOCATION_ID]\" \"folders/[FOLDER_ID]/locations/[LOCATION_ID]\" For example:projects/my-project/locations/us-central1Note: The location portion of the resource must be specified, but supplying the character - in place of LOCATION_ID will return all recent queries.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v2/{+parent}/recentQueries", +"response": { +"$ref": "ListRecentQueriesResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/cloud-platform.read-only", +"https://www.googleapis.com/auth/logging.admin", +"https://www.googleapis.com/auth/logging.read" +] +} +} +}, +"savedQueries": { +"methods": { +"create": { +"description": "Creates a new SavedQuery for the user making the request.", +"flatPath": "v2/projects/{projectsId}/locations/{locationsId}/savedQueries", +"httpMethod": "POST", +"id": "logging.projects.locations.savedQueries.create", +"parameterOrder": [ +"parent" +], +"parameters": { +"parent": { +"description": "Required. The parent resource in which to create the saved query: \"projects/[PROJECT_ID]/locations/[LOCATION_ID]\" \"organizations/[ORGANIZATION_ID]/locations/[LOCATION_ID]\" \"billingAccounts/[BILLING_ACCOUNT_ID]/locations/[LOCATION_ID]\" \"folders/[FOLDER_ID]/locations/[LOCATION_ID]\" For example: \"projects/my-project/locations/global\" \"organizations/123456789/locations/us-central1\" ", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+$", +"required": true, +"type": "string" +}, +"savedQueryId": { +"description": "Optional. The ID to use for the saved query, which will become the final component of the saved query's resource name.If the saved_query_id is not provided, the system will generate an alphanumeric ID.The saved_query_id is limited to 100 characters and can include only the following characters: upper and lower-case alphanumeric characters, underscores, hyphens, periods.First character has to be alphanumeric.", +"location": "query", +"type": "string" +} +}, +"path": "v2/{+parent}/savedQueries", +"request": { +"$ref": "SavedQuery" +}, +"response": { +"$ref": "SavedQuery" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/logging.admin" +] +}, +"delete": { +"description": "Deletes an existing SavedQuery that was created by the user making the request.", +"flatPath": "v2/projects/{projectsId}/locations/{locationsId}/savedQueries/{savedQueriesId}", +"httpMethod": "DELETE", +"id": "logging.projects.locations.savedQueries.delete", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. The full resource name of the saved query to delete. \"projects/[PROJECT_ID]/locations/[LOCATION_ID]/savedQueries/[QUERY_ID]\" \"organizations/[ORGANIZATION_ID]/locations/[LOCATION_ID]/savedQueries/[QUERY_ID]\" \"billingAccounts/[BILLING_ACCOUNT_ID]/locations/[LOCATION_ID]/savedQueries/[QUERY_ID]\" \"folders/[FOLDER_ID]/locations/[LOCATION_ID]/savedQueries/[QUERY_ID]\" For example: \"projects/my-project/locations/global/savedQueries/my-saved-query\" ", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/savedQueries/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v2/{+name}", +"response": { +"$ref": "Empty" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/logging.admin" +] +}, +"get": { +"description": "Returns all data associated with the requested query.", +"flatPath": "v2/projects/{projectsId}/locations/{locationsId}/savedQueries/{savedQueriesId}", +"httpMethod": "GET", +"id": "logging.projects.locations.savedQueries.get", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. The resource name of the saved query. \"projects/[PROJECT_ID]/locations/[LOCATION_ID]/savedQueries/[QUERY_ID]\" \"organizations/[ORGANIZATION_ID]/locations/[LOCATION_ID]/savedQueries/[QUERY_ID]\" \"billingAccounts/[BILLING_ACCOUNT_ID]/locations/[LOCATION_ID]/savedQueries/[QUERY_ID]\" \"folders/[FOLDER_ID]/locations/[LOCATION_ID]/savedQueries/[QUERY_ID]\" For example: \"projects/my-project/locations/global/savedQueries/my-saved-query\" ", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/savedQueries/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v2/{+name}", +"response": { +"$ref": "SavedQuery" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/cloud-platform.read-only", +"https://www.googleapis.com/auth/logging.admin", +"https://www.googleapis.com/auth/logging.read" +] +}, +"list": { +"description": "Lists the SavedQueries that were created by the user making the request.", +"flatPath": "v2/projects/{projectsId}/locations/{locationsId}/savedQueries", +"httpMethod": "GET", +"id": "logging.projects.locations.savedQueries.list", +"parameterOrder": [ +"parent" +], +"parameters": { +"filter": { +"description": "Optional. Specifies the type (\"Logging\" or \"OpsAnalytics\") and the visibility (PRIVATE or SHARED) of the saved queries to list. If provided, the filter must contain either the type function or a visibility token, or both. If both are chosen, they can be placed in any order, but they must be joined by the AND operator or the empty character.The two supported type function calls are: type(\"Logging\") type(\"OpsAnalytics\")The two supported visibility tokens are: visibility = PRIVATE visibility = SHAREDFor example:type(\"Logging\") AND visibility = PRIVATE visibility=SHARED type(\"OpsAnalytics\") type(\"OpsAnalytics)\" visibility = PRIVATE visibility = SHARED", +"location": "query", +"type": "string" +}, +"pageSize": { +"description": "Optional. The maximum number of results to return from this request.Non-positive values are ignored. The presence of nextPageToken in the response indicates that more results might be available.", +"format": "int32", +"location": "query", +"type": "integer" +}, +"pageToken": { +"description": "Optional. If present, then retrieve the next batch of results from the preceding call to this method. pageToken must be the value of nextPageToken from the previous response. The values of other method parameters should be identical to those in the previous call.", +"location": "query", +"type": "string" +}, +"parent": { +"description": "Required. The resource to which the listed queries belong. \"projects/[PROJECT_ID]/locations/[LOCATION_ID]\" \"organizations/[ORGANIZATION_ID]/locations/[LOCATION_ID]\" \"billingAccounts/[BILLING_ACCOUNT_ID]/locations/[LOCATION_ID]\" \"folders/[FOLDER_ID]/locations/[LOCATION_ID]\" For example: \"projects/my-project/locations/us-central1\" Note: The locations portion of the resource must be specified. To get a list of all saved queries, a wildcard character - can be used for LOCATION_ID, for example: \"projects/my-project/locations/-\" ", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v2/{+parent}/savedQueries", +"response": { +"$ref": "ListSavedQueriesResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/cloud-platform.read-only", +"https://www.googleapis.com/auth/logging.admin", +"https://www.googleapis.com/auth/logging.read" +] +}, +"patch": { +"description": "Updates an existing SavedQuery.", +"flatPath": "v2/projects/{projectsId}/locations/{locationsId}/savedQueries/{savedQueriesId}", +"httpMethod": "PATCH", +"id": "logging.projects.locations.savedQueries.patch", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Output only. Resource name of the saved query.In the format: \"projects/[PROJECT_ID]/locations/[LOCATION_ID]/savedQueries/[QUERY_ID]\" For a list of supported locations, see Supported Regions (https://cloud.google.com/logging/docs/region-support#bucket-regions)After the saved query is created, the location cannot be changed.If the user doesn't provide a QUERY_ID, the system will generate an alphanumeric ID.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/savedQueries/[^/]+$", +"required": true, +"type": "string" +}, +"updateMask": { +"description": "Required. A non-empty list of fields to change in the existing saved query. Fields are relative to the saved_query and new values for the fields are taken from the corresponding fields in the SavedQuery included in this request. Fields not mentioned in update_mask are not changed and are ignored in the request.To update all mutable fields, specify an update_mask of *.For example, to change the description and query filter text of a saved query, specify an update_mask of \"description, query.filter\".", +"format": "google-fieldmask", +"location": "query", +"type": "string" +} +}, +"path": "v2/{+name}", +"request": { +"$ref": "SavedQuery" +}, +"response": { +"$ref": "SavedQuery" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/logging.admin" +] +} +} +} +} +}, +"logs": { +"methods": { +"delete": { +"description": "Deletes all the log entries in a log for the _Default Log Bucket. The log reappears if it receives new entries. Log entries written shortly before the delete operation might not be deleted. Entries received after the delete operation with a timestamp before the operation will be deleted.", +"flatPath": "v2/projects/{projectsId}/logs/{logsId}", +"httpMethod": "DELETE", +"id": "logging.projects.logs.delete", +"parameterOrder": [ +"logName" +], +"parameters": { +"logName": { +"description": "Required. The resource name of the log to delete: projects/[PROJECT_ID]/logs/[LOG_ID] organizations/[ORGANIZATION_ID]/logs/[LOG_ID] billingAccounts/[BILLING_ACCOUNT_ID]/logs/[LOG_ID] folders/[FOLDER_ID]/logs/[LOG_ID][LOG_ID] must be URL-encoded. For example, \"projects/my-project-id/logs/syslog\", \"organizations/123/logs/cloudaudit.googleapis.com%2Factivity\".For more information about log names, see LogEntry.", +"location": "path", +"pattern": "^projects/[^/]+/logs/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v2/{+logName}", +"response": { +"$ref": "Empty" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/logging.admin" +] +}, +"list": { +"description": "Lists the logs in projects, organizations, folders, or billing accounts. Only logs that have entries are listed.", +"flatPath": "v2/projects/{projectsId}/logs", +"httpMethod": "GET", +"id": "logging.projects.logs.list", +"parameterOrder": [ +"parent" +], +"parameters": { +"pageSize": { +"description": "Optional. The maximum number of results to return from this request. Non-positive values are ignored. The presence of nextPageToken in the response indicates that more results might be available.", +"format": "int32", +"location": "query", +"type": "integer" +}, +"pageToken": { +"description": "Optional. If present, then retrieve the next batch of results from the preceding call to this method. pageToken must be the value of nextPageToken from the previous response. The values of other method parameters should be identical to those in the previous call.", +"location": "query", +"type": "string" +}, +"parent": { +"description": "Required. The resource name to list logs for: projects/[PROJECT_ID] organizations/[ORGANIZATION_ID] billingAccounts/[BILLING_ACCOUNT_ID] folders/[FOLDER_ID]", +"location": "path", +"pattern": "^projects/[^/]+$", +"required": true, +"type": "string" +}, +"resourceNames": { +"description": "Optional. List of resource names to list logs for: projects/[PROJECT_ID]/locations/[LOCATION_ID]/buckets/[BUCKET_ID]/views/[VIEW_ID] organizations/[ORGANIZATION_ID]/locations/[LOCATION_ID]/buckets/[BUCKET_ID]/views/[VIEW_ID] billingAccounts/[BILLING_ACCOUNT_ID]/locations/[LOCATION_ID]/buckets/[BUCKET_ID]/views/[VIEW_ID] folders/[FOLDER_ID]/locations/[LOCATION_ID]/buckets/[BUCKET_ID]/views/[VIEW_ID]To support legacy queries, it could also be: projects/[PROJECT_ID] organizations/[ORGANIZATION_ID] billingAccounts/[BILLING_ACCOUNT_ID] folders/[FOLDER_ID]The resource name in the parent field is added to this list.", +"location": "query", +"repeated": true, +"type": "string" +} +}, +"path": "v2/{+parent}/logs", +"response": { +"$ref": "ListLogsResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/cloud-platform.read-only", +"https://www.googleapis.com/auth/logging.admin", +"https://www.googleapis.com/auth/logging.read" +] +} +} +}, +"metrics": { +"methods": { +"create": { +"description": "Creates a logs-based metric.", +"flatPath": "v2/projects/{projectsId}/metrics", +"httpMethod": "POST", +"id": "logging.projects.metrics.create", +"parameterOrder": [ +"parent" +], +"parameters": { +"parent": { +"description": "Required. The resource name of the project in which to create the metric: \"projects/[PROJECT_ID]\" The new metric must be provided in the request.", +"location": "path", +"pattern": "^projects/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v2/{+parent}/metrics", +"request": { +"$ref": "LogMetric" +}, +"response": { +"$ref": "LogMetric" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/logging.admin", +"https://www.googleapis.com/auth/logging.write" +] +}, +"delete": { +"description": "Deletes a logs-based metric.", +"flatPath": "v2/projects/{projectsId}/metrics/{metricsId}", +"httpMethod": "DELETE", +"id": "logging.projects.metrics.delete", +"parameterOrder": [ +"metricName" +], +"parameters": { +"metricName": { +"description": "Required. The resource name of the metric to delete: \"projects/[PROJECT_ID]/metrics/[METRIC_ID]\" ", +"location": "path", +"pattern": "^projects/[^/]+/metrics/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v2/{+metricName}", +"response": { +"$ref": "Empty" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/logging.admin", +"https://www.googleapis.com/auth/logging.write" +] +}, +"get": { +"description": "Gets a logs-based metric.", +"flatPath": "v2/projects/{projectsId}/metrics/{metricsId}", +"httpMethod": "GET", +"id": "logging.projects.metrics.get", +"parameterOrder": [ +"metricName" +], +"parameters": { +"metricName": { +"description": "Required. The resource name of the desired metric: \"projects/[PROJECT_ID]/metrics/[METRIC_ID]\" ", +"location": "path", +"pattern": "^projects/[^/]+/metrics/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v2/{+metricName}", +"response": { +"$ref": "LogMetric" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/cloud-platform.read-only", +"https://www.googleapis.com/auth/logging.admin", +"https://www.googleapis.com/auth/logging.read" +] +}, +"list": { +"description": "Lists logs-based metrics.", +"flatPath": "v2/projects/{projectsId}/metrics", +"httpMethod": "GET", +"id": "logging.projects.metrics.list", +"parameterOrder": [ +"parent" +], +"parameters": { +"pageSize": { +"description": "Optional. The maximum number of results to return from this request. Non-positive values are ignored. The presence of nextPageToken in the response indicates that more results might be available.", +"format": "int32", +"location": "query", +"type": "integer" +}, +"pageToken": { +"description": "Optional. If present, then retrieve the next batch of results from the preceding call to this method. pageToken must be the value of nextPageToken from the previous response. The values of other method parameters should be identical to those in the previous call.", +"location": "query", +"type": "string" +}, +"parent": { +"description": "Required. The name of the project containing the metrics: \"projects/[PROJECT_ID]\" ", +"location": "path", +"pattern": "^projects/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v2/{+parent}/metrics", +"response": { +"$ref": "ListLogMetricsResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/cloud-platform.read-only", +"https://www.googleapis.com/auth/logging.admin", +"https://www.googleapis.com/auth/logging.read" +] +}, +"update": { +"description": "Creates or updates a logs-based metric.", +"flatPath": "v2/projects/{projectsId}/metrics/{metricsId}", +"httpMethod": "PUT", +"id": "logging.projects.metrics.update", +"parameterOrder": [ +"metricName" +], +"parameters": { +"metricName": { +"description": "Required. The resource name of the metric to update: \"projects/[PROJECT_ID]/metrics/[METRIC_ID]\" The updated metric must be provided in the request and it's name field must be the same as [METRIC_ID] If the metric does not exist in [PROJECT_ID], then a new metric is created.", +"location": "path", +"pattern": "^projects/[^/]+/metrics/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v2/{+metricName}", +"request": { +"$ref": "LogMetric" +}, +"response": { +"$ref": "LogMetric" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/logging.admin", +"https://www.googleapis.com/auth/logging.write" +] +} +} +}, +"sinks": { +"methods": { +"create": { +"description": "Creates a sink that exports specified log entries to a destination. The export begins upon ingress, unless the sink's writer_identity is not permitted to write to the destination. A sink can export log entries only from the resource owning the sink.", +"flatPath": "v2/projects/{projectsId}/sinks", +"httpMethod": "POST", +"id": "logging.projects.sinks.create", +"parameterOrder": [ +"parent" +], +"parameters": { +"customWriterIdentity": { +"description": "Optional. The service account provided by the caller that will be used to write the log entries. The format must be serviceAccount:some@email. This field can only be specified when you are routing logs to a log bucket that is in a different project than the sink. When not specified, a Logging service account will automatically be generated.", +"location": "query", +"type": "string" +}, +"parent": { +"description": "Required. The resource in which to create the sink: \"projects/[PROJECT_ID]\" \"organizations/[ORGANIZATION_ID]\" \"billingAccounts/[BILLING_ACCOUNT_ID]\" \"folders/[FOLDER_ID]\" For examples:\"projects/my-project\" \"organizations/123456789\"", +"location": "path", +"pattern": "^projects/[^/]+$", +"required": true, +"type": "string" +}, +"uniqueWriterIdentity": { +"description": "Optional. Determines the kind of IAM identity returned as writer_identity in the new sink. If this value is omitted or set to false, and if the sink's parent is a project, then the value returned as writer_identity is the same group or service account used by Cloud Logging before the addition of writer identities to this API. The sink's destination must be in the same project as the sink itself.If this field is set to true, or if the sink is owned by a non-project resource such as an organization, then the value of writer_identity will be a service agent (https://cloud.google.com/iam/docs/service-account-types#service-agents) used by the sinks with the same parent. For more information, see writer_identity in LogSink.", +"location": "query", +"type": "boolean" +} +}, +"path": "v2/{+parent}/sinks", +"request": { +"$ref": "LogSink" +}, +"response": { +"$ref": "LogSink" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/logging.admin" +] +}, +"delete": { +"description": "Deletes a sink. If the sink has a unique writer_identity, then that service account is also deleted.", +"flatPath": "v2/projects/{projectsId}/sinks/{sinksId}", +"httpMethod": "DELETE", +"id": "logging.projects.sinks.delete", +"parameterOrder": [ +"sinkName" +], +"parameters": { +"sinkName": { +"description": "Required. The full resource name of the sink to delete, including the parent resource and the sink identifier: \"projects/[PROJECT_ID]/sinks/[SINK_ID]\" \"organizations/[ORGANIZATION_ID]/sinks/[SINK_ID]\" \"billingAccounts/[BILLING_ACCOUNT_ID]/sinks/[SINK_ID]\" \"folders/[FOLDER_ID]/sinks/[SINK_ID]\" For example:\"projects/my-project/sinks/my-sink\"", +"location": "path", +"pattern": "^projects/[^/]+/sinks/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v2/{+sinkName}", +"response": { +"$ref": "Empty" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/logging.admin" +] +}, +"get": { +"description": "Gets a sink.", +"flatPath": "v2/projects/{projectsId}/sinks/{sinksId}", +"httpMethod": "GET", +"id": "logging.projects.sinks.get", +"parameterOrder": [ +"sinkName" +], +"parameters": { +"sinkName": { +"description": "Required. The resource name of the sink: \"projects/[PROJECT_ID]/sinks/[SINK_ID]\" \"organizations/[ORGANIZATION_ID]/sinks/[SINK_ID]\" \"billingAccounts/[BILLING_ACCOUNT_ID]/sinks/[SINK_ID]\" \"folders/[FOLDER_ID]/sinks/[SINK_ID]\" For example:\"projects/my-project/sinks/my-sink\"", +"location": "path", +"pattern": "^projects/[^/]+/sinks/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v2/{+sinkName}", +"response": { +"$ref": "LogSink" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/cloud-platform.read-only", +"https://www.googleapis.com/auth/logging.admin", +"https://www.googleapis.com/auth/logging.read" +] +}, +"list": { +"description": "Lists sinks.", +"flatPath": "v2/projects/{projectsId}/sinks", +"httpMethod": "GET", +"id": "logging.projects.sinks.list", +"parameterOrder": [ +"parent" +], +"parameters": { +"filter": { +"description": "Optional. A filter expression to constrain the sinks returned. Today, this only supports the following strings: '' 'in_scope(\"ALL\")', 'in_scope(\"ANCESTOR\")', 'in_scope(\"DEFAULT\")'.Description of scopes below. ALL: Includes all of the sinks which can be returned in any other scope. ANCESTOR: Includes intercepting sinks owned by ancestor resources. DEFAULT: Includes sinks owned by parent.When the empty string is provided, then the filter 'in_scope(\"DEFAULT\")' is applied.", +"location": "query", +"type": "string" +}, +"pageSize": { +"description": "Optional. The maximum number of results to return from this request. Non-positive values are ignored. The presence of nextPageToken in the response indicates that more results might be available.", +"format": "int32", +"location": "query", +"type": "integer" +}, +"pageToken": { +"description": "Optional. If present, then retrieve the next batch of results from the preceding call to this method. pageToken must be the value of nextPageToken from the previous response. The values of other method parameters should be identical to those in the previous call.", +"location": "query", +"type": "string" +}, +"parent": { +"description": "Required. The parent resource whose sinks are to be listed: \"projects/[PROJECT_ID]\" \"organizations/[ORGANIZATION_ID]\" \"billingAccounts/[BILLING_ACCOUNT_ID]\" \"folders/[FOLDER_ID]\" ", +"location": "path", +"pattern": "^projects/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v2/{+parent}/sinks", +"response": { +"$ref": "ListSinksResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/cloud-platform.read-only", +"https://www.googleapis.com/auth/logging.admin", +"https://www.googleapis.com/auth/logging.read" +] +}, +"patch": { +"description": "Updates a sink. This method replaces the values of the destination and filter fields of the existing sink with the corresponding values from the new sink.The updated sink might also have a new writer_identity; see the unique_writer_identity field.", +"flatPath": "v2/projects/{projectsId}/sinks/{sinksId}", +"httpMethod": "PATCH", +"id": "logging.projects.sinks.patch", +"parameterOrder": [ +"sinkName" +], +"parameters": { +"customWriterIdentity": { +"description": "Optional. The service account provided by the caller that will be used to write the log entries. The format must be serviceAccount:some@email. This field can only be specified when you are routing logs to a log bucket that is in a different project than the sink. When not specified, a Logging service account will automatically be generated.", +"location": "query", +"type": "string" +}, +"sinkName": { +"description": "Required. The full resource name of the sink to update, including the parent resource and the sink identifier: \"projects/[PROJECT_ID]/sinks/[SINK_ID]\" \"organizations/[ORGANIZATION_ID]/sinks/[SINK_ID]\" \"billingAccounts/[BILLING_ACCOUNT_ID]/sinks/[SINK_ID]\" \"folders/[FOLDER_ID]/sinks/[SINK_ID]\" For example:\"projects/my-project/sinks/my-sink\"", +"location": "path", +"pattern": "^projects/[^/]+/sinks/[^/]+$", +"required": true, +"type": "string" +}, +"uniqueWriterIdentity": { +"description": "Optional. See sinks.create for a description of this field. When updating a sink, the effect of this field on the value of writer_identity in the updated sink depends on both the old and new values of this field: If the old and new values of this field are both false or both true, then there is no change to the sink's writer_identity. If the old value is false and the new value is true, then writer_identity is changed to a service agent (https://cloud.google.com/iam/docs/service-account-types#service-agents) owned by Cloud Logging. It is an error if the old value is true and the new value is set to false or defaulted to false.", +"location": "query", +"type": "boolean" +}, +"updateMask": { +"description": "Optional. Field mask that specifies the fields in sink that need an update. A sink field will be overwritten if, and only if, it is in the update mask. name and output only fields cannot be updated.An empty updateMask is temporarily treated as using the following mask for backwards compatibility purposes:destination,filter,includeChildrenAt some point in the future, behavior will be removed and specifying an empty updateMask will be an error.For a detailed FieldMask definition, see https://developers.google.com/protocol-buffers/docs/reference/google.protobuf#google.protobuf.FieldMaskFor example: updateMask=filter", +"format": "google-fieldmask", +"location": "query", +"type": "string" +} +}, +"path": "v2/{+sinkName}", +"request": { +"$ref": "LogSink" +}, +"response": { +"$ref": "LogSink" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/logging.admin" +] +}, +"update": { +"description": "Updates a sink. This method replaces the values of the destination and filter fields of the existing sink with the corresponding values from the new sink.The updated sink might also have a new writer_identity; see the unique_writer_identity field.", +"flatPath": "v2/projects/{projectsId}/sinks/{sinksId}", +"httpMethod": "PUT", +"id": "logging.projects.sinks.update", +"parameterOrder": [ +"sinkName" +], +"parameters": { +"customWriterIdentity": { +"description": "Optional. The service account provided by the caller that will be used to write the log entries. The format must be serviceAccount:some@email. This field can only be specified when you are routing logs to a log bucket that is in a different project than the sink. When not specified, a Logging service account will automatically be generated.", +"location": "query", +"type": "string" +}, +"sinkName": { +"description": "Required. The full resource name of the sink to update, including the parent resource and the sink identifier: \"projects/[PROJECT_ID]/sinks/[SINK_ID]\" \"organizations/[ORGANIZATION_ID]/sinks/[SINK_ID]\" \"billingAccounts/[BILLING_ACCOUNT_ID]/sinks/[SINK_ID]\" \"folders/[FOLDER_ID]/sinks/[SINK_ID]\" For example:\"projects/my-project/sinks/my-sink\"", +"location": "path", +"pattern": "^projects/[^/]+/sinks/[^/]+$", +"required": true, +"type": "string" +}, +"uniqueWriterIdentity": { +"description": "Optional. See sinks.create for a description of this field. When updating a sink, the effect of this field on the value of writer_identity in the updated sink depends on both the old and new values of this field: If the old and new values of this field are both false or both true, then there is no change to the sink's writer_identity. If the old value is false and the new value is true, then writer_identity is changed to a service agent (https://cloud.google.com/iam/docs/service-account-types#service-agents) owned by Cloud Logging. It is an error if the old value is true and the new value is set to false or defaulted to false.", +"location": "query", +"type": "boolean" +}, +"updateMask": { +"description": "Optional. Field mask that specifies the fields in sink that need an update. A sink field will be overwritten if, and only if, it is in the update mask. name and output only fields cannot be updated.An empty updateMask is temporarily treated as using the following mask for backwards compatibility purposes:destination,filter,includeChildrenAt some point in the future, behavior will be removed and specifying an empty updateMask will be an error.For a detailed FieldMask definition, see https://developers.google.com/protocol-buffers/docs/reference/google.protobuf#google.protobuf.FieldMaskFor example: updateMask=filter", +"format": "google-fieldmask", +"location": "query", +"type": "string" +} +}, +"path": "v2/{+sinkName}", +"request": { +"$ref": "LogSink" +}, +"response": { +"$ref": "LogSink" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/logging.admin" +] +} +} +} +} +}, +"sinks": { +"methods": { +"create": { +"description": "Creates a sink that exports specified log entries to a destination. The export begins upon ingress, unless the sink's writer_identity is not permitted to write to the destination. A sink can export log entries only from the resource owning the sink.", +"flatPath": "v2/{v2Id}/{v2Id1}/sinks", +"httpMethod": "POST", +"id": "logging.sinks.create", +"parameterOrder": [ +"parent" +], +"parameters": { +"customWriterIdentity": { +"description": "Optional. The service account provided by the caller that will be used to write the log entries. The format must be serviceAccount:some@email. This field can only be specified when you are routing logs to a log bucket that is in a different project than the sink. When not specified, a Logging service account will automatically be generated.", +"location": "query", +"type": "string" +}, +"parent": { +"description": "Required. The resource in which to create the sink: \"projects/[PROJECT_ID]\" \"organizations/[ORGANIZATION_ID]\" \"billingAccounts/[BILLING_ACCOUNT_ID]\" \"folders/[FOLDER_ID]\" For examples:\"projects/my-project\" \"organizations/123456789\"", +"location": "path", +"pattern": "^[^/]+/[^/]+$", +"required": true, +"type": "string" +}, +"uniqueWriterIdentity": { +"description": "Optional. Determines the kind of IAM identity returned as writer_identity in the new sink. If this value is omitted or set to false, and if the sink's parent is a project, then the value returned as writer_identity is the same group or service account used by Cloud Logging before the addition of writer identities to this API. The sink's destination must be in the same project as the sink itself.If this field is set to true, or if the sink is owned by a non-project resource such as an organization, then the value of writer_identity will be a service agent (https://cloud.google.com/iam/docs/service-account-types#service-agents) used by the sinks with the same parent. For more information, see writer_identity in LogSink.", +"location": "query", +"type": "boolean" +} +}, +"path": "v2/{+parent}/sinks", +"request": { +"$ref": "LogSink" +}, +"response": { +"$ref": "LogSink" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/logging.admin" +] +}, +"delete": { +"description": "Deletes a sink. If the sink has a unique writer_identity, then that service account is also deleted.", +"flatPath": "v2/{v2Id}/{v2Id1}/sinks/{sinksId}", +"httpMethod": "DELETE", +"id": "logging.sinks.delete", +"parameterOrder": [ +"sinkName" +], +"parameters": { +"sinkName": { +"description": "Required. The full resource name of the sink to delete, including the parent resource and the sink identifier: \"projects/[PROJECT_ID]/sinks/[SINK_ID]\" \"organizations/[ORGANIZATION_ID]/sinks/[SINK_ID]\" \"billingAccounts/[BILLING_ACCOUNT_ID]/sinks/[SINK_ID]\" \"folders/[FOLDER_ID]/sinks/[SINK_ID]\" For example:\"projects/my-project/sinks/my-sink\"", +"location": "path", +"pattern": "^[^/]+/[^/]+/sinks/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v2/{+sinkName}", +"response": { +"$ref": "Empty" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/logging.admin" +] +}, +"get": { +"description": "Gets a sink.", +"flatPath": "v2/{v2Id}/{v2Id1}/sinks/{sinksId}", +"httpMethod": "GET", +"id": "logging.sinks.get", +"parameterOrder": [ +"sinkName" +], +"parameters": { +"sinkName": { +"description": "Required. The resource name of the sink: \"projects/[PROJECT_ID]/sinks/[SINK_ID]\" \"organizations/[ORGANIZATION_ID]/sinks/[SINK_ID]\" \"billingAccounts/[BILLING_ACCOUNT_ID]/sinks/[SINK_ID]\" \"folders/[FOLDER_ID]/sinks/[SINK_ID]\" For example:\"projects/my-project/sinks/my-sink\"", +"location": "path", +"pattern": "^[^/]+/[^/]+/sinks/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v2/{+sinkName}", +"response": { +"$ref": "LogSink" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/cloud-platform.read-only", +"https://www.googleapis.com/auth/logging.admin", +"https://www.googleapis.com/auth/logging.read" +] +}, +"list": { +"description": "Lists sinks.", +"flatPath": "v2/{v2Id}/{v2Id1}/sinks", +"httpMethod": "GET", +"id": "logging.sinks.list", +"parameterOrder": [ +"parent" +], +"parameters": { +"filter": { +"description": "Optional. A filter expression to constrain the sinks returned. Today, this only supports the following strings: '' 'in_scope(\"ALL\")', 'in_scope(\"ANCESTOR\")', 'in_scope(\"DEFAULT\")'.Description of scopes below. ALL: Includes all of the sinks which can be returned in any other scope. ANCESTOR: Includes intercepting sinks owned by ancestor resources. DEFAULT: Includes sinks owned by parent.When the empty string is provided, then the filter 'in_scope(\"DEFAULT\")' is applied.", +"location": "query", +"type": "string" +}, +"pageSize": { +"description": "Optional. The maximum number of results to return from this request. Non-positive values are ignored. The presence of nextPageToken in the response indicates that more results might be available.", +"format": "int32", +"location": "query", +"type": "integer" +}, +"pageToken": { +"description": "Optional. If present, then retrieve the next batch of results from the preceding call to this method. pageToken must be the value of nextPageToken from the previous response. The values of other method parameters should be identical to those in the previous call.", +"location": "query", +"type": "string" +}, +"parent": { +"description": "Required. The parent resource whose sinks are to be listed: \"projects/[PROJECT_ID]\" \"organizations/[ORGANIZATION_ID]\" \"billingAccounts/[BILLING_ACCOUNT_ID]\" \"folders/[FOLDER_ID]\" ", +"location": "path", +"pattern": "^[^/]+/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v2/{+parent}/sinks", +"response": { +"$ref": "ListSinksResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/cloud-platform.read-only", +"https://www.googleapis.com/auth/logging.admin", +"https://www.googleapis.com/auth/logging.read" +] +}, +"update": { +"description": "Updates a sink. This method replaces the values of the destination and filter fields of the existing sink with the corresponding values from the new sink.The updated sink might also have a new writer_identity; see the unique_writer_identity field.", +"flatPath": "v2/{v2Id}/{v2Id1}/sinks/{sinksId}", +"httpMethod": "PUT", +"id": "logging.sinks.update", +"parameterOrder": [ +"sinkName" +], +"parameters": { +"customWriterIdentity": { +"description": "Optional. The service account provided by the caller that will be used to write the log entries. The format must be serviceAccount:some@email. This field can only be specified when you are routing logs to a log bucket that is in a different project than the sink. When not specified, a Logging service account will automatically be generated.", +"location": "query", +"type": "string" +}, +"sinkName": { +"description": "Required. The full resource name of the sink to update, including the parent resource and the sink identifier: \"projects/[PROJECT_ID]/sinks/[SINK_ID]\" \"organizations/[ORGANIZATION_ID]/sinks/[SINK_ID]\" \"billingAccounts/[BILLING_ACCOUNT_ID]/sinks/[SINK_ID]\" \"folders/[FOLDER_ID]/sinks/[SINK_ID]\" For example:\"projects/my-project/sinks/my-sink\"", +"location": "path", +"pattern": "^[^/]+/[^/]+/sinks/[^/]+$", +"required": true, +"type": "string" +}, +"uniqueWriterIdentity": { +"description": "Optional. See sinks.create for a description of this field. When updating a sink, the effect of this field on the value of writer_identity in the updated sink depends on both the old and new values of this field: If the old and new values of this field are both false or both true, then there is no change to the sink's writer_identity. If the old value is false and the new value is true, then writer_identity is changed to a service agent (https://cloud.google.com/iam/docs/service-account-types#service-agents) owned by Cloud Logging. It is an error if the old value is true and the new value is set to false or defaulted to false.", +"location": "query", +"type": "boolean" +}, +"updateMask": { +"description": "Optional. Field mask that specifies the fields in sink that need an update. A sink field will be overwritten if, and only if, it is in the update mask. name and output only fields cannot be updated.An empty updateMask is temporarily treated as using the following mask for backwards compatibility purposes:destination,filter,includeChildrenAt some point in the future, behavior will be removed and specifying an empty updateMask will be an error.For a detailed FieldMask definition, see https://developers.google.com/protocol-buffers/docs/reference/google.protobuf#google.protobuf.FieldMaskFor example: updateMask=filter", +"format": "google-fieldmask", +"location": "query", +"type": "string" +} +}, +"path": "v2/{+sinkName}", +"request": { +"$ref": "LogSink" +}, +"response": { +"$ref": "LogSink" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/logging.admin" +] +} +} +}, +"v2": { +"methods": { +"getCmekSettings": { +"description": "Gets the Logging CMEK settings for the given resource.Note: CMEK for the Log Router can be configured for Google Cloud projects, folders, organizations, and billing accounts. Once configured for an organization, it applies to all projects and folders in the Google Cloud organization.See Enabling CMEK for Log Router (https://cloud.google.com/logging/docs/routing/managed-encryption) for more information.", +"flatPath": "v2/{v2Id}/{v2Id1}/cmekSettings", +"httpMethod": "GET", +"id": "logging.getCmekSettings", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. The resource for which to retrieve CMEK settings. \"projects/[PROJECT_ID]/cmekSettings\" \"organizations/[ORGANIZATION_ID]/cmekSettings\" \"billingAccounts/[BILLING_ACCOUNT_ID]/cmekSettings\" \"folders/[FOLDER_ID]/cmekSettings\" For example:\"organizations/12345/cmekSettings\"Note: CMEK for the Log Router can be configured for Google Cloud projects, folders, organizations, and billing accounts. Once configured for an organization, it applies to all projects and folders in the Google Cloud organization.", +"location": "path", +"pattern": "^[^/]+/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v2/{+name}/cmekSettings", +"response": { +"$ref": "CmekSettings" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/cloud-platform.read-only", +"https://www.googleapis.com/auth/logging.admin", +"https://www.googleapis.com/auth/logging.read" +] +}, +"getSettings": { +"description": "Gets the settings for the given resource.Note: Settings can be retrieved for Google Cloud projects, folders, organizations, and billing accounts.See View default resource settings for Logging (https://cloud.google.com/logging/docs/default-settings#view-org-settings) for more information.", +"flatPath": "v2/{v2Id}/{v2Id1}/settings", +"httpMethod": "GET", +"id": "logging.getSettings", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. The resource for which to retrieve settings. \"projects/[PROJECT_ID]/settings\" \"organizations/[ORGANIZATION_ID]/settings\" \"billingAccounts/[BILLING_ACCOUNT_ID]/settings\" \"folders/[FOLDER_ID]/settings\" For example:\"organizations/12345/settings\"Note: Settings can be retrieved for Google Cloud projects, folders, organizations, and billing accounts.", +"location": "path", +"pattern": "^[^/]+/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v2/{+name}/settings", +"response": { +"$ref": "Settings" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/cloud-platform.read-only", +"https://www.googleapis.com/auth/logging.admin", +"https://www.googleapis.com/auth/logging.read" +] +}, +"updateCmekSettings": { +"description": "Updates the Log Router CMEK settings for the given resource.Note: CMEK for the Log Router can currently only be configured for Google Cloud organizations. Once configured, it applies to all projects and folders in the Google Cloud organization.UpdateCmekSettings fails when any of the following are true: The value of kms_key_name is invalid. The associated service account doesn't have the required roles/cloudkms.cryptoKeyEncrypterDecrypter role assigned for the key. Access to the key is disabled.See Enabling CMEK for Log Router (https://cloud.google.com/logging/docs/routing/managed-encryption) for more information.", +"flatPath": "v2/{v2Id}/{v2Id1}/cmekSettings", +"httpMethod": "PATCH", +"id": "logging.updateCmekSettings", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. The resource name for the CMEK settings to update. \"projects/[PROJECT_ID]/cmekSettings\" \"organizations/[ORGANIZATION_ID]/cmekSettings\" \"billingAccounts/[BILLING_ACCOUNT_ID]/cmekSettings\" \"folders/[FOLDER_ID]/cmekSettings\" For example:\"organizations/12345/cmekSettings\"Note: CMEK for the Log Router can currently only be configured for Google Cloud organizations. Once configured, it applies to all projects and folders in the Google Cloud organization.", +"location": "path", +"pattern": "^[^/]+/[^/]+$", +"required": true, +"type": "string" +}, +"updateMask": { +"description": "Optional. Field mask identifying which fields from cmek_settings should be updated. A field will be overwritten if and only if it is in the update mask. Output only fields cannot be updated.See FieldMask for more information.For example: \"updateMask=kmsKeyName\"", +"format": "google-fieldmask", +"location": "query", +"type": "string" +} +}, +"path": "v2/{+name}/cmekSettings", +"request": { +"$ref": "CmekSettings" +}, +"response": { +"$ref": "CmekSettings" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/logging.admin" +] +}, +"updateSettings": { +"description": "Updates the settings for the given resource. This method applies to all feature configurations for organization and folders.UpdateSettings fails when any of the following are true: The value of storage_location either isn't supported by Logging or violates the location OrgPolicy. The default_sink_config field is set, but it has an unspecified filter write mode. The value of kms_key_name is invalid. The associated service account doesn't have the required roles/cloudkms.cryptoKeyEncrypterDecrypter role assigned for the key. Access to the key is disabled.See Configure default settings for organizations and folders (https://cloud.google.com/logging/docs/default-settings) for more information.", +"flatPath": "v2/{v2Id}/{v2Id1}/settings", +"httpMethod": "PATCH", +"id": "logging.updateSettings", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. The resource name for the settings to update. \"organizations/[ORGANIZATION_ID]/settings\" \"folders/[FOLDER_ID]/settings\" For example:\"organizations/12345/settings\"", +"location": "path", +"pattern": "^[^/]+/[^/]+$", +"required": true, +"type": "string" +}, +"updateMask": { +"description": "Optional. Field mask identifying which fields from settings should be updated. A field will be overwritten if and only if it is in the update mask. Output only fields cannot be updated.See FieldMask for more information.For example: \"updateMask=kmsKeyName\"", +"format": "google-fieldmask", +"location": "query", +"type": "string" +} +}, +"path": "v2/{+name}/settings", +"request": { +"$ref": "Settings" +}, +"response": { +"$ref": "Settings" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/logging.admin" +] +} +} +} +}, +"revision": "20241018", +"rootUrl": "https://logging.googleapis.com/", +"schemas": { +"AuditConfig": { +"description": "Specifies the audit configuration for a service. The configuration determines which permission types are logged, and what identities, if any, are exempted from logging. An AuditConfig must have one or more AuditLogConfigs.If there are AuditConfigs for both allServices and a specific service, the union of the two AuditConfigs is used for that service: the log_types specified in each AuditConfig are enabled, and the exempted_members in each AuditLogConfig are exempted.Example Policy with multiple AuditConfigs: { \"audit_configs\": [ { \"service\": \"allServices\", \"audit_log_configs\": [ { \"log_type\": \"DATA_READ\", \"exempted_members\": [ \"user:jose@example.com\" ] }, { \"log_type\": \"DATA_WRITE\" }, { \"log_type\": \"ADMIN_READ\" } ] }, { \"service\": \"sampleservice.googleapis.com\", \"audit_log_configs\": [ { \"log_type\": \"DATA_READ\" }, { \"log_type\": \"DATA_WRITE\", \"exempted_members\": [ \"user:aliya@example.com\" ] } ] } ] } For sampleservice, this policy enables DATA_READ, DATA_WRITE and ADMIN_READ logging. It also exempts jose@example.com from DATA_READ logging, and aliya@example.com from DATA_WRITE logging.", +"id": "AuditConfig", +"properties": { +"auditLogConfigs": { +"description": "The configuration for logging of each type of permission.", +"items": { +"$ref": "AuditLogConfig" +}, +"type": "array" +}, +"service": { +"description": "Specifies a service that will be enabled for audit logging. For example, storage.googleapis.com, cloudsql.googleapis.com. allServices is a special value that covers all services.", +"type": "string" +} +}, +"type": "object" +}, +"AuditLogConfig": { +"description": "Provides the configuration for logging a type of permissions. Example: { \"audit_log_configs\": [ { \"log_type\": \"DATA_READ\", \"exempted_members\": [ \"user:jose@example.com\" ] }, { \"log_type\": \"DATA_WRITE\" } ] } This enables 'DATA_READ' and 'DATA_WRITE' logging, while exempting jose@example.com from DATA_READ logging.", +"id": "AuditLogConfig", +"properties": { +"exemptedMembers": { +"description": "Specifies the identities that do not cause logging for this type of permission. Follows the same format of Binding.members.", +"items": { +"type": "string" +}, +"type": "array" +}, +"logType": { +"description": "The log type that this config enables.", +"enum": [ +"LOG_TYPE_UNSPECIFIED", +"ADMIN_READ", +"DATA_WRITE", +"DATA_READ" +], +"enumDescriptions": [ +"Default case. Should never be this.", +"Admin reads. Example: CloudIAM getIamPolicy", +"Data writes. Example: CloudSQL Users create", +"Data reads. Example: CloudSQL Users list" +], +"type": "string" +} +}, +"type": "object" +}, +"BigQueryDataset": { +"description": "Describes a BigQuery dataset that was created by a link.", +"id": "BigQueryDataset", +"properties": { +"datasetId": { +"description": "Output only. The full resource name of the BigQuery dataset. The DATASET_ID will match the ID of the link, so the link must match the naming restrictions of BigQuery datasets (alphanumeric characters and underscores only).The dataset will have a resource path of \"bigquery.googleapis.com/projects/PROJECT_ID/datasets/DATASET_ID\"", +"readOnly": true, +"type": "string" +} +}, +"type": "object" +}, +"BigQueryOptions": { +"description": "Options that change functionality of a sink exporting data to BigQuery.", +"id": "BigQueryOptions", +"properties": { +"usePartitionedTables": { +"description": "Optional. Whether to use BigQuery's partition tables (https://cloud.google.com/bigquery/docs/partitioned-tables). By default, Cloud Logging creates dated tables based on the log entries' timestamps, e.g. syslog_20170523. With partitioned tables the date suffix is no longer present and special query syntax (https://cloud.google.com/bigquery/docs/querying-partitioned-tables) has to be used instead. In both cases, tables are sharded based on UTC timezone.", +"type": "boolean" +}, +"usesTimestampColumnPartitioning": { +"description": "Output only. True if new timestamp column based partitioning is in use, false if legacy ingress-time partitioning is in use.All new sinks will have this field set true and will use timestamp column based partitioning. If use_partitioned_tables is false, this value has no meaning and will be false. Legacy sinks using partitioned tables will have this field set to false.", +"readOnly": true, +"type": "boolean" +} +}, +"type": "object" +}, +"Binding": { +"description": "Associates members, or principals, with a role.", +"id": "Binding", +"properties": { +"condition": { +"$ref": "Expr", +"description": "The condition that is associated with this binding.If the condition evaluates to true, then this binding applies to the current request.If the condition evaluates to false, then this binding does not apply to the current request. However, a different role binding might grant the same role to one or more of the principals in this binding.To learn which resources support conditions in their IAM policies, see the IAM documentation (https://cloud.google.com/iam/help/conditions/resource-policies)." +}, +"members": { +"description": "Specifies the principals requesting access for a Google Cloud resource. members can have the following values: allUsers: A special identifier that represents anyone who is on the internet; with or without a Google account. allAuthenticatedUsers: A special identifier that represents anyone who is authenticated with a Google account or a service account. Does not include identities that come from external identity providers (IdPs) through identity federation. user:{emailid}: An email address that represents a specific Google account. For example, alice@example.com . serviceAccount:{emailid}: An email address that represents a Google service account. For example, my-other-app@appspot.gserviceaccount.com. serviceAccount:{projectid}.svc.id.goog[{namespace}/{kubernetes-sa}]: An identifier for a Kubernetes service account (https://cloud.google.com/kubernetes-engine/docs/how-to/kubernetes-service-accounts). For example, my-project.svc.id.goog[my-namespace/my-kubernetes-sa]. group:{emailid}: An email address that represents a Google group. For example, admins@example.com. domain:{domain}: The G Suite domain (primary) that represents all the users of that domain. For example, google.com or example.com. principal://iam.googleapis.com/locations/global/workforcePools/{pool_id}/subject/{subject_attribute_value}: A single identity in a workforce identity pool. principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/group/{group_id}: All workforce identities in a group. principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/attribute.{attribute_name}/{attribute_value}: All workforce identities with a specific attribute value. principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/*: All identities in a workforce identity pool. principal://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/subject/{subject_attribute_value}: A single identity in a workload identity pool. principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/group/{group_id}: A workload identity pool group. principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/attribute.{attribute_name}/{attribute_value}: All identities in a workload identity pool with a certain attribute. principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/*: All identities in a workload identity pool. deleted:user:{emailid}?uid={uniqueid}: An email address (plus unique identifier) representing a user that has been recently deleted. For example, alice@example.com?uid=123456789012345678901. If the user is recovered, this value reverts to user:{emailid} and the recovered user retains the role in the binding. deleted:serviceAccount:{emailid}?uid={uniqueid}: An email address (plus unique identifier) representing a service account that has been recently deleted. For example, my-other-app@appspot.gserviceaccount.com?uid=123456789012345678901. If the service account is undeleted, this value reverts to serviceAccount:{emailid} and the undeleted service account retains the role in the binding. deleted:group:{emailid}?uid={uniqueid}: An email address (plus unique identifier) representing a Google group that has been recently deleted. For example, admins@example.com?uid=123456789012345678901. If the group is recovered, this value reverts to group:{emailid} and the recovered group retains the role in the binding. deleted:principal://iam.googleapis.com/locations/global/workforcePools/{pool_id}/subject/{subject_attribute_value}: Deleted single identity in a workforce identity pool. For example, deleted:principal://iam.googleapis.com/locations/global/workforcePools/my-pool-id/subject/my-subject-attribute-value.", +"items": { +"type": "string" +}, +"type": "array" +}, +"role": { +"description": "Role that is assigned to the list of members, or principals. For example, roles/viewer, roles/editor, or roles/owner.For an overview of the IAM roles and permissions, see the IAM documentation (https://cloud.google.com/iam/docs/roles-overview). For a list of the available pre-defined roles, see here (https://cloud.google.com/iam/docs/understanding-roles).", +"type": "string" +} +}, +"type": "object" +}, +"BucketMetadata": { +"description": "Metadata for LongRunningUpdateBucket Operations.", +"id": "BucketMetadata", +"properties": { +"createBucketRequest": { +"$ref": "CreateBucketRequest", +"description": "LongRunningCreateBucket RPC request." +}, +"endTime": { +"description": "The end time of an operation.", +"format": "google-datetime", +"type": "string" +}, +"startTime": { +"description": "The create time of an operation.", +"format": "google-datetime", +"type": "string" +}, +"state": { +"description": "Output only. State of an operation.", +"enum": [ +"OPERATION_STATE_UNSPECIFIED", +"OPERATION_STATE_SCHEDULED", +"OPERATION_STATE_WAITING_FOR_PERMISSIONS", +"OPERATION_STATE_RUNNING", +"OPERATION_STATE_SUCCEEDED", +"OPERATION_STATE_FAILED", +"OPERATION_STATE_CANCELLED", +"OPERATION_STATE_PENDING" +], +"enumDescriptions": [ +"Should not be used.", +"The operation is scheduled.", +"Waiting for necessary permissions.", +"The operation is running.", +"The operation was completed successfully.", +"The operation failed.", +"The operation was cancelled by the user.", +"The operation is waiting for quota." +], +"readOnly": true, +"type": "string" +}, +"updateBucketRequest": { +"$ref": "UpdateBucketRequest", +"description": "LongRunningUpdateBucket RPC request." +} +}, +"type": "object" +}, +"BucketOptions": { +"description": "BucketOptions describes the bucket boundaries used to create a histogram for the distribution. The buckets can be in a linear sequence, an exponential sequence, or each bucket can be specified explicitly. BucketOptions does not include the number of values in each bucket.A bucket has an inclusive lower bound and exclusive upper bound for the values that are counted for that bucket. The upper bound of a bucket must be strictly greater than the lower bound. The sequence of N buckets for a distribution consists of an underflow bucket (number 0), zero or more finite buckets (number 1 through N - 2) and an overflow bucket (number N - 1). The buckets are contiguous: the lower bound of bucket i (i > 0) is the same as the upper bound of bucket i - 1. The buckets span the whole range of finite values: lower bound of the underflow bucket is -infinity and the upper bound of the overflow bucket is +infinity. The finite buckets are so-called because both bounds are finite.", +"id": "BucketOptions", +"properties": { +"explicitBuckets": { +"$ref": "Explicit", +"description": "The explicit buckets." +}, +"exponentialBuckets": { +"$ref": "Exponential", +"description": "The exponential buckets." +}, +"linearBuckets": { +"$ref": "Linear", +"description": "The linear bucket." +} +}, +"type": "object" +}, +"CancelOperationRequest": { +"description": "The request message for Operations.CancelOperation.", +"id": "CancelOperationRequest", +"properties": {}, +"type": "object" +}, +"CmekSettings": { +"description": "Describes the customer-managed encryption key (CMEK) settings associated with a project, folder, organization, billing account, or flexible resource.Note: CMEK for the Log Router can currently only be configured for Google Cloud organizations. Once configured, it applies to all projects and folders in the Google Cloud organization.See Enabling CMEK for Log Router (https://cloud.google.com/logging/docs/routing/managed-encryption) for more information.", +"id": "CmekSettings", +"properties": { +"kmsKeyName": { +"description": "Optional. The resource name for the configured Cloud KMS key.KMS key name format: \"projects/[PROJECT_ID]/locations/[LOCATION]/keyRings/[KEYRING]/cryptoKeys/[KEY]\" For example:\"projects/my-project/locations/us-central1/keyRings/my-ring/cryptoKeys/my-key\"To enable CMEK for the Log Router, set this field to a valid kms_key_name for which the associated service account has the needed cloudkms.cryptoKeyEncrypterDecrypter roles assigned for the key.The Cloud KMS key used by the Log Router can be updated by changing the kms_key_name to a new valid key name or disabled by setting the key name to an empty string. Encryption operations that are in progress will be completed with the key that was in use when they started. Decryption operations will be completed using the key that was used at the time of encryption unless access to that key has been revoked.To disable CMEK for the Log Router, set this field to an empty string.See Enabling CMEK for Log Router (https://cloud.google.com/logging/docs/routing/managed-encryption) for more information.", +"type": "string" +}, +"kmsKeyVersionName": { +"description": "Output only. The CryptoKeyVersion resource name for the configured Cloud KMS key.KMS key name format: \"projects/[PROJECT_ID]/locations/[LOCATION]/keyRings/[KEYRING]/cryptoKeys/[KEY]/cryptoKeyVersions/[VERSION]\" For example:\"projects/my-project/locations/us-central1/keyRings/my-ring/cryptoKeys/my-key/cryptoKeyVersions/1\"This is a read-only field used to convey the specific configured CryptoKeyVersion of kms_key that has been configured. It will be populated in cases where the CMEK settings are bound to a single key version.If this field is populated, the kms_key is tied to a specific CryptoKeyVersion.", +"readOnly": true, +"type": "string" +}, +"name": { +"description": "Output only. The resource name of the CMEK settings.", +"readOnly": true, +"type": "string" +}, +"serviceAccountId": { +"description": "Output only. The service account that will be used by the Log Router to access your Cloud KMS key.Before enabling CMEK for Log Router, you must first assign the cloudkms.cryptoKeyEncrypterDecrypter role to the service account that the Log Router will use to access your Cloud KMS key. Use GetCmekSettings to obtain the service account ID.See Enabling CMEK for Log Router (https://cloud.google.com/logging/docs/routing/managed-encryption) for more information.", +"readOnly": true, +"type": "string" +} +}, +"type": "object" +}, +"CopyLogEntriesMetadata": { +"description": "Metadata for CopyLogEntries long running operations.", +"id": "CopyLogEntriesMetadata", +"properties": { +"cancellationRequested": { +"description": "Identifies whether the user has requested cancellation of the operation.", +"type": "boolean" +}, +"destination": { +"description": "Destination to which to copy log entries.For example, a Cloud Storage bucket:\"storage.googleapis.com/my-cloud-storage-bucket\"", +"type": "string" +}, +"endTime": { +"description": "The end time of an operation.", +"format": "google-datetime", +"type": "string" +}, +"progress": { +"description": "Estimated progress of the operation (0 - 100%).", +"format": "int32", +"type": "integer" +}, +"request": { +"$ref": "CopyLogEntriesRequest", +"deprecated": true, +"description": "CopyLogEntries RPC request. This field is deprecated and not used." +}, +"source": { +"description": "Source from which to copy log entries.For example, a log bucket:\"projects/my-project/locations/global/buckets/my-source-bucket\"", +"type": "string" +}, +"startTime": { +"description": "The create time of an operation.", +"format": "google-datetime", +"type": "string" +}, +"state": { +"description": "Output only. State of an operation.", +"enum": [ +"OPERATION_STATE_UNSPECIFIED", +"OPERATION_STATE_SCHEDULED", +"OPERATION_STATE_WAITING_FOR_PERMISSIONS", +"OPERATION_STATE_RUNNING", +"OPERATION_STATE_SUCCEEDED", +"OPERATION_STATE_FAILED", +"OPERATION_STATE_CANCELLED", +"OPERATION_STATE_PENDING" +], +"enumDescriptions": [ +"Should not be used.", +"The operation is scheduled.", +"Waiting for necessary permissions.", +"The operation is running.", +"The operation was completed successfully.", +"The operation failed.", +"The operation was cancelled by the user.", +"The operation is waiting for quota." +], +"readOnly": true, +"type": "string" +}, +"verb": { +"description": "Name of the verb executed by the operation.For example,\"copy\"", +"type": "string" +}, +"writerIdentity": { +"description": "The IAM identity of a service account that must be granted access to the destination.If the service account is not granted permission to the destination within an hour, the operation will be cancelled.For example: \"serviceAccount:foo@bar.com\"", +"type": "string" +} +}, +"type": "object" +}, +"CopyLogEntriesRequest": { +"description": "The parameters to CopyLogEntries.", +"id": "CopyLogEntriesRequest", +"properties": { +"destination": { +"description": "Required. Destination to which to copy log entries.", +"type": "string" +}, +"filter": { +"description": "Optional. A filter specifying which log entries to copy. The filter must be no more than 20k characters. An empty filter matches all log entries.", +"type": "string" +}, +"name": { +"description": "Required. Log bucket from which to copy log entries.For example:\"projects/my-project/locations/global/buckets/my-source-bucket\"", +"type": "string" +} +}, +"type": "object" +}, +"CopyLogEntriesResponse": { +"description": "Response type for CopyLogEntries long running operations.", +"id": "CopyLogEntriesResponse", +"properties": { +"logEntriesCopiedCount": { +"description": "Number of log entries copied.", +"format": "int64", +"type": "string" +} +}, +"type": "object" +}, +"CreateBucketRequest": { +"description": "The parameters to CreateBucket.", +"id": "CreateBucketRequest", +"properties": { +"bucket": { +"$ref": "LogBucket", +"description": "Required. The new bucket. The region specified in the new bucket must be compliant with any Location Restriction Org Policy. The name field in the bucket is ignored." +}, +"bucketId": { +"description": "Required. A client-assigned identifier such as \"my-bucket\". Identifiers are limited to 100 characters and can include only letters, digits, underscores, hyphens, and periods. Bucket identifiers must start with an alphanumeric character.", +"type": "string" +}, +"parent": { +"description": "Required. The resource in which to create the log bucket: \"projects/[PROJECT_ID]/locations/[LOCATION_ID]\" For example:\"projects/my-project/locations/global\"", +"type": "string" +} +}, +"type": "object" +}, +"CreateLinkRequest": { +"description": "The parameters to CreateLink.", +"id": "CreateLinkRequest", +"properties": { +"link": { +"$ref": "Link", +"description": "Required. The new link." +}, +"linkId": { +"description": "Required. The ID to use for the link. The link_id can have up to 100 characters. A valid link_id must only have alphanumeric characters and underscores within it.", +"type": "string" +}, +"parent": { +"description": "Required. The full resource name of the bucket to create a link for. \"projects/[PROJECT_ID]/locations/[LOCATION_ID]/buckets/[BUCKET_ID]\" \"organizations/[ORGANIZATION_ID]/locations/[LOCATION_ID]/buckets/[BUCKET_ID]\" \"billingAccounts/[BILLING_ACCOUNT_ID]/locations/[LOCATION_ID]/buckets/[BUCKET_ID]\" \"folders/[FOLDER_ID]/locations/[LOCATION_ID]/buckets/[BUCKET_ID]\" ", +"type": "string" +} +}, +"type": "object" +}, +"DefaultSinkConfig": { +"description": "Describes the custom _Default sink configuration that is used to override the built-in _Default sink configuration in newly created resource containers, such as projects or folders.", +"id": "DefaultSinkConfig", +"properties": { +"exclusions": { +"description": "Optional. Specifies the set of exclusions to be added to the _Default sink in newly created resource containers.", +"items": { +"$ref": "LogExclusion" +}, +"type": "array" +}, +"filter": { +"description": "Optional. An advanced logs filter (https://cloud.google.com/logging/docs/view/advanced-queries). The only exported log entries are those that are in the resource owning the sink and that match the filter.For example:logName=\"projects/[PROJECT_ID]/logs/[LOG_ID]\" AND severity>=ERRORTo match all logs, don't add exclusions and use the following line as the value of filter:logName:*Cannot be empty or unset when the value of mode is OVERWRITE.", +"type": "string" +}, +"mode": { +"description": "Required. Determines the behavior to apply to the built-in _Default sink inclusion filter.Exclusions are always appended, as built-in _Default sinks have no exclusions.", +"enum": [ +"FILTER_WRITE_MODE_UNSPECIFIED", +"APPEND", +"OVERWRITE" +], +"enumDescriptions": [ +"The filter's write mode is unspecified. This mode must not be used.", +"The contents of filter will be appended to the built-in _Default sink filter. Using the append mode with an empty filter will keep the sink inclusion filter unchanged.", +"The contents of filter will overwrite the built-in _Default sink filter." +], +"type": "string" +} +}, +"type": "object" +}, +"DeleteLinkRequest": { +"description": "The parameters to DeleteLink.", +"id": "DeleteLinkRequest", +"properties": { +"name": { +"description": "Required. The full resource name of the link to delete. \"projects/[PROJECT_ID]/locations/[LOCATION_ID]/buckets/[BUCKET_ID]/links/[LINK_ID]\" \"organizations/[ORGANIZATION_ID]/locations/[LOCATION_ID]/buckets/[BUCKET_ID]/links/[LINK_ID]\" \"billingAccounts/[BILLING_ACCOUNT_ID]/locations/[LOCATION_ID]/buckets/[BUCKET_ID]/links/[LINK_ID]\" \"folders/[FOLDER_ID]/locations/[LOCATION_ID]/buckets/[BUCKET_ID]/links/[LINK_ID]\" ", +"type": "string" +} +}, +"type": "object" +}, +"Empty": { +"description": "A generic empty message that you can re-use to avoid defining duplicated empty messages in your APIs. A typical example is to use it as the request or the response type of an API method. For instance: service Foo { rpc Bar(google.protobuf.Empty) returns (google.protobuf.Empty); } ", +"id": "Empty", +"properties": {}, +"type": "object" +}, +"Explicit": { +"description": "Specifies a set of buckets with arbitrary widths.There are size(bounds) + 1 (= N) buckets. Bucket i has the following boundaries:Upper bound (0 <= i < N-1): boundsi Lower bound (1 <= i < N); boundsi - 1The bounds field must contain at least one element. If bounds has only one element, then there are no finite buckets, and that single element is the common boundary of the overflow and underflow buckets.", +"id": "Explicit", +"properties": { +"bounds": { +"description": "The values must be monotonically increasing.", +"items": { +"format": "double", +"type": "number" +}, +"type": "array" +} +}, +"type": "object" +}, +"Exponential": { +"description": "Specifies an exponential sequence of buckets that have a width that is proportional to the value of the lower bound. Each bucket represents a constant relative uncertainty on a specific value in the bucket.There are num_finite_buckets + 2 (= N) buckets. Bucket i has the following boundaries:Upper bound (0 <= i < N-1): scale * (growth_factor ^ i).Lower bound (1 <= i < N): scale * (growth_factor ^ (i - 1)).", +"id": "Exponential", +"properties": { +"growthFactor": { +"description": "Must be greater than 1.", +"format": "double", +"type": "number" +}, +"numFiniteBuckets": { +"description": "Must be greater than 0.", +"format": "int32", +"type": "integer" +}, +"scale": { +"description": "Must be greater than 0.", +"format": "double", +"type": "number" +} +}, +"type": "object" +}, +"Expr": { +"description": "Represents a textual expression in the Common Expression Language (CEL) syntax. CEL is a C-like expression language. The syntax and semantics of CEL are documented at https://github.com/google/cel-spec.Example (Comparison): title: \"Summary size limit\" description: \"Determines if a summary is less than 100 chars\" expression: \"document.summary.size() < 100\" Example (Equality): title: \"Requestor is owner\" description: \"Determines if requestor is the document owner\" expression: \"document.owner == request.auth.claims.email\" Example (Logic): title: \"Public documents\" description: \"Determine whether the document should be publicly visible\" expression: \"document.type != 'private' && document.type != 'internal'\" Example (Data Manipulation): title: \"Notification string\" description: \"Create a notification string with a timestamp.\" expression: \"'New message received at ' + string(document.create_time)\" The exact variables and functions that may be referenced within an expression are determined by the service that evaluates it. See the service documentation for additional information.", +"id": "Expr", +"properties": { +"description": { +"description": "Optional. Description of the expression. This is a longer text which describes the expression, e.g. when hovered over it in a UI.", +"type": "string" +}, +"expression": { +"description": "Textual representation of an expression in Common Expression Language syntax.", +"type": "string" +}, +"location": { +"description": "Optional. String indicating the location of the expression for error reporting, e.g. a file name and a position in the file.", +"type": "string" +}, +"title": { +"description": "Optional. Title for the expression, i.e. a short string describing its purpose. This can be used e.g. in UIs which allow to enter the expression.", +"type": "string" +} +}, +"type": "object" +}, +"GetIamPolicyRequest": { +"description": "Request message for GetIamPolicy method.", +"id": "GetIamPolicyRequest", +"properties": { +"options": { +"$ref": "GetPolicyOptions", +"description": "OPTIONAL: A GetPolicyOptions object for specifying options to GetIamPolicy." +} +}, +"type": "object" +}, +"GetPolicyOptions": { +"description": "Encapsulates settings provided to GetIamPolicy.", +"id": "GetPolicyOptions", +"properties": { +"requestedPolicyVersion": { +"description": "Optional. The maximum policy version that will be used to format the policy.Valid values are 0, 1, and 3. Requests specifying an invalid value will be rejected.Requests for policies with any conditional role bindings must specify version 3. Policies with no conditional role bindings may specify any valid value or leave the field unset.The policy in the response might use the policy version that you specified, or it might use a lower policy version. For example, if you specify version 3, but the policy has no conditional role bindings, the response uses version 1.To learn which resources support conditions in their IAM policies, see the IAM documentation (https://cloud.google.com/iam/help/conditions/resource-policies).", +"format": "int32", +"type": "integer" +} +}, +"type": "object" +}, +"HttpRequest": { +"description": "A common proto for logging HTTP requests. Only contains semantics defined by the HTTP specification. Product-specific logging information MUST be defined in a separate message.", +"id": "HttpRequest", +"properties": { +"cacheFillBytes": { +"description": "The number of HTTP response bytes inserted into cache. Set only when a cache fill was attempted.", +"format": "int64", +"type": "string" +}, +"cacheHit": { +"description": "Whether or not an entity was served from cache (with or without validation).", +"type": "boolean" +}, +"cacheLookup": { +"description": "Whether or not a cache lookup was attempted.", +"type": "boolean" +}, +"cacheValidatedWithOriginServer": { +"description": "Whether or not the response was validated with the origin server before being served from cache. This field is only meaningful if cache_hit is True.", +"type": "boolean" +}, +"latency": { +"description": "The request processing latency on the server, from the time the request was received until the response was sent. For WebSocket connections, this field refers to the entire time duration of the connection.", +"format": "google-duration", +"type": "string" +}, +"protocol": { +"description": "Protocol used for the request. Examples: \"HTTP/1.1\", \"HTTP/2\"", +"type": "string" +}, +"referer": { +"description": "The referer URL of the request, as defined in HTTP/1.1 Header Field Definitions (https://datatracker.ietf.org/doc/html/rfc2616#section-14.36).", +"type": "string" +}, +"remoteIp": { +"description": "The IP address (IPv4 or IPv6) of the client that issued the HTTP request. This field can include port information. Examples: \"192.168.1.1\", \"10.0.0.1:80\", \"FE80::0202:B3FF:FE1E:8329\".", +"type": "string" +}, +"requestMethod": { +"description": "The request method. Examples: \"GET\", \"HEAD\", \"PUT\", \"POST\".", +"type": "string" +}, +"requestSize": { +"description": "The size of the HTTP request message in bytes, including the request headers and the request body.", +"format": "int64", +"type": "string" +}, +"requestUrl": { +"description": "The scheme (http, https), the host name, the path and the query portion of the URL that was requested. Example: \"http://example.com/some/info?color=red\".", +"type": "string" +}, +"responseSize": { +"description": "The size of the HTTP response message sent back to the client, in bytes, including the response headers and the response body.", +"format": "int64", +"type": "string" +}, +"serverIp": { +"description": "The IP address (IPv4 or IPv6) of the origin server that the request was sent to. This field can include port information. Examples: \"192.168.1.1\", \"10.0.0.1:80\", \"FE80::0202:B3FF:FE1E:8329\".", +"type": "string" +}, +"status": { +"description": "The response code indicating the status of response. Examples: 200, 404.", +"format": "int32", +"type": "integer" +}, +"userAgent": { +"description": "The user agent sent by the client. Example: \"Mozilla/4.0 (compatible; MSIE 6.0; Windows 98; Q312461; .NET CLR 1.0.3705)\".", +"type": "string" +} +}, +"type": "object" +}, +"IndexConfig": { +"description": "Configuration for an indexed field.", +"id": "IndexConfig", +"properties": { +"createTime": { +"description": "Output only. The timestamp when the index was last modified.This is used to return the timestamp, and will be ignored if supplied during update.", +"format": "google-datetime", +"readOnly": true, +"type": "string" +}, +"fieldPath": { +"description": "Required. The LogEntry field path to index.Note that some paths are automatically indexed, and other paths are not eligible for indexing. See indexing documentation( https://cloud.google.com/logging/docs/analyze/custom-index) for details.For example: jsonPayload.request.status", +"type": "string" +}, +"type": { +"description": "Required. The type of data in this index.", +"enum": [ +"INDEX_TYPE_UNSPECIFIED", +"INDEX_TYPE_STRING", +"INDEX_TYPE_INTEGER" +], +"enumDescriptions": [ +"The index's type is unspecified.", +"The index is a string-type index.", +"The index is a integer-type index." +], +"type": "string" +} +}, +"type": "object" +}, +"LabelDescriptor": { +"description": "A description of a label.", +"id": "LabelDescriptor", +"properties": { +"description": { +"description": "A human-readable description for the label.", +"type": "string" +}, +"key": { +"description": "The label key.", +"type": "string" +}, +"valueType": { +"description": "The type of data that can be assigned to the label.", +"enum": [ +"STRING", +"BOOL", +"INT64" +], +"enumDescriptions": [ +"A variable-length string. This is the default.", +"Boolean; true or false.", +"A 64-bit signed integer." +], +"type": "string" +} +}, +"type": "object" +}, +"Linear": { +"description": "Specifies a linear sequence of buckets that all have the same width (except overflow and underflow). Each bucket represents a constant absolute uncertainty on the specific value in the bucket.There are num_finite_buckets + 2 (= N) buckets. Bucket i has the following boundaries:Upper bound (0 <= i < N-1): offset + (width * i).Lower bound (1 <= i < N): offset + (width * (i - 1)).", +"id": "Linear", +"properties": { +"numFiniteBuckets": { +"description": "Must be greater than 0.", +"format": "int32", +"type": "integer" +}, +"offset": { +"description": "Lower bound of the first bucket.", +"format": "double", +"type": "number" +}, +"width": { +"description": "Must be greater than 0.", +"format": "double", +"type": "number" +} +}, +"type": "object" +}, +"Link": { +"description": "Describes a link connected to an analytics enabled bucket.", +"id": "Link", +"properties": { +"bigqueryDataset": { +"$ref": "BigQueryDataset", +"description": "Optional. The information of a BigQuery Dataset. When a link is created, a BigQuery dataset is created along with it, in the same project as the LogBucket it's linked to. This dataset will also have BigQuery Views corresponding to the LogViews in the bucket." +}, +"createTime": { +"description": "Output only. The creation timestamp of the link.", +"format": "google-datetime", +"readOnly": true, +"type": "string" +}, +"description": { +"description": "Optional. Describes this link.The maximum length of the description is 8000 characters.", +"type": "string" +}, +"lifecycleState": { +"description": "Output only. The resource lifecycle state.", +"enum": [ +"LIFECYCLE_STATE_UNSPECIFIED", +"ACTIVE", +"DELETE_REQUESTED", +"UPDATING", +"CREATING", +"FAILED" +], +"enumDescriptions": [ +"Unspecified state. This is only used/useful for distinguishing unset values.", +"The normal and active state.", +"The resource has been marked for deletion by the user. For some resources (e.g. buckets), this can be reversed by an un-delete operation.", +"The resource has been marked for an update by the user. It will remain in this state until the update is complete.", +"The resource has been marked for creation by the user. It will remain in this state until the creation is complete.", +"The resource is in an INTERNAL error state." +], +"readOnly": true, +"type": "string" +}, +"name": { +"description": "Output only. The resource name of the link. The name can have up to 100 characters. A valid link id (at the end of the link name) must only have alphanumeric characters and underscores within it. \"projects/[PROJECT_ID]/locations/[LOCATION_ID]/buckets/[BUCKET_ID]/links/[LINK_ID]\" \"organizations/[ORGANIZATION_ID]/locations/[LOCATION_ID]/buckets/[BUCKET_ID]/links/[LINK_ID]\" \"billingAccounts/[BILLING_ACCOUNT_ID]/locations/[LOCATION_ID]/buckets/[BUCKET_ID]/links/[LINK_ID]\" \"folders/[FOLDER_ID]/locations/[LOCATION_ID]/buckets/[BUCKET_ID]/links/[LINK_ID]\" For example:`projects/my-project/locations/global/buckets/my-bucket/links/my_link", +"readOnly": true, +"type": "string" +} +}, +"type": "object" +}, +"LinkMetadata": { +"description": "Metadata for long running Link operations.", +"id": "LinkMetadata", +"properties": { +"createLinkRequest": { +"$ref": "CreateLinkRequest", +"description": "CreateLink RPC request." +}, +"deleteLinkRequest": { +"$ref": "DeleteLinkRequest", +"description": "DeleteLink RPC request." +}, +"endTime": { +"description": "The end time of an operation.", +"format": "google-datetime", +"type": "string" +}, +"startTime": { +"description": "The start time of an operation.", +"format": "google-datetime", +"type": "string" +}, +"state": { +"description": "Output only. State of an operation.", +"enum": [ +"OPERATION_STATE_UNSPECIFIED", +"OPERATION_STATE_SCHEDULED", +"OPERATION_STATE_WAITING_FOR_PERMISSIONS", +"OPERATION_STATE_RUNNING", +"OPERATION_STATE_SUCCEEDED", +"OPERATION_STATE_FAILED", +"OPERATION_STATE_CANCELLED", +"OPERATION_STATE_PENDING" +], +"enumDescriptions": [ +"Should not be used.", +"The operation is scheduled.", +"Waiting for necessary permissions.", +"The operation is running.", +"The operation was completed successfully.", +"The operation failed.", +"The operation was cancelled by the user.", +"The operation is waiting for quota." +], +"readOnly": true, +"type": "string" +} +}, +"type": "object" +}, +"ListBucketsResponse": { +"description": "The response from ListBuckets.", +"id": "ListBucketsResponse", +"properties": { +"buckets": { +"description": "A list of buckets.", +"items": { +"$ref": "LogBucket" +}, +"type": "array" +}, +"nextPageToken": { +"description": "If there might be more results than appear in this response, then nextPageToken is included. To get the next set of results, call the same method again using the value of nextPageToken as pageToken.", +"type": "string" +} +}, +"type": "object" +}, +"ListExclusionsResponse": { +"description": "Result returned from ListExclusions.", +"id": "ListExclusionsResponse", +"properties": { +"exclusions": { +"description": "A list of exclusions.", +"items": { +"$ref": "LogExclusion" +}, +"type": "array" +}, +"nextPageToken": { +"description": "If there might be more results than appear in this response, then nextPageToken is included. To get the next set of results, call the same method again using the value of nextPageToken as pageToken.", +"type": "string" +} +}, +"type": "object" +}, +"ListLinksResponse": { +"description": "The response from ListLinks.", +"id": "ListLinksResponse", +"properties": { +"links": { +"description": "A list of links.", +"items": { +"$ref": "Link" +}, +"type": "array" +}, +"nextPageToken": { +"description": "If there might be more results than those appearing in this response, then nextPageToken is included. To get the next set of results, call the same method again using the value of nextPageToken as pageToken.", +"type": "string" +} +}, +"type": "object" +}, +"ListLocationsResponse": { +"description": "The response message for Locations.ListLocations.", +"id": "ListLocationsResponse", +"properties": { +"locations": { +"description": "A list of locations that matches the specified filter in the request.", +"items": { +"$ref": "Location" +}, +"type": "array" +}, +"nextPageToken": { +"description": "The standard List next-page token.", +"type": "string" +} +}, +"type": "object" +}, +"ListLogEntriesRequest": { +"description": "The parameters to ListLogEntries.", +"id": "ListLogEntriesRequest", +"properties": { +"filter": { +"description": "Optional. A filter that chooses which log entries to return. For more information, see Logging query language (https://cloud.google.com/logging/docs/view/logging-query-language).Only log entries that match the filter are returned. An empty filter matches all log entries in the resources listed in resource_names. Referencing a parent resource that is not listed in resource_names will cause the filter to return no results. The maximum length of a filter is 20,000 characters.To make queries faster, you can make the filter more selective by using restrictions on indexed fields (https://cloud.google.com/logging/docs/view/logging-query-language#indexed-fields) as well as limit the time range of the query by adding range restrictions on the timestamp field.", +"type": "string" +}, +"orderBy": { +"description": "Optional. How the results should be sorted. Presently, the only permitted values are \"timestamp asc\" (default) and \"timestamp desc\". The first option returns entries in order of increasing values of LogEntry.timestamp (oldest first), and the second option returns entries in order of decreasing timestamps (newest first). Entries with equal timestamps are returned in order of their insert_id values.We recommend setting the order_by field to \"timestamp desc\" when listing recently ingested log entries. If not set, the default value of \"timestamp asc\" may take a long time to fetch matching logs that are only recently ingested.", +"type": "string" +}, +"pageSize": { +"description": "Optional. The maximum number of results to return from this request. Default is 50. If the value is negative, the request is rejected.The presence of next_page_token in the response indicates that more results might be available.", +"format": "int32", +"type": "integer" +}, +"pageToken": { +"description": "Optional. If present, then retrieve the next batch of results from the preceding call to this method. page_token must be the value of next_page_token from the previous response. The values of other method parameters should be identical to those in the previous call.", +"type": "string" +}, +"projectIds": { +"deprecated": true, +"description": "Optional. Deprecated. Use resource_names instead. One or more project identifiers or project numbers from which to retrieve log entries. Example: \"my-project-1A\".", +"items": { +"type": "string" +}, +"type": "array" +}, +"resourceNames": { +"description": "Required. Names of one or more parent resources from which to retrieve log entries. Resources may either be resource containers or specific LogViews. For the case of resource containers, all logs ingested into that container will be returned regardless of which LogBuckets they are actually stored in - i.e. these queries may fan out to multiple regions. In the event of region unavailability, specify a specific set of LogViews that do not include the unavailable region. projects/[PROJECT_ID] organizations/[ORGANIZATION_ID] billingAccounts/[BILLING_ACCOUNT_ID] folders/[FOLDER_ID] projects/[PROJECT_ID]/locations/[LOCATION_ID]/buckets/[BUCKET_ID]/views/[VIEW_ID] organizations/[ORGANIZATION_ID]/locations/[LOCATION_ID]/buckets/[BUCKET_ID]/views/[VIEW_ID] billingAccounts/[BILLING_ACCOUNT_ID]/locations/[LOCATION_ID]/buckets/[BUCKET_ID]/views/[VIEW_ID] folders/[FOLDER_ID]/locations/[LOCATION_ID]/buckets/[BUCKET_ID]/views/[VIEW_ID]Projects listed in the project_ids field are added to this list. A maximum of 100 resources may be specified in a single request.", +"items": { +"type": "string" +}, +"type": "array" +} +}, +"type": "object" +}, +"ListLogEntriesResponse": { +"description": "Result returned from ListLogEntries.", +"id": "ListLogEntriesResponse", +"properties": { +"entries": { +"description": "A list of log entries. If entries is empty, nextPageToken may still be returned, indicating that more entries may exist. See nextPageToken for more information.", +"items": { +"$ref": "LogEntry" +}, +"type": "array" +}, +"nextPageToken": { +"description": "If there might be more results than those appearing in this response, then nextPageToken is included. To get the next set of results, call this method again using the value of nextPageToken as pageToken.If a value for next_page_token appears and the entries field is empty, it means that the search found no log entries so far but it did not have time to search all the possible log entries. Retry the method with this value for page_token to continue the search. Alternatively, consider speeding up the search by changing your filter to specify a single log name or resource type, or to narrow the time range of the search.", +"type": "string" +} +}, +"type": "object" +}, +"ListLogMetricsResponse": { +"description": "Result returned from ListLogMetrics.", +"id": "ListLogMetricsResponse", +"properties": { +"metrics": { +"description": "A list of logs-based metrics.", +"items": { +"$ref": "LogMetric" +}, +"type": "array" +}, +"nextPageToken": { +"description": "If there might be more results than appear in this response, then nextPageToken is included. To get the next set of results, call this method again using the value of nextPageToken as pageToken.", +"type": "string" +} +}, +"type": "object" +}, +"ListLogScopesResponse": { +"description": "The response from ListLogScopes. Every project has a _Default log scope that cannot be modified or deleted.", +"id": "ListLogScopesResponse", +"properties": { +"logScopes": { +"description": "A list of log scopes.", +"items": { +"$ref": "LogScope" +}, +"type": "array" +}, +"nextPageToken": { +"description": "If there might be more results than appear in this response, then nextPageToken is included. To get the next set of results, call the same method again using the value of nextPageToken as pageToken.", +"type": "string" +} +}, +"type": "object" +}, +"ListLogsResponse": { +"description": "Result returned from ListLogs.", +"id": "ListLogsResponse", +"properties": { +"logNames": { +"description": "A list of log names. For example, \"projects/my-project/logs/syslog\" or \"organizations/123/logs/cloudresourcemanager.googleapis.com%2Factivity\".", +"items": { +"type": "string" +}, +"type": "array" +}, +"nextPageToken": { +"description": "If there might be more results than those appearing in this response, then nextPageToken is included. To get the next set of results, call this method again using the value of nextPageToken as pageToken.", +"type": "string" +} +}, +"type": "object" +}, +"ListMonitoredResourceDescriptorsResponse": { +"description": "Result returned from ListMonitoredResourceDescriptors.", +"id": "ListMonitoredResourceDescriptorsResponse", +"properties": { +"nextPageToken": { +"description": "If there might be more results than those appearing in this response, then nextPageToken is included. To get the next set of results, call this method again using the value of nextPageToken as pageToken.", +"type": "string" +}, +"resourceDescriptors": { +"description": "A list of resource descriptors.", +"items": { +"$ref": "MonitoredResourceDescriptor" +}, +"type": "array" +} +}, +"type": "object" +}, +"ListOperationsResponse": { +"description": "The response message for Operations.ListOperations.", +"id": "ListOperationsResponse", +"properties": { +"nextPageToken": { +"description": "The standard List next-page token.", +"type": "string" +}, +"operations": { +"description": "A list of operations that matches the specified filter in the request.", +"items": { +"$ref": "Operation" +}, +"type": "array" +} +}, +"type": "object" +}, +"ListRecentQueriesResponse": { +"description": "The response from ListRecentQueries.", +"id": "ListRecentQueriesResponse", +"properties": { +"nextPageToken": { +"description": "If there might be more results than appear in this response, then nextPageToken is included. To get the next set of results, call the same method again using the value of nextPageToken as pageToken.", +"type": "string" +}, +"recentQueries": { +"description": "A list of recent queries.", +"items": { +"$ref": "RecentQuery" +}, +"type": "array" +}, +"unreachable": { +"description": "The unreachable resources. Each resource can be either 1) a saved query if a specific query is unreachable or 2) a location if a specific location is unreachable. \"projects/[PROJECT_ID]/locations/[LOCATION_ID]/recentQueries/[QUERY_ID]\" \"projects/[PROJECT_ID]/locations/[LOCATION_ID]\" For example:\"projects/my-project/locations/global/recentQueries/12345678\" \"projects/my-project/locations/global\"If there are unreachable resources, the response will first return pages that contain recent queries, and then return pages that contain the unreachable resources.", +"items": { +"type": "string" +}, +"type": "array" +} +}, +"type": "object" +}, +"ListSavedQueriesResponse": { +"description": "The response from ListSavedQueries.", +"id": "ListSavedQueriesResponse", +"properties": { +"nextPageToken": { +"description": "If there might be more results than appear in this response, then nextPageToken is included. To get the next set of results, call the same method again using the value of nextPageToken as pageToken.", +"type": "string" +}, +"savedQueries": { +"description": "A list of saved queries.", +"items": { +"$ref": "SavedQuery" +}, +"type": "array" +}, +"unreachable": { +"description": "The unreachable resources. It can be either 1) a saved query if a specific query is unreachable or 2) a location if a specific location is unreachabe. \"projects/[PROJECT_ID]/locations/[LOCATION_ID]/savedQueries/[QUERY_ID]\" \"projects/[PROJECT_ID]/locations/[LOCATION_ID]\" For example: \"projects/my-project/locations/global/savedQueries/12345678\" \"projects/my-project/locations/global\" If there are unreachable resources, the response will first return pages that contain saved queries, and then return pages that contain the unreachable resources.", +"items": { +"type": "string" +}, +"type": "array" +} +}, +"type": "object" +}, +"ListSinksResponse": { +"description": "Result returned from ListSinks.", +"id": "ListSinksResponse", +"properties": { +"nextPageToken": { +"description": "If there might be more results than appear in this response, then nextPageToken is included. To get the next set of results, call the same method again using the value of nextPageToken as pageToken.", +"type": "string" +}, +"sinks": { +"description": "A list of sinks.", +"items": { +"$ref": "LogSink" +}, +"type": "array" +} +}, +"type": "object" +}, +"ListViewsResponse": { +"description": "The response from ListViews.", +"id": "ListViewsResponse", +"properties": { +"nextPageToken": { +"description": "If there might be more results than appear in this response, then nextPageToken is included. To get the next set of results, call the same method again using the value of nextPageToken as pageToken.", +"type": "string" +}, +"views": { +"description": "A list of views.", +"items": { +"$ref": "LogView" +}, +"type": "array" +} +}, +"type": "object" +}, +"Location": { +"description": "A resource that represents a Google Cloud location.", +"id": "Location", +"properties": { +"displayName": { +"description": "The friendly name for this location, typically a nearby city name. For example, \"Tokyo\".", +"type": "string" +}, +"labels": { +"additionalProperties": { +"type": "string" +}, +"description": "Cross-service attributes for the location. For example {\"cloud.googleapis.com/region\": \"us-east1\"} ", +"type": "object" +}, +"locationId": { +"description": "The canonical id for this location. For example: \"us-east1\".", +"type": "string" +}, +"metadata": { +"additionalProperties": { +"description": "Properties of the object. Contains field @type with type URL.", +"type": "any" +}, +"description": "Service-specific metadata. For example the available capacity at the given location.", +"type": "object" +}, +"name": { +"description": "Resource name for the location, which may vary between implementations. For example: \"projects/example-project/locations/us-east1\"", +"type": "string" +} +}, +"type": "object" +}, +"LocationMetadata": { +"description": "Cloud Logging specific location metadata.", +"id": "LocationMetadata", +"properties": { +"logAnalyticsEnabled": { +"description": "Indicates whether or not Log Analytics features are supported in the given location.", +"type": "boolean" +} +}, +"type": "object" +}, +"LogBucket": { +"description": "Describes a repository in which log entries are stored.", +"id": "LogBucket", +"properties": { +"analyticsEnabled": { +"description": "Optional. Whether log analytics is enabled for this bucket.Once enabled, log analytics features cannot be disabled.", +"type": "boolean" +}, +"cmekSettings": { +"$ref": "CmekSettings", +"description": "Optional. The CMEK settings of the log bucket. If present, new log entries written to this log bucket are encrypted using the CMEK key provided in this configuration. If a log bucket has CMEK settings, the CMEK settings cannot be disabled later by updating the log bucket. Changing the KMS key is allowed." +}, +"createTime": { +"description": "Output only. The creation timestamp of the bucket. This is not set for any of the default buckets.", +"format": "google-datetime", +"readOnly": true, +"type": "string" +}, +"description": { +"description": "Optional. Describes this bucket.", +"type": "string" +}, +"indexConfigs": { +"description": "Optional. A list of indexed fields and related configuration data.", +"items": { +"$ref": "IndexConfig" +}, +"type": "array" +}, +"lifecycleState": { +"description": "Output only. The bucket lifecycle state.", +"enum": [ +"LIFECYCLE_STATE_UNSPECIFIED", +"ACTIVE", +"DELETE_REQUESTED", +"UPDATING", +"CREATING", +"FAILED" +], +"enumDescriptions": [ +"Unspecified state. This is only used/useful for distinguishing unset values.", +"The normal and active state.", +"The resource has been marked for deletion by the user. For some resources (e.g. buckets), this can be reversed by an un-delete operation.", +"The resource has been marked for an update by the user. It will remain in this state until the update is complete.", +"The resource has been marked for creation by the user. It will remain in this state until the creation is complete.", +"The resource is in an INTERNAL error state." +], +"readOnly": true, +"type": "string" +}, +"locked": { +"description": "Optional. Whether the bucket is locked.The retention period on a locked bucket cannot be changed. Locked buckets may only be deleted if they are empty.", +"type": "boolean" +}, +"name": { +"description": "Output only. The resource name of the bucket.For example:projects/my-project/locations/global/buckets/my-bucketFor a list of supported locations, see Supported Regions (https://cloud.google.com/logging/docs/region-support)For the location of global it is unspecified where log entries are actually stored.After a bucket has been created, the location cannot be changed.", +"readOnly": true, +"type": "string" +}, +"restrictedFields": { +"description": "Optional. Log entry field paths that are denied access in this bucket.The following fields and their children are eligible: textPayload, jsonPayload, protoPayload, httpRequest, labels, sourceLocation.Restricting a repeated field will restrict all values. Adding a parent will block all child fields. (e.g. foo.bar will block foo.bar.baz)", +"items": { +"type": "string" +}, +"type": "array" +}, +"retentionDays": { +"description": "Optional. Logs will be retained by default for this amount of time, after which they will automatically be deleted. The minimum retention period is 1 day. If this value is set to zero at bucket creation time, the default time of 30 days will be used.", +"format": "int32", +"type": "integer" +}, +"updateTime": { +"description": "Output only. The last update timestamp of the bucket.", +"format": "google-datetime", +"readOnly": true, +"type": "string" +} +}, +"type": "object" +}, +"LogEntry": { +"description": "An individual entry in a log.", +"id": "LogEntry", +"properties": { +"errorGroups": { +"description": "Output only. The Error Reporting (https://cloud.google.com/error-reporting) error groups associated with this LogEntry. Error Reporting sets the values for this field during error group creation.For more information, see View error details( https://cloud.google.com/error-reporting/docs/viewing-errors#view_error_details)This field isn't available during log routing (https://cloud.google.com/logging/docs/routing/overview)", +"items": { +"$ref": "LogErrorGroup" +}, +"readOnly": true, +"type": "array" +}, +"httpRequest": { +"$ref": "HttpRequest", +"description": "Optional. Information about the HTTP request associated with this log entry, if applicable." +}, +"insertId": { +"description": "Optional. A unique identifier for the log entry. If you provide a value, then Logging considers other log entries in the same project, with the same timestamp, and with the same insert_id to be duplicates which are removed in a single query result. However, there are no guarantees of de-duplication in the export of logs.If the insert_id is omitted when writing a log entry, the Logging API assigns its own unique identifier in this field.In queries, the insert_id is also used to order log entries that have the same log_name and timestamp values.", +"type": "string" +}, +"jsonPayload": { +"additionalProperties": { +"description": "Properties of the object.", +"type": "any" +}, +"description": "The log entry payload, represented as a structure that is expressed as a JSON object.", +"type": "object" +}, +"labels": { +"additionalProperties": { +"type": "string" +}, +"description": "Optional. A map of key, value pairs that provides additional information about the log entry. The labels can be user-defined or system-defined.User-defined labels are arbitrary key, value pairs that you can use to classify logs.System-defined labels are defined by GCP services for platform logs. They have two components - a service namespace component and the attribute name. For example: compute.googleapis.com/resource_name.Cloud Logging truncates label keys that exceed 512 B and label values that exceed 64 KB upon their associated log entry being written. The truncation is indicated by an ellipsis at the end of the character string.", +"type": "object" +}, +"logName": { +"description": "Required. The resource name of the log to which this log entry belongs: \"projects/[PROJECT_ID]/logs/[LOG_ID]\" \"organizations/[ORGANIZATION_ID]/logs/[LOG_ID]\" \"billingAccounts/[BILLING_ACCOUNT_ID]/logs/[LOG_ID]\" \"folders/[FOLDER_ID]/logs/[LOG_ID]\" A project number may be used in place of PROJECT_ID. The project number is translated to its corresponding PROJECT_ID internally and the log_name field will contain PROJECT_ID in queries and exports.[LOG_ID] must be URL-encoded within log_name. Example: \"organizations/1234567890/logs/cloudresourcemanager.googleapis.com%2Factivity\".[LOG_ID] must be less than 512 characters long and can only include the following characters: upper and lower case alphanumeric characters, forward-slash, underscore, hyphen, and period.For backward compatibility, if log_name begins with a forward-slash, such as /projects/..., then the log entry is processed as usual, but the forward-slash is removed. Listing the log entry will not show the leading slash and filtering for a log name with a leading slash will never return any results.", +"type": "string" +}, +"metadata": { +"$ref": "MonitoredResourceMetadata", +"deprecated": true, +"description": "Output only. Deprecated. This field is not used by Logging. Any value written to it is cleared.", +"readOnly": true +}, +"operation": { +"$ref": "LogEntryOperation", +"description": "Optional. Information about an operation associated with the log entry, if applicable." +}, +"protoPayload": { +"additionalProperties": { +"description": "Properties of the object. Contains field @type with type URL.", +"type": "any" +}, +"description": "The log entry payload, represented as a protocol buffer. Some Google Cloud Platform services use this field for their log entry payloads.The following protocol buffer types are supported; user-defined types are not supported:\"type.googleapis.com/google.cloud.audit.AuditLog\" \"type.googleapis.com/google.appengine.logging.v1.RequestLog\"", +"type": "object" +}, +"receiveTimestamp": { +"description": "Output only. The time the log entry was received by Logging.", +"format": "google-datetime", +"readOnly": true, +"type": "string" +}, +"resource": { +"$ref": "MonitoredResource", +"description": "Required. The monitored resource that produced this log entry.Example: a log entry that reports a database error would be associated with the monitored resource designating the particular database that reported the error." +}, +"severity": { +"description": "Optional. The severity of the log entry. The default value is LogSeverity.DEFAULT.", +"enum": [ +"DEFAULT", +"DEBUG", +"INFO", +"NOTICE", +"WARNING", +"ERROR", +"CRITICAL", +"ALERT", +"EMERGENCY" +], +"enumDescriptions": [ +"(0) The log entry has no assigned severity level.", +"(100) Debug or trace information.", +"(200) Routine information, such as ongoing status or performance.", +"(300) Normal but significant events, such as start up, shut down, or a configuration change.", +"(400) Warning events might cause problems.", +"(500) Error events are likely to cause problems.", +"(600) Critical events cause more severe problems or outages.", +"(700) A person must take an action immediately.", +"(800) One or more systems are unusable." +], +"type": "string" +}, +"sourceLocation": { +"$ref": "LogEntrySourceLocation", +"description": "Optional. Source code location information associated with the log entry, if any." +}, +"spanId": { +"description": "Optional. The ID of the Cloud Trace (https://cloud.google.com/trace) span associated with the current operation in which the log is being written. For example, if a span has the REST resource name of \"projects/some-project/traces/some-trace/spans/some-span-id\", then the span_id field is \"some-span-id\".A Span (https://cloud.google.com/trace/docs/reference/v2/rest/v2/projects.traces/batchWrite#Span) represents a single operation within a trace. Whereas a trace may involve multiple different microservices running on multiple different machines, a span generally corresponds to a single logical operation being performed in a single instance of a microservice on one specific machine. Spans are the nodes within the tree that is a trace.Applications that are instrumented for tracing (https://cloud.google.com/trace/docs/setup) will generally assign a new, unique span ID on each incoming request. It is also common to create and record additional spans corresponding to internal processing elements as well as issuing requests to dependencies.The span ID is expected to be a 16-character, hexadecimal encoding of an 8-byte array and should not be zero. It should be unique within the trace and should, ideally, be generated in a manner that is uniformly random.Example values: 000000000000004a 7a2190356c3fc94b 0000f00300090021 d39223e101960076", +"type": "string" +}, +"split": { +"$ref": "LogSplit", +"description": "Optional. Information indicating this LogEntry is part of a sequence of multiple log entries split from a single LogEntry." +}, +"textPayload": { +"description": "The log entry payload, represented as a Unicode string (UTF-8).", +"type": "string" +}, +"timestamp": { +"description": "Optional. The time the event described by the log entry occurred. This time is used to compute the log entry's age and to enforce the logs retention period. If this field is omitted in a new log entry, then Logging assigns it the current time. Timestamps have nanosecond accuracy, but trailing zeros in the fractional seconds might be omitted when the timestamp is displayed.Incoming log entries must have timestamps that don't exceed the logs retention period (https://cloud.google.com/logging/quotas#logs_retention_periods) in the past, and that don't exceed 24 hours in the future. Log entries outside those time boundaries are rejected by Logging.", +"format": "google-datetime", +"type": "string" +}, +"trace": { +"description": "Optional. The REST resource name of the trace being written to Cloud Trace (https://cloud.google.com/trace) in association with this log entry. For example, if your trace data is stored in the Cloud project \"my-trace-project\" and if the service that is creating the log entry receives a trace header that includes the trace ID \"12345\", then the service should use \"projects/my-trace-project/traces/12345\".The trace field provides the link between logs and traces. By using this field, you can navigate from a log entry to a trace.", +"type": "string" +}, +"traceSampled": { +"description": "Optional. The sampling decision of the span associated with the log entry at the time the log entry was created. This field corresponds to the sampled flag in the W3C trace-context specification (https://www.w3.org/TR/trace-context/#sampled-flag). A non-sampled trace value is still useful as a request correlation identifier. The default is False.", +"type": "boolean" +} +}, +"type": "object" +}, +"LogEntryOperation": { +"description": "Additional information about a potentially long-running operation with which a log entry is associated.", +"id": "LogEntryOperation", +"properties": { +"first": { +"description": "Optional. Set this to True if this is the first log entry in the operation.", +"type": "boolean" +}, +"id": { +"description": "Optional. An arbitrary operation identifier. Log entries with the same identifier are assumed to be part of the same operation.", +"type": "string" +}, +"last": { +"description": "Optional. Set this to True if this is the last log entry in the operation.", +"type": "boolean" +}, +"producer": { +"description": "Optional. An arbitrary producer identifier. The combination of id and producer must be globally unique. Examples for producer: \"MyDivision.MyBigCompany.com\", \"github.com/MyProject/MyApplication\".", +"type": "string" +} +}, +"type": "object" +}, +"LogEntrySourceLocation": { +"description": "Additional information about the source code location that produced the log entry.", +"id": "LogEntrySourceLocation", +"properties": { +"file": { +"description": "Optional. Source file name. Depending on the runtime environment, this might be a simple name or a fully-qualified name.", +"type": "string" +}, +"function": { +"description": "Optional. Human-readable name of the function or method being invoked, with optional context such as the class or package name. This information may be used in contexts such as the logs viewer, where a file and line number are less meaningful. The format can vary by language. For example: qual.if.ied.Class.method (Java), dir/package.func (Go), function (Python).", +"type": "string" +}, +"line": { +"description": "Optional. Line within the source file. 1-based; 0 indicates no line number available.", +"format": "int64", +"type": "string" +} +}, +"type": "object" +}, +"LogErrorGroup": { +"description": "Contains metadata that associates the LogEntry to Error Reporting error groups.", +"id": "LogErrorGroup", +"properties": { +"id": { +"description": "The id is a unique identifier for a particular error group; it is the last part of the error group resource name: /project/[PROJECT_ID]/errors/[ERROR_GROUP_ID]. Example: COShysOX0r_51QE. The id is derived from key parts of the error-log content and is treated as Service Data. For information about how Service Data is handled, see Google Cloud Privacy Notice (https://cloud.google.com/terms/cloud-privacy-notice).", +"type": "string" +} +}, +"type": "object" +}, +"LogExclusion": { +"description": "Specifies a set of log entries that are filtered out by a sink. If your Google Cloud resource receives a large volume of log entries, you can use exclusions to reduce your chargeable logs. Note that exclusions on organization-level and folder-level sinks don't apply to child resources. Note also that you cannot modify the _Required sink or exclude logs from it.", +"id": "LogExclusion", +"properties": { +"createTime": { +"description": "Output only. The creation timestamp of the exclusion.This field may not be present for older exclusions.", +"format": "google-datetime", +"readOnly": true, +"type": "string" +}, +"description": { +"description": "Optional. A description of this exclusion.", +"type": "string" +}, +"disabled": { +"description": "Optional. If set to True, then this exclusion is disabled and it does not exclude any log entries. You can update an exclusion to change the value of this field.", +"type": "boolean" +}, +"filter": { +"description": "Required. An advanced logs filter (https://cloud.google.com/logging/docs/view/advanced-queries) that matches the log entries to be excluded. By using the sample function (https://cloud.google.com/logging/docs/view/advanced-queries#sample), you can exclude less than 100% of the matching log entries.For example, the following query matches 99% of low-severity log entries from Google Cloud Storage buckets:resource.type=gcs_bucket severity=ERROR\" The maximum length of the filter is 20000 characters.", +"type": "string" +}, +"labelExtractors": { +"additionalProperties": { +"type": "string" +}, +"description": "Optional. A map from a label key string to an extractor expression which is used to extract data from a log entry field and assign as the label value. Each label key specified in the LabelDescriptor must have an associated extractor expression in this map. The syntax of the extractor expression is the same as for the value_extractor field.The extracted value is converted to the type defined in the label descriptor. If either the extraction or the type conversion fails, the label will have a default value. The default value for a string label is an empty string, for an integer label its 0, and for a boolean label its false.Note that there are upper bounds on the maximum number of labels and the number of active time series that are allowed in a project.", +"type": "object" +}, +"metricDescriptor": { +"$ref": "MetricDescriptor", +"description": "Optional. The metric descriptor associated with the logs-based metric. If unspecified, it uses a default metric descriptor with a DELTA metric kind, INT64 value type, with no labels and a unit of \"1\". Such a metric counts the number of log entries matching the filter expression.The name, type, and description fields in the metric_descriptor are output only, and is constructed using the name and description field in the LogMetric.To create a logs-based metric that records a distribution of log values, a DELTA metric kind with a DISTRIBUTION value type must be used along with a value_extractor expression in the LogMetric.Each label in the metric descriptor must have a matching label name as the key and an extractor expression as the value in the label_extractors map.The metric_kind and value_type fields in the metric_descriptor cannot be updated once initially configured. New labels can be added in the metric_descriptor, but existing labels cannot be modified except for their description." +}, +"name": { +"description": "Required. The client-assigned metric identifier. Examples: \"error_count\", \"nginx/requests\".Metric identifiers are limited to 100 characters and can include only the following characters: A-Z, a-z, 0-9, and the special characters _-.,+!*',()%/. The forward-slash character (/) denotes a hierarchy of name pieces, and it cannot be the first character of the name.This field is the [METRIC_ID] part of a metric resource name in the format \"projects/PROJECT_ID/metrics/METRIC_ID\". Example: If the resource name of a metric is \"projects/my-project/metrics/nginx%2Frequests\", this field's value is \"nginx/requests\".", +"type": "string" +}, +"resourceName": { +"description": "Output only. The resource name of the metric: \"projects/[PROJECT_ID]/metrics/[METRIC_ID]\" ", +"readOnly": true, +"type": "string" +}, +"updateTime": { +"description": "Output only. The last update timestamp of the metric.This field may not be present for older metrics.", +"format": "google-datetime", +"readOnly": true, +"type": "string" +}, +"valueExtractor": { +"description": "Optional. A value_extractor is required when using a distribution logs-based metric to extract the values to record from a log entry. Two functions are supported for value extraction: EXTRACT(field) or REGEXP_EXTRACT(field, regex). The arguments are: field: The name of the log entry field from which the value is to be extracted. regex: A regular expression using the Google RE2 syntax (https://github.com/google/re2/wiki/Syntax) with a single capture group to extract data from the specified log entry field. The value of the field is converted to a string before applying the regex. It is an error to specify a regex that does not include exactly one capture group.The result of the extraction must be convertible to a double type, as the distribution always records double values. If either the extraction or the conversion to double fails, then those values are not recorded in the distribution.Example: REGEXP_EXTRACT(jsonPayload.request, \".*quantity=(\\d+).*\")", +"type": "string" +}, +"version": { +"deprecated": true, +"description": "Deprecated. The API version that created or updated this metric. The v2 format is used by default and cannot be changed.", +"enum": [ +"V2", +"V1" +], +"enumDescriptions": [ +"Logging API v2.", +"Logging API v1." +], +"type": "string" +} +}, +"type": "object" +}, +"LogScope": { +"description": "Describes a group of resources to read log entries from.", +"id": "LogScope", +"properties": { +"createTime": { +"description": "Output only. The creation timestamp of the log scope.", +"format": "google-datetime", +"readOnly": true, +"type": "string" +}, +"description": { +"description": "Optional. Describes this log scope.The maximum length of the description is 8000 characters.", +"type": "string" +}, +"name": { +"description": "Output only. The resource name of the log scope.Log scopes are only available in the global location. For example:projects/my-project/locations/global/logScopes/my-log-scope", +"readOnly": true, +"type": "string" +}, +"resourceNames": { +"description": "Required. Names of one or more parent resources: projects/[PROJECT_ID]May alternatively be one or more views: projects/[PROJECT_ID]/locations/[LOCATION_ID]/buckets/[BUCKET_ID]/views/[VIEW_ID]A log scope can include a maximum of 5 projects and a maximum of 100 resources in total.", +"items": { +"type": "string" +}, +"type": "array" +}, +"updateTime": { +"description": "Output only. The last update timestamp of the log scope.", +"format": "google-datetime", +"readOnly": true, +"type": "string" +} +}, +"type": "object" +}, +"LogSink": { +"description": "Describes a sink used to export log entries to one of the following destinations: a Cloud Logging log bucket, a Cloud Storage bucket, a BigQuery dataset, a Pub/Sub topic, a Cloud project.A logs filter controls which log entries are exported. The sink must be created within a project, organization, billing account, or folder.", +"id": "LogSink", +"properties": { +"bigqueryOptions": { +"$ref": "BigQueryOptions", +"description": "Optional. Options that affect sinks exporting data to BigQuery." +}, +"createTime": { +"description": "Output only. The creation timestamp of the sink.This field may not be present for older sinks.", +"format": "google-datetime", +"readOnly": true, +"type": "string" +}, +"description": { +"description": "Optional. A description of this sink.The maximum length of the description is 8000 characters.", +"type": "string" +}, +"destination": { +"description": "Required. The export destination: \"storage.googleapis.com/[GCS_BUCKET]\" \"bigquery.googleapis.com/projects/[PROJECT_ID]/datasets/[DATASET]\" \"pubsub.googleapis.com/projects/[PROJECT_ID]/topics/[TOPIC_ID]\" \"logging.googleapis.com/projects/[PROJECT_ID]\" \"logging.googleapis.com/projects/[PROJECT_ID]/locations/[LOCATION_ID]/buckets/[BUCKET_ID]\" The sink's writer_identity, set when the sink is created, must have permission to write to the destination or else the log entries are not exported. For more information, see Exporting Logs with Sinks (https://cloud.google.com/logging/docs/api/tasks/exporting-logs).", +"type": "string" +}, +"disabled": { +"description": "Optional. If set to true, then this sink is disabled and it does not export any log entries.", +"type": "boolean" +}, +"exclusions": { +"description": "Optional. Log entries that match any of these exclusion filters will not be exported.If a log entry is matched by both filter and one of exclusion_filters it will not be exported.", +"items": { +"$ref": "LogExclusion" +}, +"type": "array" +}, +"filter": { +"description": "Optional. An advanced logs filter (https://cloud.google.com/logging/docs/view/advanced-queries). The only exported log entries are those that are in the resource owning the sink and that match the filter.For example:logName=\"projects/[PROJECT_ID]/logs/[LOG_ID]\" AND severity>=ERROR", +"type": "string" +}, +"includeChildren": { +"description": "Optional. This field applies only to sinks owned by organizations and folders. If the field is false, the default, only the logs owned by the sink's parent resource are available for export. If the field is true, then log entries from all the projects, folders, and billing accounts contained in the sink's parent resource are also available for export. Whether a particular log entry from the children is exported depends on the sink's filter expression.For example, if this field is true, then the filter resource.type=gce_instance would export all Compute Engine VM instance log entries from all projects in the sink's parent.To only export entries from certain child projects, filter on the project part of the log name:logName:(\"projects/test-project1/\" OR \"projects/test-project2/\") AND resource.type=gce_instance", +"type": "boolean" +}, +"interceptChildren": { +"description": "Optional. This field applies only to sinks owned by organizations and folders.When the value of 'intercept_children' is true, the following restrictions apply: The sink must have the include_children flag set to true. The sink destination must be a Cloud project.Also, the following behaviors apply: Any logs matched by the sink won't be included by non-_Required sinks owned by child resources. The sink appears in the results of a ListSinks call from a child resource if the value of the filter field in its request is either 'in_scope(\"ALL\")' or 'in_scope(\"ANCESTOR\")'.", +"type": "boolean" +}, +"name": { +"description": "Output only. The client-assigned sink identifier, unique within the project.For example: \"my-syslog-errors-to-pubsub\".Sink identifiers are limited to 100 characters and can include only the following characters: upper and lower-case alphanumeric characters, underscores, hyphens, periods.First character has to be alphanumeric.", +"readOnly": true, +"type": "string" +}, +"outputVersionFormat": { +"deprecated": true, +"description": "Deprecated. This field is unused.", +"enum": [ +"VERSION_FORMAT_UNSPECIFIED", +"V2", +"V1" +], +"enumDescriptions": [ +"An unspecified format version that will default to V2.", +"LogEntry version 2 format.", +"LogEntry version 1 format." +], +"type": "string" +}, +"resourceName": { +"description": "Output only. The resource name of the sink. \"projects/[PROJECT_ID]/sinks/[SINK_NAME] \"organizations/[ORGANIZATION_ID]/sinks/[SINK_NAME] \"billingAccounts/[BILLING_ACCOUNT_ID]/sinks/[SINK_NAME] \"folders/[FOLDER_ID]/sinks/[SINK_NAME] For example: projects/my_project/sinks/SINK_NAME", +"readOnly": true, +"type": "string" +}, +"updateTime": { +"description": "Output only. The last update timestamp of the sink.This field may not be present for older sinks.", +"format": "google-datetime", +"readOnly": true, +"type": "string" +}, +"writerIdentity": { +"description": "Output only. An IAM identity\u2014a service account or group\u2014under which Cloud Logging writes the exported log entries to the sink's destination. This field is either set by specifying custom_writer_identity or set automatically by sinks.create and sinks.update based on the value of unique_writer_identity in those methods.Until you grant this identity write-access to the destination, log entry exports from this sink will fail. For more information, see Granting Access for a Resource (https://cloud.google.com/iam/docs/granting-roles-to-service-accounts#granting_access_to_a_service_account_for_a_resource). Consult the destination service's documentation to determine the appropriate IAM roles to assign to the identity.Sinks that have a destination that is a log bucket in the same project as the sink cannot have a writer_identity and no additional permissions are required.", +"readOnly": true, +"type": "string" +} +}, +"type": "object" +}, +"LogSplit": { +"description": "Additional information used to correlate multiple log entries. Used when a single LogEntry would exceed the Google Cloud Logging size limit and is split across multiple log entries.", +"id": "LogSplit", +"properties": { +"index": { +"description": "The index of this LogEntry in the sequence of split log entries. Log entries are given |index| values 0, 1, ..., n-1 for a sequence of n log entries.", +"format": "int32", +"type": "integer" +}, +"totalSplits": { +"description": "The total number of log entries that the original LogEntry was split into.", +"format": "int32", +"type": "integer" +}, +"uid": { +"description": "A globally unique identifier for all log entries in a sequence of split log entries. All log entries with the same |LogSplit.uid| are assumed to be part of the same sequence of split log entries.", +"type": "string" +} +}, +"type": "object" +}, +"LogView": { +"description": "Describes a view over log entries in a bucket.", +"id": "LogView", +"properties": { +"createTime": { +"description": "Output only. The creation timestamp of the view.", +"format": "google-datetime", +"readOnly": true, +"type": "string" +}, +"description": { +"description": "Optional. Describes this view.", +"type": "string" +}, +"filter": { +"description": "Optional. Filter that restricts which log entries in a bucket are visible in this view.Filters must be logical conjunctions that use the AND operator, and they can use any of the following qualifiers: SOURCE(), which specifies a project, folder, organization, or billing account of origin. resource.type, which specifies the resource type. LOG_ID(), which identifies the log.They can also use the negations of these qualifiers with the NOT operator.For example:SOURCE(\"projects/myproject\") AND resource.type = \"gce_instance\" AND NOT LOG_ID(\"stdout\")", +"type": "string" +}, +"name": { +"description": "Output only. The resource name of the view.For example:projects/my-project/locations/global/buckets/my-bucket/views/my-view", +"readOnly": true, +"type": "string" +}, +"updateTime": { +"description": "Output only. The last update timestamp of the view.", +"format": "google-datetime", +"readOnly": true, +"type": "string" +} +}, +"type": "object" +}, +"LoggingQuery": { +"description": "Describes a Cloud Logging query that can be run in Logs Explorer UI or via the logging API.In addition to the query itself, additional information may be stored to capture the display configuration and other UI state used in association with analysis of query results.", +"id": "LoggingQuery", +"properties": { +"filter": { +"description": "Required. An advanced query using the Logging Query Language (https://cloud.google.com/logging/docs/view/logging-query-language). The maximum length of the filter is 20000 characters.", +"type": "string" +}, +"summaryFieldEnd": { +"description": "Characters will be counted from the end of the string.", +"format": "int32", +"type": "integer" +}, +"summaryFieldStart": { +"description": "Characters will be counted from the start of the string.", +"format": "int32", +"type": "integer" +}, +"summaryFields": { +"description": "Optional. The set of summary fields to display for this saved query.", +"items": { +"$ref": "SummaryField" +}, +"type": "array" +} +}, +"type": "object" +}, +"MetricDescriptor": { +"description": "Defines a metric type and its schema. Once a metric descriptor is created, deleting or altering it stops data collection and makes the metric type's existing data unusable.", +"id": "MetricDescriptor", +"properties": { +"description": { +"description": "A detailed description of the metric, which can be used in documentation.", +"type": "string" +}, +"displayName": { +"description": "A concise name for the metric, which can be displayed in user interfaces. Use sentence case without an ending period, for example \"Request count\". This field is optional but it is recommended to be set for any metrics associated with user-visible concepts, such as Quota.", +"type": "string" +}, +"labels": { +"description": "The set of labels that can be used to describe a specific instance of this metric type. For example, the appengine.googleapis.com/http/server/response_latencies metric type has a label for the HTTP response code, response_code, so you can look at latencies for successful responses or just for responses that failed.", +"items": { +"$ref": "LabelDescriptor" +}, +"type": "array" +}, +"launchStage": { +"description": "Optional. The launch stage of the metric definition.", +"enum": [ +"LAUNCH_STAGE_UNSPECIFIED", +"UNIMPLEMENTED", +"PRELAUNCH", +"EARLY_ACCESS", +"ALPHA", +"BETA", +"GA", +"DEPRECATED" +], +"enumDescriptions": [ +"Do not use this default value.", +"The feature is not yet implemented. Users can not use it.", +"Prelaunch features are hidden from users and are only visible internally.", +"Early Access features are limited to a closed group of testers. To use these features, you must sign up in advance and sign a Trusted Tester agreement (which includes confidentiality provisions). These features may be unstable, changed in backward-incompatible ways, and are not guaranteed to be released.", +"Alpha is a limited availability test for releases before they are cleared for widespread use. By Alpha, all significant design issues are resolved and we are in the process of verifying functionality. Alpha customers need to apply for access, agree to applicable terms, and have their projects allowlisted. Alpha releases don't have to be feature complete, no SLAs are provided, and there are no technical support obligations, but they will be far enough along that customers can actually use them in test environments or for limited-use tests -- just like they would in normal production cases.", +"Beta is the point at which we are ready to open a release for any customer to use. There are no SLA or technical support obligations in a Beta release. Products will be complete from a feature perspective, but may have some open outstanding issues. Beta releases are suitable for limited production use cases.", +"GA features are open to all developers and are considered stable and fully qualified for production use.", +"Deprecated features are scheduled to be shut down and removed. For more information, see the \"Deprecation Policy\" section of our Terms of Service (https://cloud.google.com/terms/) and the Google Cloud Platform Subject to the Deprecation Policy (https://cloud.google.com/terms/deprecation) documentation." +], +"type": "string" +}, +"metadata": { +"$ref": "MetricDescriptorMetadata", +"description": "Optional. Metadata which can be used to guide usage of the metric." +}, +"metricKind": { +"description": "Whether the metric records instantaneous values, changes to a value, etc. Some combinations of metric_kind and value_type might not be supported.", +"enum": [ +"METRIC_KIND_UNSPECIFIED", +"GAUGE", +"DELTA", +"CUMULATIVE" +], +"enumDescriptions": [ +"Do not use this default value.", +"An instantaneous measurement of a value.", +"The change in a value during a time interval.", +"A value accumulated over a time interval. Cumulative measurements in a time series should have the same start time and increasing end times, until an event resets the cumulative value to zero and sets a new start time for the following points." +], +"type": "string" +}, +"monitoredResourceTypes": { +"description": "Read-only. If present, then a time series, which is identified partially by a metric type and a MonitoredResourceDescriptor, that is associated with this metric type can only be associated with one of the monitored resource types listed here.", +"items": { +"type": "string" +}, +"type": "array" +}, +"name": { +"description": "The resource name of the metric descriptor.", +"type": "string" +}, +"type": { +"description": "The metric type, including its DNS name prefix. The type is not URL-encoded. All user-defined metric types have the DNS name custom.googleapis.com or external.googleapis.com. Metric types should use a natural hierarchical grouping. For example: \"custom.googleapis.com/invoice/paid/amount\" \"external.googleapis.com/prometheus/up\" \"appengine.googleapis.com/http/server/response_latencies\" ", +"type": "string" +}, +"unit": { +"description": "The units in which the metric value is reported. It is only applicable if the value_type is INT64, DOUBLE, or DISTRIBUTION. The unit defines the representation of the stored metric values.Different systems might scale the values to be more easily displayed (so a value of 0.02kBy might be displayed as 20By, and a value of 3523kBy might be displayed as 3.5MBy). However, if the unit is kBy, then the value of the metric is always in thousands of bytes, no matter how it might be displayed.If you want a custom metric to record the exact number of CPU-seconds used by a job, you can create an INT64 CUMULATIVE metric whose unit is s{CPU} (or equivalently 1s{CPU} or just s). If the job uses 12,005 CPU-seconds, then the value is written as 12005.Alternatively, if you want a custom metric to record data in a more granular way, you can create a DOUBLE CUMULATIVE metric whose unit is ks{CPU}, and then write the value 12.005 (which is 12005/1000), or use Kis{CPU} and write 11.723 (which is 12005/1024).The supported units are a subset of The Unified Code for Units of Measure (https://unitsofmeasure.org/ucum.html) standard:Basic units (UNIT) bit bit By byte s second min minute h hour d day 1 dimensionlessPrefixes (PREFIX) k kilo (10^3) M mega (10^6) G giga (10^9) T tera (10^12) P peta (10^15) E exa (10^18) Z zetta (10^21) Y yotta (10^24) m milli (10^-3) u micro (10^-6) n nano (10^-9) p pico (10^-12) f femto (10^-15) a atto (10^-18) z zepto (10^-21) y yocto (10^-24) Ki kibi (2^10) Mi mebi (2^20) Gi gibi (2^30) Ti tebi (2^40) Pi pebi (2^50)GrammarThe grammar also includes these connectors: / division or ratio (as an infix operator). For examples, kBy/{email} or MiBy/10ms (although you should almost never have /s in a metric unit; rates should always be computed at query time from the underlying cumulative or delta value). . multiplication or composition (as an infix operator). For examples, GBy.d or k{watt}.h.The grammar for a unit is as follows: Expression = Component { \".\" Component } { \"/\" Component } ; Component = ( [ PREFIX ] UNIT | \"%\" ) [ Annotation ] | Annotation | \"1\" ; Annotation = \"{\" NAME \"}\" ; Notes: Annotation is just a comment if it follows a UNIT. If the annotation is used alone, then the unit is equivalent to 1. For examples, {request}/s == 1/s, By{transmitted}/s == By/s. NAME is a sequence of non-blank printable ASCII characters not containing { or }. 1 represents a unitary dimensionless unit (https://en.wikipedia.org/wiki/Dimensionless_quantity) of 1, such as in 1/s. It is typically used when none of the basic units are appropriate. For example, \"new users per day\" can be represented as 1/d or {new-users}/d (and a metric value 5 would mean \"5 new users). Alternatively, \"thousands of page views per day\" would be represented as 1000/d or k1/d or k{page_views}/d (and a metric value of 5.3 would mean \"5300 page views per day\"). % represents dimensionless value of 1/100, and annotates values giving a percentage (so the metric values are typically in the range of 0..100, and a metric value 3 means \"3 percent\"). 10^2.% indicates a metric contains a ratio, typically in the range 0..1, that will be multiplied by 100 and displayed as a percentage (so a metric value 0.03 means \"3 percent\").", +"type": "string" +}, +"valueType": { +"description": "Whether the measurement is an integer, a floating-point number, etc. Some combinations of metric_kind and value_type might not be supported.", +"enum": [ +"VALUE_TYPE_UNSPECIFIED", +"BOOL", +"INT64", +"DOUBLE", +"STRING", +"DISTRIBUTION", +"MONEY" +], +"enumDescriptions": [ +"Do not use this default value.", +"The value is a boolean. This value type can be used only if the metric kind is GAUGE.", +"The value is a signed 64-bit integer.", +"The value is a double precision floating point number.", +"The value is a text string. This value type can be used only if the metric kind is GAUGE.", +"The value is a Distribution.", +"The value is money." +], +"type": "string" +} +}, +"type": "object" +}, +"MetricDescriptorMetadata": { +"description": "Additional annotations that can be used to guide the usage of a metric.", +"id": "MetricDescriptorMetadata", +"properties": { +"ingestDelay": { +"description": "The delay of data points caused by ingestion. Data points older than this age are guaranteed to be ingested and available to be read, excluding data loss due to errors.", +"format": "google-duration", +"type": "string" +}, +"launchStage": { +"deprecated": true, +"description": "Deprecated. Must use the MetricDescriptor.launch_stage instead.", +"enum": [ +"LAUNCH_STAGE_UNSPECIFIED", +"UNIMPLEMENTED", +"PRELAUNCH", +"EARLY_ACCESS", +"ALPHA", +"BETA", +"GA", +"DEPRECATED" +], +"enumDescriptions": [ +"Do not use this default value.", +"The feature is not yet implemented. Users can not use it.", +"Prelaunch features are hidden from users and are only visible internally.", +"Early Access features are limited to a closed group of testers. To use these features, you must sign up in advance and sign a Trusted Tester agreement (which includes confidentiality provisions). These features may be unstable, changed in backward-incompatible ways, and are not guaranteed to be released.", +"Alpha is a limited availability test for releases before they are cleared for widespread use. By Alpha, all significant design issues are resolved and we are in the process of verifying functionality. Alpha customers need to apply for access, agree to applicable terms, and have their projects allowlisted. Alpha releases don't have to be feature complete, no SLAs are provided, and there are no technical support obligations, but they will be far enough along that customers can actually use them in test environments or for limited-use tests -- just like they would in normal production cases.", +"Beta is the point at which we are ready to open a release for any customer to use. There are no SLA or technical support obligations in a Beta release. Products will be complete from a feature perspective, but may have some open outstanding issues. Beta releases are suitable for limited production use cases.", +"GA features are open to all developers and are considered stable and fully qualified for production use.", +"Deprecated features are scheduled to be shut down and removed. For more information, see the \"Deprecation Policy\" section of our Terms of Service (https://cloud.google.com/terms/) and the Google Cloud Platform Subject to the Deprecation Policy (https://cloud.google.com/terms/deprecation) documentation." +], +"type": "string" +}, +"samplePeriod": { +"description": "The sampling period of metric data points. For metrics which are written periodically, consecutive data points are stored at this time interval, excluding data loss due to errors. Metrics with a higher granularity have a smaller sampling period.", +"format": "google-duration", +"type": "string" +}, +"timeSeriesResourceHierarchyLevel": { +"description": "The scope of the timeseries data of the metric.", +"items": { +"enum": [ +"TIME_SERIES_RESOURCE_HIERARCHY_LEVEL_UNSPECIFIED", +"PROJECT", +"ORGANIZATION", +"FOLDER" +], +"enumDescriptions": [ +"Do not use this default value.", +"Scopes a metric to a project.", +"Scopes a metric to an organization.", +"Scopes a metric to a folder." +], +"type": "string" +}, +"type": "array" +} +}, +"type": "object" +}, +"MonitoredResource": { +"description": "An object representing a resource that can be used for monitoring, logging, billing, or other purposes. Examples include virtual machine instances, databases, and storage devices such as disks. The type field identifies a MonitoredResourceDescriptor object that describes the resource's schema. Information in the labels field identifies the actual resource and its attributes according to the schema. For example, a particular Compute Engine VM instance could be represented by the following object, because the MonitoredResourceDescriptor for \"gce_instance\" has labels \"project_id\", \"instance_id\" and \"zone\": { \"type\": \"gce_instance\", \"labels\": { \"project_id\": \"my-project\", \"instance_id\": \"12345678901234\", \"zone\": \"us-central1-a\" }} ", +"id": "MonitoredResource", +"properties": { +"labels": { +"additionalProperties": { +"type": "string" +}, +"description": "Required. Values for all of the labels listed in the associated monitored resource descriptor. For example, Compute Engine VM instances use the labels \"project_id\", \"instance_id\", and \"zone\".", +"type": "object" +}, +"type": { +"description": "Required. The monitored resource type. This field must match the type field of a MonitoredResourceDescriptor object. For example, the type of a Compute Engine VM instance is gce_instance. Some descriptors include the service name in the type; for example, the type of a Datastream stream is datastream.googleapis.com/Stream.", +"type": "string" +} +}, +"type": "object" +}, +"MonitoredResourceDescriptor": { +"description": "An object that describes the schema of a MonitoredResource object using a type name and a set of labels. For example, the monitored resource descriptor for Google Compute Engine VM instances has a type of \"gce_instance\" and specifies the use of the labels \"instance_id\" and \"zone\" to identify particular VM instances.Different APIs can support different monitored resource types. APIs generally provide a list method that returns the monitored resource descriptors used by the API.", +"id": "MonitoredResourceDescriptor", +"properties": { +"description": { +"description": "Optional. A detailed description of the monitored resource type that might be used in documentation.", +"type": "string" +}, +"displayName": { +"description": "Optional. A concise name for the monitored resource type that might be displayed in user interfaces. It should be a Title Cased Noun Phrase, without any article or other determiners. For example, \"Google Cloud SQL Database\".", +"type": "string" +}, +"labels": { +"description": "Required. A set of labels used to describe instances of this monitored resource type. For example, an individual Google Cloud SQL database is identified by values for the labels \"database_id\" and \"zone\".", +"items": { +"$ref": "LabelDescriptor" +}, +"type": "array" +}, +"launchStage": { +"description": "Optional. The launch stage of the monitored resource definition.", +"enum": [ +"LAUNCH_STAGE_UNSPECIFIED", +"UNIMPLEMENTED", +"PRELAUNCH", +"EARLY_ACCESS", +"ALPHA", +"BETA", +"GA", +"DEPRECATED" +], +"enumDescriptions": [ +"Do not use this default value.", +"The feature is not yet implemented. Users can not use it.", +"Prelaunch features are hidden from users and are only visible internally.", +"Early Access features are limited to a closed group of testers. To use these features, you must sign up in advance and sign a Trusted Tester agreement (which includes confidentiality provisions). These features may be unstable, changed in backward-incompatible ways, and are not guaranteed to be released.", +"Alpha is a limited availability test for releases before they are cleared for widespread use. By Alpha, all significant design issues are resolved and we are in the process of verifying functionality. Alpha customers need to apply for access, agree to applicable terms, and have their projects allowlisted. Alpha releases don't have to be feature complete, no SLAs are provided, and there are no technical support obligations, but they will be far enough along that customers can actually use them in test environments or for limited-use tests -- just like they would in normal production cases.", +"Beta is the point at which we are ready to open a release for any customer to use. There are no SLA or technical support obligations in a Beta release. Products will be complete from a feature perspective, but may have some open outstanding issues. Beta releases are suitable for limited production use cases.", +"GA features are open to all developers and are considered stable and fully qualified for production use.", +"Deprecated features are scheduled to be shut down and removed. For more information, see the \"Deprecation Policy\" section of our Terms of Service (https://cloud.google.com/terms/) and the Google Cloud Platform Subject to the Deprecation Policy (https://cloud.google.com/terms/deprecation) documentation." +], +"type": "string" +}, +"name": { +"description": "Optional. The resource name of the monitored resource descriptor: \"projects/{project_id}/monitoredResourceDescriptors/{type}\" where {type} is the value of the type field in this object and {project_id} is a project ID that provides API-specific context for accessing the type. APIs that do not use project information can use the resource name format \"monitoredResourceDescriptors/{type}\".", +"type": "string" +}, +"type": { +"description": "Required. The monitored resource type. For example, the type \"cloudsql_database\" represents databases in Google Cloud SQL. For a list of types, see Monitored resource types (https://cloud.google.com/monitoring/api/resources) and Logging resource types (https://cloud.google.com/logging/docs/api/v2/resource-list).", +"type": "string" +} +}, +"type": "object" +}, +"MonitoredResourceMetadata": { +"description": "Auxiliary metadata for a MonitoredResource object. MonitoredResource objects contain the minimum set of information to uniquely identify a monitored resource instance. There is some other useful auxiliary metadata. Monitoring and Logging use an ingestion pipeline to extract metadata for cloud resources of all types, and store the metadata in this message.", +"id": "MonitoredResourceMetadata", +"properties": { +"systemLabels": { +"additionalProperties": { +"description": "Properties of the object.", +"type": "any" +}, +"description": "Output only. Values for predefined system metadata labels. System labels are a kind of metadata extracted by Google, including \"machine_image\", \"vpc\", \"subnet_id\", \"security_group\", \"name\", etc. System label values can be only strings, Boolean values, or a list of strings. For example: { \"name\": \"my-test-instance\", \"security_group\": [\"a\", \"b\", \"c\"], \"spot_instance\": false } ", +"type": "object" +}, +"userLabels": { +"additionalProperties": { +"type": "string" +}, +"description": "Output only. A map of user-defined metadata labels.", +"type": "object" +} +}, +"type": "object" +}, +"Operation": { +"description": "This resource represents a long-running operation that is the result of a network API call.", +"id": "Operation", +"properties": { +"done": { +"description": "If the value is false, it means the operation is still in progress. If true, the operation is completed, and either error or response is available.", +"type": "boolean" +}, +"error": { +"$ref": "Status", +"description": "The error result of the operation in case of failure or cancellation." +}, +"metadata": { +"additionalProperties": { +"description": "Properties of the object. Contains field @type with type URL.", +"type": "any" +}, +"description": "Service-specific metadata associated with the operation. It typically contains progress information and common metadata such as create time. Some services might not provide such metadata. Any method that returns a long-running operation should document the metadata type, if any.", +"type": "object" +}, +"name": { +"description": "The server-assigned name, which is only unique within the same service that originally returns it. If you use the default HTTP mapping, the name should be a resource name ending with operations/{unique_id}.", +"type": "string" +}, +"response": { +"additionalProperties": { +"description": "Properties of the object. Contains field @type with type URL.", +"type": "any" +}, +"description": "The normal, successful response of the operation. If the original method returns no data on success, such as Delete, the response is google.protobuf.Empty. If the original method is standard Get/Create/Update, the response should be the resource. For other methods, the response should have the type XxxResponse, where Xxx is the original method name. For example, if the original method name is TakeSnapshot(), the inferred response type is TakeSnapshotResponse.", +"type": "object" +} +}, +"type": "object" +}, +"OpsAnalyticsQuery": { +"description": "Describes an analytics query that can be run in the Log Analytics page of Google Cloud console.Preview: This is a preview feature and may be subject to change before final release.", +"id": "OpsAnalyticsQuery", +"properties": { +"sqlQueryText": { +"description": "Required. A logs analytics SQL query, which generally follows BigQuery format.This is the SQL query that appears in the Log Analytics UI's query editor.", +"type": "string" +} +}, +"type": "object" +}, +"Policy": { +"description": "An Identity and Access Management (IAM) policy, which specifies access controls for Google Cloud resources.A Policy is a collection of bindings. A binding binds one or more members, or principals, to a single role. Principals can be user accounts, service accounts, Google groups, and domains (such as G Suite). A role is a named list of permissions; each role can be an IAM predefined role or a user-created custom role.For some types of Google Cloud resources, a binding can also specify a condition, which is a logical expression that allows access to a resource only if the expression evaluates to true. A condition can add constraints based on attributes of the request, the resource, or both. To learn which resources support conditions in their IAM policies, see the IAM documentation (https://cloud.google.com/iam/help/conditions/resource-policies).JSON example: { \"bindings\": [ { \"role\": \"roles/resourcemanager.organizationAdmin\", \"members\": [ \"user:mike@example.com\", \"group:admins@example.com\", \"domain:google.com\", \"serviceAccount:my-project-id@appspot.gserviceaccount.com\" ] }, { \"role\": \"roles/resourcemanager.organizationViewer\", \"members\": [ \"user:eve@example.com\" ], \"condition\": { \"title\": \"expirable access\", \"description\": \"Does not grant access after Sep 2020\", \"expression\": \"request.time < timestamp('2020-10-01T00:00:00.000Z')\", } } ], \"etag\": \"BwWWja0YfJA=\", \"version\": 3 } YAML example: bindings: - members: - user:mike@example.com - group:admins@example.com - domain:google.com - serviceAccount:my-project-id@appspot.gserviceaccount.com role: roles/resourcemanager.organizationAdmin - members: - user:eve@example.com role: roles/resourcemanager.organizationViewer condition: title: expirable access description: Does not grant access after Sep 2020 expression: request.time < timestamp('2020-10-01T00:00:00.000Z') etag: BwWWja0YfJA= version: 3 For a description of IAM and its features, see the IAM documentation (https://cloud.google.com/iam/docs/).", +"id": "Policy", +"properties": { +"auditConfigs": { +"description": "Specifies cloud audit logging configuration for this policy.", +"items": { +"$ref": "AuditConfig" +}, +"type": "array" +}, +"bindings": { +"description": "Associates a list of members, or principals, with a role. Optionally, may specify a condition that determines how and when the bindings are applied. Each of the bindings must contain at least one principal.The bindings in a Policy can refer to up to 1,500 principals; up to 250 of these principals can be Google groups. Each occurrence of a principal counts towards these limits. For example, if the bindings grant 50 different roles to user:alice@example.com, and not to any other principal, then you can add another 1,450 principals to the bindings in the Policy.", +"items": { +"$ref": "Binding" +}, +"type": "array" +}, +"etag": { +"description": "etag is used for optimistic concurrency control as a way to help prevent simultaneous updates of a policy from overwriting each other. It is strongly suggested that systems make use of the etag in the read-modify-write cycle to perform policy updates in order to avoid race conditions: An etag is returned in the response to getIamPolicy, and systems are expected to put that etag in the request to setIamPolicy to ensure that their change will be applied to the same version of the policy.Important: If you use IAM Conditions, you must include the etag field whenever you call setIamPolicy. If you omit this field, then IAM allows you to overwrite a version 3 policy with a version 1 policy, and all of the conditions in the version 3 policy are lost.", +"format": "byte", +"type": "string" +}, +"version": { +"description": "Specifies the format of the policy.Valid values are 0, 1, and 3. Requests that specify an invalid value are rejected.Any operation that affects conditional role bindings must specify version 3. This requirement applies to the following operations: Getting a policy that includes a conditional role binding Adding a conditional role binding to a policy Changing a conditional role binding in a policy Removing any role binding, with or without a condition, from a policy that includes conditionsImportant: If you use IAM Conditions, you must include the etag field whenever you call setIamPolicy. If you omit this field, then IAM allows you to overwrite a version 3 policy with a version 1 policy, and all of the conditions in the version 3 policy are lost.If a policy does not include any conditions, operations on that policy may specify any valid version or leave the field unset.To learn which resources support conditions in their IAM policies, see the IAM documentation (https://cloud.google.com/iam/help/conditions/resource-policies).", +"format": "int32", +"type": "integer" +} +}, +"type": "object" +}, +"RecentQuery": { +"description": "Describes a recent query executed on the Logs Explorer or Log Analytics page within the last ~ 30 days.", +"id": "RecentQuery", +"properties": { +"lastRunTime": { +"description": "Output only. The timestamp when this query was last run.", +"format": "google-datetime", +"readOnly": true, +"type": "string" +}, +"loggingQuery": { +"$ref": "LoggingQuery", +"description": "Logging query that can be executed in Logs Explorer or via Logging API." +}, +"name": { +"description": "Output only. Resource name of the recent query.In the format: \"projects/[PROJECT_ID]/locations/[LOCATION_ID]/recentQueries/[QUERY_ID]\" For a list of supported locations, see Supported Regions (https://cloud.google.com/logging/docs/region-support)The QUERY_ID is a system generated alphanumeric ID.", +"readOnly": true, +"type": "string" +}, +"opsAnalyticsQuery": { +"$ref": "OpsAnalyticsQuery", +"description": "Analytics query that can be executed in Log Analytics." +} +}, +"type": "object" +}, +"RequestLog": { +"description": "Complete log information about a single HTTP request to an App Engine application.", +"id": "RequestLog", +"properties": { +"appEngineRelease": { +"description": "App Engine release version.", +"type": "string" +}, +"appId": { +"description": "Application that handled this request.", +"type": "string" +}, +"cost": { +"description": "An indication of the relative cost of serving this request.", +"format": "double", +"type": "number" +}, +"endTime": { +"description": "Time when the request finished.", +"format": "google-datetime", +"type": "string" +}, +"finished": { +"description": "Whether this request is finished or active.", +"type": "boolean" +}, +"first": { +"description": "Whether this is the first RequestLog entry for this request. If an active request has several RequestLog entries written to Stackdriver Logging, then this field will be set for one of them.", +"type": "boolean" +}, +"host": { +"description": "Internet host and port number of the resource being requested.", +"type": "string" +}, +"httpVersion": { +"description": "HTTP version of request. Example: \"HTTP/1.1\".", +"type": "string" +}, +"instanceId": { +"description": "An identifier for the instance that handled the request.", +"type": "string" +}, +"instanceIndex": { +"description": "If the instance processing this request belongs to a manually scaled module, then this is the 0-based index of the instance. Otherwise, this value is -1.", +"format": "int32", +"type": "integer" +}, +"ip": { +"description": "Origin IP address.", +"type": "string" +}, +"latency": { +"description": "Latency of the request.", +"format": "google-duration", +"type": "string" +}, +"line": { +"description": "A list of log lines emitted by the application while serving this request.", +"items": { +"$ref": "LogLine" +}, +"type": "array" +}, +"megaCycles": { +"description": "Number of CPU megacycles used to process request.", +"format": "int64", +"type": "string" +}, +"method": { +"description": "Request method. Example: \"GET\", \"HEAD\", \"PUT\", \"POST\", \"DELETE\".", +"type": "string" +}, +"moduleId": { +"description": "Module of the application that handled this request.", +"type": "string" +}, +"nickname": { +"description": "The logged-in user who made the request.Most likely, this is the part of the user's email before the @ sign. The field value is the same for different requests from the same user, but different users can have similar names. This information is also available to the application via the App Engine Users API.This field will be populated starting with App Engine 1.9.21.", +"type": "string" +}, +"pendingTime": { +"description": "Time this request spent in the pending request queue.", +"format": "google-duration", +"type": "string" +}, +"referrer": { +"description": "Referrer URL of request.", +"type": "string" +}, +"requestId": { +"description": "Globally unique identifier for a request, which is based on the request start time. Request IDs for requests which started later will compare greater as strings than those for requests which started earlier.", +"type": "string" +}, +"resource": { +"description": "Contains the path and query portion of the URL that was requested. For example, if the URL was \"http://example.com/app?name=val\", the resource would be \"/app?name=val\". The fragment identifier, which is identified by the # character, is not included.", +"type": "string" +}, +"responseSize": { +"description": "Size in bytes sent back to client by request.", +"format": "int64", +"type": "string" +}, +"sourceReference": { +"description": "Source code for the application that handled this request. There can be more than one source reference per deployed application if source code is distributed among multiple repositories.", +"items": { +"$ref": "SourceReference" +}, +"type": "array" +}, +"spanId": { +"description": "Stackdriver Trace span identifier for this request.", +"type": "string" +}, +"startTime": { +"description": "Time when the request started.", +"format": "google-datetime", +"type": "string" +}, +"status": { +"description": "HTTP response status code. Example: 200, 404.", +"format": "int32", +"type": "integer" +}, +"taskName": { +"description": "Task name of the request, in the case of an offline request.", +"type": "string" +}, +"taskQueueName": { +"description": "Queue name of the request, in the case of an offline request.", +"type": "string" +}, +"traceId": { +"description": "Stackdriver Trace identifier for this request.", +"type": "string" +}, +"traceSampled": { +"description": "If true, the value in the 'trace_id' field was sampled for storage in a trace backend.", +"type": "boolean" +}, +"urlMapEntry": { +"description": "File or class that handled the request.", +"type": "string" +}, +"userAgent": { +"description": "User agent that made the request.", +"type": "string" +}, +"versionId": { +"description": "Version of the application that handled this request.", +"type": "string" +}, +"wasLoadingRequest": { +"description": "Whether this was a loading request for the instance.", +"type": "boolean" +} +}, +"type": "object" +}, +"SavedQuery": { +"description": "Describes a query that has been saved by a user.", +"id": "SavedQuery", +"properties": { +"createTime": { +"description": "Output only. The timestamp when the saved query was created.", +"format": "google-datetime", +"readOnly": true, +"type": "string" +}, +"description": { +"description": "Optional. A human readable description of the saved query.", +"type": "string" +}, +"displayName": { +"description": "Required. The user specified title for the SavedQuery.", +"type": "string" +}, +"loggingQuery": { +"$ref": "LoggingQuery", +"description": "Logging query that can be executed in Logs Explorer or via Logging API." +}, +"name": { +"description": "Output only. Resource name of the saved query.In the format: \"projects/[PROJECT_ID]/locations/[LOCATION_ID]/savedQueries/[QUERY_ID]\" For a list of supported locations, see Supported Regions (https://cloud.google.com/logging/docs/region-support#bucket-regions)After the saved query is created, the location cannot be changed.If the user doesn't provide a QUERY_ID, the system will generate an alphanumeric ID.", +"readOnly": true, +"type": "string" +}, +"opsAnalyticsQuery": { +"$ref": "OpsAnalyticsQuery", +"description": "Analytics query that can be executed in Log Analytics." +}, +"updateTime": { +"description": "Output only. The timestamp when the saved query was last updated.", +"format": "google-datetime", +"readOnly": true, +"type": "string" +}, +"visibility": { +"description": "Required. The visibility status of this query, which determines its ownership.", +"enum": [ +"VISIBILITY_UNSPECIFIED", +"PRIVATE", +"SHARED" +], +"enumDescriptions": [ +"The saved query visibility is unspecified. A CreateSavedQuery request with an unspecified visibility will be rejected.", +"The saved query is only visible to the user that created it.", +"The saved query is visible to anyone in the project." +], +"type": "string" +} +}, +"type": "object" +}, +"SetIamPolicyRequest": { +"description": "Request message for SetIamPolicy method.", +"id": "SetIamPolicyRequest", +"properties": { +"policy": { +"$ref": "Policy", +"description": "REQUIRED: The complete policy to be applied to the resource. The size of the policy is limited to a few 10s of KB. An empty policy is a valid policy but certain Google Cloud services (such as Projects) might reject them." +}, +"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" +} +}, +"type": "object" +}, +"Settings": { +"description": "Describes the settings associated with a project, folder, organization, or billing account.", +"id": "Settings", +"properties": { +"defaultSinkConfig": { +"$ref": "DefaultSinkConfig", +"description": "Optional. Overrides the built-in configuration for _Default sink." +}, +"disableDefaultSink": { +"description": "Optional. If set to true, the _Default sink in newly created projects and folders will created in a disabled state. This can be used to automatically disable log storage if there is already an aggregated sink configured in the hierarchy. The _Default sink can be re-enabled manually if needed.", +"type": "boolean" +}, +"kmsKeyName": { +"description": "Optional. The resource name for the configured Cloud KMS key.KMS key name format: \"projects/[PROJECT_ID]/locations/[LOCATION]/keyRings/[KEYRING]/cryptoKeys/[KEY]\" For example:\"projects/my-project/locations/us-central1/keyRings/my-ring/cryptoKeys/my-key\"To enable CMEK, set this field to a valid kms_key_name for which the associated service account has the required roles/cloudkms.cryptoKeyEncrypterDecrypter role assigned for the key.The Cloud KMS key used by the Log Router can be updated by changing the kms_key_name to a new valid key name.To disable CMEK for the Log Router, set this field to an empty string.See Enabling CMEK for Log Router (https://cloud.google.com/logging/docs/routing/managed-encryption) for more information.", +"type": "string" +}, +"kmsServiceAccountId": { +"description": "Output only. The service account that will be used by the Log Router to access your Cloud KMS key.Before enabling CMEK, you must first assign the role roles/cloudkms.cryptoKeyEncrypterDecrypter to the service account that will be used to access your Cloud KMS key. Use GetSettings to obtain the service account ID.See Enabling CMEK for Log Router (https://cloud.google.com/logging/docs/routing/managed-encryption) for more information.", +"readOnly": true, +"type": "string" +}, +"loggingServiceAccountId": { +"description": "Output only. The service account for the given resource container, such as project or folder. Log sinks use this service account as their writer_identity if no custom service account is provided in the request when calling the create sink method.", +"readOnly": true, +"type": "string" +}, +"name": { +"description": "Output only. The resource name of the settings.", +"readOnly": true, +"type": "string" +}, +"storageLocation": { +"description": "Optional. The storage location for the _Default and _Required log buckets of newly created projects and folders, unless the storage location is explicitly provided.Example value: europe-west1.Note: this setting does not affect the location of resources where a location is explicitly provided when created, such as custom log buckets.", +"type": "string" +} +}, +"type": "object" +}, +"SourceLocation": { +"description": "Specifies a location in a source code file.", +"id": "SourceLocation", +"properties": { +"file": { +"description": "Source file name. Depending on the runtime environment, this might be a simple name or a fully-qualified name.", +"type": "string" +}, +"functionName": { +"description": "Human-readable name of the function or method being invoked, with optional context such as the class or package name. This information is used in contexts such as the logs viewer, where a file and line number are less meaningful. The format can vary by language. For example: qual.if.ied.Class.method (Java), dir/package.func (Go), function (Python).", +"type": "string" +}, +"line": { +"description": "Line within the source file.", +"format": "int64", +"type": "string" +} +}, +"type": "object" +}, +"SourceReference": { +"description": "A reference to a particular snapshot of the source tree used to build and deploy an application.", +"id": "SourceReference", +"properties": { +"repository": { +"description": "Optional. A URI string identifying the repository. Example: \"https://github.com/GoogleCloudPlatform/kubernetes.git\"", +"type": "string" +}, +"revisionId": { +"description": "The canonical and persistent identifier of the deployed revision. Example (git): \"0035781c50ec7aa23385dc841529ce8a4b70db1b\"", +"type": "string" +} +}, +"type": "object" +}, +"Status": { +"description": "The Status type defines a logical error model that is suitable for different programming environments, including REST APIs and RPC APIs. It is used by gRPC (https://github.com/grpc). Each Status message contains three pieces of data: error code, error message, and error details.You can find out more about this error model and how to work with it in the API Design Guide (https://cloud.google.com/apis/design/errors).", +"id": "Status", +"properties": { +"code": { +"description": "The status code, which should be an enum value of google.rpc.Code.", +"format": "int32", +"type": "integer" +}, +"details": { +"description": "A list of messages that carry the error details. There is a common set of message types for APIs to use.", +"items": { +"additionalProperties": { +"description": "Properties of the object. Contains field @type with type URL.", +"type": "any" +}, +"type": "object" +}, +"type": "array" +}, +"message": { +"description": "A developer-facing error message, which should be in English. Any user-facing error message should be localized and sent in the google.rpc.Status.details field, or localized by the client.", +"type": "string" +} +}, +"type": "object" +}, +"SummaryField": { +"description": "A field from the LogEntry that is added to the summary line (https://cloud.google.com/logging/docs/view/logs-explorer-interface#add-summary-fields) for a query in the Logs Explorer.", +"id": "SummaryField", +"properties": { +"field": { +"description": "Optional. The field from the LogEntry to include in the summary line, for example resource.type or jsonPayload.name.", +"type": "string" +} +}, +"type": "object" +}, +"SuppressionInfo": { +"description": "Information about entries that were omitted from the session.", +"id": "SuppressionInfo", +"properties": { +"reason": { +"description": "The reason that entries were omitted from the session.", +"enum": [ +"REASON_UNSPECIFIED", +"RATE_LIMIT", +"NOT_CONSUMED" +], +"enumDescriptions": [ +"Unexpected default.", +"Indicates suppression occurred due to relevant entries being received in excess of rate limits. For quotas and limits, see Logging API quotas and limits (https://cloud.google.com/logging/quotas#api-limits).", +"Indicates suppression occurred due to the client not consuming responses quickly enough." +], +"type": "string" +}, +"suppressedCount": { +"description": "A lower bound on the count of entries omitted due to reason.", +"format": "int32", +"type": "integer" +} +}, +"type": "object" +}, +"TailLogEntriesRequest": { +"description": "The parameters to TailLogEntries.", +"id": "TailLogEntriesRequest", +"properties": { +"bufferWindow": { +"description": "Optional. The amount of time to buffer log entries at the server before being returned to prevent out of order results due to late arriving log entries. Valid values are between 0-60000 milliseconds. Defaults to 2000 milliseconds.", +"format": "google-duration", +"type": "string" +}, +"filter": { +"description": "Optional. Only log entries that match the filter are returned. An empty filter matches all log entries in the resources listed in resource_names. Referencing a parent resource that is not listed in resource_names will cause the filter to return no results. The maximum length of a filter is 20,000 characters.", +"type": "string" +}, +"resourceNames": { +"description": "Required. Name of a parent resource from which to retrieve log entries: projects/[PROJECT_ID] organizations/[ORGANIZATION_ID] billingAccounts/[BILLING_ACCOUNT_ID] folders/[FOLDER_ID]May alternatively be one or more views: projects/[PROJECT_ID]/locations/[LOCATION_ID]/buckets/[BUCKET_ID]/views/[VIEW_ID] organizations/[ORGANIZATION_ID]/locations/[LOCATION_ID]/buckets/[BUCKET_ID]/views/[VIEW_ID] billingAccounts/[BILLING_ACCOUNT_ID]/locations/[LOCATION_ID]/buckets/[BUCKET_ID]/views/[VIEW_ID] folders/[FOLDER_ID]/locations/[LOCATION_ID]/buckets/[BUCKET_ID]/views/[VIEW_ID]", +"items": { +"type": "string" +}, +"type": "array" +} +}, +"type": "object" +}, +"TailLogEntriesResponse": { +"description": "Result returned from TailLogEntries.", +"id": "TailLogEntriesResponse", +"properties": { +"entries": { +"description": "A list of log entries. Each response in the stream will order entries with increasing values of LogEntry.timestamp. Ordering is not guaranteed between separate responses.", +"items": { +"$ref": "LogEntry" +}, +"type": "array" +}, +"suppressionInfo": { +"description": "If entries that otherwise would have been included in the session were not sent back to the client, counts of relevant entries omitted from the session with the reason that they were not included. There will be at most one of each reason per response. The counts represent the number of suppressed entries since the last streamed response.", +"items": { +"$ref": "SuppressionInfo" +}, +"type": "array" +} +}, +"type": "object" +}, +"TestIamPermissionsRequest": { +"description": "Request message for TestIamPermissions method.", +"id": "TestIamPermissionsRequest", +"properties": { +"permissions": { +"description": "The set of permissions to check for the resource. Permissions with wildcards (such as * or storage.*) are not allowed. For more information see IAM Overview (https://cloud.google.com/iam/docs/overview#permissions).", +"items": { +"type": "string" +}, +"type": "array" +} +}, +"type": "object" +}, +"TestIamPermissionsResponse": { +"description": "Response message for TestIamPermissions method.", +"id": "TestIamPermissionsResponse", +"properties": { +"permissions": { +"description": "A subset of TestPermissionsRequest.permissions that the caller is allowed.", +"items": { +"type": "string" +}, +"type": "array" +} +}, +"type": "object" +}, +"UndeleteBucketRequest": { +"description": "The parameters to UndeleteBucket.", +"id": "UndeleteBucketRequest", +"properties": {}, +"type": "object" +}, +"UpdateBucketRequest": { +"description": "The parameters to UpdateBucket.", +"id": "UpdateBucketRequest", +"properties": { +"bucket": { +"$ref": "LogBucket", +"description": "Required. The updated bucket." +}, +"name": { +"description": "Required. The full resource name of the bucket to update. \"projects/[PROJECT_ID]/locations/[LOCATION_ID]/buckets/[BUCKET_ID]\" \"organizations/[ORGANIZATION_ID]/locations/[LOCATION_ID]/buckets/[BUCKET_ID]\" \"billingAccounts/[BILLING_ACCOUNT_ID]/locations/[LOCATION_ID]/buckets/[BUCKET_ID]\" \"folders/[FOLDER_ID]/locations/[LOCATION_ID]/buckets/[BUCKET_ID]\" For example:\"projects/my-project/locations/global/buckets/my-bucket\"", +"type": "string" +}, +"updateMask": { +"description": "Required. Field mask that specifies the fields in bucket that need an update. A bucket field will be overwritten if, and only if, it is in the update mask. name and output only fields cannot be updated.For a detailed FieldMask definition, see: https://developers.google.com/protocol-buffers/docs/reference/google.protobuf#google.protobuf.FieldMaskFor example: updateMask=retention_days", +"format": "google-fieldmask", +"type": "string" +} +}, +"type": "object" +}, +"WriteLogEntriesRequest": { +"description": "The parameters to WriteLogEntries.", +"id": "WriteLogEntriesRequest", +"properties": { +"dryRun": { +"description": "Optional. If true, the request should expect normal response, but the entries won't be persisted nor exported. Useful for checking whether the logging API endpoints are working properly before sending valuable data.", +"type": "boolean" +}, +"entries": { +"description": "Required. The log entries to send to Logging. The order of log entries in this list does not matter. Values supplied in this method's log_name, resource, and labels fields are copied into those log entries in this list that do not include values for their corresponding fields. For more information, see the LogEntry type.If the timestamp or insert_id fields are missing in log entries, then this method supplies the current time or a unique identifier, respectively. The supplied values are chosen so that, among the log entries that did not supply their own values, the entries earlier in the list will sort before the entries later in the list. See the entries.list method.Log entries with timestamps that are more than the logs retention period (https://cloud.google.com/logging/quotas) in the past or more than 24 hours in the future will not be available when calling entries.list. However, those log entries can still be exported with LogSinks (https://cloud.google.com/logging/docs/api/tasks/exporting-logs).To improve throughput and to avoid exceeding the quota limit (https://cloud.google.com/logging/quotas) for calls to entries.write, you should try to include several log entries in this list, rather than calling this method for each individual log entry.", +"items": { +"$ref": "LogEntry" +}, +"type": "array" +}, +"labels": { +"additionalProperties": { +"type": "string" +}, +"description": "Optional. Default labels that are added to the labels field of all log entries in entries. If a log entry already has a label with the same key as a label in this parameter, then the log entry's label is not changed. See LogEntry.", +"type": "object" +}, +"logName": { +"description": "Optional. A default log resource name that is assigned to all log entries in entries that do not specify a value for log_name: projects/[PROJECT_ID]/logs/[LOG_ID] organizations/[ORGANIZATION_ID]/logs/[LOG_ID] billingAccounts/[BILLING_ACCOUNT_ID]/logs/[LOG_ID] folders/[FOLDER_ID]/logs/[LOG_ID][LOG_ID] must be URL-encoded. For example: \"projects/my-project-id/logs/syslog\" \"organizations/123/logs/cloudaudit.googleapis.com%2Factivity\" The permission logging.logEntries.create is needed on each project, organization, billing account, or folder that is receiving new log entries, whether the resource is specified in logName or in an individual log entry.", +"type": "string" +}, +"partialSuccess": { +"description": "Optional. Whether a batch's valid entries should be written even if some other entry failed due to a permanent error such as INVALID_ARGUMENT or PERMISSION_DENIED. If any entry failed, then the response status is the response status of one of the failed entries. The response will include error details in WriteLogEntriesPartialErrors.log_entry_errors keyed by the entries' zero-based index in the entries. Failed requests for which no entries are written will not include per-entry errors.", +"type": "boolean" +}, +"resource": { +"$ref": "MonitoredResource", +"description": "Optional. A default monitored resource object that is assigned to all log entries in entries that do not specify a value for resource. Example: { \"type\": \"gce_instance\", \"labels\": { \"zone\": \"us-central1-a\", \"instance_id\": \"00000000000000000000\" }} See LogEntry." +} +}, +"type": "object" +}, +"WriteLogEntriesResponse": { +"description": "Result returned from WriteLogEntries.", +"id": "WriteLogEntriesResponse", +"properties": {}, +"type": "object" +} +}, +"servicePath": "", +"title": "Cloud Logging API", +"version": "v2", +"version_module": true +} \ No newline at end of file diff --git a/.venv/lib/python3.11/site-packages/googleapiclient/discovery_cache/documents/manufacturers.v1.json b/.venv/lib/python3.11/site-packages/googleapiclient/discovery_cache/documents/manufacturers.v1.json new file mode 100644 index 0000000000000000000000000000000000000000..836d42fa4c5e7d2516cfdeba44443bc8654ed069 --- /dev/null +++ b/.venv/lib/python3.11/site-packages/googleapiclient/discovery_cache/documents/manufacturers.v1.json @@ -0,0 +1,1402 @@ +{ +"auth": { +"oauth2": { +"scopes": { +"https://www.googleapis.com/auth/manufacturercenter": { +"description": "Manage your product listings for Google Manufacturer Center" +} +} +} +}, +"basePath": "", +"baseUrl": "https://manufacturers.googleapis.com/", +"batchPath": "batch", +"canonicalName": "Manufacturer Center", +"description": "Public API for managing Manufacturer Center related data.", +"discoveryVersion": "v1", +"documentationLink": "https://developers.google.com/manufacturers/", +"fullyEncodeReservedExpansion": true, +"icons": { +"x16": "http://www.google.com/images/icons/product/search-16.gif", +"x32": "http://www.google.com/images/icons/product/search-32.gif" +}, +"id": "manufacturers:v1", +"kind": "discovery#restDescription", +"mtlsRootUrl": "https://manufacturers.mtls.googleapis.com/", +"name": "manufacturers", +"ownerDomain": "google.com", +"ownerName": "Google", +"parameters": { +"$.xgafv": { +"description": "V1 error format.", +"enum": [ +"1", +"2" +], +"enumDescriptions": [ +"v1 error format", +"v2 error format" +], +"location": "query", +"type": "string" +}, +"access_token": { +"description": "OAuth access token.", +"location": "query", +"type": "string" +}, +"alt": { +"default": "json", +"description": "Data format for response.", +"enum": [ +"json", +"media", +"proto" +], +"enumDescriptions": [ +"Responses with Content-Type of application/json", +"Media download with context-dependent Content-Type", +"Responses with Content-Type of application/x-protobuf" +], +"location": "query", +"type": "string" +}, +"callback": { +"description": "JSONP", +"location": "query", +"type": "string" +}, +"fields": { +"description": "Selector specifying which fields to include in a partial response.", +"location": "query", +"type": "string" +}, +"key": { +"description": "API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token.", +"location": "query", +"type": "string" +}, +"oauth_token": { +"description": "OAuth 2.0 token for the current user.", +"location": "query", +"type": "string" +}, +"prettyPrint": { +"default": "true", +"description": "Returns response with indentations and line breaks.", +"location": "query", +"type": "boolean" +}, +"quotaUser": { +"description": "Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters.", +"location": "query", +"type": "string" +}, +"uploadType": { +"description": "Legacy upload protocol for media (e.g. \"media\", \"multipart\").", +"location": "query", +"type": "string" +}, +"upload_protocol": { +"description": "Upload protocol for media (e.g. \"raw\", \"multipart\").", +"location": "query", +"type": "string" +} +}, +"protocol": "rest", +"resources": { +"accounts": { +"resources": { +"languages": { +"resources": { +"productCertifications": { +"methods": { +"delete": { +"description": "Deletes a product certification by its name. This method can only be called by certification bodies.", +"flatPath": "v1/accounts/{accountsId}/languages/{languagesId}/productCertifications/{productCertificationsId}", +"httpMethod": "DELETE", +"id": "manufacturers.accounts.languages.productCertifications.delete", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. The name of the product certification to delete. Format: accounts/{account}/languages/{language_code}/productCertifications/{id}", +"location": "path", +"pattern": "^accounts/[^/]+/languages/[^/]+/productCertifications/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+name}", +"response": { +"$ref": "Empty" +}, +"scopes": [ +"https://www.googleapis.com/auth/manufacturercenter" +] +}, +"get": { +"description": "Gets a product certification by its name. This method can only be called by certification bodies.", +"flatPath": "v1/accounts/{accountsId}/languages/{languagesId}/productCertifications/{productCertificationsId}", +"httpMethod": "GET", +"id": "manufacturers.accounts.languages.productCertifications.get", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. The name of the product certification to get. Format: accounts/{account}/languages/{language_code}/productCertifications/{id}", +"location": "path", +"pattern": "^accounts/[^/]+/languages/[^/]+/productCertifications/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+name}", +"response": { +"$ref": "ProductCertification" +}, +"scopes": [ +"https://www.googleapis.com/auth/manufacturercenter" +] +}, +"list": { +"description": "Lists product certifications from a specified certification body. This method can only be called by certification bodies.", +"flatPath": "v1/accounts/{accountsId}/languages/{languagesId}/productCertifications", +"httpMethod": "GET", +"id": "manufacturers.accounts.languages.productCertifications.list", +"parameterOrder": [ +"parent" +], +"parameters": { +"pageSize": { +"description": "Optional. The maximum number of product certifications to return. The service may return fewer than this value. If unspecified, at most 50 product certifications will be returned. The maximum value is 1000; values above 1000 will be coerced to 1000.", +"format": "int32", +"location": "query", +"type": "integer" +}, +"pageToken": { +"description": "Optional. A page token, received from a previous `ListProductCertifications` call. Provide this to retrieve the subsequent page. When paginating, all other parameters provided to `ListProductCertifications` must match the call that provided the page token. Required if requesting the second or higher page.", +"location": "query", +"type": "string" +}, +"parent": { +"description": "Required. The parent, which owns this collection of product certifications. Format: accounts/{account}/languages/{language_code}", +"location": "path", +"pattern": "^accounts/[^/]+/languages/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+parent}/productCertifications", +"response": { +"$ref": "ListProductCertificationsResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/manufacturercenter" +] +}, +"patch": { +"description": "Updates (or creates if allow_missing = true) a product certification which links certifications with products. This method can only be called by certification bodies.", +"flatPath": "v1/accounts/{accountsId}/languages/{languagesId}/productCertifications/{productCertificationsId}", +"httpMethod": "PATCH", +"id": "manufacturers.accounts.languages.productCertifications.patch", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. The unique name identifier of a product certification Format: accounts/{account}/languages/{language_code}/productCertifications/{id} Where `id` is a some unique identifier and `language_code` is a 2-letter ISO 639-1 code of a Shopping supported language according to https://support.google.com/merchants/answer/160637.", +"location": "path", +"pattern": "^accounts/[^/]+/languages/[^/]+/productCertifications/[^/]+$", +"required": true, +"type": "string" +}, +"updateMask": { +"description": "Optional. The list of fields to update according to aip.dev/134. However, only full update is supported as of right now. Therefore, it can be either ignored or set to \"*\". Setting any other values will returns UNIMPLEMENTED error.", +"format": "google-fieldmask", +"location": "query", +"type": "string" +} +}, +"path": "v1/{+name}", +"request": { +"$ref": "ProductCertification" +}, +"response": { +"$ref": "ProductCertification" +}, +"scopes": [ +"https://www.googleapis.com/auth/manufacturercenter" +] +} +} +} +} +}, +"products": { +"methods": { +"delete": { +"description": "Deletes the product from a Manufacturer Center account.", +"flatPath": "v1/accounts/{accountsId}/products/{productsId}", +"httpMethod": "DELETE", +"id": "manufacturers.accounts.products.delete", +"parameterOrder": [ +"parent", +"name" +], +"parameters": { +"name": { +"description": "Name in the format `{target_country}:{content_language}:{product_id}`. `target_country` - The target country of the product as a CLDR territory code (for example, US). `content_language` - The content language of the product as a two-letter ISO 639-1 language code (for example, en). `product_id` - The ID of the product. For more information, see https://support.google.com/manufacturers/answer/6124116#id.", +"location": "path", +"pattern": "^[^/]+$", +"required": true, +"type": "string" +}, +"parent": { +"description": "Parent ID in the format `accounts/{account_id}`. `account_id` - The ID of the Manufacturer Center account.", +"location": "path", +"pattern": "^accounts/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+parent}/products/{+name}", +"response": { +"$ref": "Empty" +}, +"scopes": [ +"https://www.googleapis.com/auth/manufacturercenter" +] +}, +"get": { +"description": "Gets the product from a Manufacturer Center account, including product issues. A recently updated product takes around 15 minutes to process. Changes are only visible after it has been processed. While some issues may be available once the product has been processed, other issues may take days to appear.", +"flatPath": "v1/accounts/{accountsId}/products/{productsId}", +"httpMethod": "GET", +"id": "manufacturers.accounts.products.get", +"parameterOrder": [ +"parent", +"name" +], +"parameters": { +"include": { +"description": "The information to be included in the response. Only sections listed here will be returned.", +"enum": [ +"UNKNOWN", +"ATTRIBUTES", +"ISSUES", +"DESTINATION_STATUSES" +], +"enumDescriptions": [ +"Unknown, never used.", +"Include the attributes of the product.", +"Include the issues of the product.", +"Include the destination statuses of the product." +], +"location": "query", +"repeated": true, +"type": "string" +}, +"name": { +"description": "Name in the format `{target_country}:{content_language}:{product_id}`. `target_country` - The target country of the product as a CLDR territory code (for example, US). `content_language` - The content language of the product as a two-letter ISO 639-1 language code (for example, en). `product_id` - The ID of the product. For more information, see https://support.google.com/manufacturers/answer/6124116#id.", +"location": "path", +"pattern": "^[^/]+$", +"required": true, +"type": "string" +}, +"parent": { +"description": "Parent ID in the format `accounts/{account_id}`. `account_id` - The ID of the Manufacturer Center account.", +"location": "path", +"pattern": "^accounts/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+parent}/products/{+name}", +"response": { +"$ref": "Product" +}, +"scopes": [ +"https://www.googleapis.com/auth/manufacturercenter" +] +}, +"list": { +"description": "Lists all the products in a Manufacturer Center account.", +"flatPath": "v1/accounts/{accountsId}/products", +"httpMethod": "GET", +"id": "manufacturers.accounts.products.list", +"parameterOrder": [ +"parent" +], +"parameters": { +"include": { +"description": "The information to be included in the response. Only sections listed here will be returned.", +"enum": [ +"UNKNOWN", +"ATTRIBUTES", +"ISSUES", +"DESTINATION_STATUSES" +], +"enumDescriptions": [ +"Unknown, never used.", +"Include the attributes of the product.", +"Include the issues of the product.", +"Include the destination statuses of the product." +], +"location": "query", +"repeated": true, +"type": "string" +}, +"pageSize": { +"description": "Maximum number of product statuses to return in the response, used for paging.", +"format": "int32", +"location": "query", +"type": "integer" +}, +"pageToken": { +"description": "The token returned by the previous request.", +"location": "query", +"type": "string" +}, +"parent": { +"description": "Parent ID in the format `accounts/{account_id}`. `account_id` - The ID of the Manufacturer Center account.", +"location": "path", +"pattern": "^accounts/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+parent}/products", +"response": { +"$ref": "ListProductsResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/manufacturercenter" +] +}, +"update": { +"description": "Inserts or updates the attributes of the product in a Manufacturer Center account. Creates a product with the provided attributes. If the product already exists, then all attributes are replaced with the new ones. The checks at upload time are minimal. All required attributes need to be present for a product to be valid. Issues may show up later after the API has accepted a new upload for a product and it is possible to overwrite an existing valid product with an invalid product. To detect this, you should retrieve the product and check it for issues once the new version is available. Uploaded attributes first need to be processed before they can be retrieved. Until then, new products will be unavailable, and retrieval of previously uploaded products will return the original state of the product.", +"flatPath": "v1/accounts/{accountsId}/products/{productsId}", +"httpMethod": "PUT", +"id": "manufacturers.accounts.products.update", +"parameterOrder": [ +"parent", +"name" +], +"parameters": { +"name": { +"description": "Name in the format `{target_country}:{content_language}:{product_id}`. `target_country` - The target country of the product as a CLDR territory code (for example, US). `content_language` - The content language of the product as a two-letter ISO 639-1 language code (for example, en). `product_id` - The ID of the product. For more information, see https://support.google.com/manufacturers/answer/6124116#id.", +"location": "path", +"pattern": "^[^/]+$", +"required": true, +"type": "string" +}, +"parent": { +"description": "Parent ID in the format `accounts/{account_id}`. `account_id` - The ID of the Manufacturer Center account.", +"location": "path", +"pattern": "^accounts/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+parent}/products/{+name}", +"request": { +"$ref": "Attributes" +}, +"response": { +"$ref": "Empty" +}, +"scopes": [ +"https://www.googleapis.com/auth/manufacturercenter" +] +} +} +} +} +} +}, +"revision": "20240809", +"rootUrl": "https://manufacturers.googleapis.com/", +"schemas": { +"Attributes": { +"description": "Attributes of the product. For more information, see https://support.google.com/manufacturers/answer/6124116.", +"id": "Attributes", +"properties": { +"additionalImageLink": { +"description": "The additional images of the product. For more information, see https://support.google.com/manufacturers/answer/6124116#addlimage.", +"items": { +"$ref": "Image" +}, +"type": "array" +}, +"ageGroup": { +"description": "The target age group of the product. For more information, see https://support.google.com/manufacturers/answer/6124116#agegroup.", +"type": "string" +}, +"brand": { +"description": "The brand name of the product. For more information, see https://support.google.com/manufacturers/answer/6124116#brand.", +"type": "string" +}, +"capacity": { +"$ref": "Capacity", +"description": "The capacity of the product. For more information, see https://support.google.com/manufacturers/answer/6124116#capacity." +}, +"certification": { +"description": "Optional. List of certifications claimed by this product.", +"items": { +"$ref": "GoogleShoppingManufacturersV1ProductCertification" +}, +"type": "array" +}, +"color": { +"description": "The color of the product. For more information, see https://support.google.com/manufacturers/answer/6124116#color.", +"type": "string" +}, +"count": { +"$ref": "Count", +"description": "The count of the product. For more information, see https://support.google.com/manufacturers/answer/6124116#count." +}, +"description": { +"description": "The description of the product. For more information, see https://support.google.com/manufacturers/answer/6124116#description.", +"type": "string" +}, +"disclosureDate": { +"description": "The disclosure date of the product. For more information, see https://support.google.com/manufacturers/answer/6124116#disclosure.", +"type": "string" +}, +"excludedDestination": { +"description": "A list of excluded destinations such as \"ClientExport\", \"ClientShoppingCatalog\" or \"PartnerShoppingCatalog\". For more information, see https://support.google.com/manufacturers/answer/7443550", +"items": { +"type": "string" +}, +"type": "array" +}, +"featureDescription": { +"description": "The rich format description of the product. For more information, see https://support.google.com/manufacturers/answer/6124116#featuredesc.", +"items": { +"$ref": "FeatureDescription" +}, +"type": "array" +}, +"flavor": { +"description": "The flavor of the product. For more information, see https://support.google.com/manufacturers/answer/6124116#flavor.", +"type": "string" +}, +"format": { +"description": "The format of the product. For more information, see https://support.google.com/manufacturers/answer/6124116#format.", +"type": "string" +}, +"gender": { +"description": "The target gender of the product. For more information, see https://support.google.com/manufacturers/answer/6124116#gender.", +"type": "string" +}, +"grocery": { +"$ref": "Grocery", +"description": "Grocery Attributes. See more at https://support.google.com/manufacturers/answer/12098458#grocery." +}, +"gtin": { +"description": "The Global Trade Item Number (GTIN) of the product. For more information, see https://support.google.com/manufacturers/answer/6124116#gtin.", +"items": { +"type": "string" +}, +"type": "array" +}, +"imageLink": { +"$ref": "Image", +"description": "The image of the product. For more information, see https://support.google.com/manufacturers/answer/6124116#image." +}, +"includedDestination": { +"description": "A list of included destinations such as \"ClientExport\", \"ClientShoppingCatalog\" or \"PartnerShoppingCatalog\". For more information, see https://support.google.com/manufacturers/answer/7443550", +"items": { +"type": "string" +}, +"type": "array" +}, +"intendedCountry": { +"description": "Optional. List of countries to show this product in. Countries provided in this attribute will override any of the countries configured at feed level. The values should be: the [CLDR territory code](http://www.unicode.org/repos/cldr/tags/latest/common/main/en.xml) of the countries in which this item will be shown.", +"items": { +"type": "string" +}, +"type": "array" +}, +"itemGroupId": { +"description": "The item group id of the product. For more information, see https://support.google.com/manufacturers/answer/6124116#itemgroupid.", +"type": "string" +}, +"material": { +"description": "The material of the product. For more information, see https://support.google.com/manufacturers/answer/6124116#material.", +"type": "string" +}, +"mpn": { +"description": "The Manufacturer Part Number (MPN) of the product. For more information, see https://support.google.com/manufacturers/answer/6124116#mpn.", +"type": "string" +}, +"nutrition": { +"$ref": "Nutrition", +"description": "Nutrition Attributes. See more at https://support.google.com/manufacturers/answer/12098458#food-servings." +}, +"pattern": { +"description": "The pattern of the product. For more information, see https://support.google.com/manufacturers/answer/6124116#pattern.", +"type": "string" +}, +"productDetail": { +"description": "The details of the product. For more information, see https://support.google.com/manufacturers/answer/6124116#productdetail.", +"items": { +"$ref": "ProductDetail" +}, +"type": "array" +}, +"productHighlight": { +"description": "The product highlights. For more information, see https://support.google.com/manufacturers/answer/10066942", +"items": { +"type": "string" +}, +"type": "array" +}, +"productLine": { +"description": "The name of the group of products related to the product. For more information, see https://support.google.com/manufacturers/answer/6124116#productline.", +"type": "string" +}, +"productName": { +"description": "The canonical name of the product. For more information, see https://support.google.com/manufacturers/answer/6124116#productname.", +"type": "string" +}, +"productPageUrl": { +"description": "The URL of the detail page of the product. For more information, see https://support.google.com/manufacturers/answer/6124116#productpage.", +"type": "string" +}, +"productType": { +"description": "The type or category of the product. For more information, see https://support.google.com/manufacturers/answer/6124116#producttype.", +"items": { +"type": "string" +}, +"type": "array" +}, +"releaseDate": { +"description": "The release date of the product. For more information, see https://support.google.com/manufacturers/answer/6124116#release.", +"type": "string" +}, +"richProductContent": { +"description": "Rich product content. For more information, see https://support.google.com/manufacturers/answer/9389865", +"items": { +"type": "string" +}, +"type": "array" +}, +"scent": { +"description": "The scent of the product. For more information, see https://support.google.com/manufacturers/answer/6124116#scent.", +"type": "string" +}, +"size": { +"description": "The size of the product. For more information, see https://support.google.com/manufacturers/answer/6124116#size.", +"type": "string" +}, +"sizeSystem": { +"description": "The size system of the product. For more information, see https://support.google.com/manufacturers/answer/6124116#sizesystem.", +"type": "string" +}, +"sizeType": { +"description": "The size type of the product. For more information, see https://support.google.com/manufacturers/answer/6124116#sizetype.", +"items": { +"type": "string" +}, +"type": "array" +}, +"suggestedRetailPrice": { +"$ref": "Price", +"description": "The suggested retail price (MSRP) of the product. For more information, see https://support.google.com/manufacturers/answer/6124116#price." +}, +"targetClientId": { +"description": "The target client id. Should only be used in the accounts of the data partners. For more information, see https://support.google.com/manufacturers/answer/10857344", +"type": "string" +}, +"theme": { +"description": "The theme of the product. For more information, see https://support.google.com/manufacturers/answer/6124116#theme.", +"type": "string" +}, +"title": { +"description": "The title of the product. For more information, see https://support.google.com/manufacturers/answer/6124116#title.", +"type": "string" +}, +"videoLink": { +"description": "The videos of the product. For more information, see https://support.google.com/manufacturers/answer/6124116#video.", +"items": { +"type": "string" +}, +"type": "array" +}, +"virtualModelLink": { +"description": "Virtual Model (3d) asset link.", +"type": "string" +} +}, +"type": "object" +}, +"Capacity": { +"description": "The capacity of a product. For more information, see https://support.google.com/manufacturers/answer/6124116#capacity.", +"id": "Capacity", +"properties": { +"unit": { +"description": "The unit of the capacity, i.e., MB, GB, or TB.", +"type": "string" +}, +"value": { +"description": "The numeric value of the capacity.", +"format": "int64", +"type": "string" +} +}, +"type": "object" +}, +"Certification": { +"description": "Description of a certification.", +"id": "Certification", +"properties": { +"authority": { +"description": "Required. Name of the certification body.", +"type": "string" +}, +"code": { +"description": "Required. A unique code to identify the certification.", +"type": "string" +}, +"link": { +"description": "Optional. A URL link to the certification.", +"type": "string" +}, +"logo": { +"description": "Optional. A URL link to the certification logo.", +"type": "string" +}, +"name": { +"description": "Required. Name of the certification.", +"type": "string" +}, +"validUntil": { +"description": "Optional. The expiration date (UTC).", +"type": "string" +}, +"value": { +"description": "Optional. A custom value of the certification.", +"type": "string" +} +}, +"type": "object" +}, +"Count": { +"description": "The number of products in a single package. For more information, see https://support.google.com/manufacturers/answer/6124116#count.", +"id": "Count", +"properties": { +"unit": { +"description": "The unit in which these products are counted.", +"type": "string" +}, +"value": { +"description": "The numeric value of the number of products in a package.", +"format": "int64", +"type": "string" +} +}, +"type": "object" +}, +"DestinationStatus": { +"description": "The destination status.", +"id": "DestinationStatus", +"properties": { +"approvedCountries": { +"description": "Output only. List of country codes (ISO 3166-1 alpha-2) where the offer is approved.", +"items": { +"type": "string" +}, +"readOnly": true, +"type": "array" +}, +"destination": { +"description": "The name of the destination.", +"type": "string" +}, +"disapprovedCountries": { +"description": "Output only. List of country codes (ISO 3166-1 alpha-2) where the offer is disapproved.", +"items": { +"type": "string" +}, +"readOnly": true, +"type": "array" +}, +"pendingCountries": { +"description": "Output only. List of country codes (ISO 3166-1 alpha-2) where the offer is pending approval.", +"items": { +"type": "string" +}, +"readOnly": true, +"type": "array" +}, +"status": { +"description": "The status of the destination.", +"enum": [ +"UNKNOWN", +"ACTIVE", +"PENDING", +"DISAPPROVED" +], +"enumDescriptions": [ +"Unspecified status, never used.", +"The product is used for this destination.", +"The decision is still pending.", +"The product is disapproved. Please look at the issues." +], +"type": "string" +} +}, +"type": "object" +}, +"Empty": { +"description": "A generic empty message that you can re-use to avoid defining duplicated empty messages in your APIs. A typical example is to use it as the request or the response type of an API method. For instance: service Foo { rpc Bar(google.protobuf.Empty) returns (google.protobuf.Empty); }", +"id": "Empty", +"properties": {}, +"type": "object" +}, +"FeatureDescription": { +"description": "A feature description of the product. For more information, see https://support.google.com/manufacturers/answer/6124116#featuredesc.", +"id": "FeatureDescription", +"properties": { +"headline": { +"description": "A short description of the feature.", +"type": "string" +}, +"image": { +"$ref": "Image", +"description": "An optional image describing the feature." +}, +"text": { +"description": "A detailed description of the feature.", +"type": "string" +} +}, +"type": "object" +}, +"FloatUnit": { +"description": "Combination of float amount and unit.", +"id": "FloatUnit", +"properties": { +"amount": { +"description": "amount.", +"format": "double", +"type": "number" +}, +"unit": { +"description": "unit.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleShoppingManufacturersV1ProductCertification": { +"description": "Description of a certification.", +"id": "GoogleShoppingManufacturersV1ProductCertification", +"properties": { +"authority": { +"description": "Required. Name of the certification body.", +"type": "string" +}, +"code": { +"description": "Required. A unique code to identify the certification.", +"type": "string" +}, +"name": { +"description": "Required. Name of the certification.", +"type": "string" +} +}, +"type": "object" +}, +"Grocery": { +"id": "Grocery", +"properties": { +"activeIngredients": { +"description": "Active ingredients.", +"type": "string" +}, +"alcoholByVolume": { +"description": "Alcohol by volume.", +"format": "double", +"type": "number" +}, +"allergens": { +"description": "Allergens.", +"type": "string" +}, +"derivedNutritionClaim": { +"description": "Derived nutrition claim.", +"items": { +"type": "string" +}, +"type": "array" +}, +"directions": { +"description": "Directions.", +"type": "string" +}, +"indications": { +"description": "Indications.", +"type": "string" +}, +"ingredients": { +"description": "Ingredients.", +"type": "string" +}, +"nutritionClaim": { +"description": "Nutrition claim.", +"items": { +"type": "string" +}, +"type": "array" +}, +"storageInstructions": { +"description": "Storage instructions.", +"type": "string" +} +}, +"type": "object" +}, +"Image": { +"description": "An image.", +"id": "Image", +"properties": { +"imageUrl": { +"description": "The URL of the image. For crawled images, this is the provided URL. For uploaded images, this is a serving URL from Google if the image has been processed successfully.", +"type": "string" +}, +"status": { +"description": "The status of the image. @OutputOnly", +"enum": [ +"STATUS_UNSPECIFIED", +"PENDING_PROCESSING", +"PENDING_CRAWL", +"OK", +"ROBOTED", +"XROBOTED", +"CRAWL_ERROR", +"PROCESSING_ERROR", +"DECODING_ERROR", +"TOO_BIG", +"CRAWL_SKIPPED", +"HOSTLOADED", +"HTTP_404" +], +"enumDescriptions": [ +"The image status is unspecified. Should not be used.", +"The image was uploaded and is being processed.", +"The image crawl is still pending.", +"The image was processed and it meets the requirements.", +"The image URL is protected by robots.txt file and cannot be crawled.", +"The image URL is protected by X-Robots-Tag and cannot be crawled.", +"There was an error while crawling the image.", +"The image cannot be processed.", +"The image cannot be decoded.", +"The image is too big.", +"The image was manually overridden and will not be crawled.", +"The image crawl was postponed to avoid overloading the host.", +"The image URL returned a \"404 Not Found\" error." +], +"type": "string" +}, +"type": { +"description": "The type of the image, i.e., crawled or uploaded. @OutputOnly", +"enum": [ +"TYPE_UNSPECIFIED", +"CRAWLED", +"UPLOADED" +], +"enumDescriptions": [ +"Type is unspecified. Should not be used.", +"The image was crawled from a provided URL.", +"The image was uploaded." +], +"type": "string" +} +}, +"type": "object" +}, +"Issue": { +"description": "Product issue.", +"id": "Issue", +"properties": { +"applicableCountries": { +"description": "Output only. List of country codes (ISO 3166-1 alpha-2) where issue applies to the manufacturer product.", +"items": { +"type": "string" +}, +"readOnly": true, +"type": "array" +}, +"attribute": { +"description": "If present, the attribute that triggered the issue. For more information about attributes, see https://support.google.com/manufacturers/answer/6124116.", +"type": "string" +}, +"description": { +"description": "Longer description of the issue focused on how to resolve it.", +"type": "string" +}, +"destination": { +"description": "The destination this issue applies to.", +"type": "string" +}, +"resolution": { +"description": "What needs to happen to resolve the issue.", +"enum": [ +"RESOLUTION_UNSPECIFIED", +"USER_ACTION", +"PENDING_PROCESSING" +], +"enumDescriptions": [ +"Unspecified resolution, never used.", +"The user who provided the data must act in order to resolve the issue (for example by correcting some data).", +"The issue will be resolved automatically (for example image crawl or Google review). No action is required now. Resolution might lead to another issue (for example if crawl fails)." +], +"type": "string" +}, +"severity": { +"description": "The severity of the issue.", +"enum": [ +"SEVERITY_UNSPECIFIED", +"ERROR", +"WARNING", +"INFO" +], +"enumDescriptions": [ +"Unspecified severity, never used.", +"Error severity. The issue prevents the usage of the whole item.", +"Warning severity. The issue is either one that prevents the usage of the attribute that triggered it or one that will soon prevent the usage of the whole item.", +"Info severity. The issue is one that doesn't require immediate attention. It is, for example, used to communicate which attributes are still pending review." +], +"type": "string" +}, +"timestamp": { +"description": "The timestamp when this issue appeared.", +"format": "google-datetime", +"type": "string" +}, +"title": { +"description": "Short title describing the nature of the issue.", +"type": "string" +}, +"type": { +"description": "The server-generated type of the issue, for example, \u201cINCORRECT_TEXT_FORMATTING\u201d, \u201cIMAGE_NOT_SERVEABLE\u201d, etc.", +"type": "string" +} +}, +"type": "object" +}, +"ListProductCertificationsResponse": { +"description": "Response for ListProductCertifications method.", +"id": "ListProductCertificationsResponse", +"properties": { +"nextPageToken": { +"description": "A token, which can be sent as `page_token` to retrieve the next page. If this field is omitted, there are no subsequent pages.", +"type": "string" +}, +"productCertifications": { +"description": "The product certifications from the specified certification body.", +"items": { +"$ref": "ProductCertification" +}, +"type": "array" +} +}, +"type": "object" +}, +"ListProductsResponse": { +"id": "ListProductsResponse", +"properties": { +"nextPageToken": { +"description": "The token for the retrieval of the next page of product statuses.", +"type": "string" +}, +"products": { +"description": "List of the products.", +"items": { +"$ref": "Product" +}, +"type": "array" +} +}, +"type": "object" +}, +"Nutrition": { +"id": "Nutrition", +"properties": { +"addedSugars": { +"$ref": "FloatUnit", +"description": "Added sugars." +}, +"addedSugarsDailyPercentage": { +"description": "Added sugars daily percentage.", +"format": "double", +"type": "number" +}, +"calcium": { +"$ref": "FloatUnit", +"description": "Calcium." +}, +"calciumDailyPercentage": { +"description": "Calcium daily percentage.", +"format": "double", +"type": "number" +}, +"cholesterol": { +"$ref": "FloatUnit", +"description": "Cholesterol." +}, +"cholesterolDailyPercentage": { +"description": "Cholesterol daily percentage.", +"format": "double", +"type": "number" +}, +"dietaryFiber": { +"$ref": "FloatUnit", +"description": "Dietary fiber." +}, +"dietaryFiberDailyPercentage": { +"description": "Dietary fiber daily percentage.", +"format": "double", +"type": "number" +}, +"energy": { +"$ref": "FloatUnit", +"description": "Mandatory Nutrition Facts. Energy." +}, +"energyFromFat": { +"$ref": "FloatUnit", +"description": "Energy from fat." +}, +"folateDailyPercentage": { +"description": "Folate daily percentage.", +"format": "double", +"type": "number" +}, +"folateFolicAcid": { +"$ref": "FloatUnit", +"description": "Folate folic acid." +}, +"folateMcgDfe": { +"description": "Folate mcg DFE.", +"format": "double", +"type": "number" +}, +"iron": { +"$ref": "FloatUnit", +"description": "Iron." +}, +"ironDailyPercentage": { +"description": "Iron daily percentage.", +"format": "double", +"type": "number" +}, +"monounsaturatedFat": { +"$ref": "FloatUnit", +"description": "Monounsaturated fat." +}, +"nutritionFactMeasure": { +"description": "Nutrition fact measure.", +"type": "string" +}, +"polyols": { +"$ref": "FloatUnit", +"description": "Polyols." +}, +"polyunsaturatedFat": { +"$ref": "FloatUnit", +"description": "Polyunsaturated fat." +}, +"potassium": { +"$ref": "FloatUnit", +"description": "Potassium." +}, +"potassiumDailyPercentage": { +"description": "Potassium daily percentage.", +"format": "double", +"type": "number" +}, +"preparedSizeDescription": { +"description": "Prepared size description.", +"type": "string" +}, +"protein": { +"$ref": "FloatUnit", +"description": "Protein." +}, +"proteinDailyPercentage": { +"description": "Protein daily percentage.", +"format": "double", +"type": "number" +}, +"saturatedFat": { +"$ref": "FloatUnit", +"description": "Saturated fat." +}, +"saturatedFatDailyPercentage": { +"description": "Saturated fat daily percentage.", +"format": "double", +"type": "number" +}, +"servingSizeDescription": { +"description": "Food Serving Size. Serving size description.", +"type": "string" +}, +"servingSizeMeasure": { +"$ref": "FloatUnit", +"description": "Serving size measure." +}, +"servingsPerContainer": { +"description": "Servings per container.", +"type": "string" +}, +"sodium": { +"$ref": "FloatUnit", +"description": "Sodium." +}, +"sodiumDailyPercentage": { +"description": "Sodium daily percentage.", +"format": "double", +"type": "number" +}, +"starch": { +"$ref": "FloatUnit", +"description": "Starch." +}, +"totalCarbohydrate": { +"$ref": "FloatUnit", +"description": "Total carbohydrate." +}, +"totalCarbohydrateDailyPercentage": { +"description": "Total carbohydrate daily percentage.", +"format": "double", +"type": "number" +}, +"totalFat": { +"$ref": "FloatUnit", +"description": "Total fat." +}, +"totalFatDailyPercentage": { +"description": "Total fat daily percentage.", +"format": "double", +"type": "number" +}, +"totalSugars": { +"$ref": "FloatUnit", +"description": "Total sugars." +}, +"totalSugarsDailyPercentage": { +"description": "Total sugars daily percentage.", +"format": "double", +"type": "number" +}, +"transFat": { +"$ref": "FloatUnit", +"description": "Trans fat." +}, +"transFatDailyPercentage": { +"description": "Trans fat daily percentage.", +"format": "double", +"type": "number" +}, +"vitaminD": { +"$ref": "FloatUnit", +"description": "Vitamin D." +}, +"vitaminDDailyPercentage": { +"description": "Vitamin D daily percentage.", +"format": "double", +"type": "number" +}, +"voluntaryNutritionFact": { +"description": "Voluntary nutrition fact.", +"items": { +"$ref": "VoluntaryNutritionFact" +}, +"type": "array" +} +}, +"type": "object" +}, +"Price": { +"description": "A price.", +"id": "Price", +"properties": { +"amount": { +"description": "The numeric value of the price.", +"type": "string" +}, +"currency": { +"description": "The currency in which the price is denoted.", +"type": "string" +} +}, +"type": "object" +}, +"Product": { +"description": "Product data.", +"id": "Product", +"properties": { +"attributes": { +"$ref": "Attributes", +"description": "Attributes of the product uploaded to the Manufacturer Center. Manually edited attributes are taken into account." +}, +"contentLanguage": { +"description": "The content language of the product as a two-letter ISO 639-1 language code (for example, en).", +"type": "string" +}, +"destinationStatuses": { +"description": "The status of the destinations.", +"items": { +"$ref": "DestinationStatus" +}, +"type": "array" +}, +"feedLabel": { +"description": "Optional. The feed label for the product.", +"type": "string" +}, +"issues": { +"description": "A server-generated list of issues associated with the product.", +"items": { +"$ref": "Issue" +}, +"type": "array" +}, +"name": { +"description": "Name in the format `{target_country}:{content_language}:{product_id}`. `target_country` - The target country of the product as a CLDR territory code (for example, US). `content_language` - The content language of the product as a two-letter ISO 639-1 language code (for example, en). `product_id` - The ID of the product. For more information, see https://support.google.com/manufacturers/answer/6124116#id.", +"type": "string" +}, +"parent": { +"description": "Parent ID in the format `accounts/{account_id}`. `account_id` - The ID of the Manufacturer Center account.", +"type": "string" +}, +"productId": { +"description": "The ID of the product. For more information, see https://support.google.com/manufacturers/answer/6124116#id.", +"type": "string" +}, +"targetCountry": { +"description": "The target country of the product as a CLDR territory code (for example, US).", +"type": "string" +} +}, +"type": "object" +}, +"ProductCertification": { +"description": "Product certification data.", +"id": "ProductCertification", +"properties": { +"brand": { +"description": "Required. This is the product's brand name. The brand is used to help identify your product.", +"type": "string" +}, +"certification": { +"description": "Required. A list of certifications to link to the described product.", +"items": { +"$ref": "Certification" +}, +"type": "array" +}, +"countryCode": { +"description": "Optional. A 2-letter country code (ISO 3166-1 Alpha 2).", +"items": { +"type": "string" +}, +"type": "array" +}, +"destinationStatuses": { +"description": "Output only. The statuses of the destinations.", +"items": { +"$ref": "DestinationStatus" +}, +"readOnly": true, +"type": "array" +}, +"issues": { +"description": "Output only. A server-generated list of issues associated with the product.", +"items": { +"$ref": "Issue" +}, +"readOnly": true, +"type": "array" +}, +"mpn": { +"description": "Optional. These are the Manufacturer Part Numbers (MPN). MPNs are used to uniquely identify a specific product among all products from the same manufacturer", +"items": { +"type": "string" +}, +"type": "array" +}, +"name": { +"description": "Required. The unique name identifier of a product certification Format: accounts/{account}/languages/{language_code}/productCertifications/{id} Where `id` is a some unique identifier and `language_code` is a 2-letter ISO 639-1 code of a Shopping supported language according to https://support.google.com/merchants/answer/160637.", +"type": "string" +}, +"productCode": { +"description": "Optional. Another name for GTIN.", +"items": { +"type": "string" +}, +"type": "array" +}, +"productType": { +"description": "Optional. These are your own product categorization system in your product data.", +"items": { +"type": "string" +}, +"type": "array" +}, +"title": { +"description": "Required. This is to clearly identify the product you are certifying.", +"type": "string" +} +}, +"type": "object" +}, +"ProductDetail": { +"description": "A product detail of the product. For more information, see https://support.google.com/manufacturers/answer/6124116#productdetail.", +"id": "ProductDetail", +"properties": { +"attributeName": { +"description": "The name of the attribute.", +"type": "string" +}, +"attributeValue": { +"description": "The value of the attribute.", +"type": "string" +}, +"sectionName": { +"description": "A short section name that can be reused between multiple product details.", +"type": "string" +} +}, +"type": "object" +}, +"VoluntaryNutritionFact": { +"description": "Voluntary Nutrition Facts.", +"id": "VoluntaryNutritionFact", +"properties": { +"dailyPercentage": { +"description": "Daily percentage.", +"format": "double", +"type": "number" +}, +"name": { +"description": "Name.", +"type": "string" +}, +"value": { +"$ref": "FloatUnit", +"description": "Value." +} +}, +"type": "object" +} +}, +"servicePath": "", +"title": "Manufacturer Center API", +"version": "v1", +"version_module": true +} \ No newline at end of file diff --git a/.venv/lib/python3.11/site-packages/googleapiclient/discovery_cache/documents/merchantapi.lfp_v1beta.json b/.venv/lib/python3.11/site-packages/googleapiclient/discovery_cache/documents/merchantapi.lfp_v1beta.json new file mode 100644 index 0000000000000000000000000000000000000000..7a49a16e255a4afccae3aa2fb317cf9d2ca880ce --- /dev/null +++ b/.venv/lib/python3.11/site-packages/googleapiclient/discovery_cache/documents/merchantapi.lfp_v1beta.json @@ -0,0 +1,686 @@ +{ +"auth": { +"oauth2": { +"scopes": { +"https://www.googleapis.com/auth/content": { +"description": "Manage your product listings and accounts for Google Shopping" +} +} +} +}, +"basePath": "", +"baseUrl": "https://merchantapi.googleapis.com/", +"batchPath": "batch", +"canonicalName": "Merchant", +"description": "Programmatically manage your Merchant Center Accounts.", +"discoveryVersion": "v1", +"documentationLink": "https://developers.devsite.corp.google.com/merchant/api", +"fullyEncodeReservedExpansion": true, +"icons": { +"x16": "http://www.google.com/images/icons/product/search-16.gif", +"x32": "http://www.google.com/images/icons/product/search-32.gif" +}, +"id": "merchantapi:lfp_v1beta", +"kind": "discovery#restDescription", +"mtlsRootUrl": "https://merchantapi.mtls.googleapis.com/", +"name": "merchantapi", +"ownerDomain": "google.com", +"ownerName": "Google", +"parameters": { +"$.xgafv": { +"description": "V1 error format.", +"enum": [ +"1", +"2" +], +"enumDescriptions": [ +"v1 error format", +"v2 error format" +], +"location": "query", +"type": "string" +}, +"access_token": { +"description": "OAuth access token.", +"location": "query", +"type": "string" +}, +"alt": { +"default": "json", +"description": "Data format for response.", +"enum": [ +"json", +"media", +"proto" +], +"enumDescriptions": [ +"Responses with Content-Type of application/json", +"Media download with context-dependent Content-Type", +"Responses with Content-Type of application/x-protobuf" +], +"location": "query", +"type": "string" +}, +"callback": { +"description": "JSONP", +"location": "query", +"type": "string" +}, +"fields": { +"description": "Selector specifying which fields to include in a partial response.", +"location": "query", +"type": "string" +}, +"key": { +"description": "API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token.", +"location": "query", +"type": "string" +}, +"oauth_token": { +"description": "OAuth 2.0 token for the current user.", +"location": "query", +"type": "string" +}, +"prettyPrint": { +"default": "true", +"description": "Returns response with indentations and line breaks.", +"location": "query", +"type": "boolean" +}, +"quotaUser": { +"description": "Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters.", +"location": "query", +"type": "string" +}, +"uploadType": { +"description": "Legacy upload protocol for media (e.g. \"media\", \"multipart\").", +"location": "query", +"type": "string" +}, +"upload_protocol": { +"description": "Upload protocol for media (e.g. \"raw\", \"multipart\").", +"location": "query", +"type": "string" +} +}, +"protocol": "rest", +"resources": { +"accounts": { +"resources": { +"lfpInventories": { +"methods": { +"insert": { +"description": "Inserts a `LfpInventory` resource for the given target merchant account. If the resource already exists, it will be replaced. The inventory automatically expires after 30 days.", +"flatPath": "lfp/v1beta/accounts/{accountsId}/lfpInventories:insert", +"httpMethod": "POST", +"id": "merchantapi.accounts.lfpInventories.insert", +"parameterOrder": [ +"parent" +], +"parameters": { +"parent": { +"description": "Required. The LFP provider account. Format: `accounts/{account}`", +"location": "path", +"pattern": "^accounts/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "lfp/v1beta/{+parent}/lfpInventories:insert", +"request": { +"$ref": "LfpInventory" +}, +"response": { +"$ref": "LfpInventory" +}, +"scopes": [ +"https://www.googleapis.com/auth/content" +] +} +} +}, +"lfpSales": { +"methods": { +"insert": { +"description": "Inserts a `LfpSale` for the given merchant.", +"flatPath": "lfp/v1beta/accounts/{accountsId}/lfpSales:insert", +"httpMethod": "POST", +"id": "merchantapi.accounts.lfpSales.insert", +"parameterOrder": [ +"parent" +], +"parameters": { +"parent": { +"description": "Required. The LFP provider account. Format: `accounts/{lfp_partner}`", +"location": "path", +"pattern": "^accounts/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "lfp/v1beta/{+parent}/lfpSales:insert", +"request": { +"$ref": "LfpSale" +}, +"response": { +"$ref": "LfpSale" +}, +"scopes": [ +"https://www.googleapis.com/auth/content" +] +} +} +}, +"lfpStores": { +"methods": { +"delete": { +"description": "Deletes a store for a target merchant.", +"flatPath": "lfp/v1beta/accounts/{accountsId}/lfpStores/{lfpStoresId}", +"httpMethod": "DELETE", +"id": "merchantapi.accounts.lfpStores.delete", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. The name of the store to delete for the target merchant account. Format: `accounts/{account}/lfpStores/{target_merchant}~{store_code}`", +"location": "path", +"pattern": "^accounts/[^/]+/lfpStores/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "lfp/v1beta/{+name}", +"response": { +"$ref": "Empty" +}, +"scopes": [ +"https://www.googleapis.com/auth/content" +] +}, +"get": { +"description": "Retrieves information about a store.", +"flatPath": "lfp/v1beta/accounts/{accountsId}/lfpStores/{lfpStoresId}", +"httpMethod": "GET", +"id": "merchantapi.accounts.lfpStores.get", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. The name of the store to retrieve. Format: `accounts/{account}/lfpStores/{target_merchant}~{store_code}`", +"location": "path", +"pattern": "^accounts/[^/]+/lfpStores/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "lfp/v1beta/{+name}", +"response": { +"$ref": "LfpStore" +}, +"scopes": [ +"https://www.googleapis.com/auth/content" +] +}, +"insert": { +"description": "Inserts a store for the target merchant. If the store with the same store code already exists, it will be replaced.", +"flatPath": "lfp/v1beta/accounts/{accountsId}/lfpStores:insert", +"httpMethod": "POST", +"id": "merchantapi.accounts.lfpStores.insert", +"parameterOrder": [ +"parent" +], +"parameters": { +"parent": { +"description": "Required. The LFP provider account Format: `accounts/{account}`", +"location": "path", +"pattern": "^accounts/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "lfp/v1beta/{+parent}/lfpStores:insert", +"request": { +"$ref": "LfpStore" +}, +"response": { +"$ref": "LfpStore" +}, +"scopes": [ +"https://www.googleapis.com/auth/content" +] +}, +"list": { +"description": "Lists the stores of the target merchant, specified by the filter in `ListLfpStoresRequest`.", +"flatPath": "lfp/v1beta/accounts/{accountsId}/lfpStores", +"httpMethod": "GET", +"id": "merchantapi.accounts.lfpStores.list", +"parameterOrder": [ +"parent" +], +"parameters": { +"pageSize": { +"description": "Optional. The maximum number of `LfpStore` resources for the given account to return. The service returns fewer than this value if the number of stores for the given account is less than the `pageSize`. The default value is 250. The maximum value is 1000; If a value higher than the maximum is specified, then the `pageSize` will default to the maximum.", +"format": "int32", +"location": "query", +"type": "integer" +}, +"pageToken": { +"description": "Optional. A page token, received from a previous `ListLfpStoresRequest` call. Provide the page token to retrieve the subsequent page. When paginating, all other parameters provided to `ListLfpStoresRequest` must match the call that provided the page token. The token returned as nextPageToken in the response to the previous request.", +"location": "query", +"type": "string" +}, +"parent": { +"description": "Required. The LFP partner. Format: `accounts/{account}`", +"location": "path", +"pattern": "^accounts/[^/]+$", +"required": true, +"type": "string" +}, +"targetAccount": { +"description": "Required. The Merchant Center id of the merchant to list stores for.", +"format": "int64", +"location": "query", +"type": "string" +} +}, +"path": "lfp/v1beta/{+parent}/lfpStores", +"response": { +"$ref": "ListLfpStoresResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/content" +] +} +} +} +} +} +}, +"revision": "20241119", +"rootUrl": "https://merchantapi.googleapis.com/", +"schemas": { +"Empty": { +"description": "A generic empty message that you can re-use to avoid defining duplicated empty messages in your APIs. A typical example is to use it as the request or the response type of an API method. For instance: service Foo { rpc Bar(google.protobuf.Empty) returns (google.protobuf.Empty); }", +"id": "Empty", +"properties": {}, +"type": "object" +}, +"LfpInventory": { +"description": "Local Inventory for the merchant.", +"id": "LfpInventory", +"properties": { +"availability": { +"description": "Required. Availability of the product at this store. For accepted attribute values, see the [local product inventory data specification](https://support.google.com/merchants/answer/3061342)", +"type": "string" +}, +"collectionTime": { +"description": "Optional. The time when the inventory is collected. If not set, it will be set to the time when the inventory is submitted.", +"format": "google-datetime", +"type": "string" +}, +"contentLanguage": { +"description": "Required. The two-letter ISO 639-1 language code for the item.", +"type": "string" +}, +"feedLabel": { +"description": "Optional. The [feed label](https://developers.google.com/shopping-content/guides/products/feed-labels) for the product. If this is not set, it will default to `regionCode`.", +"type": "string" +}, +"gtin": { +"description": "Optional. The Global Trade Item Number of the product.", +"type": "string" +}, +"name": { +"description": "Output only. Identifier. The name for the `LfpInventory` resource. Format: `accounts/{account}/lfpInventories/{target_merchant}~{store_code}~{offer}`", +"readOnly": true, +"type": "string" +}, +"offerId": { +"description": "Required. Immutable. A unique identifier for the product. If both inventories and sales are submitted for a merchant, this id should match for the same product. **Note**: if the merchant sells the same product new and used, they should have different IDs.", +"type": "string" +}, +"pickupMethod": { +"description": "Optional. Supported pickup method for this offer. Unless the value is \"not supported\", this field must be submitted together with `pickupSla`. For accepted attribute values, see the [local product inventory data specification](https://support.google.com/merchants/answer/3061342).", +"type": "string" +}, +"pickupSla": { +"description": "Optional. Expected date that an order will be ready for pickup relative to the order date. Must be submitted together with `pickupMethod`. For accepted attribute values, see the [local product inventory data specification](https://support.google.com/merchants/answer/3061342).", +"type": "string" +}, +"price": { +"$ref": "Price", +"description": "Optional. The current price of the product." +}, +"quantity": { +"description": "Optional. Quantity of the product available at this store. Must be greater than or equal to zero.", +"format": "int64", +"type": "string" +}, +"regionCode": { +"description": "Required. The [CLDR territory code](https://github.com/unicode-org/cldr/blob/latest/common/main/en.xml) for the country where the product is sold.", +"type": "string" +}, +"storeCode": { +"description": "Required. The identifier of the merchant's store. Either the store code inserted through `InsertLfpStore` or the store code in the Business Profile.", +"type": "string" +}, +"targetAccount": { +"description": "Required. The Merchant Center ID of the merchant to submit the inventory for.", +"format": "int64", +"type": "string" +} +}, +"type": "object" +}, +"LfpSale": { +"description": "A sale for the merchant.", +"id": "LfpSale", +"properties": { +"contentLanguage": { +"description": "Required. The two-letter ISO 639-1 language code for the item.", +"type": "string" +}, +"feedLabel": { +"description": "Optional. The [feed label](https://developers.google.com/shopping-content/guides/products/feed-labels) for the product. If this is not set, it will default to `regionCode`.", +"type": "string" +}, +"gtin": { +"description": "Required. The Global Trade Item Number of the sold product.", +"type": "string" +}, +"name": { +"description": "Output only. Identifier. The name of the `LfpSale` resource. Format: `accounts/{account}/lfpSales/{sale}`", +"readOnly": true, +"type": "string" +}, +"offerId": { +"description": "Required. A unique identifier for the product. If both inventories and sales are submitted for a merchant, this id should match for the same product. **Note**: if the merchant sells the same product new and used, they should have different IDs.", +"type": "string" +}, +"price": { +"$ref": "Price", +"description": "Required. The unit price of the product." +}, +"quantity": { +"description": "Required. The relative change of the available quantity. Negative for items returned.", +"format": "int64", +"type": "string" +}, +"regionCode": { +"description": "Required. The [CLDR territory code](https://github.com/unicode-org/cldr/blob/latest/common/main/en.xml) for the country where the product is sold.", +"type": "string" +}, +"saleTime": { +"description": "Required. The timestamp for the sale.", +"format": "google-datetime", +"type": "string" +}, +"storeCode": { +"description": "Required. The identifier of the merchant's store. Either a `storeCode` inserted through the API or the code of the store in the Business Profile.", +"type": "string" +}, +"targetAccount": { +"description": "Required. The Merchant Center ID of the merchant to submit the sale for.", +"format": "int64", +"type": "string" +}, +"uid": { +"description": "Output only. System generated globally unique ID for the `LfpSale`.", +"readOnly": true, +"type": "string" +} +}, +"type": "object" +}, +"LfpStore": { +"description": "A store for the merchant. This will be used to match to a store under the Google Business Profile of the target merchant. If a matching store can't be found, the inventories or sales submitted with the store code will not be used.", +"id": "LfpStore", +"properties": { +"gcidCategory": { +"description": "Optional. [Google My Business category id](https://gcid-explorer.corp.google.com/static/gcid.html).", +"items": { +"type": "string" +}, +"type": "array" +}, +"matchingState": { +"description": "Optional. Output only. The state of matching to a Google Business Profile. See matchingStateHint for further details if no match is found.", +"enum": [ +"STORE_MATCHING_STATE_UNSPECIFIED", +"STORE_MATCHING_STATE_MATCHED", +"STORE_MATCHING_STATE_FAILED" +], +"enumDescriptions": [ +"Store matching state unspecified.", +"The `LfpStore` is successfully matched with a Google Business Profile store.", +"The `LfpStore` is not matched with a Google Business Profile store." +], +"readOnly": true, +"type": "string" +}, +"matchingStateHint": { +"description": "Optional. Output only. The hint of why the matching has failed. This is only set when matchingState=`STORE_MATCHING_STATE_FAILED`. Possible values are: - \"`linked-store-not-found`\": There aren't any Google Business Profile stores available for matching. - \"`store-match-not-found`\": The provided `LfpStore` couldn't be matched to any of the connected Google Business Profile stores. Merchant Center account is connected correctly and stores are available on Google Business Profile, but the `LfpStore` location address does not match with Google Business Profile stores' addresses. Update the `LfpStore` address or Google Business Profile store address to match correctly. - \"`store-match-unverified`\": The provided `LfpStore` couldn't be matched to any of the connected Google Business Profile stores, as the matched Google Business Profile store is unverified. Go through the Google Business Profile verification process to match correctly.", +"readOnly": true, +"type": "string" +}, +"name": { +"description": "Output only. Identifier. The name of the `LfpStore` resource. Format: `accounts/{account}/lfpStores/{target_merchant}~{store_code}`", +"readOnly": true, +"type": "string" +}, +"phoneNumber": { +"description": "Optional. The store phone number in [E.164](https://en.wikipedia.org/wiki/E.164) format. Example: `+15556767888`", +"type": "string" +}, +"placeId": { +"description": "Optional. The [Google Place Id](https://developers.google.com/maps/documentation/places/web-service/place-id#id-overview) of the store location.", +"type": "string" +}, +"storeAddress": { +"description": "Required. The street address of the store. Example: 1600 Amphitheatre Pkwy, Mountain View, CA 94043, USA.", +"type": "string" +}, +"storeCode": { +"description": "Required. Immutable. A store identifier that is unique for the target merchant.", +"type": "string" +}, +"storeName": { +"description": "Optional. The merchant or store name.", +"type": "string" +}, +"targetAccount": { +"description": "Required. The Merchant Center id of the merchant to submit the store for.", +"format": "int64", +"type": "string" +}, +"websiteUri": { +"description": "Optional. The website URL for the store or merchant.", +"type": "string" +} +}, +"type": "object" +}, +"ListLfpStoresResponse": { +"description": "Response message for the ListLfpStores method.", +"id": "ListLfpStoresResponse", +"properties": { +"lfpStores": { +"description": "The stores from the specified merchant.", +"items": { +"$ref": "LfpStore" +}, +"type": "array" +}, +"nextPageToken": { +"description": "A token, which can be sent as `pageToken` to retrieve the next page. If this field is omitted, there are no subsequent pages.", +"type": "string" +} +}, +"type": "object" +}, +"Price": { +"description": "The price represented as a number and currency.", +"id": "Price", +"properties": { +"amountMicros": { +"description": "The price represented as a number in micros (1 million micros is an equivalent to one's currency standard unit, for example, 1 USD = 1000000 micros).", +"format": "int64", +"type": "string" +}, +"currencyCode": { +"description": "The currency of the price using three-letter acronyms according to [ISO 4217](http://en.wikipedia.org/wiki/ISO_4217).", +"type": "string" +} +}, +"type": "object" +}, +"ProductChange": { +"description": "The change that happened to the product including old value, new value, country code as the region code and reporting context.", +"id": "ProductChange", +"properties": { +"newValue": { +"description": "The new value of the changed resource or attribute.", +"type": "string" +}, +"oldValue": { +"description": "The old value of the changed resource or attribute.", +"type": "string" +}, +"regionCode": { +"description": "Countries that have the change (if applicable)", +"type": "string" +}, +"reportingContext": { +"description": "Reporting contexts that have the change (if applicable)", +"enum": [ +"REPORTING_CONTEXT_ENUM_UNSPECIFIED", +"SHOPPING_ADS", +"DISCOVERY_ADS", +"DEMAND_GEN_ADS", +"DEMAND_GEN_ADS_DISCOVER_SURFACE", +"VIDEO_ADS", +"DISPLAY_ADS", +"LOCAL_INVENTORY_ADS", +"VEHICLE_INVENTORY_ADS", +"FREE_LISTINGS", +"FREE_LOCAL_LISTINGS", +"FREE_LOCAL_VEHICLE_LISTINGS", +"YOUTUBE_SHOPPING", +"CLOUD_RETAIL", +"LOCAL_CLOUD_RETAIL", +"PRODUCT_REVIEWS", +"MERCHANT_REVIEWS", +"YOUTUBE_CHECKOUT" +], +"enumDeprecated": [ +false, +false, +true, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false +], +"enumDescriptions": [ +"Not specified.", +"[Shopping ads](https://support.google.com/merchants/answer/6149970).", +"Deprecated: Use `DEMAND_GEN_ADS` instead. [Discovery and Demand Gen ads](https://support.google.com/merchants/answer/13389785).", +"[Demand Gen ads](https://support.google.com/merchants/answer/13389785).", +"[Demand Gen ads on Discover surface](https://support.google.com/merchants/answer/13389785).", +"[Video ads](https://support.google.com/google-ads/answer/6340491).", +"[Display ads](https://support.google.com/merchants/answer/6069387).", +"[Local inventory ads](https://support.google.com/merchants/answer/3271956).", +"[Vehicle inventory ads](https://support.google.com/merchants/answer/11544533).", +"[Free product listings](https://support.google.com/merchants/answer/9199328).", +"[Free local product listings](https://support.google.com/merchants/answer/9825611).", +"[Free local vehicle listings](https://support.google.com/merchants/answer/11544533).", +"[YouTube Shopping](https://support.google.com/merchants/answer/13478370).", +"[Cloud retail](https://cloud.google.com/solutions/retail).", +"[Local cloud retail](https://cloud.google.com/solutions/retail).", +"[Product Reviews](https://support.google.com/merchants/answer/14620732).", +"[Merchant Reviews](https://developers.google.com/merchant-review-feeds).", +"[YouTube Checkout](" +], +"type": "string" +} +}, +"type": "object" +}, +"ProductStatusChangeMessage": { +"description": "The message that the merchant will receive to notify about product status change event", +"id": "ProductStatusChangeMessage", +"properties": { +"account": { +"description": "The target account that owns the entity that changed. Format : `accounts/{merchant_id}`", +"type": "string" +}, +"attribute": { +"description": "The attribute in the resource that changed, in this case it will be always `Status`.", +"enum": [ +"ATTRIBUTE_UNSPECIFIED", +"STATUS" +], +"enumDescriptions": [ +"Unspecified attribute", +"Status of the changed entity" +], +"type": "string" +}, +"changes": { +"description": "A message to describe the change that happened to the product", +"items": { +"$ref": "ProductChange" +}, +"type": "array" +}, +"expirationTime": { +"description": "The product expiration time. This field will not bet set if the notification is sent for a product deletion event.", +"format": "google-datetime", +"type": "string" +}, +"managingAccount": { +"description": "The account that manages the merchant's account. can be the same as merchant id if it is standalone account. Format : `accounts/{service_provider_id}`", +"type": "string" +}, +"resource": { +"description": "The product name. Format: `{product.name=accounts/{account}/products/{product}}`", +"type": "string" +}, +"resourceId": { +"description": "The product id.", +"type": "string" +}, +"resourceType": { +"description": "The resource that changed, in this case it will always be `Product`.", +"enum": [ +"RESOURCE_UNSPECIFIED", +"PRODUCT" +], +"enumDescriptions": [ +"Unspecified resource", +"Resource type : product" +], +"type": "string" +} +}, +"type": "object" +} +}, +"servicePath": "", +"title": "Merchant API", +"version": "lfp_v1beta", +"version_module": true +} \ No newline at end of file diff --git a/.venv/lib/python3.11/site-packages/googleapiclient/discovery_cache/documents/merchantapi.promotions_v1beta.json b/.venv/lib/python3.11/site-packages/googleapiclient/discovery_cache/documents/merchantapi.promotions_v1beta.json new file mode 100644 index 0000000000000000000000000000000000000000..12f74a199e10d3bc468ffeb5490775221ae8ff3f --- /dev/null +++ b/.venv/lib/python3.11/site-packages/googleapiclient/discovery_cache/documents/merchantapi.promotions_v1beta.json @@ -0,0 +1,1021 @@ +{ +"auth": { +"oauth2": { +"scopes": { +"https://www.googleapis.com/auth/content": { +"description": "Manage your product listings and accounts for Google Shopping" +} +} +} +}, +"basePath": "", +"baseUrl": "https://merchantapi.googleapis.com/", +"batchPath": "batch", +"canonicalName": "Merchant", +"description": "Programmatically manage your Merchant Center Accounts.", +"discoveryVersion": "v1", +"documentationLink": "https://developers.devsite.corp.google.com/merchant/api", +"fullyEncodeReservedExpansion": true, +"icons": { +"x16": "http://www.google.com/images/icons/product/search-16.gif", +"x32": "http://www.google.com/images/icons/product/search-32.gif" +}, +"id": "merchantapi:promotions_v1beta", +"kind": "discovery#restDescription", +"mtlsRootUrl": "https://merchantapi.mtls.googleapis.com/", +"name": "merchantapi", +"ownerDomain": "google.com", +"ownerName": "Google", +"parameters": { +"$.xgafv": { +"description": "V1 error format.", +"enum": [ +"1", +"2" +], +"enumDescriptions": [ +"v1 error format", +"v2 error format" +], +"location": "query", +"type": "string" +}, +"access_token": { +"description": "OAuth access token.", +"location": "query", +"type": "string" +}, +"alt": { +"default": "json", +"description": "Data format for response.", +"enum": [ +"json", +"media", +"proto" +], +"enumDescriptions": [ +"Responses with Content-Type of application/json", +"Media download with context-dependent Content-Type", +"Responses with Content-Type of application/x-protobuf" +], +"location": "query", +"type": "string" +}, +"callback": { +"description": "JSONP", +"location": "query", +"type": "string" +}, +"fields": { +"description": "Selector specifying which fields to include in a partial response.", +"location": "query", +"type": "string" +}, +"key": { +"description": "API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token.", +"location": "query", +"type": "string" +}, +"oauth_token": { +"description": "OAuth 2.0 token for the current user.", +"location": "query", +"type": "string" +}, +"prettyPrint": { +"default": "true", +"description": "Returns response with indentations and line breaks.", +"location": "query", +"type": "boolean" +}, +"quotaUser": { +"description": "Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters.", +"location": "query", +"type": "string" +}, +"uploadType": { +"description": "Legacy upload protocol for media (e.g. \"media\", \"multipart\").", +"location": "query", +"type": "string" +}, +"upload_protocol": { +"description": "Upload protocol for media (e.g. \"raw\", \"multipart\").", +"location": "query", +"type": "string" +} +}, +"protocol": "rest", +"resources": { +"accounts": { +"resources": { +"promotions": { +"methods": { +"get": { +"description": "Retrieves the promotion from your Merchant Center account. After inserting or updating a promotion input, it may take several minutes before the updated promotion can be retrieved.", +"flatPath": "promotions/v1beta/accounts/{accountsId}/promotions/{promotionsId}", +"httpMethod": "GET", +"id": "merchantapi.accounts.promotions.get", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. The name of the promotion to retrieve. Format: `accounts/{account}/promotions/{promotions}`", +"location": "path", +"pattern": "^accounts/[^/]+/promotions/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "promotions/v1beta/{+name}", +"response": { +"$ref": "Promotion" +}, +"scopes": [ +"https://www.googleapis.com/auth/content" +] +}, +"insert": { +"description": "Inserts a promotion for your Merchant Center account. If the promotion already exists, then it updates the promotion instead.", +"flatPath": "promotions/v1beta/accounts/{accountsId}/promotions:insert", +"httpMethod": "POST", +"id": "merchantapi.accounts.promotions.insert", +"parameterOrder": [ +"parent" +], +"parameters": { +"parent": { +"description": "Required. The account where the promotion will be inserted. Format: accounts/{account}", +"location": "path", +"pattern": "^accounts/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "promotions/v1beta/{+parent}/promotions:insert", +"request": { +"$ref": "InsertPromotionRequest" +}, +"response": { +"$ref": "Promotion" +}, +"scopes": [ +"https://www.googleapis.com/auth/content" +] +}, +"list": { +"description": "Lists the promotions in your Merchant Center account. The response might contain fewer items than specified by `pageSize`. Rely on `pageToken` to determine if there are more items to be requested. After inserting or updating a promotion, it may take several minutes before the updated processed promotion can be retrieved.", +"flatPath": "promotions/v1beta/accounts/{accountsId}/promotions", +"httpMethod": "GET", +"id": "merchantapi.accounts.promotions.list", +"parameterOrder": [ +"parent" +], +"parameters": { +"pageSize": { +"description": "Output only. The maximum number of promotions to return. The service may return fewer than this value. The maximum value is 250; values above 250 will be coerced to 250. If unspecified, the maximum number of promotions will be returned.", +"format": "int32", +"location": "query", +"type": "integer" +}, +"pageToken": { +"description": "Output only. A page token, received from a previous `ListPromotions` call. Provide this to retrieve the subsequent page. When paginating, all other parameters provided to `ListPromotions` must match the call that provided the page token.", +"location": "query", +"type": "string" +}, +"parent": { +"description": "Required. The account to list processed promotions for. Format: `accounts/{account}`", +"location": "path", +"pattern": "^accounts/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "promotions/v1beta/{+parent}/promotions", +"response": { +"$ref": "ListPromotionsResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/content" +] +} +} +} +} +} +}, +"revision": "20241119", +"rootUrl": "https://merchantapi.googleapis.com/", +"schemas": { +"Attributes": { +"description": "Attributes.", +"id": "Attributes", +"properties": { +"brandExclusion": { +"description": "Optional. Product filter by [brand exclusion](https://support.google.com/merchants/answer/13861679?ref_topic=13773355&sjid=17642868584668136159-NC) for the promotion. The product filter attributes only applies when the products eligible for promotion product applicability `product_applicability` attribute is set to [specific_products](https://support.google.com/merchants/answer/13837299?ref_topic=13773355&sjid=17642868584668136159-NC).", +"items": { +"type": "string" +}, +"type": "array" +}, +"brandInclusion": { +"description": "Optional. Product filter by brand for the promotion. The product filter attributes only applies when the products eligible for promotion product applicability `product_applicability` attribute is set to [specific_products](https://support.google.com/merchants/answer/13837299?ref_topic=13773355&sjid=17642868584668136159-NC).", +"items": { +"type": "string" +}, +"type": "array" +}, +"couponValueType": { +"description": "Required. The [coupon value type] (https://support.google.com/merchants/answer/13861986?ref_topic=13773355&sjid=17642868584668136159-NC) attribute to signal the type of promotion that you are running. Depending on type of the selected coupon value [some attributes are required](https://support.google.com/merchants/answer/6393006?ref_topic=7322920).", +"enum": [ +"COUPON_VALUE_TYPE_UNSPECIFIED", +"MONEY_OFF", +"PERCENT_OFF", +"BUY_M_GET_N_MONEY_OFF", +"BUY_M_GET_N_PERCENT_OFF", +"BUY_M_GET_MONEY_OFF", +"BUY_M_GET_PERCENT_OFF", +"FREE_GIFT", +"FREE_GIFT_WITH_VALUE", +"FREE_GIFT_WITH_ITEM_ID", +"FREE_SHIPPING_STANDARD", +"FREE_SHIPPING_OVERNIGHT", +"FREE_SHIPPING_TWO_DAY" +], +"enumDescriptions": [ +"Indicates that the coupon value type is unspecified.", +"Money off coupon value type.", +"Percent off coupon value type.", +"Buy M quantity, get N money off coupon value type. `minimum_purchase_quantity` and `get_this_quantity_discounted` must be present. `money_off_amount` must also be present.", +"Buy M quantity, get N percent off coupon value type. `minimum_purchase_quantity` and `get_this_quantity_discounted` must be present. `percent_off_percentage` must also be present.", +"Buy M quantity, get money off. `minimum_purchase_quantity` and `money_off_amount` must be present.", +"Buy M quantity, get money off. `minimum_purchase_quantity` and `percent_off_percentage` must be present.", +"Free gift with description only.", +"Free gift with monetary value.", +"Free gift with item ID.", +"Standard free shipping coupon value type.", +"Overnight free shipping coupon value type.", +"Two day free shipping coupon value type." +], +"type": "string" +}, +"freeGiftDescription": { +"description": "Optional. [Free gift description](https://support.google.com/merchants/answer/13847245?ref_topic=13773355&sjid=17642868584668136159-NC) for the promotion.", +"type": "string" +}, +"freeGiftItemId": { +"description": "Optional. [Free gift item ID](https://support.google.com/merchants/answer/13857152?ref_topic=13773355&sjid=17642868584668136159-NC) for the promotion.", +"type": "string" +}, +"freeGiftValue": { +"$ref": "Price", +"description": "Optional. [Free gift value](https://support.google.com/merchants/answer/13844477?ref_topic=13773355&sjid=17642868584668136159-NC) for the promotion." +}, +"genericRedemptionCode": { +"description": "Optional. Generic redemption code for the promotion. To be used with the `offerType` field and must meet the [minimum requirements](https://support.google.com/merchants/answer/13837405?ref_topic=13773355&sjid=17642868584668136159-NC).", +"type": "string" +}, +"getThisQuantityDiscounted": { +"description": "Optional. The number of items discounted in the promotion. The attribute is set when `couponValueType` is equal to `buy_m_get_n_money_off` or `buy_m_get_n_percent_off`.", +"format": "int64", +"type": "string" +}, +"itemGroupIdExclusion": { +"description": "Optional. Product filter by [item group ID](https://support.google.com/merchants/answer/13837298?ref_topic=13773355&sjid=17642868584668136159-NC). The product filter attributes only applies when the products eligible for promotion product applicability `product_applicability` attribute is set to [specific_products](https://support.google.com/merchants/answer/13837299?ref_topic=13773355&sjid=17642868584668136159-NC). exclusion for the promotion.", +"items": { +"type": "string" +}, +"type": "array" +}, +"itemGroupIdInclusion": { +"description": "Optional. Product filter by item group ID for the promotion. The product filter attributes only applies when the products eligible for promotion product applicability [product_applicability] attribute is set to [specific_products](https://support.google.com/merchants/answer/13837299?ref_topic=13773355&sjid=17642868584668136159-NC).", +"items": { +"type": "string" +}, +"type": "array" +}, +"itemIdExclusion": { +"description": "Optional. Product filter by [item ID exclusion](https://support.google.com/merchants/answer/13863524?ref_topic=13773355&sjid=17642868584668136159-NC) for the promotion. The product filter attributes only applies when the products eligible for promotion product applicability `product_applicability` attribute is set to [specific_products](https://support.google.com/merchants/answer/13837299?ref_topic=13773355&sjid=17642868584668136159-NC).", +"items": { +"type": "string" +}, +"type": "array" +}, +"itemIdInclusion": { +"description": "Optional. Product filter by [item ID](https://support.google.com/merchants/answer/13861565?ref_topic=13773355&sjid=17642868584668136159-NC) for the promotion. The product filter attributes only applies when the products eligible for promotion product applicability `product_applicability` attribute is set to [specific_products](https://support.google.com/merchants/answer/13837299?ref_topic=13773355&sjid=17642868584668136159-NC).", +"items": { +"type": "string" +}, +"type": "array" +}, +"limitQuantity": { +"description": "Optional. [Maximum purchase quantity](https://support.google.com/merchants/answer/13861564?ref_topic=13773355&sjid=17642868584668136159-NC) for the promotion.", +"format": "int64", +"type": "string" +}, +"limitValue": { +"$ref": "Price", +"description": "Optional. [Maximum product price](https://support.google.com/merchants/answer/2906014) for promotion." +}, +"longTitle": { +"description": "Required. [Long title](https://support.google.com/merchants/answer/13838102?ref_topic=13773355&sjid=17642868584668136159-NC) for the promotion.", +"type": "string" +}, +"minimumPurchaseAmount": { +"$ref": "Price", +"description": "Optional. [Minimum purchase amount](https://support.google.com/merchants/answer/13837705?ref_topic=13773355&sjid=17642868584668136159-NC) for the promotion." +}, +"minimumPurchaseQuantity": { +"description": "Optional. [Minimum purchase quantity](https://support.google.com/merchants/answer/13838182?ref_topic=13773355&sjid=17642868584668136159-NC) for the promotion.", +"format": "int64", +"type": "string" +}, +"moneyOffAmount": { +"$ref": "Price", +"description": "Optional. The [money off amount](https://support.google.com/merchants/answer/13838101?ref_topic=13773355&sjid=17642868584668136159-NC) offered in the promotion." +}, +"offerType": { +"description": "Required. [Type](https://support.google.com/merchants/answer/13837405?ref_topic=13773355&sjid=17642868584668136159-NC) of the promotion. Use this attribute to indicate whether or not customers need a coupon code to redeem your promotion.", +"enum": [ +"OFFER_TYPE_UNSPECIFIED", +"NO_CODE", +"GENERIC_CODE" +], +"enumDescriptions": [ +"Unknown offer type.", +"Offer type without a code.", +"Offer type with a code. Generic redemption code for the promotion is required when `offerType` = `GENERIC_CODE`." +], +"type": "string" +}, +"percentOff": { +"description": "Optional. The [percentage discount](https://support.google.com/merchants/answer/13837404?sjid=17642868584668136159-NC) offered in the promotion.", +"format": "int64", +"type": "string" +}, +"productApplicability": { +"description": "Required. Applicability of the promotion to either all products or [only specific products](https://support.google.com/merchants/answer/6396257?ref_topic=6396150&sjid=17642868584668136159-NC).", +"enum": [ +"PRODUCT_APPLICABILITY_UNSPECIFIED", +"ALL_PRODUCTS", +"SPECIFIC_PRODUCTS" +], +"enumDescriptions": [ +"Which products the promotion applies to is unknown.", +"Applicable to all products.", +"Applicable to only a single product or list of products." +], +"type": "string" +}, +"productTypeExclusion": { +"description": "Optional. Product filter by [product type exclusion](https://support.google.com/merchants/answer/13863746?ref_topic=13773355&sjid=17642868584668136159-NC) for the promotion. The product filter attributes only applies when the products eligible for promotion product applicability `product_applicability` attribute is set to [specific_products](https://support.google.com/merchants/answer/13837299?ref_topic=13773355&sjid=17642868584668136159-NC).", +"items": { +"type": "string" +}, +"type": "array" +}, +"productTypeInclusion": { +"description": "Optional. Product filter by product type for the promotion. The product filter attributes only applies when the products eligible for promotion product applicability `product_applicability` attribute is set to [specific_products](https://support.google.com/merchants/answer/13837299?ref_topic=13773355&sjid=17642868584668136159-NC).", +"items": { +"type": "string" +}, +"type": "array" +}, +"promotionDestinations": { +"description": "Required. The list of destinations where the promotion applies to. If you don't specify a destination by including a supported value in your data source, your promotion will display in Shopping ads and free listings by default. You may have previously submitted the following values as destinations for your products: Shopping Actions, Surfaces across Google, Local surfaces across Google. To represent these values use `FREE_LISTINGS`, `FREE_LOCAL_LISTINGS`, `LOCAL_INVENTORY_ADS`. For more details see [Promotion destination](https://support.google.com/merchants/answer/13837465?sjid=5155774230887277618-NC)", +"items": { +"enum": [ +"DESTINATION_ENUM_UNSPECIFIED", +"SHOPPING_ADS", +"DISPLAY_ADS", +"LOCAL_INVENTORY_ADS", +"FREE_LISTINGS", +"FREE_LOCAL_LISTINGS", +"YOUTUBE_SHOPPING", +"YOUTUBE_SHOPPING_CHECKOUT", +"YOUTUBE_AFFILIATE", +"FREE_VEHICLE_LISTINGS", +"VEHICLE_ADS", +"CLOUD_RETAIL", +"LOCAL_CLOUD_RETAIL" +], +"enumDescriptions": [ +"Not specified.", +"[Shopping ads](https://support.google.com/google-ads/answer/2454022).", +"[Display ads](https://support.google.com/merchants/answer/6069387).", +"[Local inventory ads](https://support.google.com/merchants/answer/3057972).", +"[Free listings](https://support.google.com/merchants/answer/9199328).", +"[Free local product listings](https://support.google.com/merchants/answer/9825611).", +"[YouTube Shopping](https://support.google.com/merchants/answer/12362804).", +"Youtube shopping checkout.", +"Youtube affiliate.", +"Free vehicle listings.", +"Vehicle ads.", +"Cloud retail.", +"Local cloud retail." +], +"type": "string" +}, +"type": "array" +}, +"promotionDisplayTimePeriod": { +"$ref": "Interval", +"description": "Optional. `TimePeriod` representation of the promotion's display dates. This attribute specifies the date and time frame when the promotion will be live on Google.com and Shopping ads. If the display time period for promotion `promotion_display_time_period` attribute is not specified, the promotion effective time period `promotion_effective_time_period` determines the date and time frame when the promotion will be live on Google.com and Shopping ads." +}, +"promotionEffectiveTimePeriod": { +"$ref": "Interval", +"description": "Required. `TimePeriod` representation of the promotion's effective dates. This attribute specifies that the promotion can be tested on your online store during this time period." +}, +"promotionUrl": { +"description": "Optional. URL to the page on the merchant's site where the promotion shows. Local Inventory ads promotions throw an error if no `promotion_url` is included. URL is used to confirm that the promotion is valid and can be redeemed.", +"type": "string" +}, +"storeApplicability": { +"description": "Optional. Whether the promotion applies to [all stores, or only specified stores](https://support.google.com/merchants/answer/13857563?sjid=17642868584668136159-NC). Local Inventory ads promotions throw an error if no store applicability is included. An `INVALID_ARGUMENT` error is thrown if `store_applicability` is set to `ALL_STORES` and `store_codes_inclusion` or `score_code_exclusion` is set to a value.", +"enum": [ +"STORE_APPLICABILITY_UNSPECIFIED", +"ALL_STORES", +"SPECIFIC_STORES" +], +"enumDescriptions": [ +"Which store codes the promotion applies to is unknown.", +"Promotion applies to all stores.", +"Promotion applies to only the specified stores." +], +"type": "string" +}, +"storeCodesExclusion": { +"description": "Optional. [Store codes to exclude](https://support.google.com/merchants/answer/13859586?ref_topic=13773355&sjid=17642868584668136159-NC) for the promotion. The store filter attributes only applies when the `store_applicability` attribute is set to [specific_stores](https://support.google.com/merchants/answer/13857563?ref_topic=13773355&sjid=17642868584668136159-NC).", +"items": { +"type": "string" +}, +"type": "array" +}, +"storeCodesInclusion": { +"description": "Optional. [Store codes to include](https://support.google.com/merchants/answer/13857470?ref_topic=13773355&sjid=17642868584668136159-NC) for the promotion. The store filter attributes only applies when the `store_applicability` attribute is set to [specific_stores](https://support.google.com/merchants/answer/13857563?ref_topic=13773355&sjid=17642868584668136159-NC). Store code (the store ID from your Business Profile) of the physical store the product is sold in. See the [Local product inventory data specification](https://support.google.com/merchants/answer/3061342) for more information.", +"items": { +"type": "string" +}, +"type": "array" +} +}, +"type": "object" +}, +"CustomAttribute": { +"description": "A message that represents custom attributes. Exactly one of `value` or `group_values` must not be empty.", +"id": "CustomAttribute", +"properties": { +"groupValues": { +"description": "Subattributes within this attribute group. If `group_values` is not empty, `value` must be empty.", +"items": { +"$ref": "CustomAttribute" +}, +"type": "array" +}, +"name": { +"description": "The name of the attribute.", +"type": "string" +}, +"value": { +"description": "The value of the attribute. If `value` is not empty, `group_values` must be empty.", +"type": "string" +} +}, +"type": "object" +}, +"DestinationStatus": { +"description": "The status for the specified destination.", +"id": "DestinationStatus", +"properties": { +"reportingContext": { +"description": "Output only. The name of the promotion destination.", +"enum": [ +"REPORTING_CONTEXT_ENUM_UNSPECIFIED", +"SHOPPING_ADS", +"DISCOVERY_ADS", +"DEMAND_GEN_ADS", +"DEMAND_GEN_ADS_DISCOVER_SURFACE", +"VIDEO_ADS", +"DISPLAY_ADS", +"LOCAL_INVENTORY_ADS", +"VEHICLE_INVENTORY_ADS", +"FREE_LISTINGS", +"FREE_LOCAL_LISTINGS", +"FREE_LOCAL_VEHICLE_LISTINGS", +"YOUTUBE_SHOPPING", +"CLOUD_RETAIL", +"LOCAL_CLOUD_RETAIL", +"PRODUCT_REVIEWS", +"MERCHANT_REVIEWS", +"YOUTUBE_CHECKOUT" +], +"enumDeprecated": [ +false, +false, +true, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false +], +"enumDescriptions": [ +"Not specified.", +"[Shopping ads](https://support.google.com/merchants/answer/6149970).", +"Deprecated: Use `DEMAND_GEN_ADS` instead. [Discovery and Demand Gen ads](https://support.google.com/merchants/answer/13389785).", +"[Demand Gen ads](https://support.google.com/merchants/answer/13389785).", +"[Demand Gen ads on Discover surface](https://support.google.com/merchants/answer/13389785).", +"[Video ads](https://support.google.com/google-ads/answer/6340491).", +"[Display ads](https://support.google.com/merchants/answer/6069387).", +"[Local inventory ads](https://support.google.com/merchants/answer/3271956).", +"[Vehicle inventory ads](https://support.google.com/merchants/answer/11544533).", +"[Free product listings](https://support.google.com/merchants/answer/9199328).", +"[Free local product listings](https://support.google.com/merchants/answer/9825611).", +"[Free local vehicle listings](https://support.google.com/merchants/answer/11544533).", +"[YouTube Shopping](https://support.google.com/merchants/answer/13478370).", +"[Cloud retail](https://cloud.google.com/solutions/retail).", +"[Local cloud retail](https://cloud.google.com/solutions/retail).", +"[Product Reviews](https://support.google.com/merchants/answer/14620732).", +"[Merchant Reviews](https://developers.google.com/merchant-review-feeds).", +"[YouTube Checkout](" +], +"readOnly": true, +"type": "string" +}, +"status": { +"description": "Output only. The status for the specified destination.", +"enum": [ +"STATE_UNSPECIFIED", +"IN_REVIEW", +"REJECTED", +"LIVE", +"STOPPED", +"EXPIRED", +"PENDING" +], +"enumDescriptions": [ +"Unknown promotion state.", +"The promotion is under review.", +"The promotion is disapproved.", +"The promotion is approved and active.", +"The promotion is stopped by merchant.", +"The promotion is no longer active.", +"The promotion is not stopped, and all reviews are approved, but the active date is in the future." +], +"readOnly": true, +"type": "string" +} +}, +"type": "object" +}, +"InsertPromotionRequest": { +"description": "Request message for the `InsertPromotion` method.", +"id": "InsertPromotionRequest", +"properties": { +"dataSource": { +"description": "Required. The data source of the [promotion](https://support.google.com/merchants/answer/6396268?sjid=5155774230887277618-NC) Format: `accounts/{account}/dataSources/{datasource}`.", +"type": "string" +}, +"promotion": { +"$ref": "Promotion", +"description": "Required. The promotion to insert." +} +}, +"type": "object" +}, +"Interval": { +"description": "Represents a time interval, encoded as a Timestamp start (inclusive) and a Timestamp end (exclusive). The start must be less than or equal to the end. When the start equals the end, the interval is empty (matches no time). When both start and end are unspecified, the interval matches any time.", +"id": "Interval", +"properties": { +"endTime": { +"description": "Optional. Exclusive end of the interval. If specified, a Timestamp matching this interval will have to be before the end.", +"format": "google-datetime", +"type": "string" +}, +"startTime": { +"description": "Optional. Inclusive start of the interval. If specified, a Timestamp matching this interval will have to be the same or after the start.", +"format": "google-datetime", +"type": "string" +} +}, +"type": "object" +}, +"ItemLevelIssue": { +"description": "The issue associated with the promotion.", +"id": "ItemLevelIssue", +"properties": { +"applicableCountries": { +"description": "Output only. List of country codes (ISO 3166-1 alpha-2) where issue applies to the offer.", +"items": { +"type": "string" +}, +"readOnly": true, +"type": "array" +}, +"attribute": { +"description": "Output only. The attribute's name, if the issue is caused by a single attribute.", +"readOnly": true, +"type": "string" +}, +"code": { +"description": "Output only. The error code of the issue.", +"readOnly": true, +"type": "string" +}, +"description": { +"description": "Output only. A short issue description in English.", +"readOnly": true, +"type": "string" +}, +"detail": { +"description": "Output only. A detailed issue description in English.", +"readOnly": true, +"type": "string" +}, +"documentation": { +"description": "Output only. The URL of a web page to help with resolving this issue.", +"readOnly": true, +"type": "string" +}, +"reportingContext": { +"description": "Output only. The destination the issue applies to.", +"enum": [ +"REPORTING_CONTEXT_ENUM_UNSPECIFIED", +"SHOPPING_ADS", +"DISCOVERY_ADS", +"DEMAND_GEN_ADS", +"DEMAND_GEN_ADS_DISCOVER_SURFACE", +"VIDEO_ADS", +"DISPLAY_ADS", +"LOCAL_INVENTORY_ADS", +"VEHICLE_INVENTORY_ADS", +"FREE_LISTINGS", +"FREE_LOCAL_LISTINGS", +"FREE_LOCAL_VEHICLE_LISTINGS", +"YOUTUBE_SHOPPING", +"CLOUD_RETAIL", +"LOCAL_CLOUD_RETAIL", +"PRODUCT_REVIEWS", +"MERCHANT_REVIEWS", +"YOUTUBE_CHECKOUT" +], +"enumDeprecated": [ +false, +false, +true, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false +], +"enumDescriptions": [ +"Not specified.", +"[Shopping ads](https://support.google.com/merchants/answer/6149970).", +"Deprecated: Use `DEMAND_GEN_ADS` instead. [Discovery and Demand Gen ads](https://support.google.com/merchants/answer/13389785).", +"[Demand Gen ads](https://support.google.com/merchants/answer/13389785).", +"[Demand Gen ads on Discover surface](https://support.google.com/merchants/answer/13389785).", +"[Video ads](https://support.google.com/google-ads/answer/6340491).", +"[Display ads](https://support.google.com/merchants/answer/6069387).", +"[Local inventory ads](https://support.google.com/merchants/answer/3271956).", +"[Vehicle inventory ads](https://support.google.com/merchants/answer/11544533).", +"[Free product listings](https://support.google.com/merchants/answer/9199328).", +"[Free local product listings](https://support.google.com/merchants/answer/9825611).", +"[Free local vehicle listings](https://support.google.com/merchants/answer/11544533).", +"[YouTube Shopping](https://support.google.com/merchants/answer/13478370).", +"[Cloud retail](https://cloud.google.com/solutions/retail).", +"[Local cloud retail](https://cloud.google.com/solutions/retail).", +"[Product Reviews](https://support.google.com/merchants/answer/14620732).", +"[Merchant Reviews](https://developers.google.com/merchant-review-feeds).", +"[YouTube Checkout](" +], +"readOnly": true, +"type": "string" +}, +"resolution": { +"description": "Output only. Whether the issue can be resolved by the merchant.", +"readOnly": true, +"type": "string" +}, +"severity": { +"description": "Output only. How this issue affects serving of the promotion.", +"enum": [ +"SEVERITY_UNSPECIFIED", +"NOT_IMPACTED", +"DEMOTED", +"DISAPPROVED" +], +"enumDescriptions": [ +"Not specified.", +"This issue represents a warning and does not have a direct affect on the promotion.", +"The promotion is demoted and most likely have limited performance in search results", +"Issue disapproves the promotion." +], +"readOnly": true, +"type": "string" +} +}, +"type": "object" +}, +"ListPromotionsResponse": { +"description": "Response message for the `ListPromotions` method.", +"id": "ListPromotionsResponse", +"properties": { +"nextPageToken": { +"description": "A token, which can be sent as `page_token` to retrieve the next page. If this field is omitted, there are no subsequent pages.", +"type": "string" +}, +"promotions": { +"description": "The processed promotions from the specified account.", +"items": { +"$ref": "Promotion" +}, +"type": "array" +} +}, +"type": "object" +}, +"Price": { +"description": "The price represented as a number and currency.", +"id": "Price", +"properties": { +"amountMicros": { +"description": "The price represented as a number in micros (1 million micros is an equivalent to one's currency standard unit, for example, 1 USD = 1000000 micros).", +"format": "int64", +"type": "string" +}, +"currencyCode": { +"description": "The currency of the price using three-letter acronyms according to [ISO 4217](http://en.wikipedia.org/wiki/ISO_4217).", +"type": "string" +} +}, +"type": "object" +}, +"ProductChange": { +"description": "The change that happened to the product including old value, new value, country code as the region code and reporting context.", +"id": "ProductChange", +"properties": { +"newValue": { +"description": "The new value of the changed resource or attribute.", +"type": "string" +}, +"oldValue": { +"description": "The old value of the changed resource or attribute.", +"type": "string" +}, +"regionCode": { +"description": "Countries that have the change (if applicable)", +"type": "string" +}, +"reportingContext": { +"description": "Reporting contexts that have the change (if applicable)", +"enum": [ +"REPORTING_CONTEXT_ENUM_UNSPECIFIED", +"SHOPPING_ADS", +"DISCOVERY_ADS", +"DEMAND_GEN_ADS", +"DEMAND_GEN_ADS_DISCOVER_SURFACE", +"VIDEO_ADS", +"DISPLAY_ADS", +"LOCAL_INVENTORY_ADS", +"VEHICLE_INVENTORY_ADS", +"FREE_LISTINGS", +"FREE_LOCAL_LISTINGS", +"FREE_LOCAL_VEHICLE_LISTINGS", +"YOUTUBE_SHOPPING", +"CLOUD_RETAIL", +"LOCAL_CLOUD_RETAIL", +"PRODUCT_REVIEWS", +"MERCHANT_REVIEWS", +"YOUTUBE_CHECKOUT" +], +"enumDeprecated": [ +false, +false, +true, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false +], +"enumDescriptions": [ +"Not specified.", +"[Shopping ads](https://support.google.com/merchants/answer/6149970).", +"Deprecated: Use `DEMAND_GEN_ADS` instead. [Discovery and Demand Gen ads](https://support.google.com/merchants/answer/13389785).", +"[Demand Gen ads](https://support.google.com/merchants/answer/13389785).", +"[Demand Gen ads on Discover surface](https://support.google.com/merchants/answer/13389785).", +"[Video ads](https://support.google.com/google-ads/answer/6340491).", +"[Display ads](https://support.google.com/merchants/answer/6069387).", +"[Local inventory ads](https://support.google.com/merchants/answer/3271956).", +"[Vehicle inventory ads](https://support.google.com/merchants/answer/11544533).", +"[Free product listings](https://support.google.com/merchants/answer/9199328).", +"[Free local product listings](https://support.google.com/merchants/answer/9825611).", +"[Free local vehicle listings](https://support.google.com/merchants/answer/11544533).", +"[YouTube Shopping](https://support.google.com/merchants/answer/13478370).", +"[Cloud retail](https://cloud.google.com/solutions/retail).", +"[Local cloud retail](https://cloud.google.com/solutions/retail).", +"[Product Reviews](https://support.google.com/merchants/answer/14620732).", +"[Merchant Reviews](https://developers.google.com/merchant-review-feeds).", +"[YouTube Checkout](" +], +"type": "string" +} +}, +"type": "object" +}, +"ProductStatusChangeMessage": { +"description": "The message that the merchant will receive to notify about product status change event", +"id": "ProductStatusChangeMessage", +"properties": { +"account": { +"description": "The target account that owns the entity that changed. Format : `accounts/{merchant_id}`", +"type": "string" +}, +"attribute": { +"description": "The attribute in the resource that changed, in this case it will be always `Status`.", +"enum": [ +"ATTRIBUTE_UNSPECIFIED", +"STATUS" +], +"enumDescriptions": [ +"Unspecified attribute", +"Status of the changed entity" +], +"type": "string" +}, +"changes": { +"description": "A message to describe the change that happened to the product", +"items": { +"$ref": "ProductChange" +}, +"type": "array" +}, +"expirationTime": { +"description": "The product expiration time. This field will not bet set if the notification is sent for a product deletion event.", +"format": "google-datetime", +"type": "string" +}, +"managingAccount": { +"description": "The account that manages the merchant's account. can be the same as merchant id if it is standalone account. Format : `accounts/{service_provider_id}`", +"type": "string" +}, +"resource": { +"description": "The product name. Format: `{product.name=accounts/{account}/products/{product}}`", +"type": "string" +}, +"resourceId": { +"description": "The product id.", +"type": "string" +}, +"resourceType": { +"description": "The resource that changed, in this case it will always be `Product`.", +"enum": [ +"RESOURCE_UNSPECIFIED", +"PRODUCT" +], +"enumDescriptions": [ +"Unspecified resource", +"Resource type : product" +], +"type": "string" +} +}, +"type": "object" +}, +"Promotion": { +"description": "Represents a promotion. See the following articles for more details. Required promotion input attributes to pass data validation checks are primarily defined below: * [Promotions data specification](https://support.google.com/merchants/answer/2906014) * [Local promotions data specification](https://support.google.com/merchants/answer/10146130) After inserting, updating a promotion input, it may take several minutes before the final promotion can be retrieved.", +"id": "Promotion", +"properties": { +"attributes": { +"$ref": "Attributes", +"description": "Optional. A list of promotion attributes." +}, +"contentLanguage": { +"description": "Required. The two-letter [ISO 639-1](http://en.wikipedia.org/wiki/ISO_639-1) language code for the promotion. Promotions is only for [selected languages](https://support.google.com/merchants/answer/4588281?ref_topic=6396150&sjid=18314938579342094533-NC#option3&zippy=).", +"type": "string" +}, +"customAttributes": { +"description": "Optional. A list of custom (merchant-provided) attributes. It can also be used for submitting any attribute of the data specification in its generic form (for example, `{ \"name\": \"size type\", \"value\": \"regular\" }`). This is useful for submitting attributes not explicitly exposed by the API.", +"items": { +"$ref": "CustomAttribute" +}, +"type": "array" +}, +"dataSource": { +"description": "Output only. The primary data source of the promotion.", +"readOnly": true, +"type": "string" +}, +"name": { +"description": "Identifier. The name of the promotion. Format: `accounts/{account}/promotions/{promotion}`", +"type": "string" +}, +"promotionId": { +"description": "Required. The user provided promotion ID to uniquely identify the promotion. Follow [minimum requirements](https://support.google.com/merchants/answer/7050148?ref_topic=7322920&sjid=871860036916537104-NC#minimum_requirements) to prevent promotion disapprovals.", +"type": "string" +}, +"promotionStatus": { +"$ref": "PromotionStatus", +"description": "Output only. The [status of a promotion](https://support.google.com/merchants/answer/3398326?ref_topic=7322924&sjid=5155774230887277618-NC), data validation issues, that is, information about a promotion computed asynchronously.", +"readOnly": true +}, +"redemptionChannel": { +"description": "Required. [Redemption channel](https://support.google.com/merchants/answer/13837674?ref_topic=13773355&sjid=17642868584668136159-NC) for the promotion. At least one channel is required.", +"items": { +"enum": [ +"REDEMPTION_CHANNEL_UNSPECIFIED", +"IN_STORE", +"ONLINE" +], +"enumDescriptions": [ +"Indicates that the channel is unspecified.", +"Indicates that the channel is in store. This is same as `local` channel used for `products`.", +"Indicates that the channel is online." +], +"type": "string" +}, +"type": "array" +}, +"targetCountry": { +"description": "Required. The target country used as part of the unique identifier. Represented as a [CLDR territory code](https://github.com/unicode-org/cldr/blob/latest/common/main/en.xml). Promotions are only available in selected countries, [Free Listings and Shopping ads](https://support.google.com/merchants/answer/4588460) [Local Inventory ads](https://support.google.com/merchants/answer/10146326)", +"type": "string" +}, +"versionNumber": { +"description": "Optional. Represents the existing version (freshness) of the promotion, which can be used to preserve the right order when multiple updates are done at the same time. If set, the insertion is prevented when version number is lower than the current version number of the existing promotion. Re-insertion (for example, promotion refresh after 30 days) can be performed with the current `version_number`. If the operation is prevented, the aborted exception will be thrown.", +"format": "int64", +"type": "string" +} +}, +"type": "object" +}, +"PromotionStatus": { +"description": "The status of the promotion.", +"id": "PromotionStatus", +"properties": { +"creationDate": { +"description": "Output only. Date on which the promotion has been created in [ISO 8601](http://en.wikipedia.org/wiki/ISO_8601) format: Date, time, and offset, for example `2020-01-02T09:00:00+01:00` or `2020-01-02T09:00:00Z`", +"format": "google-datetime", +"readOnly": true, +"type": "string" +}, +"destinationStatuses": { +"description": "Output only. The intended destinations for the promotion.", +"items": { +"$ref": "DestinationStatus" +}, +"readOnly": true, +"type": "array" +}, +"itemLevelIssues": { +"description": "Output only. A list of issues associated with the promotion.", +"items": { +"$ref": "ItemLevelIssue" +}, +"readOnly": true, +"type": "array" +}, +"lastUpdateDate": { +"description": "Output only. Date on which the promotion status has been last updated in [ISO 8601](http://en.wikipedia.org/wiki/ISO_8601) format: Date, time, and offset, for example `2020-01-02T09:00:00+01:00` or `2020-01-02T09:00:00Z`", +"format": "google-datetime", +"readOnly": true, +"type": "string" +} +}, +"type": "object" +} +}, +"servicePath": "", +"title": "Merchant API", +"version": "promotions_v1beta", +"version_module": true +} \ No newline at end of file diff --git a/.venv/lib/python3.11/site-packages/googleapiclient/discovery_cache/documents/metastore.v1.json b/.venv/lib/python3.11/site-packages/googleapiclient/discovery_cache/documents/metastore.v1.json new file mode 100644 index 0000000000000000000000000000000000000000..a16485cce41e2a37484b225a77d7beaab562f216 --- /dev/null +++ b/.venv/lib/python3.11/site-packages/googleapiclient/discovery_cache/documents/metastore.v1.json @@ -0,0 +1,3565 @@ +{ +"auth": { +"oauth2": { +"scopes": { +"https://www.googleapis.com/auth/cloud-platform": { +"description": "See, edit, configure, and delete your Google Cloud data and see the email address for your Google Account." +} +} +} +}, +"basePath": "", +"baseUrl": "https://metastore.googleapis.com/", +"batchPath": "batch", +"canonicalName": "Dataproc Metastore", +"description": "The Dataproc Metastore API is used to manage the lifecycle and configuration of metastore services.", +"discoveryVersion": "v1", +"documentationLink": "https://cloud.google.com/dataproc-metastore/docs", +"fullyEncodeReservedExpansion": true, +"icons": { +"x16": "http://www.google.com/images/icons/product/search-16.gif", +"x32": "http://www.google.com/images/icons/product/search-32.gif" +}, +"id": "metastore:v1", +"kind": "discovery#restDescription", +"mtlsRootUrl": "https://metastore.mtls.googleapis.com/", +"name": "metastore", +"ownerDomain": "google.com", +"ownerName": "Google", +"parameters": { +"$.xgafv": { +"description": "V1 error format.", +"enum": [ +"1", +"2" +], +"enumDescriptions": [ +"v1 error format", +"v2 error format" +], +"location": "query", +"type": "string" +}, +"access_token": { +"description": "OAuth access token.", +"location": "query", +"type": "string" +}, +"alt": { +"default": "json", +"description": "Data format for response.", +"enum": [ +"json", +"media", +"proto" +], +"enumDescriptions": [ +"Responses with Content-Type of application/json", +"Media download with context-dependent Content-Type", +"Responses with Content-Type of application/x-protobuf" +], +"location": "query", +"type": "string" +}, +"callback": { +"description": "JSONP", +"location": "query", +"type": "string" +}, +"fields": { +"description": "Selector specifying which fields to include in a partial response.", +"location": "query", +"type": "string" +}, +"key": { +"description": "API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token.", +"location": "query", +"type": "string" +}, +"oauth_token": { +"description": "OAuth 2.0 token for the current user.", +"location": "query", +"type": "string" +}, +"prettyPrint": { +"default": "true", +"description": "Returns response with indentations and line breaks.", +"location": "query", +"type": "boolean" +}, +"quotaUser": { +"description": "Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters.", +"location": "query", +"type": "string" +}, +"uploadType": { +"description": "Legacy upload protocol for media (e.g. \"media\", \"multipart\").", +"location": "query", +"type": "string" +}, +"upload_protocol": { +"description": "Upload protocol for media (e.g. \"raw\", \"multipart\").", +"location": "query", +"type": "string" +} +}, +"protocol": "rest", +"resources": { +"projects": { +"resources": { +"locations": { +"methods": { +"get": { +"description": "Gets information about a location.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}", +"httpMethod": "GET", +"id": "metastore.projects.locations.get", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Resource name for the location.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+name}", +"response": { +"$ref": "Location" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"list": { +"description": "Lists information about the supported locations for this service.", +"flatPath": "v1/projects/{projectsId}/locations", +"httpMethod": "GET", +"id": "metastore.projects.locations.list", +"parameterOrder": [ +"name" +], +"parameters": { +"filter": { +"description": "A filter to narrow down results to a preferred subset. The filtering language accepts strings like \"displayName=tokyo\", and is documented in more detail in AIP-160 (https://google.aip.dev/160).", +"location": "query", +"type": "string" +}, +"name": { +"description": "The resource that owns the locations collection, if applicable.", +"location": "path", +"pattern": "^projects/[^/]+$", +"required": true, +"type": "string" +}, +"pageSize": { +"description": "The maximum number of results to return. If not set, the service selects a default.", +"format": "int32", +"location": "query", +"type": "integer" +}, +"pageToken": { +"description": "A page token received from the next_page_token field in the response. Send that page token to receive the subsequent page.", +"location": "query", +"type": "string" +} +}, +"path": "v1/{+name}/locations", +"response": { +"$ref": "ListLocationsResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +} +}, +"resources": { +"federations": { +"methods": { +"create": { +"description": "Creates a metastore federation in a project and location.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/federations", +"httpMethod": "POST", +"id": "metastore.projects.locations.federations.create", +"parameterOrder": [ +"parent" +], +"parameters": { +"federationId": { +"description": "Required. The ID of the metastore federation, which is used as the final component of the metastore federation's name.This value must be between 2 and 63 characters long inclusive, begin with a letter, end with a letter or number, and consist of alpha-numeric ASCII characters or hyphens.", +"location": "query", +"type": "string" +}, +"parent": { +"description": "Required. The relative resource name of the location in which to create a federation service, in the following form:projects/{project_number}/locations/{location_id}.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+$", +"required": true, +"type": "string" +}, +"requestId": { +"description": "Optional. A request ID. Specify a unique request ID to allow the server to ignore the request if it has completed. The server will ignore subsequent requests that provide a duplicate request ID for at least 60 minutes after the first request.For example, if an initial request times out, followed by another request with the same request ID, the server ignores the second request to prevent the creation of duplicate commitments.The request ID must be a valid UUID (https://en.wikipedia.org/wiki/Universally_unique_identifier#Format) A zero UUID (00000000-0000-0000-0000-000000000000) is not supported.", +"location": "query", +"type": "string" +} +}, +"path": "v1/{+parent}/federations", +"request": { +"$ref": "Federation" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"delete": { +"description": "Deletes a single federation.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/federations/{federationsId}", +"httpMethod": "DELETE", +"id": "metastore.projects.locations.federations.delete", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. The relative resource name of the metastore federation to delete, in the following form:projects/{project_number}/locations/{location_id}/federations/{federation_id}.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/federations/[^/]+$", +"required": true, +"type": "string" +}, +"requestId": { +"description": "Optional. A request ID. Specify a unique request ID to allow the server to ignore the request if it has completed. The server will ignore subsequent requests that provide a duplicate request ID for at least 60 minutes after the first request.For example, if an initial request times out, followed by another request with the same request ID, the server ignores the second request to prevent the creation of duplicate commitments.The request ID must be a valid UUID (https://en.wikipedia.org/wiki/Universally_unique_identifier#Format) A zero UUID (00000000-0000-0000-0000-000000000000) is not supported.", +"location": "query", +"type": "string" +} +}, +"path": "v1/{+name}", +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"get": { +"description": "Gets the details of a single federation.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/federations/{federationsId}", +"httpMethod": "GET", +"id": "metastore.projects.locations.federations.get", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. The relative resource name of the metastore federation to retrieve, in the following form:projects/{project_number}/locations/{location_id}/federations/{federation_id}.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/federations/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+name}", +"response": { +"$ref": "Federation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"getIamPolicy": { +"description": "Gets the access control policy for a resource. Returns an empty policy if the resource exists and does not have a policy set.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/federations/{federationsId}:getIamPolicy", +"httpMethod": "GET", +"id": "metastore.projects.locations.federations.getIamPolicy", +"parameterOrder": [ +"resource" +], +"parameters": { +"options.requestedPolicyVersion": { +"description": "Optional. The maximum policy version that will be used to format the policy.Valid values are 0, 1, and 3. Requests specifying an invalid value will be rejected.Requests for policies with any conditional role bindings must specify version 3. Policies with no conditional role bindings may specify any valid value or leave the field unset.The policy in the response might use the policy version that you specified, or it might use a lower policy version. For example, if you specify version 3, but the policy has no conditional role bindings, the response uses version 1.To learn which resources support conditions in their IAM policies, see the IAM documentation (https://cloud.google.com/iam/help/conditions/resource-policies).", +"format": "int32", +"location": "query", +"type": "integer" +}, +"resource": { +"description": "REQUIRED: The resource for which the policy is being requested. See Resource names (https://cloud.google.com/apis/design/resource_names) for the appropriate value for this field.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/federations/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+resource}:getIamPolicy", +"response": { +"$ref": "Policy" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"list": { +"description": "Lists federations in a project and location.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/federations", +"httpMethod": "GET", +"id": "metastore.projects.locations.federations.list", +"parameterOrder": [ +"parent" +], +"parameters": { +"filter": { +"description": "Optional. The filter to apply to list results.", +"location": "query", +"type": "string" +}, +"orderBy": { +"description": "Optional. Specify the ordering of results as described in Sorting Order (https://cloud.google.com/apis/design/design_patterns#sorting_order). If not specified, the results will be sorted in the default order.", +"location": "query", +"type": "string" +}, +"pageSize": { +"description": "Optional. The maximum number of federations to return. The response may contain less than the maximum number. If unspecified, no more than 500 services are returned. The maximum value is 1000; values above 1000 are changed to 1000.", +"format": "int32", +"location": "query", +"type": "integer" +}, +"pageToken": { +"description": "Optional. A page token, received from a previous ListFederationServices call. Provide this token to retrieve the subsequent page.To retrieve the first page, supply an empty page token.When paginating, other parameters provided to ListFederationServices must match the call that provided the page token.", +"location": "query", +"type": "string" +}, +"parent": { +"description": "Required. The relative resource name of the location of metastore federations to list, in the following form: projects/{project_number}/locations/{location_id}.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+parent}/federations", +"response": { +"$ref": "ListFederationsResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"patch": { +"description": "Updates the fields of a federation.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/federations/{federationsId}", +"httpMethod": "PATCH", +"id": "metastore.projects.locations.federations.patch", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Immutable. The relative resource name of the federation, of the form: projects/{project_number}/locations/{location_id}/federations/{federation_id}`.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/federations/[^/]+$", +"required": true, +"type": "string" +}, +"requestId": { +"description": "Optional. A request ID. Specify a unique request ID to allow the server to ignore the request if it has completed. The server will ignore subsequent requests that provide a duplicate request ID for at least 60 minutes after the first request.For example, if an initial request times out, followed by another request with the same request ID, the server ignores the second request to prevent the creation of duplicate commitments.The request ID must be a valid UUID (https://en.wikipedia.org/wiki/Universally_unique_identifier#Format) A zero UUID (00000000-0000-0000-0000-000000000000) is not supported.", +"location": "query", +"type": "string" +}, +"updateMask": { +"description": "Required. A field mask used to specify the fields to be overwritten in the metastore federation resource by the update. Fields specified in the update_mask are relative to the resource (not to the full request). A field is overwritten if it is in the mask.", +"format": "google-fieldmask", +"location": "query", +"type": "string" +} +}, +"path": "v1/{+name}", +"request": { +"$ref": "Federation" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"setIamPolicy": { +"description": "Sets the access control policy on the specified resource. Replaces any existing policy.Can return NOT_FOUND, INVALID_ARGUMENT, and PERMISSION_DENIED errors.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/federations/{federationsId}:setIamPolicy", +"httpMethod": "POST", +"id": "metastore.projects.locations.federations.setIamPolicy", +"parameterOrder": [ +"resource" +], +"parameters": { +"resource": { +"description": "REQUIRED: The resource for which the policy is being specified. See Resource names (https://cloud.google.com/apis/design/resource_names) for the appropriate value for this field.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/federations/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+resource}:setIamPolicy", +"request": { +"$ref": "SetIamPolicyRequest" +}, +"response": { +"$ref": "Policy" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"testIamPermissions": { +"description": "Returns permissions that a caller has on the specified resource. If the resource does not exist, this will return an empty set of permissions, not a NOT_FOUND error.Note: This operation is designed to be used for building permission-aware UIs and command-line tools, not for authorization checking. This operation may \"fail open\" without warning.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/federations/{federationsId}:testIamPermissions", +"httpMethod": "POST", +"id": "metastore.projects.locations.federations.testIamPermissions", +"parameterOrder": [ +"resource" +], +"parameters": { +"resource": { +"description": "REQUIRED: The resource for which the policy detail is being requested. See Resource names (https://cloud.google.com/apis/design/resource_names) for the appropriate value for this field.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/federations/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+resource}:testIamPermissions", +"request": { +"$ref": "TestIamPermissionsRequest" +}, +"response": { +"$ref": "TestIamPermissionsResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +} +} +}, +"operations": { +"methods": { +"cancel": { +"description": "Starts asynchronous cancellation on a long-running operation. The server makes a best effort to cancel the operation, but success is not guaranteed. If the server doesn't support this method, it returns google.rpc.Code.UNIMPLEMENTED. Clients can use Operations.GetOperation or other methods to check whether the cancellation succeeded or whether the operation completed despite cancellation. On successful cancellation, the operation is not deleted; instead, it becomes an operation with an Operation.error value with a google.rpc.Status.code of 1, corresponding to Code.CANCELLED.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/operations/{operationsId}:cancel", +"httpMethod": "POST", +"id": "metastore.projects.locations.operations.cancel", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "The name of the operation resource to be cancelled.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/operations/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+name}:cancel", +"request": { +"$ref": "CancelOperationRequest" +}, +"response": { +"$ref": "Empty" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"delete": { +"description": "Deletes a long-running operation. This method indicates that the client is no longer interested in the operation result. It does not cancel the operation. If the server doesn't support this method, it returns google.rpc.Code.UNIMPLEMENTED.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/operations/{operationsId}", +"httpMethod": "DELETE", +"id": "metastore.projects.locations.operations.delete", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "The name of the operation resource to be deleted.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/operations/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+name}", +"response": { +"$ref": "Empty" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"get": { +"description": "Gets the latest state of a long-running operation. Clients can use this method to poll the operation result at intervals as recommended by the API service.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/operations/{operationsId}", +"httpMethod": "GET", +"id": "metastore.projects.locations.operations.get", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "The name of the operation resource.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/operations/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+name}", +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"list": { +"description": "Lists operations that match the specified filter in the request. If the server doesn't support this method, it returns UNIMPLEMENTED.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/operations", +"httpMethod": "GET", +"id": "metastore.projects.locations.operations.list", +"parameterOrder": [ +"name" +], +"parameters": { +"filter": { +"description": "The standard list filter.", +"location": "query", +"type": "string" +}, +"name": { +"description": "The name of the operation's parent resource.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+$", +"required": true, +"type": "string" +}, +"pageSize": { +"description": "The standard list page size.", +"format": "int32", +"location": "query", +"type": "integer" +}, +"pageToken": { +"description": "The standard list page token.", +"location": "query", +"type": "string" +} +}, +"path": "v1/{+name}/operations", +"response": { +"$ref": "ListOperationsResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +} +} +}, +"services": { +"methods": { +"alterLocation": { +"description": "Alter metadata resource location. The metadata resource can be a database, table, or partition. This functionality only updates the parent directory for the respective metadata resource and does not transfer any existing data to the new location.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/services/{servicesId}:alterLocation", +"httpMethod": "POST", +"id": "metastore.projects.locations.services.alterLocation", +"parameterOrder": [ +"service" +], +"parameters": { +"service": { +"description": "Required. The relative resource name of the metastore service to mutate metadata, in the following format:projects/{project_id}/locations/{location_id}/services/{service_id}.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/services/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+service}:alterLocation", +"request": { +"$ref": "AlterMetadataResourceLocationRequest" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"alterTableProperties": { +"description": "Alter metadata table properties.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/services/{servicesId}:alterTableProperties", +"httpMethod": "POST", +"id": "metastore.projects.locations.services.alterTableProperties", +"parameterOrder": [ +"service" +], +"parameters": { +"service": { +"description": "Required. The relative resource name of the Dataproc Metastore service that's being used to mutate metadata table properties, in the following format:projects/{project_id}/locations/{location_id}/services/{service_id}.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/services/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+service}:alterTableProperties", +"request": { +"$ref": "AlterTablePropertiesRequest" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"cancelMigration": { +"description": "Cancels the ongoing Managed Migration process.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/services/{servicesId}:cancelMigration", +"httpMethod": "POST", +"id": "metastore.projects.locations.services.cancelMigration", +"parameterOrder": [ +"service" +], +"parameters": { +"service": { +"description": "Required. The relative resource name of the metastore service to cancel the ongoing migration to, in the following format:projects/{project_id}/locations/{location_id}/services/{service_id}.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/services/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+service}:cancelMigration", +"request": { +"$ref": "CancelMigrationRequest" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"completeMigration": { +"description": "Completes the managed migration process. The Dataproc Metastore service will switch to using its own backend database after successful migration.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/services/{servicesId}:completeMigration", +"httpMethod": "POST", +"id": "metastore.projects.locations.services.completeMigration", +"parameterOrder": [ +"service" +], +"parameters": { +"service": { +"description": "Required. The relative resource name of the metastore service to complete the migration to, in the following format:projects/{project_id}/locations/{location_id}/services/{service_id}.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/services/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+service}:completeMigration", +"request": { +"$ref": "CompleteMigrationRequest" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"create": { +"description": "Creates a metastore service in a project and location.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/services", +"httpMethod": "POST", +"id": "metastore.projects.locations.services.create", +"parameterOrder": [ +"parent" +], +"parameters": { +"parent": { +"description": "Required. The relative resource name of the location in which to create a metastore service, in the following form:projects/{project_number}/locations/{location_id}.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+$", +"required": true, +"type": "string" +}, +"requestId": { +"description": "Optional. A request ID. Specify a unique request ID to allow the server to ignore the request if it has completed. The server will ignore subsequent requests that provide a duplicate request ID for at least 60 minutes after the first request.For example, if an initial request times out, followed by another request with the same request ID, the server ignores the second request to prevent the creation of duplicate commitments.The request ID must be a valid UUID (https://en.wikipedia.org/wiki/Universally_unique_identifier#Format) A zero UUID (00000000-0000-0000-0000-000000000000) is not supported.", +"location": "query", +"type": "string" +}, +"serviceId": { +"description": "Required. The ID of the metastore service, which is used as the final component of the metastore service's name.This value must be between 2 and 63 characters long inclusive, begin with a letter, end with a letter or number, and consist of alpha-numeric ASCII characters or hyphens.", +"location": "query", +"type": "string" +} +}, +"path": "v1/{+parent}/services", +"request": { +"$ref": "Service" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"delete": { +"description": "Deletes a single service.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/services/{servicesId}", +"httpMethod": "DELETE", +"id": "metastore.projects.locations.services.delete", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. The relative resource name of the metastore service to delete, in the following form:projects/{project_number}/locations/{location_id}/services/{service_id}.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/services/[^/]+$", +"required": true, +"type": "string" +}, +"requestId": { +"description": "Optional. A request ID. Specify a unique request ID to allow the server to ignore the request if it has completed. The server will ignore subsequent requests that provide a duplicate request ID for at least 60 minutes after the first request.For example, if an initial request times out, followed by another request with the same request ID, the server ignores the second request to prevent the creation of duplicate commitments.The request ID must be a valid UUID (https://en.wikipedia.org/wiki/Universally_unique_identifier#Format) A zero UUID (00000000-0000-0000-0000-000000000000) is not supported.", +"location": "query", +"type": "string" +} +}, +"path": "v1/{+name}", +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"exportMetadata": { +"description": "Exports metadata from a service.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/services/{servicesId}:exportMetadata", +"httpMethod": "POST", +"id": "metastore.projects.locations.services.exportMetadata", +"parameterOrder": [ +"service" +], +"parameters": { +"service": { +"description": "Required. The relative resource name of the metastore service to run export, in the following form:projects/{project_id}/locations/{location_id}/services/{service_id}.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/services/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+service}:exportMetadata", +"request": { +"$ref": "ExportMetadataRequest" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"get": { +"description": "Gets the details of a single service.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/services/{servicesId}", +"httpMethod": "GET", +"id": "metastore.projects.locations.services.get", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. The relative resource name of the metastore service to retrieve, in the following form:projects/{project_number}/locations/{location_id}/services/{service_id}.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/services/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+name}", +"response": { +"$ref": "Service" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"getIamPolicy": { +"description": "Gets the access control policy for a resource. Returns an empty policy if the resource exists and does not have a policy set.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/services/{servicesId}:getIamPolicy", +"httpMethod": "GET", +"id": "metastore.projects.locations.services.getIamPolicy", +"parameterOrder": [ +"resource" +], +"parameters": { +"options.requestedPolicyVersion": { +"description": "Optional. The maximum policy version that will be used to format the policy.Valid values are 0, 1, and 3. Requests specifying an invalid value will be rejected.Requests for policies with any conditional role bindings must specify version 3. Policies with no conditional role bindings may specify any valid value or leave the field unset.The policy in the response might use the policy version that you specified, or it might use a lower policy version. For example, if you specify version 3, but the policy has no conditional role bindings, the response uses version 1.To learn which resources support conditions in their IAM policies, see the IAM documentation (https://cloud.google.com/iam/help/conditions/resource-policies).", +"format": "int32", +"location": "query", +"type": "integer" +}, +"resource": { +"description": "REQUIRED: The resource for which the policy is being requested. See Resource names (https://cloud.google.com/apis/design/resource_names) for the appropriate value for this field.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/services/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+resource}:getIamPolicy", +"response": { +"$ref": "Policy" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"list": { +"description": "Lists services in a project and location.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/services", +"httpMethod": "GET", +"id": "metastore.projects.locations.services.list", +"parameterOrder": [ +"parent" +], +"parameters": { +"filter": { +"description": "Optional. The filter to apply to list results.", +"location": "query", +"type": "string" +}, +"orderBy": { +"description": "Optional. Specify the ordering of results as described in Sorting Order (https://cloud.google.com/apis/design/design_patterns#sorting_order). If not specified, the results will be sorted in the default order.", +"location": "query", +"type": "string" +}, +"pageSize": { +"description": "Optional. The maximum number of services to return. The response may contain less than the maximum number. If unspecified, no more than 500 services are returned. The maximum value is 1000; values above 1000 are changed to 1000.", +"format": "int32", +"location": "query", +"type": "integer" +}, +"pageToken": { +"description": "Optional. A page token, received from a previous DataprocMetastore.ListServices call. Provide this token to retrieve the subsequent page.To retrieve the first page, supply an empty page token.When paginating, other parameters provided to DataprocMetastore.ListServices must match the call that provided the page token.", +"location": "query", +"type": "string" +}, +"parent": { +"description": "Required. The relative resource name of the location of metastore services to list, in the following form:projects/{project_number}/locations/{location_id}.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+parent}/services", +"response": { +"$ref": "ListServicesResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"moveTableToDatabase": { +"description": "Move a table to another database.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/services/{servicesId}:moveTableToDatabase", +"httpMethod": "POST", +"id": "metastore.projects.locations.services.moveTableToDatabase", +"parameterOrder": [ +"service" +], +"parameters": { +"service": { +"description": "Required. The relative resource name of the metastore service to mutate metadata, in the following format:projects/{project_id}/locations/{location_id}/services/{service_id}.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/services/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+service}:moveTableToDatabase", +"request": { +"$ref": "MoveTableToDatabaseRequest" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"patch": { +"description": "Updates the parameters of a single service.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/services/{servicesId}", +"httpMethod": "PATCH", +"id": "metastore.projects.locations.services.patch", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Immutable. The relative resource name of the metastore service, in the following format:projects/{project_number}/locations/{location_id}/services/{service_id}.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/services/[^/]+$", +"required": true, +"type": "string" +}, +"requestId": { +"description": "Optional. A request ID. Specify a unique request ID to allow the server to ignore the request if it has completed. The server will ignore subsequent requests that provide a duplicate request ID for at least 60 minutes after the first request.For example, if an initial request times out, followed by another request with the same request ID, the server ignores the second request to prevent the creation of duplicate commitments.The request ID must be a valid UUID (https://en.wikipedia.org/wiki/Universally_unique_identifier#Format) A zero UUID (00000000-0000-0000-0000-000000000000) is not supported.", +"location": "query", +"type": "string" +}, +"updateMask": { +"description": "Required. A field mask used to specify the fields to be overwritten in the metastore service resource by the update. Fields specified in the update_mask are relative to the resource (not to the full request). A field is overwritten if it is in the mask.", +"format": "google-fieldmask", +"location": "query", +"type": "string" +} +}, +"path": "v1/{+name}", +"request": { +"$ref": "Service" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"queryMetadata": { +"description": "Query Dataproc Metastore metadata.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/services/{servicesId}:queryMetadata", +"httpMethod": "POST", +"id": "metastore.projects.locations.services.queryMetadata", +"parameterOrder": [ +"service" +], +"parameters": { +"service": { +"description": "Required. The relative resource name of the metastore service to query metadata, in the following format:projects/{project_id}/locations/{location_id}/services/{service_id}.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/services/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+service}:queryMetadata", +"request": { +"$ref": "QueryMetadataRequest" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"restore": { +"description": "Restores a service from a backup.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/services/{servicesId}:restore", +"httpMethod": "POST", +"id": "metastore.projects.locations.services.restore", +"parameterOrder": [ +"service" +], +"parameters": { +"service": { +"description": "Required. The relative resource name of the metastore service to run restore, in the following form:projects/{project_id}/locations/{location_id}/services/{service_id}.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/services/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+service}:restore", +"request": { +"$ref": "RestoreServiceRequest" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"setIamPolicy": { +"description": "Sets the access control policy on the specified resource. Replaces any existing policy.Can return NOT_FOUND, INVALID_ARGUMENT, and PERMISSION_DENIED errors.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/services/{servicesId}:setIamPolicy", +"httpMethod": "POST", +"id": "metastore.projects.locations.services.setIamPolicy", +"parameterOrder": [ +"resource" +], +"parameters": { +"resource": { +"description": "REQUIRED: The resource for which the policy is being specified. See Resource names (https://cloud.google.com/apis/design/resource_names) for the appropriate value for this field.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/services/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+resource}:setIamPolicy", +"request": { +"$ref": "SetIamPolicyRequest" +}, +"response": { +"$ref": "Policy" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"startMigration": { +"description": "Starts the Managed Migration process.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/services/{servicesId}:startMigration", +"httpMethod": "POST", +"id": "metastore.projects.locations.services.startMigration", +"parameterOrder": [ +"service" +], +"parameters": { +"service": { +"description": "Required. The relative resource name of the metastore service to start migrating to, in the following format:projects/{project_id}/locations/{location_id}/services/{service_id}.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/services/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+service}:startMigration", +"request": { +"$ref": "StartMigrationRequest" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"testIamPermissions": { +"description": "Returns permissions that a caller has on the specified resource. If the resource does not exist, this will return an empty set of permissions, not a NOT_FOUND error.Note: This operation is designed to be used for building permission-aware UIs and command-line tools, not for authorization checking. This operation may \"fail open\" without warning.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/services/{servicesId}:testIamPermissions", +"httpMethod": "POST", +"id": "metastore.projects.locations.services.testIamPermissions", +"parameterOrder": [ +"resource" +], +"parameters": { +"resource": { +"description": "REQUIRED: The resource for which the policy detail is being requested. See Resource names (https://cloud.google.com/apis/design/resource_names) for the appropriate value for this field.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/services/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+resource}:testIamPermissions", +"request": { +"$ref": "TestIamPermissionsRequest" +}, +"response": { +"$ref": "TestIamPermissionsResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +} +}, +"resources": { +"backups": { +"methods": { +"create": { +"description": "Creates a new backup in a given project and location.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/services/{servicesId}/backups", +"httpMethod": "POST", +"id": "metastore.projects.locations.services.backups.create", +"parameterOrder": [ +"parent" +], +"parameters": { +"backupId": { +"description": "Required. The ID of the backup, which is used as the final component of the backup's name.This value must be between 1 and 64 characters long, begin with a letter, end with a letter or number, and consist of alpha-numeric ASCII characters or hyphens.", +"location": "query", +"type": "string" +}, +"parent": { +"description": "Required. The relative resource name of the service in which to create a backup of the following form:projects/{project_number}/locations/{location_id}/services/{service_id}.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/services/[^/]+$", +"required": true, +"type": "string" +}, +"requestId": { +"description": "Optional. A request ID. Specify a unique request ID to allow the server to ignore the request if it has completed. The server will ignore subsequent requests that provide a duplicate request ID for at least 60 minutes after the first request.For example, if an initial request times out, followed by another request with the same request ID, the server ignores the second request to prevent the creation of duplicate commitments.The request ID must be a valid UUID (https://en.wikipedia.org/wiki/Universally_unique_identifier#Format) A zero UUID (00000000-0000-0000-0000-000000000000) is not supported.", +"location": "query", +"type": "string" +} +}, +"path": "v1/{+parent}/backups", +"request": { +"$ref": "Backup" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"delete": { +"description": "Deletes a single backup.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/services/{servicesId}/backups/{backupsId}", +"httpMethod": "DELETE", +"id": "metastore.projects.locations.services.backups.delete", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. The relative resource name of the backup to delete, in the following form:projects/{project_number}/locations/{location_id}/services/{service_id}/backups/{backup_id}.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/services/[^/]+/backups/[^/]+$", +"required": true, +"type": "string" +}, +"requestId": { +"description": "Optional. A request ID. Specify a unique request ID to allow the server to ignore the request if it has completed. The server will ignore subsequent requests that provide a duplicate request ID for at least 60 minutes after the first request.For example, if an initial request times out, followed by another request with the same request ID, the server ignores the second request to prevent the creation of duplicate commitments.The request ID must be a valid UUID (https://en.wikipedia.org/wiki/Universally_unique_identifier#Format) A zero UUID (00000000-0000-0000-0000-000000000000) is not supported.", +"location": "query", +"type": "string" +} +}, +"path": "v1/{+name}", +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"get": { +"description": "Gets details of a single backup.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/services/{servicesId}/backups/{backupsId}", +"httpMethod": "GET", +"id": "metastore.projects.locations.services.backups.get", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. The relative resource name of the backup to retrieve, in the following form:projects/{project_number}/locations/{location_id}/services/{service_id}/backups/{backup_id}.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/services/[^/]+/backups/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+name}", +"response": { +"$ref": "Backup" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"getIamPolicy": { +"description": "Gets the access control policy for a resource. Returns an empty policy if the resource exists and does not have a policy set.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/services/{servicesId}/backups/{backupsId}:getIamPolicy", +"httpMethod": "GET", +"id": "metastore.projects.locations.services.backups.getIamPolicy", +"parameterOrder": [ +"resource" +], +"parameters": { +"options.requestedPolicyVersion": { +"description": "Optional. The maximum policy version that will be used to format the policy.Valid values are 0, 1, and 3. Requests specifying an invalid value will be rejected.Requests for policies with any conditional role bindings must specify version 3. Policies with no conditional role bindings may specify any valid value or leave the field unset.The policy in the response might use the policy version that you specified, or it might use a lower policy version. For example, if you specify version 3, but the policy has no conditional role bindings, the response uses version 1.To learn which resources support conditions in their IAM policies, see the IAM documentation (https://cloud.google.com/iam/help/conditions/resource-policies).", +"format": "int32", +"location": "query", +"type": "integer" +}, +"resource": { +"description": "REQUIRED: The resource for which the policy is being requested. See Resource names (https://cloud.google.com/apis/design/resource_names) for the appropriate value for this field.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/services/[^/]+/backups/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+resource}:getIamPolicy", +"response": { +"$ref": "Policy" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"list": { +"description": "Lists backups in a service.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/services/{servicesId}/backups", +"httpMethod": "GET", +"id": "metastore.projects.locations.services.backups.list", +"parameterOrder": [ +"parent" +], +"parameters": { +"filter": { +"description": "Optional. The filter to apply to list results.", +"location": "query", +"type": "string" +}, +"orderBy": { +"description": "Optional. Specify the ordering of results as described in Sorting Order (https://cloud.google.com/apis/design/design_patterns#sorting_order). If not specified, the results will be sorted in the default order.", +"location": "query", +"type": "string" +}, +"pageSize": { +"description": "Optional. The maximum number of backups to return. The response may contain less than the maximum number. If unspecified, no more than 500 backups are returned. The maximum value is 1000; values above 1000 are changed to 1000.", +"format": "int32", +"location": "query", +"type": "integer" +}, +"pageToken": { +"description": "Optional. A page token, received from a previous DataprocMetastore.ListBackups call. Provide this token to retrieve the subsequent page.To retrieve the first page, supply an empty page token.When paginating, other parameters provided to DataprocMetastore.ListBackups must match the call that provided the page token.", +"location": "query", +"type": "string" +}, +"parent": { +"description": "Required. The relative resource name of the service whose backups to list, in the following form:projects/{project_number}/locations/{location_id}/services/{service_id}/backups.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/services/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+parent}/backups", +"response": { +"$ref": "ListBackupsResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"setIamPolicy": { +"description": "Sets the access control policy on the specified resource. Replaces any existing policy.Can return NOT_FOUND, INVALID_ARGUMENT, and PERMISSION_DENIED errors.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/services/{servicesId}/backups/{backupsId}:setIamPolicy", +"httpMethod": "POST", +"id": "metastore.projects.locations.services.backups.setIamPolicy", +"parameterOrder": [ +"resource" +], +"parameters": { +"resource": { +"description": "REQUIRED: The resource for which the policy is being specified. See Resource names (https://cloud.google.com/apis/design/resource_names) for the appropriate value for this field.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/services/[^/]+/backups/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+resource}:setIamPolicy", +"request": { +"$ref": "SetIamPolicyRequest" +}, +"response": { +"$ref": "Policy" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +} +} +}, +"databases": { +"methods": { +"getIamPolicy": { +"description": "Gets the access control policy for a resource. Returns an empty policy if the resource exists and does not have a policy set.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/services/{servicesId}/databases/{databasesId}:getIamPolicy", +"httpMethod": "GET", +"id": "metastore.projects.locations.services.databases.getIamPolicy", +"parameterOrder": [ +"resource" +], +"parameters": { +"options.requestedPolicyVersion": { +"description": "Optional. The maximum policy version that will be used to format the policy.Valid values are 0, 1, and 3. Requests specifying an invalid value will be rejected.Requests for policies with any conditional role bindings must specify version 3. Policies with no conditional role bindings may specify any valid value or leave the field unset.The policy in the response might use the policy version that you specified, or it might use a lower policy version. For example, if you specify version 3, but the policy has no conditional role bindings, the response uses version 1.To learn which resources support conditions in their IAM policies, see the IAM documentation (https://cloud.google.com/iam/help/conditions/resource-policies).", +"format": "int32", +"location": "query", +"type": "integer" +}, +"resource": { +"description": "REQUIRED: The resource for which the policy is being requested. See Resource names (https://cloud.google.com/apis/design/resource_names) for the appropriate value for this field.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/services/[^/]+/databases/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+resource}:getIamPolicy", +"response": { +"$ref": "Policy" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"setIamPolicy": { +"description": "Sets the access control policy on the specified resource. Replaces any existing policy.Can return NOT_FOUND, INVALID_ARGUMENT, and PERMISSION_DENIED errors.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/services/{servicesId}/databases/{databasesId}:setIamPolicy", +"httpMethod": "POST", +"id": "metastore.projects.locations.services.databases.setIamPolicy", +"parameterOrder": [ +"resource" +], +"parameters": { +"resource": { +"description": "REQUIRED: The resource for which the policy is being specified. See Resource names (https://cloud.google.com/apis/design/resource_names) for the appropriate value for this field.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/services/[^/]+/databases/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+resource}:setIamPolicy", +"request": { +"$ref": "SetIamPolicyRequest" +}, +"response": { +"$ref": "Policy" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +} +}, +"resources": { +"tables": { +"methods": { +"getIamPolicy": { +"description": "Gets the access control policy for a resource. Returns an empty policy if the resource exists and does not have a policy set.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/services/{servicesId}/databases/{databasesId}/tables/{tablesId}:getIamPolicy", +"httpMethod": "GET", +"id": "metastore.projects.locations.services.databases.tables.getIamPolicy", +"parameterOrder": [ +"resource" +], +"parameters": { +"options.requestedPolicyVersion": { +"description": "Optional. The maximum policy version that will be used to format the policy.Valid values are 0, 1, and 3. Requests specifying an invalid value will be rejected.Requests for policies with any conditional role bindings must specify version 3. Policies with no conditional role bindings may specify any valid value or leave the field unset.The policy in the response might use the policy version that you specified, or it might use a lower policy version. For example, if you specify version 3, but the policy has no conditional role bindings, the response uses version 1.To learn which resources support conditions in their IAM policies, see the IAM documentation (https://cloud.google.com/iam/help/conditions/resource-policies).", +"format": "int32", +"location": "query", +"type": "integer" +}, +"resource": { +"description": "REQUIRED: The resource for which the policy is being requested. See Resource names (https://cloud.google.com/apis/design/resource_names) for the appropriate value for this field.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/services/[^/]+/databases/[^/]+/tables/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+resource}:getIamPolicy", +"response": { +"$ref": "Policy" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"setIamPolicy": { +"description": "Sets the access control policy on the specified resource. Replaces any existing policy.Can return NOT_FOUND, INVALID_ARGUMENT, and PERMISSION_DENIED errors.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/services/{servicesId}/databases/{databasesId}/tables/{tablesId}:setIamPolicy", +"httpMethod": "POST", +"id": "metastore.projects.locations.services.databases.tables.setIamPolicy", +"parameterOrder": [ +"resource" +], +"parameters": { +"resource": { +"description": "REQUIRED: The resource for which the policy is being specified. See Resource names (https://cloud.google.com/apis/design/resource_names) for the appropriate value for this field.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/services/[^/]+/databases/[^/]+/tables/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+resource}:setIamPolicy", +"request": { +"$ref": "SetIamPolicyRequest" +}, +"response": { +"$ref": "Policy" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +} +} +} +} +}, +"metadataImports": { +"methods": { +"create": { +"description": "Creates a new MetadataImport in a given project and location.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/services/{servicesId}/metadataImports", +"httpMethod": "POST", +"id": "metastore.projects.locations.services.metadataImports.create", +"parameterOrder": [ +"parent" +], +"parameters": { +"metadataImportId": { +"description": "Required. The ID of the metadata import, which is used as the final component of the metadata import's name.This value must be between 1 and 64 characters long, begin with a letter, end with a letter or number, and consist of alpha-numeric ASCII characters or hyphens.", +"location": "query", +"type": "string" +}, +"parent": { +"description": "Required. The relative resource name of the service in which to create a metastore import, in the following form:projects/{project_number}/locations/{location_id}/services/{service_id}.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/services/[^/]+$", +"required": true, +"type": "string" +}, +"requestId": { +"description": "Optional. A request ID. Specify a unique request ID to allow the server to ignore the request if it has completed. The server will ignore subsequent requests that provide a duplicate request ID for at least 60 minutes after the first request.For example, if an initial request times out, followed by another request with the same request ID, the server ignores the second request to prevent the creation of duplicate commitments.The request ID must be a valid UUID (https://en.wikipedia.org/wiki/Universally_unique_identifier#Format) A zero UUID (00000000-0000-0000-0000-000000000000) is not supported.", +"location": "query", +"type": "string" +} +}, +"path": "v1/{+parent}/metadataImports", +"request": { +"$ref": "MetadataImport" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"get": { +"description": "Gets details of a single import.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/services/{servicesId}/metadataImports/{metadataImportsId}", +"httpMethod": "GET", +"id": "metastore.projects.locations.services.metadataImports.get", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. The relative resource name of the metadata import to retrieve, in the following form:projects/{project_number}/locations/{location_id}/services/{service_id}/metadataImports/{import_id}.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/services/[^/]+/metadataImports/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+name}", +"response": { +"$ref": "MetadataImport" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"list": { +"description": "Lists imports in a service.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/services/{servicesId}/metadataImports", +"httpMethod": "GET", +"id": "metastore.projects.locations.services.metadataImports.list", +"parameterOrder": [ +"parent" +], +"parameters": { +"filter": { +"description": "Optional. The filter to apply to list results.", +"location": "query", +"type": "string" +}, +"orderBy": { +"description": "Optional. Specify the ordering of results as described in Sorting Order (https://cloud.google.com/apis/design/design_patterns#sorting_order). If not specified, the results will be sorted in the default order.", +"location": "query", +"type": "string" +}, +"pageSize": { +"description": "Optional. The maximum number of imports to return. The response may contain less than the maximum number. If unspecified, no more than 500 imports are returned. The maximum value is 1000; values above 1000 are changed to 1000.", +"format": "int32", +"location": "query", +"type": "integer" +}, +"pageToken": { +"description": "Optional. A page token, received from a previous DataprocMetastore.ListServices call. Provide this token to retrieve the subsequent page.To retrieve the first page, supply an empty page token.When paginating, other parameters provided to DataprocMetastore.ListServices must match the call that provided the page token.", +"location": "query", +"type": "string" +}, +"parent": { +"description": "Required. The relative resource name of the service whose metadata imports to list, in the following form:projects/{project_number}/locations/{location_id}/services/{service_id}/metadataImports.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/services/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+parent}/metadataImports", +"response": { +"$ref": "ListMetadataImportsResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"patch": { +"description": "Updates a single import. Only the description field of MetadataImport is supported to be updated.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/services/{servicesId}/metadataImports/{metadataImportsId}", +"httpMethod": "PATCH", +"id": "metastore.projects.locations.services.metadataImports.patch", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Immutable. The relative resource name of the metadata import, of the form:projects/{project_number}/locations/{location_id}/services/{service_id}/metadataImports/{metadata_import_id}.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/services/[^/]+/metadataImports/[^/]+$", +"required": true, +"type": "string" +}, +"requestId": { +"description": "Optional. A request ID. Specify a unique request ID to allow the server to ignore the request if it has completed. The server will ignore subsequent requests that provide a duplicate request ID for at least 60 minutes after the first request.For example, if an initial request times out, followed by another request with the same request ID, the server ignores the second request to prevent the creation of duplicate commitments.The request ID must be a valid UUID (https://en.wikipedia.org/wiki/Universally_unique_identifier#Format) A zero UUID (00000000-0000-0000-0000-000000000000) is not supported.", +"location": "query", +"type": "string" +}, +"updateMask": { +"description": "Required. A field mask used to specify the fields to be overwritten in the metadata import resource by the update. Fields specified in the update_mask are relative to the resource (not to the full request). A field is overwritten if it is in the mask.", +"format": "google-fieldmask", +"location": "query", +"type": "string" +} +}, +"path": "v1/{+name}", +"request": { +"$ref": "MetadataImport" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +} +} +}, +"migrationExecutions": { +"methods": { +"delete": { +"description": "Deletes a single migration execution.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/services/{servicesId}/migrationExecutions/{migrationExecutionsId}", +"httpMethod": "DELETE", +"id": "metastore.projects.locations.services.migrationExecutions.delete", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. The relative resource name of the migrationExecution to delete, in the following form:projects/{project_number}/locations/{location_id}/services/{service_id}/migrationExecutions/{migration_execution_id}.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/services/[^/]+/migrationExecutions/[^/]+$", +"required": true, +"type": "string" +}, +"requestId": { +"description": "Optional. A request ID. Specify a unique request ID to allow the server to ignore the request if it has completed. The server will ignore subsequent requests that provide a duplicate request ID for at least 60 minutes after the first request.For example, if an initial request times out, followed by another request with the same request ID, the server ignores the second request to prevent the creation of duplicate commitments.The request ID must be a valid UUID (https://en.wikipedia.org/wiki/Universally_unique_identifier#Format) A zero UUID (00000000-0000-0000-0000-000000000000) is not supported.", +"location": "query", +"type": "string" +} +}, +"path": "v1/{+name}", +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"get": { +"description": "Gets details of a single migration execution.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/services/{servicesId}/migrationExecutions/{migrationExecutionsId}", +"httpMethod": "GET", +"id": "metastore.projects.locations.services.migrationExecutions.get", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. The relative resource name of the migration execution to retrieve, in the following form:projects/{project_number}/locations/{location_id}/services/{service_id}/migrationExecutions/{migration_execution_id}.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/services/[^/]+/migrationExecutions/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+name}", +"response": { +"$ref": "MigrationExecution" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"list": { +"description": "Lists migration executions on a service.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/services/{servicesId}/migrationExecutions", +"httpMethod": "GET", +"id": "metastore.projects.locations.services.migrationExecutions.list", +"parameterOrder": [ +"parent" +], +"parameters": { +"filter": { +"description": "Optional. The filter to apply to list results.", +"location": "query", +"type": "string" +}, +"orderBy": { +"description": "Optional. Specify the ordering of results as described in Sorting Order (https://cloud.google.com/apis/design/design_patterns#sorting_order). If not specified, the results will be sorted in the default order.", +"location": "query", +"type": "string" +}, +"pageSize": { +"description": "Optional. The maximum number of migration executions to return. The response may contain less than the maximum number. If unspecified, no more than 500 migration executions are returned. The maximum value is 1000; values above 1000 are changed to 1000.", +"format": "int32", +"location": "query", +"type": "integer" +}, +"pageToken": { +"description": "Optional. A page token, received from a previous DataprocMetastore.ListMigrationExecutions call. Provide this token to retrieve the subsequent page.To retrieve the first page, supply an empty page token.When paginating, other parameters provided to DataprocMetastore.ListMigrationExecutions must match the call that provided the page token.", +"location": "query", +"type": "string" +}, +"parent": { +"description": "Required. The relative resource name of the service whose migration executions to list, in the following form:projects/{project_number}/locations/{location_id}/services/{service_id}/migrationExecutions.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/services/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+parent}/migrationExecutions", +"response": { +"$ref": "ListMigrationExecutionsResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +} +} +} +} +} +} +} +} +} +}, +"revision": "20241203", +"rootUrl": "https://metastore.googleapis.com/", +"schemas": { +"AlterMetadataResourceLocationRequest": { +"description": "Request message for DataprocMetastore.AlterMetadataResourceLocation.", +"id": "AlterMetadataResourceLocationRequest", +"properties": { +"locationUri": { +"description": "Required. The new location URI for the metadata resource.", +"type": "string" +}, +"resourceName": { +"description": "Required. The relative metadata resource name in the following format.databases/{database_id} or databases/{database_id}/tables/{table_id} or databases/{database_id}/tables/{table_id}/partitions/{partition_id}", +"type": "string" +} +}, +"type": "object" +}, +"AlterMetadataResourceLocationResponse": { +"description": "Response message for DataprocMetastore.AlterMetadataResourceLocation.", +"id": "AlterMetadataResourceLocationResponse", +"properties": {}, +"type": "object" +}, +"AlterTablePropertiesRequest": { +"description": "Request message for DataprocMetastore.AlterTableProperties.", +"id": "AlterTablePropertiesRequest", +"properties": { +"properties": { +"additionalProperties": { +"type": "string" +}, +"description": "A map that describes the desired values to mutate. If update_mask is empty, the properties will not update. Otherwise, the properties only alters the value whose associated paths exist in the update mask", +"type": "object" +}, +"tableName": { +"description": "Required. The name of the table containing the properties you're altering in the following format.databases/{database_id}/tables/{table_id}", +"type": "string" +}, +"updateMask": { +"description": "A field mask that specifies the metadata table properties that are overwritten by the update. Fields specified in the update_mask are relative to the resource (not to the full request). A field is overwritten if it is in the mask.For example, given the target properties: properties { a: 1 b: 2 } And an update properties: properties { a: 2 b: 3 c: 4 } then if the field mask is:paths: \"properties.b\", \"properties.c\"then the result will be: properties { a: 1 b: 3 c: 4 } ", +"format": "google-fieldmask", +"type": "string" +} +}, +"type": "object" +}, +"AuditConfig": { +"description": "Specifies the audit configuration for a service. The configuration determines which permission types are logged, and what identities, if any, are exempted from logging. An AuditConfig must have one or more AuditLogConfigs.If there are AuditConfigs for both allServices and a specific service, the union of the two AuditConfigs is used for that service: the log_types specified in each AuditConfig are enabled, and the exempted_members in each AuditLogConfig are exempted.Example Policy with multiple AuditConfigs: { \"audit_configs\": [ { \"service\": \"allServices\", \"audit_log_configs\": [ { \"log_type\": \"DATA_READ\", \"exempted_members\": [ \"user:jose@example.com\" ] }, { \"log_type\": \"DATA_WRITE\" }, { \"log_type\": \"ADMIN_READ\" } ] }, { \"service\": \"sampleservice.googleapis.com\", \"audit_log_configs\": [ { \"log_type\": \"DATA_READ\" }, { \"log_type\": \"DATA_WRITE\", \"exempted_members\": [ \"user:aliya@example.com\" ] } ] } ] } For sampleservice, this policy enables DATA_READ, DATA_WRITE and ADMIN_READ logging. It also exempts jose@example.com from DATA_READ logging, and aliya@example.com from DATA_WRITE logging.", +"id": "AuditConfig", +"properties": { +"auditLogConfigs": { +"description": "The configuration for logging of each type of permission.", +"items": { +"$ref": "AuditLogConfig" +}, +"type": "array" +}, +"service": { +"description": "Specifies a service that will be enabled for audit logging. For example, storage.googleapis.com, cloudsql.googleapis.com. allServices is a special value that covers all services.", +"type": "string" +} +}, +"type": "object" +}, +"AuditLogConfig": { +"description": "Provides the configuration for logging a type of permissions. Example: { \"audit_log_configs\": [ { \"log_type\": \"DATA_READ\", \"exempted_members\": [ \"user:jose@example.com\" ] }, { \"log_type\": \"DATA_WRITE\" } ] } This enables 'DATA_READ' and 'DATA_WRITE' logging, while exempting jose@example.com from DATA_READ logging.", +"id": "AuditLogConfig", +"properties": { +"exemptedMembers": { +"description": "Specifies the identities that do not cause logging for this type of permission. Follows the same format of Binding.members.", +"items": { +"type": "string" +}, +"type": "array" +}, +"logType": { +"description": "The log type that this config enables.", +"enum": [ +"LOG_TYPE_UNSPECIFIED", +"ADMIN_READ", +"DATA_WRITE", +"DATA_READ" +], +"enumDescriptions": [ +"Default case. Should never be this.", +"Admin reads. Example: CloudIAM getIamPolicy", +"Data writes. Example: CloudSQL Users create", +"Data reads. Example: CloudSQL Users list" +], +"type": "string" +} +}, +"type": "object" +}, +"AutoscalingConfig": { +"description": "Represents the autoscaling configuration of a metastore service.", +"id": "AutoscalingConfig", +"properties": { +"autoscalingEnabled": { +"description": "Optional. Whether or not autoscaling is enabled for this service.", +"type": "boolean" +}, +"autoscalingFactor": { +"description": "Output only. The scaling factor of a service with autoscaling enabled.", +"format": "float", +"readOnly": true, +"type": "number" +}, +"limitConfig": { +"$ref": "LimitConfig", +"description": "Optional. The LimitConfig of the service." +} +}, +"type": "object" +}, +"AuxiliaryVersionConfig": { +"description": "Configuration information for the auxiliary service versions.", +"id": "AuxiliaryVersionConfig", +"properties": { +"configOverrides": { +"additionalProperties": { +"type": "string" +}, +"description": "A mapping of Hive metastore configuration key-value pairs to apply to the auxiliary Hive metastore (configured in hive-site.xml) in addition to the primary version's overrides. If keys are present in both the auxiliary version's overrides and the primary version's overrides, the value from the auxiliary version's overrides takes precedence.", +"type": "object" +}, +"networkConfig": { +"$ref": "NetworkConfig", +"description": "Output only. The network configuration contains the endpoint URI(s) of the auxiliary Hive metastore service.", +"readOnly": true +}, +"version": { +"description": "The Hive metastore version of the auxiliary service. It must be less than the primary Hive metastore service's version.", +"type": "string" +} +}, +"type": "object" +}, +"BackendMetastore": { +"description": "Represents a backend metastore for the federation.", +"id": "BackendMetastore", +"properties": { +"metastoreType": { +"description": "The type of the backend metastore.", +"enum": [ +"METASTORE_TYPE_UNSPECIFIED", +"BIGQUERY", +"DATAPROC_METASTORE" +], +"enumDescriptions": [ +"The metastore type is not set.", +"The backend metastore is BigQuery.", +"The backend metastore is Dataproc Metastore." +], +"type": "string" +}, +"name": { +"description": "The relative resource name of the metastore that is being federated. The formats of the relative resource names for the currently supported metastores are listed below: BigQuery projects/{project_id} Dataproc Metastore projects/{project_id}/locations/{location}/services/{service_id}", +"type": "string" +} +}, +"type": "object" +}, +"Backup": { +"description": "The details of a backup resource.", +"id": "Backup", +"properties": { +"createTime": { +"description": "Output only. The time when the backup was started.", +"format": "google-datetime", +"readOnly": true, +"type": "string" +}, +"description": { +"description": "The description of the backup.", +"type": "string" +}, +"endTime": { +"description": "Output only. The time when the backup finished creating.", +"format": "google-datetime", +"readOnly": true, +"type": "string" +}, +"name": { +"description": "Immutable. The relative resource name of the backup, in the following form:projects/{project_number}/locations/{location_id}/services/{service_id}/backups/{backup_id}", +"type": "string" +}, +"restoringServices": { +"description": "Output only. Services that are restoring from the backup.", +"items": { +"type": "string" +}, +"readOnly": true, +"type": "array" +}, +"serviceRevision": { +"$ref": "Service", +"description": "Output only. The revision of the service at the time of backup.", +"readOnly": true +}, +"state": { +"description": "Output only. The current state of the backup.", +"enum": [ +"STATE_UNSPECIFIED", +"CREATING", +"DELETING", +"ACTIVE", +"FAILED", +"RESTORING" +], +"enumDescriptions": [ +"The state of the backup is unknown.", +"The backup is being created.", +"The backup is being deleted.", +"The backup is active and ready to use.", +"The backup failed.", +"The backup is being restored." +], +"readOnly": true, +"type": "string" +} +}, +"type": "object" +}, +"Binding": { +"description": "Associates members, or principals, with a role.", +"id": "Binding", +"properties": { +"condition": { +"$ref": "Expr", +"description": "The condition that is associated with this binding.If the condition evaluates to true, then this binding applies to the current request.If the condition evaluates to false, then this binding does not apply to the current request. However, a different role binding might grant the same role to one or more of the principals in this binding.To learn which resources support conditions in their IAM policies, see the IAM documentation (https://cloud.google.com/iam/help/conditions/resource-policies)." +}, +"members": { +"description": "Specifies the principals requesting access for a Google Cloud resource. members can have the following values: allUsers: A special identifier that represents anyone who is on the internet; with or without a Google account. allAuthenticatedUsers: A special identifier that represents anyone who is authenticated with a Google account or a service account. Does not include identities that come from external identity providers (IdPs) through identity federation. user:{emailid}: An email address that represents a specific Google account. For example, alice@example.com . serviceAccount:{emailid}: An email address that represents a Google service account. For example, my-other-app@appspot.gserviceaccount.com. serviceAccount:{projectid}.svc.id.goog[{namespace}/{kubernetes-sa}]: An identifier for a Kubernetes service account (https://cloud.google.com/kubernetes-engine/docs/how-to/kubernetes-service-accounts). For example, my-project.svc.id.goog[my-namespace/my-kubernetes-sa]. group:{emailid}: An email address that represents a Google group. For example, admins@example.com. domain:{domain}: The G Suite domain (primary) that represents all the users of that domain. For example, google.com or example.com. principal://iam.googleapis.com/locations/global/workforcePools/{pool_id}/subject/{subject_attribute_value}: A single identity in a workforce identity pool. principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/group/{group_id}: All workforce identities in a group. principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/attribute.{attribute_name}/{attribute_value}: All workforce identities with a specific attribute value. principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/*: All identities in a workforce identity pool. principal://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/subject/{subject_attribute_value}: A single identity in a workload identity pool. principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/group/{group_id}: A workload identity pool group. principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/attribute.{attribute_name}/{attribute_value}: All identities in a workload identity pool with a certain attribute. principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/*: All identities in a workload identity pool. deleted:user:{emailid}?uid={uniqueid}: An email address (plus unique identifier) representing a user that has been recently deleted. For example, alice@example.com?uid=123456789012345678901. If the user is recovered, this value reverts to user:{emailid} and the recovered user retains the role in the binding. deleted:serviceAccount:{emailid}?uid={uniqueid}: An email address (plus unique identifier) representing a service account that has been recently deleted. For example, my-other-app@appspot.gserviceaccount.com?uid=123456789012345678901. If the service account is undeleted, this value reverts to serviceAccount:{emailid} and the undeleted service account retains the role in the binding. deleted:group:{emailid}?uid={uniqueid}: An email address (plus unique identifier) representing a Google group that has been recently deleted. For example, admins@example.com?uid=123456789012345678901. If the group is recovered, this value reverts to group:{emailid} and the recovered group retains the role in the binding. deleted:principal://iam.googleapis.com/locations/global/workforcePools/{pool_id}/subject/{subject_attribute_value}: Deleted single identity in a workforce identity pool. For example, deleted:principal://iam.googleapis.com/locations/global/workforcePools/my-pool-id/subject/my-subject-attribute-value.", +"items": { +"type": "string" +}, +"type": "array" +}, +"role": { +"description": "Role that is assigned to the list of members, or principals. For example, roles/viewer, roles/editor, or roles/owner.For an overview of the IAM roles and permissions, see the IAM documentation (https://cloud.google.com/iam/docs/roles-overview). For a list of the available pre-defined roles, see here (https://cloud.google.com/iam/docs/understanding-roles).", +"type": "string" +} +}, +"type": "object" +}, +"CancelMigrationRequest": { +"description": "Request message for DataprocMetastore.CancelMigration.", +"id": "CancelMigrationRequest", +"properties": {}, +"type": "object" +}, +"CancelOperationRequest": { +"description": "The request message for Operations.CancelOperation.", +"id": "CancelOperationRequest", +"properties": {}, +"type": "object" +}, +"CdcConfig": { +"description": "Configuration information to start the Change Data Capture (CDC) streams from customer database to backend database of Dataproc Metastore.", +"id": "CdcConfig", +"properties": { +"bucket": { +"description": "Optional. The bucket to write the intermediate stream event data in. The bucket name must be without any prefix like \"gs://\". See the bucket naming requirements (https://cloud.google.com/storage/docs/buckets#naming). This field is optional. If not set, the Artifacts Cloud Storage bucket will be used.", +"type": "string" +}, +"password": { +"description": "Required. Input only. The password for the user that Datastream service should use for the MySQL connection. This field is not returned on request.", +"type": "string" +}, +"reverseProxySubnet": { +"description": "Required. The URL of the subnetwork resource to create the VM instance hosting the reverse proxy in. More context in https://cloud.google.com/datastream/docs/private-connectivity#reverse-csql-proxy The subnetwork should reside in the network provided in the request that Datastream will peer to and should be in the same region as Datastream, in the following format. projects/{project_id}/regions/{region_id}/subnetworks/{subnetwork_id}", +"type": "string" +}, +"rootPath": { +"description": "Optional. The root path inside the Cloud Storage bucket. The stream event data will be written to this path. The default value is /migration.", +"type": "string" +}, +"subnetIpRange": { +"description": "Required. A /29 CIDR IP range for peering with datastream.", +"type": "string" +}, +"username": { +"description": "Required. The username that the Datastream service should use for the MySQL connection.", +"type": "string" +}, +"vpcNetwork": { +"description": "Required. Fully qualified name of the Cloud SQL instance's VPC network or the shared VPC network that Datastream will peer to, in the following format: projects/{project_id}/locations/global/networks/{network_id}. More context in https://cloud.google.com/datastream/docs/network-connectivity-options#privateconnectivity", +"type": "string" +} +}, +"type": "object" +}, +"CloudSQLConnectionConfig": { +"description": "Configuration information to establish customer database connection before the cutover phase of migration", +"id": "CloudSQLConnectionConfig", +"properties": { +"hiveDatabaseName": { +"description": "Required. The hive database name.", +"type": "string" +}, +"instanceConnectionName": { +"description": "Required. Cloud SQL database connection name (project_id:region:instance_name)", +"type": "string" +}, +"ipAddress": { +"description": "Required. The private IP address of the Cloud SQL instance.", +"type": "string" +}, +"natSubnet": { +"description": "Required. The relative resource name of the subnetwork to be used for Private Service Connect. Note that this cannot be a regular subnet and is used only for NAT. (https://cloud.google.com/vpc/docs/about-vpc-hosted-services#psc-subnets) This subnet is used to publish the SOCKS5 proxy service. The subnet size must be at least /29 and it should reside in a network through which the Cloud SQL instance is accessible. The resource name should be in the format, projects/{project_id}/regions/{region_id}/subnetworks/{subnetwork_id}", +"type": "string" +}, +"password": { +"description": "Required. Input only. The password for the user that Dataproc Metastore service will be using to connect to the database. This field is not returned on request.", +"type": "string" +}, +"port": { +"description": "Required. The network port of the database.", +"format": "int32", +"type": "integer" +}, +"proxySubnet": { +"description": "Required. The relative resource name of the subnetwork to deploy the SOCKS5 proxy service in. The subnetwork should reside in a network through which the Cloud SQL instance is accessible. The resource name should be in the format, projects/{project_id}/regions/{region_id}/subnetworks/{subnetwork_id}", +"type": "string" +}, +"username": { +"description": "Required. The username that Dataproc Metastore service will use to connect to the database.", +"type": "string" +} +}, +"type": "object" +}, +"CloudSQLMigrationConfig": { +"description": "Configuration information for migrating from self-managed hive metastore on Google Cloud using Cloud SQL as the backend database to Dataproc Metastore.", +"id": "CloudSQLMigrationConfig", +"properties": { +"cdcConfig": { +"$ref": "CdcConfig", +"description": "Required. Configuration information to start the Change Data Capture (CDC) streams from customer database to backend database of Dataproc Metastore. Dataproc Metastore switches to using its backend database after the cutover phase of migration." +}, +"cloudSqlConnectionConfig": { +"$ref": "CloudSQLConnectionConfig", +"description": "Required. Configuration information to establish customer database connection before the cutover phase of migration" +} +}, +"type": "object" +}, +"CompleteMigrationRequest": { +"description": "Request message for DataprocMetastore.CompleteMigration.", +"id": "CompleteMigrationRequest", +"properties": {}, +"type": "object" +}, +"Consumer": { +"description": "Contains information of the customer's network configurations.", +"id": "Consumer", +"properties": { +"endpointLocation": { +"description": "Output only. The location of the endpoint URI. Format: projects/{project}/locations/{location}.", +"readOnly": true, +"type": "string" +}, +"endpointUri": { +"description": "Output only. The URI of the endpoint used to access the metastore service.", +"readOnly": true, +"type": "string" +}, +"subnetwork": { +"description": "Immutable. The subnetwork of the customer project from which an IP address is reserved and used as the Dataproc Metastore service's endpoint. It is accessible to hosts in the subnet and to all hosts in a subnet in the same region and same network. There must be at least one IP address available in the subnet's primary range. The subnet is specified in the following form:projects/{project_number}/regions/{region_id}/subnetworks/{subnetwork_id}", +"type": "string" +} +}, +"type": "object" +}, +"CustomRegionMetadata": { +"description": "Metadata about a custom region. This is only populated if the region is a custom region. For single/multi regions, it will be empty.", +"id": "CustomRegionMetadata", +"properties": { +"optionalReadOnlyRegions": { +"description": "The read-only regions for this custom region.", +"items": { +"type": "string" +}, +"type": "array" +}, +"requiredReadWriteRegions": { +"description": "The read-write regions for this custom region.", +"items": { +"type": "string" +}, +"type": "array" +}, +"witnessRegion": { +"description": "The Spanner witness region for this custom region.", +"type": "string" +} +}, +"type": "object" +}, +"DataCatalogConfig": { +"description": "Specifies how metastore metadata should be integrated with the Data Catalog service.", +"id": "DataCatalogConfig", +"properties": { +"enabled": { +"description": "Optional. Defines whether the metastore metadata should be synced to Data Catalog. The default value is to disable syncing metastore metadata to Data Catalog.", +"type": "boolean" +} +}, +"type": "object" +}, +"DatabaseDump": { +"description": "A specification of the location of and metadata about a database dump from a relational database management system.", +"id": "DatabaseDump", +"properties": { +"databaseType": { +"deprecated": true, +"description": "The type of the database.", +"enum": [ +"DATABASE_TYPE_UNSPECIFIED", +"MYSQL" +], +"enumDescriptions": [ +"The type of the source database is unknown.", +"The type of the source database is MySQL." +], +"type": "string" +}, +"gcsUri": { +"description": "A Cloud Storage object or folder URI that specifies the source from which to import metadata. It must begin with gs://.", +"type": "string" +}, +"sourceDatabase": { +"deprecated": true, +"description": "The name of the source database.", +"type": "string" +}, +"type": { +"description": "Optional. The type of the database dump. If unspecified, defaults to MYSQL.", +"enum": [ +"TYPE_UNSPECIFIED", +"MYSQL", +"AVRO" +], +"enumDescriptions": [ +"The type of the database dump is unknown.", +"Database dump is a MySQL dump file.", +"Database dump contains Avro files." +], +"type": "string" +} +}, +"type": "object" +}, +"Empty": { +"description": "A generic empty message that you can re-use to avoid defining duplicated empty messages in your APIs. A typical example is to use it as the request or the response type of an API method. For instance: service Foo { rpc Bar(google.protobuf.Empty) returns (google.protobuf.Empty); } ", +"id": "Empty", +"properties": {}, +"type": "object" +}, +"EncryptionConfig": { +"description": "Encryption settings for the service.", +"id": "EncryptionConfig", +"properties": { +"kmsKey": { +"description": "The fully qualified customer provided Cloud KMS key name to use for customer data encryption, in the following format:projects/{project_number}/locations/{location_id}/keyRings/{key_ring_id}/cryptoKeys/{crypto_key_id}.", +"type": "string" +} +}, +"type": "object" +}, +"ErrorDetails": { +"description": "Error details in public error message for DataprocMetastore.QueryMetadata.", +"id": "ErrorDetails", +"properties": { +"details": { +"additionalProperties": { +"type": "string" +}, +"description": "Additional structured details about this error.Keys define the failure items. Value describes the exception or details of the item.", +"type": "object" +} +}, +"type": "object" +}, +"ExportMetadataRequest": { +"description": "Request message for DataprocMetastore.ExportMetadata.", +"id": "ExportMetadataRequest", +"properties": { +"databaseDumpType": { +"description": "Optional. The type of the database dump. If unspecified, defaults to MYSQL.", +"enum": [ +"TYPE_UNSPECIFIED", +"MYSQL", +"AVRO" +], +"enumDescriptions": [ +"The type of the database dump is unknown.", +"Database dump is a MySQL dump file.", +"Database dump contains Avro files." +], +"type": "string" +}, +"destinationGcsFolder": { +"description": "A Cloud Storage URI of a folder, in the format gs:///. A sub-folder containing exported files will be created below it.", +"type": "string" +}, +"requestId": { +"description": "Optional. A request ID. Specify a unique request ID to allow the server to ignore the request if it has completed. The server will ignore subsequent requests that provide a duplicate request ID for at least 60 minutes after the first request.For example, if an initial request times out, followed by another request with the same request ID, the server ignores the second request to prevent the creation of duplicate commitments.The request ID must be a valid UUID (https://en.wikipedia.org/wiki/Universally_unique_identifier#Format). A zero UUID (00000000-0000-0000-0000-000000000000) is not supported.", +"type": "string" +} +}, +"type": "object" +}, +"Expr": { +"description": "Represents a textual expression in the Common Expression Language (CEL) syntax. CEL is a C-like expression language. The syntax and semantics of CEL are documented at https://github.com/google/cel-spec.Example (Comparison): title: \"Summary size limit\" description: \"Determines if a summary is less than 100 chars\" expression: \"document.summary.size() < 100\" Example (Equality): title: \"Requestor is owner\" description: \"Determines if requestor is the document owner\" expression: \"document.owner == request.auth.claims.email\" Example (Logic): title: \"Public documents\" description: \"Determine whether the document should be publicly visible\" expression: \"document.type != 'private' && document.type != 'internal'\" Example (Data Manipulation): title: \"Notification string\" description: \"Create a notification string with a timestamp.\" expression: \"'New message received at ' + string(document.create_time)\" The exact variables and functions that may be referenced within an expression are determined by the service that evaluates it. See the service documentation for additional information.", +"id": "Expr", +"properties": { +"description": { +"description": "Optional. Description of the expression. This is a longer text which describes the expression, e.g. when hovered over it in a UI.", +"type": "string" +}, +"expression": { +"description": "Textual representation of an expression in Common Expression Language syntax.", +"type": "string" +}, +"location": { +"description": "Optional. String indicating the location of the expression for error reporting, e.g. a file name and a position in the file.", +"type": "string" +}, +"title": { +"description": "Optional. Title for the expression, i.e. a short string describing its purpose. This can be used e.g. in UIs which allow to enter the expression.", +"type": "string" +} +}, +"type": "object" +}, +"Federation": { +"description": "Represents a federation of multiple backend metastores.", +"id": "Federation", +"properties": { +"backendMetastores": { +"additionalProperties": { +"$ref": "BackendMetastore" +}, +"description": "A map from BackendMetastore rank to BackendMetastores from which the federation service serves metadata at query time. The map key represents the order in which BackendMetastores should be evaluated to resolve database names at query time and should be greater than or equal to zero. A BackendMetastore with a lower number will be evaluated before a BackendMetastore with a higher number.", +"type": "object" +}, +"createTime": { +"description": "Output only. The time when the metastore federation was created.", +"format": "google-datetime", +"readOnly": true, +"type": "string" +}, +"endpointUri": { +"description": "Output only. The federation endpoint.", +"readOnly": true, +"type": "string" +}, +"labels": { +"additionalProperties": { +"type": "string" +}, +"description": "User-defined labels for the metastore federation.", +"type": "object" +}, +"name": { +"description": "Immutable. The relative resource name of the federation, of the form: projects/{project_number}/locations/{location_id}/federations/{federation_id}`.", +"type": "string" +}, +"state": { +"description": "Output only. The current state of the federation.", +"enum": [ +"STATE_UNSPECIFIED", +"CREATING", +"ACTIVE", +"UPDATING", +"DELETING", +"ERROR" +], +"enumDescriptions": [ +"The state of the metastore federation is unknown.", +"The metastore federation is in the process of being created.", +"The metastore federation is running and ready to serve queries.", +"The metastore federation is being updated. It remains usable but cannot accept additional update requests or be deleted at this time.", +"The metastore federation is undergoing deletion. It cannot be used.", +"The metastore federation has encountered an error and cannot be used. The metastore federation should be deleted." +], +"readOnly": true, +"type": "string" +}, +"stateMessage": { +"description": "Output only. Additional information about the current state of the metastore federation, if available.", +"readOnly": true, +"type": "string" +}, +"uid": { +"description": "Output only. The globally unique resource identifier of the metastore federation.", +"readOnly": true, +"type": "string" +}, +"updateTime": { +"description": "Output only. The time when the metastore federation was last updated.", +"format": "google-datetime", +"readOnly": true, +"type": "string" +}, +"version": { +"description": "Immutable. The Apache Hive metastore version of the federation. All backend metastore versions must be compatible with the federation version.", +"type": "string" +} +}, +"type": "object" +}, +"HiveMetastoreConfig": { +"description": "Specifies configuration information specific to running Hive metastore software as the metastore service.", +"id": "HiveMetastoreConfig", +"properties": { +"auxiliaryVersions": { +"additionalProperties": { +"$ref": "AuxiliaryVersionConfig" +}, +"description": "A mapping of Hive metastore version to the auxiliary version configuration. When specified, a secondary Hive metastore service is created along with the primary service. All auxiliary versions must be less than the service's primary version. The key is the auxiliary service name and it must match the regular expression a-z?. This means that the first character must be a lowercase letter, and all the following characters must be hyphens, lowercase letters, or digits, except the last character, which cannot be a hyphen.", +"type": "object" +}, +"configOverrides": { +"additionalProperties": { +"type": "string" +}, +"description": "A mapping of Hive metastore configuration key-value pairs to apply to the Hive metastore (configured in hive-site.xml). The mappings override system defaults (some keys cannot be overridden). These overrides are also applied to auxiliary versions and can be further customized in the auxiliary version's AuxiliaryVersionConfig.", +"type": "object" +}, +"endpointProtocol": { +"description": "The protocol to use for the metastore service endpoint. If unspecified, defaults to THRIFT.", +"enum": [ +"ENDPOINT_PROTOCOL_UNSPECIFIED", +"THRIFT", +"GRPC" +], +"enumDescriptions": [ +"The protocol is not set.", +"Use the legacy Apache Thrift protocol for the metastore service endpoint.", +"Use the modernized gRPC protocol for the metastore service endpoint." +], +"type": "string" +}, +"kerberosConfig": { +"$ref": "KerberosConfig", +"description": "Information used to configure the Hive metastore service as a service principal in a Kerberos realm. To disable Kerberos, use the UpdateService method and specify this field's path (hive_metastore_config.kerberos_config) in the request's update_mask while omitting this field from the request's service." +}, +"version": { +"description": "Immutable. The Hive metastore schema version.", +"type": "string" +} +}, +"type": "object" +}, +"HiveMetastoreVersion": { +"description": "A specification of a supported version of the Hive Metastore software.", +"id": "HiveMetastoreVersion", +"properties": { +"isDefault": { +"description": "Whether version will be chosen by the server if a metastore service is created with a HiveMetastoreConfig that omits the version.", +"type": "boolean" +}, +"version": { +"description": "The semantic version of the Hive Metastore software.", +"type": "string" +} +}, +"type": "object" +}, +"KerberosConfig": { +"description": "Configuration information for a Kerberos principal.", +"id": "KerberosConfig", +"properties": { +"keytab": { +"$ref": "Secret", +"description": "A Kerberos keytab file that can be used to authenticate a service principal with a Kerberos Key Distribution Center (KDC)." +}, +"krb5ConfigGcsUri": { +"description": "A Cloud Storage URI that specifies the path to a krb5.conf file. It is of the form gs://{bucket_name}/path/to/krb5.conf, although the file does not need to be named krb5.conf explicitly.", +"type": "string" +}, +"principal": { +"description": "A Kerberos principal that exists in the both the keytab the KDC to authenticate as. A typical principal is of the form primary/instance@REALM, but there is no exact format.", +"type": "string" +} +}, +"type": "object" +}, +"LatestBackup": { +"description": "The details of the latest scheduled backup.", +"id": "LatestBackup", +"properties": { +"backupId": { +"description": "Output only. The ID of an in-progress scheduled backup. Empty if no backup is in progress.", +"readOnly": true, +"type": "string" +}, +"duration": { +"description": "Output only. The duration of the backup completion.", +"format": "google-duration", +"readOnly": true, +"type": "string" +}, +"startTime": { +"description": "Output only. The time when the backup was started.", +"format": "google-datetime", +"readOnly": true, +"type": "string" +}, +"state": { +"description": "Output only. The current state of the backup.", +"enum": [ +"STATE_UNSPECIFIED", +"IN_PROGRESS", +"SUCCEEDED", +"FAILED" +], +"enumDescriptions": [ +"The state of the backup is unknown.", +"The backup is in progress.", +"The backup completed.", +"The backup failed." +], +"readOnly": true, +"type": "string" +} +}, +"type": "object" +}, +"LimitConfig": { +"description": "Represents the autoscaling limit configuration of a metastore service.", +"id": "LimitConfig", +"properties": { +"maxScalingFactor": { +"description": "Optional. The highest scaling factor that the service should be autoscaled to.", +"format": "float", +"type": "number" +}, +"minScalingFactor": { +"description": "Optional. The lowest scaling factor that the service should be autoscaled to.", +"format": "float", +"type": "number" +} +}, +"type": "object" +}, +"ListBackupsResponse": { +"description": "Response message for DataprocMetastore.ListBackups.", +"id": "ListBackupsResponse", +"properties": { +"backups": { +"description": "The backups of the specified service.", +"items": { +"$ref": "Backup" +}, +"type": "array" +}, +"nextPageToken": { +"description": "A token that can be sent as page_token to retrieve the next page. If this field is omitted, there are no subsequent pages.", +"type": "string" +}, +"unreachable": { +"description": "Locations that could not be reached.", +"items": { +"type": "string" +}, +"type": "array" +} +}, +"type": "object" +}, +"ListFederationsResponse": { +"description": "Response message for ListFederations", +"id": "ListFederationsResponse", +"properties": { +"federations": { +"description": "The services in the specified location.", +"items": { +"$ref": "Federation" +}, +"type": "array" +}, +"nextPageToken": { +"description": "A token that can be sent as page_token to retrieve the next page. If this field is omitted, there are no subsequent pages.", +"type": "string" +}, +"unreachable": { +"description": "Locations that could not be reached.", +"items": { +"type": "string" +}, +"type": "array" +} +}, +"type": "object" +}, +"ListLocationsResponse": { +"description": "The response message for Locations.ListLocations.", +"id": "ListLocationsResponse", +"properties": { +"locations": { +"description": "A list of locations that matches the specified filter in the request.", +"items": { +"$ref": "Location" +}, +"type": "array" +}, +"nextPageToken": { +"description": "The standard List next-page token.", +"type": "string" +} +}, +"type": "object" +}, +"ListMetadataImportsResponse": { +"description": "Response message for DataprocMetastore.ListMetadataImports.", +"id": "ListMetadataImportsResponse", +"properties": { +"metadataImports": { +"description": "The imports in the specified service.", +"items": { +"$ref": "MetadataImport" +}, +"type": "array" +}, +"nextPageToken": { +"description": "A token that can be sent as page_token to retrieve the next page. If this field is omitted, there are no subsequent pages.", +"type": "string" +}, +"unreachable": { +"description": "Locations that could not be reached.", +"items": { +"type": "string" +}, +"type": "array" +} +}, +"type": "object" +}, +"ListMigrationExecutionsResponse": { +"description": "Response message for DataprocMetastore.ListMigrationExecutions.", +"id": "ListMigrationExecutionsResponse", +"properties": { +"migrationExecutions": { +"description": "The migration executions on the specified service.", +"items": { +"$ref": "MigrationExecution" +}, +"type": "array" +}, +"nextPageToken": { +"description": "A token that can be sent as page_token to retrieve the next page. If this field is omitted, there are no subsequent pages.", +"type": "string" +}, +"unreachable": { +"description": "Locations that could not be reached.", +"items": { +"type": "string" +}, +"type": "array" +} +}, +"type": "object" +}, +"ListOperationsResponse": { +"description": "The response message for Operations.ListOperations.", +"id": "ListOperationsResponse", +"properties": { +"nextPageToken": { +"description": "The standard List next-page token.", +"type": "string" +}, +"operations": { +"description": "A list of operations that matches the specified filter in the request.", +"items": { +"$ref": "Operation" +}, +"type": "array" +} +}, +"type": "object" +}, +"ListServicesResponse": { +"description": "Response message for DataprocMetastore.ListServices.", +"id": "ListServicesResponse", +"properties": { +"nextPageToken": { +"description": "A token that can be sent as page_token to retrieve the next page. If this field is omitted, there are no subsequent pages.", +"type": "string" +}, +"services": { +"description": "The services in the specified location.", +"items": { +"$ref": "Service" +}, +"type": "array" +}, +"unreachable": { +"description": "Locations that could not be reached.", +"items": { +"type": "string" +}, +"type": "array" +} +}, +"type": "object" +}, +"Location": { +"description": "A resource that represents a Google Cloud location.", +"id": "Location", +"properties": { +"displayName": { +"description": "The friendly name for this location, typically a nearby city name. For example, \"Tokyo\".", +"type": "string" +}, +"labels": { +"additionalProperties": { +"type": "string" +}, +"description": "Cross-service attributes for the location. For example {\"cloud.googleapis.com/region\": \"us-east1\"} ", +"type": "object" +}, +"locationId": { +"description": "The canonical id for this location. For example: \"us-east1\".", +"type": "string" +}, +"metadata": { +"additionalProperties": { +"description": "Properties of the object. Contains field @type with type URL.", +"type": "any" +}, +"description": "Service-specific metadata. For example the available capacity at the given location.", +"type": "object" +}, +"name": { +"description": "Resource name for the location, which may vary between implementations. For example: \"projects/example-project/locations/us-east1\"", +"type": "string" +} +}, +"type": "object" +}, +"LocationMetadata": { +"description": "Metadata about the service in a location.", +"id": "LocationMetadata", +"properties": { +"customRegionMetadata": { +"description": "Possible configurations supported if the current region is a custom region.", +"items": { +"$ref": "CustomRegionMetadata" +}, +"type": "array" +}, +"multiRegionMetadata": { +"$ref": "MultiRegionMetadata", +"description": "The multi-region metadata if the current region is a multi-region." +}, +"supportedHiveMetastoreVersions": { +"description": "The versions of Hive Metastore that can be used when creating a new metastore service in this location. The server guarantees that exactly one HiveMetastoreVersion in the list will set is_default.", +"items": { +"$ref": "HiveMetastoreVersion" +}, +"type": "array" +} +}, +"type": "object" +}, +"MaintenanceWindow": { +"description": "Maintenance window. This specifies when Dataproc Metastore may perform system maintenance operation to the service.", +"id": "MaintenanceWindow", +"properties": { +"dayOfWeek": { +"description": "The day of week, when the window starts.", +"enum": [ +"DAY_OF_WEEK_UNSPECIFIED", +"MONDAY", +"TUESDAY", +"WEDNESDAY", +"THURSDAY", +"FRIDAY", +"SATURDAY", +"SUNDAY" +], +"enumDescriptions": [ +"The day of the week is unspecified.", +"Monday", +"Tuesday", +"Wednesday", +"Thursday", +"Friday", +"Saturday", +"Sunday" +], +"type": "string" +}, +"hourOfDay": { +"description": "The hour of day (0-23) when the window starts.", +"format": "int32", +"type": "integer" +} +}, +"type": "object" +}, +"MetadataExport": { +"description": "The details of a metadata export operation.", +"id": "MetadataExport", +"properties": { +"databaseDumpType": { +"description": "Output only. The type of the database dump.", +"enum": [ +"TYPE_UNSPECIFIED", +"MYSQL", +"AVRO" +], +"enumDescriptions": [ +"The type of the database dump is unknown.", +"Database dump is a MySQL dump file.", +"Database dump contains Avro files." +], +"readOnly": true, +"type": "string" +}, +"destinationGcsUri": { +"description": "Output only. A Cloud Storage URI of a folder that metadata are exported to, in the form of gs:////, where is automatically generated.", +"readOnly": true, +"type": "string" +}, +"endTime": { +"description": "Output only. The time when the export ended.", +"format": "google-datetime", +"readOnly": true, +"type": "string" +}, +"startTime": { +"description": "Output only. The time when the export started.", +"format": "google-datetime", +"readOnly": true, +"type": "string" +}, +"state": { +"description": "Output only. The current state of the export.", +"enum": [ +"STATE_UNSPECIFIED", +"RUNNING", +"SUCCEEDED", +"FAILED", +"CANCELLED" +], +"enumDescriptions": [ +"The state of the metadata export is unknown.", +"The metadata export is running.", +"The metadata export completed successfully.", +"The metadata export failed.", +"The metadata export is cancelled." +], +"readOnly": true, +"type": "string" +} +}, +"type": "object" +}, +"MetadataImport": { +"description": "A metastore resource that imports metadata.", +"id": "MetadataImport", +"properties": { +"createTime": { +"description": "Output only. The time when the metadata import was started.", +"format": "google-datetime", +"readOnly": true, +"type": "string" +}, +"databaseDump": { +"$ref": "DatabaseDump", +"description": "Immutable. A database dump from a pre-existing metastore's database." +}, +"description": { +"description": "The description of the metadata import.", +"type": "string" +}, +"endTime": { +"description": "Output only. The time when the metadata import finished.", +"format": "google-datetime", +"readOnly": true, +"type": "string" +}, +"name": { +"description": "Immutable. The relative resource name of the metadata import, of the form:projects/{project_number}/locations/{location_id}/services/{service_id}/metadataImports/{metadata_import_id}.", +"type": "string" +}, +"state": { +"description": "Output only. The current state of the metadata import.", +"enum": [ +"STATE_UNSPECIFIED", +"RUNNING", +"SUCCEEDED", +"UPDATING", +"FAILED" +], +"enumDescriptions": [ +"The state of the metadata import is unknown.", +"The metadata import is running.", +"The metadata import completed successfully.", +"The metadata import is being updated.", +"The metadata import failed, and attempted metadata changes were rolled back." +], +"readOnly": true, +"type": "string" +}, +"updateTime": { +"description": "Output only. The time when the metadata import was last updated.", +"format": "google-datetime", +"readOnly": true, +"type": "string" +} +}, +"type": "object" +}, +"MetadataIntegration": { +"description": "Specifies how metastore metadata should be integrated with external services.", +"id": "MetadataIntegration", +"properties": { +"dataCatalogConfig": { +"$ref": "DataCatalogConfig", +"description": "Optional. The integration config for the Data Catalog service." +} +}, +"type": "object" +}, +"MetadataManagementActivity": { +"description": "The metadata management activities of the metastore service.", +"id": "MetadataManagementActivity", +"properties": { +"metadataExports": { +"description": "Output only. The latest metadata exports of the metastore service.", +"items": { +"$ref": "MetadataExport" +}, +"readOnly": true, +"type": "array" +}, +"restores": { +"description": "Output only. The latest restores of the metastore service.", +"items": { +"$ref": "Restore" +}, +"readOnly": true, +"type": "array" +} +}, +"type": "object" +}, +"MigrationExecution": { +"description": "The details of a migration execution resource.", +"id": "MigrationExecution", +"properties": { +"cloudSqlMigrationConfig": { +"$ref": "CloudSQLMigrationConfig", +"description": "Configuration information specific to migrating from self-managed hive metastore on Google Cloud using Cloud SQL as the backend database to Dataproc Metastore." +}, +"createTime": { +"description": "Output only. The time when the migration execution was started.", +"format": "google-datetime", +"readOnly": true, +"type": "string" +}, +"endTime": { +"description": "Output only. The time when the migration execution finished.", +"format": "google-datetime", +"readOnly": true, +"type": "string" +}, +"name": { +"description": "Output only. The relative resource name of the migration execution, in the following form: projects/{project_number}/locations/{location_id}/services/{service_id}/migrationExecutions/{migration_execution_id}", +"readOnly": true, +"type": "string" +}, +"phase": { +"description": "Output only. The current phase of the migration execution.", +"enum": [ +"PHASE_UNSPECIFIED", +"REPLICATION", +"CUTOVER" +], +"enumDescriptions": [ +"The phase of the migration execution is unknown.", +"Replication phase refers to the migration phase when Dataproc Metastore is running a pipeline to replicate changes in the customer database to its backend database. During this phase, Dataproc Metastore uses the customer database as the hive metastore backend database.", +"Cutover phase refers to the migration phase when Dataproc Metastore switches to using its own backend database. Migration enters this phase when customer is done migrating all their clusters/workloads to Dataproc Metastore and triggers CompleteMigration." +], +"readOnly": true, +"type": "string" +}, +"state": { +"description": "Output only. The current state of the migration execution.", +"enum": [ +"STATE_UNSPECIFIED", +"STARTING", +"RUNNING", +"CANCELLING", +"AWAITING_USER_ACTION", +"SUCCEEDED", +"FAILED", +"CANCELLED", +"DELETING" +], +"enumDescriptions": [ +"The state of the migration execution is unknown.", +"The migration execution is starting.", +"The migration execution is running.", +"The migration execution is in the process of being cancelled.", +"The migration execution is awaiting user action.", +"The migration execution has completed successfully.", +"The migration execution has failed.", +"The migration execution is cancelled.", +"The migration execution is being deleted." +], +"readOnly": true, +"type": "string" +}, +"stateMessage": { +"description": "Output only. Additional information about the current state of the migration execution.", +"readOnly": true, +"type": "string" +} +}, +"type": "object" +}, +"MoveTableToDatabaseRequest": { +"description": "Request message for DataprocMetastore.MoveTableToDatabase.", +"id": "MoveTableToDatabaseRequest", +"properties": { +"dbName": { +"description": "Required. The name of the database where the table resides.", +"type": "string" +}, +"destinationDbName": { +"description": "Required. The name of the database where the table should be moved.", +"type": "string" +}, +"tableName": { +"description": "Required. The name of the table to be moved.", +"type": "string" +} +}, +"type": "object" +}, +"MoveTableToDatabaseResponse": { +"description": "Response message for DataprocMetastore.MoveTableToDatabase.", +"id": "MoveTableToDatabaseResponse", +"properties": {}, +"type": "object" +}, +"MultiRegionMetadata": { +"description": "The metadata for the multi-region that includes the constituent regions. The metadata is only populated if the region is multi-region. For single region or custom dual region, it will be empty.", +"id": "MultiRegionMetadata", +"properties": { +"constituentRegions": { +"description": "The regions constituting the multi-region.", +"items": { +"type": "string" +}, +"type": "array" +} +}, +"type": "object" +}, +"NetworkConfig": { +"description": "Network configuration for the Dataproc Metastore service.", +"id": "NetworkConfig", +"properties": { +"consumers": { +"description": "Immutable. The consumer-side network configuration for the Dataproc Metastore instance.", +"items": { +"$ref": "Consumer" +}, +"type": "array" +} +}, +"type": "object" +}, +"Operation": { +"description": "This resource represents a long-running operation that is the result of a network API call.", +"id": "Operation", +"properties": { +"done": { +"description": "If the value is false, it means the operation is still in progress. If true, the operation is completed, and either error or response is available.", +"type": "boolean" +}, +"error": { +"$ref": "Status", +"description": "The error result of the operation in case of failure or cancellation." +}, +"metadata": { +"additionalProperties": { +"description": "Properties of the object. Contains field @type with type URL.", +"type": "any" +}, +"description": "Service-specific metadata associated with the operation. It typically contains progress information and common metadata such as create time. Some services might not provide such metadata. Any method that returns a long-running operation should document the metadata type, if any.", +"type": "object" +}, +"name": { +"description": "The server-assigned name, which is only unique within the same service that originally returns it. If you use the default HTTP mapping, the name should be a resource name ending with operations/{unique_id}.", +"type": "string" +}, +"response": { +"additionalProperties": { +"description": "Properties of the object. Contains field @type with type URL.", +"type": "any" +}, +"description": "The normal, successful response of the operation. If the original method returns no data on success, such as Delete, the response is google.protobuf.Empty. If the original method is standard Get/Create/Update, the response should be the resource. For other methods, the response should have the type XxxResponse, where Xxx is the original method name. For example, if the original method name is TakeSnapshot(), the inferred response type is TakeSnapshotResponse.", +"type": "object" +} +}, +"type": "object" +}, +"OperationMetadata": { +"description": "Represents the metadata of a long-running operation.", +"id": "OperationMetadata", +"properties": { +"apiVersion": { +"description": "Output only. API version used to start the operation.", +"readOnly": true, +"type": "string" +}, +"createTime": { +"description": "Output only. The time the operation was created.", +"format": "google-datetime", +"readOnly": true, +"type": "string" +}, +"endTime": { +"description": "Output only. The time the operation finished running.", +"format": "google-datetime", +"readOnly": true, +"type": "string" +}, +"requestedCancellation": { +"description": "Output only. Identifies whether the caller has requested cancellation of the operation. Operations that have successfully been cancelled have google.longrunning.Operation.error value with a google.rpc.Status.code of 1, corresponding to Code.CANCELLED.", +"readOnly": true, +"type": "boolean" +}, +"statusMessage": { +"description": "Output only. Human-readable status of the operation, if any.", +"readOnly": true, +"type": "string" +}, +"target": { +"description": "Output only. Server-defined resource path for the target of the operation.", +"readOnly": true, +"type": "string" +}, +"verb": { +"description": "Output only. Name of the verb executed by the operation.", +"readOnly": true, +"type": "string" +} +}, +"type": "object" +}, +"Policy": { +"description": "An Identity and Access Management (IAM) policy, which specifies access controls for Google Cloud resources.A Policy is a collection of bindings. A binding binds one or more members, or principals, to a single role. Principals can be user accounts, service accounts, Google groups, and domains (such as G Suite). A role is a named list of permissions; each role can be an IAM predefined role or a user-created custom role.For some types of Google Cloud resources, a binding can also specify a condition, which is a logical expression that allows access to a resource only if the expression evaluates to true. A condition can add constraints based on attributes of the request, the resource, or both. To learn which resources support conditions in their IAM policies, see the IAM documentation (https://cloud.google.com/iam/help/conditions/resource-policies).JSON example: { \"bindings\": [ { \"role\": \"roles/resourcemanager.organizationAdmin\", \"members\": [ \"user:mike@example.com\", \"group:admins@example.com\", \"domain:google.com\", \"serviceAccount:my-project-id@appspot.gserviceaccount.com\" ] }, { \"role\": \"roles/resourcemanager.organizationViewer\", \"members\": [ \"user:eve@example.com\" ], \"condition\": { \"title\": \"expirable access\", \"description\": \"Does not grant access after Sep 2020\", \"expression\": \"request.time < timestamp('2020-10-01T00:00:00.000Z')\", } } ], \"etag\": \"BwWWja0YfJA=\", \"version\": 3 } YAML example: bindings: - members: - user:mike@example.com - group:admins@example.com - domain:google.com - serviceAccount:my-project-id@appspot.gserviceaccount.com role: roles/resourcemanager.organizationAdmin - members: - user:eve@example.com role: roles/resourcemanager.organizationViewer condition: title: expirable access description: Does not grant access after Sep 2020 expression: request.time < timestamp('2020-10-01T00:00:00.000Z') etag: BwWWja0YfJA= version: 3 For a description of IAM and its features, see the IAM documentation (https://cloud.google.com/iam/docs/).", +"id": "Policy", +"properties": { +"auditConfigs": { +"description": "Specifies cloud audit logging configuration for this policy.", +"items": { +"$ref": "AuditConfig" +}, +"type": "array" +}, +"bindings": { +"description": "Associates a list of members, or principals, with a role. Optionally, may specify a condition that determines how and when the bindings are applied. Each of the bindings must contain at least one principal.The bindings in a Policy can refer to up to 1,500 principals; up to 250 of these principals can be Google groups. Each occurrence of a principal counts towards these limits. For example, if the bindings grant 50 different roles to user:alice@example.com, and not to any other principal, then you can add another 1,450 principals to the bindings in the Policy.", +"items": { +"$ref": "Binding" +}, +"type": "array" +}, +"etag": { +"description": "etag is used for optimistic concurrency control as a way to help prevent simultaneous updates of a policy from overwriting each other. It is strongly suggested that systems make use of the etag in the read-modify-write cycle to perform policy updates in order to avoid race conditions: An etag is returned in the response to getIamPolicy, and systems are expected to put that etag in the request to setIamPolicy to ensure that their change will be applied to the same version of the policy.Important: If you use IAM Conditions, you must include the etag field whenever you call setIamPolicy. If you omit this field, then IAM allows you to overwrite a version 3 policy with a version 1 policy, and all of the conditions in the version 3 policy are lost.", +"format": "byte", +"type": "string" +}, +"version": { +"description": "Specifies the format of the policy.Valid values are 0, 1, and 3. Requests that specify an invalid value are rejected.Any operation that affects conditional role bindings must specify version 3. This requirement applies to the following operations: Getting a policy that includes a conditional role binding Adding a conditional role binding to a policy Changing a conditional role binding in a policy Removing any role binding, with or without a condition, from a policy that includes conditionsImportant: If you use IAM Conditions, you must include the etag field whenever you call setIamPolicy. If you omit this field, then IAM allows you to overwrite a version 3 policy with a version 1 policy, and all of the conditions in the version 3 policy are lost.If a policy does not include any conditions, operations on that policy may specify any valid version or leave the field unset.To learn which resources support conditions in their IAM policies, see the IAM documentation (https://cloud.google.com/iam/help/conditions/resource-policies).", +"format": "int32", +"type": "integer" +} +}, +"type": "object" +}, +"QueryMetadataRequest": { +"description": "Request message for DataprocMetastore.QueryMetadata.", +"id": "QueryMetadataRequest", +"properties": { +"query": { +"description": "Required. A read-only SQL query to execute against the metadata database. The query cannot change or mutate the data.", +"type": "string" +} +}, +"type": "object" +}, +"QueryMetadataResponse": { +"description": "Response message for DataprocMetastore.QueryMetadata.", +"id": "QueryMetadataResponse", +"properties": { +"resultManifestUri": { +"description": "The manifest URI is link to a JSON instance in Cloud Storage. This instance manifests immediately along with QueryMetadataResponse. The content of the URI is not retriable until the long-running operation query against the metadata finishes.", +"type": "string" +} +}, +"type": "object" +}, +"Restore": { +"description": "The details of a metadata restore operation.", +"id": "Restore", +"properties": { +"backup": { +"description": "Output only. The relative resource name of the metastore service backup to restore from, in the following form:projects/{project_id}/locations/{location_id}/services/{service_id}/backups/{backup_id}.", +"readOnly": true, +"type": "string" +}, +"backupLocation": { +"description": "Optional. A Cloud Storage URI specifying where the backup artifacts are stored, in the format gs:///.", +"type": "string" +}, +"details": { +"description": "Output only. The restore details containing the revision of the service to be restored to, in format of JSON.", +"readOnly": true, +"type": "string" +}, +"endTime": { +"description": "Output only. The time when the restore ended.", +"format": "google-datetime", +"readOnly": true, +"type": "string" +}, +"startTime": { +"description": "Output only. The time when the restore started.", +"format": "google-datetime", +"readOnly": true, +"type": "string" +}, +"state": { +"description": "Output only. The current state of the restore.", +"enum": [ +"STATE_UNSPECIFIED", +"RUNNING", +"SUCCEEDED", +"FAILED", +"CANCELLED" +], +"enumDescriptions": [ +"The state of the metadata restore is unknown.", +"The metadata restore is running.", +"The metadata restore completed successfully.", +"The metadata restore failed.", +"The metadata restore is cancelled." +], +"readOnly": true, +"type": "string" +}, +"type": { +"description": "Output only. The type of restore.", +"enum": [ +"RESTORE_TYPE_UNSPECIFIED", +"FULL", +"METADATA_ONLY" +], +"enumDescriptions": [ +"The restore type is unknown.", +"The service's metadata and configuration are restored.", +"Only the service's metadata is restored." +], +"readOnly": true, +"type": "string" +} +}, +"type": "object" +}, +"RestoreServiceRequest": { +"description": "Request message for DataprocMetastore.RestoreService.", +"id": "RestoreServiceRequest", +"properties": { +"backup": { +"description": "Optional. The relative resource name of the metastore service backup to restore from, in the following form:projects/{project_id}/locations/{location_id}/services/{service_id}/backups/{backup_id}. Mutually exclusive with backup_location, and exactly one of the two must be set.", +"type": "string" +}, +"backupLocation": { +"description": "Optional. A Cloud Storage URI specifying the location of the backup artifacts, namely - backup avro files under \"avro/\", backup_metastore.json and service.json, in the following form:gs://. Mutually exclusive with backup, and exactly one of the two must be set.", +"type": "string" +}, +"requestId": { +"description": "Optional. A request ID. Specify a unique request ID to allow the server to ignore the request if it has completed. The server will ignore subsequent requests that provide a duplicate request ID for at least 60 minutes after the first request.For example, if an initial request times out, followed by another request with the same request ID, the server ignores the second request to prevent the creation of duplicate commitments.The request ID must be a valid UUID (https://en.wikipedia.org/wiki/Universally_unique_identifier#Format). A zero UUID (00000000-0000-0000-0000-000000000000) is not supported.", +"type": "string" +}, +"restoreType": { +"description": "Optional. The type of restore. If unspecified, defaults to METADATA_ONLY.", +"enum": [ +"RESTORE_TYPE_UNSPECIFIED", +"FULL", +"METADATA_ONLY" +], +"enumDescriptions": [ +"The restore type is unknown.", +"The service's metadata and configuration are restored.", +"Only the service's metadata is restored." +], +"type": "string" +} +}, +"type": "object" +}, +"ScalingConfig": { +"description": "Represents the scaling configuration of a metastore service.", +"id": "ScalingConfig", +"properties": { +"autoscalingConfig": { +"$ref": "AutoscalingConfig", +"description": "Optional. The autoscaling configuration." +}, +"instanceSize": { +"description": "An enum of readable instance sizes, with each instance size mapping to a float value (e.g. InstanceSize.EXTRA_SMALL = scaling_factor(0.1))", +"enum": [ +"INSTANCE_SIZE_UNSPECIFIED", +"EXTRA_SMALL", +"SMALL", +"MEDIUM", +"LARGE", +"EXTRA_LARGE" +], +"enumDescriptions": [ +"Unspecified instance size", +"Extra small instance size, maps to a scaling factor of 0.1.", +"Small instance size, maps to a scaling factor of 0.5.", +"Medium instance size, maps to a scaling factor of 1.0.", +"Large instance size, maps to a scaling factor of 3.0.", +"Extra large instance size, maps to a scaling factor of 6.0." +], +"type": "string" +}, +"scalingFactor": { +"description": "Scaling factor, increments of 0.1 for values less than 1.0, and increments of 1.0 for values greater than 1.0.", +"format": "float", +"type": "number" +} +}, +"type": "object" +}, +"ScheduledBackup": { +"description": "This specifies the configuration of scheduled backup.", +"id": "ScheduledBackup", +"properties": { +"backupLocation": { +"description": "Optional. A Cloud Storage URI of a folder, in the format gs:///. A sub-folder containing backup files will be stored below it.", +"type": "string" +}, +"cronSchedule": { +"description": "Optional. The scheduled interval in Cron format, see https://en.wikipedia.org/wiki/Cron The default is empty: scheduled backup is not enabled. Must be specified to enable scheduled backups.", +"type": "string" +}, +"enabled": { +"description": "Optional. Defines whether the scheduled backup is enabled. The default value is false.", +"type": "boolean" +}, +"latestBackup": { +"$ref": "LatestBackup", +"description": "Output only. The details of the latest scheduled backup.", +"readOnly": true +}, +"nextScheduledTime": { +"description": "Output only. The time when the next backups execution is scheduled to start.", +"format": "google-datetime", +"readOnly": true, +"type": "string" +}, +"timeZone": { +"description": "Optional. Specifies the time zone to be used when interpreting cron_schedule. Must be a time zone name from the time zone database (https://en.wikipedia.org/wiki/List_of_tz_database_time_zones), e.g. America/Los_Angeles or Africa/Abidjan. If left unspecified, the default is UTC.", +"type": "string" +} +}, +"type": "object" +}, +"Secret": { +"description": "A securely stored value.", +"id": "Secret", +"properties": { +"cloudSecret": { +"description": "The relative resource name of a Secret Manager secret version, in the following form:projects/{project_number}/secrets/{secret_id}/versions/{version_id}.", +"type": "string" +} +}, +"type": "object" +}, +"Service": { +"description": "A managed metastore service that serves metadata queries.", +"id": "Service", +"properties": { +"artifactGcsUri": { +"description": "Output only. A Cloud Storage URI (starting with gs://) that specifies where artifacts related to the metastore service are stored.", +"readOnly": true, +"type": "string" +}, +"createTime": { +"description": "Output only. The time when the metastore service was created.", +"format": "google-datetime", +"readOnly": true, +"type": "string" +}, +"databaseType": { +"description": "Immutable. The database type that the Metastore service stores its data.", +"enum": [ +"DATABASE_TYPE_UNSPECIFIED", +"MYSQL", +"SPANNER" +], +"enumDescriptions": [ +"The DATABASE_TYPE is not set.", +"MySQL is used to persist the metastore data.", +"Spanner is used to persist the metastore data." +], +"type": "string" +}, +"deletionProtection": { +"description": "Optional. Indicates if the dataproc metastore should be protected against accidental deletions.", +"type": "boolean" +}, +"encryptionConfig": { +"$ref": "EncryptionConfig", +"description": "Immutable. Information used to configure the Dataproc Metastore service to encrypt customer data at rest. Cannot be updated." +}, +"endpointUri": { +"description": "Output only. The URI of the endpoint used to access the metastore service.", +"readOnly": true, +"type": "string" +}, +"hiveMetastoreConfig": { +"$ref": "HiveMetastoreConfig", +"description": "Configuration information specific to running Hive metastore software as the metastore service." +}, +"labels": { +"additionalProperties": { +"type": "string" +}, +"description": "User-defined labels for the metastore service.", +"type": "object" +}, +"maintenanceWindow": { +"$ref": "MaintenanceWindow", +"description": "The one hour maintenance window of the metastore service. This specifies when the service can be restarted for maintenance purposes in UTC time. Maintenance window is not needed for services with the SPANNER database type." +}, +"metadataIntegration": { +"$ref": "MetadataIntegration", +"description": "Optional. The setting that defines how metastore metadata should be integrated with external services and systems." +}, +"metadataManagementActivity": { +"$ref": "MetadataManagementActivity", +"description": "Output only. The metadata management activities of the metastore service.", +"readOnly": true +}, +"name": { +"description": "Immutable. The relative resource name of the metastore service, in the following format:projects/{project_number}/locations/{location_id}/services/{service_id}.", +"type": "string" +}, +"network": { +"description": "Immutable. The relative resource name of the VPC network on which the instance can be accessed. It is specified in the following form:projects/{project_number}/global/networks/{network_id}.", +"type": "string" +}, +"networkConfig": { +"$ref": "NetworkConfig", +"description": "The configuration specifying the network settings for the Dataproc Metastore service." +}, +"port": { +"description": "The TCP port at which the metastore service is reached. Default: 9083.", +"format": "int32", +"type": "integer" +}, +"releaseChannel": { +"description": "Immutable. The release channel of the service. If unspecified, defaults to STABLE.", +"enum": [ +"RELEASE_CHANNEL_UNSPECIFIED", +"CANARY", +"STABLE" +], +"enumDescriptions": [ +"Release channel is not specified.", +"The CANARY release channel contains the newest features, which may be unstable and subject to unresolved issues with no known workarounds. Services using the CANARY release channel are not subject to any SLAs.", +"The STABLE release channel contains features that are considered stable and have been validated for production use." +], +"type": "string" +}, +"scalingConfig": { +"$ref": "ScalingConfig", +"description": "Scaling configuration of the metastore service." +}, +"scheduledBackup": { +"$ref": "ScheduledBackup", +"description": "Optional. The configuration of scheduled backup for the metastore service." +}, +"state": { +"description": "Output only. The current state of the metastore service.", +"enum": [ +"STATE_UNSPECIFIED", +"CREATING", +"ACTIVE", +"SUSPENDING", +"SUSPENDED", +"UPDATING", +"DELETING", +"ERROR", +"AUTOSCALING", +"MIGRATING" +], +"enumDescriptions": [ +"The state of the metastore service is unknown.", +"The metastore service is in the process of being created.", +"The metastore service is running and ready to serve queries.", +"The metastore service is entering suspension. Its query-serving availability may cease unexpectedly.", +"The metastore service is suspended and unable to serve queries.", +"The metastore service is being updated. It remains usable but cannot accept additional update requests or be deleted at this time.", +"The metastore service is undergoing deletion. It cannot be used.", +"The metastore service has encountered an error and cannot be used. The metastore service should be deleted.", +"The Dataproc Metastore service 2 is being scaled up or down.", +"The metastore service is processing a managed migration." +], +"readOnly": true, +"type": "string" +}, +"stateMessage": { +"description": "Output only. Additional information about the current state of the metastore service, if available.", +"readOnly": true, +"type": "string" +}, +"telemetryConfig": { +"$ref": "TelemetryConfig", +"description": "The configuration specifying telemetry settings for the Dataproc Metastore service. If unspecified defaults to JSON." +}, +"tier": { +"description": "The tier of the service.", +"enum": [ +"TIER_UNSPECIFIED", +"DEVELOPER", +"ENTERPRISE" +], +"enumDescriptions": [ +"The tier is not set.", +"The developer tier provides limited scalability and no fault tolerance. Good for low-cost proof-of-concept.", +"The enterprise tier provides multi-zone high availability, and sufficient scalability for enterprise-level Dataproc Metastore workloads." +], +"type": "string" +}, +"uid": { +"description": "Output only. The globally unique resource identifier of the metastore service.", +"readOnly": true, +"type": "string" +}, +"updateTime": { +"description": "Output only. The time when the metastore service was last updated.", +"format": "google-datetime", +"readOnly": true, +"type": "string" +} +}, +"type": "object" +}, +"SetIamPolicyRequest": { +"description": "Request message for SetIamPolicy method.", +"id": "SetIamPolicyRequest", +"properties": { +"policy": { +"$ref": "Policy", +"description": "REQUIRED: The complete policy to be applied to the resource. The size of the policy is limited to a few 10s of KB. An empty policy is a valid policy but certain Google Cloud services (such as Projects) might reject them." +}, +"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" +} +}, +"type": "object" +}, +"StartMigrationRequest": { +"description": "Request message for DataprocMetastore.StartMigration.", +"id": "StartMigrationRequest", +"properties": { +"migrationExecution": { +"$ref": "MigrationExecution", +"description": "Required. The configuration details for the migration." +}, +"requestId": { +"description": "Optional. A request ID. Specify a unique request ID to allow the server to ignore the request if it has completed. The server will ignore subsequent requests that provide a duplicate request ID for at least 60 minutes after the first request.For example, if an initial request times out, followed by another request with the same request ID, the server ignores the second request to prevent the creation of duplicate commitments.The request ID must be a valid UUID (https://en.wikipedia.org/wiki/Universally_unique_identifier#Format) A zero UUID (00000000-0000-0000-0000-000000000000) is not supported.", +"type": "string" +} +}, +"type": "object" +}, +"Status": { +"description": "The Status type defines a logical error model that is suitable for different programming environments, including REST APIs and RPC APIs. It is used by gRPC (https://github.com/grpc). Each Status message contains three pieces of data: error code, error message, and error details.You can find out more about this error model and how to work with it in the API Design Guide (https://cloud.google.com/apis/design/errors).", +"id": "Status", +"properties": { +"code": { +"description": "The status code, which should be an enum value of google.rpc.Code.", +"format": "int32", +"type": "integer" +}, +"details": { +"description": "A list of messages that carry the error details. There is a common set of message types for APIs to use.", +"items": { +"additionalProperties": { +"description": "Properties of the object. Contains field @type with type URL.", +"type": "any" +}, +"type": "object" +}, +"type": "array" +}, +"message": { +"description": "A developer-facing error message, which should be in English. Any user-facing error message should be localized and sent in the google.rpc.Status.details field, or localized by the client.", +"type": "string" +} +}, +"type": "object" +}, +"TelemetryConfig": { +"description": "Telemetry Configuration for the Dataproc Metastore service.", +"id": "TelemetryConfig", +"properties": { +"logFormat": { +"description": "The output format of the Dataproc Metastore service's logs.", +"enum": [ +"LOG_FORMAT_UNSPECIFIED", +"LEGACY", +"JSON" +], +"enumDescriptions": [ +"The LOG_FORMAT is not set.", +"Logging output uses the legacy textPayload format.", +"Logging output uses the jsonPayload format." +], +"type": "string" +} +}, +"type": "object" +}, +"TestIamPermissionsRequest": { +"description": "Request message for TestIamPermissions method.", +"id": "TestIamPermissionsRequest", +"properties": { +"permissions": { +"description": "The set of permissions to check for the resource. Permissions with wildcards (such as * or storage.*) are not allowed. For more information see IAM Overview (https://cloud.google.com/iam/docs/overview#permissions).", +"items": { +"type": "string" +}, +"type": "array" +} +}, +"type": "object" +}, +"TestIamPermissionsResponse": { +"description": "Response message for TestIamPermissions method.", +"id": "TestIamPermissionsResponse", +"properties": { +"permissions": { +"description": "A subset of TestPermissionsRequest.permissions that the caller is allowed.", +"items": { +"type": "string" +}, +"type": "array" +} +}, +"type": "object" +} +}, +"servicePath": "", +"title": "Dataproc Metastore API", +"version": "v1", +"version_module": true +} \ No newline at end of file diff --git a/.venv/lib/python3.11/site-packages/googleapiclient/discovery_cache/documents/migrationcenter.v1.json b/.venv/lib/python3.11/site-packages/googleapiclient/discovery_cache/documents/migrationcenter.v1.json new file mode 100644 index 0000000000000000000000000000000000000000..add6d78d74563590de7e1cb0a31947dc5424855d --- /dev/null +++ b/.venv/lib/python3.11/site-packages/googleapiclient/discovery_cache/documents/migrationcenter.v1.json @@ -0,0 +1,7028 @@ +{ +"auth": { +"oauth2": { +"scopes": { +"https://www.googleapis.com/auth/cloud-platform": { +"description": "See, edit, configure, and delete your Google Cloud data and see the email address for your Google Account." +} +} +} +}, +"basePath": "", +"baseUrl": "https://migrationcenter.googleapis.com/", +"batchPath": "batch", +"canonicalName": "Migration Center API", +"description": "A unified platform that helps you accelerate your end-to-end cloud journey from your current on-premises or cloud environments to Google Cloud.", +"discoveryVersion": "v1", +"documentationLink": "https://cloud.google.com/migration-center", +"fullyEncodeReservedExpansion": true, +"icons": { +"x16": "http://www.google.com/images/icons/product/search-16.gif", +"x32": "http://www.google.com/images/icons/product/search-32.gif" +}, +"id": "migrationcenter:v1", +"kind": "discovery#restDescription", +"mtlsRootUrl": "https://migrationcenter.mtls.googleapis.com/", +"name": "migrationcenter", +"ownerDomain": "google.com", +"ownerName": "Google", +"parameters": { +"$.xgafv": { +"description": "V1 error format.", +"enum": [ +"1", +"2" +], +"enumDescriptions": [ +"v1 error format", +"v2 error format" +], +"location": "query", +"type": "string" +}, +"access_token": { +"description": "OAuth access token.", +"location": "query", +"type": "string" +}, +"alt": { +"default": "json", +"description": "Data format for response.", +"enum": [ +"json", +"media", +"proto" +], +"enumDescriptions": [ +"Responses with Content-Type of application/json", +"Media download with context-dependent Content-Type", +"Responses with Content-Type of application/x-protobuf" +], +"location": "query", +"type": "string" +}, +"callback": { +"description": "JSONP", +"location": "query", +"type": "string" +}, +"fields": { +"description": "Selector specifying which fields to include in a partial response.", +"location": "query", +"type": "string" +}, +"key": { +"description": "API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token.", +"location": "query", +"type": "string" +}, +"oauth_token": { +"description": "OAuth 2.0 token for the current user.", +"location": "query", +"type": "string" +}, +"prettyPrint": { +"default": "true", +"description": "Returns response with indentations and line breaks.", +"location": "query", +"type": "boolean" +}, +"quotaUser": { +"description": "Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters.", +"location": "query", +"type": "string" +}, +"uploadType": { +"description": "Legacy upload protocol for media (e.g. \"media\", \"multipart\").", +"location": "query", +"type": "string" +}, +"upload_protocol": { +"description": "Upload protocol for media (e.g. \"raw\", \"multipart\").", +"location": "query", +"type": "string" +} +}, +"protocol": "rest", +"resources": { +"projects": { +"resources": { +"locations": { +"methods": { +"get": { +"description": "Gets information about a location.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}", +"httpMethod": "GET", +"id": "migrationcenter.projects.locations.get", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Resource name for the location.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+name}", +"response": { +"$ref": "Location" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"getSettings": { +"description": "Gets the details of regional settings.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/settings", +"httpMethod": "GET", +"id": "migrationcenter.projects.locations.getSettings", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. Name of the resource.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/settings$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+name}", +"response": { +"$ref": "Settings" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"list": { +"description": "Lists information about the supported locations for this service.", +"flatPath": "v1/projects/{projectsId}/locations", +"httpMethod": "GET", +"id": "migrationcenter.projects.locations.list", +"parameterOrder": [ +"name" +], +"parameters": { +"filter": { +"description": "A filter to narrow down results to a preferred subset. The filtering language accepts strings like `\"displayName=tokyo\"`, and is documented in more detail in [AIP-160](https://google.aip.dev/160).", +"location": "query", +"type": "string" +}, +"name": { +"description": "The resource that owns the locations collection, if applicable.", +"location": "path", +"pattern": "^projects/[^/]+$", +"required": true, +"type": "string" +}, +"pageSize": { +"description": "The maximum number of results to return. If not set, the service selects a default.", +"format": "int32", +"location": "query", +"type": "integer" +}, +"pageToken": { +"description": "A page token received from the `next_page_token` field in the response. Send that page token to receive the subsequent page.", +"location": "query", +"type": "string" +} +}, +"path": "v1/{+name}/locations", +"response": { +"$ref": "ListLocationsResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"updateSettings": { +"description": "Updates the regional-level project settings.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/settings", +"httpMethod": "PATCH", +"id": "migrationcenter.projects.locations.updateSettings", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Output only. The name of the resource.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/settings$", +"required": true, +"type": "string" +}, +"requestId": { +"description": "Optional. An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. The server will guarantee that for at least 60 minutes since the first request. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +}, +"updateMask": { +"description": "Required. Field mask is used to specify the fields to be overwritten in the `Settings` resource by the update. The values specified in the `update_mask` field are relative to the resource, not the full request. A field will be overwritten if it is in the mask. A single * value in the mask lets you to overwrite all fields.", +"format": "google-fieldmask", +"location": "query", +"type": "string" +} +}, +"path": "v1/{+name}", +"request": { +"$ref": "Settings" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +} +}, +"resources": { +"assets": { +"methods": { +"aggregateValues": { +"description": "Aggregates the requested fields based on provided function.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/assets:aggregateValues", +"httpMethod": "POST", +"id": "migrationcenter.projects.locations.assets.aggregateValues", +"parameterOrder": [ +"parent" +], +"parameters": { +"parent": { +"description": "Required. Parent value for `AggregateAssetsValuesRequest`.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+parent}/assets:aggregateValues", +"request": { +"$ref": "AggregateAssetsValuesRequest" +}, +"response": { +"$ref": "AggregateAssetsValuesResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"batchDelete": { +"description": "Deletes list of Assets.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/assets:batchDelete", +"httpMethod": "POST", +"id": "migrationcenter.projects.locations.assets.batchDelete", +"parameterOrder": [ +"parent" +], +"parameters": { +"parent": { +"description": "Required. Parent value for batch asset delete.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+parent}/assets:batchDelete", +"request": { +"$ref": "BatchDeleteAssetsRequest" +}, +"response": { +"$ref": "Empty" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"batchUpdate": { +"description": "Updates the parameters of a list of assets.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/assets:batchUpdate", +"httpMethod": "POST", +"id": "migrationcenter.projects.locations.assets.batchUpdate", +"parameterOrder": [ +"parent" +], +"parameters": { +"parent": { +"description": "Required. Parent value for batch asset update.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+parent}/assets:batchUpdate", +"request": { +"$ref": "BatchUpdateAssetsRequest" +}, +"response": { +"$ref": "BatchUpdateAssetsResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"delete": { +"description": "Deletes an asset.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/assets/{assetsId}", +"httpMethod": "DELETE", +"id": "migrationcenter.projects.locations.assets.delete", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. Name of the resource.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/assets/[^/]+$", +"required": true, +"type": "string" +}, +"requestId": { +"description": "Optional. An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. The server will guarantee that for at least 60 minutes after the first request. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +} +}, +"path": "v1/{+name}", +"response": { +"$ref": "Empty" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"get": { +"description": "Gets the details of an asset.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/assets/{assetsId}", +"httpMethod": "GET", +"id": "migrationcenter.projects.locations.assets.get", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. Name of the resource.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/assets/[^/]+$", +"required": true, +"type": "string" +}, +"view": { +"description": "View of the assets. Defaults to BASIC.", +"enum": [ +"ASSET_VIEW_UNSPECIFIED", +"ASSET_VIEW_BASIC", +"ASSET_VIEW_FULL" +], +"enumDescriptions": [ +"The asset view is not specified. The API displays the basic view by default.", +"The asset view includes only basic metadata of the asset.", +"The asset view includes all the metadata of an asset and performance data." +], +"location": "query", +"type": "string" +} +}, +"path": "v1/{+name}", +"response": { +"$ref": "Asset" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"list": { +"description": "Lists all the assets in a given project and location.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/assets", +"httpMethod": "GET", +"id": "migrationcenter.projects.locations.assets.list", +"parameterOrder": [ +"parent" +], +"parameters": { +"filter": { +"description": "Filtering results.", +"location": "query", +"type": "string" +}, +"orderBy": { +"description": "Field to sort by. See https://google.aip.dev/132#ordering for more details.", +"location": "query", +"type": "string" +}, +"pageSize": { +"description": "Requested page size. Server may return fewer items than requested. If unspecified, server will pick an appropriate default.", +"format": "int32", +"location": "query", +"type": "integer" +}, +"pageToken": { +"description": "A token identifying a page of results the server should return.", +"location": "query", +"type": "string" +}, +"parent": { +"description": "Required. Parent value for `ListAssetsRequest`.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+$", +"required": true, +"type": "string" +}, +"view": { +"description": "View of the assets. Defaults to BASIC.", +"enum": [ +"ASSET_VIEW_UNSPECIFIED", +"ASSET_VIEW_BASIC", +"ASSET_VIEW_FULL" +], +"enumDescriptions": [ +"The asset view is not specified. The API displays the basic view by default.", +"The asset view includes only basic metadata of the asset.", +"The asset view includes all the metadata of an asset and performance data." +], +"location": "query", +"type": "string" +} +}, +"path": "v1/{+parent}/assets", +"response": { +"$ref": "ListAssetsResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"patch": { +"description": "Updates the parameters of an asset.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/assets/{assetsId}", +"httpMethod": "PATCH", +"id": "migrationcenter.projects.locations.assets.patch", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Output only. The full name of the asset.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/assets/[^/]+$", +"required": true, +"type": "string" +}, +"requestId": { +"description": "Optional. An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. The server will guarantee that for at least 60 minutes since the first request. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +}, +"updateMask": { +"description": "Required. Field mask is used to specify the fields to be overwritten in the `Asset` resource by the update. The values specified in the `update_mask` field are relative to the resource, not the full request. A field will be overwritten if it is in the mask. A single * value in the mask lets you to overwrite all fields.", +"format": "google-fieldmask", +"location": "query", +"type": "string" +} +}, +"path": "v1/{+name}", +"request": { +"$ref": "Asset" +}, +"response": { +"$ref": "Asset" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"reportAssetFrames": { +"description": "Reports a set of frames.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/assets:reportAssetFrames", +"httpMethod": "POST", +"id": "migrationcenter.projects.locations.assets.reportAssetFrames", +"parameterOrder": [ +"parent" +], +"parameters": { +"parent": { +"description": "Required. Parent of the resource.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+$", +"required": true, +"type": "string" +}, +"source": { +"description": "Required. Reference to a source.", +"location": "query", +"type": "string" +} +}, +"path": "v1/{+parent}/assets:reportAssetFrames", +"request": { +"$ref": "Frames" +}, +"response": { +"$ref": "ReportAssetFramesResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +} +} +}, +"discoveryClients": { +"methods": { +"create": { +"description": "Creates a new discovery client.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/discoveryClients", +"httpMethod": "POST", +"id": "migrationcenter.projects.locations.discoveryClients.create", +"parameterOrder": [ +"parent" +], +"parameters": { +"discoveryClientId": { +"description": "Required. User specified ID for the discovery client. It will become the last component of the discovery client name. The ID must be unique within the project, is restricted to lower-cased letters and has a maximum length of 63 characters. The ID must match the regular expression: `[a-z]([a-z0-9-]{0,61}[a-z0-9])?`.", +"location": "query", +"type": "string" +}, +"parent": { +"description": "Required. Parent resource.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+$", +"required": true, +"type": "string" +}, +"requestId": { +"description": "Optional. An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. The server will guarantee that for at least 60 minutes since the first request. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +} +}, +"path": "v1/{+parent}/discoveryClients", +"request": { +"$ref": "DiscoveryClient" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"delete": { +"description": "Deletes a discovery client.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/discoveryClients/{discoveryClientsId}", +"httpMethod": "DELETE", +"id": "migrationcenter.projects.locations.discoveryClients.delete", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. The discovery client name.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/discoveryClients/[^/]+$", +"required": true, +"type": "string" +}, +"requestId": { +"description": "Optional. An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. The server will guarantee that for at least 60 minutes after the first request. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +} +}, +"path": "v1/{+name}", +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"get": { +"description": "Gets the details of a discovery client.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/discoveryClients/{discoveryClientsId}", +"httpMethod": "GET", +"id": "migrationcenter.projects.locations.discoveryClients.get", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. The discovery client name.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/discoveryClients/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+name}", +"response": { +"$ref": "DiscoveryClient" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"list": { +"description": "Lists all the discovery clients in a given project and location.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/discoveryClients", +"httpMethod": "GET", +"id": "migrationcenter.projects.locations.discoveryClients.list", +"parameterOrder": [ +"parent" +], +"parameters": { +"filter": { +"description": "Optional. Filter expression to filter results by.", +"location": "query", +"type": "string" +}, +"orderBy": { +"description": "Optional. Field to sort by.", +"location": "query", +"type": "string" +}, +"pageSize": { +"description": "Optional. The maximum number of items to return. The server may return fewer items than requested. If unspecified, the server will pick an appropriate default value.", +"format": "int32", +"location": "query", +"type": "integer" +}, +"pageToken": { +"description": "Optional. A page token, received from a previous `ListDiscoveryClients` call. Provide this to retrieve the subsequent page. When paginating, all other parameters provided to `ListDiscoveryClients` must match the call that provided the page token.", +"location": "query", +"type": "string" +}, +"parent": { +"description": "Required. Parent resource.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+parent}/discoveryClients", +"response": { +"$ref": "ListDiscoveryClientsResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"patch": { +"description": "Updates a discovery client.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/discoveryClients/{discoveryClientsId}", +"httpMethod": "PATCH", +"id": "migrationcenter.projects.locations.discoveryClients.patch", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Output only. Identifier. Full name of this discovery client.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/discoveryClients/[^/]+$", +"required": true, +"type": "string" +}, +"requestId": { +"description": "Optional. An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. The server will guarantee that for at least 60 minutes since the first request. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +}, +"updateMask": { +"description": "Required. Update mask is used to specify the fields to be overwritten in the `DiscoveryClient` resource by the update. The values specified in the `update_mask` field are relative to the resource, not the full request. A field will be overwritten if it is in the mask. A single * value in the mask lets you to overwrite all fields.", +"format": "google-fieldmask", +"location": "query", +"type": "string" +} +}, +"path": "v1/{+name}", +"request": { +"$ref": "DiscoveryClient" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"sendHeartbeat": { +"description": "Sends a discovery client heartbeat. Healthy clients are expected to send heartbeats regularly (normally every few minutes).", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/discoveryClients/{discoveryClientsId}:sendHeartbeat", +"httpMethod": "POST", +"id": "migrationcenter.projects.locations.discoveryClients.sendHeartbeat", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. The discovery client name.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/discoveryClients/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+name}:sendHeartbeat", +"request": { +"$ref": "SendDiscoveryClientHeartbeatRequest" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +} +} +}, +"groups": { +"methods": { +"addAssets": { +"description": "Adds assets to a group.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/groups/{groupsId}:addAssets", +"httpMethod": "POST", +"id": "migrationcenter.projects.locations.groups.addAssets", +"parameterOrder": [ +"group" +], +"parameters": { +"group": { +"description": "Required. Group reference.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/groups/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+group}:addAssets", +"request": { +"$ref": "AddAssetsToGroupRequest" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"create": { +"description": "Creates a new group in a given project and location.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/groups", +"httpMethod": "POST", +"id": "migrationcenter.projects.locations.groups.create", +"parameterOrder": [ +"parent" +], +"parameters": { +"groupId": { +"description": "Required. User specified ID for the group. It will become the last component of the group name. The ID must be unique within the project, must conform with RFC-1034, is restricted to lower-cased letters, and has a maximum length of 63 characters. The ID must match the regular expression: `[a-z]([a-z0-9-]{0,61}[a-z0-9])?`.", +"location": "query", +"type": "string" +}, +"parent": { +"description": "Required. Value for parent.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+$", +"required": true, +"type": "string" +}, +"requestId": { +"description": "Optional. An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. The server will guarantee that for at least 60 minutes since the first request. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +} +}, +"path": "v1/{+parent}/groups", +"request": { +"$ref": "Group" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"delete": { +"description": "Deletes a group.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/groups/{groupsId}", +"httpMethod": "DELETE", +"id": "migrationcenter.projects.locations.groups.delete", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. Name of the group resource.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/groups/[^/]+$", +"required": true, +"type": "string" +}, +"requestId": { +"description": "Optional. An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. The server will guarantee that for at least 60 minutes after the first request. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +} +}, +"path": "v1/{+name}", +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"get": { +"description": "Gets the details of a group.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/groups/{groupsId}", +"httpMethod": "GET", +"id": "migrationcenter.projects.locations.groups.get", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. Name of the resource.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/groups/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+name}", +"response": { +"$ref": "Group" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"list": { +"description": "Lists all groups in a given project and location.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/groups", +"httpMethod": "GET", +"id": "migrationcenter.projects.locations.groups.list", +"parameterOrder": [ +"parent" +], +"parameters": { +"filter": { +"description": "Filtering results.", +"location": "query", +"type": "string" +}, +"orderBy": { +"description": "Field to sort by. See https://google.aip.dev/132#ordering for more details.", +"location": "query", +"type": "string" +}, +"pageSize": { +"description": "Requested page size. Server may return fewer items than requested. If unspecified, server will pick an appropriate default.", +"format": "int32", +"location": "query", +"type": "integer" +}, +"pageToken": { +"description": "A token identifying a page of results the server should return.", +"location": "query", +"type": "string" +}, +"parent": { +"description": "Required. Parent value for `ListGroupsRequest`.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+parent}/groups", +"response": { +"$ref": "ListGroupsResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"patch": { +"description": "Updates the parameters of a group.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/groups/{groupsId}", +"httpMethod": "PATCH", +"id": "migrationcenter.projects.locations.groups.patch", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Output only. The name of the group.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/groups/[^/]+$", +"required": true, +"type": "string" +}, +"requestId": { +"description": "Optional. An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. The server will guarantee that for at least 60 minutes since the first request. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +}, +"updateMask": { +"description": "Required. Field mask is used to specify the fields to be overwritten in the `Group` resource by the update. The values 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. A single * value in the mask lets you to overwrite all fields.", +"format": "google-fieldmask", +"location": "query", +"type": "string" +} +}, +"path": "v1/{+name}", +"request": { +"$ref": "Group" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"removeAssets": { +"description": "Removes assets from a group.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/groups/{groupsId}:removeAssets", +"httpMethod": "POST", +"id": "migrationcenter.projects.locations.groups.removeAssets", +"parameterOrder": [ +"group" +], +"parameters": { +"group": { +"description": "Required. Group reference.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/groups/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+group}:removeAssets", +"request": { +"$ref": "RemoveAssetsFromGroupRequest" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +} +} +}, +"importJobs": { +"methods": { +"create": { +"description": "Creates an import job.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/importJobs", +"httpMethod": "POST", +"id": "migrationcenter.projects.locations.importJobs.create", +"parameterOrder": [ +"parent" +], +"parameters": { +"importJobId": { +"description": "Required. ID of the import job.", +"location": "query", +"type": "string" +}, +"parent": { +"description": "Required. Value for parent.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+$", +"required": true, +"type": "string" +}, +"requestId": { +"description": "Optional. An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. The server will guarantee that for at least 60 minutes since the first request. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +} +}, +"path": "v1/{+parent}/importJobs", +"request": { +"$ref": "ImportJob" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"delete": { +"description": "Deletes an import job.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/importJobs/{importJobsId}", +"httpMethod": "DELETE", +"id": "migrationcenter.projects.locations.importJobs.delete", +"parameterOrder": [ +"name" +], +"parameters": { +"force": { +"description": "Optional. If set to `true`, any `ImportDataFiles` of this job will also be deleted If set to `false`, the request only works if the job has no data files.", +"location": "query", +"type": "boolean" +}, +"name": { +"description": "Required. Name of the resource.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/importJobs/[^/]+$", +"required": true, +"type": "string" +}, +"requestId": { +"description": "Optional. An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. The server will guarantee that for at least 60 minutes after the first request. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +} +}, +"path": "v1/{+name}", +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"get": { +"description": "Gets the details of an import job.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/importJobs/{importJobsId}", +"httpMethod": "GET", +"id": "migrationcenter.projects.locations.importJobs.get", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. Name of the resource.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/importJobs/[^/]+$", +"required": true, +"type": "string" +}, +"view": { +"description": "Optional. The level of details of the import job. Default value is FULL.", +"enum": [ +"IMPORT_JOB_VIEW_UNSPECIFIED", +"IMPORT_JOB_VIEW_BASIC", +"IMPORT_JOB_VIEW_FULL" +], +"enumDescriptions": [ +"The import job view is not specified. The API displays the basic view by default.", +"The import job view includes basic metadata of an import job. This view does not include payload information.", +"The import job view includes all metadata of an import job." +], +"location": "query", +"type": "string" +} +}, +"path": "v1/{+name}", +"response": { +"$ref": "ImportJob" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"list": { +"description": "Lists all import jobs.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/importJobs", +"httpMethod": "GET", +"id": "migrationcenter.projects.locations.importJobs.list", +"parameterOrder": [ +"parent" +], +"parameters": { +"filter": { +"description": "Filtering results.", +"location": "query", +"type": "string" +}, +"orderBy": { +"description": "Field to sort by. See https://google.aip.dev/132#ordering for more details.", +"location": "query", +"type": "string" +}, +"pageSize": { +"description": "Requested page size. Server may return fewer items than requested. If unspecified, server will pick an appropriate default.", +"format": "int32", +"location": "query", +"type": "integer" +}, +"pageToken": { +"description": "A token identifying a page of results the server should return.", +"location": "query", +"type": "string" +}, +"parent": { +"description": "Required. Parent value for `ListImportJobsRequest`.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+$", +"required": true, +"type": "string" +}, +"view": { +"description": "Optional. The level of details of each import job. Default value is BASIC.", +"enum": [ +"IMPORT_JOB_VIEW_UNSPECIFIED", +"IMPORT_JOB_VIEW_BASIC", +"IMPORT_JOB_VIEW_FULL" +], +"enumDescriptions": [ +"The import job view is not specified. The API displays the basic view by default.", +"The import job view includes basic metadata of an import job. This view does not include payload information.", +"The import job view includes all metadata of an import job." +], +"location": "query", +"type": "string" +} +}, +"path": "v1/{+parent}/importJobs", +"response": { +"$ref": "ListImportJobsResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"patch": { +"description": "Updates an import job.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/importJobs/{importJobsId}", +"httpMethod": "PATCH", +"id": "migrationcenter.projects.locations.importJobs.patch", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Output only. The full name of the import job.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/importJobs/[^/]+$", +"required": true, +"type": "string" +}, +"requestId": { +"description": "Optional. An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. The server will guarantee that for at least 60 minutes since the first request. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +}, +"updateMask": { +"description": "Required. Field mask is used to specify the fields to be overwritten in the `Asset` resource by the update. The values specified in the `update_mask` field are relative to the resource, not the full request. A field will be overwritten if it is in the mask. A single * value in the mask lets you to overwrite all fields.", +"format": "google-fieldmask", +"location": "query", +"type": "string" +} +}, +"path": "v1/{+name}", +"request": { +"$ref": "ImportJob" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"run": { +"description": "Runs an import job.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/importJobs/{importJobsId}:run", +"httpMethod": "POST", +"id": "migrationcenter.projects.locations.importJobs.run", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. The name of the import job to run.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/importJobs/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+name}:run", +"request": { +"$ref": "RunImportJobRequest" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"validate": { +"description": "Validates an import job.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/importJobs/{importJobsId}:validate", +"httpMethod": "POST", +"id": "migrationcenter.projects.locations.importJobs.validate", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. The name of the import job to validate.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/importJobs/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+name}:validate", +"request": { +"$ref": "ValidateImportJobRequest" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +} +}, +"resources": { +"importDataFiles": { +"methods": { +"create": { +"description": "Creates an import data file.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/importJobs/{importJobsId}/importDataFiles", +"httpMethod": "POST", +"id": "migrationcenter.projects.locations.importJobs.importDataFiles.create", +"parameterOrder": [ +"parent" +], +"parameters": { +"importDataFileId": { +"description": "Required. The ID of the new data file.", +"location": "query", +"type": "string" +}, +"parent": { +"description": "Required. Name of the parent of the ImportDataFile.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/importJobs/[^/]+$", +"required": true, +"type": "string" +}, +"requestId": { +"description": "Optional. An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. The server will guarantee that for at least 60 minutes since the first request. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +} +}, +"path": "v1/{+parent}/importDataFiles", +"request": { +"$ref": "ImportDataFile" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"delete": { +"description": "Delete an import data file.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/importJobs/{importJobsId}/importDataFiles/{importDataFilesId}", +"httpMethod": "DELETE", +"id": "migrationcenter.projects.locations.importJobs.importDataFiles.delete", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. Name of the ImportDataFile to delete.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/importJobs/[^/]+/importDataFiles/[^/]+$", +"required": true, +"type": "string" +}, +"requestId": { +"description": "Optional. An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. The server will guarantee that for at least 60 minutes after the first request. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +} +}, +"path": "v1/{+name}", +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"get": { +"description": "Gets an import data file.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/importJobs/{importJobsId}/importDataFiles/{importDataFilesId}", +"httpMethod": "GET", +"id": "migrationcenter.projects.locations.importJobs.importDataFiles.get", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. Name of the ImportDataFile.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/importJobs/[^/]+/importDataFiles/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+name}", +"response": { +"$ref": "ImportDataFile" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"list": { +"description": "List import data files.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/importJobs/{importJobsId}/importDataFiles", +"httpMethod": "GET", +"id": "migrationcenter.projects.locations.importJobs.importDataFiles.list", +"parameterOrder": [ +"parent" +], +"parameters": { +"filter": { +"description": "Filtering results.", +"location": "query", +"type": "string" +}, +"orderBy": { +"description": "Field to sort by. See https://google.aip.dev/132#ordering for more details.", +"location": "query", +"type": "string" +}, +"pageSize": { +"description": "The maximum number of data files to return. The service may return fewer than this value. If unspecified, at most 500 data files will be returned. The maximum value is 1000; values above 1000 will be coerced to 1000.", +"format": "int32", +"location": "query", +"type": "integer" +}, +"pageToken": { +"description": "A page token, received from a previous `ListImportDataFiles` call. Provide this to retrieve the subsequent page. When paginating, all other parameters provided to `ListImportDataFiles` must match the call that provided the page token.", +"location": "query", +"type": "string" +}, +"parent": { +"description": "Required. Name of the parent of the `ImportDataFiles` resource.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/importJobs/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+parent}/importDataFiles", +"response": { +"$ref": "ListImportDataFilesResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +} +} +} +} +}, +"operations": { +"methods": { +"cancel": { +"description": "Starts asynchronous cancellation on a long-running operation. The server makes a best effort to cancel the operation, but success is not guaranteed. If the server doesn't support this method, it returns `google.rpc.Code.UNIMPLEMENTED`. Clients can use Operations.GetOperation or other methods to check whether the cancellation succeeded or whether the operation completed despite cancellation. On successful cancellation, the operation is not deleted; instead, it becomes an operation with an Operation.error value with a google.rpc.Status.code of `1`, corresponding to `Code.CANCELLED`.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/operations/{operationsId}:cancel", +"httpMethod": "POST", +"id": "migrationcenter.projects.locations.operations.cancel", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "The name of the operation resource to be cancelled.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/operations/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+name}:cancel", +"request": { +"$ref": "CancelOperationRequest" +}, +"response": { +"$ref": "Empty" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"delete": { +"description": "Deletes a long-running operation. This method indicates that the client is no longer interested in the operation result. It does not cancel the operation. If the server doesn't support this method, it returns `google.rpc.Code.UNIMPLEMENTED`.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/operations/{operationsId}", +"httpMethod": "DELETE", +"id": "migrationcenter.projects.locations.operations.delete", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "The name of the operation resource to be deleted.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/operations/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+name}", +"response": { +"$ref": "Empty" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"get": { +"description": "Gets the latest state of a long-running operation. Clients can use this method to poll the operation result at intervals as recommended by the API service.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/operations/{operationsId}", +"httpMethod": "GET", +"id": "migrationcenter.projects.locations.operations.get", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "The name of the operation resource.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/operations/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+name}", +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"list": { +"description": "Lists operations that match the specified filter in the request. If the server doesn't support this method, it returns `UNIMPLEMENTED`.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/operations", +"httpMethod": "GET", +"id": "migrationcenter.projects.locations.operations.list", +"parameterOrder": [ +"name" +], +"parameters": { +"filter": { +"description": "The standard list filter.", +"location": "query", +"type": "string" +}, +"name": { +"description": "The name of the operation's parent resource.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+$", +"required": true, +"type": "string" +}, +"pageSize": { +"description": "The standard list page size.", +"format": "int32", +"location": "query", +"type": "integer" +}, +"pageToken": { +"description": "The standard list page token.", +"location": "query", +"type": "string" +} +}, +"path": "v1/{+name}/operations", +"response": { +"$ref": "ListOperationsResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +} +} +}, +"preferenceSets": { +"methods": { +"create": { +"description": "Creates a new preference set in a given project and location.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/preferenceSets", +"httpMethod": "POST", +"id": "migrationcenter.projects.locations.preferenceSets.create", +"parameterOrder": [ +"parent" +], +"parameters": { +"parent": { +"description": "Required. Value for parent.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+$", +"required": true, +"type": "string" +}, +"preferenceSetId": { +"description": "Required. User specified ID for the preference set. It will become the last component of the preference set name. The ID must be unique within the project, must conform with RFC-1034, is restricted to lower-cased letters, and has a maximum length of 63 characters. The ID must match the regular expression `[a-z]([a-z0-9-]{0,61}[a-z0-9])?`.", +"location": "query", +"type": "string" +}, +"requestId": { +"description": "Optional. An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. The server will guarantee that for at least 60 minutes since the first request. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +} +}, +"path": "v1/{+parent}/preferenceSets", +"request": { +"$ref": "PreferenceSet" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"delete": { +"description": "Deletes a preference set.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/preferenceSets/{preferenceSetsId}", +"httpMethod": "DELETE", +"id": "migrationcenter.projects.locations.preferenceSets.delete", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. Name of the group resource.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/preferenceSets/[^/]+$", +"required": true, +"type": "string" +}, +"requestId": { +"description": "Optional. An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. The server will guarantee that for at least 60 minutes after the first request. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +} +}, +"path": "v1/{+name}", +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"get": { +"description": "Gets the details of a preference set.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/preferenceSets/{preferenceSetsId}", +"httpMethod": "GET", +"id": "migrationcenter.projects.locations.preferenceSets.get", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. Name of the resource.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/preferenceSets/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+name}", +"response": { +"$ref": "PreferenceSet" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"list": { +"description": "Lists all the preference sets in a given project and location.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/preferenceSets", +"httpMethod": "GET", +"id": "migrationcenter.projects.locations.preferenceSets.list", +"parameterOrder": [ +"parent" +], +"parameters": { +"orderBy": { +"description": "Field to sort by. See https://google.aip.dev/132#ordering for more details.", +"location": "query", +"type": "string" +}, +"pageSize": { +"description": "Requested page size. Server may return fewer items than requested. If unspecified, at most 500 preference sets will be returned. The maximum value is 1000; values above 1000 will be coerced to 1000.", +"format": "int32", +"location": "query", +"type": "integer" +}, +"pageToken": { +"description": "A token identifying a page of results the server should return.", +"location": "query", +"type": "string" +}, +"parent": { +"description": "Required. Parent value for `ListPreferenceSetsRequest`.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+parent}/preferenceSets", +"response": { +"$ref": "ListPreferenceSetsResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"patch": { +"description": "Updates the parameters of a preference set.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/preferenceSets/{preferenceSetsId}", +"httpMethod": "PATCH", +"id": "migrationcenter.projects.locations.preferenceSets.patch", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Output only. Name of the preference set.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/preferenceSets/[^/]+$", +"required": true, +"type": "string" +}, +"requestId": { +"description": "Optional. An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. The server will guarantee that for at least 60 minutes since the first request. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +}, +"updateMask": { +"description": "Required. Field mask is used to specify the fields to be overwritten in the `PreferenceSet` resource by the update. The values specified in the `update_mask` field are relative to the resource, not the full request. A field will be overwritten if it is in the mask. A single * value in the mask lets you to overwrite all fields.", +"format": "google-fieldmask", +"location": "query", +"type": "string" +} +}, +"path": "v1/{+name}", +"request": { +"$ref": "PreferenceSet" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +} +} +}, +"reportConfigs": { +"methods": { +"create": { +"description": "Creates a report configuration.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/reportConfigs", +"httpMethod": "POST", +"id": "migrationcenter.projects.locations.reportConfigs.create", +"parameterOrder": [ +"parent" +], +"parameters": { +"parent": { +"description": "Required. Value for parent.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+$", +"required": true, +"type": "string" +}, +"reportConfigId": { +"description": "Required. User specified ID for the report config. It will become the last component of the report config name. The ID must be unique within the project, must conform with RFC-1034, is restricted to lower-cased letters, and has a maximum length of 63 characters. The ID must match the regular expression: [a-z]([a-z0-9-]{0,61}[a-z0-9])?.", +"location": "query", +"type": "string" +}, +"requestId": { +"description": "Optional. An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. The server will guarantee that for at least 60 minutes since the first request. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +} +}, +"path": "v1/{+parent}/reportConfigs", +"request": { +"$ref": "ReportConfig" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"delete": { +"description": "Deletes a ReportConfig.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/reportConfigs/{reportConfigsId}", +"httpMethod": "DELETE", +"id": "migrationcenter.projects.locations.reportConfigs.delete", +"parameterOrder": [ +"name" +], +"parameters": { +"force": { +"description": "Optional. If set to `true`, any child `Reports` of this entity will also be deleted. If set to `false`, the request only works if the resource has no children.", +"location": "query", +"type": "boolean" +}, +"name": { +"description": "Required. Name of the resource.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/reportConfigs/[^/]+$", +"required": true, +"type": "string" +}, +"requestId": { +"description": "Optional. An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. The server will guarantee that for at least 60 minutes after the first request. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +} +}, +"path": "v1/{+name}", +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"get": { +"description": "Gets details of a single ReportConfig.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/reportConfigs/{reportConfigsId}", +"httpMethod": "GET", +"id": "migrationcenter.projects.locations.reportConfigs.get", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. Name of the resource.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/reportConfigs/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+name}", +"response": { +"$ref": "ReportConfig" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"list": { +"description": "Lists ReportConfigs in a given project and location.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/reportConfigs", +"httpMethod": "GET", +"id": "migrationcenter.projects.locations.reportConfigs.list", +"parameterOrder": [ +"parent" +], +"parameters": { +"filter": { +"description": "Filtering results.", +"location": "query", +"type": "string" +}, +"orderBy": { +"description": "Field to sort by. See https://google.aip.dev/132#ordering for more details.", +"location": "query", +"type": "string" +}, +"pageSize": { +"description": "Requested page size. Server may return fewer items than requested. If unspecified, server will pick an appropriate default.", +"format": "int32", +"location": "query", +"type": "integer" +}, +"pageToken": { +"description": "A token identifying a page of results the server should return.", +"location": "query", +"type": "string" +}, +"parent": { +"description": "Required. Parent value for `ListReportConfigsRequest`.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+parent}/reportConfigs", +"response": { +"$ref": "ListReportConfigsResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +} +}, +"resources": { +"reports": { +"methods": { +"create": { +"description": "Creates a report.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/reportConfigs/{reportConfigsId}/reports", +"httpMethod": "POST", +"id": "migrationcenter.projects.locations.reportConfigs.reports.create", +"parameterOrder": [ +"parent" +], +"parameters": { +"parent": { +"description": "Required. Value for parent.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/reportConfigs/[^/]+$", +"required": true, +"type": "string" +}, +"reportId": { +"description": "Required. User specified id for the report. It will become the last component of the report name. The id must be unique within the project, must conform with RFC-1034, is restricted to lower-cased letters, and has a maximum length of 63 characters. The id must match the regular expression: [a-z]([a-z0-9-]{0,61}[a-z0-9])?.", +"location": "query", +"type": "string" +}, +"requestId": { +"description": "Optional. An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. The server will guarantee that for at least 60 minutes since the first request. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +} +}, +"path": "v1/{+parent}/reports", +"request": { +"$ref": "Report" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"delete": { +"description": "Deletes a Report.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/reportConfigs/{reportConfigsId}/reports/{reportsId}", +"httpMethod": "DELETE", +"id": "migrationcenter.projects.locations.reportConfigs.reports.delete", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. Name of the resource.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/reportConfigs/[^/]+/reports/[^/]+$", +"required": true, +"type": "string" +}, +"requestId": { +"description": "Optional. An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. The server will guarantee that for at least 60 minutes after the first request. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +} +}, +"path": "v1/{+name}", +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"get": { +"description": "Gets details of a single Report.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/reportConfigs/{reportConfigsId}/reports/{reportsId}", +"httpMethod": "GET", +"id": "migrationcenter.projects.locations.reportConfigs.reports.get", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. Name of the resource.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/reportConfigs/[^/]+/reports/[^/]+$", +"required": true, +"type": "string" +}, +"view": { +"description": "Determines what information to retrieve for the Report.", +"enum": [ +"REPORT_VIEW_UNSPECIFIED", +"REPORT_VIEW_BASIC", +"REPORT_VIEW_FULL", +"REPORT_VIEW_STANDARD" +], +"enumDescriptions": [ +"The report view is not specified. The API displays the basic view by default.", +"The report view includes only basic metadata of the Report. Useful for list views.", +"The report view includes all the metadata of the Report. Useful for preview.", +"The report view includes the standard metadata of an report. Useful for detail view." +], +"location": "query", +"type": "string" +} +}, +"path": "v1/{+name}", +"response": { +"$ref": "Report" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"list": { +"description": "Lists Reports in a given ReportConfig.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/reportConfigs/{reportConfigsId}/reports", +"httpMethod": "GET", +"id": "migrationcenter.projects.locations.reportConfigs.reports.list", +"parameterOrder": [ +"parent" +], +"parameters": { +"filter": { +"description": "Filtering results.", +"location": "query", +"type": "string" +}, +"orderBy": { +"description": "Field to sort by. See https://google.aip.dev/132#ordering for more details.", +"location": "query", +"type": "string" +}, +"pageSize": { +"description": "Requested page size. The server may return fewer items than requested. If unspecified, the server will pick an appropriate default value.", +"format": "int32", +"location": "query", +"type": "integer" +}, +"pageToken": { +"description": "A token identifying a page of results that the server should return.", +"location": "query", +"type": "string" +}, +"parent": { +"description": "Required. Parent value for `ListReportsRequest`.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/reportConfigs/[^/]+$", +"required": true, +"type": "string" +}, +"view": { +"description": "Determines what information to retrieve for each Report.", +"enum": [ +"REPORT_VIEW_UNSPECIFIED", +"REPORT_VIEW_BASIC", +"REPORT_VIEW_FULL", +"REPORT_VIEW_STANDARD" +], +"enumDescriptions": [ +"The report view is not specified. The API displays the basic view by default.", +"The report view includes only basic metadata of the Report. Useful for list views.", +"The report view includes all the metadata of the Report. Useful for preview.", +"The report view includes the standard metadata of an report. Useful for detail view." +], +"location": "query", +"type": "string" +} +}, +"path": "v1/{+parent}/reports", +"response": { +"$ref": "ListReportsResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +} +} +} +} +}, +"sources": { +"methods": { +"create": { +"description": "Creates a new source in a given project and location.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/sources", +"httpMethod": "POST", +"id": "migrationcenter.projects.locations.sources.create", +"parameterOrder": [ +"parent" +], +"parameters": { +"parent": { +"description": "Required. Value for parent.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+$", +"required": true, +"type": "string" +}, +"requestId": { +"description": "Optional. An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. The server will guarantee that for at least 60 minutes since the first request. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +}, +"sourceId": { +"description": "Required. User specified ID for the source. It will become the last component of the source name. The ID must be unique within the project, must conform with RFC-1034, is restricted to lower-cased letters, and has a maximum length of 63 characters. The ID must match the regular expression: `[a-z]([a-z0-9-]{0,61}[a-z0-9])?`.", +"location": "query", +"type": "string" +} +}, +"path": "v1/{+parent}/sources", +"request": { +"$ref": "Source" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"delete": { +"description": "Deletes a source.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/sources/{sourcesId}", +"httpMethod": "DELETE", +"id": "migrationcenter.projects.locations.sources.delete", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. Name of the resource.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/sources/[^/]+$", +"required": true, +"type": "string" +}, +"requestId": { +"description": "Optional. An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. The server will guarantee that for at least 60 minutes after the first request. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +} +}, +"path": "v1/{+name}", +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"get": { +"description": "Gets the details of a source.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/sources/{sourcesId}", +"httpMethod": "GET", +"id": "migrationcenter.projects.locations.sources.get", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. Name of the resource.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/sources/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+name}", +"response": { +"$ref": "Source" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"list": { +"description": "Lists all the sources in a given project and location.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/sources", +"httpMethod": "GET", +"id": "migrationcenter.projects.locations.sources.list", +"parameterOrder": [ +"parent" +], +"parameters": { +"filter": { +"description": "Filtering results.", +"location": "query", +"type": "string" +}, +"orderBy": { +"description": "Field to sort by. See https://google.aip.dev/132#ordering for more details.", +"location": "query", +"type": "string" +}, +"pageSize": { +"description": "Requested page size. The server may return fewer items than requested. If unspecified, the server will pick an appropriate default value.", +"format": "int32", +"location": "query", +"type": "integer" +}, +"pageToken": { +"description": "A token identifying a page of results that the server should return.", +"location": "query", +"type": "string" +}, +"parent": { +"description": "Required. Parent value for `ListSourcesRequest`.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+parent}/sources", +"response": { +"$ref": "ListSourcesResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"patch": { +"description": "Updates the parameters of a source.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/sources/{sourcesId}", +"httpMethod": "PATCH", +"id": "migrationcenter.projects.locations.sources.patch", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Output only. The full name of the source.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/sources/[^/]+$", +"required": true, +"type": "string" +}, +"requestId": { +"description": "Optional. An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. The server will guarantee that for at least 60 minutes since the first request. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +}, +"updateMask": { +"description": "Required. Field mask is used to specify the fields to be overwritten in the `Source` resource by the update. The values specified in the `update_mask` field are relative to the resource, not the full request. A field will be overwritten if it is in the mask. A single * value in the mask lets you to overwrite all fields.", +"format": "google-fieldmask", +"location": "query", +"type": "string" +} +}, +"path": "v1/{+name}", +"request": { +"$ref": "Source" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +} +}, +"resources": { +"errorFrames": { +"methods": { +"get": { +"description": "Gets the details of an error frame.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/sources/{sourcesId}/errorFrames/{errorFramesId}", +"httpMethod": "GET", +"id": "migrationcenter.projects.locations.sources.errorFrames.get", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. The name of the frame to retrieve. Format: projects/{project}/locations/{location}/sources/{source}/errorFrames/{error_frame}", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/sources/[^/]+/errorFrames/[^/]+$", +"required": true, +"type": "string" +}, +"view": { +"description": "Optional. An optional view mode to control the level of details for the frame. The default is a basic frame view.", +"enum": [ +"ERROR_FRAME_VIEW_UNSPECIFIED", +"ERROR_FRAME_VIEW_BASIC", +"ERROR_FRAME_VIEW_FULL" +], +"enumDescriptions": [ +"Value is unset. The system will fallback to the default value.", +"Include basic frame data, but not the full contents.", +"Include everything." +], +"location": "query", +"type": "string" +} +}, +"path": "v1/{+name}", +"response": { +"$ref": "ErrorFrame" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"list": { +"description": "Lists all error frames in a given source and location.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/sources/{sourcesId}/errorFrames", +"httpMethod": "GET", +"id": "migrationcenter.projects.locations.sources.errorFrames.list", +"parameterOrder": [ +"parent" +], +"parameters": { +"pageSize": { +"description": "Requested page size. Server may return fewer items than requested. If unspecified, server will pick an appropriate default.", +"format": "int32", +"location": "query", +"type": "integer" +}, +"pageToken": { +"description": "A token identifying a page of results the server should return.", +"location": "query", +"type": "string" +}, +"parent": { +"description": "Required. Parent value (the source) for `ListErrorFramesRequest`.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/sources/[^/]+$", +"required": true, +"type": "string" +}, +"view": { +"description": "Optional. An optional view mode to control the level of details of each error frame. The default is a BASIC frame view.", +"enum": [ +"ERROR_FRAME_VIEW_UNSPECIFIED", +"ERROR_FRAME_VIEW_BASIC", +"ERROR_FRAME_VIEW_FULL" +], +"enumDescriptions": [ +"Value is unset. The system will fallback to the default value.", +"Include basic frame data, but not the full contents.", +"Include everything." +], +"location": "query", +"type": "string" +} +}, +"path": "v1/{+parent}/errorFrames", +"response": { +"$ref": "ListErrorFramesResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +} +} +} +} +} +} +} +} +} +}, +"revision": "20241205", +"rootUrl": "https://migrationcenter.googleapis.com/", +"schemas": { +"AddAssetsToGroupRequest": { +"description": "A request to add assets to a group.", +"id": "AddAssetsToGroupRequest", +"properties": { +"allowExisting": { +"description": "Optional. When this value is set to `false` and one of the given assets is already an existing member of the group, the operation fails with an `Already Exists` error. When set to `true` this situation is silently ignored by the server. Default value is `false`.", +"type": "boolean" +}, +"assets": { +"$ref": "AssetList", +"description": "Required. List of assets to be added. The maximum number of assets that can be added in a single request is 1000." +}, +"requestId": { +"description": "Optional. An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. The server will guarantee that for at least 60 minutes after the first request. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", +"type": "string" +} +}, +"type": "object" +}, +"AggregateAssetsValuesRequest": { +"description": "A request to aggregate one or more values.", +"id": "AggregateAssetsValuesRequest", +"properties": { +"aggregations": { +"description": "Array of aggregations to perform. Up to 25 aggregations can be defined.", +"items": { +"$ref": "Aggregation" +}, +"type": "array" +}, +"filter": { +"description": "Optional. The aggregation will be performed on assets that match the provided filter.", +"type": "string" +} +}, +"type": "object" +}, +"AggregateAssetsValuesResponse": { +"description": "A response to a request to aggregated assets values.", +"id": "AggregateAssetsValuesResponse", +"properties": { +"results": { +"description": "The aggregation results.", +"items": { +"$ref": "AggregationResult" +}, +"type": "array" +} +}, +"type": "object" +}, +"Aggregation": { +"description": "Message describing an aggregation. The message includes the aggregation type, parameters, and the field on which to perform the aggregation.", +"id": "Aggregation", +"properties": { +"count": { +"$ref": "AggregationCount", +"description": "Count the number of matching objects." +}, +"field": { +"description": "The name of the field on which to aggregate.", +"type": "string" +}, +"frequency": { +"$ref": "AggregationFrequency", +"description": "Creates a frequency distribution of all field values." +}, +"histogram": { +"$ref": "AggregationHistogram", +"description": "Creates a bucketed histogram of field values." +}, +"sum": { +"$ref": "AggregationSum", +"description": "Sum over a numeric field." +} +}, +"type": "object" +}, +"AggregationCount": { +"description": "Object count.", +"id": "AggregationCount", +"properties": {}, +"type": "object" +}, +"AggregationFrequency": { +"description": "Frequency distribution of all field values.", +"id": "AggregationFrequency", +"properties": {}, +"type": "object" +}, +"AggregationHistogram": { +"description": "Histogram of bucketed assets counts by field value.", +"id": "AggregationHistogram", +"properties": { +"lowerBounds": { +"description": "Lower bounds of buckets. The response will contain `n+1` buckets for `n` bounds. The first bucket will count all assets for which the field value is smaller than the first bound. Subsequent buckets will count assets for which the field value is greater or equal to a lower bound and smaller than the next one. The last bucket will count assets for which the field value is greater or equal to the final lower bound. You can define up to 20 lower bounds.", +"items": { +"format": "double", +"type": "number" +}, +"type": "array" +} +}, +"type": "object" +}, +"AggregationResult": { +"description": "Message describing a result of an aggregation.", +"id": "AggregationResult", +"properties": { +"count": { +"$ref": "AggregationResultCount" +}, +"field": { +"type": "string" +}, +"frequency": { +"$ref": "AggregationResultFrequency" +}, +"histogram": { +"$ref": "AggregationResultHistogram" +}, +"sum": { +"$ref": "AggregationResultSum" +} +}, +"type": "object" +}, +"AggregationResultCount": { +"description": "The result of a count aggregation.", +"id": "AggregationResultCount", +"properties": { +"value": { +"format": "int64", +"type": "string" +} +}, +"type": "object" +}, +"AggregationResultFrequency": { +"description": "The result of a frequency distribution aggregation.", +"id": "AggregationResultFrequency", +"properties": { +"values": { +"additionalProperties": { +"format": "int64", +"type": "string" +}, +"type": "object" +} +}, +"type": "object" +}, +"AggregationResultHistogram": { +"description": "The result of a bucketed histogram aggregation.", +"id": "AggregationResultHistogram", +"properties": { +"buckets": { +"description": "Buckets in the histogram. There will be `n+1` buckets matching `n` lower bounds in the request. The first bucket will be from -infinity to the first bound. Subsequent buckets will be between one bound and the next. The final bucket will be from the final bound to infinity.", +"items": { +"$ref": "AggregationResultHistogramBucket" +}, +"type": "array" +} +}, +"type": "object" +}, +"AggregationResultHistogramBucket": { +"description": "A histogram bucket with a lower and upper bound, and a count of items with a field value between those bounds. The lower bound is inclusive and the upper bound is exclusive. Lower bound may be -infinity and upper bound may be infinity.", +"id": "AggregationResultHistogramBucket", +"properties": { +"count": { +"description": "Count of items in the bucket.", +"format": "int64", +"type": "string" +}, +"lowerBound": { +"description": "Lower bound - inclusive.", +"format": "double", +"type": "number" +}, +"upperBound": { +"description": "Upper bound - exclusive.", +"format": "double", +"type": "number" +} +}, +"type": "object" +}, +"AggregationResultSum": { +"description": "The result of a sum aggregation.", +"id": "AggregationResultSum", +"properties": { +"value": { +"format": "double", +"type": "number" +} +}, +"type": "object" +}, +"AggregationSum": { +"description": "Sum of field values.", +"id": "AggregationSum", +"properties": {}, +"type": "object" +}, +"Asset": { +"description": "An asset represents a resource in your environment. Asset types include virtual machines and databases.", +"id": "Asset", +"properties": { +"assignedGroups": { +"description": "Output only. The list of groups that the asset is assigned to.", +"items": { +"type": "string" +}, +"readOnly": true, +"type": "array" +}, +"attributes": { +"additionalProperties": { +"type": "string" +}, +"description": "Generic asset attributes.", +"type": "object" +}, +"createTime": { +"description": "Output only. The timestamp when the asset was created.", +"format": "google-datetime", +"readOnly": true, +"type": "string" +}, +"databaseDeploymentDetails": { +"$ref": "DatabaseDeploymentDetails", +"description": "Output only. Asset information specific for database deployments.", +"readOnly": true +}, +"databaseDetails": { +"$ref": "DatabaseDetails", +"description": "Output only. Asset information specific for logical databases.", +"readOnly": true +}, +"insightList": { +"$ref": "InsightList", +"description": "Output only. The list of insights associated with the asset.", +"readOnly": true +}, +"labels": { +"additionalProperties": { +"type": "string" +}, +"description": "Labels as key value pairs.", +"type": "object" +}, +"machineDetails": { +"$ref": "MachineDetails", +"description": "Output only. Asset information specific for virtual and physical machines.", +"readOnly": true +}, +"name": { +"description": "Output only. The full name of the asset.", +"readOnly": true, +"type": "string" +}, +"performanceData": { +"$ref": "AssetPerformanceData", +"description": "Output only. Performance data for the asset.", +"readOnly": true +}, +"sources": { +"description": "Output only. The list of sources contributing to the asset.", +"items": { +"type": "string" +}, +"readOnly": true, +"type": "array" +}, +"title": { +"description": "Output only. Server generated human readable name of the asset.", +"readOnly": true, +"type": "string" +}, +"updateTime": { +"description": "Output only. The timestamp when the asset was last updated.", +"format": "google-datetime", +"readOnly": true, +"type": "string" +} +}, +"type": "object" +}, +"AssetFrame": { +"description": "Contains data reported from an inventory source on an asset.", +"id": "AssetFrame", +"properties": { +"attributes": { +"additionalProperties": { +"type": "string" +}, +"description": "Generic asset attributes.", +"type": "object" +}, +"collectionType": { +"description": "Optional. Frame collection type, if not specified the collection type will be based on the source type of the source the frame was reported on.", +"enum": [ +"SOURCE_TYPE_UNKNOWN", +"SOURCE_TYPE_UPLOAD", +"SOURCE_TYPE_GUEST_OS_SCAN", +"SOURCE_TYPE_INVENTORY_SCAN", +"SOURCE_TYPE_CUSTOM", +"SOURCE_TYPE_DISCOVERY_CLIENT" +], +"enumDescriptions": [ +"Unspecified", +"Manually uploaded file (e.g. CSV)", +"Guest-level info", +"Inventory-level scan", +"Third-party owned sources.", +"Discovery clients" +], +"type": "string" +}, +"databaseDeploymentDetails": { +"$ref": "DatabaseDeploymentDetails", +"description": "Asset information specific for database deployments." +}, +"databaseDetails": { +"$ref": "DatabaseDetails", +"description": "Asset information specific for logical databases." +}, +"labels": { +"additionalProperties": { +"type": "string" +}, +"description": "Labels as key value pairs.", +"type": "object" +}, +"machineDetails": { +"$ref": "MachineDetails", +"description": "Asset information specific for virtual machines." +}, +"performanceSamples": { +"description": "Asset performance data samples. Samples that are from more than 40 days ago or after tomorrow are ignored.", +"items": { +"$ref": "PerformanceSample" +}, +"type": "array" +}, +"reportTime": { +"description": "The time the data was reported.", +"format": "google-datetime", +"type": "string" +}, +"traceToken": { +"description": "Optional. Trace token is optionally provided to assist with debugging and traceability.", +"type": "string" +} +}, +"type": "object" +}, +"AssetList": { +"description": "Lists the asset IDs of all assets.", +"id": "AssetList", +"properties": { +"assetIds": { +"description": "Required. A list of asset IDs", +"items": { +"type": "string" +}, +"type": "array" +} +}, +"type": "object" +}, +"AssetPerformanceData": { +"description": "Performance data for an asset.", +"id": "AssetPerformanceData", +"properties": { +"dailyResourceUsageAggregations": { +"description": "Daily resource usage aggregations. Contains all of the data available for an asset, up to the last 420 days. Aggregations are sorted from oldest to most recent.", +"items": { +"$ref": "DailyResourceUsageAggregation" +}, +"type": "array" +} +}, +"type": "object" +}, +"AwsEc2PlatformDetails": { +"description": "AWS EC2 specific details.", +"id": "AwsEc2PlatformDetails", +"properties": { +"hyperthreading": { +"description": "Optional. Whether the machine is hyperthreaded.", +"enum": [ +"HYPERTHREADING_STATUS_UNSPECIFIED", +"HYPERTHREADING_STATUS_DISABLED", +"HYPERTHREADING_STATUS_ENABLED" +], +"enumDescriptions": [ +"Simultaneous Multithreading status unknown.", +"Simultaneous Multithreading is disabled or unavailable.", +"Simultaneous Multithreading is enabled." +], +"type": "string" +}, +"location": { +"description": "The location of the machine in the AWS format.", +"type": "string" +}, +"machineTypeLabel": { +"description": "AWS platform's machine type label.", +"type": "string" +} +}, +"type": "object" +}, +"AzureVmPlatformDetails": { +"description": "Azure VM specific details.", +"id": "AzureVmPlatformDetails", +"properties": { +"hyperthreading": { +"description": "Whether the machine is hyperthreaded.", +"enum": [ +"HYPERTHREADING_STATUS_UNSPECIFIED", +"HYPERTHREADING_STATUS_DISABLED", +"HYPERTHREADING_STATUS_ENABLED" +], +"enumDescriptions": [ +"Simultaneous Multithreading status unknown.", +"Simultaneous Multithreading is disabled or unavailable.", +"Simultaneous Multithreading is enabled." +], +"type": "string" +}, +"location": { +"description": "The location of the machine in the Azure format.", +"type": "string" +}, +"machineTypeLabel": { +"description": "Azure platform's machine type label.", +"type": "string" +}, +"provisioningState": { +"description": "Azure platform's provisioning state.", +"type": "string" +} +}, +"type": "object" +}, +"BatchDeleteAssetsRequest": { +"description": "A request to delete a list of asset.", +"id": "BatchDeleteAssetsRequest", +"properties": { +"allowMissing": { +"description": "Optional. When this value is set to `true` the request is a no-op for non-existing assets. See https://google.aip.dev/135#delete-if-existing for additional details. Default value is `false`.", +"type": "boolean" +}, +"names": { +"description": "Required. The IDs of the assets to delete. A maximum of 1000 assets can be deleted in a batch. Format: projects/{project}/locations/{location}/assets/{name}.", +"items": { +"type": "string" +}, +"type": "array" +} +}, +"type": "object" +}, +"BatchUpdateAssetsRequest": { +"description": "A request to update a list of assets.", +"id": "BatchUpdateAssetsRequest", +"properties": { +"requests": { +"description": "Required. The request message specifying the resources to update. A maximum of 1000 assets can be modified in a batch.", +"items": { +"$ref": "UpdateAssetRequest" +}, +"type": "array" +} +}, +"type": "object" +}, +"BatchUpdateAssetsResponse": { +"description": "Response for updating a list of assets.", +"id": "BatchUpdateAssetsResponse", +"properties": { +"assets": { +"description": "Update asset content. The content only includes values after field mask being applied.", +"items": { +"$ref": "Asset" +}, +"type": "array" +} +}, +"type": "object" +}, +"BiosDetails": { +"description": "Details about the BIOS.", +"id": "BiosDetails", +"properties": { +"biosName": { +"deprecated": true, +"description": "BIOS name. This fields is deprecated. Please use the `id` field instead.", +"type": "string" +}, +"id": { +"description": "BIOS ID.", +"type": "string" +}, +"manufacturer": { +"description": "BIOS manufacturer.", +"type": "string" +}, +"releaseDate": { +"$ref": "Date", +"description": "BIOS release date." +}, +"smbiosUuid": { +"description": "SMBIOS UUID.", +"type": "string" +}, +"version": { +"description": "BIOS version.", +"type": "string" +} +}, +"type": "object" +}, +"CancelOperationRequest": { +"description": "The request message for Operations.CancelOperation.", +"id": "CancelOperationRequest", +"properties": {}, +"type": "object" +}, +"ComputeEngineMigrationTarget": { +"description": "Compute engine migration target.", +"id": "ComputeEngineMigrationTarget", +"properties": { +"shape": { +"$ref": "ComputeEngineShapeDescriptor", +"description": "Description of the suggested shape for the migration target." +} +}, +"type": "object" +}, +"ComputeEnginePreferences": { +"description": "The user preferences relating to Compute Engine target platform.", +"id": "ComputeEnginePreferences", +"properties": { +"licenseType": { +"description": "License type to consider when calculating costs for virtual machine insights and recommendations. If unspecified, costs are calculated based on the default licensing plan.", +"enum": [ +"LICENSE_TYPE_UNSPECIFIED", +"LICENSE_TYPE_DEFAULT", +"LICENSE_TYPE_BRING_YOUR_OWN_LICENSE" +], +"enumDescriptions": [ +"Unspecified (default value).", +"Default Google Cloud licensing plan. Licensing is charged per usage. This a good value to start with.", +"Bring-your-own-license (BYOL) plan. User provides the OS license." +], +"type": "string" +}, +"machinePreferences": { +"$ref": "MachinePreferences", +"description": "Preferences concerning the machine types to consider on Compute Engine." +}, +"persistentDiskType": { +"description": "Persistent disk type to use. If unspecified (default), all types are considered, based on available usage data.", +"enum": [ +"PERSISTENT_DISK_TYPE_UNSPECIFIED", +"PERSISTENT_DISK_TYPE_STANDARD", +"PERSISTENT_DISK_TYPE_BALANCED", +"PERSISTENT_DISK_TYPE_SSD" +], +"enumDescriptions": [ +"Unspecified. Fallback to default value based on context.", +"Standard HDD Persistent Disk.", +"Balanced Persistent Disk.", +"SSD Persistent Disk." +], +"type": "string" +} +}, +"type": "object" +}, +"ComputeEngineShapeDescriptor": { +"description": "Compute Engine target shape descriptor.", +"id": "ComputeEngineShapeDescriptor", +"properties": { +"logicalCoreCount": { +"description": "Output only. Number of logical cores.", +"format": "int32", +"readOnly": true, +"type": "integer" +}, +"machineType": { +"description": "Output only. Compute Engine machine type.", +"readOnly": true, +"type": "string" +}, +"memoryMb": { +"description": "Memory in mebibytes.", +"format": "int32", +"type": "integer" +}, +"physicalCoreCount": { +"description": "Number of physical cores.", +"format": "int32", +"type": "integer" +}, +"series": { +"description": "Output only. Compute Engine machine series.", +"readOnly": true, +"type": "string" +}, +"storage": { +"description": "Output only. Compute Engine storage. Never empty.", +"items": { +"$ref": "ComputeStorageDescriptor" +}, +"readOnly": true, +"type": "array" +} +}, +"type": "object" +}, +"ComputeStorageDescriptor": { +"description": "Compute Engine storage option descriptor.", +"id": "ComputeStorageDescriptor", +"properties": { +"sizeGb": { +"description": "Output only. Disk size in GiB.", +"format": "int32", +"readOnly": true, +"type": "integer" +}, +"type": { +"description": "Output only. Disk type backing the storage.", +"enum": [ +"PERSISTENT_DISK_TYPE_UNSPECIFIED", +"PERSISTENT_DISK_TYPE_STANDARD", +"PERSISTENT_DISK_TYPE_BALANCED", +"PERSISTENT_DISK_TYPE_SSD" +], +"enumDescriptions": [ +"Unspecified. Fallback to default value based on context.", +"Standard HDD Persistent Disk.", +"Balanced Persistent Disk.", +"SSD Persistent Disk." +], +"readOnly": true, +"type": "string" +} +}, +"type": "object" +}, +"CpuUsageSample": { +"description": "CPU usage sample.", +"id": "CpuUsageSample", +"properties": { +"utilizedPercentage": { +"description": "Percentage of total CPU capacity utilized. Must be in the interval [0, 100]. On most systems can be calculated using 100 - idle percentage.", +"format": "float", +"type": "number" +} +}, +"type": "object" +}, +"DailyResourceUsageAggregation": { +"description": "Usage data aggregation for a single day.", +"id": "DailyResourceUsageAggregation", +"properties": { +"cpu": { +"$ref": "DailyResourceUsageAggregationCPU", +"description": "CPU usage." +}, +"date": { +"$ref": "Date", +"description": "Aggregation date. Day boundaries are at midnight UTC." +}, +"disk": { +"$ref": "DailyResourceUsageAggregationDisk", +"description": "Disk usage." +}, +"memory": { +"$ref": "DailyResourceUsageAggregationMemory", +"description": "Memory usage." +}, +"network": { +"$ref": "DailyResourceUsageAggregationNetwork", +"description": "Network usage." +} +}, +"type": "object" +}, +"DailyResourceUsageAggregationCPU": { +"description": "Statistical aggregation of CPU usage.", +"id": "DailyResourceUsageAggregationCPU", +"properties": { +"utilizationPercentage": { +"$ref": "DailyResourceUsageAggregationStats", +"description": "CPU utilization percentage." +} +}, +"type": "object" +}, +"DailyResourceUsageAggregationDisk": { +"description": "Statistical aggregation of disk usage.", +"id": "DailyResourceUsageAggregationDisk", +"properties": { +"iops": { +"$ref": "DailyResourceUsageAggregationStats", +"description": "Optional. Disk I/O operations per second." +}, +"readIops": { +"$ref": "DailyResourceUsageAggregationStats", +"description": "Optional. Disk read I/O operations per second." +}, +"writeIops": { +"$ref": "DailyResourceUsageAggregationStats", +"description": "Optional. Disk write I/O operations per second." +} +}, +"type": "object" +}, +"DailyResourceUsageAggregationMemory": { +"description": "Statistical aggregation of memory usage.", +"id": "DailyResourceUsageAggregationMemory", +"properties": { +"utilizationPercentage": { +"$ref": "DailyResourceUsageAggregationStats", +"description": "Memory utilization percentage." +} +}, +"type": "object" +}, +"DailyResourceUsageAggregationNetwork": { +"description": "Statistical aggregation of network usage.", +"id": "DailyResourceUsageAggregationNetwork", +"properties": { +"egressBps": { +"$ref": "DailyResourceUsageAggregationStats", +"description": "Network egress in B/s." +}, +"ingressBps": { +"$ref": "DailyResourceUsageAggregationStats", +"description": "Network ingress in B/s." +} +}, +"type": "object" +}, +"DailyResourceUsageAggregationStats": { +"description": "Statistical aggregation of samples for a single resource usage.", +"id": "DailyResourceUsageAggregationStats", +"properties": { +"average": { +"description": "Average usage value.", +"format": "float", +"type": "number" +}, +"median": { +"description": "Median usage value.", +"format": "float", +"type": "number" +}, +"ninteyFifthPercentile": { +"description": "95th percentile usage value.", +"format": "float", +"type": "number" +}, +"peak": { +"description": "Peak usage value.", +"format": "float", +"type": "number" +} +}, +"type": "object" +}, +"DatabaseDeploymentDetails": { +"description": "The details of a database deployment asset.", +"id": "DatabaseDeploymentDetails", +"properties": { +"aggregatedStats": { +"$ref": "DatabaseDeploymentDetailsAggregatedStats", +"description": "Output only. Aggregated stats for the database deployment.", +"readOnly": true +}, +"edition": { +"description": "Optional. The database deployment edition.", +"type": "string" +}, +"generatedId": { +"description": "Optional. The database deployment generated ID.", +"type": "string" +}, +"manualUniqueId": { +"description": "Optional. A manual unique ID set by the user.", +"type": "string" +}, +"mysql": { +"$ref": "MysqlDatabaseDeployment", +"description": "Optional. Details of a MYSQL database deployment." +}, +"postgresql": { +"$ref": "PostgreSqlDatabaseDeployment", +"description": "Optional. Details of a PostgreSQL database deployment." +}, +"sqlServer": { +"$ref": "SqlServerDatabaseDeployment", +"description": "Optional. Details of a Microsoft SQL Server database deployment." +}, +"topology": { +"$ref": "DatabaseDeploymentTopology", +"description": "Optional. Details of the database deployment topology." +}, +"version": { +"description": "Optional. The database deployment version.", +"type": "string" +} +}, +"type": "object" +}, +"DatabaseDeploymentDetailsAggregatedStats": { +"description": "Aggregated stats for the database deployment.", +"id": "DatabaseDeploymentDetailsAggregatedStats", +"properties": { +"databaseCount": { +"description": "Output only. The number of databases in the deployment.", +"format": "int32", +"readOnly": true, +"type": "integer" +} +}, +"type": "object" +}, +"DatabaseDeploymentTopology": { +"description": "Details of database deployment's topology.", +"id": "DatabaseDeploymentTopology", +"properties": { +"coreCount": { +"description": "Optional. Number of total logical cores.", +"format": "int32", +"type": "integer" +}, +"coreLimit": { +"description": "Optional. Number of total logical cores limited by db deployment.", +"format": "int32", +"type": "integer" +}, +"diskAllocatedBytes": { +"description": "Optional. Disk allocated in bytes.", +"format": "int64", +"type": "string" +}, +"diskUsedBytes": { +"description": "Optional. Disk used in bytes.", +"format": "int64", +"type": "string" +}, +"instances": { +"description": "Optional. List of database instances.", +"items": { +"$ref": "DatabaseInstance" +}, +"type": "array" +}, +"memoryBytes": { +"description": "Optional. Total memory in bytes.", +"format": "int64", +"type": "string" +}, +"memoryLimitBytes": { +"description": "Optional. Total memory in bytes limited by db deployment.", +"format": "int64", +"type": "string" +}, +"physicalCoreCount": { +"description": "Optional. Number of total physical cores.", +"format": "int32", +"type": "integer" +}, +"physicalCoreLimit": { +"description": "Optional. Number of total physical cores limited by db deployment.", +"format": "int32", +"type": "integer" +} +}, +"type": "object" +}, +"DatabaseDetails": { +"description": "Details of a logical database.", +"id": "DatabaseDetails", +"properties": { +"allocatedStorageBytes": { +"description": "Optional. The allocated storage for the database in bytes.", +"format": "int64", +"type": "string" +}, +"databaseName": { +"description": "Required. The name of the database.", +"type": "string" +}, +"parentDatabaseDeployment": { +"$ref": "DatabaseDetailsParentDatabaseDeployment", +"description": "Required. The parent database deployment that contains the logical database." +}, +"schemas": { +"description": "Optional. The database schemas.", +"items": { +"$ref": "DatabaseSchema" +}, +"type": "array" +} +}, +"type": "object" +}, +"DatabaseDetailsParentDatabaseDeployment": { +"description": "The identifiers of the parent database deployment.", +"id": "DatabaseDetailsParentDatabaseDeployment", +"properties": { +"generatedId": { +"description": "Optional. The parent database deployment generated ID.", +"type": "string" +}, +"manualUniqueId": { +"description": "Optional. The parent database deployment optional manual unique ID set by the user.", +"type": "string" +} +}, +"type": "object" +}, +"DatabaseInstance": { +"description": "Details of a database instance.", +"id": "DatabaseInstance", +"properties": { +"instanceName": { +"description": "Optional. The instance's name.", +"type": "string" +}, +"network": { +"$ref": "DatabaseInstanceNetwork", +"description": "Optional. Networking details." +}, +"role": { +"description": "Optional. The instance role in the database engine.", +"enum": [ +"ROLE_UNSPECIFIED", +"PRIMARY", +"SECONDARY", +"ARBITER" +], +"enumDescriptions": [ +"Unspecified.", +"Primary.", +"Secondary.", +"Arbiter." +], +"type": "string" +} +}, +"type": "object" +}, +"DatabaseInstanceNetwork": { +"description": "Network details of a database instance.", +"id": "DatabaseInstanceNetwork", +"properties": { +"hostNames": { +"description": "Optional. The instance's host names.", +"items": { +"type": "string" +}, +"type": "array" +}, +"ipAddresses": { +"description": "Optional. The instance's IP addresses.", +"items": { +"type": "string" +}, +"type": "array" +}, +"primaryMacAddress": { +"description": "Optional. The instance's primary MAC address.", +"type": "string" +} +}, +"type": "object" +}, +"DatabaseObjects": { +"description": "Details of a group of database objects.", +"id": "DatabaseObjects", +"properties": { +"category": { +"description": "Optional. The category of the objects.", +"enum": [ +"CATEGORY_UNSPECIFIED", +"TABLE", +"INDEX", +"CONSTRAINTS", +"VIEWS", +"SOURCE_CODE", +"OTHER" +], +"enumDescriptions": [ +"Unspecified type.", +"Table.", +"Index.", +"Constraints.", +"Views.", +"Source code, e.g. procedures.", +"Uncategorized objects." +], +"type": "string" +}, +"count": { +"description": "Optional. The number of objects.", +"format": "int64", +"type": "string" +} +}, +"type": "object" +}, +"DatabaseSchema": { +"description": "Details of a database schema.", +"id": "DatabaseSchema", +"properties": { +"mysql": { +"$ref": "MySqlSchemaDetails", +"description": "Optional. Details of a Mysql schema." +}, +"objects": { +"description": "Optional. List of details of objects by category.", +"items": { +"$ref": "DatabaseObjects" +}, +"type": "array" +}, +"postgresql": { +"$ref": "PostgreSqlSchemaDetails", +"description": "Optional. Details of a PostgreSql schema." +}, +"schemaName": { +"description": "Required. The name of the schema.", +"type": "string" +}, +"sqlServer": { +"$ref": "SqlServerSchemaDetails", +"description": "Optional. Details of a SqlServer schema." +}, +"tablesSizeBytes": { +"description": "Optional. The total size of tables in bytes.", +"format": "int64", +"type": "string" +} +}, +"type": "object" +}, +"Date": { +"description": "Represents a whole or partial calendar date, such as a birthday. The time of day and time zone are either specified elsewhere or are insignificant. The date is relative to the Gregorian Calendar. This can represent one of the following: * A full date, with non-zero year, month, and day values. * A month and day, with a zero year (for example, an anniversary). * A year on its own, with a zero month and a zero day. * A year and month, with a zero day (for example, a credit card expiration date). Related types: * google.type.TimeOfDay * google.type.DateTime * google.protobuf.Timestamp", +"id": "Date", +"properties": { +"day": { +"description": "Day of a month. Must be from 1 to 31 and valid for the year and month, or 0 to specify a year by itself or a year and month where the day isn't significant.", +"format": "int32", +"type": "integer" +}, +"month": { +"description": "Month of a year. Must be from 1 to 12, or 0 to specify a year without a month and day.", +"format": "int32", +"type": "integer" +}, +"year": { +"description": "Year of the date. Must be from 1 to 9999, or 0 to specify a date without a year.", +"format": "int32", +"type": "integer" +} +}, +"type": "object" +}, +"DiscoveryClient": { +"description": "Represents an installed Migration Center Discovery Client instance.", +"id": "DiscoveryClient", +"properties": { +"createTime": { +"description": "Output only. Time when the discovery client was first created.", +"format": "google-datetime", +"readOnly": true, +"type": "string" +}, +"description": { +"description": "Optional. Free text description. Maximum length is 1000 characters.", +"type": "string" +}, +"displayName": { +"description": "Optional. Free text display name. Maximum length is 63 characters.", +"type": "string" +}, +"errors": { +"description": "Output only. Errors affecting client functionality.", +"items": { +"$ref": "Status" +}, +"readOnly": true, +"type": "array" +}, +"expireTime": { +"description": "Optional. Client expiration time in UTC. If specified, the backend will not accept new frames after this time.", +"format": "google-datetime", +"type": "string" +}, +"heartbeatTime": { +"description": "Output only. Last heartbeat time. Healthy clients are expected to send heartbeats regularly (normally every few minutes).", +"format": "google-datetime", +"readOnly": true, +"type": "string" +}, +"labels": { +"additionalProperties": { +"type": "string" +}, +"description": "Optional. Labels as key value pairs.", +"type": "object" +}, +"name": { +"description": "Output only. Identifier. Full name of this discovery client.", +"readOnly": true, +"type": "string" +}, +"serviceAccount": { +"description": "Required. Service account used by the discovery client for various operation.", +"type": "string" +}, +"signalsEndpoint": { +"description": "Output only. This field is intended for internal use.", +"readOnly": true, +"type": "string" +}, +"source": { +"description": "Required. Immutable. Full name of the source object associated with this discovery client.", +"type": "string" +}, +"state": { +"description": "Output only. Current state of the discovery client.", +"enum": [ +"STATE_UNSPECIFIED", +"ACTIVE", +"OFFLINE", +"DEGRADED", +"EXPIRED" +], +"enumDescriptions": [ +"Client state is unspecified.", +"Client is active.", +"Client is offline.", +"Client is in a degraded state. See the `errors` field for details.", +"Client has expired. See the expire_time field for the expire time." +], +"readOnly": true, +"type": "string" +}, +"ttl": { +"description": "Optional. Input only. Client time-to-live. If specified, the backend will not accept new frames after this time. This field is input only. The derived expiration time is provided as output through the `expire_time` field.", +"format": "google-duration", +"type": "string" +}, +"updateTime": { +"description": "Output only. Time when the discovery client was last updated. This value is not updated by heartbeats, to view the last heartbeat time please refer to the `heartbeat_time` field.", +"format": "google-datetime", +"readOnly": true, +"type": "string" +}, +"version": { +"description": "Output only. Client version, as reported in recent heartbeat.", +"readOnly": true, +"type": "string" +} +}, +"type": "object" +}, +"DiskEntry": { +"description": "Single disk entry.", +"id": "DiskEntry", +"properties": { +"capacityBytes": { +"description": "Disk capacity.", +"format": "int64", +"type": "string" +}, +"diskLabel": { +"description": "Disk label.", +"type": "string" +}, +"diskLabelType": { +"description": "Disk label type (e.g. BIOS/GPT)", +"type": "string" +}, +"freeBytes": { +"description": "Disk free space.", +"format": "int64", +"type": "string" +}, +"hwAddress": { +"description": "Disk hardware address (e.g. 0:1 for SCSI).", +"type": "string" +}, +"interfaceType": { +"description": "Disks interface type.", +"enum": [ +"INTERFACE_TYPE_UNSPECIFIED", +"IDE", +"SATA", +"SAS", +"SCSI", +"NVME", +"FC", +"ISCSI" +], +"enumDescriptions": [ +"Interface type unknown or unspecified.", +"IDE interface type.", +"SATA interface type.", +"SAS interface type.", +"SCSI interface type.", +"NVME interface type.", +"FC interface type.", +"iSCSI interface type." +], +"type": "string" +}, +"partitions": { +"$ref": "DiskPartitionList", +"description": "Partition layout." +}, +"vmware": { +"$ref": "VmwareDiskConfig", +"description": "VMware disk details." +} +}, +"type": "object" +}, +"DiskEntryList": { +"description": "VM disks.", +"id": "DiskEntryList", +"properties": { +"entries": { +"description": "Disk entries.", +"items": { +"$ref": "DiskEntry" +}, +"type": "array" +} +}, +"type": "object" +}, +"DiskPartition": { +"description": "Disk Partition details.", +"id": "DiskPartition", +"properties": { +"capacityBytes": { +"description": "Partition capacity.", +"format": "int64", +"type": "string" +}, +"fileSystem": { +"description": "Partition file system.", +"type": "string" +}, +"freeBytes": { +"description": "Partition free space.", +"format": "int64", +"type": "string" +}, +"mountPoint": { +"description": "Mount pount (Linux/Windows) or drive letter (Windows).", +"type": "string" +}, +"subPartitions": { +"$ref": "DiskPartitionList", +"description": "Sub-partitions." +}, +"type": { +"description": "Partition type.", +"type": "string" +}, +"uuid": { +"description": "Partition UUID.", +"type": "string" +} +}, +"type": "object" +}, +"DiskPartitionList": { +"description": "Disk partition list.", +"id": "DiskPartitionList", +"properties": { +"entries": { +"description": "Partition entries.", +"items": { +"$ref": "DiskPartition" +}, +"type": "array" +} +}, +"type": "object" +}, +"DiskUsageSample": { +"description": "Disk usage sample. Values are across all disks.", +"id": "DiskUsageSample", +"properties": { +"averageIops": { +"description": "Optional. Average IOPS sampled over a short window. Must be non-negative. Must be equal to the sum of read and write if one of them is positive. if both read and write are zero they are ignored.", +"format": "float", +"type": "number" +}, +"averageReadIops": { +"description": "Optional. Average read IOPS sampled over a short window. Must be non-negative.", +"format": "float", +"type": "number" +}, +"averageWriteIops": { +"description": "Optional. Average write IOPS sampled over a short window. Must be non-negative.", +"format": "float", +"type": "number" +} +}, +"type": "object" +}, +"Empty": { +"description": "A generic empty message that you can re-use to avoid defining duplicated empty messages in your APIs. A typical example is to use it as the request or the response type of an API method. For instance: service Foo { rpc Bar(google.protobuf.Empty) returns (google.protobuf.Empty); }", +"id": "Empty", +"properties": {}, +"type": "object" +}, +"ErrorFrame": { +"description": "Message representing a frame which failed to be processed due to an error.", +"id": "ErrorFrame", +"properties": { +"ingestionTime": { +"description": "Output only. Frame ingestion time.", +"format": "google-datetime", +"readOnly": true, +"type": "string" +}, +"name": { +"description": "Output only. The identifier of the ErrorFrame.", +"readOnly": true, +"type": "string" +}, +"originalFrame": { +"$ref": "AssetFrame", +"description": "Output only. The frame that was originally reported.", +"readOnly": true +}, +"violations": { +"description": "Output only. All the violations that were detected for the frame.", +"items": { +"$ref": "FrameViolationEntry" +}, +"readOnly": true, +"type": "array" +} +}, +"type": "object" +}, +"ExecutionReport": { +"description": "A resource that reports result of the import job execution.", +"id": "ExecutionReport", +"properties": { +"executionErrors": { +"$ref": "ValidationReport", +"description": "Validation errors encountered during the execution of the import job." +}, +"framesReported": { +"description": "Total number of asset frames reported for the import job.", +"format": "int32", +"type": "integer" +}, +"totalRowsCount": { +"description": "Output only. Total number of rows in the import job.", +"format": "int32", +"readOnly": true, +"type": "integer" +} +}, +"type": "object" +}, +"FileValidationReport": { +"description": "A resource that aggregates the validation errors found in an import job file.", +"id": "FileValidationReport", +"properties": { +"fileErrors": { +"description": "List of file level errors.", +"items": { +"$ref": "ImportError" +}, +"type": "array" +}, +"fileName": { +"description": "The name of the file.", +"type": "string" +}, +"partialReport": { +"description": "Flag indicating that processing was aborted due to maximum number of errors.", +"type": "boolean" +}, +"rowErrors": { +"description": "Partial list of rows that encountered validation error.", +"items": { +"$ref": "ImportRowError" +}, +"type": "array" +} +}, +"type": "object" +}, +"FitDescriptor": { +"description": "Describes the fit level of an asset for migration to a specific target.", +"id": "FitDescriptor", +"properties": { +"fitLevel": { +"description": "Output only. Fit level.", +"enum": [ +"FIT_LEVEL_UNSPECIFIED", +"FIT", +"NO_FIT", +"REQUIRES_EFFORT" +], +"enumDescriptions": [ +"Not enough information.", +"Fit.", +"No Fit.", +"Fit with effort." +], +"readOnly": true, +"type": "string" +} +}, +"type": "object" +}, +"FrameViolationEntry": { +"description": "A resource that contains a single violation of a reported `AssetFrame` resource.", +"id": "FrameViolationEntry", +"properties": { +"field": { +"description": "The field of the original frame where the violation occurred.", +"type": "string" +}, +"violation": { +"description": "A message describing the violation.", +"type": "string" +} +}, +"type": "object" +}, +"Frames": { +"description": "Collection of frame data.", +"id": "Frames", +"properties": { +"framesData": { +"description": "A repeated field of asset data.", +"items": { +"$ref": "AssetFrame" +}, +"type": "array" +} +}, +"type": "object" +}, +"FstabEntry": { +"description": "Single fstab entry.", +"id": "FstabEntry", +"properties": { +"file": { +"description": "The mount point for the filesystem.", +"type": "string" +}, +"freq": { +"description": "Used by dump to determine which filesystems need to be dumped.", +"format": "int32", +"type": "integer" +}, +"mntops": { +"description": "Mount options associated with the filesystem.", +"type": "string" +}, +"passno": { +"description": "Used by the fsck(8) program to determine the order in which filesystem checks are done at reboot time.", +"format": "int32", +"type": "integer" +}, +"spec": { +"description": "The block special device or remote filesystem to be mounted.", +"type": "string" +}, +"vfstype": { +"description": "The type of the filesystem.", +"type": "string" +} +}, +"type": "object" +}, +"FstabEntryList": { +"description": "Fstab content.", +"id": "FstabEntryList", +"properties": { +"entries": { +"description": "Fstab entries.", +"items": { +"$ref": "FstabEntry" +}, +"type": "array" +} +}, +"type": "object" +}, +"GenericInsight": { +"description": "A generic insight about an asset.", +"id": "GenericInsight", +"properties": { +"additionalInformation": { +"description": "Output only. Additional information about the insight, each entry can be a logical entry and must make sense if it is displayed with line breaks between each entry. Text can contain md style links.", +"items": { +"type": "string" +}, +"readOnly": true, +"type": "array" +}, +"defaultMessage": { +"description": "Output only. In case message_code is not yet known by the client default_message will be the message to be used instead.", +"readOnly": true, +"type": "string" +}, +"messageId": { +"description": "Output only. Represents a globally unique message id for this insight, can be used for localization purposes, in case message_code is not yet known by the client use default_message instead.", +"format": "int64", +"readOnly": true, +"type": "string" +} +}, +"type": "object" +}, +"GenericPlatformDetails": { +"description": "Generic platform details.", +"id": "GenericPlatformDetails", +"properties": { +"hyperthreading": { +"description": "Whether the machine is hyperthreaded.", +"enum": [ +"HYPERTHREADING_STATUS_UNSPECIFIED", +"HYPERTHREADING_STATUS_DISABLED", +"HYPERTHREADING_STATUS_ENABLED" +], +"enumDescriptions": [ +"Simultaneous Multithreading status unknown.", +"Simultaneous Multithreading is disabled or unavailable.", +"Simultaneous Multithreading is enabled." +], +"type": "string" +}, +"location": { +"description": "Free text representation of the machine location. The format of this field should not be relied on. Different VMs in the same location may have different string values for this field.", +"type": "string" +} +}, +"type": "object" +}, +"Group": { +"description": "A resource that represents an asset group. The purpose of an asset group is to bundle a set of assets that have something in common, while allowing users to add annotations to the group. An asset can belong to multiple groups.", +"id": "Group", +"properties": { +"createTime": { +"description": "Output only. The timestamp when the group was created.", +"format": "google-datetime", +"readOnly": true, +"type": "string" +}, +"description": { +"description": "Optional. The description of the group.", +"type": "string" +}, +"displayName": { +"description": "Optional. User-friendly display name.", +"type": "string" +}, +"labels": { +"additionalProperties": { +"type": "string" +}, +"description": "Labels as key value pairs.", +"type": "object" +}, +"name": { +"description": "Output only. The name of the group.", +"readOnly": true, +"type": "string" +}, +"updateTime": { +"description": "Output only. The timestamp when the group was last updated.", +"format": "google-datetime", +"readOnly": true, +"type": "string" +} +}, +"type": "object" +}, +"GuestConfigDetails": { +"description": "Guest OS config information.", +"id": "GuestConfigDetails", +"properties": { +"fstab": { +"$ref": "FstabEntryList", +"description": "Mount list (Linux fstab)." +}, +"hosts": { +"$ref": "HostsEntryList", +"description": "Hosts file (/etc/hosts)." +}, +"issue": { +"description": "OS issue (typically /etc/issue in Linux).", +"type": "string" +}, +"nfsExports": { +"$ref": "NfsExportList", +"description": "NFS exports." +}, +"selinuxMode": { +"description": "Security-Enhanced Linux (SELinux) mode.", +"enum": [ +"SE_LINUX_MODE_UNSPECIFIED", +"SE_LINUX_MODE_DISABLED", +"SE_LINUX_MODE_PERMISSIVE", +"SE_LINUX_MODE_ENFORCING" +], +"enumDescriptions": [ +"SELinux mode unknown or unspecified.", +"SELinux is disabled.", +"SELinux permissive mode.", +"SELinux enforcing mode." +], +"type": "string" +} +}, +"type": "object" +}, +"GuestInstalledApplication": { +"description": "Guest installed application information.", +"id": "GuestInstalledApplication", +"properties": { +"applicationName": { +"description": "Installed application name.", +"type": "string" +}, +"installTime": { +"description": "The time when the application was installed.", +"format": "google-datetime", +"type": "string" +}, +"licenses": { +"description": "License strings associated with the installed application.", +"items": { +"type": "string" +}, +"type": "array" +}, +"path": { +"description": "Source path.", +"type": "string" +}, +"vendor": { +"description": "Installed application vendor.", +"type": "string" +}, +"version": { +"description": "Installed application version.", +"type": "string" +} +}, +"type": "object" +}, +"GuestInstalledApplicationList": { +"description": "Guest installed application list.", +"id": "GuestInstalledApplicationList", +"properties": { +"entries": { +"description": "Application entries.", +"items": { +"$ref": "GuestInstalledApplication" +}, +"type": "array" +} +}, +"type": "object" +}, +"GuestOsDetails": { +"description": "Information from Guest-level collections.", +"id": "GuestOsDetails", +"properties": { +"config": { +"$ref": "GuestConfigDetails", +"description": "OS and app configuration." +}, +"family": { +"description": "What family the OS belong to, if known.", +"enum": [ +"OS_FAMILY_UNKNOWN", +"OS_FAMILY_WINDOWS", +"OS_FAMILY_LINUX", +"OS_FAMILY_UNIX" +], +"enumDescriptions": [ +"", +"Microsoft Windows Server and Desktop.", +"Various Linux flavors.", +"Non-Linux Unix flavors." +], +"type": "string" +}, +"osName": { +"description": "The name of the operating system.", +"type": "string" +}, +"runtime": { +"$ref": "GuestRuntimeDetails", +"description": "Runtime information." +}, +"version": { +"description": "The version of the operating system.", +"type": "string" +} +}, +"type": "object" +}, +"GuestRuntimeDetails": { +"description": "Guest OS runtime information.", +"id": "GuestRuntimeDetails", +"properties": { +"domain": { +"description": "Domain, e.g. c.stratozone-development.internal.", +"type": "string" +}, +"installedApps": { +"$ref": "GuestInstalledApplicationList", +"description": "Installed applications information." +}, +"lastBootTime": { +"description": "Last time the OS was booted.", +"format": "google-datetime", +"type": "string" +}, +"machineName": { +"description": "Machine name.", +"type": "string" +}, +"network": { +"$ref": "RuntimeNetworkInfo", +"description": "Runtime network information (connections, ports)." +}, +"openFileList": { +"$ref": "OpenFileList", +"description": "Open files information." +}, +"processes": { +"$ref": "RunningProcessList", +"description": "Running processes." +}, +"services": { +"$ref": "RunningServiceList", +"description": "Running background services." +} +}, +"type": "object" +}, +"HostsEntry": { +"description": "Single /etc/hosts entry.", +"id": "HostsEntry", +"properties": { +"hostNames": { +"description": "List of host names / aliases.", +"items": { +"type": "string" +}, +"type": "array" +}, +"ip": { +"description": "IP (raw, IPv4/6 agnostic).", +"type": "string" +} +}, +"type": "object" +}, +"HostsEntryList": { +"description": "Hosts content.", +"id": "HostsEntryList", +"properties": { +"entries": { +"description": "Hosts entries.", +"items": { +"$ref": "HostsEntry" +}, +"type": "array" +} +}, +"type": "object" +}, +"ImportDataFile": { +"description": "A resource that represents a payload file in an import job.", +"id": "ImportDataFile", +"properties": { +"createTime": { +"description": "Output only. The timestamp when the file was created.", +"format": "google-datetime", +"readOnly": true, +"type": "string" +}, +"displayName": { +"description": "User-friendly display name. Maximum length is 63 characters.", +"type": "string" +}, +"format": { +"description": "Required. The payload format.", +"enum": [ +"IMPORT_JOB_FORMAT_UNSPECIFIED", +"IMPORT_JOB_FORMAT_RVTOOLS_XLSX", +"IMPORT_JOB_FORMAT_RVTOOLS_CSV", +"IMPORT_JOB_FORMAT_EXPORTED_AWS_CSV", +"IMPORT_JOB_FORMAT_EXPORTED_AZURE_CSV", +"IMPORT_JOB_FORMAT_STRATOZONE_CSV", +"IMPORT_JOB_FORMAT_DATABASE_ZIP" +], +"enumDescriptions": [ +"Default value.", +"RVTools format (XLSX).", +"RVTools format (CSV).", +"CSV format exported from AWS using the AWS collection script.", +"CSV format exported from Azure using the Azure collection script.", +"CSV format created manually and following the StratoZone format. For more information, see Manually create and upload data tables.", +"ZIP file with nested CSV files generated by a database collector." +], +"type": "string" +}, +"name": { +"description": "Output only. The name of the file.", +"readOnly": true, +"type": "string" +}, +"state": { +"description": "Output only. The state of the import data file.", +"enum": [ +"STATE_UNSPECIFIED", +"CREATING", +"ACTIVE" +], +"enumDescriptions": [ +"Default value.", +"The data file is being created.", +"The data file completed initialization." +], +"readOnly": true, +"type": "string" +}, +"uploadFileInfo": { +"$ref": "UploadFileInfo", +"description": "Information about a file that is uploaded to a storage service." +} +}, +"type": "object" +}, +"ImportError": { +"description": "A resource that reports the errors encountered while processing an import job.", +"id": "ImportError", +"properties": { +"errorDetails": { +"description": "The error information.", +"type": "string" +}, +"severity": { +"description": "The severity of the error.", +"enum": [ +"SEVERITY_UNSPECIFIED", +"ERROR", +"WARNING", +"INFO" +], +"enumDescriptions": [ +"", +"", +"", +"" +], +"type": "string" +} +}, +"type": "object" +}, +"ImportJob": { +"description": "A resource that represents the background job that imports asset frames.", +"id": "ImportJob", +"properties": { +"assetSource": { +"description": "Required. Reference to a source.", +"type": "string" +}, +"completeTime": { +"description": "Output only. The timestamp when the import job was completed.", +"format": "google-datetime", +"readOnly": true, +"type": "string" +}, +"createTime": { +"description": "Output only. The timestamp when the import job was created.", +"format": "google-datetime", +"readOnly": true, +"type": "string" +}, +"displayName": { +"description": "Optional. User-friendly display name. Maximum length is 256 characters.", +"type": "string" +}, +"executionReport": { +"$ref": "ExecutionReport", +"description": "Output only. The report with the results of running the import job.", +"readOnly": true +}, +"labels": { +"additionalProperties": { +"type": "string" +}, +"description": "Labels as key value pairs.", +"type": "object" +}, +"name": { +"description": "Output only. The full name of the import job.", +"readOnly": true, +"type": "string" +}, +"state": { +"description": "Output only. The state of the import job.", +"enum": [ +"IMPORT_JOB_STATE_UNSPECIFIED", +"IMPORT_JOB_STATE_PENDING", +"IMPORT_JOB_STATE_RUNNING", +"IMPORT_JOB_STATE_COMPLETED", +"IMPORT_JOB_STATE_FAILED", +"IMPORT_JOB_STATE_VALIDATING", +"IMPORT_JOB_STATE_FAILED_VALIDATION", +"IMPORT_JOB_STATE_READY" +], +"enumDescriptions": [ +"Default value.", +"The import job is pending.", +"The processing of the import job is ongoing.", +"The import job processing has completed.", +"The import job failed to be processed.", +"The import job is being validated.", +"The import job contains blocking errors.", +"The validation of the job completed with no blocking errors." +], +"readOnly": true, +"type": "string" +}, +"updateTime": { +"description": "Output only. The timestamp when the import job was last updated.", +"format": "google-datetime", +"readOnly": true, +"type": "string" +}, +"validationReport": { +"$ref": "ValidationReport", +"description": "Output only. The report with the validation results of the import job.", +"readOnly": true +} +}, +"type": "object" +}, +"ImportRowError": { +"description": "A resource that reports the import job errors at row level.", +"id": "ImportRowError", +"properties": { +"archiveError": { +"$ref": "ImportRowErrorArchiveErrorDetails", +"description": "Error details for an archive file." +}, +"assetTitle": { +"description": "Output only. The asset title.", +"readOnly": true, +"type": "string" +}, +"csvError": { +"$ref": "ImportRowErrorCsvErrorDetails", +"description": "Error details for a CSV file." +}, +"errors": { +"description": "The list of errors detected in the row.", +"items": { +"$ref": "ImportError" +}, +"type": "array" +}, +"rowNumber": { +"deprecated": true, +"description": "The row number where the error was detected.", +"format": "int32", +"type": "integer" +}, +"vmName": { +"description": "The name of the VM in the row.", +"type": "string" +}, +"vmUuid": { +"description": "The VM UUID.", +"type": "string" +}, +"xlsxError": { +"$ref": "ImportRowErrorXlsxErrorDetails", +"description": "Error details for an XLSX file." +} +}, +"type": "object" +}, +"ImportRowErrorArchiveErrorDetails": { +"description": "Error details for an archive file.", +"id": "ImportRowErrorArchiveErrorDetails", +"properties": { +"csvError": { +"$ref": "ImportRowErrorCsvErrorDetails", +"description": "Error details for a CSV file." +}, +"filePath": { +"description": "Output only. The file path inside the archive where the error was detected.", +"readOnly": true, +"type": "string" +} +}, +"type": "object" +}, +"ImportRowErrorCsvErrorDetails": { +"description": "Error details for a CSV file.", +"id": "ImportRowErrorCsvErrorDetails", +"properties": { +"rowNumber": { +"description": "The row number where the error was detected.", +"format": "int32", +"type": "integer" +} +}, +"type": "object" +}, +"ImportRowErrorXlsxErrorDetails": { +"description": "Error details for an XLSX file.", +"id": "ImportRowErrorXlsxErrorDetails", +"properties": { +"rowNumber": { +"description": "The row number where the error was detected.", +"format": "int32", +"type": "integer" +}, +"sheet": { +"description": "The name of the sheet where the error was detected.", +"type": "string" +} +}, +"type": "object" +}, +"Insight": { +"description": "An insight about an asset.", +"id": "Insight", +"properties": { +"genericInsight": { +"$ref": "GenericInsight", +"description": "Output only. A generic insight about an asset.", +"readOnly": true +}, +"migrationInsight": { +"$ref": "MigrationInsight", +"description": "Output only. An insight about potential migrations for an asset.", +"readOnly": true +} +}, +"type": "object" +}, +"InsightList": { +"description": "Message containing insights list.", +"id": "InsightList", +"properties": { +"insights": { +"description": "Output only. Insights of the list.", +"items": { +"$ref": "Insight" +}, +"readOnly": true, +"type": "array" +}, +"updateTime": { +"description": "Output only. Update timestamp.", +"format": "google-datetime", +"readOnly": true, +"type": "string" +} +}, +"type": "object" +}, +"ListAssetsResponse": { +"description": "Response message for listing assets.", +"id": "ListAssetsResponse", +"properties": { +"assets": { +"description": "A list of assets.", +"items": { +"$ref": "Asset" +}, +"type": "array" +}, +"nextPageToken": { +"description": "A token identifying a page of results the server should return.", +"type": "string" +}, +"unreachable": { +"description": "Locations that could not be reached.", +"items": { +"type": "string" +}, +"type": "array" +} +}, +"type": "object" +}, +"ListDiscoveryClientsResponse": { +"description": "Response message for listing discovery clients.", +"id": "ListDiscoveryClientsResponse", +"properties": { +"discoveryClients": { +"description": "List of discovery clients.", +"items": { +"$ref": "DiscoveryClient" +}, +"type": "array" +}, +"nextPageToken": { +"description": "A token that can be sent as `page_token` to retrieve the next page. If this field is omitted, there are no subsequent pages.", +"type": "string" +}, +"unreachable": { +"description": "Locations that could not be reached.", +"items": { +"type": "string" +}, +"type": "array" +} +}, +"type": "object" +}, +"ListErrorFramesResponse": { +"description": "A response for listing error frames.", +"id": "ListErrorFramesResponse", +"properties": { +"errorFrames": { +"description": "The list of error frames.", +"items": { +"$ref": "ErrorFrame" +}, +"type": "array" +}, +"nextPageToken": { +"description": "A token identifying a page of results the server should return.", +"type": "string" +}, +"unreachable": { +"description": "Locations that could not be reached.", +"items": { +"type": "string" +}, +"type": "array" +} +}, +"type": "object" +}, +"ListGroupsResponse": { +"description": "A response for listing groups.", +"id": "ListGroupsResponse", +"properties": { +"groups": { +"description": "The list of Group", +"items": { +"$ref": "Group" +}, +"type": "array" +}, +"nextPageToken": { +"description": "A token identifying a page of results the server should return.", +"type": "string" +}, +"unreachable": { +"description": "Locations that could not be reached.", +"items": { +"type": "string" +}, +"type": "array" +} +}, +"type": "object" +}, +"ListImportDataFilesResponse": { +"description": "Response for listing payload files of an import job.", +"id": "ListImportDataFilesResponse", +"properties": { +"importDataFiles": { +"description": "The list of import data files.", +"items": { +"$ref": "ImportDataFile" +}, +"type": "array" +}, +"nextPageToken": { +"description": "A token that can be sent as `page_token` to retrieve the next page. If this field is omitted, there are no subsequent pages.", +"type": "string" +}, +"unreachable": { +"description": "Locations that could not be reached.", +"items": { +"type": "string" +}, +"type": "array" +} +}, +"type": "object" +}, +"ListImportJobsResponse": { +"description": "A response for listing import jobs.", +"id": "ListImportJobsResponse", +"properties": { +"importJobs": { +"description": "The list of import jobs.", +"items": { +"$ref": "ImportJob" +}, +"type": "array" +}, +"nextPageToken": { +"description": "A token identifying a page of results the server should return.", +"type": "string" +}, +"unreachable": { +"description": "Locations that could not be reached.", +"items": { +"type": "string" +}, +"type": "array" +} +}, +"type": "object" +}, +"ListLocationsResponse": { +"description": "The response message for Locations.ListLocations.", +"id": "ListLocationsResponse", +"properties": { +"locations": { +"description": "A list of locations that matches the specified filter in the request.", +"items": { +"$ref": "Location" +}, +"type": "array" +}, +"nextPageToken": { +"description": "The standard List next-page token.", +"type": "string" +} +}, +"type": "object" +}, +"ListOperationsResponse": { +"description": "The response message for Operations.ListOperations.", +"id": "ListOperationsResponse", +"properties": { +"nextPageToken": { +"description": "The standard List next-page token.", +"type": "string" +}, +"operations": { +"description": "A list of operations that matches the specified filter in the request.", +"items": { +"$ref": "Operation" +}, +"type": "array" +} +}, +"type": "object" +}, +"ListPreferenceSetsResponse": { +"description": "Response message for listing preference sets.", +"id": "ListPreferenceSetsResponse", +"properties": { +"nextPageToken": { +"description": "A token identifying a page of results the server should return.", +"type": "string" +}, +"preferenceSets": { +"description": "The list of PreferenceSets", +"items": { +"$ref": "PreferenceSet" +}, +"type": "array" +}, +"unreachable": { +"description": "Locations that could not be reached.", +"items": { +"type": "string" +}, +"type": "array" +} +}, +"type": "object" +}, +"ListReportConfigsResponse": { +"description": "Response message for listing report configs.", +"id": "ListReportConfigsResponse", +"properties": { +"nextPageToken": { +"description": "A token identifying a page of results the server should return.", +"type": "string" +}, +"reportConfigs": { +"description": "A list of report configs.", +"items": { +"$ref": "ReportConfig" +}, +"type": "array" +}, +"unreachable": { +"description": "Locations that could not be reached.", +"items": { +"type": "string" +}, +"type": "array" +} +}, +"type": "object" +}, +"ListReportsResponse": { +"description": "Response message for listing Reports.", +"id": "ListReportsResponse", +"properties": { +"nextPageToken": { +"description": "A token identifying a page of results the server should return.", +"type": "string" +}, +"reports": { +"description": "The list of Reports.", +"items": { +"$ref": "Report" +}, +"type": "array" +}, +"unreachable": { +"description": "Locations that could not be reached.", +"items": { +"type": "string" +}, +"type": "array" +} +}, +"type": "object" +}, +"ListSourcesResponse": { +"description": "Response message for listing sources.", +"id": "ListSourcesResponse", +"properties": { +"nextPageToken": { +"description": "A token identifying a page of results the server should return.", +"type": "string" +}, +"sources": { +"description": "The list of sources.", +"items": { +"$ref": "Source" +}, +"type": "array" +}, +"unreachable": { +"description": "Locations that could not be reached.", +"items": { +"type": "string" +}, +"type": "array" +} +}, +"type": "object" +}, +"Location": { +"description": "A resource that represents a Google Cloud location.", +"id": "Location", +"properties": { +"displayName": { +"description": "The friendly name for this location, typically a nearby city name. For example, \"Tokyo\".", +"type": "string" +}, +"labels": { +"additionalProperties": { +"type": "string" +}, +"description": "Cross-service attributes for the location. For example {\"cloud.googleapis.com/region\": \"us-east1\"}", +"type": "object" +}, +"locationId": { +"description": "The canonical id for this location. For example: `\"us-east1\"`.", +"type": "string" +}, +"metadata": { +"additionalProperties": { +"description": "Properties of the object. Contains field @type with type URL.", +"type": "any" +}, +"description": "Service-specific metadata. For example the available capacity at the given location.", +"type": "object" +}, +"name": { +"description": "Resource name for the location, which may vary between implementations. For example: `\"projects/example-project/locations/us-east1\"`", +"type": "string" +} +}, +"type": "object" +}, +"MachineArchitectureDetails": { +"description": "Details of the machine architecture.", +"id": "MachineArchitectureDetails", +"properties": { +"bios": { +"$ref": "BiosDetails", +"description": "BIOS Details." +}, +"cpuArchitecture": { +"description": "CPU architecture, e.g., \"x64-based PC\", \"x86_64\", \"i686\" etc.", +"type": "string" +}, +"cpuManufacturer": { +"description": "Optional. CPU manufacturer, e.g., \"Intel\", \"AMD\".", +"type": "string" +}, +"cpuName": { +"description": "CPU name, e.g., \"Intel Xeon E5-2690\", \"AMD EPYC 7571\" etc.", +"type": "string" +}, +"cpuSocketCount": { +"description": "Number of processor sockets allocated to the machine.", +"format": "int32", +"type": "integer" +}, +"cpuThreadCount": { +"deprecated": true, +"description": "Deprecated: use MachineDetails.core_count instead. Number of CPU threads allocated to the machine.", +"format": "int32", +"type": "integer" +}, +"firmwareType": { +"description": "Firmware type.", +"enum": [ +"FIRMWARE_TYPE_UNSPECIFIED", +"BIOS", +"EFI" +], +"enumDescriptions": [ +"Unspecified or unknown.", +"BIOS firmware.", +"EFI firmware." +], +"type": "string" +}, +"hyperthreading": { +"description": "CPU hyper-threading support.", +"enum": [ +"CPU_HYPER_THREADING_UNSPECIFIED", +"DISABLED", +"ENABLED" +], +"enumDescriptions": [ +"Unspecified or unknown.", +"Hyper-threading is disabled.", +"Hyper-threading is enabled." +], +"type": "string" +}, +"vendor": { +"description": "Hardware vendor.", +"type": "string" +} +}, +"type": "object" +}, +"MachineDetails": { +"description": "Details of a machine.", +"id": "MachineDetails", +"properties": { +"architecture": { +"$ref": "MachineArchitectureDetails", +"description": "Architecture details (vendor, CPU architecture)." +}, +"coreCount": { +"description": "Number of logical CPU cores in the machine. Must be non-negative.", +"format": "int32", +"type": "integer" +}, +"createTime": { +"description": "Machine creation time.", +"format": "google-datetime", +"type": "string" +}, +"disks": { +"$ref": "MachineDiskDetails", +"description": "Disk details." +}, +"guestOs": { +"$ref": "GuestOsDetails", +"description": "Guest OS information." +}, +"machineName": { +"description": "Machine name.", +"type": "string" +}, +"memoryMb": { +"description": "The amount of memory in the machine. Must be non-negative.", +"format": "int32", +"type": "integer" +}, +"network": { +"$ref": "MachineNetworkDetails", +"description": "Network details." +}, +"platform": { +"$ref": "PlatformDetails", +"description": "Platform specific information." +}, +"powerState": { +"description": "Power state of the machine.", +"enum": [ +"POWER_STATE_UNSPECIFIED", +"PENDING", +"ACTIVE", +"SUSPENDING", +"SUSPENDED", +"DELETING", +"DELETED" +], +"enumDescriptions": [ +"Power state is unknown.", +"The machine is preparing to enter the ACTIVE state. An instance may enter the PENDING state when it launches for the first time, or when it is started after being in the SUSPENDED state.", +"The machine is active.", +"The machine is being turned off.", +"The machine is off.", +"The machine is being deleted from the hosting platform.", +"The machine is deleted from the hosting platform." +], +"type": "string" +}, +"uuid": { +"description": "Machine unique identifier.", +"type": "string" +} +}, +"type": "object" +}, +"MachineDiskDetails": { +"description": "Details of machine disks.", +"id": "MachineDiskDetails", +"properties": { +"disks": { +"$ref": "DiskEntryList", +"description": "List of disks." +}, +"totalCapacityBytes": { +"description": "Disk total Capacity.", +"format": "int64", +"type": "string" +}, +"totalFreeBytes": { +"description": "Total disk free space.", +"format": "int64", +"type": "string" +} +}, +"type": "object" +}, +"MachineNetworkDetails": { +"description": "Details of network adapters and settings.", +"id": "MachineNetworkDetails", +"properties": { +"adapters": { +"$ref": "NetworkAdapterList", +"description": "List of network adapters." +}, +"primaryIpAddress": { +"description": "The primary IP address of the machine.", +"type": "string" +}, +"primaryMacAddress": { +"description": "MAC address of the machine. This property is used to uniqly identify the machine.", +"type": "string" +}, +"publicIpAddress": { +"description": "The public IP address of the machine.", +"type": "string" +} +}, +"type": "object" +}, +"MachinePreferences": { +"description": "The type of machines to consider when calculating virtual machine migration insights and recommendations. Not all machine types are available in all zones and regions.", +"id": "MachinePreferences", +"properties": { +"allowedMachineSeries": { +"description": "Compute Engine machine series to consider for insights and recommendations. If empty, no restriction is applied on the machine series.", +"items": { +"$ref": "MachineSeries" +}, +"type": "array" +} +}, +"type": "object" +}, +"MachineSeries": { +"description": "A machine series, for a target product (e.g. Compute Engine, Google Cloud VMware Engine).", +"id": "MachineSeries", +"properties": { +"code": { +"description": "Code to identify a machine series. Consult this for more details on the available series for Compute Engine: https://cloud.google.com/compute/docs/machine-resource#machine_type_comparison Consult this for more details on the available series for Google Cloud VMware Engine: https://cloud.google.com/vmware-engine/pricing", +"type": "string" +} +}, +"type": "object" +}, +"MemoryUsageSample": { +"description": "Memory usage sample.", +"id": "MemoryUsageSample", +"properties": { +"utilizedPercentage": { +"description": "Percentage of system memory utilized. Must be in the interval [0, 100].", +"format": "float", +"type": "number" +} +}, +"type": "object" +}, +"MigrationInsight": { +"description": "An insight about potential migrations for an asset.", +"id": "MigrationInsight", +"properties": { +"computeEngineTarget": { +"$ref": "ComputeEngineMigrationTarget", +"description": "Output only. A Google Compute Engine target.", +"readOnly": true +}, +"fit": { +"$ref": "FitDescriptor", +"description": "Output only. Description of how well the asset this insight is associated with fits the proposed migration.", +"readOnly": true +} +}, +"type": "object" +}, +"Money": { +"description": "Represents an amount of money with its currency type.", +"id": "Money", +"properties": { +"currencyCode": { +"description": "The three-letter currency code defined in ISO 4217.", +"type": "string" +}, +"nanos": { +"description": "Number of nano (10^-9) units of the amount. The value must be between -999,999,999 and +999,999,999 inclusive. If `units` is positive, `nanos` must be positive or zero. If `units` is zero, `nanos` can be positive, zero, or negative. If `units` is negative, `nanos` must be negative or zero. For example $-1.75 is represented as `units`=-1 and `nanos`=-750,000,000.", +"format": "int32", +"type": "integer" +}, +"units": { +"description": "The whole units of the amount. For example if `currencyCode` is `\"USD\"`, then 1 unit is one US dollar.", +"format": "int64", +"type": "string" +} +}, +"type": "object" +}, +"MySqlPlugin": { +"description": "MySql plugin.", +"id": "MySqlPlugin", +"properties": { +"enabled": { +"description": "Required. The plugin is active.", +"type": "boolean" +}, +"plugin": { +"description": "Required. The plugin name.", +"type": "string" +}, +"version": { +"description": "Required. The plugin version.", +"type": "string" +} +}, +"type": "object" +}, +"MySqlProperty": { +"description": "MySql property.", +"id": "MySqlProperty", +"properties": { +"enabled": { +"description": "Required. The property is enabled.", +"type": "boolean" +}, +"numericValue": { +"description": "Required. The property numeric value.", +"format": "int64", +"type": "string" +}, +"property": { +"description": "Required. The property name.", +"type": "string" +} +}, +"type": "object" +}, +"MySqlSchemaDetails": { +"description": "Specific details for a Mysql database.", +"id": "MySqlSchemaDetails", +"properties": { +"storageEngines": { +"description": "Optional. Mysql storage engine tables.", +"items": { +"$ref": "MySqlStorageEngineDetails" +}, +"type": "array" +} +}, +"type": "object" +}, +"MySqlStorageEngineDetails": { +"description": "Mysql storage engine tables.", +"id": "MySqlStorageEngineDetails", +"properties": { +"encryptedTableCount": { +"description": "Optional. The number of encrypted tables.", +"format": "int32", +"type": "integer" +}, +"engine": { +"description": "Required. The storage engine.", +"enum": [ +"ENGINE_UNSPECIFIED", +"INNODB", +"MYISAM", +"MEMORY", +"CSV", +"ARCHIVE", +"BLACKHOLE", +"NDB", +"MERGE", +"FEDERATED", +"EXAMPLE", +"OTHER" +], +"enumDescriptions": [ +"Unspecified storage engine.", +"InnoDB.", +"MyISAM.", +"Memory.", +"CSV.", +"Archive.", +"Blackhole.", +"NDB.", +"Merge.", +"Federated.", +"Example.", +"Other." +], +"type": "string" +}, +"tableCount": { +"description": "Optional. The number of tables.", +"format": "int32", +"type": "integer" +} +}, +"type": "object" +}, +"MySqlVariable": { +"description": "MySql variable.", +"id": "MySqlVariable", +"properties": { +"category": { +"description": "Required. The variable category.", +"type": "string" +}, +"value": { +"description": "Required. The variable value.", +"type": "string" +}, +"variable": { +"description": "Required. The variable name.", +"type": "string" +} +}, +"type": "object" +}, +"MysqlDatabaseDeployment": { +"description": "Specific details for a Mysql database deployment.", +"id": "MysqlDatabaseDeployment", +"properties": { +"plugins": { +"description": "Optional. List of MySql plugins.", +"items": { +"$ref": "MySqlPlugin" +}, +"type": "array" +}, +"properties": { +"description": "Optional. List of MySql properties.", +"items": { +"$ref": "MySqlProperty" +}, +"type": "array" +}, +"resourceGroupsCount": { +"description": "Optional. Number of resource groups.", +"format": "int32", +"type": "integer" +}, +"variables": { +"description": "Optional. List of MySql variables.", +"items": { +"$ref": "MySqlVariable" +}, +"type": "array" +} +}, +"type": "object" +}, +"NetworkAdapterDetails": { +"description": "Details of network adapter.", +"id": "NetworkAdapterDetails", +"properties": { +"adapterType": { +"description": "Network adapter type (e.g. VMXNET3).", +"type": "string" +}, +"addresses": { +"$ref": "NetworkAddressList", +"description": "NetworkAddressList" +}, +"macAddress": { +"description": "MAC address.", +"type": "string" +} +}, +"type": "object" +}, +"NetworkAdapterList": { +"description": "List of network adapters.", +"id": "NetworkAdapterList", +"properties": { +"entries": { +"description": "Network adapter entries.", +"items": { +"$ref": "NetworkAdapterDetails" +}, +"type": "array" +} +}, +"type": "object" +}, +"NetworkAddress": { +"description": "Details of network address.", +"id": "NetworkAddress", +"properties": { +"assignment": { +"description": "Whether DHCP is used to assign addresses.", +"enum": [ +"ADDRESS_ASSIGNMENT_UNSPECIFIED", +"ADDRESS_ASSIGNMENT_STATIC", +"ADDRESS_ASSIGNMENT_DHCP" +], +"enumDescriptions": [ +"Unknown (default value).", +"Staticly assigned IP.", +"Dynamically assigned IP (DHCP)." +], +"type": "string" +}, +"bcast": { +"description": "Broadcast address.", +"type": "string" +}, +"fqdn": { +"description": "Fully qualified domain name.", +"type": "string" +}, +"ipAddress": { +"description": "Assigned or configured IP Address.", +"type": "string" +}, +"subnetMask": { +"description": "Subnet mask.", +"type": "string" +} +}, +"type": "object" +}, +"NetworkAddressList": { +"description": "List of allocated/assigned network addresses.", +"id": "NetworkAddressList", +"properties": { +"entries": { +"description": "Network address entries.", +"items": { +"$ref": "NetworkAddress" +}, +"type": "array" +} +}, +"type": "object" +}, +"NetworkConnection": { +"id": "NetworkConnection", +"properties": { +"localIpAddress": { +"description": "Local IP address.", +"type": "string" +}, +"localPort": { +"description": "Local port.", +"format": "int32", +"type": "integer" +}, +"pid": { +"description": "Process ID.", +"format": "int64", +"type": "string" +}, +"processName": { +"description": "Process or service name.", +"type": "string" +}, +"protocol": { +"description": "Connection protocol (e.g. TCP/UDP).", +"type": "string" +}, +"remoteIpAddress": { +"description": "Remote IP address.", +"type": "string" +}, +"remotePort": { +"description": "Remote port.", +"format": "int32", +"type": "integer" +}, +"state": { +"description": "Network connection state.", +"enum": [ +"STATE_UNSPECIFIED", +"OPENING", +"OPEN", +"LISTEN", +"CLOSING", +"CLOSED" +], +"enumDescriptions": [ +"Connection state is unknown or unspecified.", +"The connection is being opened.", +"The connection is open.", +"Listening for incoming connections.", +"The connection is being closed.", +"The connection is closed." +], +"type": "string" +} +}, +"type": "object" +}, +"NetworkConnectionList": { +"description": "Network connection list.", +"id": "NetworkConnectionList", +"properties": { +"entries": { +"description": "Network connection entries.", +"items": { +"$ref": "NetworkConnection" +}, +"type": "array" +} +}, +"type": "object" +}, +"NetworkUsageSample": { +"description": "Network usage sample. Values are across all network interfaces.", +"id": "NetworkUsageSample", +"properties": { +"averageEgressBps": { +"description": "Average network egress in B/s sampled over a short window. Must be non-negative.", +"format": "float", +"type": "number" +}, +"averageIngressBps": { +"description": "Average network ingress in B/s sampled over a short window. Must be non-negative.", +"format": "float", +"type": "number" +} +}, +"type": "object" +}, +"NfsExport": { +"description": "NFS export.", +"id": "NfsExport", +"properties": { +"exportDirectory": { +"description": "The directory being exported.", +"type": "string" +}, +"hosts": { +"description": "The hosts or networks to which the export is being shared.", +"items": { +"type": "string" +}, +"type": "array" +} +}, +"type": "object" +}, +"NfsExportList": { +"description": "NFS exports.", +"id": "NfsExportList", +"properties": { +"entries": { +"description": "NFS export entries.", +"items": { +"$ref": "NfsExport" +}, +"type": "array" +} +}, +"type": "object" +}, +"OpenFileDetails": { +"description": "Open file Information.", +"id": "OpenFileDetails", +"properties": { +"command": { +"description": "Opened file command.", +"type": "string" +}, +"filePath": { +"description": "Opened file file path.", +"type": "string" +}, +"fileType": { +"description": "Opened file file type.", +"type": "string" +}, +"user": { +"description": "Opened file user.", +"type": "string" +} +}, +"type": "object" +}, +"OpenFileList": { +"description": "Open file list.", +"id": "OpenFileList", +"properties": { +"entries": { +"description": "Open file details entries.", +"items": { +"$ref": "OpenFileDetails" +}, +"type": "array" +} +}, +"type": "object" +}, +"Operation": { +"description": "This resource represents a long-running operation that is the result of a network API call.", +"id": "Operation", +"properties": { +"done": { +"description": "If the value is `false`, it means the operation is still in progress. If `true`, the operation is completed, and either `error` or `response` is available.", +"type": "boolean" +}, +"error": { +"$ref": "Status", +"description": "The error result of the operation in case of failure or cancellation." +}, +"metadata": { +"additionalProperties": { +"description": "Properties of the object. Contains field @type with type URL.", +"type": "any" +}, +"description": "Service-specific metadata associated with the operation. It typically contains progress information and common metadata such as create time. Some services might not provide such metadata. Any method that returns a long-running operation should document the metadata type, if any.", +"type": "object" +}, +"name": { +"description": "The server-assigned name, which is only unique within the same service that originally returns it. If you use the default HTTP mapping, the `name` should be a resource name ending with `operations/{unique_id}`.", +"type": "string" +}, +"response": { +"additionalProperties": { +"description": "Properties of the object. Contains field @type with type URL.", +"type": "any" +}, +"description": "The normal, successful response of the operation. If the original method returns no data on success, such as `Delete`, the response is `google.protobuf.Empty`. If the original method is standard `Get`/`Create`/`Update`, the response should be the resource. For other methods, the response should have the type `XxxResponse`, where `Xxx` is the original method name. For example, if the original method name is `TakeSnapshot()`, the inferred response type is `TakeSnapshotResponse`.", +"type": "object" +} +}, +"type": "object" +}, +"OperationMetadata": { +"description": "Represents the metadata of the long-running operation.", +"id": "OperationMetadata", +"properties": { +"apiVersion": { +"description": "Output only. API version used to start the operation.", +"readOnly": true, +"type": "string" +}, +"createTime": { +"description": "Output only. The time the operation was created.", +"format": "google-datetime", +"readOnly": true, +"type": "string" +}, +"endTime": { +"description": "Output only. The time the operation finished running.", +"format": "google-datetime", +"readOnly": true, +"type": "string" +}, +"requestedCancellation": { +"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`.", +"readOnly": true, +"type": "boolean" +}, +"statusMessage": { +"description": "Output only. Human-readable status of the operation, if any.", +"readOnly": true, +"type": "string" +}, +"target": { +"description": "Output only. Server-defined resource path for the target of the operation.", +"readOnly": true, +"type": "string" +}, +"verb": { +"description": "Output only. Name of the verb executed by the operation.", +"readOnly": true, +"type": "string" +} +}, +"type": "object" +}, +"PerformanceSample": { +"description": "Performance data sample.", +"id": "PerformanceSample", +"properties": { +"cpu": { +"$ref": "CpuUsageSample", +"description": "CPU usage sample." +}, +"disk": { +"$ref": "DiskUsageSample", +"description": "Disk usage sample." +}, +"memory": { +"$ref": "MemoryUsageSample", +"description": "Memory usage sample." +}, +"network": { +"$ref": "NetworkUsageSample", +"description": "Network usage sample." +}, +"sampleTime": { +"description": "Time the sample was collected. If omitted, the frame report time will be used.", +"format": "google-datetime", +"type": "string" +} +}, +"type": "object" +}, +"PhysicalPlatformDetails": { +"description": "Platform specific details for Physical Machines.", +"id": "PhysicalPlatformDetails", +"properties": { +"hyperthreading": { +"description": "Whether the machine is hyperthreaded.", +"enum": [ +"HYPERTHREADING_STATUS_UNSPECIFIED", +"HYPERTHREADING_STATUS_DISABLED", +"HYPERTHREADING_STATUS_ENABLED" +], +"enumDescriptions": [ +"Simultaneous Multithreading status unknown.", +"Simultaneous Multithreading is disabled or unavailable.", +"Simultaneous Multithreading is enabled." +], +"type": "string" +}, +"location": { +"description": "Free text representation of the machine location. The format of this field should not be relied on. Different machines in the same location may have different string values for this field.", +"type": "string" +} +}, +"type": "object" +}, +"PlatformDetails": { +"description": "Information about the platform.", +"id": "PlatformDetails", +"properties": { +"awsEc2Details": { +"$ref": "AwsEc2PlatformDetails", +"description": "AWS EC2 specific details." +}, +"azureVmDetails": { +"$ref": "AzureVmPlatformDetails", +"description": "Azure VM specific details." +}, +"genericDetails": { +"$ref": "GenericPlatformDetails", +"description": "Generic platform details." +}, +"physicalDetails": { +"$ref": "PhysicalPlatformDetails", +"description": "Physical machines platform details." +}, +"vmwareDetails": { +"$ref": "VmwarePlatformDetails", +"description": "VMware specific details." +} +}, +"type": "object" +}, +"PostgreSqlDatabaseDeployment": { +"description": "Specific details for a PostgreSQL database deployment.", +"id": "PostgreSqlDatabaseDeployment", +"properties": { +"properties": { +"description": "Optional. List of PostgreSql properties.", +"items": { +"$ref": "PostgreSqlProperty" +}, +"type": "array" +}, +"settings": { +"description": "Optional. List of PostgreSql settings.", +"items": { +"$ref": "PostgreSqlSetting" +}, +"type": "array" +} +}, +"type": "object" +}, +"PostgreSqlExtension": { +"description": "PostgreSql extension.", +"id": "PostgreSqlExtension", +"properties": { +"extension": { +"description": "Required. The extension name.", +"type": "string" +}, +"version": { +"description": "Required. The extension version.", +"type": "string" +} +}, +"type": "object" +}, +"PostgreSqlProperty": { +"description": "PostgreSql property.", +"id": "PostgreSqlProperty", +"properties": { +"enabled": { +"description": "Required. The property is enabled.", +"type": "boolean" +}, +"numericValue": { +"description": "Required. The property numeric value.", +"format": "int64", +"type": "string" +}, +"property": { +"description": "Required. The property name.", +"type": "string" +} +}, +"type": "object" +}, +"PostgreSqlSchemaDetails": { +"description": "Specific details for a PostgreSql schema.", +"id": "PostgreSqlSchemaDetails", +"properties": { +"foreignTablesCount": { +"description": "Optional. PostgreSql foreign tables.", +"format": "int32", +"type": "integer" +}, +"postgresqlExtensions": { +"description": "Optional. PostgreSql extensions.", +"items": { +"$ref": "PostgreSqlExtension" +}, +"type": "array" +} +}, +"type": "object" +}, +"PostgreSqlSetting": { +"description": "PostgreSql setting.", +"id": "PostgreSqlSetting", +"properties": { +"boolValue": { +"description": "Required. The setting boolean value.", +"type": "boolean" +}, +"intValue": { +"description": "Required. The setting int value.", +"format": "int64", +"type": "string" +}, +"realValue": { +"description": "Required. The setting real value.", +"format": "float", +"type": "number" +}, +"setting": { +"description": "Required. The setting name.", +"type": "string" +}, +"source": { +"description": "Required. The setting source.", +"type": "string" +}, +"stringValue": { +"description": "Required. The setting string value. Notice that enum values are stored as strings.", +"type": "string" +}, +"unit": { +"description": "Optional. The setting unit.", +"type": "string" +} +}, +"type": "object" +}, +"PreferenceSet": { +"description": "The preferences that apply to all assets in a given context.", +"id": "PreferenceSet", +"properties": { +"createTime": { +"description": "Output only. The timestamp when the preference set was created.", +"format": "google-datetime", +"readOnly": true, +"type": "string" +}, +"description": { +"description": "A description of the preference set.", +"type": "string" +}, +"displayName": { +"description": "User-friendly display name. Maximum length is 63 characters.", +"type": "string" +}, +"name": { +"description": "Output only. Name of the preference set.", +"readOnly": true, +"type": "string" +}, +"updateTime": { +"description": "Output only. The timestamp when the preference set was last updated.", +"format": "google-datetime", +"readOnly": true, +"type": "string" +}, +"virtualMachinePreferences": { +"$ref": "VirtualMachinePreferences", +"description": "Optional. A set of preferences that applies to all virtual machines in the context." +} +}, +"type": "object" +}, +"RegionPreferences": { +"description": "The user preferences relating to target regions.", +"id": "RegionPreferences", +"properties": { +"preferredRegions": { +"description": "A list of preferred regions, ordered by the most preferred region first. Set only valid Google Cloud region names. See https://cloud.google.com/compute/docs/regions-zones for available regions.", +"items": { +"type": "string" +}, +"type": "array" +} +}, +"type": "object" +}, +"RemoveAssetsFromGroupRequest": { +"description": "A request to remove assets from a group.", +"id": "RemoveAssetsFromGroupRequest", +"properties": { +"allowMissing": { +"description": "Optional. When this value is set to `false` and one of the given assets is not an existing member of the group, the operation fails with a `Not Found` error. When set to `true` this situation is silently ignored by the server. Default value is `false`.", +"type": "boolean" +}, +"assets": { +"$ref": "AssetList", +"description": "Required. List of assets to be removed. The maximum number of assets that can be removed in a single request is 1000." +}, +"requestId": { +"description": "Optional. An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. The server will guarantee that for at least 60 minutes after the first request. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", +"type": "string" +} +}, +"type": "object" +}, +"Report": { +"description": "Report represents a point-in-time rendering of the ReportConfig results.", +"id": "Report", +"properties": { +"createTime": { +"description": "Output only. Creation timestamp.", +"format": "google-datetime", +"readOnly": true, +"type": "string" +}, +"description": { +"description": "Free-text description.", +"type": "string" +}, +"displayName": { +"description": "User-friendly display name. Maximum length is 63 characters.", +"type": "string" +}, +"name": { +"description": "Output only. Name of resource.", +"readOnly": true, +"type": "string" +}, +"state": { +"description": "Report creation state.", +"enum": [ +"STATE_UNSPECIFIED", +"PENDING", +"SUCCEEDED", +"FAILED" +], +"enumDescriptions": [ +"Default Report creation state.", +"Creating Report.", +"Successfully created Report.", +"Failed to create Report." +], +"type": "string" +}, +"summary": { +"$ref": "ReportSummary", +"description": "Output only. Summary view of the Report.", +"readOnly": true +}, +"type": { +"description": "Report type.", +"enum": [ +"TYPE_UNSPECIFIED", +"TOTAL_COST_OF_OWNERSHIP" +], +"enumDescriptions": [ +"Default Report type.", +"Total cost of ownership Report type." +], +"type": "string" +}, +"updateTime": { +"description": "Output only. Last update timestamp.", +"format": "google-datetime", +"readOnly": true, +"type": "string" +} +}, +"type": "object" +}, +"ReportAssetFramesResponse": { +"description": "A response to a call to `ReportAssetFrame`.", +"id": "ReportAssetFramesResponse", +"properties": {}, +"type": "object" +}, +"ReportConfig": { +"description": "The groups and associated preference sets on which we can generate reports.", +"id": "ReportConfig", +"properties": { +"createTime": { +"description": "Output only. The timestamp when the resource was created.", +"format": "google-datetime", +"readOnly": true, +"type": "string" +}, +"description": { +"description": "Free-text description.", +"type": "string" +}, +"displayName": { +"description": "User-friendly display name. Maximum length is 63 characters.", +"type": "string" +}, +"groupPreferencesetAssignments": { +"description": "Required. Collection of combinations of groups and preference sets.", +"items": { +"$ref": "ReportConfigGroupPreferenceSetAssignment" +}, +"type": "array" +}, +"name": { +"description": "Output only. Name of resource.", +"readOnly": true, +"type": "string" +}, +"updateTime": { +"description": "Output only. The timestamp when the resource was last updated.", +"format": "google-datetime", +"readOnly": true, +"type": "string" +} +}, +"type": "object" +}, +"ReportConfigGroupPreferenceSetAssignment": { +"description": "Represents a combination of a group with a preference set.", +"id": "ReportConfigGroupPreferenceSetAssignment", +"properties": { +"group": { +"description": "Required. Name of the group.", +"type": "string" +}, +"preferenceSet": { +"description": "Required. Name of the Preference Set.", +"type": "string" +} +}, +"type": "object" +}, +"ReportSummary": { +"description": "Describes the Summary view of a Report, which contains aggregated values for all the groups and preference sets included in this Report.", +"id": "ReportSummary", +"properties": { +"allAssetsStats": { +"$ref": "ReportSummaryAssetAggregateStats", +"description": "Aggregate statistics for all the assets across all the groups." +}, +"groupFindings": { +"description": "Findings for each Group included in this report.", +"items": { +"$ref": "ReportSummaryGroupFinding" +}, +"type": "array" +} +}, +"type": "object" +}, +"ReportSummaryAssetAggregateStats": { +"description": "Aggregate statistics for a collection of assets.", +"id": "ReportSummaryAssetAggregateStats", +"properties": { +"coreCountHistogram": { +"$ref": "ReportSummaryHistogramChartData", +"description": "Histogram showing a distribution of logical CPU core counts." +}, +"memoryBytesHistogram": { +"$ref": "ReportSummaryHistogramChartData", +"description": "Histogram showing a distribution of memory sizes." +}, +"memoryUtilizationChart": { +"$ref": "ReportSummaryUtilizationChartData", +"description": "Total memory split into Used/Free buckets." +}, +"operatingSystem": { +"$ref": "ReportSummaryChartData", +"description": "Count of assets grouped by Operating System families." +}, +"storageBytesHistogram": { +"$ref": "ReportSummaryHistogramChartData", +"description": "Histogram showing a distribution of storage sizes." +}, +"storageUtilizationChart": { +"$ref": "ReportSummaryUtilizationChartData", +"description": "Total memory split into Used/Free buckets." +}, +"totalAssets": { +"description": "Count of the number of unique assets in this collection.", +"format": "int64", +"type": "string" +}, +"totalCores": { +"description": "Sum of the CPU core count of all the assets in this collection.", +"format": "int64", +"type": "string" +}, +"totalMemoryBytes": { +"description": "Sum of the memory in bytes of all the assets in this collection.", +"format": "int64", +"type": "string" +}, +"totalStorageBytes": { +"description": "Sum of persistent storage in bytes of all the assets in this collection.", +"format": "int64", +"type": "string" +} +}, +"type": "object" +}, +"ReportSummaryChartData": { +"description": "Describes a collection of data points rendered as a Chart.", +"id": "ReportSummaryChartData", +"properties": { +"dataPoints": { +"description": "Each data point in the chart is represented as a name-value pair with the name being the x-axis label, and the value being the y-axis value.", +"items": { +"$ref": "ReportSummaryChartDataDataPoint" +}, +"type": "array" +} +}, +"type": "object" +}, +"ReportSummaryChartDataDataPoint": { +"description": "Describes a single data point in the Chart.", +"id": "ReportSummaryChartDataDataPoint", +"properties": { +"label": { +"description": "The X-axis label for this data point.", +"type": "string" +}, +"value": { +"description": "The Y-axis value for this data point.", +"format": "double", +"type": "number" +} +}, +"type": "object" +}, +"ReportSummaryComputeEngineFinding": { +"description": "A set of findings that applies to assets destined for Compute Engine.", +"id": "ReportSummaryComputeEngineFinding", +"properties": { +"allocatedAssetCount": { +"description": "Count of assets which were allocated.", +"format": "int64", +"type": "string" +}, +"allocatedDiskTypes": { +"description": "Set of disk types allocated to assets.", +"items": { +"enum": [ +"PERSISTENT_DISK_TYPE_UNSPECIFIED", +"PERSISTENT_DISK_TYPE_STANDARD", +"PERSISTENT_DISK_TYPE_BALANCED", +"PERSISTENT_DISK_TYPE_SSD" +], +"enumDescriptions": [ +"Unspecified. Fallback to default value based on context.", +"Standard HDD Persistent Disk.", +"Balanced Persistent Disk.", +"SSD Persistent Disk." +], +"type": "string" +}, +"type": "array" +}, +"allocatedRegions": { +"description": "Set of regions in which the assets were allocated.", +"items": { +"type": "string" +}, +"type": "array" +}, +"machineSeriesAllocations": { +"description": "Distribution of assets based on the Machine Series.", +"items": { +"$ref": "ReportSummaryMachineSeriesAllocation" +}, +"type": "array" +} +}, +"type": "object" +}, +"ReportSummaryGroupFinding": { +"description": "Summary Findings for a specific Group.", +"id": "ReportSummaryGroupFinding", +"properties": { +"assetAggregateStats": { +"$ref": "ReportSummaryAssetAggregateStats", +"description": "Summary statistics for all the assets in this group." +}, +"description": { +"description": "Description for the Group.", +"type": "string" +}, +"displayName": { +"description": "Display Name for the Group.", +"type": "string" +}, +"overlappingAssetCount": { +"deprecated": true, +"description": "This field is deprecated, do not rely on it having a value.", +"format": "int64", +"type": "string" +}, +"preferenceSetFindings": { +"description": "Findings for each of the PreferenceSets for this group.", +"items": { +"$ref": "ReportSummaryGroupPreferenceSetFinding" +}, +"type": "array" +} +}, +"type": "object" +}, +"ReportSummaryGroupPreferenceSetFinding": { +"description": "Summary Findings for a specific Group/PreferenceSet combination.", +"id": "ReportSummaryGroupPreferenceSetFinding", +"properties": { +"computeEngineFinding": { +"$ref": "ReportSummaryComputeEngineFinding", +"description": "A set of findings that applies to Compute Engine machines in the input." +}, +"description": { +"description": "Description for the Preference Set.", +"type": "string" +}, +"displayName": { +"description": "Display Name of the Preference Set", +"type": "string" +}, +"machinePreferences": { +"$ref": "VirtualMachinePreferences", +"description": "A set of preferences that applies to all machines in the context." +}, +"monthlyCostCompute": { +"$ref": "Money", +"description": "Compute monthly cost for this preference set." +}, +"monthlyCostNetworkEgress": { +"$ref": "Money", +"description": "Network Egress monthly cost for this preference set." +}, +"monthlyCostOsLicense": { +"$ref": "Money", +"description": "Licensing monthly cost for this preference set." +}, +"monthlyCostOther": { +"$ref": "Money", +"description": "Miscellaneous monthly cost for this preference set." +}, +"monthlyCostStorage": { +"$ref": "Money", +"description": "Storage monthly cost for this preference set." +}, +"monthlyCostTotal": { +"$ref": "Money", +"description": "Total monthly cost for this preference set." +}, +"soleTenantFinding": { +"$ref": "ReportSummarySoleTenantFinding", +"description": "A set of findings that applies to Sole-Tenant machines in the input." +}, +"vmwareEngineFinding": { +"$ref": "ReportSummaryVmwareEngineFinding", +"description": "A set of findings that applies to VMWare machines in the input." +} +}, +"type": "object" +}, +"ReportSummaryHistogramChartData": { +"description": "A Histogram Chart shows a distribution of values into buckets, showing a count of values which fall into a bucket.", +"id": "ReportSummaryHistogramChartData", +"properties": { +"buckets": { +"description": "Buckets in the histogram. There will be `n+1` buckets matching `n` lower bounds in the request. The first bucket will be from -infinity to the first bound. Subsequent buckets will be between one bound and the next. The final bucket will be from the final bound to infinity.", +"items": { +"$ref": "ReportSummaryHistogramChartDataBucket" +}, +"type": "array" +} +}, +"type": "object" +}, +"ReportSummaryHistogramChartDataBucket": { +"description": "A histogram bucket with a lower and upper bound, and a count of items with a field value between those bounds. The lower bound is inclusive and the upper bound is exclusive. Lower bound may be -infinity and upper bound may be infinity.", +"id": "ReportSummaryHistogramChartDataBucket", +"properties": { +"count": { +"description": "Count of items in the bucket.", +"format": "int64", +"type": "string" +}, +"lowerBound": { +"description": "Lower bound - inclusive.", +"format": "int64", +"type": "string" +}, +"upperBound": { +"description": "Upper bound - exclusive.", +"format": "int64", +"type": "string" +} +}, +"type": "object" +}, +"ReportSummaryMachineSeriesAllocation": { +"description": "Represents a data point tracking the count of assets allocated for a specific Machine Series.", +"id": "ReportSummaryMachineSeriesAllocation", +"properties": { +"allocatedAssetCount": { +"description": "Count of assets allocated to this machine series.", +"format": "int64", +"type": "string" +}, +"machineSeries": { +"$ref": "MachineSeries", +"description": "The Machine Series (e.g. \"E2\", \"N2\")" +} +}, +"type": "object" +}, +"ReportSummarySoleTenantFinding": { +"description": "A set of findings that applies to assets destined for Sole-Tenant nodes.", +"id": "ReportSummarySoleTenantFinding", +"properties": { +"allocatedAssetCount": { +"description": "Count of assets which are allocated", +"format": "int64", +"type": "string" +}, +"allocatedRegions": { +"description": "Set of regions in which the assets are allocated", +"items": { +"type": "string" +}, +"type": "array" +}, +"nodeAllocations": { +"description": "Set of per-nodetype allocation records", +"items": { +"$ref": "ReportSummarySoleTenantNodeAllocation" +}, +"type": "array" +} +}, +"type": "object" +}, +"ReportSummarySoleTenantNodeAllocation": { +"description": "Represents the assets allocated to a specific Sole-Tenant node type.", +"id": "ReportSummarySoleTenantNodeAllocation", +"properties": { +"allocatedAssetCount": { +"description": "Count of assets allocated to these nodes", +"format": "int64", +"type": "string" +}, +"node": { +"$ref": "SoleTenantNodeType", +"description": "Sole Tenant node type, e.g. \"m3-node-128-3904\"" +}, +"nodeCount": { +"description": "Count of this node type to be provisioned", +"format": "int64", +"type": "string" +} +}, +"type": "object" +}, +"ReportSummaryUtilizationChartData": { +"description": "Utilization Chart is a specific type of visualization which displays a metric classified into \"Used\" and \"Free\" buckets.", +"id": "ReportSummaryUtilizationChartData", +"properties": { +"free": { +"description": "Aggregate value which falls into the \"Free\" bucket.", +"format": "int64", +"type": "string" +}, +"used": { +"description": "Aggregate value which falls into the \"Used\" bucket.", +"format": "int64", +"type": "string" +} +}, +"type": "object" +}, +"ReportSummaryVmwareEngineFinding": { +"description": "A set of findings that applies to assets destined for VMWare Engine.", +"id": "ReportSummaryVmwareEngineFinding", +"properties": { +"allocatedAssetCount": { +"description": "Count of assets which are allocated", +"format": "int64", +"type": "string" +}, +"allocatedRegions": { +"description": "Set of regions in which the assets were allocated", +"items": { +"type": "string" +}, +"type": "array" +}, +"nodeAllocations": { +"description": "Set of per-nodetype allocation records", +"items": { +"$ref": "ReportSummaryVmwareNodeAllocation" +}, +"type": "array" +} +}, +"type": "object" +}, +"ReportSummaryVmwareNode": { +"description": "A VMWare Engine Node", +"id": "ReportSummaryVmwareNode", +"properties": { +"code": { +"description": "Code to identify VMware Engine node series, e.g. \"ve1-standard-72\". Based on the displayName of cloud.google.com/vmware-engine/docs/reference/rest/v1/projects.locations.nodeTypes", +"type": "string" +} +}, +"type": "object" +}, +"ReportSummaryVmwareNodeAllocation": { +"description": "Represents assets allocated to a specific VMWare Node type.", +"id": "ReportSummaryVmwareNodeAllocation", +"properties": { +"allocatedAssetCount": { +"description": "Count of assets allocated to these nodes", +"format": "int64", +"type": "string" +}, +"nodeCount": { +"description": "Count of this node type to be provisioned", +"format": "int64", +"type": "string" +}, +"vmwareNode": { +"$ref": "ReportSummaryVmwareNode", +"description": "VMWare node type, e.g. \"ve1-standard-72\"" +} +}, +"type": "object" +}, +"RunImportJobRequest": { +"description": "A request to run an import job.", +"id": "RunImportJobRequest", +"properties": { +"requestId": { +"description": "Optional. An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. The server will guarantee that for at least 60 minutes after the first request. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", +"type": "string" +} +}, +"type": "object" +}, +"RunningProcess": { +"description": "Guest OS running process details.", +"id": "RunningProcess", +"properties": { +"attributes": { +"additionalProperties": { +"type": "string" +}, +"description": "Process extended attributes.", +"type": "object" +}, +"cmdline": { +"description": "Process full command line.", +"type": "string" +}, +"exePath": { +"description": "Process binary path.", +"type": "string" +}, +"pid": { +"description": "Process ID.", +"format": "int64", +"type": "string" +}, +"user": { +"description": "User running the process.", +"type": "string" +} +}, +"type": "object" +}, +"RunningProcessList": { +"description": "List of running guest OS processes.", +"id": "RunningProcessList", +"properties": { +"entries": { +"description": "Running process entries.", +"items": { +"$ref": "RunningProcess" +}, +"type": "array" +} +}, +"type": "object" +}, +"RunningService": { +"description": "Guest OS running service details.", +"id": "RunningService", +"properties": { +"cmdline": { +"description": "Service command line.", +"type": "string" +}, +"exePath": { +"description": "Service binary path.", +"type": "string" +}, +"pid": { +"description": "Service pid.", +"format": "int64", +"type": "string" +}, +"serviceName": { +"description": "Service name.", +"type": "string" +}, +"startMode": { +"description": "Service start mode (OS-agnostic).", +"enum": [ +"START_MODE_UNSPECIFIED", +"BOOT", +"SYSTEM", +"AUTO", +"MANUAL", +"DISABLED" +], +"enumDescriptions": [ +"Start mode unspecified.", +"The service is a device driver started by the system loader.", +"The service is a device driver started by the IOInitSystem function.", +"The service is started by the operating system, at system start-up", +"The service is started only manually, by a user.", +"The service is disabled." +], +"type": "string" +}, +"state": { +"description": "Service state (OS-agnostic).", +"enum": [ +"STATE_UNSPECIFIED", +"ACTIVE", +"PAUSED", +"STOPPED" +], +"enumDescriptions": [ +"Service state unspecified.", +"Service is active.", +"Service is paused.", +"Service is stopped." +], +"type": "string" +} +}, +"type": "object" +}, +"RunningServiceList": { +"description": "List of running guest OS services.", +"id": "RunningServiceList", +"properties": { +"entries": { +"description": "Running service entries.", +"items": { +"$ref": "RunningService" +}, +"type": "array" +} +}, +"type": "object" +}, +"RuntimeNetworkInfo": { +"description": "Runtime networking information.", +"id": "RuntimeNetworkInfo", +"properties": { +"connections": { +"$ref": "NetworkConnectionList", +"description": "Network connections." +}, +"scanTime": { +"description": "Time of the last network scan.", +"format": "google-datetime", +"type": "string" +} +}, +"type": "object" +}, +"SendDiscoveryClientHeartbeatRequest": { +"description": "A request to send a discovery client heartbeat.", +"id": "SendDiscoveryClientHeartbeatRequest", +"properties": { +"errors": { +"description": "Optional. Errors affecting client functionality.", +"items": { +"$ref": "Status" +}, +"type": "array" +}, +"version": { +"description": "Optional. Client application version.", +"type": "string" +} +}, +"type": "object" +}, +"Settings": { +"description": "Describes the Migration Center settings related to the project.", +"id": "Settings", +"properties": { +"disableCloudLogging": { +"description": "Disable Cloud Logging for the Migration Center API. Users are billed for the logs.", +"type": "boolean" +}, +"name": { +"description": "Output only. The name of the resource.", +"readOnly": true, +"type": "string" +}, +"preferenceSet": { +"description": "The preference set used by default for a project.", +"type": "string" +} +}, +"type": "object" +}, +"SoleTenancyPreferences": { +"description": "Preferences concerning Sole Tenancy nodes and VMs.", +"id": "SoleTenancyPreferences", +"properties": { +"commitmentPlan": { +"description": "Commitment plan to consider when calculating costs for virtual machine insights and recommendations. If you are unsure which value to set, a 3 year commitment plan is often a good value to start with.", +"enum": [ +"COMMITMENT_PLAN_UNSPECIFIED", +"ON_DEMAND", +"COMMITMENT_1_YEAR", +"COMMITMENT_3_YEAR" +], +"enumDescriptions": [ +"Unspecified commitment plan.", +"No commitment plan (on-demand usage).", +"1 year commitment.", +"3 years commitment." +], +"type": "string" +}, +"cpuOvercommitRatio": { +"description": "CPU overcommit ratio. Acceptable values are between 1.0 and 2.0 inclusive.", +"format": "double", +"type": "number" +}, +"hostMaintenancePolicy": { +"description": "Sole Tenancy nodes maintenance policy.", +"enum": [ +"HOST_MAINTENANCE_POLICY_UNSPECIFIED", +"HOST_MAINTENANCE_POLICY_DEFAULT", +"HOST_MAINTENANCE_POLICY_RESTART_IN_PLACE", +"HOST_MAINTENANCE_POLICY_MIGRATE_WITHIN_NODE_GROUP" +], +"enumDescriptions": [ +"Unspecified host maintenance policy.", +"Default host maintenance policy.", +"Restart in place host maintenance policy.", +"Migrate within node group host maintenance policy." +], +"type": "string" +}, +"nodeTypes": { +"description": "A list of sole tenant node types. An empty list means that all possible node types will be considered.", +"items": { +"$ref": "SoleTenantNodeType" +}, +"type": "array" +} +}, +"type": "object" +}, +"SoleTenantNodeType": { +"description": "A Sole Tenant node type.", +"id": "SoleTenantNodeType", +"properties": { +"nodeName": { +"description": "Name of the Sole Tenant node. Consult https://cloud.google.com/compute/docs/nodes/sole-tenant-nodes", +"type": "string" +} +}, +"type": "object" +}, +"Source": { +"description": "Source represents an object from which asset information is streamed to Migration Center.", +"id": "Source", +"properties": { +"createTime": { +"description": "Output only. The timestamp when the source was created.", +"format": "google-datetime", +"readOnly": true, +"type": "string" +}, +"description": { +"description": "Free-text description.", +"type": "string" +}, +"displayName": { +"description": "User-friendly display name.", +"type": "string" +}, +"errorFrameCount": { +"description": "Output only. The number of frames that were reported by the source and contained errors.", +"format": "int32", +"readOnly": true, +"type": "integer" +}, +"managed": { +"description": "If `true`, the source is managed by other service(s).", +"type": "boolean" +}, +"name": { +"description": "Output only. The full name of the source.", +"readOnly": true, +"type": "string" +}, +"pendingFrameCount": { +"description": "Output only. Number of frames that are still being processed.", +"format": "int32", +"readOnly": true, +"type": "integer" +}, +"priority": { +"description": "The information confidence of the source. The higher the value, the higher the confidence.", +"format": "int32", +"type": "integer" +}, +"state": { +"description": "Output only. The state of the source.", +"enum": [ +"STATE_UNSPECIFIED", +"ACTIVE", +"DELETING", +"INVALID" +], +"enumDescriptions": [ +"Unspecified.", +"The source is active and ready to be used.", +"In the process of being deleted.", +"Source is in an invalid state. Asset frames reported to it will be ignored." +], +"readOnly": true, +"type": "string" +}, +"type": { +"description": "Data source type.", +"enum": [ +"SOURCE_TYPE_UNKNOWN", +"SOURCE_TYPE_UPLOAD", +"SOURCE_TYPE_GUEST_OS_SCAN", +"SOURCE_TYPE_INVENTORY_SCAN", +"SOURCE_TYPE_CUSTOM", +"SOURCE_TYPE_DISCOVERY_CLIENT" +], +"enumDescriptions": [ +"Unspecified", +"Manually uploaded file (e.g. CSV)", +"Guest-level info", +"Inventory-level scan", +"Third-party owned sources.", +"Discovery clients" +], +"type": "string" +}, +"updateTime": { +"description": "Output only. The timestamp when the source was last updated.", +"format": "google-datetime", +"readOnly": true, +"type": "string" +} +}, +"type": "object" +}, +"SqlServerDatabaseDeployment": { +"description": "Specific details for a Microsoft SQL Server database deployment.", +"id": "SqlServerDatabaseDeployment", +"properties": { +"features": { +"description": "Optional. List of SQL Server features.", +"items": { +"$ref": "SqlServerFeature" +}, +"type": "array" +}, +"serverFlags": { +"description": "Optional. List of SQL Server server flags.", +"items": { +"$ref": "SqlServerServerFlag" +}, +"type": "array" +}, +"traceFlags": { +"description": "Optional. List of SQL Server trace flags.", +"items": { +"$ref": "SqlServerTraceFlag" +}, +"type": "array" +} +}, +"type": "object" +}, +"SqlServerFeature": { +"description": "SQL Server feature details.", +"id": "SqlServerFeature", +"properties": { +"enabled": { +"description": "Required. Field enabled is set when a feature is used on the source deployment.", +"type": "boolean" +}, +"featureName": { +"description": "Required. The feature name.", +"type": "string" +} +}, +"type": "object" +}, +"SqlServerSchemaDetails": { +"description": "Specific details for a SqlServer database.", +"id": "SqlServerSchemaDetails", +"properties": { +"clrObjectCount": { +"description": "Optional. SqlServer number of CLR objects.", +"format": "int32", +"type": "integer" +} +}, +"type": "object" +}, +"SqlServerServerFlag": { +"description": "SQL Server server flag details.", +"id": "SqlServerServerFlag", +"properties": { +"serverFlagName": { +"description": "Required. The server flag name.", +"type": "string" +}, +"value": { +"description": "Required. The server flag value set by the user.", +"type": "string" +}, +"valueInUse": { +"description": "Required. The server flag actual value. If `value_in_use` is different from `value` it means that either the configuration change was not applied or it is an expected behavior. See SQL Server documentation for more details.", +"type": "string" +} +}, +"type": "object" +}, +"SqlServerTraceFlag": { +"description": "SQL Server trace flag details.", +"id": "SqlServerTraceFlag", +"properties": { +"scope": { +"description": "Required. The trace flag scope.", +"enum": [ +"SCOPE_UNSPECIFIED", +"OFF", +"GLOBAL", +"SESSION" +], +"enumDescriptions": [ +"Unspecified.", +"Off.", +"Global.", +"Session." +], +"type": "string" +}, +"traceFlagName": { +"description": "Required. The trace flag name.", +"type": "string" +} +}, +"type": "object" +}, +"Status": { +"description": "The `Status` type defines a logical error model that is suitable for different programming environments, including REST APIs and RPC APIs. It is used by [gRPC](https://github.com/grpc). Each `Status` message contains three pieces of data: error code, error message, and error details. You can find out more about this error model and how to work with it in the [API Design Guide](https://cloud.google.com/apis/design/errors).", +"id": "Status", +"properties": { +"code": { +"description": "The status code, which should be an enum value of google.rpc.Code.", +"format": "int32", +"type": "integer" +}, +"details": { +"description": "A list of messages that carry the error details. There is a common set of message types for APIs to use.", +"items": { +"additionalProperties": { +"description": "Properties of the object. Contains field @type with type URL.", +"type": "any" +}, +"type": "object" +}, +"type": "array" +}, +"message": { +"description": "A developer-facing error message, which should be in English. Any user-facing error message should be localized and sent in the google.rpc.Status.details field, or localized by the client.", +"type": "string" +} +}, +"type": "object" +}, +"UpdateAssetRequest": { +"description": "A request to update an asset.", +"id": "UpdateAssetRequest", +"properties": { +"asset": { +"$ref": "Asset", +"description": "Required. The resource being updated." +}, +"requestId": { +"description": "Optional. An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. The server will guarantee that for at least 60 minutes since the first request. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", +"type": "string" +}, +"updateMask": { +"description": "Required. Field mask is used to specify the fields to be overwritten in the `Asset` resource by the update. The values specified in the `update_mask` field are relative to the resource, not the full request. A field will be overwritten if it is in the mask. A single * value in the mask lets you to overwrite all fields.", +"format": "google-fieldmask", +"type": "string" +} +}, +"type": "object" +}, +"UploadFileInfo": { +"description": "A resource that contains a URI to which a data file can be uploaded.", +"id": "UploadFileInfo", +"properties": { +"headers": { +"additionalProperties": { +"type": "string" +}, +"description": "Output only. The headers that were used to sign the URI.", +"readOnly": true, +"type": "object" +}, +"signedUri": { +"description": "Output only. Upload URI for the file.", +"readOnly": true, +"type": "string" +}, +"uriExpirationTime": { +"description": "Output only. Expiration time of the upload URI.", +"format": "google-datetime", +"readOnly": true, +"type": "string" +} +}, +"type": "object" +}, +"ValidateImportJobRequest": { +"description": "A request to validate an import job.", +"id": "ValidateImportJobRequest", +"properties": { +"requestId": { +"description": "Optional. An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. The server will guarantee that for at least 60 minutes after the first request. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", +"type": "string" +} +}, +"type": "object" +}, +"ValidationReport": { +"description": "A resource that aggregates errors across import job files.", +"id": "ValidationReport", +"properties": { +"fileValidations": { +"description": "List of errors found in files.", +"items": { +"$ref": "FileValidationReport" +}, +"type": "array" +}, +"jobErrors": { +"description": "List of job level errors.", +"items": { +"$ref": "ImportError" +}, +"type": "array" +} +}, +"type": "object" +}, +"VirtualMachinePreferences": { +"description": "VirtualMachinePreferences enables you to create sets of assumptions, for example, a geographical location and pricing track, for your migrated virtual machines. The set of preferences influence recommendations for migrating virtual machine assets.", +"id": "VirtualMachinePreferences", +"properties": { +"commitmentPlan": { +"description": "Commitment plan to consider when calculating costs for virtual machine insights and recommendations. If you are unsure which value to set, a 3 year commitment plan is often a good value to start with.", +"enum": [ +"COMMITMENT_PLAN_UNSPECIFIED", +"COMMITMENT_PLAN_NONE", +"COMMITMENT_PLAN_ONE_YEAR", +"COMMITMENT_PLAN_THREE_YEARS" +], +"enumDescriptions": [ +"Unspecified commitment plan.", +"No commitment plan.", +"1 year commitment.", +"3 years commitment." +], +"type": "string" +}, +"computeEnginePreferences": { +"$ref": "ComputeEnginePreferences", +"description": "Compute Engine preferences concern insights and recommendations for Compute Engine target." +}, +"regionPreferences": { +"$ref": "RegionPreferences", +"description": "Region preferences for assets using this preference set. If you are unsure which value to set, the migration service API region is often a good value to start with." +}, +"sizingOptimizationStrategy": { +"description": "Sizing optimization strategy specifies the preferred strategy used when extrapolating usage data to calculate insights and recommendations for a virtual machine. If you are unsure which value to set, a moderate sizing optimization strategy is often a good value to start with.", +"enum": [ +"SIZING_OPTIMIZATION_STRATEGY_UNSPECIFIED", +"SIZING_OPTIMIZATION_STRATEGY_SAME_AS_SOURCE", +"SIZING_OPTIMIZATION_STRATEGY_MODERATE", +"SIZING_OPTIMIZATION_STRATEGY_AGGRESSIVE" +], +"enumDescriptions": [ +"Unspecified (default value).", +"No optimization applied. Virtual machine sizing matches as closely as possible the machine shape on the source site, not considering any actual performance data.", +"Virtual machine sizing will match the reported usage and shape, with some slack. This a good value to start with.", +"Virtual machine sizing will match the reported usage, with little slack. Using this option can help reduce costs." +], +"type": "string" +}, +"soleTenancyPreferences": { +"$ref": "SoleTenancyPreferences", +"description": "Preferences concerning Sole Tenant nodes and virtual machines." +}, +"targetProduct": { +"description": "Target product for assets using this preference set. Specify either target product or business goal, but not both.", +"enum": [ +"COMPUTE_MIGRATION_TARGET_PRODUCT_UNSPECIFIED", +"COMPUTE_MIGRATION_TARGET_PRODUCT_COMPUTE_ENGINE", +"COMPUTE_MIGRATION_TARGET_PRODUCT_VMWARE_ENGINE", +"COMPUTE_MIGRATION_TARGET_PRODUCT_SOLE_TENANCY" +], +"enumDescriptions": [ +"Unspecified (default value).", +"Prefer to migrate to Google Cloud Compute Engine.", +"Prefer to migrate to Google Cloud VMware Engine.6278", +"Prefer to migrate to Google Cloud Sole Tenant Nodes." +], +"type": "string" +}, +"vmwareEnginePreferences": { +"$ref": "VmwareEnginePreferences", +"description": "Preferences concerning insights and recommendations for Google Cloud VMware Engine." +} +}, +"type": "object" +}, +"VmwareDiskConfig": { +"description": "VMware disk config details.", +"id": "VmwareDiskConfig", +"properties": { +"backingType": { +"description": "VMDK backing type.", +"enum": [ +"BACKING_TYPE_UNSPECIFIED", +"BACKING_TYPE_FLAT_V1", +"BACKING_TYPE_FLAT_V2", +"BACKING_TYPE_PMEM", +"BACKING_TYPE_RDM_V1", +"BACKING_TYPE_RDM_V2", +"BACKING_TYPE_SESPARSE", +"BACKING_TYPE_SESPARSE_V1", +"BACKING_TYPE_SESPARSE_V2" +], +"enumDescriptions": [ +"Default value.", +"Flat v1.", +"Flat v2.", +"Persistent memory, also known as Non-Volatile Memory (NVM).", +"Raw Disk Memory v1.", +"Raw Disk Memory v2.", +"SEsparse is a snapshot format introduced in vSphere 5.5 for large disks.", +"SEsparse v1.", +"SEsparse v1." +], +"type": "string" +}, +"rdmCompatibility": { +"description": "RDM compatibility mode.", +"enum": [ +"RDM_COMPATIBILITY_UNSPECIFIED", +"PHYSICAL_COMPATIBILITY", +"VIRTUAL_COMPATIBILITY" +], +"enumDescriptions": [ +"Compatibility mode unspecified or unknown.", +"Physical compatibility mode.", +"Virtual compatibility mode." +], +"type": "string" +}, +"shared": { +"description": "Is VMDK shared with other VMs.", +"type": "boolean" +}, +"vmdkMode": { +"description": "VMDK disk mode.", +"enum": [ +"VMDK_MODE_UNSPECIFIED", +"DEPENDENT", +"INDEPENDENT_PERSISTENT", +"INDEPENDENT_NONPERSISTENT" +], +"enumDescriptions": [ +"VMDK disk mode unspecified or unknown.", +"Dependent disk mode.", +"Independent - Persistent disk mode.", +"Independent - Nonpersistent disk mode." +], +"type": "string" +} +}, +"type": "object" +}, +"VmwareEnginePreferences": { +"description": "The user preferences relating to Google Cloud VMware Engine target platform.", +"id": "VmwareEnginePreferences", +"properties": { +"commitmentPlan": { +"description": "Commitment plan to consider when calculating costs for virtual machine insights and recommendations. If you are unsure which value to set, a 3 year commitment plan is often a good value to start with.", +"enum": [ +"COMMITMENT_PLAN_UNSPECIFIED", +"ON_DEMAND", +"COMMITMENT_1_YEAR_MONTHLY_PAYMENTS", +"COMMITMENT_3_YEAR_MONTHLY_PAYMENTS", +"COMMITMENT_1_YEAR_UPFRONT_PAYMENT", +"COMMITMENT_3_YEAR_UPFRONT_PAYMENT" +], +"enumDescriptions": [ +"Unspecified commitment plan.", +"No commitment plan (on-demand usage).", +"1 year commitment (monthly payments).", +"3 year commitment (monthly payments).", +"1 year commitment (upfront payment).", +"3 years commitment (upfront payment)." +], +"type": "string" +}, +"cpuOvercommitRatio": { +"description": "CPU overcommit ratio. Acceptable values are between 1.0 and 8.0, with 0.1 increment.", +"format": "double", +"type": "number" +}, +"memoryOvercommitRatio": { +"description": "Memory overcommit ratio. Acceptable values are 1.0, 1.25, 1.5, 1.75 and 2.0.", +"format": "double", +"type": "number" +}, +"storageDeduplicationCompressionRatio": { +"description": "The Deduplication and Compression ratio is based on the logical (Used Before) space required to store data before applying deduplication and compression, in relation to the physical (Used After) space required after applying deduplication and compression. Specifically, the ratio is the Used Before space divided by the Used After space. For example, if the Used Before space is 3 GB, but the physical Used After space is 1 GB, the deduplication and compression ratio is 3x. Acceptable values are between 1.0 and 4.0.", +"format": "double", +"type": "number" +} +}, +"type": "object" +}, +"VmwarePlatformDetails": { +"description": "VMware specific details.", +"id": "VmwarePlatformDetails", +"properties": { +"esxHyperthreading": { +"description": "Whether the ESX is hyperthreaded.", +"enum": [ +"HYPERTHREADING_STATUS_UNSPECIFIED", +"HYPERTHREADING_STATUS_DISABLED", +"HYPERTHREADING_STATUS_ENABLED" +], +"enumDescriptions": [ +"Simultaneous Multithreading status unknown.", +"Simultaneous Multithreading is disabled or unavailable.", +"Simultaneous Multithreading is enabled." +], +"type": "string" +}, +"esxVersion": { +"description": "ESX version.", +"type": "string" +}, +"osid": { +"description": "VMware os enum - https://vdc-repo.vmware.com/vmwb-repository/dcr-public/da47f910-60ac-438b-8b9b-6122f4d14524/16b7274a-bf8b-4b4c-a05e-746f2aa93c8c/doc/vim.vm.GuestOsDescriptor.GuestOsIdentifier.html.", +"type": "string" +}, +"vcenterFolder": { +"description": "Folder name in vCenter where asset resides.", +"type": "string" +}, +"vcenterUri": { +"description": "vCenter URI used in collection.", +"type": "string" +}, +"vcenterVersion": { +"description": "vCenter version.", +"type": "string" +}, +"vcenterVmId": { +"description": "vCenter VM ID.", +"type": "string" +} +}, +"type": "object" +} +}, +"servicePath": "", +"title": "Migration Center API", +"version": "v1", +"version_module": true +} \ No newline at end of file diff --git a/.venv/lib/python3.11/site-packages/googleapiclient/discovery_cache/documents/mybusinessaccountmanagement.v1.json b/.venv/lib/python3.11/site-packages/googleapiclient/discovery_cache/documents/mybusinessaccountmanagement.v1.json new file mode 100644 index 0000000000000000000000000000000000000000..20cec6cde0939f44e8d5514f2fdfa45295b71fd4 --- /dev/null +++ b/.venv/lib/python3.11/site-packages/googleapiclient/discovery_cache/documents/mybusinessaccountmanagement.v1.json @@ -0,0 +1,935 @@ +{ +"basePath": "", +"baseUrl": "https://mybusinessaccountmanagement.googleapis.com/", +"batchPath": "batch", +"canonicalName": "My Business Account Management", +"description": "The My Business Account Management API provides an interface for managing access to a location on Google. Note - If you have a quota of 0 after enabling the API, please request for GBP API access.", +"discoveryVersion": "v1", +"documentationLink": "https://developers.google.com/my-business/", +"fullyEncodeReservedExpansion": true, +"icons": { +"x16": "http://www.google.com/images/icons/product/search-16.gif", +"x32": "http://www.google.com/images/icons/product/search-32.gif" +}, +"id": "mybusinessaccountmanagement:v1", +"kind": "discovery#restDescription", +"mtlsRootUrl": "https://mybusinessaccountmanagement.mtls.googleapis.com/", +"name": "mybusinessaccountmanagement", +"ownerDomain": "google.com", +"ownerName": "Google", +"parameters": { +"$.xgafv": { +"description": "V1 error format.", +"enum": [ +"1", +"2" +], +"enumDescriptions": [ +"v1 error format", +"v2 error format" +], +"location": "query", +"type": "string" +}, +"access_token": { +"description": "OAuth access token.", +"location": "query", +"type": "string" +}, +"alt": { +"default": "json", +"description": "Data format for response.", +"enum": [ +"json", +"media", +"proto" +], +"enumDescriptions": [ +"Responses with Content-Type of application/json", +"Media download with context-dependent Content-Type", +"Responses with Content-Type of application/x-protobuf" +], +"location": "query", +"type": "string" +}, +"callback": { +"description": "JSONP", +"location": "query", +"type": "string" +}, +"fields": { +"description": "Selector specifying which fields to include in a partial response.", +"location": "query", +"type": "string" +}, +"key": { +"description": "API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token.", +"location": "query", +"type": "string" +}, +"oauth_token": { +"description": "OAuth 2.0 token for the current user.", +"location": "query", +"type": "string" +}, +"prettyPrint": { +"default": "true", +"description": "Returns response with indentations and line breaks.", +"location": "query", +"type": "boolean" +}, +"quotaUser": { +"description": "Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters.", +"location": "query", +"type": "string" +}, +"uploadType": { +"description": "Legacy upload protocol for media (e.g. \"media\", \"multipart\").", +"location": "query", +"type": "string" +}, +"upload_protocol": { +"description": "Upload protocol for media (e.g. \"raw\", \"multipart\").", +"location": "query", +"type": "string" +} +}, +"protocol": "rest", +"resources": { +"accounts": { +"methods": { +"create": { +"description": "Creates an account with the specified name and type under the given parent. - Personal accounts and Organizations cannot be created. - User Groups cannot be created with a Personal account as primary owner. - Location Groups cannot be created with a primary owner of a Personal account if the Personal account is in an Organization. - Location Groups cannot own Location Groups.", +"flatPath": "v1/accounts", +"httpMethod": "POST", +"id": "mybusinessaccountmanagement.accounts.create", +"parameterOrder": [], +"parameters": {}, +"path": "v1/accounts", +"request": { +"$ref": "Account" +}, +"response": { +"$ref": "Account" +} +}, +"get": { +"description": "Gets the specified account. Returns `NOT_FOUND` if the account does not exist or if the caller does not have access rights to it.", +"flatPath": "v1/accounts/{accountsId}", +"httpMethod": "GET", +"id": "mybusinessaccountmanagement.accounts.get", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. The name of the account to fetch.", +"location": "path", +"pattern": "^accounts/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+name}", +"response": { +"$ref": "Account" +} +}, +"list": { +"description": "Lists all of the accounts for the authenticated user. This includes all accounts that the user owns, as well as any accounts for which the user has management rights.", +"flatPath": "v1/accounts", +"httpMethod": "GET", +"id": "mybusinessaccountmanagement.accounts.list", +"parameterOrder": [], +"parameters": { +"filter": { +"description": "Optional. A filter constraining the accounts to return. The response includes only entries that match the filter. If `filter` is empty, then no constraints are applied and all accounts (paginated) are retrieved for the requested account. For example, a request with the filter `type=USER_GROUP` will only return user groups. The `type` field is the only supported filter.", +"location": "query", +"type": "string" +}, +"pageSize": { +"description": "Optional. How many accounts to fetch per page. The default and maximum is 20.", +"format": "int32", +"location": "query", +"type": "integer" +}, +"pageToken": { +"description": "Optional. If specified, the next page of accounts is retrieved. The `pageToken` is returned when a call to `accounts.list` returns more results than can fit into the requested page size.", +"location": "query", +"type": "string" +}, +"parentAccount": { +"description": "Optional. The resource name of the account for which the list of directly accessible accounts is to be retrieved. This only makes sense for Organizations and User Groups. If empty, will return `ListAccounts` for the authenticated user. `accounts/{account_id}`.", +"location": "query", +"type": "string" +} +}, +"path": "v1/accounts", +"response": { +"$ref": "ListAccountsResponse" +} +}, +"patch": { +"description": "Updates the specified business account. Personal accounts cannot be updated using this method.", +"flatPath": "v1/accounts/{accountsId}", +"httpMethod": "PATCH", +"id": "mybusinessaccountmanagement.accounts.patch", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Immutable. The resource name, in the format `accounts/{account_id}`.", +"location": "path", +"pattern": "^accounts/[^/]+$", +"required": true, +"type": "string" +}, +"updateMask": { +"description": "Required. The specific fields that should be updated. The only editable field is `accountName`.", +"format": "google-fieldmask", +"location": "query", +"type": "string" +}, +"validateOnly": { +"description": "Optional. If true, the request is validated without actually updating the account.", +"location": "query", +"type": "boolean" +} +}, +"path": "v1/{+name}", +"request": { +"$ref": "Account" +}, +"response": { +"$ref": "Account" +} +} +}, +"resources": { +"admins": { +"methods": { +"create": { +"description": "Invites the specified user to become an administrator for the specified account. The invitee must accept the invitation in order to be granted access to the account. See AcceptInvitation to programmatically accept an invitation.", +"flatPath": "v1/accounts/{accountsId}/admins", +"httpMethod": "POST", +"id": "mybusinessaccountmanagement.accounts.admins.create", +"parameterOrder": [ +"parent" +], +"parameters": { +"parent": { +"description": "Required. The resource name of the account this admin is created for. `accounts/{account_id}`.", +"location": "path", +"pattern": "^accounts/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+parent}/admins", +"request": { +"$ref": "Admin" +}, +"response": { +"$ref": "Admin" +} +}, +"delete": { +"description": "Removes the specified admin from the specified account.", +"flatPath": "v1/accounts/{accountsId}/admins/{adminsId}", +"httpMethod": "DELETE", +"id": "mybusinessaccountmanagement.accounts.admins.delete", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. The resource name of the admin to remove from the account. `accounts/{account_id}/admins/{admin_id}`.", +"location": "path", +"pattern": "^accounts/[^/]+/admins/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+name}", +"response": { +"$ref": "Empty" +} +}, +"list": { +"description": "Lists the admins for the specified account.", +"flatPath": "v1/accounts/{accountsId}/admins", +"httpMethod": "GET", +"id": "mybusinessaccountmanagement.accounts.admins.list", +"parameterOrder": [ +"parent" +], +"parameters": { +"parent": { +"description": "Required. The name of the account from which to retrieve a list of admins. `accounts/{account_id}/admins`.", +"location": "path", +"pattern": "^accounts/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+parent}/admins", +"response": { +"$ref": "ListAccountAdminsResponse" +} +}, +"patch": { +"description": "Updates the Admin for the specified Account Admin.", +"flatPath": "v1/accounts/{accountsId}/admins/{adminsId}", +"httpMethod": "PATCH", +"id": "mybusinessaccountmanagement.accounts.admins.patch", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Immutable. The resource name. For account admins, this is in the form: `accounts/{account_id}/admins/{admin_id}` For location admins, this is in the form: `locations/{location_id}/admins/{admin_id}` This field will be ignored if set during admin creation.", +"location": "path", +"pattern": "^accounts/[^/]+/admins/[^/]+$", +"required": true, +"type": "string" +}, +"updateMask": { +"description": "Required. The specific fields that should be updated. The only editable field is role.", +"format": "google-fieldmask", +"location": "query", +"type": "string" +} +}, +"path": "v1/{+name}", +"request": { +"$ref": "Admin" +}, +"response": { +"$ref": "Admin" +} +} +} +}, +"invitations": { +"methods": { +"accept": { +"description": "Accepts the specified invitation.", +"flatPath": "v1/accounts/{accountsId}/invitations/{invitationsId}:accept", +"httpMethod": "POST", +"id": "mybusinessaccountmanagement.accounts.invitations.accept", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. The name of the invitation that is being accepted. `accounts/{account_id}/invitations/{invitation_id}`", +"location": "path", +"pattern": "^accounts/[^/]+/invitations/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+name}:accept", +"request": { +"$ref": "AcceptInvitationRequest" +}, +"response": { +"$ref": "Empty" +} +}, +"decline": { +"description": "Declines the specified invitation.", +"flatPath": "v1/accounts/{accountsId}/invitations/{invitationsId}:decline", +"httpMethod": "POST", +"id": "mybusinessaccountmanagement.accounts.invitations.decline", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. The name of the account invitation that is being declined. `accounts/{account_id}/invitations/{invitation_id}`", +"location": "path", +"pattern": "^accounts/[^/]+/invitations/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+name}:decline", +"request": { +"$ref": "DeclineInvitationRequest" +}, +"response": { +"$ref": "Empty" +} +}, +"list": { +"description": "Lists pending invitations for the specified account.", +"flatPath": "v1/accounts/{accountsId}/invitations", +"httpMethod": "GET", +"id": "mybusinessaccountmanagement.accounts.invitations.list", +"parameterOrder": [ +"parent" +], +"parameters": { +"filter": { +"description": "Optional. Filtering the response is supported via the Invitation.target_type field.", +"location": "query", +"type": "string" +}, +"parent": { +"description": "Required. The name of the account from which the list of invitations is being retrieved. `accounts/{account_id}/invitations`", +"location": "path", +"pattern": "^accounts/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+parent}/invitations", +"response": { +"$ref": "ListInvitationsResponse" +} +} +} +} +} +}, +"locations": { +"methods": { +"transfer": { +"description": "Moves a location from an account that the user owns to another account that the same user administers. The user must be an owner of the account the location is currently associated with and must also be at least a manager of the destination account.", +"flatPath": "v1/locations/{locationsId}:transfer", +"httpMethod": "POST", +"id": "mybusinessaccountmanagement.locations.transfer", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. The name of the location to transfer. `locations/{location_id}`.", +"location": "path", +"pattern": "^locations/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+name}:transfer", +"request": { +"$ref": "TransferLocationRequest" +}, +"response": { +"$ref": "Empty" +} +} +}, +"resources": { +"admins": { +"methods": { +"create": { +"description": "Invites the specified user to become an administrator for the specified location. The invitee must accept the invitation in order to be granted access to the location. See AcceptInvitation to programmatically accept an invitation.", +"flatPath": "v1/locations/{locationsId}/admins", +"httpMethod": "POST", +"id": "mybusinessaccountmanagement.locations.admins.create", +"parameterOrder": [ +"parent" +], +"parameters": { +"parent": { +"description": "Required. The resource name of the location this admin is created for. `locations/{location_id}/admins`.", +"location": "path", +"pattern": "^locations/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+parent}/admins", +"request": { +"$ref": "Admin" +}, +"response": { +"$ref": "Admin" +} +}, +"delete": { +"description": "Removes the specified admin as a manager of the specified location.", +"flatPath": "v1/locations/{locationsId}/admins/{adminsId}", +"httpMethod": "DELETE", +"id": "mybusinessaccountmanagement.locations.admins.delete", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. The resource name of the admin to remove from the location.", +"location": "path", +"pattern": "^locations/[^/]+/admins/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+name}", +"response": { +"$ref": "Empty" +} +}, +"list": { +"description": "Lists all of the admins for the specified location.", +"flatPath": "v1/locations/{locationsId}/admins", +"httpMethod": "GET", +"id": "mybusinessaccountmanagement.locations.admins.list", +"parameterOrder": [ +"parent" +], +"parameters": { +"parent": { +"description": "Required. The name of the location to list admins of. `locations/{location_id}/admins`.", +"location": "path", +"pattern": "^locations/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+parent}/admins", +"response": { +"$ref": "ListLocationAdminsResponse" +} +}, +"patch": { +"description": "Updates the Admin for the specified location. Only the AdminRole of the Admin can be updated.", +"flatPath": "v1/locations/{locationsId}/admins/{adminsId}", +"httpMethod": "PATCH", +"id": "mybusinessaccountmanagement.locations.admins.patch", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Immutable. The resource name. For account admins, this is in the form: `accounts/{account_id}/admins/{admin_id}` For location admins, this is in the form: `locations/{location_id}/admins/{admin_id}` This field will be ignored if set during admin creation.", +"location": "path", +"pattern": "^locations/[^/]+/admins/[^/]+$", +"required": true, +"type": "string" +}, +"updateMask": { +"description": "Required. The specific fields that should be updated. The only editable field is role.", +"format": "google-fieldmask", +"location": "query", +"type": "string" +} +}, +"path": "v1/{+name}", +"request": { +"$ref": "Admin" +}, +"response": { +"$ref": "Admin" +} +} +} +} +} +} +}, +"revision": "20241120", +"rootUrl": "https://mybusinessaccountmanagement.googleapis.com/", +"schemas": { +"AcceptInvitationRequest": { +"description": "Request message for AccessControl.AcceptInvitation.", +"id": "AcceptInvitationRequest", +"properties": {}, +"type": "object" +}, +"Account": { +"description": "An account is a container for your location. If you are the only user who manages locations for your business, you can use your personal Google Account. To share management of locations with multiple users, [create a business account] (https://support.google.com/business/answer/6085339?ref_topic=6085325).", +"id": "Account", +"properties": { +"accountName": { +"description": "Required. The name of the account. For an account of type `PERSONAL`, this is the first and last name of the user account.", +"type": "string" +}, +"accountNumber": { +"description": "Output only. Account reference number if provisioned.", +"readOnly": true, +"type": "string" +}, +"name": { +"description": "Immutable. The resource name, in the format `accounts/{account_id}`.", +"type": "string" +}, +"organizationInfo": { +"$ref": "OrganizationInfo", +"description": "Output only. Additional info for an organization. This is populated only for an organization account.", +"readOnly": true +}, +"permissionLevel": { +"description": "Output only. Specifies the permission level the user has for this account.", +"enum": [ +"PERMISSION_LEVEL_UNSPECIFIED", +"OWNER_LEVEL", +"MEMBER_LEVEL" +], +"enumDescriptions": [ +"Not specified.", +"The user has owner level permission.", +"The user has member level permission." +], +"readOnly": true, +"type": "string" +}, +"primaryOwner": { +"description": "Required. Input only. The resource name of the account which will be the primary owner of the account being created. It should be of the form `accounts/{account_id}`.", +"type": "string" +}, +"role": { +"description": "Output only. Specifies the AccountRole of this account.", +"enum": [ +"ACCOUNT_ROLE_UNSPECIFIED", +"PRIMARY_OWNER", +"OWNER", +"MANAGER", +"SITE_MANAGER" +], +"enumDescriptions": [ +"Not specified.", +"The user is the primary owner this account.", +"The user owner of the account.", +"The user can manage this account.", +"The user can manage a limited set of features for the account." +], +"readOnly": true, +"type": "string" +}, +"type": { +"description": "Required. Contains the type of account. Accounts of type PERSONAL and ORGANIZATION cannot be created using this API.", +"enum": [ +"ACCOUNT_TYPE_UNSPECIFIED", +"PERSONAL", +"LOCATION_GROUP", +"USER_GROUP", +"ORGANIZATION" +], +"enumDescriptions": [ +"Not specified.", +"An end-user account.", +"A group of Locations. For more information, see the [help center article] (https://support.google.com/business/answer/6085326)", +"A User Group for segregating organization staff in groups. For more information, see the [help center article](https://support.google.com/business/answer/7655731)", +"An organization representing a company. For more information, see the [help center article](https://support.google.com/business/answer/7663063)" +], +"type": "string" +}, +"verificationState": { +"description": "Output only. If verified, future locations that are created are automatically connected to Google Maps, and have Google+ pages created, without requiring moderation.", +"enum": [ +"VERIFICATION_STATE_UNSPECIFIED", +"VERIFIED", +"UNVERIFIED", +"VERIFICATION_REQUESTED" +], +"enumDescriptions": [ +"Not specified.", +"Verified account.", +"Account that is not verified, and verification has not been requested.", +"Account that is not verified, but verification has been requested." +], +"readOnly": true, +"type": "string" +}, +"vettedState": { +"description": "Output only. Indicates whether the account is vetted by Google. A vetted account is able to verify locations via the VETTED_PARTNER method.", +"enum": [ +"VETTED_STATE_UNSPECIFIED", +"NOT_VETTED", +"VETTED", +"INVALID" +], +"enumDescriptions": [ +"Not Specified", +"The account is not vetted by Google.", +"The account is vetted by Google and in a valid state. An account is automatically vetted if it has direct access to a vetted group account.", +"The account is vetted but in an invalid state. The account will behave like an unvetted account." +], +"readOnly": true, +"type": "string" +} +}, +"type": "object" +}, +"Admin": { +"description": "An administrator of an Account or a location.", +"id": "Admin", +"properties": { +"account": { +"description": "Immutable. The name of the Account resource that this Admin refers to. Used when calling locations.admins.create to invite a LocationGroup as an admin. If both this field and `admin` are set on `CREATE` requests, this field takes precedence and the email address in `admin` will be ignored. Format: `accounts/{account}`.", +"type": "string" +}, +"admin": { +"description": "Optional. The name of the admin. When making the initial invitation, this is the invitee's email address. On `GET` calls, the user's email address is returned if the invitation is still pending. Otherwise, it contains the user's first and last names. This field is only needed to be set during admin creation.", +"type": "string" +}, +"name": { +"description": "Immutable. The resource name. For account admins, this is in the form: `accounts/{account_id}/admins/{admin_id}` For location admins, this is in the form: `locations/{location_id}/admins/{admin_id}` This field will be ignored if set during admin creation.", +"type": "string" +}, +"pendingInvitation": { +"description": "Output only. Indicates whether this admin has a pending invitation for the specified resource.", +"readOnly": true, +"type": "boolean" +}, +"role": { +"description": "Required. Specifies the role that this admin uses with the specified Account or Location.", +"enum": [ +"ADMIN_ROLE_UNSPECIFIED", +"PRIMARY_OWNER", +"OWNER", +"MANAGER", +"SITE_MANAGER" +], +"enumDescriptions": [ +"Not specified.", +"The admin has owner-level access and is the primary owner. (Displays as 'Primary Owner' in UI).", +"The admin has owner-level access. (Displays as 'Owner' in UI).", +"The admin has managerial access.", +"The admin can manage social (Google+) pages. (Displays as 'Site Manager' in UI). This API doesn't allow creating an account admin with a SITE_MANAGER role." +], +"type": "string" +} +}, +"type": "object" +}, +"DeclineInvitationRequest": { +"description": "Request message for AccessControl.DeclineInvitation.", +"id": "DeclineInvitationRequest", +"properties": {}, +"type": "object" +}, +"Empty": { +"description": "A generic empty message that you can re-use to avoid defining duplicated empty messages in your APIs. A typical example is to use it as the request or the response type of an API method. For instance: service Foo { rpc Bar(google.protobuf.Empty) returns (google.protobuf.Empty); }", +"id": "Empty", +"properties": {}, +"type": "object" +}, +"Invitation": { +"description": "Represents a pending invitation.", +"id": "Invitation", +"properties": { +"name": { +"description": "Required. The resource name for the invitation. `accounts/{account_id}/invitations/{invitation_id}`.", +"type": "string" +}, +"role": { +"description": "Output only. The invited role on the account.", +"enum": [ +"ADMIN_ROLE_UNSPECIFIED", +"PRIMARY_OWNER", +"OWNER", +"MANAGER", +"SITE_MANAGER" +], +"enumDescriptions": [ +"Not specified.", +"The admin has owner-level access and is the primary owner. (Displays as 'Primary Owner' in UI).", +"The admin has owner-level access. (Displays as 'Owner' in UI).", +"The admin has managerial access.", +"The admin can manage social (Google+) pages. (Displays as 'Site Manager' in UI). This API doesn't allow creating an account admin with a SITE_MANAGER role." +], +"readOnly": true, +"type": "string" +}, +"targetAccount": { +"$ref": "Account", +"description": "The sparsely populated account this invitation is for." +}, +"targetLocation": { +"$ref": "TargetLocation", +"description": "The target location this invitation is for." +}, +"targetType": { +"description": "Output only. Specifies which target types should appear in the response.", +"enum": [ +"TARGET_TYPE_UNSPECIFIED", +"ACCOUNTS_ONLY", +"LOCATIONS_ONLY" +], +"enumDescriptions": [ +"Set when target type is unspecified.", +"List invitations only for targets of type Account.", +"List invitations only for targets of type Location." +], +"readOnly": true, +"type": "string" +} +}, +"type": "object" +}, +"ListAccountAdminsResponse": { +"description": "Response message for AccessControl.ListAccountAdmins.", +"id": "ListAccountAdminsResponse", +"properties": { +"accountAdmins": { +"description": "A collection of Admin instances.", +"items": { +"$ref": "Admin" +}, +"type": "array" +} +}, +"type": "object" +}, +"ListAccountsResponse": { +"description": "Response message for Accounts.ListAccounts.", +"id": "ListAccountsResponse", +"properties": { +"accounts": { +"description": "A collection of accounts to which the user has access. The personal account of the user doing the query will always be the first item of the result, unless it is filtered out.", +"items": { +"$ref": "Account" +}, +"type": "array" +}, +"nextPageToken": { +"description": "If the number of accounts exceeds the requested page size, this field is populated with a token to fetch the next page of accounts on a subsequent call to `accounts.list`. If there are no more accounts, this field is not present in the response.", +"type": "string" +} +}, +"type": "object" +}, +"ListInvitationsResponse": { +"description": "Response message for AccessControl.ListInvitations.", +"id": "ListInvitationsResponse", +"properties": { +"invitations": { +"description": "A collection of invitations that are pending for the account. The number of invitations listed here cannot exceed 1000.", +"items": { +"$ref": "Invitation" +}, +"type": "array" +} +}, +"type": "object" +}, +"ListLocationAdminsResponse": { +"description": "Response message for AccessControl.ListLocationAdmins.", +"id": "ListLocationAdminsResponse", +"properties": { +"admins": { +"description": "A collection of Admins.", +"items": { +"$ref": "Admin" +}, +"type": "array" +} +}, +"type": "object" +}, +"OrganizationInfo": { +"description": "Additional information stored for an organization.", +"id": "OrganizationInfo", +"properties": { +"address": { +"$ref": "PostalAddress", +"description": "Output only. The postal address for the account.", +"readOnly": true +}, +"phoneNumber": { +"description": "Output only. The contact number for the organization.", +"readOnly": true, +"type": "string" +}, +"registeredDomain": { +"description": "Output only. The registered domain for the account.", +"readOnly": true, +"type": "string" +} +}, +"type": "object" +}, +"PostalAddress": { +"description": "Represents a postal address. For example for postal delivery or payments addresses. Given a postal address, a postal service can deliver items to a premise, P.O. Box or similar. It is not intended to model geographical locations (roads, towns, mountains). In typical usage an address would be created by user input or from importing existing data, depending on the type of process. Advice on address input / editing: - Use an internationalization-ready address widget such as https://github.com/google/libaddressinput) - Users should not be presented with UI elements for input or editing of fields outside countries where that field is used. For more guidance on how to use this schema, see: https://support.google.com/business/answer/6397478", +"id": "PostalAddress", +"properties": { +"addressLines": { +"description": "Unstructured address lines describing the lower levels of an address. Because values in address_lines do not have type information and may sometimes contain multiple values in a single field (For example \"Austin, TX\"), it is important that the line order is clear. The order of address lines should be \"envelope order\" for the country/region of the address. In places where this can vary (For example Japan), address_language is used to make it explicit (For example \"ja\" for large-to-small ordering and \"ja-Latn\" or \"en\" for small-to-large). This way, the most specific line of an address can be selected based on the language. The minimum permitted structural representation of an address consists of a region_code with all remaining information placed in the address_lines. It would be possible to format such an address very approximately without geocoding, but no semantic reasoning could be made about any of the address components until it was at least partially resolved. Creating an address only containing a region_code and address_lines, and then geocoding is the recommended way to handle completely unstructured addresses (as opposed to guessing which parts of the address should be localities or administrative areas).", +"items": { +"type": "string" +}, +"type": "array" +}, +"administrativeArea": { +"description": "Optional. Highest administrative subdivision which is used for postal addresses of a country or region. For example, this can be a state, a province, an oblast, or a prefecture. Specifically, for Spain this is the province and not the autonomous community (For example \"Barcelona\" and not \"Catalonia\"). Many countries don't use an administrative area in postal addresses. For example in Switzerland this should be left unpopulated.", +"type": "string" +}, +"languageCode": { +"description": "Optional. BCP-47 language code of the contents of this address (if known). This is often the UI language of the input form or is expected to match one of the languages used in the address' country/region, or their transliterated equivalents. This can affect formatting in certain countries, but is not critical to the correctness of the data and will never affect any validation or other non-formatting related operations. If this value is not known, it should be omitted (rather than specifying a possibly incorrect default). Examples: \"zh-Hant\", \"ja\", \"ja-Latn\", \"en\".", +"type": "string" +}, +"locality": { +"description": "Optional. Generally refers to the city/town portion of the address. Examples: US city, IT comune, UK post town. In regions of the world where localities are not well defined or do not fit into this structure well, leave locality empty and use address_lines.", +"type": "string" +}, +"organization": { +"description": "Optional. The name of the organization at the address.", +"type": "string" +}, +"postalCode": { +"description": "Optional. Postal code of the address. Not all countries use or require postal codes to be present, but where they are used, they may trigger additional validation with other parts of the address (For example state/zip validation in the U.S.A.).", +"type": "string" +}, +"recipients": { +"description": "Optional. The recipient at the address. This field may, under certain circumstances, contain multiline information. For example, it might contain \"care of\" information.", +"items": { +"type": "string" +}, +"type": "array" +}, +"regionCode": { +"description": "Required. CLDR region code of the country/region of the address. This is never inferred and it is up to the user to ensure the value is correct. See https://cldr.unicode.org/ and https://www.unicode.org/cldr/charts/30/supplemental/territory_information.html for details. Example: \"CH\" for Switzerland.", +"type": "string" +}, +"revision": { +"description": "The schema revision of the `PostalAddress`. This must be set to 0, which is the latest revision. All new revisions **must** be backward compatible with old revisions.", +"format": "int32", +"type": "integer" +}, +"sortingCode": { +"description": "Optional. Additional, country-specific, sorting code. This is not used in most regions. Where it is used, the value is either a string like \"CEDEX\", optionally followed by a number (For example \"CEDEX 7\"), or just a number alone, representing the \"sector code\" (Jamaica), \"delivery area indicator\" (Malawi) or \"post office indicator\" (For example C\u00f4te d'Ivoire).", +"type": "string" +}, +"sublocality": { +"description": "Optional. Sublocality of the address. For example, this can be neighborhoods, boroughs, districts.", +"type": "string" +} +}, +"type": "object" +}, +"TargetLocation": { +"description": "Represents a target location for a pending invitation.", +"id": "TargetLocation", +"properties": { +"address": { +"description": "The address of the location to which the user is invited.", +"type": "string" +}, +"locationName": { +"description": "The name of the location to which the user is invited.", +"type": "string" +} +}, +"type": "object" +}, +"TransferLocationRequest": { +"description": "Request message for AccessControl.TransferLocation.", +"id": "TransferLocationRequest", +"properties": { +"destinationAccount": { +"description": "Required. Name of the account resource to transfer the location to (for example, \"accounts/{account}\").", +"type": "string" +} +}, +"type": "object" +} +}, +"servicePath": "", +"title": "My Business Account Management API", +"version": "v1", +"version_module": true +} \ No newline at end of file diff --git a/.venv/lib/python3.11/site-packages/googleapiclient/discovery_cache/documents/mybusinessnotifications.v1.json b/.venv/lib/python3.11/site-packages/googleapiclient/discovery_cache/documents/mybusinessnotifications.v1.json new file mode 100644 index 0000000000000000000000000000000000000000..cb516fe8dcadbbb8a53ddcf51f48d618d27252d7 --- /dev/null +++ b/.venv/lib/python3.11/site-packages/googleapiclient/discovery_cache/documents/mybusinessnotifications.v1.json @@ -0,0 +1,229 @@ +{ +"basePath": "", +"baseUrl": "https://mybusinessnotifications.googleapis.com/", +"batchPath": "batch", +"canonicalName": "My Business Notification Settings", +"description": "The My Business Notification Settings API enables managing notification settings for business accounts. Note - If you have a quota of 0 after enabling the API, please request for GBP API access.", +"discoveryVersion": "v1", +"documentationLink": "https://developers.google.com/my-business/", +"fullyEncodeReservedExpansion": true, +"icons": { +"x16": "http://www.google.com/images/icons/product/search-16.gif", +"x32": "http://www.google.com/images/icons/product/search-32.gif" +}, +"id": "mybusinessnotifications:v1", +"kind": "discovery#restDescription", +"mtlsRootUrl": "https://mybusinessnotifications.mtls.googleapis.com/", +"name": "mybusinessnotifications", +"ownerDomain": "google.com", +"ownerName": "Google", +"parameters": { +"$.xgafv": { +"description": "V1 error format.", +"enum": [ +"1", +"2" +], +"enumDescriptions": [ +"v1 error format", +"v2 error format" +], +"location": "query", +"type": "string" +}, +"access_token": { +"description": "OAuth access token.", +"location": "query", +"type": "string" +}, +"alt": { +"default": "json", +"description": "Data format for response.", +"enum": [ +"json", +"media", +"proto" +], +"enumDescriptions": [ +"Responses with Content-Type of application/json", +"Media download with context-dependent Content-Type", +"Responses with Content-Type of application/x-protobuf" +], +"location": "query", +"type": "string" +}, +"callback": { +"description": "JSONP", +"location": "query", +"type": "string" +}, +"fields": { +"description": "Selector specifying which fields to include in a partial response.", +"location": "query", +"type": "string" +}, +"key": { +"description": "API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token.", +"location": "query", +"type": "string" +}, +"oauth_token": { +"description": "OAuth 2.0 token for the current user.", +"location": "query", +"type": "string" +}, +"prettyPrint": { +"default": "true", +"description": "Returns response with indentations and line breaks.", +"location": "query", +"type": "boolean" +}, +"quotaUser": { +"description": "Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters.", +"location": "query", +"type": "string" +}, +"uploadType": { +"description": "Legacy upload protocol for media (e.g. \"media\", \"multipart\").", +"location": "query", +"type": "string" +}, +"upload_protocol": { +"description": "Upload protocol for media (e.g. \"raw\", \"multipart\").", +"location": "query", +"type": "string" +} +}, +"protocol": "rest", +"resources": { +"accounts": { +"methods": { +"getNotificationSetting": { +"description": "Returns the pubsub notification settings for the account.", +"flatPath": "v1/accounts/{accountsId}/notificationSetting", +"httpMethod": "GET", +"id": "mybusinessnotifications.accounts.getNotificationSetting", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. The resource name of the notification setting we are trying to fetch.", +"location": "path", +"pattern": "^accounts/[^/]+/notificationSetting$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+name}", +"response": { +"$ref": "NotificationSetting" +} +}, +"updateNotificationSetting": { +"description": "Sets the pubsub notification setting for the account informing Google which topic to send pubsub notifications for. Use the notification_types field within notification_setting to manipulate the events an account wants to subscribe to. An account will only have one notification setting resource, and only one pubsub topic can be set. To delete the setting, update with an empty notification_types", +"flatPath": "v1/accounts/{accountsId}/notificationSetting", +"httpMethod": "PATCH", +"id": "mybusinessnotifications.accounts.updateNotificationSetting", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. The resource name this setting is for. This is of the form `accounts/{account_id}/notificationSetting`.", +"location": "path", +"pattern": "^accounts/[^/]+/notificationSetting$", +"required": true, +"type": "string" +}, +"updateMask": { +"description": "Required. The specific fields that should be updated. The only editable field is notification_setting.", +"format": "google-fieldmask", +"location": "query", +"type": "string" +} +}, +"path": "v1/{+name}", +"request": { +"$ref": "NotificationSetting" +}, +"response": { +"$ref": "NotificationSetting" +} +} +} +} +}, +"revision": "20240707", +"rootUrl": "https://mybusinessnotifications.googleapis.com/", +"schemas": { +"NotificationSetting": { +"description": "A Google Pub/Sub topic where notifications can be published when a location is updated or has a new review. There will be only one notification setting resource per-account.", +"id": "NotificationSetting", +"properties": { +"name": { +"description": "Required. The resource name this setting is for. This is of the form `accounts/{account_id}/notificationSetting`.", +"type": "string" +}, +"notificationTypes": { +"description": "The types of notifications that will be sent to the Pub/Sub topic. To stop receiving notifications entirely, use NotificationSettings.UpdateNotificationSetting with an empty notification_types or set the pubsub_topic to an empty string.", +"items": { +"enum": [ +"NOTIFICATION_TYPE_UNSPECIFIED", +"GOOGLE_UPDATE", +"NEW_REVIEW", +"UPDATED_REVIEW", +"NEW_CUSTOMER_MEDIA", +"NEW_QUESTION", +"UPDATED_QUESTION", +"NEW_ANSWER", +"UPDATED_ANSWER", +"DUPLICATE_LOCATION", +"LOSS_OF_VOICE_OF_MERCHANT", +"VOICE_OF_MERCHANT_UPDATED" +], +"enumDeprecated": [ +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +true, +false +], +"enumDescriptions": [ +"No notification type. Will not match any notifications.", +"The location has Google updates for review. The location_name field on the notification will provide the resource name of the location with Google updates.", +"A new review has been added to the location. The review_name field on the notification will provide the resource name of the review that was added, and location_name will have the location's resource name.", +"A review on the location has been updated. The review_name field on the notification will provide the resource name of the review that was added, and location_name will have the location's resource name.", +"A new media item has been added to the location by a Google Maps user. The notification will provide the resource name of the new media item.", +"A new question is added to the location. The notification will provide the resource name of question.", +"A question of the location is updated. The notification will provide the resource name of question.", +"A new answer is added to the location. The notification will provide the resource name of question and answer.", +"An answer of the location is updated. The notification will provide the resource name of question and answer.", +"Indicates whether there is a change in location metadata's duplicate location field.", +"Deprecated: Migrate the existing usages of this value to the more expanded \"VOICE_OF_MERCHANT_UPDATED\".", +"Indicates whether the location has an update in Voice of Merchant (VOM) status. VOM dictates whether the location is in good standing and the merchant has control over the business on Google. Any edits made to the location will propagate to Maps after passing the review phase. Call GetVoiceOfMerchantState rpc for more details." +], +"type": "string" +}, +"type": "array" +}, +"pubsubTopic": { +"description": "Optional. The Google Pub/Sub topic that will receive notifications when locations managed by this account are updated. If unset, no notifications will be posted. The account mybusiness-api-pubsub@system.gserviceaccount.com must have at least Publish permissions on the Pub/Sub topic.", +"type": "string" +} +}, +"type": "object" +} +}, +"servicePath": "", +"title": "My Business Notifications API", +"version": "v1", +"version_module": true +} \ No newline at end of file diff --git a/.venv/lib/python3.11/site-packages/googleapiclient/discovery_cache/documents/mybusinessqanda.v1.json b/.venv/lib/python3.11/site-packages/googleapiclient/discovery_cache/documents/mybusinessqanda.v1.json new file mode 100644 index 0000000000000000000000000000000000000000..71630815f2776e4536b14b5cc655dd449029339b --- /dev/null +++ b/.venv/lib/python3.11/site-packages/googleapiclient/discovery_cache/documents/mybusinessqanda.v1.json @@ -0,0 +1,519 @@ +{ +"basePath": "", +"baseUrl": "https://mybusinessqanda.googleapis.com/", +"batchPath": "batch", +"canonicalName": "My Business Q&A", +"description": "The My Business Q&A API allows questions and answers to be posted for specific listings. Note - If you have a quota of 0 after enabling the API, please request for GBP API access.", +"discoveryVersion": "v1", +"documentationLink": "https://developers.google.com/my-business/", +"fullyEncodeReservedExpansion": true, +"icons": { +"x16": "http://www.google.com/images/icons/product/search-16.gif", +"x32": "http://www.google.com/images/icons/product/search-32.gif" +}, +"id": "mybusinessqanda:v1", +"kind": "discovery#restDescription", +"mtlsRootUrl": "https://mybusinessqanda.mtls.googleapis.com/", +"name": "mybusinessqanda", +"ownerDomain": "google.com", +"ownerName": "Google", +"parameters": { +"$.xgafv": { +"description": "V1 error format.", +"enum": [ +"1", +"2" +], +"enumDescriptions": [ +"v1 error format", +"v2 error format" +], +"location": "query", +"type": "string" +}, +"access_token": { +"description": "OAuth access token.", +"location": "query", +"type": "string" +}, +"alt": { +"default": "json", +"description": "Data format for response.", +"enum": [ +"json", +"media", +"proto" +], +"enumDescriptions": [ +"Responses with Content-Type of application/json", +"Media download with context-dependent Content-Type", +"Responses with Content-Type of application/x-protobuf" +], +"location": "query", +"type": "string" +}, +"callback": { +"description": "JSONP", +"location": "query", +"type": "string" +}, +"fields": { +"description": "Selector specifying which fields to include in a partial response.", +"location": "query", +"type": "string" +}, +"key": { +"description": "API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token.", +"location": "query", +"type": "string" +}, +"oauth_token": { +"description": "OAuth 2.0 token for the current user.", +"location": "query", +"type": "string" +}, +"prettyPrint": { +"default": "true", +"description": "Returns response with indentations and line breaks.", +"location": "query", +"type": "boolean" +}, +"quotaUser": { +"description": "Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters.", +"location": "query", +"type": "string" +}, +"uploadType": { +"description": "Legacy upload protocol for media (e.g. \"media\", \"multipart\").", +"location": "query", +"type": "string" +}, +"upload_protocol": { +"description": "Upload protocol for media (e.g. \"raw\", \"multipart\").", +"location": "query", +"type": "string" +} +}, +"protocol": "rest", +"resources": { +"locations": { +"resources": { +"questions": { +"methods": { +"create": { +"description": "Adds a question for the specified location.", +"flatPath": "v1/locations/{locationsId}/questions", +"httpMethod": "POST", +"id": "mybusinessqanda.locations.questions.create", +"parameterOrder": [ +"parent" +], +"parameters": { +"parent": { +"description": "Required. The name of the location to write a question for.", +"location": "path", +"pattern": "^locations/[^/]+/questions$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+parent}", +"request": { +"$ref": "Question" +}, +"response": { +"$ref": "Question" +} +}, +"delete": { +"description": "Deletes a specific question written by the current user.", +"flatPath": "v1/locations/{locationsId}/questions/{questionsId}", +"httpMethod": "DELETE", +"id": "mybusinessqanda.locations.questions.delete", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. The name of the question to delete.", +"location": "path", +"pattern": "^locations/[^/]+/questions/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+name}", +"response": { +"$ref": "Empty" +} +}, +"list": { +"description": "Returns the paginated list of questions and some of its answers for a specified location. This operation is only valid if the specified location is verified.", +"flatPath": "v1/locations/{locationsId}/questions", +"httpMethod": "GET", +"id": "mybusinessqanda.locations.questions.list", +"parameterOrder": [ +"parent" +], +"parameters": { +"answersPerQuestion": { +"description": "Optional. How many answers to fetch per question. The default and maximum `answers_per_question` values are 10.", +"format": "int32", +"location": "query", +"type": "integer" +}, +"filter": { +"description": "Optional. A filter constraining the questions to return. The only filter currently supported is \"ignore_answered=true\"", +"location": "query", +"type": "string" +}, +"orderBy": { +"description": "Optional. The order to return the questions. Valid options include 'update_time desc' and 'upvote_count desc', which will return the questions sorted descendingly by the requested field. The default sort order is 'update_time desc'.", +"location": "query", +"type": "string" +}, +"pageSize": { +"description": "Optional. How many questions to fetch per page. The default and maximum `page_size` values are 10.", +"format": "int32", +"location": "query", +"type": "integer" +}, +"pageToken": { +"description": "Optional. If specified, the next page of questions is retrieved.", +"location": "query", +"type": "string" +}, +"parent": { +"description": "Required. The name of the location to fetch questions for.", +"location": "path", +"pattern": "^locations/[^/]+/questions$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+parent}", +"response": { +"$ref": "ListQuestionsResponse" +} +}, +"patch": { +"description": "Updates a specific question written by the current user.", +"flatPath": "v1/locations/{locationsId}/questions/{questionsId}", +"httpMethod": "PATCH", +"id": "mybusinessqanda.locations.questions.patch", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Immutable. The unique name for the question. locations/*/questions/* This field will be ignored if set during question creation.", +"location": "path", +"pattern": "^locations/[^/]+/questions/[^/]+$", +"required": true, +"type": "string" +}, +"updateMask": { +"description": "Required. The specific fields to update. Only question text can be updated.", +"format": "google-fieldmask", +"location": "query", +"type": "string" +} +}, +"path": "v1/{+name}", +"request": { +"$ref": "Question" +}, +"response": { +"$ref": "Question" +} +} +}, +"resources": { +"answers": { +"methods": { +"delete": { +"description": "Deletes the answer written by the current user to a question.", +"flatPath": "v1/locations/{locationsId}/questions/{questionsId}/answers:delete", +"httpMethod": "DELETE", +"id": "mybusinessqanda.locations.questions.answers.delete", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. The name of the question to delete an answer for.", +"location": "path", +"pattern": "^locations/[^/]+/questions/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+name}/answers:delete", +"response": { +"$ref": "Empty" +} +}, +"list": { +"description": "Returns the paginated list of answers for a specified question.", +"flatPath": "v1/locations/{locationsId}/questions/{questionsId}/answers", +"httpMethod": "GET", +"id": "mybusinessqanda.locations.questions.answers.list", +"parameterOrder": [ +"parent" +], +"parameters": { +"orderBy": { +"description": "Optional. The order to return the answers. Valid options include 'update_time desc' and 'upvote_count desc', which will return the answers sorted descendingly by the requested field. The default sort order is 'update_time desc'.", +"location": "query", +"type": "string" +}, +"pageSize": { +"description": "Optional. How many answers to fetch per page. The default and maximum `page_size` values are 10.", +"format": "int32", +"location": "query", +"type": "integer" +}, +"pageToken": { +"description": "Optional. If specified, the next page of answers is retrieved.", +"location": "query", +"type": "string" +}, +"parent": { +"description": "Required. The name of the question to fetch answers for.", +"location": "path", +"pattern": "^locations/[^/]+/questions/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+parent}/answers", +"response": { +"$ref": "ListAnswersResponse" +} +}, +"upsert": { +"description": "Creates an answer or updates the existing answer written by the user for the specified question. A user can only create one answer per question.", +"flatPath": "v1/locations/{locationsId}/questions/{questionsId}/answers:upsert", +"httpMethod": "POST", +"id": "mybusinessqanda.locations.questions.answers.upsert", +"parameterOrder": [ +"parent" +], +"parameters": { +"parent": { +"description": "Required. The name of the question to write an answer for.", +"location": "path", +"pattern": "^locations/[^/]+/questions/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+parent}/answers:upsert", +"request": { +"$ref": "UpsertAnswerRequest" +}, +"response": { +"$ref": "Answer" +} +} +} +} +} +} +} +} +}, +"revision": "20240707", +"rootUrl": "https://mybusinessqanda.googleapis.com/", +"schemas": { +"Answer": { +"description": "Represents an answer to a question", +"id": "Answer", +"properties": { +"author": { +"$ref": "Author", +"description": "Output only. The author of the answer. Will only be set during list operations.", +"readOnly": true +}, +"createTime": { +"description": "Output only. The timestamp for when the answer was written. Only retrieved during ListResponse fetching.", +"format": "google-datetime", +"readOnly": true, +"type": "string" +}, +"name": { +"description": "Output only. The unique name for the answer locations/*/questions/*/answers/*", +"readOnly": true, +"type": "string" +}, +"text": { +"description": "Required. The text of the answer. It should contain at least one non-whitespace character. The maximum length is 4096 characters.", +"type": "string" +}, +"updateTime": { +"description": "Output only. The timestamp for when the answer was last modified.", +"format": "google-datetime", +"readOnly": true, +"type": "string" +}, +"upvoteCount": { +"description": "Output only. The number of upvotes for the answer.", +"format": "int32", +"readOnly": true, +"type": "integer" +} +}, +"type": "object" +}, +"Author": { +"description": "Represents the author of a question or answer", +"id": "Author", +"properties": { +"displayName": { +"description": "The display name of the user", +"type": "string" +}, +"profilePhotoUri": { +"description": "The profile photo URI of the user.", +"type": "string" +}, +"type": { +"description": "The type of user the author is.", +"enum": [ +"AUTHOR_TYPE_UNSPECIFIED", +"REGULAR_USER", +"LOCAL_GUIDE", +"MERCHANT" +], +"enumDescriptions": [ +"This should not be used.", +"A regular user.", +"A Local Guide", +"The owner/manager of the location" +], +"type": "string" +} +}, +"type": "object" +}, +"Empty": { +"description": "A generic empty message that you can re-use to avoid defining duplicated empty messages in your APIs. A typical example is to use it as the request or the response type of an API method. For instance: service Foo { rpc Bar(google.protobuf.Empty) returns (google.protobuf.Empty); }", +"id": "Empty", +"properties": {}, +"type": "object" +}, +"ListAnswersResponse": { +"description": "Response message for QuestionsAndAnswers.ListAnswers", +"id": "ListAnswersResponse", +"properties": { +"answers": { +"description": "The requested answers.", +"items": { +"$ref": "Answer" +}, +"type": "array" +}, +"nextPageToken": { +"description": "If the number of answers exceeds the requested max page size, this field is populated with a token to fetch the next page of answers on a subsequent call. If there are no more answers, this field is not present in the response.", +"type": "string" +}, +"totalSize": { +"description": "The total number of answers posted for this question across all pages.", +"format": "int32", +"type": "integer" +} +}, +"type": "object" +}, +"ListQuestionsResponse": { +"description": "Response message for QuestionsAndAnswers.ListQuestions", +"id": "ListQuestionsResponse", +"properties": { +"nextPageToken": { +"description": "If the number of questions exceeds the requested max page size, this field is populated with a token to fetch the next page of questions on a subsequent call. If there are no more questions, this field is not present in the response.", +"type": "string" +}, +"questions": { +"description": "The requested questions,", +"items": { +"$ref": "Question" +}, +"type": "array" +}, +"totalSize": { +"description": "The total number of questions posted for this location across all pages.", +"format": "int32", +"type": "integer" +} +}, +"type": "object" +}, +"Question": { +"description": "Represents a single question and some of its answers.", +"id": "Question", +"properties": { +"author": { +"$ref": "Author", +"description": "Output only. The author of the question.", +"readOnly": true +}, +"createTime": { +"description": "Output only. The timestamp for when the question was written.", +"format": "google-datetime", +"readOnly": true, +"type": "string" +}, +"name": { +"description": "Immutable. The unique name for the question. locations/*/questions/* This field will be ignored if set during question creation.", +"type": "string" +}, +"text": { +"description": "Required. The text of the question. It should contain at least three words and the total length should be greater than or equal to 10 characters. The maximum length is 4096 characters.", +"type": "string" +}, +"topAnswers": { +"description": "Output only. A list of answers to the question, sorted by upvotes. This may not be a complete list of answers depending on the request parameters (answers_per_question)", +"items": { +"$ref": "Answer" +}, +"readOnly": true, +"type": "array" +}, +"totalAnswerCount": { +"description": "Output only. The total number of answers posted for this question.", +"format": "int32", +"readOnly": true, +"type": "integer" +}, +"updateTime": { +"description": "Output only. The timestamp for when the question was last modified.", +"format": "google-datetime", +"readOnly": true, +"type": "string" +}, +"upvoteCount": { +"description": "Output only. The number of upvotes for the question.", +"format": "int32", +"readOnly": true, +"type": "integer" +} +}, +"type": "object" +}, +"UpsertAnswerRequest": { +"description": "Request message for QuestionsAndAnswers.UpsertAnswer", +"id": "UpsertAnswerRequest", +"properties": { +"answer": { +"$ref": "Answer", +"description": "Required. The new answer." +} +}, +"type": "object" +} +}, +"servicePath": "", +"title": "My Business Q&A API", +"version": "v1", +"version_module": true +} \ No newline at end of file diff --git a/.venv/lib/python3.11/site-packages/googleapiclient/discovery_cache/documents/osconfig.v2beta.json b/.venv/lib/python3.11/site-packages/googleapiclient/discovery_cache/documents/osconfig.v2beta.json new file mode 100644 index 0000000000000000000000000000000000000000..406129cb81ea74c3355b2136c1efaafe46efe69b --- /dev/null +++ b/.venv/lib/python3.11/site-packages/googleapiclient/discovery_cache/documents/osconfig.v2beta.json @@ -0,0 +1,2274 @@ +{ +"auth": { +"oauth2": { +"scopes": { +"https://www.googleapis.com/auth/cloud-platform": { +"description": "See, edit, configure, and delete your Google Cloud data and see the email address for your Google Account." +} +} +} +}, +"basePath": "", +"baseUrl": "https://osconfig.googleapis.com/", +"batchPath": "batch", +"canonicalName": "OS Config", +"description": "OS management tools that can be used for patch management, patch compliance, and configuration management on VM instances.", +"discoveryVersion": "v1", +"documentationLink": "https://cloud.google.com/compute/docs/osconfig/rest", +"fullyEncodeReservedExpansion": true, +"icons": { +"x16": "http://www.google.com/images/icons/product/search-16.gif", +"x32": "http://www.google.com/images/icons/product/search-32.gif" +}, +"id": "osconfig:v2beta", +"kind": "discovery#restDescription", +"mtlsRootUrl": "https://osconfig.mtls.googleapis.com/", +"name": "osconfig", +"ownerDomain": "google.com", +"ownerName": "Google", +"parameters": { +"$.xgafv": { +"description": "V1 error format.", +"enum": [ +"1", +"2" +], +"enumDescriptions": [ +"v1 error format", +"v2 error format" +], +"location": "query", +"type": "string" +}, +"access_token": { +"description": "OAuth access token.", +"location": "query", +"type": "string" +}, +"alt": { +"default": "json", +"description": "Data format for response.", +"enum": [ +"json", +"media", +"proto" +], +"enumDescriptions": [ +"Responses with Content-Type of application/json", +"Media download with context-dependent Content-Type", +"Responses with Content-Type of application/x-protobuf" +], +"location": "query", +"type": "string" +}, +"callback": { +"description": "JSONP", +"location": "query", +"type": "string" +}, +"fields": { +"description": "Selector specifying which fields to include in a partial response.", +"location": "query", +"type": "string" +}, +"key": { +"description": "API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token.", +"location": "query", +"type": "string" +}, +"oauth_token": { +"description": "OAuth 2.0 token for the current user.", +"location": "query", +"type": "string" +}, +"prettyPrint": { +"default": "true", +"description": "Returns response with indentations and line breaks.", +"location": "query", +"type": "boolean" +}, +"quotaUser": { +"description": "Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters.", +"location": "query", +"type": "string" +}, +"uploadType": { +"description": "Legacy upload protocol for media (e.g. \"media\", \"multipart\").", +"location": "query", +"type": "string" +}, +"upload_protocol": { +"description": "Upload protocol for media (e.g. \"raw\", \"multipart\").", +"location": "query", +"type": "string" +} +}, +"protocol": "rest", +"resources": { +"folders": { +"resources": { +"locations": { +"resources": { +"global": { +"resources": { +"policyOrchestrators": { +"methods": { +"create": { +"description": "Creates a new policy orchestrator under the given folder resource. `name` field of the given orchestrator are ignored and instead replaced by a product of `parent` and `policy_orchestrator_id`. Orchestrator state field might be only set to `ACTIVE`, `STOPPED` or omitted (in which case, the created resource will be in `ACTIVE` state anyway).", +"flatPath": "v2beta/folders/{foldersId}/locations/global/policyOrchestrators", +"httpMethod": "POST", +"id": "osconfig.folders.locations.global.policyOrchestrators.create", +"parameterOrder": [ +"parent" +], +"parameters": { +"parent": { +"description": "Required. The parent resource name in the form of: * `organizations/{organization_id}/locations/global` * `folders/{folder_id}/locations/global` * `projects/{project_id_or_number}/locations/global`", +"location": "path", +"pattern": "^folders/[^/]+/locations/global$", +"required": true, +"type": "string" +}, +"policyOrchestratorId": { +"description": "Required. The logical identifier of the policy orchestrator, with the following restrictions: * Must contain only lowercase letters, numbers, and hyphens. * Must start with a letter. * Must be between 1-63 characters. * Must end with a number or a letter. * Must be unique within the parent.", +"location": "query", +"type": "string" +}, +"requestId": { +"description": "Optional. An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. The server will guarantee that for at least 60 minutes since the first request. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +} +}, +"path": "v2beta/{+parent}/policyOrchestrators", +"request": { +"$ref": "GoogleCloudOsconfigV2beta__PolicyOrchestrator" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"delete": { +"description": "Deletes an existing policy orchestrator resource, parented by a folder.", +"flatPath": "v2beta/folders/{foldersId}/locations/global/policyOrchestrators/{policyOrchestratorsId}", +"httpMethod": "DELETE", +"id": "osconfig.folders.locations.global.policyOrchestrators.delete", +"parameterOrder": [ +"name" +], +"parameters": { +"etag": { +"description": "Optional. The current etag of the policy orchestrator. If an etag is provided and does not match the current etag of the policy orchestrator, deletion will be blocked and an ABORTED error will be returned.", +"location": "query", +"type": "string" +}, +"name": { +"description": "Required. Name of the resource to be deleted.", +"location": "path", +"pattern": "^folders/[^/]+/locations/global/policyOrchestrators/[^/]+$", +"required": true, +"type": "string" +}, +"requestId": { +"description": "Optional. An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. The server will guarantee that for at least 60 minutes after the first request. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +} +}, +"path": "v2beta/{+name}", +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"get": { +"description": "Retrieves an existing policy orchestrator, parented by a folder.", +"flatPath": "v2beta/folders/{foldersId}/locations/global/policyOrchestrators/{policyOrchestratorsId}", +"httpMethod": "GET", +"id": "osconfig.folders.locations.global.policyOrchestrators.get", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. The resource name.", +"location": "path", +"pattern": "^folders/[^/]+/locations/global/policyOrchestrators/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v2beta/{+name}", +"response": { +"$ref": "GoogleCloudOsconfigV2beta__PolicyOrchestrator" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"list": { +"description": "Lists the policy orchestrators under the given parent folder resource.", +"flatPath": "v2beta/folders/{foldersId}/locations/global/policyOrchestrators", +"httpMethod": "GET", +"id": "osconfig.folders.locations.global.policyOrchestrators.list", +"parameterOrder": [ +"parent" +], +"parameters": { +"filter": { +"description": "Optional. Filtering results", +"location": "query", +"type": "string" +}, +"orderBy": { +"description": "Optional. Hint for how to order the results", +"location": "query", +"type": "string" +}, +"pageSize": { +"description": "Optional. Requested page size. Server may return fewer items than requested. If unspecified, server will pick an appropriate default.", +"format": "int32", +"location": "query", +"type": "integer" +}, +"pageToken": { +"description": "Optional. A token identifying a page of results the server should return.", +"location": "query", +"type": "string" +}, +"parent": { +"description": "Required. The parent resource name.", +"location": "path", +"pattern": "^folders/[^/]+/locations/global$", +"required": true, +"type": "string" +} +}, +"path": "v2beta/{+parent}/policyOrchestrators", +"response": { +"$ref": "GoogleCloudOsconfigV2beta__ListPolicyOrchestratorsResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"patch": { +"description": "Updates an existing policy orchestrator, parented by a folder.", +"flatPath": "v2beta/folders/{foldersId}/locations/global/policyOrchestrators/{policyOrchestratorsId}", +"httpMethod": "PATCH", +"id": "osconfig.folders.locations.global.policyOrchestrators.patch", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Immutable. Identifier. In form of * `organizations/{organization_id}/locations/global/policyOrchestrators/{orchestrator_id}` * `folders/{folder_id}/locations/global/policyOrchestrators/{orchestrator_id}` * `projects/{project_id_or_number}/locations/global/policyOrchestrators/{orchestrator_id}`", +"location": "path", +"pattern": "^folders/[^/]+/locations/global/policyOrchestrators/[^/]+$", +"required": true, +"type": "string" +}, +"updateMask": { +"description": "Optional. The list of fields to update.", +"format": "google-fieldmask", +"location": "query", +"type": "string" +} +}, +"path": "v2beta/{+name}", +"request": { +"$ref": "GoogleCloudOsconfigV2beta__PolicyOrchestrator" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +} +} +} +} +}, +"operations": { +"methods": { +"cancel": { +"description": "Starts asynchronous cancellation on a long-running operation. The server makes a best effort to cancel the operation, but success is not guaranteed. If the server doesn't support this method, it returns `google.rpc.Code.UNIMPLEMENTED`. Clients can use Operations.GetOperation or other methods to check whether the cancellation succeeded or whether the operation completed despite cancellation. On successful cancellation, the operation is not deleted; instead, it becomes an operation with an Operation.error value with a google.rpc.Status.code of `1`, corresponding to `Code.CANCELLED`.", +"flatPath": "v2beta/folders/{foldersId}/locations/{locationsId}/operations/{operationsId}:cancel", +"httpMethod": "POST", +"id": "osconfig.folders.locations.operations.cancel", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "The name of the operation resource to be cancelled.", +"location": "path", +"pattern": "^folders/[^/]+/locations/[^/]+/operations/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v2beta/{+name}:cancel", +"request": { +"$ref": "CancelOperationRequest" +}, +"response": { +"$ref": "Empty" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"delete": { +"description": "Deletes a long-running operation. This method indicates that the client is no longer interested in the operation result. It does not cancel the operation. If the server doesn't support this method, it returns `google.rpc.Code.UNIMPLEMENTED`.", +"flatPath": "v2beta/folders/{foldersId}/locations/{locationsId}/operations/{operationsId}", +"httpMethod": "DELETE", +"id": "osconfig.folders.locations.operations.delete", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "The name of the operation resource to be deleted.", +"location": "path", +"pattern": "^folders/[^/]+/locations/[^/]+/operations/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v2beta/{+name}", +"response": { +"$ref": "Empty" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"get": { +"description": "Gets the latest state of a long-running operation. Clients can use this method to poll the operation result at intervals as recommended by the API service.", +"flatPath": "v2beta/folders/{foldersId}/locations/{locationsId}/operations/{operationsId}", +"httpMethod": "GET", +"id": "osconfig.folders.locations.operations.get", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "The name of the operation resource.", +"location": "path", +"pattern": "^folders/[^/]+/locations/[^/]+/operations/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v2beta/{+name}", +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"list": { +"description": "Lists operations that match the specified filter in the request. If the server doesn't support this method, it returns `UNIMPLEMENTED`.", +"flatPath": "v2beta/folders/{foldersId}/locations/{locationsId}/operations", +"httpMethod": "GET", +"id": "osconfig.folders.locations.operations.list", +"parameterOrder": [ +"name" +], +"parameters": { +"filter": { +"description": "The standard list filter.", +"location": "query", +"type": "string" +}, +"name": { +"description": "The name of the operation's parent resource.", +"location": "path", +"pattern": "^folders/[^/]+/locations/[^/]+$", +"required": true, +"type": "string" +}, +"pageSize": { +"description": "The standard list page size.", +"format": "int32", +"location": "query", +"type": "integer" +}, +"pageToken": { +"description": "The standard list page token.", +"location": "query", +"type": "string" +} +}, +"path": "v2beta/{+name}/operations", +"response": { +"$ref": "ListOperationsResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +} +} +} +} +} +} +}, +"organizations": { +"resources": { +"locations": { +"resources": { +"global": { +"resources": { +"policyOrchestrators": { +"methods": { +"create": { +"description": "Creates a new policy orchestrator under the given organizations resource. `name` field of the given orchestrator are ignored and instead replaced by a product of `parent` and `policy_orchestrator_id`. Orchestrator state field might be only set to `ACTIVE`, `STOPPED` or omitted (in which case, the created resource will be in `ACTIVE` state anyway).", +"flatPath": "v2beta/organizations/{organizationsId}/locations/global/policyOrchestrators", +"httpMethod": "POST", +"id": "osconfig.organizations.locations.global.policyOrchestrators.create", +"parameterOrder": [ +"parent" +], +"parameters": { +"parent": { +"description": "Required. The parent resource name in the form of: * `organizations/{organization_id}/locations/global` * `folders/{folder_id}/locations/global` * `projects/{project_id_or_number}/locations/global`", +"location": "path", +"pattern": "^organizations/[^/]+/locations/global$", +"required": true, +"type": "string" +}, +"policyOrchestratorId": { +"description": "Required. The logical identifier of the policy orchestrator, with the following restrictions: * Must contain only lowercase letters, numbers, and hyphens. * Must start with a letter. * Must be between 1-63 characters. * Must end with a number or a letter. * Must be unique within the parent.", +"location": "query", +"type": "string" +}, +"requestId": { +"description": "Optional. An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. The server will guarantee that for at least 60 minutes since the first request. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +} +}, +"path": "v2beta/{+parent}/policyOrchestrators", +"request": { +"$ref": "GoogleCloudOsconfigV2beta__PolicyOrchestrator" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"delete": { +"description": "Deletes an existing policy orchestrator resource, parented by an organization.", +"flatPath": "v2beta/organizations/{organizationsId}/locations/global/policyOrchestrators/{policyOrchestratorsId}", +"httpMethod": "DELETE", +"id": "osconfig.organizations.locations.global.policyOrchestrators.delete", +"parameterOrder": [ +"name" +], +"parameters": { +"etag": { +"description": "Optional. The current etag of the policy orchestrator. If an etag is provided and does not match the current etag of the policy orchestrator, deletion will be blocked and an ABORTED error will be returned.", +"location": "query", +"type": "string" +}, +"name": { +"description": "Required. Name of the resource to be deleted.", +"location": "path", +"pattern": "^organizations/[^/]+/locations/global/policyOrchestrators/[^/]+$", +"required": true, +"type": "string" +}, +"requestId": { +"description": "Optional. An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. The server will guarantee that for at least 60 minutes after the first request. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +} +}, +"path": "v2beta/{+name}", +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"get": { +"description": "Retrieves an existing policy orchestrator, parented by an organization.", +"flatPath": "v2beta/organizations/{organizationsId}/locations/global/policyOrchestrators/{policyOrchestratorsId}", +"httpMethod": "GET", +"id": "osconfig.organizations.locations.global.policyOrchestrators.get", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. The resource name.", +"location": "path", +"pattern": "^organizations/[^/]+/locations/global/policyOrchestrators/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v2beta/{+name}", +"response": { +"$ref": "GoogleCloudOsconfigV2beta__PolicyOrchestrator" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"list": { +"description": "Lists the policy orchestrators under the given parent organization resource.", +"flatPath": "v2beta/organizations/{organizationsId}/locations/global/policyOrchestrators", +"httpMethod": "GET", +"id": "osconfig.organizations.locations.global.policyOrchestrators.list", +"parameterOrder": [ +"parent" +], +"parameters": { +"filter": { +"description": "Optional. Filtering results", +"location": "query", +"type": "string" +}, +"orderBy": { +"description": "Optional. Hint for how to order the results", +"location": "query", +"type": "string" +}, +"pageSize": { +"description": "Optional. Requested page size. Server may return fewer items than requested. If unspecified, server will pick an appropriate default.", +"format": "int32", +"location": "query", +"type": "integer" +}, +"pageToken": { +"description": "Optional. A token identifying a page of results the server should return.", +"location": "query", +"type": "string" +}, +"parent": { +"description": "Required. The parent resource name.", +"location": "path", +"pattern": "^organizations/[^/]+/locations/global$", +"required": true, +"type": "string" +} +}, +"path": "v2beta/{+parent}/policyOrchestrators", +"response": { +"$ref": "GoogleCloudOsconfigV2beta__ListPolicyOrchestratorsResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"patch": { +"description": "Updates an existing policy orchestrator, parented by an organization.", +"flatPath": "v2beta/organizations/{organizationsId}/locations/global/policyOrchestrators/{policyOrchestratorsId}", +"httpMethod": "PATCH", +"id": "osconfig.organizations.locations.global.policyOrchestrators.patch", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Immutable. Identifier. In form of * `organizations/{organization_id}/locations/global/policyOrchestrators/{orchestrator_id}` * `folders/{folder_id}/locations/global/policyOrchestrators/{orchestrator_id}` * `projects/{project_id_or_number}/locations/global/policyOrchestrators/{orchestrator_id}`", +"location": "path", +"pattern": "^organizations/[^/]+/locations/global/policyOrchestrators/[^/]+$", +"required": true, +"type": "string" +}, +"updateMask": { +"description": "Optional. The list of fields to update.", +"format": "google-fieldmask", +"location": "query", +"type": "string" +} +}, +"path": "v2beta/{+name}", +"request": { +"$ref": "GoogleCloudOsconfigV2beta__PolicyOrchestrator" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +} +} +} +} +}, +"operations": { +"methods": { +"cancel": { +"description": "Starts asynchronous cancellation on a long-running operation. The server makes a best effort to cancel the operation, but success is not guaranteed. If the server doesn't support this method, it returns `google.rpc.Code.UNIMPLEMENTED`. Clients can use Operations.GetOperation or other methods to check whether the cancellation succeeded or whether the operation completed despite cancellation. On successful cancellation, the operation is not deleted; instead, it becomes an operation with an Operation.error value with a google.rpc.Status.code of `1`, corresponding to `Code.CANCELLED`.", +"flatPath": "v2beta/organizations/{organizationsId}/locations/{locationsId}/operations/{operationsId}:cancel", +"httpMethod": "POST", +"id": "osconfig.organizations.locations.operations.cancel", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "The name of the operation resource to be cancelled.", +"location": "path", +"pattern": "^organizations/[^/]+/locations/[^/]+/operations/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v2beta/{+name}:cancel", +"request": { +"$ref": "CancelOperationRequest" +}, +"response": { +"$ref": "Empty" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"delete": { +"description": "Deletes a long-running operation. This method indicates that the client is no longer interested in the operation result. It does not cancel the operation. If the server doesn't support this method, it returns `google.rpc.Code.UNIMPLEMENTED`.", +"flatPath": "v2beta/organizations/{organizationsId}/locations/{locationsId}/operations/{operationsId}", +"httpMethod": "DELETE", +"id": "osconfig.organizations.locations.operations.delete", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "The name of the operation resource to be deleted.", +"location": "path", +"pattern": "^organizations/[^/]+/locations/[^/]+/operations/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v2beta/{+name}", +"response": { +"$ref": "Empty" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"get": { +"description": "Gets the latest state of a long-running operation. Clients can use this method to poll the operation result at intervals as recommended by the API service.", +"flatPath": "v2beta/organizations/{organizationsId}/locations/{locationsId}/operations/{operationsId}", +"httpMethod": "GET", +"id": "osconfig.organizations.locations.operations.get", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "The name of the operation resource.", +"location": "path", +"pattern": "^organizations/[^/]+/locations/[^/]+/operations/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v2beta/{+name}", +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"list": { +"description": "Lists operations that match the specified filter in the request. If the server doesn't support this method, it returns `UNIMPLEMENTED`.", +"flatPath": "v2beta/organizations/{organizationsId}/locations/{locationsId}/operations", +"httpMethod": "GET", +"id": "osconfig.organizations.locations.operations.list", +"parameterOrder": [ +"name" +], +"parameters": { +"filter": { +"description": "The standard list filter.", +"location": "query", +"type": "string" +}, +"name": { +"description": "The name of the operation's parent resource.", +"location": "path", +"pattern": "^organizations/[^/]+/locations/[^/]+$", +"required": true, +"type": "string" +}, +"pageSize": { +"description": "The standard list page size.", +"format": "int32", +"location": "query", +"type": "integer" +}, +"pageToken": { +"description": "The standard list page token.", +"location": "query", +"type": "string" +} +}, +"path": "v2beta/{+name}/operations", +"response": { +"$ref": "ListOperationsResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +} +} +} +} +} +} +}, +"projects": { +"resources": { +"locations": { +"resources": { +"global": { +"resources": { +"policyOrchestrators": { +"methods": { +"create": { +"description": "Creates a new policy orchestrator under the given project resource. `name` field of the given orchestrator are ignored and instead replaced by a product of `parent` and `policy_orchestrator_id`. Orchestrator state field might be only set to `ACTIVE`, `STOPPED` or omitted (in which case, the created resource will be in `ACTIVE` state anyway).", +"flatPath": "v2beta/projects/{projectsId}/locations/global/policyOrchestrators", +"httpMethod": "POST", +"id": "osconfig.projects.locations.global.policyOrchestrators.create", +"parameterOrder": [ +"parent" +], +"parameters": { +"parent": { +"description": "Required. The parent resource name in the form of: * `organizations/{organization_id}/locations/global` * `folders/{folder_id}/locations/global` * `projects/{project_id_or_number}/locations/global`", +"location": "path", +"pattern": "^projects/[^/]+/locations/global$", +"required": true, +"type": "string" +}, +"policyOrchestratorId": { +"description": "Required. The logical identifier of the policy orchestrator, with the following restrictions: * Must contain only lowercase letters, numbers, and hyphens. * Must start with a letter. * Must be between 1-63 characters. * Must end with a number or a letter. * Must be unique within the parent.", +"location": "query", +"type": "string" +}, +"requestId": { +"description": "Optional. An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. The server will guarantee that for at least 60 minutes since the first request. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +} +}, +"path": "v2beta/{+parent}/policyOrchestrators", +"request": { +"$ref": "GoogleCloudOsconfigV2beta__PolicyOrchestrator" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"delete": { +"description": "Deletes an existing policy orchestrator resource, parented by a project.", +"flatPath": "v2beta/projects/{projectsId}/locations/global/policyOrchestrators/{policyOrchestratorsId}", +"httpMethod": "DELETE", +"id": "osconfig.projects.locations.global.policyOrchestrators.delete", +"parameterOrder": [ +"name" +], +"parameters": { +"etag": { +"description": "Optional. The current etag of the policy orchestrator. If an etag is provided and does not match the current etag of the policy orchestrator, deletion will be blocked and an ABORTED error will be returned.", +"location": "query", +"type": "string" +}, +"name": { +"description": "Required. Name of the resource to be deleted.", +"location": "path", +"pattern": "^projects/[^/]+/locations/global/policyOrchestrators/[^/]+$", +"required": true, +"type": "string" +}, +"requestId": { +"description": "Optional. An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. The server will guarantee that for at least 60 minutes after the first request. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +} +}, +"path": "v2beta/{+name}", +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"get": { +"description": "Retrieves an existing policy orchestrator, parented by a project.", +"flatPath": "v2beta/projects/{projectsId}/locations/global/policyOrchestrators/{policyOrchestratorsId}", +"httpMethod": "GET", +"id": "osconfig.projects.locations.global.policyOrchestrators.get", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. The resource name.", +"location": "path", +"pattern": "^projects/[^/]+/locations/global/policyOrchestrators/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v2beta/{+name}", +"response": { +"$ref": "GoogleCloudOsconfigV2beta__PolicyOrchestrator" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"list": { +"description": "Lists the policy orchestrators under the given parent project resource.", +"flatPath": "v2beta/projects/{projectsId}/locations/global/policyOrchestrators", +"httpMethod": "GET", +"id": "osconfig.projects.locations.global.policyOrchestrators.list", +"parameterOrder": [ +"parent" +], +"parameters": { +"filter": { +"description": "Optional. Filtering results", +"location": "query", +"type": "string" +}, +"orderBy": { +"description": "Optional. Hint for how to order the results", +"location": "query", +"type": "string" +}, +"pageSize": { +"description": "Optional. Requested page size. Server may return fewer items than requested. If unspecified, server will pick an appropriate default.", +"format": "int32", +"location": "query", +"type": "integer" +}, +"pageToken": { +"description": "Optional. A token identifying a page of results the server should return.", +"location": "query", +"type": "string" +}, +"parent": { +"description": "Required. The parent resource name.", +"location": "path", +"pattern": "^projects/[^/]+/locations/global$", +"required": true, +"type": "string" +} +}, +"path": "v2beta/{+parent}/policyOrchestrators", +"response": { +"$ref": "GoogleCloudOsconfigV2beta__ListPolicyOrchestratorsResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"patch": { +"description": "Updates an existing policy orchestrator, parented by a project.", +"flatPath": "v2beta/projects/{projectsId}/locations/global/policyOrchestrators/{policyOrchestratorsId}", +"httpMethod": "PATCH", +"id": "osconfig.projects.locations.global.policyOrchestrators.patch", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Immutable. Identifier. In form of * `organizations/{organization_id}/locations/global/policyOrchestrators/{orchestrator_id}` * `folders/{folder_id}/locations/global/policyOrchestrators/{orchestrator_id}` * `projects/{project_id_or_number}/locations/global/policyOrchestrators/{orchestrator_id}`", +"location": "path", +"pattern": "^projects/[^/]+/locations/global/policyOrchestrators/[^/]+$", +"required": true, +"type": "string" +}, +"updateMask": { +"description": "Optional. The list of fields to update.", +"format": "google-fieldmask", +"location": "query", +"type": "string" +} +}, +"path": "v2beta/{+name}", +"request": { +"$ref": "GoogleCloudOsconfigV2beta__PolicyOrchestrator" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +} +} +} +} +}, +"operations": { +"methods": { +"cancel": { +"description": "Starts asynchronous cancellation on a long-running operation. The server makes a best effort to cancel the operation, but success is not guaranteed. If the server doesn't support this method, it returns `google.rpc.Code.UNIMPLEMENTED`. Clients can use Operations.GetOperation or other methods to check whether the cancellation succeeded or whether the operation completed despite cancellation. On successful cancellation, the operation is not deleted; instead, it becomes an operation with an Operation.error value with a google.rpc.Status.code of `1`, corresponding to `Code.CANCELLED`.", +"flatPath": "v2beta/projects/{projectsId}/locations/{locationsId}/operations/{operationsId}:cancel", +"httpMethod": "POST", +"id": "osconfig.projects.locations.operations.cancel", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "The name of the operation resource to be cancelled.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/operations/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v2beta/{+name}:cancel", +"request": { +"$ref": "CancelOperationRequest" +}, +"response": { +"$ref": "Empty" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"delete": { +"description": "Deletes a long-running operation. This method indicates that the client is no longer interested in the operation result. It does not cancel the operation. If the server doesn't support this method, it returns `google.rpc.Code.UNIMPLEMENTED`.", +"flatPath": "v2beta/projects/{projectsId}/locations/{locationsId}/operations/{operationsId}", +"httpMethod": "DELETE", +"id": "osconfig.projects.locations.operations.delete", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "The name of the operation resource to be deleted.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/operations/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v2beta/{+name}", +"response": { +"$ref": "Empty" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"get": { +"description": "Gets the latest state of a long-running operation. Clients can use this method to poll the operation result at intervals as recommended by the API service.", +"flatPath": "v2beta/projects/{projectsId}/locations/{locationsId}/operations/{operationsId}", +"httpMethod": "GET", +"id": "osconfig.projects.locations.operations.get", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "The name of the operation resource.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/operations/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v2beta/{+name}", +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"list": { +"description": "Lists operations that match the specified filter in the request. If the server doesn't support this method, it returns `UNIMPLEMENTED`.", +"flatPath": "v2beta/projects/{projectsId}/locations/{locationsId}/operations", +"httpMethod": "GET", +"id": "osconfig.projects.locations.operations.list", +"parameterOrder": [ +"name" +], +"parameters": { +"filter": { +"description": "The standard list filter.", +"location": "query", +"type": "string" +}, +"name": { +"description": "The name of the operation's parent resource.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+$", +"required": true, +"type": "string" +}, +"pageSize": { +"description": "The standard list page size.", +"format": "int32", +"location": "query", +"type": "integer" +}, +"pageToken": { +"description": "The standard list page token.", +"location": "query", +"type": "string" +} +}, +"path": "v2beta/{+name}/operations", +"response": { +"$ref": "ListOperationsResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +} +} +} +} +} +} +} +}, +"revision": "20241117", +"rootUrl": "https://osconfig.googleapis.com/", +"schemas": { +"CancelOperationRequest": { +"description": "The request message for Operations.CancelOperation.", +"id": "CancelOperationRequest", +"properties": {}, +"type": "object" +}, +"Empty": { +"description": "A generic empty message that you can re-use to avoid defining duplicated empty messages in your APIs. A typical example is to use it as the request or the response type of an API method. For instance: service Foo { rpc Bar(google.protobuf.Empty) returns (google.protobuf.Empty); }", +"id": "Empty", +"properties": {}, +"type": "object" +}, +"FixedOrPercent": { +"description": "Message encapsulating a value that can be either absolute (\"fixed\") or relative (\"percent\") to a value.", +"id": "FixedOrPercent", +"properties": { +"fixed": { +"description": "Specifies a fixed value.", +"format": "int32", +"type": "integer" +}, +"percent": { +"description": "Specifies the relative value defined as a percentage, which will be multiplied by a reference value.", +"format": "int32", +"type": "integer" +} +}, +"type": "object" +}, +"GoogleCloudOsconfigV1__OSPolicyAssignmentOperationMetadata": { +"description": "OS policy assignment operation metadata provided by OS policy assignment API methods that return long running operations.", +"id": "GoogleCloudOsconfigV1__OSPolicyAssignmentOperationMetadata", +"properties": { +"apiMethod": { +"description": "The OS policy assignment API method.", +"enum": [ +"API_METHOD_UNSPECIFIED", +"CREATE", +"UPDATE", +"DELETE" +], +"enumDescriptions": [ +"Invalid value", +"Create OS policy assignment API method", +"Update OS policy assignment API method", +"Delete OS policy assignment API method" +], +"type": "string" +}, +"osPolicyAssignment": { +"description": "Reference to the `OSPolicyAssignment` API resource. Format: `projects/{project_number}/locations/{location}/osPolicyAssignments/{os_policy_assignment_id@revision_id}`", +"type": "string" +}, +"rolloutStartTime": { +"description": "Rollout start time", +"format": "google-datetime", +"type": "string" +}, +"rolloutState": { +"description": "State of the rollout", +"enum": [ +"ROLLOUT_STATE_UNSPECIFIED", +"IN_PROGRESS", +"CANCELLING", +"CANCELLED", +"SUCCEEDED" +], +"enumDescriptions": [ +"Invalid value", +"The rollout is in progress.", +"The rollout is being cancelled.", +"The rollout is cancelled.", +"The rollout has completed successfully." +], +"type": "string" +}, +"rolloutUpdateTime": { +"description": "Rollout update time", +"format": "google-datetime", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudOsconfigV2beta_OrchestrationScope_LocationSelector": { +"description": "Selector containing locations in scope.", +"id": "GoogleCloudOsconfigV2beta_OrchestrationScope_LocationSelector", +"properties": { +"includedLocations": { +"description": "Optional. Names of the locations in scope. Format: `us-central1-a`", +"items": { +"type": "string" +}, +"type": "array" +} +}, +"type": "object" +}, +"GoogleCloudOsconfigV2beta_OrchestrationScope_ResourceHierarchySelector": { +"description": "Selector containing Cloud Resource Manager resource hierarchy nodes.", +"id": "GoogleCloudOsconfigV2beta_OrchestrationScope_ResourceHierarchySelector", +"properties": { +"includedFolders": { +"description": "Optional. Names of the folders in scope. Format: `folders/{folder_id}`", +"items": { +"type": "string" +}, +"type": "array" +}, +"includedProjects": { +"description": "Optional. Names of the projects in scope. Format: `projects/{project_number}`", +"items": { +"type": "string" +}, +"type": "array" +} +}, +"type": "object" +}, +"GoogleCloudOsconfigV2beta_OrchestrationScope_Selector": { +"description": "Selector for the resources in scope of orchestration.", +"id": "GoogleCloudOsconfigV2beta_OrchestrationScope_Selector", +"properties": { +"locationSelector": { +"$ref": "GoogleCloudOsconfigV2beta_OrchestrationScope_LocationSelector", +"description": "Selector for selecting locations." +}, +"resourceHierarchySelector": { +"$ref": "GoogleCloudOsconfigV2beta_OrchestrationScope_ResourceHierarchySelector", +"description": "Selector for selecting resource hierarchy." +} +}, +"type": "object" +}, +"GoogleCloudOsconfigV2beta_PolicyOrchestrator_IterationState": { +"description": "Describes the state of a single iteration of the orchestrator.", +"id": "GoogleCloudOsconfigV2beta_PolicyOrchestrator_IterationState", +"properties": { +"error": { +"$ref": "Status", +"description": "Output only. Error thrown in the wave iteration.", +"readOnly": true +}, +"failedActions": { +"description": "Output only. Number of orchestration actions which failed so far. For more details, query the Cloud Logs.", +"format": "int64", +"readOnly": true, +"type": "string" +}, +"finishTime": { +"description": "Output only. Finish time of the wave iteration.", +"format": "google-datetime", +"readOnly": true, +"type": "string" +}, +"performedActions": { +"description": "Output only. Overall number of actions done by the orchestrator so far.", +"format": "int64", +"readOnly": true, +"type": "string" +}, +"progress": { +"description": "Output only. An estimated percentage of the progress. Number between 0 and 100.", +"format": "float", +"readOnly": true, +"type": "number" +}, +"rolloutResource": { +"description": "Output only. Handle to the Progressive Rollouts API rollout resource, which contains detailed information about a particular orchestration iteration.", +"readOnly": true, +"type": "string" +}, +"startTime": { +"description": "Output only. Start time of the wave iteration.", +"format": "google-datetime", +"readOnly": true, +"type": "string" +}, +"state": { +"description": "Output only. State of the iteration.", +"enum": [ +"STATE_UNSPECIFIED", +"PROCESSING", +"COMPLETED", +"FAILED", +"CANCELLED", +"UNKNOWN" +], +"enumDescriptions": [ +"Default value. This value is unused.", +"Iteration is in progress.", +"Iteration completed, with all actions being successful.", +"Iteration completed, with failures.", +"Iteration was explicitly cancelled.", +"Impossible to determine current state of the iteration." +], +"readOnly": true, +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudOsconfigV2beta_PolicyOrchestrator_OrchestrationState": { +"description": "Describes the state of the orchestration process.", +"id": "GoogleCloudOsconfigV2beta_PolicyOrchestrator_OrchestrationState", +"properties": { +"currentIterationState": { +"$ref": "GoogleCloudOsconfigV2beta_PolicyOrchestrator_IterationState", +"description": "Output only. Current Wave iteration state.", +"readOnly": true +}, +"previousIterationState": { +"$ref": "GoogleCloudOsconfigV2beta_PolicyOrchestrator_IterationState", +"description": "Output only. Previous Wave iteration state.", +"readOnly": true +} +}, +"type": "object" +}, +"GoogleCloudOsconfigV2beta__ListPolicyOrchestratorsResponse": { +"description": "Response for the list policy orchestrator resources.", +"id": "GoogleCloudOsconfigV2beta__ListPolicyOrchestratorsResponse", +"properties": { +"nextPageToken": { +"description": "A token, which can be sent as `page_token` to retrieve the next page. If this field is omitted, there are no subsequent pages.", +"type": "string" +}, +"policyOrchestrators": { +"description": "The policy orchestrators for the specified parent resource.", +"items": { +"$ref": "GoogleCloudOsconfigV2beta__PolicyOrchestrator" +}, +"type": "array" +}, +"unreachable": { +"description": "Locations that could not be reached.", +"items": { +"type": "string" +}, +"type": "array" +} +}, +"type": "object" +}, +"GoogleCloudOsconfigV2beta__OperationMetadata": { +"description": "Represents the metadata of the long-running operation.", +"id": "GoogleCloudOsconfigV2beta__OperationMetadata", +"properties": { +"apiVersion": { +"description": "Output only. API version used to start the operation.", +"readOnly": true, +"type": "string" +}, +"createTime": { +"description": "Output only. The time the operation was created.", +"format": "google-datetime", +"readOnly": true, +"type": "string" +}, +"endTime": { +"description": "Output only. The time the operation finished running.", +"format": "google-datetime", +"readOnly": true, +"type": "string" +}, +"requestedCancellation": { +"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`.", +"readOnly": true, +"type": "boolean" +}, +"statusMessage": { +"description": "Output only. Human-readable status of the operation, if any.", +"readOnly": true, +"type": "string" +}, +"target": { +"description": "Output only. Server-defined resource path for the target of the operation.", +"readOnly": true, +"type": "string" +}, +"verb": { +"description": "Output only. Name of the verb executed by the operation.", +"readOnly": true, +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudOsconfigV2beta__OrchestratedResource": { +"description": "Represents a resource that is being orchestrated by the policy orchestrator.", +"id": "GoogleCloudOsconfigV2beta__OrchestratedResource", +"properties": { +"id": { +"description": "Optional. ID of the resource to be used while generating set of affected resources. For UPSERT action the value is auto-generated during PolicyOrchestrator creation when not set. When the value is set it should following next restrictions: * Must contain only lowercase letters, numbers, and hyphens. * Must start with a letter. * Must be between 1-63 characters. * Must end with a number or a letter. * Must be unique within the project. For DELETE action, ID must be specified explicitly during PolicyOrchestrator creation.", +"type": "string" +}, +"osPolicyAssignmentV1Payload": { +"$ref": "OSPolicyAssignment", +"description": "Optional. OSPolicyAssignment resource to be created, updated or deleted. Name field is ignored and replace with a generated value. With this field set, orchestrator will perform actions on `project/{project}/locations/{zone}/osPolicyAssignments/{resource_id}` resources, where `project` and `zone` pairs come from the expanded scope, and `resource_id` comes from the `resource_id` field of orchestrator resource." +} +}, +"type": "object" +}, +"GoogleCloudOsconfigV2beta__OrchestrationScope": { +"description": "Defines a set of selectors which drive which resources are in scope of policy orchestration.", +"id": "GoogleCloudOsconfigV2beta__OrchestrationScope", +"properties": { +"selectors": { +"description": "Optional. Selectors of the orchestration scope. There is a logical AND between each selector defined. When there is no explicit `ResourceHierarchySelector` selector specified, the scope is by default bounded to the parent of the policy orchestrator resource.", +"items": { +"$ref": "GoogleCloudOsconfigV2beta_OrchestrationScope_Selector" +}, +"type": "array" +} +}, +"type": "object" +}, +"GoogleCloudOsconfigV2beta__PolicyOrchestrator": { +"description": "PolicyOrchestrator helps managing project+zone level policy resources (e.g. OS Policy Assignments), by providing tools to create, update and delete them across projects and locations, at scale. Policy orchestrator functions as an endless loop. Each iteration orchestrator computes a set of resources that should be affected, then progressively applies changes to them. If for some reason this set of resources changes over time (e.g. new projects are added), the future loop iterations will address that. Orchestrator can either upsert or delete policy resources. For more details, see the description of the `action`, and `orchestrated_resource` fields. Note that policy orchestrator do not \"manage\" the resources it creates. Every iteration is independent and only minimal history of past actions is retained (apart from Cloud Logging). If orchestrator gets deleted, it does not affect the resources it created in the past. Those will remain where they were. Same applies if projects are removed from the orchestrator's scope.", +"id": "GoogleCloudOsconfigV2beta__PolicyOrchestrator", +"properties": { +"action": { +"description": "Required. Action to be done by the orchestrator in `projects/{project_id}/zones/{zone_id}` locations defined by the `orchestration_scope`. Allowed values: - `UPSERT` - Orchestrator will create or update target resources. - `DELETE` - Orchestrator will delete target resources, if they exist", +"type": "string" +}, +"createTime": { +"description": "Output only. Timestamp when the policy orchestrator resource was created.", +"format": "google-datetime", +"readOnly": true, +"type": "string" +}, +"description": { +"description": "Optional. Freeform text describing the purpose of the resource.", +"type": "string" +}, +"etag": { +"description": "Output only. This checksum is computed by the server based on the value of other fields, and may be sent on update and delete requests to ensure the client has an up-to-date value before proceeding.", +"readOnly": true, +"type": "string" +}, +"labels": { +"additionalProperties": { +"type": "string" +}, +"description": "Optional. Labels as key value pairs", +"type": "object" +}, +"name": { +"description": "Immutable. Identifier. In form of * `organizations/{organization_id}/locations/global/policyOrchestrators/{orchestrator_id}` * `folders/{folder_id}/locations/global/policyOrchestrators/{orchestrator_id}` * `projects/{project_id_or_number}/locations/global/policyOrchestrators/{orchestrator_id}`", +"type": "string" +}, +"orchestratedResource": { +"$ref": "GoogleCloudOsconfigV2beta__OrchestratedResource", +"description": "Required. Resource to be orchestrated by the policy orchestrator." +}, +"orchestrationScope": { +"$ref": "GoogleCloudOsconfigV2beta__OrchestrationScope", +"description": "Optional. Defines scope for the orchestration, in context of the enclosing PolicyOrchestrator resource. Scope is expanded into a list of pairs, in which the rollout action will take place. Expansion starts with a Folder resource parenting the PolicyOrchestrator resource: - All the descendant projects are listed. - List of project is cross joined with a list of all available zones. - Resulting list of pairs is filtered according to the selectors." +}, +"orchestrationState": { +"$ref": "GoogleCloudOsconfigV2beta_PolicyOrchestrator_OrchestrationState", +"description": "Output only. State of the orchestration.", +"readOnly": true +}, +"reconciling": { +"description": "Output only. Set to true, if the there are ongoing changes being applied by the orchestrator.", +"readOnly": true, +"type": "boolean" +}, +"state": { +"description": "Optional. State of the orchestrator. Can be updated to change orchestrator behaviour. Allowed values: - `ACTIVE` - orchestrator is actively looking for actions to be taken. - `STOPPED` - orchestrator won't make any changes. Note: There might be more states added in the future. We use string here instead of an enum, to avoid the need of propagating new states to all the client code.", +"type": "string" +}, +"updateTime": { +"description": "Output only. Timestamp when the policy orchestrator resource was last modified.", +"format": "google-datetime", +"readOnly": true, +"type": "string" +} +}, +"type": "object" +}, +"ListOperationsResponse": { +"description": "The response message for Operations.ListOperations.", +"id": "ListOperationsResponse", +"properties": { +"nextPageToken": { +"description": "The standard List next-page token.", +"type": "string" +}, +"operations": { +"description": "A list of operations that matches the specified filter in the request.", +"items": { +"$ref": "Operation" +}, +"type": "array" +} +}, +"type": "object" +}, +"OSPolicy": { +"description": "An OS policy defines the desired state configuration for a VM.", +"id": "OSPolicy", +"properties": { +"allowNoResourceGroupMatch": { +"description": "This flag determines the OS policy compliance status when none of the resource groups within the policy are applicable for a VM. Set this value to `true` if the policy needs to be reported as compliant even if the policy has nothing to validate or enforce.", +"type": "boolean" +}, +"description": { +"description": "Policy description. Length of the description is limited to 1024 characters.", +"type": "string" +}, +"id": { +"description": "Required. The id of the OS policy with the following restrictions: * Must contain only lowercase letters, numbers, and hyphens. * Must start with a letter. * Must be between 1-63 characters. * Must end with a number or a letter. * Must be unique within the assignment.", +"type": "string" +}, +"mode": { +"description": "Required. Policy mode", +"enum": [ +"MODE_UNSPECIFIED", +"VALIDATION", +"ENFORCEMENT" +], +"enumDescriptions": [ +"Invalid mode", +"This mode checks if the configuration resources in the policy are in their desired state. No actions are performed if they are not in the desired state. This mode is used for reporting purposes.", +"This mode checks if the configuration resources in the policy are in their desired state, and if not, enforces the desired state." +], +"type": "string" +}, +"resourceGroups": { +"description": "Required. List of resource groups for the policy. For a particular VM, resource groups are evaluated in the order specified and the first resource group that is applicable is selected and the rest are ignored. If none of the resource groups are applicable for a VM, the VM is considered to be non-compliant w.r.t this policy. This behavior can be toggled by the flag `allow_no_resource_group_match`", +"items": { +"$ref": "OSPolicyResourceGroup" +}, +"type": "array" +} +}, +"type": "object" +}, +"OSPolicyAssignment": { +"description": "OS policy assignment is an API resource that is used to apply a set of OS policies to a dynamically targeted group of Compute Engine VM instances. An OS policy is used to define the desired state configuration for a Compute Engine VM instance through a set of configuration resources that provide capabilities such as installing or removing software packages, or executing a script. For more information about the OS policy resource definitions and examples, see [OS policy and OS policy assignment](https://cloud.google.com/compute/docs/os-configuration-management/working-with-os-policies).", +"id": "OSPolicyAssignment", +"properties": { +"baseline": { +"description": "Output only. Indicates that this revision has been successfully rolled out in this zone and new VMs will be assigned OS policies from this revision. For a given OS policy assignment, there is only one revision with a value of `true` for this field.", +"readOnly": true, +"type": "boolean" +}, +"deleted": { +"description": "Output only. Indicates that this revision deletes the OS policy assignment.", +"readOnly": true, +"type": "boolean" +}, +"description": { +"description": "OS policy assignment description. Length of the description is limited to 1024 characters.", +"type": "string" +}, +"etag": { +"description": "The etag for this OS policy assignment. If this is provided on update, it must match the server's etag.", +"type": "string" +}, +"instanceFilter": { +"$ref": "OSPolicyAssignmentInstanceFilter", +"description": "Required. Filter to select VMs." +}, +"name": { +"description": "Resource name. Format: `projects/{project_number}/locations/{location}/osPolicyAssignments/{os_policy_assignment_id}` This field is ignored when you create an OS policy assignment.", +"type": "string" +}, +"osPolicies": { +"description": "Required. List of OS policies to be applied to the VMs.", +"items": { +"$ref": "OSPolicy" +}, +"type": "array" +}, +"reconciling": { +"description": "Output only. Indicates that reconciliation is in progress for the revision. This value is `true` when the `rollout_state` is one of: * IN_PROGRESS * CANCELLING", +"readOnly": true, +"type": "boolean" +}, +"revisionCreateTime": { +"description": "Output only. The timestamp that the revision was created.", +"format": "google-datetime", +"readOnly": true, +"type": "string" +}, +"revisionId": { +"description": "Output only. The assignment revision ID A new revision is committed whenever a rollout is triggered for a OS policy assignment", +"readOnly": true, +"type": "string" +}, +"rollout": { +"$ref": "OSPolicyAssignmentRollout", +"description": "Required. Rollout to deploy the OS policy assignment. A rollout is triggered in the following situations: 1) OSPolicyAssignment is created. 2) OSPolicyAssignment is updated and the update contains changes to one of the following fields: - instance_filter - os_policies 3) OSPolicyAssignment is deleted." +}, +"rolloutState": { +"description": "Output only. OS policy assignment rollout state", +"enum": [ +"ROLLOUT_STATE_UNSPECIFIED", +"IN_PROGRESS", +"CANCELLING", +"CANCELLED", +"SUCCEEDED" +], +"enumDescriptions": [ +"Invalid value", +"The rollout is in progress.", +"The rollout is being cancelled.", +"The rollout is cancelled.", +"The rollout has completed successfully." +], +"readOnly": true, +"type": "string" +}, +"uid": { +"description": "Output only. Server generated unique id for the OS policy assignment resource.", +"readOnly": true, +"type": "string" +} +}, +"type": "object" +}, +"OSPolicyAssignmentInstanceFilter": { +"description": "Filters to select target VMs for an assignment. If more than one filter criteria is specified below, a VM will be selected if and only if it satisfies all of them.", +"id": "OSPolicyAssignmentInstanceFilter", +"properties": { +"all": { +"description": "Target all VMs in the project. If true, no other criteria is permitted.", +"type": "boolean" +}, +"exclusionLabels": { +"description": "List of label sets used for VM exclusion. If the list has more than one label set, the VM is excluded if any of the label sets are applicable for the VM.", +"items": { +"$ref": "OSPolicyAssignmentLabelSet" +}, +"type": "array" +}, +"inclusionLabels": { +"description": "List of label sets used for VM inclusion. If the list has more than one `LabelSet`, the VM is included if any of the label sets are applicable for the VM.", +"items": { +"$ref": "OSPolicyAssignmentLabelSet" +}, +"type": "array" +}, +"inventories": { +"description": "List of inventories to select VMs. A VM is selected if its inventory data matches at least one of the following inventories.", +"items": { +"$ref": "OSPolicyAssignmentInstanceFilterInventory" +}, +"type": "array" +} +}, +"type": "object" +}, +"OSPolicyAssignmentInstanceFilterInventory": { +"description": "VM inventory details.", +"id": "OSPolicyAssignmentInstanceFilterInventory", +"properties": { +"osShortName": { +"description": "Required. The OS short name", +"type": "string" +}, +"osVersion": { +"description": "The OS version Prefix matches are supported if asterisk(*) is provided as the last character. For example, to match all versions with a major version of `7`, specify the following value for this field `7.*` An empty string matches all OS versions.", +"type": "string" +} +}, +"type": "object" +}, +"OSPolicyAssignmentLabelSet": { +"description": "Message representing label set. * A label is a key value pair set for a VM. * A LabelSet is a set of labels. * Labels within a LabelSet are ANDed. In other words, a LabelSet is applicable for a VM only if it matches all the labels in the LabelSet. * Example: A LabelSet with 2 labels: `env=prod` and `type=webserver` will only be applicable for those VMs with both labels present.", +"id": "OSPolicyAssignmentLabelSet", +"properties": { +"labels": { +"additionalProperties": { +"type": "string" +}, +"description": "Labels are identified by key/value pairs in this map. A VM should contain all the key/value pairs specified in this map to be selected.", +"type": "object" +} +}, +"type": "object" +}, +"OSPolicyAssignmentOperationMetadata": { +"description": "OS policy assignment operation metadata provided by OS policy assignment API methods that return long running operations.", +"id": "OSPolicyAssignmentOperationMetadata", +"properties": { +"apiMethod": { +"description": "The OS policy assignment API method.", +"enum": [ +"API_METHOD_UNSPECIFIED", +"CREATE", +"UPDATE", +"DELETE" +], +"enumDescriptions": [ +"Invalid value", +"Create OS policy assignment API method", +"Update OS policy assignment API method", +"Delete OS policy assignment API method" +], +"type": "string" +}, +"osPolicyAssignment": { +"description": "Reference to the `OSPolicyAssignment` API resource. Format: `projects/{project_number}/locations/{location}/osPolicyAssignments/{os_policy_assignment_id@revision_id}`", +"type": "string" +}, +"rolloutStartTime": { +"description": "Rollout start time", +"format": "google-datetime", +"type": "string" +}, +"rolloutState": { +"description": "State of the rollout", +"enum": [ +"ROLLOUT_STATE_UNSPECIFIED", +"IN_PROGRESS", +"CANCELLING", +"CANCELLED", +"SUCCEEDED" +], +"enumDescriptions": [ +"Invalid value", +"The rollout is in progress.", +"The rollout is being cancelled.", +"The rollout is cancelled.", +"The rollout has completed successfully." +], +"type": "string" +}, +"rolloutUpdateTime": { +"description": "Rollout update time", +"format": "google-datetime", +"type": "string" +} +}, +"type": "object" +}, +"OSPolicyAssignmentRollout": { +"description": "Message to configure the rollout at the zonal level for the OS policy assignment.", +"id": "OSPolicyAssignmentRollout", +"properties": { +"disruptionBudget": { +"$ref": "FixedOrPercent", +"description": "Required. The maximum number (or percentage) of VMs per zone to disrupt at any given moment." +}, +"minWaitDuration": { +"description": "Required. This determines the minimum duration of time to wait after the configuration changes are applied through the current rollout. A VM continues to count towards the `disruption_budget` at least until this duration of time has passed after configuration changes are applied.", +"format": "google-duration", +"type": "string" +} +}, +"type": "object" +}, +"OSPolicyInventoryFilter": { +"description": "Filtering criteria to select VMs based on inventory details.", +"id": "OSPolicyInventoryFilter", +"properties": { +"osShortName": { +"description": "Required. The OS short name", +"type": "string" +}, +"osVersion": { +"description": "The OS version Prefix matches are supported if asterisk(*) is provided as the last character. For example, to match all versions with a major version of `7`, specify the following value for this field `7.*` An empty string matches all OS versions.", +"type": "string" +} +}, +"type": "object" +}, +"OSPolicyResource": { +"description": "An OS policy resource is used to define the desired state configuration and provides a specific functionality like installing/removing packages, executing a script etc. The system ensures that resources are always in their desired state by taking necessary actions if they have drifted from their desired state.", +"id": "OSPolicyResource", +"properties": { +"exec": { +"$ref": "OSPolicyResourceExecResource", +"description": "Exec resource" +}, +"file": { +"$ref": "OSPolicyResourceFileResource", +"description": "File resource" +}, +"id": { +"description": "Required. The id of the resource with the following restrictions: * Must contain only lowercase letters, numbers, and hyphens. * Must start with a letter. * Must be between 1-63 characters. * Must end with a number or a letter. * Must be unique within the OS policy.", +"type": "string" +}, +"pkg": { +"$ref": "OSPolicyResourcePackageResource", +"description": "Package resource" +}, +"repository": { +"$ref": "OSPolicyResourceRepositoryResource", +"description": "Package repository resource" +} +}, +"type": "object" +}, +"OSPolicyResourceExecResource": { +"description": "A resource that allows executing scripts on the VM. The `ExecResource` has 2 stages: `validate` and `enforce` and both stages accept a script as an argument to execute. When the `ExecResource` is applied by the agent, it first executes the script in the `validate` stage. The `validate` stage can signal that the `ExecResource` is already in the desired state by returning an exit code of `100`. If the `ExecResource` is not in the desired state, it should return an exit code of `101`. Any other exit code returned by this stage is considered an error. If the `ExecResource` is not in the desired state based on the exit code from the `validate` stage, the agent proceeds to execute the script from the `enforce` stage. If the `ExecResource` is already in the desired state, the `enforce` stage will not be run. Similar to `validate` stage, the `enforce` stage should return an exit code of `100` to indicate that the resource in now in its desired state. Any other exit code is considered an error. NOTE: An exit code of `100` was chosen over `0` (and `101` vs `1`) to have an explicit indicator of `in desired state`, `not in desired state` and errors. Because, for example, Powershell will always return an exit code of `0` unless an `exit` statement is provided in the script. So, for reasons of consistency and being explicit, exit codes `100` and `101` were chosen.", +"id": "OSPolicyResourceExecResource", +"properties": { +"enforce": { +"$ref": "OSPolicyResourceExecResourceExec", +"description": "What to run to bring this resource into the desired state. An exit code of 100 indicates \"success\", any other exit code indicates a failure running enforce." +}, +"validate": { +"$ref": "OSPolicyResourceExecResourceExec", +"description": "Required. What to run to validate this resource is in the desired state. An exit code of 100 indicates \"in desired state\", and exit code of 101 indicates \"not in desired state\". Any other exit code indicates a failure running validate." +} +}, +"type": "object" +}, +"OSPolicyResourceExecResourceExec": { +"description": "A file or script to execute.", +"id": "OSPolicyResourceExecResourceExec", +"properties": { +"args": { +"description": "Optional arguments to pass to the source during execution.", +"items": { +"type": "string" +}, +"type": "array" +}, +"file": { +"$ref": "OSPolicyResourceFile", +"description": "A remote or local file." +}, +"interpreter": { +"description": "Required. The script interpreter to use.", +"enum": [ +"INTERPRETER_UNSPECIFIED", +"NONE", +"SHELL", +"POWERSHELL" +], +"enumDescriptions": [ +"Invalid value, the request will return validation error.", +"If an interpreter is not specified, the source is executed directly. This execution, without an interpreter, only succeeds for executables and scripts that have shebang lines.", +"Indicates that the script runs with `/bin/sh` on Linux and `cmd.exe` on Windows.", +"Indicates that the script runs with PowerShell." +], +"type": "string" +}, +"outputFilePath": { +"description": "Only recorded for enforce Exec. Path to an output file (that is created by this Exec) whose content will be recorded in OSPolicyResourceCompliance after a successful run. Absence or failure to read this file will result in this ExecResource being non-compliant. Output file size is limited to 500K bytes.", +"type": "string" +}, +"script": { +"description": "An inline script. The size of the script is limited to 32KiB.", +"type": "string" +} +}, +"type": "object" +}, +"OSPolicyResourceFile": { +"description": "A remote or local file.", +"id": "OSPolicyResourceFile", +"properties": { +"allowInsecure": { +"description": "Defaults to false. When false, files are subject to validations based on the file type: Remote: A checksum must be specified. Cloud Storage: An object generation number must be specified.", +"type": "boolean" +}, +"gcs": { +"$ref": "OSPolicyResourceFileGcs", +"description": "A Cloud Storage object." +}, +"localPath": { +"description": "A local path within the VM to use.", +"type": "string" +}, +"remote": { +"$ref": "OSPolicyResourceFileRemote", +"description": "A generic remote file." +} +}, +"type": "object" +}, +"OSPolicyResourceFileGcs": { +"description": "Specifies a file available as a Cloud Storage Object.", +"id": "OSPolicyResourceFileGcs", +"properties": { +"bucket": { +"description": "Required. Bucket of the Cloud Storage object.", +"type": "string" +}, +"generation": { +"description": "Generation number of the Cloud Storage object.", +"format": "int64", +"type": "string" +}, +"object": { +"description": "Required. Name of the Cloud Storage object.", +"type": "string" +} +}, +"type": "object" +}, +"OSPolicyResourceFileRemote": { +"description": "Specifies a file available via some URI.", +"id": "OSPolicyResourceFileRemote", +"properties": { +"sha256Checksum": { +"description": "SHA256 checksum of the remote file.", +"type": "string" +}, +"uri": { +"description": "Required. URI from which to fetch the object. It should contain both the protocol and path following the format `{protocol}://{location}`.", +"type": "string" +} +}, +"type": "object" +}, +"OSPolicyResourceFileResource": { +"description": "A resource that manages the state of a file.", +"id": "OSPolicyResourceFileResource", +"properties": { +"content": { +"description": "A a file with this content. The size of the content is limited to 32KiB.", +"type": "string" +}, +"file": { +"$ref": "OSPolicyResourceFile", +"description": "A remote or local source." +}, +"path": { +"description": "Required. The absolute path of the file within the VM.", +"type": "string" +}, +"permissions": { +"description": "Consists of three octal digits which represent, in order, the permissions of the owner, group, and other users for the file (similarly to the numeric mode used in the linux chmod utility). Each digit represents a three bit number with the 4 bit corresponding to the read permissions, the 2 bit corresponds to the write bit, and the one bit corresponds to the execute permission. Default behavior is 755. Below are some examples of permissions and their associated values: read, write, and execute: 7 read and execute: 5 read and write: 6 read only: 4", +"type": "string" +}, +"state": { +"description": "Required. Desired state of the file.", +"enum": [ +"DESIRED_STATE_UNSPECIFIED", +"PRESENT", +"ABSENT", +"CONTENTS_MATCH" +], +"enumDescriptions": [ +"Unspecified is invalid.", +"Ensure file at path is present.", +"Ensure file at path is absent.", +"Ensure the contents of the file at path matches. If the file does not exist it will be created." +], +"type": "string" +} +}, +"type": "object" +}, +"OSPolicyResourceGroup": { +"description": "Resource groups provide a mechanism to group OS policy resources. Resource groups enable OS policy authors to create a single OS policy to be applied to VMs running different operating Systems. When the OS policy is applied to a target VM, the appropriate resource group within the OS policy is selected based on the `OSFilter` specified within the resource group.", +"id": "OSPolicyResourceGroup", +"properties": { +"inventoryFilters": { +"description": "List of inventory filters for the resource group. The resources in this resource group are applied to the target VM if it satisfies at least one of the following inventory filters. For example, to apply this resource group to VMs running either `RHEL` or `CentOS` operating systems, specify 2 items for the list with following values: inventory_filters[0].os_short_name='rhel' and inventory_filters[1].os_short_name='centos' If the list is empty, this resource group will be applied to the target VM unconditionally.", +"items": { +"$ref": "OSPolicyInventoryFilter" +}, +"type": "array" +}, +"resources": { +"description": "Required. List of resources configured for this resource group. The resources are executed in the exact order specified here.", +"items": { +"$ref": "OSPolicyResource" +}, +"type": "array" +} +}, +"type": "object" +}, +"OSPolicyResourcePackageResource": { +"description": "A resource that manages a system package.", +"id": "OSPolicyResourcePackageResource", +"properties": { +"apt": { +"$ref": "OSPolicyResourcePackageResourceAPT", +"description": "A package managed by Apt." +}, +"deb": { +"$ref": "OSPolicyResourcePackageResourceDeb", +"description": "A deb package file." +}, +"desiredState": { +"description": "Required. The desired state the agent should maintain for this package.", +"enum": [ +"DESIRED_STATE_UNSPECIFIED", +"INSTALLED", +"REMOVED" +], +"enumDescriptions": [ +"Unspecified is invalid.", +"Ensure that the package is installed.", +"The agent ensures that the package is not installed and uninstalls it if detected." +], +"type": "string" +}, +"googet": { +"$ref": "OSPolicyResourcePackageResourceGooGet", +"description": "A package managed by GooGet." +}, +"msi": { +"$ref": "OSPolicyResourcePackageResourceMSI", +"description": "An MSI package." +}, +"rpm": { +"$ref": "OSPolicyResourcePackageResourceRPM", +"description": "An rpm package file." +}, +"yum": { +"$ref": "OSPolicyResourcePackageResourceYUM", +"description": "A package managed by YUM." +}, +"zypper": { +"$ref": "OSPolicyResourcePackageResourceZypper", +"description": "A package managed by Zypper." +} +}, +"type": "object" +}, +"OSPolicyResourcePackageResourceAPT": { +"description": "A package managed by APT. - install: `apt-get update && apt-get -y install [name]` - remove: `apt-get -y remove [name]`", +"id": "OSPolicyResourcePackageResourceAPT", +"properties": { +"name": { +"description": "Required. Package name.", +"type": "string" +} +}, +"type": "object" +}, +"OSPolicyResourcePackageResourceDeb": { +"description": "A deb package file. dpkg packages only support INSTALLED state.", +"id": "OSPolicyResourcePackageResourceDeb", +"properties": { +"pullDeps": { +"description": "Whether dependencies should also be installed. - install when false: `dpkg -i package` - install when true: `apt-get update && apt-get -y install package.deb`", +"type": "boolean" +}, +"source": { +"$ref": "OSPolicyResourceFile", +"description": "Required. A deb package." +} +}, +"type": "object" +}, +"OSPolicyResourcePackageResourceGooGet": { +"description": "A package managed by GooGet. - install: `googet -noconfirm install package` - remove: `googet -noconfirm remove package`", +"id": "OSPolicyResourcePackageResourceGooGet", +"properties": { +"name": { +"description": "Required. Package name.", +"type": "string" +} +}, +"type": "object" +}, +"OSPolicyResourcePackageResourceMSI": { +"description": "An MSI package. MSI packages only support INSTALLED state.", +"id": "OSPolicyResourcePackageResourceMSI", +"properties": { +"properties": { +"description": "Additional properties to use during installation. This should be in the format of Property=Setting. Appended to the defaults of `ACTION=INSTALL REBOOT=ReallySuppress`.", +"items": { +"type": "string" +}, +"type": "array" +}, +"source": { +"$ref": "OSPolicyResourceFile", +"description": "Required. The MSI package." +} +}, +"type": "object" +}, +"OSPolicyResourcePackageResourceRPM": { +"description": "An RPM package file. RPM packages only support INSTALLED state.", +"id": "OSPolicyResourcePackageResourceRPM", +"properties": { +"pullDeps": { +"description": "Whether dependencies should also be installed. - install when false: `rpm --upgrade --replacepkgs package.rpm` - install when true: `yum -y install package.rpm` or `zypper -y install package.rpm`", +"type": "boolean" +}, +"source": { +"$ref": "OSPolicyResourceFile", +"description": "Required. An rpm package." +} +}, +"type": "object" +}, +"OSPolicyResourcePackageResourceYUM": { +"description": "A package managed by YUM. - install: `yum -y install package` - remove: `yum -y remove package`", +"id": "OSPolicyResourcePackageResourceYUM", +"properties": { +"name": { +"description": "Required. Package name.", +"type": "string" +} +}, +"type": "object" +}, +"OSPolicyResourcePackageResourceZypper": { +"description": "A package managed by Zypper. - install: `zypper -y install package` - remove: `zypper -y rm package`", +"id": "OSPolicyResourcePackageResourceZypper", +"properties": { +"name": { +"description": "Required. Package name.", +"type": "string" +} +}, +"type": "object" +}, +"OSPolicyResourceRepositoryResource": { +"description": "A resource that manages a package repository.", +"id": "OSPolicyResourceRepositoryResource", +"properties": { +"apt": { +"$ref": "OSPolicyResourceRepositoryResourceAptRepository", +"description": "An Apt Repository." +}, +"goo": { +"$ref": "OSPolicyResourceRepositoryResourceGooRepository", +"description": "A Goo Repository." +}, +"yum": { +"$ref": "OSPolicyResourceRepositoryResourceYumRepository", +"description": "A Yum Repository." +}, +"zypper": { +"$ref": "OSPolicyResourceRepositoryResourceZypperRepository", +"description": "A Zypper Repository." +} +}, +"type": "object" +}, +"OSPolicyResourceRepositoryResourceAptRepository": { +"description": "Represents a single apt package repository. These will be added to a repo file that will be managed at `/etc/apt/sources.list.d/google_osconfig.list`.", +"id": "OSPolicyResourceRepositoryResourceAptRepository", +"properties": { +"archiveType": { +"description": "Required. Type of archive files in this repository.", +"enum": [ +"ARCHIVE_TYPE_UNSPECIFIED", +"DEB", +"DEB_SRC" +], +"enumDescriptions": [ +"Unspecified is invalid.", +"Deb indicates that the archive contains binary files.", +"Deb-src indicates that the archive contains source files." +], +"type": "string" +}, +"components": { +"description": "Required. List of components for this repository. Must contain at least one item.", +"items": { +"type": "string" +}, +"type": "array" +}, +"distribution": { +"description": "Required. Distribution of this repository.", +"type": "string" +}, +"gpgKey": { +"description": "URI of the key file for this repository. The agent maintains a keyring at `/etc/apt/trusted.gpg.d/osconfig_agent_managed.gpg`.", +"type": "string" +}, +"uri": { +"description": "Required. URI for this repository.", +"type": "string" +} +}, +"type": "object" +}, +"OSPolicyResourceRepositoryResourceGooRepository": { +"description": "Represents a Goo package repository. These are added to a repo file that is managed at `C:/ProgramData/GooGet/repos/google_osconfig.repo`.", +"id": "OSPolicyResourceRepositoryResourceGooRepository", +"properties": { +"name": { +"description": "Required. The name of the repository.", +"type": "string" +}, +"url": { +"description": "Required. The url of the repository.", +"type": "string" +} +}, +"type": "object" +}, +"OSPolicyResourceRepositoryResourceYumRepository": { +"description": "Represents a single yum package repository. These are added to a repo file that is managed at `/etc/yum.repos.d/google_osconfig.repo`.", +"id": "OSPolicyResourceRepositoryResourceYumRepository", +"properties": { +"baseUrl": { +"description": "Required. The location of the repository directory.", +"type": "string" +}, +"displayName": { +"description": "The display name of the repository.", +"type": "string" +}, +"gpgKeys": { +"description": "URIs of GPG keys.", +"items": { +"type": "string" +}, +"type": "array" +}, +"id": { +"description": "Required. A one word, unique name for this repository. This is the `repo id` in the yum config file and also the `display_name` if `display_name` is omitted. This id is also used as the unique identifier when checking for resource conflicts.", +"type": "string" +} +}, +"type": "object" +}, +"OSPolicyResourceRepositoryResourceZypperRepository": { +"description": "Represents a single zypper package repository. These are added to a repo file that is managed at `/etc/zypp/repos.d/google_osconfig.repo`.", +"id": "OSPolicyResourceRepositoryResourceZypperRepository", +"properties": { +"baseUrl": { +"description": "Required. The location of the repository directory.", +"type": "string" +}, +"displayName": { +"description": "The display name of the repository.", +"type": "string" +}, +"gpgKeys": { +"description": "URIs of GPG keys.", +"items": { +"type": "string" +}, +"type": "array" +}, +"id": { +"description": "Required. A one word, unique name for this repository. This is the `repo id` in the zypper config file and also the `display_name` if `display_name` is omitted. This id is also used as the unique identifier when checking for GuestPolicy conflicts.", +"type": "string" +} +}, +"type": "object" +}, +"Operation": { +"description": "This resource represents a long-running operation that is the result of a network API call.", +"id": "Operation", +"properties": { +"done": { +"description": "If the value is `false`, it means the operation is still in progress. If `true`, the operation is completed, and either `error` or `response` is available.", +"type": "boolean" +}, +"error": { +"$ref": "Status", +"description": "The error result of the operation in case of failure or cancellation." +}, +"metadata": { +"additionalProperties": { +"description": "Properties of the object. Contains field @type with type URL.", +"type": "any" +}, +"description": "Service-specific metadata associated with the operation. It typically contains progress information and common metadata such as create time. Some services might not provide such metadata. Any method that returns a long-running operation should document the metadata type, if any.", +"type": "object" +}, +"name": { +"description": "The server-assigned name, which is only unique within the same service that originally returns it. If you use the default HTTP mapping, the `name` should be a resource name ending with `operations/{unique_id}`.", +"type": "string" +}, +"response": { +"additionalProperties": { +"description": "Properties of the object. Contains field @type with type URL.", +"type": "any" +}, +"description": "The normal, successful response of the operation. If the original method returns no data on success, such as `Delete`, the response is `google.protobuf.Empty`. If the original method is standard `Get`/`Create`/`Update`, the response should be the resource. For other methods, the response should have the type `XxxResponse`, where `Xxx` is the original method name. For example, if the original method name is `TakeSnapshot()`, the inferred response type is `TakeSnapshotResponse`.", +"type": "object" +} +}, +"type": "object" +}, +"Status": { +"description": "The `Status` type defines a logical error model that is suitable for different programming environments, including REST APIs and RPC APIs. It is used by [gRPC](https://github.com/grpc). Each `Status` message contains three pieces of data: error code, error message, and error details. You can find out more about this error model and how to work with it in the [API Design Guide](https://cloud.google.com/apis/design/errors).", +"id": "Status", +"properties": { +"code": { +"description": "The status code, which should be an enum value of google.rpc.Code.", +"format": "int32", +"type": "integer" +}, +"details": { +"description": "A list of messages that carry the error details. There is a common set of message types for APIs to use.", +"items": { +"additionalProperties": { +"description": "Properties of the object. Contains field @type with type URL.", +"type": "any" +}, +"type": "object" +}, +"type": "array" +}, +"message": { +"description": "A developer-facing error message, which should be in English. Any user-facing error message should be localized and sent in the google.rpc.Status.details field, or localized by the client.", +"type": "string" +} +}, +"type": "object" +} +}, +"servicePath": "", +"title": "OS Config API", +"version": "v2beta", +"version_module": true +} \ No newline at end of file diff --git a/.venv/lib/python3.11/site-packages/googleapiclient/discovery_cache/documents/oslogin.v1.json b/.venv/lib/python3.11/site-packages/googleapiclient/discovery_cache/documents/oslogin.v1.json new file mode 100644 index 0000000000000000000000000000000000000000..5fa18954f23ae84becbcdeb6344fcf1136f3785a --- /dev/null +++ b/.venv/lib/python3.11/site-packages/googleapiclient/discovery_cache/documents/oslogin.v1.json @@ -0,0 +1,497 @@ +{ +"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." +}, +"https://www.googleapis.com/auth/cloud-platform.read-only": { +"description": "View your data across Google Cloud services and see the email address of your Google Account" +}, +"https://www.googleapis.com/auth/compute": { +"description": "View and manage your Google Compute Engine resources" +}, +"https://www.googleapis.com/auth/compute.readonly": { +"description": "View your Google Compute Engine resources" +} +} +} +}, +"basePath": "", +"baseUrl": "https://oslogin.googleapis.com/", +"batchPath": "batch", +"canonicalName": "Cloud OS Login", +"description": "You can use OS Login to manage access to your VM instances using IAM roles.", +"discoveryVersion": "v1", +"documentationLink": "https://cloud.google.com/compute/docs/oslogin/", +"fullyEncodeReservedExpansion": true, +"icons": { +"x16": "http://www.google.com/images/icons/product/search-16.gif", +"x32": "http://www.google.com/images/icons/product/search-32.gif" +}, +"id": "oslogin:v1", +"kind": "discovery#restDescription", +"mtlsRootUrl": "https://oslogin.mtls.googleapis.com/", +"name": "oslogin", +"ownerDomain": "google.com", +"ownerName": "Google", +"parameters": { +"$.xgafv": { +"description": "V1 error format.", +"enum": [ +"1", +"2" +], +"enumDescriptions": [ +"v1 error format", +"v2 error format" +], +"location": "query", +"type": "string" +}, +"access_token": { +"description": "OAuth access token.", +"location": "query", +"type": "string" +}, +"alt": { +"default": "json", +"description": "Data format for response.", +"enum": [ +"json", +"media", +"proto" +], +"enumDescriptions": [ +"Responses with Content-Type of application/json", +"Media download with context-dependent Content-Type", +"Responses with Content-Type of application/x-protobuf" +], +"location": "query", +"type": "string" +}, +"callback": { +"description": "JSONP", +"location": "query", +"type": "string" +}, +"fields": { +"description": "Selector specifying which fields to include in a partial response.", +"location": "query", +"type": "string" +}, +"key": { +"description": "API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token.", +"location": "query", +"type": "string" +}, +"oauth_token": { +"description": "OAuth 2.0 token for the current user.", +"location": "query", +"type": "string" +}, +"prettyPrint": { +"default": "true", +"description": "Returns response with indentations and line breaks.", +"location": "query", +"type": "boolean" +}, +"quotaUser": { +"description": "Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters.", +"location": "query", +"type": "string" +}, +"uploadType": { +"description": "Legacy upload protocol for media (e.g. \"media\", \"multipart\").", +"location": "query", +"type": "string" +}, +"upload_protocol": { +"description": "Upload protocol for media (e.g. \"raw\", \"multipart\").", +"location": "query", +"type": "string" +} +}, +"protocol": "rest", +"resources": { +"users": { +"methods": { +"getLoginProfile": { +"description": "Retrieves the profile information used for logging in to a virtual machine on Google Compute Engine.", +"flatPath": "v1/users/{usersId}/loginProfile", +"httpMethod": "GET", +"id": "oslogin.users.getLoginProfile", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. The unique ID for the user in format `users/{user}`.", +"location": "path", +"pattern": "^users/[^/]+$", +"required": true, +"type": "string" +}, +"projectId": { +"description": "The project ID of the Google Cloud Platform project.", +"location": "query", +"type": "string" +}, +"systemId": { +"description": "A system ID for filtering the results of the request.", +"location": "query", +"type": "string" +} +}, +"path": "v1/{+name}/loginProfile", +"response": { +"$ref": "LoginProfile" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/cloud-platform.read-only", +"https://www.googleapis.com/auth/compute", +"https://www.googleapis.com/auth/compute.readonly" +] +}, +"importSshPublicKey": { +"description": "Adds an SSH public key and returns the profile information. Default POSIX account information is set when no username and UID exist as part of the login profile.", +"flatPath": "v1/users/{usersId}:importSshPublicKey", +"httpMethod": "POST", +"id": "oslogin.users.importSshPublicKey", +"parameterOrder": [ +"parent" +], +"parameters": { +"parent": { +"description": "Required. The unique ID for the user in format `users/{user}`.", +"location": "path", +"pattern": "^users/[^/]+$", +"required": true, +"type": "string" +}, +"projectId": { +"description": "The project ID of the Google Cloud Platform project.", +"location": "query", +"type": "string" +}, +"regions": { +"description": "Optional. The regions to which to assert that the key was written. If unspecified, defaults to all regions. Regions are listed at https://cloud.google.com/about/locations#region.", +"location": "query", +"repeated": true, +"type": "string" +} +}, +"path": "v1/{+parent}:importSshPublicKey", +"request": { +"$ref": "SshPublicKey" +}, +"response": { +"$ref": "ImportSshPublicKeyResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +} +}, +"resources": { +"projects": { +"methods": { +"delete": { +"description": "Deletes a POSIX account.", +"flatPath": "v1/users/{usersId}/projects/{projectsId}", +"httpMethod": "DELETE", +"id": "oslogin.users.projects.delete", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. A reference to the POSIX account to update. POSIX accounts are identified by the project ID they are associated with. A reference to the POSIX account is in format `users/{user}/projects/{project}`.", +"location": "path", +"pattern": "^users/[^/]+/projects/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+name}", +"response": { +"$ref": "Empty" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +} +} +}, +"sshPublicKeys": { +"methods": { +"create": { +"description": "Create an SSH public key", +"flatPath": "v1/users/{usersId}/sshPublicKeys", +"httpMethod": "POST", +"id": "oslogin.users.sshPublicKeys.create", +"parameterOrder": [ +"parent" +], +"parameters": { +"parent": { +"description": "Required. The unique ID for the user in format `users/{user}`.", +"location": "path", +"pattern": "^users/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+parent}/sshPublicKeys", +"request": { +"$ref": "SshPublicKey" +}, +"response": { +"$ref": "SshPublicKey" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +}, +"delete": { +"description": "Deletes an SSH public key.", +"flatPath": "v1/users/{usersId}/sshPublicKeys/{sshPublicKeysId}", +"httpMethod": "DELETE", +"id": "oslogin.users.sshPublicKeys.delete", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. The fingerprint of the public key to update. Public keys are identified by their SHA-256 fingerprint. The fingerprint of the public key is in format `users/{user}/sshPublicKeys/{fingerprint}`.", +"location": "path", +"pattern": "^users/[^/]+/sshPublicKeys/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+name}", +"response": { +"$ref": "Empty" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +}, +"get": { +"description": "Retrieves an SSH public key.", +"flatPath": "v1/users/{usersId}/sshPublicKeys/{sshPublicKeysId}", +"httpMethod": "GET", +"id": "oslogin.users.sshPublicKeys.get", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. The fingerprint of the public key to retrieve. Public keys are identified by their SHA-256 fingerprint. The fingerprint of the public key is in format `users/{user}/sshPublicKeys/{fingerprint}`.", +"location": "path", +"pattern": "^users/[^/]+/sshPublicKeys/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+name}", +"response": { +"$ref": "SshPublicKey" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +}, +"patch": { +"description": "Updates an SSH public key and returns the profile information. This method supports patch semantics.", +"flatPath": "v1/users/{usersId}/sshPublicKeys/{sshPublicKeysId}", +"httpMethod": "PATCH", +"id": "oslogin.users.sshPublicKeys.patch", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. The fingerprint of the public key to update. Public keys are identified by their SHA-256 fingerprint. The fingerprint of the public key is in format `users/{user}/sshPublicKeys/{fingerprint}`.", +"location": "path", +"pattern": "^users/[^/]+/sshPublicKeys/[^/]+$", +"required": true, +"type": "string" +}, +"updateMask": { +"description": "Mask to control which fields get updated. Updates all if not present.", +"format": "google-fieldmask", +"location": "query", +"type": "string" +} +}, +"path": "v1/{+name}", +"request": { +"$ref": "SshPublicKey" +}, +"response": { +"$ref": "SshPublicKey" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +} +} +} +} +} +}, +"revision": "20240630", +"rootUrl": "https://oslogin.googleapis.com/", +"schemas": { +"Empty": { +"description": "A generic empty message that you can re-use to avoid defining duplicated empty messages in your APIs. A typical example is to use it as the request or the response type of an API method. For instance: service Foo { rpc Bar(google.protobuf.Empty) returns (google.protobuf.Empty); }", +"id": "Empty", +"properties": {}, +"type": "object" +}, +"ImportSshPublicKeyResponse": { +"description": "A response message for importing an SSH public key.", +"id": "ImportSshPublicKeyResponse", +"properties": { +"details": { +"description": "Detailed information about import results.", +"type": "string" +}, +"loginProfile": { +"$ref": "LoginProfile", +"description": "The login profile information for the user." +} +}, +"type": "object" +}, +"LoginProfile": { +"description": "The user profile information used for logging in to a virtual machine on Google Compute Engine.", +"id": "LoginProfile", +"properties": { +"name": { +"description": "Required. A unique user ID.", +"type": "string" +}, +"posixAccounts": { +"description": "The list of POSIX accounts associated with the user.", +"items": { +"$ref": "PosixAccount" +}, +"type": "array" +}, +"sshPublicKeys": { +"additionalProperties": { +"$ref": "SshPublicKey" +}, +"description": "A map from SSH public key fingerprint to the associated key object.", +"type": "object" +} +}, +"type": "object" +}, +"PosixAccount": { +"description": "The POSIX account information associated with a Google account.", +"id": "PosixAccount", +"properties": { +"accountId": { +"description": "Output only. A POSIX account identifier.", +"readOnly": true, +"type": "string" +}, +"gecos": { +"description": "The GECOS (user information) entry for this account.", +"type": "string" +}, +"gid": { +"description": "The default group ID.", +"format": "int64", +"type": "string" +}, +"homeDirectory": { +"description": "The path to the home directory for this account.", +"type": "string" +}, +"name": { +"description": "Output only. The canonical resource name.", +"readOnly": true, +"type": "string" +}, +"operatingSystemType": { +"description": "The operating system type where this account applies.", +"enum": [ +"OPERATING_SYSTEM_TYPE_UNSPECIFIED", +"LINUX", +"WINDOWS" +], +"enumDescriptions": [ +"The operating system type associated with the user account information is unspecified.", +"Linux user account information.", +"Windows user account information." +], +"type": "string" +}, +"primary": { +"description": "Only one POSIX account can be marked as primary.", +"type": "boolean" +}, +"shell": { +"description": "The path to the logic shell for this account.", +"type": "string" +}, +"systemId": { +"description": "System identifier for which account the username or uid applies to. By default, the empty value is used.", +"type": "string" +}, +"uid": { +"description": "The user ID.", +"format": "int64", +"type": "string" +}, +"username": { +"description": "The username of the POSIX account.", +"type": "string" +} +}, +"type": "object" +}, +"SshPublicKey": { +"description": "The SSH public key information associated with a Google account.", +"id": "SshPublicKey", +"properties": { +"expirationTimeUsec": { +"description": "An expiration time in microseconds since epoch.", +"format": "int64", +"type": "string" +}, +"fingerprint": { +"description": "Output only. The SHA-256 fingerprint of the SSH public key.", +"readOnly": true, +"type": "string" +}, +"key": { +"description": "Public key text in SSH format, defined by RFC4253 section 6.6.", +"type": "string" +}, +"name": { +"description": "Output only. The canonical resource name.", +"readOnly": true, +"type": "string" +} +}, +"type": "object" +} +}, +"servicePath": "", +"title": "Cloud OS Login API", +"version": "v1", +"version_module": true +} \ No newline at end of file diff --git a/.venv/lib/python3.11/site-packages/googleapiclient/discovery_cache/documents/oslogin.v1beta.json b/.venv/lib/python3.11/site-packages/googleapiclient/discovery_cache/documents/oslogin.v1beta.json new file mode 100644 index 0000000000000000000000000000000000000000..3b48baf89ae1bdcdccdf361bc90485265eb96f0b --- /dev/null +++ b/.venv/lib/python3.11/site-packages/googleapiclient/discovery_cache/documents/oslogin.v1beta.json @@ -0,0 +1,671 @@ +{ +"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." +}, +"https://www.googleapis.com/auth/cloud-platform.read-only": { +"description": "View your data across Google Cloud services and see the email address of your Google Account" +}, +"https://www.googleapis.com/auth/compute": { +"description": "View and manage your Google Compute Engine resources" +}, +"https://www.googleapis.com/auth/compute.readonly": { +"description": "View your Google Compute Engine resources" +} +} +} +}, +"basePath": "", +"baseUrl": "https://oslogin.googleapis.com/", +"batchPath": "batch", +"canonicalName": "Cloud OS Login", +"description": "You can use OS Login to manage access to your VM instances using IAM roles.", +"discoveryVersion": "v1", +"documentationLink": "https://cloud.google.com/compute/docs/oslogin/", +"fullyEncodeReservedExpansion": true, +"icons": { +"x16": "http://www.google.com/images/icons/product/search-16.gif", +"x32": "http://www.google.com/images/icons/product/search-32.gif" +}, +"id": "oslogin:v1beta", +"kind": "discovery#restDescription", +"mtlsRootUrl": "https://oslogin.mtls.googleapis.com/", +"name": "oslogin", +"ownerDomain": "google.com", +"ownerName": "Google", +"parameters": { +"$.xgafv": { +"description": "V1 error format.", +"enum": [ +"1", +"2" +], +"enumDescriptions": [ +"v1 error format", +"v2 error format" +], +"location": "query", +"type": "string" +}, +"access_token": { +"description": "OAuth access token.", +"location": "query", +"type": "string" +}, +"alt": { +"default": "json", +"description": "Data format for response.", +"enum": [ +"json", +"media", +"proto" +], +"enumDescriptions": [ +"Responses with Content-Type of application/json", +"Media download with context-dependent Content-Type", +"Responses with Content-Type of application/x-protobuf" +], +"location": "query", +"type": "string" +}, +"callback": { +"description": "JSONP", +"location": "query", +"type": "string" +}, +"fields": { +"description": "Selector specifying which fields to include in a partial response.", +"location": "query", +"type": "string" +}, +"key": { +"description": "API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token.", +"location": "query", +"type": "string" +}, +"oauth_token": { +"description": "OAuth 2.0 token for the current user.", +"location": "query", +"type": "string" +}, +"prettyPrint": { +"default": "true", +"description": "Returns response with indentations and line breaks.", +"location": "query", +"type": "boolean" +}, +"quotaUser": { +"description": "Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters.", +"location": "query", +"type": "string" +}, +"uploadType": { +"description": "Legacy upload protocol for media (e.g. \"media\", \"multipart\").", +"location": "query", +"type": "string" +}, +"upload_protocol": { +"description": "Upload protocol for media (e.g. \"raw\", \"multipart\").", +"location": "query", +"type": "string" +} +}, +"protocol": "rest", +"resources": { +"users": { +"methods": { +"getLoginProfile": { +"description": "Retrieves the profile information used for logging in to a virtual machine on Google Compute Engine.", +"flatPath": "v1beta/users/{usersId}/loginProfile", +"httpMethod": "GET", +"id": "oslogin.users.getLoginProfile", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. The unique ID for the user in format `users/{user}`.", +"location": "path", +"pattern": "^users/[^/]+$", +"required": true, +"type": "string" +}, +"projectId": { +"description": "The project ID of the Google Cloud Platform project.", +"location": "query", +"type": "string" +}, +"systemId": { +"description": "A system ID for filtering the results of the request.", +"location": "query", +"type": "string" +}, +"view": { +"description": "The view configures whether to retrieve security keys information.", +"enum": [ +"LOGIN_PROFILE_VIEW_UNSPECIFIED", +"BASIC", +"SECURITY_KEY" +], +"enumDescriptions": [ +"The default login profile view. The API defaults to the BASIC view.", +"Includes POSIX and SSH key information.", +"Include security key information for the user." +], +"location": "query", +"type": "string" +} +}, +"path": "v1beta/{+name}/loginProfile", +"response": { +"$ref": "LoginProfile" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/cloud-platform.read-only", +"https://www.googleapis.com/auth/compute", +"https://www.googleapis.com/auth/compute.readonly" +] +}, +"importSshPublicKey": { +"description": "Adds an SSH public key and returns the profile information. Default POSIX account information is set when no username and UID exist as part of the login profile.", +"flatPath": "v1beta/users/{usersId}:importSshPublicKey", +"httpMethod": "POST", +"id": "oslogin.users.importSshPublicKey", +"parameterOrder": [ +"parent" +], +"parameters": { +"parent": { +"description": "The unique ID for the user in format `users/{user}`.", +"location": "path", +"pattern": "^users/[^/]+$", +"required": true, +"type": "string" +}, +"projectId": { +"description": "The project ID of the Google Cloud Platform project.", +"location": "query", +"type": "string" +}, +"regions": { +"description": "Optional. The regions to which to assert that the key was written. If unspecified, defaults to all regions. Regions are listed at https://cloud.google.com/about/locations#region.", +"location": "query", +"repeated": true, +"type": "string" +}, +"view": { +"description": "The view configures whether to retrieve security keys information.", +"enum": [ +"LOGIN_PROFILE_VIEW_UNSPECIFIED", +"BASIC", +"SECURITY_KEY" +], +"enumDescriptions": [ +"The default login profile view. The API defaults to the BASIC view.", +"Includes POSIX and SSH key information.", +"Include security key information for the user." +], +"location": "query", +"type": "string" +} +}, +"path": "v1beta/{+parent}:importSshPublicKey", +"request": { +"$ref": "SshPublicKey" +}, +"response": { +"$ref": "ImportSshPublicKeyResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +} +}, +"resources": { +"projects": { +"methods": { +"delete": { +"description": "Deletes a POSIX account.", +"flatPath": "v1beta/users/{usersId}/projects/{projectsId}", +"httpMethod": "DELETE", +"id": "oslogin.users.projects.delete", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. A reference to the POSIX account to update. POSIX accounts are identified by the project ID they are associated with. A reference to the POSIX account is in format `users/{user}/projects/{project}`.", +"location": "path", +"pattern": "^users/[^/]+/projects/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1beta/{+name}", +"response": { +"$ref": "Empty" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +} +}, +"resources": { +"locations": { +"methods": { +"signSshPublicKey": { +"description": "Signs an SSH public key for a user to authenticate to an instance.", +"flatPath": "v1beta/users/{usersId}/projects/{projectsId}/locations/{locationsId}:signSshPublicKey", +"httpMethod": "POST", +"id": "oslogin.users.projects.locations.signSshPublicKey", +"parameterOrder": [ +"parent" +], +"parameters": { +"parent": { +"description": "The parent project and region for the signing request.", +"location": "path", +"pattern": "^users/[^/]+/projects/[^/]+/locations/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1beta/{+parent}:signSshPublicKey", +"request": { +"$ref": "SignSshPublicKeyRequest" +}, +"response": { +"$ref": "SignSshPublicKeyResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +} +} +}, +"zones": { +"methods": { +"signSshPublicKey": { +"description": "Signs an SSH public key for a user to authenticate to an instance.", +"flatPath": "v1beta/users/{usersId}/projects/{projectsId}/zones/{zonesId}:signSshPublicKey", +"httpMethod": "POST", +"id": "oslogin.users.projects.zones.signSshPublicKey", +"parameterOrder": [ +"parent" +], +"parameters": { +"parent": { +"description": "The parent project and region for the signing request.", +"location": "path", +"pattern": "^users/[^/]+/projects/[^/]+/zones/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1beta/{+parent}:signSshPublicKey", +"request": { +"$ref": "SignSshPublicKeyRequest" +}, +"response": { +"$ref": "SignSshPublicKeyResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +} +} +} +} +}, +"sshPublicKeys": { +"methods": { +"create": { +"description": "Create an SSH public key", +"flatPath": "v1beta/users/{usersId}/sshPublicKeys", +"httpMethod": "POST", +"id": "oslogin.users.sshPublicKeys.create", +"parameterOrder": [ +"parent" +], +"parameters": { +"parent": { +"description": "Required. The unique ID for the user in format `users/{user}`.", +"location": "path", +"pattern": "^users/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1beta/{+parent}/sshPublicKeys", +"request": { +"$ref": "SshPublicKey" +}, +"response": { +"$ref": "SshPublicKey" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +}, +"delete": { +"description": "Deletes an SSH public key.", +"flatPath": "v1beta/users/{usersId}/sshPublicKeys/{sshPublicKeysId}", +"httpMethod": "DELETE", +"id": "oslogin.users.sshPublicKeys.delete", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. The fingerprint of the public key to update. Public keys are identified by their SHA-256 fingerprint. The fingerprint of the public key is in format `users/{user}/sshPublicKeys/{fingerprint}`.", +"location": "path", +"pattern": "^users/[^/]+/sshPublicKeys/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1beta/{+name}", +"response": { +"$ref": "Empty" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +}, +"get": { +"description": "Retrieves an SSH public key.", +"flatPath": "v1beta/users/{usersId}/sshPublicKeys/{sshPublicKeysId}", +"httpMethod": "GET", +"id": "oslogin.users.sshPublicKeys.get", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. The fingerprint of the public key to retrieve. Public keys are identified by their SHA-256 fingerprint. The fingerprint of the public key is in format `users/{user}/sshPublicKeys/{fingerprint}`.", +"location": "path", +"pattern": "^users/[^/]+/sshPublicKeys/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1beta/{+name}", +"response": { +"$ref": "SshPublicKey" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +}, +"patch": { +"description": "Updates an SSH public key and returns the profile information. This method supports patch semantics.", +"flatPath": "v1beta/users/{usersId}/sshPublicKeys/{sshPublicKeysId}", +"httpMethod": "PATCH", +"id": "oslogin.users.sshPublicKeys.patch", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. The fingerprint of the public key to update. Public keys are identified by their SHA-256 fingerprint. The fingerprint of the public key is in format `users/{user}/sshPublicKeys/{fingerprint}`.", +"location": "path", +"pattern": "^users/[^/]+/sshPublicKeys/[^/]+$", +"required": true, +"type": "string" +}, +"updateMask": { +"description": "Mask to control which fields get updated. Updates all if not present.", +"format": "google-fieldmask", +"location": "query", +"type": "string" +} +}, +"path": "v1beta/{+name}", +"request": { +"$ref": "SshPublicKey" +}, +"response": { +"$ref": "SshPublicKey" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +} +} +} +} +} +}, +"revision": "20240630", +"rootUrl": "https://oslogin.googleapis.com/", +"schemas": { +"Empty": { +"description": "A generic empty message that you can re-use to avoid defining duplicated empty messages in your APIs. A typical example is to use it as the request or the response type of an API method. For instance: service Foo { rpc Bar(google.protobuf.Empty) returns (google.protobuf.Empty); }", +"id": "Empty", +"properties": {}, +"type": "object" +}, +"ImportSshPublicKeyResponse": { +"description": "A response message for importing an SSH public key.", +"id": "ImportSshPublicKeyResponse", +"properties": { +"details": { +"description": "Detailed information about import results.", +"type": "string" +}, +"loginProfile": { +"$ref": "LoginProfile", +"description": "The login profile information for the user." +} +}, +"type": "object" +}, +"LoginProfile": { +"description": "The user profile information used for logging in to a virtual machine on Google Compute Engine.", +"id": "LoginProfile", +"properties": { +"name": { +"description": "Required. A unique user ID.", +"type": "string" +}, +"posixAccounts": { +"description": "The list of POSIX accounts associated with the user.", +"items": { +"$ref": "PosixAccount" +}, +"type": "array" +}, +"securityKeys": { +"description": "The registered security key credentials for a user.", +"items": { +"$ref": "SecurityKey" +}, +"type": "array" +}, +"sshPublicKeys": { +"additionalProperties": { +"$ref": "SshPublicKey" +}, +"description": "A map from SSH public key fingerprint to the associated key object.", +"type": "object" +} +}, +"type": "object" +}, +"PosixAccount": { +"description": "The POSIX account information associated with a Google account.", +"id": "PosixAccount", +"properties": { +"accountId": { +"description": "Output only. A POSIX account identifier.", +"readOnly": true, +"type": "string" +}, +"gecos": { +"description": "The GECOS (user information) entry for this account.", +"type": "string" +}, +"gid": { +"description": "The default group ID.", +"format": "int64", +"type": "string" +}, +"homeDirectory": { +"description": "The path to the home directory for this account.", +"type": "string" +}, +"name": { +"description": "Output only. The canonical resource name.", +"readOnly": true, +"type": "string" +}, +"operatingSystemType": { +"description": "The operating system type where this account applies.", +"enum": [ +"OPERATING_SYSTEM_TYPE_UNSPECIFIED", +"LINUX", +"WINDOWS" +], +"enumDescriptions": [ +"The operating system type associated with the user account information is unspecified.", +"Linux user account information.", +"Windows user account information." +], +"type": "string" +}, +"primary": { +"description": "Only one POSIX account can be marked as primary.", +"type": "boolean" +}, +"shell": { +"description": "The path to the logic shell for this account.", +"type": "string" +}, +"systemId": { +"description": "System identifier for which account the username or uid applies to. By default, the empty value is used.", +"type": "string" +}, +"uid": { +"description": "The user ID.", +"format": "int64", +"type": "string" +}, +"username": { +"description": "The username of the POSIX account.", +"type": "string" +} +}, +"type": "object" +}, +"SecurityKey": { +"description": "The credential information for a Google registered security key.", +"id": "SecurityKey", +"properties": { +"deviceNickname": { +"description": "The security key nickname explicitly set by the user.", +"type": "string" +}, +"privateKey": { +"description": "Hardware-backed private key text in SSH format.", +"type": "string" +}, +"publicKey": { +"description": "Public key text in SSH format, defined by [RFC4253](\"https://www.ietf.org/rfc/rfc4253.txt\") section 6.6.", +"type": "string" +}, +"universalTwoFactor": { +"$ref": "UniversalTwoFactor", +"description": "The U2F protocol type." +}, +"webAuthn": { +"$ref": "WebAuthn", +"description": "The Web Authentication protocol type." +} +}, +"type": "object" +}, +"SignSshPublicKeyRequest": { +"id": "SignSshPublicKeyRequest", +"properties": { +"sshPublicKey": { +"description": "The SSH public key to sign.", +"type": "string" +} +}, +"type": "object" +}, +"SignSshPublicKeyResponse": { +"id": "SignSshPublicKeyResponse", +"properties": { +"signedSshPublicKey": { +"description": "The signed SSH public key to use in the SSH handshake.", +"type": "string" +} +}, +"type": "object" +}, +"SshPublicKey": { +"description": "The SSH public key information associated with a Google account.", +"id": "SshPublicKey", +"properties": { +"expirationTimeUsec": { +"description": "An expiration time in microseconds since epoch.", +"format": "int64", +"type": "string" +}, +"fingerprint": { +"description": "Output only. The SHA-256 fingerprint of the SSH public key.", +"readOnly": true, +"type": "string" +}, +"key": { +"description": "Public key text in SSH format, defined by RFC4253 section 6.6.", +"type": "string" +}, +"name": { +"description": "Output only. The canonical resource name.", +"readOnly": true, +"type": "string" +} +}, +"type": "object" +}, +"UniversalTwoFactor": { +"description": "Security key information specific to the U2F protocol.", +"id": "UniversalTwoFactor", +"properties": { +"appId": { +"description": "Application ID for the U2F protocol.", +"type": "string" +} +}, +"type": "object" +}, +"WebAuthn": { +"description": "Security key information specific to the Web Authentication protocol.", +"id": "WebAuthn", +"properties": { +"rpId": { +"description": "Relying party ID for Web Authentication.", +"type": "string" +} +}, +"type": "object" +} +}, +"servicePath": "", +"title": "Cloud OS Login API", +"version": "v1beta", +"version_module": true +} \ No newline at end of file diff --git a/.venv/lib/python3.11/site-packages/googleapiclient/discovery_cache/documents/poly.v1.json b/.venv/lib/python3.11/site-packages/googleapiclient/discovery_cache/documents/poly.v1.json new file mode 100644 index 0000000000000000000000000000000000000000..994f4c8eed866879045da2dba4e790deb7bb6774 --- /dev/null +++ b/.venv/lib/python3.11/site-packages/googleapiclient/discovery_cache/documents/poly.v1.json @@ -0,0 +1,805 @@ +{ +"basePath": "", +"baseUrl": "https://poly.googleapis.com/", +"batchPath": "batch", +"canonicalName": "Poly Service", +"description": "The Poly API provides read access to assets hosted on poly.google.com to all, and upload access to poly.google.com for whitelisted accounts. ", +"discoveryVersion": "v1", +"documentationLink": "https://developers.google.com/poly/", +"fullyEncodeReservedExpansion": true, +"icons": { +"x16": "http://www.google.com/images/icons/product/search-16.gif", +"x32": "http://www.google.com/images/icons/product/search-32.gif" +}, +"id": "poly:v1", +"kind": "discovery#restDescription", +"mtlsRootUrl": "https://poly.mtls.googleapis.com/", +"name": "poly", +"ownerDomain": "google.com", +"ownerName": "Google", +"parameters": { +"$.xgafv": { +"description": "V1 error format.", +"enum": [ +"1", +"2" +], +"enumDescriptions": [ +"v1 error format", +"v2 error format" +], +"location": "query", +"type": "string" +}, +"access_token": { +"description": "OAuth access token.", +"location": "query", +"type": "string" +}, +"alt": { +"default": "json", +"description": "Data format for response.", +"enum": [ +"json", +"media", +"proto" +], +"enumDescriptions": [ +"Responses with Content-Type of application/json", +"Media download with context-dependent Content-Type", +"Responses with Content-Type of application/x-protobuf" +], +"location": "query", +"type": "string" +}, +"callback": { +"description": "JSONP", +"location": "query", +"type": "string" +}, +"fields": { +"description": "Selector specifying which fields to include in a partial response.", +"location": "query", +"type": "string" +}, +"key": { +"description": "API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token.", +"location": "query", +"type": "string" +}, +"oauth_token": { +"description": "OAuth 2.0 token for the current user.", +"location": "query", +"type": "string" +}, +"prettyPrint": { +"default": "true", +"description": "Returns response with indentations and line breaks.", +"location": "query", +"type": "boolean" +}, +"quotaUser": { +"description": "Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters.", +"location": "query", +"type": "string" +}, +"uploadType": { +"description": "Legacy upload protocol for media (e.g. \"media\", \"multipart\").", +"location": "query", +"type": "string" +}, +"upload_protocol": { +"description": "Upload protocol for media (e.g. \"raw\", \"multipart\").", +"location": "query", +"type": "string" +} +}, +"protocol": "rest", +"resources": { +"assets": { +"methods": { +"get": { +"description": "Returns detailed information about an asset given its name. PRIVATE assets are returned only if the currently authenticated user (via OAuth token) is the author of the asset.", +"flatPath": "v1/assets/{assetsId}", +"httpMethod": "GET", +"id": "poly.assets.get", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. An asset's name in the form `assets/{ASSET_ID}`.", +"location": "path", +"pattern": "^assets/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+name}", +"response": { +"$ref": "Asset" +} +}, +"list": { +"description": "Lists all public, remixable assets. These are assets with an access level of PUBLIC and published under the CC-By license.", +"flatPath": "v1/assets", +"httpMethod": "GET", +"id": "poly.assets.list", +"parameterOrder": [], +"parameters": { +"category": { +"description": "Filter assets based on the specified category. Supported values are: `animals`, `architecture`, `art`, `food`, `nature`, `objects`, `people`, `scenes`, `technology`, and `transport`.", +"location": "query", +"type": "string" +}, +"curated": { +"description": "Return only assets that have been curated by the Poly team.", +"location": "query", +"type": "boolean" +}, +"format": { +"description": "Return only assets with the matching format. Acceptable values are: `BLOCKS`, `FBX`, `GLTF`, `GLTF2`, `OBJ`, `TILT`.", +"location": "query", +"type": "string" +}, +"keywords": { +"description": "One or more search terms to be matched against all text that Poly has indexed for assets, which includes display_name, description, and tags. Multiple keywords should be separated by spaces.", +"location": "query", +"type": "string" +}, +"maxComplexity": { +"description": "Returns assets that are of the specified complexity or less. Defaults to COMPLEX. For example, a request for MEDIUM assets also includes SIMPLE assets.", +"enum": [ +"COMPLEXITY_UNSPECIFIED", +"COMPLEX", +"MEDIUM", +"SIMPLE" +], +"enumDescriptions": [ +"No complexity specified. This is equivalent to omitting the filter.", +"Highly-complex.", +"Averagely-complex.", +"Simple." +], +"location": "query", +"type": "string" +}, +"orderBy": { +"description": "Specifies an ordering for assets. Acceptable values are: `BEST`, `NEWEST`, `OLDEST`. Defaults to `BEST`, which ranks assets based on a combination of popularity and other features.", +"location": "query", +"type": "string" +}, +"pageSize": { +"description": "The maximum number of assets to be returned. This value must be between `1` and `100`. Defaults to `20`.", +"format": "int32", +"location": "query", +"type": "integer" +}, +"pageToken": { +"description": "Specifies a continuation token from a previous search whose results were split into multiple pages. To get the next page, submit the same request specifying the value from next_page_token.", +"location": "query", +"type": "string" +} +}, +"path": "v1/assets", +"response": { +"$ref": "ListAssetsResponse" +} +} +} +}, +"users": { +"resources": { +"assets": { +"methods": { +"list": { +"description": "Lists assets authored by the given user. Only the value 'me', representing the currently-authenticated user, is supported. May include assets with an access level of PRIVATE or UNLISTED and assets which are All Rights Reserved for the currently-authenticated user.", +"flatPath": "v1/users/{usersId}/assets", +"httpMethod": "GET", +"id": "poly.users.assets.list", +"parameterOrder": [ +"name" +], +"parameters": { +"format": { +"description": "Return only assets with the matching format. Acceptable values are: `BLOCKS`, `FBX`, `GLTF`, `GLTF2`, `OBJ`, and `TILT`.", +"location": "query", +"type": "string" +}, +"name": { +"description": "A valid user id. Currently, only the special value 'me', representing the currently-authenticated user is supported. To use 'me', you must pass an OAuth token with the request.", +"location": "path", +"pattern": "^users/[^/]+$", +"required": true, +"type": "string" +}, +"orderBy": { +"description": "Specifies an ordering for assets. Acceptable values are: `BEST`, `NEWEST`, `OLDEST`. Defaults to `BEST`, which ranks assets based on a combination of popularity and other features.", +"location": "query", +"type": "string" +}, +"pageSize": { +"description": "The maximum number of assets to be returned. This value must be between `1` and `100`. Defaults to `20`.", +"format": "int32", +"location": "query", +"type": "integer" +}, +"pageToken": { +"description": "Specifies a continuation token from a previous search whose results were split into multiple pages. To get the next page, submit the same request specifying the value from next_page_token.", +"location": "query", +"type": "string" +}, +"visibility": { +"description": "The visibility of the assets to be returned. Defaults to VISIBILITY_UNSPECIFIED which returns all assets.", +"enum": [ +"VISIBILITY_UNSPECIFIED", +"PUBLISHED", +"PRIVATE" +], +"enumDescriptions": [ +"No visibility specified. Returns all assets.", +"Returns only published assets.", +"Returns only private assets." +], +"location": "query", +"type": "string" +} +}, +"path": "v1/{+name}/assets", +"response": { +"$ref": "ListUserAssetsResponse" +} +} +} +}, +"likedassets": { +"methods": { +"list": { +"description": "Lists assets that the user has liked. Only the value 'me', representing the currently-authenticated user, is supported. May include assets with an access level of UNLISTED.", +"flatPath": "v1/users/{usersId}/likedassets", +"httpMethod": "GET", +"id": "poly.users.likedassets.list", +"parameterOrder": [ +"name" +], +"parameters": { +"format": { +"description": "Return only assets with the matching format. Acceptable values are: `BLOCKS`, `FBX`, `GLTF`, `GLTF2`, `OBJ`, `TILT`.", +"location": "query", +"type": "string" +}, +"name": { +"description": "A valid user id. Currently, only the special value 'me', representing the currently-authenticated user is supported. To use 'me', you must pass an OAuth token with the request.", +"location": "path", +"pattern": "^users/[^/]+$", +"required": true, +"type": "string" +}, +"orderBy": { +"description": "Specifies an ordering for assets. Acceptable values are: `BEST`, `NEWEST`, `OLDEST`, 'LIKED_TIME'. Defaults to `LIKED_TIME`, which ranks assets based on how recently they were liked.", +"location": "query", +"type": "string" +}, +"pageSize": { +"description": "The maximum number of assets to be returned. This value must be between `1` and `100`. Defaults to `20`.", +"format": "int32", +"location": "query", +"type": "integer" +}, +"pageToken": { +"description": "Specifies a continuation token from a previous search whose results were split into multiple pages. To get the next page, submit the same request specifying the value from next_page_token.", +"location": "query", +"type": "string" +} +}, +"path": "v1/{+name}/likedassets", +"response": { +"$ref": "ListLikedAssetsResponse" +} +} +} +} +} +} +}, +"revision": "20230206", +"rootUrl": "https://poly.googleapis.com/", +"schemas": { +"Asset": { +"description": "Represents and describes an asset in the Poly library. An asset is a 3D model or scene created using [Tilt Brush](//www.tiltbrush.com), [Blocks](//vr.google.com/blocks/), or any 3D program that produces a file that can be upload to Poly.", +"id": "Asset", +"properties": { +"authorName": { +"description": "The author's publicly visible name. Use this name when giving credit to the author. For more information, see [Licensing](/poly/discover/licensing).", +"type": "string" +}, +"createTime": { +"description": "For published assets, the time when the asset was published. For unpublished assets, the time when the asset was created.", +"format": "google-datetime", +"type": "string" +}, +"description": { +"description": "The human-readable description, set by the asset's author.", +"type": "string" +}, +"displayName": { +"description": "The human-readable name, set by the asset's author.", +"type": "string" +}, +"formats": { +"description": "A list of Formats where each format describes one representation of the asset.", +"items": { +"$ref": "Format" +}, +"type": "array" +}, +"isCurated": { +"description": "Whether this asset has been curated by the Poly team.", +"type": "boolean" +}, +"license": { +"description": "The license under which the author has made the asset available for use, if any.", +"enum": [ +"UNKNOWN", +"CREATIVE_COMMONS_BY", +"ALL_RIGHTS_RESERVED" +], +"enumDescriptions": [ +"Unknown license value.", +"Creative Commons CC-BY 3.0. https://creativecommons.org/licenses/by/3.0/", +"Unlicensed: All Rights Reserved by the author. Unlicensed assets are **not** returned by List Assets." +], +"type": "string" +}, +"metadata": { +"description": "Application-defined opaque metadata for this asset. This field is only returned when querying for the signed-in user's own assets, not for public assets. This string is limited to 1K chars. It is up to the creator of the asset to define the format for this string (for example, JSON).", +"type": "string" +}, +"name": { +"description": "The unique identifier for the asset in the form: `assets/{ASSET_ID}`.", +"type": "string" +}, +"presentationParams": { +"$ref": "PresentationParams", +"description": "Hints for displaying the asset. Note that these parameters are not immutable; the author of an asset may change them post-publication." +}, +"remixInfo": { +"$ref": "RemixInfo", +"description": "The remix info for the asset." +}, +"thumbnail": { +"$ref": "File", +"description": "The thumbnail image for the asset." +}, +"updateTime": { +"description": "The time when the asset was last modified. For published assets, whose contents are immutable, the update time changes only when metadata properties, such as visibility, are updated.", +"format": "google-datetime", +"type": "string" +}, +"visibility": { +"description": "The visibility of the asset and who can access it.", +"enum": [ +"VISIBILITY_UNSPECIFIED", +"PRIVATE", +"UNLISTED", +"PUBLIC" +], +"enumDescriptions": [ +"Unknown (and invalid) visibility.", +"Access to the asset and its underlying files and resources is restricted to the author. **Authentication:** You must supply an OAuth token that corresponds to the author's account.", +"Access to the asset and its underlying files and resources is available to anyone with the asset's name. Unlisted assets are **not** returned by List Assets.", +"Access to the asset and its underlying files and resources is available to anyone." +], +"type": "string" +} +}, +"type": "object" +}, +"AssetImportMessage": { +"description": "A message generated by the asset import process.", +"id": "AssetImportMessage", +"properties": { +"code": { +"description": "The code associated with this message.", +"enum": [ +"CODE_UNSPECIFIED", +"NO_IMPORTABLE_FILE", +"EMPTY_MODEL", +"OBJ_PARSE_ERROR", +"EXPIRED", +"IMAGE_ERROR", +"EXTRA_FILES_WITH_ARCHIVE", +"DEFAULT_MATERIALS", +"FATAL_ERROR", +"INVALID_ELEMENT_TYPE" +], +"enumDescriptions": [ +"Unknown error code.", +"The asset import did not include any file that we can import (i.e. an OBJ file).", +"When generating the preview for the import, no geometry was found.", +"A problem was encountered while parsing the OBJ file. The converter makes a 'best effort' attempt to continue when encountering such issues. In some cases the resulting preview model may still be acceptable. The details can be found in the parse error message.", +"The importer was not able to import the model before the expiration time.", +"The importer encountered a problem reading an image file.", +"Multiple files were encountered in addition to a ZIP archive. When uploading an archive only one file is permitted.", +"Default materials are used in the model. This means that one or more faces is using default materials either because no usemtl statement was specified or because the requested material was not found due to a missing material file or bad material name. This does not cover the case of missing textures.", +"The importer encountered a fatal error and was unable to import the model.", +"The import includes a file of an unsupported element type. The file path is specified." +], +"type": "string" +}, +"filePath": { +"description": "An optional file path. Only present for those error codes that specify it.", +"type": "string" +}, +"imageError": { +"$ref": "ImageError", +"description": "An optional image error. Only present for INVALID_IMAGE_FILE." +}, +"objParseError": { +"$ref": "ObjParseError", +"description": "An optional OBJ parse error. Only present for OBJ_PARSE_ERROR." +} +}, +"type": "object" +}, +"File": { +"description": "Represents a file in Poly, which can be a root, resource, or thumbnail file.", +"id": "File", +"properties": { +"contentType": { +"description": "The MIME content-type, such as `image/png`. For more information, see [MIME types](//developer.mozilla.org/en-US/docs/Web/HTTP/Basics_of_HTTP/MIME_types).", +"type": "string" +}, +"relativePath": { +"description": "The path of the resource file relative to the root file. For root or thumbnail files, this is just the filename.", +"type": "string" +}, +"url": { +"description": "The URL where the file data can be retrieved.", +"type": "string" +} +}, +"type": "object" +}, +"Format": { +"description": "The same asset can be represented in different formats, for example, a [WaveFront .obj](//en.wikipedia.org/wiki/Wavefront_.obj_file) file with its corresponding .mtl file or a [Khronos glTF](//www.khronos.org/gltf) file with its corresponding .glb binary data. A format refers to a specific representation of an asset and contains all information needed to retrieve and describe this representation.", +"id": "Format", +"properties": { +"formatComplexity": { +"$ref": "FormatComplexity", +"description": "Complexity stats about this representation of the asset." +}, +"formatType": { +"description": "A short string that identifies the format type of this representation. Possible values are: `FBX`, `GLTF`, `GLTF2`, `OBJ`, and `TILT`.", +"type": "string" +}, +"resources": { +"description": "A list of dependencies of the root element. May include, but is not limited to, materials, textures, and shader programs.", +"items": { +"$ref": "File" +}, +"type": "array" +}, +"root": { +"$ref": "File", +"description": "The root of the file hierarchy. This will always be populated. For some format_types - such as `TILT`, which are self-contained - this is all of the data. Other types - such as `OBJ` - often reference other data elements. These are contained in the resources field." +} +}, +"type": "object" +}, +"FormatComplexity": { +"description": "Information on the complexity of this Format.", +"id": "FormatComplexity", +"properties": { +"lodHint": { +"description": "A non-negative integer that represents the level of detail (LOD) of this format relative to other formats of the same asset with the same format_type. This hint allows you to sort formats from the most-detailed (0) to least-detailed (integers greater than 0).", +"format": "int32", +"type": "integer" +}, +"triangleCount": { +"description": "The estimated number of triangles.", +"format": "int64", +"type": "string" +} +}, +"type": "object" +}, +"ImageError": { +"description": "A message resulting from reading an image file.", +"id": "ImageError", +"properties": { +"code": { +"description": "The type of image error encountered. Optional for older image errors.", +"enum": [ +"CODE_UNSPECIFIED", +"INVALID_IMAGE", +"IMAGE_TOO_BIG", +"WRONG_IMAGE_TYPE" +], +"enumDescriptions": [ +"Unknown error code.", +"We were unable to read the image file.", +"The image size is too large.", +"The image data does not match the expected MIME type of the image." +], +"type": "string" +}, +"filePath": { +"description": "The file path in the import of the image that was rejected.", +"type": "string" +} +}, +"type": "object" +}, +"ListAssetsResponse": { +"description": "A response message from a request to list.", +"id": "ListAssetsResponse", +"properties": { +"assets": { +"description": "A list of assets that match the criteria specified in the request.", +"items": { +"$ref": "Asset" +}, +"type": "array" +}, +"nextPageToken": { +"description": "The continuation token for retrieving the next page. If empty, indicates that there are no more pages. To get the next page, submit the same request specifying this value as the page_token.", +"type": "string" +}, +"totalSize": { +"description": "The total number of assets in the list, without pagination.", +"format": "int32", +"type": "integer" +} +}, +"type": "object" +}, +"ListLikedAssetsResponse": { +"description": "A response message from a request to list.", +"id": "ListLikedAssetsResponse", +"properties": { +"assets": { +"description": "A list of assets that match the criteria specified in the request.", +"items": { +"$ref": "Asset" +}, +"type": "array" +}, +"nextPageToken": { +"description": "The continuation token for retrieving the next page. If empty, indicates that there are no more pages. To get the next page, submit the same request specifying this value as the page_token.", +"type": "string" +}, +"totalSize": { +"description": "The total number of assets in the list, without pagination.", +"format": "int32", +"type": "integer" +} +}, +"type": "object" +}, +"ListUserAssetsResponse": { +"description": "A response message from a request to list.", +"id": "ListUserAssetsResponse", +"properties": { +"nextPageToken": { +"description": "The continuation token for retrieving the next page. If empty, indicates that there are no more pages. To get the next page, submit the same request specifying this value as the page_token.", +"type": "string" +}, +"totalSize": { +"description": "The total number of assets in the list, without pagination.", +"format": "int32", +"type": "integer" +}, +"userAssets": { +"description": "A list of UserAssets matching the request.", +"items": { +"$ref": "UserAsset" +}, +"type": "array" +} +}, +"type": "object" +}, +"ObjParseError": { +"description": "Details of an error resulting from parsing an OBJ file", +"id": "ObjParseError", +"properties": { +"code": { +"description": "The type of problem found (required).", +"enum": [ +"CODE_UNSPECIFIED", +"INCONSISTENT_VERTEX_REFS", +"INVALID_COMMAND", +"INVALID_NUMBER", +"INVALID_VERTEX_REF", +"MISSING_GEOMETRIC_VERTEX", +"MISSING_TOKEN", +"TOO_FEW_DIMENSIONS", +"TOO_FEW_VERTICES", +"TOO_MANY_DIMENSIONS", +"UNSUPPORTED_COMMAND", +"UNUSED_TOKENS", +"VERTEX_NOT_FOUND", +"NUMBER_OUT_OF_RANGE", +"INVALID_VALUE", +"INVALID_TEXTURE_OPTION", +"TOO_MANY_PROBLEMS", +"MISSING_FILE_NAME", +"FILE_NOT_FOUND", +"UNKNOWN_MATERIAL", +"NO_MATERIAL_DEFINED", +"INVALID_SMOOTHING_GROUP", +"MISSING_VERTEX_COLORS", +"FILE_SUBSTITUTION", +"LINE_TOO_LONG", +"INVALID_FILE_PATH" +], +"enumDescriptions": [ +"Unknown error code.", +"Vertex references are specified in an inconsistent style for a face (e.g. some vertices specify texture vertices but some don't).", +"The command is invalid.", +"A invalid number was specified.", +"An invalid vertex reference was specified.", +"A vertex reference does not specify a geometric vertex.", +"An expected token was not found.", +"The vertex specified too few dimensions for its usage.", +"The face specified too few vertices.", +"The vertex specified too many dimensions for its usage.", +"This command is a valid OBJ command but is not supported. This error is only generated for the first instance of such a command.", +"This line ended with unparsed token characters.", +"The specified vertex was not found.", +"The specified number was too large or small for its usage.", +"The specified parameter value was not recognized.", +"The specified texture option is not valid.", +"The maximum number of problems to report was reached. Parsing continues, but further problems will be ignored.", +"An expected file name was not specified.", +"The specified file was not found in the import.", +"The specified material was not found in any material definition in the import.", +"Material parameters were specified before the first material definition.", +"The smoothing group is not valid.", +"Vertex colors were specified for only some vertices of a face.", +"A missing file was found at a different file path.", +"A line in an OBJ or MTL file exceeded the maximum line length.", +"The file path was invalid. Only relative paths are supported." +], +"type": "string" +}, +"endIndex": { +"description": "The ending character index at which the problem was found.", +"format": "int32", +"type": "integer" +}, +"filePath": { +"description": "The file path in which the problem was found.", +"type": "string" +}, +"line": { +"description": "The text of the line. Note that this may be truncated if the line was very long. This may not include the error if it occurs after line truncation.", +"type": "string" +}, +"lineNumber": { +"description": "Line number at which the problem was found.", +"format": "int32", +"type": "integer" +}, +"startIndex": { +"description": "The starting character index at which the problem was found.", +"format": "int32", +"type": "integer" +} +}, +"type": "object" +}, +"PresentationParams": { +"description": "Hints for displaying the asset, based on information available when the asset was uploaded.", +"id": "PresentationParams", +"properties": { +"backgroundColor": { +"description": "A background color which could be used for displaying the 3D asset in a 'thumbnail' or 'palette' style view. Authors have the option to set this background color when publishing or editing their asset. This is represented as a six-digit hexademical triplet specifying the RGB components of the background color, e.g. #FF0000 for Red.", +"type": "string" +}, +"colorSpace": { +"description": "The materials' diffuse/albedo color. This does not apply to vertex colors or texture maps.", +"enum": [ +"UNKNOWN", +"LINEAR", +"GAMMA" +], +"enumDescriptions": [ +"Invalid color value.", +"Linear color values. Default.", +"Colors should be converted to linear by assuming gamma = 2.0." +], +"type": "string" +}, +"orientingRotation": { +"$ref": "Quaternion", +"description": "A rotation that should be applied to the object root to make it upright. More precisely, this quaternion transforms from \"object space\" (the space in which the object is defined) to \"presentation space\", a coordinate system where +Y is up, +X is right, -Z is forward. For example, if the object is the Eiffel Tower, in its local coordinate system the object might be laid out such that the base of the tower is on the YZ plane and the tip of the tower is towards positive X. In this case this quaternion would specify a rotation (of 90 degrees about the Z axis) such that in the presentation space the base of the tower is aligned with the XZ plane, and the tip of the tower lies towards +Y. This rotation is unrelated to the object's pose in the web preview, which is just a camera position setting and is *not* reflected in this rotation. Please note: this is applicable only to the gLTF." +} +}, +"type": "object" +}, +"Quaternion": { +"description": "A [Quaternion](//en.wikipedia.org/wiki/Quaternion). Please note: if in the response you see \"w: 1\" and nothing else this is the default value of [0, 0, 0, 1] where x,y, and z are 0.", +"id": "Quaternion", +"properties": { +"w": { +"description": "The scalar component.", +"format": "double", +"type": "number" +}, +"x": { +"description": "The x component.", +"format": "double", +"type": "number" +}, +"y": { +"description": "The y component.", +"format": "double", +"type": "number" +}, +"z": { +"description": "The z component.", +"format": "double", +"type": "number" +} +}, +"type": "object" +}, +"RemixInfo": { +"description": "Info about the sources of this asset (i.e. assets that were remixed to create this asset).", +"id": "RemixInfo", +"properties": { +"sourceAsset": { +"description": "Resource ids for the sources of this remix, of the form: `assets/{ASSET_ID}`", +"items": { +"type": "string" +}, +"type": "array" +} +}, +"type": "object" +}, +"StartAssetImportResponse": { +"description": "A response message from a request to startImport. This is returned in the response field of the Operation.", +"id": "StartAssetImportResponse", +"properties": { +"assetId": { +"description": "The id of newly created asset. If this is empty when the operation is complete it means the import failed. Please refer to the assetImportMessages field to understand what went wrong.", +"type": "string" +}, +"assetImportId": { +"description": "The id of the asset import.", +"type": "string" +}, +"assetImportMessages": { +"description": "The message from the asset import. This will contain any warnings (or - in the case of failure - errors) that occurred during import.", +"items": { +"$ref": "AssetImportMessage" +}, +"type": "array" +}, +"publishUrl": { +"description": "The publish URL for the asset.", +"type": "string" +} +}, +"type": "object" +}, +"UserAsset": { +"description": "Data about the user's asset.", +"id": "UserAsset", +"properties": { +"asset": { +"$ref": "Asset", +"description": "An Asset." +} +}, +"type": "object" +} +}, +"servicePath": "", +"title": "Poly API", +"version": "v1", +"version_module": true +} \ No newline at end of file diff --git a/.venv/lib/python3.11/site-packages/googleapiclient/discovery_cache/documents/publicca.v1alpha1.json b/.venv/lib/python3.11/site-packages/googleapiclient/discovery_cache/documents/publicca.v1alpha1.json new file mode 100644 index 0000000000000000000000000000000000000000..331cfba2d41701887ad0ad21d0f708e3416abfca --- /dev/null +++ b/.venv/lib/python3.11/site-packages/googleapiclient/discovery_cache/documents/publicca.v1alpha1.json @@ -0,0 +1,180 @@ +{ +"auth": { +"oauth2": { +"scopes": { +"https://www.googleapis.com/auth/cloud-platform": { +"description": "See, edit, configure, and delete your Google Cloud data and see the email address for your Google Account." +} +} +} +}, +"basePath": "", +"baseUrl": "https://publicca.googleapis.com/", +"batchPath": "batch", +"canonicalName": "Public Certificate Authority", +"description": "The Public Certificate Authority API may be used to create and manage ACME external account binding keys associated with Google Trust Services' publicly trusted certificate authority. ", +"discoveryVersion": "v1", +"documentationLink": "https://cloud.google.com/public-certificate-authority/docs", +"fullyEncodeReservedExpansion": true, +"icons": { +"x16": "http://www.google.com/images/icons/product/search-16.gif", +"x32": "http://www.google.com/images/icons/product/search-32.gif" +}, +"id": "publicca:v1alpha1", +"kind": "discovery#restDescription", +"mtlsRootUrl": "https://publicca.mtls.googleapis.com/", +"name": "publicca", +"ownerDomain": "google.com", +"ownerName": "Google", +"parameters": { +"$.xgafv": { +"description": "V1 error format.", +"enum": [ +"1", +"2" +], +"enumDescriptions": [ +"v1 error format", +"v2 error format" +], +"location": "query", +"type": "string" +}, +"access_token": { +"description": "OAuth access token.", +"location": "query", +"type": "string" +}, +"alt": { +"default": "json", +"description": "Data format for response.", +"enum": [ +"json", +"media", +"proto" +], +"enumDescriptions": [ +"Responses with Content-Type of application/json", +"Media download with context-dependent Content-Type", +"Responses with Content-Type of application/x-protobuf" +], +"location": "query", +"type": "string" +}, +"callback": { +"description": "JSONP", +"location": "query", +"type": "string" +}, +"fields": { +"description": "Selector specifying which fields to include in a partial response.", +"location": "query", +"type": "string" +}, +"key": { +"description": "API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token.", +"location": "query", +"type": "string" +}, +"oauth_token": { +"description": "OAuth 2.0 token for the current user.", +"location": "query", +"type": "string" +}, +"prettyPrint": { +"default": "true", +"description": "Returns response with indentations and line breaks.", +"location": "query", +"type": "boolean" +}, +"quotaUser": { +"description": "Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters.", +"location": "query", +"type": "string" +}, +"uploadType": { +"description": "Legacy upload protocol for media (e.g. \"media\", \"multipart\").", +"location": "query", +"type": "string" +}, +"upload_protocol": { +"description": "Upload protocol for media (e.g. \"raw\", \"multipart\").", +"location": "query", +"type": "string" +} +}, +"protocol": "rest", +"resources": { +"projects": { +"resources": { +"locations": { +"resources": { +"externalAccountKeys": { +"methods": { +"create": { +"description": "Creates a new ExternalAccountKey bound to the project.", +"flatPath": "v1alpha1/projects/{projectsId}/locations/{locationsId}/externalAccountKeys", +"httpMethod": "POST", +"id": "publicca.projects.locations.externalAccountKeys.create", +"parameterOrder": [ +"parent" +], +"parameters": { +"parent": { +"description": "Required. The parent resource where this external_account_key will be created. Format: projects/[project_id]/locations/[location]. At present only the \"global\" location is supported.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1alpha1/{+parent}/externalAccountKeys", +"request": { +"$ref": "ExternalAccountKey" +}, +"response": { +"$ref": "ExternalAccountKey" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +} +} +} +} +} +} +} +}, +"revision": "20240702", +"rootUrl": "https://publicca.googleapis.com/", +"schemas": { +"ExternalAccountKey": { +"description": "A representation of an ExternalAccountKey used for [external account binding](https://tools.ietf.org/html/rfc8555#section-7.3.4) within ACME.", +"id": "ExternalAccountKey", +"properties": { +"b64MacKey": { +"description": "Output only. Base64-URL-encoded HS256 key. It is generated by the PublicCertificateAuthorityService when the ExternalAccountKey is created", +"format": "byte", +"readOnly": true, +"type": "string" +}, +"keyId": { +"description": "Output only. Key ID. It is generated by the PublicCertificateAuthorityService when the ExternalAccountKey is created", +"readOnly": true, +"type": "string" +}, +"name": { +"description": "Output only. Resource name. projects/{project}/locations/{location}/externalAccountKeys/{key_id}", +"readOnly": true, +"type": "string" +} +}, +"type": "object" +} +}, +"servicePath": "", +"title": "Public Certificate Authority API", +"version": "v1alpha1", +"version_module": true +} \ No newline at end of file diff --git a/.venv/lib/python3.11/site-packages/googleapiclient/discovery_cache/documents/remotebuildexecution.v1alpha.json b/.venv/lib/python3.11/site-packages/googleapiclient/discovery_cache/documents/remotebuildexecution.v1alpha.json new file mode 100644 index 0000000000000000000000000000000000000000..fc7491b7082cea064010154c0587ee1fea4160f8 --- /dev/null +++ b/.venv/lib/python3.11/site-packages/googleapiclient/discovery_cache/documents/remotebuildexecution.v1alpha.json @@ -0,0 +1,2187 @@ +{ + "auth": { + "oauth2": { + "scopes": { + "https://www.googleapis.com/auth/cloud-platform": { + "description": "See, edit, configure, and delete your Google Cloud Platform data" + } + } + } + }, + "basePath": "", + "baseUrl": "https://admin-remotebuildexecution.googleapis.com/", + "batchPath": "batch", + "canonicalName": "Remote Build Execution", + "description": "Supplies a Remote Execution API service for tools such as bazel.", + "discoveryVersion": "v1", + "documentationLink": "https://cloud.google.com/remote-build-execution/docs/", + "fullyEncodeReservedExpansion": true, + "icons": { + "x16": "http://www.google.com/images/icons/product/search-16.gif", + "x32": "http://www.google.com/images/icons/product/search-32.gif" + }, + "id": "remotebuildexecution:v1alpha", + "kind": "discovery#restDescription", + "mtlsRootUrl": "https://admin-remotebuildexecution.mtls.googleapis.com/", + "name": "remotebuildexecution", + "ownerDomain": "google.com", + "ownerName": "Google", + "parameters": { + "$.xgafv": { + "description": "V1 error format.", + "enum": [ + "1", + "2" + ], + "enumDescriptions": [ + "v1 error format", + "v2 error format" + ], + "location": "query", + "type": "string" + }, + "access_token": { + "description": "OAuth access token.", + "location": "query", + "type": "string" + }, + "alt": { + "default": "json", + "description": "Data format for response.", + "enum": [ + "json", + "media", + "proto" + ], + "enumDescriptions": [ + "Responses with Content-Type of application/json", + "Media download with context-dependent Content-Type", + "Responses with Content-Type of application/x-protobuf" + ], + "location": "query", + "type": "string" + }, + "callback": { + "description": "JSONP", + "location": "query", + "type": "string" + }, + "fields": { + "description": "Selector specifying which fields to include in a partial response.", + "location": "query", + "type": "string" + }, + "key": { + "description": "API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token.", + "location": "query", + "type": "string" + }, + "oauth_token": { + "description": "OAuth 2.0 token for the current user.", + "location": "query", + "type": "string" + }, + "prettyPrint": { + "default": "true", + "description": "Returns response with indentations and line breaks.", + "location": "query", + "type": "boolean" + }, + "quotaUser": { + "description": "Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters.", + "location": "query", + "type": "string" + }, + "uploadType": { + "description": "Legacy upload protocol for media (e.g. \"media\", \"multipart\").", + "location": "query", + "type": "string" + }, + "upload_protocol": { + "description": "Upload protocol for media (e.g. \"raw\", \"multipart\").", + "location": "query", + "type": "string" + } + }, + "protocol": "rest", + "resources": { + "projects": { + "resources": { + "instances": { + "methods": { + "create": { + "description": "Creates a new instance in the specified region. Returns a long running operation which contains an instance on completion. While the long running operation is in progress, any call to `GetInstance` returns an instance in state `CREATING`.", + "flatPath": "v1alpha/projects/{projectsId}/instances", + "httpMethod": "POST", + "id": "remotebuildexecution.projects.instances.create", + "parameterOrder": [ + "parent" + ], + "parameters": { + "parent": { + "description": "Resource name of the project containing the instance. Format: `projects/[PROJECT_ID]`.", + "location": "path", + "pattern": "^projects/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1alpha/{+parent}/instances", + "request": { + "$ref": "GoogleDevtoolsRemotebuildexecutionAdminV1alphaCreateInstanceRequest" + }, + "response": { + "$ref": "GoogleLongrunningOperation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "delete": { + "description": "Deletes the specified instance. Returns a long running operation which contains a `google.protobuf.Empty` response on completion. Deleting an instance with worker pools in it will delete these worker pools.", + "flatPath": "v1alpha/projects/{projectsId}/instances/{instancesId}", + "httpMethod": "DELETE", + "id": "remotebuildexecution.projects.instances.delete", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Name of the instance to delete. Format: `projects/[PROJECT_ID]/instances/[INSTANCE_ID]`.", + "location": "path", + "pattern": "^projects/[^/]+/instances/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1alpha/{+name}", + "response": { + "$ref": "GoogleLongrunningOperation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "get": { + "description": "Returns the specified instance.", + "flatPath": "v1alpha/projects/{projectsId}/instances/{instancesId}", + "httpMethod": "GET", + "id": "remotebuildexecution.projects.instances.get", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Name of the instance to retrieve. Format: `projects/[PROJECT_ID]/instances/[INSTANCE_ID]`.", + "location": "path", + "pattern": "^projects/[^/]+/instances/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1alpha/{+name}", + "response": { + "$ref": "GoogleDevtoolsRemotebuildexecutionAdminV1alphaInstance" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "list": { + "description": "Lists instances in a project.", + "flatPath": "v1alpha/projects/{projectsId}/instances", + "httpMethod": "GET", + "id": "remotebuildexecution.projects.instances.list", + "parameterOrder": [ + "parent" + ], + "parameters": { + "parent": { + "description": "Resource name of the project. Format: `projects/[PROJECT_ID]`.", + "location": "path", + "pattern": "^projects/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1alpha/{+parent}/instances", + "response": { + "$ref": "GoogleDevtoolsRemotebuildexecutionAdminV1alphaListInstancesResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "patch": { + "description": "Updates the specified instance. Returns a long running operation which contains the updated instance in the response on completion.", + "flatPath": "v1alpha/projects/{projectsId}/instances/{instancesId}", + "httpMethod": "PATCH", + "id": "remotebuildexecution.projects.instances.patch", + "parameterOrder": [ + "name" + ], + "parameters": { + "loggingEnabled": { + "description": "Deprecated, use instance.logging_enabled instead. Whether to enable Stackdriver logging for this instance.", + "location": "query", + "type": "boolean" + }, + "name": { + "description": "Output only. Instance resource name formatted as: `projects/[PROJECT_ID]/instances/[INSTANCE_ID]`. Name should not be populated when creating an instance since it is provided in the `instance_id` field.", + "location": "path", + "pattern": "^projects/[^/]+/instances/[^/]+$", + "required": true, + "type": "string" + }, + "name1": { + "description": "Deprecated, use instance.Name instead. Name of the instance to update. Format: `projects/[PROJECT_ID]/instances/[INSTANCE_ID]`.", + "location": "query", + "type": "string" + }, + "updateMask": { + "description": "The update mask applies to instance. For the `FieldMask` definition, see https://developers.google.com/protocol-buffers/docs/reference/google.protobuf#fieldmask If an empty update_mask is provided, only the non-default valued field in the worker pool field will be updated. Note that in order to update a field to the default value (zero, false, empty string) an explicit update_mask must be provided.", + "format": "google-fieldmask", + "location": "query", + "type": "string" + } + }, + "path": "v1alpha/{+name}", + "request": { + "$ref": "GoogleDevtoolsRemotebuildexecutionAdminV1alphaInstance" + }, + "response": { + "$ref": "GoogleLongrunningOperation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + } + }, + "resources": { + "workerpools": { + "methods": { + "create": { + "description": "Creates a new worker pool with a specified size and configuration. Returns a long running operation which contains a worker pool on completion. While the long running operation is in progress, any call to `GetWorkerPool` returns a worker pool in state `CREATING`.", + "flatPath": "v1alpha/projects/{projectsId}/instances/{instancesId}/workerpools", + "httpMethod": "POST", + "id": "remotebuildexecution.projects.instances.workerpools.create", + "parameterOrder": [ + "parent" + ], + "parameters": { + "parent": { + "description": "Resource name of the instance in which to create the new worker pool. Format: `projects/[PROJECT_ID]/instances/[INSTANCE_ID]`.", + "location": "path", + "pattern": "^projects/[^/]+/instances/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1alpha/{+parent}/workerpools", + "request": { + "$ref": "GoogleDevtoolsRemotebuildexecutionAdminV1alphaCreateWorkerPoolRequest" + }, + "response": { + "$ref": "GoogleLongrunningOperation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "delete": { + "description": "Deletes the specified worker pool. Returns a long running operation, which contains a `google.protobuf.Empty` response on completion. While the long running operation is in progress, any call to `GetWorkerPool` returns a worker pool in state `DELETING`.", + "flatPath": "v1alpha/projects/{projectsId}/instances/{instancesId}/workerpools/{workerpoolsId}", + "httpMethod": "DELETE", + "id": "remotebuildexecution.projects.instances.workerpools.delete", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Name of the worker pool to delete. Format: `projects/[PROJECT_ID]/instances/[INSTANCE_ID]/workerpools/[POOL_ID]`.", + "location": "path", + "pattern": "^projects/[^/]+/instances/[^/]+/workerpools/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1alpha/{+name}", + "response": { + "$ref": "GoogleLongrunningOperation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "get": { + "description": "Returns the specified worker pool.", + "flatPath": "v1alpha/projects/{projectsId}/instances/{instancesId}/workerpools/{workerpoolsId}", + "httpMethod": "GET", + "id": "remotebuildexecution.projects.instances.workerpools.get", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Name of the worker pool to retrieve. Format: `projects/[PROJECT_ID]/instances/[INSTANCE_ID]/workerpools/[POOL_ID]`.", + "location": "path", + "pattern": "^projects/[^/]+/instances/[^/]+/workerpools/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1alpha/{+name}", + "response": { + "$ref": "GoogleDevtoolsRemotebuildexecutionAdminV1alphaWorkerPool" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "list": { + "description": "Lists worker pools in an instance.", + "flatPath": "v1alpha/projects/{projectsId}/instances/{instancesId}/workerpools", + "httpMethod": "GET", + "id": "remotebuildexecution.projects.instances.workerpools.list", + "parameterOrder": [ + "parent" + ], + "parameters": { + "filter": { + "description": "Optional. A filter expression that filters resources listed in the response. The expression must specify the field name, a comparison operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. String values are case-insensitive. The comparison operator must be either `:`, `=`, `!=`, `>`, `>=`, `<=` or `<`. The `:` operator can be used with string fields to match substrings. For non-string fields it is equivalent to the `=` operator. The `:*` comparison can be used to test whether a key has been defined. You can also filter on nested fields. To filter on multiple expressions, you can separate expression using `AND` and `OR` operators, using parentheses to specify precedence. If neither operator is specified, `AND` is assumed. Examples: Include only pools with more than 100 reserved workers: `(worker_count > 100) (worker_config.reserved = true)` Include only pools with a certain label or machines of the e2-standard family: `worker_config.labels.key1 : * OR worker_config.machine_type: e2-standard`", + "location": "query", + "type": "string" + }, + "parent": { + "description": "Resource name of the instance. Format: `projects/[PROJECT_ID]/instances/[INSTANCE_ID]`.", + "location": "path", + "pattern": "^projects/[^/]+/instances/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1alpha/{+parent}/workerpools", + "response": { + "$ref": "GoogleDevtoolsRemotebuildexecutionAdminV1alphaListWorkerPoolsResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "patch": { + "description": "Updates an existing worker pool with a specified size and/or configuration. Returns a long running operation, which contains a worker pool on completion. While the long running operation is in progress, any call to `GetWorkerPool` returns a worker pool in state `UPDATING`.", + "flatPath": "v1alpha/projects/{projectsId}/instances/{instancesId}/workerpools/{workerpoolsId}", + "httpMethod": "PATCH", + "id": "remotebuildexecution.projects.instances.workerpools.patch", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "WorkerPool resource name formatted as: `projects/[PROJECT_ID]/instances/[INSTANCE_ID]/workerpools/[POOL_ID]`. name should not be populated when creating a worker pool since it is provided in the `poolId` field.", + "location": "path", + "pattern": "^projects/[^/]+/instances/[^/]+/workerpools/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1alpha/{+name}", + "request": { + "$ref": "GoogleDevtoolsRemotebuildexecutionAdminV1alphaUpdateWorkerPoolRequest" + }, + "response": { + "$ref": "GoogleLongrunningOperation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + } + } + } + } + }, + "operations": { + "methods": { + "get": { + "description": "Gets the latest state of a long-running operation. Clients can use this method to poll the operation result at intervals as recommended by the API service.", + "flatPath": "v1alpha/projects/{projectsId}/operations/{operationsId}", + "httpMethod": "GET", + "id": "remotebuildexecution.projects.operations.get", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "The name of the operation resource.", + "location": "path", + "pattern": "^projects/[^/]+/operations/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1alpha/{+name}", + "response": { + "$ref": "GoogleLongrunningOperation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + } + } + } + } + } + }, + "revision": "20210712", + "rootUrl": "https://admin-remotebuildexecution.googleapis.com/", + "schemas": { + "BuildBazelRemoteExecutionV2Action": { + "description": "An `Action` captures all the information about an execution which is required to reproduce it. `Action`s are the core component of the [Execution] service. A single `Action` represents a repeatable action that can be performed by the execution service. `Action`s can be succinctly identified by the digest of their wire format encoding and, once an `Action` has been executed, will be cached in the action cache. Future requests can then use the cached result rather than needing to run afresh. When a server completes execution of an Action, it MAY choose to cache the result in the ActionCache unless `do_not_cache` is `true`. Clients SHOULD expect the server to do so. By default, future calls to Execute the same `Action` will also serve their results from the cache. Clients must take care to understand the caching behaviour. Ideally, all `Action`s will be reproducible so that serving a result from cache is always desirable and correct.", + "id": "BuildBazelRemoteExecutionV2Action", + "properties": { + "commandDigest": { + "$ref": "BuildBazelRemoteExecutionV2Digest", + "description": "The digest of the Command to run, which MUST be present in the ContentAddressableStorage." + }, + "doNotCache": { + "description": "If true, then the `Action`'s result cannot be cached, and in-flight requests for the same `Action` may not be merged.", + "type": "boolean" + }, + "inputRootDigest": { + "$ref": "BuildBazelRemoteExecutionV2Digest", + "description": "The digest of the root Directory for the input files. The files in the directory tree are available in the correct location on the build machine before the command is executed. The root directory, as well as every subdirectory and content blob referred to, MUST be in the ContentAddressableStorage." + }, + "platform": { + "$ref": "BuildBazelRemoteExecutionV2Platform", + "description": "The optional platform requirements for the execution environment. The server MAY choose to execute the action on any worker satisfying the requirements, so the client SHOULD ensure that running the action on any such worker will have the same result. A detailed lexicon for this can be found in the accompanying platform.md. New in version 2.2: clients SHOULD set these platform properties as well as those in the Command. Servers SHOULD prefer those set here." + }, + "salt": { + "description": "An optional additional salt value used to place this `Action` into a separate cache namespace from other instances having the same field contents. This salt typically comes from operational configuration specific to sources such as repo and service configuration, and allows disowning an entire set of ActionResults that might have been poisoned by buggy software or tool failures.", + "format": "byte", + "type": "string" + }, + "timeout": { + "description": "A timeout after which the execution should be killed. If the timeout is absent, then the client is specifying that the execution should continue as long as the server will let it. The server SHOULD impose a timeout if the client does not specify one, however, if the client does specify a timeout that is longer than the server's maximum timeout, the server MUST reject the request. The timeout is a part of the Action message, and therefore two `Actions` with different timeouts are different, even if they are otherwise identical. This is because, if they were not, running an `Action` with a lower timeout than is required might result in a cache hit from an execution run with a longer timeout, hiding the fact that the timeout is too short. By encoding it directly in the `Action`, a lower timeout will result in a cache miss and the execution timeout will fail immediately, rather than whenever the cache entry gets evicted.", + "format": "google-duration", + "type": "string" + } + }, + "type": "object" + }, + "BuildBazelRemoteExecutionV2ActionResult": { + "description": "An ActionResult represents the result of an Action being run. It is advised that at least one field (for example `ActionResult.execution_metadata.Worker`) have a non-default value, to ensure that the serialized value is non-empty, which can then be used as a basic data sanity check.", + "id": "BuildBazelRemoteExecutionV2ActionResult", + "properties": { + "executionMetadata": { + "$ref": "BuildBazelRemoteExecutionV2ExecutedActionMetadata", + "description": "The details of the execution that originally produced this result." + }, + "exitCode": { + "description": "The exit code of the command.", + "format": "int32", + "type": "integer" + }, + "outputDirectories": { + "description": "The output directories of the action. For each output directory requested in the `output_directories` or `output_paths` field of the Action, if the corresponding directory existed after the action completed, a single entry will be present in the output list, which will contain the digest of a Tree message containing the directory tree, and the path equal exactly to the corresponding Action output_directories member. As an example, suppose the Action had an output directory `a/b/dir` and the execution produced the following contents in `a/b/dir`: a file named `bar` and a directory named `foo` with an executable file named `baz`. Then, output_directory will contain (hashes shortened for readability): ```json // OutputDirectory proto: { path: \"a/b/dir\" tree_digest: { hash: \"4a73bc9d03...\", size: 55 } } // Tree proto with hash \"4a73bc9d03...\" and size 55: { root: { files: [ { name: \"bar\", digest: { hash: \"4a73bc9d03...\", size: 65534 } } ], directories: [ { name: \"foo\", digest: { hash: \"4cf2eda940...\", size: 43 } } ] } children : { // (Directory proto with hash \"4cf2eda940...\" and size 43) files: [ { name: \"baz\", digest: { hash: \"b2c941073e...\", size: 1294, }, is_executable: true } ] } } ``` If an output of the same name as listed in `output_files` of the Command was found in `output_directories`, but was not a directory, the server will return a FAILED_PRECONDITION.", + "items": { + "$ref": "BuildBazelRemoteExecutionV2OutputDirectory" + }, + "type": "array" + }, + "outputDirectorySymlinks": { + "description": "The output directories of the action that are symbolic links to other directories. Those may be links to other output directories, or input directories, or even absolute paths outside of the working directory, if the server supports SymlinkAbsolutePathStrategy.ALLOWED. For each output directory requested in the `output_directories` field of the Action, if the directory existed after the action completed, a single entry will be present either in this field, or in the `output_directories` field, if the directory was not a symbolic link. If an output of the same name was found, but was a symbolic link to a file instead of a directory, the server will return a FAILED_PRECONDITION. If the action does not produce the requested output, then that output will be omitted from the list. The server is free to arrange the output list as desired; clients MUST NOT assume that the output list is sorted. DEPRECATED as of v2.1. Servers that wish to be compatible with v2.0 API should still populate this field in addition to `output_symlinks`.", + "items": { + "$ref": "BuildBazelRemoteExecutionV2OutputSymlink" + }, + "type": "array" + }, + "outputFileSymlinks": { + "description": "The output files of the action that are symbolic links to other files. Those may be links to other output files, or input files, or even absolute paths outside of the working directory, if the server supports SymlinkAbsolutePathStrategy.ALLOWED. For each output file requested in the `output_files` or `output_paths` field of the Action, if the corresponding file existed after the action completed, a single entry will be present either in this field, or in the `output_files` field, if the file was not a symbolic link. If an output symbolic link of the same name as listed in `output_files` of the Command was found, but its target type was not a regular file, the server will return a FAILED_PRECONDITION. If the action does not produce the requested output, then that output will be omitted from the list. The server is free to arrange the output list as desired; clients MUST NOT assume that the output list is sorted. DEPRECATED as of v2.1. Servers that wish to be compatible with v2.0 API should still populate this field in addition to `output_symlinks`.", + "items": { + "$ref": "BuildBazelRemoteExecutionV2OutputSymlink" + }, + "type": "array" + }, + "outputFiles": { + "description": "The output files of the action. For each output file requested in the `output_files` or `output_paths` field of the Action, if the corresponding file existed after the action completed, a single entry will be present either in this field, or the `output_file_symlinks` field if the file was a symbolic link to another file (`output_symlinks` field after v2.1). If an output listed in `output_files` was found, but was a directory rather than a regular file, the server will return a FAILED_PRECONDITION. If the action does not produce the requested output, then that output will be omitted from the list. The server is free to arrange the output list as desired; clients MUST NOT assume that the output list is sorted.", + "items": { + "$ref": "BuildBazelRemoteExecutionV2OutputFile" + }, + "type": "array" + }, + "outputSymlinks": { + "description": "New in v2.1: this field will only be populated if the command `output_paths` field was used, and not the pre v2.1 `output_files` or `output_directories` fields. The output paths of the action that are symbolic links to other paths. Those may be links to other outputs, or inputs, or even absolute paths outside of the working directory, if the server supports SymlinkAbsolutePathStrategy.ALLOWED. A single entry for each output requested in `output_paths` field of the Action, if the corresponding path existed after the action completed and was a symbolic link. If the action does not produce a requested output, then that output will be omitted from the list. The server is free to arrange the output list as desired; clients MUST NOT assume that the output list is sorted.", + "items": { + "$ref": "BuildBazelRemoteExecutionV2OutputSymlink" + }, + "type": "array" + }, + "stderrDigest": { + "$ref": "BuildBazelRemoteExecutionV2Digest", + "description": "The digest for a blob containing the standard error of the action, which can be retrieved from the ContentAddressableStorage." + }, + "stderrRaw": { + "description": "The standard error buffer of the action. The server SHOULD NOT inline stderr unless requested by the client in the GetActionResultRequest message. The server MAY omit inlining, even if requested, and MUST do so if inlining would cause the response to exceed message size limits.", + "format": "byte", + "type": "string" + }, + "stdoutDigest": { + "$ref": "BuildBazelRemoteExecutionV2Digest", + "description": "The digest for a blob containing the standard output of the action, which can be retrieved from the ContentAddressableStorage." + }, + "stdoutRaw": { + "description": "The standard output buffer of the action. The server SHOULD NOT inline stdout unless requested by the client in the GetActionResultRequest message. The server MAY omit inlining, even if requested, and MUST do so if inlining would cause the response to exceed message size limits.", + "format": "byte", + "type": "string" + } + }, + "type": "object" + }, + "BuildBazelRemoteExecutionV2Command": { + "description": "A `Command` is the actual command executed by a worker running an Action and specifications of its environment. Except as otherwise required, the environment (such as which system libraries or binaries are available, and what filesystems are mounted where) is defined by and specific to the implementation of the remote execution API.", + "id": "BuildBazelRemoteExecutionV2Command", + "properties": { + "arguments": { + "description": "The arguments to the command. The first argument must be the path to the executable, which must be either a relative path, in which case it is evaluated with respect to the input root, or an absolute path.", + "items": { + "type": "string" + }, + "type": "array" + }, + "environmentVariables": { + "description": "The environment variables to set when running the program. The worker may provide its own default environment variables; these defaults can be overridden using this field. Additional variables can also be specified. In order to ensure that equivalent Commands always hash to the same value, the environment variables MUST be lexicographically sorted by name. Sorting of strings is done by code point, equivalently, by the UTF-8 bytes.", + "items": { + "$ref": "BuildBazelRemoteExecutionV2CommandEnvironmentVariable" + }, + "type": "array" + }, + "outputDirectories": { + "description": "A list of the output directories that the client expects to retrieve from the action. Only the listed directories will be returned (an entire directory structure will be returned as a Tree message digest, see OutputDirectory), as well as files listed in `output_files`. Other files or directories that may be created during command execution are discarded. The paths are relative to the working directory of the action execution. The paths are specified using a single forward slash (`/`) as a path separator, even if the execution platform natively uses a different separator. The path MUST NOT include a trailing slash, nor a leading slash, being a relative path. The special value of empty string is allowed, although not recommended, and can be used to capture the entire working directory tree, including inputs. In order to ensure consistent hashing of the same Action, the output paths MUST be sorted lexicographically by code point (or, equivalently, by UTF-8 bytes). An output directory cannot be duplicated or have the same path as any of the listed output files. An output directory is allowed to be a parent of another output directory. Directories leading up to the output directories (but not the output directories themselves) are created by the worker prior to execution, even if they are not explicitly part of the input root. DEPRECATED since 2.1: Use `output_paths` instead.", + "items": { + "type": "string" + }, + "type": "array" + }, + "outputFiles": { + "description": "A list of the output files that the client expects to retrieve from the action. Only the listed files, as well as directories listed in `output_directories`, will be returned to the client as output. Other files or directories that may be created during command execution are discarded. The paths are relative to the working directory of the action execution. The paths are specified using a single forward slash (`/`) as a path separator, even if the execution platform natively uses a different separator. The path MUST NOT include a trailing slash, nor a leading slash, being a relative path. In order to ensure consistent hashing of the same Action, the output paths MUST be sorted lexicographically by code point (or, equivalently, by UTF-8 bytes). An output file cannot be duplicated, be a parent of another output file, or have the same path as any of the listed output directories. Directories leading up to the output files are created by the worker prior to execution, even if they are not explicitly part of the input root. DEPRECATED since v2.1: Use `output_paths` instead.", + "items": { + "type": "string" + }, + "type": "array" + }, + "outputNodeProperties": { + "description": "A list of keys for node properties the client expects to retrieve for output files and directories. Keys are either names of string-based NodeProperty or names of fields in NodeProperties. In order to ensure that equivalent `Action`s always hash to the same value, the node properties MUST be lexicographically sorted by name. Sorting of strings is done by code point, equivalently, by the UTF-8 bytes. The interpretation of string-based properties is server-dependent. If a property is not recognized by the server, the server will return an `INVALID_ARGUMENT`.", + "items": { + "type": "string" + }, + "type": "array" + }, + "outputPaths": { + "description": "A list of the output paths that the client expects to retrieve from the action. Only the listed paths will be returned to the client as output. The type of the output (file or directory) is not specified, and will be determined by the server after action execution. If the resulting path is a file, it will be returned in an OutputFile) typed field. If the path is a directory, the entire directory structure will be returned as a Tree message digest, see OutputDirectory) Other files or directories that may be created during command execution are discarded. The paths are relative to the working directory of the action execution. The paths are specified using a single forward slash (`/`) as a path separator, even if the execution platform natively uses a different separator. The path MUST NOT include a trailing slash, nor a leading slash, being a relative path. In order to ensure consistent hashing of the same Action, the output paths MUST be deduplicated and sorted lexicographically by code point (or, equivalently, by UTF-8 bytes). Directories leading up to the output paths are created by the worker prior to execution, even if they are not explicitly part of the input root. New in v2.1: this field supersedes the DEPRECATED `output_files` and `output_directories` fields. If `output_paths` is used, `output_files` and `output_directories` will be ignored!", + "items": { + "type": "string" + }, + "type": "array" + }, + "platform": { + "$ref": "BuildBazelRemoteExecutionV2Platform", + "description": "The platform requirements for the execution environment. The server MAY choose to execute the action on any worker satisfying the requirements, so the client SHOULD ensure that running the action on any such worker will have the same result. A detailed lexicon for this can be found in the accompanying platform.md. DEPRECATED as of v2.2: platform properties are now specified directly in the action. See documentation note in the Action for migration." + }, + "workingDirectory": { + "description": "The working directory, relative to the input root, for the command to run in. It must be a directory which exists in the input tree. If it is left empty, then the action is run in the input root.", + "type": "string" + } + }, + "type": "object" + }, + "BuildBazelRemoteExecutionV2CommandEnvironmentVariable": { + "description": "An `EnvironmentVariable` is one variable to set in the running program's environment.", + "id": "BuildBazelRemoteExecutionV2CommandEnvironmentVariable", + "properties": { + "name": { + "description": "The variable name.", + "type": "string" + }, + "value": { + "description": "The variable value.", + "type": "string" + } + }, + "type": "object" + }, + "BuildBazelRemoteExecutionV2Digest": { + "description": "A content digest. A digest for a given blob consists of the size of the blob and its hash. The hash algorithm to use is defined by the server. The size is considered to be an integral part of the digest and cannot be separated. That is, even if the `hash` field is correctly specified but `size_bytes` is not, the server MUST reject the request. The reason for including the size in the digest is as follows: in a great many cases, the server needs to know the size of the blob it is about to work with prior to starting an operation with it, such as flattening Merkle tree structures or streaming it to a worker. Technically, the server could implement a separate metadata store, but this results in a significantly more complicated implementation as opposed to having the client specify the size up-front (or storing the size along with the digest in every message where digests are embedded). This does mean that the API leaks some implementation details of (what we consider to be) a reasonable server implementation, but we consider this to be a worthwhile tradeoff. When a `Digest` is used to refer to a proto message, it always refers to the message in binary encoded form. To ensure consistent hashing, clients and servers MUST ensure that they serialize messages according to the following rules, even if there are alternate valid encodings for the same message: * Fields are serialized in tag order. * There are no unknown fields. * There are no duplicate fields. * Fields are serialized according to the default semantics for their type. Most protocol buffer implementations will always follow these rules when serializing, but care should be taken to avoid shortcuts. For instance, concatenating two messages to merge them may produce duplicate fields.", + "id": "BuildBazelRemoteExecutionV2Digest", + "properties": { + "hash": { + "description": "The hash. In the case of SHA-256, it will always be a lowercase hex string exactly 64 characters long.", + "type": "string" + }, + "sizeBytes": { + "description": "The size of the blob, in bytes.", + "format": "int64", + "type": "string" + } + }, + "type": "object" + }, + "BuildBazelRemoteExecutionV2Directory": { + "description": "A `Directory` represents a directory node in a file tree, containing zero or more children FileNodes, DirectoryNodes and SymlinkNodes. Each `Node` contains its name in the directory, either the digest of its content (either a file blob or a `Directory` proto) or a symlink target, as well as possibly some metadata about the file or directory. In order to ensure that two equivalent directory trees hash to the same value, the following restrictions MUST be obeyed when constructing a a `Directory`: * Every child in the directory must have a path of exactly one segment. Multiple levels of directory hierarchy may not be collapsed. * Each child in the directory must have a unique path segment (file name). Note that while the API itself is case-sensitive, the environment where the Action is executed may or may not be case-sensitive. That is, it is legal to call the API with a Directory that has both \"Foo\" and \"foo\" as children, but the Action may be rejected by the remote system upon execution. * The files, directories and symlinks in the directory must each be sorted in lexicographical order by path. The path strings must be sorted by code point, equivalently, by UTF-8 bytes. * The NodeProperties of files, directories, and symlinks must be sorted in lexicographical order by property name. A `Directory` that obeys the restrictions is said to be in canonical form. As an example, the following could be used for a file named `bar` and a directory named `foo` with an executable file named `baz` (hashes shortened for readability): ```json // (Directory proto) { files: [ { name: \"bar\", digest: { hash: \"4a73bc9d03...\", size: 65534 }, node_properties: [ { \"name\": \"MTime\", \"value\": \"2017-01-15T01:30:15.01Z\" } ] } ], directories: [ { name: \"foo\", digest: { hash: \"4cf2eda940...\", size: 43 } } ] } // (Directory proto with hash \"4cf2eda940...\" and size 43) { files: [ { name: \"baz\", digest: { hash: \"b2c941073e...\", size: 1294, }, is_executable: true } ] } ```", + "id": "BuildBazelRemoteExecutionV2Directory", + "properties": { + "directories": { + "description": "The subdirectories in the directory.", + "items": { + "$ref": "BuildBazelRemoteExecutionV2DirectoryNode" + }, + "type": "array" + }, + "files": { + "description": "The files in the directory.", + "items": { + "$ref": "BuildBazelRemoteExecutionV2FileNode" + }, + "type": "array" + }, + "nodeProperties": { + "$ref": "BuildBazelRemoteExecutionV2NodeProperties" + }, + "symlinks": { + "description": "The symlinks in the directory.", + "items": { + "$ref": "BuildBazelRemoteExecutionV2SymlinkNode" + }, + "type": "array" + } + }, + "type": "object" + }, + "BuildBazelRemoteExecutionV2DirectoryNode": { + "description": "A `DirectoryNode` represents a child of a Directory which is itself a `Directory` and its associated metadata.", + "id": "BuildBazelRemoteExecutionV2DirectoryNode", + "properties": { + "digest": { + "$ref": "BuildBazelRemoteExecutionV2Digest", + "description": "The digest of the Directory object represented. See Digest for information about how to take the digest of a proto message." + }, + "name": { + "description": "The name of the directory.", + "type": "string" + } + }, + "type": "object" + }, + "BuildBazelRemoteExecutionV2ExecuteOperationMetadata": { + "description": "Metadata about an ongoing execution, which will be contained in the metadata field of the Operation.", + "id": "BuildBazelRemoteExecutionV2ExecuteOperationMetadata", + "properties": { + "actionDigest": { + "$ref": "BuildBazelRemoteExecutionV2Digest", + "description": "The digest of the Action being executed." + }, + "stage": { + "description": "The current stage of execution.", + "enum": [ + "UNKNOWN", + "CACHE_CHECK", + "QUEUED", + "EXECUTING", + "COMPLETED" + ], + "enumDescriptions": [ + "Invalid value.", + "Checking the result against the cache.", + "Currently idle, awaiting a free machine to execute.", + "Currently being executed by a worker.", + "Finished execution." + ], + "type": "string" + }, + "stderrStreamName": { + "description": "If set, the client can use this resource name with ByteStream.Read to stream the standard error from the endpoint hosting streamed responses.", + "type": "string" + }, + "stdoutStreamName": { + "description": "If set, the client can use this resource name with ByteStream.Read to stream the standard output from the endpoint hosting streamed responses.", + "type": "string" + } + }, + "type": "object" + }, + "BuildBazelRemoteExecutionV2ExecuteResponse": { + "description": "The response message for Execution.Execute, which will be contained in the response field of the Operation.", + "id": "BuildBazelRemoteExecutionV2ExecuteResponse", + "properties": { + "cachedResult": { + "description": "True if the result was served from cache, false if it was executed.", + "type": "boolean" + }, + "message": { + "description": "Freeform informational message with details on the execution of the action that may be displayed to the user upon failure or when requested explicitly.", + "type": "string" + }, + "result": { + "$ref": "BuildBazelRemoteExecutionV2ActionResult", + "description": "The result of the action." + }, + "serverLogs": { + "additionalProperties": { + "$ref": "BuildBazelRemoteExecutionV2LogFile" + }, + "description": "An optional list of additional log outputs the server wishes to provide. A server can use this to return execution-specific logs however it wishes. This is intended primarily to make it easier for users to debug issues that may be outside of the actual job execution, such as by identifying the worker executing the action or by providing logs from the worker's setup phase. The keys SHOULD be human readable so that a client can display them to a user.", + "type": "object" + }, + "status": { + "$ref": "GoogleRpcStatus", + "description": "If the status has a code other than `OK`, it indicates that the action did not finish execution. For example, if the operation times out during execution, the status will have a `DEADLINE_EXCEEDED` code. Servers MUST use this field for errors in execution, rather than the error field on the `Operation` object. If the status code is other than `OK`, then the result MUST NOT be cached. For an error status, the `result` field is optional; the server may populate the output-, stdout-, and stderr-related fields if it has any information available, such as the stdout and stderr of a timed-out action." + } + }, + "type": "object" + }, + "BuildBazelRemoteExecutionV2ExecutedActionMetadata": { + "description": "ExecutedActionMetadata contains details about a completed execution.", + "id": "BuildBazelRemoteExecutionV2ExecutedActionMetadata", + "properties": { + "auxiliaryMetadata": { + "description": "Details that are specific to the kind of worker used. For example, on POSIX-like systems this could contain a message with getrusage(2) statistics.", + "items": { + "additionalProperties": { + "description": "Properties of the object. Contains field @type with type URL.", + "type": "any" + }, + "type": "object" + }, + "type": "array" + }, + "executionCompletedTimestamp": { + "description": "When the worker completed executing the action command.", + "format": "google-datetime", + "type": "string" + }, + "executionStartTimestamp": { + "description": "When the worker started executing the action command.", + "format": "google-datetime", + "type": "string" + }, + "inputFetchCompletedTimestamp": { + "description": "When the worker finished fetching action inputs.", + "format": "google-datetime", + "type": "string" + }, + "inputFetchStartTimestamp": { + "description": "When the worker started fetching action inputs.", + "format": "google-datetime", + "type": "string" + }, + "outputUploadCompletedTimestamp": { + "description": "When the worker finished uploading action outputs.", + "format": "google-datetime", + "type": "string" + }, + "outputUploadStartTimestamp": { + "description": "When the worker started uploading action outputs.", + "format": "google-datetime", + "type": "string" + }, + "queuedTimestamp": { + "description": "When was the action added to the queue.", + "format": "google-datetime", + "type": "string" + }, + "worker": { + "description": "The name of the worker which ran the execution.", + "type": "string" + }, + "workerCompletedTimestamp": { + "description": "When the worker completed the action, including all stages.", + "format": "google-datetime", + "type": "string" + }, + "workerStartTimestamp": { + "description": "When the worker received the action.", + "format": "google-datetime", + "type": "string" + } + }, + "type": "object" + }, + "BuildBazelRemoteExecutionV2FileNode": { + "description": "A `FileNode` represents a single file and associated metadata.", + "id": "BuildBazelRemoteExecutionV2FileNode", + "properties": { + "digest": { + "$ref": "BuildBazelRemoteExecutionV2Digest", + "description": "The digest of the file's content." + }, + "isExecutable": { + "description": "True if file is executable, false otherwise.", + "type": "boolean" + }, + "name": { + "description": "The name of the file.", + "type": "string" + }, + "nodeProperties": { + "$ref": "BuildBazelRemoteExecutionV2NodeProperties" + } + }, + "type": "object" + }, + "BuildBazelRemoteExecutionV2LogFile": { + "description": "A `LogFile` is a log stored in the CAS.", + "id": "BuildBazelRemoteExecutionV2LogFile", + "properties": { + "digest": { + "$ref": "BuildBazelRemoteExecutionV2Digest", + "description": "The digest of the log contents." + }, + "humanReadable": { + "description": "This is a hint as to the purpose of the log, and is set to true if the log is human-readable text that can be usefully displayed to a user, and false otherwise. For instance, if a command-line client wishes to print the server logs to the terminal for a failed action, this allows it to avoid displaying a binary file.", + "type": "boolean" + } + }, + "type": "object" + }, + "BuildBazelRemoteExecutionV2NodeProperties": { + "description": "Node properties for FileNodes, DirectoryNodes, and SymlinkNodes. The server is responsible for specifying the properties that it accepts.", + "id": "BuildBazelRemoteExecutionV2NodeProperties", + "properties": { + "mtime": { + "description": "The file's last modification timestamp.", + "format": "google-datetime", + "type": "string" + }, + "properties": { + "description": "A list of string-based NodeProperties.", + "items": { + "$ref": "BuildBazelRemoteExecutionV2NodeProperty" + }, + "type": "array" + }, + "unixMode": { + "description": "The UNIX file mode, e.g., 0755.", + "format": "uint32", + "type": "integer" + } + }, + "type": "object" + }, + "BuildBazelRemoteExecutionV2NodeProperty": { + "description": "A single property for FileNodes, DirectoryNodes, and SymlinkNodes. The server is responsible for specifying the property `name`s that it accepts. If permitted by the server, the same `name` may occur multiple times.", + "id": "BuildBazelRemoteExecutionV2NodeProperty", + "properties": { + "name": { + "description": "The property name.", + "type": "string" + }, + "value": { + "description": "The property value.", + "type": "string" + } + }, + "type": "object" + }, + "BuildBazelRemoteExecutionV2OutputDirectory": { + "description": "An `OutputDirectory` is the output in an `ActionResult` corresponding to a directory's full contents rather than a single file.", + "id": "BuildBazelRemoteExecutionV2OutputDirectory", + "properties": { + "path": { + "description": "The full path of the directory relative to the working directory. The path separator is a forward slash `/`. Since this is a relative path, it MUST NOT begin with a leading forward slash. The empty string value is allowed, and it denotes the entire working directory.", + "type": "string" + }, + "treeDigest": { + "$ref": "BuildBazelRemoteExecutionV2Digest", + "description": "The digest of the encoded Tree proto containing the directory's contents." + } + }, + "type": "object" + }, + "BuildBazelRemoteExecutionV2OutputFile": { + "description": "An `OutputFile` is similar to a FileNode, but it is used as an output in an `ActionResult`. It allows a full file path rather than only a name.", + "id": "BuildBazelRemoteExecutionV2OutputFile", + "properties": { + "contents": { + "description": "The contents of the file if inlining was requested. The server SHOULD NOT inline file contents unless requested by the client in the GetActionResultRequest message. The server MAY omit inlining, even if requested, and MUST do so if inlining would cause the response to exceed message size limits.", + "format": "byte", + "type": "string" + }, + "digest": { + "$ref": "BuildBazelRemoteExecutionV2Digest", + "description": "The digest of the file's content." + }, + "isExecutable": { + "description": "True if file is executable, false otherwise.", + "type": "boolean" + }, + "nodeProperties": { + "$ref": "BuildBazelRemoteExecutionV2NodeProperties" + }, + "path": { + "description": "The full path of the file relative to the working directory, including the filename. The path separator is a forward slash `/`. Since this is a relative path, it MUST NOT begin with a leading forward slash.", + "type": "string" + } + }, + "type": "object" + }, + "BuildBazelRemoteExecutionV2OutputSymlink": { + "description": "An `OutputSymlink` is similar to a Symlink, but it is used as an output in an `ActionResult`. `OutputSymlink` is binary-compatible with `SymlinkNode`.", + "id": "BuildBazelRemoteExecutionV2OutputSymlink", + "properties": { + "nodeProperties": { + "$ref": "BuildBazelRemoteExecutionV2NodeProperties" + }, + "path": { + "description": "The full path of the symlink relative to the working directory, including the filename. The path separator is a forward slash `/`. Since this is a relative path, it MUST NOT begin with a leading forward slash.", + "type": "string" + }, + "target": { + "description": "The target path of the symlink. The path separator is a forward slash `/`. The target path can be relative to the parent directory of the symlink or it can be an absolute path starting with `/`. Support for absolute paths can be checked using the Capabilities API. `..` components are allowed anywhere in the target path.", + "type": "string" + } + }, + "type": "object" + }, + "BuildBazelRemoteExecutionV2Platform": { + "description": "A `Platform` is a set of requirements, such as hardware, operating system, or compiler toolchain, for an Action's execution environment. A `Platform` is represented as a series of key-value pairs representing the properties that are required of the platform.", + "id": "BuildBazelRemoteExecutionV2Platform", + "properties": { + "properties": { + "description": "The properties that make up this platform. In order to ensure that equivalent `Platform`s always hash to the same value, the properties MUST be lexicographically sorted by name, and then by value. Sorting of strings is done by code point, equivalently, by the UTF-8 bytes.", + "items": { + "$ref": "BuildBazelRemoteExecutionV2PlatformProperty" + }, + "type": "array" + } + }, + "type": "object" + }, + "BuildBazelRemoteExecutionV2PlatformProperty": { + "description": "A single property for the environment. The server is responsible for specifying the property `name`s that it accepts. If an unknown `name` is provided in the requirements for an Action, the server SHOULD reject the execution request. If permitted by the server, the same `name` may occur multiple times. The server is also responsible for specifying the interpretation of property `value`s. For instance, a property describing how much RAM must be available may be interpreted as allowing a worker with 16GB to fulfill a request for 8GB, while a property describing the OS environment on which the action must be performed may require an exact match with the worker's OS. The server MAY use the `value` of one or more properties to determine how it sets up the execution environment, such as by making specific system files available to the worker. Both names and values are typically case-sensitive. Note that the platform is implicitly part of the action digest, so even tiny changes in the names or values (like changing case) may result in different action cache entries.", + "id": "BuildBazelRemoteExecutionV2PlatformProperty", + "properties": { + "name": { + "description": "The property name.", + "type": "string" + }, + "value": { + "description": "The property value.", + "type": "string" + } + }, + "type": "object" + }, + "BuildBazelRemoteExecutionV2RequestMetadata": { + "description": "An optional Metadata to attach to any RPC request to tell the server about an external context of the request. The server may use this for logging or other purposes. To use it, the client attaches the header to the call using the canonical proto serialization: * name: `build.bazel.remote.execution.v2.requestmetadata-bin` * contents: the base64 encoded binary `RequestMetadata` message. Note: the gRPC library serializes binary headers encoded in base 64 by default (https://github.com/grpc/grpc/blob/master/doc/PROTOCOL-HTTP2.md#requests). Therefore, if the gRPC library is used to pass/retrieve this metadata, the user may ignore the base64 encoding and assume it is simply serialized as a binary message.", + "id": "BuildBazelRemoteExecutionV2RequestMetadata", + "properties": { + "actionId": { + "description": "An identifier that ties multiple requests to the same action. For example, multiple requests to the CAS, Action Cache, and Execution API are used in order to compile foo.cc.", + "type": "string" + }, + "actionMnemonic": { + "description": "A brief description of the kind of action, for example, CppCompile or GoLink. There is no standard agreed set of values for this, and they are expected to vary between different client tools.", + "type": "string" + }, + "configurationId": { + "description": "An identifier for the configuration in which the target was built, e.g. for differentiating building host tools or different target platforms. There is no expectation that this value will have any particular structure, or equality across invocations, though some client tools may offer these guarantees.", + "type": "string" + }, + "correlatedInvocationsId": { + "description": "An identifier to tie multiple tool invocations together. For example, runs of foo_test, bar_test and baz_test on a post-submit of a given patch.", + "type": "string" + }, + "targetId": { + "description": "An identifier for the target which produced this action. No guarantees are made around how many actions may relate to a single target.", + "type": "string" + }, + "toolDetails": { + "$ref": "BuildBazelRemoteExecutionV2ToolDetails", + "description": "The details for the tool invoking the requests." + }, + "toolInvocationId": { + "description": "An identifier that ties multiple actions together to a final result. For example, multiple actions are required to build and run foo_test.", + "type": "string" + } + }, + "type": "object" + }, + "BuildBazelRemoteExecutionV2SymlinkNode": { + "description": "A `SymlinkNode` represents a symbolic link.", + "id": "BuildBazelRemoteExecutionV2SymlinkNode", + "properties": { + "name": { + "description": "The name of the symlink.", + "type": "string" + }, + "nodeProperties": { + "$ref": "BuildBazelRemoteExecutionV2NodeProperties" + }, + "target": { + "description": "The target path of the symlink. The path separator is a forward slash `/`. The target path can be relative to the parent directory of the symlink or it can be an absolute path starting with `/`. Support for absolute paths can be checked using the Capabilities API. `..` components are allowed anywhere in the target path as logical canonicalization may lead to different behavior in the presence of directory symlinks (e.g. `foo/../bar` may not be the same as `bar`). To reduce potential cache misses, canonicalization is still recommended where this is possible without impacting correctness.", + "type": "string" + } + }, + "type": "object" + }, + "BuildBazelRemoteExecutionV2ToolDetails": { + "description": "Details for the tool used to call the API.", + "id": "BuildBazelRemoteExecutionV2ToolDetails", + "properties": { + "toolName": { + "description": "Name of the tool, e.g. bazel.", + "type": "string" + }, + "toolVersion": { + "description": "Version of the tool used for the request, e.g. 5.0.3.", + "type": "string" + } + }, + "type": "object" + }, + "BuildBazelRemoteExecutionV2Tree": { + "description": "A `Tree` contains all the Directory protos in a single directory Merkle tree, compressed into one message.", + "id": "BuildBazelRemoteExecutionV2Tree", + "properties": { + "children": { + "description": "All the child directories: the directories referred to by the root and, recursively, all its children. In order to reconstruct the directory tree, the client must take the digests of each of the child directories and then build up a tree starting from the `root`.", + "items": { + "$ref": "BuildBazelRemoteExecutionV2Directory" + }, + "type": "array" + }, + "root": { + "$ref": "BuildBazelRemoteExecutionV2Directory", + "description": "The root directory in the tree." + } + }, + "type": "object" + }, + "GoogleDevtoolsRemotebuildbotCommandDurations": { + "description": "CommandDuration contains the various duration metrics tracked when a bot performs a command.", + "id": "GoogleDevtoolsRemotebuildbotCommandDurations", + "properties": { + "casRelease": { + "description": "The time spent to release the CAS blobs used by the task.", + "format": "google-duration", + "type": "string" + }, + "cmWaitForAssignment": { + "description": "The time spent waiting for Container Manager to assign an asynchronous container for execution.", + "format": "google-duration", + "type": "string" + }, + "dockerPrep": { + "description": "The time spent preparing the command to be run in a Docker container (includes pulling the Docker image, if necessary).", + "format": "google-duration", + "type": "string" + }, + "dockerPrepStartTime": { + "description": "The timestamp when docker preparation begins.", + "format": "google-datetime", + "type": "string" + }, + "download": { + "description": "The time spent downloading the input files and constructing the working directory.", + "format": "google-duration", + "type": "string" + }, + "downloadStartTime": { + "description": "The timestamp when downloading the input files begins.", + "format": "google-datetime", + "type": "string" + }, + "execStartTime": { + "description": "The timestamp when execution begins.", + "format": "google-datetime", + "type": "string" + }, + "execution": { + "description": "The time spent executing the command (i.e., doing useful work).", + "format": "google-duration", + "type": "string" + }, + "isoPrepDone": { + "description": "The timestamp when preparation is done and bot starts downloading files.", + "format": "google-datetime", + "type": "string" + }, + "overall": { + "description": "The time spent completing the command, in total.", + "format": "google-duration", + "type": "string" + }, + "stdout": { + "description": "The time spent uploading the stdout logs.", + "format": "google-duration", + "type": "string" + }, + "upload": { + "description": "The time spent uploading the output files.", + "format": "google-duration", + "type": "string" + }, + "uploadStartTime": { + "description": "The timestamp when uploading the output files begins.", + "format": "google-datetime", + "type": "string" + } + }, + "type": "object" + }, + "GoogleDevtoolsRemotebuildbotCommandEvents": { + "description": "CommandEvents contains counters for the number of warnings and errors that occurred during the execution of a command.", + "id": "GoogleDevtoolsRemotebuildbotCommandEvents", + "properties": { + "cmUsage": { + "description": "Indicates if and how Container Manager is being used for task execution.", + "enum": [ + "CONFIG_NONE", + "CONFIG_MATCH", + "CONFIG_MISMATCH" + ], + "enumDescriptions": [ + "Container Manager is disabled or not running for this execution.", + "Container Manager is enabled and there was a matching container available for use during execution.", + "Container Manager is enabled, but there was no matching container available for execution." + ], + "type": "string" + }, + "dockerCacheHit": { + "description": "Indicates whether we are using a cached Docker image (true) or had to pull the Docker image (false) for this command.", + "type": "boolean" + }, + "dockerImageName": { + "description": "Docker Image name.", + "type": "string" + }, + "inputCacheMiss": { + "description": "The input cache miss ratio.", + "format": "float", + "type": "number" + }, + "numErrors": { + "description": "The number of errors reported.", + "format": "uint64", + "type": "string" + }, + "numWarnings": { + "description": "The number of warnings reported.", + "format": "uint64", + "type": "string" + }, + "outputLocation": { + "description": "Indicates whether output files and/or output directories were found relative to the execution root or to the user provided work directory or both or none.", + "enum": [ + "LOCATION_UNDEFINED", + "LOCATION_NONE", + "LOCATION_EXEC_ROOT_RELATIVE", + "LOCATION_WORKING_DIR_RELATIVE", + "LOCATION_EXEC_ROOT_AND_WORKING_DIR_RELATIVE", + "LOCATION_EXEC_ROOT_RELATIVE_OUTPUT_OUTSIDE_WORKING_DIR", + "LOCATION_EXEC_ROOT_AND_WORKING_DIR_RELATIVE_OUTPUT_OUTSIDE_WORKING_DIR" + ], + "enumDescriptions": [ + "Location is set to LOCATION_UNDEFINED for tasks where the working directorty is not specified or is identical to the execution root directory.", + "No output files or directories were found neither relative to the execution root directory nor relative to the working directory.", + "Output files or directories were found relative to the execution root directory but not relative to the working directory.", + "Output files or directories were found relative to the working directory but not relative to the execution root directory.", + "Output files or directories were found both relative to the execution root directory and relative to the working directory.", + "Output files or directories were found relative to the execution root directory but not relative to the working directory. In addition at least one output file or directory was found outside of the working directory such that a working-directory-relative-path would have needed to start with a `..`.", + "Output files or directories were found both relative to the execution root directory and relative to the working directory. In addition at least one exec-root-relative output file or directory was found outside of the working directory such that a working-directory-relative-path would have needed to start with a `..`." + ], + "type": "string" + }, + "usedAsyncContainer": { + "description": "Indicates whether an asynchronous container was used for execution.", + "type": "boolean" + } + }, + "type": "object" + }, + "GoogleDevtoolsRemotebuildbotCommandStatus": { + "description": "The internal status of the command result.", + "id": "GoogleDevtoolsRemotebuildbotCommandStatus", + "properties": { + "code": { + "description": "The status code.", + "enum": [ + "OK", + "INVALID_ARGUMENT", + "DEADLINE_EXCEEDED", + "NOT_FOUND", + "PERMISSION_DENIED", + "INTERNAL", + "ABORTED", + "FAILED_PRECONDITION", + "CLEANUP_ERROR", + "DOWNLOAD_INPUTS_ERROR", + "UNKNOWN", + "UPLOAD_OUTPUTS_ERROR", + "UPLOAD_OUTPUTS_BYTES_LIMIT_EXCEEDED", + "DOCKER_LOGIN_ERROR", + "DOCKER_IMAGE_PULL_ERROR", + "DOCKER_IMAGE_EXIST_ERROR", + "DUPLICATE_INPUTS", + "DOCKER_IMAGE_PERMISSION_DENIED", + "DOCKER_IMAGE_NOT_FOUND", + "WORKING_DIR_NOT_FOUND", + "WORKING_DIR_NOT_IN_BASE_DIR", + "DOCKER_UNAVAILABLE", + "NO_CUDA_CAPABLE_DEVICE", + "REMOTE_CAS_DOWNLOAD_ERROR", + "REMOTE_CAS_UPLOAD_ERROR", + "LOCAL_CASPROXY_NOT_RUNNING", + "DOCKER_CREATE_CONTAINER_ERROR", + "DOCKER_INVALID_ULIMIT", + "DOCKER_UNKNOWN_RUNTIME", + "DOCKER_UNKNOWN_CAPABILITY", + "DOCKER_UNKNOWN_ERROR", + "DOCKER_CREATE_COMPUTE_SYSTEM_ERROR", + "DOCKER_PREPARELAYER_ERROR", + "DOCKER_INCOMPATIBLE_OS_ERROR", + "DOCKER_CREATE_RUNTIME_FILE_NOT_FOUND", + "DOCKER_CREATE_RUNTIME_PERMISSION_DENIED", + "DOCKER_CREATE_PROCESS_FILE_NOT_FOUND", + "DOCKER_CREATE_COMPUTE_SYSTEM_INCORRECT_PARAMETER_ERROR", + "DOCKER_TOO_MANY_SYMBOLIC_LINK_LEVELS", + "LOCAL_CONTAINER_MANAGER_NOT_RUNNING", + "DOCKER_IMAGE_VPCSC_PERMISSION_DENIED", + "WORKING_DIR_NOT_RELATIVE", + "DOCKER_MISSING_CONTAINER" + ], + "enumDescriptions": [ + "The command succeeded.", + "The command input was invalid.", + "The command had passed its expiry time while it was still running.", + "The resources requested by the command were not found.", + "The command failed due to permission errors.", + "The command failed because of some invariants expected by the underlying system have been broken. This usually indicates a bug wit the system.", + "The command was aborted.", + "The command failed because the system is not in a state required for the command, e.g. the command inputs cannot be found on the server.", + "The bot failed to do the cleanup, e.g. unable to delete the command working directory or the command process.", + "The bot failed to download the inputs.", + "Unknown error.", + "The bot failed to upload the outputs.", + "The bot tried to upload files having a total size that is too large.", + "The bot failed to login to docker.", + "The bot failed to pull docker image.", + "The bot failed to check docker images.", + "The inputs contain duplicate files.", + "The bot doesn't have the permissions to pull docker images.", + "The docker image cannot be found.", + "Working directory is not found.", + "Working directory is not under the base directory", + "There are issues with docker service/runtime.", + "The command failed with \"no cuda-capable device is detected\" error.", + "The bot encountered errors from remote CAS when downloading blobs.", + "The bot encountered errors from remote CAS when uploading blobs.", + "The local casproxy is not running.", + "The bot couldn't start the container.", + "The docker ulimit is not valid.", + "The docker runtime is unknown.", + "The docker capability is unknown.", + "The command failed with unknown docker errors.", + "Docker failed to run containers with CreateComputeSystem error.", + "Docker failed to run containers with hcsshim::PrepareLayer error.", + "Docker incompatible operating system error.", + "Docker failed to create OCI runtime because of file not found.", + "Docker failed to create OCI runtime because of permission denied.", + "Docker failed to create process because of file not found.", + "Docker failed to run containers with CreateComputeSystem error that involves an incorrect parameter (more specific version of DOCKER_CREATE_COMPUTE_SYSTEM_ERROR that is user-caused).", + "Docker failed to create an overlay mount because of too many levels of symbolic links.", + "The local Container Manager is not running.", + "Docker failed because a request was denied by the organization's policy.", + "Working directory is not relative", + "Docker cannot find the container specified in the command. This error is likely to only occur if an asynchronous container is not running when the command is run." + ], + "type": "string" + }, + "message": { + "description": "The error message.", + "type": "string" + } + }, + "type": "object" + }, + "GoogleDevtoolsRemotebuildbotResourceUsage": { + "description": "ResourceUsage is the system resource usage of the host machine.", + "id": "GoogleDevtoolsRemotebuildbotResourceUsage", + "properties": { + "cpuUsedPercent": { + "format": "double", + "type": "number" + }, + "diskUsage": { + "$ref": "GoogleDevtoolsRemotebuildbotResourceUsageStat" + }, + "memoryUsage": { + "$ref": "GoogleDevtoolsRemotebuildbotResourceUsageStat" + }, + "totalDiskIoStats": { + "$ref": "GoogleDevtoolsRemotebuildbotResourceUsageIOStats" + } + }, + "type": "object" + }, + "GoogleDevtoolsRemotebuildbotResourceUsageIOStats": { + "id": "GoogleDevtoolsRemotebuildbotResourceUsageIOStats", + "properties": { + "readBytesCount": { + "format": "uint64", + "type": "string" + }, + "readCount": { + "format": "uint64", + "type": "string" + }, + "readTimeMs": { + "format": "uint64", + "type": "string" + }, + "writeBytesCount": { + "format": "uint64", + "type": "string" + }, + "writeCount": { + "format": "uint64", + "type": "string" + }, + "writeTimeMs": { + "format": "uint64", + "type": "string" + } + }, + "type": "object" + }, + "GoogleDevtoolsRemotebuildbotResourceUsageStat": { + "id": "GoogleDevtoolsRemotebuildbotResourceUsageStat", + "properties": { + "total": { + "format": "uint64", + "type": "string" + }, + "used": { + "format": "uint64", + "type": "string" + } + }, + "type": "object" + }, + "GoogleDevtoolsRemotebuildexecutionAdminV1alphaAcceleratorConfig": { + "description": "AcceleratorConfig defines the accelerator cards to attach to the VM.", + "id": "GoogleDevtoolsRemotebuildexecutionAdminV1alphaAcceleratorConfig", + "properties": { + "acceleratorCount": { + "description": "The number of guest accelerator cards exposed to each VM.", + "format": "int64", + "type": "string" + }, + "acceleratorType": { + "description": "The type of accelerator to attach to each VM, e.g. \"nvidia-tesla-k80\" for nVidia Tesla K80.", + "type": "string" + } + }, + "type": "object" + }, + "GoogleDevtoolsRemotebuildexecutionAdminV1alphaAutoscale": { + "description": "Autoscale defines the autoscaling policy of a worker pool.", + "id": "GoogleDevtoolsRemotebuildexecutionAdminV1alphaAutoscale", + "properties": { + "maxSize": { + "description": "The maximal number of workers. Must be equal to or greater than min_size.", + "format": "int64", + "type": "string" + }, + "minSize": { + "description": "The minimal number of workers. Must be greater than 0.", + "format": "int64", + "type": "string" + } + }, + "type": "object" + }, + "GoogleDevtoolsRemotebuildexecutionAdminV1alphaCreateInstanceRequest": { + "description": "The request used for `CreateInstance`.", + "id": "GoogleDevtoolsRemotebuildexecutionAdminV1alphaCreateInstanceRequest", + "properties": { + "instance": { + "$ref": "GoogleDevtoolsRemotebuildexecutionAdminV1alphaInstance", + "description": "Specifies the instance to create. The name in the instance, if specified in the instance, is ignored." + }, + "instanceId": { + "description": "ID of the created instance. A valid `instance_id` must: be 6-50 characters long, contain only lowercase letters, digits, hyphens and underscores, start with a lowercase letter, and end with a lowercase letter or a digit.", + "type": "string" + }, + "parent": { + "description": "Resource name of the project containing the instance. Format: `projects/[PROJECT_ID]`.", + "type": "string" + } + }, + "type": "object" + }, + "GoogleDevtoolsRemotebuildexecutionAdminV1alphaCreateWorkerPoolRequest": { + "description": "The request used for `CreateWorkerPool`.", + "id": "GoogleDevtoolsRemotebuildexecutionAdminV1alphaCreateWorkerPoolRequest", + "properties": { + "parent": { + "description": "Resource name of the instance in which to create the new worker pool. Format: `projects/[PROJECT_ID]/instances/[INSTANCE_ID]`.", + "type": "string" + }, + "poolId": { + "description": "ID of the created worker pool. A valid pool ID must: be 6-50 characters long, contain only lowercase letters, digits, hyphens and underscores, start with a lowercase letter, and end with a lowercase letter or a digit.", + "type": "string" + }, + "workerPool": { + "$ref": "GoogleDevtoolsRemotebuildexecutionAdminV1alphaWorkerPool", + "description": "Specifies the worker pool to create. The name in the worker pool, if specified, is ignored." + } + }, + "type": "object" + }, + "GoogleDevtoolsRemotebuildexecutionAdminV1alphaDeleteInstanceRequest": { + "description": "The request used for `DeleteInstance`.", + "id": "GoogleDevtoolsRemotebuildexecutionAdminV1alphaDeleteInstanceRequest", + "properties": { + "name": { + "description": "Name of the instance to delete. Format: `projects/[PROJECT_ID]/instances/[INSTANCE_ID]`.", + "type": "string" + } + }, + "type": "object" + }, + "GoogleDevtoolsRemotebuildexecutionAdminV1alphaDeleteWorkerPoolRequest": { + "description": "The request used for DeleteWorkerPool.", + "id": "GoogleDevtoolsRemotebuildexecutionAdminV1alphaDeleteWorkerPoolRequest", + "properties": { + "name": { + "description": "Name of the worker pool to delete. Format: `projects/[PROJECT_ID]/instances/[INSTANCE_ID]/workerpools/[POOL_ID]`.", + "type": "string" + } + }, + "type": "object" + }, + "GoogleDevtoolsRemotebuildexecutionAdminV1alphaFeaturePolicy": { + "description": "FeaturePolicy defines features allowed to be used on RBE instances, as well as instance-wide behavior changes that take effect without opt-in or opt-out at usage time.", + "id": "GoogleDevtoolsRemotebuildexecutionAdminV1alphaFeaturePolicy", + "properties": { + "containerImageSources": { + "$ref": "GoogleDevtoolsRemotebuildexecutionAdminV1alphaFeaturePolicyFeature", + "description": "Which container image sources are allowed. Currently only RBE-supported registry (gcr.io) is allowed. One can allow all repositories under a project or one specific repository only. E.g. container_image_sources { policy: RESTRICTED allowed_values: [ \"gcr.io/project-foo\", \"gcr.io/project-bar/repo-baz\", ] } will allow any repositories under \"gcr.io/project-foo\" plus the repository \"gcr.io/project-bar/repo-baz\". Default (UNSPECIFIED) is equivalent to any source is allowed." + }, + "dockerAddCapabilities": { + "$ref": "GoogleDevtoolsRemotebuildexecutionAdminV1alphaFeaturePolicyFeature", + "description": "Whether dockerAddCapabilities can be used or what capabilities are allowed." + }, + "dockerChrootPath": { + "$ref": "GoogleDevtoolsRemotebuildexecutionAdminV1alphaFeaturePolicyFeature", + "description": "Whether dockerChrootPath can be used." + }, + "dockerNetwork": { + "$ref": "GoogleDevtoolsRemotebuildexecutionAdminV1alphaFeaturePolicyFeature", + "description": "Whether dockerNetwork can be used or what network modes are allowed. E.g. one may allow `off` value only via `allowed_values`." + }, + "dockerPrivileged": { + "$ref": "GoogleDevtoolsRemotebuildexecutionAdminV1alphaFeaturePolicyFeature", + "description": "Whether dockerPrivileged can be used." + }, + "dockerRunAsRoot": { + "$ref": "GoogleDevtoolsRemotebuildexecutionAdminV1alphaFeaturePolicyFeature", + "description": "Whether dockerRunAsRoot can be used." + }, + "dockerRuntime": { + "$ref": "GoogleDevtoolsRemotebuildexecutionAdminV1alphaFeaturePolicyFeature", + "description": "Whether dockerRuntime is allowed to be set or what runtimes are allowed. Note linux_isolation takes precedence, and if set, docker_runtime values may be rejected if they are incompatible with the selected isolation." + }, + "dockerSiblingContainers": { + "$ref": "GoogleDevtoolsRemotebuildexecutionAdminV1alphaFeaturePolicyFeature", + "description": "Whether dockerSiblingContainers can be used." + }, + "linuxIsolation": { + "description": "linux_isolation allows overriding the docker runtime used for containers started on Linux.", + "enum": [ + "LINUX_ISOLATION_UNSPECIFIED", + "GVISOR", + "OFF" + ], + "enumDescriptions": [ + "Default value. Will be using Linux default runtime.", + "Use gVisor runsc runtime.", + "Use stardard Linux runtime. This has the same behaviour as unspecified, but it can be used to revert back from gVisor." + ], + "type": "string" + } + }, + "type": "object" + }, + "GoogleDevtoolsRemotebuildexecutionAdminV1alphaFeaturePolicyFeature": { + "description": "Defines whether a feature can be used or what values are accepted.", + "id": "GoogleDevtoolsRemotebuildexecutionAdminV1alphaFeaturePolicyFeature", + "properties": { + "allowedValues": { + "description": "A list of acceptable values. Only effective when the policy is `RESTRICTED`.", + "items": { + "type": "string" + }, + "type": "array" + }, + "policy": { + "description": "The policy of the feature.", + "enum": [ + "POLICY_UNSPECIFIED", + "ALLOWED", + "FORBIDDEN", + "RESTRICTED" + ], + "enumDescriptions": [ + "Default value, if not explicitly set. Equivalent to FORBIDDEN, unless otherwise documented on a specific Feature.", + "Feature is explicitly allowed.", + "Feature is forbidden. Requests attempting to leverage it will get an FailedPrecondition error, with a message like: \"Feature forbidden by FeaturePolicy: Feature on instance \"", + "Only the values specified in the `allowed_values` are allowed." + ], + "type": "string" + } + }, + "type": "object" + }, + "GoogleDevtoolsRemotebuildexecutionAdminV1alphaGetInstanceRequest": { + "description": "The request used for `GetInstance`.", + "id": "GoogleDevtoolsRemotebuildexecutionAdminV1alphaGetInstanceRequest", + "properties": { + "name": { + "description": "Name of the instance to retrieve. Format: `projects/[PROJECT_ID]/instances/[INSTANCE_ID]`.", + "type": "string" + } + }, + "type": "object" + }, + "GoogleDevtoolsRemotebuildexecutionAdminV1alphaGetWorkerPoolRequest": { + "description": "The request used for GetWorkerPool.", + "id": "GoogleDevtoolsRemotebuildexecutionAdminV1alphaGetWorkerPoolRequest", + "properties": { + "name": { + "description": "Name of the worker pool to retrieve. Format: `projects/[PROJECT_ID]/instances/[INSTANCE_ID]/workerpools/[POOL_ID]`.", + "type": "string" + } + }, + "type": "object" + }, + "GoogleDevtoolsRemotebuildexecutionAdminV1alphaInstance": { + "description": "Instance conceptually encapsulates all Remote Build Execution resources for remote builds. An instance consists of storage and compute resources (for example, `ContentAddressableStorage`, `ActionCache`, `WorkerPools`) used for running remote builds. All Remote Build Execution API calls are scoped to an instance.", + "id": "GoogleDevtoolsRemotebuildexecutionAdminV1alphaInstance", + "properties": { + "featurePolicy": { + "$ref": "GoogleDevtoolsRemotebuildexecutionAdminV1alphaFeaturePolicy", + "description": "The policy to define whether or not RBE features can be used or how they can be used." + }, + "location": { + "description": "The location is a GCP region. Currently only `us-central1` is supported.", + "type": "string" + }, + "loggingEnabled": { + "description": "Output only. Whether stack driver logging is enabled for the instance.", + "type": "boolean" + }, + "name": { + "description": "Output only. Instance resource name formatted as: `projects/[PROJECT_ID]/instances/[INSTANCE_ID]`. Name should not be populated when creating an instance since it is provided in the `instance_id` field.", + "type": "string" + }, + "state": { + "description": "Output only. State of the instance.", + "enum": [ + "STATE_UNSPECIFIED", + "CREATING", + "RUNNING", + "INACTIVE" + ], + "enumDescriptions": [ + "Not a valid state, but the default value of the enum.", + "The instance is in state `CREATING` once `CreateInstance` is called and before the instance is ready for use.", + "The instance is in state `RUNNING` when it is ready for use.", + "An `INACTIVE` instance indicates that there is a problem that needs to be fixed. Such instances cannot be used for execution and instances that remain in this state for a significant period of time will be removed permanently." + ], + "type": "string" + } + }, + "type": "object" + }, + "GoogleDevtoolsRemotebuildexecutionAdminV1alphaListInstancesRequest": { + "id": "GoogleDevtoolsRemotebuildexecutionAdminV1alphaListInstancesRequest", + "properties": { + "parent": { + "description": "Resource name of the project. Format: `projects/[PROJECT_ID]`.", + "type": "string" + } + }, + "type": "object" + }, + "GoogleDevtoolsRemotebuildexecutionAdminV1alphaListInstancesResponse": { + "id": "GoogleDevtoolsRemotebuildexecutionAdminV1alphaListInstancesResponse", + "properties": { + "instances": { + "description": "The list of instances in a given project.", + "items": { + "$ref": "GoogleDevtoolsRemotebuildexecutionAdminV1alphaInstance" + }, + "type": "array" + } + }, + "type": "object" + }, + "GoogleDevtoolsRemotebuildexecutionAdminV1alphaListWorkerPoolsRequest": { + "id": "GoogleDevtoolsRemotebuildexecutionAdminV1alphaListWorkerPoolsRequest", + "properties": { + "filter": { + "description": "Optional. A filter expression that filters resources listed in the response. The expression must specify the field name, a comparison operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. String values are case-insensitive. The comparison operator must be either `:`, `=`, `!=`, `>`, `>=`, `<=` or `<`. The `:` operator can be used with string fields to match substrings. For non-string fields it is equivalent to the `=` operator. The `:*` comparison can be used to test whether a key has been defined. You can also filter on nested fields. To filter on multiple expressions, you can separate expression using `AND` and `OR` operators, using parentheses to specify precedence. If neither operator is specified, `AND` is assumed. Examples: Include only pools with more than 100 reserved workers: `(worker_count > 100) (worker_config.reserved = true)` Include only pools with a certain label or machines of the e2-standard family: `worker_config.labels.key1 : * OR worker_config.machine_type: e2-standard`", + "type": "string" + }, + "parent": { + "description": "Resource name of the instance. Format: `projects/[PROJECT_ID]/instances/[INSTANCE_ID]`.", + "type": "string" + } + }, + "type": "object" + }, + "GoogleDevtoolsRemotebuildexecutionAdminV1alphaListWorkerPoolsResponse": { + "id": "GoogleDevtoolsRemotebuildexecutionAdminV1alphaListWorkerPoolsResponse", + "properties": { + "workerPools": { + "description": "The list of worker pools in a given instance.", + "items": { + "$ref": "GoogleDevtoolsRemotebuildexecutionAdminV1alphaWorkerPool" + }, + "type": "array" + } + }, + "type": "object" + }, + "GoogleDevtoolsRemotebuildexecutionAdminV1alphaUpdateInstanceRequest": { + "description": "The request used for `UpdateInstance`.", + "id": "GoogleDevtoolsRemotebuildexecutionAdminV1alphaUpdateInstanceRequest", + "properties": { + "instance": { + "$ref": "GoogleDevtoolsRemotebuildexecutionAdminV1alphaInstance", + "description": "Specifies the instance to update." + }, + "loggingEnabled": { + "description": "Deprecated, use instance.logging_enabled instead. Whether to enable Stackdriver logging for this instance.", + "type": "boolean" + }, + "name": { + "description": "Deprecated, use instance.Name instead. Name of the instance to update. Format: `projects/[PROJECT_ID]/instances/[INSTANCE_ID]`.", + "type": "string" + }, + "updateMask": { + "description": "The update mask applies to instance. For the `FieldMask` definition, see https://developers.google.com/protocol-buffers/docs/reference/google.protobuf#fieldmask If an empty update_mask is provided, only the non-default valued field in the worker pool field will be updated. Note that in order to update a field to the default value (zero, false, empty string) an explicit update_mask must be provided.", + "format": "google-fieldmask", + "type": "string" + } + }, + "type": "object" + }, + "GoogleDevtoolsRemotebuildexecutionAdminV1alphaUpdateWorkerPoolRequest": { + "description": "The request used for UpdateWorkerPool.", + "id": "GoogleDevtoolsRemotebuildexecutionAdminV1alphaUpdateWorkerPoolRequest", + "properties": { + "updateMask": { + "description": "The update mask applies to worker_pool. For the `FieldMask` definition, see https://developers.google.com/protocol-buffers/docs/reference/google.protobuf#fieldmask If an empty update_mask is provided, only the non-default valued field in the worker pool field will be updated. Note that in order to update a field to the default value (zero, false, empty string) an explicit update_mask must be provided.", + "format": "google-fieldmask", + "type": "string" + }, + "workerPool": { + "$ref": "GoogleDevtoolsRemotebuildexecutionAdminV1alphaWorkerPool", + "description": "Specifies the worker pool to update." + } + }, + "type": "object" + }, + "GoogleDevtoolsRemotebuildexecutionAdminV1alphaWorkerConfig": { + "description": "Defines the configuration to be used for creating workers in the worker pool.", + "id": "GoogleDevtoolsRemotebuildexecutionAdminV1alphaWorkerConfig", + "properties": { + "accelerator": { + "$ref": "GoogleDevtoolsRemotebuildexecutionAdminV1alphaAcceleratorConfig", + "description": "The accelerator card attached to each VM." + }, + "diskSizeGb": { + "description": "Required. Size of the disk attached to the worker, in GB. See https://cloud.google.com/compute/docs/disks/", + "format": "int64", + "type": "string" + }, + "diskType": { + "description": "Required. Disk Type to use for the worker. See [Storage options](https://cloud.google.com/compute/docs/disks/#introduction). Currently only `pd-standard` and `pd-ssd` are supported.", + "type": "string" + }, + "labels": { + "additionalProperties": { + "type": "string" + }, + "description": "Labels associated with the workers. Label keys and values can be no longer than 63 characters, can only contain lowercase letters, numeric characters, underscores and dashes. International letters are permitted. Label keys must start with a letter. Label values are optional. There can not be more than 64 labels per resource.", + "type": "object" + }, + "machineType": { + "description": "Required. Machine type of the worker, such as `e2-standard-2`. See https://cloud.google.com/compute/docs/machine-types for a list of supported machine types. Note that `f1-micro` and `g1-small` are not yet supported.", + "type": "string" + }, + "maxConcurrentActions": { + "description": "The maximum number of actions a worker can execute concurrently.", + "format": "int64", + "type": "string" + }, + "minCpuPlatform": { + "description": "Minimum CPU platform to use when creating the worker. See [CPU Platforms](https://cloud.google.com/compute/docs/cpu-platforms).", + "type": "string" + }, + "networkAccess": { + "description": "Determines the type of network access granted to workers. Possible values: - \"public\": Workers can connect to the public internet. - \"private\": Workers can only connect to Google APIs and services. - \"restricted-private\": Workers can only connect to Google APIs that are reachable through `restricted.googleapis.com` (`199.36.153.4/30`).", + "type": "string" + }, + "reserved": { + "description": "Determines whether the worker is reserved (equivalent to a Compute Engine on-demand VM and therefore won't be preempted). See [Preemptible VMs](https://cloud.google.com/preemptible-vms/) for more details.", + "type": "boolean" + }, + "soleTenantNodeType": { + "description": "The node type name to be used for sole-tenant nodes.", + "type": "string" + }, + "vmImage": { + "description": "The name of the image used by each VM.", + "type": "string" + } + }, + "type": "object" + }, + "GoogleDevtoolsRemotebuildexecutionAdminV1alphaWorkerPool": { + "description": "A worker pool resource in the Remote Build Execution API.", + "id": "GoogleDevtoolsRemotebuildexecutionAdminV1alphaWorkerPool", + "properties": { + "autoscale": { + "$ref": "GoogleDevtoolsRemotebuildexecutionAdminV1alphaAutoscale", + "description": "The autoscale policy to apply on a pool." + }, + "channel": { + "description": "Channel specifies the release channel of the pool.", + "type": "string" + }, + "name": { + "description": "WorkerPool resource name formatted as: `projects/[PROJECT_ID]/instances/[INSTANCE_ID]/workerpools/[POOL_ID]`. name should not be populated when creating a worker pool since it is provided in the `poolId` field.", + "type": "string" + }, + "state": { + "description": "Output only. State of the worker pool.", + "enum": [ + "STATE_UNSPECIFIED", + "CREATING", + "RUNNING", + "UPDATING", + "DELETING", + "INACTIVE" + ], + "enumDescriptions": [ + "Not a valid state, but the default value of the enum.", + "The worker pool is in state `CREATING` once `CreateWorkerPool` is called and before all requested workers are ready.", + "The worker pool is in state `RUNNING` when all its workers are ready for use.", + "The worker pool is in state `UPDATING` once `UpdateWorkerPool` is called and before the new configuration has all the requested workers ready for use, and no older configuration has any workers. At that point the state transitions to `RUNNING`.", + "The worker pool is in state `DELETING` once the `Delete` method is called and before the deletion completes.", + "The worker pool is in state `INACTIVE` when the instance hosting the worker pool in not running." + ], + "type": "string" + }, + "workerConfig": { + "$ref": "GoogleDevtoolsRemotebuildexecutionAdminV1alphaWorkerConfig", + "description": "Specifies the properties, such as machine type and disk size, used for creating workers in a worker pool." + }, + "workerCount": { + "description": "The desired number of workers in the worker pool. Must be a value between 0 and 15000.", + "format": "int64", + "type": "string" + } + }, + "type": "object" + }, + "GoogleDevtoolsRemoteworkersV1test2AdminTemp": { + "description": "AdminTemp is a prelimiary set of administration tasks. It's called \"Temp\" because we do not yet know the best way to represent admin tasks; it's possible that this will be entirely replaced in later versions of this API. If this message proves to be sufficient, it will be renamed in the alpha or beta release of this API. This message (suitably marshalled into a protobuf.Any) can be used as the inline_assignment field in a lease; the lease assignment field should simply be `\"admin\"` in these cases. This message is heavily based on Swarming administration tasks from the LUCI project (http://github.com/luci/luci-py/appengine/swarming).", + "id": "GoogleDevtoolsRemoteworkersV1test2AdminTemp", + "properties": { + "arg": { + "description": "The argument to the admin action; see `Command` for semantics.", + "type": "string" + }, + "command": { + "description": "The admin action; see `Command` for legal values.", + "enum": [ + "UNSPECIFIED", + "BOT_UPDATE", + "BOT_RESTART", + "BOT_TERMINATE", + "HOST_RESTART" + ], + "enumDescriptions": [ + "Illegal value.", + "Download and run a new version of the bot. `arg` will be a resource accessible via `ByteStream.Read` to obtain the new bot code.", + "Restart the bot without downloading a new version. `arg` will be a message to log.", + "Shut down the bot. `arg` will be a task resource name (similar to those in tasks.proto) that the bot can use to tell the server that it is terminating.", + "Restart the host computer. `arg` will be a message to log." + ], + "type": "string" + } + }, + "type": "object" + }, + "GoogleDevtoolsRemoteworkersV1test2Blob": { + "description": "Describes a blob of binary content with its digest.", + "id": "GoogleDevtoolsRemoteworkersV1test2Blob", + "properties": { + "contents": { + "description": "The contents of the blob.", + "format": "byte", + "type": "string" + }, + "digest": { + "$ref": "GoogleDevtoolsRemoteworkersV1test2Digest", + "description": "The digest of the blob. This should be verified by the receiver." + } + }, + "type": "object" + }, + "GoogleDevtoolsRemoteworkersV1test2CommandOutputs": { + "description": "DEPRECATED - use CommandResult instead. Describes the actual outputs from the task.", + "id": "GoogleDevtoolsRemoteworkersV1test2CommandOutputs", + "properties": { + "exitCode": { + "description": "exit_code is only fully reliable if the status' code is OK. If the task exceeded its deadline or was cancelled, the process may still produce an exit code as it is cancelled, and this will be populated, but a successful (zero) is unlikely to be correct unless the status code is OK.", + "format": "int32", + "type": "integer" + }, + "outputs": { + "$ref": "GoogleDevtoolsRemoteworkersV1test2Digest", + "description": "The output files. The blob referenced by the digest should contain one of the following (implementation-dependent): * A marshalled DirectoryMetadata of the returned filesystem * A LUCI-style .isolated file" + } + }, + "type": "object" + }, + "GoogleDevtoolsRemoteworkersV1test2CommandOverhead": { + "description": "DEPRECATED - use CommandResult instead. Can be used as part of CompleteRequest.metadata, or are part of a more sophisticated message.", + "id": "GoogleDevtoolsRemoteworkersV1test2CommandOverhead", + "properties": { + "duration": { + "description": "The elapsed time between calling Accept and Complete. The server will also have its own idea of what this should be, but this excludes the overhead of the RPCs and the bot response time.", + "format": "google-duration", + "type": "string" + }, + "overhead": { + "description": "The amount of time *not* spent executing the command (ie uploading/downloading files).", + "format": "google-duration", + "type": "string" + } + }, + "type": "object" + }, + "GoogleDevtoolsRemoteworkersV1test2CommandResult": { + "description": "All information about the execution of a command, suitable for providing as the Bots interface's `Lease.result` field.", + "id": "GoogleDevtoolsRemoteworkersV1test2CommandResult", + "properties": { + "duration": { + "description": "The elapsed time between calling Accept and Complete. The server will also have its own idea of what this should be, but this excludes the overhead of the RPCs and the bot response time.", + "format": "google-duration", + "type": "string" + }, + "exitCode": { + "description": "The exit code of the process. An exit code of \"0\" should only be trusted if `status` has a code of OK (otherwise it may simply be unset).", + "format": "int32", + "type": "integer" + }, + "metadata": { + "description": "Implementation-dependent metadata about the task. Both servers and bots may define messages which can be encoded here; bots are free to provide metadata in multiple formats, and servers are free to choose one or more of the values to process and ignore others. In particular, it is *not* considered an error for the bot to provide the server with a field that it doesn't know about.", + "items": { + "additionalProperties": { + "description": "Properties of the object. Contains field @type with type URL.", + "type": "any" + }, + "type": "object" + }, + "type": "array" + }, + "outputs": { + "$ref": "GoogleDevtoolsRemoteworkersV1test2Digest", + "description": "The output files. The blob referenced by the digest should contain one of the following (implementation-dependent): * A marshalled DirectoryMetadata of the returned filesystem * A LUCI-style .isolated file" + }, + "overhead": { + "description": "The amount of time *not* spent executing the command (ie uploading/downloading files).", + "format": "google-duration", + "type": "string" + }, + "status": { + "$ref": "GoogleRpcStatus", + "description": "An overall status for the command. For example, if the command timed out, this might have a code of DEADLINE_EXCEEDED; if it was killed by the OS for memory exhaustion, it might have a code of RESOURCE_EXHAUSTED." + } + }, + "type": "object" + }, + "GoogleDevtoolsRemoteworkersV1test2CommandTask": { + "description": "Describes a shell-style task to execute, suitable for providing as the Bots interface's `Lease.payload` field.", + "id": "GoogleDevtoolsRemoteworkersV1test2CommandTask", + "properties": { + "expectedOutputs": { + "$ref": "GoogleDevtoolsRemoteworkersV1test2CommandTaskOutputs", + "description": "The expected outputs from the task." + }, + "inputs": { + "$ref": "GoogleDevtoolsRemoteworkersV1test2CommandTaskInputs", + "description": "The inputs to the task." + }, + "timeouts": { + "$ref": "GoogleDevtoolsRemoteworkersV1test2CommandTaskTimeouts", + "description": "The timeouts of this task." + } + }, + "type": "object" + }, + "GoogleDevtoolsRemoteworkersV1test2CommandTaskInputs": { + "description": "Describes the inputs to a shell-style task.", + "id": "GoogleDevtoolsRemoteworkersV1test2CommandTaskInputs", + "properties": { + "arguments": { + "description": "The command itself to run (e.g., argv). This field should be passed directly to the underlying operating system, and so it must be sensible to that operating system. For example, on Windows, the first argument might be \"C:\\Windows\\System32\\ping.exe\" - that is, using drive letters and backslashes. A command for a *nix system, on the other hand, would use forward slashes. All other fields in the RWAPI must consistently use forward slashes, since those fields may be interpretted by both the service and the bot.", + "items": { + "type": "string" + }, + "type": "array" + }, + "environmentVariables": { + "description": "All environment variables required by the task.", + "items": { + "$ref": "GoogleDevtoolsRemoteworkersV1test2CommandTaskInputsEnvironmentVariable" + }, + "type": "array" + }, + "files": { + "description": "The input filesystem to be set up prior to the task beginning. The contents should be a repeated set of FileMetadata messages though other formats are allowed if better for the implementation (eg, a LUCI-style .isolated file). This field is repeated since implementations might want to cache the metadata, in which case it may be useful to break up portions of the filesystem that change frequently (eg, specific input files) from those that don't (eg, standard header files).", + "items": { + "$ref": "GoogleDevtoolsRemoteworkersV1test2Digest" + }, + "type": "array" + }, + "inlineBlobs": { + "description": "Inline contents for blobs expected to be needed by the bot to execute the task. For example, contents of entries in `files` or blobs that are indirectly referenced by an entry there. The bot should check against this list before downloading required task inputs to reduce the number of communications between itself and the remote CAS server.", + "items": { + "$ref": "GoogleDevtoolsRemoteworkersV1test2Blob" + }, + "type": "array" + }, + "workingDirectory": { + "description": "Directory from which a command is executed. It is a relative directory with respect to the bot's working directory (i.e., \"./\"). If it is non-empty, then it must exist under \"./\". Otherwise, \"./\" will be used.", + "type": "string" + } + }, + "type": "object" + }, + "GoogleDevtoolsRemoteworkersV1test2CommandTaskInputsEnvironmentVariable": { + "description": "An environment variable required by this task.", + "id": "GoogleDevtoolsRemoteworkersV1test2CommandTaskInputsEnvironmentVariable", + "properties": { + "name": { + "description": "The envvar name.", + "type": "string" + }, + "value": { + "description": "The envvar value.", + "type": "string" + } + }, + "type": "object" + }, + "GoogleDevtoolsRemoteworkersV1test2CommandTaskOutputs": { + "description": "Describes the expected outputs of the command.", + "id": "GoogleDevtoolsRemoteworkersV1test2CommandTaskOutputs", + "properties": { + "directories": { + "description": "A list of expected directories, relative to the execution root. All paths MUST be delimited by forward slashes.", + "items": { + "type": "string" + }, + "type": "array" + }, + "files": { + "description": "A list of expected files, relative to the execution root. All paths MUST be delimited by forward slashes.", + "items": { + "type": "string" + }, + "type": "array" + }, + "stderrDestination": { + "description": "The destination to which any stderr should be sent. The method by which the bot should send the stream contents to that destination is not defined in this API. As examples, the destination could be a file referenced in the `files` field in this message, or it could be a URI that must be written via the ByteStream API.", + "type": "string" + }, + "stdoutDestination": { + "description": "The destination to which any stdout should be sent. The method by which the bot should send the stream contents to that destination is not defined in this API. As examples, the destination could be a file referenced in the `files` field in this message, or it could be a URI that must be written via the ByteStream API.", + "type": "string" + } + }, + "type": "object" + }, + "GoogleDevtoolsRemoteworkersV1test2CommandTaskTimeouts": { + "description": "Describes the timeouts associated with this task.", + "id": "GoogleDevtoolsRemoteworkersV1test2CommandTaskTimeouts", + "properties": { + "execution": { + "description": "This specifies the maximum time that the task can run, excluding the time required to download inputs or upload outputs. That is, the worker will terminate the task if it runs longer than this.", + "format": "google-duration", + "type": "string" + }, + "idle": { + "description": "This specifies the maximum amount of time the task can be idle - that is, go without generating some output in either stdout or stderr. If the process is silent for more than the specified time, the worker will terminate the task.", + "format": "google-duration", + "type": "string" + }, + "shutdown": { + "description": "If the execution or IO timeouts are exceeded, the worker will try to gracefully terminate the task and return any existing logs. However, tasks may be hard-frozen in which case this process will fail. This timeout specifies how long to wait for a terminated task to shut down gracefully (e.g. via SIGTERM) before we bring down the hammer (e.g. SIGKILL on *nix, CTRL_BREAK_EVENT on Windows).", + "format": "google-duration", + "type": "string" + } + }, + "type": "object" + }, + "GoogleDevtoolsRemoteworkersV1test2Digest": { + "description": "The CommandTask and CommandResult messages assume the existence of a service that can serve blobs of content, identified by a hash and size known as a \"digest.\" The method by which these blobs may be retrieved is not specified here, but a model implementation is in the Remote Execution API's \"ContentAddressibleStorage\" interface. In the context of the RWAPI, a Digest will virtually always refer to the contents of a file or a directory. The latter is represented by the byte-encoded Directory message.", + "id": "GoogleDevtoolsRemoteworkersV1test2Digest", + "properties": { + "hash": { + "description": "A string-encoded hash (eg \"1a2b3c\", not the byte array [0x1a, 0x2b, 0x3c]) using an implementation-defined hash algorithm (eg SHA-256).", + "type": "string" + }, + "sizeBytes": { + "description": "The size of the contents. While this is not strictly required as part of an identifier (after all, any given hash will have exactly one canonical size), it's useful in almost all cases when one might want to send or retrieve blobs of content and is included here for this reason.", + "format": "int64", + "type": "string" + } + }, + "type": "object" + }, + "GoogleDevtoolsRemoteworkersV1test2Directory": { + "description": "The contents of a directory. Similar to the equivalent message in the Remote Execution API.", + "id": "GoogleDevtoolsRemoteworkersV1test2Directory", + "properties": { + "directories": { + "description": "Any subdirectories", + "items": { + "$ref": "GoogleDevtoolsRemoteworkersV1test2DirectoryMetadata" + }, + "type": "array" + }, + "files": { + "description": "The files in this directory", + "items": { + "$ref": "GoogleDevtoolsRemoteworkersV1test2FileMetadata" + }, + "type": "array" + } + }, + "type": "object" + }, + "GoogleDevtoolsRemoteworkersV1test2DirectoryMetadata": { + "description": "The metadata for a directory. Similar to the equivalent message in the Remote Execution API.", + "id": "GoogleDevtoolsRemoteworkersV1test2DirectoryMetadata", + "properties": { + "digest": { + "$ref": "GoogleDevtoolsRemoteworkersV1test2Digest", + "description": "A pointer to the contents of the directory, in the form of a marshalled Directory message." + }, + "path": { + "description": "The path of the directory, as in FileMetadata.path.", + "type": "string" + } + }, + "type": "object" + }, + "GoogleDevtoolsRemoteworkersV1test2FileMetadata": { + "description": "The metadata for a file. Similar to the equivalent message in the Remote Execution API.", + "id": "GoogleDevtoolsRemoteworkersV1test2FileMetadata", + "properties": { + "contents": { + "description": "If the file is small enough, its contents may also or alternatively be listed here.", + "format": "byte", + "type": "string" + }, + "digest": { + "$ref": "GoogleDevtoolsRemoteworkersV1test2Digest", + "description": "A pointer to the contents of the file. The method by which a client retrieves the contents from a CAS system is not defined here." + }, + "isExecutable": { + "description": "Properties of the file", + "type": "boolean" + }, + "path": { + "description": "The path of this file. If this message is part of the CommandOutputs.outputs fields, the path is relative to the execution root and must correspond to an entry in CommandTask.outputs.files. If this message is part of a Directory message, then the path is relative to the root of that directory. All paths MUST be delimited by forward slashes.", + "type": "string" + } + }, + "type": "object" + }, + "GoogleLongrunningOperation": { + "description": "This resource represents a long-running operation that is the result of a network API call.", + "id": "GoogleLongrunningOperation", + "properties": { + "done": { + "description": "If the value is `false`, it means the operation is still in progress. If `true`, the operation is completed, and either `error` or `response` is available.", + "type": "boolean" + }, + "error": { + "$ref": "GoogleRpcStatus", + "description": "The error result of the operation in case of failure or cancellation." + }, + "metadata": { + "additionalProperties": { + "description": "Properties of the object. Contains field @type with type URL.", + "type": "any" + }, + "description": "Service-specific metadata associated with the operation. It typically contains progress information and common metadata such as create time. Some services might not provide such metadata. Any method that returns a long-running operation should document the metadata type, if any.", + "type": "object" + }, + "name": { + "description": "The server-assigned name, which is only unique within the same service that originally returns it. If you use the default HTTP mapping, the `name` should be a resource name ending with `operations/{unique_id}`.", + "type": "string" + }, + "response": { + "additionalProperties": { + "description": "Properties of the object. Contains field @type with type URL.", + "type": "any" + }, + "description": "The normal response of the operation in case of success. If the original method returns no data on success, such as `Delete`, the response is `google.protobuf.Empty`. If the original method is standard `Get`/`Create`/`Update`, the response should be the resource. For other methods, the response should have the type `XxxResponse`, where `Xxx` is the original method name. For example, if the original method name is `TakeSnapshot()`, the inferred response type is `TakeSnapshotResponse`.", + "type": "object" + } + }, + "type": "object" + }, + "GoogleRpcStatus": { + "description": "The `Status` type defines a logical error model that is suitable for different programming environments, including REST APIs and RPC APIs. It is used by [gRPC](https://github.com/grpc). Each `Status` message contains three pieces of data: error code, error message, and error details. You can find out more about this error model and how to work with it in the [API Design Guide](https://cloud.google.com/apis/design/errors).", + "id": "GoogleRpcStatus", + "properties": { + "code": { + "description": "The status code, which should be an enum value of google.rpc.Code.", + "format": "int32", + "type": "integer" + }, + "details": { + "description": "A list of messages that carry the error details. There is a common set of message types for APIs to use.", + "items": { + "additionalProperties": { + "description": "Properties of the object. Contains field @type with type URL.", + "type": "any" + }, + "type": "object" + }, + "type": "array" + }, + "message": { + "description": "A developer-facing error message, which should be in English. Any user-facing error message should be localized and sent in the google.rpc.Status.details field, or localized by the client.", + "type": "string" + } + }, + "type": "object" + } + }, + "servicePath": "", + "title": "Remote Build Execution API", + "version": "v1alpha", + "version_module": true +} \ No newline at end of file diff --git a/.venv/lib/python3.11/site-packages/googleapiclient/discovery_cache/documents/runtimeconfig.v1.json b/.venv/lib/python3.11/site-packages/googleapiclient/discovery_cache/documents/runtimeconfig.v1.json new file mode 100644 index 0000000000000000000000000000000000000000..0d0cc73b01db34e112413e6b2ee7e517bd3f7c20 --- /dev/null +++ b/.venv/lib/python3.11/site-packages/googleapiclient/discovery_cache/documents/runtimeconfig.v1.json @@ -0,0 +1,313 @@ +{ +"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." +}, +"https://www.googleapis.com/auth/cloudruntimeconfig": { +"description": "Manage your Google Cloud Platform services' runtime configuration" +} +} +} +}, +"basePath": "", +"baseUrl": "https://runtimeconfig.googleapis.com/", +"batchPath": "batch", +"canonicalName": "Cloud RuntimeConfig", +"description": "The Runtime Configurator allows you to dynamically configure and expose variables through Google Cloud Platform. In addition, you can also set Watchers and Waiters that will watch for changes to your data and return based on certain conditions.", +"discoveryVersion": "v1", +"documentationLink": "https://cloud.google.com/deployment-manager/runtime-configurator/", +"fullyEncodeReservedExpansion": true, +"icons": { +"x16": "http://www.google.com/images/icons/product/search-16.gif", +"x32": "http://www.google.com/images/icons/product/search-32.gif" +}, +"id": "runtimeconfig:v1", +"kind": "discovery#restDescription", +"mtlsRootUrl": "https://runtimeconfig.mtls.googleapis.com/", +"name": "runtimeconfig", +"ownerDomain": "google.com", +"ownerName": "Google", +"parameters": { +"$.xgafv": { +"description": "V1 error format.", +"enum": [ +"1", +"2" +], +"enumDescriptions": [ +"v1 error format", +"v2 error format" +], +"location": "query", +"type": "string" +}, +"access_token": { +"description": "OAuth access token.", +"location": "query", +"type": "string" +}, +"alt": { +"default": "json", +"description": "Data format for response.", +"enum": [ +"json", +"media", +"proto" +], +"enumDescriptions": [ +"Responses with Content-Type of application/json", +"Media download with context-dependent Content-Type", +"Responses with Content-Type of application/x-protobuf" +], +"location": "query", +"type": "string" +}, +"callback": { +"description": "JSONP", +"location": "query", +"type": "string" +}, +"fields": { +"description": "Selector specifying which fields to include in a partial response.", +"location": "query", +"type": "string" +}, +"key": { +"description": "API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token.", +"location": "query", +"type": "string" +}, +"oauth_token": { +"description": "OAuth 2.0 token for the current user.", +"location": "query", +"type": "string" +}, +"prettyPrint": { +"default": "true", +"description": "Returns response with indentations and line breaks.", +"location": "query", +"type": "boolean" +}, +"quotaUser": { +"description": "Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters.", +"location": "query", +"type": "string" +}, +"uploadType": { +"description": "Legacy upload protocol for media (e.g. \"media\", \"multipart\").", +"location": "query", +"type": "string" +}, +"upload_protocol": { +"description": "Upload protocol for media (e.g. \"raw\", \"multipart\").", +"location": "query", +"type": "string" +} +}, +"protocol": "rest", +"resources": { +"operations": { +"methods": { +"cancel": { +"description": "Starts asynchronous cancellation on a long-running operation. The server makes a best effort to cancel the operation, but success is not guaranteed. If the server doesn't support this method, it returns `google.rpc.Code.UNIMPLEMENTED`. Clients can use Operations.GetOperation or other methods to check whether the cancellation succeeded or whether the operation completed despite cancellation. On successful cancellation, the operation is not deleted; instead, it becomes an operation with an Operation.error value with a google.rpc.Status.code of `1`, corresponding to `Code.CANCELLED`.", +"flatPath": "v1/operations/{operationsId}:cancel", +"httpMethod": "POST", +"id": "runtimeconfig.operations.cancel", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "The name of the operation resource to be cancelled.", +"location": "path", +"pattern": "^operations/.*$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+name}:cancel", +"request": { +"$ref": "CancelOperationRequest" +}, +"response": { +"$ref": "Empty" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/cloudruntimeconfig" +] +}, +"delete": { +"description": "Deletes a long-running operation. This method indicates that the client is no longer interested in the operation result. It does not cancel the operation. If the server doesn't support this method, it returns `google.rpc.Code.UNIMPLEMENTED`.", +"flatPath": "v1/operations/{operationsId}", +"httpMethod": "DELETE", +"id": "runtimeconfig.operations.delete", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "The name of the operation resource to be deleted.", +"location": "path", +"pattern": "^operations/.*$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+name}", +"response": { +"$ref": "Empty" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/cloudruntimeconfig" +] +}, +"list": { +"description": "Lists operations that match the specified filter in the request. If the server doesn't support this method, it returns `UNIMPLEMENTED`.", +"flatPath": "v1/operations", +"httpMethod": "GET", +"id": "runtimeconfig.operations.list", +"parameterOrder": [ +"name" +], +"parameters": { +"filter": { +"description": "The standard list filter.", +"location": "query", +"type": "string" +}, +"name": { +"description": "The name of the operation's parent resource.", +"location": "path", +"pattern": "^operations$", +"required": true, +"type": "string" +}, +"pageSize": { +"description": "The standard list page size.", +"format": "int32", +"location": "query", +"type": "integer" +}, +"pageToken": { +"description": "The standard list page token.", +"location": "query", +"type": "string" +} +}, +"path": "v1/{+name}", +"response": { +"$ref": "ListOperationsResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/cloudruntimeconfig" +] +} +} +} +}, +"revision": "20241219", +"rootUrl": "https://runtimeconfig.googleapis.com/", +"schemas": { +"CancelOperationRequest": { +"description": "The request message for Operations.CancelOperation.", +"id": "CancelOperationRequest", +"properties": {}, +"type": "object" +}, +"Empty": { +"description": "A generic empty message that you can re-use to avoid defining duplicated empty messages in your APIs. A typical example is to use it as the request or the response type of an API method. For instance: service Foo { rpc Bar(google.protobuf.Empty) returns (google.protobuf.Empty); }", +"id": "Empty", +"properties": {}, +"type": "object" +}, +"ListOperationsResponse": { +"description": "The response message for Operations.ListOperations.", +"id": "ListOperationsResponse", +"properties": { +"nextPageToken": { +"description": "The standard List next-page token.", +"type": "string" +}, +"operations": { +"description": "A list of operations that matches the specified filter in the request.", +"items": { +"$ref": "Operation" +}, +"type": "array" +} +}, +"type": "object" +}, +"Operation": { +"description": "This resource represents a long-running operation that is the result of a network API call.", +"id": "Operation", +"properties": { +"done": { +"description": "If the value is `false`, it means the operation is still in progress. If `true`, the operation is completed, and either `error` or `response` is available.", +"type": "boolean" +}, +"error": { +"$ref": "Status", +"description": "The error result of the operation in case of failure or cancellation." +}, +"metadata": { +"additionalProperties": { +"description": "Properties of the object. Contains field @type with type URL.", +"type": "any" +}, +"description": "Service-specific metadata associated with the operation. It typically contains progress information and common metadata such as create time. Some services might not provide such metadata. Any method that returns a long-running operation should document the metadata type, if any.", +"type": "object" +}, +"name": { +"description": "The server-assigned name, which is only unique within the same service that originally returns it. If you use the default HTTP mapping, the `name` should be a resource name ending with `operations/{unique_id}`.", +"type": "string" +}, +"response": { +"additionalProperties": { +"description": "Properties of the object. Contains field @type with type URL.", +"type": "any" +}, +"description": "The normal, successful response of the operation. If the original method returns no data on success, such as `Delete`, the response is `google.protobuf.Empty`. If the original method is standard `Get`/`Create`/`Update`, the response should be the resource. For other methods, the response should have the type `XxxResponse`, where `Xxx` is the original method name. For example, if the original method name is `TakeSnapshot()`, the inferred response type is `TakeSnapshotResponse`.", +"type": "object" +} +}, +"type": "object" +}, +"Status": { +"description": "The `Status` type defines a logical error model that is suitable for different programming environments, including REST APIs and RPC APIs. It is used by [gRPC](https://github.com/grpc). Each `Status` message contains three pieces of data: error code, error message, and error details. You can find out more about this error model and how to work with it in the [API Design Guide](https://cloud.google.com/apis/design/errors).", +"id": "Status", +"properties": { +"code": { +"description": "The status code, which should be an enum value of google.rpc.Code.", +"format": "int32", +"type": "integer" +}, +"details": { +"description": "A list of messages that carry the error details. There is a common set of message types for APIs to use.", +"items": { +"additionalProperties": { +"description": "Properties of the object. Contains field @type with type URL.", +"type": "any" +}, +"type": "object" +}, +"type": "array" +}, +"message": { +"description": "A developer-facing error message, which should be in English. Any user-facing error message should be localized and sent in the google.rpc.Status.details field, or localized by the client.", +"type": "string" +} +}, +"type": "object" +} +}, +"servicePath": "", +"title": "Cloud Runtime Configuration API", +"version": "v1", +"version_module": true +} \ No newline at end of file diff --git a/.venv/lib/python3.11/site-packages/googleapiclient/discovery_cache/documents/safebrowsing.v4.json b/.venv/lib/python3.11/site-packages/googleapiclient/discovery_cache/documents/safebrowsing.v4.json new file mode 100644 index 0000000000000000000000000000000000000000..1416935afac13d883c35a03abc7c00a7681ef2f2 --- /dev/null +++ b/.venv/lib/python3.11/site-packages/googleapiclient/discovery_cache/documents/safebrowsing.v4.json @@ -0,0 +1,1344 @@ +{ +"basePath": "", +"baseUrl": "https://safebrowsing.googleapis.com/", +"batchPath": "batch", +"canonicalName": "Safebrowsing", +"description": "Enables client applications to check web resources (most commonly URLs) against Google-generated lists of unsafe web resources. The Safe Browsing APIs are for non-commercial use only. If you need to use APIs to detect malicious URLs for commercial purposes \u2013 meaning \u201cfor sale or revenue-generating purposes\u201d \u2013 please refer to the Web Risk API.", +"discoveryVersion": "v1", +"documentationLink": "https://developers.google.com/safe-browsing/", +"fullyEncodeReservedExpansion": true, +"icons": { +"x16": "http://www.google.com/images/icons/product/search-16.gif", +"x32": "http://www.google.com/images/icons/product/search-32.gif" +}, +"id": "safebrowsing:v4", +"kind": "discovery#restDescription", +"mtlsRootUrl": "https://safebrowsing.mtls.googleapis.com/", +"name": "safebrowsing", +"ownerDomain": "google.com", +"ownerName": "Google", +"parameters": { +"$.xgafv": { +"description": "V1 error format.", +"enum": [ +"1", +"2" +], +"enumDescriptions": [ +"v1 error format", +"v2 error format" +], +"location": "query", +"type": "string" +}, +"access_token": { +"description": "OAuth access token.", +"location": "query", +"type": "string" +}, +"alt": { +"default": "json", +"description": "Data format for response.", +"enum": [ +"json", +"media", +"proto" +], +"enumDescriptions": [ +"Responses with Content-Type of application/json", +"Media download with context-dependent Content-Type", +"Responses with Content-Type of application/x-protobuf" +], +"location": "query", +"type": "string" +}, +"callback": { +"description": "JSONP", +"location": "query", +"type": "string" +}, +"fields": { +"description": "Selector specifying which fields to include in a partial response.", +"location": "query", +"type": "string" +}, +"key": { +"description": "API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token.", +"location": "query", +"type": "string" +}, +"oauth_token": { +"description": "OAuth 2.0 token for the current user.", +"location": "query", +"type": "string" +}, +"prettyPrint": { +"default": "true", +"description": "Returns response with indentations and line breaks.", +"location": "query", +"type": "boolean" +}, +"quotaUser": { +"description": "Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters.", +"location": "query", +"type": "string" +}, +"uploadType": { +"description": "Legacy upload protocol for media (e.g. \"media\", \"multipart\").", +"location": "query", +"type": "string" +}, +"upload_protocol": { +"description": "Upload protocol for media (e.g. \"raw\", \"multipart\").", +"location": "query", +"type": "string" +} +}, +"protocol": "rest", +"resources": { +"encodedFullHashes": { +"methods": { +"get": { +"description": "", +"flatPath": "v4/encodedFullHashes/{encodedRequest}", +"httpMethod": "GET", +"id": "safebrowsing.encodedFullHashes.get", +"parameterOrder": [ +"encodedRequest" +], +"parameters": { +"clientId": { +"description": "A client ID that (hopefully) uniquely identifies the client implementation of the Safe Browsing API.", +"location": "query", +"type": "string" +}, +"clientVersion": { +"description": "The version of the client implementation.", +"location": "query", +"type": "string" +}, +"encodedRequest": { +"description": "A serialized FindFullHashesRequest proto.", +"format": "byte", +"location": "path", +"required": true, +"type": "string" +} +}, +"path": "v4/encodedFullHashes/{encodedRequest}", +"response": { +"$ref": "GoogleSecuritySafebrowsingV4FindFullHashesResponse" +} +} +} +}, +"encodedUpdates": { +"methods": { +"get": { +"description": "", +"flatPath": "v4/encodedUpdates/{encodedRequest}", +"httpMethod": "GET", +"id": "safebrowsing.encodedUpdates.get", +"parameterOrder": [ +"encodedRequest" +], +"parameters": { +"clientId": { +"description": "A client ID that uniquely identifies the client implementation of the Safe Browsing API.", +"location": "query", +"type": "string" +}, +"clientVersion": { +"description": "The version of the client implementation.", +"location": "query", +"type": "string" +}, +"encodedRequest": { +"description": "A serialized FetchThreatListUpdatesRequest proto.", +"format": "byte", +"location": "path", +"required": true, +"type": "string" +} +}, +"path": "v4/encodedUpdates/{encodedRequest}", +"response": { +"$ref": "GoogleSecuritySafebrowsingV4FetchThreatListUpdatesResponse" +} +} +} +}, +"fullHashes": { +"methods": { +"find": { +"description": "Finds the full hashes that match the requested hash prefixes.", +"flatPath": "v4/fullHashes:find", +"httpMethod": "POST", +"id": "safebrowsing.fullHashes.find", +"parameterOrder": [], +"parameters": {}, +"path": "v4/fullHashes:find", +"request": { +"$ref": "GoogleSecuritySafebrowsingV4FindFullHashesRequest" +}, +"response": { +"$ref": "GoogleSecuritySafebrowsingV4FindFullHashesResponse" +} +} +} +}, +"threatHits": { +"methods": { +"create": { +"description": "Reports a Safe Browsing threat list hit to Google. Only projects with TRUSTED_REPORTER visibility can use this method.", +"flatPath": "v4/threatHits", +"httpMethod": "POST", +"id": "safebrowsing.threatHits.create", +"parameterOrder": [], +"parameters": {}, +"path": "v4/threatHits", +"request": { +"$ref": "GoogleSecuritySafebrowsingV4ThreatHit" +}, +"response": { +"$ref": "GoogleProtobufEmpty" +} +} +} +}, +"threatListUpdates": { +"methods": { +"fetch": { +"description": "Fetches the most recent threat list updates. A client can request updates for multiple lists at once.", +"flatPath": "v4/threatListUpdates:fetch", +"httpMethod": "POST", +"id": "safebrowsing.threatListUpdates.fetch", +"parameterOrder": [], +"parameters": {}, +"path": "v4/threatListUpdates:fetch", +"request": { +"$ref": "GoogleSecuritySafebrowsingV4FetchThreatListUpdatesRequest" +}, +"response": { +"$ref": "GoogleSecuritySafebrowsingV4FetchThreatListUpdatesResponse" +} +} +} +}, +"threatLists": { +"methods": { +"list": { +"description": "Lists the Safe Browsing threat lists available for download.", +"flatPath": "v4/threatLists", +"httpMethod": "GET", +"id": "safebrowsing.threatLists.list", +"parameterOrder": [], +"parameters": {}, +"path": "v4/threatLists", +"response": { +"$ref": "GoogleSecuritySafebrowsingV4ListThreatListsResponse" +} +} +} +}, +"threatMatches": { +"methods": { +"find": { +"description": "Finds the threat entries that match the Safe Browsing lists.", +"flatPath": "v4/threatMatches:find", +"httpMethod": "POST", +"id": "safebrowsing.threatMatches.find", +"parameterOrder": [], +"parameters": {}, +"path": "v4/threatMatches:find", +"request": { +"$ref": "GoogleSecuritySafebrowsingV4FindThreatMatchesRequest" +}, +"response": { +"$ref": "GoogleSecuritySafebrowsingV4FindThreatMatchesResponse" +} +} +} +} +}, +"revision": "20240630", +"rootUrl": "https://safebrowsing.googleapis.com/", +"schemas": { +"GoogleProtobufEmpty": { +"description": "A generic empty message that you can re-use to avoid defining duplicated empty messages in your APIs. A typical example is to use it as the request or the response type of an API method. For instance: service Foo { rpc Bar(google.protobuf.Empty) returns (google.protobuf.Empty); }", +"id": "GoogleProtobufEmpty", +"properties": {}, +"type": "object" +}, +"GoogleSecuritySafebrowsingV4Checksum": { +"description": "The expected state of a client's local database.", +"id": "GoogleSecuritySafebrowsingV4Checksum", +"properties": { +"sha256": { +"description": "The SHA256 hash of the client state; that is, of the sorted list of all hashes present in the database.", +"format": "byte", +"type": "string" +} +}, +"type": "object" +}, +"GoogleSecuritySafebrowsingV4ClientInfo": { +"description": "The client metadata associated with Safe Browsing API requests.", +"id": "GoogleSecuritySafebrowsingV4ClientInfo", +"properties": { +"clientId": { +"description": "A client ID that (hopefully) uniquely identifies the client implementation of the Safe Browsing API.", +"type": "string" +}, +"clientVersion": { +"description": "The version of the client implementation.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleSecuritySafebrowsingV4FetchThreatListUpdatesRequest": { +"description": "Describes a Safe Browsing API update request. Clients can request updates for multiple lists in a single request. The server may not respond to all requests, if the server has no updates for that list. NOTE: Field index 2 is unused. NEXT: 5", +"id": "GoogleSecuritySafebrowsingV4FetchThreatListUpdatesRequest", +"properties": { +"client": { +"$ref": "GoogleSecuritySafebrowsingV4ClientInfo", +"description": "The client metadata." +}, +"listUpdateRequests": { +"description": "The requested threat list updates.", +"items": { +"$ref": "GoogleSecuritySafebrowsingV4FetchThreatListUpdatesRequestListUpdateRequest" +}, +"type": "array" +} +}, +"type": "object" +}, +"GoogleSecuritySafebrowsingV4FetchThreatListUpdatesRequestListUpdateRequest": { +"description": "A single list update request.", +"id": "GoogleSecuritySafebrowsingV4FetchThreatListUpdatesRequestListUpdateRequest", +"properties": { +"constraints": { +"$ref": "GoogleSecuritySafebrowsingV4FetchThreatListUpdatesRequestListUpdateRequestConstraints", +"description": "The constraints associated with this request." +}, +"platformType": { +"description": "The type of platform at risk by entries present in the list.", +"enum": [ +"PLATFORM_TYPE_UNSPECIFIED", +"WINDOWS", +"LINUX", +"ANDROID", +"OSX", +"IOS", +"ANY_PLATFORM", +"ALL_PLATFORMS", +"CHROME" +], +"enumDescriptions": [ +"Unknown platform.", +"Threat posed to Windows.", +"Threat posed to Linux.", +"Threat posed to Android.", +"Threat posed to OS X.", +"Threat posed to iOS.", +"Threat posed to at least one of the defined platforms.", +"Threat posed to all defined platforms.", +"Threat posed to Chrome." +], +"type": "string" +}, +"state": { +"description": "The current state of the client for the requested list (the encrypted client state that was received from the last successful list update).", +"format": "byte", +"type": "string" +}, +"threatEntryType": { +"description": "The types of entries present in the list.", +"enum": [ +"THREAT_ENTRY_TYPE_UNSPECIFIED", +"URL", +"EXECUTABLE", +"IP_RANGE", +"CHROME_EXTENSION", +"FILENAME", +"CERT" +], +"enumDescriptions": [ +"Unspecified.", +"A URL.", +"An executable program.", +"An IP range.", +"Chrome extension.", +"Filename.", +"CERT" +], +"type": "string" +}, +"threatType": { +"description": "The type of threat posed by entries present in the list.", +"enum": [ +"THREAT_TYPE_UNSPECIFIED", +"MALWARE", +"SOCIAL_ENGINEERING", +"UNWANTED_SOFTWARE", +"POTENTIALLY_HARMFUL_APPLICATION", +"SOCIAL_ENGINEERING_INTERNAL", +"API_ABUSE", +"MALICIOUS_BINARY", +"CSD_WHITELIST", +"CSD_DOWNLOAD_WHITELIST", +"CLIENT_INCIDENT", +"CLIENT_INCIDENT_WHITELIST", +"APK_MALWARE_OFFLINE", +"SUBRESOURCE_FILTER", +"SUSPICIOUS", +"TRICK_TO_BILL", +"HIGH_CONFIDENCE_ALLOWLIST", +"ACCURACY_TIPS" +], +"enumDescriptions": [ +"Unknown.", +"Malware threat type.", +"Social engineering threat type.", +"Unwanted software threat type.", +"Potentially harmful application threat type.", +"Social engineering threat type for internal use.", +"API abuse threat type.", +"Malicious binary threat type.", +"Client side detection whitelist threat type.", +"Client side download detection whitelist threat type.", +"Client incident threat type.", +"Whitelist used when detecting client incident threats.", +"List used for offline APK checks in PAM.", +"Patterns to be used for activating the subresource filter.", +"Entities that are suspected to present a threat.", +"Trick-to-bill threat type.", +"URL expressions that are very likely to be safe.", +"An experimental threat type related to Jigsaw. See https://jigsaw.google.com/." +], +"type": "string" +} +}, +"type": "object" +}, +"GoogleSecuritySafebrowsingV4FetchThreatListUpdatesRequestListUpdateRequestConstraints": { +"description": "The constraints for this update.", +"id": "GoogleSecuritySafebrowsingV4FetchThreatListUpdatesRequestListUpdateRequestConstraints", +"properties": { +"deviceLocation": { +"description": "A client's physical location, expressed as a ISO 31166-1 alpha-2 region code.", +"type": "string" +}, +"language": { +"description": "Requests the lists for a specific language. Expects ISO 639 alpha-2 format.", +"type": "string" +}, +"maxDatabaseEntries": { +"description": "Sets the maximum number of entries that the client is willing to have in the local database for the specified list. This should be a power of 2 between 2**10 and 2**20. If zero, no database size limit is set.", +"format": "int32", +"type": "integer" +}, +"maxUpdateEntries": { +"description": "The maximum size in number of entries. The update will not contain more entries than this value. This should be a power of 2 between 2**10 and 2**20. If zero, no update size limit is set.", +"format": "int32", +"type": "integer" +}, +"region": { +"description": "Requests the list for a specific geographic location. If not set the server may pick that value based on the user's IP address. Expects ISO 3166-1 alpha-2 format.", +"type": "string" +}, +"supportedCompressions": { +"description": "The compression types supported by the client.", +"items": { +"enum": [ +"COMPRESSION_TYPE_UNSPECIFIED", +"RAW", +"RICE" +], +"enumDescriptions": [ +"Unknown.", +"Raw, uncompressed data.", +"Rice-Golomb encoded data." +], +"type": "string" +}, +"type": "array" +} +}, +"type": "object" +}, +"GoogleSecuritySafebrowsingV4FetchThreatListUpdatesResponse": { +"id": "GoogleSecuritySafebrowsingV4FetchThreatListUpdatesResponse", +"properties": { +"listUpdateResponses": { +"description": "The list updates requested by the clients. The number of responses here may be less than the number of requests sent by clients. This is the case, for example, if the server has no updates for a particular list.", +"items": { +"$ref": "GoogleSecuritySafebrowsingV4FetchThreatListUpdatesResponseListUpdateResponse" +}, +"type": "array" +}, +"minimumWaitDuration": { +"description": "The minimum duration the client must wait before issuing any update request. If this field is not set clients may update as soon as they want.", +"format": "google-duration", +"type": "string" +} +}, +"type": "object" +}, +"GoogleSecuritySafebrowsingV4FetchThreatListUpdatesResponseListUpdateResponse": { +"description": "An update to an individual list.", +"id": "GoogleSecuritySafebrowsingV4FetchThreatListUpdatesResponseListUpdateResponse", +"properties": { +"additions": { +"description": "A set of entries to add to a local threat type's list. Repeated to allow for a combination of compressed and raw data to be sent in a single response.", +"items": { +"$ref": "GoogleSecuritySafebrowsingV4ThreatEntrySet" +}, +"type": "array" +}, +"checksum": { +"$ref": "GoogleSecuritySafebrowsingV4Checksum", +"description": "The expected SHA256 hash of the client state; that is, of the sorted list of all hashes present in the database after applying the provided update. If the client state doesn't match the expected state, the client must disregard this update and retry later." +}, +"newClientState": { +"description": "The new client state, in encrypted format. Opaque to clients.", +"format": "byte", +"type": "string" +}, +"platformType": { +"description": "The platform type for which data is returned.", +"enum": [ +"PLATFORM_TYPE_UNSPECIFIED", +"WINDOWS", +"LINUX", +"ANDROID", +"OSX", +"IOS", +"ANY_PLATFORM", +"ALL_PLATFORMS", +"CHROME" +], +"enumDescriptions": [ +"Unknown platform.", +"Threat posed to Windows.", +"Threat posed to Linux.", +"Threat posed to Android.", +"Threat posed to OS X.", +"Threat posed to iOS.", +"Threat posed to at least one of the defined platforms.", +"Threat posed to all defined platforms.", +"Threat posed to Chrome." +], +"type": "string" +}, +"removals": { +"description": "A set of entries to remove from a local threat type's list. In practice, this field is empty or contains exactly one ThreatEntrySet.", +"items": { +"$ref": "GoogleSecuritySafebrowsingV4ThreatEntrySet" +}, +"type": "array" +}, +"responseType": { +"description": "The type of response. This may indicate that an action is required by the client when the response is received.", +"enum": [ +"RESPONSE_TYPE_UNSPECIFIED", +"PARTIAL_UPDATE", +"FULL_UPDATE" +], +"enumDescriptions": [ +"Unknown.", +"Partial updates are applied to the client's existing local database.", +"Full updates replace the client's entire local database. This means that either the client was seriously out-of-date or the client is believed to be corrupt." +], +"type": "string" +}, +"threatEntryType": { +"description": "The format of the threats.", +"enum": [ +"THREAT_ENTRY_TYPE_UNSPECIFIED", +"URL", +"EXECUTABLE", +"IP_RANGE", +"CHROME_EXTENSION", +"FILENAME", +"CERT" +], +"enumDescriptions": [ +"Unspecified.", +"A URL.", +"An executable program.", +"An IP range.", +"Chrome extension.", +"Filename.", +"CERT" +], +"type": "string" +}, +"threatType": { +"description": "The threat type for which data is returned.", +"enum": [ +"THREAT_TYPE_UNSPECIFIED", +"MALWARE", +"SOCIAL_ENGINEERING", +"UNWANTED_SOFTWARE", +"POTENTIALLY_HARMFUL_APPLICATION", +"SOCIAL_ENGINEERING_INTERNAL", +"API_ABUSE", +"MALICIOUS_BINARY", +"CSD_WHITELIST", +"CSD_DOWNLOAD_WHITELIST", +"CLIENT_INCIDENT", +"CLIENT_INCIDENT_WHITELIST", +"APK_MALWARE_OFFLINE", +"SUBRESOURCE_FILTER", +"SUSPICIOUS", +"TRICK_TO_BILL", +"HIGH_CONFIDENCE_ALLOWLIST", +"ACCURACY_TIPS" +], +"enumDescriptions": [ +"Unknown.", +"Malware threat type.", +"Social engineering threat type.", +"Unwanted software threat type.", +"Potentially harmful application threat type.", +"Social engineering threat type for internal use.", +"API abuse threat type.", +"Malicious binary threat type.", +"Client side detection whitelist threat type.", +"Client side download detection whitelist threat type.", +"Client incident threat type.", +"Whitelist used when detecting client incident threats.", +"List used for offline APK checks in PAM.", +"Patterns to be used for activating the subresource filter.", +"Entities that are suspected to present a threat.", +"Trick-to-bill threat type.", +"URL expressions that are very likely to be safe.", +"An experimental threat type related to Jigsaw. See https://jigsaw.google.com/." +], +"type": "string" +} +}, +"type": "object" +}, +"GoogleSecuritySafebrowsingV4FindFullHashesRequest": { +"description": "Request to return full hashes matched by the provided hash prefixes.", +"id": "GoogleSecuritySafebrowsingV4FindFullHashesRequest", +"properties": { +"apiClient": { +"$ref": "GoogleSecuritySafebrowsingV4ClientInfo", +"description": "Client metadata associated with callers of higher-level APIs built on top of the client's implementation." +}, +"client": { +"$ref": "GoogleSecuritySafebrowsingV4ClientInfo", +"description": "The client metadata." +}, +"clientStates": { +"description": "The current client states for each of the client's local threat lists.", +"items": { +"format": "byte", +"type": "string" +}, +"type": "array" +}, +"threatInfo": { +"$ref": "GoogleSecuritySafebrowsingV4ThreatInfo", +"description": "The lists and hashes to be checked." +} +}, +"type": "object" +}, +"GoogleSecuritySafebrowsingV4FindFullHashesResponse": { +"id": "GoogleSecuritySafebrowsingV4FindFullHashesResponse", +"properties": { +"matches": { +"description": "The full hashes that matched the requested prefixes.", +"items": { +"$ref": "GoogleSecuritySafebrowsingV4ThreatMatch" +}, +"type": "array" +}, +"minimumWaitDuration": { +"description": "The minimum duration the client must wait before issuing any find hashes request. If this field is not set, clients can issue a request as soon as they want.", +"format": "google-duration", +"type": "string" +}, +"negativeCacheDuration": { +"description": "For requested entities that did not match the threat list, how long to cache the response.", +"format": "google-duration", +"type": "string" +} +}, +"type": "object" +}, +"GoogleSecuritySafebrowsingV4FindThreatMatchesRequest": { +"description": "Request to check entries against lists.", +"id": "GoogleSecuritySafebrowsingV4FindThreatMatchesRequest", +"properties": { +"client": { +"$ref": "GoogleSecuritySafebrowsingV4ClientInfo", +"description": "The client metadata." +}, +"threatInfo": { +"$ref": "GoogleSecuritySafebrowsingV4ThreatInfo", +"description": "The lists and entries to be checked for matches." +} +}, +"type": "object" +}, +"GoogleSecuritySafebrowsingV4FindThreatMatchesResponse": { +"id": "GoogleSecuritySafebrowsingV4FindThreatMatchesResponse", +"properties": { +"matches": { +"description": "The threat list matches.", +"items": { +"$ref": "GoogleSecuritySafebrowsingV4ThreatMatch" +}, +"type": "array" +} +}, +"type": "object" +}, +"GoogleSecuritySafebrowsingV4ListThreatListsResponse": { +"id": "GoogleSecuritySafebrowsingV4ListThreatListsResponse", +"properties": { +"threatLists": { +"description": "The lists available for download by the client.", +"items": { +"$ref": "GoogleSecuritySafebrowsingV4ThreatListDescriptor" +}, +"type": "array" +} +}, +"type": "object" +}, +"GoogleSecuritySafebrowsingV4RawHashes": { +"description": "The uncompressed threat entries in hash format of a particular prefix length. Hashes can be anywhere from 4 to 32 bytes in size. A large majority are 4 bytes, but some hashes are lengthened if they collide with the hash of a popular URL. Used for sending ThreatEntrySet to clients that do not support compression, or when sending non-4-byte hashes to clients that do support compression.", +"id": "GoogleSecuritySafebrowsingV4RawHashes", +"properties": { +"prefixSize": { +"description": "The number of bytes for each prefix encoded below. This field can be anywhere from 4 (shortest prefix) to 32 (full SHA256 hash).", +"format": "int32", +"type": "integer" +}, +"rawHashes": { +"description": "The hashes, in binary format, concatenated into one long string. Hashes are sorted in lexicographic order. For JSON API users, hashes are base64-encoded.", +"format": "byte", +"type": "string" +} +}, +"type": "object" +}, +"GoogleSecuritySafebrowsingV4RawIndices": { +"description": "A set of raw indices to remove from a local list.", +"id": "GoogleSecuritySafebrowsingV4RawIndices", +"properties": { +"indices": { +"description": "The indices to remove from a lexicographically-sorted local list.", +"items": { +"format": "int32", +"type": "integer" +}, +"type": "array" +} +}, +"type": "object" +}, +"GoogleSecuritySafebrowsingV4RiceDeltaEncoding": { +"description": "The Rice-Golomb encoded data. Used for sending compressed 4-byte hashes or compressed removal indices.", +"id": "GoogleSecuritySafebrowsingV4RiceDeltaEncoding", +"properties": { +"encodedData": { +"description": "The encoded deltas that are encoded using the Golomb-Rice coder.", +"format": "byte", +"type": "string" +}, +"firstValue": { +"description": "The offset of the first entry in the encoded data, or, if only a single integer was encoded, that single integer's value. If the field is empty or missing, assume zero.", +"format": "int64", +"type": "string" +}, +"numEntries": { +"description": "The number of entries that are delta encoded in the encoded data. If only a single integer was encoded, this will be zero and the single value will be stored in `first_value`.", +"format": "int32", +"type": "integer" +}, +"riceParameter": { +"description": "The Golomb-Rice parameter, which is a number between 2 and 28. This field is missing (that is, zero) if `num_entries` is zero.", +"format": "int32", +"type": "integer" +} +}, +"type": "object" +}, +"GoogleSecuritySafebrowsingV4ThreatEntry": { +"description": "An individual threat; for example, a malicious URL or its hash representation. Only one of these fields should be set.", +"id": "GoogleSecuritySafebrowsingV4ThreatEntry", +"properties": { +"digest": { +"description": "The digest of an executable in SHA256 format. The API supports both binary and hex digests. For JSON requests, digests are base64-encoded.", +"format": "byte", +"type": "string" +}, +"hash": { +"description": "A hash prefix, consisting of the most significant 4-32 bytes of a SHA256 hash. This field is in binary format. For JSON requests, hashes are base64-encoded.", +"format": "byte", +"type": "string" +}, +"url": { +"description": "A URL.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleSecuritySafebrowsingV4ThreatEntryMetadata": { +"description": "The metadata associated with a specific threat entry. The client is expected to know the metadata key/value pairs associated with each threat type.", +"id": "GoogleSecuritySafebrowsingV4ThreatEntryMetadata", +"properties": { +"entries": { +"description": "The metadata entries.", +"items": { +"$ref": "GoogleSecuritySafebrowsingV4ThreatEntryMetadataMetadataEntry" +}, +"type": "array" +} +}, +"type": "object" +}, +"GoogleSecuritySafebrowsingV4ThreatEntryMetadataMetadataEntry": { +"description": "A single metadata entry.", +"id": "GoogleSecuritySafebrowsingV4ThreatEntryMetadataMetadataEntry", +"properties": { +"key": { +"description": "The metadata entry key. For JSON requests, the key is base64-encoded.", +"format": "byte", +"type": "string" +}, +"value": { +"description": "The metadata entry value. For JSON requests, the value is base64-encoded.", +"format": "byte", +"type": "string" +} +}, +"type": "object" +}, +"GoogleSecuritySafebrowsingV4ThreatEntrySet": { +"description": "A set of threats that should be added or removed from a client's local database.", +"id": "GoogleSecuritySafebrowsingV4ThreatEntrySet", +"properties": { +"compressionType": { +"description": "The compression type for the entries in this set.", +"enum": [ +"COMPRESSION_TYPE_UNSPECIFIED", +"RAW", +"RICE" +], +"enumDescriptions": [ +"Unknown.", +"Raw, uncompressed data.", +"Rice-Golomb encoded data." +], +"type": "string" +}, +"rawHashes": { +"$ref": "GoogleSecuritySafebrowsingV4RawHashes", +"description": "The raw SHA256-formatted entries." +}, +"rawIndices": { +"$ref": "GoogleSecuritySafebrowsingV4RawIndices", +"description": "The raw removal indices for a local list." +}, +"riceHashes": { +"$ref": "GoogleSecuritySafebrowsingV4RiceDeltaEncoding", +"description": "The encoded 4-byte prefixes of SHA256-formatted entries, using a Golomb-Rice encoding. The hashes are converted to uint32, sorted in ascending order, then delta encoded and stored as encoded_data." +}, +"riceIndices": { +"$ref": "GoogleSecuritySafebrowsingV4RiceDeltaEncoding", +"description": "The encoded local, lexicographically-sorted list indices, using a Golomb-Rice encoding. Used for sending compressed removal indices. The removal indices (uint32) are sorted in ascending order, then delta encoded and stored as encoded_data." +} +}, +"type": "object" +}, +"GoogleSecuritySafebrowsingV4ThreatHit": { +"id": "GoogleSecuritySafebrowsingV4ThreatHit", +"properties": { +"clientInfo": { +"$ref": "GoogleSecuritySafebrowsingV4ClientInfo", +"description": "Client-reported identification." +}, +"entry": { +"$ref": "GoogleSecuritySafebrowsingV4ThreatEntry", +"description": "The threat entry responsible for the hit. Full hash should be reported for hash-based hits." +}, +"platformType": { +"description": "The platform type reported.", +"enum": [ +"PLATFORM_TYPE_UNSPECIFIED", +"WINDOWS", +"LINUX", +"ANDROID", +"OSX", +"IOS", +"ANY_PLATFORM", +"ALL_PLATFORMS", +"CHROME" +], +"enumDescriptions": [ +"Unknown platform.", +"Threat posed to Windows.", +"Threat posed to Linux.", +"Threat posed to Android.", +"Threat posed to OS X.", +"Threat posed to iOS.", +"Threat posed to at least one of the defined platforms.", +"Threat posed to all defined platforms.", +"Threat posed to Chrome." +], +"type": "string" +}, +"resources": { +"description": "The resources related to the threat hit.", +"items": { +"$ref": "GoogleSecuritySafebrowsingV4ThreatHitThreatSource" +}, +"type": "array" +}, +"threatType": { +"description": "The threat type reported.", +"enum": [ +"THREAT_TYPE_UNSPECIFIED", +"MALWARE", +"SOCIAL_ENGINEERING", +"UNWANTED_SOFTWARE", +"POTENTIALLY_HARMFUL_APPLICATION", +"SOCIAL_ENGINEERING_INTERNAL", +"API_ABUSE", +"MALICIOUS_BINARY", +"CSD_WHITELIST", +"CSD_DOWNLOAD_WHITELIST", +"CLIENT_INCIDENT", +"CLIENT_INCIDENT_WHITELIST", +"APK_MALWARE_OFFLINE", +"SUBRESOURCE_FILTER", +"SUSPICIOUS", +"TRICK_TO_BILL", +"HIGH_CONFIDENCE_ALLOWLIST", +"ACCURACY_TIPS" +], +"enumDescriptions": [ +"Unknown.", +"Malware threat type.", +"Social engineering threat type.", +"Unwanted software threat type.", +"Potentially harmful application threat type.", +"Social engineering threat type for internal use.", +"API abuse threat type.", +"Malicious binary threat type.", +"Client side detection whitelist threat type.", +"Client side download detection whitelist threat type.", +"Client incident threat type.", +"Whitelist used when detecting client incident threats.", +"List used for offline APK checks in PAM.", +"Patterns to be used for activating the subresource filter.", +"Entities that are suspected to present a threat.", +"Trick-to-bill threat type.", +"URL expressions that are very likely to be safe.", +"An experimental threat type related to Jigsaw. See https://jigsaw.google.com/." +], +"type": "string" +}, +"userInfo": { +"$ref": "GoogleSecuritySafebrowsingV4ThreatHitUserInfo", +"description": "Details about the user that encountered the threat." +} +}, +"type": "object" +}, +"GoogleSecuritySafebrowsingV4ThreatHitThreatSource": { +"description": "A single resource related to a threat hit.", +"id": "GoogleSecuritySafebrowsingV4ThreatHitThreatSource", +"properties": { +"referrer": { +"description": "Referrer of the resource. Only set if the referrer is available.", +"type": "string" +}, +"remoteIp": { +"description": "The remote IP of the resource in ASCII format. Either IPv4 or IPv6.", +"type": "string" +}, +"type": { +"description": "The type of source reported.", +"enum": [ +"THREAT_SOURCE_TYPE_UNSPECIFIED", +"MATCHING_URL", +"TAB_URL", +"TAB_REDIRECT", +"TAB_RESOURCE" +], +"enumDescriptions": [ +"Unknown.", +"The URL that matched the threat list (for which GetFullHash returned a valid hash).", +"The final top-level URL of the tab that the client was browsing when the match occurred.", +"A redirect URL that was fetched before hitting the final TAB_URL.", +"A resource loaded within the final TAB_URL." +], +"type": "string" +}, +"url": { +"description": "The URL of the resource.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleSecuritySafebrowsingV4ThreatHitUserInfo": { +"description": "Details about the user that encountered the threat.", +"id": "GoogleSecuritySafebrowsingV4ThreatHitUserInfo", +"properties": { +"regionCode": { +"description": "The UN M.49 region code associated with the user's location.", +"type": "string" +}, +"userId": { +"description": "Unique user identifier defined by the client.", +"format": "byte", +"type": "string" +} +}, +"type": "object" +}, +"GoogleSecuritySafebrowsingV4ThreatInfo": { +"description": "The information regarding one or more threats that a client submits when checking for matches in threat lists.", +"id": "GoogleSecuritySafebrowsingV4ThreatInfo", +"properties": { +"platformTypes": { +"description": "The platform types to be checked.", +"items": { +"enum": [ +"PLATFORM_TYPE_UNSPECIFIED", +"WINDOWS", +"LINUX", +"ANDROID", +"OSX", +"IOS", +"ANY_PLATFORM", +"ALL_PLATFORMS", +"CHROME" +], +"enumDescriptions": [ +"Unknown platform.", +"Threat posed to Windows.", +"Threat posed to Linux.", +"Threat posed to Android.", +"Threat posed to OS X.", +"Threat posed to iOS.", +"Threat posed to at least one of the defined platforms.", +"Threat posed to all defined platforms.", +"Threat posed to Chrome." +], +"type": "string" +}, +"type": "array" +}, +"threatEntries": { +"description": "The threat entries to be checked.", +"items": { +"$ref": "GoogleSecuritySafebrowsingV4ThreatEntry" +}, +"type": "array" +}, +"threatEntryTypes": { +"description": "The entry types to be checked.", +"items": { +"enum": [ +"THREAT_ENTRY_TYPE_UNSPECIFIED", +"URL", +"EXECUTABLE", +"IP_RANGE", +"CHROME_EXTENSION", +"FILENAME", +"CERT" +], +"enumDescriptions": [ +"Unspecified.", +"A URL.", +"An executable program.", +"An IP range.", +"Chrome extension.", +"Filename.", +"CERT" +], +"type": "string" +}, +"type": "array" +}, +"threatTypes": { +"description": "The threat types to be checked.", +"items": { +"enum": [ +"THREAT_TYPE_UNSPECIFIED", +"MALWARE", +"SOCIAL_ENGINEERING", +"UNWANTED_SOFTWARE", +"POTENTIALLY_HARMFUL_APPLICATION", +"SOCIAL_ENGINEERING_INTERNAL", +"API_ABUSE", +"MALICIOUS_BINARY", +"CSD_WHITELIST", +"CSD_DOWNLOAD_WHITELIST", +"CLIENT_INCIDENT", +"CLIENT_INCIDENT_WHITELIST", +"APK_MALWARE_OFFLINE", +"SUBRESOURCE_FILTER", +"SUSPICIOUS", +"TRICK_TO_BILL", +"HIGH_CONFIDENCE_ALLOWLIST", +"ACCURACY_TIPS" +], +"enumDescriptions": [ +"Unknown.", +"Malware threat type.", +"Social engineering threat type.", +"Unwanted software threat type.", +"Potentially harmful application threat type.", +"Social engineering threat type for internal use.", +"API abuse threat type.", +"Malicious binary threat type.", +"Client side detection whitelist threat type.", +"Client side download detection whitelist threat type.", +"Client incident threat type.", +"Whitelist used when detecting client incident threats.", +"List used for offline APK checks in PAM.", +"Patterns to be used for activating the subresource filter.", +"Entities that are suspected to present a threat.", +"Trick-to-bill threat type.", +"URL expressions that are very likely to be safe.", +"An experimental threat type related to Jigsaw. See https://jigsaw.google.com/." +], +"type": "string" +}, +"type": "array" +} +}, +"type": "object" +}, +"GoogleSecuritySafebrowsingV4ThreatListDescriptor": { +"description": "Describes an individual threat list. A list is defined by three parameters: the type of threat posed, the type of platform targeted by the threat, and the type of entries in the list.", +"id": "GoogleSecuritySafebrowsingV4ThreatListDescriptor", +"properties": { +"platformType": { +"description": "The platform type targeted by the list's entries.", +"enum": [ +"PLATFORM_TYPE_UNSPECIFIED", +"WINDOWS", +"LINUX", +"ANDROID", +"OSX", +"IOS", +"ANY_PLATFORM", +"ALL_PLATFORMS", +"CHROME" +], +"enumDescriptions": [ +"Unknown platform.", +"Threat posed to Windows.", +"Threat posed to Linux.", +"Threat posed to Android.", +"Threat posed to OS X.", +"Threat posed to iOS.", +"Threat posed to at least one of the defined platforms.", +"Threat posed to all defined platforms.", +"Threat posed to Chrome." +], +"type": "string" +}, +"threatEntryType": { +"description": "The entry types contained in the list.", +"enum": [ +"THREAT_ENTRY_TYPE_UNSPECIFIED", +"URL", +"EXECUTABLE", +"IP_RANGE", +"CHROME_EXTENSION", +"FILENAME", +"CERT" +], +"enumDescriptions": [ +"Unspecified.", +"A URL.", +"An executable program.", +"An IP range.", +"Chrome extension.", +"Filename.", +"CERT" +], +"type": "string" +}, +"threatType": { +"description": "The threat type posed by the list's entries.", +"enum": [ +"THREAT_TYPE_UNSPECIFIED", +"MALWARE", +"SOCIAL_ENGINEERING", +"UNWANTED_SOFTWARE", +"POTENTIALLY_HARMFUL_APPLICATION", +"SOCIAL_ENGINEERING_INTERNAL", +"API_ABUSE", +"MALICIOUS_BINARY", +"CSD_WHITELIST", +"CSD_DOWNLOAD_WHITELIST", +"CLIENT_INCIDENT", +"CLIENT_INCIDENT_WHITELIST", +"APK_MALWARE_OFFLINE", +"SUBRESOURCE_FILTER", +"SUSPICIOUS", +"TRICK_TO_BILL", +"HIGH_CONFIDENCE_ALLOWLIST", +"ACCURACY_TIPS" +], +"enumDescriptions": [ +"Unknown.", +"Malware threat type.", +"Social engineering threat type.", +"Unwanted software threat type.", +"Potentially harmful application threat type.", +"Social engineering threat type for internal use.", +"API abuse threat type.", +"Malicious binary threat type.", +"Client side detection whitelist threat type.", +"Client side download detection whitelist threat type.", +"Client incident threat type.", +"Whitelist used when detecting client incident threats.", +"List used for offline APK checks in PAM.", +"Patterns to be used for activating the subresource filter.", +"Entities that are suspected to present a threat.", +"Trick-to-bill threat type.", +"URL expressions that are very likely to be safe.", +"An experimental threat type related to Jigsaw. See https://jigsaw.google.com/." +], +"type": "string" +} +}, +"type": "object" +}, +"GoogleSecuritySafebrowsingV4ThreatMatch": { +"description": "A match when checking a threat entry in the Safe Browsing threat lists.", +"id": "GoogleSecuritySafebrowsingV4ThreatMatch", +"properties": { +"cacheDuration": { +"description": "The cache lifetime for the returned match. Clients must not cache this response for more than this duration to avoid false positives.", +"format": "google-duration", +"type": "string" +}, +"platformType": { +"description": "The platform type matching this threat.", +"enum": [ +"PLATFORM_TYPE_UNSPECIFIED", +"WINDOWS", +"LINUX", +"ANDROID", +"OSX", +"IOS", +"ANY_PLATFORM", +"ALL_PLATFORMS", +"CHROME" +], +"enumDescriptions": [ +"Unknown platform.", +"Threat posed to Windows.", +"Threat posed to Linux.", +"Threat posed to Android.", +"Threat posed to OS X.", +"Threat posed to iOS.", +"Threat posed to at least one of the defined platforms.", +"Threat posed to all defined platforms.", +"Threat posed to Chrome." +], +"type": "string" +}, +"threat": { +"$ref": "GoogleSecuritySafebrowsingV4ThreatEntry", +"description": "The threat matching this threat." +}, +"threatEntryMetadata": { +"$ref": "GoogleSecuritySafebrowsingV4ThreatEntryMetadata", +"description": "Optional metadata associated with this threat." +}, +"threatEntryType": { +"description": "The threat entry type matching this threat.", +"enum": [ +"THREAT_ENTRY_TYPE_UNSPECIFIED", +"URL", +"EXECUTABLE", +"IP_RANGE", +"CHROME_EXTENSION", +"FILENAME", +"CERT" +], +"enumDescriptions": [ +"Unspecified.", +"A URL.", +"An executable program.", +"An IP range.", +"Chrome extension.", +"Filename.", +"CERT" +], +"type": "string" +}, +"threatType": { +"description": "The threat type matching this threat.", +"enum": [ +"THREAT_TYPE_UNSPECIFIED", +"MALWARE", +"SOCIAL_ENGINEERING", +"UNWANTED_SOFTWARE", +"POTENTIALLY_HARMFUL_APPLICATION", +"SOCIAL_ENGINEERING_INTERNAL", +"API_ABUSE", +"MALICIOUS_BINARY", +"CSD_WHITELIST", +"CSD_DOWNLOAD_WHITELIST", +"CLIENT_INCIDENT", +"CLIENT_INCIDENT_WHITELIST", +"APK_MALWARE_OFFLINE", +"SUBRESOURCE_FILTER", +"SUSPICIOUS", +"TRICK_TO_BILL", +"HIGH_CONFIDENCE_ALLOWLIST", +"ACCURACY_TIPS" +], +"enumDescriptions": [ +"Unknown.", +"Malware threat type.", +"Social engineering threat type.", +"Unwanted software threat type.", +"Potentially harmful application threat type.", +"Social engineering threat type for internal use.", +"API abuse threat type.", +"Malicious binary threat type.", +"Client side detection whitelist threat type.", +"Client side download detection whitelist threat type.", +"Client incident threat type.", +"Whitelist used when detecting client incident threats.", +"List used for offline APK checks in PAM.", +"Patterns to be used for activating the subresource filter.", +"Entities that are suspected to present a threat.", +"Trick-to-bill threat type.", +"URL expressions that are very likely to be safe.", +"An experimental threat type related to Jigsaw. See https://jigsaw.google.com/." +], +"type": "string" +} +}, +"type": "object" +} +}, +"servicePath": "", +"title": "Safe Browsing API", +"version": "v4", +"version_module": true +} \ No newline at end of file diff --git a/.venv/lib/python3.11/site-packages/googleapiclient/discovery_cache/documents/safebrowsing.v5.json b/.venv/lib/python3.11/site-packages/googleapiclient/discovery_cache/documents/safebrowsing.v5.json new file mode 100644 index 0000000000000000000000000000000000000000..4a0a534447bbf935d62a8e2389481179d7a040f4 --- /dev/null +++ b/.venv/lib/python3.11/site-packages/googleapiclient/discovery_cache/documents/safebrowsing.v5.json @@ -0,0 +1,212 @@ +{ +"basePath": "", +"baseUrl": "https://safebrowsing.googleapis.com/", +"batchPath": "batch", +"canonicalName": "Safebrowsing", +"description": "Enables client applications to check web resources (most commonly URLs) against Google-generated lists of unsafe web resources. The Safe Browsing APIs are for non-commercial use only. If you need to use APIs to detect malicious URLs for commercial purposes \u2013 meaning \u201cfor sale or revenue-generating purposes\u201d \u2013 please refer to the Web Risk API.", +"discoveryVersion": "v1", +"documentationLink": "https://developers.google.com/safe-browsing/", +"fullyEncodeReservedExpansion": true, +"icons": { +"x16": "http://www.google.com/images/icons/product/search-16.gif", +"x32": "http://www.google.com/images/icons/product/search-32.gif" +}, +"id": "safebrowsing:v5", +"kind": "discovery#restDescription", +"mtlsRootUrl": "https://safebrowsing.mtls.googleapis.com/", +"name": "safebrowsing", +"ownerDomain": "google.com", +"ownerName": "Google", +"parameters": { +"$.xgafv": { +"description": "V1 error format.", +"enum": [ +"1", +"2" +], +"enumDescriptions": [ +"v1 error format", +"v2 error format" +], +"location": "query", +"type": "string" +}, +"access_token": { +"description": "OAuth access token.", +"location": "query", +"type": "string" +}, +"alt": { +"default": "json", +"description": "Data format for response.", +"enum": [ +"json", +"media", +"proto" +], +"enumDescriptions": [ +"Responses with Content-Type of application/json", +"Media download with context-dependent Content-Type", +"Responses with Content-Type of application/x-protobuf" +], +"location": "query", +"type": "string" +}, +"callback": { +"description": "JSONP", +"location": "query", +"type": "string" +}, +"fields": { +"description": "Selector specifying which fields to include in a partial response.", +"location": "query", +"type": "string" +}, +"key": { +"description": "API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token.", +"location": "query", +"type": "string" +}, +"oauth_token": { +"description": "OAuth 2.0 token for the current user.", +"location": "query", +"type": "string" +}, +"prettyPrint": { +"default": "true", +"description": "Returns response with indentations and line breaks.", +"location": "query", +"type": "boolean" +}, +"quotaUser": { +"description": "Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters.", +"location": "query", +"type": "string" +}, +"uploadType": { +"description": "Legacy upload protocol for media (e.g. \"media\", \"multipart\").", +"location": "query", +"type": "string" +}, +"upload_protocol": { +"description": "Upload protocol for media (e.g. \"raw\", \"multipart\").", +"location": "query", +"type": "string" +} +}, +"protocol": "rest", +"resources": { +"hashes": { +"methods": { +"search": { +"description": "Search for full hashes matching the specified prefixes. This is a custom method as defined by https://google.aip.dev/136 (the custom method refers to this method having a custom name within Google's general API development nomenclature; it does not refer to using a custom HTTP method).", +"flatPath": "v5/hashes:search", +"httpMethod": "GET", +"id": "safebrowsing.hashes.search", +"parameterOrder": [], +"parameters": { +"hashPrefixes": { +"description": "Required. The hash prefixes to be looked up. Clients MUST NOT send more than 1000 hash prefixes. However, following the URL processing procedure, clients SHOULD NOT need to send more than 30 hash prefixes. Currently each hash prefix is required to be exactly 4 bytes long. This MAY be relaxed in the future.", +"format": "byte", +"location": "query", +"repeated": true, +"type": "string" +} +}, +"path": "v5/hashes:search", +"response": { +"$ref": "GoogleSecuritySafebrowsingV5SearchHashesResponse" +} +} +} +} +}, +"revision": "20240630", +"rootUrl": "https://safebrowsing.googleapis.com/", +"schemas": { +"GoogleSecuritySafebrowsingV5FullHash": { +"description": "The full hash identified with one or more matches.", +"id": "GoogleSecuritySafebrowsingV5FullHash", +"properties": { +"fullHash": { +"description": "The matching full hash. This is the SHA256 hash. The length will be exactly 32 bytes.", +"format": "byte", +"type": "string" +}, +"fullHashDetails": { +"description": "Unordered list. A repeated field identifying the details relevant to this full hash.", +"items": { +"$ref": "GoogleSecuritySafebrowsingV5FullHashFullHashDetail" +}, +"type": "array" +} +}, +"type": "object" +}, +"GoogleSecuritySafebrowsingV5FullHashFullHashDetail": { +"description": "Details about a matching full hash. An important note about forward compatibility: new threat types and threat attributes may be added by the server at any time; those additions are considered minor version changes. It is Google's policy not to expose minor version numbers in APIs (see https://cloud.google.com/apis/design/versioning for the versioning policy), so clients MUST be prepared to receive `FullHashDetail` messages containing `ThreatType` enum values or `ThreatAttribute` enum values that are considered invalid by the client. Therefore, it is the client's responsibility to check for the validity of all `ThreatType` and `ThreatAttribute` enum values; if any value is considered invalid, the client MUST disregard the entire `FullHashDetail` message.", +"id": "GoogleSecuritySafebrowsingV5FullHashFullHashDetail", +"properties": { +"attributes": { +"description": "Unordered list. Additional attributes about those full hashes. This may be empty.", +"items": { +"enum": [ +"THREAT_ATTRIBUTE_UNSPECIFIED", +"CANARY", +"FRAME_ONLY" +], +"enumDescriptions": [ +"Unknown attribute. If this is returned by the server, the client shall disregard the enclosing `FullHashDetail` altogether.", +"Indicates that the threat_type should not be used for enforcement.", +"Indicates that the threat_type should only be used for enforcement on frames." +], +"type": "string" +}, +"type": "array" +}, +"threatType": { +"description": "The type of threat. This field will never be empty.", +"enum": [ +"THREAT_TYPE_UNSPECIFIED", +"MALWARE", +"SOCIAL_ENGINEERING", +"UNWANTED_SOFTWARE", +"POTENTIALLY_HARMFUL_APPLICATION" +], +"enumDescriptions": [ +"Unknown threat type. If this is returned by the server, the client shall disregard the enclosing `FullHashDetail` altogether.", +"Malware threat type. Malware is any software or mobile application specifically designed to harm a computer, a mobile device, the software it's running, or its users. Malware exhibits malicious behavior that can include installing software without user consent and installing harmful software such as viruses. More information can be found [here](https://developers.google.com/search/docs/monitor-debug/security/malware).", +"Social engineering threat type. Social engineering pages falsely purport to act on behalf of a third party with the intention of confusing viewers into performing an action with which the viewer would only trust a true agent of that third party. Phishing is a type of social engineering that tricks the viewer into performing the specific action of providing information, such as login credentials. More information can be found [here](https://developers.google.com/search/docs/monitor-debug/security/social-engineering).", +"Unwanted software threat type. Unwanted software is any software that does not adhere to [Google's Software Principles](https://www.google.com/about/software-principles.html) but isn't malware.", +"Potentially harmful application threat type [as used by Google Play Protect for the Play Store](https://developers.google.com/android/play-protect/potentially-harmful-applications)." +], +"type": "string" +} +}, +"type": "object" +}, +"GoogleSecuritySafebrowsingV5SearchHashesResponse": { +"description": "The response returned after searching threat hashes. If nothing is found, the server will return an OK status (HTTP status code 200) with the `full_hashes` field empty, rather than returning a NOT_FOUND status (HTTP status code 404). **What's new in V5**: There is a separation between `FullHash` and `FullHashDetail`. In the case when a hash represents a site having multiple threats (e.g. both MALWARE and SOCIAL_ENGINEERING), the full hash does not need to be sent twice as in V4. Furthermore, the cache duration has been simplified into a single `cache_duration` field.", +"id": "GoogleSecuritySafebrowsingV5SearchHashesResponse", +"properties": { +"cacheDuration": { +"description": "The client-side cache duration. The client MUST add this duration to the current time to determine the expiration time. The expiration time then applies to every hash prefix queried by the client in the request, regardless of how many full hashes are returned in the response. Even if the server returns no full hashes for a particular hash prefix, this fact MUST also be cached by the client. If and only if the field `full_hashes` is empty, the client MAY increase the `cache_duration` to determine a new expiration that is later than that specified by the server. In any case, the increased cache duration must not be longer than 24 hours. Important: the client MUST NOT assume that the server will return the same cache duration for all responses. The server MAY choose different cache durations for different responses depending on the situation.", +"format": "google-duration", +"type": "string" +}, +"fullHashes": { +"description": "Unordered list. The unordered list of full hashes found.", +"items": { +"$ref": "GoogleSecuritySafebrowsingV5FullHash" +}, +"type": "array" +} +}, +"type": "object" +} +}, +"servicePath": "", +"title": "Safe Browsing API", +"version": "v5", +"version_module": true +} \ No newline at end of file diff --git a/.venv/lib/python3.11/site-packages/googleapiclient/discovery_cache/documents/secretmanager.v1beta2.json b/.venv/lib/python3.11/site-packages/googleapiclient/discovery_cache/documents/secretmanager.v1beta2.json new file mode 100644 index 0000000000000000000000000000000000000000..aebff2b93767e8478506825bafd5fca924005146 --- /dev/null +++ b/.venv/lib/python3.11/site-packages/googleapiclient/discovery_cache/documents/secretmanager.v1beta2.json @@ -0,0 +1,1857 @@ +{ +"auth": { +"oauth2": { +"scopes": { +"https://www.googleapis.com/auth/cloud-platform": { +"description": "See, edit, configure, and delete your Google Cloud data and see the email address for your Google Account." +} +} +} +}, +"basePath": "", +"baseUrl": "https://secretmanager.googleapis.com/", +"batchPath": "batch", +"canonicalName": "Secret Manager", +"description": "Stores sensitive data such as API keys, passwords, and certificates. Provides convenience while improving security. ", +"discoveryVersion": "v1", +"documentationLink": "https://cloud.google.com/secret-manager/", +"endpoints": [ +{ +"description": "Regional Endpoint", +"endpointUrl": "https://secretmanager.me-central2.rep.googleapis.com/", +"location": "me-central2" +}, +{ +"description": "Regional Endpoint", +"endpointUrl": "https://secretmanager.me-west1.rep.googleapis.com/", +"location": "me-west1" +}, +{ +"description": "Regional Endpoint", +"endpointUrl": "https://secretmanager.us-central1.rep.googleapis.com/", +"location": "us-central1" +}, +{ +"description": "Regional Endpoint", +"endpointUrl": "https://secretmanager.us-east1.rep.googleapis.com/", +"location": "us-east1" +}, +{ +"description": "Regional Endpoint", +"endpointUrl": "https://secretmanager.us-central2.rep.googleapis.com/", +"location": "us-central2" +}, +{ +"description": "Regional Endpoint", +"endpointUrl": "https://secretmanager.us-west1.rep.googleapis.com/", +"location": "us-west1" +}, +{ +"description": "Regional Endpoint", +"endpointUrl": "https://secretmanager.us-west2.rep.googleapis.com/", +"location": "us-west2" +}, +{ +"description": "Regional Endpoint", +"endpointUrl": "https://secretmanager.us-west3.rep.googleapis.com/", +"location": "us-west3" +}, +{ +"description": "Regional Endpoint", +"endpointUrl": "https://secretmanager.us-west4.rep.googleapis.com/", +"location": "us-west4" +}, +{ +"description": "Regional Endpoint", +"endpointUrl": "https://secretmanager.us-east4.rep.googleapis.com/", +"location": "us-east4" +}, +{ +"description": "Regional Endpoint", +"endpointUrl": "https://secretmanager.us-east5.rep.googleapis.com/", +"location": "us-east5" +}, +{ +"description": "Regional Endpoint", +"endpointUrl": "https://secretmanager.us-south1.rep.googleapis.com/", +"location": "us-south1" +}, +{ +"description": "Regional Endpoint", +"endpointUrl": "https://secretmanager.europe-west3.rep.googleapis.com/", +"location": "europe-west3" +}, +{ +"description": "Regional Endpoint", +"endpointUrl": "https://secretmanager.europe-west8.rep.googleapis.com/", +"location": "europe-west8" +}, +{ +"description": "Regional Endpoint", +"endpointUrl": "https://secretmanager.europe-west9.rep.googleapis.com/", +"location": "europe-west9" +}, +{ +"description": "Regional Endpoint", +"endpointUrl": "https://secretmanager.europe-west6.rep.googleapis.com/", +"location": "europe-west6" +} +], +"fullyEncodeReservedExpansion": true, +"icons": { +"x16": "http://www.google.com/images/icons/product/search-16.gif", +"x32": "http://www.google.com/images/icons/product/search-32.gif" +}, +"id": "secretmanager:v1beta2", +"kind": "discovery#restDescription", +"mtlsRootUrl": "https://secretmanager.mtls.googleapis.com/", +"name": "secretmanager", +"ownerDomain": "google.com", +"ownerName": "Google", +"parameters": { +"$.xgafv": { +"description": "V1 error format.", +"enum": [ +"1", +"2" +], +"enumDescriptions": [ +"v1 error format", +"v2 error format" +], +"location": "query", +"type": "string" +}, +"access_token": { +"description": "OAuth access token.", +"location": "query", +"type": "string" +}, +"alt": { +"default": "json", +"description": "Data format for response.", +"enum": [ +"json", +"media", +"proto" +], +"enumDescriptions": [ +"Responses with Content-Type of application/json", +"Media download with context-dependent Content-Type", +"Responses with Content-Type of application/x-protobuf" +], +"location": "query", +"type": "string" +}, +"callback": { +"description": "JSONP", +"location": "query", +"type": "string" +}, +"fields": { +"description": "Selector specifying which fields to include in a partial response.", +"location": "query", +"type": "string" +}, +"key": { +"description": "API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token.", +"location": "query", +"type": "string" +}, +"oauth_token": { +"description": "OAuth 2.0 token for the current user.", +"location": "query", +"type": "string" +}, +"prettyPrint": { +"default": "true", +"description": "Returns response with indentations and line breaks.", +"location": "query", +"type": "boolean" +}, +"quotaUser": { +"description": "Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters.", +"location": "query", +"type": "string" +}, +"uploadType": { +"description": "Legacy upload protocol for media (e.g. \"media\", \"multipart\").", +"location": "query", +"type": "string" +}, +"upload_protocol": { +"description": "Upload protocol for media (e.g. \"raw\", \"multipart\").", +"location": "query", +"type": "string" +} +}, +"protocol": "rest", +"resources": { +"projects": { +"resources": { +"locations": { +"methods": { +"get": { +"description": "Gets information about a location.", +"flatPath": "v1beta2/projects/{projectsId}/locations/{locationsId}", +"httpMethod": "GET", +"id": "secretmanager.projects.locations.get", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Resource name for the location.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1beta2/{+name}", +"response": { +"$ref": "Location" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"list": { +"description": "Lists information about the supported locations for this service.", +"flatPath": "v1beta2/projects/{projectsId}/locations", +"httpMethod": "GET", +"id": "secretmanager.projects.locations.list", +"parameterOrder": [ +"name" +], +"parameters": { +"filter": { +"description": "A filter to narrow down results to a preferred subset. The filtering language accepts strings like `\"displayName=tokyo\"`, and is documented in more detail in [AIP-160](https://google.aip.dev/160).", +"location": "query", +"type": "string" +}, +"name": { +"description": "The resource that owns the locations collection, if applicable.", +"location": "path", +"pattern": "^projects/[^/]+$", +"required": true, +"type": "string" +}, +"pageSize": { +"description": "The maximum number of results to return. If not set, the service selects a default.", +"format": "int32", +"location": "query", +"type": "integer" +}, +"pageToken": { +"description": "A page token received from the `next_page_token` field in the response. Send that page token to receive the subsequent page.", +"location": "query", +"type": "string" +} +}, +"path": "v1beta2/{+name}/locations", +"response": { +"$ref": "ListLocationsResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +} +}, +"resources": { +"secrets": { +"methods": { +"addVersion": { +"description": "Creates a new SecretVersion containing secret data and attaches it to an existing Secret.", +"flatPath": "v1beta2/projects/{projectsId}/locations/{locationsId}/secrets/{secretsId}:addVersion", +"httpMethod": "POST", +"id": "secretmanager.projects.locations.secrets.addVersion", +"parameterOrder": [ +"parent" +], +"parameters": { +"parent": { +"description": "Required. The resource name of the Secret to associate with the SecretVersion in the format `projects/*/secrets/*` or `projects/*/locations/*/secrets/*`.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/secrets/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1beta2/{+parent}:addVersion", +"request": { +"$ref": "AddSecretVersionRequest" +}, +"response": { +"$ref": "SecretVersion" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"create": { +"description": "Creates a new Secret containing no SecretVersions.", +"flatPath": "v1beta2/projects/{projectsId}/locations/{locationsId}/secrets", +"httpMethod": "POST", +"id": "secretmanager.projects.locations.secrets.create", +"parameterOrder": [ +"parent" +], +"parameters": { +"parent": { +"description": "Required. The resource name of the project to associate with the Secret, in the format `projects/*` or `projects/*/locations/*`.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+$", +"required": true, +"type": "string" +}, +"secretId": { +"description": "Required. This must be unique within the project. A secret ID is a string with a maximum length of 255 characters and can contain uppercase and lowercase letters, numerals, and the hyphen (`-`) and underscore (`_`) characters.", +"location": "query", +"type": "string" +} +}, +"path": "v1beta2/{+parent}/secrets", +"request": { +"$ref": "Secret" +}, +"response": { +"$ref": "Secret" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"delete": { +"description": "Deletes a Secret.", +"flatPath": "v1beta2/projects/{projectsId}/locations/{locationsId}/secrets/{secretsId}", +"httpMethod": "DELETE", +"id": "secretmanager.projects.locations.secrets.delete", +"parameterOrder": [ +"name" +], +"parameters": { +"etag": { +"description": "Optional. Etag of the Secret. The request succeeds if it matches the etag of the currently stored secret object. If the etag is omitted, the request succeeds.", +"location": "query", +"type": "string" +}, +"name": { +"description": "Required. The resource name of the Secret to delete in the format `projects/*/secrets/*`.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/secrets/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1beta2/{+name}", +"response": { +"$ref": "Empty" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"get": { +"description": "Gets metadata for a given Secret.", +"flatPath": "v1beta2/projects/{projectsId}/locations/{locationsId}/secrets/{secretsId}", +"httpMethod": "GET", +"id": "secretmanager.projects.locations.secrets.get", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. The resource name of the Secret, in the format `projects/*/secrets/*` or `projects/*/locations/*/secrets/*`.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/secrets/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1beta2/{+name}", +"response": { +"$ref": "Secret" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"getIamPolicy": { +"description": "Gets the access control policy for a secret. Returns empty policy if the secret exists and does not have a policy set.", +"flatPath": "v1beta2/projects/{projectsId}/locations/{locationsId}/secrets/{secretsId}:getIamPolicy", +"httpMethod": "GET", +"id": "secretmanager.projects.locations.secrets.getIamPolicy", +"parameterOrder": [ +"resource" +], +"parameters": { +"options.requestedPolicyVersion": { +"description": "Optional. The maximum policy version that will be used to format the policy. Valid values are 0, 1, and 3. Requests specifying an invalid value will be rejected. Requests for policies with any conditional role bindings must specify version 3. Policies with no conditional role bindings may specify any valid value or leave the field unset. The policy in the response might use the policy version that you specified, or it might use a lower policy version. For example, if you specify version 3, but the policy has no conditional role bindings, the response uses version 1. To learn which resources support conditions in their IAM policies, see the [IAM documentation](https://cloud.google.com/iam/help/conditions/resource-policies).", +"format": "int32", +"location": "query", +"type": "integer" +}, +"resource": { +"description": "REQUIRED: The resource for which the policy is being requested. See [Resource names](https://cloud.google.com/apis/design/resource_names) for the appropriate value for this field.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/secrets/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1beta2/{+resource}:getIamPolicy", +"response": { +"$ref": "Policy" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"list": { +"description": "Lists Secrets.", +"flatPath": "v1beta2/projects/{projectsId}/locations/{locationsId}/secrets", +"httpMethod": "GET", +"id": "secretmanager.projects.locations.secrets.list", +"parameterOrder": [ +"parent" +], +"parameters": { +"filter": { +"description": "Optional. Filter string, adhering to the rules in [List-operation filtering](https://cloud.google.com/secret-manager/docs/filtering). List only secrets matching the filter. If filter is empty, all secrets are listed.", +"location": "query", +"type": "string" +}, +"pageSize": { +"description": "Optional. The maximum number of results to be returned in a single page. If set to 0, the server decides the number of results to return. If the number is greater than 25000, it is capped at 25000.", +"format": "int32", +"location": "query", +"type": "integer" +}, +"pageToken": { +"description": "Optional. Pagination token, returned earlier via ListSecretsResponse.next_page_token.", +"location": "query", +"type": "string" +}, +"parent": { +"description": "Required. The resource name of the project associated with the Secrets, in the format `projects/*` or `projects/*/locations/*`", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1beta2/{+parent}/secrets", +"response": { +"$ref": "ListSecretsResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"patch": { +"description": "Updates metadata of an existing Secret.", +"flatPath": "v1beta2/projects/{projectsId}/locations/{locationsId}/secrets/{secretsId}", +"httpMethod": "PATCH", +"id": "secretmanager.projects.locations.secrets.patch", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Output only. The resource name of the Secret in the format `projects/*/secrets/*`.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/secrets/[^/]+$", +"required": true, +"type": "string" +}, +"updateMask": { +"description": "Required. Specifies the fields to be updated.", +"format": "google-fieldmask", +"location": "query", +"type": "string" +} +}, +"path": "v1beta2/{+name}", +"request": { +"$ref": "Secret" +}, +"response": { +"$ref": "Secret" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"setIamPolicy": { +"description": "Sets the access control policy on the specified secret. Replaces any existing policy. Permissions on SecretVersions are enforced according to the policy set on the associated Secret.", +"flatPath": "v1beta2/projects/{projectsId}/locations/{locationsId}/secrets/{secretsId}:setIamPolicy", +"httpMethod": "POST", +"id": "secretmanager.projects.locations.secrets.setIamPolicy", +"parameterOrder": [ +"resource" +], +"parameters": { +"resource": { +"description": "REQUIRED: The resource for which the policy is being specified. See [Resource names](https://cloud.google.com/apis/design/resource_names) for the appropriate value for this field.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/secrets/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1beta2/{+resource}:setIamPolicy", +"request": { +"$ref": "SetIamPolicyRequest" +}, +"response": { +"$ref": "Policy" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"testIamPermissions": { +"description": "Returns permissions that a caller has for the specified secret. If the secret does not exist, this call returns an empty set of permissions, not a NOT_FOUND error. Note: This operation is designed to be used for building permission-aware UIs and command-line tools, not for authorization checking. This operation may \"fail open\" without warning.", +"flatPath": "v1beta2/projects/{projectsId}/locations/{locationsId}/secrets/{secretsId}:testIamPermissions", +"httpMethod": "POST", +"id": "secretmanager.projects.locations.secrets.testIamPermissions", +"parameterOrder": [ +"resource" +], +"parameters": { +"resource": { +"description": "REQUIRED: The resource for which the policy detail is being requested. See [Resource names](https://cloud.google.com/apis/design/resource_names) for the appropriate value for this field.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/secrets/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1beta2/{+resource}:testIamPermissions", +"request": { +"$ref": "TestIamPermissionsRequest" +}, +"response": { +"$ref": "TestIamPermissionsResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +} +}, +"resources": { +"versions": { +"methods": { +"access": { +"description": "Accesses a SecretVersion. This call returns the secret data. `projects/*/secrets/*/versions/latest` is an alias to the most recently created SecretVersion.", +"flatPath": "v1beta2/projects/{projectsId}/locations/{locationsId}/secrets/{secretsId}/versions/{versionsId}:access", +"httpMethod": "GET", +"id": "secretmanager.projects.locations.secrets.versions.access", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. The resource name of the SecretVersion in the format `projects/*/secrets/*/versions/*` or `projects/*/locations/*/secrets/*/versions/*`. `projects/*/secrets/*/versions/latest` or `projects/*/locations/*/secrets/*/versions/latest` is an alias to the most recently created SecretVersion.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/secrets/[^/]+/versions/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1beta2/{+name}:access", +"response": { +"$ref": "AccessSecretVersionResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"destroy": { +"description": "Destroys a SecretVersion. Sets the state of the SecretVersion to DESTROYED and irrevocably destroys the secret data.", +"flatPath": "v1beta2/projects/{projectsId}/locations/{locationsId}/secrets/{secretsId}/versions/{versionsId}:destroy", +"httpMethod": "POST", +"id": "secretmanager.projects.locations.secrets.versions.destroy", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. The resource name of the SecretVersion to destroy in the format `projects/*/secrets/*/versions/*` or `projects/*/locations/*/secrets/*/versions/*`.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/secrets/[^/]+/versions/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1beta2/{+name}:destroy", +"request": { +"$ref": "DestroySecretVersionRequest" +}, +"response": { +"$ref": "SecretVersion" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"disable": { +"description": "Disables a SecretVersion. Sets the state of the SecretVersion to DISABLED.", +"flatPath": "v1beta2/projects/{projectsId}/locations/{locationsId}/secrets/{secretsId}/versions/{versionsId}:disable", +"httpMethod": "POST", +"id": "secretmanager.projects.locations.secrets.versions.disable", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. The resource name of the SecretVersion to disable in the format `projects/*/secrets/*/versions/*` or `projects/*/locations/*/secrets/*/versions/*`.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/secrets/[^/]+/versions/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1beta2/{+name}:disable", +"request": { +"$ref": "DisableSecretVersionRequest" +}, +"response": { +"$ref": "SecretVersion" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"enable": { +"description": "Enables a SecretVersion. Sets the state of the SecretVersion to ENABLED.", +"flatPath": "v1beta2/projects/{projectsId}/locations/{locationsId}/secrets/{secretsId}/versions/{versionsId}:enable", +"httpMethod": "POST", +"id": "secretmanager.projects.locations.secrets.versions.enable", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. The resource name of the SecretVersion to enable in the format `projects/*/secrets/*/versions/*` or `projects/*/locations/*/secrets/*/versions/*`.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/secrets/[^/]+/versions/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1beta2/{+name}:enable", +"request": { +"$ref": "EnableSecretVersionRequest" +}, +"response": { +"$ref": "SecretVersion" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"get": { +"description": "Gets metadata for a SecretVersion. `projects/*/secrets/*/versions/latest` is an alias to the most recently created SecretVersion.", +"flatPath": "v1beta2/projects/{projectsId}/locations/{locationsId}/secrets/{secretsId}/versions/{versionsId}", +"httpMethod": "GET", +"id": "secretmanager.projects.locations.secrets.versions.get", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. The resource name of the SecretVersion in the format `projects/*/secrets/*/versions/*` or `projects/*/locations/*/secrets/*/versions/*`. `projects/*/secrets/*/versions/latest` or `projects/*/locations/*/secrets/*/versions/latest` is an alias to the most recently created SecretVersion.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/secrets/[^/]+/versions/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1beta2/{+name}", +"response": { +"$ref": "SecretVersion" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"list": { +"description": "Lists SecretVersions. This call does not return secret data.", +"flatPath": "v1beta2/projects/{projectsId}/locations/{locationsId}/secrets/{secretsId}/versions", +"httpMethod": "GET", +"id": "secretmanager.projects.locations.secrets.versions.list", +"parameterOrder": [ +"parent" +], +"parameters": { +"filter": { +"description": "Optional. Filter string, adhering to the rules in [List-operation filtering](https://cloud.google.com/secret-manager/docs/filtering). List only secret versions matching the filter. If filter is empty, all secret versions are listed.", +"location": "query", +"type": "string" +}, +"pageSize": { +"description": "Optional. The maximum number of results to be returned in a single page. If set to 0, the server decides the number of results to return. If the number is greater than 25000, it is capped at 25000.", +"format": "int32", +"location": "query", +"type": "integer" +}, +"pageToken": { +"description": "Optional. Pagination token, returned earlier via ListSecretVersionsResponse.next_page_token][].", +"location": "query", +"type": "string" +}, +"parent": { +"description": "Required. The resource name of the Secret associated with the SecretVersions to list, in the format `projects/*/secrets/*` or `projects/*/locations/*/secrets/*`.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/secrets/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1beta2/{+parent}/versions", +"response": { +"$ref": "ListSecretVersionsResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +} +} +} +} +} +} +}, +"secrets": { +"methods": { +"addVersion": { +"description": "Creates a new SecretVersion containing secret data and attaches it to an existing Secret.", +"flatPath": "v1beta2/projects/{projectsId}/secrets/{secretsId}:addVersion", +"httpMethod": "POST", +"id": "secretmanager.projects.secrets.addVersion", +"parameterOrder": [ +"parent" +], +"parameters": { +"parent": { +"description": "Required. The resource name of the Secret to associate with the SecretVersion in the format `projects/*/secrets/*` or `projects/*/locations/*/secrets/*`.", +"location": "path", +"pattern": "^projects/[^/]+/secrets/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1beta2/{+parent}:addVersion", +"request": { +"$ref": "AddSecretVersionRequest" +}, +"response": { +"$ref": "SecretVersion" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"create": { +"description": "Creates a new Secret containing no SecretVersions.", +"flatPath": "v1beta2/projects/{projectsId}/secrets", +"httpMethod": "POST", +"id": "secretmanager.projects.secrets.create", +"parameterOrder": [ +"parent" +], +"parameters": { +"parent": { +"description": "Required. The resource name of the project to associate with the Secret, in the format `projects/*` or `projects/*/locations/*`.", +"location": "path", +"pattern": "^projects/[^/]+$", +"required": true, +"type": "string" +}, +"secretId": { +"description": "Required. This must be unique within the project. A secret ID is a string with a maximum length of 255 characters and can contain uppercase and lowercase letters, numerals, and the hyphen (`-`) and underscore (`_`) characters.", +"location": "query", +"type": "string" +} +}, +"path": "v1beta2/{+parent}/secrets", +"request": { +"$ref": "Secret" +}, +"response": { +"$ref": "Secret" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"delete": { +"description": "Deletes a Secret.", +"flatPath": "v1beta2/projects/{projectsId}/secrets/{secretsId}", +"httpMethod": "DELETE", +"id": "secretmanager.projects.secrets.delete", +"parameterOrder": [ +"name" +], +"parameters": { +"etag": { +"description": "Optional. Etag of the Secret. The request succeeds if it matches the etag of the currently stored secret object. If the etag is omitted, the request succeeds.", +"location": "query", +"type": "string" +}, +"name": { +"description": "Required. The resource name of the Secret to delete in the format `projects/*/secrets/*`.", +"location": "path", +"pattern": "^projects/[^/]+/secrets/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1beta2/{+name}", +"response": { +"$ref": "Empty" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"get": { +"description": "Gets metadata for a given Secret.", +"flatPath": "v1beta2/projects/{projectsId}/secrets/{secretsId}", +"httpMethod": "GET", +"id": "secretmanager.projects.secrets.get", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. The resource name of the Secret, in the format `projects/*/secrets/*` or `projects/*/locations/*/secrets/*`.", +"location": "path", +"pattern": "^projects/[^/]+/secrets/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1beta2/{+name}", +"response": { +"$ref": "Secret" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"getIamPolicy": { +"description": "Gets the access control policy for a secret. Returns empty policy if the secret exists and does not have a policy set.", +"flatPath": "v1beta2/projects/{projectsId}/secrets/{secretsId}:getIamPolicy", +"httpMethod": "GET", +"id": "secretmanager.projects.secrets.getIamPolicy", +"parameterOrder": [ +"resource" +], +"parameters": { +"options.requestedPolicyVersion": { +"description": "Optional. The maximum policy version that will be used to format the policy. Valid values are 0, 1, and 3. Requests specifying an invalid value will be rejected. Requests for policies with any conditional role bindings must specify version 3. Policies with no conditional role bindings may specify any valid value or leave the field unset. The policy in the response might use the policy version that you specified, or it might use a lower policy version. For example, if you specify version 3, but the policy has no conditional role bindings, the response uses version 1. To learn which resources support conditions in their IAM policies, see the [IAM documentation](https://cloud.google.com/iam/help/conditions/resource-policies).", +"format": "int32", +"location": "query", +"type": "integer" +}, +"resource": { +"description": "REQUIRED: The resource for which the policy is being requested. See [Resource names](https://cloud.google.com/apis/design/resource_names) for the appropriate value for this field.", +"location": "path", +"pattern": "^projects/[^/]+/secrets/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1beta2/{+resource}:getIamPolicy", +"response": { +"$ref": "Policy" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"list": { +"description": "Lists Secrets.", +"flatPath": "v1beta2/projects/{projectsId}/secrets", +"httpMethod": "GET", +"id": "secretmanager.projects.secrets.list", +"parameterOrder": [ +"parent" +], +"parameters": { +"filter": { +"description": "Optional. Filter string, adhering to the rules in [List-operation filtering](https://cloud.google.com/secret-manager/docs/filtering). List only secrets matching the filter. If filter is empty, all secrets are listed.", +"location": "query", +"type": "string" +}, +"pageSize": { +"description": "Optional. The maximum number of results to be returned in a single page. If set to 0, the server decides the number of results to return. If the number is greater than 25000, it is capped at 25000.", +"format": "int32", +"location": "query", +"type": "integer" +}, +"pageToken": { +"description": "Optional. Pagination token, returned earlier via ListSecretsResponse.next_page_token.", +"location": "query", +"type": "string" +}, +"parent": { +"description": "Required. The resource name of the project associated with the Secrets, in the format `projects/*` or `projects/*/locations/*`", +"location": "path", +"pattern": "^projects/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1beta2/{+parent}/secrets", +"response": { +"$ref": "ListSecretsResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"patch": { +"description": "Updates metadata of an existing Secret.", +"flatPath": "v1beta2/projects/{projectsId}/secrets/{secretsId}", +"httpMethod": "PATCH", +"id": "secretmanager.projects.secrets.patch", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Output only. The resource name of the Secret in the format `projects/*/secrets/*`.", +"location": "path", +"pattern": "^projects/[^/]+/secrets/[^/]+$", +"required": true, +"type": "string" +}, +"updateMask": { +"description": "Required. Specifies the fields to be updated.", +"format": "google-fieldmask", +"location": "query", +"type": "string" +} +}, +"path": "v1beta2/{+name}", +"request": { +"$ref": "Secret" +}, +"response": { +"$ref": "Secret" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"setIamPolicy": { +"description": "Sets the access control policy on the specified secret. Replaces any existing policy. Permissions on SecretVersions are enforced according to the policy set on the associated Secret.", +"flatPath": "v1beta2/projects/{projectsId}/secrets/{secretsId}:setIamPolicy", +"httpMethod": "POST", +"id": "secretmanager.projects.secrets.setIamPolicy", +"parameterOrder": [ +"resource" +], +"parameters": { +"resource": { +"description": "REQUIRED: The resource for which the policy is being specified. See [Resource names](https://cloud.google.com/apis/design/resource_names) for the appropriate value for this field.", +"location": "path", +"pattern": "^projects/[^/]+/secrets/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1beta2/{+resource}:setIamPolicy", +"request": { +"$ref": "SetIamPolicyRequest" +}, +"response": { +"$ref": "Policy" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"testIamPermissions": { +"description": "Returns permissions that a caller has for the specified secret. If the secret does not exist, this call returns an empty set of permissions, not a NOT_FOUND error. Note: This operation is designed to be used for building permission-aware UIs and command-line tools, not for authorization checking. This operation may \"fail open\" without warning.", +"flatPath": "v1beta2/projects/{projectsId}/secrets/{secretsId}:testIamPermissions", +"httpMethod": "POST", +"id": "secretmanager.projects.secrets.testIamPermissions", +"parameterOrder": [ +"resource" +], +"parameters": { +"resource": { +"description": "REQUIRED: The resource for which the policy detail is being requested. See [Resource names](https://cloud.google.com/apis/design/resource_names) for the appropriate value for this field.", +"location": "path", +"pattern": "^projects/[^/]+/secrets/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1beta2/{+resource}:testIamPermissions", +"request": { +"$ref": "TestIamPermissionsRequest" +}, +"response": { +"$ref": "TestIamPermissionsResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +} +}, +"resources": { +"versions": { +"methods": { +"access": { +"description": "Accesses a SecretVersion. This call returns the secret data. `projects/*/secrets/*/versions/latest` is an alias to the most recently created SecretVersion.", +"flatPath": "v1beta2/projects/{projectsId}/secrets/{secretsId}/versions/{versionsId}:access", +"httpMethod": "GET", +"id": "secretmanager.projects.secrets.versions.access", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. The resource name of the SecretVersion in the format `projects/*/secrets/*/versions/*` or `projects/*/locations/*/secrets/*/versions/*`. `projects/*/secrets/*/versions/latest` or `projects/*/locations/*/secrets/*/versions/latest` is an alias to the most recently created SecretVersion.", +"location": "path", +"pattern": "^projects/[^/]+/secrets/[^/]+/versions/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1beta2/{+name}:access", +"response": { +"$ref": "AccessSecretVersionResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"destroy": { +"description": "Destroys a SecretVersion. Sets the state of the SecretVersion to DESTROYED and irrevocably destroys the secret data.", +"flatPath": "v1beta2/projects/{projectsId}/secrets/{secretsId}/versions/{versionsId}:destroy", +"httpMethod": "POST", +"id": "secretmanager.projects.secrets.versions.destroy", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. The resource name of the SecretVersion to destroy in the format `projects/*/secrets/*/versions/*` or `projects/*/locations/*/secrets/*/versions/*`.", +"location": "path", +"pattern": "^projects/[^/]+/secrets/[^/]+/versions/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1beta2/{+name}:destroy", +"request": { +"$ref": "DestroySecretVersionRequest" +}, +"response": { +"$ref": "SecretVersion" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"disable": { +"description": "Disables a SecretVersion. Sets the state of the SecretVersion to DISABLED.", +"flatPath": "v1beta2/projects/{projectsId}/secrets/{secretsId}/versions/{versionsId}:disable", +"httpMethod": "POST", +"id": "secretmanager.projects.secrets.versions.disable", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. The resource name of the SecretVersion to disable in the format `projects/*/secrets/*/versions/*` or `projects/*/locations/*/secrets/*/versions/*`.", +"location": "path", +"pattern": "^projects/[^/]+/secrets/[^/]+/versions/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1beta2/{+name}:disable", +"request": { +"$ref": "DisableSecretVersionRequest" +}, +"response": { +"$ref": "SecretVersion" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"enable": { +"description": "Enables a SecretVersion. Sets the state of the SecretVersion to ENABLED.", +"flatPath": "v1beta2/projects/{projectsId}/secrets/{secretsId}/versions/{versionsId}:enable", +"httpMethod": "POST", +"id": "secretmanager.projects.secrets.versions.enable", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. The resource name of the SecretVersion to enable in the format `projects/*/secrets/*/versions/*` or `projects/*/locations/*/secrets/*/versions/*`.", +"location": "path", +"pattern": "^projects/[^/]+/secrets/[^/]+/versions/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1beta2/{+name}:enable", +"request": { +"$ref": "EnableSecretVersionRequest" +}, +"response": { +"$ref": "SecretVersion" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"get": { +"description": "Gets metadata for a SecretVersion. `projects/*/secrets/*/versions/latest` is an alias to the most recently created SecretVersion.", +"flatPath": "v1beta2/projects/{projectsId}/secrets/{secretsId}/versions/{versionsId}", +"httpMethod": "GET", +"id": "secretmanager.projects.secrets.versions.get", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. The resource name of the SecretVersion in the format `projects/*/secrets/*/versions/*` or `projects/*/locations/*/secrets/*/versions/*`. `projects/*/secrets/*/versions/latest` or `projects/*/locations/*/secrets/*/versions/latest` is an alias to the most recently created SecretVersion.", +"location": "path", +"pattern": "^projects/[^/]+/secrets/[^/]+/versions/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1beta2/{+name}", +"response": { +"$ref": "SecretVersion" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"list": { +"description": "Lists SecretVersions. This call does not return secret data.", +"flatPath": "v1beta2/projects/{projectsId}/secrets/{secretsId}/versions", +"httpMethod": "GET", +"id": "secretmanager.projects.secrets.versions.list", +"parameterOrder": [ +"parent" +], +"parameters": { +"filter": { +"description": "Optional. Filter string, adhering to the rules in [List-operation filtering](https://cloud.google.com/secret-manager/docs/filtering). List only secret versions matching the filter. If filter is empty, all secret versions are listed.", +"location": "query", +"type": "string" +}, +"pageSize": { +"description": "Optional. The maximum number of results to be returned in a single page. If set to 0, the server decides the number of results to return. If the number is greater than 25000, it is capped at 25000.", +"format": "int32", +"location": "query", +"type": "integer" +}, +"pageToken": { +"description": "Optional. Pagination token, returned earlier via ListSecretVersionsResponse.next_page_token][].", +"location": "query", +"type": "string" +}, +"parent": { +"description": "Required. The resource name of the Secret associated with the SecretVersions to list, in the format `projects/*/secrets/*` or `projects/*/locations/*/secrets/*`.", +"location": "path", +"pattern": "^projects/[^/]+/secrets/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1beta2/{+parent}/versions", +"response": { +"$ref": "ListSecretVersionsResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +} +} +} +} +} +} +} +}, +"revision": "20241114", +"rootUrl": "https://secretmanager.googleapis.com/", +"schemas": { +"AccessSecretVersionResponse": { +"description": "Response message for SecretManagerService.AccessSecretVersion.", +"id": "AccessSecretVersionResponse", +"properties": { +"name": { +"description": "The resource name of the SecretVersion in the format `projects/*/secrets/*/versions/*` or `projects/*/locations/*/secrets/*/versions/*`.", +"type": "string" +}, +"payload": { +"$ref": "SecretPayload", +"description": "Secret payload" +} +}, +"type": "object" +}, +"AddSecretVersionRequest": { +"description": "Request message for SecretManagerService.AddSecretVersion.", +"id": "AddSecretVersionRequest", +"properties": { +"payload": { +"$ref": "SecretPayload", +"description": "Required. The secret payload of the SecretVersion." +} +}, +"type": "object" +}, +"AuditConfig": { +"description": "Specifies the audit configuration for a service. The configuration determines which permission types are logged, and what identities, if any, are exempted from logging. An AuditConfig must have one or more AuditLogConfigs. If there are AuditConfigs for both `allServices` and a specific service, the union of the two AuditConfigs is used for that service: the log_types specified in each AuditConfig are enabled, and the exempted_members in each AuditLogConfig are exempted. Example Policy with multiple AuditConfigs: { \"audit_configs\": [ { \"service\": \"allServices\", \"audit_log_configs\": [ { \"log_type\": \"DATA_READ\", \"exempted_members\": [ \"user:jose@example.com\" ] }, { \"log_type\": \"DATA_WRITE\" }, { \"log_type\": \"ADMIN_READ\" } ] }, { \"service\": \"sampleservice.googleapis.com\", \"audit_log_configs\": [ { \"log_type\": \"DATA_READ\" }, { \"log_type\": \"DATA_WRITE\", \"exempted_members\": [ \"user:aliya@example.com\" ] } ] } ] } For sampleservice, this policy enables DATA_READ, DATA_WRITE and ADMIN_READ logging. It also exempts `jose@example.com` from DATA_READ logging, and `aliya@example.com` from DATA_WRITE logging.", +"id": "AuditConfig", +"properties": { +"auditLogConfigs": { +"description": "The configuration for logging of each type of permission.", +"items": { +"$ref": "AuditLogConfig" +}, +"type": "array" +}, +"service": { +"description": "Specifies a service that will be enabled for audit logging. For example, `storage.googleapis.com`, `cloudsql.googleapis.com`. `allServices` is a special value that covers all services.", +"type": "string" +} +}, +"type": "object" +}, +"AuditLogConfig": { +"description": "Provides the configuration for logging a type of permissions. Example: { \"audit_log_configs\": [ { \"log_type\": \"DATA_READ\", \"exempted_members\": [ \"user:jose@example.com\" ] }, { \"log_type\": \"DATA_WRITE\" } ] } This enables 'DATA_READ' and 'DATA_WRITE' logging, while exempting jose@example.com from DATA_READ logging.", +"id": "AuditLogConfig", +"properties": { +"exemptedMembers": { +"description": "Specifies the identities that do not cause logging for this type of permission. Follows the same format of Binding.members.", +"items": { +"type": "string" +}, +"type": "array" +}, +"logType": { +"description": "The log type that this config enables.", +"enum": [ +"LOG_TYPE_UNSPECIFIED", +"ADMIN_READ", +"DATA_WRITE", +"DATA_READ" +], +"enumDescriptions": [ +"Default case. Should never be this.", +"Admin reads. Example: CloudIAM getIamPolicy", +"Data writes. Example: CloudSQL Users create", +"Data reads. Example: CloudSQL Users list" +], +"type": "string" +} +}, +"type": "object" +}, +"Automatic": { +"description": "A replication policy that replicates the Secret payload without any restrictions.", +"id": "Automatic", +"properties": { +"customerManagedEncryption": { +"$ref": "CustomerManagedEncryption", +"description": "Optional. The customer-managed encryption configuration of the Secret. If no configuration is provided, Google-managed default encryption is used. Updates to the Secret encryption configuration only apply to SecretVersions added afterwards. They do not apply retroactively to existing SecretVersions." +} +}, +"type": "object" +}, +"AutomaticStatus": { +"description": "The replication status of a SecretVersion using automatic replication. Only populated if the parent Secret has an automatic replication policy.", +"id": "AutomaticStatus", +"properties": { +"customerManagedEncryption": { +"$ref": "CustomerManagedEncryptionStatus", +"description": "Output only. The customer-managed encryption status of the SecretVersion. Only populated if customer-managed encryption is used.", +"readOnly": true +} +}, +"type": "object" +}, +"Binding": { +"description": "Associates `members`, or principals, with a `role`.", +"id": "Binding", +"properties": { +"condition": { +"$ref": "Expr", +"description": "The condition that is associated with this binding. If the condition evaluates to `true`, then this binding applies to the current request. If the condition evaluates to `false`, then this binding does not apply to the current request. However, a different role binding might grant the same role to one or more of the principals in this binding. To learn which resources support conditions in their IAM policies, see the [IAM documentation](https://cloud.google.com/iam/help/conditions/resource-policies)." +}, +"members": { +"description": "Specifies the principals requesting access for a Google Cloud resource. `members` can have the following values: * `allUsers`: A special identifier that represents anyone who is on the internet; with or without a Google account. * `allAuthenticatedUsers`: A special identifier that represents anyone who is authenticated with a Google account or a service account. Does not include identities that come from external identity providers (IdPs) through identity federation. * `user:{emailid}`: An email address that represents a specific Google account. For example, `alice@example.com` . * `serviceAccount:{emailid}`: An email address that represents a Google service account. For example, `my-other-app@appspot.gserviceaccount.com`. * `serviceAccount:{projectid}.svc.id.goog[{namespace}/{kubernetes-sa}]`: An identifier for a [Kubernetes service account](https://cloud.google.com/kubernetes-engine/docs/how-to/kubernetes-service-accounts). For example, `my-project.svc.id.goog[my-namespace/my-kubernetes-sa]`. * `group:{emailid}`: An email address that represents a Google group. For example, `admins@example.com`. * `domain:{domain}`: The G Suite domain (primary) that represents all the users of that domain. For example, `google.com` or `example.com`. * `principal://iam.googleapis.com/locations/global/workforcePools/{pool_id}/subject/{subject_attribute_value}`: A single identity in a workforce identity pool. * `principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/group/{group_id}`: All workforce identities in a group. * `principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/attribute.{attribute_name}/{attribute_value}`: All workforce identities with a specific attribute value. * `principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/*`: All identities in a workforce identity pool. * `principal://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/subject/{subject_attribute_value}`: A single identity in a workload identity pool. * `principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/group/{group_id}`: A workload identity pool group. * `principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/attribute.{attribute_name}/{attribute_value}`: All identities in a workload identity pool with a certain attribute. * `principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/*`: All identities in a workload identity pool. * `deleted:user:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a user that has been recently deleted. For example, `alice@example.com?uid=123456789012345678901`. If the user is recovered, this value reverts to `user:{emailid}` and the recovered user retains the role in the binding. * `deleted:serviceAccount:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a service account that has been recently deleted. For example, `my-other-app@appspot.gserviceaccount.com?uid=123456789012345678901`. If the service account is undeleted, this value reverts to `serviceAccount:{emailid}` and the undeleted service account retains the role in the binding. * `deleted:group:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a Google group that has been recently deleted. For example, `admins@example.com?uid=123456789012345678901`. If the group is recovered, this value reverts to `group:{emailid}` and the recovered group retains the role in the binding. * `deleted:principal://iam.googleapis.com/locations/global/workforcePools/{pool_id}/subject/{subject_attribute_value}`: Deleted single identity in a workforce identity pool. For example, `deleted:principal://iam.googleapis.com/locations/global/workforcePools/my-pool-id/subject/my-subject-attribute-value`.", +"items": { +"type": "string" +}, +"type": "array" +}, +"role": { +"description": "Role that is assigned to the list of `members`, or principals. For example, `roles/viewer`, `roles/editor`, or `roles/owner`. For an overview of the IAM roles and permissions, see the [IAM documentation](https://cloud.google.com/iam/docs/roles-overview). For a list of the available pre-defined roles, see [here](https://cloud.google.com/iam/docs/understanding-roles).", +"type": "string" +} +}, +"type": "object" +}, +"CustomerManagedEncryption": { +"description": "Configuration for encrypting secret payloads using customer-managed encryption keys (CMEK).", +"id": "CustomerManagedEncryption", +"properties": { +"kmsKeyName": { +"description": "Required. The resource name of the Cloud KMS CryptoKey used to encrypt secret payloads. For secrets using the UserManaged replication policy type, Cloud KMS CryptoKeys must reside in the same location as the replica location. For secrets using the Automatic replication policy type, Cloud KMS CryptoKeys must reside in `global`. The expected format is `projects/*/locations/*/keyRings/*/cryptoKeys/*`.", +"type": "string" +} +}, +"type": "object" +}, +"CustomerManagedEncryptionStatus": { +"description": "Describes the status of customer-managed encryption.", +"id": "CustomerManagedEncryptionStatus", +"properties": { +"kmsKeyVersionName": { +"description": "Required. The resource name of the Cloud KMS CryptoKeyVersion used to encrypt the secret payload, in the following format: `projects/*/locations/*/keyRings/*/cryptoKeys/*/versions/*`.", +"type": "string" +} +}, +"type": "object" +}, +"DestroySecretVersionRequest": { +"description": "Request message for SecretManagerService.DestroySecretVersion.", +"id": "DestroySecretVersionRequest", +"properties": { +"etag": { +"description": "Optional. Etag of the SecretVersion. The request succeeds if it matches the etag of the currently stored secret version object. If the etag is omitted, the request succeeds.", +"type": "string" +} +}, +"type": "object" +}, +"DisableSecretVersionRequest": { +"description": "Request message for SecretManagerService.DisableSecretVersion.", +"id": "DisableSecretVersionRequest", +"properties": { +"etag": { +"description": "Optional. Etag of the SecretVersion. The request succeeds if it matches the etag of the currently stored secret version object. If the etag is omitted, the request succeeds.", +"type": "string" +} +}, +"type": "object" +}, +"Empty": { +"description": "A generic empty message that you can re-use to avoid defining duplicated empty messages in your APIs. A typical example is to use it as the request or the response type of an API method. For instance: service Foo { rpc Bar(google.protobuf.Empty) returns (google.protobuf.Empty); }", +"id": "Empty", +"properties": {}, +"type": "object" +}, +"EnableSecretVersionRequest": { +"description": "Request message for SecretManagerService.EnableSecretVersion.", +"id": "EnableSecretVersionRequest", +"properties": { +"etag": { +"description": "Optional. Etag of the SecretVersion. The request succeeds if it matches the etag of the currently stored secret version object. If the etag is omitted, the request succeeds.", +"type": "string" +} +}, +"type": "object" +}, +"Expr": { +"description": "Represents a textual expression in the Common Expression Language (CEL) syntax. CEL is a C-like expression language. The syntax and semantics of CEL are documented at https://github.com/google/cel-spec. Example (Comparison): title: \"Summary size limit\" description: \"Determines if a summary is less than 100 chars\" expression: \"document.summary.size() < 100\" Example (Equality): title: \"Requestor is owner\" description: \"Determines if requestor is the document owner\" expression: \"document.owner == request.auth.claims.email\" Example (Logic): title: \"Public documents\" description: \"Determine whether the document should be publicly visible\" expression: \"document.type != 'private' && document.type != 'internal'\" Example (Data Manipulation): title: \"Notification string\" description: \"Create a notification string with a timestamp.\" expression: \"'New message received at ' + string(document.create_time)\" The exact variables and functions that may be referenced within an expression are determined by the service that evaluates it. See the service documentation for additional information.", +"id": "Expr", +"properties": { +"description": { +"description": "Optional. Description of the expression. This is a longer text which describes the expression, e.g. when hovered over it in a UI.", +"type": "string" +}, +"expression": { +"description": "Textual representation of an expression in Common Expression Language syntax.", +"type": "string" +}, +"location": { +"description": "Optional. String indicating the location of the expression for error reporting, e.g. a file name and a position in the file.", +"type": "string" +}, +"title": { +"description": "Optional. Title for the expression, i.e. a short string describing its purpose. This can be used e.g. in UIs which allow to enter the expression.", +"type": "string" +} +}, +"type": "object" +}, +"ListLocationsResponse": { +"description": "The response message for Locations.ListLocations.", +"id": "ListLocationsResponse", +"properties": { +"locations": { +"description": "A list of locations that matches the specified filter in the request.", +"items": { +"$ref": "Location" +}, +"type": "array" +}, +"nextPageToken": { +"description": "The standard List next-page token.", +"type": "string" +} +}, +"type": "object" +}, +"ListSecretVersionsResponse": { +"description": "Response message for SecretManagerService.ListSecretVersions.", +"id": "ListSecretVersionsResponse", +"properties": { +"nextPageToken": { +"description": "A token to retrieve the next page of results. Pass this value in ListSecretVersionsRequest.page_token to retrieve the next page.", +"type": "string" +}, +"totalSize": { +"description": "The total number of SecretVersions but 0 when the ListSecretsRequest.filter field is set.", +"format": "int32", +"type": "integer" +}, +"versions": { +"description": "The list of SecretVersions sorted in reverse by create_time (newest first).", +"items": { +"$ref": "SecretVersion" +}, +"type": "array" +} +}, +"type": "object" +}, +"ListSecretsResponse": { +"description": "Response message for SecretManagerService.ListSecrets.", +"id": "ListSecretsResponse", +"properties": { +"nextPageToken": { +"description": "A token to retrieve the next page of results. Pass this value in ListSecretsRequest.page_token to retrieve the next page.", +"type": "string" +}, +"secrets": { +"description": "The list of Secrets sorted in reverse by create_time (newest first).", +"items": { +"$ref": "Secret" +}, +"type": "array" +}, +"totalSize": { +"description": "The total number of Secrets but 0 when the ListSecretsRequest.filter field is set.", +"format": "int32", +"type": "integer" +} +}, +"type": "object" +}, +"Location": { +"description": "A resource that represents a Google Cloud location.", +"id": "Location", +"properties": { +"displayName": { +"description": "The friendly name for this location, typically a nearby city name. For example, \"Tokyo\".", +"type": "string" +}, +"labels": { +"additionalProperties": { +"type": "string" +}, +"description": "Cross-service attributes for the location. For example {\"cloud.googleapis.com/region\": \"us-east1\"}", +"type": "object" +}, +"locationId": { +"description": "The canonical id for this location. For example: `\"us-east1\"`.", +"type": "string" +}, +"metadata": { +"additionalProperties": { +"description": "Properties of the object. Contains field @type with type URL.", +"type": "any" +}, +"description": "Service-specific metadata. For example the available capacity at the given location.", +"type": "object" +}, +"name": { +"description": "Resource name for the location, which may vary between implementations. For example: `\"projects/example-project/locations/us-east1\"`", +"type": "string" +} +}, +"type": "object" +}, +"Policy": { +"description": "An Identity and Access Management (IAM) policy, which specifies access controls for Google Cloud resources. A `Policy` is a collection of `bindings`. A `binding` binds one or more `members`, or principals, to a single `role`. Principals can be user accounts, service accounts, Google groups, and domains (such as G Suite). A `role` is a named list of permissions; each `role` can be an IAM predefined role or a user-created custom role. For some types of Google Cloud resources, a `binding` can also specify a `condition`, which is a logical expression that allows access to a resource only if the expression evaluates to `true`. A condition can add constraints based on attributes of the request, the resource, or both. To learn which resources support conditions in their IAM policies, see the [IAM documentation](https://cloud.google.com/iam/help/conditions/resource-policies). **JSON example:** ``` { \"bindings\": [ { \"role\": \"roles/resourcemanager.organizationAdmin\", \"members\": [ \"user:mike@example.com\", \"group:admins@example.com\", \"domain:google.com\", \"serviceAccount:my-project-id@appspot.gserviceaccount.com\" ] }, { \"role\": \"roles/resourcemanager.organizationViewer\", \"members\": [ \"user:eve@example.com\" ], \"condition\": { \"title\": \"expirable access\", \"description\": \"Does not grant access after Sep 2020\", \"expression\": \"request.time < timestamp('2020-10-01T00:00:00.000Z')\", } } ], \"etag\": \"BwWWja0YfJA=\", \"version\": 3 } ``` **YAML example:** ``` bindings: - members: - user:mike@example.com - group:admins@example.com - domain:google.com - serviceAccount:my-project-id@appspot.gserviceaccount.com role: roles/resourcemanager.organizationAdmin - members: - user:eve@example.com role: roles/resourcemanager.organizationViewer condition: title: expirable access description: Does not grant access after Sep 2020 expression: request.time < timestamp('2020-10-01T00:00:00.000Z') etag: BwWWja0YfJA= version: 3 ``` For a description of IAM and its features, see the [IAM documentation](https://cloud.google.com/iam/docs/).", +"id": "Policy", +"properties": { +"auditConfigs": { +"description": "Specifies cloud audit logging configuration for this policy.", +"items": { +"$ref": "AuditConfig" +}, +"type": "array" +}, +"bindings": { +"description": "Associates a list of `members`, or principals, with a `role`. Optionally, may specify a `condition` that determines how and when the `bindings` are applied. Each of the `bindings` must contain at least one principal. The `bindings` in a `Policy` can refer to up to 1,500 principals; up to 250 of these principals can be Google groups. Each occurrence of a principal counts towards these limits. For example, if the `bindings` grant 50 different roles to `user:alice@example.com`, and not to any other principal, then you can add another 1,450 principals to the `bindings` in the `Policy`.", +"items": { +"$ref": "Binding" +}, +"type": "array" +}, +"etag": { +"description": "`etag` is used for optimistic concurrency control as a way to help prevent simultaneous updates of a policy from overwriting each other. It is strongly suggested that systems make use of the `etag` in the read-modify-write cycle to perform policy updates in order to avoid race conditions: An `etag` is returned in the response to `getIamPolicy`, and systems are expected to put that etag in the request to `setIamPolicy` to ensure that their change will be applied to the same version of the policy. **Important:** If you use IAM Conditions, you must include the `etag` field whenever you call `setIamPolicy`. If you omit this field, then IAM allows you to overwrite a version `3` policy with a version `1` policy, and all of the conditions in the version `3` policy are lost.", +"format": "byte", +"type": "string" +}, +"version": { +"description": "Specifies the format of the policy. Valid values are `0`, `1`, and `3`. Requests that specify an invalid value are rejected. Any operation that affects conditional role bindings must specify version `3`. This requirement applies to the following operations: * Getting a policy that includes a conditional role binding * Adding a conditional role binding to a policy * Changing a conditional role binding in a policy * Removing any role binding, with or without a condition, from a policy that includes conditions **Important:** If you use IAM Conditions, you must include the `etag` field whenever you call `setIamPolicy`. If you omit this field, then IAM allows you to overwrite a version `3` policy with a version `1` policy, and all of the conditions in the version `3` policy are lost. If a policy does not include any conditions, operations on that policy may specify any valid version or leave the field unset. To learn which resources support conditions in their IAM policies, see the [IAM documentation](https://cloud.google.com/iam/help/conditions/resource-policies).", +"format": "int32", +"type": "integer" +} +}, +"type": "object" +}, +"Replica": { +"description": "Represents a Replica for this Secret.", +"id": "Replica", +"properties": { +"customerManagedEncryption": { +"$ref": "CustomerManagedEncryption", +"description": "Optional. The customer-managed encryption configuration of the User-Managed Replica. If no configuration is provided, Google-managed default encryption is used. Updates to the Secret encryption configuration only apply to SecretVersions added afterwards. They do not apply retroactively to existing SecretVersions." +}, +"location": { +"description": "The canonical IDs of the location to replicate data. For example: `\"us-east1\"`.", +"type": "string" +} +}, +"type": "object" +}, +"ReplicaStatus": { +"description": "Describes the status of a user-managed replica for the SecretVersion.", +"id": "ReplicaStatus", +"properties": { +"customerManagedEncryption": { +"$ref": "CustomerManagedEncryptionStatus", +"description": "Output only. The customer-managed encryption status of the SecretVersion. Only populated if customer-managed encryption is used.", +"readOnly": true +}, +"location": { +"description": "Output only. The canonical ID of the replica location. For example: `\"us-east1\"`.", +"readOnly": true, +"type": "string" +} +}, +"type": "object" +}, +"Replication": { +"description": "A policy that defines the replication and encryption configuration of data.", +"id": "Replication", +"properties": { +"automatic": { +"$ref": "Automatic", +"description": "The Secret will automatically be replicated without any restrictions." +}, +"userManaged": { +"$ref": "UserManaged", +"description": "The Secret will only be replicated into the locations specified." +} +}, +"type": "object" +}, +"ReplicationStatus": { +"description": "The replication status of a SecretVersion.", +"id": "ReplicationStatus", +"properties": { +"automatic": { +"$ref": "AutomaticStatus", +"description": "Describes the replication status of a SecretVersion with automatic replication. Only populated if the parent Secret has an automatic replication policy." +}, +"userManaged": { +"$ref": "UserManagedStatus", +"description": "Describes the replication status of a SecretVersion with user-managed replication. Only populated if the parent Secret has a user-managed replication policy." +} +}, +"type": "object" +}, +"Rotation": { +"description": "The rotation time and period for a Secret. At next_rotation_time, Secret Manager will send a Pub/Sub notification to the topics configured on the Secret. Secret.topics must be set to configure rotation.", +"id": "Rotation", +"properties": { +"nextRotationTime": { +"description": "Optional. Timestamp in UTC at which the Secret is scheduled to rotate. Cannot be set to less than 300s (5 min) in the future and at most 3153600000s (100 years). next_rotation_time MUST be set if rotation_period is set.", +"format": "google-datetime", +"type": "string" +}, +"rotationPeriod": { +"description": "Input only. The Duration between rotation notifications. Must be in seconds and at least 3600s (1h) and at most 3153600000s (100 years). If rotation_period is set, next_rotation_time must be set. next_rotation_time will be advanced by this period when the service automatically sends rotation notifications.", +"format": "google-duration", +"type": "string" +} +}, +"type": "object" +}, +"Secret": { +"description": "A Secret is a logical secret whose value and versions can be accessed. A Secret is made up of zero or more SecretVersions that represent the secret data.", +"id": "Secret", +"properties": { +"annotations": { +"additionalProperties": { +"type": "string" +}, +"description": "Optional. Custom metadata about the secret. Annotations are distinct from various forms of labels. Annotations exist to allow client tools to store their own state information without requiring a database. Annotation keys must be between 1 and 63 characters long, have a UTF-8 encoding of maximum 128 bytes, begin and end with an alphanumeric character ([a-z0-9A-Z]), and may have dashes (-), underscores (_), dots (.), and alphanumerics in between these symbols. The total size of annotation keys and values must be less than 16KiB.", +"type": "object" +}, +"createTime": { +"description": "Output only. The time at which the Secret was created.", +"format": "google-datetime", +"readOnly": true, +"type": "string" +}, +"customerManagedEncryption": { +"$ref": "CustomerManagedEncryption", +"description": "Optional. The customer-managed encryption configuration of the Regionalised Secrets. If no configuration is provided, Google-managed default encryption is used. Updates to the Secret encryption configuration only apply to SecretVersions added afterwards. They do not apply retroactively to existing SecretVersions." +}, +"etag": { +"description": "Optional. Etag of the currently stored Secret.", +"type": "string" +}, +"expireTime": { +"description": "Optional. Timestamp in UTC when the Secret is scheduled to expire. This is always provided on output, regardless of what was sent on input.", +"format": "google-datetime", +"type": "string" +}, +"labels": { +"additionalProperties": { +"type": "string" +}, +"description": "The labels assigned to this Secret. Label keys must be between 1 and 63 characters long, have a UTF-8 encoding of maximum 128 bytes, and must conform to the following PCRE regular expression: `\\p{Ll}\\p{Lo}{0,62}` Label values must be between 0 and 63 characters long, have a UTF-8 encoding of maximum 128 bytes, and must conform to the following PCRE regular expression: `[\\p{Ll}\\p{Lo}\\p{N}_-]{0,63}` No more than 64 labels can be assigned to a given resource.", +"type": "object" +}, +"name": { +"description": "Output only. The resource name of the Secret in the format `projects/*/secrets/*`.", +"readOnly": true, +"type": "string" +}, +"replication": { +"$ref": "Replication", +"description": "Optional. Immutable. The replication policy of the secret data attached to the Secret. The replication policy cannot be changed after the Secret has been created." +}, +"rotation": { +"$ref": "Rotation", +"description": "Optional. Rotation policy attached to the Secret. May be excluded if there is no rotation policy." +}, +"topics": { +"description": "Optional. A list of up to 10 Pub/Sub topics to which messages are published when control plane operations are called on the secret or its versions.", +"items": { +"$ref": "Topic" +}, +"type": "array" +}, +"ttl": { +"description": "Input only. The TTL for the Secret.", +"format": "google-duration", +"type": "string" +}, +"versionAliases": { +"additionalProperties": { +"format": "int64", +"type": "string" +}, +"description": "Optional. Mapping from version alias to version name. A version alias is a string with a maximum length of 63 characters and can contain uppercase and lowercase letters, numerals, and the hyphen (`-`) and underscore ('_') characters. An alias string must start with a letter and cannot be the string 'latest' or 'NEW'. No more than 50 aliases can be assigned to a given secret. Version-Alias pairs will be viewable via GetSecret and modifiable via UpdateSecret. Access by alias is only supported for GetSecretVersion and AccessSecretVersion.", +"type": "object" +}, +"versionDestroyTtl": { +"description": "Optional. Secret Version TTL after destruction request This is a part of the Delayed secret version destroy feature. For secret with TTL>0, version destruction doesn't happen immediately on calling destroy instead the version goes to a disabled state and destruction happens after the TTL expires.", +"format": "google-duration", +"type": "string" +} +}, +"type": "object" +}, +"SecretPayload": { +"description": "A secret payload resource in the Secret Manager API. This contains the sensitive secret payload that is associated with a SecretVersion.", +"id": "SecretPayload", +"properties": { +"data": { +"description": "The secret data. Must be no larger than 64KiB.", +"format": "byte", +"type": "string" +}, +"dataCrc32c": { +"description": "Optional. If specified, SecretManagerService will verify the integrity of the received data on SecretManagerService.AddSecretVersion calls using the crc32c checksum and store it to include in future SecretManagerService.AccessSecretVersion responses. If a checksum is not provided in the SecretManagerService.AddSecretVersion request, the SecretManagerService will generate and store one for you. The CRC32C value is encoded as a Int64 for compatibility, and can be safely downconverted to uint32 in languages that support this type. https://cloud.google.com/apis/design/design_patterns#integer_types", +"format": "int64", +"type": "string" +} +}, +"type": "object" +}, +"SecretVersion": { +"description": "A secret version resource in the Secret Manager API.", +"id": "SecretVersion", +"properties": { +"clientSpecifiedPayloadChecksum": { +"description": "Output only. True if payload checksum specified in SecretPayload object has been received by SecretManagerService on SecretManagerService.AddSecretVersion.", +"readOnly": true, +"type": "boolean" +}, +"createTime": { +"description": "Output only. The time at which the SecretVersion was created.", +"format": "google-datetime", +"readOnly": true, +"type": "string" +}, +"customerManagedEncryption": { +"$ref": "CustomerManagedEncryptionStatus", +"description": "Output only. The customer-managed encryption status of the SecretVersion. Only populated if customer-managed encryption is used and Secret is a Regionalised Secret.", +"readOnly": true +}, +"destroyTime": { +"description": "Output only. The time this SecretVersion was destroyed. Only present if state is DESTROYED.", +"format": "google-datetime", +"readOnly": true, +"type": "string" +}, +"etag": { +"description": "Output only. Etag of the currently stored SecretVersion.", +"readOnly": true, +"type": "string" +}, +"name": { +"description": "Output only. The resource name of the SecretVersion in the format `projects/*/secrets/*/versions/*`. SecretVersion IDs in a Secret start at 1 and are incremented for each subsequent version of the secret.", +"readOnly": true, +"type": "string" +}, +"replicationStatus": { +"$ref": "ReplicationStatus", +"description": "The replication status of the SecretVersion." +}, +"scheduledDestroyTime": { +"description": "Optional. Output only. Scheduled destroy time for secret version. This is a part of the Delayed secret version destroy feature. For a Secret with a valid version destroy TTL, when a secert version is destroyed, version is moved to disabled state and it is scheduled for destruction Version is destroyed only after the scheduled_destroy_time.", +"format": "google-datetime", +"readOnly": true, +"type": "string" +}, +"state": { +"description": "Output only. The current state of the SecretVersion.", +"enum": [ +"STATE_UNSPECIFIED", +"ENABLED", +"DISABLED", +"DESTROYED" +], +"enumDescriptions": [ +"Not specified. This value is unused and invalid.", +"The SecretVersion may be accessed.", +"The SecretVersion may not be accessed, but the secret data is still available and can be placed back into the ENABLED state.", +"The SecretVersion is destroyed and the secret data is no longer stored. A version may not leave this state once entered." +], +"readOnly": true, +"type": "string" +} +}, +"type": "object" +}, +"SetIamPolicyRequest": { +"description": "Request message for `SetIamPolicy` method.", +"id": "SetIamPolicyRequest", +"properties": { +"policy": { +"$ref": "Policy", +"description": "REQUIRED: The complete policy to be applied to the `resource`. The size of the policy is limited to a few 10s of KB. An empty policy is a valid policy but certain Google Cloud services (such as Projects) might reject them." +}, +"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" +} +}, +"type": "object" +}, +"TestIamPermissionsRequest": { +"description": "Request message for `TestIamPermissions` method.", +"id": "TestIamPermissionsRequest", +"properties": { +"permissions": { +"description": "The set of permissions to check for the `resource`. Permissions with wildcards (such as `*` or `storage.*`) are not allowed. For more information see [IAM Overview](https://cloud.google.com/iam/docs/overview#permissions).", +"items": { +"type": "string" +}, +"type": "array" +} +}, +"type": "object" +}, +"TestIamPermissionsResponse": { +"description": "Response message for `TestIamPermissions` method.", +"id": "TestIamPermissionsResponse", +"properties": { +"permissions": { +"description": "A subset of `TestPermissionsRequest.permissions` that the caller is allowed.", +"items": { +"type": "string" +}, +"type": "array" +} +}, +"type": "object" +}, +"Topic": { +"description": "A Pub/Sub topic which Secret Manager will publish to when control plane events occur on this secret.", +"id": "Topic", +"properties": { +"name": { +"description": "Required. The resource name of the Pub/Sub topic that will be published to, in the following format: `projects/*/topics/*`. For publication to succeed, the Secret Manager service agent must have the `pubsub.topic.publish` permission on the topic. The Pub/Sub Publisher role (`roles/pubsub.publisher`) includes this permission.", +"type": "string" +} +}, +"type": "object" +}, +"UserManaged": { +"description": "A replication policy that replicates the Secret payload into the locations specified in Replication.UserManaged.replicas", +"id": "UserManaged", +"properties": { +"replicas": { +"description": "Required. The list of Replicas for this Secret. Cannot be empty.", +"items": { +"$ref": "Replica" +}, +"type": "array" +} +}, +"type": "object" +}, +"UserManagedStatus": { +"description": "The replication status of a SecretVersion using user-managed replication. Only populated if the parent Secret has a user-managed replication policy.", +"id": "UserManagedStatus", +"properties": { +"replicas": { +"description": "Output only. The list of replica statuses for the SecretVersion.", +"items": { +"$ref": "ReplicaStatus" +}, +"readOnly": true, +"type": "array" +} +}, +"type": "object" +} +}, +"servicePath": "", +"title": "Secret Manager API", +"version": "v1beta2", +"version_module": true +} \ No newline at end of file diff --git a/.venv/lib/python3.11/site-packages/googleapiclient/discovery_cache/documents/servicecontrol.v1.json b/.venv/lib/python3.11/site-packages/googleapiclient/discovery_cache/documents/servicecontrol.v1.json new file mode 100644 index 0000000000000000000000000000000000000000..08df87e2631af7e0fa074040bdb1076d54815fa8 --- /dev/null +++ b/.venv/lib/python3.11/site-packages/googleapiclient/discovery_cache/documents/servicecontrol.v1.json @@ -0,0 +1,2277 @@ +{ +"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." +}, +"https://www.googleapis.com/auth/servicecontrol": { +"description": "Manage your Google Service Control data" +} +} +} +}, +"basePath": "", +"baseUrl": "https://servicecontrol.googleapis.com/", +"batchPath": "batch", +"canonicalName": "Service Control", +"description": "Provides admission control and telemetry reporting for services integrated with Service Infrastructure. ", +"discoveryVersion": "v1", +"documentationLink": "https://cloud.google.com/service-control/", +"fullyEncodeReservedExpansion": true, +"icons": { +"x16": "http://www.google.com/images/icons/product/search-16.gif", +"x32": "http://www.google.com/images/icons/product/search-32.gif" +}, +"id": "servicecontrol:v1", +"kind": "discovery#restDescription", +"mtlsRootUrl": "https://servicecontrol.mtls.googleapis.com/", +"name": "servicecontrol", +"ownerDomain": "google.com", +"ownerName": "Google", +"parameters": { +"$.xgafv": { +"description": "V1 error format.", +"enum": [ +"1", +"2" +], +"enumDescriptions": [ +"v1 error format", +"v2 error format" +], +"location": "query", +"type": "string" +}, +"access_token": { +"description": "OAuth access token.", +"location": "query", +"type": "string" +}, +"alt": { +"default": "json", +"description": "Data format for response.", +"enum": [ +"json", +"media", +"proto" +], +"enumDescriptions": [ +"Responses with Content-Type of application/json", +"Media download with context-dependent Content-Type", +"Responses with Content-Type of application/x-protobuf" +], +"location": "query", +"type": "string" +}, +"callback": { +"description": "JSONP", +"location": "query", +"type": "string" +}, +"fields": { +"description": "Selector specifying which fields to include in a partial response.", +"location": "query", +"type": "string" +}, +"key": { +"description": "API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token.", +"location": "query", +"type": "string" +}, +"oauth_token": { +"description": "OAuth 2.0 token for the current user.", +"location": "query", +"type": "string" +}, +"prettyPrint": { +"default": "true", +"description": "Returns response with indentations and line breaks.", +"location": "query", +"type": "boolean" +}, +"quotaUser": { +"description": "Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters.", +"location": "query", +"type": "string" +}, +"uploadType": { +"description": "Legacy upload protocol for media (e.g. \"media\", \"multipart\").", +"location": "query", +"type": "string" +}, +"upload_protocol": { +"description": "Upload protocol for media (e.g. \"raw\", \"multipart\").", +"location": "query", +"type": "string" +} +}, +"protocol": "rest", +"resources": { +"services": { +"methods": { +"allocateQuota": { +"description": "Attempts to allocate quota for the specified consumer. It should be called before the operation is executed. This method requires the `servicemanagement.services.quota` permission on the specified service. For more information, see [Cloud IAM](https://cloud.google.com/iam). **NOTE:** The client **must** fail-open on server errors `INTERNAL`, `UNKNOWN`, `DEADLINE_EXCEEDED`, and `UNAVAILABLE`. To ensure system reliability, the server may inject these errors to prohibit any hard dependency on the quota functionality.", +"flatPath": "v1/services/{serviceName}:allocateQuota", +"httpMethod": "POST", +"id": "servicecontrol.services.allocateQuota", +"parameterOrder": [ +"serviceName" +], +"parameters": { +"serviceName": { +"description": "Name of the service as specified in the service configuration. For example, `\"pubsub.googleapis.com\"`. See google.api.Service for the definition of a service name.", +"location": "path", +"required": true, +"type": "string" +} +}, +"path": "v1/services/{serviceName}:allocateQuota", +"request": { +"$ref": "AllocateQuotaRequest" +}, +"response": { +"$ref": "AllocateQuotaResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/servicecontrol" +] +}, +"check": { +"description": "Checks whether an operation on a service should be allowed to proceed based on the configuration of the service and related policies. It must be called before the operation is executed. If feasible, the client should cache the check results and reuse them for 60 seconds. In case of any server errors, the client should rely on the cached results for much longer time to avoid outage. WARNING: There is general 60s delay for the configuration and policy propagation, therefore callers MUST NOT depend on the `Check` method having the latest policy information. NOTE: the CheckRequest has the size limit (wire-format byte size) of 1MB. This method requires the `servicemanagement.services.check` permission on the specified service. For more information, see [Cloud IAM](https://cloud.google.com/iam).", +"flatPath": "v1/services/{serviceName}:check", +"httpMethod": "POST", +"id": "servicecontrol.services.check", +"parameterOrder": [ +"serviceName" +], +"parameters": { +"serviceName": { +"description": "The service name as specified in its service configuration. For example, `\"pubsub.googleapis.com\"`. See [google.api.Service](https://cloud.google.com/service-management/reference/rpc/google.api#google.api.Service) for the definition of a service name.", +"location": "path", +"required": true, +"type": "string" +} +}, +"path": "v1/services/{serviceName}:check", +"request": { +"$ref": "CheckRequest" +}, +"response": { +"$ref": "CheckResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/servicecontrol" +] +}, +"report": { +"description": "Reports operation results to Google Service Control, such as logs and metrics. It should be called after an operation is completed. If feasible, the client should aggregate reporting data for up to 5 seconds to reduce API traffic. Limiting aggregation to 5 seconds is to reduce data loss during client crashes. Clients should carefully choose the aggregation time window to avoid data loss risk more than 0.01% for business and compliance reasons. NOTE: the ReportRequest has the size limit (wire-format byte size) of 1MB. This method requires the `servicemanagement.services.report` permission on the specified service. For more information, see [Google Cloud IAM](https://cloud.google.com/iam).", +"flatPath": "v1/services/{serviceName}:report", +"httpMethod": "POST", +"id": "servicecontrol.services.report", +"parameterOrder": [ +"serviceName" +], +"parameters": { +"serviceName": { +"description": "The service name as specified in its service configuration. For example, `\"pubsub.googleapis.com\"`. See [google.api.Service](https://cloud.google.com/service-management/reference/rpc/google.api#google.api.Service) for the definition of a service name.", +"location": "path", +"required": true, +"type": "string" +} +}, +"path": "v1/services/{serviceName}:report", +"request": { +"$ref": "ReportRequest" +}, +"response": { +"$ref": "ReportResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/servicecontrol" +] +} +} +} +}, +"revision": "20250103", +"rootUrl": "https://servicecontrol.googleapis.com/", +"schemas": { +"AllocateInfo": { +"id": "AllocateInfo", +"properties": { +"unusedArguments": { +"description": "A list of label keys that were unused by the server in processing the request. Thus, for similar requests repeated in a certain future time window, the caller can choose to ignore these labels in the requests to achieve better client-side cache hits and quota aggregation for rate quota. This field is not populated for allocation quota checks.", +"items": { +"type": "string" +}, +"type": "array" +} +}, +"type": "object" +}, +"AllocateQuotaRequest": { +"description": "Request message for the AllocateQuota method.", +"id": "AllocateQuotaRequest", +"properties": { +"allocateOperation": { +"$ref": "QuotaOperation", +"description": "Operation that describes the quota allocation." +}, +"serviceConfigId": { +"description": "Specifies which version of service configuration should be used to process the request. If unspecified or no matching version can be found, the latest one will be used.", +"type": "string" +} +}, +"type": "object" +}, +"AllocateQuotaResponse": { +"description": "Response message for the AllocateQuota method.", +"id": "AllocateQuotaResponse", +"properties": { +"allocateErrors": { +"description": "Indicates the decision of the allocate.", +"items": { +"$ref": "QuotaError" +}, +"type": "array" +}, +"allocateInfo": { +"$ref": "AllocateInfo", +"description": "WARNING: DO NOT use this field until this warning message is removed." +}, +"operationId": { +"description": "The same operation_id value used in the AllocateQuotaRequest. Used for logging and diagnostics purposes.", +"type": "string" +}, +"quotaMetrics": { +"description": "Quota metrics to indicate the result of allocation. Depending on the request, one or more of the following metrics will be included: 1. Per quota group or per quota metric incremental usage will be specified using the following delta metric : \"serviceruntime.googleapis.com/api/consumer/quota_used_count\" 2. The quota limit reached condition will be specified using the following boolean metric : \"serviceruntime.googleapis.com/quota/exceeded\"", +"items": { +"$ref": "MetricValueSet" +}, +"type": "array" +}, +"serviceConfigId": { +"description": "ID of the actual config used to process the request.", +"type": "string" +} +}, +"type": "object" +}, +"AttributeValue": { +"description": "The allowed types for [VALUE] in a `[KEY]:[VALUE]` attribute.", +"id": "AttributeValue", +"properties": { +"boolValue": { +"description": "A Boolean value represented by `true` or `false`.", +"type": "boolean" +}, +"intValue": { +"description": "A 64-bit signed integer.", +"format": "int64", +"type": "string" +}, +"stringValue": { +"$ref": "TruncatableString", +"description": "A string up to 256 bytes long." +} +}, +"type": "object" +}, +"Attributes": { +"description": "A set of attributes, each in the format `[KEY]:[VALUE]`.", +"id": "Attributes", +"properties": { +"attributeMap": { +"additionalProperties": { +"$ref": "AttributeValue" +}, +"description": "The set of attributes. Each attribute's key can be up to 128 bytes long. The value can be a string up to 256 bytes, a signed 64-bit integer, or the Boolean values `true` and `false`. For example: \"/instance_id\": \"my-instance\" \"/http/user_agent\": \"\" \"/http/request_bytes\": 300 \"example.com/myattribute\": true", +"type": "object" +}, +"droppedAttributesCount": { +"description": "The number of attributes that were discarded. Attributes can be discarded because their keys are too long or because there are too many attributes. If this value is 0 then all attributes are valid.", +"format": "int32", +"type": "integer" +} +}, +"type": "object" +}, +"AuditLog": { +"description": "Common audit log format for Google Cloud Platform API operations. ", +"id": "AuditLog", +"properties": { +"authenticationInfo": { +"$ref": "AuthenticationInfo", +"description": "Authentication information." +}, +"authorizationInfo": { +"description": "Authorization information. If there are multiple resources or permissions involved, then there is one AuthorizationInfo element for each {resource, permission} tuple.", +"items": { +"$ref": "AuthorizationInfo" +}, +"type": "array" +}, +"metadata": { +"additionalProperties": { +"description": "Properties of the object.", +"type": "any" +}, +"description": "Other service-specific data about the request, response, and other information associated with the current audited event.", +"type": "object" +}, +"methodName": { +"description": "The name of the service method or operation. For API calls, this should be the name of the API method. For example, \"google.cloud.bigquery.v2.TableService.InsertTable\" \"google.logging.v2.ConfigServiceV2.CreateSink\"", +"type": "string" +}, +"numResponseItems": { +"description": "The number of items returned from a List or Query API method, if applicable.", +"format": "int64", +"type": "string" +}, +"policyViolationInfo": { +"$ref": "PolicyViolationInfo", +"description": "Indicates the policy violations for this request. If the request is denied by the policy, violation information will be logged here." +}, +"request": { +"additionalProperties": { +"description": "Properties of the object.", +"type": "any" +}, +"description": "The operation request. This may not include all request parameters, such as those that are too large, privacy-sensitive, or duplicated elsewhere in the log record. It should never include user-generated data, such as file contents. When the JSON object represented here has a proto equivalent, the proto name will be indicated in the `@type` property.", +"type": "object" +}, +"requestMetadata": { +"$ref": "RequestMetadata", +"description": "Metadata about the operation." +}, +"resourceLocation": { +"$ref": "ResourceLocation", +"description": "The resource location information." +}, +"resourceName": { +"description": "The resource or collection that is the target of the operation. The name is a scheme-less URI, not including the API service name. For example: \"projects/PROJECT_ID/zones/us-central1-a/instances\" \"projects/PROJECT_ID/datasets/DATASET_ID\"", +"type": "string" +}, +"resourceOriginalState": { +"additionalProperties": { +"description": "Properties of the object.", +"type": "any" +}, +"description": "The resource's original state before mutation. Present only for operations which have successfully modified the targeted resource(s). In general, this field should contain all changed fields, except those that are already been included in `request`, `response`, `metadata` or `service_data` fields. When the JSON object represented here has a proto equivalent, the proto name will be indicated in the `@type` property.", +"type": "object" +}, +"response": { +"additionalProperties": { +"description": "Properties of the object.", +"type": "any" +}, +"description": "The operation response. This may not include all response elements, such as those that are too large, privacy-sensitive, or duplicated elsewhere in the log record. It should never include user-generated data, such as file contents. When the JSON object represented here has a proto equivalent, the proto name will be indicated in the `@type` property.", +"type": "object" +}, +"serviceData": { +"additionalProperties": { +"description": "Properties of the object. Contains field @type with type URL.", +"type": "any" +}, +"deprecated": true, +"description": "Deprecated. Use the `metadata` field instead. Other service-specific data about the request, response, and other activities.", +"type": "object" +}, +"serviceName": { +"description": "The name of the API service performing the operation. For example, `\"compute.googleapis.com\"`.", +"type": "string" +}, +"status": { +"$ref": "Status", +"description": "The status of the overall operation." +} +}, +"type": "object" +}, +"Auth": { +"description": "This message defines request authentication attributes. Terminology is based on the JSON Web Token (JWT) standard, but the terms also correlate to concepts in other standards.", +"id": "Auth", +"properties": { +"accessLevels": { +"description": "A list of access level resource names that allow resources to be accessed by authenticated requester. It is part of Secure GCP processing for the incoming request. An access level string has the format: \"//{api_service_name}/accessPolicies/{policy_id}/accessLevels/{short_name}\" Example: \"//accesscontextmanager.googleapis.com/accessPolicies/MY_POLICY_ID/accessLevels/MY_LEVEL\"", +"items": { +"type": "string" +}, +"type": "array" +}, +"audiences": { +"description": "The intended audience(s) for this authentication information. Reflects the audience (`aud`) claim within a JWT. The audience value(s) depends on the `issuer`, but typically include one or more of the following pieces of information: * The services intended to receive the credential. For example, [\"https://pubsub.googleapis.com/\", \"https://storage.googleapis.com/\"]. * A set of service-based scopes. For example, [\"https://www.googleapis.com/auth/cloud-platform\"]. * The client id of an app, such as the Firebase project id for JWTs from Firebase Auth. Consult the documentation for the credential issuer to determine the information provided.", +"items": { +"type": "string" +}, +"type": "array" +}, +"claims": { +"additionalProperties": { +"description": "Properties of the object.", +"type": "any" +}, +"description": "Structured claims presented with the credential. JWTs include `{key: value}` pairs for standard and private claims. The following is a subset of the standard required and optional claims that would typically be presented for a Google-based JWT: {'iss': 'accounts.google.com', 'sub': '113289723416554971153', 'aud': ['123456789012', 'pubsub.googleapis.com'], 'azp': '123456789012.apps.googleusercontent.com', 'email': 'jsmith@example.com', 'iat': 1353601026, 'exp': 1353604926} SAML assertions are similarly specified, but with an identity provider dependent structure.", +"type": "object" +}, +"presenter": { +"description": "The authorized presenter of the credential. Reflects the optional Authorized Presenter (`azp`) claim within a JWT or the OAuth client id. For example, a Google Cloud Platform client id looks as follows: \"123456789012.apps.googleusercontent.com\".", +"type": "string" +}, +"principal": { +"description": "The authenticated principal. Reflects the issuer (`iss`) and subject (`sub`) claims within a JWT. The issuer and subject should be `/` delimited, with `/` percent-encoded within the subject fragment. For Google accounts, the principal format is: \"https://accounts.google.com/{id}\"", +"type": "string" +} +}, +"type": "object" +}, +"AuthenticationInfo": { +"description": "Authentication information for the operation.", +"id": "AuthenticationInfo", +"properties": { +"authoritySelector": { +"description": "The authority selector specified by the requestor, if any. It is not guaranteed that the principal was allowed to use this authority.", +"type": "string" +}, +"principalEmail": { +"description": "The email address of the authenticated user (or service account on behalf of third party principal) making the request. For third party identity callers, the `principal_subject` field is populated instead of this field. For privacy reasons, the principal email address is sometimes redacted. For more information, see [Caller identities in audit logs](https://cloud.google.com/logging/docs/audit#user-id).", +"type": "string" +}, +"principalSubject": { +"description": "String representation of identity of requesting party. Populated for both first and third party identities.", +"type": "string" +}, +"serviceAccountDelegationInfo": { +"description": "Identity delegation history of an authenticated service account that makes the request. It contains information on the real authorities that try to access GCP resources by delegating on a service account. When multiple authorities present, they are guaranteed to be sorted based on the original ordering of the identity delegation events.", +"items": { +"$ref": "ServiceAccountDelegationInfo" +}, +"type": "array" +}, +"serviceAccountKeyName": { +"description": "The name of the service account key used to create or exchange credentials for authenticating the service account making the request. This is a scheme-less URI full resource name. For example: \"//iam.googleapis.com/projects/{PROJECT_ID}/serviceAccounts/{ACCOUNT}/keys/{key}\"", +"type": "string" +}, +"serviceDelegationHistory": { +"$ref": "ServiceDelegationHistory", +"description": "Records the history of delegated resource access across Google services." +}, +"thirdPartyPrincipal": { +"additionalProperties": { +"description": "Properties of the object.", +"type": "any" +}, +"description": "The third party identification (if any) of the authenticated user making the request. When the JSON object represented here has a proto equivalent, the proto name will be indicated in the `@type` property.", +"type": "object" +} +}, +"type": "object" +}, +"AuthorizationInfo": { +"description": "Authorization information for the operation.", +"id": "AuthorizationInfo", +"properties": { +"granted": { +"description": "Whether or not authorization for `resource` and `permission` was granted.", +"type": "boolean" +}, +"permission": { +"description": "The required IAM permission.", +"type": "string" +}, +"permissionType": { +"description": "The type of the permission that was checked. For data access audit logs this corresponds with the permission type that must be enabled in the project/folder/organization IAM policy in order for the log to be written.", +"enum": [ +"PERMISSION_TYPE_UNSPECIFIED", +"ADMIN_READ", +"ADMIN_WRITE", +"DATA_READ", +"DATA_WRITE" +], +"enumDescriptions": [ +"Default. Should not be used.", +"Permissions that gate reading resource configuration or metadata.", +"Permissions that gate modification of resource configuration or metadata.", +"Permissions that gate reading user-provided data.", +"Permissions that gate writing user-provided data." +], +"type": "string" +}, +"resource": { +"description": "The resource being accessed, as a REST-style or cloud resource string. For example: bigquery.googleapis.com/projects/PROJECTID/datasets/DATASETID or projects/PROJECTID/datasets/DATASETID", +"type": "string" +}, +"resourceAttributes": { +"$ref": "Resource", +"description": "Resource attributes used in IAM condition evaluation. This field contains resource attributes like resource type and resource name. To get the whole view of the attributes used in IAM condition evaluation, the user must also look into `AuditLog.request_metadata.request_attributes`." +} +}, +"type": "object" +}, +"CheckError": { +"description": "Defines the errors to be returned in google.api.servicecontrol.v1.CheckResponse.check_errors.", +"id": "CheckError", +"properties": { +"code": { +"description": "The error code.", +"enum": [ +"ERROR_CODE_UNSPECIFIED", +"NOT_FOUND", +"PERMISSION_DENIED", +"RESOURCE_EXHAUSTED", +"BUDGET_EXCEEDED", +"DENIAL_OF_SERVICE_DETECTED", +"LOAD_SHEDDING", +"ABUSER_DETECTED", +"SERVICE_NOT_ACTIVATED", +"VISIBILITY_DENIED", +"BILLING_DISABLED", +"PROJECT_DELETED", +"PROJECT_INVALID", +"CONSUMER_INVALID", +"IP_ADDRESS_BLOCKED", +"REFERER_BLOCKED", +"CLIENT_APP_BLOCKED", +"API_TARGET_BLOCKED", +"API_KEY_INVALID", +"API_KEY_EXPIRED", +"API_KEY_NOT_FOUND", +"SPATULA_HEADER_INVALID", +"LOAS_ROLE_INVALID", +"NO_LOAS_PROJECT", +"LOAS_PROJECT_DISABLED", +"SECURITY_POLICY_VIOLATED", +"INVALID_CREDENTIAL", +"LOCATION_POLICY_VIOLATED", +"NAMESPACE_LOOKUP_UNAVAILABLE", +"SERVICE_STATUS_UNAVAILABLE", +"BILLING_STATUS_UNAVAILABLE", +"QUOTA_CHECK_UNAVAILABLE", +"LOAS_PROJECT_LOOKUP_UNAVAILABLE", +"CLOUD_RESOURCE_MANAGER_BACKEND_UNAVAILABLE", +"SECURITY_POLICY_BACKEND_UNAVAILABLE", +"LOCATION_POLICY_BACKEND_UNAVAILABLE", +"INJECTED_ERROR" +], +"enumDescriptions": [ +"This is never used in `CheckResponse`.", +"The consumer's project id, network container, or resource container was not found. Same as google.rpc.Code.NOT_FOUND.", +"The consumer doesn't have access to the specified resource. Same as google.rpc.Code.PERMISSION_DENIED.", +"Quota check failed. Same as google.rpc.Code.RESOURCE_EXHAUSTED.", +"Budget check failed.", +"The consumer's request has been flagged as a DoS attack.", +"The consumer's request should be rejected in order to protect the service from being overloaded.", +"The consumer has been flagged as an abuser.", +"The consumer hasn't activated the service.", +"The consumer cannot access the service due to visibility configuration.", +"The consumer cannot access the service because billing is disabled.", +"The consumer's project has been marked as deleted (soft deletion).", +"The consumer's project number or id does not represent a valid project.", +"The input consumer info does not represent a valid consumer folder or organization.", +"The IP address of the consumer is invalid for the specific consumer project.", +"The referer address of the consumer request is invalid for the specific consumer project.", +"The client application of the consumer request is invalid for the specific consumer project.", +"The API targeted by this request is invalid for the specified consumer project.", +"The consumer's API key is invalid.", +"The consumer's API Key has expired.", +"The consumer's API Key was not found in config record.", +"The consumer's spatula header is invalid.", +"The consumer's LOAS role is invalid.", +"The consumer's LOAS role has no associated project.", +"The consumer's LOAS project is not `ACTIVE` in LoquatV2.", +"Request is not allowed as per security policies defined in Org Policy.", +"The credential in the request can not be verified.", +"Request is not allowed as per location policies defined in Org Policy.", +"The backend server for looking up project id/number is unavailable.", +"The backend server for checking service status is unavailable.", +"The backend server for checking billing status is unavailable.", +"The backend server for checking quota limits is unavailable.", +"The Spanner for looking up LOAS project is unavailable.", +"Cloud Resource Manager backend server is unavailable.", +"NOTE: for customers in the scope of Beta/GA of https://cloud.google.com/vpc-service-controls, this error is no longer returned. If the security backend is unavailable, rpc UNAVAILABLE status will be returned instead. It should be ignored and should not be used to reject client requests.", +"Backend server for evaluating location policy is unavailable.", +"Part of the project of fault injection: go/chemist-slo-validation. To distinguish between artificially injected errors and organic ones, this value will be exported for the per_service_check_error_count streamz. http://google3/apiserving/servicecontrol/server/controller_service.cc;l=196 Rpcinjectz2 works by injecting errors early in the rpc life cycle, before any of the chemist business logic runs." +], +"type": "string" +}, +"detail": { +"description": "Free-form text providing details on the error cause of the error.", +"type": "string" +}, +"status": { +"$ref": "Status", +"description": "Contains public information about the check error. If available, `status.code` will be non zero and client can propagate it out as public error." +}, +"subject": { +"description": "Subject to whom this error applies. See the specific code enum for more details on this field. For example: - \"project:\" - \"folder:\" - \"organization:\"", +"type": "string" +} +}, +"type": "object" +}, +"CheckInfo": { +"description": "Contains additional information about the check operation.", +"id": "CheckInfo", +"properties": { +"apiKeyUid": { +"description": "The unique id of the api key in the format of \"apikey:\". This field will be populated when the consumer passed to Chemist is an API key and all the API key related validations are successful.", +"type": "string" +}, +"consumerInfo": { +"$ref": "ConsumerInfo", +"description": "Consumer info of this check." +}, +"unusedArguments": { +"description": "A list of fields and label keys that are ignored by the server. The client doesn't need to send them for following requests to improve performance and allow better aggregation.", +"items": { +"type": "string" +}, +"type": "array" +} +}, +"type": "object" +}, +"CheckRequest": { +"description": "Request message for the Check method.", +"id": "CheckRequest", +"properties": { +"operation": { +"$ref": "Operation", +"description": "The operation to be checked." +}, +"requestProjectSettings": { +"description": "Requests the project settings to be returned as part of the check response.", +"type": "boolean" +}, +"serviceConfigId": { +"description": "Specifies which version of service configuration should be used to process the request. If unspecified or no matching version can be found, the latest one will be used.", +"type": "string" +}, +"skipActivationCheck": { +"description": "Indicates if service activation check should be skipped for this request. Default behavior is to perform the check and apply relevant quota. WARNING: Setting this flag to \"true\" will disable quota enforcement.", +"type": "boolean" +} +}, +"type": "object" +}, +"CheckResponse": { +"description": "Response message for the Check method.", +"id": "CheckResponse", +"properties": { +"checkErrors": { +"description": "Indicate the decision of the check. If no check errors are present, the service should process the operation. Otherwise the service should use the list of errors to determine the appropriate action.", +"items": { +"$ref": "CheckError" +}, +"type": "array" +}, +"checkInfo": { +"$ref": "CheckInfo", +"description": "Feedback data returned from the server during processing a Check request." +}, +"operationId": { +"description": "The same operation_id value used in the CheckRequest. Used for logging and diagnostics purposes.", +"type": "string" +}, +"quotaInfo": { +"$ref": "QuotaInfo", +"description": "Quota information for the check request associated with this response. " +}, +"serviceConfigId": { +"description": "The actual config id used to process the request.", +"type": "string" +}, +"serviceRolloutId": { +"description": "The current service rollout id used to process the request.", +"type": "string" +} +}, +"type": "object" +}, +"ConsumerInfo": { +"description": "`ConsumerInfo` provides information about the consumer.", +"id": "ConsumerInfo", +"properties": { +"consumerNumber": { +"description": "The consumer identity number, can be Google cloud project number, folder number or organization number e.g. 1234567890. A value of 0 indicates no consumer number is found.", +"format": "int64", +"type": "string" +}, +"projectNumber": { +"description": "The Google cloud project number, e.g. 1234567890. A value of 0 indicates no project number is found. NOTE: This field is deprecated after Chemist support flexible consumer id. New code should not depend on this field anymore.", +"format": "int64", +"type": "string" +}, +"type": { +"description": "The type of the consumer which should have been defined in [Google Resource Manager](https://cloud.google.com/resource-manager/).", +"enum": [ +"CONSUMER_TYPE_UNSPECIFIED", +"PROJECT", +"FOLDER", +"ORGANIZATION", +"SERVICE_SPECIFIC" +], +"enumDescriptions": [ +"This is never used.", +"The consumer is a Google Cloud Project.", +"The consumer is a Google Cloud Folder.", +"The consumer is a Google Cloud Organization.", +"Service-specific resource container which is defined by the service producer to offer their users the ability to manage service control functionalities at a finer level of granularity than the PROJECT." +], +"type": "string" +} +}, +"type": "object" +}, +"Distribution": { +"description": "Distribution represents a frequency distribution of double-valued sample points. It contains the size of the population of sample points plus additional optional information: * the arithmetic mean of the samples * the minimum and maximum of the samples * the sum-squared-deviation of the samples, used to compute variance * a histogram of the values of the sample points", +"id": "Distribution", +"properties": { +"bucketCounts": { +"description": "The number of samples in each histogram bucket. `bucket_counts` are optional. If present, they must sum to the `count` value. The buckets are defined below in `bucket_option`. There are N buckets. `bucket_counts[0]` is the number of samples in the underflow bucket. `bucket_counts[1]` to `bucket_counts[N-1]` are the numbers of samples in each of the finite buckets. And `bucket_counts[N] is the number of samples in the overflow bucket. See the comments of `bucket_option` below for more details. Any suffix of trailing zeros may be omitted.", +"items": { +"format": "int64", +"type": "string" +}, +"type": "array" +}, +"count": { +"description": "The total number of samples in the distribution. Must be >= 0.", +"format": "int64", +"type": "string" +}, +"exemplars": { +"description": "Example points. Must be in increasing order of `value` field.", +"items": { +"$ref": "Exemplar" +}, +"type": "array" +}, +"explicitBuckets": { +"$ref": "ExplicitBuckets", +"description": "Buckets with arbitrary user-provided width." +}, +"exponentialBuckets": { +"$ref": "ExponentialBuckets", +"description": "Buckets with exponentially growing width." +}, +"linearBuckets": { +"$ref": "LinearBuckets", +"description": "Buckets with constant width." +}, +"maximum": { +"description": "The maximum of the population of values. Ignored if `count` is zero.", +"format": "double", +"type": "number" +}, +"mean": { +"description": "The arithmetic mean of the samples in the distribution. If `count` is zero then this field must be zero.", +"format": "double", +"type": "number" +}, +"minimum": { +"description": "The minimum of the population of values. Ignored if `count` is zero.", +"format": "double", +"type": "number" +}, +"sumOfSquaredDeviation": { +"description": "The sum of squared deviations from the mean: Sum[i=1..count]((x_i - mean)^2) where each x_i is a sample values. If `count` is zero then this field must be zero, otherwise validation of the request fails.", +"format": "double", +"type": "number" +} +}, +"type": "object" +}, +"Exemplar": { +"description": "Exemplars are example points that may be used to annotate aggregated distribution values. They are metadata that gives information about a particular value added to a Distribution bucket, such as a trace ID that was active when a value was added. They may contain further information, such as a example values and timestamps, origin, etc.", +"id": "Exemplar", +"properties": { +"attachments": { +"description": "Contextual information about the example value. Examples are: Trace: type.googleapis.com/google.monitoring.v3.SpanContext Literal string: type.googleapis.com/google.protobuf.StringValue Labels dropped during aggregation: type.googleapis.com/google.monitoring.v3.DroppedLabels There may be only a single attachment of any given message type in a single exemplar, and this is enforced by the system.", +"items": { +"additionalProperties": { +"description": "Properties of the object. Contains field @type with type URL.", +"type": "any" +}, +"type": "object" +}, +"type": "array" +}, +"timestamp": { +"description": "The observation (sampling) time of the above value.", +"format": "google-datetime", +"type": "string" +}, +"value": { +"description": "Value of the exemplar point. This value determines to which bucket the exemplar belongs.", +"format": "double", +"type": "number" +} +}, +"type": "object" +}, +"ExplicitBuckets": { +"description": "Describing buckets with arbitrary user-provided width.", +"id": "ExplicitBuckets", +"properties": { +"bounds": { +"description": "'bound' is a list of strictly increasing boundaries between buckets. Note that a list of length N-1 defines N buckets because of fenceposting. See comments on `bucket_options` for details. The i'th finite bucket covers the interval [bound[i-1], bound[i]) where i ranges from 1 to bound_size() - 1. Note that there are no finite buckets at all if 'bound' only contains a single element; in that special case the single bound defines the boundary between the underflow and overflow buckets. bucket number lower bound upper bound i == 0 (underflow) -inf bound[i] 0 < i < bound_size() bound[i-1] bound[i] i == bound_size() (overflow) bound[i-1] +inf", +"items": { +"format": "double", +"type": "number" +}, +"type": "array" +} +}, +"type": "object" +}, +"ExponentialBuckets": { +"description": "Describing buckets with exponentially growing width.", +"id": "ExponentialBuckets", +"properties": { +"growthFactor": { +"description": "The i'th exponential bucket covers the interval [scale * growth_factor^(i-1), scale * growth_factor^i) where i ranges from 1 to num_finite_buckets inclusive. Must be larger than 1.0.", +"format": "double", +"type": "number" +}, +"numFiniteBuckets": { +"description": "The number of finite buckets. With the underflow and overflow buckets, the total number of buckets is `num_finite_buckets` + 2. See comments on `bucket_options` for details.", +"format": "int32", +"type": "integer" +}, +"scale": { +"description": "The i'th exponential bucket covers the interval [scale * growth_factor^(i-1), scale * growth_factor^i) where i ranges from 1 to num_finite_buckets inclusive. Must be > 0.", +"format": "double", +"type": "number" +} +}, +"type": "object" +}, +"FirstPartyPrincipal": { +"description": "First party identity principal.", +"id": "FirstPartyPrincipal", +"properties": { +"principalEmail": { +"description": "The email address of a Google account. .", +"type": "string" +}, +"serviceMetadata": { +"additionalProperties": { +"description": "Properties of the object.", +"type": "any" +}, +"description": "Metadata about the service that uses the service account. .", +"type": "object" +} +}, +"type": "object" +}, +"HttpRequest": { +"description": "A common proto for logging HTTP requests. Only contains semantics defined by the HTTP specification. Product-specific logging information MUST be defined in a separate message.", +"id": "HttpRequest", +"properties": { +"cacheFillBytes": { +"description": "The number of HTTP response bytes inserted into cache. Set only when a cache fill was attempted.", +"format": "int64", +"type": "string" +}, +"cacheHit": { +"description": "Whether or not an entity was served from cache (with or without validation).", +"type": "boolean" +}, +"cacheLookup": { +"description": "Whether or not a cache lookup was attempted.", +"type": "boolean" +}, +"cacheValidatedWithOriginServer": { +"description": "Whether or not the response was validated with the origin server before being served from cache. This field is only meaningful if `cache_hit` is True.", +"type": "boolean" +}, +"latency": { +"description": "The request processing latency on the server, from the time the request was received until the response was sent.", +"format": "google-duration", +"type": "string" +}, +"protocol": { +"description": "Protocol used for the request. Examples: \"HTTP/1.1\", \"HTTP/2\", \"websocket\"", +"type": "string" +}, +"referer": { +"description": "The referer URL of the request, as defined in [HTTP/1.1 Header Field Definitions](https://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html).", +"type": "string" +}, +"remoteIp": { +"description": "The IP address (IPv4 or IPv6) of the client that issued the HTTP request. Examples: `\"192.168.1.1\"`, `\"FE80::0202:B3FF:FE1E:8329\"`.", +"type": "string" +}, +"requestMethod": { +"description": "The request method. Examples: `\"GET\"`, `\"HEAD\"`, `\"PUT\"`, `\"POST\"`.", +"type": "string" +}, +"requestSize": { +"description": "The size of the HTTP request message in bytes, including the request headers and the request body.", +"format": "int64", +"type": "string" +}, +"requestUrl": { +"description": "The scheme (http, https), the host name, the path, and the query portion of the URL that was requested. Example: `\"http://example.com/some/info?color=red\"`.", +"type": "string" +}, +"responseSize": { +"description": "The size of the HTTP response message sent back to the client, in bytes, including the response headers and the response body.", +"format": "int64", +"type": "string" +}, +"serverIp": { +"description": "The IP address (IPv4 or IPv6) of the origin server that the request was sent to.", +"type": "string" +}, +"status": { +"description": "The response code indicating the status of the response. Examples: 200, 404.", +"format": "int32", +"type": "integer" +}, +"userAgent": { +"description": "The user agent sent by the client. Example: `\"Mozilla/4.0 (compatible; MSIE 6.0; Windows 98; Q312461; .NET CLR 1.0.3705)\"`.", +"type": "string" +} +}, +"type": "object" +}, +"LinearBuckets": { +"description": "Describing buckets with constant width.", +"id": "LinearBuckets", +"properties": { +"numFiniteBuckets": { +"description": "The number of finite buckets. With the underflow and overflow buckets, the total number of buckets is `num_finite_buckets` + 2. See comments on `bucket_options` for details.", +"format": "int32", +"type": "integer" +}, +"offset": { +"description": "The i'th linear bucket covers the interval [offset + (i-1) * width, offset + i * width) where i ranges from 1 to num_finite_buckets, inclusive.", +"format": "double", +"type": "number" +}, +"width": { +"description": "The i'th linear bucket covers the interval [offset + (i-1) * width, offset + i * width) where i ranges from 1 to num_finite_buckets, inclusive. Must be strictly positive.", +"format": "double", +"type": "number" +} +}, +"type": "object" +}, +"LogEntry": { +"description": "An individual log entry.", +"id": "LogEntry", +"properties": { +"httpRequest": { +"$ref": "HttpRequest", +"description": "Optional. Information about the HTTP request associated with this log entry, if applicable." +}, +"insertId": { +"description": "A unique ID for the log entry used for deduplication. If omitted, the implementation will generate one based on operation_id.", +"type": "string" +}, +"labels": { +"additionalProperties": { +"type": "string" +}, +"description": "A set of user-defined (key, value) data that provides additional information about the log entry.", +"type": "object" +}, +"name": { +"description": "Required. The log to which this log entry belongs. Examples: `\"syslog\"`, `\"book_log\"`.", +"type": "string" +}, +"operation": { +"$ref": "LogEntryOperation", +"description": "Optional. Information about an operation associated with the log entry, if applicable." +}, +"protoPayload": { +"additionalProperties": { +"description": "Properties of the object. Contains field @type with type URL.", +"type": "any" +}, +"description": "The log entry payload, represented as a protocol buffer that is expressed as a JSON object. The only accepted type currently is AuditLog.", +"type": "object" +}, +"severity": { +"description": "The severity of the log entry. The default value is `LogSeverity.DEFAULT`.", +"enum": [ +"DEFAULT", +"DEBUG", +"INFO", +"NOTICE", +"WARNING", +"ERROR", +"CRITICAL", +"ALERT", +"EMERGENCY" +], +"enumDescriptions": [ +"(0) The log entry has no assigned severity level.", +"(100) Debug or trace information.", +"(200) Routine information, such as ongoing status or performance.", +"(300) Normal but significant events, such as start up, shut down, or a configuration change.", +"(400) Warning events might cause problems.", +"(500) Error events are likely to cause problems.", +"(600) Critical events cause more severe problems or outages.", +"(700) A person must take an action immediately.", +"(800) One or more systems are unusable." +], +"type": "string" +}, +"sourceLocation": { +"$ref": "LogEntrySourceLocation", +"description": "Optional. Source code location information associated with the log entry, if any." +}, +"structPayload": { +"additionalProperties": { +"description": "Properties of the object.", +"type": "any" +}, +"description": "The log entry payload, represented as a structure that is expressed as a JSON object.", +"type": "object" +}, +"textPayload": { +"description": "The log entry payload, represented as a Unicode string (UTF-8).", +"type": "string" +}, +"timestamp": { +"description": "The time the event described by the log entry occurred. If omitted, defaults to operation start time.", +"format": "google-datetime", +"type": "string" +}, +"trace": { +"description": "Optional. Resource name of the trace associated with the log entry, if any. If this field contains a relative resource name, you can assume the name is relative to `//tracing.googleapis.com`. Example: `projects/my-projectid/traces/06796866738c859f2f19b7cfb3214824`", +"type": "string" +} +}, +"type": "object" +}, +"LogEntryOperation": { +"description": "Additional information about a potentially long-running operation with which a log entry is associated.", +"id": "LogEntryOperation", +"properties": { +"first": { +"description": "Optional. Set this to True if this is the first log entry in the operation.", +"type": "boolean" +}, +"id": { +"description": "Optional. An arbitrary operation identifier. Log entries with the same identifier are assumed to be part of the same operation.", +"type": "string" +}, +"last": { +"description": "Optional. Set this to True if this is the last log entry in the operation.", +"type": "boolean" +}, +"producer": { +"description": "Optional. An arbitrary producer identifier. The combination of `id` and `producer` must be globally unique. Examples for `producer`: `\"MyDivision.MyBigCompany.com\"`, `\"github.com/MyProject/MyApplication\"`.", +"type": "string" +} +}, +"type": "object" +}, +"LogEntrySourceLocation": { +"description": "Additional information about the source code location that produced the log entry.", +"id": "LogEntrySourceLocation", +"properties": { +"file": { +"description": "Optional. Source file name. Depending on the runtime environment, this might be a simple name or a fully-qualified name.", +"type": "string" +}, +"function": { +"description": "Optional. Human-readable name of the function or method being invoked, with optional context such as the class or package name. This information may be used in contexts such as the logs viewer, where a file and line number are less meaningful. The format can vary by language. For example: `qual.if.ied.Class.method` (Java), `dir/package.func` (Go), `function` (Python).", +"type": "string" +}, +"line": { +"description": "Optional. Line within the source file. 1-based; 0 indicates no line number available.", +"format": "int64", +"type": "string" +} +}, +"type": "object" +}, +"MetricValue": { +"description": "Represents a single metric value.", +"id": "MetricValue", +"properties": { +"boolValue": { +"description": "A boolean value.", +"type": "boolean" +}, +"distributionValue": { +"$ref": "Distribution", +"description": "A distribution value." +}, +"doubleValue": { +"description": "A double precision floating point value.", +"format": "double", +"type": "number" +}, +"endTime": { +"description": "The end of the time period over which this metric value's measurement applies. If not specified, google.api.servicecontrol.v1.Operation.end_time will be used.", +"format": "google-datetime", +"type": "string" +}, +"int64Value": { +"description": "A signed 64-bit integer value.", +"format": "int64", +"type": "string" +}, +"labels": { +"additionalProperties": { +"type": "string" +}, +"description": "The labels describing the metric value. See comments on google.api.servicecontrol.v1.Operation.labels for the overriding relationship. Note that this map must not contain monitored resource labels.", +"type": "object" +}, +"moneyValue": { +"$ref": "Money", +"description": "A money value." +}, +"startTime": { +"description": "The start of the time period over which this metric value's measurement applies. The time period has different semantics for different metric types (cumulative, delta, and gauge). See the metric definition documentation in the service configuration for details. If not specified, google.api.servicecontrol.v1.Operation.start_time will be used.", +"format": "google-datetime", +"type": "string" +}, +"stringValue": { +"description": "A text string value.", +"type": "string" +} +}, +"type": "object" +}, +"MetricValueSet": { +"description": "Represents a set of metric values in the same metric. Each metric value in the set should have a unique combination of start time, end time, and label values.", +"id": "MetricValueSet", +"properties": { +"metricName": { +"description": "The metric name defined in the service configuration.", +"type": "string" +}, +"metricValues": { +"description": "The values in this metric.", +"items": { +"$ref": "MetricValue" +}, +"type": "array" +} +}, +"type": "object" +}, +"Money": { +"description": "Represents an amount of money with its currency type.", +"id": "Money", +"properties": { +"currencyCode": { +"description": "The three-letter currency code defined in ISO 4217.", +"type": "string" +}, +"nanos": { +"description": "Number of nano (10^-9) units of the amount. The value must be between -999,999,999 and +999,999,999 inclusive. If `units` is positive, `nanos` must be positive or zero. If `units` is zero, `nanos` can be positive, zero, or negative. If `units` is negative, `nanos` must be negative or zero. For example $-1.75 is represented as `units`=-1 and `nanos`=-750,000,000.", +"format": "int32", +"type": "integer" +}, +"units": { +"description": "The whole units of the amount. For example if `currencyCode` is `\"USD\"`, then 1 unit is one US dollar.", +"format": "int64", +"type": "string" +} +}, +"type": "object" +}, +"Operation": { +"description": "Represents information regarding an operation.", +"id": "Operation", +"properties": { +"consumerId": { +"description": "Identity of the consumer who is using the service. This field should be filled in for the operations initiated by a consumer, but not for service-initiated operations that are not related to a specific consumer. - This can be in one of the following formats: - project:PROJECT_ID, - project`_`number:PROJECT_NUMBER, - projects/PROJECT_ID or PROJECT_NUMBER, - folders/FOLDER_NUMBER, - organizations/ORGANIZATION_NUMBER, - api`_`key:API_KEY.", +"type": "string" +}, +"endTime": { +"description": "End time of the operation. Required when the operation is used in ServiceController.Report, but optional when the operation is used in ServiceController.Check.", +"format": "google-datetime", +"type": "string" +}, +"importance": { +"description": "DO NOT USE. This is an experimental field.", +"enum": [ +"LOW", +"HIGH", +"DEBUG", +"PROMOTED" +], +"enumDescriptions": [ +"Allows data caching, batching, and aggregation. It provides higher performance with higher data loss risk.", +"Disables data aggregation to minimize data loss. It is for operations that contains significant monetary value or audit trail. This feature only applies to the client libraries.", +"Deprecated. Do not use. Disables data aggregation and enables additional validation logic. It should only be used during the onboarding process. It is only available to Google internal services, and the service must be approved by chemist-dev@google.com in order to use this level.", +"Used internally by Chemist." +], +"type": "string" +}, +"labels": { +"additionalProperties": { +"type": "string" +}, +"description": "Labels describing the operation. Only the following labels are allowed: - Labels describing monitored resources as defined in the service configuration. - Default labels of metric values. When specified, labels defined in the metric value override these default. - The following labels defined by Google Cloud Platform: - `cloud.googleapis.com/location` describing the location where the operation happened, - `servicecontrol.googleapis.com/user_agent` describing the user agent of the API request, - `servicecontrol.googleapis.com/service_agent` describing the service used to handle the API request (e.g. ESP), - `servicecontrol.googleapis.com/platform` describing the platform where the API is served, such as App Engine, Compute Engine, or Kubernetes Engine.", +"type": "object" +}, +"logEntries": { +"description": "Represents information to be logged.", +"items": { +"$ref": "LogEntry" +}, +"type": "array" +}, +"metricValueSets": { +"description": "Represents information about this operation. Each MetricValueSet corresponds to a metric defined in the service configuration. The data type used in the MetricValueSet must agree with the data type specified in the metric definition. Within a single operation, it is not allowed to have more than one MetricValue instances that have the same metric names and identical label value combinations. If a request has such duplicated MetricValue instances, the entire request is rejected with an invalid argument error.", +"items": { +"$ref": "MetricValueSet" +}, +"type": "array" +}, +"operationId": { +"description": "Identity of the operation. This must be unique within the scope of the service that generated the operation. If the service calls Check() and Report() on the same operation, the two calls should carry the same id. UUID version 4 is recommended, though not required. In scenarios where an operation is computed from existing information and an idempotent id is desirable for deduplication purpose, UUID version 5 is recommended. See RFC 4122 for details.", +"type": "string" +}, +"operationName": { +"description": "Fully qualified name of the operation. Reserved for future use.", +"type": "string" +}, +"quotaProperties": { +"$ref": "QuotaProperties", +"description": "Represents the properties needed for quota check. Applicable only if this operation is for a quota check request. If this is not specified, no quota check will be performed." +}, +"resources": { +"description": "The resources that are involved in the operation. The maximum supported number of entries in this field is 100.", +"items": { +"$ref": "ResourceInfo" +}, +"type": "array" +}, +"startTime": { +"description": "Required. Start time of the operation.", +"format": "google-datetime", +"type": "string" +}, +"traceSpans": { +"description": "Unimplemented. A list of Cloud Trace spans. The span names shall contain the id of the destination project which can be either the produce or the consumer project.", +"items": { +"$ref": "TraceSpan" +}, +"type": "array" +}, +"userLabels": { +"additionalProperties": { +"type": "string" +}, +"description": "Private Preview. This feature is only available for approved services. User defined labels for the resource that this operation is associated with.", +"type": "object" +} +}, +"type": "object" +}, +"OrgPolicyViolationInfo": { +"description": "Represents OrgPolicy Violation information.", +"id": "OrgPolicyViolationInfo", +"properties": { +"payload": { +"additionalProperties": { +"description": "Properties of the object.", +"type": "any" +}, +"deprecated": true, +"description": "Optional. Deprecated. Resource payload that is currently in scope and is subjected to orgpolicy conditions. This payload may be the subset of the actual Resource that may come in the request.", +"type": "object" +}, +"resourceTags": { +"additionalProperties": { +"type": "string" +}, +"deprecated": true, +"description": "Optional. Deprecated. Tags referenced on the resource at the time of evaluation.", +"type": "object" +}, +"resourceType": { +"description": "Optional. Resource type that the orgpolicy is checked against. Example: compute.googleapis.com/Instance, store.googleapis.com/bucket", +"type": "string" +}, +"violationInfo": { +"description": "Optional. Policy violations", +"items": { +"$ref": "ViolationInfo" +}, +"type": "array" +} +}, +"type": "object" +}, +"Peer": { +"description": "This message defines attributes for a node that handles a network request. The node can be either a service or an application that sends, forwards, or receives the request. Service peers should fill in `principal` and `labels` as appropriate.", +"id": "Peer", +"properties": { +"ip": { +"description": "The IP address of the peer.", +"type": "string" +}, +"labels": { +"additionalProperties": { +"type": "string" +}, +"description": "The labels associated with the peer.", +"type": "object" +}, +"port": { +"description": "The network port of the peer.", +"format": "int64", +"type": "string" +}, +"principal": { +"description": "The identity of this peer. Similar to `Request.auth.principal`, but relative to the peer instead of the request. For example, the identity associated with a load balancer that forwarded the request.", +"type": "string" +}, +"regionCode": { +"description": "The CLDR country/region code associated with the above IP address. If the IP address is private, the `region_code` should reflect the physical location where this peer is running.", +"type": "string" +} +}, +"type": "object" +}, +"PolicyViolationInfo": { +"description": "Information related to policy violations for this request.", +"id": "PolicyViolationInfo", +"properties": { +"orgPolicyViolationInfo": { +"$ref": "OrgPolicyViolationInfo", +"description": "Indicates the orgpolicy violations for this resource." +} +}, +"type": "object" +}, +"QuotaError": { +"description": "Represents error information for QuotaOperation.", +"id": "QuotaError", +"properties": { +"code": { +"description": "Error code.", +"enum": [ +"UNSPECIFIED", +"RESOURCE_EXHAUSTED", +"OUT_OF_RANGE", +"BILLING_NOT_ACTIVE", +"PROJECT_DELETED", +"API_KEY_INVALID", +"API_KEY_EXPIRED", +"SPATULA_HEADER_INVALID", +"LOAS_ROLE_INVALID", +"NO_LOAS_PROJECT", +"PROJECT_STATUS_UNAVAILABLE", +"SERVICE_STATUS_UNAVAILABLE", +"BILLING_STATUS_UNAVAILABLE", +"QUOTA_SYSTEM_UNAVAILABLE" +], +"enumDescriptions": [ +"This is never used.", +"Quota allocation failed. Same as google.rpc.Code.RESOURCE_EXHAUSTED.", +"Quota release failed. This error is ONLY returned on a NORMAL release. More formally: if a user requests a release of 10 tokens, but only 5 tokens were previously allocated, in a BEST_EFFORT release, this will be considered a success, 5 tokens will be released, and the result will be \"Ok\". If this is done in NORMAL mode, no tokens will be released, and an OUT_OF_RANGE error will be returned. Same as google.rpc.Code.OUT_OF_RANGE.", +"Consumer cannot access the service because the service requires active billing.", +"Consumer's project has been marked as deleted (soft deletion).", +"Specified API key is invalid.", +"Specified API Key has expired.", +"Consumer's spatula header is invalid.", +"The consumer's LOAS role is invalid.", +"The consumer's LOAS role has no associated project.", +"The backend server for looking up project id/number is unavailable.", +"The backend server for checking service status is unavailable.", +"The backend server for checking billing status is unavailable.", +"The backend server for checking quota limits is unavailable." +], +"type": "string" +}, +"description": { +"description": "Free-form text that provides details on the cause of the error.", +"type": "string" +}, +"status": { +"$ref": "Status", +"description": "Contains additional information about the quota error. If available, `status.code` will be non zero." +}, +"subject": { +"description": "Subject to whom this error applies. See the specific enum for more details on this field. For example, \"clientip:\" or \"project:\".", +"type": "string" +} +}, +"type": "object" +}, +"QuotaInfo": { +"description": "Contains the quota information for a quota check response.", +"id": "QuotaInfo", +"properties": { +"limitExceeded": { +"deprecated": true, +"description": "Quota Metrics that have exceeded quota limits. For QuotaGroup-based quota, this is QuotaGroup.name For QuotaLimit-based quota, this is QuotaLimit.name See: google.api.Quota Deprecated: Use quota_metrics to get per quota group limit exceeded status.", +"items": { +"type": "string" +}, +"type": "array" +}, +"quotaConsumed": { +"additionalProperties": { +"format": "int32", +"type": "integer" +}, +"description": "Map of quota group name to the actual number of tokens consumed. If the quota check was not successful, then this will not be populated due to no quota consumption. We are not merging this field with 'quota_metrics' field because of the complexity of scaling in Chemist client code base. For simplicity, we will keep this field for Castor (that scales quota usage) and 'quota_metrics' for SuperQuota (that doesn't scale quota usage). ", +"type": "object" +}, +"quotaMetrics": { +"description": "Quota metrics to indicate the usage. Depending on the check request, one or more of the following metrics will be included: 1. For rate quota, per quota group or per quota metric incremental usage will be specified using the following delta metric: \"serviceruntime.googleapis.com/api/consumer/quota_used_count\" 2. For allocation quota, per quota metric total usage will be specified using the following gauge metric: \"serviceruntime.googleapis.com/allocation/consumer/quota_used_count\" 3. For both rate quota and allocation quota, the quota limit reached condition will be specified using the following boolean metric: \"serviceruntime.googleapis.com/quota/exceeded\"", +"items": { +"$ref": "MetricValueSet" +}, +"type": "array" +} +}, +"type": "object" +}, +"QuotaOperation": { +"description": "Represents information regarding a quota operation.", +"id": "QuotaOperation", +"properties": { +"consumerId": { +"description": "Identity of the consumer for whom this quota operation is being performed. This can be in one of the following formats: project:, project_number:, api_key:.", +"type": "string" +}, +"labels": { +"additionalProperties": { +"type": "string" +}, +"description": "Labels describing the operation.", +"type": "object" +}, +"methodName": { +"description": "Fully qualified name of the API method for which this quota operation is requested. This name is used for matching quota rules or metric rules and billing status rules defined in service configuration. This field should not be set if any of the following is true: (1) the quota operation is performed on non-API resources. (2) quota_metrics is set because the caller is doing quota override. Example of an RPC method name: google.example.library.v1.LibraryService.CreateShelf", +"type": "string" +}, +"operationId": { +"description": "Identity of the operation. For Allocation Quota, this is expected to be unique within the scope of the service that generated the operation, and guarantees idempotency in case of retries. In order to ensure best performance and latency in the Quota backends, operation_ids are optimally associated with time, so that related operations can be accessed fast in storage. For this reason, the recommended token for services that intend to operate at a high QPS is Unix time in nanos + UUID", +"type": "string" +}, +"quotaMetrics": { +"description": "Represents information about this operation. Each MetricValueSet corresponds to a metric defined in the service configuration. The data type used in the MetricValueSet must agree with the data type specified in the metric definition. Within a single operation, it is not allowed to have more than one MetricValue instances that have the same metric names and identical label value combinations. If a request has such duplicated MetricValue instances, the entire request is rejected with an invalid argument error. This field is mutually exclusive with method_name.", +"items": { +"$ref": "MetricValueSet" +}, +"type": "array" +}, +"quotaMode": { +"description": "Quota mode for this operation.", +"enum": [ +"UNSPECIFIED", +"NORMAL", +"BEST_EFFORT", +"CHECK_ONLY", +"ADJUST_ONLY" +], +"enumDescriptions": [ +"Guard against implicit default. Must not be used.", +"For AllocateQuota request, allocates quota for the amount specified in the service configuration or specified using the quota metrics. If the amount is higher than the available quota, allocation error will be returned and no quota will be allocated. If multiple quotas are part of the request, and one fails, none of the quotas are allocated or released.", +"The operation allocates quota for the amount specified in the service configuration or specified using the quota metrics. If the amount is higher than the available quota, request does not fail but all available quota will be allocated. For rate quota, BEST_EFFORT will continue to deduct from other groups even if one does not have enough quota. For allocation, it will find the minimum available amount across all groups and deduct that amount from all the affected groups.", +"For AllocateQuota request, only checks if there is enough quota available and does not change the available quota. No lock is placed on the available quota either.", +"The operation allocates quota for the amount specified in the service configuration or specified using the quota metrics. If the requested amount is higher than the available quota, request does not fail and remaining quota would become negative (going over the limit). Not supported for Rate Quota." +], +"type": "string" +} +}, +"type": "object" +}, +"QuotaProperties": { +"description": "Represents the properties needed for quota operations.", +"id": "QuotaProperties", +"properties": { +"quotaMode": { +"description": "Quota mode for this operation.", +"enum": [ +"ACQUIRE", +"ACQUIRE_BEST_EFFORT", +"CHECK" +], +"enumDescriptions": [ +"Decreases available quota by the cost specified for the operation. If cost is higher than available quota, operation fails and returns error.", +"Decreases available quota by the cost specified for the operation. If cost is higher than available quota, operation does not fail and available quota goes down to zero but it returns error.", +"Does not change any available quota. Only checks if there is enough quota. No lock is placed on the checked tokens neither." +], +"type": "string" +} +}, +"type": "object" +}, +"ReportError": { +"description": "Represents the processing error of one Operation in the request.", +"id": "ReportError", +"properties": { +"operationId": { +"description": "The Operation.operation_id value from the request.", +"type": "string" +}, +"status": { +"$ref": "Status", +"description": "Details of the error when processing the Operation." +} +}, +"type": "object" +}, +"ReportRequest": { +"description": "Request message for the Report method.", +"id": "ReportRequest", +"properties": { +"operations": { +"description": "Operations to be reported. Typically the service should report one operation per request. Putting multiple operations into a single request is allowed, but should be used only when multiple operations are natually available at the time of the report. There is no limit on the number of operations in the same ReportRequest, however the ReportRequest size should be no larger than 1MB. See ReportResponse.report_errors for partial failure behavior.", +"items": { +"$ref": "Operation" +}, +"type": "array" +}, +"serviceConfigId": { +"description": "Specifies which version of service config should be used to process the request. If unspecified or no matching version can be found, the latest one will be used.", +"type": "string" +} +}, +"type": "object" +}, +"ReportResponse": { +"description": "Response message for the Report method.", +"id": "ReportResponse", +"properties": { +"reportErrors": { +"description": "Partial failures, one for each `Operation` in the request that failed processing. There are three possible combinations of the RPC status: 1. The combination of a successful RPC status and an empty `report_errors` list indicates a complete success where all `Operations` in the request are processed successfully. 2. The combination of a successful RPC status and a non-empty `report_errors` list indicates a partial success where some `Operations` in the request succeeded. Each `Operation` that failed processing has a corresponding item in this list. 3. A failed RPC status indicates a general non-deterministic failure. When this happens, it's impossible to know which of the 'Operations' in the request succeeded or failed.", +"items": { +"$ref": "ReportError" +}, +"type": "array" +}, +"serviceConfigId": { +"description": "The actual config id used to process the request.", +"type": "string" +}, +"serviceRolloutId": { +"description": "The current service rollout id used to process the request.", +"type": "string" +} +}, +"type": "object" +}, +"Request": { +"description": "This message defines attributes for an HTTP request. If the actual request is not an HTTP request, the runtime system should try to map the actual request to an equivalent HTTP request.", +"id": "Request", +"properties": { +"auth": { +"$ref": "Auth", +"description": "The request authentication. May be absent for unauthenticated requests. Derived from the HTTP request `Authorization` header or equivalent." +}, +"headers": { +"additionalProperties": { +"type": "string" +}, +"description": "The HTTP request headers. If multiple headers share the same key, they must be merged according to the HTTP spec. All header keys must be lowercased, because HTTP header keys are case-insensitive.", +"type": "object" +}, +"host": { +"description": "The HTTP request `Host` header value.", +"type": "string" +}, +"id": { +"description": "The unique ID for a request, which can be propagated to downstream systems. The ID should have low probability of collision within a single day for a specific service.", +"type": "string" +}, +"method": { +"description": "The HTTP request method, such as `GET`, `POST`.", +"type": "string" +}, +"path": { +"description": "The HTTP URL path, excluding the query parameters.", +"type": "string" +}, +"protocol": { +"description": "The network protocol used with the request, such as \"http/1.1\", \"spdy/3\", \"h2\", \"h2c\", \"webrtc\", \"tcp\", \"udp\", \"quic\". See https://www.iana.org/assignments/tls-extensiontype-values/tls-extensiontype-values.xhtml#alpn-protocol-ids for details.", +"type": "string" +}, +"query": { +"description": "The HTTP URL query in the format of `name1=value1&name2=value2`, as it appears in the first line of the HTTP request. No decoding is performed.", +"type": "string" +}, +"reason": { +"description": "A special parameter for request reason. It is used by security systems to associate auditing information with a request.", +"type": "string" +}, +"scheme": { +"description": "The HTTP URL scheme, such as `http` and `https`.", +"type": "string" +}, +"size": { +"description": "The HTTP request size in bytes. If unknown, it must be -1.", +"format": "int64", +"type": "string" +}, +"time": { +"description": "The timestamp when the `destination` service receives the last byte of the request.", +"format": "google-datetime", +"type": "string" +} +}, +"type": "object" +}, +"RequestMetadata": { +"description": "Metadata about the request.", +"id": "RequestMetadata", +"properties": { +"callerIp": { +"description": "The IP address of the caller. For a caller from the internet, this will be the public IPv4 or IPv6 address. For calls made from inside Google's internal production network from one GCP service to another, `caller_ip` will be redacted to \"private\". For a caller from a Compute Engine VM with a external IP address, `caller_ip` will be the VM's external IP address. For a caller from a Compute Engine VM without a external IP address, if the VM is in the same organization (or project) as the accessed resource, `caller_ip` will be the VM's internal IPv4 address, otherwise `caller_ip` will be redacted to \"gce-internal-ip\". See https://cloud.google.com/compute/docs/vpc/ for more information.", +"type": "string" +}, +"callerNetwork": { +"description": "The network of the caller. Set only if the network host project is part of the same GCP organization (or project) as the accessed resource. See https://cloud.google.com/compute/docs/vpc/ for more information. This is a scheme-less URI full resource name. For example: \"//compute.googleapis.com/projects/PROJECT_ID/global/networks/NETWORK_ID\"", +"type": "string" +}, +"callerSuppliedUserAgent": { +"description": "The user agent of the caller. This information is not authenticated and should be treated accordingly. For example: + `google-api-python-client/1.4.0`: The request was made by the Google API client for Python. + `Cloud SDK Command Line Tool apitools-client/1.0 gcloud/0.9.62`: The request was made by the Google Cloud SDK CLI (gcloud). + `AppEngine-Google; (+http://code.google.com/appengine; appid: s~my-project`: The request was made from the `my-project` App Engine app.", +"type": "string" +}, +"destinationAttributes": { +"$ref": "Peer", +"description": "The destination of a network activity, such as accepting a TCP connection. In a multi hop network activity, the destination represents the receiver of the last hop. Only two fields are used in this message, Peer.port and Peer.ip. These fields are optionally populated by those services utilizing the IAM condition feature." +}, +"requestAttributes": { +"$ref": "Request", +"description": "Request attributes used in IAM condition evaluation. This field contains request attributes like request time and access levels associated with the request. To get the whole view of the attributes used in IAM condition evaluation, the user must also look into `AuditLog.authentication_info.resource_attributes`." +} +}, +"type": "object" +}, +"Resource": { +"description": "This message defines core attributes for a resource. A resource is an addressable (named) entity provided by the destination service. For example, a file stored on a network storage service.", +"id": "Resource", +"properties": { +"annotations": { +"additionalProperties": { +"type": "string" +}, +"description": "Annotations is an unstructured key-value map stored with a resource that may be set by external tools to store and retrieve arbitrary metadata. They are not queryable and should be preserved when modifying objects. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/annotations/", +"type": "object" +}, +"createTime": { +"description": "Output only. The timestamp when the resource was created. This may be either the time creation was initiated or when it was completed.", +"format": "google-datetime", +"type": "string" +}, +"deleteTime": { +"description": "Output only. The timestamp when the resource was deleted. If the resource is not deleted, this must be empty.", +"format": "google-datetime", +"type": "string" +}, +"displayName": { +"description": "Mutable. The display name set by clients. Must be <= 63 characters.", +"type": "string" +}, +"etag": { +"description": "Output only. An opaque value that uniquely identifies a version or generation of a resource. It can be used to confirm that the client and server agree on the ordering of a resource being written.", +"type": "string" +}, +"labels": { +"additionalProperties": { +"type": "string" +}, +"description": "The labels or tags on the resource, such as AWS resource tags and Kubernetes resource labels.", +"type": "object" +}, +"location": { +"description": "Immutable. The location of the resource. The location encoding is specific to the service provider, and new encoding may be introduced as the service evolves. For Google Cloud products, the encoding is what is used by Google Cloud APIs, such as `us-east1`, `aws-us-east-1`, and `azure-eastus2`. The semantics of `location` is identical to the `cloud.googleapis.com/location` label used by some Google Cloud APIs.", +"type": "string" +}, +"name": { +"description": "The stable identifier (name) of a resource on the `service`. A resource can be logically identified as \"//{resource.service}/{resource.name}\". The differences between a resource name and a URI are: * Resource name is a logical identifier, independent of network protocol and API version. For example, `//pubsub.googleapis.com/projects/123/topics/news-feed`. * URI often includes protocol and version information, so it can be used directly by applications. For example, `https://pubsub.googleapis.com/v1/projects/123/topics/news-feed`. See https://cloud.google.com/apis/design/resource_names for details.", +"type": "string" +}, +"service": { +"description": "The name of the service that this resource belongs to, such as `pubsub.googleapis.com`. The service may be different from the DNS hostname that actually serves the request.", +"type": "string" +}, +"type": { +"description": "The type of the resource. The syntax is platform-specific because different platforms define their resources differently. For Google APIs, the type format must be \"{service}/{kind}\", such as \"pubsub.googleapis.com/Topic\".", +"type": "string" +}, +"uid": { +"description": "The unique identifier of the resource. UID is unique in the time and space for this resource within the scope of the service. It is typically generated by the server on successful creation of a resource and must not be changed. UID is used to uniquely identify resources with resource name reuses. This should be a UUID4.", +"type": "string" +}, +"updateTime": { +"description": "Output only. The timestamp when the resource was last updated. Any change to the resource made by users must refresh this value. Changes to a resource made by the service should refresh this value.", +"format": "google-datetime", +"type": "string" +} +}, +"type": "object" +}, +"ResourceInfo": { +"description": "Describes a resource associated with this operation.", +"id": "ResourceInfo", +"properties": { +"permission": { +"description": "The resource permission required for this request.", +"type": "string" +}, +"resourceContainer": { +"description": "The identifier of the parent of this resource instance. Must be in one of the following formats: - `projects/` - `folders/` - `organizations/`", +"type": "string" +}, +"resourceLocation": { +"description": "The location of the resource. If not empty, the resource will be checked against location policy. The value must be a valid zone, region or multiregion. For example: \"europe-west4\" or \"northamerica-northeast1-a\"", +"type": "string" +}, +"resourceName": { +"description": "Name of the resource. This is used for auditing purposes.", +"type": "string" +} +}, +"type": "object" +}, +"ResourceLocation": { +"description": "Location information about a resource.", +"id": "ResourceLocation", +"properties": { +"currentLocations": { +"description": "The locations of a resource after the execution of the operation. Requests to create or delete a location based resource must populate the 'current_locations' field and not the 'original_locations' field. For example: \"europe-west1-a\" \"us-east1\" \"nam3\"", +"items": { +"type": "string" +}, +"type": "array" +}, +"originalLocations": { +"description": "The locations of a resource prior to the execution of the operation. Requests that mutate the resource's location must populate both the 'original_locations' as well as the 'current_locations' fields. For example: \"europe-west1-a\" \"us-east1\" \"nam3\"", +"items": { +"type": "string" +}, +"type": "array" +} +}, +"type": "object" +}, +"ServiceAccountDelegationInfo": { +"description": "Identity delegation history of an authenticated service account.", +"id": "ServiceAccountDelegationInfo", +"properties": { +"firstPartyPrincipal": { +"$ref": "FirstPartyPrincipal", +"description": "First party (Google) identity as the real authority." +}, +"principalSubject": { +"description": "A string representing the principal_subject associated with the identity. For most identities, the format will be `principal://iam.googleapis.com/{identity pool name}/subject/{subject)` except for some GKE identities (GKE_WORKLOAD, FREEFORM, GKE_HUB_WORKLOAD) that are still in the legacy format `serviceAccount:{identity pool name}[{subject}]`", +"type": "string" +}, +"thirdPartyPrincipal": { +"$ref": "ThirdPartyPrincipal", +"description": "Third party identity as the real authority." +} +}, +"type": "object" +}, +"ServiceDelegationHistory": { +"description": "The history of delegation across multiple services as the result of the original user's action. Such as \"service A uses its own account to do something for user B\". This differs from ServiceAccountDelegationInfo, which only tracks the history of direct token exchanges (impersonation).", +"id": "ServiceDelegationHistory", +"properties": { +"originalPrincipal": { +"description": "The original end user who initiated the request to GCP.", +"type": "string" +}, +"serviceMetadata": { +"description": "Data identifying the service specific jobs or units of work that were involved in a chain of service calls.", +"items": { +"$ref": "ServiceMetadata" +}, +"type": "array" +} +}, +"type": "object" +}, +"ServiceMetadata": { +"description": "Metadata describing the service and additional service specific information used to identify the job or unit of work at hand.", +"id": "ServiceMetadata", +"properties": { +"jobMetadata": { +"additionalProperties": { +"description": "Properties of the object.", +"type": "any" +}, +"description": "Additional metadata provided by service teams to describe service specific job information that was triggered by the original principal.", +"type": "object" +}, +"principalSubject": { +"description": "A string representing the principal_subject associated with the identity. For most identities, the format will be `principal://iam.googleapis.com/{identity pool name}/subject/{subject)` except for some GKE identities (GKE_WORKLOAD, FREEFORM, GKE_HUB_WORKLOAD) that are still in the legacy format `serviceAccount:{identity pool name}[{subject}]` If the identity is a Google account (e.g. workspace user account or service account), this will be the email of the prefixed by `serviceAccount:`. For example: `serviceAccount:my-service-account@project-1.iam.gserviceaccount.com`. If the identity is an individual user, the identity will be formatted as: `user:user_ABC@email.com`.", +"type": "string" +}, +"serviceDomain": { +"description": "The service's fully qualified domain name, e.g. \"dataproc.googleapis.com\".", +"type": "string" +} +}, +"type": "object" +}, +"SpanContext": { +"description": "The context of a span. This is attached to an Exemplar in Distribution values during aggregation. It contains the name of a span with format: projects/[PROJECT_ID_OR_NUMBER]/traces/[TRACE_ID]/spans/[SPAN_ID]", +"id": "SpanContext", +"properties": { +"spanName": { +"description": "The resource name of the span. The format is: projects/[PROJECT_ID_OR_NUMBER]/traces/[TRACE_ID]/spans/[SPAN_ID] `[TRACE_ID]` is a unique identifier for a trace within a project; it is a 32-character hexadecimal encoding of a 16-byte array. `[SPAN_ID]` is a unique identifier for a span within a trace; it is a 16-character hexadecimal encoding of an 8-byte array.", +"type": "string" +} +}, +"type": "object" +}, +"Status": { +"description": "The `Status` type defines a logical error model that is suitable for different programming environments, including REST APIs and RPC APIs. It is used by [gRPC](https://github.com/grpc). Each `Status` message contains three pieces of data: error code, error message, and error details. You can find out more about this error model and how to work with it in the [API Design Guide](https://cloud.google.com/apis/design/errors).", +"id": "Status", +"properties": { +"code": { +"description": "The status code, which should be an enum value of google.rpc.Code.", +"format": "int32", +"type": "integer" +}, +"details": { +"description": "A list of messages that carry the error details. There is a common set of message types for APIs to use.", +"items": { +"additionalProperties": { +"description": "Properties of the object. Contains field @type with type URL.", +"type": "any" +}, +"type": "object" +}, +"type": "array" +}, +"message": { +"description": "A developer-facing error message, which should be in English. Any user-facing error message should be localized and sent in the google.rpc.Status.details field, or localized by the client.", +"type": "string" +} +}, +"type": "object" +}, +"ThirdPartyPrincipal": { +"description": "Third party identity principal.", +"id": "ThirdPartyPrincipal", +"properties": { +"thirdPartyClaims": { +"additionalProperties": { +"description": "Properties of the object.", +"type": "any" +}, +"description": "Metadata about third party identity.", +"type": "object" +} +}, +"type": "object" +}, +"TraceSpan": { +"description": "A span represents a single operation within a trace. Spans can be nested to form a trace tree. Often, a trace contains a root span that describes the end-to-end latency, and one or more subspans for its sub-operations. A trace can also contain multiple root spans, or none at all. Spans do not need to be contiguous\u2014there may be gaps or overlaps between spans in a trace.", +"id": "TraceSpan", +"properties": { +"attributes": { +"$ref": "Attributes", +"description": "A set of attributes on the span. You can have up to 32 attributes per span." +}, +"childSpanCount": { +"description": "An optional number of child spans that were generated while this span was active. If set, allows implementation to detect missing child spans.", +"format": "int32", +"type": "integer" +}, +"displayName": { +"$ref": "TruncatableString", +"description": "A description of the span's operation (up to 128 bytes). Stackdriver Trace displays the description in the Google Cloud Platform Console. For example, the display name can be a qualified method name or a file name and a line number where the operation is called. A best practice is to use the same display name within an application and at the same call point. This makes it easier to correlate spans in different traces." +}, +"endTime": { +"description": "The end time of the span. On the client side, this is the time kept by the local machine where the span execution ends. On the server side, this is the time when the server application handler stops running.", +"format": "google-datetime", +"type": "string" +}, +"name": { +"description": "The resource name of the span in the following format: projects/[PROJECT_ID]/traces/[TRACE_ID]/spans/SPAN_ID is a unique identifier for a trace within a project; it is a 32-character hexadecimal encoding of a 16-byte array. [SPAN_ID] is a unique identifier for a span within a trace; it is a 16-character hexadecimal encoding of an 8-byte array.", +"type": "string" +}, +"parentSpanId": { +"description": "The [SPAN_ID] of this span's parent span. If this is a root span, then this field must be empty.", +"type": "string" +}, +"sameProcessAsParentSpan": { +"description": "(Optional) Set this parameter to indicate whether this span is in the same process as its parent. If you do not set this parameter, Stackdriver Trace is unable to take advantage of this helpful information.", +"type": "boolean" +}, +"spanId": { +"description": "The [SPAN_ID] portion of the span's resource name.", +"type": "string" +}, +"spanKind": { +"description": "Distinguishes between spans generated in a particular context. For example, two spans with the same name may be distinguished using `CLIENT` (caller) and `SERVER` (callee) to identify an RPC call.", +"enum": [ +"SPAN_KIND_UNSPECIFIED", +"INTERNAL", +"SERVER", +"CLIENT", +"PRODUCER", +"CONSUMER" +], +"enumDescriptions": [ +"Unspecified. Do NOT use as default. Implementations MAY assume SpanKind.INTERNAL to be default.", +"Indicates that the span is used internally. Default value.", +"Indicates that the span covers server-side handling of an RPC or other remote network request.", +"Indicates that the span covers the client-side wrapper around an RPC or other remote request.", +"Indicates that the span describes producer sending a message to a broker. Unlike client and server, there is no direct critical path latency relationship between producer and consumer spans (e.g. publishing a message to a pubsub service).", +"Indicates that the span describes consumer receiving a message from a broker. Unlike client and server, there is no direct critical path latency relationship between producer and consumer spans (e.g. receiving a message from a pubsub service subscription)." +], +"type": "string" +}, +"startTime": { +"description": "The start time of the span. On the client side, this is the time kept by the local machine where the span execution starts. On the server side, this is the time when the server's application handler starts running.", +"format": "google-datetime", +"type": "string" +}, +"status": { +"$ref": "Status", +"description": "An optional final status for this span." +} +}, +"type": "object" +}, +"TruncatableString": { +"description": "Represents a string that might be shortened to a specified length.", +"id": "TruncatableString", +"properties": { +"truncatedByteCount": { +"description": "The number of bytes removed from the original string. If this value is 0, then the string was not shortened.", +"format": "int32", +"type": "integer" +}, +"value": { +"description": "The shortened string. For example, if the original string is 500 bytes long and the limit of the string is 128 bytes, then `value` contains the first 128 bytes of the 500-byte string. Truncation always happens on a UTF8 character boundary. If there are multi-byte characters in the string, then the length of the shortened string might be less than the size limit.", +"type": "string" +} +}, +"type": "object" +}, +"V1HttpRequest": { +"description": "A common proto for logging HTTP requests. Only contains semantics defined by the HTTP specification. Product-specific logging information MUST be defined in a separate message.", +"id": "V1HttpRequest", +"properties": { +"cacheFillBytes": { +"description": "The number of HTTP response bytes inserted into cache. Set only when a cache fill was attempted.", +"format": "int64", +"type": "string" +}, +"cacheHit": { +"description": "Whether or not an entity was served from cache (with or without validation).", +"type": "boolean" +}, +"cacheLookup": { +"description": "Whether or not a cache lookup was attempted.", +"type": "boolean" +}, +"cacheValidatedWithOriginServer": { +"description": "Whether or not the response was validated with the origin server before being served from cache. This field is only meaningful if `cache_hit` is True.", +"type": "boolean" +}, +"latency": { +"description": "The request processing latency on the server, from the time the request was received until the response was sent.", +"format": "google-duration", +"type": "string" +}, +"protocol": { +"description": "Protocol used for the request. Examples: \"HTTP/1.1\", \"HTTP/2\", \"websocket\"", +"type": "string" +}, +"referer": { +"description": "The referer URL of the request, as defined in [HTTP/1.1 Header Field Definitions](https://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html).", +"type": "string" +}, +"remoteIp": { +"description": "The IP address (IPv4 or IPv6) of the client that issued the HTTP request. Examples: `\"192.168.1.1\"`, `\"FE80::0202:B3FF:FE1E:8329\"`.", +"type": "string" +}, +"requestMethod": { +"description": "The request method. Examples: `\"GET\"`, `\"HEAD\"`, `\"PUT\"`, `\"POST\"`.", +"type": "string" +}, +"requestSize": { +"description": "The size of the HTTP request message in bytes, including the request headers and the request body.", +"format": "int64", +"type": "string" +}, +"requestUrl": { +"description": "The scheme (http, https), the host name, the path, and the query portion of the URL that was requested. Example: `\"http://example.com/some/info?color=red\"`.", +"type": "string" +}, +"responseSize": { +"description": "The size of the HTTP response message sent back to the client, in bytes, including the response headers and the response body.", +"format": "int64", +"type": "string" +}, +"serverIp": { +"description": "The IP address (IPv4 or IPv6) of the origin server that the request was sent to.", +"type": "string" +}, +"status": { +"description": "The response code indicating the status of the response. Examples: 200, 404.", +"format": "int32", +"type": "integer" +}, +"userAgent": { +"description": "The user agent sent by the client. Example: `\"Mozilla/4.0 (compatible; MSIE 6.0; Windows 98; Q312461; .NET CLR 1.0.3705)\"`.", +"type": "string" +} +}, +"type": "object" +}, +"V1LogEntry": { +"description": "An individual log entry.", +"id": "V1LogEntry", +"properties": { +"httpRequest": { +"$ref": "V1HttpRequest", +"description": "Optional. Information about the HTTP request associated with this log entry, if applicable." +}, +"insertId": { +"description": "A unique ID for the log entry used for deduplication. If omitted, the implementation will generate one based on operation_id.", +"type": "string" +}, +"labels": { +"additionalProperties": { +"type": "string" +}, +"description": "A set of user-defined (key, value) data that provides additional information about the log entry.", +"type": "object" +}, +"monitoredResourceLabels": { +"additionalProperties": { +"type": "string" +}, +"description": "A set of user-defined (key, value) data that provides additional information about the moniotored resource that the log entry belongs to.", +"type": "object" +}, +"name": { +"description": "Required. The log to which this log entry belongs. Examples: `\"syslog\"`, `\"book_log\"`.", +"type": "string" +}, +"operation": { +"$ref": "V1LogEntryOperation", +"description": "Optional. Information about an operation associated with the log entry, if applicable." +}, +"protoPayload": { +"additionalProperties": { +"description": "Properties of the object. Contains field @type with type URL.", +"type": "any" +}, +"description": "The log entry payload, represented as a protocol buffer that is expressed as a JSON object. The only accepted type currently is AuditLog.", +"type": "object" +}, +"severity": { +"description": "The severity of the log entry. The default value is `LogSeverity.DEFAULT`.", +"enum": [ +"DEFAULT", +"DEBUG", +"INFO", +"NOTICE", +"WARNING", +"ERROR", +"CRITICAL", +"ALERT", +"EMERGENCY" +], +"enumDescriptions": [ +"(0) The log entry has no assigned severity level.", +"(100) Debug or trace information.", +"(200) Routine information, such as ongoing status or performance.", +"(300) Normal but significant events, such as start up, shut down, or a configuration change.", +"(400) Warning events might cause problems.", +"(500) Error events are likely to cause problems.", +"(600) Critical events cause more severe problems or outages.", +"(700) A person must take an action immediately.", +"(800) One or more systems are unusable." +], +"type": "string" +}, +"sourceLocation": { +"$ref": "V1LogEntrySourceLocation", +"description": "Optional. Source code location information associated with the log entry, if any." +}, +"structPayload": { +"additionalProperties": { +"description": "Properties of the object.", +"type": "any" +}, +"description": "The log entry payload, represented as a structure that is expressed as a JSON object.", +"type": "object" +}, +"textPayload": { +"description": "The log entry payload, represented as a Unicode string (UTF-8).", +"type": "string" +}, +"timestamp": { +"description": "The time the event described by the log entry occurred. If omitted, defaults to operation start time.", +"format": "google-datetime", +"type": "string" +}, +"trace": { +"description": "Optional. Resource name of the trace associated with the log entry, if any. If this field contains a relative resource name, you can assume the name is relative to `//tracing.googleapis.com`. Example: `projects/my-projectid/traces/06796866738c859f2f19b7cfb3214824`", +"type": "string" +} +}, +"type": "object" +}, +"V1LogEntryOperation": { +"description": "Additional information about a potentially long-running operation with which a log entry is associated.", +"id": "V1LogEntryOperation", +"properties": { +"first": { +"description": "Optional. Set this to True if this is the first log entry in the operation.", +"type": "boolean" +}, +"id": { +"description": "Optional. An arbitrary operation identifier. Log entries with the same identifier are assumed to be part of the same operation.", +"type": "string" +}, +"last": { +"description": "Optional. Set this to True if this is the last log entry in the operation.", +"type": "boolean" +}, +"producer": { +"description": "Optional. An arbitrary producer identifier. The combination of `id` and `producer` must be globally unique. Examples for `producer`: `\"MyDivision.MyBigCompany.com\"`, `\"github.com/MyProject/MyApplication\"`.", +"type": "string" +} +}, +"type": "object" +}, +"V1LogEntrySourceLocation": { +"description": "Additional information about the source code location that produced the log entry.", +"id": "V1LogEntrySourceLocation", +"properties": { +"file": { +"description": "Optional. Source file name. Depending on the runtime environment, this might be a simple name or a fully-qualified name.", +"type": "string" +}, +"function": { +"description": "Optional. Human-readable name of the function or method being invoked, with optional context such as the class or package name. This information may be used in contexts such as the logs viewer, where a file and line number are less meaningful. The format can vary by language. For example: `qual.if.ied.Class.method` (Java), `dir/package.func` (Go), `function` (Python).", +"type": "string" +}, +"line": { +"description": "Optional. Line within the source file. 1-based; 0 indicates no line number available.", +"format": "int64", +"type": "string" +} +}, +"type": "object" +}, +"V1ResourceEvent": { +"description": "Report v2 extension proto for passing the resource metadata associated with a resource create/update/delete/undelete event from ESF to Chemist. ResourceEvent proto should be serialized into the ReportRequest.operations.extensions.", +"id": "V1ResourceEvent", +"properties": { +"contextId": { +"description": "The ESF unique context id of the api request, from which this resource event originated. This field is only needed for CAIS integration via api annotation. See go/cais-lro-delete for more details.", +"format": "int64", +"type": "string" +}, +"destinations": { +"description": "The destinations field determines which backend services should handle the event. This should be specified as a comma-delimited string.", +"type": "string" +}, +"parent": { +"$ref": "Resource", +"description": "The parent resource for the resource." +}, +"path": { +"description": "The api path the resource event was created in. This should match the source of the `payload` field. For direct integrations with Chemist, this should generally be the RESPONSE. go/resource-event-pipeline-type", +"enum": [ +"API_PATH_UNSPECIFIED", +"REQUEST", +"RESPONSE" +], +"enumDescriptions": [ +"Default value. Do not use.", +"The request path.", +"The response path." +], +"type": "string" +}, +"payload": { +"additionalProperties": { +"description": "Properties of the object. Contains field @type with type URL.", +"type": "any" +}, +"description": "The payload contains metadata associated with the resource event. A ResourceEventPayloadStatus is provided instead if the original payload cannot be returned due to a limitation (e.g. size limit).", +"type": "object" +}, +"resource": { +"$ref": "Resource", +"description": "The resource associated with the event." +}, +"type": { +"description": "The resource event type determines how the backend service should process the event.", +"enum": [ +"TYPE_UNSPECIFIED", +"CREATE", +"UPDATE", +"DELETE", +"UNDELETE" +], +"enumDescriptions": [ +"The resource event type is unclear. We do not expect any events to fall into this category.", +"The resource is created/inserted.", +"The resource is updated.", +"The resource is deleted.", +"The resource is un-deleted." +], +"type": "string" +} +}, +"type": "object" +}, +"ViolationInfo": { +"description": "Provides information about the Policy violation info for this request.", +"id": "ViolationInfo", +"properties": { +"checkedValue": { +"description": "Optional. Value that is being checked for the policy. This could be in encrypted form (if pii sensitive). This field will only be emitted in LIST_POLICY types", +"type": "string" +}, +"constraint": { +"description": "Optional. Constraint name", +"type": "string" +}, +"errorMessage": { +"description": "Optional. Error message that policy is indicating.", +"type": "string" +}, +"policyType": { +"description": "Optional. Indicates the type of the policy.", +"enum": [ +"POLICY_TYPE_UNSPECIFIED", +"BOOLEAN_CONSTRAINT", +"LIST_CONSTRAINT", +"CUSTOM_CONSTRAINT" +], +"enumDescriptions": [ +"Default value. This value should not be used.", +"Indicates boolean policy constraint", +"Indicates list policy constraint", +"Indicates custom policy constraint" +], +"type": "string" +} +}, +"type": "object" +} +}, +"servicePath": "", +"title": "Service Control API", +"version": "v1", +"version_module": true +} \ No newline at end of file diff --git a/.venv/lib/python3.11/site-packages/googleapiclient/discovery_cache/documents/servicemanagement.v1.json b/.venv/lib/python3.11/site-packages/googleapiclient/discovery_cache/documents/servicemanagement.v1.json new file mode 100644 index 0000000000000000000000000000000000000000..dbaf50b889c8747b6b7935964693bc9cd01f3a24 --- /dev/null +++ b/.venv/lib/python3.11/site-packages/googleapiclient/discovery_cache/documents/servicemanagement.v1.json @@ -0,0 +1,3691 @@ +{ +"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." +}, +"https://www.googleapis.com/auth/cloud-platform.read-only": { +"description": "View your data across Google Cloud services and see the email address of your Google Account" +}, +"https://www.googleapis.com/auth/service.management": { +"description": "Manage your Google API service configuration" +}, +"https://www.googleapis.com/auth/service.management.readonly": { +"description": "View your Google API service configuration" +} +} +} +}, +"basePath": "", +"baseUrl": "https://servicemanagement.googleapis.com/", +"batchPath": "batch", +"canonicalName": "Service Management", +"description": "Google Service Management allows service producers to publish their services on Google Cloud Platform so that they can be discovered and used by service consumers.", +"discoveryVersion": "v1", +"documentationLink": "https://cloud.google.com/service-management/", +"fullyEncodeReservedExpansion": true, +"icons": { +"x16": "http://www.google.com/images/icons/product/search-16.gif", +"x32": "http://www.google.com/images/icons/product/search-32.gif" +}, +"id": "servicemanagement:v1", +"kind": "discovery#restDescription", +"mtlsRootUrl": "https://servicemanagement.mtls.googleapis.com/", +"name": "servicemanagement", +"ownerDomain": "google.com", +"ownerName": "Google", +"parameters": { +"$.xgafv": { +"description": "V1 error format.", +"enum": [ +"1", +"2" +], +"enumDescriptions": [ +"v1 error format", +"v2 error format" +], +"location": "query", +"type": "string" +}, +"access_token": { +"description": "OAuth access token.", +"location": "query", +"type": "string" +}, +"alt": { +"default": "json", +"description": "Data format for response.", +"enum": [ +"json", +"media", +"proto" +], +"enumDescriptions": [ +"Responses with Content-Type of application/json", +"Media download with context-dependent Content-Type", +"Responses with Content-Type of application/x-protobuf" +], +"location": "query", +"type": "string" +}, +"callback": { +"description": "JSONP", +"location": "query", +"type": "string" +}, +"fields": { +"description": "Selector specifying which fields to include in a partial response.", +"location": "query", +"type": "string" +}, +"key": { +"description": "API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token.", +"location": "query", +"type": "string" +}, +"oauth_token": { +"description": "OAuth 2.0 token for the current user.", +"location": "query", +"type": "string" +}, +"prettyPrint": { +"default": "true", +"description": "Returns response with indentations and line breaks.", +"location": "query", +"type": "boolean" +}, +"quotaUser": { +"description": "Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters.", +"location": "query", +"type": "string" +}, +"uploadType": { +"description": "Legacy upload protocol for media (e.g. \"media\", \"multipart\").", +"location": "query", +"type": "string" +}, +"upload_protocol": { +"description": "Upload protocol for media (e.g. \"raw\", \"multipart\").", +"location": "query", +"type": "string" +} +}, +"protocol": "rest", +"resources": { +"operations": { +"methods": { +"get": { +"description": "Gets the latest state of a long-running operation. Clients can use this method to poll the operation result at intervals as recommended by the API service.", +"flatPath": "v1/operations/{operationsId}", +"httpMethod": "GET", +"id": "servicemanagement.operations.get", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "The name of the operation resource.", +"location": "path", +"pattern": "^operations/.*$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+name}", +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/service.management" +] +}, +"list": { +"description": "Lists service operations that match the specified filter in the request.", +"flatPath": "v1/operations", +"httpMethod": "GET", +"id": "servicemanagement.operations.list", +"parameterOrder": [], +"parameters": { +"filter": { +"description": "A string for filtering Operations. The following filter fields are supported: * serviceName: Required. Only `=` operator is allowed. * startTime: The time this job was started, in ISO 8601 format. Allowed operators are `>=`, `>`, `<=`, and `<`. * status: Can be `done`, `in_progress`, or `failed`. Allowed operators are `=`, and `!=`. Filter expression supports conjunction (AND) and disjunction (OR) logical operators. However, the serviceName restriction must be at the top-level and can only be combined with other restrictions via the AND logical operator. Examples: * `serviceName={some-service}.googleapis.com` * `serviceName={some-service}.googleapis.com AND startTime>=\"2017-02-01\"` * `serviceName={some-service}.googleapis.com AND status=done` * `serviceName={some-service}.googleapis.com AND (status=done OR startTime>=\"2017-02-01\")`", +"location": "query", +"type": "string" +}, +"name": { +"description": "Not used.", +"location": "query", +"type": "string" +}, +"pageSize": { +"description": "The maximum number of operations to return. If unspecified, defaults to 50. The maximum value is 100.", +"format": "int32", +"location": "query", +"type": "integer" +}, +"pageToken": { +"description": "The standard list page token.", +"location": "query", +"type": "string" +} +}, +"path": "v1/operations", +"response": { +"$ref": "ListOperationsResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/service.management" +] +} +} +}, +"services": { +"methods": { +"create": { +"description": "Creates a new managed service. A managed service is immutable, and is subject to mandatory 30-day data retention. You cannot move a service or recreate it within 30 days after deletion. One producer project can own no more than 500 services. For security and reliability purposes, a production service should be hosted in a dedicated producer project. Operation", +"flatPath": "v1/services", +"httpMethod": "POST", +"id": "servicemanagement.services.create", +"parameterOrder": [], +"parameters": {}, +"path": "v1/services", +"request": { +"$ref": "ManagedService" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/service.management" +] +}, +"delete": { +"description": "Deletes a managed service. This method will change the service to the `Soft-Delete` state for 30 days. Within this period, service producers may call UndeleteService to restore the service. After 30 days, the service will be permanently deleted. Operation", +"flatPath": "v1/services/{serviceName}", +"httpMethod": "DELETE", +"id": "servicemanagement.services.delete", +"parameterOrder": [ +"serviceName" +], +"parameters": { +"serviceName": { +"description": "Required. The name of the service. See the [overview](https://cloud.google.com/service-management/overview) for naming requirements. For example: `example.googleapis.com`.", +"location": "path", +"required": true, +"type": "string" +} +}, +"path": "v1/services/{serviceName}", +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/service.management" +] +}, +"generateConfigReport": { +"description": "Generates and returns a report (errors, warnings and changes from existing configurations) associated with GenerateConfigReportRequest.new_value If GenerateConfigReportRequest.old_value is specified, GenerateConfigReportRequest will contain a single ChangeReport based on the comparison between GenerateConfigReportRequest.new_value and GenerateConfigReportRequest.old_value. If GenerateConfigReportRequest.old_value is not specified, this method will compare GenerateConfigReportRequest.new_value with the last pushed service configuration.", +"flatPath": "v1/services:generateConfigReport", +"httpMethod": "POST", +"id": "servicemanagement.services.generateConfigReport", +"parameterOrder": [], +"parameters": {}, +"path": "v1/services:generateConfigReport", +"request": { +"$ref": "GenerateConfigReportRequest" +}, +"response": { +"$ref": "GenerateConfigReportResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/service.management" +] +}, +"get": { +"description": "Gets a managed service. Authentication is required unless the service is public.", +"flatPath": "v1/services/{serviceName}", +"httpMethod": "GET", +"id": "servicemanagement.services.get", +"parameterOrder": [ +"serviceName" +], +"parameters": { +"serviceName": { +"description": "Required. The name of the service. See the `ServiceManager` overview for naming requirements. For example: `example.googleapis.com`.", +"location": "path", +"required": true, +"type": "string" +} +}, +"path": "v1/services/{serviceName}", +"response": { +"$ref": "ManagedService" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/cloud-platform.read-only", +"https://www.googleapis.com/auth/service.management", +"https://www.googleapis.com/auth/service.management.readonly" +] +}, +"getConfig": { +"description": "Gets a service configuration (version) for a managed service.", +"flatPath": "v1/services/{serviceName}/config", +"httpMethod": "GET", +"id": "servicemanagement.services.getConfig", +"parameterOrder": [ +"serviceName" +], +"parameters": { +"configId": { +"description": "Required. The id of the service configuration resource. This field must be specified for the server to return all fields, including `SourceInfo`.", +"location": "query", +"type": "string" +}, +"serviceName": { +"description": "Required. The name of the service. See the [overview](https://cloud.google.com/service-management/overview) for naming requirements. For example: `example.googleapis.com`.", +"location": "path", +"required": true, +"type": "string" +}, +"view": { +"description": "Specifies which parts of the Service Config should be returned in the response.", +"enum": [ +"BASIC", +"FULL" +], +"enumDescriptions": [ +"Server response includes all fields except SourceInfo.", +"Server response includes all fields including SourceInfo. SourceFiles are of type 'google.api.servicemanagement.v1.ConfigFile' and are only available for configs created using the SubmitConfigSource method." +], +"location": "query", +"type": "string" +} +}, +"path": "v1/services/{serviceName}/config", +"response": { +"$ref": "Service" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/cloud-platform.read-only", +"https://www.googleapis.com/auth/service.management", +"https://www.googleapis.com/auth/service.management.readonly" +] +}, +"getIamPolicy": { +"description": "Gets the access control policy for a resource. Returns an empty policy if the resource exists and does not have a policy set.", +"flatPath": "v1/services/{servicesId}:getIamPolicy", +"httpMethod": "POST", +"id": "servicemanagement.services.getIamPolicy", +"parameterOrder": [ +"resource" +], +"parameters": { +"resource": { +"description": "REQUIRED: The resource for which the policy is being requested. See [Resource names](https://cloud.google.com/apis/design/resource_names) for the appropriate value for this field.", +"location": "path", +"pattern": "^services/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+resource}:getIamPolicy", +"request": { +"$ref": "GetIamPolicyRequest" +}, +"response": { +"$ref": "Policy" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/cloud-platform.read-only", +"https://www.googleapis.com/auth/service.management", +"https://www.googleapis.com/auth/service.management.readonly" +] +}, +"list": { +"description": "Lists managed services. Returns all public services. For authenticated users, also returns all services the calling user has \"servicemanagement.services.get\" permission for.", +"flatPath": "v1/services", +"httpMethod": "GET", +"id": "servicemanagement.services.list", +"parameterOrder": [], +"parameters": { +"consumerId": { +"deprecated": true, +"description": "Include services consumed by the specified consumer. The Google Service Management implementation accepts the following forms: - project:", +"location": "query", +"type": "string" +}, +"pageSize": { +"description": "The max number of items to include in the response list. Page size is 50 if not specified. Maximum value is 500.", +"format": "int32", +"location": "query", +"type": "integer" +}, +"pageToken": { +"description": "Token identifying which result to start with; returned by a previous list call.", +"location": "query", +"type": "string" +}, +"producerProjectId": { +"description": "Include services produced by the specified project.", +"location": "query", +"type": "string" +} +}, +"path": "v1/services", +"response": { +"$ref": "ListServicesResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/cloud-platform.read-only", +"https://www.googleapis.com/auth/service.management", +"https://www.googleapis.com/auth/service.management.readonly" +] +}, +"setIamPolicy": { +"description": "Sets the access control policy on the specified resource. Replaces any existing policy. Can return `NOT_FOUND`, `INVALID_ARGUMENT`, and `PERMISSION_DENIED` errors.", +"flatPath": "v1/services/{servicesId}:setIamPolicy", +"httpMethod": "POST", +"id": "servicemanagement.services.setIamPolicy", +"parameterOrder": [ +"resource" +], +"parameters": { +"resource": { +"description": "REQUIRED: The resource for which the policy is being specified. See [Resource names](https://cloud.google.com/apis/design/resource_names) for the appropriate value for this field.", +"location": "path", +"pattern": "^services/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+resource}:setIamPolicy", +"request": { +"$ref": "SetIamPolicyRequest" +}, +"response": { +"$ref": "Policy" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/service.management" +] +}, +"testIamPermissions": { +"description": "Returns permissions that a caller has on the specified resource. If the resource does not exist, this will return an empty set of permissions, not a `NOT_FOUND` error. Note: This operation is designed to be used for building permission-aware UIs and command-line tools, not for authorization checking. This operation may \"fail open\" without warning.", +"flatPath": "v1/services/{servicesId}:testIamPermissions", +"httpMethod": "POST", +"id": "servicemanagement.services.testIamPermissions", +"parameterOrder": [ +"resource" +], +"parameters": { +"resource": { +"description": "REQUIRED: The resource for which the policy detail is being requested. See [Resource names](https://cloud.google.com/apis/design/resource_names) for the appropriate value for this field.", +"location": "path", +"pattern": "^services/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+resource}:testIamPermissions", +"request": { +"$ref": "TestIamPermissionsRequest" +}, +"response": { +"$ref": "TestIamPermissionsResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/cloud-platform.read-only", +"https://www.googleapis.com/auth/service.management", +"https://www.googleapis.com/auth/service.management.readonly" +] +}, +"undelete": { +"description": "Revives a previously deleted managed service. The method restores the service using the configuration at the time the service was deleted. The target service must exist and must have been deleted within the last 30 days. Operation", +"flatPath": "v1/services/{serviceName}:undelete", +"httpMethod": "POST", +"id": "servicemanagement.services.undelete", +"parameterOrder": [ +"serviceName" +], +"parameters": { +"serviceName": { +"description": "Required. The name of the service. See the [overview](https://cloud.google.com/service-management/overview) for naming requirements. For example: `example.googleapis.com`.", +"location": "path", +"required": true, +"type": "string" +} +}, +"path": "v1/services/{serviceName}:undelete", +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/service.management" +] +} +}, +"resources": { +"configs": { +"methods": { +"create": { +"description": "Creates a new service configuration (version) for a managed service. This method only stores the service configuration. To roll out the service configuration to backend systems please call CreateServiceRollout. Only the 100 most recent service configurations and ones referenced by existing rollouts are kept for each service. The rest will be deleted eventually.", +"flatPath": "v1/services/{serviceName}/configs", +"httpMethod": "POST", +"id": "servicemanagement.services.configs.create", +"parameterOrder": [ +"serviceName" +], +"parameters": { +"serviceName": { +"description": "Required. The name of the service. See the [overview](https://cloud.google.com/service-management/overview) for naming requirements. For example: `example.googleapis.com`.", +"location": "path", +"required": true, +"type": "string" +} +}, +"path": "v1/services/{serviceName}/configs", +"request": { +"$ref": "Service" +}, +"response": { +"$ref": "Service" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/service.management" +] +}, +"get": { +"description": "Gets a service configuration (version) for a managed service.", +"flatPath": "v1/services/{serviceName}/configs/{configId}", +"httpMethod": "GET", +"id": "servicemanagement.services.configs.get", +"parameterOrder": [ +"serviceName", +"configId" +], +"parameters": { +"configId": { +"description": "Required. The id of the service configuration resource. This field must be specified for the server to return all fields, including `SourceInfo`.", +"location": "path", +"required": true, +"type": "string" +}, +"serviceName": { +"description": "Required. The name of the service. See the [overview](https://cloud.google.com/service-management/overview) for naming requirements. For example: `example.googleapis.com`.", +"location": "path", +"required": true, +"type": "string" +}, +"view": { +"description": "Specifies which parts of the Service Config should be returned in the response.", +"enum": [ +"BASIC", +"FULL" +], +"enumDescriptions": [ +"Server response includes all fields except SourceInfo.", +"Server response includes all fields including SourceInfo. SourceFiles are of type 'google.api.servicemanagement.v1.ConfigFile' and are only available for configs created using the SubmitConfigSource method." +], +"location": "query", +"type": "string" +} +}, +"path": "v1/services/{serviceName}/configs/{configId}", +"response": { +"$ref": "Service" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/cloud-platform.read-only", +"https://www.googleapis.com/auth/service.management", +"https://www.googleapis.com/auth/service.management.readonly" +] +}, +"list": { +"description": "Lists the history of the service configuration for a managed service, from the newest to the oldest.", +"flatPath": "v1/services/{serviceName}/configs", +"httpMethod": "GET", +"id": "servicemanagement.services.configs.list", +"parameterOrder": [ +"serviceName" +], +"parameters": { +"pageSize": { +"description": "The max number of items to include in the response list. Page size is 50 if not specified. Maximum value is 100.", +"format": "int32", +"location": "query", +"type": "integer" +}, +"pageToken": { +"description": "The token of the page to retrieve.", +"location": "query", +"type": "string" +}, +"serviceName": { +"description": "Required. The name of the service. See the [overview](https://cloud.google.com/service-management/overview) for naming requirements. For example: `example.googleapis.com`.", +"location": "path", +"required": true, +"type": "string" +} +}, +"path": "v1/services/{serviceName}/configs", +"response": { +"$ref": "ListServiceConfigsResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/cloud-platform.read-only", +"https://www.googleapis.com/auth/service.management", +"https://www.googleapis.com/auth/service.management.readonly" +] +}, +"submit": { +"description": "Creates a new service configuration (version) for a managed service based on user-supplied configuration source files (for example: OpenAPI Specification). This method stores the source configurations as well as the generated service configuration. To rollout the service configuration to other services, please call CreateServiceRollout. Only the 100 most recent configuration sources and ones referenced by existing service configurtions are kept for each service. The rest will be deleted eventually. Operation", +"flatPath": "v1/services/{serviceName}/configs:submit", +"httpMethod": "POST", +"id": "servicemanagement.services.configs.submit", +"parameterOrder": [ +"serviceName" +], +"parameters": { +"serviceName": { +"description": "Required. The name of the service. See the [overview](https://cloud.google.com/service-management/overview) for naming requirements. For example: `example.googleapis.com`.", +"location": "path", +"required": true, +"type": "string" +} +}, +"path": "v1/services/{serviceName}/configs:submit", +"request": { +"$ref": "SubmitConfigSourceRequest" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/service.management" +] +} +} +}, +"consumers": { +"methods": { +"getIamPolicy": { +"description": "Gets the access control policy for a resource. Returns an empty policy if the resource exists and does not have a policy set.", +"flatPath": "v1/services/{servicesId}/consumers/{consumersId}:getIamPolicy", +"httpMethod": "POST", +"id": "servicemanagement.services.consumers.getIamPolicy", +"parameterOrder": [ +"resource" +], +"parameters": { +"resource": { +"description": "REQUIRED: The resource for which the policy is being requested. See [Resource names](https://cloud.google.com/apis/design/resource_names) for the appropriate value for this field.", +"location": "path", +"pattern": "^services/[^/]+/consumers/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+resource}:getIamPolicy", +"request": { +"$ref": "GetIamPolicyRequest" +}, +"response": { +"$ref": "Policy" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/cloud-platform.read-only", +"https://www.googleapis.com/auth/service.management", +"https://www.googleapis.com/auth/service.management.readonly" +] +}, +"setIamPolicy": { +"description": "Sets the access control policy on the specified resource. Replaces any existing policy. Can return `NOT_FOUND`, `INVALID_ARGUMENT`, and `PERMISSION_DENIED` errors.", +"flatPath": "v1/services/{servicesId}/consumers/{consumersId}:setIamPolicy", +"httpMethod": "POST", +"id": "servicemanagement.services.consumers.setIamPolicy", +"parameterOrder": [ +"resource" +], +"parameters": { +"resource": { +"description": "REQUIRED: The resource for which the policy is being specified. See [Resource names](https://cloud.google.com/apis/design/resource_names) for the appropriate value for this field.", +"location": "path", +"pattern": "^services/[^/]+/consumers/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+resource}:setIamPolicy", +"request": { +"$ref": "SetIamPolicyRequest" +}, +"response": { +"$ref": "Policy" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/service.management" +] +}, +"testIamPermissions": { +"description": "Returns permissions that a caller has on the specified resource. If the resource does not exist, this will return an empty set of permissions, not a `NOT_FOUND` error. Note: This operation is designed to be used for building permission-aware UIs and command-line tools, not for authorization checking. This operation may \"fail open\" without warning.", +"flatPath": "v1/services/{servicesId}/consumers/{consumersId}:testIamPermissions", +"httpMethod": "POST", +"id": "servicemanagement.services.consumers.testIamPermissions", +"parameterOrder": [ +"resource" +], +"parameters": { +"resource": { +"description": "REQUIRED: The resource for which the policy detail is being requested. See [Resource names](https://cloud.google.com/apis/design/resource_names) for the appropriate value for this field.", +"location": "path", +"pattern": "^services/[^/]+/consumers/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+resource}:testIamPermissions", +"request": { +"$ref": "TestIamPermissionsRequest" +}, +"response": { +"$ref": "TestIamPermissionsResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/cloud-platform.read-only", +"https://www.googleapis.com/auth/service.management", +"https://www.googleapis.com/auth/service.management.readonly" +] +} +} +}, +"rollouts": { +"methods": { +"create": { +"description": "Creates a new service configuration rollout. Based on rollout, the Google Service Management will roll out the service configurations to different backend services. For example, the logging configuration will be pushed to Google Cloud Logging. Please note that any previous pending and running Rollouts and associated Operations will be automatically cancelled so that the latest Rollout will not be blocked by previous Rollouts. Only the 100 most recent (in any state) and the last 10 successful (if not already part of the set of 100 most recent) rollouts are kept for each service. The rest will be deleted eventually. Operation", +"flatPath": "v1/services/{serviceName}/rollouts", +"httpMethod": "POST", +"id": "servicemanagement.services.rollouts.create", +"parameterOrder": [ +"serviceName" +], +"parameters": { +"serviceName": { +"description": "Required. The name of the service. See the [overview](https://cloud.google.com/service-management/overview) for naming requirements. For example: `example.googleapis.com`.", +"location": "path", +"required": true, +"type": "string" +} +}, +"path": "v1/services/{serviceName}/rollouts", +"request": { +"$ref": "Rollout" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/service.management" +] +}, +"get": { +"description": "Gets a service configuration rollout.", +"flatPath": "v1/services/{serviceName}/rollouts/{rolloutId}", +"httpMethod": "GET", +"id": "servicemanagement.services.rollouts.get", +"parameterOrder": [ +"serviceName", +"rolloutId" +], +"parameters": { +"rolloutId": { +"description": "Required. The id of the rollout resource.", +"location": "path", +"required": true, +"type": "string" +}, +"serviceName": { +"description": "Required. The name of the service. See the [overview](https://cloud.google.com/service-management/overview) for naming requirements. For example: `example.googleapis.com`.", +"location": "path", +"required": true, +"type": "string" +} +}, +"path": "v1/services/{serviceName}/rollouts/{rolloutId}", +"response": { +"$ref": "Rollout" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/cloud-platform.read-only", +"https://www.googleapis.com/auth/service.management", +"https://www.googleapis.com/auth/service.management.readonly" +] +}, +"list": { +"description": "Lists the history of the service configuration rollouts for a managed service, from the newest to the oldest.", +"flatPath": "v1/services/{serviceName}/rollouts", +"httpMethod": "GET", +"id": "servicemanagement.services.rollouts.list", +"parameterOrder": [ +"serviceName" +], +"parameters": { +"filter": { +"description": "Required. Use `filter` to return subset of rollouts. The following filters are supported: -- By status. For example, `filter='status=SUCCESS'` -- By strategy. For example, `filter='strategy=TrafficPercentStrategy'`", +"location": "query", +"type": "string" +}, +"pageSize": { +"description": "The max number of items to include in the response list. Page size is 50 if not specified. Maximum value is 100.", +"format": "int32", +"location": "query", +"type": "integer" +}, +"pageToken": { +"description": "The token of the page to retrieve.", +"location": "query", +"type": "string" +}, +"serviceName": { +"description": "Required. The name of the service. See the [overview](https://cloud.google.com/service-management/overview) for naming requirements. For example: `example.googleapis.com`.", +"location": "path", +"required": true, +"type": "string" +} +}, +"path": "v1/services/{serviceName}/rollouts", +"response": { +"$ref": "ListServiceRolloutsResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/cloud-platform.read-only", +"https://www.googleapis.com/auth/service.management", +"https://www.googleapis.com/auth/service.management.readonly" +] +} +} +} +} +} +}, +"revision": "20241202", +"rootUrl": "https://servicemanagement.googleapis.com/", +"schemas": { +"Advice": { +"description": "Generated advice about this change, used for providing more information about how a change will affect the existing service.", +"id": "Advice", +"properties": { +"description": { +"description": "Useful description for why this advice was applied and what actions should be taken to mitigate any implied risks.", +"type": "string" +} +}, +"type": "object" +}, +"Api": { +"description": "Api is a light-weight descriptor for an API Interface. Interfaces are also described as \"protocol buffer services\" in some contexts, such as by the \"service\" keyword in a .proto file, but they are different from API Services, which represent a concrete implementation of an interface as opposed to simply a description of methods and bindings. They are also sometimes simply referred to as \"APIs\" in other contexts, such as the name of this message itself. See https://cloud.google.com/apis/design/glossary for detailed terminology.", +"id": "Api", +"properties": { +"methods": { +"description": "The methods of this interface, in unspecified order.", +"items": { +"$ref": "Method" +}, +"type": "array" +}, +"mixins": { +"description": "Included interfaces. See Mixin.", +"items": { +"$ref": "Mixin" +}, +"type": "array" +}, +"name": { +"description": "The fully qualified name of this interface, including package name followed by the interface's simple name.", +"type": "string" +}, +"options": { +"description": "Any metadata attached to the interface.", +"items": { +"$ref": "Option" +}, +"type": "array" +}, +"sourceContext": { +"$ref": "SourceContext", +"description": "Source context for the protocol buffer service represented by this message." +}, +"syntax": { +"description": "The source syntax of the service.", +"enum": [ +"SYNTAX_PROTO2", +"SYNTAX_PROTO3", +"SYNTAX_EDITIONS" +], +"enumDescriptions": [ +"Syntax `proto2`.", +"Syntax `proto3`.", +"Syntax `editions`." +], +"type": "string" +}, +"version": { +"description": "A version string for this interface. If specified, must have the form `major-version.minor-version`, as in `1.10`. If the minor version is omitted, it defaults to zero. If the entire version field is empty, the major version is derived from the package name, as outlined below. If the field is not empty, the version in the package name will be verified to be consistent with what is provided here. The versioning schema uses [semantic versioning](http://semver.org) where the major version number indicates a breaking change and the minor version an additive, non-breaking change. Both version numbers are signals to users what to expect from different versions, and should be carefully chosen based on the product plan. The major version is also reflected in the package name of the interface, which must end in `v`, as in `google.feature.v1`. For major versions 0 and 1, the suffix can be omitted. Zero major versions must only be used for experimental, non-GA interfaces. ", +"type": "string" +} +}, +"type": "object" +}, +"AuditConfig": { +"description": "Specifies the audit configuration for a service. The configuration determines which permission types are logged, and what identities, if any, are exempted from logging. An AuditConfig must have one or more AuditLogConfigs. If there are AuditConfigs for both `allServices` and a specific service, the union of the two AuditConfigs is used for that service: the log_types specified in each AuditConfig are enabled, and the exempted_members in each AuditLogConfig are exempted. Example Policy with multiple AuditConfigs: { \"audit_configs\": [ { \"service\": \"allServices\", \"audit_log_configs\": [ { \"log_type\": \"DATA_READ\", \"exempted_members\": [ \"user:jose@example.com\" ] }, { \"log_type\": \"DATA_WRITE\" }, { \"log_type\": \"ADMIN_READ\" } ] }, { \"service\": \"sampleservice.googleapis.com\", \"audit_log_configs\": [ { \"log_type\": \"DATA_READ\" }, { \"log_type\": \"DATA_WRITE\", \"exempted_members\": [ \"user:aliya@example.com\" ] } ] } ] } For sampleservice, this policy enables DATA_READ, DATA_WRITE and ADMIN_READ logging. It also exempts `jose@example.com` from DATA_READ logging, and `aliya@example.com` from DATA_WRITE logging.", +"id": "AuditConfig", +"properties": { +"auditLogConfigs": { +"description": "The configuration for logging of each type of permission.", +"items": { +"$ref": "AuditLogConfig" +}, +"type": "array" +}, +"service": { +"description": "Specifies a service that will be enabled for audit logging. For example, `storage.googleapis.com`, `cloudsql.googleapis.com`. `allServices` is a special value that covers all services.", +"type": "string" +} +}, +"type": "object" +}, +"AuditLogConfig": { +"description": "Provides the configuration for logging a type of permissions. Example: { \"audit_log_configs\": [ { \"log_type\": \"DATA_READ\", \"exempted_members\": [ \"user:jose@example.com\" ] }, { \"log_type\": \"DATA_WRITE\" } ] } This enables 'DATA_READ' and 'DATA_WRITE' logging, while exempting jose@example.com from DATA_READ logging.", +"id": "AuditLogConfig", +"properties": { +"exemptedMembers": { +"description": "Specifies the identities that do not cause logging for this type of permission. Follows the same format of Binding.members.", +"items": { +"type": "string" +}, +"type": "array" +}, +"logType": { +"description": "The log type that this config enables.", +"enum": [ +"LOG_TYPE_UNSPECIFIED", +"ADMIN_READ", +"DATA_WRITE", +"DATA_READ" +], +"enumDescriptions": [ +"Default case. Should never be this.", +"Admin reads. Example: CloudIAM getIamPolicy", +"Data writes. Example: CloudSQL Users create", +"Data reads. Example: CloudSQL Users list" +], +"type": "string" +} +}, +"type": "object" +}, +"AuthProvider": { +"description": "Configuration for an authentication provider, including support for [JSON Web Token (JWT)](https://tools.ietf.org/html/draft-ietf-oauth-json-web-token-32).", +"id": "AuthProvider", +"properties": { +"audiences": { +"description": "The list of JWT [audiences](https://tools.ietf.org/html/draft-ietf-oauth-json-web-token-32#section-4.1.3). that are allowed to access. A JWT containing any of these audiences will be accepted. When this setting is absent, JWTs with audiences: - \"https://[service.name]/[google.protobuf.Api.name]\" - \"https://[service.name]/\" will be accepted. For example, if no audiences are in the setting, LibraryService API will accept JWTs with the following audiences: - https://library-example.googleapis.com/google.example.library.v1.LibraryService - https://library-example.googleapis.com/ Example: audiences: bookstore_android.apps.googleusercontent.com, bookstore_web.apps.googleusercontent.com", +"type": "string" +}, +"authorizationUrl": { +"description": "Redirect URL if JWT token is required but not present or is expired. Implement authorizationUrl of securityDefinitions in OpenAPI spec.", +"type": "string" +}, +"id": { +"description": "The unique identifier of the auth provider. It will be referred to by `AuthRequirement.provider_id`. Example: \"bookstore_auth\".", +"type": "string" +}, +"issuer": { +"description": "Identifies the principal that issued the JWT. See https://tools.ietf.org/html/draft-ietf-oauth-json-web-token-32#section-4.1.1 Usually a URL or an email address. Example: https://securetoken.google.com Example: 1234567-compute@developer.gserviceaccount.com", +"type": "string" +}, +"jwksUri": { +"description": "URL of the provider's public key set to validate signature of the JWT. See [OpenID Discovery](https://openid.net/specs/openid-connect-discovery-1_0.html#ProviderMetadata). Optional if the key set document: - can be retrieved from [OpenID Discovery](https://openid.net/specs/openid-connect-discovery-1_0.html) of the issuer. - can be inferred from the email domain of the issuer (e.g. a Google service account). Example: https://www.googleapis.com/oauth2/v1/certs", +"type": "string" +}, +"jwtLocations": { +"description": "Defines the locations to extract the JWT. For now it is only used by the Cloud Endpoints to store the OpenAPI extension [x-google-jwt-locations] (https://cloud.google.com/endpoints/docs/openapi/openapi-extensions#x-google-jwt-locations) JWT locations can be one of HTTP headers, URL query parameters or cookies. The rule is that the first match wins. If not specified, default to use following 3 locations: 1) Authorization: Bearer 2) x-goog-iap-jwt-assertion 3) access_token query parameter Default locations can be specified as followings: jwt_locations: - header: Authorization value_prefix: \"Bearer \" - header: x-goog-iap-jwt-assertion - query: access_token", +"items": { +"$ref": "JwtLocation" +}, +"type": "array" +} +}, +"type": "object" +}, +"AuthRequirement": { +"description": "User-defined authentication requirements, including support for [JSON Web Token (JWT)](https://tools.ietf.org/html/draft-ietf-oauth-json-web-token-32).", +"id": "AuthRequirement", +"properties": { +"audiences": { +"description": "NOTE: This will be deprecated soon, once AuthProvider.audiences is implemented and accepted in all the runtime components. The list of JWT [audiences](https://tools.ietf.org/html/draft-ietf-oauth-json-web-token-32#section-4.1.3). that are allowed to access. A JWT containing any of these audiences will be accepted. When this setting is absent, only JWTs with audience \"https://Service_name/API_name\" will be accepted. For example, if no audiences are in the setting, LibraryService API will only accept JWTs with the following audience \"https://library-example.googleapis.com/google.example.library.v1.LibraryService\". Example: audiences: bookstore_android.apps.googleusercontent.com, bookstore_web.apps.googleusercontent.com", +"type": "string" +}, +"providerId": { +"description": "id from authentication provider. Example: provider_id: bookstore_auth", +"type": "string" +} +}, +"type": "object" +}, +"Authentication": { +"description": "`Authentication` defines the authentication configuration for API methods provided by an API service. Example: name: calendar.googleapis.com authentication: providers: - id: google_calendar_auth jwks_uri: https://www.googleapis.com/oauth2/v1/certs issuer: https://securetoken.google.com rules: - selector: \"*\" requirements: provider_id: google_calendar_auth - selector: google.calendar.Delegate oauth: canonical_scopes: https://www.googleapis.com/auth/calendar.read", +"id": "Authentication", +"properties": { +"providers": { +"description": "Defines a set of authentication providers that a service supports.", +"items": { +"$ref": "AuthProvider" +}, +"type": "array" +}, +"rules": { +"description": "A list of authentication rules that apply to individual API methods. **NOTE:** All service configuration rules follow \"last one wins\" order.", +"items": { +"$ref": "AuthenticationRule" +}, +"type": "array" +} +}, +"type": "object" +}, +"AuthenticationRule": { +"description": "Authentication rules for the service. By default, if a method has any authentication requirements, every request must include a valid credential matching one of the requirements. It's an error to include more than one kind of credential in a single request. If a method doesn't have any auth requirements, request credentials will be ignored.", +"id": "AuthenticationRule", +"properties": { +"allowWithoutCredential": { +"description": "If true, the service accepts API keys without any other credential. This flag only applies to HTTP and gRPC requests.", +"type": "boolean" +}, +"oauth": { +"$ref": "OAuthRequirements", +"description": "The requirements for OAuth credentials." +}, +"requirements": { +"description": "Requirements for additional authentication providers.", +"items": { +"$ref": "AuthRequirement" +}, +"type": "array" +}, +"selector": { +"description": "Selects the methods to which this rule applies. Refer to selector for syntax details.", +"type": "string" +} +}, +"type": "object" +}, +"Backend": { +"description": "`Backend` defines the backend configuration for a service.", +"id": "Backend", +"properties": { +"rules": { +"description": "A list of API backend rules that apply to individual API methods. **NOTE:** All service configuration rules follow \"last one wins\" order.", +"items": { +"$ref": "BackendRule" +}, +"type": "array" +} +}, +"type": "object" +}, +"BackendRule": { +"description": "A backend rule provides configuration for an individual API element.", +"id": "BackendRule", +"properties": { +"address": { +"description": "The address of the API backend. The scheme is used to determine the backend protocol and security. The following schemes are accepted: SCHEME PROTOCOL SECURITY http:// HTTP None https:// HTTP TLS grpc:// gRPC None grpcs:// gRPC TLS It is recommended to explicitly include a scheme. Leaving out the scheme may cause constrasting behaviors across platforms. If the port is unspecified, the default is: - 80 for schemes without TLS - 443 for schemes with TLS For HTTP backends, use protocol to specify the protocol version.", +"type": "string" +}, +"deadline": { +"description": "The number of seconds to wait for a response from a request. The default varies based on the request protocol and deployment environment.", +"format": "double", +"type": "number" +}, +"disableAuth": { +"description": "When disable_auth is true, a JWT ID token won't be generated and the original \"Authorization\" HTTP header will be preserved. If the header is used to carry the original token and is expected by the backend, this field must be set to true to preserve the header.", +"type": "boolean" +}, +"jwtAudience": { +"description": "The JWT audience is used when generating a JWT ID token for the backend. This ID token will be added in the HTTP \"authorization\" header, and sent to the backend.", +"type": "string" +}, +"minDeadline": { +"deprecated": true, +"description": "Deprecated, do not use.", +"format": "double", +"type": "number" +}, +"operationDeadline": { +"description": "The number of seconds to wait for the completion of a long running operation. The default is no deadline.", +"format": "double", +"type": "number" +}, +"overridesByRequestProtocol": { +"additionalProperties": { +"$ref": "BackendRule" +}, +"description": "The map between request protocol and the backend address.", +"type": "object" +}, +"pathTranslation": { +"enum": [ +"PATH_TRANSLATION_UNSPECIFIED", +"CONSTANT_ADDRESS", +"APPEND_PATH_TO_ADDRESS" +], +"enumDescriptions": [ +"", +"Use the backend address as-is, with no modification to the path. If the URL pattern contains variables, the variable names and values will be appended to the query string. If a query string parameter and a URL pattern variable have the same name, this may result in duplicate keys in the query string. # Examples Given the following operation config: Method path: /api/company/{cid}/user/{uid} Backend address: https://example.cloudfunctions.net/getUser Requests to the following request paths will call the backend at the translated path: Request path: /api/company/widgetworks/user/johndoe Translated: https://example.cloudfunctions.net/getUser?cid=widgetworks&uid=johndoe Request path: /api/company/widgetworks/user/johndoe?timezone=EST Translated: https://example.cloudfunctions.net/getUser?timezone=EST&cid=widgetworks&uid=johndoe", +"The request path will be appended to the backend address. # Examples Given the following operation config: Method path: /api/company/{cid}/user/{uid} Backend address: https://example.appspot.com Requests to the following request paths will call the backend at the translated path: Request path: /api/company/widgetworks/user/johndoe Translated: https://example.appspot.com/api/company/widgetworks/user/johndoe Request path: /api/company/widgetworks/user/johndoe?timezone=EST Translated: https://example.appspot.com/api/company/widgetworks/user/johndoe?timezone=EST" +], +"type": "string" +}, +"protocol": { +"description": "The protocol used for sending a request to the backend. The supported values are \"http/1.1\" and \"h2\". The default value is inferred from the scheme in the address field: SCHEME PROTOCOL http:// http/1.1 https:// http/1.1 grpc:// h2 grpcs:// h2 For secure HTTP backends (https://) that support HTTP/2, set this field to \"h2\" for improved performance. Configuring this field to non-default values is only supported for secure HTTP backends. This field will be ignored for all other backends. See https://www.iana.org/assignments/tls-extensiontype-values/tls-extensiontype-values.xhtml#alpn-protocol-ids for more details on the supported values.", +"type": "string" +}, +"selector": { +"description": "Selects the methods to which this rule applies. Refer to selector for syntax details.", +"type": "string" +} +}, +"type": "object" +}, +"Billing": { +"description": "Billing related configuration of the service. The following example shows how to configure monitored resources and metrics for billing, `consumer_destinations` is the only supported destination and the monitored resources need at least one label key `cloud.googleapis.com/location` to indicate the location of the billing usage, using different monitored resources between monitoring and billing is recommended so they can be evolved independently: monitored_resources: - type: library.googleapis.com/billing_branch labels: - key: cloud.googleapis.com/location description: | Predefined label to support billing location restriction. - key: city description: | Custom label to define the city where the library branch is located in. - key: name description: Custom label to define the name of the library branch. metrics: - name: library.googleapis.com/book/borrowed_count metric_kind: DELTA value_type: INT64 unit: \"1\" billing: consumer_destinations: - monitored_resource: library.googleapis.com/billing_branch metrics: - library.googleapis.com/book/borrowed_count", +"id": "Billing", +"properties": { +"consumerDestinations": { +"description": "Billing configurations for sending metrics to the consumer project. There can be multiple consumer destinations per service, each one must have a different monitored resource type. A metric can be used in at most one consumer destination.", +"items": { +"$ref": "BillingDestination" +}, +"type": "array" +} +}, +"type": "object" +}, +"BillingDestination": { +"description": "Configuration of a specific billing destination (Currently only support bill against consumer project).", +"id": "BillingDestination", +"properties": { +"metrics": { +"description": "Names of the metrics to report to this billing destination. Each name must be defined in Service.metrics section.", +"items": { +"type": "string" +}, +"type": "array" +}, +"monitoredResource": { +"description": "The monitored resource type. The type must be defined in Service.monitored_resources section.", +"type": "string" +} +}, +"type": "object" +}, +"Binding": { +"description": "Associates `members`, or principals, with a `role`.", +"id": "Binding", +"properties": { +"condition": { +"$ref": "Expr", +"description": "The condition that is associated with this binding. If the condition evaluates to `true`, then this binding applies to the current request. If the condition evaluates to `false`, then this binding does not apply to the current request. However, a different role binding might grant the same role to one or more of the principals in this binding. To learn which resources support conditions in their IAM policies, see the [IAM documentation](https://cloud.google.com/iam/help/conditions/resource-policies)." +}, +"members": { +"description": "Specifies the principals requesting access for a Google Cloud resource. `members` can have the following values: * `allUsers`: A special identifier that represents anyone who is on the internet; with or without a Google account. * `allAuthenticatedUsers`: A special identifier that represents anyone who is authenticated with a Google account or a service account. Does not include identities that come from external identity providers (IdPs) through identity federation. * `user:{emailid}`: An email address that represents a specific Google account. For example, `alice@example.com` . * `serviceAccount:{emailid}`: An email address that represents a Google service account. For example, `my-other-app@appspot.gserviceaccount.com`. * `serviceAccount:{projectid}.svc.id.goog[{namespace}/{kubernetes-sa}]`: An identifier for a [Kubernetes service account](https://cloud.google.com/kubernetes-engine/docs/how-to/kubernetes-service-accounts). For example, `my-project.svc.id.goog[my-namespace/my-kubernetes-sa]`. * `group:{emailid}`: An email address that represents a Google group. For example, `admins@example.com`. * `domain:{domain}`: The G Suite domain (primary) that represents all the users of that domain. For example, `google.com` or `example.com`. * `principal://iam.googleapis.com/locations/global/workforcePools/{pool_id}/subject/{subject_attribute_value}`: A single identity in a workforce identity pool. * `principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/group/{group_id}`: All workforce identities in a group. * `principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/attribute.{attribute_name}/{attribute_value}`: All workforce identities with a specific attribute value. * `principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/*`: All identities in a workforce identity pool. * `principal://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/subject/{subject_attribute_value}`: A single identity in a workload identity pool. * `principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/group/{group_id}`: A workload identity pool group. * `principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/attribute.{attribute_name}/{attribute_value}`: All identities in a workload identity pool with a certain attribute. * `principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/*`: All identities in a workload identity pool. * `deleted:user:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a user that has been recently deleted. For example, `alice@example.com?uid=123456789012345678901`. If the user is recovered, this value reverts to `user:{emailid}` and the recovered user retains the role in the binding. * `deleted:serviceAccount:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a service account that has been recently deleted. For example, `my-other-app@appspot.gserviceaccount.com?uid=123456789012345678901`. If the service account is undeleted, this value reverts to `serviceAccount:{emailid}` and the undeleted service account retains the role in the binding. * `deleted:group:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a Google group that has been recently deleted. For example, `admins@example.com?uid=123456789012345678901`. If the group is recovered, this value reverts to `group:{emailid}` and the recovered group retains the role in the binding. * `deleted:principal://iam.googleapis.com/locations/global/workforcePools/{pool_id}/subject/{subject_attribute_value}`: Deleted single identity in a workforce identity pool. For example, `deleted:principal://iam.googleapis.com/locations/global/workforcePools/my-pool-id/subject/my-subject-attribute-value`.", +"items": { +"type": "string" +}, +"type": "array" +}, +"role": { +"description": "Role that is assigned to the list of `members`, or principals. For example, `roles/viewer`, `roles/editor`, or `roles/owner`. For an overview of the IAM roles and permissions, see the [IAM documentation](https://cloud.google.com/iam/docs/roles-overview). For a list of the available pre-defined roles, see [here](https://cloud.google.com/iam/docs/understanding-roles).", +"type": "string" +} +}, +"type": "object" +}, +"ChangeReport": { +"description": "Change report associated with a particular service configuration. It contains a list of ConfigChanges based on the comparison between two service configurations.", +"id": "ChangeReport", +"properties": { +"configChanges": { +"description": "List of changes between two service configurations. The changes will be alphabetically sorted based on the identifier of each change. A ConfigChange identifier is a dot separated path to the configuration. Example: visibility.rules[selector='LibraryService.CreateBook'].restriction", +"items": { +"$ref": "ConfigChange" +}, +"type": "array" +} +}, +"type": "object" +}, +"ClientLibrarySettings": { +"description": "Details about how and where to publish client libraries.", +"id": "ClientLibrarySettings", +"properties": { +"cppSettings": { +"$ref": "CppSettings", +"description": "Settings for C++ client libraries." +}, +"dotnetSettings": { +"$ref": "DotnetSettings", +"description": "Settings for .NET client libraries." +}, +"goSettings": { +"$ref": "GoSettings", +"description": "Settings for Go client libraries." +}, +"javaSettings": { +"$ref": "JavaSettings", +"description": "Settings for legacy Java features, supported in the Service YAML." +}, +"launchStage": { +"description": "Launch stage of this version of the API.", +"enum": [ +"LAUNCH_STAGE_UNSPECIFIED", +"UNIMPLEMENTED", +"PRELAUNCH", +"EARLY_ACCESS", +"ALPHA", +"BETA", +"GA", +"DEPRECATED" +], +"enumDescriptions": [ +"Do not use this default value.", +"The feature is not yet implemented. Users can not use it.", +"Prelaunch features are hidden from users and are only visible internally.", +"Early Access features are limited to a closed group of testers. To use these features, you must sign up in advance and sign a Trusted Tester agreement (which includes confidentiality provisions). These features may be unstable, changed in backward-incompatible ways, and are not guaranteed to be released.", +"Alpha is a limited availability test for releases before they are cleared for widespread use. By Alpha, all significant design issues are resolved and we are in the process of verifying functionality. Alpha customers need to apply for access, agree to applicable terms, and have their projects allowlisted. Alpha releases don't have to be feature complete, no SLAs are provided, and there are no technical support obligations, but they will be far enough along that customers can actually use them in test environments or for limited-use tests -- just like they would in normal production cases.", +"Beta is the point at which we are ready to open a release for any customer to use. There are no SLA or technical support obligations in a Beta release. Products will be complete from a feature perspective, but may have some open outstanding issues. Beta releases are suitable for limited production use cases.", +"GA features are open to all developers and are considered stable and fully qualified for production use.", +"Deprecated features are scheduled to be shut down and removed. For more information, see the \"Deprecation Policy\" section of our [Terms of Service](https://cloud.google.com/terms/) and the [Google Cloud Platform Subject to the Deprecation Policy](https://cloud.google.com/terms/deprecation) documentation." +], +"type": "string" +}, +"nodeSettings": { +"$ref": "NodeSettings", +"description": "Settings for Node client libraries." +}, +"phpSettings": { +"$ref": "PhpSettings", +"description": "Settings for PHP client libraries." +}, +"pythonSettings": { +"$ref": "PythonSettings", +"description": "Settings for Python client libraries." +}, +"restNumericEnums": { +"description": "When using transport=rest, the client request will encode enums as numbers rather than strings.", +"type": "boolean" +}, +"rubySettings": { +"$ref": "RubySettings", +"description": "Settings for Ruby client libraries." +}, +"version": { +"description": "Version of the API to apply these settings to. This is the full protobuf package for the API, ending in the version element. Examples: \"google.cloud.speech.v1\" and \"google.spanner.admin.database.v1\".", +"type": "string" +} +}, +"type": "object" +}, +"CommonLanguageSettings": { +"description": "Required information for every language.", +"id": "CommonLanguageSettings", +"properties": { +"destinations": { +"description": "The destination where API teams want this client library to be published.", +"items": { +"enum": [ +"CLIENT_LIBRARY_DESTINATION_UNSPECIFIED", +"GITHUB", +"PACKAGE_MANAGER" +], +"enumDescriptions": [ +"Client libraries will neither be generated nor published to package managers.", +"Generate the client library in a repo under github.com/googleapis, but don't publish it to package managers.", +"Publish the library to package managers like nuget.org and npmjs.com." +], +"type": "string" +}, +"type": "array" +}, +"referenceDocsUri": { +"deprecated": true, +"description": "Link to automatically generated reference documentation. Example: https://cloud.google.com/nodejs/docs/reference/asset/latest", +"type": "string" +}, +"selectiveGapicGeneration": { +"$ref": "SelectiveGapicGeneration", +"description": "Configuration for which RPCs should be generated in the GAPIC client." +} +}, +"type": "object" +}, +"ConfigChange": { +"description": "Output generated from semantically comparing two versions of a service configuration. Includes detailed information about a field that have changed with applicable advice about potential consequences for the change, such as backwards-incompatibility.", +"id": "ConfigChange", +"properties": { +"advices": { +"description": "Collection of advice provided for this change, useful for determining the possible impact of this change.", +"items": { +"$ref": "Advice" +}, +"type": "array" +}, +"changeType": { +"description": "The type for this change, either ADDED, REMOVED, or MODIFIED.", +"enum": [ +"CHANGE_TYPE_UNSPECIFIED", +"ADDED", +"REMOVED", +"MODIFIED" +], +"enumDescriptions": [ +"No value was provided.", +"The changed object exists in the 'new' service configuration, but not in the 'old' service configuration.", +"The changed object exists in the 'old' service configuration, but not in the 'new' service configuration.", +"The changed object exists in both service configurations, but its value is different." +], +"type": "string" +}, +"element": { +"description": "Object hierarchy path to the change, with levels separated by a '.' character. For repeated fields, an applicable unique identifier field is used for the index (usually selector, name, or id). For maps, the term 'key' is used. If the field has no unique identifier, the numeric index is used. Examples: - visibility.rules[selector==\"google.LibraryService.ListBooks\"].restriction - quota.metric_rules[selector==\"google\"].metric_costs[key==\"reads\"].value - logging.producer_destinations[0]", +"type": "string" +}, +"newValue": { +"description": "Value of the changed object in the new Service configuration, in JSON format. This field will not be populated if ChangeType == REMOVED.", +"type": "string" +}, +"oldValue": { +"description": "Value of the changed object in the old Service configuration, in JSON format. This field will not be populated if ChangeType == ADDED.", +"type": "string" +} +}, +"type": "object" +}, +"ConfigFile": { +"description": "Generic specification of a source configuration file", +"id": "ConfigFile", +"properties": { +"fileContents": { +"description": "The bytes that constitute the file.", +"format": "byte", +"type": "string" +}, +"filePath": { +"description": "The file name of the configuration file (full or relative path).", +"type": "string" +}, +"fileType": { +"description": "The type of configuration file this represents.", +"enum": [ +"FILE_TYPE_UNSPECIFIED", +"SERVICE_CONFIG_YAML", +"OPEN_API_JSON", +"OPEN_API_YAML", +"FILE_DESCRIPTOR_SET_PROTO", +"PROTO_FILE" +], +"enumDescriptions": [ +"Unknown file type.", +"YAML-specification of service.", +"OpenAPI specification, serialized in JSON.", +"OpenAPI specification, serialized in YAML.", +"FileDescriptorSet, generated by protoc. To generate, use protoc with imports and source info included. For an example test.proto file, the following command would put the value in a new file named out.pb. $protoc --include_imports --include_source_info test.proto -o out.pb", +"Uncompiled Proto file. Used for storage and display purposes only, currently server-side compilation is not supported. Should match the inputs to 'protoc' command used to generated FILE_DESCRIPTOR_SET_PROTO. A file of this type can only be included if at least one file of type FILE_DESCRIPTOR_SET_PROTO is included." +], +"type": "string" +} +}, +"type": "object" +}, +"ConfigRef": { +"description": "Represents a service configuration with its name and id.", +"id": "ConfigRef", +"properties": { +"name": { +"description": "Resource name of a service config. It must have the following format: \"services/{service name}/configs/{config id}\".", +"type": "string" +} +}, +"type": "object" +}, +"ConfigSource": { +"description": "Represents a source file which is used to generate the service configuration defined by `google.api.Service`.", +"id": "ConfigSource", +"properties": { +"files": { +"description": "Set of source configuration files that are used to generate a service configuration (`google.api.Service`).", +"items": { +"$ref": "ConfigFile" +}, +"type": "array" +}, +"id": { +"description": "A unique ID for a specific instance of this message, typically assigned by the client for tracking purpose. If empty, the server may choose to generate one instead.", +"type": "string" +} +}, +"type": "object" +}, +"Context": { +"description": "`Context` defines which contexts an API requests. Example: context: rules: - selector: \"*\" requested: - google.rpc.context.ProjectContext - google.rpc.context.OriginContext The above specifies that all methods in the API request `google.rpc.context.ProjectContext` and `google.rpc.context.OriginContext`. Available context types are defined in package `google.rpc.context`. This also provides mechanism to allowlist any protobuf message extension that can be sent in grpc metadata using \u201cx-goog-ext--bin\u201d and \u201cx-goog-ext--jspb\u201d format. For example, list any service specific protobuf types that can appear in grpc metadata as follows in your yaml file: Example: context: rules: - selector: \"google.example.library.v1.LibraryService.CreateBook\" allowed_request_extensions: - google.foo.v1.NewExtension allowed_response_extensions: - google.foo.v1.NewExtension You can also specify extension ID instead of fully qualified extension name here.", +"id": "Context", +"properties": { +"rules": { +"description": "A list of RPC context rules that apply to individual API methods. **NOTE:** All service configuration rules follow \"last one wins\" order.", +"items": { +"$ref": "ContextRule" +}, +"type": "array" +} +}, +"type": "object" +}, +"ContextRule": { +"description": "A context rule provides information about the context for an individual API element.", +"id": "ContextRule", +"properties": { +"allowedRequestExtensions": { +"description": "A list of full type names or extension IDs of extensions allowed in grpc side channel from client to backend.", +"items": { +"type": "string" +}, +"type": "array" +}, +"allowedResponseExtensions": { +"description": "A list of full type names or extension IDs of extensions allowed in grpc side channel from backend to client.", +"items": { +"type": "string" +}, +"type": "array" +}, +"provided": { +"description": "A list of full type names of provided contexts. It is used to support propagating HTTP headers and ETags from the response extension.", +"items": { +"type": "string" +}, +"type": "array" +}, +"requested": { +"description": "A list of full type names of requested contexts, only the requested context will be made available to the backend.", +"items": { +"type": "string" +}, +"type": "array" +}, +"selector": { +"description": "Selects the methods to which this rule applies. Refer to selector for syntax details.", +"type": "string" +} +}, +"type": "object" +}, +"Control": { +"description": "Selects and configures the service controller used by the service. Example: control: environment: servicecontrol.googleapis.com", +"id": "Control", +"properties": { +"environment": { +"description": "The service controller environment to use. If empty, no control plane feature (like quota and billing) will be enabled. The recommended value for most services is servicecontrol.googleapis.com", +"type": "string" +}, +"methodPolicies": { +"description": "Defines policies applying to the API methods of the service.", +"items": { +"$ref": "MethodPolicy" +}, +"type": "array" +} +}, +"type": "object" +}, +"CppSettings": { +"description": "Settings for C++ client libraries.", +"id": "CppSettings", +"properties": { +"common": { +"$ref": "CommonLanguageSettings", +"description": "Some settings." +} +}, +"type": "object" +}, +"CustomError": { +"description": "Customize service error responses. For example, list any service specific protobuf types that can appear in error detail lists of error responses. Example: custom_error: types: - google.foo.v1.CustomError - google.foo.v1.AnotherError", +"id": "CustomError", +"properties": { +"rules": { +"description": "The list of custom error rules that apply to individual API messages. **NOTE:** All service configuration rules follow \"last one wins\" order.", +"items": { +"$ref": "CustomErrorRule" +}, +"type": "array" +}, +"types": { +"description": "The list of custom error detail types, e.g. 'google.foo.v1.CustomError'.", +"items": { +"type": "string" +}, +"type": "array" +} +}, +"type": "object" +}, +"CustomErrorRule": { +"description": "A custom error rule.", +"id": "CustomErrorRule", +"properties": { +"isErrorType": { +"description": "Mark this message as possible payload in error response. Otherwise, objects of this type will be filtered when they appear in error payload.", +"type": "boolean" +}, +"selector": { +"description": "Selects messages to which this rule applies. Refer to selector for syntax details.", +"type": "string" +} +}, +"type": "object" +}, +"CustomHttpPattern": { +"description": "A custom pattern is used for defining custom HTTP verb.", +"id": "CustomHttpPattern", +"properties": { +"kind": { +"description": "The name of this custom HTTP verb.", +"type": "string" +}, +"path": { +"description": "The path matched by this custom verb.", +"type": "string" +} +}, +"type": "object" +}, +"DeleteServiceStrategy": { +"description": "Strategy used to delete a service. This strategy is a placeholder only used by the system generated rollout to delete a service.", +"id": "DeleteServiceStrategy", +"properties": {}, +"type": "object" +}, +"Diagnostic": { +"description": "Represents a diagnostic message (error or warning)", +"id": "Diagnostic", +"properties": { +"kind": { +"description": "The kind of diagnostic information provided.", +"enum": [ +"WARNING", +"ERROR" +], +"enumDescriptions": [ +"Warnings and errors", +"Only errors" +], +"type": "string" +}, +"location": { +"description": "File name and line number of the error or warning.", +"type": "string" +}, +"message": { +"description": "Message describing the error or warning.", +"type": "string" +} +}, +"type": "object" +}, +"Documentation": { +"description": "`Documentation` provides the information for describing a service. Example: documentation: summary: > The Google Calendar API gives access to most calendar features. pages: - name: Overview content: (== include google/foo/overview.md ==) - name: Tutorial content: (== include google/foo/tutorial.md ==) subpages: - name: Java content: (== include google/foo/tutorial_java.md ==) rules: - selector: google.calendar.Calendar.Get description: > ... - selector: google.calendar.Calendar.Put description: > ... Documentation is provided in markdown syntax. In addition to standard markdown features, definition lists, tables and fenced code blocks are supported. Section headers can be provided and are interpreted relative to the section nesting of the context where a documentation fragment is embedded. Documentation from the IDL is merged with documentation defined via the config at normalization time, where documentation provided by config rules overrides IDL provided. A number of constructs specific to the API platform are supported in documentation text. In order to reference a proto element, the following notation can be used: [fully.qualified.proto.name][] To override the display text used for the link, this can be used: [display text][fully.qualified.proto.name] Text can be excluded from doc using the following notation: (-- internal comment --) A few directives are available in documentation. Note that directives must appear on a single line to be properly identified. The `include` directive includes a markdown file from an external source: (== include path/to/file ==) The `resource_for` directive marks a message to be the resource of a collection in REST view. If it is not specified, tools attempt to infer the resource from the operations in a collection: (== resource_for v1.shelves.books ==) The directive `suppress_warning` does not directly affect documentation and is documented together with service config validation.", +"id": "Documentation", +"properties": { +"additionalIamInfo": { +"description": "Optional information about the IAM configuration. This is typically used to link to documentation about a product's IAM roles and permissions.", +"type": "string" +}, +"documentationRootUrl": { +"description": "The URL to the root of documentation.", +"type": "string" +}, +"overview": { +"description": "Declares a single overview page. For example: documentation: summary: ... overview: (== include overview.md ==) This is a shortcut for the following declaration (using pages style): documentation: summary: ... pages: - name: Overview content: (== include overview.md ==) Note: you cannot specify both `overview` field and `pages` field.", +"type": "string" +}, +"pages": { +"description": "The top level pages for the documentation set.", +"items": { +"$ref": "Page" +}, +"type": "array" +}, +"rules": { +"description": "A list of documentation rules that apply to individual API elements. **NOTE:** All service configuration rules follow \"last one wins\" order.", +"items": { +"$ref": "DocumentationRule" +}, +"type": "array" +}, +"sectionOverrides": { +"description": "Specifies section and content to override boilerplate content provided by go/api-docgen. Currently overrides following sections: 1. rest.service.client_libraries", +"items": { +"$ref": "Page" +}, +"type": "array" +}, +"serviceRootUrl": { +"description": "Specifies the service root url if the default one (the service name from the yaml file) is not suitable. This can be seen in any fully specified service urls as well as sections that show a base that other urls are relative to.", +"type": "string" +}, +"summary": { +"description": "A short description of what the service does. The summary must be plain text. It becomes the overview of the service displayed in Google Cloud Console. NOTE: This field is equivalent to the standard field `description`.", +"type": "string" +} +}, +"type": "object" +}, +"DocumentationRule": { +"description": "A documentation rule provides information about individual API elements.", +"id": "DocumentationRule", +"properties": { +"deprecationDescription": { +"description": "Deprecation description of the selected element(s). It can be provided if an element is marked as `deprecated`.", +"type": "string" +}, +"description": { +"description": "Description of the selected proto element (e.g. a message, a method, a 'service' definition, or a field). Defaults to leading & trailing comments taken from the proto source definition of the proto element.", +"type": "string" +}, +"disableReplacementWords": { +"description": "String of comma or space separated case-sensitive words for which method/field name replacement will be disabled by go/api-docgen.", +"type": "string" +}, +"selector": { +"description": "The selector is a comma-separated list of patterns for any element such as a method, a field, an enum value. Each pattern is a qualified name of the element which may end in \"*\", indicating a wildcard. Wildcards are only allowed at the end and for a whole component of the qualified name, i.e. \"foo.*\" is ok, but not \"foo.b*\" or \"foo.*.bar\". A wildcard will match one or more components. To specify a default for all applicable elements, the whole pattern \"*\" is used.", +"type": "string" +} +}, +"type": "object" +}, +"DotnetSettings": { +"description": "Settings for Dotnet client libraries.", +"id": "DotnetSettings", +"properties": { +"common": { +"$ref": "CommonLanguageSettings", +"description": "Some settings." +}, +"forcedNamespaceAliases": { +"description": "Namespaces which must be aliased in snippets due to a known (but non-generator-predictable) naming collision", +"items": { +"type": "string" +}, +"type": "array" +}, +"handwrittenSignatures": { +"description": "Method signatures (in the form \"service.method(signature)\") which are provided separately, so shouldn't be generated. Snippets *calling* these methods are still generated, however.", +"items": { +"type": "string" +}, +"type": "array" +}, +"ignoredResources": { +"description": "List of full resource types to ignore during generation. This is typically used for API-specific Location resources, which should be handled by the generator as if they were actually the common Location resources. Example entry: \"documentai.googleapis.com/Location\"", +"items": { +"type": "string" +}, +"type": "array" +}, +"renamedResources": { +"additionalProperties": { +"type": "string" +}, +"description": "Map from full resource types to the effective short name for the resource. This is used when otherwise resource named from different services would cause naming collisions. Example entry: \"datalabeling.googleapis.com/Dataset\": \"DataLabelingDataset\"", +"type": "object" +}, +"renamedServices": { +"additionalProperties": { +"type": "string" +}, +"description": "Map from original service names to renamed versions. This is used when the default generated types would cause a naming conflict. (Neither name is fully-qualified.) Example: Subscriber to SubscriberServiceApi.", +"type": "object" +} +}, +"type": "object" +}, +"EnableServiceResponse": { +"description": "Operation payload for EnableService method.", +"id": "EnableServiceResponse", +"properties": {}, +"type": "object" +}, +"Endpoint": { +"description": "`Endpoint` describes a network address of a service that serves a set of APIs. It is commonly known as a service endpoint. A service may expose any number of service endpoints, and all service endpoints share the same service definition, such as quota limits and monitoring metrics. Example: type: google.api.Service name: library-example.googleapis.com endpoints: # Declares network address `https://library-example.googleapis.com` # for service `library-example.googleapis.com`. The `https` scheme # is implicit for all service endpoints. Other schemes may be # supported in the future. - name: library-example.googleapis.com allow_cors: false - name: content-staging-library-example.googleapis.com # Allows HTTP OPTIONS calls to be passed to the API frontend, for it # to decide whether the subsequent cross-origin request is allowed # to proceed. allow_cors: true", +"id": "Endpoint", +"properties": { +"aliases": { +"description": "Aliases for this endpoint, these will be served by the same UrlMap as the parent endpoint, and will be provisioned in the GCP stack for the Regional Endpoints.", +"items": { +"type": "string" +}, +"type": "array" +}, +"allowCors": { +"description": "Allowing [CORS](https://en.wikipedia.org/wiki/Cross-origin_resource_sharing), aka cross-domain traffic, would allow the backends served from this endpoint to receive and respond to HTTP OPTIONS requests. The response will be used by the browser to determine whether the subsequent cross-origin request is allowed to proceed.", +"type": "boolean" +}, +"name": { +"description": "The canonical name of this endpoint.", +"type": "string" +}, +"target": { +"description": "The specification of an Internet routable address of API frontend that will handle requests to this [API Endpoint](https://cloud.google.com/apis/design/glossary). It should be either a valid IPv4 address or a fully-qualified domain name. For example, \"8.8.8.8\" or \"myservice.appspot.com\".", +"type": "string" +} +}, +"type": "object" +}, +"Enum": { +"description": "Enum type definition.", +"id": "Enum", +"properties": { +"edition": { +"description": "The source edition string, only valid when syntax is SYNTAX_EDITIONS.", +"type": "string" +}, +"enumvalue": { +"description": "Enum value definitions.", +"items": { +"$ref": "EnumValue" +}, +"type": "array" +}, +"name": { +"description": "Enum type name.", +"type": "string" +}, +"options": { +"description": "Protocol buffer options.", +"items": { +"$ref": "Option" +}, +"type": "array" +}, +"sourceContext": { +"$ref": "SourceContext", +"description": "The source context." +}, +"syntax": { +"description": "The source syntax.", +"enum": [ +"SYNTAX_PROTO2", +"SYNTAX_PROTO3", +"SYNTAX_EDITIONS" +], +"enumDescriptions": [ +"Syntax `proto2`.", +"Syntax `proto3`.", +"Syntax `editions`." +], +"type": "string" +} +}, +"type": "object" +}, +"EnumValue": { +"description": "Enum value definition.", +"id": "EnumValue", +"properties": { +"name": { +"description": "Enum value name.", +"type": "string" +}, +"number": { +"description": "Enum value number.", +"format": "int32", +"type": "integer" +}, +"options": { +"description": "Protocol buffer options.", +"items": { +"$ref": "Option" +}, +"type": "array" +} +}, +"type": "object" +}, +"ExperimentalFeatures": { +"description": "Experimental features to be included during client library generation. These fields will be deprecated once the feature graduates and is enabled by default.", +"id": "ExperimentalFeatures", +"properties": { +"protobufPythonicTypesEnabled": { +"description": "Enables generation of protobuf code using new types that are more Pythonic which are included in `protobuf>=5.29.x`. This feature will be enabled by default 1 month after launching the feature in preview packages.", +"type": "boolean" +}, +"restAsyncIoEnabled": { +"description": "Enables generation of asynchronous REST clients if `rest` transport is enabled. By default, asynchronous REST clients will not be generated. This feature will be enabled by default 1 month after launching the feature in preview packages.", +"type": "boolean" +} +}, +"type": "object" +}, +"Expr": { +"description": "Represents a textual expression in the Common Expression Language (CEL) syntax. CEL is a C-like expression language. The syntax and semantics of CEL are documented at https://github.com/google/cel-spec. Example (Comparison): title: \"Summary size limit\" description: \"Determines if a summary is less than 100 chars\" expression: \"document.summary.size() < 100\" Example (Equality): title: \"Requestor is owner\" description: \"Determines if requestor is the document owner\" expression: \"document.owner == request.auth.claims.email\" Example (Logic): title: \"Public documents\" description: \"Determine whether the document should be publicly visible\" expression: \"document.type != 'private' && document.type != 'internal'\" Example (Data Manipulation): title: \"Notification string\" description: \"Create a notification string with a timestamp.\" expression: \"'New message received at ' + string(document.create_time)\" The exact variables and functions that may be referenced within an expression are determined by the service that evaluates it. See the service documentation for additional information.", +"id": "Expr", +"properties": { +"description": { +"description": "Optional. Description of the expression. This is a longer text which describes the expression, e.g. when hovered over it in a UI.", +"type": "string" +}, +"expression": { +"description": "Textual representation of an expression in Common Expression Language syntax.", +"type": "string" +}, +"location": { +"description": "Optional. String indicating the location of the expression for error reporting, e.g. a file name and a position in the file.", +"type": "string" +}, +"title": { +"description": "Optional. Title for the expression, i.e. a short string describing its purpose. This can be used e.g. in UIs which allow to enter the expression.", +"type": "string" +} +}, +"type": "object" +}, +"Field": { +"description": "A single field of a message type.", +"id": "Field", +"properties": { +"cardinality": { +"description": "The field cardinality.", +"enum": [ +"CARDINALITY_UNKNOWN", +"CARDINALITY_OPTIONAL", +"CARDINALITY_REQUIRED", +"CARDINALITY_REPEATED" +], +"enumDescriptions": [ +"For fields with unknown cardinality.", +"For optional fields.", +"For required fields. Proto2 syntax only.", +"For repeated fields." +], +"type": "string" +}, +"defaultValue": { +"description": "The string value of the default value of this field. Proto2 syntax only.", +"type": "string" +}, +"jsonName": { +"description": "The field JSON name.", +"type": "string" +}, +"kind": { +"description": "The field type.", +"enum": [ +"TYPE_UNKNOWN", +"TYPE_DOUBLE", +"TYPE_FLOAT", +"TYPE_INT64", +"TYPE_UINT64", +"TYPE_INT32", +"TYPE_FIXED64", +"TYPE_FIXED32", +"TYPE_BOOL", +"TYPE_STRING", +"TYPE_GROUP", +"TYPE_MESSAGE", +"TYPE_BYTES", +"TYPE_UINT32", +"TYPE_ENUM", +"TYPE_SFIXED32", +"TYPE_SFIXED64", +"TYPE_SINT32", +"TYPE_SINT64" +], +"enumDescriptions": [ +"Field type unknown.", +"Field type double.", +"Field type float.", +"Field type int64.", +"Field type uint64.", +"Field type int32.", +"Field type fixed64.", +"Field type fixed32.", +"Field type bool.", +"Field type string.", +"Field type group. Proto2 syntax only, and deprecated.", +"Field type message.", +"Field type bytes.", +"Field type uint32.", +"Field type enum.", +"Field type sfixed32.", +"Field type sfixed64.", +"Field type sint32.", +"Field type sint64." +], +"type": "string" +}, +"name": { +"description": "The field name.", +"type": "string" +}, +"number": { +"description": "The field number.", +"format": "int32", +"type": "integer" +}, +"oneofIndex": { +"description": "The index of the field type in `Type.oneofs`, for message or enumeration types. The first type has index 1; zero means the type is not in the list.", +"format": "int32", +"type": "integer" +}, +"options": { +"description": "The protocol buffer options.", +"items": { +"$ref": "Option" +}, +"type": "array" +}, +"packed": { +"description": "Whether to use alternative packed wire representation.", +"type": "boolean" +}, +"typeUrl": { +"description": "The field type URL, without the scheme, for message or enumeration types. Example: `\"type.googleapis.com/google.protobuf.Timestamp\"`.", +"type": "string" +} +}, +"type": "object" +}, +"FieldPolicy": { +"description": "Google API Policy Annotation This message defines a simple API policy annotation that can be used to annotate API request and response message fields with applicable policies. One field may have multiple applicable policies that must all be satisfied before a request can be processed. This policy annotation is used to generate the overall policy that will be used for automatic runtime policy enforcement and documentation generation.", +"id": "FieldPolicy", +"properties": { +"resourcePermission": { +"description": "Specifies the required permission(s) for the resource referred to by the field. It requires the field contains a valid resource reference, and the request must pass the permission checks to proceed. For example, \"resourcemanager.projects.get\".", +"type": "string" +}, +"resourceType": { +"description": "Specifies the resource type for the resource referred to by the field.", +"type": "string" +}, +"selector": { +"description": "Selects one or more request or response message fields to apply this `FieldPolicy`. When a `FieldPolicy` is used in proto annotation, the selector must be left as empty. The service config generator will automatically fill the correct value. When a `FieldPolicy` is used in service config, the selector must be a comma-separated string with valid request or response field paths, such as \"foo.bar\" or \"foo.bar,foo.baz\".", +"type": "string" +} +}, +"type": "object" +}, +"FlowErrorDetails": { +"description": "Encapsulation of flow-specific error details for debugging. Used as a details field on an error Status, not intended for external use.", +"id": "FlowErrorDetails", +"properties": { +"exceptionType": { +"description": "The type of exception (as a class name).", +"type": "string" +}, +"flowStepId": { +"description": "The step that failed.", +"type": "string" +} +}, +"type": "object" +}, +"GenerateConfigReportRequest": { +"description": "Request message for GenerateConfigReport method.", +"id": "GenerateConfigReportRequest", +"properties": { +"newConfig": { +"additionalProperties": { +"description": "Properties of the object. Contains field @type with type URL.", +"type": "any" +}, +"description": "Required. Service configuration for which we want to generate the report. For this version of API, the supported types are google.api.servicemanagement.v1.ConfigRef, google.api.servicemanagement.v1.ConfigSource, and google.api.Service", +"type": "object" +}, +"oldConfig": { +"additionalProperties": { +"description": "Properties of the object. Contains field @type with type URL.", +"type": "any" +}, +"description": "Optional. Service configuration against which the comparison will be done. For this version of API, the supported types are google.api.servicemanagement.v1.ConfigRef, google.api.servicemanagement.v1.ConfigSource, and google.api.Service", +"type": "object" +} +}, +"type": "object" +}, +"GenerateConfigReportResponse": { +"description": "Response message for GenerateConfigReport method.", +"id": "GenerateConfigReportResponse", +"properties": { +"changeReports": { +"description": "list of ChangeReport, each corresponding to comparison between two service configurations.", +"items": { +"$ref": "ChangeReport" +}, +"type": "array" +}, +"diagnostics": { +"description": "Errors / Linter warnings associated with the service definition this report belongs to.", +"items": { +"$ref": "Diagnostic" +}, +"type": "array" +}, +"id": { +"description": "ID of the service configuration this report belongs to.", +"type": "string" +}, +"serviceName": { +"description": "Name of the service this report belongs to.", +"type": "string" +} +}, +"type": "object" +}, +"GetIamPolicyRequest": { +"description": "Request message for `GetIamPolicy` method.", +"id": "GetIamPolicyRequest", +"properties": { +"options": { +"$ref": "GetPolicyOptions", +"description": "OPTIONAL: A `GetPolicyOptions` object for specifying options to `GetIamPolicy`." +} +}, +"type": "object" +}, +"GetPolicyOptions": { +"description": "Encapsulates settings provided to GetIamPolicy.", +"id": "GetPolicyOptions", +"properties": { +"requestedPolicyVersion": { +"description": "Optional. The maximum policy version that will be used to format the policy. Valid values are 0, 1, and 3. Requests specifying an invalid value will be rejected. Requests for policies with any conditional role bindings must specify version 3. Policies with no conditional role bindings may specify any valid value or leave the field unset. The policy in the response might use the policy version that you specified, or it might use a lower policy version. For example, if you specify version 3, but the policy has no conditional role bindings, the response uses version 1. To learn which resources support conditions in their IAM policies, see the [IAM documentation](https://cloud.google.com/iam/help/conditions/resource-policies).", +"format": "int32", +"type": "integer" +} +}, +"type": "object" +}, +"GoSettings": { +"description": "Settings for Go client libraries.", +"id": "GoSettings", +"properties": { +"common": { +"$ref": "CommonLanguageSettings", +"description": "Some settings." +}, +"renamedServices": { +"additionalProperties": { +"type": "string" +}, +"description": "Map of service names to renamed services. Keys are the package relative service names and values are the name to be used for the service client and call options. publishing: go_settings: renamed_services: Publisher: TopicAdmin", +"type": "object" +} +}, +"type": "object" +}, +"Http": { +"description": "Defines the HTTP configuration for an API service. It contains a list of HttpRule, each specifying the mapping of an RPC method to one or more HTTP REST API methods.", +"id": "Http", +"properties": { +"fullyDecodeReservedExpansion": { +"description": "When set to true, URL path parameters will be fully URI-decoded except in cases of single segment matches in reserved expansion, where \"%2F\" will be left encoded. The default behavior is to not decode RFC 6570 reserved characters in multi segment matches.", +"type": "boolean" +}, +"rules": { +"description": "A list of HTTP configuration rules that apply to individual API methods. **NOTE:** All service configuration rules follow \"last one wins\" order.", +"items": { +"$ref": "HttpRule" +}, +"type": "array" +} +}, +"type": "object" +}, +"HttpRule": { +"description": "gRPC Transcoding gRPC Transcoding is a feature for mapping between a gRPC method and one or more HTTP REST endpoints. It allows developers to build a single API service that supports both gRPC APIs and REST APIs. Many systems, including [Google APIs](https://github.com/googleapis/googleapis), [Cloud Endpoints](https://cloud.google.com/endpoints), [gRPC Gateway](https://github.com/grpc-ecosystem/grpc-gateway), and [Envoy](https://github.com/envoyproxy/envoy) proxy support this feature and use it for large scale production services. `HttpRule` defines the schema of the gRPC/REST mapping. The mapping specifies how different portions of the gRPC request message are mapped to the URL path, URL query parameters, and HTTP request body. It also controls how the gRPC response message is mapped to the HTTP response body. `HttpRule` is typically specified as an `google.api.http` annotation on the gRPC method. Each mapping specifies a URL path template and an HTTP method. The path template may refer to one or more fields in the gRPC request message, as long as each field is a non-repeated field with a primitive (non-message) type. The path template controls how fields of the request message are mapped to the URL path. Example: service Messaging { rpc GetMessage(GetMessageRequest) returns (Message) { option (google.api.http) = { get: \"/v1/{name=messages/*}\" }; } } message GetMessageRequest { string name = 1; // Mapped to URL path. } message Message { string text = 1; // The resource content. } This enables an HTTP REST to gRPC mapping as below: - HTTP: `GET /v1/messages/123456` - gRPC: `GetMessage(name: \"messages/123456\")` Any fields in the request message which are not bound by the path template automatically become HTTP query parameters if there is no HTTP request body. For example: service Messaging { rpc GetMessage(GetMessageRequest) returns (Message) { option (google.api.http) = { get:\"/v1/messages/{message_id}\" }; } } message GetMessageRequest { message SubMessage { string subfield = 1; } string message_id = 1; // Mapped to URL path. int64 revision = 2; // Mapped to URL query parameter `revision`. SubMessage sub = 3; // Mapped to URL query parameter `sub.subfield`. } This enables a HTTP JSON to RPC mapping as below: - HTTP: `GET /v1/messages/123456?revision=2&sub.subfield=foo` - gRPC: `GetMessage(message_id: \"123456\" revision: 2 sub: SubMessage(subfield: \"foo\"))` Note that fields which are mapped to URL query parameters must have a primitive type or a repeated primitive type or a non-repeated message type. In the case of a repeated type, the parameter can be repeated in the URL as `...?param=A¶m=B`. In the case of a message type, each field of the message is mapped to a separate parameter, such as `...?foo.a=A&foo.b=B&foo.c=C`. For HTTP methods that allow a request body, the `body` field specifies the mapping. Consider a REST update method on the message resource collection: service Messaging { rpc UpdateMessage(UpdateMessageRequest) returns (Message) { option (google.api.http) = { patch: \"/v1/messages/{message_id}\" body: \"message\" }; } } message UpdateMessageRequest { string message_id = 1; // mapped to the URL Message message = 2; // mapped to the body } The following HTTP JSON to RPC mapping is enabled, where the representation of the JSON in the request body is determined by protos JSON encoding: - HTTP: `PATCH /v1/messages/123456 { \"text\": \"Hi!\" }` - gRPC: `UpdateMessage(message_id: \"123456\" message { text: \"Hi!\" })` The special name `*` can be used in the body mapping to define that every field not bound by the path template should be mapped to the request body. This enables the following alternative definition of the update method: service Messaging { rpc UpdateMessage(Message) returns (Message) { option (google.api.http) = { patch: \"/v1/messages/{message_id}\" body: \"*\" }; } } message Message { string message_id = 1; string text = 2; } The following HTTP JSON to RPC mapping is enabled: - HTTP: `PATCH /v1/messages/123456 { \"text\": \"Hi!\" }` - gRPC: `UpdateMessage(message_id: \"123456\" text: \"Hi!\")` Note that when using `*` in the body mapping, it is not possible to have HTTP parameters, as all fields not bound by the path end in the body. This makes this option more rarely used in practice when defining REST APIs. The common usage of `*` is in custom methods which don't use the URL at all for transferring data. It is possible to define multiple HTTP methods for one RPC by using the `additional_bindings` option. Example: service Messaging { rpc GetMessage(GetMessageRequest) returns (Message) { option (google.api.http) = { get: \"/v1/messages/{message_id}\" additional_bindings { get: \"/v1/users/{user_id}/messages/{message_id}\" } }; } } message GetMessageRequest { string message_id = 1; string user_id = 2; } This enables the following two alternative HTTP JSON to RPC mappings: - HTTP: `GET /v1/messages/123456` - gRPC: `GetMessage(message_id: \"123456\")` - HTTP: `GET /v1/users/me/messages/123456` - gRPC: `GetMessage(user_id: \"me\" message_id: \"123456\")` Rules for HTTP mapping 1. Leaf request fields (recursive expansion nested messages in the request message) are classified into three categories: - Fields referred by the path template. They are passed via the URL path. - Fields referred by the HttpRule.body. They are passed via the HTTP request body. - All other fields are passed via the URL query parameters, and the parameter name is the field path in the request message. A repeated field can be represented as multiple query parameters under the same name. 2. If HttpRule.body is \"*\", there is no URL query parameter, all fields are passed via URL path and HTTP request body. 3. If HttpRule.body is omitted, there is no HTTP request body, all fields are passed via URL path and URL query parameters. Path template syntax Template = \"/\" Segments [ Verb ] ; Segments = Segment { \"/\" Segment } ; Segment = \"*\" | \"**\" | LITERAL | Variable ; Variable = \"{\" FieldPath [ \"=\" Segments ] \"}\" ; FieldPath = IDENT { \".\" IDENT } ; Verb = \":\" LITERAL ; The syntax `*` matches a single URL path segment. The syntax `**` matches zero or more URL path segments, which must be the last part of the URL path except the `Verb`. The syntax `Variable` matches part of the URL path as specified by its template. A variable template must not contain other variables. If a variable matches a single path segment, its template may be omitted, e.g. `{var}` is equivalent to `{var=*}`. The syntax `LITERAL` matches literal text in the URL path. If the `LITERAL` contains any reserved character, such characters should be percent-encoded before the matching. If a variable contains exactly one path segment, such as `\"{var}\"` or `\"{var=*}\"`, when such a variable is expanded into a URL path on the client side, all characters except `[-_.~0-9a-zA-Z]` are percent-encoded. The server side does the reverse decoding. Such variables show up in the [Discovery Document](https://developers.google.com/discovery/v1/reference/apis) as `{var}`. If a variable contains multiple path segments, such as `\"{var=foo/*}\"` or `\"{var=**}\"`, when such a variable is expanded into a URL path on the client side, all characters except `[-_.~/0-9a-zA-Z]` are percent-encoded. The server side does the reverse decoding, except \"%2F\" and \"%2f\" are left unchanged. Such variables show up in the [Discovery Document](https://developers.google.com/discovery/v1/reference/apis) as `{+var}`. Using gRPC API Service Configuration gRPC API Service Configuration (service config) is a configuration language for configuring a gRPC service to become a user-facing product. The service config is simply the YAML representation of the `google.api.Service` proto message. As an alternative to annotating your proto file, you can configure gRPC transcoding in your service config YAML files. You do this by specifying a `HttpRule` that maps the gRPC method to a REST endpoint, achieving the same effect as the proto annotation. This can be particularly useful if you have a proto that is reused in multiple services. Note that any transcoding specified in the service config will override any matching transcoding configuration in the proto. The following example selects a gRPC method and applies an `HttpRule` to it: http: rules: - selector: example.v1.Messaging.GetMessage get: /v1/messages/{message_id}/{sub.subfield} Special notes When gRPC Transcoding is used to map a gRPC to JSON REST endpoints, the proto to JSON conversion must follow the [proto3 specification](https://developers.google.com/protocol-buffers/docs/proto3#json). While the single segment variable follows the semantics of [RFC 6570](https://tools.ietf.org/html/rfc6570) Section 3.2.2 Simple String Expansion, the multi segment variable **does not** follow RFC 6570 Section 3.2.3 Reserved Expansion. The reason is that the Reserved Expansion does not expand special characters like `?` and `#`, which would lead to invalid URLs. As the result, gRPC Transcoding uses a custom encoding for multi segment variables. The path variables **must not** refer to any repeated or mapped field, because client libraries are not capable of handling such variable expansion. The path variables **must not** capture the leading \"/\" character. The reason is that the most common use case \"{var}\" does not capture the leading \"/\" character. For consistency, all path variables must share the same behavior. Repeated message fields must not be mapped to URL query parameters, because no client library can support such complicated mapping. If an API needs to use a JSON array for request or response body, it can map the request or response body to a repeated field. However, some gRPC Transcoding implementations may not support this feature.", +"id": "HttpRule", +"properties": { +"additionalBindings": { +"description": "Additional HTTP bindings for the selector. Nested bindings must not contain an `additional_bindings` field themselves (that is, the nesting may only be one level deep).", +"items": { +"$ref": "HttpRule" +}, +"type": "array" +}, +"body": { +"description": "The name of the request field whose value is mapped to the HTTP request body, or `*` for mapping all request fields not captured by the path pattern to the HTTP body, or omitted for not having any HTTP request body. NOTE: the referred field must be present at the top-level of the request message type.", +"type": "string" +}, +"custom": { +"$ref": "CustomHttpPattern", +"description": "The custom pattern is used for specifying an HTTP method that is not included in the `pattern` field, such as HEAD, or \"*\" to leave the HTTP method unspecified for this rule. The wild-card rule is useful for services that provide content to Web (HTML) clients." +}, +"delete": { +"description": "Maps to HTTP DELETE. Used for deleting a resource.", +"type": "string" +}, +"get": { +"description": "Maps to HTTP GET. Used for listing and getting information about resources.", +"type": "string" +}, +"patch": { +"description": "Maps to HTTP PATCH. Used for updating a resource.", +"type": "string" +}, +"post": { +"description": "Maps to HTTP POST. Used for creating a resource or performing an action.", +"type": "string" +}, +"put": { +"description": "Maps to HTTP PUT. Used for replacing a resource.", +"type": "string" +}, +"responseBody": { +"description": "Optional. The name of the response field whose value is mapped to the HTTP response body. When omitted, the entire response message will be used as the HTTP response body. NOTE: The referred field must be present at the top-level of the response message type.", +"type": "string" +}, +"selector": { +"description": "Selects a method to which this rule applies. Refer to selector for syntax details.", +"type": "string" +} +}, +"type": "object" +}, +"JavaSettings": { +"description": "Settings for Java client libraries.", +"id": "JavaSettings", +"properties": { +"common": { +"$ref": "CommonLanguageSettings", +"description": "Some settings." +}, +"libraryPackage": { +"description": "The package name to use in Java. Clobbers the java_package option set in the protobuf. This should be used **only** by APIs who have already set the language_settings.java.package_name\" field in gapic.yaml. API teams should use the protobuf java_package option where possible. Example of a YAML configuration:: publishing: java_settings: library_package: com.google.cloud.pubsub.v1", +"type": "string" +}, +"serviceClassNames": { +"additionalProperties": { +"type": "string" +}, +"description": "Configure the Java class name to use instead of the service's for its corresponding generated GAPIC client. Keys are fully-qualified service names as they appear in the protobuf (including the full the language_settings.java.interface_names\" field in gapic.yaml. API teams should otherwise use the service name as it appears in the protobuf. Example of a YAML configuration:: publishing: java_settings: service_class_names: - google.pubsub.v1.Publisher: TopicAdmin - google.pubsub.v1.Subscriber: SubscriptionAdmin", +"type": "object" +} +}, +"type": "object" +}, +"JwtLocation": { +"description": "Specifies a location to extract JWT from an API request.", +"id": "JwtLocation", +"properties": { +"cookie": { +"description": "Specifies cookie name to extract JWT token.", +"type": "string" +}, +"header": { +"description": "Specifies HTTP header name to extract JWT token.", +"type": "string" +}, +"query": { +"description": "Specifies URL query parameter name to extract JWT token.", +"type": "string" +}, +"valuePrefix": { +"description": "The value prefix. The value format is \"value_prefix{token}\" Only applies to \"in\" header type. Must be empty for \"in\" query type. If not empty, the header value has to match (case sensitive) this prefix. If not matched, JWT will not be extracted. If matched, JWT will be extracted after the prefix is removed. For example, for \"Authorization: Bearer {JWT}\", value_prefix=\"Bearer \" with a space at the end.", +"type": "string" +} +}, +"type": "object" +}, +"LabelDescriptor": { +"description": "A description of a label.", +"id": "LabelDescriptor", +"properties": { +"description": { +"description": "A human-readable description for the label.", +"type": "string" +}, +"key": { +"description": "The label key.", +"type": "string" +}, +"valueType": { +"description": "The type of data that can be assigned to the label.", +"enum": [ +"STRING", +"BOOL", +"INT64" +], +"enumDescriptions": [ +"A variable-length string. This is the default.", +"Boolean; true or false.", +"A 64-bit signed integer." +], +"type": "string" +} +}, +"type": "object" +}, +"ListOperationsResponse": { +"description": "The response message for Operations.ListOperations.", +"id": "ListOperationsResponse", +"properties": { +"nextPageToken": { +"description": "The standard List next-page token.", +"type": "string" +}, +"operations": { +"description": "A list of operations that matches the specified filter in the request.", +"items": { +"$ref": "Operation" +}, +"type": "array" +} +}, +"type": "object" +}, +"ListServiceConfigsResponse": { +"description": "Response message for ListServiceConfigs method.", +"id": "ListServiceConfigsResponse", +"properties": { +"nextPageToken": { +"description": "The token of the next page of results.", +"type": "string" +}, +"serviceConfigs": { +"description": "The list of service configuration resources.", +"items": { +"$ref": "Service" +}, +"type": "array" +} +}, +"type": "object" +}, +"ListServiceRolloutsResponse": { +"description": "Response message for ListServiceRollouts method.", +"id": "ListServiceRolloutsResponse", +"properties": { +"nextPageToken": { +"description": "The token of the next page of results.", +"type": "string" +}, +"rollouts": { +"description": "The list of rollout resources.", +"items": { +"$ref": "Rollout" +}, +"type": "array" +} +}, +"type": "object" +}, +"ListServicesResponse": { +"description": "Response message for `ListServices` method.", +"id": "ListServicesResponse", +"properties": { +"nextPageToken": { +"description": "Token that can be passed to `ListServices` to resume a paginated query.", +"type": "string" +}, +"services": { +"description": "The returned services will only have the name field set.", +"items": { +"$ref": "ManagedService" +}, +"type": "array" +} +}, +"type": "object" +}, +"LogDescriptor": { +"description": "A description of a log type. Example in YAML format: - name: library.googleapis.com/activity_history description: The history of borrowing and returning library items. display_name: Activity labels: - key: /customer_id description: Identifier of a library customer", +"id": "LogDescriptor", +"properties": { +"description": { +"description": "A human-readable description of this log. This information appears in the documentation and can contain details.", +"type": "string" +}, +"displayName": { +"description": "The human-readable name for this log. This information appears on the user interface and should be concise.", +"type": "string" +}, +"labels": { +"description": "The set of labels that are available to describe a specific log entry. Runtime requests that contain labels not specified here are considered invalid.", +"items": { +"$ref": "LabelDescriptor" +}, +"type": "array" +}, +"name": { +"description": "The name of the log. It must be less than 512 characters long and can include the following characters: upper- and lower-case alphanumeric characters [A-Za-z0-9], and punctuation characters including slash, underscore, hyphen, period [/_-.].", +"type": "string" +} +}, +"type": "object" +}, +"Logging": { +"description": "Logging configuration of the service. The following example shows how to configure logs to be sent to the producer and consumer projects. In the example, the `activity_history` log is sent to both the producer and consumer projects, whereas the `purchase_history` log is only sent to the producer project. monitored_resources: - type: library.googleapis.com/branch labels: - key: /city description: The city where the library branch is located in. - key: /name description: The name of the branch. logs: - name: activity_history labels: - key: /customer_id - name: purchase_history logging: producer_destinations: - monitored_resource: library.googleapis.com/branch logs: - activity_history - purchase_history consumer_destinations: - monitored_resource: library.googleapis.com/branch logs: - activity_history", +"id": "Logging", +"properties": { +"consumerDestinations": { +"description": "Logging configurations for sending logs to the consumer project. There can be multiple consumer destinations, each one must have a different monitored resource type. A log can be used in at most one consumer destination.", +"items": { +"$ref": "LoggingDestination" +}, +"type": "array" +}, +"producerDestinations": { +"description": "Logging configurations for sending logs to the producer project. There can be multiple producer destinations, each one must have a different monitored resource type. A log can be used in at most one producer destination.", +"items": { +"$ref": "LoggingDestination" +}, +"type": "array" +} +}, +"type": "object" +}, +"LoggingDestination": { +"description": "Configuration of a specific logging destination (the producer project or the consumer project).", +"id": "LoggingDestination", +"properties": { +"logs": { +"description": "Names of the logs to be sent to this destination. Each name must be defined in the Service.logs section. If the log name is not a domain scoped name, it will be automatically prefixed with the service name followed by \"/\".", +"items": { +"type": "string" +}, +"type": "array" +}, +"monitoredResource": { +"description": "The monitored resource type. The type must be defined in the Service.monitored_resources section.", +"type": "string" +} +}, +"type": "object" +}, +"LongRunning": { +"description": "Describes settings to use when generating API methods that use the long-running operation pattern. All default values below are from those used in the client library generators (e.g. [Java](https://github.com/googleapis/gapic-generator-java/blob/04c2faa191a9b5a10b92392fe8482279c4404803/src/main/java/com/google/api/generator/gapic/composer/common/RetrySettingsComposer.java)).", +"id": "LongRunning", +"properties": { +"initialPollDelay": { +"description": "Initial delay after which the first poll request will be made. Default value: 5 seconds.", +"format": "google-duration", +"type": "string" +}, +"maxPollDelay": { +"description": "Maximum time between two subsequent poll requests. Default value: 45 seconds.", +"format": "google-duration", +"type": "string" +}, +"pollDelayMultiplier": { +"description": "Multiplier to gradually increase delay between subsequent polls until it reaches max_poll_delay. Default value: 1.5.", +"format": "float", +"type": "number" +}, +"totalPollTimeout": { +"description": "Total polling timeout. Default value: 5 minutes.", +"format": "google-duration", +"type": "string" +} +}, +"type": "object" +}, +"ManagedService": { +"description": "The full representation of a Service that is managed by Google Service Management.", +"id": "ManagedService", +"properties": { +"producerProjectId": { +"description": "ID of the project that produces and owns this service.", +"type": "string" +}, +"serviceName": { +"description": "The name of the service. See the [overview](https://cloud.google.com/service-infrastructure/docs/overview) for naming requirements.", +"type": "string" +} +}, +"type": "object" +}, +"Method": { +"description": "Method represents a method of an API interface.", +"id": "Method", +"properties": { +"name": { +"description": "The simple name of this method.", +"type": "string" +}, +"options": { +"description": "Any metadata attached to the method.", +"items": { +"$ref": "Option" +}, +"type": "array" +}, +"requestStreaming": { +"description": "If true, the request is streamed.", +"type": "boolean" +}, +"requestTypeUrl": { +"description": "A URL of the input message type.", +"type": "string" +}, +"responseStreaming": { +"description": "If true, the response is streamed.", +"type": "boolean" +}, +"responseTypeUrl": { +"description": "The URL of the output message type.", +"type": "string" +}, +"syntax": { +"description": "The source syntax of this method.", +"enum": [ +"SYNTAX_PROTO2", +"SYNTAX_PROTO3", +"SYNTAX_EDITIONS" +], +"enumDescriptions": [ +"Syntax `proto2`.", +"Syntax `proto3`.", +"Syntax `editions`." +], +"type": "string" +} +}, +"type": "object" +}, +"MethodPolicy": { +"description": "Defines policies applying to an RPC method.", +"id": "MethodPolicy", +"properties": { +"requestPolicies": { +"description": "Policies that are applicable to the request message.", +"items": { +"$ref": "FieldPolicy" +}, +"type": "array" +}, +"selector": { +"description": "Selects a method to which these policies should be enforced, for example, \"google.pubsub.v1.Subscriber.CreateSubscription\". Refer to selector for syntax details. NOTE: This field must not be set in the proto annotation. It will be automatically filled by the service config compiler .", +"type": "string" +} +}, +"type": "object" +}, +"MethodSettings": { +"description": "Describes the generator configuration for a method.", +"id": "MethodSettings", +"properties": { +"autoPopulatedFields": { +"description": "List of top-level fields of the request message, that should be automatically populated by the client libraries based on their (google.api.field_info).format. Currently supported format: UUID4. Example of a YAML configuration: publishing: method_settings: - selector: google.example.v1.ExampleService.CreateExample auto_populated_fields: - request_id", +"items": { +"type": "string" +}, +"type": "array" +}, +"longRunning": { +"$ref": "LongRunning", +"description": "Describes settings to use for long-running operations when generating API methods for RPCs. Complements RPCs that use the annotations in google/longrunning/operations.proto. Example of a YAML configuration:: publishing: method_settings: - selector: google.cloud.speech.v2.Speech.BatchRecognize long_running: initial_poll_delay: 60s # 1 minute poll_delay_multiplier: 1.5 max_poll_delay: 360s # 6 minutes total_poll_timeout: 54000s # 90 minutes" +}, +"selector": { +"description": "The fully qualified name of the method, for which the options below apply. This is used to find the method to apply the options. Example: publishing: method_settings: - selector: google.storage.control.v2.StorageControl.CreateFolder # method settings for CreateFolder...", +"type": "string" +} +}, +"type": "object" +}, +"MetricDescriptor": { +"description": "Defines a metric type and its schema. Once a metric descriptor is created, deleting or altering it stops data collection and makes the metric type's existing data unusable. ", +"id": "MetricDescriptor", +"properties": { +"description": { +"description": "A detailed description of the metric, which can be used in documentation.", +"type": "string" +}, +"displayName": { +"description": "A concise name for the metric, which can be displayed in user interfaces. Use sentence case without an ending period, for example \"Request count\". This field is optional but it is recommended to be set for any metrics associated with user-visible concepts, such as Quota.", +"type": "string" +}, +"labels": { +"description": "The set of labels that can be used to describe a specific instance of this metric type. For example, the `appengine.googleapis.com/http/server/response_latencies` metric type has a label for the HTTP response code, `response_code`, so you can look at latencies for successful responses or just for responses that failed.", +"items": { +"$ref": "LabelDescriptor" +}, +"type": "array" +}, +"launchStage": { +"description": "Optional. The launch stage of the metric definition.", +"enum": [ +"LAUNCH_STAGE_UNSPECIFIED", +"UNIMPLEMENTED", +"PRELAUNCH", +"EARLY_ACCESS", +"ALPHA", +"BETA", +"GA", +"DEPRECATED" +], +"enumDescriptions": [ +"Do not use this default value.", +"The feature is not yet implemented. Users can not use it.", +"Prelaunch features are hidden from users and are only visible internally.", +"Early Access features are limited to a closed group of testers. To use these features, you must sign up in advance and sign a Trusted Tester agreement (which includes confidentiality provisions). These features may be unstable, changed in backward-incompatible ways, and are not guaranteed to be released.", +"Alpha is a limited availability test for releases before they are cleared for widespread use. By Alpha, all significant design issues are resolved and we are in the process of verifying functionality. Alpha customers need to apply for access, agree to applicable terms, and have their projects allowlisted. Alpha releases don't have to be feature complete, no SLAs are provided, and there are no technical support obligations, but they will be far enough along that customers can actually use them in test environments or for limited-use tests -- just like they would in normal production cases.", +"Beta is the point at which we are ready to open a release for any customer to use. There are no SLA or technical support obligations in a Beta release. Products will be complete from a feature perspective, but may have some open outstanding issues. Beta releases are suitable for limited production use cases.", +"GA features are open to all developers and are considered stable and fully qualified for production use.", +"Deprecated features are scheduled to be shut down and removed. For more information, see the \"Deprecation Policy\" section of our [Terms of Service](https://cloud.google.com/terms/) and the [Google Cloud Platform Subject to the Deprecation Policy](https://cloud.google.com/terms/deprecation) documentation." +], +"type": "string" +}, +"metadata": { +"$ref": "MetricDescriptorMetadata", +"description": "Optional. Metadata which can be used to guide usage of the metric." +}, +"metricKind": { +"description": "Whether the metric records instantaneous values, changes to a value, etc. Some combinations of `metric_kind` and `value_type` might not be supported.", +"enum": [ +"METRIC_KIND_UNSPECIFIED", +"GAUGE", +"DELTA", +"CUMULATIVE" +], +"enumDescriptions": [ +"Do not use this default value.", +"An instantaneous measurement of a value.", +"The change in a value during a time interval.", +"A value accumulated over a time interval. Cumulative measurements in a time series should have the same start time and increasing end times, until an event resets the cumulative value to zero and sets a new start time for the following points." +], +"type": "string" +}, +"monitoredResourceTypes": { +"description": "Read-only. If present, then a time series, which is identified partially by a metric type and a MonitoredResourceDescriptor, that is associated with this metric type can only be associated with one of the monitored resource types listed here.", +"items": { +"type": "string" +}, +"type": "array" +}, +"name": { +"description": "The resource name of the metric descriptor.", +"type": "string" +}, +"type": { +"description": "The metric type, including its DNS name prefix. The type is not URL-encoded. All user-defined metric types have the DNS name `custom.googleapis.com` or `external.googleapis.com`. Metric types should use a natural hierarchical grouping. For example: \"custom.googleapis.com/invoice/paid/amount\" \"external.googleapis.com/prometheus/up\" \"appengine.googleapis.com/http/server/response_latencies\"", +"type": "string" +}, +"unit": { +"description": "The units in which the metric value is reported. It is only applicable if the `value_type` is `INT64`, `DOUBLE`, or `DISTRIBUTION`. The `unit` defines the representation of the stored metric values. Different systems might scale the values to be more easily displayed (so a value of `0.02kBy` _might_ be displayed as `20By`, and a value of `3523kBy` _might_ be displayed as `3.5MBy`). However, if the `unit` is `kBy`, then the value of the metric is always in thousands of bytes, no matter how it might be displayed. If you want a custom metric to record the exact number of CPU-seconds used by a job, you can create an `INT64 CUMULATIVE` metric whose `unit` is `s{CPU}` (or equivalently `1s{CPU}` or just `s`). If the job uses 12,005 CPU-seconds, then the value is written as `12005`. Alternatively, if you want a custom metric to record data in a more granular way, you can create a `DOUBLE CUMULATIVE` metric whose `unit` is `ks{CPU}`, and then write the value `12.005` (which is `12005/1000`), or use `Kis{CPU}` and write `11.723` (which is `12005/1024`). The supported units are a subset of [The Unified Code for Units of Measure](https://unitsofmeasure.org/ucum.html) standard: **Basic units (UNIT)** * `bit` bit * `By` byte * `s` second * `min` minute * `h` hour * `d` day * `1` dimensionless **Prefixes (PREFIX)** * `k` kilo (10^3) * `M` mega (10^6) * `G` giga (10^9) * `T` tera (10^12) * `P` peta (10^15) * `E` exa (10^18) * `Z` zetta (10^21) * `Y` yotta (10^24) * `m` milli (10^-3) * `u` micro (10^-6) * `n` nano (10^-9) * `p` pico (10^-12) * `f` femto (10^-15) * `a` atto (10^-18) * `z` zepto (10^-21) * `y` yocto (10^-24) * `Ki` kibi (2^10) * `Mi` mebi (2^20) * `Gi` gibi (2^30) * `Ti` tebi (2^40) * `Pi` pebi (2^50) **Grammar** The grammar also includes these connectors: * `/` division or ratio (as an infix operator). For examples, `kBy/{email}` or `MiBy/10ms` (although you should almost never have `/s` in a metric `unit`; rates should always be computed at query time from the underlying cumulative or delta value). * `.` multiplication or composition (as an infix operator). For examples, `GBy.d` or `k{watt}.h`. The grammar for a unit is as follows: Expression = Component { \".\" Component } { \"/\" Component } ; Component = ( [ PREFIX ] UNIT | \"%\" ) [ Annotation ] | Annotation | \"1\" ; Annotation = \"{\" NAME \"}\" ; Notes: * `Annotation` is just a comment if it follows a `UNIT`. If the annotation is used alone, then the unit is equivalent to `1`. For examples, `{request}/s == 1/s`, `By{transmitted}/s == By/s`. * `NAME` is a sequence of non-blank printable ASCII characters not containing `{` or `}`. * `1` represents a unitary [dimensionless unit](https://en.wikipedia.org/wiki/Dimensionless_quantity) of 1, such as in `1/s`. It is typically used when none of the basic units are appropriate. For example, \"new users per day\" can be represented as `1/d` or `{new-users}/d` (and a metric value `5` would mean \"5 new users). Alternatively, \"thousands of page views per day\" would be represented as `1000/d` or `k1/d` or `k{page_views}/d` (and a metric value of `5.3` would mean \"5300 page views per day\"). * `%` represents dimensionless value of 1/100, and annotates values giving a percentage (so the metric values are typically in the range of 0..100, and a metric value `3` means \"3 percent\"). * `10^2.%` indicates a metric contains a ratio, typically in the range 0..1, that will be multiplied by 100 and displayed as a percentage (so a metric value `0.03` means \"3 percent\").", +"type": "string" +}, +"valueType": { +"description": "Whether the measurement is an integer, a floating-point number, etc. Some combinations of `metric_kind` and `value_type` might not be supported.", +"enum": [ +"VALUE_TYPE_UNSPECIFIED", +"BOOL", +"INT64", +"DOUBLE", +"STRING", +"DISTRIBUTION", +"MONEY" +], +"enumDescriptions": [ +"Do not use this default value.", +"The value is a boolean. This value type can be used only if the metric kind is `GAUGE`.", +"The value is a signed 64-bit integer.", +"The value is a double precision floating point number.", +"The value is a text string. This value type can be used only if the metric kind is `GAUGE`.", +"The value is a `Distribution`.", +"The value is money." +], +"type": "string" +} +}, +"type": "object" +}, +"MetricDescriptorMetadata": { +"description": "Additional annotations that can be used to guide the usage of a metric.", +"id": "MetricDescriptorMetadata", +"properties": { +"ingestDelay": { +"description": "The delay of data points caused by ingestion. Data points older than this age are guaranteed to be ingested and available to be read, excluding data loss due to errors.", +"format": "google-duration", +"type": "string" +}, +"launchStage": { +"deprecated": true, +"description": "Deprecated. Must use the MetricDescriptor.launch_stage instead.", +"enum": [ +"LAUNCH_STAGE_UNSPECIFIED", +"UNIMPLEMENTED", +"PRELAUNCH", +"EARLY_ACCESS", +"ALPHA", +"BETA", +"GA", +"DEPRECATED" +], +"enumDescriptions": [ +"Do not use this default value.", +"The feature is not yet implemented. Users can not use it.", +"Prelaunch features are hidden from users and are only visible internally.", +"Early Access features are limited to a closed group of testers. To use these features, you must sign up in advance and sign a Trusted Tester agreement (which includes confidentiality provisions). These features may be unstable, changed in backward-incompatible ways, and are not guaranteed to be released.", +"Alpha is a limited availability test for releases before they are cleared for widespread use. By Alpha, all significant design issues are resolved and we are in the process of verifying functionality. Alpha customers need to apply for access, agree to applicable terms, and have their projects allowlisted. Alpha releases don't have to be feature complete, no SLAs are provided, and there are no technical support obligations, but they will be far enough along that customers can actually use them in test environments or for limited-use tests -- just like they would in normal production cases.", +"Beta is the point at which we are ready to open a release for any customer to use. There are no SLA or technical support obligations in a Beta release. Products will be complete from a feature perspective, but may have some open outstanding issues. Beta releases are suitable for limited production use cases.", +"GA features are open to all developers and are considered stable and fully qualified for production use.", +"Deprecated features are scheduled to be shut down and removed. For more information, see the \"Deprecation Policy\" section of our [Terms of Service](https://cloud.google.com/terms/) and the [Google Cloud Platform Subject to the Deprecation Policy](https://cloud.google.com/terms/deprecation) documentation." +], +"type": "string" +}, +"samplePeriod": { +"description": "The sampling period of metric data points. For metrics which are written periodically, consecutive data points are stored at this time interval, excluding data loss due to errors. Metrics with a higher granularity have a smaller sampling period.", +"format": "google-duration", +"type": "string" +}, +"timeSeriesResourceHierarchyLevel": { +"description": "The scope of the timeseries data of the metric.", +"items": { +"enum": [ +"TIME_SERIES_RESOURCE_HIERARCHY_LEVEL_UNSPECIFIED", +"PROJECT", +"ORGANIZATION", +"FOLDER" +], +"enumDescriptions": [ +"Do not use this default value.", +"Scopes a metric to a project.", +"Scopes a metric to an organization.", +"Scopes a metric to a folder." +], +"type": "string" +}, +"type": "array" +} +}, +"type": "object" +}, +"MetricRule": { +"description": "Bind API methods to metrics. Binding a method to a metric causes that metric's configured quota behaviors to apply to the method call.", +"id": "MetricRule", +"properties": { +"metricCosts": { +"additionalProperties": { +"format": "int64", +"type": "string" +}, +"description": "Metrics to update when the selected methods are called, and the associated cost applied to each metric. The key of the map is the metric name, and the values are the amount increased for the metric against which the quota limits are defined. The value must not be negative.", +"type": "object" +}, +"selector": { +"description": "Selects the methods to which this rule applies. Refer to selector for syntax details.", +"type": "string" +} +}, +"type": "object" +}, +"Mixin": { +"description": "Declares an API Interface to be included in this interface. The including interface must redeclare all the methods from the included interface, but documentation and options are inherited as follows: - If after comment and whitespace stripping, the documentation string of the redeclared method is empty, it will be inherited from the original method. - Each annotation belonging to the service config (http, visibility) which is not set in the redeclared method will be inherited. - If an http annotation is inherited, the path pattern will be modified as follows. Any version prefix will be replaced by the version of the including interface plus the root path if specified. Example of a simple mixin: package google.acl.v1; service AccessControl { // Get the underlying ACL object. rpc GetAcl(GetAclRequest) returns (Acl) { option (google.api.http).get = \"/v1/{resource=**}:getAcl\"; } } package google.storage.v2; service Storage { // rpc GetAcl(GetAclRequest) returns (Acl); // Get a data record. rpc GetData(GetDataRequest) returns (Data) { option (google.api.http).get = \"/v2/{resource=**}\"; } } Example of a mixin configuration: apis: - name: google.storage.v2.Storage mixins: - name: google.acl.v1.AccessControl The mixin construct implies that all methods in `AccessControl` are also declared with same name and request/response types in `Storage`. A documentation generator or annotation processor will see the effective `Storage.GetAcl` method after inheriting documentation and annotations as follows: service Storage { // Get the underlying ACL object. rpc GetAcl(GetAclRequest) returns (Acl) { option (google.api.http).get = \"/v2/{resource=**}:getAcl\"; } ... } Note how the version in the path pattern changed from `v1` to `v2`. If the `root` field in the mixin is specified, it should be a relative path under which inherited HTTP paths are placed. Example: apis: - name: google.storage.v2.Storage mixins: - name: google.acl.v1.AccessControl root: acls This implies the following inherited HTTP annotation: service Storage { // Get the underlying ACL object. rpc GetAcl(GetAclRequest) returns (Acl) { option (google.api.http).get = \"/v2/acls/{resource=**}:getAcl\"; } ... }", +"id": "Mixin", +"properties": { +"name": { +"description": "The fully qualified name of the interface which is included.", +"type": "string" +}, +"root": { +"description": "If non-empty specifies a path under which inherited HTTP paths are rooted.", +"type": "string" +} +}, +"type": "object" +}, +"MonitoredResourceDescriptor": { +"description": "An object that describes the schema of a MonitoredResource object using a type name and a set of labels. For example, the monitored resource descriptor for Google Compute Engine VM instances has a type of `\"gce_instance\"` and specifies the use of the labels `\"instance_id\"` and `\"zone\"` to identify particular VM instances. Different APIs can support different monitored resource types. APIs generally provide a `list` method that returns the monitored resource descriptors used by the API. ", +"id": "MonitoredResourceDescriptor", +"properties": { +"description": { +"description": "Optional. A detailed description of the monitored resource type that might be used in documentation.", +"type": "string" +}, +"displayName": { +"description": "Optional. A concise name for the monitored resource type that might be displayed in user interfaces. It should be a Title Cased Noun Phrase, without any article or other determiners. For example, `\"Google Cloud SQL Database\"`.", +"type": "string" +}, +"labels": { +"description": "Required. A set of labels used to describe instances of this monitored resource type. For example, an individual Google Cloud SQL database is identified by values for the labels `\"database_id\"` and `\"zone\"`.", +"items": { +"$ref": "LabelDescriptor" +}, +"type": "array" +}, +"launchStage": { +"description": "Optional. The launch stage of the monitored resource definition.", +"enum": [ +"LAUNCH_STAGE_UNSPECIFIED", +"UNIMPLEMENTED", +"PRELAUNCH", +"EARLY_ACCESS", +"ALPHA", +"BETA", +"GA", +"DEPRECATED" +], +"enumDescriptions": [ +"Do not use this default value.", +"The feature is not yet implemented. Users can not use it.", +"Prelaunch features are hidden from users and are only visible internally.", +"Early Access features are limited to a closed group of testers. To use these features, you must sign up in advance and sign a Trusted Tester agreement (which includes confidentiality provisions). These features may be unstable, changed in backward-incompatible ways, and are not guaranteed to be released.", +"Alpha is a limited availability test for releases before they are cleared for widespread use. By Alpha, all significant design issues are resolved and we are in the process of verifying functionality. Alpha customers need to apply for access, agree to applicable terms, and have their projects allowlisted. Alpha releases don't have to be feature complete, no SLAs are provided, and there are no technical support obligations, but they will be far enough along that customers can actually use them in test environments or for limited-use tests -- just like they would in normal production cases.", +"Beta is the point at which we are ready to open a release for any customer to use. There are no SLA or technical support obligations in a Beta release. Products will be complete from a feature perspective, but may have some open outstanding issues. Beta releases are suitable for limited production use cases.", +"GA features are open to all developers and are considered stable and fully qualified for production use.", +"Deprecated features are scheduled to be shut down and removed. For more information, see the \"Deprecation Policy\" section of our [Terms of Service](https://cloud.google.com/terms/) and the [Google Cloud Platform Subject to the Deprecation Policy](https://cloud.google.com/terms/deprecation) documentation." +], +"type": "string" +}, +"name": { +"description": "Optional. The resource name of the monitored resource descriptor: `\"projects/{project_id}/monitoredResourceDescriptors/{type}\"` where {type} is the value of the `type` field in this object and {project_id} is a project ID that provides API-specific context for accessing the type. APIs that do not use project information can use the resource name format `\"monitoredResourceDescriptors/{type}\"`.", +"type": "string" +}, +"type": { +"description": "Required. The monitored resource type. For example, the type `\"cloudsql_database\"` represents databases in Google Cloud SQL. For a list of types, see [Monitored resource types](https://cloud.google.com/monitoring/api/resources) and [Logging resource types](https://cloud.google.com/logging/docs/api/v2/resource-list).", +"type": "string" +} +}, +"type": "object" +}, +"Monitoring": { +"description": "Monitoring configuration of the service. The example below shows how to configure monitored resources and metrics for monitoring. In the example, a monitored resource and two metrics are defined. The `library.googleapis.com/book/returned_count` metric is sent to both producer and consumer projects, whereas the `library.googleapis.com/book/num_overdue` metric is only sent to the consumer project. monitored_resources: - type: library.googleapis.com/Branch display_name: \"Library Branch\" description: \"A branch of a library.\" launch_stage: GA labels: - key: resource_container description: \"The Cloud container (ie. project id) for the Branch.\" - key: location description: \"The location of the library branch.\" - key: branch_id description: \"The id of the branch.\" metrics: - name: library.googleapis.com/book/returned_count display_name: \"Books Returned\" description: \"The count of books that have been returned.\" launch_stage: GA metric_kind: DELTA value_type: INT64 unit: \"1\" labels: - key: customer_id description: \"The id of the customer.\" - name: library.googleapis.com/book/num_overdue display_name: \"Books Overdue\" description: \"The current number of overdue books.\" launch_stage: GA metric_kind: GAUGE value_type: INT64 unit: \"1\" labels: - key: customer_id description: \"The id of the customer.\" monitoring: producer_destinations: - monitored_resource: library.googleapis.com/Branch metrics: - library.googleapis.com/book/returned_count consumer_destinations: - monitored_resource: library.googleapis.com/Branch metrics: - library.googleapis.com/book/returned_count - library.googleapis.com/book/num_overdue", +"id": "Monitoring", +"properties": { +"consumerDestinations": { +"description": "Monitoring configurations for sending metrics to the consumer project. There can be multiple consumer destinations. A monitored resource type may appear in multiple monitoring destinations if different aggregations are needed for different sets of metrics associated with that monitored resource type. A monitored resource and metric pair may only be used once in the Monitoring configuration.", +"items": { +"$ref": "MonitoringDestination" +}, +"type": "array" +}, +"producerDestinations": { +"description": "Monitoring configurations for sending metrics to the producer project. There can be multiple producer destinations. A monitored resource type may appear in multiple monitoring destinations if different aggregations are needed for different sets of metrics associated with that monitored resource type. A monitored resource and metric pair may only be used once in the Monitoring configuration.", +"items": { +"$ref": "MonitoringDestination" +}, +"type": "array" +} +}, +"type": "object" +}, +"MonitoringDestination": { +"description": "Configuration of a specific monitoring destination (the producer project or the consumer project).", +"id": "MonitoringDestination", +"properties": { +"metrics": { +"description": "Types of the metrics to report to this monitoring destination. Each type must be defined in Service.metrics section.", +"items": { +"type": "string" +}, +"type": "array" +}, +"monitoredResource": { +"description": "The monitored resource type. The type must be defined in Service.monitored_resources section.", +"type": "string" +} +}, +"type": "object" +}, +"NodeSettings": { +"description": "Settings for Node client libraries.", +"id": "NodeSettings", +"properties": { +"common": { +"$ref": "CommonLanguageSettings", +"description": "Some settings." +} +}, +"type": "object" +}, +"OAuthRequirements": { +"description": "OAuth scopes are a way to define data and permissions on data. For example, there are scopes defined for \"Read-only access to Google Calendar\" and \"Access to Cloud Platform\". Users can consent to a scope for an application, giving it permission to access that data on their behalf. OAuth scope specifications should be fairly coarse grained; a user will need to see and understand the text description of what your scope means. In most cases: use one or at most two OAuth scopes for an entire family of products. If your product has multiple APIs, you should probably be sharing the OAuth scope across all of those APIs. When you need finer grained OAuth consent screens: talk with your product management about how developers will use them in practice. Please note that even though each of the canonical scopes is enough for a request to be accepted and passed to the backend, a request can still fail due to the backend requiring additional scopes or permissions.", +"id": "OAuthRequirements", +"properties": { +"canonicalScopes": { +"description": "The list of publicly documented OAuth scopes that are allowed access. An OAuth token containing any of these scopes will be accepted. Example: canonical_scopes: https://www.googleapis.com/auth/calendar, https://www.googleapis.com/auth/calendar.read", +"type": "string" +} +}, +"type": "object" +}, +"Operation": { +"description": "This resource represents a long-running operation that is the result of a network API call.", +"id": "Operation", +"properties": { +"done": { +"description": "If the value is `false`, it means the operation is still in progress. If `true`, the operation is completed, and either `error` or `response` is available.", +"type": "boolean" +}, +"error": { +"$ref": "Status", +"description": "The error result of the operation in case of failure or cancellation." +}, +"metadata": { +"additionalProperties": { +"description": "Properties of the object. Contains field @type with type URL.", +"type": "any" +}, +"description": "Service-specific metadata associated with the operation. It typically contains progress information and common metadata such as create time. Some services might not provide such metadata. Any method that returns a long-running operation should document the metadata type, if any.", +"type": "object" +}, +"name": { +"description": "The server-assigned name, which is only unique within the same service that originally returns it. If you use the default HTTP mapping, the `name` should be a resource name ending with `operations/{unique_id}`.", +"type": "string" +}, +"response": { +"additionalProperties": { +"description": "Properties of the object. Contains field @type with type URL.", +"type": "any" +}, +"description": "The normal, successful response of the operation. If the original method returns no data on success, such as `Delete`, the response is `google.protobuf.Empty`. If the original method is standard `Get`/`Create`/`Update`, the response should be the resource. For other methods, the response should have the type `XxxResponse`, where `Xxx` is the original method name. For example, if the original method name is `TakeSnapshot()`, the inferred response type is `TakeSnapshotResponse`.", +"type": "object" +} +}, +"type": "object" +}, +"OperationInfo": { +"description": "A message representing the message types used by a long-running operation. Example: rpc Export(ExportRequest) returns (google.longrunning.Operation) { option (google.longrunning.operation_info) = { response_type: \"ExportResponse\" metadata_type: \"ExportMetadata\" }; }", +"id": "OperationInfo", +"properties": { +"metadataType": { +"description": "Required. The message name of the metadata type for this long-running operation. If the response is in a different package from the rpc, a fully-qualified message name must be used (e.g. `google.protobuf.Struct`). Note: Altering this value constitutes a breaking change.", +"type": "string" +}, +"responseType": { +"description": "Required. The message name of the primary return type for this long-running operation. This type will be used to deserialize the LRO's response. If the response is in a different package from the rpc, a fully-qualified message name must be used (e.g. `google.protobuf.Struct`). Note: Altering this value constitutes a breaking change.", +"type": "string" +} +}, +"type": "object" +}, +"OperationMetadata": { +"description": "The metadata associated with a long running operation resource.", +"id": "OperationMetadata", +"properties": { +"progressPercentage": { +"description": "Percentage of completion of this operation, ranging from 0 to 100.", +"format": "int32", +"type": "integer" +}, +"resourceNames": { +"description": "The full name of the resources that this operation is directly associated with.", +"items": { +"type": "string" +}, +"type": "array" +}, +"startTime": { +"description": "The start time of the operation.", +"format": "google-datetime", +"type": "string" +}, +"steps": { +"description": "Detailed status information for each step. The order is undetermined.", +"items": { +"$ref": "Step" +}, +"type": "array" +} +}, +"type": "object" +}, +"Option": { +"description": "A protocol buffer option, which can be attached to a message, field, enumeration, etc.", +"id": "Option", +"properties": { +"name": { +"description": "The option's name. For protobuf built-in options (options defined in descriptor.proto), this is the short name. For example, `\"map_entry\"`. For custom options, it should be the fully-qualified name. For example, `\"google.api.http\"`.", +"type": "string" +}, +"value": { +"additionalProperties": { +"description": "Properties of the object. Contains field @type with type URL.", +"type": "any" +}, +"description": "The option's value packed in an Any message. If the value is a primitive, the corresponding wrapper type defined in google/protobuf/wrappers.proto should be used. If the value is an enum, it should be stored as an int32 value using the google.protobuf.Int32Value type.", +"type": "object" +} +}, +"type": "object" +}, +"Page": { +"description": "Represents a documentation page. A page can contain subpages to represent nested documentation set structure.", +"id": "Page", +"properties": { +"content": { +"description": "The Markdown content of the page. You can use (== include {path} ==) to include content from a Markdown file. The content can be used to produce the documentation page such as HTML format page.", +"type": "string" +}, +"name": { +"description": "The name of the page. It will be used as an identity of the page to generate URI of the page, text of the link to this page in navigation, etc. The full page name (start from the root page name to this page concatenated with `.`) can be used as reference to the page in your documentation. For example: pages: - name: Tutorial content: (== include tutorial.md ==) subpages: - name: Java content: (== include tutorial_java.md ==) You can reference `Java` page using Markdown reference link syntax: `Java`.", +"type": "string" +}, +"subpages": { +"description": "Subpages of this page. The order of subpages specified here will be honored in the generated docset.", +"items": { +"$ref": "Page" +}, +"type": "array" +} +}, +"type": "object" +}, +"PhpSettings": { +"description": "Settings for Php client libraries.", +"id": "PhpSettings", +"properties": { +"common": { +"$ref": "CommonLanguageSettings", +"description": "Some settings." +} +}, +"type": "object" +}, +"Policy": { +"description": "An Identity and Access Management (IAM) policy, which specifies access controls for Google Cloud resources. A `Policy` is a collection of `bindings`. A `binding` binds one or more `members`, or principals, to a single `role`. Principals can be user accounts, service accounts, Google groups, and domains (such as G Suite). A `role` is a named list of permissions; each `role` can be an IAM predefined role or a user-created custom role. For some types of Google Cloud resources, a `binding` can also specify a `condition`, which is a logical expression that allows access to a resource only if the expression evaluates to `true`. A condition can add constraints based on attributes of the request, the resource, or both. To learn which resources support conditions in their IAM policies, see the [IAM documentation](https://cloud.google.com/iam/help/conditions/resource-policies). **JSON example:** ``` { \"bindings\": [ { \"role\": \"roles/resourcemanager.organizationAdmin\", \"members\": [ \"user:mike@example.com\", \"group:admins@example.com\", \"domain:google.com\", \"serviceAccount:my-project-id@appspot.gserviceaccount.com\" ] }, { \"role\": \"roles/resourcemanager.organizationViewer\", \"members\": [ \"user:eve@example.com\" ], \"condition\": { \"title\": \"expirable access\", \"description\": \"Does not grant access after Sep 2020\", \"expression\": \"request.time < timestamp('2020-10-01T00:00:00.000Z')\", } } ], \"etag\": \"BwWWja0YfJA=\", \"version\": 3 } ``` **YAML example:** ``` bindings: - members: - user:mike@example.com - group:admins@example.com - domain:google.com - serviceAccount:my-project-id@appspot.gserviceaccount.com role: roles/resourcemanager.organizationAdmin - members: - user:eve@example.com role: roles/resourcemanager.organizationViewer condition: title: expirable access description: Does not grant access after Sep 2020 expression: request.time < timestamp('2020-10-01T00:00:00.000Z') etag: BwWWja0YfJA= version: 3 ``` For a description of IAM and its features, see the [IAM documentation](https://cloud.google.com/iam/docs/).", +"id": "Policy", +"properties": { +"auditConfigs": { +"description": "Specifies cloud audit logging configuration for this policy.", +"items": { +"$ref": "AuditConfig" +}, +"type": "array" +}, +"bindings": { +"description": "Associates a list of `members`, or principals, with a `role`. Optionally, may specify a `condition` that determines how and when the `bindings` are applied. Each of the `bindings` must contain at least one principal. The `bindings` in a `Policy` can refer to up to 1,500 principals; up to 250 of these principals can be Google groups. Each occurrence of a principal counts towards these limits. For example, if the `bindings` grant 50 different roles to `user:alice@example.com`, and not to any other principal, then you can add another 1,450 principals to the `bindings` in the `Policy`.", +"items": { +"$ref": "Binding" +}, +"type": "array" +}, +"etag": { +"description": "`etag` is used for optimistic concurrency control as a way to help prevent simultaneous updates of a policy from overwriting each other. It is strongly suggested that systems make use of the `etag` in the read-modify-write cycle to perform policy updates in order to avoid race conditions: An `etag` is returned in the response to `getIamPolicy`, and systems are expected to put that etag in the request to `setIamPolicy` to ensure that their change will be applied to the same version of the policy. **Important:** If you use IAM Conditions, you must include the `etag` field whenever you call `setIamPolicy`. If you omit this field, then IAM allows you to overwrite a version `3` policy with a version `1` policy, and all of the conditions in the version `3` policy are lost.", +"format": "byte", +"type": "string" +}, +"version": { +"description": "Specifies the format of the policy. Valid values are `0`, `1`, and `3`. Requests that specify an invalid value are rejected. Any operation that affects conditional role bindings must specify version `3`. This requirement applies to the following operations: * Getting a policy that includes a conditional role binding * Adding a conditional role binding to a policy * Changing a conditional role binding in a policy * Removing any role binding, with or without a condition, from a policy that includes conditions **Important:** If you use IAM Conditions, you must include the `etag` field whenever you call `setIamPolicy`. If you omit this field, then IAM allows you to overwrite a version `3` policy with a version `1` policy, and all of the conditions in the version `3` policy are lost. If a policy does not include any conditions, operations on that policy may specify any valid version or leave the field unset. To learn which resources support conditions in their IAM policies, see the [IAM documentation](https://cloud.google.com/iam/help/conditions/resource-policies).", +"format": "int32", +"type": "integer" +} +}, +"type": "object" +}, +"Publishing": { +"description": "This message configures the settings for publishing [Google Cloud Client libraries](https://cloud.google.com/apis/docs/cloud-client-libraries) generated from the service config.", +"id": "Publishing", +"properties": { +"apiShortName": { +"description": "Used as a tracking tag when collecting data about the APIs developer relations artifacts like docs, packages delivered to package managers, etc. Example: \"speech\".", +"type": "string" +}, +"codeownerGithubTeams": { +"description": "GitHub teams to be added to CODEOWNERS in the directory in GitHub containing source code for the client libraries for this API.", +"items": { +"type": "string" +}, +"type": "array" +}, +"docTagPrefix": { +"description": "A prefix used in sample code when demarking regions to be included in documentation.", +"type": "string" +}, +"documentationUri": { +"description": "Link to product home page. Example: https://cloud.google.com/asset-inventory/docs/overview", +"type": "string" +}, +"githubLabel": { +"description": "GitHub label to apply to issues and pull requests opened for this API.", +"type": "string" +}, +"librarySettings": { +"description": "Client library settings. If the same version string appears multiple times in this list, then the last one wins. Settings from earlier settings with the same version string are discarded.", +"items": { +"$ref": "ClientLibrarySettings" +}, +"type": "array" +}, +"methodSettings": { +"description": "A list of API method settings, e.g. the behavior for methods that use the long-running operation pattern.", +"items": { +"$ref": "MethodSettings" +}, +"type": "array" +}, +"newIssueUri": { +"description": "Link to a *public* URI where users can report issues. Example: https://issuetracker.google.com/issues/new?component=190865&template=1161103", +"type": "string" +}, +"organization": { +"description": "For whom the client library is being published.", +"enum": [ +"CLIENT_LIBRARY_ORGANIZATION_UNSPECIFIED", +"CLOUD", +"ADS", +"PHOTOS", +"STREET_VIEW", +"SHOPPING", +"GEO", +"GENERATIVE_AI" +], +"enumDescriptions": [ +"Not useful.", +"Google Cloud Platform Org.", +"Ads (Advertising) Org.", +"Photos Org.", +"Street View Org.", +"Shopping Org.", +"Geo Org.", +"Generative AI - https://developers.generativeai.google" +], +"type": "string" +}, +"protoReferenceDocumentationUri": { +"description": "Optional link to proto reference documentation. Example: https://cloud.google.com/pubsub/lite/docs/reference/rpc", +"type": "string" +}, +"restReferenceDocumentationUri": { +"description": "Optional link to REST reference documentation. Example: https://cloud.google.com/pubsub/lite/docs/reference/rest", +"type": "string" +} +}, +"type": "object" +}, +"PythonSettings": { +"description": "Settings for Python client libraries.", +"id": "PythonSettings", +"properties": { +"common": { +"$ref": "CommonLanguageSettings", +"description": "Some settings." +}, +"experimentalFeatures": { +"$ref": "ExperimentalFeatures", +"description": "Experimental features to be included during client library generation." +} +}, +"type": "object" +}, +"Quota": { +"description": "Quota configuration helps to achieve fairness and budgeting in service usage. The metric based quota configuration works this way: - The service configuration defines a set of metrics. - For API calls, the quota.metric_rules maps methods to metrics with corresponding costs. - The quota.limits defines limits on the metrics, which will be used for quota checks at runtime. An example quota configuration in yaml format: quota: limits: - name: apiWriteQpsPerProject metric: library.googleapis.com/write_calls unit: \"1/min/{project}\" # rate limit for consumer projects values: STANDARD: 10000 (The metric rules bind all methods to the read_calls metric, except for the UpdateBook and DeleteBook methods. These two methods are mapped to the write_calls metric, with the UpdateBook method consuming at twice rate as the DeleteBook method.) metric_rules: - selector: \"*\" metric_costs: library.googleapis.com/read_calls: 1 - selector: google.example.library.v1.LibraryService.UpdateBook metric_costs: library.googleapis.com/write_calls: 2 - selector: google.example.library.v1.LibraryService.DeleteBook metric_costs: library.googleapis.com/write_calls: 1 Corresponding Metric definition: metrics: - name: library.googleapis.com/read_calls display_name: Read requests metric_kind: DELTA value_type: INT64 - name: library.googleapis.com/write_calls display_name: Write requests metric_kind: DELTA value_type: INT64 ", +"id": "Quota", +"properties": { +"limits": { +"description": "List of QuotaLimit definitions for the service.", +"items": { +"$ref": "QuotaLimit" +}, +"type": "array" +}, +"metricRules": { +"description": "List of MetricRule definitions, each one mapping a selected method to one or more metrics.", +"items": { +"$ref": "MetricRule" +}, +"type": "array" +} +}, +"type": "object" +}, +"QuotaLimit": { +"description": "`QuotaLimit` defines a specific limit that applies over a specified duration for a limit type. There can be at most one limit for a duration and limit type combination defined within a `QuotaGroup`.", +"id": "QuotaLimit", +"properties": { +"defaultLimit": { +"description": "Default number of tokens that can be consumed during the specified duration. This is the number of tokens assigned when a client application developer activates the service for his/her project. Specifying a value of 0 will block all requests. This can be used if you are provisioning quota to selected consumers and blocking others. Similarly, a value of -1 will indicate an unlimited quota. No other negative values are allowed. Used by group-based quotas only.", +"format": "int64", +"type": "string" +}, +"description": { +"description": "Optional. User-visible, extended description for this quota limit. Should be used only when more context is needed to understand this limit than provided by the limit's display name (see: `display_name`).", +"type": "string" +}, +"displayName": { +"description": "User-visible display name for this limit. Optional. If not set, the UI will provide a default display name based on the quota configuration. This field can be used to override the default display name generated from the configuration.", +"type": "string" +}, +"duration": { +"description": "Duration of this limit in textual notation. Must be \"100s\" or \"1d\". Used by group-based quotas only.", +"type": "string" +}, +"freeTier": { +"description": "Free tier value displayed in the Developers Console for this limit. The free tier is the number of tokens that will be subtracted from the billed amount when billing is enabled. This field can only be set on a limit with duration \"1d\", in a billable group; it is invalid on any other limit. If this field is not set, it defaults to 0, indicating that there is no free tier for this service. Used by group-based quotas only.", +"format": "int64", +"type": "string" +}, +"maxLimit": { +"description": "Maximum number of tokens that can be consumed during the specified duration. Client application developers can override the default limit up to this maximum. If specified, this value cannot be set to a value less than the default limit. If not specified, it is set to the default limit. To allow clients to apply overrides with no upper bound, set this to -1, indicating unlimited maximum quota. Used by group-based quotas only.", +"format": "int64", +"type": "string" +}, +"metric": { +"description": "The name of the metric this quota limit applies to. The quota limits with the same metric will be checked together during runtime. The metric must be defined within the service config.", +"type": "string" +}, +"name": { +"description": "Name of the quota limit. The name must be provided, and it must be unique within the service. The name can only include alphanumeric characters as well as '-'. The maximum length of the limit name is 64 characters.", +"type": "string" +}, +"unit": { +"description": "Specify the unit of the quota limit. It uses the same syntax as MetricDescriptor.unit. The supported unit kinds are determined by the quota backend system. Here are some examples: * \"1/min/{project}\" for quota per minute per project. Note: the order of unit components is insignificant. The \"1\" at the beginning is required to follow the metric unit syntax.", +"type": "string" +}, +"values": { +"additionalProperties": { +"format": "int64", +"type": "string" +}, +"description": "Tiered limit values. You must specify this as a key:value pair, with an integer value that is the maximum number of requests allowed for the specified unit. Currently only STANDARD is supported.", +"type": "object" +} +}, +"type": "object" +}, +"ResourceReference": { +"description": "Defines a proto annotation that describes a string field that refers to an API resource.", +"id": "ResourceReference", +"properties": { +"childType": { +"description": "The resource type of a child collection that the annotated field references. This is useful for annotating the `parent` field that doesn't have a fixed resource type. Example: message ListLogEntriesRequest { string parent = 1 [(google.api.resource_reference) = { child_type: \"logging.googleapis.com/LogEntry\" }; }", +"type": "string" +}, +"type": { +"description": "The resource type that the annotated field references. Example: message Subscription { string topic = 2 [(google.api.resource_reference) = { type: \"pubsub.googleapis.com/Topic\" }]; } Occasionally, a field may reference an arbitrary resource. In this case, APIs use the special value * in their resource reference. Example: message GetIamPolicyRequest { string resource = 2 [(google.api.resource_reference) = { type: \"*\" }]; }", +"type": "string" +} +}, +"type": "object" +}, +"Rollout": { +"description": "A rollout resource that defines how service configuration versions are pushed to control plane systems. Typically, you create a new version of the service config, and then create a Rollout to push the service config.", +"id": "Rollout", +"properties": { +"createTime": { +"description": "Creation time of the rollout. Readonly.", +"format": "google-datetime", +"type": "string" +}, +"createdBy": { +"description": "The user who created the Rollout. Readonly.", +"type": "string" +}, +"deleteServiceStrategy": { +"$ref": "DeleteServiceStrategy", +"description": "The strategy associated with a rollout to delete a `ManagedService`. Readonly." +}, +"rolloutId": { +"description": "Optional. Unique identifier of this Rollout. Must be no longer than 63 characters and only lower case letters, digits, '.', '_' and '-' are allowed. If not specified by client, the server will generate one. The generated id will have the form of , where \"date\" is the create date in ISO 8601 format. \"revision number\" is a monotonically increasing positive number that is reset every day for each service. An example of the generated rollout_id is '2016-02-16r1'", +"type": "string" +}, +"serviceName": { +"description": "The name of the service associated with this Rollout.", +"type": "string" +}, +"status": { +"description": "The status of this rollout. Readonly. In case of a failed rollout, the system will automatically rollback to the current Rollout version. Readonly.", +"enum": [ +"ROLLOUT_STATUS_UNSPECIFIED", +"IN_PROGRESS", +"SUCCESS", +"CANCELLED", +"FAILED", +"PENDING", +"FAILED_ROLLED_BACK" +], +"enumDescriptions": [ +"No status specified.", +"The Rollout is in progress.", +"The Rollout has completed successfully.", +"The Rollout has been cancelled. This can happen if you have overlapping Rollout pushes, and the previous ones will be cancelled.", +"The Rollout has failed and the rollback attempt has failed too.", +"The Rollout has not started yet and is pending for execution.", +"The Rollout has failed and rolled back to the previous successful Rollout." +], +"type": "string" +}, +"trafficPercentStrategy": { +"$ref": "TrafficPercentStrategy", +"description": "Google Service Control selects service configurations based on traffic percentage." +} +}, +"type": "object" +}, +"RubySettings": { +"description": "Settings for Ruby client libraries.", +"id": "RubySettings", +"properties": { +"common": { +"$ref": "CommonLanguageSettings", +"description": "Some settings." +} +}, +"type": "object" +}, +"SelectiveGapicGeneration": { +"description": "This message is used to configure the generation of a subset of the RPCs in a service for client libraries.", +"id": "SelectiveGapicGeneration", +"properties": { +"methods": { +"description": "An allowlist of the fully qualified names of RPCs that should be included on public client surfaces.", +"items": { +"type": "string" +}, +"type": "array" +} +}, +"type": "object" +}, +"Service": { +"description": "`Service` is the root object of Google API service configuration (service config). It describes the basic information about a logical service, such as the service name and the user-facing title, and delegates other aspects to sub-sections. Each sub-section is either a proto message or a repeated proto message that configures a specific aspect, such as auth. For more information, see each proto message definition. Example: type: google.api.Service name: calendar.googleapis.com title: Google Calendar API apis: - name: google.calendar.v3.Calendar visibility: rules: - selector: \"google.calendar.v3.*\" restriction: PREVIEW backend: rules: - selector: \"google.calendar.v3.*\" address: calendar.example.com authentication: providers: - id: google_calendar_auth jwks_uri: https://www.googleapis.com/oauth2/v1/certs issuer: https://securetoken.google.com rules: - selector: \"*\" requirements: provider_id: google_calendar_auth", +"id": "Service", +"properties": { +"apis": { +"description": "A list of API interfaces exported by this service. Only the `name` field of the google.protobuf.Api needs to be provided by the configuration author, as the remaining fields will be derived from the IDL during the normalization process. It is an error to specify an API interface here which cannot be resolved against the associated IDL files.", +"items": { +"$ref": "Api" +}, +"type": "array" +}, +"authentication": { +"$ref": "Authentication", +"description": "Auth configuration." +}, +"backend": { +"$ref": "Backend", +"description": "API backend configuration." +}, +"billing": { +"$ref": "Billing", +"description": "Billing configuration." +}, +"configVersion": { +"description": "Obsolete. Do not use. This field has no semantic meaning. The service config compiler always sets this field to `3`.", +"format": "uint32", +"type": "integer" +}, +"context": { +"$ref": "Context", +"description": "Context configuration." +}, +"control": { +"$ref": "Control", +"description": "Configuration for the service control plane." +}, +"customError": { +"$ref": "CustomError", +"description": "Custom error configuration." +}, +"documentation": { +"$ref": "Documentation", +"description": "Additional API documentation." +}, +"endpoints": { +"description": "Configuration for network endpoints. If this is empty, then an endpoint with the same name as the service is automatically generated to service all defined APIs.", +"items": { +"$ref": "Endpoint" +}, +"type": "array" +}, +"enums": { +"description": "A list of all enum types included in this API service. Enums referenced directly or indirectly by the `apis` are automatically included. Enums which are not referenced but shall be included should be listed here by name by the configuration author. Example: enums: - name: google.someapi.v1.SomeEnum", +"items": { +"$ref": "Enum" +}, +"type": "array" +}, +"http": { +"$ref": "Http", +"description": "HTTP configuration." +}, +"id": { +"description": "A unique ID for a specific instance of this message, typically assigned by the client for tracking purpose. Must be no longer than 63 characters and only lower case letters, digits, '.', '_' and '-' are allowed. If empty, the server may choose to generate one instead.", +"type": "string" +}, +"logging": { +"$ref": "Logging", +"description": "Logging configuration." +}, +"logs": { +"description": "Defines the logs used by this service.", +"items": { +"$ref": "LogDescriptor" +}, +"type": "array" +}, +"metrics": { +"description": "Defines the metrics used by this service.", +"items": { +"$ref": "MetricDescriptor" +}, +"type": "array" +}, +"monitoredResources": { +"description": "Defines the monitored resources used by this service. This is required by the Service.monitoring and Service.logging configurations.", +"items": { +"$ref": "MonitoredResourceDescriptor" +}, +"type": "array" +}, +"monitoring": { +"$ref": "Monitoring", +"description": "Monitoring configuration." +}, +"name": { +"description": "The service name, which is a DNS-like logical identifier for the service, such as `calendar.googleapis.com`. The service name typically goes through DNS verification to make sure the owner of the service also owns the DNS name.", +"type": "string" +}, +"producerProjectId": { +"description": "The Google project that owns this service.", +"type": "string" +}, +"publishing": { +"$ref": "Publishing", +"description": "Settings for [Google Cloud Client libraries](https://cloud.google.com/apis/docs/cloud-client-libraries) generated from APIs defined as protocol buffers." +}, +"quota": { +"$ref": "Quota", +"description": "Quota configuration." +}, +"sourceInfo": { +"$ref": "SourceInfo", +"description": "Output only. The source information for this configuration if available." +}, +"systemParameters": { +"$ref": "SystemParameters", +"description": "System parameter configuration." +}, +"systemTypes": { +"description": "A list of all proto message types included in this API service. It serves similar purpose as [google.api.Service.types], except that these types are not needed by user-defined APIs. Therefore, they will not show up in the generated discovery doc. This field should only be used to define system APIs in ESF.", +"items": { +"$ref": "Type" +}, +"type": "array" +}, +"title": { +"description": "The product title for this service, it is the name displayed in Google Cloud Console.", +"type": "string" +}, +"types": { +"description": "A list of all proto message types included in this API service. Types referenced directly or indirectly by the `apis` are automatically included. Messages which are not referenced but shall be included, such as types used by the `google.protobuf.Any` type, should be listed here by name by the configuration author. Example: types: - name: google.protobuf.Int32", +"items": { +"$ref": "Type" +}, +"type": "array" +}, +"usage": { +"$ref": "Usage", +"description": "Configuration controlling usage of this service." +} +}, +"type": "object" +}, +"SetIamPolicyRequest": { +"description": "Request message for `SetIamPolicy` method.", +"id": "SetIamPolicyRequest", +"properties": { +"policy": { +"$ref": "Policy", +"description": "REQUIRED: The complete policy to be applied to the `resource`. The size of the policy is limited to a few 10s of KB. An empty policy is a valid policy but certain Google Cloud services (such as Projects) might reject them." +}, +"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" +} +}, +"type": "object" +}, +"SourceContext": { +"description": "`SourceContext` represents information about the source of a protobuf element, like the file in which it is defined.", +"id": "SourceContext", +"properties": { +"fileName": { +"description": "The path-qualified name of the .proto file that contained the associated protobuf element. For example: `\"google/protobuf/source_context.proto\"`.", +"type": "string" +} +}, +"type": "object" +}, +"SourceInfo": { +"description": "Source information used to create a Service Config", +"id": "SourceInfo", +"properties": { +"sourceFiles": { +"description": "All files used during config generation.", +"items": { +"additionalProperties": { +"description": "Properties of the object. Contains field @type with type URL.", +"type": "any" +}, +"type": "object" +}, +"type": "array" +} +}, +"type": "object" +}, +"Status": { +"description": "The `Status` type defines a logical error model that is suitable for different programming environments, including REST APIs and RPC APIs. It is used by [gRPC](https://github.com/grpc). Each `Status` message contains three pieces of data: error code, error message, and error details. You can find out more about this error model and how to work with it in the [API Design Guide](https://cloud.google.com/apis/design/errors).", +"id": "Status", +"properties": { +"code": { +"description": "The status code, which should be an enum value of google.rpc.Code.", +"format": "int32", +"type": "integer" +}, +"details": { +"description": "A list of messages that carry the error details. There is a common set of message types for APIs to use.", +"items": { +"additionalProperties": { +"description": "Properties of the object. Contains field @type with type URL.", +"type": "any" +}, +"type": "object" +}, +"type": "array" +}, +"message": { +"description": "A developer-facing error message, which should be in English. Any user-facing error message should be localized and sent in the google.rpc.Status.details field, or localized by the client.", +"type": "string" +} +}, +"type": "object" +}, +"Step": { +"description": "Represents the status of one operation step.", +"id": "Step", +"properties": { +"description": { +"description": "The short description of the step.", +"type": "string" +}, +"status": { +"description": "The status code.", +"enum": [ +"STATUS_UNSPECIFIED", +"DONE", +"NOT_STARTED", +"IN_PROGRESS", +"FAILED", +"CANCELLED" +], +"enumDescriptions": [ +"Unspecifed code.", +"The operation or step has completed without errors.", +"The operation or step has not started yet.", +"The operation or step is in progress.", +"The operation or step has completed with errors. If the operation is rollbackable, the rollback completed with errors too.", +"The operation or step has completed with cancellation." +], +"type": "string" +} +}, +"type": "object" +}, +"SubmitConfigSourceRequest": { +"description": "Request message for SubmitConfigSource method.", +"id": "SubmitConfigSourceRequest", +"properties": { +"configSource": { +"$ref": "ConfigSource", +"description": "Required. The source configuration for the service." +}, +"validateOnly": { +"description": "Optional. If set, this will result in the generation of a `google.api.Service` configuration based on the `ConfigSource` provided, but the generated config and the sources will NOT be persisted.", +"type": "boolean" +} +}, +"type": "object" +}, +"SubmitConfigSourceResponse": { +"description": "Response message for SubmitConfigSource method.", +"id": "SubmitConfigSourceResponse", +"properties": { +"serviceConfig": { +"$ref": "Service", +"description": "The generated service configuration." +} +}, +"type": "object" +}, +"SystemParameter": { +"description": "Define a parameter's name and location. The parameter may be passed as either an HTTP header or a URL query parameter, and if both are passed the behavior is implementation-dependent.", +"id": "SystemParameter", +"properties": { +"httpHeader": { +"description": "Define the HTTP header name to use for the parameter. It is case insensitive.", +"type": "string" +}, +"name": { +"description": "Define the name of the parameter, such as \"api_key\" . It is case sensitive.", +"type": "string" +}, +"urlQueryParameter": { +"description": "Define the URL query parameter name to use for the parameter. It is case sensitive.", +"type": "string" +} +}, +"type": "object" +}, +"SystemParameterRule": { +"description": "Define a system parameter rule mapping system parameter definitions to methods.", +"id": "SystemParameterRule", +"properties": { +"parameters": { +"description": "Define parameters. Multiple names may be defined for a parameter. For a given method call, only one of them should be used. If multiple names are used the behavior is implementation-dependent. If none of the specified names are present the behavior is parameter-dependent.", +"items": { +"$ref": "SystemParameter" +}, +"type": "array" +}, +"selector": { +"description": "Selects the methods to which this rule applies. Use '*' to indicate all methods in all APIs. Refer to selector for syntax details.", +"type": "string" +} +}, +"type": "object" +}, +"SystemParameters": { +"description": "### System parameter configuration A system parameter is a special kind of parameter defined by the API system, not by an individual API. It is typically mapped to an HTTP header and/or a URL query parameter. This configuration specifies which methods change the names of the system parameters.", +"id": "SystemParameters", +"properties": { +"rules": { +"description": "Define system parameters. The parameters defined here will override the default parameters implemented by the system. If this field is missing from the service config, default system parameters will be used. Default system parameters and names is implementation-dependent. Example: define api key for all methods system_parameters rules: - selector: \"*\" parameters: - name: api_key url_query_parameter: api_key Example: define 2 api key names for a specific method. system_parameters rules: - selector: \"/ListShelves\" parameters: - name: api_key http_header: Api-Key1 - name: api_key http_header: Api-Key2 **NOTE:** All service configuration rules follow \"last one wins\" order.", +"items": { +"$ref": "SystemParameterRule" +}, +"type": "array" +} +}, +"type": "object" +}, +"TestIamPermissionsRequest": { +"description": "Request message for `TestIamPermissions` method.", +"id": "TestIamPermissionsRequest", +"properties": { +"permissions": { +"description": "The set of permissions to check for the `resource`. Permissions with wildcards (such as `*` or `storage.*`) are not allowed. For more information see [IAM Overview](https://cloud.google.com/iam/docs/overview#permissions).", +"items": { +"type": "string" +}, +"type": "array" +} +}, +"type": "object" +}, +"TestIamPermissionsResponse": { +"description": "Response message for `TestIamPermissions` method.", +"id": "TestIamPermissionsResponse", +"properties": { +"permissions": { +"description": "A subset of `TestPermissionsRequest.permissions` that the caller is allowed.", +"items": { +"type": "string" +}, +"type": "array" +} +}, +"type": "object" +}, +"TrafficPercentStrategy": { +"description": "Strategy that specifies how clients of Google Service Controller want to send traffic to use different config versions. This is generally used by API proxy to split traffic based on your configured percentage for each config version. One example of how to gradually rollout a new service configuration using this strategy: Day 1 Rollout { id: \"example.googleapis.com/rollout_20160206\" traffic_percent_strategy { percentages: { \"example.googleapis.com/20160201\": 70.00 \"example.googleapis.com/20160206\": 30.00 } } } Day 2 Rollout { id: \"example.googleapis.com/rollout_20160207\" traffic_percent_strategy: { percentages: { \"example.googleapis.com/20160206\": 100.00 } } }", +"id": "TrafficPercentStrategy", +"properties": { +"percentages": { +"additionalProperties": { +"format": "double", +"type": "number" +}, +"description": "Maps service configuration IDs to their corresponding traffic percentage. Key is the service configuration ID, Value is the traffic percentage which must be greater than 0.0 and the sum must equal to 100.0.", +"type": "object" +} +}, +"type": "object" +}, +"Type": { +"description": "A protocol buffer message type.", +"id": "Type", +"properties": { +"edition": { +"description": "The source edition string, only valid when syntax is SYNTAX_EDITIONS.", +"type": "string" +}, +"fields": { +"description": "The list of fields.", +"items": { +"$ref": "Field" +}, +"type": "array" +}, +"name": { +"description": "The fully qualified message name.", +"type": "string" +}, +"oneofs": { +"description": "The list of types appearing in `oneof` definitions in this type.", +"items": { +"type": "string" +}, +"type": "array" +}, +"options": { +"description": "The protocol buffer options.", +"items": { +"$ref": "Option" +}, +"type": "array" +}, +"sourceContext": { +"$ref": "SourceContext", +"description": "The source context." +}, +"syntax": { +"description": "The source syntax.", +"enum": [ +"SYNTAX_PROTO2", +"SYNTAX_PROTO3", +"SYNTAX_EDITIONS" +], +"enumDescriptions": [ +"Syntax `proto2`.", +"Syntax `proto3`.", +"Syntax `editions`." +], +"type": "string" +} +}, +"type": "object" +}, +"UndeleteServiceResponse": { +"description": "Response message for UndeleteService method.", +"id": "UndeleteServiceResponse", +"properties": { +"service": { +"$ref": "ManagedService", +"description": "Revived service resource." +} +}, +"type": "object" +}, +"Usage": { +"description": "Configuration controlling usage of a service.", +"id": "Usage", +"properties": { +"producerNotificationChannel": { +"description": "The full resource name of a channel used for sending notifications to the service producer. Google Service Management currently only supports [Google Cloud Pub/Sub](https://cloud.google.com/pubsub) as a notification channel. To use Google Cloud Pub/Sub as the channel, this must be the name of a Cloud Pub/Sub topic that uses the Cloud Pub/Sub topic name format documented in https://cloud.google.com/pubsub/docs/overview.", +"type": "string" +}, +"requirements": { +"description": "Requirements that must be satisfied before a consumer project can use the service. Each requirement is of the form /; for example 'serviceusage.googleapis.com/billing-enabled'. For Google APIs, a Terms of Service requirement must be included here. Google Cloud APIs must include \"serviceusage.googleapis.com/tos/cloud\". Other Google APIs should include \"serviceusage.googleapis.com/tos/universal\". Additional ToS can be included based on the business needs.", +"items": { +"type": "string" +}, +"type": "array" +}, +"rules": { +"description": "A list of usage rules that apply to individual API methods. **NOTE:** All service configuration rules follow \"last one wins\" order.", +"items": { +"$ref": "UsageRule" +}, +"type": "array" +} +}, +"type": "object" +}, +"UsageRule": { +"description": "Usage configuration rules for the service. NOTE: Under development. Use this rule to configure unregistered calls for the service. Unregistered calls are calls that do not contain consumer project identity. (Example: calls that do not contain an API key). By default, API methods do not allow unregistered calls, and each method call must be identified by a consumer project identity. Use this rule to allow/disallow unregistered calls. Example of an API that wants to allow unregistered calls for entire service. usage: rules: - selector: \"*\" allow_unregistered_calls: true Example of a method that wants to allow unregistered calls. usage: rules: - selector: \"google.example.library.v1.LibraryService.CreateBook\" allow_unregistered_calls: true", +"id": "UsageRule", +"properties": { +"allowUnregisteredCalls": { +"description": "If true, the selected method allows unregistered calls, e.g. calls that don't identify any user or application.", +"type": "boolean" +}, +"selector": { +"description": "Selects the methods to which this rule applies. Use '*' to indicate all methods in all APIs. Refer to selector for syntax details.", +"type": "string" +}, +"skipServiceControl": { +"description": "If true, the selected method should skip service control and the control plane features, such as quota and billing, will not be available. This flag is used by Google Cloud Endpoints to bypass checks for internal methods, such as service health check methods.", +"type": "boolean" +} +}, +"type": "object" +} +}, +"servicePath": "", +"title": "Service Management API", +"version": "v1" +} \ No newline at end of file diff --git a/.venv/lib/python3.11/site-packages/googleapiclient/discovery_cache/documents/sourcerepo.v1.json b/.venv/lib/python3.11/site-packages/googleapiclient/discovery_cache/documents/sourcerepo.v1.json new file mode 100644 index 0000000000000000000000000000000000000000..5eb61633573dccc3c48dcbb4db22a696bf57c631 --- /dev/null +++ b/.venv/lib/python3.11/site-packages/googleapiclient/discovery_cache/documents/sourcerepo.v1.json @@ -0,0 +1,879 @@ +{ +"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." +}, +"https://www.googleapis.com/auth/source.full_control": { +"description": "Manage your source code repositories" +}, +"https://www.googleapis.com/auth/source.read_only": { +"description": "View the contents of your source code repositories" +}, +"https://www.googleapis.com/auth/source.read_write": { +"description": "Manage the contents of your source code repositories" +} +} +} +}, +"basePath": "", +"baseUrl": "https://sourcerepo.googleapis.com/", +"batchPath": "batch", +"canonicalName": "Cloud Source Repositories", +"description": "Accesses source code repositories hosted by Google. Important: Cloud Source Repositories is scheduled for end of sales starting June 17, 2024. Customers who have enabled the API prior to this date will not be affected and can continue to use Cloud Source Repositories. Organizations or projects who have not previously enabled the API cannot use Cloud Source Repositories after this date. View Cloud Source Repositories documentation for more info. ", +"discoveryVersion": "v1", +"documentationLink": "https://cloud.google.com/source-repositories/docs", +"fullyEncodeReservedExpansion": true, +"icons": { +"x16": "http://www.google.com/images/icons/product/search-16.gif", +"x32": "http://www.google.com/images/icons/product/search-32.gif" +}, +"id": "sourcerepo:v1", +"kind": "discovery#restDescription", +"mtlsRootUrl": "https://sourcerepo.mtls.googleapis.com/", +"name": "sourcerepo", +"ownerDomain": "google.com", +"ownerName": "Google", +"parameters": { +"$.xgafv": { +"description": "V1 error format.", +"enum": [ +"1", +"2" +], +"enumDescriptions": [ +"v1 error format", +"v2 error format" +], +"location": "query", +"type": "string" +}, +"access_token": { +"description": "OAuth access token.", +"location": "query", +"type": "string" +}, +"alt": { +"default": "json", +"description": "Data format for response.", +"enum": [ +"json", +"media", +"proto" +], +"enumDescriptions": [ +"Responses with Content-Type of application/json", +"Media download with context-dependent Content-Type", +"Responses with Content-Type of application/x-protobuf" +], +"location": "query", +"type": "string" +}, +"callback": { +"description": "JSONP", +"location": "query", +"type": "string" +}, +"fields": { +"description": "Selector specifying which fields to include in a partial response.", +"location": "query", +"type": "string" +}, +"key": { +"description": "API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token.", +"location": "query", +"type": "string" +}, +"oauth_token": { +"description": "OAuth 2.0 token for the current user.", +"location": "query", +"type": "string" +}, +"prettyPrint": { +"default": "true", +"description": "Returns response with indentations and line breaks.", +"location": "query", +"type": "boolean" +}, +"quotaUser": { +"description": "Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters.", +"location": "query", +"type": "string" +}, +"uploadType": { +"description": "Legacy upload protocol for media (e.g. \"media\", \"multipart\").", +"location": "query", +"type": "string" +}, +"upload_protocol": { +"description": "Upload protocol for media (e.g. \"raw\", \"multipart\").", +"location": "query", +"type": "string" +} +}, +"protocol": "rest", +"resources": { +"projects": { +"methods": { +"getConfig": { +"description": "Returns the Cloud Source Repositories configuration of the project.", +"flatPath": "v1/projects/{projectsId}/config", +"httpMethod": "GET", +"id": "sourcerepo.projects.getConfig", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "The name of the requested project. Values are of the form `projects/`.", +"location": "path", +"pattern": "^projects/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+name}/config", +"response": { +"$ref": "ProjectConfig" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"updateConfig": { +"description": "Updates the Cloud Source Repositories configuration of the project.", +"flatPath": "v1/projects/{projectsId}/config", +"httpMethod": "PATCH", +"id": "sourcerepo.projects.updateConfig", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "The name of the requested project. Values are of the form `projects/`.", +"location": "path", +"pattern": "^projects/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+name}/config", +"request": { +"$ref": "UpdateProjectConfigRequest" +}, +"response": { +"$ref": "ProjectConfig" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +} +}, +"resources": { +"repos": { +"methods": { +"create": { +"description": "Creates a repo in the given project with the given name. If the named repository already exists, `CreateRepo` returns `ALREADY_EXISTS`.", +"flatPath": "v1/projects/{projectsId}/repos", +"httpMethod": "POST", +"id": "sourcerepo.projects.repos.create", +"parameterOrder": [ +"parent" +], +"parameters": { +"parent": { +"description": "The project in which to create the repo. Values are of the form `projects/`.", +"location": "path", +"pattern": "^projects/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+parent}/repos", +"request": { +"$ref": "Repo" +}, +"response": { +"$ref": "Repo" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/source.full_control" +] +}, +"delete": { +"description": "Deletes a repo.", +"flatPath": "v1/projects/{projectsId}/repos/{reposId}", +"httpMethod": "DELETE", +"id": "sourcerepo.projects.repos.delete", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "The name of the repo to delete. Values are of the form `projects//repos/`.", +"location": "path", +"pattern": "^projects/[^/]+/repos/.*$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+name}", +"response": { +"$ref": "Empty" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/source.full_control" +] +}, +"get": { +"description": "Returns information about a repo.", +"flatPath": "v1/projects/{projectsId}/repos/{reposId}", +"httpMethod": "GET", +"id": "sourcerepo.projects.repos.get", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "The name of the requested repository. Values are of the form `projects//repos/`.", +"location": "path", +"pattern": "^projects/[^/]+/repos/.*$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+name}", +"response": { +"$ref": "Repo" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/source.full_control", +"https://www.googleapis.com/auth/source.read_only", +"https://www.googleapis.com/auth/source.read_write" +] +}, +"getIamPolicy": { +"description": "Gets the IAM policy policy for a resource. Returns an empty policy if the resource exists and does not have a policy set.", +"flatPath": "v1/projects/{projectsId}/repos/{reposId}:getIamPolicy", +"httpMethod": "GET", +"id": "sourcerepo.projects.repos.getIamPolicy", +"parameterOrder": [ +"resource" +], +"parameters": { +"options.requestedPolicyVersion": { +"description": "Optional. The maximum policy version that will be used to format the policy. Valid values are 0, 1, and 3. Requests specifying an invalid value will be rejected. Requests for policies with any conditional role bindings must specify version 3. Policies with no conditional role bindings may specify any valid value or leave the field unset. The policy in the response might use the policy version that you specified, or it might use a lower policy version. For example, if you specify version 3, but the policy has no conditional role bindings, the response uses version 1. To learn which resources support conditions in their IAM policies, see the [IAM documentation](https://cloud.google.com/iam/help/conditions/resource-policies).", +"format": "int32", +"location": "query", +"type": "integer" +}, +"resource": { +"description": "REQUIRED: The resource for which the policy is being requested. See [Resource names](https://cloud.google.com/apis/design/resource_names) for the appropriate value for this field.", +"location": "path", +"pattern": "^projects/[^/]+/repos/.*$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+resource}:getIamPolicy", +"response": { +"$ref": "Policy" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/source.full_control", +"https://www.googleapis.com/auth/source.read_only", +"https://www.googleapis.com/auth/source.read_write" +] +}, +"list": { +"description": "Returns all repos belonging to a project. The sizes of the repos are not set by ListRepos. To get the size of a repo, use GetRepo.", +"flatPath": "v1/projects/{projectsId}/repos", +"httpMethod": "GET", +"id": "sourcerepo.projects.repos.list", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "The project ID whose repos should be listed. Values are of the form `projects/`.", +"location": "path", +"pattern": "^projects/[^/]+$", +"required": true, +"type": "string" +}, +"pageSize": { +"description": "Maximum number of repositories to return; between 1 and 500. If not set or zero, defaults to 100 at the server.", +"format": "int32", +"location": "query", +"type": "integer" +}, +"pageToken": { +"description": "Resume listing repositories where a prior ListReposResponse left off. This is an opaque token that must be obtained from a recent, prior ListReposResponse's next_page_token field.", +"location": "query", +"type": "string" +} +}, +"path": "v1/{+name}/repos", +"response": { +"$ref": "ListReposResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/source.full_control", +"https://www.googleapis.com/auth/source.read_only", +"https://www.googleapis.com/auth/source.read_write" +] +}, +"patch": { +"description": "Updates information about a repo.", +"flatPath": "v1/projects/{projectsId}/repos/{reposId}", +"httpMethod": "PATCH", +"id": "sourcerepo.projects.repos.patch", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "The name of the requested repository. Values are of the form `projects//repos/`.", +"location": "path", +"pattern": "^projects/[^/]+/repos/.*$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+name}", +"request": { +"$ref": "UpdateRepoRequest" +}, +"response": { +"$ref": "Repo" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"setIamPolicy": { +"description": "Sets the IAM policy on the specified resource. Replaces any existing policy.", +"flatPath": "v1/projects/{projectsId}/repos/{reposId}:setIamPolicy", +"httpMethod": "POST", +"id": "sourcerepo.projects.repos.setIamPolicy", +"parameterOrder": [ +"resource" +], +"parameters": { +"resource": { +"description": "REQUIRED: The resource for which the policy is being specified. See [Resource names](https://cloud.google.com/apis/design/resource_names) for the appropriate value for this field.", +"location": "path", +"pattern": "^projects/[^/]+/repos/.*$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+resource}:setIamPolicy", +"request": { +"$ref": "SetIamPolicyRequest" +}, +"response": { +"$ref": "Policy" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/source.full_control" +] +}, +"sync": { +"description": "Synchronize a connected repo. The response contains SyncRepoMetadata in the metadata field.", +"flatPath": "v1/projects/{projectsId}/repos/{reposId}:sync", +"httpMethod": "POST", +"id": "sourcerepo.projects.repos.sync", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "The name of the repo to synchronize. Values are of the form `projects//repos/`.", +"location": "path", +"pattern": "^projects/[^/]+/repos/.*$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+name}:sync", +"request": { +"$ref": "SyncRepoRequest" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"testIamPermissions": { +"description": "Returns permissions that a caller has on the specified resource. If the resource does not exist, this will return an empty set of permissions, not a NOT_FOUND error.", +"flatPath": "v1/projects/{projectsId}/repos/{reposId}:testIamPermissions", +"httpMethod": "POST", +"id": "sourcerepo.projects.repos.testIamPermissions", +"parameterOrder": [ +"resource" +], +"parameters": { +"resource": { +"description": "REQUIRED: The resource for which the policy detail is being requested. See [Resource names](https://cloud.google.com/apis/design/resource_names) for the appropriate value for this field.", +"location": "path", +"pattern": "^projects/[^/]+/repos/.*$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+resource}:testIamPermissions", +"request": { +"$ref": "TestIamPermissionsRequest" +}, +"response": { +"$ref": "TestIamPermissionsResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/source.full_control", +"https://www.googleapis.com/auth/source.read_only", +"https://www.googleapis.com/auth/source.read_write" +] +} +} +} +} +} +}, +"revision": "20240617", +"rootUrl": "https://sourcerepo.googleapis.com/", +"schemas": { +"AuditConfig": { +"description": "Specifies the audit configuration for a service. The configuration determines which permission types are logged, and what identities, if any, are exempted from logging. An AuditConfig must have one or more AuditLogConfigs. If there are AuditConfigs for both `allServices` and a specific service, the union of the two AuditConfigs is used for that service: the log_types specified in each AuditConfig are enabled, and the exempted_members in each AuditLogConfig are exempted. Example Policy with multiple AuditConfigs: { \"audit_configs\": [ { \"service\": \"allServices\", \"audit_log_configs\": [ { \"log_type\": \"DATA_READ\", \"exempted_members\": [ \"user:jose@example.com\" ] }, { \"log_type\": \"DATA_WRITE\" }, { \"log_type\": \"ADMIN_READ\" } ] }, { \"service\": \"sampleservice.googleapis.com\", \"audit_log_configs\": [ { \"log_type\": \"DATA_READ\" }, { \"log_type\": \"DATA_WRITE\", \"exempted_members\": [ \"user:aliya@example.com\" ] } ] } ] } For sampleservice, this policy enables DATA_READ, DATA_WRITE and ADMIN_READ logging. It also exempts `jose@example.com` from DATA_READ logging, and `aliya@example.com` from DATA_WRITE logging.", +"id": "AuditConfig", +"properties": { +"auditLogConfigs": { +"description": "The configuration for logging of each type of permission.", +"items": { +"$ref": "AuditLogConfig" +}, +"type": "array" +}, +"service": { +"description": "Specifies a service that will be enabled for audit logging. For example, `storage.googleapis.com`, `cloudsql.googleapis.com`. `allServices` is a special value that covers all services.", +"type": "string" +} +}, +"type": "object" +}, +"AuditLogConfig": { +"description": "Provides the configuration for logging a type of permissions. Example: { \"audit_log_configs\": [ { \"log_type\": \"DATA_READ\", \"exempted_members\": [ \"user:jose@example.com\" ] }, { \"log_type\": \"DATA_WRITE\" } ] } This enables 'DATA_READ' and 'DATA_WRITE' logging, while exempting jose@example.com from DATA_READ logging.", +"id": "AuditLogConfig", +"properties": { +"exemptedMembers": { +"description": "Specifies the identities that do not cause logging for this type of permission. Follows the same format of Binding.members.", +"items": { +"type": "string" +}, +"type": "array" +}, +"logType": { +"description": "The log type that this config enables.", +"enum": [ +"LOG_TYPE_UNSPECIFIED", +"ADMIN_READ", +"DATA_WRITE", +"DATA_READ" +], +"enumDescriptions": [ +"Default case. Should never be this.", +"Admin reads. Example: CloudIAM getIamPolicy", +"Data writes. Example: CloudSQL Users create", +"Data reads. Example: CloudSQL Users list" +], +"type": "string" +} +}, +"type": "object" +}, +"Binding": { +"description": "Associates `members`, or principals, with a `role`.", +"id": "Binding", +"properties": { +"condition": { +"$ref": "Expr", +"description": "The condition that is associated with this binding. If the condition evaluates to `true`, then this binding applies to the current request. If the condition evaluates to `false`, then this binding does not apply to the current request. However, a different role binding might grant the same role to one or more of the principals in this binding. To learn which resources support conditions in their IAM policies, see the [IAM documentation](https://cloud.google.com/iam/help/conditions/resource-policies)." +}, +"members": { +"description": "Specifies the principals requesting access for a Google Cloud resource. `members` can have the following values: * `allUsers`: A special identifier that represents anyone who is on the internet; with or without a Google account. * `allAuthenticatedUsers`: A special identifier that represents anyone who is authenticated with a Google account or a service account. Does not include identities that come from external identity providers (IdPs) through identity federation. * `user:{emailid}`: An email address that represents a specific Google account. For example, `alice@example.com` . * `serviceAccount:{emailid}`: An email address that represents a Google service account. For example, `my-other-app@appspot.gserviceaccount.com`. * `serviceAccount:{projectid}.svc.id.goog[{namespace}/{kubernetes-sa}]`: An identifier for a [Kubernetes service account](https://cloud.google.com/kubernetes-engine/docs/how-to/kubernetes-service-accounts). For example, `my-project.svc.id.goog[my-namespace/my-kubernetes-sa]`. * `group:{emailid}`: An email address that represents a Google group. For example, `admins@example.com`. * `domain:{domain}`: The G Suite domain (primary) that represents all the users of that domain. For example, `google.com` or `example.com`. * `principal://iam.googleapis.com/locations/global/workforcePools/{pool_id}/subject/{subject_attribute_value}`: A single identity in a workforce identity pool. * `principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/group/{group_id}`: All workforce identities in a group. * `principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/attribute.{attribute_name}/{attribute_value}`: All workforce identities with a specific attribute value. * `principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/*`: All identities in a workforce identity pool. * `principal://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/subject/{subject_attribute_value}`: A single identity in a workload identity pool. * `principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/group/{group_id}`: A workload identity pool group. * `principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/attribute.{attribute_name}/{attribute_value}`: All identities in a workload identity pool with a certain attribute. * `principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/*`: All identities in a workload identity pool. * `deleted:user:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a user that has been recently deleted. For example, `alice@example.com?uid=123456789012345678901`. If the user is recovered, this value reverts to `user:{emailid}` and the recovered user retains the role in the binding. * `deleted:serviceAccount:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a service account that has been recently deleted. For example, `my-other-app@appspot.gserviceaccount.com?uid=123456789012345678901`. If the service account is undeleted, this value reverts to `serviceAccount:{emailid}` and the undeleted service account retains the role in the binding. * `deleted:group:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a Google group that has been recently deleted. For example, `admins@example.com?uid=123456789012345678901`. If the group is recovered, this value reverts to `group:{emailid}` and the recovered group retains the role in the binding. * `deleted:principal://iam.googleapis.com/locations/global/workforcePools/{pool_id}/subject/{subject_attribute_value}`: Deleted single identity in a workforce identity pool. For example, `deleted:principal://iam.googleapis.com/locations/global/workforcePools/my-pool-id/subject/my-subject-attribute-value`.", +"items": { +"type": "string" +}, +"type": "array" +}, +"role": { +"description": "Role that is assigned to the list of `members`, or principals. For example, `roles/viewer`, `roles/editor`, or `roles/owner`. For an overview of the IAM roles and permissions, see the [IAM documentation](https://cloud.google.com/iam/docs/roles-overview). For a list of the available pre-defined roles, see [here](https://cloud.google.com/iam/docs/understanding-roles).", +"type": "string" +} +}, +"type": "object" +}, +"Empty": { +"description": "A generic empty message that you can re-use to avoid defining duplicated empty messages in your APIs. A typical example is to use it as the request or the response type of an API method. For instance: service Foo { rpc Bar(google.protobuf.Empty) returns (google.protobuf.Empty); }", +"id": "Empty", +"properties": {}, +"type": "object" +}, +"Expr": { +"description": "Represents a textual expression in the Common Expression Language (CEL) syntax. CEL is a C-like expression language. The syntax and semantics of CEL are documented at https://github.com/google/cel-spec. Example (Comparison): title: \"Summary size limit\" description: \"Determines if a summary is less than 100 chars\" expression: \"document.summary.size() < 100\" Example (Equality): title: \"Requestor is owner\" description: \"Determines if requestor is the document owner\" expression: \"document.owner == request.auth.claims.email\" Example (Logic): title: \"Public documents\" description: \"Determine whether the document should be publicly visible\" expression: \"document.type != 'private' && document.type != 'internal'\" Example (Data Manipulation): title: \"Notification string\" description: \"Create a notification string with a timestamp.\" expression: \"'New message received at ' + string(document.create_time)\" The exact variables and functions that may be referenced within an expression are determined by the service that evaluates it. See the service documentation for additional information.", +"id": "Expr", +"properties": { +"description": { +"description": "Optional. Description of the expression. This is a longer text which describes the expression, e.g. when hovered over it in a UI.", +"type": "string" +}, +"expression": { +"description": "Textual representation of an expression in Common Expression Language syntax.", +"type": "string" +}, +"location": { +"description": "Optional. String indicating the location of the expression for error reporting, e.g. a file name and a position in the file.", +"type": "string" +}, +"title": { +"description": "Optional. Title for the expression, i.e. a short string describing its purpose. This can be used e.g. in UIs which allow to enter the expression.", +"type": "string" +} +}, +"type": "object" +}, +"ListReposResponse": { +"description": "Response for ListRepos. The size is not set in the returned repositories.", +"id": "ListReposResponse", +"properties": { +"nextPageToken": { +"description": "If non-empty, additional repositories exist within the project. These can be retrieved by including this value in the next ListReposRequest's page_token field.", +"type": "string" +}, +"repos": { +"description": "The listed repos.", +"items": { +"$ref": "Repo" +}, +"type": "array" +} +}, +"type": "object" +}, +"MirrorConfig": { +"description": "Configuration to automatically mirror a repository from another hosting service, for example GitHub or Bitbucket.", +"id": "MirrorConfig", +"properties": { +"deployKeyId": { +"description": "ID of the SSH deploy key at the other hosting service. Removing this key from the other service would deauthorize Google Cloud Source Repositories from mirroring.", +"type": "string" +}, +"url": { +"description": "URL of the main repository at the other hosting service.", +"type": "string" +}, +"webhookId": { +"description": "ID of the webhook listening to updates to trigger mirroring. Removing this webhook from the other hosting service will stop Google Cloud Source Repositories from receiving notifications, and thereby disabling mirroring.", +"type": "string" +} +}, +"type": "object" +}, +"Operation": { +"description": "This resource represents a long-running operation that is the result of a network API call.", +"id": "Operation", +"properties": { +"done": { +"description": "If the value is `false`, it means the operation is still in progress. If `true`, the operation is completed, and either `error` or `response` is available.", +"type": "boolean" +}, +"error": { +"$ref": "Status", +"description": "The error result of the operation in case of failure or cancellation." +}, +"metadata": { +"additionalProperties": { +"description": "Properties of the object. Contains field @type with type URL.", +"type": "any" +}, +"description": "Service-specific metadata associated with the operation. It typically contains progress information and common metadata such as create time. Some services might not provide such metadata. Any method that returns a long-running operation should document the metadata type, if any.", +"type": "object" +}, +"name": { +"description": "The server-assigned name, which is only unique within the same service that originally returns it. If you use the default HTTP mapping, the `name` should be a resource name ending with `operations/{unique_id}`.", +"type": "string" +}, +"response": { +"additionalProperties": { +"description": "Properties of the object. Contains field @type with type URL.", +"type": "any" +}, +"description": "The normal, successful response of the operation. If the original method returns no data on success, such as `Delete`, the response is `google.protobuf.Empty`. If the original method is standard `Get`/`Create`/`Update`, the response should be the resource. For other methods, the response should have the type `XxxResponse`, where `Xxx` is the original method name. For example, if the original method name is `TakeSnapshot()`, the inferred response type is `TakeSnapshotResponse`.", +"type": "object" +} +}, +"type": "object" +}, +"Policy": { +"description": "An Identity and Access Management (IAM) policy, which specifies access controls for Google Cloud resources. A `Policy` is a collection of `bindings`. A `binding` binds one or more `members`, or principals, to a single `role`. Principals can be user accounts, service accounts, Google groups, and domains (such as G Suite). A `role` is a named list of permissions; each `role` can be an IAM predefined role or a user-created custom role. For some types of Google Cloud resources, a `binding` can also specify a `condition`, which is a logical expression that allows access to a resource only if the expression evaluates to `true`. A condition can add constraints based on attributes of the request, the resource, or both. To learn which resources support conditions in their IAM policies, see the [IAM documentation](https://cloud.google.com/iam/help/conditions/resource-policies). **JSON example:** ``` { \"bindings\": [ { \"role\": \"roles/resourcemanager.organizationAdmin\", \"members\": [ \"user:mike@example.com\", \"group:admins@example.com\", \"domain:google.com\", \"serviceAccount:my-project-id@appspot.gserviceaccount.com\" ] }, { \"role\": \"roles/resourcemanager.organizationViewer\", \"members\": [ \"user:eve@example.com\" ], \"condition\": { \"title\": \"expirable access\", \"description\": \"Does not grant access after Sep 2020\", \"expression\": \"request.time < timestamp('2020-10-01T00:00:00.000Z')\", } } ], \"etag\": \"BwWWja0YfJA=\", \"version\": 3 } ``` **YAML example:** ``` bindings: - members: - user:mike@example.com - group:admins@example.com - domain:google.com - serviceAccount:my-project-id@appspot.gserviceaccount.com role: roles/resourcemanager.organizationAdmin - members: - user:eve@example.com role: roles/resourcemanager.organizationViewer condition: title: expirable access description: Does not grant access after Sep 2020 expression: request.time < timestamp('2020-10-01T00:00:00.000Z') etag: BwWWja0YfJA= version: 3 ``` For a description of IAM and its features, see the [IAM documentation](https://cloud.google.com/iam/docs/).", +"id": "Policy", +"properties": { +"auditConfigs": { +"description": "Specifies cloud audit logging configuration for this policy.", +"items": { +"$ref": "AuditConfig" +}, +"type": "array" +}, +"bindings": { +"description": "Associates a list of `members`, or principals, with a `role`. Optionally, may specify a `condition` that determines how and when the `bindings` are applied. Each of the `bindings` must contain at least one principal. The `bindings` in a `Policy` can refer to up to 1,500 principals; up to 250 of these principals can be Google groups. Each occurrence of a principal counts towards these limits. For example, if the `bindings` grant 50 different roles to `user:alice@example.com`, and not to any other principal, then you can add another 1,450 principals to the `bindings` in the `Policy`.", +"items": { +"$ref": "Binding" +}, +"type": "array" +}, +"etag": { +"description": "`etag` is used for optimistic concurrency control as a way to help prevent simultaneous updates of a policy from overwriting each other. It is strongly suggested that systems make use of the `etag` in the read-modify-write cycle to perform policy updates in order to avoid race conditions: An `etag` is returned in the response to `getIamPolicy`, and systems are expected to put that etag in the request to `setIamPolicy` to ensure that their change will be applied to the same version of the policy. **Important:** If you use IAM Conditions, you must include the `etag` field whenever you call `setIamPolicy`. If you omit this field, then IAM allows you to overwrite a version `3` policy with a version `1` policy, and all of the conditions in the version `3` policy are lost.", +"format": "byte", +"type": "string" +}, +"version": { +"description": "Specifies the format of the policy. Valid values are `0`, `1`, and `3`. Requests that specify an invalid value are rejected. Any operation that affects conditional role bindings must specify version `3`. This requirement applies to the following operations: * Getting a policy that includes a conditional role binding * Adding a conditional role binding to a policy * Changing a conditional role binding in a policy * Removing any role binding, with or without a condition, from a policy that includes conditions **Important:** If you use IAM Conditions, you must include the `etag` field whenever you call `setIamPolicy`. If you omit this field, then IAM allows you to overwrite a version `3` policy with a version `1` policy, and all of the conditions in the version `3` policy are lost. If a policy does not include any conditions, operations on that policy may specify any valid version or leave the field unset. To learn which resources support conditions in their IAM policies, see the [IAM documentation](https://cloud.google.com/iam/help/conditions/resource-policies).", +"format": "int32", +"type": "integer" +} +}, +"type": "object" +}, +"ProjectConfig": { +"description": "Cloud Source Repositories configuration of a project.", +"id": "ProjectConfig", +"properties": { +"enablePrivateKeyCheck": { +"description": "Reject a Git push that contains a private key.", +"type": "boolean" +}, +"name": { +"description": "The name of the project. Values are of the form `projects/`.", +"type": "string" +}, +"pubsubConfigs": { +"additionalProperties": { +"$ref": "PubsubConfig" +}, +"description": "How this project publishes a change in the repositories through Cloud Pub/Sub. Keyed by the topic names.", +"type": "object" +} +}, +"type": "object" +}, +"PubsubConfig": { +"description": "Configuration to publish a Cloud Pub/Sub message.", +"id": "PubsubConfig", +"properties": { +"messageFormat": { +"description": "The format of the Cloud Pub/Sub messages.", +"enum": [ +"MESSAGE_FORMAT_UNSPECIFIED", +"PROTOBUF", +"JSON" +], +"enumDescriptions": [ +"Unspecified.", +"The message payload is a serialized protocol buffer of SourceRepoEvent.", +"The message payload is a JSON string of SourceRepoEvent." +], +"type": "string" +}, +"serviceAccountEmail": { +"description": "Email address of the service account used for publishing Cloud Pub/Sub messages. This service account needs to be in the same project as the PubsubConfig. When added, the caller needs to have iam.serviceAccounts.actAs permission on this service account. If unspecified, it defaults to the compute engine default service account.", +"type": "string" +}, +"topic": { +"description": "A topic of Cloud Pub/Sub. Values are of the form `projects//topics/`. The project needs to be the same project as this config is in.", +"type": "string" +} +}, +"type": "object" +}, +"Repo": { +"description": "A repository (or repo) is a Git repository storing versioned source content.", +"id": "Repo", +"properties": { +"mirrorConfig": { +"$ref": "MirrorConfig", +"description": "How this repository mirrors a repository managed by another service. Read-only field." +}, +"name": { +"description": "Resource name of the repository, of the form `projects//repos/`. The repo name may contain slashes. eg, `projects/myproject/repos/name/with/slash`", +"type": "string" +}, +"pubsubConfigs": { +"additionalProperties": { +"$ref": "PubsubConfig" +}, +"description": "How this repository publishes a change in the repository through Cloud Pub/Sub. Keyed by the topic names.", +"type": "object" +}, +"size": { +"description": "The disk usage of the repo, in bytes. Read-only field. Size is only returned by GetRepo.", +"format": "int64", +"type": "string" +}, +"url": { +"description": "URL to clone the repository from Google Cloud Source Repositories. Read-only field.", +"type": "string" +} +}, +"type": "object" +}, +"SetIamPolicyRequest": { +"description": "Request message for `SetIamPolicy` method.", +"id": "SetIamPolicyRequest", +"properties": { +"policy": { +"$ref": "Policy", +"description": "REQUIRED: The complete policy to be applied to the `resource`. The size of the policy is limited to a few 10s of KB. An empty policy is a valid policy but certain Google Cloud services (such as Projects) might reject them." +}, +"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" +} +}, +"type": "object" +}, +"Status": { +"description": "The `Status` type defines a logical error model that is suitable for different programming environments, including REST APIs and RPC APIs. It is used by [gRPC](https://github.com/grpc). Each `Status` message contains three pieces of data: error code, error message, and error details. You can find out more about this error model and how to work with it in the [API Design Guide](https://cloud.google.com/apis/design/errors).", +"id": "Status", +"properties": { +"code": { +"description": "The status code, which should be an enum value of google.rpc.Code.", +"format": "int32", +"type": "integer" +}, +"details": { +"description": "A list of messages that carry the error details. There is a common set of message types for APIs to use.", +"items": { +"additionalProperties": { +"description": "Properties of the object. Contains field @type with type URL.", +"type": "any" +}, +"type": "object" +}, +"type": "array" +}, +"message": { +"description": "A developer-facing error message, which should be in English. Any user-facing error message should be localized and sent in the google.rpc.Status.details field, or localized by the client.", +"type": "string" +} +}, +"type": "object" +}, +"SyncRepoMetadata": { +"description": "Metadata of SyncRepo. This message is in the metadata field of Operation.", +"id": "SyncRepoMetadata", +"properties": { +"name": { +"description": "The name of the repo being synchronized. Values are of the form `projects//repos/`.", +"type": "string" +}, +"startTime": { +"description": "The time this operation is started.", +"format": "google-datetime", +"type": "string" +}, +"statusMessage": { +"description": "The latest status message on syncing the repository.", +"type": "string" +}, +"updateTime": { +"description": "The time this operation's status message is updated.", +"format": "google-datetime", +"type": "string" +} +}, +"type": "object" +}, +"SyncRepoRequest": { +"description": "Request for SyncRepo.", +"id": "SyncRepoRequest", +"properties": {}, +"type": "object" +}, +"TestIamPermissionsRequest": { +"description": "Request message for `TestIamPermissions` method.", +"id": "TestIamPermissionsRequest", +"properties": { +"permissions": { +"description": "The set of permissions to check for the `resource`. Permissions with wildcards (such as `*` or `storage.*`) are not allowed. For more information see [IAM Overview](https://cloud.google.com/iam/docs/overview#permissions).", +"items": { +"type": "string" +}, +"type": "array" +} +}, +"type": "object" +}, +"TestIamPermissionsResponse": { +"description": "Response message for `TestIamPermissions` method.", +"id": "TestIamPermissionsResponse", +"properties": { +"permissions": { +"description": "A subset of `TestPermissionsRequest.permissions` that the caller is allowed.", +"items": { +"type": "string" +}, +"type": "array" +} +}, +"type": "object" +}, +"UpdateProjectConfigRequest": { +"description": "Request for UpdateProjectConfig.", +"id": "UpdateProjectConfigRequest", +"properties": { +"projectConfig": { +"$ref": "ProjectConfig", +"description": "The new configuration for the project." +}, +"updateMask": { +"description": "A FieldMask specifying which fields of the project_config to modify. Only the fields in the mask will be modified. If no mask is provided, this request is no-op.", +"format": "google-fieldmask", +"type": "string" +} +}, +"type": "object" +}, +"UpdateRepoRequest": { +"description": "Request for UpdateRepo.", +"id": "UpdateRepoRequest", +"properties": { +"repo": { +"$ref": "Repo", +"description": "The new configuration for the repository." +}, +"updateMask": { +"description": "A FieldMask specifying which fields of the repo to modify. Only the fields in the mask will be modified. If no mask is provided, this request is no-op.", +"format": "google-fieldmask", +"type": "string" +} +}, +"type": "object" +} +}, +"servicePath": "", +"title": "Cloud Source Repositories API", +"version": "v1", +"version_module": true +} \ No newline at end of file diff --git a/.venv/lib/python3.11/site-packages/googleapiclient/discovery_cache/documents/storagetransfer.v1.json b/.venv/lib/python3.11/site-packages/googleapiclient/discovery_cache/documents/storagetransfer.v1.json new file mode 100644 index 0000000000000000000000000000000000000000..b26e10c64cb32a11e238679b81df71c5407b2d7e --- /dev/null +++ b/.venv/lib/python3.11/site-packages/googleapiclient/discovery_cache/documents/storagetransfer.v1.json @@ -0,0 +1,1966 @@ +{ +"auth": { +"oauth2": { +"scopes": { +"https://www.googleapis.com/auth/cloud-platform": { +"description": "See, edit, configure, and delete your Google Cloud data and see the email address for your Google Account." +} +} +} +}, +"basePath": "", +"baseUrl": "https://storagetransfer.googleapis.com/", +"batchPath": "batch", +"description": "Transfers data from external data sources to a Google Cloud Storage bucket or between Google Cloud Storage buckets. ", +"discoveryVersion": "v1", +"documentationLink": "https://cloud.google.com/storage-transfer/docs", +"fullyEncodeReservedExpansion": true, +"icons": { +"x16": "http://www.google.com/images/icons/product/search-16.gif", +"x32": "http://www.google.com/images/icons/product/search-32.gif" +}, +"id": "storagetransfer:v1", +"kind": "discovery#restDescription", +"mtlsRootUrl": "https://storagetransfer.mtls.googleapis.com/", +"name": "storagetransfer", +"ownerDomain": "google.com", +"ownerName": "Google", +"parameters": { +"$.xgafv": { +"description": "V1 error format.", +"enum": [ +"1", +"2" +], +"enumDescriptions": [ +"v1 error format", +"v2 error format" +], +"location": "query", +"type": "string" +}, +"access_token": { +"description": "OAuth access token.", +"location": "query", +"type": "string" +}, +"alt": { +"default": "json", +"description": "Data format for response.", +"enum": [ +"json", +"media", +"proto" +], +"enumDescriptions": [ +"Responses with Content-Type of application/json", +"Media download with context-dependent Content-Type", +"Responses with Content-Type of application/x-protobuf" +], +"location": "query", +"type": "string" +}, +"callback": { +"description": "JSONP", +"location": "query", +"type": "string" +}, +"fields": { +"description": "Selector specifying which fields to include in a partial response.", +"location": "query", +"type": "string" +}, +"key": { +"description": "API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token.", +"location": "query", +"type": "string" +}, +"oauth_token": { +"description": "OAuth 2.0 token for the current user.", +"location": "query", +"type": "string" +}, +"prettyPrint": { +"default": "true", +"description": "Returns response with indentations and line breaks.", +"location": "query", +"type": "boolean" +}, +"quotaUser": { +"description": "Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters.", +"location": "query", +"type": "string" +}, +"uploadType": { +"description": "Legacy upload protocol for media (e.g. \"media\", \"multipart\").", +"location": "query", +"type": "string" +}, +"upload_protocol": { +"description": "Upload protocol for media (e.g. \"raw\", \"multipart\").", +"location": "query", +"type": "string" +} +}, +"protocol": "rest", +"resources": { +"googleServiceAccounts": { +"methods": { +"get": { +"description": "Returns the Google service account that is used by Storage Transfer Service to access buckets in the project where transfers run or in other projects. Each Google service account is associated with one Google Cloud project. Users should add this service account to the Google Cloud Storage bucket ACLs to grant access to Storage Transfer Service. This service account is created and owned by Storage Transfer Service and can only be used by Storage Transfer Service.", +"flatPath": "v1/googleServiceAccounts/{projectId}", +"httpMethod": "GET", +"id": "storagetransfer.googleServiceAccounts.get", +"parameterOrder": [ +"projectId" +], +"parameters": { +"projectId": { +"description": "Required. The ID of the Google Cloud project that the Google service account is associated with.", +"location": "path", +"required": true, +"type": "string" +} +}, +"path": "v1/googleServiceAccounts/{projectId}", +"response": { +"$ref": "GoogleServiceAccount" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +} +} +}, +"projects": { +"resources": { +"agentPools": { +"methods": { +"create": { +"description": "Creates an agent pool resource.", +"flatPath": "v1/projects/{projectsId}/agentPools", +"httpMethod": "POST", +"id": "storagetransfer.projects.agentPools.create", +"parameterOrder": [ +"projectId" +], +"parameters": { +"agentPoolId": { +"description": "Required. The ID of the agent pool to create. The `agent_pool_id` must meet the following requirements: * Length of 128 characters or less. * Not start with the string `goog`. * Start with a lowercase ASCII character, followed by: * Zero or more: lowercase Latin alphabet characters, numerals, hyphens (`-`), periods (`.`), underscores (`_`), or tildes (`~`). * One or more numerals or lowercase ASCII characters. As expressed by the regular expression: `^(?!goog)[a-z]([a-z0-9-._~]*[a-z0-9])?$`.", +"location": "query", +"type": "string" +}, +"projectId": { +"description": "Required. The ID of the Google Cloud project that owns the agent pool.", +"location": "path", +"pattern": "^[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/projects/{+projectId}/agentPools", +"request": { +"$ref": "AgentPool" +}, +"response": { +"$ref": "AgentPool" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"delete": { +"description": "Deletes an agent pool.", +"flatPath": "v1/projects/{projectsId}/agentPools/{agentPoolsId}", +"httpMethod": "DELETE", +"id": "storagetransfer.projects.agentPools.delete", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. The name of the agent pool to delete.", +"location": "path", +"pattern": "^projects/[^/]+/agentPools/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+name}", +"response": { +"$ref": "Empty" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"get": { +"description": "Gets an agent pool.", +"flatPath": "v1/projects/{projectsId}/agentPools/{agentPoolsId}", +"httpMethod": "GET", +"id": "storagetransfer.projects.agentPools.get", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. The name of the agent pool to get.", +"location": "path", +"pattern": "^projects/[^/]+/agentPools/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+name}", +"response": { +"$ref": "AgentPool" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"list": { +"description": "Lists agent pools.", +"flatPath": "v1/projects/{projectsId}/agentPools", +"httpMethod": "GET", +"id": "storagetransfer.projects.agentPools.list", +"parameterOrder": [ +"projectId" +], +"parameters": { +"filter": { +"description": "An optional list of query parameters specified as JSON text in the form of: `{\"agentPoolNames\":[\"agentpool1\",\"agentpool2\",...]}` Since `agentPoolNames` support multiple values, its values must be specified with array notation. When the filter is either empty or not provided, the list returns all agent pools for the project.", +"location": "query", +"type": "string" +}, +"pageSize": { +"description": "The list page size. The max allowed value is `256`.", +"format": "int32", +"location": "query", +"type": "integer" +}, +"pageToken": { +"description": "The list page token.", +"location": "query", +"type": "string" +}, +"projectId": { +"description": "Required. The ID of the Google Cloud project that owns the job.", +"location": "path", +"pattern": "^[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/projects/{+projectId}/agentPools", +"response": { +"$ref": "ListAgentPoolsResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"patch": { +"description": "Updates an existing agent pool resource.", +"flatPath": "v1/projects/{projectsId}/agentPools/{agentPoolsId}", +"httpMethod": "PATCH", +"id": "storagetransfer.projects.agentPools.patch", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. Specifies a unique string that identifies the agent pool. Format: `projects/{project_id}/agentPools/{agent_pool_id}`", +"location": "path", +"pattern": "^projects/[^/]+/agentPools/[^/]+$", +"required": true, +"type": "string" +}, +"updateMask": { +"description": "The [field mask] (https://developers.google.com/protocol-buffers/docs/reference/google.protobuf) of the fields in `agentPool` to update in this request. The following `agentPool` fields can be updated: * display_name * bandwidth_limit", +"format": "google-fieldmask", +"location": "query", +"type": "string" +} +}, +"path": "v1/{+name}", +"request": { +"$ref": "AgentPool" +}, +"response": { +"$ref": "AgentPool" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +} +} +} +} +}, +"transferJobs": { +"methods": { +"create": { +"description": "Creates a transfer job that runs periodically.", +"flatPath": "v1/transferJobs", +"httpMethod": "POST", +"id": "storagetransfer.transferJobs.create", +"parameterOrder": [], +"parameters": {}, +"path": "v1/transferJobs", +"request": { +"$ref": "TransferJob" +}, +"response": { +"$ref": "TransferJob" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"delete": { +"description": "Deletes a transfer job. Deleting a transfer job sets its status to DELETED.", +"flatPath": "v1/transferJobs/{transferJobsId}", +"httpMethod": "DELETE", +"id": "storagetransfer.transferJobs.delete", +"parameterOrder": [ +"jobName", +"projectId" +], +"parameters": { +"jobName": { +"description": "Required. The job to delete.", +"location": "path", +"pattern": "^transferJobs/.*$", +"required": true, +"type": "string" +}, +"projectId": { +"description": "Required. The ID of the Google Cloud project that owns the job.", +"location": "query", +"required": true, +"type": "string" +} +}, +"path": "v1/{+jobName}", +"response": { +"$ref": "Empty" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"get": { +"description": "Gets a transfer job.", +"flatPath": "v1/transferJobs/{transferJobsId}", +"httpMethod": "GET", +"id": "storagetransfer.transferJobs.get", +"parameterOrder": [ +"jobName", +"projectId" +], +"parameters": { +"jobName": { +"description": "Required. The job to get.", +"location": "path", +"pattern": "^transferJobs/.*$", +"required": true, +"type": "string" +}, +"projectId": { +"description": "Required. The ID of the Google Cloud project that owns the job.", +"location": "query", +"required": true, +"type": "string" +} +}, +"path": "v1/{+jobName}", +"response": { +"$ref": "TransferJob" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"list": { +"description": "Lists transfer jobs.", +"flatPath": "v1/transferJobs", +"httpMethod": "GET", +"id": "storagetransfer.transferJobs.list", +"parameterOrder": [ +"filter" +], +"parameters": { +"filter": { +"description": "Required. A list of query parameters specified as JSON text in the form of: ``` { \"projectId\":\"my_project_id\", \"jobNames\":[\"jobid1\",\"jobid2\",...], \"jobStatuses\":[\"status1\",\"status2\",...], \"dataBackend\":\"QUERY_REPLICATION_CONFIGS\", \"sourceBucket\":\"source-bucket-name\", \"sinkBucket\":\"sink-bucket-name\", } ``` The JSON formatting in the example is for display only; provide the query parameters without spaces or line breaks. * `projectId` is required. * Since `jobNames` and `jobStatuses` support multiple values, their values must be specified with array notation. `jobNames` and `jobStatuses` are optional. Valid values are case-insensitive: * ENABLED * DISABLED * DELETED * Specify `\"dataBackend\":\"QUERY_REPLICATION_CONFIGS\"` to return a list of cross-bucket replication jobs. * Limit the results to jobs from a particular bucket with `sourceBucket` and/or to a particular bucket with `sinkBucket`.", +"location": "query", +"required": true, +"type": "string" +}, +"pageSize": { +"description": "The list page size. The max allowed value is 256.", +"format": "int32", +"location": "query", +"type": "integer" +}, +"pageToken": { +"description": "The list page token.", +"location": "query", +"type": "string" +} +}, +"path": "v1/transferJobs", +"response": { +"$ref": "ListTransferJobsResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"patch": { +"description": "Updates a transfer job. Updating a job's transfer spec does not affect transfer operations that are running already. **Note:** The job's status field can be modified using this RPC (for example, to set a job's status to DELETED, DISABLED, or ENABLED).", +"flatPath": "v1/transferJobs/{transferJobsId}", +"httpMethod": "PATCH", +"id": "storagetransfer.transferJobs.patch", +"parameterOrder": [ +"jobName" +], +"parameters": { +"jobName": { +"description": "Required. The name of job to update.", +"location": "path", +"pattern": "^transferJobs/.*$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+jobName}", +"request": { +"$ref": "UpdateTransferJobRequest" +}, +"response": { +"$ref": "TransferJob" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"run": { +"description": "Starts a new operation for the specified transfer job. A `TransferJob` has a maximum of one active `TransferOperation`. If this method is called while a `TransferOperation` is active, an error is returned.", +"flatPath": "v1/transferJobs/{transferJobsId}:run", +"httpMethod": "POST", +"id": "storagetransfer.transferJobs.run", +"parameterOrder": [ +"jobName" +], +"parameters": { +"jobName": { +"description": "Required. The name of the transfer job.", +"location": "path", +"pattern": "^transferJobs/.*$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+jobName}:run", +"request": { +"$ref": "RunTransferJobRequest" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +} +} +}, +"transferOperations": { +"methods": { +"cancel": { +"description": "Cancels a transfer. Use the transferOperations.get method to check if the cancellation succeeded or if the operation completed despite the `cancel` request. When you cancel an operation, the currently running transfer is interrupted. For recurring transfer jobs, the next instance of the transfer job will still run. For example, if your job is configured to run every day at 1pm and you cancel Monday's operation at 1:05pm, Monday's transfer will stop. However, a transfer job will still be attempted on Tuesday. This applies only to currently running operations. If an operation is not currently running, `cancel` does nothing. *Caution:* Canceling a transfer job can leave your data in an unknown state. We recommend that you restore the state at both the destination and the source after the `cancel` request completes so that your data is in a consistent state. When you cancel a job, the next job computes a delta of files and may repair any inconsistent state. For instance, if you run a job every day, and today's job found 10 new files and transferred five files before you canceled the job, tomorrow's transfer operation will compute a new delta with the five files that were not copied today plus any new files discovered tomorrow.", +"flatPath": "v1/transferOperations/{transferOperationsId}:cancel", +"httpMethod": "POST", +"id": "storagetransfer.transferOperations.cancel", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "The name of the operation resource to be cancelled.", +"location": "path", +"pattern": "^transferOperations/.*$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+name}:cancel", +"request": { +"$ref": "CancelOperationRequest" +}, +"response": { +"$ref": "Empty" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"get": { +"description": "Gets the latest state of a long-running operation. Clients can use this method to poll the operation result at intervals as recommended by the API service.", +"flatPath": "v1/transferOperations/{transferOperationsId}", +"httpMethod": "GET", +"id": "storagetransfer.transferOperations.get", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "The name of the operation resource.", +"location": "path", +"pattern": "^transferOperations/.*$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+name}", +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"list": { +"description": "Lists transfer operations. Operations are ordered by their creation time in reverse chronological order.", +"flatPath": "v1/transferOperations", +"httpMethod": "GET", +"id": "storagetransfer.transferOperations.list", +"parameterOrder": [ +"name", +"filter" +], +"parameters": { +"filter": { +"description": "Required. A list of query parameters specified as JSON text in the form of: `{\"projectId\":\"my_project_id\", \"jobNames\":[\"jobid1\",\"jobid2\",...], \"jobNamePattern\": \"job_name_pattern\", \"operationNames\":[\"opid1\",\"opid2\",...], \"operationNamePattern\": \"operation_name_pattern\", \"minCreationTime\": \"min_creation_time\", \"maxCreationTime\": \"max_creation_time\", \"transferStatuses\":[\"status1\",\"status2\",...]}` Since `jobNames`, `operationNames`, and `transferStatuses` support multiple values, they must be specified with array notation. `projectId` is the only argument that is required. If specified, `jobNamePattern` and `operationNamePattern` must match the full job or operation name respectively. '*' is a wildcard matching 0 or more characters. `minCreationTime` and `maxCreationTime` should be timestamps encoded as a string in the [RFC 3339](https://www.ietf.org/rfc/rfc3339.txt) format. The valid values for `transferStatuses` are case-insensitive: IN_PROGRESS, PAUSED, SUCCESS, FAILED, and ABORTED.", +"location": "query", +"required": true, +"type": "string" +}, +"name": { +"description": "Required. The name of the type being listed; must be `transferOperations`.", +"location": "path", +"pattern": "^transferOperations$", +"required": true, +"type": "string" +}, +"pageSize": { +"description": "The list page size. The max allowed value is 256.", +"format": "int32", +"location": "query", +"type": "integer" +}, +"pageToken": { +"description": "The list page token.", +"location": "query", +"type": "string" +} +}, +"path": "v1/{+name}", +"response": { +"$ref": "ListOperationsResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"pause": { +"description": "Pauses a transfer operation.", +"flatPath": "v1/transferOperations/{transferOperationsId}:pause", +"httpMethod": "POST", +"id": "storagetransfer.transferOperations.pause", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. The name of the transfer operation.", +"location": "path", +"pattern": "^transferOperations/.*$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+name}:pause", +"request": { +"$ref": "PauseTransferOperationRequest" +}, +"response": { +"$ref": "Empty" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"resume": { +"description": "Resumes a transfer operation that is paused.", +"flatPath": "v1/transferOperations/{transferOperationsId}:resume", +"httpMethod": "POST", +"id": "storagetransfer.transferOperations.resume", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. The name of the transfer operation.", +"location": "path", +"pattern": "^transferOperations/.*$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+name}:resume", +"request": { +"$ref": "ResumeTransferOperationRequest" +}, +"response": { +"$ref": "Empty" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +} +} +} +}, +"revision": "20241005", +"rootUrl": "https://storagetransfer.googleapis.com/", +"schemas": { +"AgentPool": { +"description": "Represents an agent pool.", +"id": "AgentPool", +"properties": { +"bandwidthLimit": { +"$ref": "BandwidthLimit", +"description": "Specifies the bandwidth limit details. If this field is unspecified, the default value is set as 'No Limit'." +}, +"displayName": { +"description": "Specifies the client-specified AgentPool description.", +"type": "string" +}, +"name": { +"description": "Required. Specifies a unique string that identifies the agent pool. Format: `projects/{project_id}/agentPools/{agent_pool_id}`", +"type": "string" +}, +"state": { +"description": "Output only. Specifies the state of the AgentPool.", +"enum": [ +"STATE_UNSPECIFIED", +"CREATING", +"CREATED", +"DELETING" +], +"enumDescriptions": [ +"Default value. This value is unused.", +"This is an initialization state. During this stage, resources are allocated for the AgentPool.", +"Determines that the AgentPool is created for use. At this state, Agents can join the AgentPool and participate in the transfer jobs in that pool.", +"Determines that the AgentPool deletion has been initiated, and all the resources are scheduled to be cleaned up and freed." +], +"readOnly": true, +"type": "string" +} +}, +"type": "object" +}, +"AwsAccessKey": { +"description": "AWS access key (see [AWS Security Credentials](https://docs.aws.amazon.com/general/latest/gr/aws-security-credentials.html)). For information on our data retention policy for user credentials, see [User credentials](/storage-transfer/docs/data-retention#user-credentials).", +"id": "AwsAccessKey", +"properties": { +"accessKeyId": { +"description": "Required. AWS access key ID.", +"type": "string" +}, +"secretAccessKey": { +"description": "Required. AWS secret access key. This field is not returned in RPC responses.", +"type": "string" +} +}, +"type": "object" +}, +"AwsS3CompatibleData": { +"description": "An AwsS3CompatibleData resource.", +"id": "AwsS3CompatibleData", +"properties": { +"bucketName": { +"description": "Required. Specifies the name of the bucket.", +"type": "string" +}, +"endpoint": { +"description": "Required. Specifies the endpoint of the storage service.", +"type": "string" +}, +"path": { +"description": "Specifies the root path to transfer objects. Must be an empty string or full path name that ends with a '/'. This field is treated as an object prefix. As such, it should generally not begin with a '/'.", +"type": "string" +}, +"region": { +"description": "Specifies the region to sign requests with. This can be left blank if requests should be signed with an empty region.", +"type": "string" +}, +"s3Metadata": { +"$ref": "S3CompatibleMetadata", +"description": "A S3 compatible metadata." +} +}, +"type": "object" +}, +"AwsS3Data": { +"description": "An AwsS3Data resource can be a data source, but not a data sink. In an AwsS3Data resource, an object's name is the S3 object's key name.", +"id": "AwsS3Data", +"properties": { +"awsAccessKey": { +"$ref": "AwsAccessKey", +"description": "Input only. AWS access key used to sign the API requests to the AWS S3 bucket. Permissions on the bucket must be granted to the access ID of the AWS access key. For information on our data retention policy for user credentials, see [User credentials](/storage-transfer/docs/data-retention#user-credentials)." +}, +"bucketName": { +"description": "Required. S3 Bucket name (see [Creating a bucket](https://docs.aws.amazon.com/AmazonS3/latest/dev/create-bucket-get-location-example.html)).", +"type": "string" +}, +"cloudfrontDomain": { +"description": "Optional. The CloudFront distribution domain name pointing to this bucket, to use when fetching. See [Transfer from S3 via CloudFront](https://cloud.google.com/storage-transfer/docs/s3-cloudfront) for more information. Format: `https://{id}.cloudfront.net` or any valid custom domain. Must begin with `https://`.", +"type": "string" +}, +"credentialsSecret": { +"description": "Optional. The Resource name of a secret in Secret Manager. AWS credentials must be stored in Secret Manager in JSON format: { \"access_key_id\": \"ACCESS_KEY_ID\", \"secret_access_key\": \"SECRET_ACCESS_KEY\" } GoogleServiceAccount must be granted `roles/secretmanager.secretAccessor` for the resource. See [Configure access to a source: Amazon S3] (https://cloud.google.com/storage-transfer/docs/source-amazon-s3#secret_manager) for more information. If `credentials_secret` is specified, do not specify role_arn or aws_access_key. Format: `projects/{project_number}/secrets/{secret_name}`", +"type": "string" +}, +"managedPrivateNetwork": { +"description": "Egress bytes over a Google-managed private network. This network is shared between other users of Storage Transfer Service.", +"type": "boolean" +}, +"path": { +"description": "Root path to transfer objects. Must be an empty string or full path name that ends with a '/'. This field is treated as an object prefix. As such, it should generally not begin with a '/'.", +"type": "string" +}, +"roleArn": { +"description": "The Amazon Resource Name (ARN) of the role to support temporary credentials via `AssumeRoleWithWebIdentity`. For more information about ARNs, see [IAM ARNs](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_identifiers.html#identifiers-arns). When a role ARN is provided, Transfer Service fetches temporary credentials for the session using a `AssumeRoleWithWebIdentity` call for the provided role using the GoogleServiceAccount for this project.", +"type": "string" +} +}, +"type": "object" +}, +"AzureBlobStorageData": { +"description": "An AzureBlobStorageData resource can be a data source, but not a data sink. An AzureBlobStorageData resource represents one Azure container. The storage account determines the [Azure endpoint](https://docs.microsoft.com/en-us/azure/storage/common/storage-create-storage-account#storage-account-endpoints). In an AzureBlobStorageData resource, a blobs's name is the [Azure Blob Storage blob's key name](https://docs.microsoft.com/en-us/rest/api/storageservices/naming-and-referencing-containers--blobs--and-metadata#blob-names).", +"id": "AzureBlobStorageData", +"properties": { +"azureCredentials": { +"$ref": "AzureCredentials", +"description": "Required. Input only. Credentials used to authenticate API requests to Azure. For information on our data retention policy for user credentials, see [User credentials](/storage-transfer/docs/data-retention#user-credentials)." +}, +"container": { +"description": "Required. The container to transfer from the Azure Storage account.", +"type": "string" +}, +"credentialsSecret": { +"description": "Optional. The Resource name of a secret in Secret Manager. The Azure SAS token must be stored in Secret Manager in JSON format: { \"sas_token\" : \"SAS_TOKEN\" } GoogleServiceAccount must be granted `roles/secretmanager.secretAccessor` for the resource. See [Configure access to a source: Microsoft Azure Blob Storage] (https://cloud.google.com/storage-transfer/docs/source-microsoft-azure#secret_manager) for more information. If `credentials_secret` is specified, do not specify azure_credentials. Format: `projects/{project_number}/secrets/{secret_name}`", +"type": "string" +}, +"path": { +"description": "Root path to transfer objects. Must be an empty string or full path name that ends with a '/'. This field is treated as an object prefix. As such, it should generally not begin with a '/'.", +"type": "string" +}, +"storageAccount": { +"description": "Required. The name of the Azure Storage account.", +"type": "string" +} +}, +"type": "object" +}, +"AzureCredentials": { +"description": "Azure credentials For information on our data retention policy for user credentials, see [User credentials](/storage-transfer/docs/data-retention#user-credentials).", +"id": "AzureCredentials", +"properties": { +"sasToken": { +"description": "Required. Azure shared access signature (SAS). For more information about SAS, see [Grant limited access to Azure Storage resources using shared access signatures (SAS)](https://docs.microsoft.com/en-us/azure/storage/common/storage-sas-overview).", +"type": "string" +} +}, +"type": "object" +}, +"BandwidthLimit": { +"description": "Specifies a bandwidth limit for an agent pool.", +"id": "BandwidthLimit", +"properties": { +"limitMbps": { +"description": "Bandwidth rate in megabytes per second, distributed across all the agents in the pool.", +"format": "int64", +"type": "string" +} +}, +"type": "object" +}, +"CancelOperationRequest": { +"description": "The request message for Operations.CancelOperation.", +"id": "CancelOperationRequest", +"properties": {}, +"type": "object" +}, +"Date": { +"description": "Represents a whole or partial calendar date, such as a birthday. The time of day and time zone are either specified elsewhere or are insignificant. The date is relative to the Gregorian Calendar. This can represent one of the following: * A full date, with non-zero year, month, and day values. * A month and day, with a zero year (for example, an anniversary). * A year on its own, with a zero month and a zero day. * A year and month, with a zero day (for example, a credit card expiration date). Related types: * google.type.TimeOfDay * google.type.DateTime * google.protobuf.Timestamp", +"id": "Date", +"properties": { +"day": { +"description": "Day of a month. Must be from 1 to 31 and valid for the year and month, or 0 to specify a year by itself or a year and month where the day isn't significant.", +"format": "int32", +"type": "integer" +}, +"month": { +"description": "Month of a year. Must be from 1 to 12, or 0 to specify a year without a month and day.", +"format": "int32", +"type": "integer" +}, +"year": { +"description": "Year of the date. Must be from 1 to 9999, or 0 to specify a date without a year.", +"format": "int32", +"type": "integer" +} +}, +"type": "object" +}, +"Empty": { +"description": "A generic empty message that you can re-use to avoid defining duplicated empty messages in your APIs. A typical example is to use it as the request or the response type of an API method. For instance: service Foo { rpc Bar(google.protobuf.Empty) returns (google.protobuf.Empty); }", +"id": "Empty", +"properties": {}, +"type": "object" +}, +"ErrorLogEntry": { +"description": "An entry describing an error that has occurred.", +"id": "ErrorLogEntry", +"properties": { +"errorDetails": { +"description": "A list of messages that carry the error details.", +"items": { +"type": "string" +}, +"type": "array" +}, +"url": { +"description": "Required. A URL that refers to the target (a data source, a data sink, or an object) with which the error is associated.", +"type": "string" +} +}, +"type": "object" +}, +"ErrorSummary": { +"description": "A summary of errors by error code, plus a count and sample error log entries.", +"id": "ErrorSummary", +"properties": { +"errorCode": { +"description": "Required.", +"enum": [ +"OK", +"CANCELLED", +"UNKNOWN", +"INVALID_ARGUMENT", +"DEADLINE_EXCEEDED", +"NOT_FOUND", +"ALREADY_EXISTS", +"PERMISSION_DENIED", +"UNAUTHENTICATED", +"RESOURCE_EXHAUSTED", +"FAILED_PRECONDITION", +"ABORTED", +"OUT_OF_RANGE", +"UNIMPLEMENTED", +"INTERNAL", +"UNAVAILABLE", +"DATA_LOSS" +], +"enumDescriptions": [ +"Not an error; returned on success. HTTP Mapping: 200 OK", +"The operation was cancelled, typically by the caller. HTTP Mapping: 499 Client Closed Request", +"Unknown error. For example, this error may be returned when a `Status` value received from another address space belongs to an error space that is not known in this address space. Also errors raised by APIs that do not return enough error information may be converted to this error. HTTP Mapping: 500 Internal Server Error", +"The client specified an invalid argument. Note that this differs from `FAILED_PRECONDITION`. `INVALID_ARGUMENT` indicates arguments that are problematic regardless of the state of the system (e.g., a malformed file name). HTTP Mapping: 400 Bad Request", +"The deadline expired before the operation could complete. For operations that change the state of the system, this error may be returned even if the operation has completed successfully. For example, a successful response from a server could have been delayed long enough for the deadline to expire. HTTP Mapping: 504 Gateway Timeout", +"Some requested entity (e.g., file or directory) was not found. Note to server developers: if a request is denied for an entire class of users, such as gradual feature rollout or undocumented allowlist, `NOT_FOUND` may be used. If a request is denied for some users within a class of users, such as user-based access control, `PERMISSION_DENIED` must be used. HTTP Mapping: 404 Not Found", +"The entity that a client attempted to create (e.g., file or directory) already exists. HTTP Mapping: 409 Conflict", +"The caller does not have permission to execute the specified operation. `PERMISSION_DENIED` must not be used for rejections caused by exhausting some resource (use `RESOURCE_EXHAUSTED` instead for those errors). `PERMISSION_DENIED` must not be used if the caller can not be identified (use `UNAUTHENTICATED` instead for those errors). This error code does not imply the request is valid or the requested entity exists or satisfies other pre-conditions. HTTP Mapping: 403 Forbidden", +"The request does not have valid authentication credentials for the operation. HTTP Mapping: 401 Unauthorized", +"Some resource has been exhausted, perhaps a per-user quota, or perhaps the entire file system is out of space. HTTP Mapping: 429 Too Many Requests", +"The operation was rejected because the system is not in a state required for the operation's execution. For example, the directory to be deleted is non-empty, an rmdir operation is applied to a non-directory, etc. Service implementors can use the following guidelines to decide between `FAILED_PRECONDITION`, `ABORTED`, and `UNAVAILABLE`: (a) Use `UNAVAILABLE` if the client can retry just the failing call. (b) Use `ABORTED` if the client should retry at a higher level. For example, when a client-specified test-and-set fails, indicating the client should restart a read-modify-write sequence. (c) Use `FAILED_PRECONDITION` if the client should not retry until the system state has been explicitly fixed. For example, if an \"rmdir\" fails because the directory is non-empty, `FAILED_PRECONDITION` should be returned since the client should not retry unless the files are deleted from the directory. HTTP Mapping: 400 Bad Request", +"The operation was aborted, typically due to a concurrency issue such as a sequencer check failure or transaction abort. See the guidelines above for deciding between `FAILED_PRECONDITION`, `ABORTED`, and `UNAVAILABLE`. HTTP Mapping: 409 Conflict", +"The operation was attempted past the valid range. E.g., seeking or reading past end-of-file. Unlike `INVALID_ARGUMENT`, this error indicates a problem that may be fixed if the system state changes. For example, a 32-bit file system will generate `INVALID_ARGUMENT` if asked to read at an offset that is not in the range [0,2^32-1], but it will generate `OUT_OF_RANGE` if asked to read from an offset past the current file size. There is a fair bit of overlap between `FAILED_PRECONDITION` and `OUT_OF_RANGE`. We recommend using `OUT_OF_RANGE` (the more specific error) when it applies so that callers who are iterating through a space can easily look for an `OUT_OF_RANGE` error to detect when they are done. HTTP Mapping: 400 Bad Request", +"The operation is not implemented or is not supported/enabled in this service. HTTP Mapping: 501 Not Implemented", +"Internal errors. This means that some invariants expected by the underlying system have been broken. This error code is reserved for serious errors. HTTP Mapping: 500 Internal Server Error", +"The service is currently unavailable. This is most likely a transient condition, which can be corrected by retrying with a backoff. Note that it is not always safe to retry non-idempotent operations. See the guidelines above for deciding between `FAILED_PRECONDITION`, `ABORTED`, and `UNAVAILABLE`. HTTP Mapping: 503 Service Unavailable", +"Unrecoverable data loss or corruption. HTTP Mapping: 500 Internal Server Error" +], +"type": "string" +}, +"errorCount": { +"description": "Required. Count of this type of error.", +"format": "int64", +"type": "string" +}, +"errorLogEntries": { +"description": "Error samples. At most 5 error log entries are recorded for a given error code for a single transfer operation.", +"items": { +"$ref": "ErrorLogEntry" +}, +"type": "array" +} +}, +"type": "object" +}, +"EventStream": { +"description": "Specifies the Event-driven transfer options. Event-driven transfers listen to an event stream to transfer updated files.", +"id": "EventStream", +"properties": { +"eventStreamExpirationTime": { +"description": "Specifies the data and time at which Storage Transfer Service stops listening for events from this stream. After this time, any transfers in progress will complete, but no new transfers are initiated.", +"format": "google-datetime", +"type": "string" +}, +"eventStreamStartTime": { +"description": "Specifies the date and time that Storage Transfer Service starts listening for events from this stream. If no start time is specified or start time is in the past, Storage Transfer Service starts listening immediately.", +"format": "google-datetime", +"type": "string" +}, +"name": { +"description": "Required. Specifies a unique name of the resource such as AWS SQS ARN in the form 'arn:aws:sqs:region:account_id:queue_name', or Pub/Sub subscription resource name in the form 'projects/{project}/subscriptions/{sub}'.", +"type": "string" +} +}, +"type": "object" +}, +"GcsData": { +"description": "In a GcsData resource, an object's name is the Cloud Storage object's name and its \"last modification time\" refers to the object's `updated` property of Cloud Storage objects, which changes when the content or the metadata of the object is updated.", +"id": "GcsData", +"properties": { +"bucketName": { +"description": "Required. Cloud Storage bucket name. Must meet [Bucket Name Requirements](/storage/docs/naming#requirements).", +"type": "string" +}, +"managedFolderTransferEnabled": { +"description": "Preview. Enables the transfer of managed folders between Cloud Storage buckets. Set this option on the gcs_data_source. If set to true: - Managed folders in the source bucket are transferred to the destination bucket. - Managed folders in the destination bucket are overwritten. Other OVERWRITE options are not supported. See [Transfer Cloud Storage managed folders](/storage-transfer/docs/managed-folders).", +"type": "boolean" +}, +"path": { +"description": "Root path to transfer objects. Must be an empty string or full path name that ends with a '/'. This field is treated as an object prefix. As such, it should generally not begin with a '/'. The root path value must meet [Object Name Requirements](/storage/docs/naming#objectnames).", +"type": "string" +} +}, +"type": "object" +}, +"GoogleServiceAccount": { +"description": "Google service account", +"id": "GoogleServiceAccount", +"properties": { +"accountEmail": { +"description": "Email address of the service account.", +"type": "string" +}, +"subjectId": { +"description": "Unique identifier for the service account.", +"type": "string" +} +}, +"type": "object" +}, +"HdfsData": { +"description": "An HdfsData resource specifies a path within an HDFS entity (e.g. a cluster). All cluster-specific settings, such as namenodes and ports, are configured on the transfer agents servicing requests, so HdfsData only contains the root path to the data in our transfer.", +"id": "HdfsData", +"properties": { +"path": { +"description": "Root path to transfer files.", +"type": "string" +} +}, +"type": "object" +}, +"HttpData": { +"description": "An HttpData resource specifies a list of objects on the web to be transferred over HTTP. The information of the objects to be transferred is contained in a file referenced by a URL. The first line in the file must be `\"TsvHttpData-1.0\"`, which specifies the format of the file. Subsequent lines specify the information of the list of objects, one object per list entry. Each entry has the following tab-delimited fields: * **HTTP URL** \u2014 The location of the object. * **Length** \u2014 The size of the object in bytes. * **MD5** \u2014 The base64-encoded MD5 hash of the object. For an example of a valid TSV file, see [Transferring data from URLs](https://cloud.google.com/storage-transfer/docs/create-url-list). When transferring data based on a URL list, keep the following in mind: * When an object located at `http(s)://hostname:port/` is transferred to a data sink, the name of the object at the data sink is `/`. * If the specified size of an object does not match the actual size of the object fetched, the object is not transferred. * If the specified MD5 does not match the MD5 computed from the transferred bytes, the object transfer fails. * Ensure that each URL you specify is publicly accessible. For example, in Cloud Storage you can [share an object publicly] (/storage/docs/cloud-console#_sharingdata) and get a link to it. * Storage Transfer Service obeys `robots.txt` rules and requires the source HTTP server to support `Range` requests and to return a `Content-Length` header in each response. * ObjectConditions have no effect when filtering objects to transfer.", +"id": "HttpData", +"properties": { +"listUrl": { +"description": "Required. The URL that points to the file that stores the object list entries. This file must allow public access. Currently, only URLs with HTTP and HTTPS schemes are supported.", +"type": "string" +} +}, +"type": "object" +}, +"ListAgentPoolsResponse": { +"description": "Response from ListAgentPools.", +"id": "ListAgentPoolsResponse", +"properties": { +"agentPools": { +"description": "A list of agent pools.", +"items": { +"$ref": "AgentPool" +}, +"type": "array" +}, +"nextPageToken": { +"description": "The list next page token.", +"type": "string" +} +}, +"type": "object" +}, +"ListOperationsResponse": { +"description": "The response message for Operations.ListOperations.", +"id": "ListOperationsResponse", +"properties": { +"nextPageToken": { +"description": "The standard List next-page token.", +"type": "string" +}, +"operations": { +"description": "A list of operations that matches the specified filter in the request.", +"items": { +"$ref": "Operation" +}, +"type": "array" +} +}, +"type": "object" +}, +"ListTransferJobsResponse": { +"description": "Response from ListTransferJobs.", +"id": "ListTransferJobsResponse", +"properties": { +"nextPageToken": { +"description": "The list next page token.", +"type": "string" +}, +"transferJobs": { +"description": "A list of transfer jobs.", +"items": { +"$ref": "TransferJob" +}, +"type": "array" +} +}, +"type": "object" +}, +"LoggingConfig": { +"description": "Specifies the logging behavior for transfer operations. Logs can be sent to Cloud Logging for all transfer types. See [Read transfer logs](https://cloud.google.com/storage-transfer/docs/read-transfer-logs) for details.", +"id": "LoggingConfig", +"properties": { +"enableOnpremGcsTransferLogs": { +"description": "For PosixFilesystem transfers, enables [file system transfer logs](https://cloud.google.com/storage-transfer/docs/on-prem-transfer-log-format) instead of, or in addition to, Cloud Logging. This option ignores [LoggableAction] and [LoggableActionState]. If these are set, Cloud Logging will also be enabled for this transfer.", +"type": "boolean" +}, +"logActionStates": { +"description": "States in which `log_actions` are logged. If empty, no logs are generated.", +"items": { +"enum": [ +"LOGGABLE_ACTION_STATE_UNSPECIFIED", +"SUCCEEDED", +"FAILED" +], +"enumDescriptions": [ +"Default value. This value is unused.", +"`LoggableAction` completed successfully. `SUCCEEDED` actions are logged as INFO.", +"`LoggableAction` terminated in an error state. `FAILED` actions are logged as ERROR." +], +"type": "string" +}, +"type": "array" +}, +"logActions": { +"description": "Specifies the actions to be logged. If empty, no logs are generated.", +"items": { +"enum": [ +"LOGGABLE_ACTION_UNSPECIFIED", +"FIND", +"DELETE", +"COPY" +], +"enumDescriptions": [ +"Default value. This value is unused.", +"Listing objects in a bucket.", +"Deleting objects at the source or the destination.", +"Copying objects to Google Cloud Storage." +], +"type": "string" +}, +"type": "array" +} +}, +"type": "object" +}, +"MetadataOptions": { +"description": "Specifies the metadata options for running a transfer.", +"id": "MetadataOptions", +"properties": { +"acl": { +"description": "Specifies how each object's ACLs should be preserved for transfers between Google Cloud Storage buckets. If unspecified, the default behavior is the same as ACL_DESTINATION_BUCKET_DEFAULT.", +"enum": [ +"ACL_UNSPECIFIED", +"ACL_DESTINATION_BUCKET_DEFAULT", +"ACL_PRESERVE" +], +"enumDescriptions": [ +"ACL behavior is unspecified.", +"Use the destination bucket's default object ACLS, if applicable.", +"Preserve the object's original ACLs. This requires the service account to have `storage.objects.getIamPolicy` permission for the source object. [Uniform bucket-level access](https://cloud.google.com/storage/docs/uniform-bucket-level-access) must not be enabled on either the source or destination buckets." +], +"type": "string" +}, +"gid": { +"description": "Specifies how each file's POSIX group ID (GID) attribute should be handled by the transfer. By default, GID is not preserved. Only applicable to transfers involving POSIX file systems, and ignored for other transfers.", +"enum": [ +"GID_UNSPECIFIED", +"GID_SKIP", +"GID_NUMBER" +], +"enumDescriptions": [ +"GID behavior is unspecified.", +"Do not preserve GID during a transfer job.", +"Preserve GID during a transfer job." +], +"type": "string" +}, +"kmsKey": { +"description": "Specifies how each object's Cloud KMS customer-managed encryption key (CMEK) is preserved for transfers between Google Cloud Storage buckets. If unspecified, the default behavior is the same as KMS_KEY_DESTINATION_BUCKET_DEFAULT.", +"enum": [ +"KMS_KEY_UNSPECIFIED", +"KMS_KEY_DESTINATION_BUCKET_DEFAULT", +"KMS_KEY_PRESERVE" +], +"enumDescriptions": [ +"KmsKey behavior is unspecified.", +"Use the destination bucket's default encryption settings.", +"Preserve the object's original Cloud KMS customer-managed encryption key (CMEK) if present. Objects that do not use a Cloud KMS encryption key will be encrypted using the destination bucket's encryption settings." +], +"type": "string" +}, +"mode": { +"description": "Specifies how each file's mode attribute should be handled by the transfer. By default, mode is not preserved. Only applicable to transfers involving POSIX file systems, and ignored for other transfers.", +"enum": [ +"MODE_UNSPECIFIED", +"MODE_SKIP", +"MODE_PRESERVE" +], +"enumDescriptions": [ +"Mode behavior is unspecified.", +"Do not preserve mode during a transfer job.", +"Preserve mode during a transfer job." +], +"type": "string" +}, +"storageClass": { +"description": "Specifies the storage class to set on objects being transferred to Google Cloud Storage buckets. If unspecified, the default behavior is the same as STORAGE_CLASS_DESTINATION_BUCKET_DEFAULT.", +"enum": [ +"STORAGE_CLASS_UNSPECIFIED", +"STORAGE_CLASS_DESTINATION_BUCKET_DEFAULT", +"STORAGE_CLASS_PRESERVE", +"STORAGE_CLASS_STANDARD", +"STORAGE_CLASS_NEARLINE", +"STORAGE_CLASS_COLDLINE", +"STORAGE_CLASS_ARCHIVE" +], +"enumDescriptions": [ +"Storage class behavior is unspecified.", +"Use the destination bucket's default storage class.", +"Preserve the object's original storage class. This is only supported for transfers from Google Cloud Storage buckets. REGIONAL and MULTI_REGIONAL storage classes will be mapped to STANDARD to ensure they can be written to the destination bucket.", +"Set the storage class to STANDARD.", +"Set the storage class to NEARLINE.", +"Set the storage class to COLDLINE.", +"Set the storage class to ARCHIVE." +], +"type": "string" +}, +"symlink": { +"description": "Specifies how symlinks should be handled by the transfer. By default, symlinks are not preserved. Only applicable to transfers involving POSIX file systems, and ignored for other transfers.", +"enum": [ +"SYMLINK_UNSPECIFIED", +"SYMLINK_SKIP", +"SYMLINK_PRESERVE" +], +"enumDescriptions": [ +"Symlink behavior is unspecified.", +"Do not preserve symlinks during a transfer job.", +"Preserve symlinks during a transfer job." +], +"type": "string" +}, +"temporaryHold": { +"description": "Specifies how each object's temporary hold status should be preserved for transfers between Google Cloud Storage buckets. If unspecified, the default behavior is the same as TEMPORARY_HOLD_PRESERVE.", +"enum": [ +"TEMPORARY_HOLD_UNSPECIFIED", +"TEMPORARY_HOLD_SKIP", +"TEMPORARY_HOLD_PRESERVE" +], +"enumDescriptions": [ +"Temporary hold behavior is unspecified.", +"Do not set a temporary hold on the destination object.", +"Preserve the object's original temporary hold status." +], +"type": "string" +}, +"timeCreated": { +"description": "Specifies how each object's `timeCreated` metadata is preserved for transfers. If unspecified, the default behavior is the same as TIME_CREATED_SKIP. This behavior is supported for transfers to Cloud Storage buckets from Cloud Storage, Amazon S3, S3-compatible storage, and Azure sources.", +"enum": [ +"TIME_CREATED_UNSPECIFIED", +"TIME_CREATED_SKIP", +"TIME_CREATED_PRESERVE_AS_CUSTOM_TIME" +], +"enumDescriptions": [ +"TimeCreated behavior is unspecified.", +"Do not preserve the `timeCreated` metadata from the source object.", +"Preserves the source object's `timeCreated` or `lastModified` metadata in the `customTime` field in the destination object. Note that any value stored in the source object's `customTime` field will not be propagated to the destination object." +], +"type": "string" +}, +"uid": { +"description": "Specifies how each file's POSIX user ID (UID) attribute should be handled by the transfer. By default, UID is not preserved. Only applicable to transfers involving POSIX file systems, and ignored for other transfers.", +"enum": [ +"UID_UNSPECIFIED", +"UID_SKIP", +"UID_NUMBER" +], +"enumDescriptions": [ +"UID behavior is unspecified.", +"Do not preserve UID during a transfer job.", +"Preserve UID during a transfer job." +], +"type": "string" +} +}, +"type": "object" +}, +"NotificationConfig": { +"description": "Specification to configure notifications published to Pub/Sub. Notifications are published to the customer-provided topic using the following `PubsubMessage.attributes`: * `\"eventType\"`: one of the EventType values * `\"payloadFormat\"`: one of the PayloadFormat values * `\"projectId\"`: the project_id of the `TransferOperation` * `\"transferJobName\"`: the transfer_job_name of the `TransferOperation` * `\"transferOperationName\"`: the name of the `TransferOperation` The `PubsubMessage.data` contains a TransferOperation resource formatted according to the specified `PayloadFormat`.", +"id": "NotificationConfig", +"properties": { +"eventTypes": { +"description": "Event types for which a notification is desired. If empty, send notifications for all event types.", +"items": { +"enum": [ +"EVENT_TYPE_UNSPECIFIED", +"TRANSFER_OPERATION_SUCCESS", +"TRANSFER_OPERATION_FAILED", +"TRANSFER_OPERATION_ABORTED" +], +"enumDescriptions": [ +"Illegal value, to avoid allowing a default.", +"`TransferOperation` completed with status SUCCESS.", +"`TransferOperation` completed with status FAILED.", +"`TransferOperation` completed with status ABORTED." +], +"type": "string" +}, +"type": "array" +}, +"payloadFormat": { +"description": "Required. The desired format of the notification message payloads.", +"enum": [ +"PAYLOAD_FORMAT_UNSPECIFIED", +"NONE", +"JSON" +], +"enumDescriptions": [ +"Illegal value, to avoid allowing a default.", +"No payload is included with the notification.", +"`TransferOperation` is [formatted as a JSON response](https://developers.google.com/protocol-buffers/docs/proto3#json), in application/json." +], +"type": "string" +}, +"pubsubTopic": { +"description": "Required. The `Topic.name` of the Pub/Sub topic to which to publish notifications. Must be of the format: `projects/{project}/topics/{topic}`. Not matching this format results in an INVALID_ARGUMENT error.", +"type": "string" +} +}, +"type": "object" +}, +"ObjectConditions": { +"description": "Conditions that determine which objects are transferred. Applies only to Cloud Data Sources such as S3, Azure, and Cloud Storage. The \"last modification time\" refers to the time of the last change to the object's content or metadata \u2014 specifically, this is the `updated` property of Cloud Storage objects, the `LastModified` field of S3 objects, and the `Last-Modified` header of Azure blobs. Transfers with a PosixFilesystem source or destination don't support `ObjectConditions`.", +"id": "ObjectConditions", +"properties": { +"excludePrefixes": { +"description": "If you specify `exclude_prefixes`, Storage Transfer Service uses the items in the `exclude_prefixes` array to determine which objects to exclude from a transfer. Objects must not start with one of the matching `exclude_prefixes` for inclusion in a transfer. The following are requirements of `exclude_prefixes`: * Each exclude-prefix can contain any sequence of Unicode characters, to a max length of 1024 bytes when UTF8-encoded, and must not contain Carriage Return or Line Feed characters. Wildcard matching and regular expression matching are not supported. * Each exclude-prefix must omit the leading slash. For example, to exclude the object `s3://my-aws-bucket/logs/y=2015/requests.gz`, specify the exclude-prefix as `logs/y=2015/requests.gz`. * None of the exclude-prefix values can be empty, if specified. * Each exclude-prefix must exclude a distinct portion of the object namespace. No exclude-prefix may be a prefix of another exclude-prefix. * If include_prefixes is specified, then each exclude-prefix must start with the value of a path explicitly included by `include_prefixes`. The max size of `exclude_prefixes` is 1000. For more information, see [Filtering objects from transfers](/storage-transfer/docs/filtering-objects-from-transfers).", +"items": { +"type": "string" +}, +"type": "array" +}, +"includePrefixes": { +"description": "If you specify `include_prefixes`, Storage Transfer Service uses the items in the `include_prefixes` array to determine which objects to include in a transfer. Objects must start with one of the matching `include_prefixes` for inclusion in the transfer. If exclude_prefixes is specified, objects must not start with any of the `exclude_prefixes` specified for inclusion in the transfer. The following are requirements of `include_prefixes`: * Each include-prefix can contain any sequence of Unicode characters, to a max length of 1024 bytes when UTF8-encoded, and must not contain Carriage Return or Line Feed characters. Wildcard matching and regular expression matching are not supported. * Each include-prefix must omit the leading slash. For example, to include the object `s3://my-aws-bucket/logs/y=2015/requests.gz`, specify the include-prefix as `logs/y=2015/requests.gz`. * None of the include-prefix values can be empty, if specified. * Each include-prefix must include a distinct portion of the object namespace. No include-prefix may be a prefix of another include-prefix. The max size of `include_prefixes` is 1000. For more information, see [Filtering objects from transfers](/storage-transfer/docs/filtering-objects-from-transfers).", +"items": { +"type": "string" +}, +"type": "array" +}, +"lastModifiedBefore": { +"description": "If specified, only objects with a \"last modification time\" before this timestamp and objects that don't have a \"last modification time\" are transferred.", +"format": "google-datetime", +"type": "string" +}, +"lastModifiedSince": { +"description": "If specified, only objects with a \"last modification time\" on or after this timestamp and objects that don't have a \"last modification time\" are transferred. The `last_modified_since` and `last_modified_before` fields can be used together for chunked data processing. For example, consider a script that processes each day's worth of data at a time. For that you'd set each of the fields as follows: * `last_modified_since` to the start of the day * `last_modified_before` to the end of the day", +"format": "google-datetime", +"type": "string" +}, +"maxTimeElapsedSinceLastModification": { +"description": "Ensures that objects are not transferred if a specific maximum time has elapsed since the \"last modification time\". When a TransferOperation begins, objects with a \"last modification time\" are transferred only if the elapsed time between the start_time of the `TransferOperation`and the \"last modification time\" of the object is less than the value of max_time_elapsed_since_last_modification`. Objects that do not have a \"last modification time\" are also transferred.", +"format": "google-duration", +"type": "string" +}, +"minTimeElapsedSinceLastModification": { +"description": "Ensures that objects are not transferred until a specific minimum time has elapsed after the \"last modification time\". When a TransferOperation begins, objects with a \"last modification time\" are transferred only if the elapsed time between the start_time of the `TransferOperation` and the \"last modification time\" of the object is equal to or greater than the value of min_time_elapsed_since_last_modification`. Objects that do not have a \"last modification time\" are also transferred.", +"format": "google-duration", +"type": "string" +} +}, +"type": "object" +}, +"Operation": { +"description": "This resource represents a long-running operation that is the result of a network API call.", +"id": "Operation", +"properties": { +"done": { +"description": "If the value is `false`, it means the operation is still in progress. If `true`, the operation is completed, and either `error` or `response` is available.", +"type": "boolean" +}, +"error": { +"$ref": "Status", +"description": "The error result of the operation in case of failure or cancellation." +}, +"metadata": { +"additionalProperties": { +"description": "Properties of the object. Contains field @type with type URL.", +"type": "any" +}, +"description": "Represents the transfer operation object. To request a TransferOperation object, use transferOperations.get.", +"type": "object" +}, +"name": { +"description": "The server-assigned unique name. The format of `name` is `transferOperations/some/unique/name`.", +"type": "string" +}, +"response": { +"additionalProperties": { +"description": "Properties of the object. Contains field @type with type URL.", +"type": "any" +}, +"description": "The normal, successful response of the operation. If the original method returns no data on success, such as `Delete`, the response is `google.protobuf.Empty`. If the original method is standard `Get`/`Create`/`Update`, the response should be the resource. For other methods, the response should have the type `XxxResponse`, where `Xxx` is the original method name. For example, if the original method name is `TakeSnapshot()`, the inferred response type is `TakeSnapshotResponse`.", +"type": "object" +} +}, +"type": "object" +}, +"PauseTransferOperationRequest": { +"description": "Request passed to PauseTransferOperation.", +"id": "PauseTransferOperationRequest", +"properties": {}, +"type": "object" +}, +"PosixFilesystem": { +"description": "A POSIX filesystem resource.", +"id": "PosixFilesystem", +"properties": { +"rootDirectory": { +"description": "Root directory path to the filesystem.", +"type": "string" +} +}, +"type": "object" +}, +"ReplicationSpec": { +"description": "Specifies the configuration for a cross-bucket replication job. Cross-bucket replication copies new or updated objects from a source Cloud Storage bucket to a destination Cloud Storage bucket. Existing objects in the source bucket are not copied by a new cross-bucket replication job.", +"id": "ReplicationSpec", +"properties": { +"gcsDataSink": { +"$ref": "GcsData", +"description": "The Cloud Storage bucket to which to replicate objects." +}, +"gcsDataSource": { +"$ref": "GcsData", +"description": "The Cloud Storage bucket from which to replicate objects." +}, +"objectConditions": { +"$ref": "ObjectConditions", +"description": "Object conditions that determine which objects are transferred. For replication jobs, only `include_prefixes` and `exclude_prefixes` are supported." +}, +"transferOptions": { +"$ref": "TransferOptions", +"description": "Specifies the metadata options to be applied during replication. Delete options are not supported. If a delete option is specified, the request fails with an INVALID_ARGUMENT error." +} +}, +"type": "object" +}, +"ResumeTransferOperationRequest": { +"description": "Request passed to ResumeTransferOperation.", +"id": "ResumeTransferOperationRequest", +"properties": {}, +"type": "object" +}, +"RunTransferJobRequest": { +"description": "Request passed to RunTransferJob.", +"id": "RunTransferJobRequest", +"properties": { +"projectId": { +"description": "Required. The ID of the Google Cloud project that owns the transfer job.", +"type": "string" +} +}, +"type": "object" +}, +"S3CompatibleMetadata": { +"description": "S3CompatibleMetadata contains the metadata fields that apply to the basic types of S3-compatible data providers.", +"id": "S3CompatibleMetadata", +"properties": { +"authMethod": { +"description": "Specifies the authentication and authorization method used by the storage service. When not specified, Transfer Service will attempt to determine right auth method to use.", +"enum": [ +"AUTH_METHOD_UNSPECIFIED", +"AUTH_METHOD_AWS_SIGNATURE_V4", +"AUTH_METHOD_AWS_SIGNATURE_V2" +], +"enumDescriptions": [ +"AuthMethod is not specified.", +"Auth requests with AWS SigV4.", +"Auth requests with AWS SigV2." +], +"type": "string" +}, +"listApi": { +"description": "The Listing API to use for discovering objects. When not specified, Transfer Service will attempt to determine the right API to use.", +"enum": [ +"LIST_API_UNSPECIFIED", +"LIST_OBJECTS_V2", +"LIST_OBJECTS" +], +"enumDescriptions": [ +"ListApi is not specified.", +"Perform listing using ListObjectsV2 API.", +"Legacy ListObjects API." +], +"type": "string" +}, +"protocol": { +"description": "Specifies the network protocol of the agent. When not specified, the default value of NetworkProtocol NETWORK_PROTOCOL_HTTPS is used.", +"enum": [ +"NETWORK_PROTOCOL_UNSPECIFIED", +"NETWORK_PROTOCOL_HTTPS", +"NETWORK_PROTOCOL_HTTP" +], +"enumDescriptions": [ +"NetworkProtocol is not specified.", +"Perform requests using HTTPS.", +"Not recommended: This sends data in clear-text. This is only appropriate within a closed network or for publicly available data. Perform requests using HTTP." +], +"type": "string" +}, +"requestModel": { +"description": "Specifies the API request model used to call the storage service. When not specified, the default value of RequestModel REQUEST_MODEL_VIRTUAL_HOSTED_STYLE is used.", +"enum": [ +"REQUEST_MODEL_UNSPECIFIED", +"REQUEST_MODEL_VIRTUAL_HOSTED_STYLE", +"REQUEST_MODEL_PATH_STYLE" +], +"enumDescriptions": [ +"RequestModel is not specified.", +"Perform requests using Virtual Hosted Style. Example: https://bucket-name.s3.region.amazonaws.com/key-name", +"Perform requests using Path Style. Example: https://s3.region.amazonaws.com/bucket-name/key-name" +], +"type": "string" +} +}, +"type": "object" +}, +"Schedule": { +"description": "Transfers can be scheduled to recur or to run just once.", +"id": "Schedule", +"properties": { +"endTimeOfDay": { +"$ref": "TimeOfDay", +"description": "The time in UTC that no further transfer operations are scheduled. Combined with schedule_end_date, `end_time_of_day` specifies the end date and time for starting new transfer operations. This field must be greater than or equal to the timestamp corresponding to the combintation of schedule_start_date and start_time_of_day, and is subject to the following: * If `end_time_of_day` is not set and `schedule_end_date` is set, then a default value of `23:59:59` is used for `end_time_of_day`. * If `end_time_of_day` is set and `schedule_end_date` is not set, then INVALID_ARGUMENT is returned." +}, +"repeatInterval": { +"description": "Interval between the start of each scheduled TransferOperation. If unspecified, the default value is 24 hours. This value may not be less than 1 hour.", +"format": "google-duration", +"type": "string" +}, +"scheduleEndDate": { +"$ref": "Date", +"description": "The last day a transfer runs. Date boundaries are determined relative to UTC time. A job runs once per 24 hours within the following guidelines: * If `schedule_end_date` and schedule_start_date are the same and in the future relative to UTC, the transfer is executed only one time. * If `schedule_end_date` is later than `schedule_start_date` and `schedule_end_date` is in the future relative to UTC, the job runs each day at start_time_of_day through `schedule_end_date`." +}, +"scheduleStartDate": { +"$ref": "Date", +"description": "Required. The start date of a transfer. Date boundaries are determined relative to UTC time. If `schedule_start_date` and start_time_of_day are in the past relative to the job's creation time, the transfer starts the day after you schedule the transfer request. **Note:** When starting jobs at or near midnight UTC it is possible that a job starts later than expected. For example, if you send an outbound request on June 1 one millisecond prior to midnight UTC and the Storage Transfer Service server receives the request on June 2, then it creates a TransferJob with `schedule_start_date` set to June 2 and a `start_time_of_day` set to midnight UTC. The first scheduled TransferOperation takes place on June 3 at midnight UTC." +}, +"startTimeOfDay": { +"$ref": "TimeOfDay", +"description": "The time in UTC that a transfer job is scheduled to run. Transfers may start later than this time. If `start_time_of_day` is not specified: * One-time transfers run immediately. * Recurring transfers run immediately, and each day at midnight UTC, through schedule_end_date. If `start_time_of_day` is specified: * One-time transfers run at the specified time. * Recurring transfers run at the specified time each day, through `schedule_end_date`." +} +}, +"type": "object" +}, +"Status": { +"description": "The `Status` type defines a logical error model that is suitable for different programming environments, including REST APIs and RPC APIs. It is used by [gRPC](https://github.com/grpc). Each `Status` message contains three pieces of data: error code, error message, and error details. You can find out more about this error model and how to work with it in the [API Design Guide](https://cloud.google.com/apis/design/errors).", +"id": "Status", +"properties": { +"code": { +"description": "The status code, which should be an enum value of google.rpc.Code.", +"format": "int32", +"type": "integer" +}, +"details": { +"description": "A list of messages that carry the error details. There is a common set of message types for APIs to use.", +"items": { +"additionalProperties": { +"description": "Properties of the object. Contains field @type with type URL.", +"type": "any" +}, +"type": "object" +}, +"type": "array" +}, +"message": { +"description": "A developer-facing error message, which should be in English. Any user-facing error message should be localized and sent in the google.rpc.Status.details field, or localized by the client.", +"type": "string" +} +}, +"type": "object" +}, +"TimeOfDay": { +"description": "Represents a time of day. The date and time zone are either not significant or are specified elsewhere. An API may choose to allow leap seconds. Related types are google.type.Date and `google.protobuf.Timestamp`.", +"id": "TimeOfDay", +"properties": { +"hours": { +"description": "Hours of a day in 24 hour format. Must be greater than or equal to 0 and typically must be less than or equal to 23. An API may choose to allow the value \"24:00:00\" for scenarios like business closing time.", +"format": "int32", +"type": "integer" +}, +"minutes": { +"description": "Minutes of an hour. Must be greater than or equal to 0 and less than or equal to 59.", +"format": "int32", +"type": "integer" +}, +"nanos": { +"description": "Fractions of seconds, in nanoseconds. Must be greater than or equal to 0 and less than or equal to 999,999,999.", +"format": "int32", +"type": "integer" +}, +"seconds": { +"description": "Seconds of a minute. Must be greater than or equal to 0 and typically must be less than or equal to 59. An API may allow the value 60 if it allows leap-seconds.", +"format": "int32", +"type": "integer" +} +}, +"type": "object" +}, +"TransferCounters": { +"description": "A collection of counters that report the progress of a transfer operation.", +"id": "TransferCounters", +"properties": { +"bytesCopiedToSink": { +"description": "Bytes that are copied to the data sink.", +"format": "int64", +"type": "string" +}, +"bytesDeletedFromSink": { +"description": "Bytes that are deleted from the data sink.", +"format": "int64", +"type": "string" +}, +"bytesDeletedFromSource": { +"description": "Bytes that are deleted from the data source.", +"format": "int64", +"type": "string" +}, +"bytesFailedToDeleteFromSink": { +"description": "Bytes that failed to be deleted from the data sink.", +"format": "int64", +"type": "string" +}, +"bytesFoundFromSource": { +"description": "Bytes found in the data source that are scheduled to be transferred, excluding any that are filtered based on object conditions or skipped due to sync.", +"format": "int64", +"type": "string" +}, +"bytesFoundOnlyFromSink": { +"description": "Bytes found only in the data sink that are scheduled to be deleted.", +"format": "int64", +"type": "string" +}, +"bytesFromSourceFailed": { +"description": "Bytes in the data source that failed to be transferred or that failed to be deleted after being transferred.", +"format": "int64", +"type": "string" +}, +"bytesFromSourceSkippedBySync": { +"description": "Bytes in the data source that are not transferred because they already exist in the data sink.", +"format": "int64", +"type": "string" +}, +"directoriesFailedToListFromSource": { +"description": "For transfers involving PosixFilesystem only. Number of listing failures for each directory found at the source. Potential failures when listing a directory include permission failure or block failure. If listing a directory fails, no files in the directory are transferred.", +"format": "int64", +"type": "string" +}, +"directoriesFoundFromSource": { +"description": "For transfers involving PosixFilesystem only. Number of directories found while listing. For example, if the root directory of the transfer is `base/` and there are two other directories, `a/` and `b/` under this directory, the count after listing `base/`, `base/a/` and `base/b/` is 3.", +"format": "int64", +"type": "string" +}, +"directoriesSuccessfullyListedFromSource": { +"description": "For transfers involving PosixFilesystem only. Number of successful listings for each directory found at the source.", +"format": "int64", +"type": "string" +}, +"intermediateObjectsCleanedUp": { +"description": "Number of successfully cleaned up intermediate objects.", +"format": "int64", +"type": "string" +}, +"intermediateObjectsFailedCleanedUp": { +"description": "Number of intermediate objects failed cleaned up.", +"format": "int64", +"type": "string" +}, +"objectsCopiedToSink": { +"description": "Objects that are copied to the data sink.", +"format": "int64", +"type": "string" +}, +"objectsDeletedFromSink": { +"description": "Objects that are deleted from the data sink.", +"format": "int64", +"type": "string" +}, +"objectsDeletedFromSource": { +"description": "Objects that are deleted from the data source.", +"format": "int64", +"type": "string" +}, +"objectsFailedToDeleteFromSink": { +"description": "Objects that failed to be deleted from the data sink.", +"format": "int64", +"type": "string" +}, +"objectsFoundFromSource": { +"description": "Objects found in the data source that are scheduled to be transferred, excluding any that are filtered based on object conditions or skipped due to sync.", +"format": "int64", +"type": "string" +}, +"objectsFoundOnlyFromSink": { +"description": "Objects found only in the data sink that are scheduled to be deleted.", +"format": "int64", +"type": "string" +}, +"objectsFromSourceFailed": { +"description": "Objects in the data source that failed to be transferred or that failed to be deleted after being transferred.", +"format": "int64", +"type": "string" +}, +"objectsFromSourceSkippedBySync": { +"description": "Objects in the data source that are not transferred because they already exist in the data sink.", +"format": "int64", +"type": "string" +} +}, +"type": "object" +}, +"TransferJob": { +"description": "This resource represents the configuration of a transfer job that runs periodically.", +"id": "TransferJob", +"properties": { +"creationTime": { +"description": "Output only. The time that the transfer job was created.", +"format": "google-datetime", +"readOnly": true, +"type": "string" +}, +"deletionTime": { +"description": "Output only. The time that the transfer job was deleted.", +"format": "google-datetime", +"readOnly": true, +"type": "string" +}, +"description": { +"description": "A description provided by the user for the job. Its max length is 1024 bytes when Unicode-encoded.", +"type": "string" +}, +"eventStream": { +"$ref": "EventStream", +"description": "Specifies the event stream for the transfer job for event-driven transfers. When EventStream is specified, the Schedule fields are ignored." +}, +"lastModificationTime": { +"description": "Output only. The time that the transfer job was last modified.", +"format": "google-datetime", +"readOnly": true, +"type": "string" +}, +"latestOperationName": { +"description": "The name of the most recently started TransferOperation of this JobConfig. Present if a TransferOperation has been created for this JobConfig.", +"type": "string" +}, +"loggingConfig": { +"$ref": "LoggingConfig", +"description": "Logging configuration." +}, +"name": { +"description": "A unique name (within the transfer project) assigned when the job is created. If this field is empty in a CreateTransferJobRequest, Storage Transfer Service assigns a unique name. Otherwise, the specified name is used as the unique name for this job. If the specified name is in use by a job, the creation request fails with an ALREADY_EXISTS error. This name must start with `\"transferJobs/\"` prefix and end with a letter or a number, and should be no more than 128 characters. For transfers involving PosixFilesystem, this name must start with `transferJobs/OPI` specifically. For all other transfer types, this name must not start with `transferJobs/OPI`. Non-PosixFilesystem example: `\"transferJobs/^(?!OPI)[A-Za-z0-9-._~]*[A-Za-z0-9]$\"` PosixFilesystem example: `\"transferJobs/OPI^[A-Za-z0-9-._~]*[A-Za-z0-9]$\"` Applications must not rely on the enforcement of naming requirements involving OPI. Invalid job names fail with an INVALID_ARGUMENT error.", +"type": "string" +}, +"notificationConfig": { +"$ref": "NotificationConfig", +"description": "Notification configuration." +}, +"projectId": { +"description": "The ID of the Google Cloud project that owns the job.", +"type": "string" +}, +"replicationSpec": { +"$ref": "ReplicationSpec", +"description": "Replication specification." +}, +"schedule": { +"$ref": "Schedule", +"description": "Specifies schedule for the transfer job. This is an optional field. When the field is not set, the job never executes a transfer, unless you invoke RunTransferJob or update the job to have a non-empty schedule." +}, +"status": { +"description": "Status of the job. This value MUST be specified for `CreateTransferJobRequests`. **Note:** The effect of the new job status takes place during a subsequent job run. For example, if you change the job status from ENABLED to DISABLED, and an operation spawned by the transfer is running, the status change would not affect the current operation.", +"enum": [ +"STATUS_UNSPECIFIED", +"ENABLED", +"DISABLED", +"DELETED" +], +"enumDescriptions": [ +"Zero is an illegal value.", +"New transfers are performed based on the schedule.", +"New transfers are not scheduled.", +"This is a soft delete state. After a transfer job is set to this state, the job and all the transfer executions are subject to garbage collection. Transfer jobs become eligible for garbage collection 30 days after their status is set to `DELETED`." +], +"type": "string" +}, +"transferSpec": { +"$ref": "TransferSpec", +"description": "Transfer specification." +} +}, +"type": "object" +}, +"TransferManifest": { +"description": "Specifies where the manifest is located.", +"id": "TransferManifest", +"properties": { +"location": { +"description": "Specifies the path to the manifest in Cloud Storage. The Google-managed service account for the transfer must have `storage.objects.get` permission for this object. An example path is `gs://bucket_name/path/manifest.csv`.", +"type": "string" +} +}, +"type": "object" +}, +"TransferOperation": { +"description": "A description of the execution of a transfer.", +"id": "TransferOperation", +"properties": { +"counters": { +"$ref": "TransferCounters", +"description": "Information about the progress of the transfer operation." +}, +"endTime": { +"description": "End time of this transfer execution.", +"format": "google-datetime", +"type": "string" +}, +"errorBreakdowns": { +"description": "Summarizes errors encountered with sample error log entries.", +"items": { +"$ref": "ErrorSummary" +}, +"type": "array" +}, +"loggingConfig": { +"$ref": "LoggingConfig", +"description": "Cloud Logging configuration." +}, +"name": { +"description": "A globally unique ID assigned by the system.", +"type": "string" +}, +"notificationConfig": { +"$ref": "NotificationConfig", +"description": "Notification configuration." +}, +"projectId": { +"description": "The ID of the Google Cloud project that owns the operation.", +"type": "string" +}, +"startTime": { +"description": "Start time of this transfer execution.", +"format": "google-datetime", +"type": "string" +}, +"status": { +"description": "Status of the transfer operation.", +"enum": [ +"STATUS_UNSPECIFIED", +"IN_PROGRESS", +"PAUSED", +"SUCCESS", +"FAILED", +"ABORTED", +"QUEUED", +"SUSPENDING" +], +"enumDescriptions": [ +"Zero is an illegal value.", +"In progress.", +"Paused.", +"Completed successfully.", +"Terminated due to an unrecoverable failure.", +"Aborted by the user.", +"Temporarily delayed by the system. No user action is required.", +"The operation is suspending and draining the ongoing work to completion." +], +"type": "string" +}, +"transferJobName": { +"description": "The name of the transfer job that triggers this transfer operation.", +"type": "string" +}, +"transferSpec": { +"$ref": "TransferSpec", +"description": "Transfer specification." +} +}, +"type": "object" +}, +"TransferOptions": { +"description": "TransferOptions define the actions to be performed on objects in a transfer.", +"id": "TransferOptions", +"properties": { +"deleteObjectsFromSourceAfterTransfer": { +"description": "Whether objects should be deleted from the source after they are transferred to the sink. **Note:** This option and delete_objects_unique_in_sink are mutually exclusive.", +"type": "boolean" +}, +"deleteObjectsUniqueInSink": { +"description": "Whether objects that exist only in the sink should be deleted. **Note:** This option and delete_objects_from_source_after_transfer are mutually exclusive.", +"type": "boolean" +}, +"metadataOptions": { +"$ref": "MetadataOptions", +"description": "Represents the selected metadata options for a transfer job." +}, +"overwriteObjectsAlreadyExistingInSink": { +"description": "When to overwrite objects that already exist in the sink. The default is that only objects that are different from the source are ovewritten. If true, all objects in the sink whose name matches an object in the source are overwritten with the source object.", +"type": "boolean" +}, +"overwriteWhen": { +"description": "When to overwrite objects that already exist in the sink. If not set, overwrite behavior is determined by overwrite_objects_already_existing_in_sink.", +"enum": [ +"OVERWRITE_WHEN_UNSPECIFIED", +"DIFFERENT", +"NEVER", +"ALWAYS" +], +"enumDescriptions": [ +"Overwrite behavior is unspecified.", +"Overwrites destination objects with the source objects, only if the objects have the same name but different HTTP ETags or checksum values.", +"Never overwrites a destination object if a source object has the same name. In this case, the source object is not transferred.", +"Always overwrite the destination object with the source object, even if the HTTP Etags or checksum values are the same." +], +"type": "string" +} +}, +"type": "object" +}, +"TransferSpec": { +"description": "Configuration for running a transfer.", +"id": "TransferSpec", +"properties": { +"awsS3CompatibleDataSource": { +"$ref": "AwsS3CompatibleData", +"description": "An AWS S3 compatible data source." +}, +"awsS3DataSource": { +"$ref": "AwsS3Data", +"description": "An AWS S3 data source." +}, +"azureBlobStorageDataSource": { +"$ref": "AzureBlobStorageData", +"description": "An Azure Blob Storage data source." +}, +"gcsDataSink": { +"$ref": "GcsData", +"description": "A Cloud Storage data sink." +}, +"gcsDataSource": { +"$ref": "GcsData", +"description": "A Cloud Storage data source." +}, +"gcsIntermediateDataLocation": { +"$ref": "GcsData", +"description": "For transfers between file systems, specifies a Cloud Storage bucket to be used as an intermediate location through which to transfer data. See [Transfer data between file systems](https://cloud.google.com/storage-transfer/docs/file-to-file) for more information." +}, +"hdfsDataSource": { +"$ref": "HdfsData", +"description": "An HDFS cluster data source." +}, +"httpDataSource": { +"$ref": "HttpData", +"description": "An HTTP URL data source." +}, +"objectConditions": { +"$ref": "ObjectConditions", +"description": "Only objects that satisfy these object conditions are included in the set of data source and data sink objects. Object conditions based on objects' \"last modification time\" do not exclude objects in a data sink." +}, +"posixDataSink": { +"$ref": "PosixFilesystem", +"description": "A POSIX Filesystem data sink." +}, +"posixDataSource": { +"$ref": "PosixFilesystem", +"description": "A POSIX Filesystem data source." +}, +"sinkAgentPoolName": { +"description": "Specifies the agent pool name associated with the posix data sink. When unspecified, the default name is used.", +"type": "string" +}, +"sourceAgentPoolName": { +"description": "Specifies the agent pool name associated with the posix data source. When unspecified, the default name is used.", +"type": "string" +}, +"transferManifest": { +"$ref": "TransferManifest", +"description": "A manifest file provides a list of objects to be transferred from the data source. This field points to the location of the manifest file. Otherwise, the entire source bucket is used. ObjectConditions still apply." +}, +"transferOptions": { +"$ref": "TransferOptions", +"description": "If the option delete_objects_unique_in_sink is `true` and time-based object conditions such as 'last modification time' are specified, the request fails with an INVALID_ARGUMENT error." +} +}, +"type": "object" +}, +"UpdateTransferJobRequest": { +"description": "Request passed to UpdateTransferJob.", +"id": "UpdateTransferJobRequest", +"properties": { +"projectId": { +"description": "Required. The ID of the Google Cloud project that owns the job.", +"type": "string" +}, +"transferJob": { +"$ref": "TransferJob", +"description": "Required. The job to update. `transferJob` is expected to specify one or more of five fields: description, transfer_spec, notification_config, logging_config, and status. An `UpdateTransferJobRequest` that specifies other fields are rejected with the error INVALID_ARGUMENT. Updating a job status to DELETED requires `storagetransfer.jobs.delete` permission." +}, +"updateTransferJobFieldMask": { +"description": "The field mask of the fields in `transferJob` that are to be updated in this request. Fields in `transferJob` that can be updated are: description, transfer_spec, notification_config, logging_config, and status. To update the `transfer_spec` of the job, a complete transfer specification must be provided. An incomplete specification missing any required fields is rejected with the error INVALID_ARGUMENT.", +"format": "google-fieldmask", +"type": "string" +} +}, +"type": "object" +} +}, +"servicePath": "", +"title": "Storage Transfer API", +"version": "v1", +"version_module": true +} \ No newline at end of file diff --git a/.venv/lib/python3.11/site-packages/googleapiclient/discovery_cache/documents/tagmanager.v1.json b/.venv/lib/python3.11/site-packages/googleapiclient/discovery_cache/documents/tagmanager.v1.json new file mode 100644 index 0000000000000000000000000000000000000000..76549d46e33eaf17d52c6a4a73eed340f8ada19a --- /dev/null +++ b/.venv/lib/python3.11/site-packages/googleapiclient/discovery_cache/documents/tagmanager.v1.json @@ -0,0 +1,3489 @@ +{ +"auth": { +"oauth2": { +"scopes": { +"https://www.googleapis.com/auth/tagmanager.delete.containers": { +"description": "Delete your Google Tag Manager containers" +}, +"https://www.googleapis.com/auth/tagmanager.edit.containers": { +"description": "Manage your Google Tag Manager container and its subcomponents, excluding versioning and publishing" +}, +"https://www.googleapis.com/auth/tagmanager.edit.containerversions": { +"description": "Manage your Google Tag Manager container versions" +}, +"https://www.googleapis.com/auth/tagmanager.manage.accounts": { +"description": "View and manage your Google Tag Manager accounts" +}, +"https://www.googleapis.com/auth/tagmanager.manage.users": { +"description": "Manage user permissions of your Google Tag Manager account and container" +}, +"https://www.googleapis.com/auth/tagmanager.publish": { +"description": "Publish your Google Tag Manager container versions" +}, +"https://www.googleapis.com/auth/tagmanager.readonly": { +"description": "View your Google Tag Manager container and its subcomponents" +} +} +} +}, +"basePath": "", +"baseUrl": "https://tagmanager.googleapis.com/", +"batchPath": "batch", +"canonicalName": "Tag Manager", +"description": "This API allows clients to access and modify container and tag configuration.", +"discoveryVersion": "v1", +"documentationLink": "https://developers.google.com/tag-manager", +"icons": { +"x16": "http://www.google.com/images/icons/product/search-16.gif", +"x32": "http://www.google.com/images/icons/product/search-32.gif" +}, +"id": "tagmanager:v1", +"kind": "discovery#restDescription", +"mtlsRootUrl": "https://tagmanager.mtls.googleapis.com/", +"name": "tagmanager", +"ownerDomain": "google.com", +"ownerName": "Google", +"parameters": { +"$.xgafv": { +"description": "V1 error format.", +"enum": [ +"1", +"2" +], +"enumDescriptions": [ +"v1 error format", +"v2 error format" +], +"location": "query", +"type": "string" +}, +"access_token": { +"description": "OAuth access token.", +"location": "query", +"type": "string" +}, +"alt": { +"default": "json", +"description": "Data format for response.", +"enum": [ +"json", +"media", +"proto" +], +"enumDescriptions": [ +"Responses with Content-Type of application/json", +"Media download with context-dependent Content-Type", +"Responses with Content-Type of application/x-protobuf" +], +"location": "query", +"type": "string" +}, +"callback": { +"description": "JSONP", +"location": "query", +"type": "string" +}, +"fields": { +"description": "Selector specifying which fields to include in a partial response.", +"location": "query", +"type": "string" +}, +"key": { +"description": "API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token.", +"location": "query", +"type": "string" +}, +"oauth_token": { +"description": "OAuth 2.0 token for the current user.", +"location": "query", +"type": "string" +}, +"prettyPrint": { +"default": "true", +"description": "Returns response with indentations and line breaks.", +"location": "query", +"type": "boolean" +}, +"quotaUser": { +"description": "Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters.", +"location": "query", +"type": "string" +}, +"uploadType": { +"description": "Legacy upload protocol for media (e.g. \"media\", \"multipart\").", +"location": "query", +"type": "string" +}, +"upload_protocol": { +"description": "Upload protocol for media (e.g. \"raw\", \"multipart\").", +"location": "query", +"type": "string" +} +}, +"protocol": "rest", +"resources": { +"accounts": { +"methods": { +"get": { +"description": "Gets a GTM Account.", +"flatPath": "tagmanager/v1/accounts/{accountId}", +"httpMethod": "GET", +"id": "tagmanager.accounts.get", +"parameterOrder": [ +"accountId" +], +"parameters": { +"accountId": { +"description": "The GTM Account ID.", +"location": "path", +"required": true, +"type": "string" +} +}, +"path": "tagmanager/v1/accounts/{accountId}", +"response": { +"$ref": "Account" +}, +"scopes": [ +"https://www.googleapis.com/auth/tagmanager.edit.containers", +"https://www.googleapis.com/auth/tagmanager.manage.accounts", +"https://www.googleapis.com/auth/tagmanager.readonly" +] +}, +"list": { +"description": "Lists all GTM Accounts that a user has access to.", +"flatPath": "tagmanager/v1/accounts", +"httpMethod": "GET", +"id": "tagmanager.accounts.list", +"parameterOrder": [], +"parameters": {}, +"path": "tagmanager/v1/accounts", +"response": { +"$ref": "ListAccountsResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/tagmanager.edit.containers", +"https://www.googleapis.com/auth/tagmanager.manage.accounts", +"https://www.googleapis.com/auth/tagmanager.readonly" +] +}, +"update": { +"description": "Updates a GTM Account.", +"flatPath": "tagmanager/v1/accounts/{accountId}", +"httpMethod": "PUT", +"id": "tagmanager.accounts.update", +"parameterOrder": [ +"accountId" +], +"parameters": { +"accountId": { +"description": "The GTM Account ID.", +"location": "path", +"required": true, +"type": "string" +}, +"fingerprint": { +"description": "When provided, this fingerprint must match the fingerprint of the account in storage.", +"location": "query", +"type": "string" +} +}, +"path": "tagmanager/v1/accounts/{accountId}", +"request": { +"$ref": "Account" +}, +"response": { +"$ref": "Account" +}, +"scopes": [ +"https://www.googleapis.com/auth/tagmanager.manage.accounts" +] +} +}, +"resources": { +"containers": { +"methods": { +"create": { +"description": "Creates a Container.", +"flatPath": "tagmanager/v1/accounts/{accountId}/containers", +"httpMethod": "POST", +"id": "tagmanager.accounts.containers.create", +"parameterOrder": [ +"accountId" +], +"parameters": { +"accountId": { +"description": "The GTM Account ID.", +"location": "path", +"required": true, +"type": "string" +} +}, +"path": "tagmanager/v1/accounts/{accountId}/containers", +"request": { +"$ref": "Container" +}, +"response": { +"$ref": "Container" +}, +"scopes": [ +"https://www.googleapis.com/auth/tagmanager.edit.containers" +] +}, +"delete": { +"description": "Deletes a Container.", +"flatPath": "tagmanager/v1/accounts/{accountId}/containers/{containerId}", +"httpMethod": "DELETE", +"id": "tagmanager.accounts.containers.delete", +"parameterOrder": [ +"accountId", +"containerId" +], +"parameters": { +"accountId": { +"description": "The GTM Account ID.", +"location": "path", +"required": true, +"type": "string" +}, +"containerId": { +"description": "The GTM Container ID.", +"location": "path", +"required": true, +"type": "string" +} +}, +"path": "tagmanager/v1/accounts/{accountId}/containers/{containerId}", +"scopes": [ +"https://www.googleapis.com/auth/tagmanager.delete.containers" +] +}, +"get": { +"description": "Gets a Container.", +"flatPath": "tagmanager/v1/accounts/{accountId}/containers/{containerId}", +"httpMethod": "GET", +"id": "tagmanager.accounts.containers.get", +"parameterOrder": [ +"accountId", +"containerId" +], +"parameters": { +"accountId": { +"description": "The GTM Account ID.", +"location": "path", +"required": true, +"type": "string" +}, +"containerId": { +"description": "The GTM Container ID.", +"location": "path", +"required": true, +"type": "string" +} +}, +"path": "tagmanager/v1/accounts/{accountId}/containers/{containerId}", +"response": { +"$ref": "Container" +}, +"scopes": [ +"https://www.googleapis.com/auth/tagmanager.edit.containers", +"https://www.googleapis.com/auth/tagmanager.readonly" +] +}, +"list": { +"description": "Lists all Containers that belongs to a GTM Account.", +"flatPath": "tagmanager/v1/accounts/{accountId}/containers", +"httpMethod": "GET", +"id": "tagmanager.accounts.containers.list", +"parameterOrder": [ +"accountId" +], +"parameters": { +"accountId": { +"description": "The GTM Account ID.", +"location": "path", +"required": true, +"type": "string" +} +}, +"path": "tagmanager/v1/accounts/{accountId}/containers", +"response": { +"$ref": "ListContainersResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/tagmanager.edit.containers", +"https://www.googleapis.com/auth/tagmanager.readonly" +] +}, +"update": { +"description": "Updates a Container.", +"flatPath": "tagmanager/v1/accounts/{accountId}/containers/{containerId}", +"httpMethod": "PUT", +"id": "tagmanager.accounts.containers.update", +"parameterOrder": [ +"accountId", +"containerId" +], +"parameters": { +"accountId": { +"description": "The GTM Account ID.", +"location": "path", +"required": true, +"type": "string" +}, +"containerId": { +"description": "The GTM Container ID.", +"location": "path", +"required": true, +"type": "string" +}, +"fingerprint": { +"description": "When provided, this fingerprint must match the fingerprint of the container in storage.", +"location": "query", +"type": "string" +} +}, +"path": "tagmanager/v1/accounts/{accountId}/containers/{containerId}", +"request": { +"$ref": "Container" +}, +"response": { +"$ref": "Container" +}, +"scopes": [ +"https://www.googleapis.com/auth/tagmanager.edit.containers" +] +} +}, +"resources": { +"environments": { +"methods": { +"create": { +"description": "Creates a GTM Environment.", +"flatPath": "tagmanager/v1/accounts/{accountId}/containers/{containerId}/environments", +"httpMethod": "POST", +"id": "tagmanager.accounts.containers.environments.create", +"parameterOrder": [ +"accountId", +"containerId" +], +"parameters": { +"accountId": { +"description": "The GTM Account ID.", +"location": "path", +"required": true, +"type": "string" +}, +"containerId": { +"description": "The GTM Container ID.", +"location": "path", +"required": true, +"type": "string" +} +}, +"path": "tagmanager/v1/accounts/{accountId}/containers/{containerId}/environments", +"request": { +"$ref": "Environment" +}, +"response": { +"$ref": "Environment" +}, +"scopes": [ +"https://www.googleapis.com/auth/tagmanager.edit.containers" +] +}, +"delete": { +"description": "Deletes a GTM Environment.", +"flatPath": "tagmanager/v1/accounts/{accountId}/containers/{containerId}/environments/{environmentId}", +"httpMethod": "DELETE", +"id": "tagmanager.accounts.containers.environments.delete", +"parameterOrder": [ +"accountId", +"containerId", +"environmentId" +], +"parameters": { +"accountId": { +"description": "The GTM Account ID.", +"location": "path", +"required": true, +"type": "string" +}, +"containerId": { +"description": "The GTM Container ID.", +"location": "path", +"required": true, +"type": "string" +}, +"environmentId": { +"description": "The GTM Environment ID.", +"location": "path", +"required": true, +"type": "string" +} +}, +"path": "tagmanager/v1/accounts/{accountId}/containers/{containerId}/environments/{environmentId}", +"scopes": [ +"https://www.googleapis.com/auth/tagmanager.edit.containers" +] +}, +"get": { +"description": "Gets a GTM Environment.", +"flatPath": "tagmanager/v1/accounts/{accountId}/containers/{containerId}/environments/{environmentId}", +"httpMethod": "GET", +"id": "tagmanager.accounts.containers.environments.get", +"parameterOrder": [ +"accountId", +"containerId", +"environmentId" +], +"parameters": { +"accountId": { +"description": "The GTM Account ID.", +"location": "path", +"required": true, +"type": "string" +}, +"containerId": { +"description": "The GTM Container ID.", +"location": "path", +"required": true, +"type": "string" +}, +"environmentId": { +"description": "The GTM Environment ID.", +"location": "path", +"required": true, +"type": "string" +} +}, +"path": "tagmanager/v1/accounts/{accountId}/containers/{containerId}/environments/{environmentId}", +"response": { +"$ref": "Environment" +}, +"scopes": [ +"https://www.googleapis.com/auth/tagmanager.edit.containers", +"https://www.googleapis.com/auth/tagmanager.readonly" +] +}, +"list": { +"description": "Lists all GTM Environments of a GTM Container.", +"flatPath": "tagmanager/v1/accounts/{accountId}/containers/{containerId}/environments", +"httpMethod": "GET", +"id": "tagmanager.accounts.containers.environments.list", +"parameterOrder": [ +"accountId", +"containerId" +], +"parameters": { +"accountId": { +"description": "The GTM Account ID.", +"location": "path", +"required": true, +"type": "string" +}, +"containerId": { +"description": "The GTM Container ID.", +"location": "path", +"required": true, +"type": "string" +} +}, +"path": "tagmanager/v1/accounts/{accountId}/containers/{containerId}/environments", +"response": { +"$ref": "ListEnvironmentsResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/tagmanager.edit.containers", +"https://www.googleapis.com/auth/tagmanager.readonly" +] +}, +"update": { +"description": "Updates a GTM Environment.", +"flatPath": "tagmanager/v1/accounts/{accountId}/containers/{containerId}/environments/{environmentId}", +"httpMethod": "PUT", +"id": "tagmanager.accounts.containers.environments.update", +"parameterOrder": [ +"accountId", +"containerId", +"environmentId" +], +"parameters": { +"accountId": { +"description": "The GTM Account ID.", +"location": "path", +"required": true, +"type": "string" +}, +"containerId": { +"description": "The GTM Container ID.", +"location": "path", +"required": true, +"type": "string" +}, +"environmentId": { +"description": "The GTM Environment ID.", +"location": "path", +"required": true, +"type": "string" +}, +"fingerprint": { +"description": "When provided, this fingerprint must match the fingerprint of the environment in storage.", +"location": "query", +"type": "string" +} +}, +"path": "tagmanager/v1/accounts/{accountId}/containers/{containerId}/environments/{environmentId}", +"request": { +"$ref": "Environment" +}, +"response": { +"$ref": "Environment" +}, +"scopes": [ +"https://www.googleapis.com/auth/tagmanager.edit.containers" +] +} +} +}, +"folders": { +"methods": { +"create": { +"description": "Creates a GTM Folder.", +"flatPath": "tagmanager/v1/accounts/{accountId}/containers/{containerId}/folders", +"httpMethod": "POST", +"id": "tagmanager.accounts.containers.folders.create", +"parameterOrder": [ +"accountId", +"containerId" +], +"parameters": { +"accountId": { +"description": "The GTM Account ID.", +"location": "path", +"required": true, +"type": "string" +}, +"containerId": { +"description": "The GTM Container ID.", +"location": "path", +"required": true, +"type": "string" +} +}, +"path": "tagmanager/v1/accounts/{accountId}/containers/{containerId}/folders", +"request": { +"$ref": "Folder" +}, +"response": { +"$ref": "Folder" +}, +"scopes": [ +"https://www.googleapis.com/auth/tagmanager.edit.containers" +] +}, +"delete": { +"description": "Deletes a GTM Folder.", +"flatPath": "tagmanager/v1/accounts/{accountId}/containers/{containerId}/folders/{folderId}", +"httpMethod": "DELETE", +"id": "tagmanager.accounts.containers.folders.delete", +"parameterOrder": [ +"accountId", +"containerId", +"folderId" +], +"parameters": { +"accountId": { +"description": "The GTM Account ID.", +"location": "path", +"required": true, +"type": "string" +}, +"containerId": { +"description": "The GTM Container ID.", +"location": "path", +"required": true, +"type": "string" +}, +"folderId": { +"description": "The GTM Folder ID.", +"location": "path", +"required": true, +"type": "string" +} +}, +"path": "tagmanager/v1/accounts/{accountId}/containers/{containerId}/folders/{folderId}", +"scopes": [ +"https://www.googleapis.com/auth/tagmanager.edit.containers" +] +}, +"get": { +"description": "Gets a GTM Folder.", +"flatPath": "tagmanager/v1/accounts/{accountId}/containers/{containerId}/folders/{folderId}", +"httpMethod": "GET", +"id": "tagmanager.accounts.containers.folders.get", +"parameterOrder": [ +"accountId", +"containerId", +"folderId" +], +"parameters": { +"accountId": { +"description": "The GTM Account ID.", +"location": "path", +"required": true, +"type": "string" +}, +"containerId": { +"description": "The GTM Container ID.", +"location": "path", +"required": true, +"type": "string" +}, +"folderId": { +"description": "The GTM Folder ID.", +"location": "path", +"required": true, +"type": "string" +} +}, +"path": "tagmanager/v1/accounts/{accountId}/containers/{containerId}/folders/{folderId}", +"response": { +"$ref": "Folder" +}, +"scopes": [ +"https://www.googleapis.com/auth/tagmanager.edit.containers", +"https://www.googleapis.com/auth/tagmanager.readonly" +] +}, +"list": { +"description": "Lists all GTM Folders of a Container.", +"flatPath": "tagmanager/v1/accounts/{accountId}/containers/{containerId}/folders", +"httpMethod": "GET", +"id": "tagmanager.accounts.containers.folders.list", +"parameterOrder": [ +"accountId", +"containerId" +], +"parameters": { +"accountId": { +"description": "The GTM Account ID.", +"location": "path", +"required": true, +"type": "string" +}, +"containerId": { +"description": "The GTM Container ID.", +"location": "path", +"required": true, +"type": "string" +} +}, +"path": "tagmanager/v1/accounts/{accountId}/containers/{containerId}/folders", +"response": { +"$ref": "ListFoldersResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/tagmanager.edit.containers", +"https://www.googleapis.com/auth/tagmanager.readonly" +] +}, +"update": { +"description": "Updates a GTM Folder.", +"flatPath": "tagmanager/v1/accounts/{accountId}/containers/{containerId}/folders/{folderId}", +"httpMethod": "PUT", +"id": "tagmanager.accounts.containers.folders.update", +"parameterOrder": [ +"accountId", +"containerId", +"folderId" +], +"parameters": { +"accountId": { +"description": "The GTM Account ID.", +"location": "path", +"required": true, +"type": "string" +}, +"containerId": { +"description": "The GTM Container ID.", +"location": "path", +"required": true, +"type": "string" +}, +"fingerprint": { +"description": "When provided, this fingerprint must match the fingerprint of the folder in storage.", +"location": "query", +"type": "string" +}, +"folderId": { +"description": "The GTM Folder ID.", +"location": "path", +"required": true, +"type": "string" +} +}, +"path": "tagmanager/v1/accounts/{accountId}/containers/{containerId}/folders/{folderId}", +"request": { +"$ref": "Folder" +}, +"response": { +"$ref": "Folder" +}, +"scopes": [ +"https://www.googleapis.com/auth/tagmanager.edit.containers" +] +} +}, +"resources": { +"entities": { +"methods": { +"list": { +"description": "List all entities in a GTM Folder.", +"flatPath": "tagmanager/v1/accounts/{accountId}/containers/{containerId}/folders/{folderId}/entities", +"httpMethod": "GET", +"id": "tagmanager.accounts.containers.folders.entities.list", +"parameterOrder": [ +"accountId", +"containerId", +"folderId" +], +"parameters": { +"accountId": { +"description": "The GTM Account ID.", +"location": "path", +"required": true, +"type": "string" +}, +"containerId": { +"description": "The GTM Container ID.", +"location": "path", +"required": true, +"type": "string" +}, +"folderId": { +"description": "The GTM Folder ID.", +"location": "path", +"required": true, +"type": "string" +} +}, +"path": "tagmanager/v1/accounts/{accountId}/containers/{containerId}/folders/{folderId}/entities", +"response": { +"$ref": "FolderEntities" +}, +"scopes": [ +"https://www.googleapis.com/auth/tagmanager.edit.containers", +"https://www.googleapis.com/auth/tagmanager.readonly" +] +} +} +} +} +}, +"move_folders": { +"methods": { +"update": { +"description": "Moves entities to a GTM Folder.", +"flatPath": "tagmanager/v1/accounts/{accountId}/containers/{containerId}/move_folders/{folderId}", +"httpMethod": "PUT", +"id": "tagmanager.accounts.containers.move_folders.update", +"parameterOrder": [ +"accountId", +"containerId", +"folderId" +], +"parameters": { +"accountId": { +"description": "The GTM Account ID.", +"location": "path", +"required": true, +"type": "string" +}, +"containerId": { +"description": "The GTM Container ID.", +"location": "path", +"required": true, +"type": "string" +}, +"folderId": { +"description": "The GTM Folder ID.", +"location": "path", +"required": true, +"type": "string" +}, +"tagId": { +"description": "The tags to be moved to the folder.", +"location": "query", +"repeated": true, +"type": "string" +}, +"triggerId": { +"description": "The triggers to be moved to the folder.", +"location": "query", +"repeated": true, +"type": "string" +}, +"variableId": { +"description": "The variables to be moved to the folder.", +"location": "query", +"repeated": true, +"type": "string" +} +}, +"path": "tagmanager/v1/accounts/{accountId}/containers/{containerId}/move_folders/{folderId}", +"request": { +"$ref": "Folder" +}, +"scopes": [ +"https://www.googleapis.com/auth/tagmanager.edit.containers" +] +} +} +}, +"reauthorize_environments": { +"methods": { +"update": { +"description": "Re-generates the authorization code for a GTM Environment.", +"flatPath": "tagmanager/v1/accounts/{accountId}/containers/{containerId}/reauthorize_environments/{environmentId}", +"httpMethod": "PUT", +"id": "tagmanager.accounts.containers.reauthorize_environments.update", +"parameterOrder": [ +"accountId", +"containerId", +"environmentId" +], +"parameters": { +"accountId": { +"description": "The GTM Account ID.", +"location": "path", +"required": true, +"type": "string" +}, +"containerId": { +"description": "The GTM Container ID.", +"location": "path", +"required": true, +"type": "string" +}, +"environmentId": { +"description": "The GTM Environment ID.", +"location": "path", +"required": true, +"type": "string" +} +}, +"path": "tagmanager/v1/accounts/{accountId}/containers/{containerId}/reauthorize_environments/{environmentId}", +"request": { +"$ref": "Environment" +}, +"response": { +"$ref": "Environment" +}, +"scopes": [ +"https://www.googleapis.com/auth/tagmanager.publish" +] +} +} +}, +"tags": { +"methods": { +"create": { +"description": "Creates a GTM Tag.", +"flatPath": "tagmanager/v1/accounts/{accountId}/containers/{containerId}/tags", +"httpMethod": "POST", +"id": "tagmanager.accounts.containers.tags.create", +"parameterOrder": [ +"accountId", +"containerId" +], +"parameters": { +"accountId": { +"description": "The GTM Account ID.", +"location": "path", +"required": true, +"type": "string" +}, +"containerId": { +"description": "The GTM Container ID.", +"location": "path", +"required": true, +"type": "string" +} +}, +"path": "tagmanager/v1/accounts/{accountId}/containers/{containerId}/tags", +"request": { +"$ref": "Tag" +}, +"response": { +"$ref": "Tag" +}, +"scopes": [ +"https://www.googleapis.com/auth/tagmanager.edit.containers" +] +}, +"delete": { +"description": "Deletes a GTM Tag.", +"flatPath": "tagmanager/v1/accounts/{accountId}/containers/{containerId}/tags/{tagId}", +"httpMethod": "DELETE", +"id": "tagmanager.accounts.containers.tags.delete", +"parameterOrder": [ +"accountId", +"containerId", +"tagId" +], +"parameters": { +"accountId": { +"description": "The GTM Account ID.", +"location": "path", +"required": true, +"type": "string" +}, +"containerId": { +"description": "The GTM Container ID.", +"location": "path", +"required": true, +"type": "string" +}, +"tagId": { +"description": "The GTM Tag ID.", +"location": "path", +"required": true, +"type": "string" +} +}, +"path": "tagmanager/v1/accounts/{accountId}/containers/{containerId}/tags/{tagId}", +"scopes": [ +"https://www.googleapis.com/auth/tagmanager.edit.containers" +] +}, +"get": { +"description": "Gets a GTM Tag.", +"flatPath": "tagmanager/v1/accounts/{accountId}/containers/{containerId}/tags/{tagId}", +"httpMethod": "GET", +"id": "tagmanager.accounts.containers.tags.get", +"parameterOrder": [ +"accountId", +"containerId", +"tagId" +], +"parameters": { +"accountId": { +"description": "The GTM Account ID.", +"location": "path", +"required": true, +"type": "string" +}, +"containerId": { +"description": "The GTM Container ID.", +"location": "path", +"required": true, +"type": "string" +}, +"tagId": { +"description": "The GTM Tag ID.", +"location": "path", +"required": true, +"type": "string" +} +}, +"path": "tagmanager/v1/accounts/{accountId}/containers/{containerId}/tags/{tagId}", +"response": { +"$ref": "Tag" +}, +"scopes": [ +"https://www.googleapis.com/auth/tagmanager.edit.containers", +"https://www.googleapis.com/auth/tagmanager.readonly" +] +}, +"list": { +"description": "Lists all GTM Tags of a Container.", +"flatPath": "tagmanager/v1/accounts/{accountId}/containers/{containerId}/tags", +"httpMethod": "GET", +"id": "tagmanager.accounts.containers.tags.list", +"parameterOrder": [ +"accountId", +"containerId" +], +"parameters": { +"accountId": { +"description": "The GTM Account ID.", +"location": "path", +"required": true, +"type": "string" +}, +"containerId": { +"description": "The GTM Container ID.", +"location": "path", +"required": true, +"type": "string" +} +}, +"path": "tagmanager/v1/accounts/{accountId}/containers/{containerId}/tags", +"response": { +"$ref": "ListTagsResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/tagmanager.edit.containers", +"https://www.googleapis.com/auth/tagmanager.readonly" +] +}, +"update": { +"description": "Updates a GTM Tag.", +"flatPath": "tagmanager/v1/accounts/{accountId}/containers/{containerId}/tags/{tagId}", +"httpMethod": "PUT", +"id": "tagmanager.accounts.containers.tags.update", +"parameterOrder": [ +"accountId", +"containerId", +"tagId" +], +"parameters": { +"accountId": { +"description": "The GTM Account ID.", +"location": "path", +"required": true, +"type": "string" +}, +"containerId": { +"description": "The GTM Container ID.", +"location": "path", +"required": true, +"type": "string" +}, +"fingerprint": { +"description": "When provided, this fingerprint must match the fingerprint of the tag in storage.", +"location": "query", +"type": "string" +}, +"tagId": { +"description": "The GTM Tag ID.", +"location": "path", +"required": true, +"type": "string" +} +}, +"path": "tagmanager/v1/accounts/{accountId}/containers/{containerId}/tags/{tagId}", +"request": { +"$ref": "Tag" +}, +"response": { +"$ref": "Tag" +}, +"scopes": [ +"https://www.googleapis.com/auth/tagmanager.edit.containers" +] +} +} +}, +"triggers": { +"methods": { +"create": { +"description": "Creates a GTM Trigger.", +"flatPath": "tagmanager/v1/accounts/{accountId}/containers/{containerId}/triggers", +"httpMethod": "POST", +"id": "tagmanager.accounts.containers.triggers.create", +"parameterOrder": [ +"accountId", +"containerId" +], +"parameters": { +"accountId": { +"description": "The GTM Account ID.", +"location": "path", +"required": true, +"type": "string" +}, +"containerId": { +"description": "The GTM Container ID.", +"location": "path", +"required": true, +"type": "string" +} +}, +"path": "tagmanager/v1/accounts/{accountId}/containers/{containerId}/triggers", +"request": { +"$ref": "Trigger" +}, +"response": { +"$ref": "Trigger" +}, +"scopes": [ +"https://www.googleapis.com/auth/tagmanager.edit.containers" +] +}, +"delete": { +"description": "Deletes a GTM Trigger.", +"flatPath": "tagmanager/v1/accounts/{accountId}/containers/{containerId}/triggers/{triggerId}", +"httpMethod": "DELETE", +"id": "tagmanager.accounts.containers.triggers.delete", +"parameterOrder": [ +"accountId", +"containerId", +"triggerId" +], +"parameters": { +"accountId": { +"description": "The GTM Account ID.", +"location": "path", +"required": true, +"type": "string" +}, +"containerId": { +"description": "The GTM Container ID.", +"location": "path", +"required": true, +"type": "string" +}, +"triggerId": { +"description": "The GTM Trigger ID.", +"location": "path", +"required": true, +"type": "string" +} +}, +"path": "tagmanager/v1/accounts/{accountId}/containers/{containerId}/triggers/{triggerId}", +"scopes": [ +"https://www.googleapis.com/auth/tagmanager.edit.containers" +] +}, +"get": { +"description": "Gets a GTM Trigger.", +"flatPath": "tagmanager/v1/accounts/{accountId}/containers/{containerId}/triggers/{triggerId}", +"httpMethod": "GET", +"id": "tagmanager.accounts.containers.triggers.get", +"parameterOrder": [ +"accountId", +"containerId", +"triggerId" +], +"parameters": { +"accountId": { +"description": "The GTM Account ID.", +"location": "path", +"required": true, +"type": "string" +}, +"containerId": { +"description": "The GTM Container ID.", +"location": "path", +"required": true, +"type": "string" +}, +"triggerId": { +"description": "The GTM Trigger ID.", +"location": "path", +"required": true, +"type": "string" +} +}, +"path": "tagmanager/v1/accounts/{accountId}/containers/{containerId}/triggers/{triggerId}", +"response": { +"$ref": "Trigger" +}, +"scopes": [ +"https://www.googleapis.com/auth/tagmanager.edit.containers", +"https://www.googleapis.com/auth/tagmanager.readonly" +] +}, +"list": { +"description": "Lists all GTM Triggers of a Container.", +"flatPath": "tagmanager/v1/accounts/{accountId}/containers/{containerId}/triggers", +"httpMethod": "GET", +"id": "tagmanager.accounts.containers.triggers.list", +"parameterOrder": [ +"accountId", +"containerId" +], +"parameters": { +"accountId": { +"description": "The GTM Account ID.", +"location": "path", +"required": true, +"type": "string" +}, +"containerId": { +"description": "The GTM Container ID.", +"location": "path", +"required": true, +"type": "string" +} +}, +"path": "tagmanager/v1/accounts/{accountId}/containers/{containerId}/triggers", +"response": { +"$ref": "ListTriggersResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/tagmanager.edit.containers", +"https://www.googleapis.com/auth/tagmanager.readonly" +] +}, +"update": { +"description": "Updates a GTM Trigger.", +"flatPath": "tagmanager/v1/accounts/{accountId}/containers/{containerId}/triggers/{triggerId}", +"httpMethod": "PUT", +"id": "tagmanager.accounts.containers.triggers.update", +"parameterOrder": [ +"accountId", +"containerId", +"triggerId" +], +"parameters": { +"accountId": { +"description": "The GTM Account ID.", +"location": "path", +"required": true, +"type": "string" +}, +"containerId": { +"description": "The GTM Container ID.", +"location": "path", +"required": true, +"type": "string" +}, +"fingerprint": { +"description": "When provided, this fingerprint must match the fingerprint of the trigger in storage.", +"location": "query", +"type": "string" +}, +"triggerId": { +"description": "The GTM Trigger ID.", +"location": "path", +"required": true, +"type": "string" +} +}, +"path": "tagmanager/v1/accounts/{accountId}/containers/{containerId}/triggers/{triggerId}", +"request": { +"$ref": "Trigger" +}, +"response": { +"$ref": "Trigger" +}, +"scopes": [ +"https://www.googleapis.com/auth/tagmanager.edit.containers" +] +} +} +}, +"variables": { +"methods": { +"create": { +"description": "Creates a GTM Variable.", +"flatPath": "tagmanager/v1/accounts/{accountId}/containers/{containerId}/variables", +"httpMethod": "POST", +"id": "tagmanager.accounts.containers.variables.create", +"parameterOrder": [ +"accountId", +"containerId" +], +"parameters": { +"accountId": { +"description": "The GTM Account ID.", +"location": "path", +"required": true, +"type": "string" +}, +"containerId": { +"description": "The GTM Container ID.", +"location": "path", +"required": true, +"type": "string" +} +}, +"path": "tagmanager/v1/accounts/{accountId}/containers/{containerId}/variables", +"request": { +"$ref": "Variable" +}, +"response": { +"$ref": "Variable" +}, +"scopes": [ +"https://www.googleapis.com/auth/tagmanager.edit.containers" +] +}, +"delete": { +"description": "Deletes a GTM Variable.", +"flatPath": "tagmanager/v1/accounts/{accountId}/containers/{containerId}/variables/{variableId}", +"httpMethod": "DELETE", +"id": "tagmanager.accounts.containers.variables.delete", +"parameterOrder": [ +"accountId", +"containerId", +"variableId" +], +"parameters": { +"accountId": { +"description": "The GTM Account ID.", +"location": "path", +"required": true, +"type": "string" +}, +"containerId": { +"description": "The GTM Container ID.", +"location": "path", +"required": true, +"type": "string" +}, +"variableId": { +"description": "The GTM Variable ID.", +"location": "path", +"required": true, +"type": "string" +} +}, +"path": "tagmanager/v1/accounts/{accountId}/containers/{containerId}/variables/{variableId}", +"scopes": [ +"https://www.googleapis.com/auth/tagmanager.edit.containers" +] +}, +"get": { +"description": "Gets a GTM Variable.", +"flatPath": "tagmanager/v1/accounts/{accountId}/containers/{containerId}/variables/{variableId}", +"httpMethod": "GET", +"id": "tagmanager.accounts.containers.variables.get", +"parameterOrder": [ +"accountId", +"containerId", +"variableId" +], +"parameters": { +"accountId": { +"description": "The GTM Account ID.", +"location": "path", +"required": true, +"type": "string" +}, +"containerId": { +"description": "The GTM Container ID.", +"location": "path", +"required": true, +"type": "string" +}, +"variableId": { +"description": "The GTM Variable ID.", +"location": "path", +"required": true, +"type": "string" +} +}, +"path": "tagmanager/v1/accounts/{accountId}/containers/{containerId}/variables/{variableId}", +"response": { +"$ref": "Variable" +}, +"scopes": [ +"https://www.googleapis.com/auth/tagmanager.edit.containers", +"https://www.googleapis.com/auth/tagmanager.readonly" +] +}, +"list": { +"description": "Lists all GTM Variables of a Container.", +"flatPath": "tagmanager/v1/accounts/{accountId}/containers/{containerId}/variables", +"httpMethod": "GET", +"id": "tagmanager.accounts.containers.variables.list", +"parameterOrder": [ +"accountId", +"containerId" +], +"parameters": { +"accountId": { +"description": "The GTM Account ID.", +"location": "path", +"required": true, +"type": "string" +}, +"containerId": { +"description": "The GTM Container ID.", +"location": "path", +"required": true, +"type": "string" +} +}, +"path": "tagmanager/v1/accounts/{accountId}/containers/{containerId}/variables", +"response": { +"$ref": "ListVariablesResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/tagmanager.edit.containers", +"https://www.googleapis.com/auth/tagmanager.readonly" +] +}, +"update": { +"description": "Updates a GTM Variable.", +"flatPath": "tagmanager/v1/accounts/{accountId}/containers/{containerId}/variables/{variableId}", +"httpMethod": "PUT", +"id": "tagmanager.accounts.containers.variables.update", +"parameterOrder": [ +"accountId", +"containerId", +"variableId" +], +"parameters": { +"accountId": { +"description": "The GTM Account ID.", +"location": "path", +"required": true, +"type": "string" +}, +"containerId": { +"description": "The GTM Container ID.", +"location": "path", +"required": true, +"type": "string" +}, +"fingerprint": { +"description": "When provided, this fingerprint must match the fingerprint of the variable in storage.", +"location": "query", +"type": "string" +}, +"variableId": { +"description": "The GTM Variable ID.", +"location": "path", +"required": true, +"type": "string" +} +}, +"path": "tagmanager/v1/accounts/{accountId}/containers/{containerId}/variables/{variableId}", +"request": { +"$ref": "Variable" +}, +"response": { +"$ref": "Variable" +}, +"scopes": [ +"https://www.googleapis.com/auth/tagmanager.edit.containers" +] +} +} +}, +"versions": { +"methods": { +"create": { +"description": "Creates a Container Version.", +"flatPath": "tagmanager/v1/accounts/{accountId}/containers/{containerId}/versions", +"httpMethod": "POST", +"id": "tagmanager.accounts.containers.versions.create", +"parameterOrder": [ +"accountId", +"containerId" +], +"parameters": { +"accountId": { +"description": "The GTM Account ID.", +"location": "path", +"required": true, +"type": "string" +}, +"containerId": { +"description": "The GTM Container ID.", +"location": "path", +"required": true, +"type": "string" +} +}, +"path": "tagmanager/v1/accounts/{accountId}/containers/{containerId}/versions", +"request": { +"$ref": "CreateContainerVersionRequestVersionOptions" +}, +"response": { +"$ref": "CreateContainerVersionResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/tagmanager.edit.containerversions" +] +}, +"delete": { +"description": "Deletes a Container Version.", +"flatPath": "tagmanager/v1/accounts/{accountId}/containers/{containerId}/versions/{containerVersionId}", +"httpMethod": "DELETE", +"id": "tagmanager.accounts.containers.versions.delete", +"parameterOrder": [ +"accountId", +"containerId", +"containerVersionId" +], +"parameters": { +"accountId": { +"description": "The GTM Account ID.", +"location": "path", +"required": true, +"type": "string" +}, +"containerId": { +"description": "The GTM Container ID.", +"location": "path", +"required": true, +"type": "string" +}, +"containerVersionId": { +"description": "The GTM Container Version ID.", +"location": "path", +"required": true, +"type": "string" +} +}, +"path": "tagmanager/v1/accounts/{accountId}/containers/{containerId}/versions/{containerVersionId}", +"scopes": [ +"https://www.googleapis.com/auth/tagmanager.edit.containerversions" +] +}, +"get": { +"description": "Gets a Container Version.", +"flatPath": "tagmanager/v1/accounts/{accountId}/containers/{containerId}/versions/{containerVersionId}", +"httpMethod": "GET", +"id": "tagmanager.accounts.containers.versions.get", +"parameterOrder": [ +"accountId", +"containerId", +"containerVersionId" +], +"parameters": { +"accountId": { +"description": "The GTM Account ID.", +"location": "path", +"required": true, +"type": "string" +}, +"containerId": { +"description": "The GTM Container ID.", +"location": "path", +"required": true, +"type": "string" +}, +"containerVersionId": { +"description": "The GTM Container Version ID. Specify published to retrieve the currently published version.", +"location": "path", +"required": true, +"type": "string" +} +}, +"path": "tagmanager/v1/accounts/{accountId}/containers/{containerId}/versions/{containerVersionId}", +"response": { +"$ref": "ContainerVersion" +}, +"scopes": [ +"https://www.googleapis.com/auth/tagmanager.edit.containers", +"https://www.googleapis.com/auth/tagmanager.edit.containerversions", +"https://www.googleapis.com/auth/tagmanager.readonly" +] +}, +"list": { +"description": "Lists all Container Versions of a GTM Container.", +"flatPath": "tagmanager/v1/accounts/{accountId}/containers/{containerId}/versions", +"httpMethod": "GET", +"id": "tagmanager.accounts.containers.versions.list", +"parameterOrder": [ +"accountId", +"containerId" +], +"parameters": { +"accountId": { +"description": "The GTM Account ID.", +"location": "path", +"required": true, +"type": "string" +}, +"containerId": { +"description": "The GTM Container ID.", +"location": "path", +"required": true, +"type": "string" +}, +"headers": { +"default": "false", +"description": "Retrieve headers only when true.", +"location": "query", +"type": "boolean" +}, +"includeDeleted": { +"default": "false", +"description": "Also retrieve deleted (archived) versions when true.", +"location": "query", +"type": "boolean" +} +}, +"path": "tagmanager/v1/accounts/{accountId}/containers/{containerId}/versions", +"response": { +"$ref": "ListContainerVersionsResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/tagmanager.edit.containers", +"https://www.googleapis.com/auth/tagmanager.edit.containerversions", +"https://www.googleapis.com/auth/tagmanager.readonly" +] +}, +"publish": { +"description": "Publishes a Container Version.", +"flatPath": "tagmanager/v1/accounts/{accountId}/containers/{containerId}/versions/{containerVersionId}/publish", +"httpMethod": "POST", +"id": "tagmanager.accounts.containers.versions.publish", +"parameterOrder": [ +"accountId", +"containerId", +"containerVersionId" +], +"parameters": { +"accountId": { +"description": "The GTM Account ID.", +"location": "path", +"required": true, +"type": "string" +}, +"containerId": { +"description": "The GTM Container ID.", +"location": "path", +"required": true, +"type": "string" +}, +"containerVersionId": { +"description": "The GTM Container Version ID.", +"location": "path", +"required": true, +"type": "string" +}, +"fingerprint": { +"description": "When provided, this fingerprint must match the fingerprint of the container version in storage.", +"location": "query", +"type": "string" +} +}, +"path": "tagmanager/v1/accounts/{accountId}/containers/{containerId}/versions/{containerVersionId}/publish", +"response": { +"$ref": "PublishContainerVersionResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/tagmanager.publish" +] +}, +"restore": { +"description": "Restores a Container Version. This will overwrite the container's current configuration (including its variables, triggers and tags). The operation will not have any effect on the version that is being served (i.e. the published version).", +"flatPath": "tagmanager/v1/accounts/{accountId}/containers/{containerId}/versions/{containerVersionId}/restore", +"httpMethod": "POST", +"id": "tagmanager.accounts.containers.versions.restore", +"parameterOrder": [ +"accountId", +"containerId", +"containerVersionId" +], +"parameters": { +"accountId": { +"description": "The GTM Account ID.", +"location": "path", +"required": true, +"type": "string" +}, +"containerId": { +"description": "The GTM Container ID.", +"location": "path", +"required": true, +"type": "string" +}, +"containerVersionId": { +"description": "The GTM Container Version ID.", +"location": "path", +"required": true, +"type": "string" +} +}, +"path": "tagmanager/v1/accounts/{accountId}/containers/{containerId}/versions/{containerVersionId}/restore", +"response": { +"$ref": "ContainerVersion" +}, +"scopes": [ +"https://www.googleapis.com/auth/tagmanager.edit.containers" +] +}, +"undelete": { +"description": "Undeletes a Container Version.", +"flatPath": "tagmanager/v1/accounts/{accountId}/containers/{containerId}/versions/{containerVersionId}/undelete", +"httpMethod": "POST", +"id": "tagmanager.accounts.containers.versions.undelete", +"parameterOrder": [ +"accountId", +"containerId", +"containerVersionId" +], +"parameters": { +"accountId": { +"description": "The GTM Account ID.", +"location": "path", +"required": true, +"type": "string" +}, +"containerId": { +"description": "The GTM Container ID.", +"location": "path", +"required": true, +"type": "string" +}, +"containerVersionId": { +"description": "The GTM Container Version ID.", +"location": "path", +"required": true, +"type": "string" +} +}, +"path": "tagmanager/v1/accounts/{accountId}/containers/{containerId}/versions/{containerVersionId}/undelete", +"response": { +"$ref": "ContainerVersion" +}, +"scopes": [ +"https://www.googleapis.com/auth/tagmanager.edit.containerversions" +] +}, +"update": { +"description": "Updates a Container Version.", +"flatPath": "tagmanager/v1/accounts/{accountId}/containers/{containerId}/versions/{containerVersionId}", +"httpMethod": "PUT", +"id": "tagmanager.accounts.containers.versions.update", +"parameterOrder": [ +"accountId", +"containerId", +"containerVersionId" +], +"parameters": { +"accountId": { +"description": "The GTM Account ID.", +"location": "path", +"required": true, +"type": "string" +}, +"containerId": { +"description": "The GTM Container ID.", +"location": "path", +"required": true, +"type": "string" +}, +"containerVersionId": { +"description": "The GTM Container Version ID.", +"location": "path", +"required": true, +"type": "string" +}, +"fingerprint": { +"description": "When provided, this fingerprint must match the fingerprint of the container version in storage.", +"location": "query", +"type": "string" +} +}, +"path": "tagmanager/v1/accounts/{accountId}/containers/{containerId}/versions/{containerVersionId}", +"request": { +"$ref": "ContainerVersion" +}, +"response": { +"$ref": "ContainerVersion" +}, +"scopes": [ +"https://www.googleapis.com/auth/tagmanager.edit.containerversions" +] +} +} +} +} +}, +"permissions": { +"methods": { +"create": { +"description": "Creates a user's Account & Container Permissions.", +"flatPath": "tagmanager/v1/accounts/{accountId}/permissions", +"httpMethod": "POST", +"id": "tagmanager.accounts.permissions.create", +"parameterOrder": [ +"accountId" +], +"parameters": { +"accountId": { +"description": "The GTM Account ID.", +"location": "path", +"required": true, +"type": "string" +} +}, +"path": "tagmanager/v1/accounts/{accountId}/permissions", +"request": { +"$ref": "UserAccess" +}, +"response": { +"$ref": "UserAccess" +}, +"scopes": [ +"https://www.googleapis.com/auth/tagmanager.manage.users" +] +}, +"delete": { +"description": "Removes a user from the account, revoking access to it and all of its containers.", +"flatPath": "tagmanager/v1/accounts/{accountId}/permissions/{permissionId}", +"httpMethod": "DELETE", +"id": "tagmanager.accounts.permissions.delete", +"parameterOrder": [ +"accountId", +"permissionId" +], +"parameters": { +"accountId": { +"description": "The GTM Account ID.", +"location": "path", +"required": true, +"type": "string" +}, +"permissionId": { +"description": "The GTM User ID.", +"location": "path", +"required": true, +"type": "string" +} +}, +"path": "tagmanager/v1/accounts/{accountId}/permissions/{permissionId}", +"scopes": [ +"https://www.googleapis.com/auth/tagmanager.manage.users" +] +}, +"get": { +"description": "Gets a user's Account & Container Permissions.", +"flatPath": "tagmanager/v1/accounts/{accountId}/permissions/{permissionId}", +"httpMethod": "GET", +"id": "tagmanager.accounts.permissions.get", +"parameterOrder": [ +"accountId", +"permissionId" +], +"parameters": { +"accountId": { +"description": "The GTM Account ID.", +"location": "path", +"required": true, +"type": "string" +}, +"permissionId": { +"description": "The GTM User ID.", +"location": "path", +"required": true, +"type": "string" +} +}, +"path": "tagmanager/v1/accounts/{accountId}/permissions/{permissionId}", +"response": { +"$ref": "UserAccess" +}, +"scopes": [ +"https://www.googleapis.com/auth/tagmanager.manage.users" +] +}, +"list": { +"description": "List all users that have access to the account along with Account and Container Permissions granted to each of them.", +"flatPath": "tagmanager/v1/accounts/{accountId}/permissions", +"httpMethod": "GET", +"id": "tagmanager.accounts.permissions.list", +"parameterOrder": [ +"accountId" +], +"parameters": { +"accountId": { +"description": "The GTM Account ID.", +"location": "path", +"required": true, +"type": "string" +} +}, +"path": "tagmanager/v1/accounts/{accountId}/permissions", +"response": { +"$ref": "ListAccountUsersResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/tagmanager.manage.users" +] +}, +"update": { +"description": "Updates a user's Account & Container Permissions.", +"flatPath": "tagmanager/v1/accounts/{accountId}/permissions/{permissionId}", +"httpMethod": "PUT", +"id": "tagmanager.accounts.permissions.update", +"parameterOrder": [ +"accountId", +"permissionId" +], +"parameters": { +"accountId": { +"description": "The GTM Account ID.", +"location": "path", +"required": true, +"type": "string" +}, +"permissionId": { +"description": "The GTM User ID.", +"location": "path", +"required": true, +"type": "string" +} +}, +"path": "tagmanager/v1/accounts/{accountId}/permissions/{permissionId}", +"request": { +"$ref": "UserAccess" +}, +"response": { +"$ref": "UserAccess" +}, +"scopes": [ +"https://www.googleapis.com/auth/tagmanager.manage.users" +] +} +} +} +} +} +}, +"revision": "20240701", +"rootUrl": "https://tagmanager.googleapis.com/", +"schemas": { +"Account": { +"description": "Represents a Google Tag Manager Account.", +"id": "Account", +"properties": { +"accountId": { +"description": "The Account ID uniquely identifies the GTM Account.", +"type": "string" +}, +"fingerprint": { +"description": "The fingerprint of the GTM Account as computed at storage time. This value is recomputed whenever the account is modified.", +"type": "string" +}, +"name": { +"description": "Account display name. @mutable tagmanager.accounts.create @mutable tagmanager.accounts.update", +"type": "string" +}, +"shareData": { +"description": "Whether the account shares data anonymously with Google and others. @mutable tagmanager.accounts.create @mutable tagmanager.accounts.update", +"type": "boolean" +} +}, +"type": "object" +}, +"AccountAccess": { +"description": "Defines the Google Tag Manager Account access permissions.", +"id": "AccountAccess", +"properties": { +"permission": { +"annotations": { +"required": [ +"tagmanager.accounts.permissions.create" +] +}, +"description": "List of Account permissions. Valid account permissions are read and manage. @mutable tagmanager.accounts.permissions.create @mutable tagmanager.accounts.permissions.update", +"items": { +"enum": [ +"read", +"edit", +"publish", +"delete", +"manage", +"editWorkspace" +], +"enumDescriptions": [ +"", +"", +"", +"", +"", +"" +], +"type": "string" +}, +"type": "array" +} +}, +"type": "object" +}, +"Condition": { +"description": "Represents a predicate.", +"id": "Condition", +"properties": { +"parameter": { +"annotations": { +"required": [ +"tagmanager.accounts.containers.triggers.create", +"tagmanager.accounts.containers.triggers.update" +] +}, +"description": "A list of named parameters (key/value), depending on the condition's type. Notes: - For binary operators, include parameters named arg0 and arg1 for specifying the left and right operands, respectively. - At this time, the left operand (arg0) must be a reference to a variable. - For case-insensitive Regex matching, include a boolean parameter named ignore_case that is set to true. If not specified or set to any other value, the matching will be case sensitive. - To negate an operator, include a boolean parameter named negate boolean parameter that is set to true. @mutable tagmanager.accounts.containers.triggers.create @mutable tagmanager.accounts.containers.triggers.update", +"items": { +"$ref": "Parameter" +}, +"type": "array" +}, +"type": { +"annotations": { +"required": [ +"tagmanager.accounts.containers.triggers.create", +"tagmanager.accounts.containers.triggers.update" +] +}, +"description": "The type of operator for this condition. @mutable tagmanager.accounts.containers.triggers.create @mutable tagmanager.accounts.containers.triggers.update", +"enum": [ +"equals", +"contains", +"startsWith", +"endsWith", +"matchRegex", +"greater", +"greaterOrEquals", +"less", +"lessOrEquals", +"cssSelector", +"urlMatches" +], +"enumDescriptions": [ +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"" +], +"type": "string" +} +}, +"type": "object" +}, +"Container": { +"description": "Represents a Google Tag Manager Container.", +"id": "Container", +"properties": { +"accountId": { +"description": "GTM Account ID.", +"type": "string" +}, +"containerId": { +"description": "The Container ID uniquely identifies the GTM Container.", +"type": "string" +}, +"domainName": { +"description": "Optional list of domain names associated with the Container. @mutable tagmanager.accounts.containers.create @mutable tagmanager.accounts.containers.update", +"items": { +"type": "string" +}, +"type": "array" +}, +"enabledBuiltInVariable": { +"description": "List of enabled built-in variables. Valid values include: pageUrl, pageHostname, pagePath, referrer, event, clickElement, clickClasses, clickId, clickTarget, clickUrl, clickText, formElement, formClasses, formId, formTarget, formUrl, formText, errorMessage, errorUrl, errorLine, newHistoryFragment, oldHistoryFragment, newHistoryState, oldHistoryState, historySource, containerVersion, debugMode, randomNumber, containerId. @mutable tagmanager.accounts.containers.create @mutable tagmanager.accounts.containers.update", +"items": { +"enum": [ +"pageUrl", +"pageHostname", +"pagePath", +"referrer", +"event", +"clickElement", +"clickClasses", +"clickId", +"clickTarget", +"clickUrl", +"clickText", +"firstPartyServingUrl", +"formElement", +"formClasses", +"formId", +"formTarget", +"formUrl", +"formText", +"environmentName", +"errorMessage", +"errorUrl", +"errorLine", +"newHistoryUrl", +"oldHistoryUrl", +"newHistoryFragment", +"oldHistoryFragment", +"newHistoryState", +"oldHistoryState", +"historySource", +"containerVersion", +"debugMode", +"randomNumber", +"containerId", +"appId", +"appName", +"appVersionCode", +"appVersionName", +"language", +"osVersion", +"platform", +"sdkVersion", +"deviceName", +"resolution", +"advertiserId", +"advertisingTrackingEnabled", +"htmlId", +"ampBrowserLanguage", +"ampCanonicalPath", +"ampCanonicalUrl", +"ampCanonicalHost", +"ampReferrer", +"ampTitle", +"ampClientId", +"ampClientTimezone", +"ampClientTimestamp", +"ampClientScreenWidth", +"ampClientScreenHeight", +"ampClientScrollX", +"ampClientScrollY", +"ampClientMaxScrollX", +"ampClientMaxScrollY", +"ampTotalEngagedTime", +"ampPageViewId", +"ampPageLoadTime", +"ampPageDownloadTime", +"ampGtmEvent", +"eventName", +"firebaseEventParameterCampaign", +"firebaseEventParameterCampaignAclid", +"firebaseEventParameterCampaignAnid", +"firebaseEventParameterCampaignClickTimestamp", +"firebaseEventParameterCampaignContent", +"firebaseEventParameterCampaignCp1", +"firebaseEventParameterCampaignGclid", +"firebaseEventParameterCampaignSource", +"firebaseEventParameterCampaignTerm", +"firebaseEventParameterCurrency", +"firebaseEventParameterDynamicLinkAcceptTime", +"firebaseEventParameterDynamicLinkLinkid", +"firebaseEventParameterNotificationMessageDeviceTime", +"firebaseEventParameterNotificationMessageId", +"firebaseEventParameterNotificationMessageName", +"firebaseEventParameterNotificationMessageTime", +"firebaseEventParameterNotificationTopic", +"firebaseEventParameterPreviousAppVersion", +"firebaseEventParameterPreviousOsVersion", +"firebaseEventParameterPrice", +"firebaseEventParameterProductId", +"firebaseEventParameterQuantity", +"firebaseEventParameterValue", +"videoProvider", +"videoUrl", +"videoTitle", +"videoDuration", +"videoPercent", +"videoVisible", +"videoStatus", +"videoCurrentTime", +"scrollDepthThreshold", +"scrollDepthUnits", +"scrollDepthDirection", +"elementVisibilityRatio", +"elementVisibilityTime", +"elementVisibilityFirstTime", +"elementVisibilityRecentTime" +], +"enumDescriptions": [ +"", +"", +"", +"", +"For web or mobile.", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"For web or mobile.", +"", +"For web or mobile.", +"For web or mobile.", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"" +], +"type": "string" +}, +"type": "array" +}, +"fingerprint": { +"description": "The fingerprint of the GTM Container as computed at storage time. This value is recomputed whenever the account is modified.", +"type": "string" +}, +"name": { +"annotations": { +"required": [ +"tagmanager.accounts.containers.create" +] +}, +"description": "Container display name. @mutable tagmanager.accounts.containers.create @mutable tagmanager.accounts.containers.update", +"type": "string" +}, +"notes": { +"description": "Container Notes. @mutable tagmanager.accounts.containers.create @mutable tagmanager.accounts.containers.update", +"type": "string" +}, +"publicId": { +"description": "Container Public ID.", +"type": "string" +}, +"timeZoneCountryId": { +"annotations": { +"required": [ +"tagmanager.accounts.containers.create" +] +}, +"description": "Container Country ID. @mutable tagmanager.accounts.containers.create @mutable tagmanager.accounts.containers.update", +"type": "string" +}, +"timeZoneId": { +"annotations": { +"required": [ +"tagmanager.accounts.containers.create" +] +}, +"description": "Container Time Zone ID. @mutable tagmanager.accounts.containers.create @mutable tagmanager.accounts.containers.update", +"type": "string" +}, +"usageContext": { +"annotations": { +"required": [ +"tagmanager.accounts.containers.create", +"tagmanager.accounts.containers.update" +] +}, +"description": "List of Usage Contexts for the Container. Valid values include: web, android, ios. @mutable tagmanager.accounts.containers.create @mutable tagmanager.accounts.containers.update", +"items": { +"enum": [ +"web", +"android", +"ios", +"androidSdk5", +"iosSdk5", +"amp" +], +"enumDescriptions": [ +"", +"", +"", +"", +"", +"" +], +"type": "string" +}, +"type": "array" +} +}, +"type": "object" +}, +"ContainerAccess": { +"description": "Defines the Google Tag Manager Container access permissions.", +"id": "ContainerAccess", +"properties": { +"containerId": { +"description": "GTM Container ID. @mutable tagmanager.accounts.permissions.create @mutable tagmanager.accounts.permissions.update", +"type": "string" +}, +"permission": { +"description": "List of Container permissions. Valid container permissions are: read, edit, delete, publish. @mutable tagmanager.accounts.permissions.create @mutable tagmanager.accounts.permissions.update", +"items": { +"enum": [ +"read", +"edit", +"publish", +"delete", +"manage", +"editWorkspace" +], +"enumDescriptions": [ +"", +"", +"", +"", +"", +"" +], +"type": "string" +}, +"type": "array" +} +}, +"type": "object" +}, +"ContainerVersion": { +"description": "Represents a Google Tag Manager Container Version.", +"id": "ContainerVersion", +"properties": { +"accountId": { +"description": "GTM Account ID.", +"type": "string" +}, +"container": { +"$ref": "Container", +"description": "The container that this version was taken from." +}, +"containerId": { +"description": "GTM Container ID.", +"type": "string" +}, +"containerVersionId": { +"description": "The Container Version ID uniquely identifies the GTM Container Version.", +"type": "string" +}, +"deleted": { +"description": "A value of true indicates this container version has been deleted.", +"type": "boolean" +}, +"fingerprint": { +"description": "The fingerprint of the GTM Container Version as computed at storage time. This value is recomputed whenever the container version is modified.", +"type": "string" +}, +"folder": { +"description": "The folders in the container that this version was taken from.", +"items": { +"$ref": "Folder" +}, +"type": "array" +}, +"macro": { +"deprecated": true, +"description": "The macros in the container that this version was taken from.", +"items": { +"$ref": "Macro" +}, +"type": "array" +}, +"name": { +"description": "Container version display name. @mutable tagmanager.accounts.containers.versions.update", +"type": "string" +}, +"notes": { +"description": "User notes on how to apply this container version in the container. @mutable tagmanager.accounts.containers.versions.update", +"type": "string" +}, +"rule": { +"deprecated": true, +"description": "The rules in the container that this version was taken from.", +"items": { +"$ref": "Rule" +}, +"type": "array" +}, +"tag": { +"description": "The tags in the container that this version was taken from.", +"items": { +"$ref": "Tag" +}, +"type": "array" +}, +"trigger": { +"description": "The triggers in the container that this version was taken from.", +"items": { +"$ref": "Trigger" +}, +"type": "array" +}, +"variable": { +"description": "The variables in the container that this version was taken from.", +"items": { +"$ref": "Variable" +}, +"type": "array" +} +}, +"type": "object" +}, +"ContainerVersionHeader": { +"description": "Represents a Google Tag Manager Container Version Header.", +"id": "ContainerVersionHeader", +"properties": { +"accountId": { +"description": "GTM Account ID.", +"type": "string" +}, +"containerId": { +"description": "GTM Container ID.", +"type": "string" +}, +"containerVersionId": { +"description": "The Container Version ID uniquely identifies the GTM Container Version.", +"type": "string" +}, +"deleted": { +"description": "A value of true indicates this container version has been deleted.", +"type": "boolean" +}, +"name": { +"description": "Container version display name.", +"type": "string" +}, +"numMacros": { +"deprecated": true, +"description": "Number of macros in the container version.", +"type": "string" +}, +"numRules": { +"deprecated": true, +"description": "Number of rules in the container version.", +"type": "string" +}, +"numTags": { +"description": "Number of tags in the container version.", +"type": "string" +}, +"numTriggers": { +"description": "Number of triggers in the container version.", +"type": "string" +}, +"numVariables": { +"description": "Number of variables in the container version.", +"type": "string" +} +}, +"type": "object" +}, +"CreateContainerVersionRequestVersionOptions": { +"description": "Options for new container versions.", +"id": "CreateContainerVersionRequestVersionOptions", +"properties": { +"name": { +"description": "The name of the container version to be created.", +"type": "string" +}, +"notes": { +"description": "The notes of the container version to be created.", +"type": "string" +}, +"quickPreview": { +"description": "The creation of this version may be for quick preview and shouldn't be saved.", +"type": "boolean" +} +}, +"type": "object" +}, +"CreateContainerVersionResponse": { +"description": "Create container versions response.", +"id": "CreateContainerVersionResponse", +"properties": { +"compilerError": { +"description": "Compiler errors or not.", +"type": "boolean" +}, +"containerVersion": { +"$ref": "ContainerVersion", +"description": "The container version created." +} +}, +"type": "object" +}, +"Environment": { +"description": "Represents a Google Tag Manager Environment. Note that a user can create, delete and update environments of type USER, but can only update the enable_debug and url fields of environments of other types.", +"id": "Environment", +"properties": { +"accountId": { +"description": "GTM Account ID.", +"type": "string" +}, +"authorizationCode": { +"description": "The environment authorization code.", +"type": "string" +}, +"authorizationTimestampMs": { +"description": "The last update time-stamp for the authorization code.", +"format": "int64", +"type": "string" +}, +"containerId": { +"description": "GTM Container ID.", +"type": "string" +}, +"containerVersionId": { +"type": "string" +}, +"description": { +"description": "The environment description. Can be set or changed only on USER type environments. @mutable tagmanager.accounts.containers.environments.create @mutable tagmanager.accounts.containers.environments.update", +"type": "string" +}, +"enableDebug": { +"description": "Whether or not to enable debug by default on for the environment. @mutable tagmanager.accounts.containers.environments.create @mutable tagmanager.accounts.containers.environments.update", +"type": "boolean" +}, +"environmentId": { +"description": "GTM Environment ID uniquely identifies the GTM Environment.", +"type": "string" +}, +"fingerprint": { +"description": "The fingerprint of the GTM environment as computed at storage time. This value is recomputed whenever the environment is modified.", +"type": "string" +}, +"name": { +"annotations": { +"required": [ +"tagmanager.accounts.containers.environments.create", +"tagmanager.accounts.containers.environments.update" +] +}, +"description": "The environment display name. Can be set or changed only on USER type environments. @mutable tagmanager.accounts.containers.environments.create @mutable tagmanager.accounts.containers.environments.update", +"type": "string" +}, +"type": { +"description": "The type of this environment.", +"enum": [ +"user", +"live", +"latest", +"draft" +], +"enumDescriptions": [ +"Used for user defined environments.", +"Used for Live environment, which points to the live published container version.", +"Used for Latest environment, which points to the latest created container version.", +"Used for Draft environment, which points to the single draft in the container." +], +"type": "string" +}, +"url": { +"description": "Default preview page url for the environment. @mutable tagmanager.accounts.containers.environments.create @mutable tagmanager.accounts.containers.environments.update", +"type": "string" +} +}, +"type": "object" +}, +"Folder": { +"description": "Represents a Google Tag Manager Folder.", +"id": "Folder", +"properties": { +"accountId": { +"description": "GTM Account ID.", +"type": "string" +}, +"containerId": { +"description": "GTM Container ID.", +"type": "string" +}, +"fingerprint": { +"description": "The fingerprint of the GTM Folder as computed at storage time. This value is recomputed whenever the folder is modified.", +"type": "string" +}, +"folderId": { +"description": "The Folder ID uniquely identifies the GTM Folder.", +"type": "string" +}, +"name": { +"annotations": { +"required": [ +"tagmanager.accounts.containers.folders.create", +"tagmanager.accounts.containers.folders.update" +] +}, +"description": "Folder display name. @mutable tagmanager.accounts.containers.folders.create @mutable tagmanager.accounts.containers.folders.update", +"type": "string" +} +}, +"type": "object" +}, +"FolderEntities": { +"description": "Represents a Google Tag Manager Folder's contents.", +"id": "FolderEntities", +"properties": { +"tag": { +"description": "The list of tags inside the folder.", +"items": { +"$ref": "Tag" +}, +"type": "array" +}, +"trigger": { +"description": "The list of triggers inside the folder.", +"items": { +"$ref": "Trigger" +}, +"type": "array" +}, +"variable": { +"description": "The list of variables inside the folder.", +"items": { +"$ref": "Variable" +}, +"type": "array" +} +}, +"type": "object" +}, +"ListAccountUsersResponse": { +"description": "List AccountUsers Response.", +"id": "ListAccountUsersResponse", +"properties": { +"userAccess": { +"description": "All GTM AccountUsers of a GTM Account.", +"items": { +"$ref": "UserAccess" +}, +"type": "array" +} +}, +"type": "object" +}, +"ListAccountsResponse": { +"description": "List Accounts Response.", +"id": "ListAccountsResponse", +"properties": { +"accounts": { +"description": "List of GTM Accounts that a user has access to.", +"items": { +"$ref": "Account" +}, +"type": "array" +} +}, +"type": "object" +}, +"ListContainerVersionsResponse": { +"description": "List container versions response.", +"id": "ListContainerVersionsResponse", +"properties": { +"containerVersion": { +"description": "All versions of a GTM Container.", +"items": { +"$ref": "ContainerVersion" +}, +"type": "array" +}, +"containerVersionHeader": { +"description": "All container version headers of a GTM Container.", +"items": { +"$ref": "ContainerVersionHeader" +}, +"type": "array" +} +}, +"type": "object" +}, +"ListContainersResponse": { +"description": "List Containers Response.", +"id": "ListContainersResponse", +"properties": { +"containers": { +"description": "All Containers of a GTM Account.", +"items": { +"$ref": "Container" +}, +"type": "array" +} +}, +"type": "object" +}, +"ListEnvironmentsResponse": { +"description": "List Environments Response.", +"id": "ListEnvironmentsResponse", +"properties": { +"environments": { +"description": "All Environments of a GTM Container.", +"items": { +"$ref": "Environment" +}, +"type": "array" +} +}, +"type": "object" +}, +"ListFoldersResponse": { +"description": "List Folders Response.", +"id": "ListFoldersResponse", +"properties": { +"folders": { +"description": "All GTM Folders of a GTM Container.", +"items": { +"$ref": "Folder" +}, +"type": "array" +} +}, +"type": "object" +}, +"ListTagsResponse": { +"description": "List Tags Response.", +"id": "ListTagsResponse", +"properties": { +"tags": { +"description": "All GTM Tags of a GTM Container.", +"items": { +"$ref": "Tag" +}, +"type": "array" +} +}, +"type": "object" +}, +"ListTriggersResponse": { +"description": "List triggers response.", +"id": "ListTriggersResponse", +"properties": { +"triggers": { +"description": "All GTM Triggers of a GTM Container.", +"items": { +"$ref": "Trigger" +}, +"type": "array" +} +}, +"type": "object" +}, +"ListVariablesResponse": { +"description": "List Variables Response.", +"id": "ListVariablesResponse", +"properties": { +"variables": { +"description": "All GTM Variables of a GTM Container.", +"items": { +"$ref": "Variable" +}, +"type": "array" +} +}, +"type": "object" +}, +"Macro": { +"description": "Represents a Google Tag Manager Macro.", +"id": "Macro", +"properties": { +"accountId": { +"description": "GTM Account ID.", +"type": "string" +}, +"containerId": { +"description": "GTM Container ID.", +"type": "string" +}, +"disablingRuleId": { +"description": "For mobile containers only: A list of rule IDs for disabling conditional macros; the macro is enabled if one of the enabling rules is true while all the disabling rules are false. Treated as an unordered set. @mutable tagmanager.accounts.containers.macros.create @mutable tagmanager.accounts.containers.macros.update", +"items": { +"type": "string" +}, +"type": "array" +}, +"enablingRuleId": { +"description": "For mobile containers only: A list of rule IDs for enabling conditional macros; the macro is enabled if one of the enabling rules is true while all the disabling rules are false. Treated as an unordered set. @mutable tagmanager.accounts.containers.macros.create @mutable tagmanager.accounts.containers.macros.update", +"items": { +"type": "string" +}, +"type": "array" +}, +"fingerprint": { +"description": "The fingerprint of the GTM Macro as computed at storage time. This value is recomputed whenever the macro is modified.", +"type": "string" +}, +"macroId": { +"description": "The Macro ID uniquely identifies the GTM Macro.", +"type": "string" +}, +"name": { +"description": "Macro display name. @mutable tagmanager.accounts.containers.macros.create @mutable tagmanager.accounts.containers.macros.update", +"type": "string" +}, +"notes": { +"description": "User notes on how to apply this macro in the container. @mutable tagmanager.accounts.containers.macros.create @mutable tagmanager.accounts.containers.macros.update", +"type": "string" +}, +"parameter": { +"description": "The macro's parameters. @mutable tagmanager.accounts.containers.macros.create @mutable tagmanager.accounts.containers.macros.update", +"items": { +"$ref": "Parameter" +}, +"type": "array" +}, +"parentFolderId": { +"description": "Parent folder id.", +"type": "string" +}, +"scheduleEndMs": { +"description": "The end timestamp in milliseconds to schedule a macro. @mutable tagmanager.accounts.containers.macros.create @mutable tagmanager.accounts.containers.macros.update", +"format": "int64", +"type": "string" +}, +"scheduleStartMs": { +"description": "The start timestamp in milliseconds to schedule a macro. @mutable tagmanager.accounts.containers.macros.create @mutable tagmanager.accounts.containers.macros.update", +"format": "int64", +"type": "string" +}, +"type": { +"description": "GTM Macro Type. @mutable tagmanager.accounts.containers.macros.create @mutable tagmanager.accounts.containers.macros.update", +"type": "string" +} +}, +"type": "object" +}, +"Parameter": { +"description": "Represents a Google Tag Manager Parameter.", +"id": "Parameter", +"properties": { +"key": { +"description": "The named key that uniquely identifies a parameter. Required for top-level parameters, as well as map values. Ignored for list values. @mutable tagmanager.accounts.containers.variables.create @mutable tagmanager.accounts.containers.variables.update @mutable tagmanager.accounts.containers.triggers.create @mutable tagmanager.accounts.containers.triggers.update @mutable tagmanager.accounts.containers.tags.create @mutable tagmanager.accounts.containers.tags.update", +"type": "string" +}, +"list": { +"description": "This list parameter's parameters (keys will be ignored). @mutable tagmanager.accounts.containers.variables.create @mutable tagmanager.accounts.containers.variables.update @mutable tagmanager.accounts.containers.triggers.create @mutable tagmanager.accounts.containers.triggers.update @mutable tagmanager.accounts.containers.tags.create @mutable tagmanager.accounts.containers.tags.update", +"items": { +"$ref": "Parameter" +}, +"type": "array" +}, +"map": { +"description": "This map parameter's parameters (must have keys; keys must be unique). @mutable tagmanager.accounts.containers.variables.create @mutable tagmanager.accounts.containers.variables.update @mutable tagmanager.accounts.containers.triggers.create @mutable tagmanager.accounts.containers.triggers.update @mutable tagmanager.accounts.containers.tags.create @mutable tagmanager.accounts.containers.tags.update", +"items": { +"$ref": "Parameter" +}, +"type": "array" +}, +"type": { +"annotations": { +"required": [ +"tagmanager.accounts.containers.tags.create", +"tagmanager.accounts.containers.tags.update", +"tagmanager.accounts.containers.triggers.create", +"tagmanager.accounts.containers.triggers.update", +"tagmanager.accounts.containers.variables.create", +"tagmanager.accounts.containers.variables.update" +] +}, +"description": "The parameter type. Valid values are: - boolean: The value represents a boolean, represented as 'true' or 'false' - integer: The value represents a 64-bit signed integer value, in base 10 - list: A list of parameters should be specified - map: A map of parameters should be specified - template: The value represents any text; this can include variable references (even variable references that might return non-string types) - trigger_reference: The value represents a trigger, represented as the trigger id - tag_reference: The value represents a tag, represented as the tag name @mutable tagmanager.accounts.containers.variables.create @mutable tagmanager.accounts.containers.variables.update @mutable tagmanager.accounts.containers.triggers.create @mutable tagmanager.accounts.containers.triggers.update @mutable tagmanager.accounts.containers.tags.create @mutable tagmanager.accounts.containers.tags.update", +"enum": [ +"template", +"integer", +"boolean", +"list", +"map", +"triggerReference", +"tagReference" +], +"enumDescriptions": [ +"May include variable references (such as \"{{myVariable}}\").", +"", +"", +"", +"", +"", +"" +], +"type": "string" +}, +"value": { +"description": "A parameter's value (may contain variable references such as \"{{myVariable}}\") as appropriate to the specified type. @mutable tagmanager.accounts.containers.variables.create @mutable tagmanager.accounts.containers.variables.update @mutable tagmanager.accounts.containers.triggers.create @mutable tagmanager.accounts.containers.triggers.update @mutable tagmanager.accounts.containers.tags.create @mutable tagmanager.accounts.containers.tags.update", +"type": "string" +} +}, +"type": "object" +}, +"PublishContainerVersionResponse": { +"description": "Publish container version response.", +"id": "PublishContainerVersionResponse", +"properties": { +"compilerError": { +"description": "Compiler errors or not.", +"type": "boolean" +}, +"containerVersion": { +"$ref": "ContainerVersion", +"description": "The container version created." +} +}, +"type": "object" +}, +"Rule": { +"description": "Represents a Google Tag Manager Rule.", +"id": "Rule", +"properties": { +"accountId": { +"description": "GTM Account ID.", +"type": "string" +}, +"condition": { +"description": "The list of conditions that make up this rule (implicit AND between them). @mutable tagmanager.accounts.containers.rules.create @mutable tagmanager.accounts.containers.rules.update", +"items": { +"$ref": "Condition" +}, +"type": "array" +}, +"containerId": { +"description": "GTM Container ID.", +"type": "string" +}, +"fingerprint": { +"description": "The fingerprint of the GTM Rule as computed at storage time. This value is recomputed whenever the rule is modified.", +"type": "string" +}, +"name": { +"description": "Rule display name. @mutable tagmanager.accounts.containers.rules.create @mutable tagmanager.accounts.containers.rules.update", +"type": "string" +}, +"notes": { +"description": "User notes on how to apply this rule in the container. @mutable tagmanager.accounts.containers.rules.create @mutable tagmanager.accounts.containers.rules.update", +"type": "string" +}, +"ruleId": { +"description": "The Rule ID uniquely identifies the GTM Rule.", +"type": "string" +} +}, +"type": "object" +}, +"SetupTag": { +"id": "SetupTag", +"properties": { +"stopOnSetupFailure": { +"description": "If true, fire the main tag if and only if the setup tag fires successfully. If false, fire the main tag regardless of setup tag firing status.", +"type": "boolean" +}, +"tagName": { +"description": "The name of the setup tag.", +"type": "string" +} +}, +"type": "object" +}, +"Tag": { +"description": "Represents a Google Tag Manager Tag.", +"id": "Tag", +"properties": { +"accountId": { +"description": "GTM Account ID.", +"type": "string" +}, +"blockingRuleId": { +"deprecated": true, +"description": "Blocking rule IDs. If any of the listed rules evaluate to true, the tag will not fire. @mutable tagmanager.accounts.containers.tags.create @mutable tagmanager.accounts.containers.tags.update", +"items": { +"type": "string" +}, +"type": "array" +}, +"blockingTriggerId": { +"description": "Blocking trigger IDs. If any of the listed triggers evaluate to true, the tag will not fire. @mutable tagmanager.accounts.containers.tags.create @mutable tagmanager.accounts.containers.tags.update", +"items": { +"type": "string" +}, +"type": "array" +}, +"containerId": { +"description": "GTM Container ID.", +"type": "string" +}, +"fingerprint": { +"description": "The fingerprint of the GTM Tag as computed at storage time. This value is recomputed whenever the tag is modified.", +"type": "string" +}, +"firingRuleId": { +"deprecated": true, +"description": "Firing rule IDs. A tag will fire when any of the listed rules are true and all of its blockingRuleIds (if any specified) are false. @mutable tagmanager.accounts.containers.tags.create @mutable tagmanager.accounts.containers.tags.update", +"items": { +"type": "string" +}, +"type": "array" +}, +"firingTriggerId": { +"description": "Firing trigger IDs. A tag will fire when any of the listed triggers are true and all of its blockingTriggerIds (if any specified) are false. @mutable tagmanager.accounts.containers.tags.create @mutable tagmanager.accounts.containers.tags.update", +"items": { +"type": "string" +}, +"type": "array" +}, +"liveOnly": { +"description": "If set to true, this tag will only fire in the live environment (e.g. not in preview or debug mode). @mutable tagmanager.accounts.containers.tags.create @mutable tagmanager.accounts.containers.tags.update", +"type": "boolean" +}, +"name": { +"annotations": { +"required": [ +"tagmanager.accounts.containers.tags.create", +"tagmanager.accounts.containers.tags.update" +] +}, +"description": "Tag display name. @mutable tagmanager.accounts.containers.tags.create @mutable tagmanager.accounts.containers.tags.update", +"type": "string" +}, +"notes": { +"description": "User notes on how to apply this tag in the container. @mutable tagmanager.accounts.containers.tags.create @mutable tagmanager.accounts.containers.tags.update", +"type": "string" +}, +"parameter": { +"description": "The tag's parameters. @mutable tagmanager.accounts.containers.tags.create @mutable tagmanager.accounts.containers.tags.update", +"items": { +"$ref": "Parameter" +}, +"type": "array" +}, +"parentFolderId": { +"description": "Parent folder id.", +"type": "string" +}, +"paused": { +"description": "True if the tag is paused. @mutable tagmanager.accounts.containers.tags.create @mutable tagmanager.accounts.containers.tags.update", +"type": "boolean" +}, +"priority": { +"$ref": "Parameter", +"description": "User defined numeric priority of the tag. Tags are fired asynchronously in order of priority. Tags with higher numeric value fire first. A tag's priority can be a positive or negative value. The default value is 0. @mutable tagmanager.accounts.containers.tags.create @mutable tagmanager.accounts.containers.tags.update" +}, +"scheduleEndMs": { +"description": "The end timestamp in milliseconds to schedule a tag. @mutable tagmanager.accounts.containers.tags.create @mutable tagmanager.accounts.containers.tags.update", +"format": "int64", +"type": "string" +}, +"scheduleStartMs": { +"description": "The start timestamp in milliseconds to schedule a tag. @mutable tagmanager.accounts.containers.tags.create @mutable tagmanager.accounts.containers.tags.update", +"format": "int64", +"type": "string" +}, +"setupTag": { +"description": "The list of setup tags. Currently we only allow one.", +"items": { +"$ref": "SetupTag" +}, +"type": "array" +}, +"tagFiringOption": { +"description": "Option to fire this tag.", +"enum": [ +"unlimited", +"oncePerEvent", +"oncePerLoad" +], +"enumDescriptions": [ +"Tag can be fired multiple times per event.", +"Tag can only be fired per event but can be fired multiple times per load (e.g., app load or page load).", +"Tag can only be fired per load (e.g., app load or page load)." +], +"type": "string" +}, +"tagId": { +"description": "The Tag ID uniquely identifies the GTM Tag.", +"type": "string" +}, +"teardownTag": { +"description": "The list of teardown tags. Currently we only allow one.", +"items": { +"$ref": "TeardownTag" +}, +"type": "array" +}, +"type": { +"annotations": { +"required": [ +"tagmanager.accounts.containers.tags.create" +] +}, +"description": "GTM Tag Type. @mutable tagmanager.accounts.containers.tags.create @mutable tagmanager.accounts.containers.tags.update", +"type": "string" +} +}, +"type": "object" +}, +"TeardownTag": { +"id": "TeardownTag", +"properties": { +"stopTeardownOnFailure": { +"description": "If true, fire the teardown tag if and only if the main tag fires successfully. If false, fire the teardown tag regardless of main tag firing status.", +"type": "boolean" +}, +"tagName": { +"description": "The name of the teardown tag.", +"type": "string" +} +}, +"type": "object" +}, +"Trigger": { +"description": "Represents a Google Tag Manager Trigger", +"id": "Trigger", +"properties": { +"accountId": { +"description": "GTM Account ID.", +"type": "string" +}, +"autoEventFilter": { +"description": "Used in the case of auto event tracking. @mutable tagmanager.accounts.containers.triggers.create @mutable tagmanager.accounts.containers.triggers.update", +"items": { +"$ref": "Condition" +}, +"type": "array" +}, +"checkValidation": { +"$ref": "Parameter", +"description": "Whether or not we should only fire tags if the form submit or link click event is not cancelled by some other event handler (e.g. because of validation). Only valid for Form Submission and Link Click triggers. @mutable tagmanager.accounts.containers.triggers.create @mutable tagmanager.accounts.containers.triggers.update" +}, +"containerId": { +"description": "GTM Container ID.", +"type": "string" +}, +"continuousTimeMinMilliseconds": { +"$ref": "Parameter", +"description": "A visibility trigger minimum continuous visible time (in milliseconds). Only valid for AMP Visibility trigger. @mutable tagmanager.accounts.containers.triggers.create @mutable tagmanager.accounts.containers.triggers.update" +}, +"customEventFilter": { +"description": "Used in the case of custom event, which is fired iff all Conditions are true. @mutable tagmanager.accounts.containers.triggers.create @mutable tagmanager.accounts.containers.triggers.update", +"items": { +"$ref": "Condition" +}, +"type": "array" +}, +"eventName": { +"$ref": "Parameter", +"description": "Name of the GTM event that is fired. Only valid for Timer triggers. @mutable tagmanager.accounts.containers.triggers.create @mutable tagmanager.accounts.containers.triggers.update" +}, +"filter": { +"description": "The trigger will only fire iff all Conditions are true. @mutable tagmanager.accounts.containers.triggers.create @mutable tagmanager.accounts.containers.triggers.update", +"items": { +"$ref": "Condition" +}, +"type": "array" +}, +"fingerprint": { +"description": "The fingerprint of the GTM Trigger as computed at storage time. This value is recomputed whenever the trigger is modified.", +"type": "string" +}, +"horizontalScrollPercentageList": { +"$ref": "Parameter", +"description": "List of integer percentage values for scroll triggers. The trigger will fire when each percentage is reached when the view is scrolled horizontally. Only valid for AMP scroll triggers. @mutable tagmanager.accounts.containers.triggers.create @mutable tagmanager.accounts.containers.triggers.update" +}, +"interval": { +"$ref": "Parameter", +"description": "Time between triggering recurring Timer Events (in milliseconds). Only valid for Timer triggers. @mutable tagmanager.accounts.containers.triggers.create @mutable tagmanager.accounts.containers.triggers.update" +}, +"intervalSeconds": { +"$ref": "Parameter", +"description": "Time between Timer Events to fire (in seconds). Only valid for AMP Timer trigger. @mutable tagmanager.accounts.containers.triggers.create @mutable tagmanager.accounts.containers.triggers.update" +}, +"limit": { +"$ref": "Parameter", +"description": "Limit of the number of GTM events this Timer Trigger will fire. If no limit is set, we will continue to fire GTM events until the user leaves the page. Only valid for Timer triggers. @mutable tagmanager.accounts.containers.triggers.create @mutable tagmanager.accounts.containers.triggers.update" +}, +"maxTimerLengthSeconds": { +"$ref": "Parameter", +"description": "Max time to fire Timer Events (in seconds). Only valid for AMP Timer trigger. @mutable tagmanager.accounts.containers.triggers.create @mutable tagmanager.accounts.containers.triggers.update" +}, +"name": { +"annotations": { +"required": [ +"tagmanager.accounts.containers.triggers.create", +"tagmanager.accounts.containers.triggers.update" +] +}, +"description": "Trigger display name. @mutable tagmanager.accounts.containers.triggers.create @mutable tagmanager.accounts.containers.triggers.update", +"type": "string" +}, +"parameter": { +"description": "Additional parameters. @mutable tagmanager.accounts.containers.workspaces.triggers.create @mutable tagmanager.accounts.containers.workspaces.triggers.update", +"items": { +"$ref": "Parameter" +}, +"type": "array" +}, +"parentFolderId": { +"description": "Parent folder id.", +"type": "string" +}, +"selector": { +"$ref": "Parameter", +"description": "A click trigger CSS selector (i.e. \"a\", \"button\" etc.). Only valid for AMP Click trigger. @mutable tagmanager.accounts.containers.triggers.create @mutable tagmanager.accounts.containers.triggers.update" +}, +"totalTimeMinMilliseconds": { +"$ref": "Parameter", +"description": "A visibility trigger minimum total visible time (in milliseconds). Only valid for AMP Visibility trigger. @mutable tagmanager.accounts.containers.triggers.create @mutable tagmanager.accounts.containers.triggers.update" +}, +"triggerId": { +"description": "The Trigger ID uniquely identifies the GTM Trigger.", +"type": "string" +}, +"type": { +"annotations": { +"required": [ +"tagmanager.accounts.containers.triggers.create" +] +}, +"description": "Defines the data layer event that causes this trigger. @mutable tagmanager.accounts.containers.triggers.create @mutable tagmanager.accounts.containers.triggers.update", +"enum": [ +"pageview", +"domReady", +"windowLoaded", +"customEvent", +"triggerGroup", +"always", +"formSubmission", +"click", +"linkClick", +"jsError", +"historyChange", +"timer", +"ampClick", +"ampTimer", +"ampScroll", +"ampVisibility", +"youTubeVideo", +"scrollDepth", +"elementVisibility" +], +"enumDescriptions": [ +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"" +], +"type": "string" +}, +"uniqueTriggerId": { +"$ref": "Parameter", +"description": "Globally unique id of the trigger that auto-generates this (a Form Submit, Link Click or Timer listener) if any. Used to make incompatible auto-events work together with trigger filtering based on trigger ids. This value is populated during output generation since the tags implied by triggers don't exist until then. Only valid for Form Submit, Link Click and Timer triggers. @mutable tagmanager.accounts.containers.triggers.create @mutable tagmanager.accounts.containers.triggers.update" +}, +"verticalScrollPercentageList": { +"$ref": "Parameter", +"description": "List of integer percentage values for scroll triggers. The trigger will fire when each percentage is reached when the view is scrolled vertically. Only valid for AMP scroll triggers. @mutable tagmanager.accounts.containers.triggers.create @mutable tagmanager.accounts.containers.triggers.update" +}, +"visibilitySelector": { +"$ref": "Parameter", +"description": "A visibility trigger CSS selector (i.e. \"#id\"). Only valid for AMP Visibility trigger. @mutable tagmanager.accounts.containers.triggers.create @mutable tagmanager.accounts.containers.triggers.update" +}, +"visiblePercentageMax": { +"$ref": "Parameter", +"description": "A visibility trigger maximum percent visibility. Only valid for AMP Visibility trigger. @mutable tagmanager.accounts.containers.triggers.create @mutable tagmanager.accounts.containers.triggers.update" +}, +"visiblePercentageMin": { +"$ref": "Parameter", +"description": "A visibility trigger minimum percent visibility. Only valid for AMP Visibility trigger. @mutable tagmanager.accounts.containers.triggers.create @mutable tagmanager.accounts.containers.triggers.update" +}, +"waitForTags": { +"$ref": "Parameter", +"description": "Whether or not we should delay the form submissions or link opening until all of the tags have fired (by preventing the default action and later simulating the default action). Only valid for Form Submission and Link Click triggers. @mutable tagmanager.accounts.containers.triggers.create @mutable tagmanager.accounts.containers.triggers.update" +}, +"waitForTagsTimeout": { +"$ref": "Parameter", +"description": "How long to wait (in milliseconds) for tags to fire when 'waits_for_tags' above evaluates to true. Only valid for Form Submission and Link Click triggers. @mutable tagmanager.accounts.containers.triggers.create @mutable tagmanager.accounts.containers.triggers.update" +} +}, +"type": "object" +}, +"UserAccess": { +"description": "Represents a user's permissions to an account and its container.", +"id": "UserAccess", +"properties": { +"accountAccess": { +"$ref": "AccountAccess", +"annotations": { +"required": [ +"tagmanager.accounts.permissions.create" +] +}, +"description": "GTM Account access permissions. @mutable tagmanager.accounts.permissions.create @mutable tagmanager.accounts.permissions.update" +}, +"accountId": { +"description": "GTM Account ID.", +"type": "string" +}, +"containerAccess": { +"description": "GTM Container access permissions. @mutable tagmanager.accounts.permissions.create @mutable tagmanager.accounts.permissions.update", +"items": { +"$ref": "ContainerAccess" +}, +"type": "array" +}, +"emailAddress": { +"annotations": { +"required": [ +"tagmanager.accounts.permissions.create" +] +}, +"description": "User's email address. @mutable tagmanager.accounts.permissions.create", +"type": "string" +}, +"permissionId": { +"description": "Account Permission ID.", +"type": "string" +} +}, +"type": "object" +}, +"Variable": { +"description": "Represents a Google Tag Manager Variable.", +"id": "Variable", +"properties": { +"accountId": { +"description": "GTM Account ID.", +"type": "string" +}, +"containerId": { +"description": "GTM Container ID.", +"type": "string" +}, +"disablingTriggerId": { +"description": "For mobile containers only: A list of trigger IDs for disabling conditional variables; the variable is enabled if one of the enabling trigger is true while all the disabling trigger are false. Treated as an unordered set. @mutable tagmanager.accounts.containers.variables.create @mutable tagmanager.accounts.containers.variables.update", +"items": { +"type": "string" +}, +"type": "array" +}, +"enablingTriggerId": { +"description": "For mobile containers only: A list of trigger IDs for enabling conditional variables; the variable is enabled if one of the enabling triggers is true while all the disabling triggers are false. Treated as an unordered set. @mutable tagmanager.accounts.containers.variables.create @mutable tagmanager.accounts.containers.variables.update", +"items": { +"type": "string" +}, +"type": "array" +}, +"fingerprint": { +"description": "The fingerprint of the GTM Variable as computed at storage time. This value is recomputed whenever the variable is modified.", +"type": "string" +}, +"name": { +"annotations": { +"required": [ +"tagmanager.accounts.containers.variables.create", +"tagmanager.accounts.containers.variables.update" +] +}, +"description": "Variable display name. @mutable tagmanager.accounts.containers.variables.create @mutable tagmanager.accounts.containers.variables.update", +"type": "string" +}, +"notes": { +"description": "User notes on how to apply this variable in the container. @mutable tagmanager.accounts.containers.variables.create @mutable tagmanager.accounts.containers.variables.update", +"type": "string" +}, +"parameter": { +"description": "The variable's parameters. @mutable tagmanager.accounts.containers.variables.create @mutable tagmanager.accounts.containers.variables.update", +"items": { +"$ref": "Parameter" +}, +"type": "array" +}, +"parentFolderId": { +"description": "Parent folder id.", +"type": "string" +}, +"scheduleEndMs": { +"description": "The end timestamp in milliseconds to schedule a variable. @mutable tagmanager.accounts.containers.variables.create @mutable tagmanager.accounts.containers.variables.update", +"format": "int64", +"type": "string" +}, +"scheduleStartMs": { +"description": "The start timestamp in milliseconds to schedule a variable. @mutable tagmanager.accounts.containers.variables.create @mutable tagmanager.accounts.containers.variables.update", +"format": "int64", +"type": "string" +}, +"type": { +"annotations": { +"required": [ +"tagmanager.accounts.containers.variables.create", +"tagmanager.accounts.containers.variables.update" +] +}, +"description": "GTM Variable Type. @mutable tagmanager.accounts.containers.variables.create @mutable tagmanager.accounts.containers.variables.update", +"type": "string" +}, +"variableId": { +"description": "The Variable ID uniquely identifies the GTM Variable.", +"type": "string" +} +}, +"type": "object" +} +}, +"servicePath": "", +"title": "Tag Manager API", +"version": "v1" +} \ No newline at end of file diff --git a/.venv/lib/python3.11/site-packages/googleapiclient/discovery_cache/documents/testing.v1.json b/.venv/lib/python3.11/site-packages/googleapiclient/discovery_cache/documents/testing.v1.json new file mode 100644 index 0000000000000000000000000000000000000000..3c41d71b07f007133b46104e1ca8995de6d4796d --- /dev/null +++ b/.venv/lib/python3.11/site-packages/googleapiclient/discovery_cache/documents/testing.v1.json @@ -0,0 +1,2866 @@ +{ +"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." +}, +"https://www.googleapis.com/auth/cloud-platform.read-only": { +"description": "View your data across Google Cloud services and see the email address of your Google Account" +} +} +} +}, +"basePath": "", +"baseUrl": "https://testing.googleapis.com/", +"batchPath": "batch", +"description": "Allows developers to run automated tests for their mobile applications on Google infrastructure.", +"discoveryVersion": "v1", +"documentationLink": "https://firebase.google.com/docs/test-lab/", +"fullyEncodeReservedExpansion": true, +"icons": { +"x16": "http://www.google.com/images/icons/product/search-16.gif", +"x32": "http://www.google.com/images/icons/product/search-32.gif" +}, +"id": "testing:v1", +"kind": "discovery#restDescription", +"mtlsRootUrl": "https://testing.mtls.googleapis.com/", +"name": "testing", +"ownerDomain": "google.com", +"ownerName": "Google", +"parameters": { +"$.xgafv": { +"description": "V1 error format.", +"enum": [ +"1", +"2" +], +"enumDescriptions": [ +"v1 error format", +"v2 error format" +], +"location": "query", +"type": "string" +}, +"access_token": { +"description": "OAuth access token.", +"location": "query", +"type": "string" +}, +"alt": { +"default": "json", +"description": "Data format for response.", +"enum": [ +"json", +"media", +"proto" +], +"enumDescriptions": [ +"Responses with Content-Type of application/json", +"Media download with context-dependent Content-Type", +"Responses with Content-Type of application/x-protobuf" +], +"location": "query", +"type": "string" +}, +"callback": { +"description": "JSONP", +"location": "query", +"type": "string" +}, +"fields": { +"description": "Selector specifying which fields to include in a partial response.", +"location": "query", +"type": "string" +}, +"key": { +"description": "API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token.", +"location": "query", +"type": "string" +}, +"oauth_token": { +"description": "OAuth 2.0 token for the current user.", +"location": "query", +"type": "string" +}, +"prettyPrint": { +"default": "true", +"description": "Returns response with indentations and line breaks.", +"location": "query", +"type": "boolean" +}, +"quotaUser": { +"description": "Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters.", +"location": "query", +"type": "string" +}, +"uploadType": { +"description": "Legacy upload protocol for media (e.g. \"media\", \"multipart\").", +"location": "query", +"type": "string" +}, +"upload_protocol": { +"description": "Upload protocol for media (e.g. \"raw\", \"multipart\").", +"location": "query", +"type": "string" +} +}, +"protocol": "rest", +"resources": { +"applicationDetailService": { +"methods": { +"getApkDetails": { +"description": "Gets the details of an Android application APK.", +"flatPath": "v1/applicationDetailService/getApkDetails", +"httpMethod": "POST", +"id": "testing.applicationDetailService.getApkDetails", +"parameterOrder": [], +"parameters": { +"bundleLocation.gcsPath": { +"description": "A path to a file in Google Cloud Storage. Example: gs://build-app-1414623860166/app%40debug-unaligned.apk These paths are expected to be url encoded (percent encoding)", +"location": "query", +"type": "string" +} +}, +"path": "v1/applicationDetailService/getApkDetails", +"request": { +"$ref": "FileReference" +}, +"response": { +"$ref": "GetApkDetailsResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +} +} +}, +"projects": { +"resources": { +"deviceSessions": { +"methods": { +"cancel": { +"description": "POST /v1/projects/{project_id}/deviceSessions/{device_session_id}:cancel Changes the DeviceSession to state FINISHED and terminates all connections. Canceled sessions are not deleted and can be retrieved or listed by the user until they expire based on the 28 day deletion policy.", +"flatPath": "v1/projects/{projectsId}/deviceSessions/{deviceSessionsId}:cancel", +"httpMethod": "POST", +"id": "testing.projects.deviceSessions.cancel", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. Name of the DeviceSession, e.g. \"projects/{project_id}/deviceSessions/{session_id}\"", +"location": "path", +"pattern": "^projects/[^/]+/deviceSessions/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+name}:cancel", +"request": { +"$ref": "CancelDeviceSessionRequest" +}, +"response": { +"$ref": "Empty" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"create": { +"description": "POST /v1/projects/{project_id}/deviceSessions", +"flatPath": "v1/projects/{projectsId}/deviceSessions", +"httpMethod": "POST", +"id": "testing.projects.deviceSessions.create", +"parameterOrder": [ +"parent" +], +"parameters": { +"parent": { +"description": "Required. The Compute Engine project under which this device will be allocated. \"projects/{project_id}\"", +"location": "path", +"pattern": "^projects/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+parent}/deviceSessions", +"request": { +"$ref": "DeviceSession" +}, +"response": { +"$ref": "DeviceSession" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"get": { +"description": "GET /v1/projects/{project_id}/deviceSessions/{device_session_id} Return a DeviceSession, which documents the allocation status and whether the device is allocated. Clients making requests from this API must poll GetDeviceSession.", +"flatPath": "v1/projects/{projectsId}/deviceSessions/{deviceSessionsId}", +"httpMethod": "GET", +"id": "testing.projects.deviceSessions.get", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. Name of the DeviceSession, e.g. \"projects/{project_id}/deviceSessions/{session_id}\"", +"location": "path", +"pattern": "^projects/[^/]+/deviceSessions/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+name}", +"response": { +"$ref": "DeviceSession" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"list": { +"description": "GET /v1/projects/{project_id}/deviceSessions Lists device Sessions owned by the project user.", +"flatPath": "v1/projects/{projectsId}/deviceSessions", +"httpMethod": "GET", +"id": "testing.projects.deviceSessions.list", +"parameterOrder": [ +"parent" +], +"parameters": { +"filter": { +"description": "Optional. If specified, responses will be filtered by the given filter. Allowed fields are: session_state.", +"location": "query", +"type": "string" +}, +"pageSize": { +"description": "Optional. The maximum number of DeviceSessions to return.", +"format": "int32", +"location": "query", +"type": "integer" +}, +"pageToken": { +"description": "Optional. A continuation token for paging.", +"location": "query", +"type": "string" +}, +"parent": { +"description": "Required. The name of the parent to request, e.g. \"projects/{project_id}\"", +"location": "path", +"pattern": "^projects/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+parent}/deviceSessions", +"response": { +"$ref": "ListDeviceSessionsResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"patch": { +"description": "PATCH /v1/projects/{projectId}/deviceSessions/deviceSessionId}:updateDeviceSession Updates the current device session to the fields described by the update_mask.", +"flatPath": "v1/projects/{projectsId}/deviceSessions/{deviceSessionsId}", +"httpMethod": "PATCH", +"id": "testing.projects.deviceSessions.patch", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Optional. Name of the DeviceSession, e.g. \"projects/{project_id}/deviceSessions/{session_id}\"", +"location": "path", +"pattern": "^projects/[^/]+/deviceSessions/[^/]+$", +"required": true, +"type": "string" +}, +"updateMask": { +"description": "Required. The list of fields to update.", +"format": "google-fieldmask", +"location": "query", +"type": "string" +} +}, +"path": "v1/{+name}", +"request": { +"$ref": "DeviceSession" +}, +"response": { +"$ref": "DeviceSession" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +} +} +}, +"testMatrices": { +"methods": { +"cancel": { +"description": "Cancels unfinished test executions in a test matrix. This call returns immediately and cancellation proceeds asynchronously. If the matrix is already final, this operation will have no effect. May return any of the following canonical error codes: - PERMISSION_DENIED - if the user is not authorized to read project - INVALID_ARGUMENT - if the request is malformed - NOT_FOUND - if the Test Matrix does not exist", +"flatPath": "v1/projects/{projectId}/testMatrices/{testMatrixId}:cancel", +"httpMethod": "POST", +"id": "testing.projects.testMatrices.cancel", +"parameterOrder": [ +"projectId", +"testMatrixId" +], +"parameters": { +"projectId": { +"description": "Cloud project that owns the test.", +"location": "path", +"required": true, +"type": "string" +}, +"testMatrixId": { +"description": "Test matrix that will be canceled.", +"location": "path", +"required": true, +"type": "string" +} +}, +"path": "v1/projects/{projectId}/testMatrices/{testMatrixId}:cancel", +"response": { +"$ref": "CancelTestMatrixResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"create": { +"description": "Creates and runs a matrix of tests according to the given specifications. Unsupported environments will be returned in the state UNSUPPORTED. A test matrix is limited to use at most 2000 devices in parallel. The returned matrix will not yet contain the executions that will be created for this matrix. Execution creation happens later on and will require a call to GetTestMatrix. May return any of the following canonical error codes: - PERMISSION_DENIED - if the user is not authorized to write to project - INVALID_ARGUMENT - if the request is malformed or if the matrix tries to use too many simultaneous devices.", +"flatPath": "v1/projects/{projectId}/testMatrices", +"httpMethod": "POST", +"id": "testing.projects.testMatrices.create", +"parameterOrder": [ +"projectId" +], +"parameters": { +"projectId": { +"description": "The GCE project under which this job will run.", +"location": "path", +"required": true, +"type": "string" +}, +"requestId": { +"description": "A string id used to detect duplicated requests. Ids are automatically scoped to a project, so users should ensure the ID is unique per-project. A UUID is recommended. Optional, but strongly recommended.", +"location": "query", +"type": "string" +} +}, +"path": "v1/projects/{projectId}/testMatrices", +"request": { +"$ref": "TestMatrix" +}, +"response": { +"$ref": "TestMatrix" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"get": { +"description": "Checks the status of a test matrix and the executions once they are created. The test matrix will contain the list of test executions to run if and only if the resultStorage.toolResultsExecution fields have been populated. Note: Flaky test executions may be added to the matrix at a later stage. May return any of the following canonical error codes: - PERMISSION_DENIED - if the user is not authorized to read project - INVALID_ARGUMENT - if the request is malformed - NOT_FOUND - if the Test Matrix does not exist", +"flatPath": "v1/projects/{projectId}/testMatrices/{testMatrixId}", +"httpMethod": "GET", +"id": "testing.projects.testMatrices.get", +"parameterOrder": [ +"projectId", +"testMatrixId" +], +"parameters": { +"projectId": { +"description": "Cloud project that owns the test matrix.", +"location": "path", +"required": true, +"type": "string" +}, +"testMatrixId": { +"description": "Unique test matrix id which was assigned by the service.", +"location": "path", +"required": true, +"type": "string" +} +}, +"path": "v1/projects/{projectId}/testMatrices/{testMatrixId}", +"response": { +"$ref": "TestMatrix" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/cloud-platform.read-only" +] +} +} +} +} +}, +"testEnvironmentCatalog": { +"methods": { +"get": { +"description": "Gets the catalog of supported test environments. May return any of the following canonical error codes: - INVALID_ARGUMENT - if the request is malformed - NOT_FOUND - if the environment type does not exist - INTERNAL - if an internal error occurred", +"flatPath": "v1/testEnvironmentCatalog/{environmentType}", +"httpMethod": "GET", +"id": "testing.testEnvironmentCatalog.get", +"parameterOrder": [ +"environmentType" +], +"parameters": { +"environmentType": { +"description": "Required. The type of environment that should be listed.", +"enum": [ +"ENVIRONMENT_TYPE_UNSPECIFIED", +"ANDROID", +"IOS", +"NETWORK_CONFIGURATION", +"PROVIDED_SOFTWARE", +"DEVICE_IP_BLOCKS" +], +"enumDescriptions": [ +"Do not use. For proto versioning only.", +"A device running a version of the Android OS.", +"A device running a version of iOS.", +"A network configuration to use when running a test.", +"The software environment provided by TestExecutionService.", +"The IP blocks used by devices in the test environment." +], +"location": "path", +"required": true, +"type": "string" +}, +"projectId": { +"description": "For authorization, the cloud project requesting the TestEnvironmentCatalog.", +"location": "query", +"type": "string" +} +}, +"path": "v1/testEnvironmentCatalog/{environmentType}", +"response": { +"$ref": "TestEnvironmentCatalog" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/cloud-platform.read-only" +] +} +} +} +}, +"revision": "20241231", +"rootUrl": "https://testing.googleapis.com/", +"schemas": { +"Account": { +"description": "Identifies an account and how to log into it.", +"id": "Account", +"properties": { +"googleAuto": { +"$ref": "GoogleAuto", +"description": "An automatic google login account." +} +}, +"type": "object" +}, +"AndroidDevice": { +"description": "A single Android device.", +"id": "AndroidDevice", +"properties": { +"androidModelId": { +"description": "Required. The id of the Android device to be used. Use the TestEnvironmentDiscoveryService to get supported options.", +"type": "string" +}, +"androidVersionId": { +"description": "Required. The id of the Android OS version to be used. Use the TestEnvironmentDiscoveryService to get supported options.", +"type": "string" +}, +"locale": { +"description": "Required. The locale the test device used for testing. Use the TestEnvironmentDiscoveryService to get supported options.", +"type": "string" +}, +"orientation": { +"description": "Required. How the device is oriented during the test. Use the TestEnvironmentDiscoveryService to get supported options.", +"type": "string" +} +}, +"type": "object" +}, +"AndroidDeviceCatalog": { +"description": "The currently supported Android devices.", +"id": "AndroidDeviceCatalog", +"properties": { +"models": { +"description": "The set of supported Android device models.", +"items": { +"$ref": "AndroidModel" +}, +"type": "array" +}, +"runtimeConfiguration": { +"$ref": "AndroidRuntimeConfiguration", +"description": "The set of supported runtime configurations." +}, +"versions": { +"description": "The set of supported Android OS versions.", +"items": { +"$ref": "AndroidVersion" +}, +"type": "array" +} +}, +"type": "object" +}, +"AndroidDeviceList": { +"description": "A list of Android device configurations in which the test is to be executed.", +"id": "AndroidDeviceList", +"properties": { +"androidDevices": { +"description": "Required. A list of Android devices.", +"items": { +"$ref": "AndroidDevice" +}, +"type": "array" +} +}, +"type": "object" +}, +"AndroidInstrumentationTest": { +"description": "A test of an Android application that can control an Android component independently of its normal lifecycle. Android instrumentation tests run an application APK and test APK inside the same process on a virtual or physical AndroidDevice. They also specify a test runner class, such as com.google.GoogleTestRunner, which can vary on the specific instrumentation framework chosen. See for more information on types of Android tests.", +"id": "AndroidInstrumentationTest", +"properties": { +"appApk": { +"$ref": "FileReference", +"description": "The APK for the application under test." +}, +"appBundle": { +"$ref": "AppBundle", +"description": "A multi-apk app bundle for the application under test." +}, +"appPackageId": { +"description": "The java package for the application under test. The default value is determined by examining the application's manifest.", +"type": "string" +}, +"orchestratorOption": { +"description": "The option of whether running each test within its own invocation of instrumentation with Android Test Orchestrator or not. ** Orchestrator is only compatible with AndroidJUnitRunner version 1.1 or higher! ** Orchestrator offers the following benefits: - No shared state - Crashes are isolated - Logs are scoped per test See for more information about Android Test Orchestrator. If not set, the test will be run without the orchestrator.", +"enum": [ +"ORCHESTRATOR_OPTION_UNSPECIFIED", +"USE_ORCHESTRATOR", +"DO_NOT_USE_ORCHESTRATOR" +], +"enumDescriptions": [ +"Default value: the server will choose the mode. Currently implies that the test will run without the orchestrator. In the future, all instrumentation tests will be run with the orchestrator. Using the orchestrator is highly encouraged because of all the benefits it offers.", +"Run test using orchestrator. ** Only compatible with AndroidJUnitRunner version 1.1 or higher! ** Recommended.", +"Run test without using orchestrator." +], +"type": "string" +}, +"shardingOption": { +"$ref": "ShardingOption", +"description": "The option to run tests in multiple shards in parallel." +}, +"testApk": { +"$ref": "FileReference", +"description": "Required. The APK containing the test code to be executed." +}, +"testPackageId": { +"description": "The java package for the test to be executed. The default value is determined by examining the application's manifest.", +"type": "string" +}, +"testRunnerClass": { +"description": "The InstrumentationTestRunner class. The default value is determined by examining the application's manifest.", +"type": "string" +}, +"testTargets": { +"description": "Each target must be fully qualified with the package name or class name, in one of these formats: - \"package package_name\" - \"class package_name.class_name\" - \"class package_name.class_name#method_name\" If empty, all targets in the module will be run.", +"items": { +"type": "string" +}, +"type": "array" +} +}, +"type": "object" +}, +"AndroidMatrix": { +"description": "A set of Android device configuration permutations is defined by the the cross-product of the given axes. Internally, the given AndroidMatrix will be expanded into a set of AndroidDevices. Only supported permutations will be instantiated. Invalid permutations (e.g., incompatible models/versions) are ignored.", +"id": "AndroidMatrix", +"properties": { +"androidModelIds": { +"description": "Required. The ids of the set of Android device to be used. Use the TestEnvironmentDiscoveryService to get supported options.", +"items": { +"type": "string" +}, +"type": "array" +}, +"androidVersionIds": { +"description": "Required. The ids of the set of Android OS version to be used. Use the TestEnvironmentDiscoveryService to get supported options.", +"items": { +"type": "string" +}, +"type": "array" +}, +"locales": { +"description": "Required. The set of locales the test device will enable for testing. Use the TestEnvironmentDiscoveryService to get supported options.", +"items": { +"type": "string" +}, +"type": "array" +}, +"orientations": { +"description": "Required. The set of orientations to test with. Use the TestEnvironmentDiscoveryService to get supported options.", +"items": { +"type": "string" +}, +"type": "array" +} +}, +"type": "object" +}, +"AndroidModel": { +"description": "A description of an Android device tests may be run on.", +"id": "AndroidModel", +"properties": { +"brand": { +"description": "The company that this device is branded with. Example: \"Google\", \"Samsung\".", +"type": "string" +}, +"codename": { +"description": "The name of the industrial design. This corresponds to android.os.Build.DEVICE.", +"type": "string" +}, +"form": { +"description": "Whether this device is virtual or physical.", +"enum": [ +"DEVICE_FORM_UNSPECIFIED", +"VIRTUAL", +"PHYSICAL", +"EMULATOR" +], +"enumDescriptions": [ +"Do not use. For proto versioning only.", +"Android virtual device using Compute Engine native virtualization. Firebase Test Lab only.", +"Actual hardware.", +"Android virtual device using emulator in nested virtualization. Equivalent to Android Studio." +], +"type": "string" +}, +"formFactor": { +"description": "Whether this device is a phone, tablet, wearable, etc.", +"enum": [ +"DEVICE_FORM_FACTOR_UNSPECIFIED", +"PHONE", +"TABLET", +"WEARABLE" +], +"enumDescriptions": [ +"Do not use. For proto versioning only.", +"This device has the shape of a phone.", +"This device has the shape of a tablet.", +"This device has the shape of a watch or other wearable." +], +"type": "string" +}, +"id": { +"description": "The unique opaque id for this model. Use this for invoking the TestExecutionService.", +"type": "string" +}, +"labInfo": { +"$ref": "LabInfo", +"description": "Output only. Lab info of this device.", +"readOnly": true +}, +"lowFpsVideoRecording": { +"description": "True if and only if tests with this model are recorded by stitching together screenshots. See use_low_spec_video_recording in device config.", +"type": "boolean" +}, +"manufacturer": { +"description": "The manufacturer of this device.", +"type": "string" +}, +"name": { +"description": "The human-readable marketing name for this device model. Examples: \"Nexus 5\", \"Galaxy S5\".", +"type": "string" +}, +"perVersionInfo": { +"description": "Version-specific information of an Android model.", +"items": { +"$ref": "PerAndroidVersionInfo" +}, +"type": "array" +}, +"screenDensity": { +"description": "Screen density in DPI. This corresponds to ro.sf.lcd_density", +"format": "int32", +"type": "integer" +}, +"screenX": { +"description": "Screen size in the horizontal (X) dimension measured in pixels.", +"format": "int32", +"type": "integer" +}, +"screenY": { +"description": "Screen size in the vertical (Y) dimension measured in pixels.", +"format": "int32", +"type": "integer" +}, +"supportedAbis": { +"description": "The list of supported ABIs for this device. This corresponds to either android.os.Build.SUPPORTED_ABIS (for API level 21 and above) or android.os.Build.CPU_ABI/CPU_ABI2. The most preferred ABI is the first element in the list. Elements are optionally prefixed by \"version_id:\" (where version_id is the id of an AndroidVersion), denoting an ABI that is supported only on a particular version.", +"items": { +"type": "string" +}, +"type": "array" +}, +"supportedVersionIds": { +"description": "The set of Android versions this device supports.", +"items": { +"type": "string" +}, +"type": "array" +}, +"tags": { +"description": "Tags for this dimension. Examples: \"default\", \"preview\", \"deprecated\".", +"items": { +"type": "string" +}, +"type": "array" +}, +"thumbnailUrl": { +"description": "URL of a thumbnail image (photo) of the device.", +"type": "string" +} +}, +"type": "object" +}, +"AndroidRoboTest": { +"description": "A test of an android application that explores the application on a virtual or physical Android Device, finding culprits and crashes as it goes.", +"id": "AndroidRoboTest", +"properties": { +"appApk": { +"$ref": "FileReference", +"description": "The APK for the application under test." +}, +"appBundle": { +"$ref": "AppBundle", +"description": "A multi-apk app bundle for the application under test." +}, +"appInitialActivity": { +"description": "The initial activity that should be used to start the app.", +"type": "string" +}, +"appPackageId": { +"description": "The java package for the application under test. The default value is determined by examining the application's manifest.", +"type": "string" +}, +"maxDepth": { +"deprecated": true, +"description": "The max depth of the traversal stack Robo can explore. Needs to be at least 2 to make Robo explore the app beyond the first activity. Default is 50.", +"format": "int32", +"type": "integer" +}, +"maxSteps": { +"deprecated": true, +"description": "The max number of steps Robo can execute. Default is no limit.", +"format": "int32", +"type": "integer" +}, +"roboDirectives": { +"description": "A set of directives Robo should apply during the crawl. This allows users to customize the crawl. For example, the username and password for a test account can be provided.", +"items": { +"$ref": "RoboDirective" +}, +"type": "array" +}, +"roboMode": { +"description": "The mode in which Robo should run. Most clients should allow the server to populate this field automatically.", +"enum": [ +"ROBO_MODE_UNSPECIFIED", +"ROBO_VERSION_1", +"ROBO_VERSION_2" +], +"enumDescriptions": [ +"This means that the server should choose the mode. Recommended.", +"Runs Robo in UIAutomator-only mode without app resigning", +"Runs Robo in standard Espresso with UIAutomator fallback" +], +"type": "string" +}, +"roboScript": { +"$ref": "FileReference", +"description": "A JSON file with a sequence of actions Robo should perform as a prologue for the crawl." +}, +"startingIntents": { +"description": "The intents used to launch the app for the crawl. If none are provided, then the main launcher activity is launched. If some are provided, then only those provided are launched (the main launcher activity must be provided explicitly).", +"items": { +"$ref": "RoboStartingIntent" +}, +"type": "array" +} +}, +"type": "object" +}, +"AndroidRuntimeConfiguration": { +"description": "Android configuration that can be selected at the time a test is run.", +"id": "AndroidRuntimeConfiguration", +"properties": { +"locales": { +"description": "The set of available locales.", +"items": { +"$ref": "Locale" +}, +"type": "array" +}, +"orientations": { +"description": "The set of available orientations.", +"items": { +"$ref": "Orientation" +}, +"type": "array" +} +}, +"type": "object" +}, +"AndroidTestLoop": { +"description": "A test of an Android Application with a Test Loop. The intent \\ will be implicitly added, since Games is the only user of this api, for the time being.", +"id": "AndroidTestLoop", +"properties": { +"appApk": { +"$ref": "FileReference", +"description": "The APK for the application under test." +}, +"appBundle": { +"$ref": "AppBundle", +"description": "A multi-apk app bundle for the application under test." +}, +"appPackageId": { +"description": "The java package for the application under test. The default is determined by examining the application's manifest.", +"type": "string" +}, +"scenarioLabels": { +"description": "The list of scenario labels that should be run during the test. The scenario labels should map to labels defined in the application's manifest. For example, player_experience and com.google.test.loops.player_experience add all of the loops labeled in the manifest with the com.google.test.loops.player_experience name to the execution. Scenarios can also be specified in the scenarios field.", +"items": { +"type": "string" +}, +"type": "array" +}, +"scenarios": { +"description": "The list of scenarios that should be run during the test. The default is all test loops, derived from the application's manifest.", +"items": { +"format": "int32", +"type": "integer" +}, +"type": "array" +} +}, +"type": "object" +}, +"AndroidVersion": { +"description": "A version of the Android OS.", +"id": "AndroidVersion", +"properties": { +"apiLevel": { +"description": "The API level for this Android version. Examples: 18, 19.", +"format": "int32", +"type": "integer" +}, +"codeName": { +"description": "The code name for this Android version. Examples: \"JellyBean\", \"KitKat\".", +"type": "string" +}, +"distribution": { +"$ref": "Distribution", +"description": "Market share for this version." +}, +"id": { +"description": "An opaque id for this Android version. Use this id to invoke the TestExecutionService.", +"type": "string" +}, +"releaseDate": { +"$ref": "Date", +"description": "The date this Android version became available in the market." +}, +"tags": { +"description": "Tags for this dimension. Examples: \"default\", \"preview\", \"deprecated\".", +"items": { +"type": "string" +}, +"type": "array" +}, +"versionString": { +"description": "A string representing this version of the Android OS. Examples: \"4.3\", \"4.4\".", +"type": "string" +} +}, +"type": "object" +}, +"Apk": { +"description": "An Android package file to install.", +"id": "Apk", +"properties": { +"location": { +"$ref": "FileReference", +"description": "The path to an APK to be installed on the device before the test begins." +}, +"packageName": { +"description": "The java package for the APK to be installed. Value is determined by examining the application's manifest.", +"type": "string" +} +}, +"type": "object" +}, +"ApkDetail": { +"description": "Android application details based on application manifest and archive contents.", +"id": "ApkDetail", +"properties": { +"apkManifest": { +"$ref": "ApkManifest" +} +}, +"type": "object" +}, +"ApkManifest": { +"description": "An Android app manifest. See http://developer.android.com/guide/topics/manifest/manifest-intro.html", +"id": "ApkManifest", +"properties": { +"applicationLabel": { +"description": "User-readable name for the application.", +"type": "string" +}, +"intentFilters": { +"items": { +"$ref": "IntentFilter" +}, +"type": "array" +}, +"maxSdkVersion": { +"description": "Maximum API level on which the application is designed to run.", +"format": "int32", +"type": "integer" +}, +"metadata": { +"description": "Meta-data tags defined in the manifest.", +"items": { +"$ref": "Metadata" +}, +"type": "array" +}, +"minSdkVersion": { +"description": "Minimum API level required for the application to run.", +"format": "int32", +"type": "integer" +}, +"packageName": { +"description": "Full Java-style package name for this application, e.g. \"com.example.foo\".", +"type": "string" +}, +"services": { +"description": "Services contained in the tag.", +"items": { +"$ref": "Service" +}, +"type": "array" +}, +"targetSdkVersion": { +"description": "Specifies the API Level on which the application is designed to run.", +"format": "int32", +"type": "integer" +}, +"usesFeature": { +"description": "Feature usage tags defined in the manifest.", +"items": { +"$ref": "UsesFeature" +}, +"type": "array" +}, +"usesPermission": { +"items": { +"type": "string" +}, +"type": "array" +}, +"usesPermissionTags": { +"description": "Permissions declared to be used by the application", +"items": { +"$ref": "UsesPermissionTag" +}, +"type": "array" +}, +"versionCode": { +"description": "Version number used internally by the app.", +"format": "int64", +"type": "string" +}, +"versionName": { +"description": "Version number shown to users.", +"type": "string" +} +}, +"type": "object" +}, +"AppBundle": { +"description": "An Android App Bundle file format, containing a BundleConfig.pb file, a base module directory, zero or more dynamic feature module directories. See https://developer.android.com/guide/app-bundle/build for guidance on building App Bundles.", +"id": "AppBundle", +"properties": { +"bundleLocation": { +"$ref": "FileReference", +"description": ".aab file representing the app bundle under test." +} +}, +"type": "object" +}, +"CancelDeviceSessionRequest": { +"description": "The request object for cancelling a Device Session.", +"id": "CancelDeviceSessionRequest", +"properties": {}, +"type": "object" +}, +"CancelTestMatrixResponse": { +"description": "Response containing the current state of the specified test matrix.", +"id": "CancelTestMatrixResponse", +"properties": { +"testState": { +"description": "The current rolled-up state of the test matrix. If this state is already final, then the cancelation request will have no effect.", +"enum": [ +"TEST_STATE_UNSPECIFIED", +"VALIDATING", +"PENDING", +"RUNNING", +"FINISHED", +"ERROR", +"UNSUPPORTED_ENVIRONMENT", +"INCOMPATIBLE_ENVIRONMENT", +"INCOMPATIBLE_ARCHITECTURE", +"CANCELLED", +"INVALID" +], +"enumDescriptions": [ +"Do not use. For proto versioning only.", +"The execution or matrix is being validated.", +"The execution or matrix is waiting for resources to become available.", +"The execution is currently being processed. Can only be set on an execution.", +"The execution or matrix has terminated normally. On a matrix this means that the matrix level processing completed normally, but individual executions may be in an ERROR state.", +"The execution or matrix has stopped because it encountered an infrastructure failure.", +"The execution was not run because it corresponds to a unsupported environment. Can only be set on an execution.", +"The execution was not run because the provided inputs are incompatible with the requested environment. Example: requested AndroidVersion is lower than APK's minSdkVersion Can only be set on an execution.", +"The execution was not run because the provided inputs are incompatible with the requested architecture. Example: requested device does not support running the native code in the supplied APK Can only be set on an execution.", +"The user cancelled the execution. Can only be set on an execution.", +"The execution or matrix was not run because the provided inputs are not valid. Examples: input file is not of the expected type, is malformed/corrupt, or was flagged as malware" +], +"type": "string" +} +}, +"type": "object" +}, +"ClientInfo": { +"description": "Information about the client which invoked the test.", +"id": "ClientInfo", +"properties": { +"clientInfoDetails": { +"description": "The list of detailed information about client.", +"items": { +"$ref": "ClientInfoDetail" +}, +"type": "array" +}, +"name": { +"description": "Required. Client name, such as gcloud.", +"type": "string" +} +}, +"type": "object" +}, +"ClientInfoDetail": { +"description": "Key-value pair of detailed information about the client which invoked the test. Examples: {'Version', '1.0'}, {'Release Track', 'BETA'}.", +"id": "ClientInfoDetail", +"properties": { +"key": { +"description": "Required. The key of detailed client information.", +"type": "string" +}, +"value": { +"description": "Required. The value of detailed client information.", +"type": "string" +} +}, +"type": "object" +}, +"Date": { +"description": "Represents a whole or partial calendar date, such as a birthday. The time of day and time zone are either specified elsewhere or are insignificant. The date is relative to the Gregorian Calendar. This can represent one of the following: * A full date, with non-zero year, month, and day values. * A month and day, with a zero year (for example, an anniversary). * A year on its own, with a zero month and a zero day. * A year and month, with a zero day (for example, a credit card expiration date). Related types: * google.type.TimeOfDay * google.type.DateTime * google.protobuf.Timestamp", +"id": "Date", +"properties": { +"day": { +"description": "Day of a month. Must be from 1 to 31 and valid for the year and month, or 0 to specify a year by itself or a year and month where the day isn't significant.", +"format": "int32", +"type": "integer" +}, +"month": { +"description": "Month of a year. Must be from 1 to 12, or 0 to specify a year without a month and day.", +"format": "int32", +"type": "integer" +}, +"year": { +"description": "Year of the date. Must be from 1 to 9999, or 0 to specify a date without a year.", +"format": "int32", +"type": "integer" +} +}, +"type": "object" +}, +"DeviceFile": { +"description": "A single device file description.", +"id": "DeviceFile", +"properties": { +"obbFile": { +"$ref": "ObbFile", +"description": "A reference to an opaque binary blob file." +}, +"regularFile": { +"$ref": "RegularFile", +"description": "A reference to a regular file." +} +}, +"type": "object" +}, +"DeviceIpBlock": { +"description": "A single device IP block", +"id": "DeviceIpBlock", +"properties": { +"addedDate": { +"$ref": "Date", +"description": "The date this block was added to Firebase Test Lab" +}, +"block": { +"description": "An IP address block in CIDR notation eg: 34.68.194.64/29", +"type": "string" +}, +"form": { +"description": "Whether this block is used by physical or virtual devices", +"enum": [ +"DEVICE_FORM_UNSPECIFIED", +"VIRTUAL", +"PHYSICAL", +"EMULATOR" +], +"enumDescriptions": [ +"Do not use. For proto versioning only.", +"Android virtual device using Compute Engine native virtualization. Firebase Test Lab only.", +"Actual hardware.", +"Android virtual device using emulator in nested virtualization. Equivalent to Android Studio." +], +"type": "string" +} +}, +"type": "object" +}, +"DeviceIpBlockCatalog": { +"description": "List of IP blocks used by the Firebase Test Lab", +"id": "DeviceIpBlockCatalog", +"properties": { +"ipBlocks": { +"description": "The device IP blocks used by Firebase Test Lab", +"items": { +"$ref": "DeviceIpBlock" +}, +"type": "array" +} +}, +"type": "object" +}, +"DeviceSession": { +"description": "Protobuf message describing the device message, used from several RPCs.", +"id": "DeviceSession", +"properties": { +"activeStartTime": { +"description": "Output only. The timestamp that the session first became ACTIVE.", +"format": "google-datetime", +"readOnly": true, +"type": "string" +}, +"androidDevice": { +"$ref": "AndroidDevice", +"description": "Required. The requested device" +}, +"createTime": { +"description": "Output only. The time that the Session was created.", +"format": "google-datetime", +"readOnly": true, +"type": "string" +}, +"displayName": { +"description": "Output only. The title of the DeviceSession to be presented in the UI.", +"readOnly": true, +"type": "string" +}, +"expireTime": { +"description": "Optional. If the device is still in use at this time, any connections will be ended and the SessionState will transition from ACTIVE to FINISHED.", +"format": "google-datetime", +"type": "string" +}, +"inactivityTimeout": { +"description": "Output only. The interval of time that this device must be interacted with before it transitions from ACTIVE to TIMEOUT_INACTIVITY.", +"format": "google-duration", +"readOnly": true, +"type": "string" +}, +"name": { +"description": "Optional. Name of the DeviceSession, e.g. \"projects/{project_id}/deviceSessions/{session_id}\"", +"type": "string" +}, +"state": { +"description": "Output only. Current state of the DeviceSession.", +"enum": [ +"SESSION_STATE_UNSPECIFIED", +"REQUESTED", +"PENDING", +"ACTIVE", +"EXPIRED", +"FINISHED", +"UNAVAILABLE", +"ERROR" +], +"enumDescriptions": [ +"Default value. This value is unused.", +"Initial state of a session request. The session is being validated for correctness and a device is not yet requested.", +"The session has been validated and is in the queue for a device.", +"The session has been granted and the device is accepting connections.", +"The session duration exceeded the device\u2019s reservation time period and timed out automatically.", +"The user is finished with the session and it was canceled by the user while the request was still getting allocated or after allocation and during device usage period.", +"Unable to complete the session because the device was unavailable and it failed to allocate through the scheduler. For example, a device not in the catalog was requested or the request expired in the allocation queue.", +"Unable to complete the session for an internal reason, such as an infrastructure failure." +], +"readOnly": true, +"type": "string" +}, +"stateHistories": { +"description": "Output only. The historical state transitions of the session_state message including the current session state.", +"items": { +"$ref": "SessionStateEvent" +}, +"readOnly": true, +"type": "array" +}, +"ttl": { +"description": "Optional. The amount of time that a device will be initially allocated for. This can eventually be extended with the UpdateDeviceSession RPC. Default: 15 minutes.", +"format": "google-duration", +"type": "string" +} +}, +"type": "object" +}, +"DirectAccessVersionInfo": { +"description": "Denotes whether Direct Access is supported, and by which client versions. DirectAccessService is currently available as a preview to select developers. You can register today on behalf of you and your team at https://developer.android.com/studio/preview/android-device-streaming", +"id": "DirectAccessVersionInfo", +"properties": { +"directAccessSupported": { +"description": "Whether direct access is supported at all. Clients are expected to filter down the device list to only android models and versions which support Direct Access when that is the user intent.", +"type": "boolean" +}, +"minimumAndroidStudioVersion": { +"description": "Output only. Indicates client-device compatibility, where a device is known to work only with certain workarounds implemented in the Android Studio client. Expected format \"major.minor.micro.patch\", e.g. \"5921.22.2211.8881706\".", +"type": "string" +} +}, +"type": "object" +}, +"Distribution": { +"description": "Data about the relative number of devices running a given configuration of the Android platform.", +"id": "Distribution", +"properties": { +"marketShare": { +"description": "Output only. The estimated fraction (0-1) of the total market with this configuration.", +"format": "double", +"type": "number" +}, +"measurementTime": { +"description": "Output only. The time this distribution was measured.", +"format": "google-datetime", +"type": "string" +} +}, +"type": "object" +}, +"Empty": { +"description": "A generic empty message that you can re-use to avoid defining duplicated empty messages in your APIs. A typical example is to use it as the request or the response type of an API method. For instance: service Foo { rpc Bar(google.protobuf.Empty) returns (google.protobuf.Empty); }", +"id": "Empty", +"properties": {}, +"type": "object" +}, +"Environment": { +"description": "The environment in which the test is run.", +"id": "Environment", +"properties": { +"androidDevice": { +"$ref": "AndroidDevice", +"description": "An Android device which must be used with an Android test." +}, +"iosDevice": { +"$ref": "IosDevice", +"description": "An iOS device which must be used with an iOS test." +} +}, +"type": "object" +}, +"EnvironmentMatrix": { +"description": "The matrix of environments in which the test is to be executed.", +"id": "EnvironmentMatrix", +"properties": { +"androidDeviceList": { +"$ref": "AndroidDeviceList", +"description": "A list of Android devices; the test will be run only on the specified devices." +}, +"androidMatrix": { +"$ref": "AndroidMatrix", +"description": "A matrix of Android devices." +}, +"iosDeviceList": { +"$ref": "IosDeviceList", +"description": "A list of iOS devices." +} +}, +"type": "object" +}, +"EnvironmentVariable": { +"description": "A key-value pair passed as an environment variable to the test.", +"id": "EnvironmentVariable", +"properties": { +"key": { +"description": "Key for the environment variable.", +"type": "string" +}, +"value": { +"description": "Value for the environment variable.", +"type": "string" +} +}, +"type": "object" +}, +"FileReference": { +"description": "A reference to a file, used for user inputs.", +"id": "FileReference", +"properties": { +"gcsPath": { +"description": "A path to a file in Google Cloud Storage. Example: gs://build-app-1414623860166/app%40debug-unaligned.apk These paths are expected to be url encoded (percent encoding)", +"type": "string" +} +}, +"type": "object" +}, +"GetApkDetailsResponse": { +"description": "Response containing the details of the specified Android application.", +"id": "GetApkDetailsResponse", +"properties": { +"apkDetail": { +"$ref": "ApkDetail", +"description": "Details of the Android App." +} +}, +"type": "object" +}, +"GoogleAuto": { +"description": "Enables automatic Google account login. If set, the service automatically generates a Google test account and adds it to the device, before executing the test. Note that test accounts might be reused. Many applications show their full set of functionalities when an account is present on the device. Logging into the device with these generated accounts allows testing more functionalities.", +"id": "GoogleAuto", +"properties": {}, +"type": "object" +}, +"GoogleCloudStorage": { +"description": "A storage location within Google cloud storage (GCS).", +"id": "GoogleCloudStorage", +"properties": { +"gcsPath": { +"description": "Required. The path to a directory in GCS that will eventually contain the results for this test. The requesting user must have write access on the bucket in the supplied path.", +"type": "string" +} +}, +"type": "object" +}, +"IntentFilter": { +"description": "The section of an tag. https://developer.android.com/guide/topics/manifest/intent-filter-element.html", +"id": "IntentFilter", +"properties": { +"actionNames": { +"description": "The android:name value of the tag.", +"items": { +"type": "string" +}, +"type": "array" +}, +"categoryNames": { +"description": "The android:name value of the tag.", +"items": { +"type": "string" +}, +"type": "array" +}, +"mimeType": { +"description": "The android:mimeType value of the tag.", +"type": "string" +} +}, +"type": "object" +}, +"IosDevice": { +"description": "A single iOS device.", +"id": "IosDevice", +"properties": { +"iosModelId": { +"description": "Required. The id of the iOS device to be used. Use the TestEnvironmentDiscoveryService to get supported options.", +"type": "string" +}, +"iosVersionId": { +"description": "Required. The id of the iOS major software version to be used. Use the TestEnvironmentDiscoveryService to get supported options.", +"type": "string" +}, +"locale": { +"description": "Required. The locale the test device used for testing. Use the TestEnvironmentDiscoveryService to get supported options.", +"type": "string" +}, +"orientation": { +"description": "Required. How the device is oriented during the test. Use the TestEnvironmentDiscoveryService to get supported options.", +"type": "string" +} +}, +"type": "object" +}, +"IosDeviceCatalog": { +"description": "The currently supported iOS devices.", +"id": "IosDeviceCatalog", +"properties": { +"models": { +"description": "The set of supported iOS device models.", +"items": { +"$ref": "IosModel" +}, +"type": "array" +}, +"runtimeConfiguration": { +"$ref": "IosRuntimeConfiguration", +"description": "The set of supported runtime configurations." +}, +"versions": { +"description": "The set of supported iOS software versions.", +"items": { +"$ref": "IosVersion" +}, +"type": "array" +}, +"xcodeVersions": { +"description": "The set of supported Xcode versions.", +"items": { +"$ref": "XcodeVersion" +}, +"type": "array" +} +}, +"type": "object" +}, +"IosDeviceFile": { +"description": "A file or directory to install on the device before the test starts.", +"id": "IosDeviceFile", +"properties": { +"bundleId": { +"description": "The bundle id of the app where this file lives. iOS apps sandbox their own filesystem, so app files must specify which app installed on the device.", +"type": "string" +}, +"content": { +"$ref": "FileReference", +"description": "The source file" +}, +"devicePath": { +"description": "Location of the file on the device, inside the app's sandboxed filesystem", +"type": "string" +} +}, +"type": "object" +}, +"IosDeviceList": { +"description": "A list of iOS device configurations in which the test is to be executed.", +"id": "IosDeviceList", +"properties": { +"iosDevices": { +"description": "Required. A list of iOS devices.", +"items": { +"$ref": "IosDevice" +}, +"type": "array" +} +}, +"type": "object" +}, +"IosModel": { +"description": "A description of an iOS device tests may be run on.", +"id": "IosModel", +"properties": { +"deviceCapabilities": { +"description": "Device capabilities. Copied from https://developer.apple.com/library/archive/documentation/DeviceInformation/Reference/iOSDeviceCompatibility/DeviceCompatibilityMatrix/DeviceCompatibilityMatrix.html", +"items": { +"type": "string" +}, +"type": "array" +}, +"formFactor": { +"description": "Whether this device is a phone, tablet, wearable, etc.", +"enum": [ +"DEVICE_FORM_FACTOR_UNSPECIFIED", +"PHONE", +"TABLET", +"WEARABLE" +], +"enumDescriptions": [ +"Do not use. For proto versioning only.", +"This device has the shape of a phone.", +"This device has the shape of a tablet.", +"This device has the shape of a watch or other wearable." +], +"type": "string" +}, +"id": { +"description": "The unique opaque id for this model. Use this for invoking the TestExecutionService.", +"type": "string" +}, +"name": { +"description": "The human-readable name for this device model. Examples: \"iPhone 4s\", \"iPad Mini 2\".", +"type": "string" +}, +"perVersionInfo": { +"description": "Version-specific information of an iOS model.", +"items": { +"$ref": "PerIosVersionInfo" +}, +"type": "array" +}, +"screenDensity": { +"description": "Screen density in DPI.", +"format": "int32", +"type": "integer" +}, +"screenX": { +"description": "Screen size in the horizontal (X) dimension measured in pixels.", +"format": "int32", +"type": "integer" +}, +"screenY": { +"description": "Screen size in the vertical (Y) dimension measured in pixels.", +"format": "int32", +"type": "integer" +}, +"supportedVersionIds": { +"description": "The set of iOS major software versions this device supports.", +"items": { +"type": "string" +}, +"type": "array" +}, +"tags": { +"description": "Tags for this dimension. Examples: \"default\", \"preview\", \"deprecated\".", +"items": { +"type": "string" +}, +"type": "array" +} +}, +"type": "object" +}, +"IosRoboTest": { +"description": "A test that explores an iOS application on an iOS device.", +"id": "IosRoboTest", +"properties": { +"appBundleId": { +"description": "The bundle ID for the app-under-test. This is determined by examining the application's \"Info.plist\" file.", +"type": "string" +}, +"appIpa": { +"$ref": "FileReference", +"description": "Required. The ipa stored at this file should be used to run the test." +}, +"roboScript": { +"$ref": "FileReference", +"description": "An optional Roboscript to customize the crawl. See https://firebase.google.com/docs/test-lab/android/robo-scripts-reference for more information about Roboscripts. The maximum allowed file size of the roboscript is 10MiB." +} +}, +"type": "object" +}, +"IosRuntimeConfiguration": { +"description": "iOS configuration that can be selected at the time a test is run.", +"id": "IosRuntimeConfiguration", +"properties": { +"locales": { +"description": "The set of available locales.", +"items": { +"$ref": "Locale" +}, +"type": "array" +}, +"orientations": { +"description": "The set of available orientations.", +"items": { +"$ref": "Orientation" +}, +"type": "array" +} +}, +"type": "object" +}, +"IosTestLoop": { +"description": "A test of an iOS application that implements one or more game loop scenarios. This test type accepts an archived application (.ipa file) and a list of integer scenarios that will be executed on the app sequentially.", +"id": "IosTestLoop", +"properties": { +"appBundleId": { +"description": "Output only. The bundle id for the application under test.", +"type": "string" +}, +"appIpa": { +"$ref": "FileReference", +"description": "Required. The .ipa of the application to test." +}, +"scenarios": { +"description": "The list of scenarios that should be run during the test. Defaults to the single scenario 0 if unspecified.", +"items": { +"format": "int32", +"type": "integer" +}, +"type": "array" +} +}, +"type": "object" +}, +"IosTestSetup": { +"description": "A description of how to set up an iOS device prior to running the test.", +"id": "IosTestSetup", +"properties": { +"additionalIpas": { +"description": "iOS apps to install in addition to those being directly tested.", +"items": { +"$ref": "FileReference" +}, +"type": "array" +}, +"networkProfile": { +"description": "The network traffic profile used for running the test. Available network profiles can be queried by using the NETWORK_CONFIGURATION environment type when calling TestEnvironmentDiscoveryService.GetTestEnvironmentCatalog.", +"type": "string" +}, +"pullDirectories": { +"description": "List of directories on the device to upload to Cloud Storage at the end of the test. Directories should either be in a shared directory (such as /private/var/mobile/Media) or within an accessible directory inside the app's filesystem (such as /Documents) by specifying the bundle ID.", +"items": { +"$ref": "IosDeviceFile" +}, +"type": "array" +}, +"pushFiles": { +"description": "List of files to push to the device before starting the test.", +"items": { +"$ref": "IosDeviceFile" +}, +"type": "array" +} +}, +"type": "object" +}, +"IosVersion": { +"description": "An iOS version.", +"id": "IosVersion", +"properties": { +"id": { +"description": "An opaque id for this iOS version. Use this id to invoke the TestExecutionService.", +"type": "string" +}, +"majorVersion": { +"description": "An integer representing the major iOS version. Examples: \"8\", \"9\".", +"format": "int32", +"type": "integer" +}, +"minorVersion": { +"description": "An integer representing the minor iOS version. Examples: \"1\", \"2\".", +"format": "int32", +"type": "integer" +}, +"supportedXcodeVersionIds": { +"description": "The available Xcode versions for this version.", +"items": { +"type": "string" +}, +"type": "array" +}, +"tags": { +"description": "Tags for this dimension. Examples: \"default\", \"preview\", \"deprecated\".", +"items": { +"type": "string" +}, +"type": "array" +} +}, +"type": "object" +}, +"IosXcTest": { +"description": "A test of an iOS application that uses the XCTest framework. Xcode supports the option to \"build for testing\", which generates an .xctestrun file that contains a test specification (arguments, test methods, etc). This test type accepts a zip file containing the .xctestrun file and the corresponding contents of the Build/Products directory that contains all the binaries needed to run the tests.", +"id": "IosXcTest", +"properties": { +"appBundleId": { +"description": "Output only. The bundle id for the application under test.", +"type": "string" +}, +"testSpecialEntitlements": { +"description": "The option to test special app entitlements. Setting this would re-sign the app having special entitlements with an explicit application-identifier. Currently supports testing aps-environment entitlement.", +"type": "boolean" +}, +"testsZip": { +"$ref": "FileReference", +"description": "Required. The .zip containing the .xctestrun file and the contents of the DerivedData/Build/Products directory. The .xctestrun file in this zip is ignored if the xctestrun field is specified." +}, +"xcodeVersion": { +"description": "The Xcode version that should be used for the test. Use the TestEnvironmentDiscoveryService to get supported options. Defaults to the latest Xcode version Firebase Test Lab supports.", +"type": "string" +}, +"xctestrun": { +"$ref": "FileReference", +"description": "An .xctestrun file that will override the .xctestrun file in the tests zip. Because the .xctestrun file contains environment variables along with test methods to run and/or ignore, this can be useful for sharding tests. Default is taken from the tests zip." +} +}, +"type": "object" +}, +"LabInfo": { +"description": "Lab specific information for a device.", +"id": "LabInfo", +"properties": { +"name": { +"description": "Lab name where the device is hosted. If empty, the device is hosted in a Google owned lab.", +"type": "string" +} +}, +"type": "object" +}, +"LauncherActivityIntent": { +"description": "Specifies an intent that starts the main launcher activity.", +"id": "LauncherActivityIntent", +"properties": {}, +"type": "object" +}, +"ListDeviceSessionsResponse": { +"description": "A list of device sessions.", +"id": "ListDeviceSessionsResponse", +"properties": { +"deviceSessions": { +"description": "The sessions matching the specified filter in the given cloud project.", +"items": { +"$ref": "DeviceSession" +}, +"type": "array" +}, +"nextPageToken": { +"description": "A token, which can be sent as `page_token` to retrieve the next page. If this field is omitted, there are no subsequent pages.", +"type": "string" +} +}, +"type": "object" +}, +"Locale": { +"description": "A location/region designation for language.", +"id": "Locale", +"properties": { +"id": { +"description": "The id for this locale. Example: \"en_US\".", +"type": "string" +}, +"name": { +"description": "A human-friendly name for this language/locale. Example: \"English\".", +"type": "string" +}, +"region": { +"description": "A human-friendly string representing the region for this locale. Example: \"United States\". Not present for every locale.", +"type": "string" +}, +"tags": { +"description": "Tags for this dimension. Example: \"default\".", +"items": { +"type": "string" +}, +"type": "array" +} +}, +"type": "object" +}, +"ManualSharding": { +"description": "Shards test cases into the specified groups of packages, classes, and/or methods. With manual sharding enabled, specifying test targets via environment_variables or in InstrumentationTest is invalid.", +"id": "ManualSharding", +"properties": { +"testTargetsForShard": { +"description": "Required. Group of packages, classes, and/or test methods to be run for each manually-created shard. You must specify at least one shard if this field is present. When you select one or more physical devices, the number of repeated test_targets_for_shard must be <= 50. When you select one or more ARM virtual devices, it must be <= 200. When you select only x86 virtual devices, it must be <= 500.", +"items": { +"$ref": "TestTargetsForShard" +}, +"type": "array" +} +}, +"type": "object" +}, +"MatrixErrorDetail": { +"description": "Describes a single error or issue with a matrix.", +"id": "MatrixErrorDetail", +"properties": { +"message": { +"description": "Output only. A human-readable message about how the error in the TestMatrix. Expands on the `reason` field with additional details and possible options to fix the issue.", +"readOnly": true, +"type": "string" +}, +"reason": { +"description": "Output only. The reason for the error. This is a constant value in UPPER_SNAKE_CASE that identifies the cause of the error.", +"readOnly": true, +"type": "string" +} +}, +"type": "object" +}, +"Metadata": { +"description": "A tag within a manifest. https://developer.android.com/guide/topics/manifest/meta-data-element.html", +"id": "Metadata", +"properties": { +"name": { +"description": "The android:name value", +"type": "string" +}, +"value": { +"description": "The android:value value", +"type": "string" +} +}, +"type": "object" +}, +"NetworkConfiguration": { +"id": "NetworkConfiguration", +"properties": { +"downRule": { +"$ref": "TrafficRule", +"description": "The emulation rule applying to the download traffic." +}, +"id": { +"description": "The unique opaque id for this network traffic configuration.", +"type": "string" +}, +"upRule": { +"$ref": "TrafficRule", +"description": "The emulation rule applying to the upload traffic." +} +}, +"type": "object" +}, +"NetworkConfigurationCatalog": { +"id": "NetworkConfigurationCatalog", +"properties": { +"configurations": { +"items": { +"$ref": "NetworkConfiguration" +}, +"type": "array" +} +}, +"type": "object" +}, +"NoActivityIntent": { +"description": "Skips the starting activity", +"id": "NoActivityIntent", +"properties": {}, +"type": "object" +}, +"ObbFile": { +"description": "An opaque binary blob file to install on the device before the test starts.", +"id": "ObbFile", +"properties": { +"obb": { +"$ref": "FileReference", +"description": "Required. Opaque Binary Blob (OBB) file(s) to install on the device." +}, +"obbFileName": { +"description": "Required. OBB file name which must conform to the format as specified by Android e.g. [main|patch].0300110.com.example.android.obb which will be installed into \\/Android/obb/\\/ on the device.", +"type": "string" +} +}, +"type": "object" +}, +"Orientation": { +"description": "Screen orientation of the device.", +"id": "Orientation", +"properties": { +"id": { +"description": "The id for this orientation. Example: \"portrait\".", +"type": "string" +}, +"name": { +"description": "A human-friendly name for this orientation. Example: \"portrait\".", +"type": "string" +}, +"tags": { +"description": "Tags for this dimension. Example: \"default\".", +"items": { +"type": "string" +}, +"type": "array" +} +}, +"type": "object" +}, +"PerAndroidVersionInfo": { +"description": "A version-specific information of an Android model.", +"id": "PerAndroidVersionInfo", +"properties": { +"deviceCapacity": { +"description": "The number of online devices for an Android version.", +"enum": [ +"DEVICE_CAPACITY_UNSPECIFIED", +"DEVICE_CAPACITY_HIGH", +"DEVICE_CAPACITY_MEDIUM", +"DEVICE_CAPACITY_LOW", +"DEVICE_CAPACITY_NONE" +], +"enumDescriptions": [ +"The value of device capacity is unknown or unset.", +"Devices that are high in capacity (The lab has a large number of these devices). These devices are generally suggested for running a large number of simultaneous tests (e.g. more than 100 tests). Please note that high capacity devices do not guarantee short wait times due to several factors: 1. Traffic (how heavily they are used at any given moment) 2. High capacity devices are prioritized for certain usages, which may cause user tests to be slower than selecting other similar device types.", +"Devices that are medium in capacity (The lab has a decent number of these devices, though not as many as high capacity devices). These devices are suitable for fewer test runs (e.g. fewer than 100 tests) and only for low shard counts (e.g. less than 10 shards).", +"Devices that are low in capacity (The lab has a small number of these devices). These devices may be used if users need to test on this specific device model and version. Please note that due to low capacity, the tests may take much longer to finish, especially if a large number of tests are invoked at once. These devices are not suitable for test sharding.", +"Devices that are completely missing from the lab. These devices are unavailable either temporarily or permanently and should not be requested. If the device is also marked as deprecated, this state is very likely permanent." +], +"type": "string" +}, +"directAccessVersionInfo": { +"$ref": "DirectAccessVersionInfo", +"description": "Output only. Identifies supported clients for DirectAccess for this Android version.", +"readOnly": true +}, +"interactiveDeviceAvailabilityEstimate": { +"description": "Output only. The estimated wait time for a single interactive device session using Direct Access.", +"format": "google-duration", +"readOnly": true, +"type": "string" +}, +"versionId": { +"description": "An Android version.", +"type": "string" +} +}, +"type": "object" +}, +"PerIosVersionInfo": { +"description": "A version-specific information of an iOS model.", +"id": "PerIosVersionInfo", +"properties": { +"deviceCapacity": { +"description": "The number of online devices for an iOS version.", +"enum": [ +"DEVICE_CAPACITY_UNSPECIFIED", +"DEVICE_CAPACITY_HIGH", +"DEVICE_CAPACITY_MEDIUM", +"DEVICE_CAPACITY_LOW", +"DEVICE_CAPACITY_NONE" +], +"enumDescriptions": [ +"The value of device capacity is unknown or unset.", +"Devices that are high in capacity (The lab has a large number of these devices). These devices are generally suggested for running a large number of simultaneous tests (e.g. more than 100 tests). Please note that high capacity devices do not guarantee short wait times due to several factors: 1. Traffic (how heavily they are used at any given moment) 2. High capacity devices are prioritized for certain usages, which may cause user tests to be slower than selecting other similar device types.", +"Devices that are medium in capacity (The lab has a decent number of these devices, though not as many as high capacity devices). These devices are suitable for fewer test runs (e.g. fewer than 100 tests) and only for low shard counts (e.g. less than 10 shards).", +"Devices that are low in capacity (The lab has a small number of these devices). These devices may be used if users need to test on this specific device model and version. Please note that due to low capacity, the tests may take much longer to finish, especially if a large number of tests are invoked at once. These devices are not suitable for test sharding.", +"Devices that are completely missing from the lab. These devices are unavailable either temporarily or permanently and should not be requested. If the device is also marked as deprecated, this state is very likely permanent." +], +"type": "string" +}, +"versionId": { +"description": "An iOS version.", +"type": "string" +} +}, +"type": "object" +}, +"ProvidedSoftwareCatalog": { +"description": "The currently provided software environment on the devices under test.", +"id": "ProvidedSoftwareCatalog", +"properties": { +"androidxOrchestratorVersion": { +"description": "A string representing the current version of AndroidX Test Orchestrator that is used in the environment. The package is available at https://maven.google.com/web/index.html#androidx.test:orchestrator.", +"type": "string" +}, +"orchestratorVersion": { +"deprecated": true, +"description": "Deprecated: Use AndroidX Test Orchestrator going forward. A string representing the current version of Android Test Orchestrator that is used in the environment. The package is available at https://maven.google.com/web/index.html#com.android.support.test:orchestrator.", +"type": "string" +} +}, +"type": "object" +}, +"RegularFile": { +"description": "A file or directory to install on the device before the test starts.", +"id": "RegularFile", +"properties": { +"content": { +"$ref": "FileReference", +"description": "Required. The source file." +}, +"devicePath": { +"description": "Required. Where to put the content on the device. Must be an absolute, allowlisted path. If the file exists, it will be replaced. The following device-side directories and any of their subdirectories are allowlisted: ${EXTERNAL_STORAGE}, /sdcard, or /storage ${ANDROID_DATA}/local/tmp, or /data/local/tmp Specifying a path outside of these directory trees is invalid. The paths /sdcard and /data will be made available and treated as implicit path substitutions. E.g. if /sdcard on a particular device does not map to external storage, the system will replace it with the external storage path prefix for that device and copy the file there. It is strongly advised to use the Environment API in app and test code to access files on the device in a portable way.", +"type": "string" +} +}, +"type": "object" +}, +"ResultStorage": { +"description": "Locations where the results of running the test are stored.", +"id": "ResultStorage", +"properties": { +"googleCloudStorage": { +"$ref": "GoogleCloudStorage", +"description": "Required." +}, +"resultsUrl": { +"description": "Output only. URL to the results in the Firebase Web Console.", +"type": "string" +}, +"toolResultsExecution": { +"$ref": "ToolResultsExecution", +"description": "Output only. The tool results execution that results are written to." +}, +"toolResultsHistory": { +"$ref": "ToolResultsHistory", +"description": "The tool results history that contains the tool results execution that results are written to. If not provided, the service will choose an appropriate value." +} +}, +"type": "object" +}, +"RoboDirective": { +"description": "Directs Robo to interact with a specific UI element if it is encountered during the crawl. Currently, Robo can perform text entry or element click.", +"id": "RoboDirective", +"properties": { +"actionType": { +"description": "Required. The type of action that Robo should perform on the specified element.", +"enum": [ +"ACTION_TYPE_UNSPECIFIED", +"SINGLE_CLICK", +"ENTER_TEXT", +"IGNORE" +], +"enumDescriptions": [ +"DO NOT USE. For proto versioning only.", +"Direct Robo to click on the specified element. No-op if specified element is not clickable.", +"Direct Robo to enter text on the specified element. No-op if specified element is not enabled or does not allow text entry.", +"Direct Robo to ignore interactions with a specific element." +], +"type": "string" +}, +"inputText": { +"description": "The text that Robo is directed to set. If left empty, the directive will be treated as a CLICK on the element matching the resource_name.", +"type": "string" +}, +"resourceName": { +"description": "Required. The android resource name of the target UI element. For example, in Java: R.string.foo in xml: @string/foo Only the \"foo\" part is needed. Reference doc: https://developer.android.com/guide/topics/resources/accessing-resources.html", +"type": "string" +} +}, +"type": "object" +}, +"RoboStartingIntent": { +"description": "Message for specifying the start activities to crawl.", +"id": "RoboStartingIntent", +"properties": { +"launcherActivity": { +"$ref": "LauncherActivityIntent", +"description": "An intent that starts the main launcher activity." +}, +"noActivity": { +"$ref": "NoActivityIntent", +"description": "Skips the starting activity" +}, +"startActivity": { +"$ref": "StartActivityIntent", +"description": "An intent that starts an activity with specific details." +}, +"timeout": { +"description": "Timeout in seconds for each intent.", +"format": "google-duration", +"type": "string" +} +}, +"type": "object" +}, +"Service": { +"description": "The section of an tag. https://developer.android.com/guide/topics/manifest/service-element", +"id": "Service", +"properties": { +"intentFilter": { +"description": "Intent filters in the service", +"items": { +"$ref": "IntentFilter" +}, +"type": "array" +}, +"name": { +"description": "The android:name value", +"type": "string" +} +}, +"type": "object" +}, +"SessionStateEvent": { +"description": "A message encapsulating a series of Session states and the time that the DeviceSession first entered those states.", +"id": "SessionStateEvent", +"properties": { +"eventTime": { +"description": "Output only. The time that the session_state first encountered that state.", +"format": "google-datetime", +"readOnly": true, +"type": "string" +}, +"sessionState": { +"description": "Output only. The session_state tracked by this event", +"enum": [ +"SESSION_STATE_UNSPECIFIED", +"REQUESTED", +"PENDING", +"ACTIVE", +"EXPIRED", +"FINISHED", +"UNAVAILABLE", +"ERROR" +], +"enumDescriptions": [ +"Default value. This value is unused.", +"Initial state of a session request. The session is being validated for correctness and a device is not yet requested.", +"The session has been validated and is in the queue for a device.", +"The session has been granted and the device is accepting connections.", +"The session duration exceeded the device\u2019s reservation time period and timed out automatically.", +"The user is finished with the session and it was canceled by the user while the request was still getting allocated or after allocation and during device usage period.", +"Unable to complete the session because the device was unavailable and it failed to allocate through the scheduler. For example, a device not in the catalog was requested or the request expired in the allocation queue.", +"Unable to complete the session for an internal reason, such as an infrastructure failure." +], +"readOnly": true, +"type": "string" +}, +"stateMessage": { +"description": "Output only. A human-readable message to explain the state.", +"readOnly": true, +"type": "string" +} +}, +"type": "object" +}, +"Shard": { +"description": "Output only. Details about the shard.", +"id": "Shard", +"properties": { +"estimatedShardDuration": { +"description": "Output only. The estimated shard duration based on previous test case timing records, if available.", +"format": "google-duration", +"readOnly": true, +"type": "string" +}, +"numShards": { +"description": "Output only. The total number of shards.", +"format": "int32", +"readOnly": true, +"type": "integer" +}, +"shardIndex": { +"description": "Output only. The index of the shard among all the shards.", +"format": "int32", +"readOnly": true, +"type": "integer" +}, +"testTargetsForShard": { +"$ref": "TestTargetsForShard", +"description": "Output only. Test targets for each shard. Only set for manual sharding.", +"readOnly": true +} +}, +"type": "object" +}, +"ShardingOption": { +"description": "Options for enabling sharding.", +"id": "ShardingOption", +"properties": { +"manualSharding": { +"$ref": "ManualSharding", +"description": "Shards test cases into the specified groups of packages, classes, and/or methods." +}, +"smartSharding": { +"$ref": "SmartSharding", +"description": "Shards test based on previous test case timing records." +}, +"uniformSharding": { +"$ref": "UniformSharding", +"description": "Uniformly shards test cases given a total number of shards." +} +}, +"type": "object" +}, +"SmartSharding": { +"description": "Shards test based on previous test case timing records.", +"id": "SmartSharding", +"properties": { +"targetedShardDuration": { +"description": "The amount of time tests within a shard should take. Default: 300 seconds (5 minutes). The minimum allowed: 120 seconds (2 minutes). The shard count is dynamically set based on time, up to the maximum shard limit (described below). To guarantee at least one test case for each shard, the number of shards will not exceed the number of test cases. Shard duration will be exceeded if: - The maximum shard limit is reached and there is more calculated test time remaining to allocate into shards. - Any individual test is estimated to be longer than the targeted shard duration. Shard duration is not guaranteed because smart sharding uses test case history and default durations which may not be accurate. The rules for finding the test case timing records are: - If the service has processed a test case in the last 30 days, the record of the latest successful test case will be used. - For new test cases, the average duration of other known test cases will be used. - If there are no previous test case timing records available, the default test case duration is 15 seconds. Because the actual shard duration can exceed the targeted shard duration, we recommend that you set the targeted value at least 5 minutes less than the maximum allowed test timeout (45 minutes for physical devices and 60 minutes for virtual), or that you use the custom test timeout value that you set. This approach avoids cancelling the shard before all tests can finish. Note that there is a limit for maximum number of shards. When you select one or more physical devices, the number of shards must be <= 50. When you select one or more ARM virtual devices, it must be <= 200. When you select only x86 virtual devices, it must be <= 500. To guarantee at least one test case for per shard, the number of shards will not exceed the number of test cases. Each shard created counts toward daily test quota.", +"format": "google-duration", +"type": "string" +} +}, +"type": "object" +}, +"StartActivityIntent": { +"description": "A starting intent specified by an action, uri, and categories.", +"id": "StartActivityIntent", +"properties": { +"action": { +"description": "Action name. Required for START_ACTIVITY.", +"type": "string" +}, +"categories": { +"description": "Intent categories to set on the intent.", +"items": { +"type": "string" +}, +"type": "array" +}, +"uri": { +"description": "URI for the action.", +"type": "string" +} +}, +"type": "object" +}, +"SystraceSetup": { +"id": "SystraceSetup", +"properties": { +"durationSeconds": { +"deprecated": true, +"description": "Systrace duration in seconds. Should be between 1 and 30 seconds. 0 disables systrace.", +"format": "int32", +"type": "integer" +} +}, +"type": "object" +}, +"TestDetails": { +"description": "Additional details about the progress of the running test.", +"id": "TestDetails", +"properties": { +"errorMessage": { +"description": "Output only. If the TestState is ERROR, then this string will contain human-readable details about the error.", +"type": "string" +}, +"progressMessages": { +"description": "Output only. Human-readable, detailed descriptions of the test's progress. For example: \"Provisioning a device\", \"Starting Test\". During the course of execution new data may be appended to the end of progress_messages.", +"items": { +"type": "string" +}, +"type": "array" +} +}, +"type": "object" +}, +"TestEnvironmentCatalog": { +"description": "A description of a test environment.", +"id": "TestEnvironmentCatalog", +"properties": { +"androidDeviceCatalog": { +"$ref": "AndroidDeviceCatalog", +"description": "Supported Android devices." +}, +"deviceIpBlockCatalog": { +"$ref": "DeviceIpBlockCatalog", +"description": "The IP blocks used by devices in the test environment." +}, +"iosDeviceCatalog": { +"$ref": "IosDeviceCatalog", +"description": "Supported iOS devices." +}, +"networkConfigurationCatalog": { +"$ref": "NetworkConfigurationCatalog", +"description": "Supported network configurations." +}, +"softwareCatalog": { +"$ref": "ProvidedSoftwareCatalog", +"description": "The software test environment provided by TestExecutionService." +} +}, +"type": "object" +}, +"TestExecution": { +"description": "A single test executed in a single environment.", +"id": "TestExecution", +"properties": { +"environment": { +"$ref": "Environment", +"description": "Output only. How the host machine(s) are configured." +}, +"id": { +"description": "Output only. Unique id set by the service.", +"type": "string" +}, +"matrixId": { +"description": "Output only. Id of the containing TestMatrix.", +"type": "string" +}, +"projectId": { +"description": "Output only. The cloud project that owns the test execution.", +"type": "string" +}, +"shard": { +"$ref": "Shard", +"description": "Output only. Details about the shard." +}, +"state": { +"description": "Output only. Indicates the current progress of the test execution (e.g., FINISHED).", +"enum": [ +"TEST_STATE_UNSPECIFIED", +"VALIDATING", +"PENDING", +"RUNNING", +"FINISHED", +"ERROR", +"UNSUPPORTED_ENVIRONMENT", +"INCOMPATIBLE_ENVIRONMENT", +"INCOMPATIBLE_ARCHITECTURE", +"CANCELLED", +"INVALID" +], +"enumDescriptions": [ +"Do not use. For proto versioning only.", +"The execution or matrix is being validated.", +"The execution or matrix is waiting for resources to become available.", +"The execution is currently being processed. Can only be set on an execution.", +"The execution or matrix has terminated normally. On a matrix this means that the matrix level processing completed normally, but individual executions may be in an ERROR state.", +"The execution or matrix has stopped because it encountered an infrastructure failure.", +"The execution was not run because it corresponds to a unsupported environment. Can only be set on an execution.", +"The execution was not run because the provided inputs are incompatible with the requested environment. Example: requested AndroidVersion is lower than APK's minSdkVersion Can only be set on an execution.", +"The execution was not run because the provided inputs are incompatible with the requested architecture. Example: requested device does not support running the native code in the supplied APK Can only be set on an execution.", +"The user cancelled the execution. Can only be set on an execution.", +"The execution or matrix was not run because the provided inputs are not valid. Examples: input file is not of the expected type, is malformed/corrupt, or was flagged as malware" +], +"type": "string" +}, +"testDetails": { +"$ref": "TestDetails", +"description": "Output only. Additional details about the running test." +}, +"testSpecification": { +"$ref": "TestSpecification", +"description": "Output only. How to run the test." +}, +"timestamp": { +"description": "Output only. The time this test execution was initially created.", +"format": "google-datetime", +"type": "string" +}, +"toolResultsStep": { +"$ref": "ToolResultsStep", +"description": "Output only. Where the results for this execution are written." +} +}, +"type": "object" +}, +"TestMatrix": { +"description": "TestMatrix captures all details about a test. It contains the environment configuration, test specification, test executions and overall state and outcome.", +"id": "TestMatrix", +"properties": { +"clientInfo": { +"$ref": "ClientInfo", +"description": "Information about the client which invoked the test." +}, +"environmentMatrix": { +"$ref": "EnvironmentMatrix", +"description": "Required. The devices the tests are being executed on." +}, +"extendedInvalidMatrixDetails": { +"description": "Output only. Details about why a matrix was deemed invalid. If multiple checks can be safely performed, they will be reported but no assumptions should be made about the length of this list.", +"items": { +"$ref": "MatrixErrorDetail" +}, +"readOnly": true, +"type": "array" +}, +"failFast": { +"description": "If true, only a single attempt at most will be made to run each execution/shard in the matrix. Flaky test attempts are not affected. Normally, 2 or more attempts are made if a potential infrastructure issue is detected. This feature is for latency sensitive workloads. The incidence of execution failures may be significantly greater for fail-fast matrices and support is more limited because of that expectation.", +"type": "boolean" +}, +"flakyTestAttempts": { +"description": "The number of times a TestExecution should be re-attempted if one or more of its test cases fail for any reason. The maximum number of reruns allowed is 10. Default is 0, which implies no reruns.", +"format": "int32", +"type": "integer" +}, +"invalidMatrixDetails": { +"description": "Output only. Describes why the matrix is considered invalid. Only useful for matrices in the INVALID state.", +"enum": [ +"INVALID_MATRIX_DETAILS_UNSPECIFIED", +"DETAILS_UNAVAILABLE", +"MALFORMED_APK", +"MALFORMED_TEST_APK", +"NO_MANIFEST", +"NO_PACKAGE_NAME", +"INVALID_PACKAGE_NAME", +"TEST_SAME_AS_APP", +"NO_INSTRUMENTATION", +"NO_SIGNATURE", +"INSTRUMENTATION_ORCHESTRATOR_INCOMPATIBLE", +"NO_TEST_RUNNER_CLASS", +"NO_LAUNCHER_ACTIVITY", +"FORBIDDEN_PERMISSIONS", +"INVALID_ROBO_DIRECTIVES", +"INVALID_RESOURCE_NAME", +"INVALID_DIRECTIVE_ACTION", +"TEST_LOOP_INTENT_FILTER_NOT_FOUND", +"SCENARIO_LABEL_NOT_DECLARED", +"SCENARIO_LABEL_MALFORMED", +"SCENARIO_NOT_DECLARED", +"DEVICE_ADMIN_RECEIVER", +"MALFORMED_XC_TEST_ZIP", +"BUILT_FOR_IOS_SIMULATOR", +"NO_TESTS_IN_XC_TEST_ZIP", +"USE_DESTINATION_ARTIFACTS", +"TEST_NOT_APP_HOSTED", +"PLIST_CANNOT_BE_PARSED", +"TEST_ONLY_APK", +"MALFORMED_IPA", +"MISSING_URL_SCHEME", +"MALFORMED_APP_BUNDLE", +"NO_CODE_APK", +"INVALID_INPUT_APK", +"INVALID_APK_PREVIEW_SDK", +"MATRIX_TOO_LARGE", +"TEST_QUOTA_EXCEEDED", +"SERVICE_NOT_ACTIVATED", +"UNKNOWN_PERMISSION_ERROR" +], +"enumDeprecated": [ +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +true, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false +], +"enumDescriptions": [ +"Do not use. For proto versioning only.", +"The matrix is INVALID, but there are no further details available.", +"The input app APK could not be parsed.", +"The input test APK could not be parsed.", +"The AndroidManifest.xml could not be found.", +"The APK manifest does not declare a package name.", +"The APK application ID (aka package name) is invalid. See also https://developer.android.com/studio/build/application-id", +"The test package and app package are the same.", +"The test apk does not declare an instrumentation.", +"The input app apk does not have a signature.", +"The test runner class specified by user or in the test APK's manifest file is not compatible with Android Test Orchestrator. Orchestrator is only compatible with AndroidJUnitRunner version 1.1 or higher. Orchestrator can be disabled by using DO_NOT_USE_ORCHESTRATOR OrchestratorOption.", +"The test APK does not contain the test runner class specified by the user or in the manifest file. This can be caused by one of the following reasons: - the user provided a runner class name that's incorrect, or - the test runner isn't built into the test APK (might be in the app APK instead).", +"A main launcher activity could not be found.", +"The app declares one or more permissions that are not allowed.", +"There is a conflict in the provided robo_directives.", +"There is at least one invalid resource name in the provided robo directives", +"Invalid definition of action in the robo directives (e.g. a click or ignore action includes an input text field)", +"There is no test loop intent filter, or the one that is given is not formatted correctly.", +"The request contains a scenario label that was not declared in the manifest.", +"There was an error when parsing a label's value.", +"The request contains a scenario number that was not declared in the manifest.", +"Device administrator applications are not allowed.", +"The zipped XCTest was malformed. The zip did not contain a single .xctestrun file and the contents of the DerivedData/Build/Products directory.", +"The zipped XCTest was built for the iOS simulator rather than for a physical device.", +"The .xctestrun file did not specify any test targets.", +"One or more of the test targets defined in the .xctestrun file specifies \"UseDestinationArtifacts\", which is disallowed.", +"XC tests which run on physical devices must have \"IsAppHostedTestBundle\" == \"true\" in the xctestrun file.", +"An Info.plist file in the XCTest zip could not be parsed.", +"The APK is marked as \"testOnly\". Deprecated and not currently used.", +"The input IPA could not be parsed.", +"The application doesn't register the game loop URL scheme.", +"The iOS application bundle (.app) couldn't be processed.", +"APK contains no code. See also https://developer.android.com/guide/topics/manifest/application-element.html#code", +"Either the provided input APK path was malformed, the APK file does not exist, or the user does not have permission to access the APK file.", +"APK is built for a preview SDK which is unsupported", +"The matrix expanded to contain too many executions.", +"Not enough test quota to run the executions in this matrix.", +"A required cloud service api is not activated. See: https://firebase.google.com/docs/test-lab/android/continuous#requirements", +"There was an unknown permission issue running this test." +], +"type": "string" +}, +"outcomeSummary": { +"description": "Output Only. The overall outcome of the test. Only set when the test matrix state is FINISHED.", +"enum": [ +"OUTCOME_SUMMARY_UNSPECIFIED", +"SUCCESS", +"FAILURE", +"INCONCLUSIVE", +"SKIPPED" +], +"enumDescriptions": [ +"Do not use. For proto versioning only.", +"The test matrix run was successful, for instance: - All the test cases passed. - Robo did not detect a crash of the application under test.", +"A run failed, for instance: - One or more test cases failed. - A test timed out. - The application under test crashed.", +"Something unexpected happened. The run should still be considered unsuccessful but this is likely a transient problem and re-running the test might be successful.", +"All tests were skipped, for instance: - All device configurations were incompatible." +], +"type": "string" +}, +"projectId": { +"description": "The cloud project that owns the test matrix.", +"type": "string" +}, +"resultStorage": { +"$ref": "ResultStorage", +"description": "Required. Where the results for the matrix are written." +}, +"state": { +"description": "Output only. Indicates the current progress of the test matrix.", +"enum": [ +"TEST_STATE_UNSPECIFIED", +"VALIDATING", +"PENDING", +"RUNNING", +"FINISHED", +"ERROR", +"UNSUPPORTED_ENVIRONMENT", +"INCOMPATIBLE_ENVIRONMENT", +"INCOMPATIBLE_ARCHITECTURE", +"CANCELLED", +"INVALID" +], +"enumDescriptions": [ +"Do not use. For proto versioning only.", +"The execution or matrix is being validated.", +"The execution or matrix is waiting for resources to become available.", +"The execution is currently being processed. Can only be set on an execution.", +"The execution or matrix has terminated normally. On a matrix this means that the matrix level processing completed normally, but individual executions may be in an ERROR state.", +"The execution or matrix has stopped because it encountered an infrastructure failure.", +"The execution was not run because it corresponds to a unsupported environment. Can only be set on an execution.", +"The execution was not run because the provided inputs are incompatible with the requested environment. Example: requested AndroidVersion is lower than APK's minSdkVersion Can only be set on an execution.", +"The execution was not run because the provided inputs are incompatible with the requested architecture. Example: requested device does not support running the native code in the supplied APK Can only be set on an execution.", +"The user cancelled the execution. Can only be set on an execution.", +"The execution or matrix was not run because the provided inputs are not valid. Examples: input file is not of the expected type, is malformed/corrupt, or was flagged as malware" +], +"type": "string" +}, +"testExecutions": { +"description": "Output only. The list of test executions that the service creates for this matrix.", +"items": { +"$ref": "TestExecution" +}, +"type": "array" +}, +"testMatrixId": { +"description": "Output only. Unique id set by the service.", +"type": "string" +}, +"testSpecification": { +"$ref": "TestSpecification", +"description": "Required. How to run the test." +}, +"timestamp": { +"description": "Output only. The time this test matrix was initially created.", +"format": "google-datetime", +"type": "string" +} +}, +"type": "object" +}, +"TestSetup": { +"description": "A description of how to set up the Android device prior to running the test.", +"id": "TestSetup", +"properties": { +"account": { +"$ref": "Account", +"description": "The device will be logged in on this account for the duration of the test." +}, +"additionalApks": { +"description": "APKs to install in addition to those being directly tested. These will be installed after the app under test. Currently capped at 100.", +"items": { +"$ref": "Apk" +}, +"type": "array" +}, +"directoriesToPull": { +"description": "List of directories on the device to upload to GCS at the end of the test; they must be absolute paths under /sdcard, /storage or /data/local/tmp. Path names are restricted to characters a-z A-Z 0-9 _ - . + and / Note: The paths /sdcard and /data will be made available and treated as implicit path substitutions. E.g. if /sdcard on a particular device does not map to external storage, the system will replace it with the external storage path prefix for that device.", +"items": { +"type": "string" +}, +"type": "array" +}, +"dontAutograntPermissions": { +"description": "Whether to prevent all runtime permissions to be granted at app install", +"type": "boolean" +}, +"environmentVariables": { +"description": "Environment variables to set for the test (only applicable for instrumentation tests).", +"items": { +"$ref": "EnvironmentVariable" +}, +"type": "array" +}, +"filesToPush": { +"description": "List of files to push to the device before starting the test.", +"items": { +"$ref": "DeviceFile" +}, +"type": "array" +}, +"initialSetupApks": { +"description": "Optional. Initial setup APKs to install before the app under test is installed. Currently capped at 100.", +"items": { +"$ref": "Apk" +}, +"type": "array" +}, +"networkProfile": { +"description": "The network traffic profile used for running the test. Available network profiles can be queried by using the NETWORK_CONFIGURATION environment type when calling TestEnvironmentDiscoveryService.GetTestEnvironmentCatalog.", +"type": "string" +}, +"systrace": { +"$ref": "SystraceSetup", +"deprecated": true, +"description": "Systrace configuration for the run. Deprecated: Systrace used Python 2 which was sunsetted on 2020-01-01. Systrace is no longer supported in the Cloud Testing API, and no Systrace file will be provided in the results." +} +}, +"type": "object" +}, +"TestSpecification": { +"description": "A description of how to run the test.", +"id": "TestSpecification", +"properties": { +"androidInstrumentationTest": { +"$ref": "AndroidInstrumentationTest", +"description": "An Android instrumentation test." +}, +"androidRoboTest": { +"$ref": "AndroidRoboTest", +"description": "An Android robo test." +}, +"androidTestLoop": { +"$ref": "AndroidTestLoop", +"description": "An Android Application with a Test Loop." +}, +"disablePerformanceMetrics": { +"description": "Disables performance metrics recording. May reduce test latency.", +"type": "boolean" +}, +"disableVideoRecording": { +"description": "Disables video recording. May reduce test latency.", +"type": "boolean" +}, +"iosRoboTest": { +"$ref": "IosRoboTest", +"description": "An iOS Robo test." +}, +"iosTestLoop": { +"$ref": "IosTestLoop", +"description": "An iOS application with a test loop." +}, +"iosTestSetup": { +"$ref": "IosTestSetup", +"description": "Test setup requirements for iOS." +}, +"iosXcTest": { +"$ref": "IosXcTest", +"description": "An iOS XCTest, via an .xctestrun file." +}, +"testSetup": { +"$ref": "TestSetup", +"description": "Test setup requirements for Android e.g. files to install, bootstrap scripts." +}, +"testTimeout": { +"description": "Max time a test execution is allowed to run before it is automatically cancelled. The default value is 5 min.", +"format": "google-duration", +"type": "string" +} +}, +"type": "object" +}, +"TestTargetsForShard": { +"description": "Test targets for a shard.", +"id": "TestTargetsForShard", +"properties": { +"testTargets": { +"description": "Group of packages, classes, and/or test methods to be run for each shard. The targets need to be specified in AndroidJUnitRunner argument format. For example, \"package com.my.packages\" \"class com.my.package.MyClass\". The number of test_targets must be greater than 0.", +"items": { +"type": "string" +}, +"type": "array" +} +}, +"type": "object" +}, +"ToolResultsExecution": { +"description": "Represents a tool results execution resource. This has the results of a TestMatrix.", +"id": "ToolResultsExecution", +"properties": { +"executionId": { +"description": "Output only. A tool results execution ID.", +"type": "string" +}, +"historyId": { +"description": "Output only. A tool results history ID.", +"type": "string" +}, +"projectId": { +"description": "Output only. The cloud project that owns the tool results execution.", +"type": "string" +} +}, +"type": "object" +}, +"ToolResultsHistory": { +"description": "Represents a tool results history resource.", +"id": "ToolResultsHistory", +"properties": { +"historyId": { +"description": "Required. A tool results history ID.", +"type": "string" +}, +"projectId": { +"description": "Required. The cloud project that owns the tool results history.", +"type": "string" +} +}, +"type": "object" +}, +"ToolResultsStep": { +"description": "Represents a tool results step resource. This has the results of a TestExecution.", +"id": "ToolResultsStep", +"properties": { +"executionId": { +"description": "Output only. A tool results execution ID.", +"type": "string" +}, +"historyId": { +"description": "Output only. A tool results history ID.", +"type": "string" +}, +"projectId": { +"description": "Output only. The cloud project that owns the tool results step.", +"type": "string" +}, +"stepId": { +"description": "Output only. A tool results step ID.", +"type": "string" +} +}, +"type": "object" +}, +"TrafficRule": { +"description": "Network emulation parameters.", +"id": "TrafficRule", +"properties": { +"bandwidth": { +"description": "Bandwidth in kbits/second.", +"format": "float", +"type": "number" +}, +"burst": { +"description": "Burst size in kbits.", +"format": "float", +"type": "number" +}, +"delay": { +"description": "Packet delay, must be >= 0.", +"format": "google-duration", +"type": "string" +}, +"packetDuplicationRatio": { +"description": "Packet duplication ratio (0.0 - 1.0).", +"format": "float", +"type": "number" +}, +"packetLossRatio": { +"description": "Packet loss ratio (0.0 - 1.0).", +"format": "float", +"type": "number" +} +}, +"type": "object" +}, +"UniformSharding": { +"description": "Uniformly shards test cases given a total number of shards. For instrumentation tests, it will be translated to \"-e numShard\" and \"-e shardIndex\" AndroidJUnitRunner arguments. With uniform sharding enabled, specifying either of these sharding arguments via `environment_variables` is invalid. Based on the sharding mechanism AndroidJUnitRunner uses, there is no guarantee that test cases will be distributed uniformly across all shards.", +"id": "UniformSharding", +"properties": { +"numShards": { +"description": "Required. The total number of shards to create. This must always be a positive number that is no greater than the total number of test cases. When you select one or more physical devices, the number of shards must be <= 50. When you select one or more ARM virtual devices, it must be <= 200. When you select only x86 virtual devices, it must be <= 500.", +"format": "int32", +"type": "integer" +} +}, +"type": "object" +}, +"UsesFeature": { +"description": "A tag within a manifest. https://developer.android.com/guide/topics/manifest/uses-feature-element.html", +"id": "UsesFeature", +"properties": { +"isRequired": { +"description": "The android:required value", +"type": "boolean" +}, +"name": { +"description": "The android:name value", +"type": "string" +} +}, +"type": "object" +}, +"UsesPermissionTag": { +"description": "The tag within a manifest. https://developer.android.com/guide/topics/manifest/uses-permission-element.html", +"id": "UsesPermissionTag", +"properties": { +"maxSdkVersion": { +"description": "The android:name value", +"format": "int32", +"type": "integer" +}, +"name": { +"description": "The android:name value", +"type": "string" +} +}, +"type": "object" +}, +"XcodeVersion": { +"description": "An Xcode version that an iOS version is compatible with.", +"id": "XcodeVersion", +"properties": { +"tags": { +"description": "Tags for this Xcode version. Example: \"default\".", +"items": { +"type": "string" +}, +"type": "array" +}, +"version": { +"description": "The id for this version. Example: \"9.2\".", +"type": "string" +} +}, +"type": "object" +} +}, +"servicePath": "", +"title": "Cloud Testing API", +"version": "v1" +} \ No newline at end of file diff --git a/.venv/lib/python3.11/site-packages/googleapiclient/discovery_cache/documents/tpu.v2alpha1.json b/.venv/lib/python3.11/site-packages/googleapiclient/discovery_cache/documents/tpu.v2alpha1.json new file mode 100644 index 0000000000000000000000000000000000000000..d1ad052bae8796024e26dc7e8fb19792ddccc7d6 --- /dev/null +++ b/.venv/lib/python3.11/site-packages/googleapiclient/discovery_cache/documents/tpu.v2alpha1.json @@ -0,0 +1,2430 @@ +{ +"auth": { +"oauth2": { +"scopes": { +"https://www.googleapis.com/auth/cloud-platform": { +"description": "See, edit, configure, and delete your Google Cloud data and see the email address for your Google Account." +} +} +} +}, +"basePath": "", +"baseUrl": "https://tpu.googleapis.com/", +"batchPath": "batch", +"canonicalName": "TPU", +"description": "TPU API provides customers with access to Google TPU technology.", +"discoveryVersion": "v1", +"documentationLink": "https://cloud.google.com/tpu/", +"fullyEncodeReservedExpansion": true, +"icons": { +"x16": "http://www.google.com/images/icons/product/search-16.gif", +"x32": "http://www.google.com/images/icons/product/search-32.gif" +}, +"id": "tpu:v2alpha1", +"kind": "discovery#restDescription", +"mtlsRootUrl": "https://tpu.mtls.googleapis.com/", +"name": "tpu", +"ownerDomain": "google.com", +"ownerName": "Google", +"parameters": { +"$.xgafv": { +"description": "V1 error format.", +"enum": [ +"1", +"2" +], +"enumDescriptions": [ +"v1 error format", +"v2 error format" +], +"location": "query", +"type": "string" +}, +"access_token": { +"description": "OAuth access token.", +"location": "query", +"type": "string" +}, +"alt": { +"default": "json", +"description": "Data format for response.", +"enum": [ +"json", +"media", +"proto" +], +"enumDescriptions": [ +"Responses with Content-Type of application/json", +"Media download with context-dependent Content-Type", +"Responses with Content-Type of application/x-protobuf" +], +"location": "query", +"type": "string" +}, +"callback": { +"description": "JSONP", +"location": "query", +"type": "string" +}, +"fields": { +"description": "Selector specifying which fields to include in a partial response.", +"location": "query", +"type": "string" +}, +"key": { +"description": "API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token.", +"location": "query", +"type": "string" +}, +"oauth_token": { +"description": "OAuth 2.0 token for the current user.", +"location": "query", +"type": "string" +}, +"prettyPrint": { +"default": "true", +"description": "Returns response with indentations and line breaks.", +"location": "query", +"type": "boolean" +}, +"quotaUser": { +"description": "Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters.", +"location": "query", +"type": "string" +}, +"uploadType": { +"description": "Legacy upload protocol for media (e.g. \"media\", \"multipart\").", +"location": "query", +"type": "string" +}, +"upload_protocol": { +"description": "Upload protocol for media (e.g. \"raw\", \"multipart\").", +"location": "query", +"type": "string" +} +}, +"protocol": "rest", +"resources": { +"projects": { +"resources": { +"locations": { +"methods": { +"generateServiceIdentity": { +"description": "Generates the Cloud TPU service identity for the project.", +"flatPath": "v2alpha1/projects/{projectsId}/locations/{locationsId}:generateServiceIdentity", +"httpMethod": "POST", +"id": "tpu.projects.locations.generateServiceIdentity", +"parameterOrder": [ +"parent" +], +"parameters": { +"parent": { +"description": "Required. The parent resource name.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v2alpha1/{+parent}:generateServiceIdentity", +"request": { +"$ref": "GenerateServiceIdentityRequest" +}, +"response": { +"$ref": "GenerateServiceIdentityResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"get": { +"description": "Gets information about a location.", +"flatPath": "v2alpha1/projects/{projectsId}/locations/{locationsId}", +"httpMethod": "GET", +"id": "tpu.projects.locations.get", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Resource name for the location.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v2alpha1/{+name}", +"response": { +"$ref": "Location" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"list": { +"description": "Lists information about the supported locations for this service.", +"flatPath": "v2alpha1/projects/{projectsId}/locations", +"httpMethod": "GET", +"id": "tpu.projects.locations.list", +"parameterOrder": [ +"name" +], +"parameters": { +"filter": { +"description": "A filter to narrow down results to a preferred subset. The filtering language accepts strings like `\"displayName=tokyo\"`, and is documented in more detail in [AIP-160](https://google.aip.dev/160).", +"location": "query", +"type": "string" +}, +"name": { +"description": "The resource that owns the locations collection, if applicable.", +"location": "path", +"pattern": "^projects/[^/]+$", +"required": true, +"type": "string" +}, +"pageSize": { +"description": "The maximum number of results to return. If not set, the service selects a default.", +"format": "int32", +"location": "query", +"type": "integer" +}, +"pageToken": { +"description": "A page token received from the `next_page_token` field in the response. Send that page token to receive the subsequent page.", +"location": "query", +"type": "string" +} +}, +"path": "v2alpha1/{+name}/locations", +"response": { +"$ref": "ListLocationsResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +} +}, +"resources": { +"acceleratorTypes": { +"methods": { +"get": { +"description": "Gets AcceleratorType.", +"flatPath": "v2alpha1/projects/{projectsId}/locations/{locationsId}/acceleratorTypes/{acceleratorTypesId}", +"httpMethod": "GET", +"id": "tpu.projects.locations.acceleratorTypes.get", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. The resource name.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/acceleratorTypes/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v2alpha1/{+name}", +"response": { +"$ref": "AcceleratorType" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"list": { +"description": "Lists accelerator types supported by this API.", +"flatPath": "v2alpha1/projects/{projectsId}/locations/{locationsId}/acceleratorTypes", +"httpMethod": "GET", +"id": "tpu.projects.locations.acceleratorTypes.list", +"parameterOrder": [ +"parent" +], +"parameters": { +"filter": { +"description": "List filter.", +"location": "query", +"type": "string" +}, +"orderBy": { +"description": "Sort results.", +"location": "query", +"type": "string" +}, +"pageSize": { +"description": "The maximum number of items to return.", +"format": "int32", +"location": "query", +"type": "integer" +}, +"pageToken": { +"description": "The next_page_token value returned from a previous List request, if any.", +"location": "query", +"type": "string" +}, +"parent": { +"description": "Required. The parent resource name.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v2alpha1/{+parent}/acceleratorTypes", +"response": { +"$ref": "ListAcceleratorTypesResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +} +} +}, +"nodes": { +"methods": { +"create": { +"description": "Creates a node.", +"flatPath": "v2alpha1/projects/{projectsId}/locations/{locationsId}/nodes", +"httpMethod": "POST", +"id": "tpu.projects.locations.nodes.create", +"parameterOrder": [ +"parent" +], +"parameters": { +"nodeId": { +"description": "The unqualified resource name.", +"location": "query", +"type": "string" +}, +"parent": { +"description": "Required. The parent resource name.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+$", +"required": true, +"type": "string" +}, +"requestId": { +"description": "Idempotent request UUID.", +"location": "query", +"type": "string" +} +}, +"path": "v2alpha1/{+parent}/nodes", +"request": { +"$ref": "Node" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"delete": { +"description": "Deletes a node.", +"flatPath": "v2alpha1/projects/{projectsId}/locations/{locationsId}/nodes/{nodesId}", +"httpMethod": "DELETE", +"id": "tpu.projects.locations.nodes.delete", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. The resource name.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/nodes/[^/]+$", +"required": true, +"type": "string" +}, +"requestId": { +"description": "Idempotent request UUID.", +"location": "query", +"type": "string" +} +}, +"path": "v2alpha1/{+name}", +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"get": { +"description": "Gets the details of a node.", +"flatPath": "v2alpha1/projects/{projectsId}/locations/{locationsId}/nodes/{nodesId}", +"httpMethod": "GET", +"id": "tpu.projects.locations.nodes.get", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. The resource name.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/nodes/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v2alpha1/{+name}", +"response": { +"$ref": "Node" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"getGuestAttributes": { +"description": "Retrieves the guest attributes for the node.", +"flatPath": "v2alpha1/projects/{projectsId}/locations/{locationsId}/nodes/{nodesId}:getGuestAttributes", +"httpMethod": "POST", +"id": "tpu.projects.locations.nodes.getGuestAttributes", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. The resource name.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/nodes/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v2alpha1/{+name}:getGuestAttributes", +"request": { +"$ref": "GetGuestAttributesRequest" +}, +"response": { +"$ref": "GetGuestAttributesResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"list": { +"description": "Lists nodes.", +"flatPath": "v2alpha1/projects/{projectsId}/locations/{locationsId}/nodes", +"httpMethod": "GET", +"id": "tpu.projects.locations.nodes.list", +"parameterOrder": [ +"parent" +], +"parameters": { +"pageSize": { +"description": "The maximum number of items to return.", +"format": "int32", +"location": "query", +"type": "integer" +}, +"pageToken": { +"description": "The next_page_token value returned from a previous List request, if any.", +"location": "query", +"type": "string" +}, +"parent": { +"description": "Required. The parent resource name.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v2alpha1/{+parent}/nodes", +"response": { +"$ref": "ListNodesResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"patch": { +"description": "Updates the configurations of a node.", +"flatPath": "v2alpha1/projects/{projectsId}/locations/{locationsId}/nodes/{nodesId}", +"httpMethod": "PATCH", +"id": "tpu.projects.locations.nodes.patch", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Output only. Immutable. The name of the TPU.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/nodes/[^/]+$", +"required": true, +"type": "string" +}, +"updateMask": { +"description": "Required. Mask of fields from Node to update. Supported fields: [description, tags, labels, metadata, network_config.enable_external_ips].", +"format": "google-fieldmask", +"location": "query", +"type": "string" +} +}, +"path": "v2alpha1/{+name}", +"request": { +"$ref": "Node" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"performMaintenance": { +"description": "Perform manual maintenance on a node.", +"flatPath": "v2alpha1/projects/{projectsId}/locations/{locationsId}/nodes/{nodesId}:performMaintenance", +"httpMethod": "POST", +"id": "tpu.projects.locations.nodes.performMaintenance", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. The resource name.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/nodes/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v2alpha1/{+name}:performMaintenance", +"request": { +"$ref": "PerformMaintenanceRequest" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"simulateMaintenanceEvent": { +"description": "Simulates a maintenance event.", +"flatPath": "v2alpha1/projects/{projectsId}/locations/{locationsId}/nodes/{nodesId}:simulateMaintenanceEvent", +"httpMethod": "POST", +"id": "tpu.projects.locations.nodes.simulateMaintenanceEvent", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. The resource name.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/nodes/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v2alpha1/{+name}:simulateMaintenanceEvent", +"request": { +"$ref": "SimulateMaintenanceEventRequest" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"start": { +"description": "Starts a node.", +"flatPath": "v2alpha1/projects/{projectsId}/locations/{locationsId}/nodes/{nodesId}:start", +"httpMethod": "POST", +"id": "tpu.projects.locations.nodes.start", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. The resource name.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/nodes/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v2alpha1/{+name}:start", +"request": { +"$ref": "StartNodeRequest" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"stop": { +"description": "Stops a node. This operation is only available with single TPU nodes.", +"flatPath": "v2alpha1/projects/{projectsId}/locations/{locationsId}/nodes/{nodesId}:stop", +"httpMethod": "POST", +"id": "tpu.projects.locations.nodes.stop", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. The resource name.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/nodes/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v2alpha1/{+name}:stop", +"request": { +"$ref": "StopNodeRequest" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +} +} +}, +"operations": { +"methods": { +"cancel": { +"description": "Starts asynchronous cancellation on a long-running operation. The server makes a best effort to cancel the operation, but success is not guaranteed. If the server doesn't support this method, it returns `google.rpc.Code.UNIMPLEMENTED`. Clients can use Operations.GetOperation or other methods to check whether the cancellation succeeded or whether the operation completed despite cancellation. On successful cancellation, the operation is not deleted; instead, it becomes an operation with an Operation.error value with a google.rpc.Status.code of `1`, corresponding to `Code.CANCELLED`.", +"flatPath": "v2alpha1/projects/{projectsId}/locations/{locationsId}/operations/{operationsId}:cancel", +"httpMethod": "POST", +"id": "tpu.projects.locations.operations.cancel", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "The name of the operation resource to be cancelled.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/operations/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v2alpha1/{+name}:cancel", +"response": { +"$ref": "Empty" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"delete": { +"description": "Deletes a long-running operation. This method indicates that the client is no longer interested in the operation result. It does not cancel the operation. If the server doesn't support this method, it returns `google.rpc.Code.UNIMPLEMENTED`.", +"flatPath": "v2alpha1/projects/{projectsId}/locations/{locationsId}/operations/{operationsId}", +"httpMethod": "DELETE", +"id": "tpu.projects.locations.operations.delete", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "The name of the operation resource to be deleted.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/operations/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v2alpha1/{+name}", +"response": { +"$ref": "Empty" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"get": { +"description": "Gets the latest state of a long-running operation. Clients can use this method to poll the operation result at intervals as recommended by the API service.", +"flatPath": "v2alpha1/projects/{projectsId}/locations/{locationsId}/operations/{operationsId}", +"httpMethod": "GET", +"id": "tpu.projects.locations.operations.get", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "The name of the operation resource.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/operations/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v2alpha1/{+name}", +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"list": { +"description": "Lists operations that match the specified filter in the request. If the server doesn't support this method, it returns `UNIMPLEMENTED`.", +"flatPath": "v2alpha1/projects/{projectsId}/locations/{locationsId}/operations", +"httpMethod": "GET", +"id": "tpu.projects.locations.operations.list", +"parameterOrder": [ +"name" +], +"parameters": { +"filter": { +"description": "The standard list filter.", +"location": "query", +"type": "string" +}, +"name": { +"description": "The name of the operation's parent resource.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+$", +"required": true, +"type": "string" +}, +"pageSize": { +"description": "The standard list page size.", +"format": "int32", +"location": "query", +"type": "integer" +}, +"pageToken": { +"description": "The standard list page token.", +"location": "query", +"type": "string" +} +}, +"path": "v2alpha1/{+name}/operations", +"response": { +"$ref": "ListOperationsResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +} +} +}, +"queuedResources": { +"methods": { +"create": { +"description": "Creates a QueuedResource TPU instance.", +"flatPath": "v2alpha1/projects/{projectsId}/locations/{locationsId}/queuedResources", +"httpMethod": "POST", +"id": "tpu.projects.locations.queuedResources.create", +"parameterOrder": [ +"parent" +], +"parameters": { +"parent": { +"description": "Required. The parent resource name.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+$", +"required": true, +"type": "string" +}, +"queuedResourceId": { +"description": "The unqualified resource name. Should follow the `^[A-Za-z0-9_.~+%-]+$` regex format.", +"location": "query", +"type": "string" +}, +"requestId": { +"description": "Idempotent request UUID.", +"location": "query", +"type": "string" +} +}, +"path": "v2alpha1/{+parent}/queuedResources", +"request": { +"$ref": "QueuedResource" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"delete": { +"description": "Deletes a QueuedResource TPU instance.", +"flatPath": "v2alpha1/projects/{projectsId}/locations/{locationsId}/queuedResources/{queuedResourcesId}", +"httpMethod": "DELETE", +"id": "tpu.projects.locations.queuedResources.delete", +"parameterOrder": [ +"name" +], +"parameters": { +"force": { +"description": "If set to true, all running nodes belonging to this queued resource will be deleted first and then the queued resource will be deleted. Otherwise (i.e. force=false), the queued resource will only be deleted if its nodes have already been deleted or the queued resource is in the ACCEPTED, FAILED, or SUSPENDED state.", +"location": "query", +"type": "boolean" +}, +"name": { +"description": "Required. The resource name.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/queuedResources/[^/]+$", +"required": true, +"type": "string" +}, +"requestId": { +"description": "Idempotent request UUID.", +"location": "query", +"type": "string" +} +}, +"path": "v2alpha1/{+name}", +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"get": { +"description": "Gets details of a queued resource.", +"flatPath": "v2alpha1/projects/{projectsId}/locations/{locationsId}/queuedResources/{queuedResourcesId}", +"httpMethod": "GET", +"id": "tpu.projects.locations.queuedResources.get", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. The resource name.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/queuedResources/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v2alpha1/{+name}", +"response": { +"$ref": "QueuedResource" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"list": { +"description": "Lists queued resources.", +"flatPath": "v2alpha1/projects/{projectsId}/locations/{locationsId}/queuedResources", +"httpMethod": "GET", +"id": "tpu.projects.locations.queuedResources.list", +"parameterOrder": [ +"parent" +], +"parameters": { +"pageSize": { +"description": "The maximum number of items to return.", +"format": "int32", +"location": "query", +"type": "integer" +}, +"pageToken": { +"description": "The next_page_token value returned from a previous List request, if any.", +"location": "query", +"type": "string" +}, +"parent": { +"description": "Required. The parent resource name.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v2alpha1/{+parent}/queuedResources", +"response": { +"$ref": "ListQueuedResourcesResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"performMaintenanceQueuedResource": { +"description": "Perform manual maintenance on specific nodes of a QueuedResource.", +"flatPath": "v2alpha1/projects/{projectsId}/locations/{locationsId}/queuedResources/{queuedResourcesId}:performMaintenanceQueuedResource", +"httpMethod": "POST", +"id": "tpu.projects.locations.queuedResources.performMaintenanceQueuedResource", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. The name of the QueuedResource which holds the nodes to perform maintenance on.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/queuedResources/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v2alpha1/{+name}:performMaintenanceQueuedResource", +"request": { +"$ref": "PerformMaintenanceQueuedResourceRequest" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"reset": { +"description": "Resets a QueuedResource TPU instance", +"flatPath": "v2alpha1/projects/{projectsId}/locations/{locationsId}/queuedResources/{queuedResourcesId}:reset", +"httpMethod": "POST", +"id": "tpu.projects.locations.queuedResources.reset", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. The name of the queued resource.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/queuedResources/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v2alpha1/{+name}:reset", +"request": { +"$ref": "ResetQueuedResourceRequest" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +} +} +}, +"reservations": { +"methods": { +"list": { +"description": "Retrieves the reservations for the given project in the given location.", +"flatPath": "v2alpha1/projects/{projectsId}/locations/{locationsId}/reservations", +"httpMethod": "GET", +"id": "tpu.projects.locations.reservations.list", +"parameterOrder": [ +"parent" +], +"parameters": { +"pageSize": { +"description": "The maximum number of items to return.", +"format": "int32", +"location": "query", +"type": "integer" +}, +"pageToken": { +"description": "The next_page_token value returned from a previous List request, if any.", +"location": "query", +"type": "string" +}, +"parent": { +"description": "Required. The parent for reservations.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v2alpha1/{+parent}/reservations", +"response": { +"$ref": "ListReservationsResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +} +} +}, +"runtimeVersions": { +"methods": { +"get": { +"description": "Gets a runtime version.", +"flatPath": "v2alpha1/projects/{projectsId}/locations/{locationsId}/runtimeVersions/{runtimeVersionsId}", +"httpMethod": "GET", +"id": "tpu.projects.locations.runtimeVersions.get", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. The resource name.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/runtimeVersions/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v2alpha1/{+name}", +"response": { +"$ref": "RuntimeVersion" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"list": { +"description": "Lists runtime versions supported by this API.", +"flatPath": "v2alpha1/projects/{projectsId}/locations/{locationsId}/runtimeVersions", +"httpMethod": "GET", +"id": "tpu.projects.locations.runtimeVersions.list", +"parameterOrder": [ +"parent" +], +"parameters": { +"filter": { +"description": "List filter.", +"location": "query", +"type": "string" +}, +"orderBy": { +"description": "Sort results.", +"location": "query", +"type": "string" +}, +"pageSize": { +"description": "The maximum number of items to return.", +"format": "int32", +"location": "query", +"type": "integer" +}, +"pageToken": { +"description": "The next_page_token value returned from a previous List request, if any.", +"location": "query", +"type": "string" +}, +"parent": { +"description": "Required. The parent resource name.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v2alpha1/{+parent}/runtimeVersions", +"response": { +"$ref": "ListRuntimeVersionsResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +} +} +} +} +} +} +} +}, +"revision": "20250103", +"rootUrl": "https://tpu.googleapis.com/", +"schemas": { +"AcceleratorConfig": { +"description": "A TPU accelerator configuration.", +"id": "AcceleratorConfig", +"properties": { +"topology": { +"description": "Required. Topology of TPU in chips.", +"type": "string" +}, +"type": { +"description": "Required. Type of TPU.", +"enum": [ +"TYPE_UNSPECIFIED", +"V2", +"V3", +"V4", +"V5LITE_POD", +"V5P", +"V6E" +], +"enumDescriptions": [ +"Unspecified version.", +"TPU v2.", +"TPU v3.", +"TPU v4.", +"TPU v5lite pod.", +"TPU v5.", +"TPU v6e." +], +"type": "string" +} +}, +"type": "object" +}, +"AcceleratorType": { +"description": "A accelerator type that a Node can be configured with.", +"id": "AcceleratorType", +"properties": { +"acceleratorConfigs": { +"description": "The accelerator config.", +"items": { +"$ref": "AcceleratorConfig" +}, +"type": "array" +}, +"name": { +"description": "The resource name.", +"type": "string" +}, +"type": { +"description": "The accelerator type.", +"type": "string" +} +}, +"type": "object" +}, +"AcceptedData": { +"description": "Further data for the accepted state.", +"id": "AcceptedData", +"properties": {}, +"type": "object" +}, +"AccessConfig": { +"description": "An access config attached to the TPU worker.", +"id": "AccessConfig", +"properties": { +"externalIp": { +"description": "Output only. An external IP address associated with the TPU worker.", +"readOnly": true, +"type": "string" +} +}, +"type": "object" +}, +"ActiveData": { +"description": "Further data for the active state.", +"id": "ActiveData", +"properties": {}, +"type": "object" +}, +"AttachedDisk": { +"description": "A node-attached disk resource. Next ID: 8;", +"id": "AttachedDisk", +"properties": { +"mode": { +"description": "The mode in which to attach this disk. If not specified, the default is READ_WRITE mode. Only applicable to data_disks.", +"enum": [ +"DISK_MODE_UNSPECIFIED", +"READ_WRITE", +"READ_ONLY" +], +"enumDescriptions": [ +"The disk mode is not known/set.", +"Attaches the disk in read-write mode. Only one TPU node can attach a disk in read-write mode at a time.", +"Attaches the disk in read-only mode. Multiple TPU nodes can attach a disk in read-only mode at a time." +], +"type": "string" +}, +"sourceDisk": { +"description": "Specifies the full path to an existing disk. For example: \"projects/my-project/zones/us-central1-c/disks/my-disk\".", +"type": "string" +} +}, +"type": "object" +}, +"BestEffort": { +"description": "BestEffort tier definition.", +"id": "BestEffort", +"properties": {}, +"type": "object" +}, +"BootDiskConfig": { +"description": "Boot disk configurations.", +"id": "BootDiskConfig", +"properties": { +"customerEncryptionKey": { +"$ref": "CustomerEncryptionKey", +"description": "Optional. Customer encryption key for boot disk." +}, +"enableConfidentialCompute": { +"description": "Optional. Whether the boot disk will be created with confidential compute mode.", +"type": "boolean" +} +}, +"type": "object" +}, +"CreatingData": { +"description": "Further data for the creating state.", +"id": "CreatingData", +"properties": {}, +"type": "object" +}, +"CustomerEncryptionKey": { +"description": "Customer's encryption key.", +"id": "CustomerEncryptionKey", +"properties": { +"kmsKeyName": { +"description": "The name of the encryption key that is stored in Google Cloud KMS. For example: \"kmsKeyName\": \"projects/kms_project_id/locations/region/keyRings/ key_region/cryptoKeys/key The fully-qualifed key name may be returned for resource GET requests. For example: \"kmsKeyName\": \"projects/kms_project_id/locations/region/keyRings/ key_region/cryptoKeys/key /cryptoKeyVersions/1 ", +"type": "string" +} +}, +"type": "object" +}, +"DeletingData": { +"description": "Further data for the deleting state.", +"id": "DeletingData", +"properties": {}, +"type": "object" +}, +"Empty": { +"description": "A generic empty message that you can re-use to avoid defining duplicated empty messages in your APIs. A typical example is to use it as the request or the response type of an API method. For instance: service Foo { rpc Bar(google.protobuf.Empty) returns (google.protobuf.Empty); }", +"id": "Empty", +"properties": {}, +"type": "object" +}, +"FailedData": { +"description": "Further data for the failed state.", +"id": "FailedData", +"properties": { +"error": { +"$ref": "Status", +"description": "The error that caused the queued resource to enter the FAILED state." +} +}, +"type": "object" +}, +"GenerateServiceIdentityRequest": { +"description": "Request for GenerateServiceIdentity.", +"id": "GenerateServiceIdentityRequest", +"properties": {}, +"type": "object" +}, +"GenerateServiceIdentityResponse": { +"description": "Response for GenerateServiceIdentity.", +"id": "GenerateServiceIdentityResponse", +"properties": { +"identity": { +"$ref": "ServiceIdentity", +"description": "ServiceIdentity that was created or retrieved." +} +}, +"type": "object" +}, +"GetGuestAttributesRequest": { +"description": "Request for GetGuestAttributes.", +"id": "GetGuestAttributesRequest", +"properties": { +"queryPath": { +"description": "The guest attributes path to be queried.", +"type": "string" +}, +"workerIds": { +"description": "The 0-based worker ID. If it is empty, all workers' GuestAttributes will be returned.", +"items": { +"type": "string" +}, +"type": "array" +} +}, +"type": "object" +}, +"GetGuestAttributesResponse": { +"description": "Response for GetGuestAttributes.", +"id": "GetGuestAttributesResponse", +"properties": { +"guestAttributes": { +"description": "The guest attributes for the TPU workers.", +"items": { +"$ref": "GuestAttributes" +}, +"type": "array" +} +}, +"type": "object" +}, +"Guaranteed": { +"description": "Guaranteed tier definition.", +"id": "Guaranteed", +"properties": { +"minDuration": { +"description": "Optional. Defines the minimum duration of the guarantee. If specified, the requested resources will only be provisioned if they can be allocated for at least the given duration.", +"format": "google-duration", +"type": "string" +}, +"reserved": { +"description": "Optional. Specifies the request should be scheduled on reserved capacity.", +"type": "boolean" +} +}, +"type": "object" +}, +"GuestAttributes": { +"description": "A guest attributes.", +"id": "GuestAttributes", +"properties": { +"queryPath": { +"description": "The path to be queried. This can be the default namespace ('/') or a nested namespace ('/\\/') or a specified key ('/\\/\\')", +"type": "string" +}, +"queryValue": { +"$ref": "GuestAttributesValue", +"description": "The value of the requested queried path." +} +}, +"type": "object" +}, +"GuestAttributesEntry": { +"description": "A guest attributes namespace/key/value entry.", +"id": "GuestAttributesEntry", +"properties": { +"key": { +"description": "Key for the guest attribute entry.", +"type": "string" +}, +"namespace": { +"description": "Namespace for the guest attribute entry.", +"type": "string" +}, +"value": { +"description": "Value for the guest attribute entry.", +"type": "string" +} +}, +"type": "object" +}, +"GuestAttributesValue": { +"description": "Array of guest attribute namespace/key/value tuples.", +"id": "GuestAttributesValue", +"properties": { +"items": { +"description": "The list of guest attributes entries.", +"items": { +"$ref": "GuestAttributesEntry" +}, +"type": "array" +} +}, +"type": "object" +}, +"Interval": { +"description": "Represents a time interval, encoded as a Timestamp start (inclusive) and a Timestamp end (exclusive). The start must be less than or equal to the end. When the start equals the end, the interval is empty (matches no time). When both start and end are unspecified, the interval matches any time.", +"id": "Interval", +"properties": { +"endTime": { +"description": "Optional. Exclusive end of the interval. If specified, a Timestamp matching this interval will have to be before the end.", +"format": "google-datetime", +"type": "string" +}, +"startTime": { +"description": "Optional. Inclusive start of the interval. If specified, a Timestamp matching this interval will have to be the same or after the start.", +"format": "google-datetime", +"type": "string" +} +}, +"type": "object" +}, +"ListAcceleratorTypesResponse": { +"description": "Response for ListAcceleratorTypes.", +"id": "ListAcceleratorTypesResponse", +"properties": { +"acceleratorTypes": { +"description": "The listed nodes.", +"items": { +"$ref": "AcceleratorType" +}, +"type": "array" +}, +"nextPageToken": { +"description": "The next page token or empty if none.", +"type": "string" +}, +"unreachable": { +"description": "Locations that could not be reached.", +"items": { +"type": "string" +}, +"type": "array" +} +}, +"type": "object" +}, +"ListLocationsResponse": { +"description": "The response message for Locations.ListLocations.", +"id": "ListLocationsResponse", +"properties": { +"locations": { +"description": "A list of locations that matches the specified filter in the request.", +"items": { +"$ref": "Location" +}, +"type": "array" +}, +"nextPageToken": { +"description": "The standard List next-page token.", +"type": "string" +} +}, +"type": "object" +}, +"ListNodesResponse": { +"description": "Response for ListNodes.", +"id": "ListNodesResponse", +"properties": { +"nextPageToken": { +"description": "The next page token or empty if none.", +"type": "string" +}, +"nodes": { +"description": "The listed nodes.", +"items": { +"$ref": "Node" +}, +"type": "array" +}, +"unreachable": { +"description": "Locations that could not be reached.", +"items": { +"type": "string" +}, +"type": "array" +} +}, +"type": "object" +}, +"ListOperationsResponse": { +"description": "The response message for Operations.ListOperations.", +"id": "ListOperationsResponse", +"properties": { +"nextPageToken": { +"description": "The standard List next-page token.", +"type": "string" +}, +"operations": { +"description": "A list of operations that matches the specified filter in the request.", +"items": { +"$ref": "Operation" +}, +"type": "array" +} +}, +"type": "object" +}, +"ListQueuedResourcesResponse": { +"description": "Response for ListQueuedResources.", +"id": "ListQueuedResourcesResponse", +"properties": { +"nextPageToken": { +"description": "The next page token or empty if none.", +"type": "string" +}, +"queuedResources": { +"description": "The listed queued resources.", +"items": { +"$ref": "QueuedResource" +}, +"type": "array" +}, +"unreachable": { +"description": "Locations that could not be reached.", +"items": { +"type": "string" +}, +"type": "array" +} +}, +"type": "object" +}, +"ListReservationsResponse": { +"description": "Response for ListReservations.", +"id": "ListReservationsResponse", +"properties": { +"nextPageToken": { +"description": "The next page token or empty if none.", +"type": "string" +}, +"reservations": { +"description": "The listed reservations.", +"items": { +"$ref": "Reservation" +}, +"type": "array" +} +}, +"type": "object" +}, +"ListRuntimeVersionsResponse": { +"description": "Response for ListRuntimeVersions.", +"id": "ListRuntimeVersionsResponse", +"properties": { +"nextPageToken": { +"description": "The next page token or empty if none.", +"type": "string" +}, +"runtimeVersions": { +"description": "The listed nodes.", +"items": { +"$ref": "RuntimeVersion" +}, +"type": "array" +}, +"unreachable": { +"description": "Locations that could not be reached.", +"items": { +"type": "string" +}, +"type": "array" +} +}, +"type": "object" +}, +"Location": { +"description": "A resource that represents a Google Cloud location.", +"id": "Location", +"properties": { +"displayName": { +"description": "The friendly name for this location, typically a nearby city name. For example, \"Tokyo\".", +"type": "string" +}, +"labels": { +"additionalProperties": { +"type": "string" +}, +"description": "Cross-service attributes for the location. For example {\"cloud.googleapis.com/region\": \"us-east1\"}", +"type": "object" +}, +"locationId": { +"description": "The canonical id for this location. For example: `\"us-east1\"`.", +"type": "string" +}, +"metadata": { +"additionalProperties": { +"description": "Properties of the object. Contains field @type with type URL.", +"type": "any" +}, +"description": "Service-specific metadata. For example the available capacity at the given location.", +"type": "object" +}, +"name": { +"description": "Resource name for the location, which may vary between implementations. For example: `\"projects/example-project/locations/us-east1\"`", +"type": "string" +} +}, +"type": "object" +}, +"MultiNodeParams": { +"description": "Parameters to specify for multi-node QueuedResource requests. This field must be populated in case of multi-node requests instead of node_id. It's an error to specify both node_id and multi_node_params.", +"id": "MultiNodeParams", +"properties": { +"nodeCount": { +"description": "Required. Number of nodes with this spec. The system will attempt to provison \"node_count\" nodes as part of the request. This needs to be > 1.", +"format": "int32", +"type": "integer" +}, +"nodeIdPrefix": { +"description": "Prefix of node_ids in case of multi-node request Should follow the `^[A-Za-z0-9_.~+%-]+$` regex format. If node_count = 3 and node_id_prefix = \"np\", node ids of nodes created will be \"np-0\", \"np-1\", \"np-2\". If this field is not provided we use queued_resource_id as the node_id_prefix.", +"type": "string" +}, +"workloadType": { +"description": "Optional. The workload type for the multi-node request.", +"enum": [ +"WORKLOAD_TYPE_UNSPECIFIED", +"THROUGHPUT_OPTIMIZED", +"AVAILABILITY_OPTIMIZED" +], +"enumDescriptions": [ +"Not specified.", +"All of the nodes are available most of the time. Recommended for training workloads.", +"Most of the nodes are available all of the time. Recommended for serving workloads." +], +"type": "string" +} +}, +"type": "object" +}, +"NetworkConfig": { +"description": "Network related configurations.", +"id": "NetworkConfig", +"properties": { +"canIpForward": { +"description": "Allows the TPU node to send and receive packets with non-matching destination or source IPs. This is required if you plan to use the TPU workers to forward routes.", +"type": "boolean" +}, +"enableExternalIps": { +"description": "Indicates that external IP addresses would be associated with the TPU workers. If set to false, the specified subnetwork or network should have Private Google Access enabled.", +"type": "boolean" +}, +"network": { +"description": "The name of the network for the TPU node. It must be a preexisting Google Compute Engine network. If none is provided, \"default\" will be used.", +"type": "string" +}, +"queueCount": { +"description": "Optional. Specifies networking queue count for TPU VM instance's network interface.", +"format": "int32", +"type": "integer" +}, +"subnetwork": { +"description": "The name of the subnetwork for the TPU node. It must be a preexisting Google Compute Engine subnetwork. If none is provided, \"default\" will be used.", +"type": "string" +} +}, +"type": "object" +}, +"NetworkEndpoint": { +"description": "A network endpoint over which a TPU worker can be reached.", +"id": "NetworkEndpoint", +"properties": { +"accessConfig": { +"$ref": "AccessConfig", +"description": "The access config for the TPU worker." +}, +"ipAddress": { +"description": "The internal IP address of this network endpoint.", +"type": "string" +}, +"port": { +"description": "The port of this network endpoint.", +"format": "int32", +"type": "integer" +} +}, +"type": "object" +}, +"Node": { +"description": "A TPU instance.", +"id": "Node", +"properties": { +"acceleratorConfig": { +"$ref": "AcceleratorConfig", +"description": "The AccleratorConfig for the TPU Node." +}, +"acceleratorType": { +"description": "The type of hardware accelerators associated with this node.", +"type": "string" +}, +"apiVersion": { +"description": "Output only. The API version that created this Node.", +"enum": [ +"API_VERSION_UNSPECIFIED", +"V1_ALPHA1", +"V1", +"V2_ALPHA1" +], +"enumDescriptions": [ +"API version is unknown.", +"TPU API V1Alpha1 version.", +"TPU API V1 version.", +"TPU API V2Alpha1 version." +], +"readOnly": true, +"type": "string" +}, +"autocheckpointEnabled": { +"description": "Optional. Whether Autocheckpoint is enabled.", +"type": "boolean" +}, +"bootDiskConfig": { +"$ref": "BootDiskConfig", +"description": "Optional. Boot disk configuration." +}, +"cidrBlock": { +"description": "The CIDR block that the TPU node will use when selecting an IP address. This CIDR block must be a /29 block; the Compute Engine networks API forbids a smaller block, and using a larger block would be wasteful (a node can only consume one IP address). Errors will occur if the CIDR block has already been used for a currently existing TPU node, the CIDR block conflicts with any subnetworks in the user's provided network, or the provided network is peered with another network that is using that CIDR block.", +"type": "string" +}, +"createTime": { +"description": "Output only. The time when the node was created.", +"format": "google-datetime", +"readOnly": true, +"type": "string" +}, +"dataDisks": { +"description": "The additional data disks for the Node.", +"items": { +"$ref": "AttachedDisk" +}, +"type": "array" +}, +"description": { +"description": "The user-supplied description of the TPU. Maximum of 512 characters.", +"type": "string" +}, +"health": { +"description": "The health status of the TPU node.", +"enum": [ +"HEALTH_UNSPECIFIED", +"HEALTHY", +"TIMEOUT", +"UNHEALTHY_TENSORFLOW", +"UNHEALTHY_MAINTENANCE" +], +"enumDescriptions": [ +"Health status is unknown: not initialized or failed to retrieve.", +"The resource is healthy.", +"The resource is unresponsive.", +"The in-guest ML stack is unhealthy.", +"The node is under maintenance/priority boost caused rescheduling and will resume running once rescheduled." +], +"type": "string" +}, +"healthDescription": { +"description": "Output only. If this field is populated, it contains a description of why the TPU Node is unhealthy.", +"readOnly": true, +"type": "string" +}, +"id": { +"description": "Output only. The unique identifier for the TPU Node.", +"format": "int64", +"readOnly": true, +"type": "string" +}, +"labels": { +"additionalProperties": { +"type": "string" +}, +"description": "Resource labels to represent user-provided metadata.", +"type": "object" +}, +"metadata": { +"additionalProperties": { +"type": "string" +}, +"description": "Custom metadata to apply to the TPU Node. Can set startup-script and shutdown-script", +"type": "object" +}, +"multisliceNode": { +"description": "Output only. Whether the Node belongs to a Multislice group.", +"readOnly": true, +"type": "boolean" +}, +"name": { +"description": "Output only. Immutable. The name of the TPU.", +"readOnly": true, +"type": "string" +}, +"networkConfig": { +"$ref": "NetworkConfig", +"description": "Network configurations for the TPU node. network_config and network_configs are mutually exclusive, you can only specify one of them. If both are specified, an error will be returned." +}, +"networkConfigs": { +"description": "Optional. Repeated network configurations for the TPU node. This field is used to specify multiple networks configs for the TPU node. network_config and network_configs are mutually exclusive, you can only specify one of them. If both are specified, an error will be returned.", +"items": { +"$ref": "NetworkConfig" +}, +"type": "array" +}, +"networkEndpoints": { +"description": "Output only. The network endpoints where TPU workers can be accessed and sent work. It is recommended that runtime clients of the node reach out to the 0th entry in this map first.", +"items": { +"$ref": "NetworkEndpoint" +}, +"readOnly": true, +"type": "array" +}, +"queuedResource": { +"description": "Output only. The qualified name of the QueuedResource that requested this Node.", +"readOnly": true, +"type": "string" +}, +"runtimeVersion": { +"description": "Required. The runtime version running in the Node.", +"type": "string" +}, +"schedulingConfig": { +"$ref": "SchedulingConfig", +"description": "The scheduling options for this node." +}, +"serviceAccount": { +"$ref": "ServiceAccount", +"description": "The Google Cloud Platform Service Account to be used by the TPU node VMs. If None is specified, the default compute service account will be used." +}, +"shieldedInstanceConfig": { +"$ref": "ShieldedInstanceConfig", +"description": "Shielded Instance options." +}, +"state": { +"description": "Output only. The current state for the TPU Node.", +"enum": [ +"STATE_UNSPECIFIED", +"CREATING", +"READY", +"RESTARTING", +"REIMAGING", +"DELETING", +"REPAIRING", +"STOPPED", +"STOPPING", +"STARTING", +"PREEMPTED", +"TERMINATED", +"HIDING", +"HIDDEN", +"UNHIDING", +"UNKNOWN" +], +"enumDescriptions": [ +"TPU node state is not known/set.", +"TPU node is being created.", +"TPU node has been created.", +"TPU node is restarting.", +"TPU node is undergoing reimaging.", +"TPU node is being deleted.", +"TPU node is being repaired and may be unusable. Details can be found in the 'help_description' field.", +"TPU node is stopped.", +"TPU node is currently stopping.", +"TPU node is currently starting.", +"TPU node has been preempted. Only applies to Preemptible TPU Nodes.", +"TPU node has been terminated due to maintenance or has reached the end of its life cycle (for preemptible nodes).", +"TPU node is currently hiding.", +"TPU node has been hidden.", +"TPU node is currently unhiding.", +"TPU node has unknown state after a failed repair." +], +"readOnly": true, +"type": "string" +}, +"symptoms": { +"description": "Output only. The Symptoms that have occurred to the TPU Node.", +"items": { +"$ref": "Symptom" +}, +"readOnly": true, +"type": "array" +}, +"tags": { +"description": "Tags to apply to the TPU Node. Tags are used to identify valid sources or targets for network firewalls.", +"items": { +"type": "string" +}, +"type": "array" +}, +"upcomingMaintenance": { +"$ref": "UpcomingMaintenance", +"description": "Output only. Upcoming maintenance on this TPU node.", +"readOnly": true +} +}, +"type": "object" +}, +"NodeSpec": { +"description": "Details of the TPU node(s) being requested. Users can request either a single node or multiple nodes. NodeSpec provides the specification for node(s) to be created.", +"id": "NodeSpec", +"properties": { +"multiNodeParams": { +"$ref": "MultiNodeParams", +"description": "Optional. Fields to specify in case of multi-node request." +}, +"node": { +"$ref": "Node", +"description": "Required. The node." +}, +"nodeId": { +"description": "The unqualified resource name. Should follow the `^[A-Za-z0-9_.~+%-]+$` regex format. This is only specified when requesting a single node. In case of multi-node requests, multi_node_params must be populated instead. It's an error to specify both node_id and multi_node_params.", +"type": "string" +}, +"parent": { +"description": "Required. The parent resource name.", +"type": "string" +} +}, +"type": "object" +}, +"Operation": { +"description": "This resource represents a long-running operation that is the result of a network API call.", +"id": "Operation", +"properties": { +"done": { +"description": "If the value is `false`, it means the operation is still in progress. If `true`, the operation is completed, and either `error` or `response` is available.", +"type": "boolean" +}, +"error": { +"$ref": "Status", +"description": "The error result of the operation in case of failure or cancellation." +}, +"metadata": { +"additionalProperties": { +"description": "Properties of the object. Contains field @type with type URL.", +"type": "any" +}, +"description": "Service-specific metadata associated with the operation. It typically contains progress information and common metadata such as create time. Some services might not provide such metadata. Any method that returns a long-running operation should document the metadata type, if any.", +"type": "object" +}, +"name": { +"description": "The server-assigned name, which is only unique within the same service that originally returns it. If you use the default HTTP mapping, the `name` should be a resource name ending with `operations/{unique_id}`.", +"type": "string" +}, +"response": { +"additionalProperties": { +"description": "Properties of the object. Contains field @type with type URL.", +"type": "any" +}, +"description": "The normal, successful response of the operation. If the original method returns no data on success, such as `Delete`, the response is `google.protobuf.Empty`. If the original method is standard `Get`/`Create`/`Update`, the response should be the resource. For other methods, the response should have the type `XxxResponse`, where `Xxx` is the original method name. For example, if the original method name is `TakeSnapshot()`, the inferred response type is `TakeSnapshotResponse`.", +"type": "object" +} +}, +"type": "object" +}, +"OperationMetadata": { +"description": "Metadata describing an Operation", +"id": "OperationMetadata", +"properties": { +"apiVersion": { +"description": "API version.", +"type": "string" +}, +"cancelRequested": { +"description": "Specifies if cancellation was requested for the operation.", +"type": "boolean" +}, +"createTime": { +"description": "The time the operation was created.", +"format": "google-datetime", +"type": "string" +}, +"endTime": { +"description": "The time the operation finished running.", +"format": "google-datetime", +"type": "string" +}, +"statusDetail": { +"description": "Human-readable status of the operation, if any.", +"type": "string" +}, +"target": { +"description": "Target of the operation - for example projects/project-1/connectivityTests/test-1", +"type": "string" +}, +"verb": { +"description": "Name of the verb executed by the operation.", +"type": "string" +} +}, +"type": "object" +}, +"PerformMaintenanceQueuedResourceRequest": { +"description": "Request for PerformMaintenanceQueuedResource.", +"id": "PerformMaintenanceQueuedResourceRequest", +"properties": { +"nodeNames": { +"description": "The names of the nodes to perform maintenance on.", +"items": { +"type": "string" +}, +"type": "array" +} +}, +"type": "object" +}, +"PerformMaintenanceRequest": { +"description": "Request for PerformMaintenance.", +"id": "PerformMaintenanceRequest", +"properties": {}, +"type": "object" +}, +"ProvisioningData": { +"description": "Further data for the provisioning state.", +"id": "ProvisioningData", +"properties": {}, +"type": "object" +}, +"QueuedResource": { +"description": "A QueuedResource represents a request for resources that will be placed in a queue and fulfilled when the necessary resources are available.", +"id": "QueuedResource", +"properties": { +"bestEffort": { +"$ref": "BestEffort", +"description": "The BestEffort tier." +}, +"createTime": { +"description": "Output only. The time when the QueuedResource was created.", +"format": "google-datetime", +"readOnly": true, +"type": "string" +}, +"guaranteed": { +"$ref": "Guaranteed", +"description": "The Guaranteed tier." +}, +"name": { +"description": "Output only. Immutable. The name of the QueuedResource.", +"readOnly": true, +"type": "string" +}, +"queueingPolicy": { +"$ref": "QueueingPolicy", +"description": "The queueing policy of the QueuedRequest." +}, +"reservationName": { +"description": "Name of the reservation in which the resource should be provisioned. Format: projects/{project}/locations/{zone}/reservations/{reservation}", +"type": "string" +}, +"spot": { +"$ref": "Spot", +"description": "Optional. The Spot tier." +}, +"state": { +"$ref": "QueuedResourceState", +"description": "Output only. State of the QueuedResource request.", +"readOnly": true +}, +"tpu": { +"$ref": "Tpu", +"description": "Defines a TPU resource." +} +}, +"type": "object" +}, +"QueuedResourceState": { +"description": "QueuedResourceState defines the details of the QueuedResource request.", +"id": "QueuedResourceState", +"properties": { +"acceptedData": { +"$ref": "AcceptedData", +"description": "Further data for the accepted state." +}, +"activeData": { +"$ref": "ActiveData", +"description": "Further data for the active state." +}, +"creatingData": { +"$ref": "CreatingData", +"description": "Further data for the creating state." +}, +"deletingData": { +"$ref": "DeletingData", +"description": "Further data for the deleting state." +}, +"failedData": { +"$ref": "FailedData", +"description": "Further data for the failed state." +}, +"provisioningData": { +"$ref": "ProvisioningData", +"description": "Further data for the provisioning state." +}, +"state": { +"description": "State of the QueuedResource request.", +"enum": [ +"STATE_UNSPECIFIED", +"CREATING", +"ACCEPTED", +"PROVISIONING", +"FAILED", +"DELETING", +"ACTIVE", +"SUSPENDING", +"SUSPENDED", +"WAITING_FOR_RESOURCES" +], +"enumDescriptions": [ +"State of the QueuedResource request is not known/set.", +"The QueuedResource request has been received. We're still working on determining if we will be able to honor this request.", +"The QueuedResource request has passed initial validation/admission control and has been persisted in the queue.", +"The QueuedResource request has been selected. The associated resources are currently being provisioned (or very soon will begin provisioning).", +"The request could not be completed. This may be due to some late-discovered problem with the request itself, or due to unavailability of resources within the constraints of the request (e.g., the 'valid until' start timing constraint expired).", +"The QueuedResource is being deleted.", +"The resources specified in the QueuedResource request have been provisioned and are ready for use by the end-user/consumer.", +"The resources specified in the QueuedResource request are being deleted. This may have been initiated by the user, or the Cloud TPU service. Inspect the state data for more details.", +"The resources specified in the QueuedResource request have been deleted.", +"The QueuedResource request has passed initial validation and has been persisted in the queue. It will remain in this state until there are sufficient free resources to begin provisioning your request. Wait times will vary significantly depending on demand levels. When demand is high, not all requests can be immediately provisioned. If you need more reliable obtainability of TPUs consider purchasing a reservation. To put a limit on how long you are willing to wait, use [timing constraints](https://cloud.google.com/tpu/docs/queued-resources#request_a_queued_resource_before_a_specified_time)." +], +"type": "string" +}, +"stateInitiator": { +"description": "Output only. The initiator of the QueuedResources's current state. Used to indicate whether the SUSPENDING/SUSPENDED state was initiated by the user or the service.", +"enum": [ +"STATE_INITIATOR_UNSPECIFIED", +"USER", +"SERVICE" +], +"enumDescriptions": [ +"The state initiator is unspecified.", +"The current QueuedResource state was initiated by the user.", +"The current QueuedResource state was initiated by the service." +], +"readOnly": true, +"type": "string" +}, +"suspendedData": { +"$ref": "SuspendedData", +"description": "Further data for the suspended state." +}, +"suspendingData": { +"$ref": "SuspendingData", +"description": "Further data for the suspending state." +} +}, +"type": "object" +}, +"QueueingPolicy": { +"description": "Defines the policy of the QueuedRequest.", +"id": "QueueingPolicy", +"properties": { +"validAfterDuration": { +"description": "A relative time after which resources may be created.", +"format": "google-duration", +"type": "string" +}, +"validAfterTime": { +"description": "An absolute time at which resources may be created.", +"format": "google-datetime", +"type": "string" +}, +"validInterval": { +"$ref": "Interval", +"description": "An absolute time interval within which resources may be created." +}, +"validUntilDuration": { +"description": "A relative time after which resources should not be created. If the request cannot be fulfilled by this time the request will be failed.", +"format": "google-duration", +"type": "string" +}, +"validUntilTime": { +"description": "An absolute time after which resources should not be created. If the request cannot be fulfilled by this time the request will be failed.", +"format": "google-datetime", +"type": "string" +} +}, +"type": "object" +}, +"Reservation": { +"description": "A reservation describes the amount of a resource 'allotted' for a defined period of time.", +"id": "Reservation", +"properties": { +"name": { +"description": "The reservation name with the format: projects/{projectID}/locations/{location}/reservations/{reservationID}", +"type": "string" +}, +"standard": { +"$ref": "Standard" +}, +"state": { +"description": "Output only. The state of the Reservation.", +"enum": [ +"STATE_UNSPECIFIED", +"APPROVED", +"PROVISIONING", +"ACTIVE", +"DEPROVISIONING", +"EXPIRED", +"FAILED" +], +"enumDescriptions": [ +"The Reservation state is unspecified.", +"The Reservation has been approved.", +"The Reservation is being provisioned.", +"The Reservation is active.", +"The Reservation is being deprovisioned.", +"The Reservation is past its end date.", +"The Reservation encountered a failure during mutation." +], +"readOnly": true, +"type": "string" +} +}, +"type": "object" +}, +"ResetQueuedResourceRequest": { +"description": "Request for ResetQueuedResource.", +"id": "ResetQueuedResourceRequest", +"properties": {}, +"type": "object" +}, +"RuntimeVersion": { +"description": "A runtime version that a Node can be configured with.", +"id": "RuntimeVersion", +"properties": { +"name": { +"description": "The resource name.", +"type": "string" +}, +"version": { +"description": "The runtime version.", +"type": "string" +} +}, +"type": "object" +}, +"SchedulingConfig": { +"description": "Sets the scheduling options for this node.", +"id": "SchedulingConfig", +"properties": { +"preemptible": { +"description": "Defines whether the node is preemptible.", +"type": "boolean" +}, +"reserved": { +"description": "Whether the node is created under a reservation.", +"type": "boolean" +}, +"spot": { +"description": "Optional. Defines whether the node is Spot VM.", +"type": "boolean" +} +}, +"type": "object" +}, +"ServiceAccount": { +"description": "A service account.", +"id": "ServiceAccount", +"properties": { +"email": { +"description": "Email address of the service account. If empty, default Compute service account will be used.", +"type": "string" +}, +"scope": { +"description": "The list of scopes to be made available for this service account. If empty, access to all Cloud APIs will be allowed.", +"items": { +"type": "string" +}, +"type": "array" +} +}, +"type": "object" +}, +"ServiceIdentity": { +"description": "The per-product per-project service identity for Cloud TPU service.", +"id": "ServiceIdentity", +"properties": { +"email": { +"description": "The email address of the service identity.", +"type": "string" +} +}, +"type": "object" +}, +"ShieldedInstanceConfig": { +"description": "A set of Shielded Instance options.", +"id": "ShieldedInstanceConfig", +"properties": { +"enableSecureBoot": { +"description": "Defines whether the instance has Secure Boot enabled.", +"type": "boolean" +} +}, +"type": "object" +}, +"SimulateMaintenanceEventRequest": { +"description": "Request for SimulateMaintenanceEvent.", +"id": "SimulateMaintenanceEventRequest", +"properties": { +"workerIds": { +"description": "The 0-based worker ID. If it is empty, worker ID 0 will be selected for maintenance event simulation. A maintenance event will only be fired on the first specified worker ID. Future implementations may support firing on multiple workers.", +"items": { +"type": "string" +}, +"type": "array" +} +}, +"type": "object" +}, +"Spot": { +"description": "Spot tier definition.", +"id": "Spot", +"properties": {}, +"type": "object" +}, +"Standard": { +"id": "Standard", +"properties": { +"capacityUnits": { +"enum": [ +"CAPACITY_UNITS_UNSPECIFIED", +"CORES", +"CHIPS" +], +"enumDescriptions": [ +"The capacity units is not known/set.", +"The capacity unit is set to CORES.", +"The capacity unit is set to CHIPS." +], +"type": "string" +}, +"interval": { +"$ref": "Interval", +"description": "The start and end time of the reservation." +}, +"resourceType": { +"description": "The resource type of the reservation.", +"type": "string" +}, +"size": { +"description": "The size of the reservation, in the units specified in the 'capacity_units' field.", +"format": "int32", +"type": "integer" +}, +"usage": { +"$ref": "Usage" +} +}, +"type": "object" +}, +"StartNodeRequest": { +"description": "Request for StartNode.", +"id": "StartNodeRequest", +"properties": {}, +"type": "object" +}, +"Status": { +"description": "The `Status` type defines a logical error model that is suitable for different programming environments, including REST APIs and RPC APIs. It is used by [gRPC](https://github.com/grpc). Each `Status` message contains three pieces of data: error code, error message, and error details. You can find out more about this error model and how to work with it in the [API Design Guide](https://cloud.google.com/apis/design/errors).", +"id": "Status", +"properties": { +"code": { +"description": "The status code, which should be an enum value of google.rpc.Code.", +"format": "int32", +"type": "integer" +}, +"details": { +"description": "A list of messages that carry the error details. There is a common set of message types for APIs to use.", +"items": { +"additionalProperties": { +"description": "Properties of the object. Contains field @type with type URL.", +"type": "any" +}, +"type": "object" +}, +"type": "array" +}, +"message": { +"description": "A developer-facing error message, which should be in English. Any user-facing error message should be localized and sent in the google.rpc.Status.details field, or localized by the client.", +"type": "string" +} +}, +"type": "object" +}, +"StopNodeRequest": { +"description": "Request for StopNode.", +"id": "StopNodeRequest", +"properties": {}, +"type": "object" +}, +"SuspendedData": { +"description": "Further data for the suspended state.", +"id": "SuspendedData", +"properties": {}, +"type": "object" +}, +"SuspendingData": { +"description": "Further data for the suspending state.", +"id": "SuspendingData", +"properties": {}, +"type": "object" +}, +"Symptom": { +"description": "A Symptom instance.", +"id": "Symptom", +"properties": { +"createTime": { +"description": "Timestamp when the Symptom is created.", +"format": "google-datetime", +"type": "string" +}, +"details": { +"description": "Detailed information of the current Symptom.", +"type": "string" +}, +"symptomType": { +"description": "Type of the Symptom.", +"enum": [ +"SYMPTOM_TYPE_UNSPECIFIED", +"LOW_MEMORY", +"OUT_OF_MEMORY", +"EXECUTE_TIMED_OUT", +"MESH_BUILD_FAIL", +"HBM_OUT_OF_MEMORY", +"PROJECT_ABUSE" +], +"enumDescriptions": [ +"Unspecified symptom.", +"TPU VM memory is low.", +"TPU runtime is out of memory.", +"TPU runtime execution has timed out.", +"TPU runtime fails to construct a mesh that recognizes each TPU device's neighbors.", +"TPU HBM is out of memory.", +"Abusive behaviors have been identified on the current project." +], +"type": "string" +}, +"workerId": { +"description": "A string used to uniquely distinguish a worker within a TPU node.", +"type": "string" +} +}, +"type": "object" +}, +"Tpu": { +"description": "Details of the TPU resource(s) being requested.", +"id": "Tpu", +"properties": { +"nodeSpec": { +"description": "The TPU node(s) being requested.", +"items": { +"$ref": "NodeSpec" +}, +"type": "array" +} +}, +"type": "object" +}, +"UpcomingMaintenance": { +"description": "Upcoming Maintenance notification information.", +"id": "UpcomingMaintenance", +"properties": { +"canReschedule": { +"description": "Indicates if the maintenance can be customer triggered.", +"type": "boolean" +}, +"latestWindowStartTime": { +"description": "The latest time for the planned maintenance window to start. This timestamp value is in RFC3339 text format.", +"type": "string" +}, +"maintenanceStatus": { +"description": "The status of the maintenance.", +"enum": [ +"UNKNOWN", +"PENDING", +"ONGOING" +], +"enumDescriptions": [ +"Unknown maintenance status. Do not use this value.", +"There is pending maintenance.", +"There is ongoing maintenance on this VM." +], +"type": "string" +}, +"type": { +"description": "Defines the type of maintenance.", +"enum": [ +"UNKNOWN_TYPE", +"SCHEDULED", +"UNSCHEDULED" +], +"enumDescriptions": [ +"No type specified. Do not use this value.", +"Scheduled maintenance (e.g. maintenance after uptime guarantee is complete).", +"Unscheduled maintenance (e.g. emergency maintenance during uptime guarantee)." +], +"type": "string" +}, +"windowEndTime": { +"description": "The time by which the maintenance disruption will be completed. This timestamp value is in RFC3339 text format.", +"type": "string" +}, +"windowStartTime": { +"description": "The current start time of the maintenance window. This timestamp value is in RFC3339 text format.", +"type": "string" +} +}, +"type": "object" +}, +"Usage": { +"id": "Usage", +"properties": { +"total": { +"description": "The real-time value of usage within the reservation, with the unit specified in field capacity_units.", +"format": "int64", +"type": "string" +} +}, +"type": "object" +} +}, +"servicePath": "", +"title": "Cloud TPU API", +"version": "v2alpha1", +"version_module": true +} \ No newline at end of file diff --git a/.venv/lib/python3.11/site-packages/googleapiclient/discovery_cache/documents/videointelligence.v1beta2.json b/.venv/lib/python3.11/site-packages/googleapiclient/discovery_cache/documents/videointelligence.v1beta2.json new file mode 100644 index 0000000000000000000000000000000000000000..4e337fa03b7c7ea04d00c521b67edfd18da56940 --- /dev/null +++ b/.venv/lib/python3.11/site-packages/googleapiclient/discovery_cache/documents/videointelligence.v1beta2.json @@ -0,0 +1,4775 @@ +{ +"auth": { +"oauth2": { +"scopes": { +"https://www.googleapis.com/auth/cloud-platform": { +"description": "See, edit, configure, and delete your Google Cloud data and see the email address for your Google Account." +} +} +} +}, +"basePath": "", +"baseUrl": "https://videointelligence.googleapis.com/", +"batchPath": "batch", +"canonicalName": "Cloud Video Intelligence", +"description": "Detects objects, explicit content, and scene changes in videos. It also specifies the region for annotation and transcribes speech to text. Supports both asynchronous API and streaming API.", +"discoveryVersion": "v1", +"documentationLink": "https://cloud.google.com/video-intelligence/docs/", +"fullyEncodeReservedExpansion": true, +"icons": { +"x16": "http://www.google.com/images/icons/product/search-16.gif", +"x32": "http://www.google.com/images/icons/product/search-32.gif" +}, +"id": "videointelligence:v1beta2", +"kind": "discovery#restDescription", +"mtlsRootUrl": "https://videointelligence.mtls.googleapis.com/", +"name": "videointelligence", +"ownerDomain": "google.com", +"ownerName": "Google", +"parameters": { +"$.xgafv": { +"description": "V1 error format.", +"enum": [ +"1", +"2" +], +"enumDescriptions": [ +"v1 error format", +"v2 error format" +], +"location": "query", +"type": "string" +}, +"access_token": { +"description": "OAuth access token.", +"location": "query", +"type": "string" +}, +"alt": { +"default": "json", +"description": "Data format for response.", +"enum": [ +"json", +"media", +"proto" +], +"enumDescriptions": [ +"Responses with Content-Type of application/json", +"Media download with context-dependent Content-Type", +"Responses with Content-Type of application/x-protobuf" +], +"location": "query", +"type": "string" +}, +"callback": { +"description": "JSONP", +"location": "query", +"type": "string" +}, +"fields": { +"description": "Selector specifying which fields to include in a partial response.", +"location": "query", +"type": "string" +}, +"key": { +"description": "API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token.", +"location": "query", +"type": "string" +}, +"oauth_token": { +"description": "OAuth 2.0 token for the current user.", +"location": "query", +"type": "string" +}, +"prettyPrint": { +"default": "true", +"description": "Returns response with indentations and line breaks.", +"location": "query", +"type": "boolean" +}, +"quotaUser": { +"description": "Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters.", +"location": "query", +"type": "string" +}, +"uploadType": { +"description": "Legacy upload protocol for media (e.g. \"media\", \"multipart\").", +"location": "query", +"type": "string" +}, +"upload_protocol": { +"description": "Upload protocol for media (e.g. \"raw\", \"multipart\").", +"location": "query", +"type": "string" +} +}, +"protocol": "rest", +"resources": { +"videos": { +"methods": { +"annotate": { +"description": "Performs asynchronous video annotation. Progress and results can be retrieved through the `google.longrunning.Operations` interface. `Operation.metadata` contains `AnnotateVideoProgress` (progress). `Operation.response` contains `AnnotateVideoResponse` (results).", +"flatPath": "v1beta2/videos:annotate", +"httpMethod": "POST", +"id": "videointelligence.videos.annotate", +"parameterOrder": [], +"parameters": {}, +"path": "v1beta2/videos:annotate", +"request": { +"$ref": "GoogleCloudVideointelligenceV1beta2_AnnotateVideoRequest" +}, +"response": { +"$ref": "GoogleLongrunning_Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +} +} +} +}, +"revision": "20240704", +"rootUrl": "https://videointelligence.googleapis.com/", +"schemas": { +"GoogleCloudVideointelligenceV1_AnnotateVideoProgress": { +"description": "Video annotation progress. Included in the `metadata` field of the `Operation` returned by the `GetOperation` call of the `google::longrunning::Operations` service.", +"id": "GoogleCloudVideointelligenceV1_AnnotateVideoProgress", +"properties": { +"annotationProgress": { +"description": "Progress metadata for all videos specified in `AnnotateVideoRequest`.", +"items": { +"$ref": "GoogleCloudVideointelligenceV1_VideoAnnotationProgress" +}, +"type": "array" +} +}, +"type": "object" +}, +"GoogleCloudVideointelligenceV1_AnnotateVideoResponse": { +"description": "Video annotation response. Included in the `response` field of the `Operation` returned by the `GetOperation` call of the `google::longrunning::Operations` service.", +"id": "GoogleCloudVideointelligenceV1_AnnotateVideoResponse", +"properties": { +"annotationResults": { +"description": "Annotation results for all videos specified in `AnnotateVideoRequest`.", +"items": { +"$ref": "GoogleCloudVideointelligenceV1_VideoAnnotationResults" +}, +"type": "array" +} +}, +"type": "object" +}, +"GoogleCloudVideointelligenceV1_DetectedAttribute": { +"description": "A generic detected attribute represented by name in string format.", +"id": "GoogleCloudVideointelligenceV1_DetectedAttribute", +"properties": { +"confidence": { +"description": "Detected attribute confidence. Range [0, 1].", +"format": "float", +"type": "number" +}, +"name": { +"description": "The name of the attribute, for example, glasses, dark_glasses, mouth_open. A full list of supported type names will be provided in the document.", +"type": "string" +}, +"value": { +"description": "Text value of the detection result. For example, the value for \"HairColor\" can be \"black\", \"blonde\", etc.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudVideointelligenceV1_DetectedLandmark": { +"description": "A generic detected landmark represented by name in string format and a 2D location.", +"id": "GoogleCloudVideointelligenceV1_DetectedLandmark", +"properties": { +"confidence": { +"description": "The confidence score of the detected landmark. Range [0, 1].", +"format": "float", +"type": "number" +}, +"name": { +"description": "The name of this landmark, for example, left_hand, right_shoulder.", +"type": "string" +}, +"point": { +"$ref": "GoogleCloudVideointelligenceV1_NormalizedVertex", +"description": "The 2D point of the detected landmark using the normalized image coordindate system. The normalized coordinates have the range from 0 to 1." +} +}, +"type": "object" +}, +"GoogleCloudVideointelligenceV1_Entity": { +"description": "Detected entity from video analysis.", +"id": "GoogleCloudVideointelligenceV1_Entity", +"properties": { +"description": { +"description": "Textual description, e.g., `Fixed-gear bicycle`.", +"type": "string" +}, +"entityId": { +"description": "Opaque entity ID. Some IDs may be available in [Google Knowledge Graph Search API](https://developers.google.com/knowledge-graph/).", +"type": "string" +}, +"languageCode": { +"description": "Language code for `description` in BCP-47 format.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudVideointelligenceV1_ExplicitContentAnnotation": { +"description": "Explicit content annotation (based on per-frame visual signals only). If no explicit content has been detected in a frame, no annotations are present for that frame.", +"id": "GoogleCloudVideointelligenceV1_ExplicitContentAnnotation", +"properties": { +"frames": { +"description": "All video frames where explicit content was detected.", +"items": { +"$ref": "GoogleCloudVideointelligenceV1_ExplicitContentFrame" +}, +"type": "array" +}, +"version": { +"description": "Feature version.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudVideointelligenceV1_ExplicitContentFrame": { +"description": "Video frame level annotation results for explicit content.", +"id": "GoogleCloudVideointelligenceV1_ExplicitContentFrame", +"properties": { +"pornographyLikelihood": { +"description": "Likelihood of the pornography content..", +"enum": [ +"LIKELIHOOD_UNSPECIFIED", +"VERY_UNLIKELY", +"UNLIKELY", +"POSSIBLE", +"LIKELY", +"VERY_LIKELY" +], +"enumDescriptions": [ +"Unspecified likelihood.", +"Very unlikely.", +"Unlikely.", +"Possible.", +"Likely.", +"Very likely." +], +"type": "string" +}, +"timeOffset": { +"description": "Time-offset, relative to the beginning of the video, corresponding to the video frame for this location.", +"format": "google-duration", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudVideointelligenceV1_FaceAnnotation": { +"deprecated": true, +"description": "Deprecated. No effect.", +"id": "GoogleCloudVideointelligenceV1_FaceAnnotation", +"properties": { +"frames": { +"description": "All video frames where a face was detected.", +"items": { +"$ref": "GoogleCloudVideointelligenceV1_FaceFrame" +}, +"type": "array" +}, +"segments": { +"description": "All video segments where a face was detected.", +"items": { +"$ref": "GoogleCloudVideointelligenceV1_FaceSegment" +}, +"type": "array" +}, +"thumbnail": { +"description": "Thumbnail of a representative face view (in JPEG format).", +"format": "byte", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudVideointelligenceV1_FaceDetectionAnnotation": { +"description": "Face detection annotation.", +"id": "GoogleCloudVideointelligenceV1_FaceDetectionAnnotation", +"properties": { +"thumbnail": { +"description": "The thumbnail of a person's face.", +"format": "byte", +"type": "string" +}, +"tracks": { +"description": "The face tracks with attributes.", +"items": { +"$ref": "GoogleCloudVideointelligenceV1_Track" +}, +"type": "array" +}, +"version": { +"description": "Feature version.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudVideointelligenceV1_FaceFrame": { +"deprecated": true, +"description": "Deprecated. No effect.", +"id": "GoogleCloudVideointelligenceV1_FaceFrame", +"properties": { +"normalizedBoundingBoxes": { +"description": "Normalized Bounding boxes in a frame. There can be more than one boxes if the same face is detected in multiple locations within the current frame.", +"items": { +"$ref": "GoogleCloudVideointelligenceV1_NormalizedBoundingBox" +}, +"type": "array" +}, +"timeOffset": { +"description": "Time-offset, relative to the beginning of the video, corresponding to the video frame for this location.", +"format": "google-duration", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudVideointelligenceV1_FaceSegment": { +"description": "Video segment level annotation results for face detection.", +"id": "GoogleCloudVideointelligenceV1_FaceSegment", +"properties": { +"segment": { +"$ref": "GoogleCloudVideointelligenceV1_VideoSegment", +"description": "Video segment where a face was detected." +} +}, +"type": "object" +}, +"GoogleCloudVideointelligenceV1_LabelAnnotation": { +"description": "Label annotation.", +"id": "GoogleCloudVideointelligenceV1_LabelAnnotation", +"properties": { +"categoryEntities": { +"description": "Common categories for the detected entity. For example, when the label is `Terrier`, the category is likely `dog`. And in some cases there might be more than one categories e.g., `Terrier` could also be a `pet`.", +"items": { +"$ref": "GoogleCloudVideointelligenceV1_Entity" +}, +"type": "array" +}, +"entity": { +"$ref": "GoogleCloudVideointelligenceV1_Entity", +"description": "Detected entity." +}, +"frames": { +"description": "All video frames where a label was detected.", +"items": { +"$ref": "GoogleCloudVideointelligenceV1_LabelFrame" +}, +"type": "array" +}, +"segments": { +"description": "All video segments where a label was detected.", +"items": { +"$ref": "GoogleCloudVideointelligenceV1_LabelSegment" +}, +"type": "array" +}, +"version": { +"description": "Feature version.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudVideointelligenceV1_LabelFrame": { +"description": "Video frame level annotation results for label detection.", +"id": "GoogleCloudVideointelligenceV1_LabelFrame", +"properties": { +"confidence": { +"description": "Confidence that the label is accurate. Range: [0, 1].", +"format": "float", +"type": "number" +}, +"timeOffset": { +"description": "Time-offset, relative to the beginning of the video, corresponding to the video frame for this location.", +"format": "google-duration", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudVideointelligenceV1_LabelSegment": { +"description": "Video segment level annotation results for label detection.", +"id": "GoogleCloudVideointelligenceV1_LabelSegment", +"properties": { +"confidence": { +"description": "Confidence that the label is accurate. Range: [0, 1].", +"format": "float", +"type": "number" +}, +"segment": { +"$ref": "GoogleCloudVideointelligenceV1_VideoSegment", +"description": "Video segment where a label was detected." +} +}, +"type": "object" +}, +"GoogleCloudVideointelligenceV1_LogoRecognitionAnnotation": { +"description": "Annotation corresponding to one detected, tracked and recognized logo class.", +"id": "GoogleCloudVideointelligenceV1_LogoRecognitionAnnotation", +"properties": { +"entity": { +"$ref": "GoogleCloudVideointelligenceV1_Entity", +"description": "Entity category information to specify the logo class that all the logo tracks within this LogoRecognitionAnnotation are recognized as." +}, +"segments": { +"description": "All video segments where the recognized logo appears. There might be multiple instances of the same logo class appearing in one VideoSegment.", +"items": { +"$ref": "GoogleCloudVideointelligenceV1_VideoSegment" +}, +"type": "array" +}, +"tracks": { +"description": "All logo tracks where the recognized logo appears. Each track corresponds to one logo instance appearing in consecutive frames.", +"items": { +"$ref": "GoogleCloudVideointelligenceV1_Track" +}, +"type": "array" +} +}, +"type": "object" +}, +"GoogleCloudVideointelligenceV1_NormalizedBoundingBox": { +"description": "Normalized bounding box. The normalized vertex coordinates are relative to the original image. Range: [0, 1].", +"id": "GoogleCloudVideointelligenceV1_NormalizedBoundingBox", +"properties": { +"bottom": { +"description": "Bottom Y coordinate.", +"format": "float", +"type": "number" +}, +"left": { +"description": "Left X coordinate.", +"format": "float", +"type": "number" +}, +"right": { +"description": "Right X coordinate.", +"format": "float", +"type": "number" +}, +"top": { +"description": "Top Y coordinate.", +"format": "float", +"type": "number" +} +}, +"type": "object" +}, +"GoogleCloudVideointelligenceV1_NormalizedBoundingPoly": { +"description": "Normalized bounding polygon for text (that might not be aligned with axis). Contains list of the corner points in clockwise order starting from top-left corner. For example, for a rectangular bounding box: When the text is horizontal it might look like: 0----1 | | 3----2 When it's clockwise rotated 180 degrees around the top-left corner it becomes: 2----3 | | 1----0 and the vertex order will still be (0, 1, 2, 3). Note that values can be less than 0, or greater than 1 due to trignometric calculations for location of the box.", +"id": "GoogleCloudVideointelligenceV1_NormalizedBoundingPoly", +"properties": { +"vertices": { +"description": "Normalized vertices of the bounding polygon.", +"items": { +"$ref": "GoogleCloudVideointelligenceV1_NormalizedVertex" +}, +"type": "array" +} +}, +"type": "object" +}, +"GoogleCloudVideointelligenceV1_NormalizedVertex": { +"description": "A vertex represents a 2D point in the image. NOTE: the normalized vertex coordinates are relative to the original image and range from 0 to 1.", +"id": "GoogleCloudVideointelligenceV1_NormalizedVertex", +"properties": { +"x": { +"description": "X coordinate.", +"format": "float", +"type": "number" +}, +"y": { +"description": "Y coordinate.", +"format": "float", +"type": "number" +} +}, +"type": "object" +}, +"GoogleCloudVideointelligenceV1_ObjectTrackingAnnotation": { +"description": "Annotations corresponding to one tracked object.", +"id": "GoogleCloudVideointelligenceV1_ObjectTrackingAnnotation", +"properties": { +"confidence": { +"description": "Object category's labeling confidence of this track.", +"format": "float", +"type": "number" +}, +"entity": { +"$ref": "GoogleCloudVideointelligenceV1_Entity", +"description": "Entity to specify the object category that this track is labeled as." +}, +"frames": { +"description": "Information corresponding to all frames where this object track appears. Non-streaming batch mode: it may be one or multiple ObjectTrackingFrame messages in frames. Streaming mode: it can only be one ObjectTrackingFrame message in frames.", +"items": { +"$ref": "GoogleCloudVideointelligenceV1_ObjectTrackingFrame" +}, +"type": "array" +}, +"segment": { +"$ref": "GoogleCloudVideointelligenceV1_VideoSegment", +"description": "Non-streaming batch mode ONLY. Each object track corresponds to one video segment where it appears." +}, +"trackId": { +"description": "Streaming mode ONLY. In streaming mode, we do not know the end time of a tracked object before it is completed. Hence, there is no VideoSegment info returned. Instead, we provide a unique identifiable integer track_id so that the customers can correlate the results of the ongoing ObjectTrackAnnotation of the same track_id over time.", +"format": "int64", +"type": "string" +}, +"version": { +"description": "Feature version.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudVideointelligenceV1_ObjectTrackingFrame": { +"description": "Video frame level annotations for object detection and tracking. This field stores per frame location, time offset, and confidence.", +"id": "GoogleCloudVideointelligenceV1_ObjectTrackingFrame", +"properties": { +"normalizedBoundingBox": { +"$ref": "GoogleCloudVideointelligenceV1_NormalizedBoundingBox", +"description": "The normalized bounding box location of this object track for the frame." +}, +"timeOffset": { +"description": "The timestamp of the frame in microseconds.", +"format": "google-duration", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudVideointelligenceV1_PersonDetectionAnnotation": { +"description": "Person detection annotation per video.", +"id": "GoogleCloudVideointelligenceV1_PersonDetectionAnnotation", +"properties": { +"tracks": { +"description": "The detected tracks of a person.", +"items": { +"$ref": "GoogleCloudVideointelligenceV1_Track" +}, +"type": "array" +}, +"version": { +"description": "Feature version.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudVideointelligenceV1_SpeechRecognitionAlternative": { +"description": "Alternative hypotheses (a.k.a. n-best list).", +"id": "GoogleCloudVideointelligenceV1_SpeechRecognitionAlternative", +"properties": { +"confidence": { +"description": "Output only. The confidence estimate between 0.0 and 1.0. A higher number indicates an estimated greater likelihood that the recognized words are correct. This field is set only for the top alternative. This field is not guaranteed to be accurate and users should not rely on it to be always provided. The default of 0.0 is a sentinel value indicating `confidence` was not set.", +"format": "float", +"readOnly": true, +"type": "number" +}, +"transcript": { +"description": "Transcript text representing the words that the user spoke.", +"type": "string" +}, +"words": { +"description": "Output only. A list of word-specific information for each recognized word. Note: When `enable_speaker_diarization` is set to true, you will see all the words from the beginning of the audio.", +"items": { +"$ref": "GoogleCloudVideointelligenceV1_WordInfo" +}, +"readOnly": true, +"type": "array" +} +}, +"type": "object" +}, +"GoogleCloudVideointelligenceV1_SpeechTranscription": { +"description": "A speech recognition result corresponding to a portion of the audio.", +"id": "GoogleCloudVideointelligenceV1_SpeechTranscription", +"properties": { +"alternatives": { +"description": "May contain one or more recognition hypotheses (up to the maximum specified in `max_alternatives`). These alternatives are ordered in terms of accuracy, with the top (first) alternative being the most probable, as ranked by the recognizer.", +"items": { +"$ref": "GoogleCloudVideointelligenceV1_SpeechRecognitionAlternative" +}, +"type": "array" +}, +"languageCode": { +"description": "Output only. The [BCP-47](https://www.rfc-editor.org/rfc/bcp/bcp47.txt) language tag of the language in this result. This language code was detected to have the most likelihood of being spoken in the audio.", +"readOnly": true, +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudVideointelligenceV1_TextAnnotation": { +"description": "Annotations related to one detected OCR text snippet. This will contain the corresponding text, confidence value, and frame level information for each detection.", +"id": "GoogleCloudVideointelligenceV1_TextAnnotation", +"properties": { +"segments": { +"description": "All video segments where OCR detected text appears.", +"items": { +"$ref": "GoogleCloudVideointelligenceV1_TextSegment" +}, +"type": "array" +}, +"text": { +"description": "The detected text.", +"type": "string" +}, +"version": { +"description": "Feature version.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudVideointelligenceV1_TextFrame": { +"description": "Video frame level annotation results for text annotation (OCR). Contains information regarding timestamp and bounding box locations for the frames containing detected OCR text snippets.", +"id": "GoogleCloudVideointelligenceV1_TextFrame", +"properties": { +"rotatedBoundingBox": { +"$ref": "GoogleCloudVideointelligenceV1_NormalizedBoundingPoly", +"description": "Bounding polygon of the detected text for this frame." +}, +"timeOffset": { +"description": "Timestamp of this frame.", +"format": "google-duration", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudVideointelligenceV1_TextSegment": { +"description": "Video segment level annotation results for text detection.", +"id": "GoogleCloudVideointelligenceV1_TextSegment", +"properties": { +"confidence": { +"description": "Confidence for the track of detected text. It is calculated as the highest over all frames where OCR detected text appears.", +"format": "float", +"type": "number" +}, +"frames": { +"description": "Information related to the frames where OCR detected text appears.", +"items": { +"$ref": "GoogleCloudVideointelligenceV1_TextFrame" +}, +"type": "array" +}, +"segment": { +"$ref": "GoogleCloudVideointelligenceV1_VideoSegment", +"description": "Video segment where a text snippet was detected." +} +}, +"type": "object" +}, +"GoogleCloudVideointelligenceV1_TimestampedObject": { +"description": "For tracking related features. An object at time_offset with attributes, and located with normalized_bounding_box.", +"id": "GoogleCloudVideointelligenceV1_TimestampedObject", +"properties": { +"attributes": { +"description": "Optional. The attributes of the object in the bounding box.", +"items": { +"$ref": "GoogleCloudVideointelligenceV1_DetectedAttribute" +}, +"type": "array" +}, +"landmarks": { +"description": "Optional. The detected landmarks.", +"items": { +"$ref": "GoogleCloudVideointelligenceV1_DetectedLandmark" +}, +"type": "array" +}, +"normalizedBoundingBox": { +"$ref": "GoogleCloudVideointelligenceV1_NormalizedBoundingBox", +"description": "Normalized Bounding box in a frame, where the object is located." +}, +"timeOffset": { +"description": "Time-offset, relative to the beginning of the video, corresponding to the video frame for this object.", +"format": "google-duration", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudVideointelligenceV1_Track": { +"description": "A track of an object instance.", +"id": "GoogleCloudVideointelligenceV1_Track", +"properties": { +"attributes": { +"description": "Optional. Attributes in the track level.", +"items": { +"$ref": "GoogleCloudVideointelligenceV1_DetectedAttribute" +}, +"type": "array" +}, +"confidence": { +"description": "Optional. The confidence score of the tracked object.", +"format": "float", +"type": "number" +}, +"segment": { +"$ref": "GoogleCloudVideointelligenceV1_VideoSegment", +"description": "Video segment of a track." +}, +"timestampedObjects": { +"description": "The object with timestamp and attributes per frame in the track.", +"items": { +"$ref": "GoogleCloudVideointelligenceV1_TimestampedObject" +}, +"type": "array" +} +}, +"type": "object" +}, +"GoogleCloudVideointelligenceV1_VideoAnnotationProgress": { +"description": "Annotation progress for a single video.", +"id": "GoogleCloudVideointelligenceV1_VideoAnnotationProgress", +"properties": { +"feature": { +"description": "Specifies which feature is being tracked if the request contains more than one feature.", +"enum": [ +"FEATURE_UNSPECIFIED", +"LABEL_DETECTION", +"SHOT_CHANGE_DETECTION", +"EXPLICIT_CONTENT_DETECTION", +"FACE_DETECTION", +"SPEECH_TRANSCRIPTION", +"TEXT_DETECTION", +"OBJECT_TRACKING", +"LOGO_RECOGNITION", +"PERSON_DETECTION" +], +"enumDescriptions": [ +"Unspecified.", +"Label detection. Detect objects, such as dog or flower.", +"Shot change detection.", +"Explicit content detection.", +"Human face detection.", +"Speech transcription.", +"OCR text detection and tracking.", +"Object detection and tracking.", +"Logo detection, tracking, and recognition.", +"Person detection." +], +"type": "string" +}, +"inputUri": { +"description": "Video file location in [Cloud Storage](https://cloud.google.com/storage/).", +"type": "string" +}, +"progressPercent": { +"description": "Approximate percentage processed thus far. Guaranteed to be 100 when fully processed.", +"format": "int32", +"type": "integer" +}, +"segment": { +"$ref": "GoogleCloudVideointelligenceV1_VideoSegment", +"description": "Specifies which segment is being tracked if the request contains more than one segment." +}, +"startTime": { +"description": "Time when the request was received.", +"format": "google-datetime", +"type": "string" +}, +"updateTime": { +"description": "Time of the most recent update.", +"format": "google-datetime", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudVideointelligenceV1_VideoAnnotationResults": { +"description": "Annotation results for a single video.", +"id": "GoogleCloudVideointelligenceV1_VideoAnnotationResults", +"properties": { +"error": { +"$ref": "GoogleRpc_Status", +"description": "If set, indicates an error. Note that for a single `AnnotateVideoRequest` some videos may succeed and some may fail." +}, +"explicitAnnotation": { +"$ref": "GoogleCloudVideointelligenceV1_ExplicitContentAnnotation", +"description": "Explicit content annotation." +}, +"faceAnnotations": { +"deprecated": true, +"description": "Deprecated. Please use `face_detection_annotations` instead.", +"items": { +"$ref": "GoogleCloudVideointelligenceV1_FaceAnnotation" +}, +"type": "array" +}, +"faceDetectionAnnotations": { +"description": "Face detection annotations.", +"items": { +"$ref": "GoogleCloudVideointelligenceV1_FaceDetectionAnnotation" +}, +"type": "array" +}, +"frameLabelAnnotations": { +"description": "Label annotations on frame level. There is exactly one element for each unique label.", +"items": { +"$ref": "GoogleCloudVideointelligenceV1_LabelAnnotation" +}, +"type": "array" +}, +"inputUri": { +"description": "Video file location in [Cloud Storage](https://cloud.google.com/storage/).", +"type": "string" +}, +"logoRecognitionAnnotations": { +"description": "Annotations for list of logos detected, tracked and recognized in video.", +"items": { +"$ref": "GoogleCloudVideointelligenceV1_LogoRecognitionAnnotation" +}, +"type": "array" +}, +"objectAnnotations": { +"description": "Annotations for list of objects detected and tracked in video.", +"items": { +"$ref": "GoogleCloudVideointelligenceV1_ObjectTrackingAnnotation" +}, +"type": "array" +}, +"personDetectionAnnotations": { +"description": "Person detection annotations.", +"items": { +"$ref": "GoogleCloudVideointelligenceV1_PersonDetectionAnnotation" +}, +"type": "array" +}, +"segment": { +"$ref": "GoogleCloudVideointelligenceV1_VideoSegment", +"description": "Video segment on which the annotation is run." +}, +"segmentLabelAnnotations": { +"description": "Topical label annotations on video level or user-specified segment level. There is exactly one element for each unique label.", +"items": { +"$ref": "GoogleCloudVideointelligenceV1_LabelAnnotation" +}, +"type": "array" +}, +"segmentPresenceLabelAnnotations": { +"description": "Presence label annotations on video level or user-specified segment level. There is exactly one element for each unique label. Compared to the existing topical `segment_label_annotations`, this field presents more fine-grained, segment-level labels detected in video content and is made available only when the client sets `LabelDetectionConfig.model` to \"builtin/latest\" in the request.", +"items": { +"$ref": "GoogleCloudVideointelligenceV1_LabelAnnotation" +}, +"type": "array" +}, +"shotAnnotations": { +"description": "Shot annotations. Each shot is represented as a video segment.", +"items": { +"$ref": "GoogleCloudVideointelligenceV1_VideoSegment" +}, +"type": "array" +}, +"shotLabelAnnotations": { +"description": "Topical label annotations on shot level. There is exactly one element for each unique label.", +"items": { +"$ref": "GoogleCloudVideointelligenceV1_LabelAnnotation" +}, +"type": "array" +}, +"shotPresenceLabelAnnotations": { +"description": "Presence label annotations on shot level. There is exactly one element for each unique label. Compared to the existing topical `shot_label_annotations`, this field presents more fine-grained, shot-level labels detected in video content and is made available only when the client sets `LabelDetectionConfig.model` to \"builtin/latest\" in the request.", +"items": { +"$ref": "GoogleCloudVideointelligenceV1_LabelAnnotation" +}, +"type": "array" +}, +"speechTranscriptions": { +"description": "Speech transcription.", +"items": { +"$ref": "GoogleCloudVideointelligenceV1_SpeechTranscription" +}, +"type": "array" +}, +"textAnnotations": { +"description": "OCR text detection and tracking. Annotations for list of detected text snippets. Each will have list of frame information associated with it.", +"items": { +"$ref": "GoogleCloudVideointelligenceV1_TextAnnotation" +}, +"type": "array" +} +}, +"type": "object" +}, +"GoogleCloudVideointelligenceV1_VideoSegment": { +"description": "Video segment.", +"id": "GoogleCloudVideointelligenceV1_VideoSegment", +"properties": { +"endTimeOffset": { +"description": "Time-offset, relative to the beginning of the video, corresponding to the end of the segment (inclusive).", +"format": "google-duration", +"type": "string" +}, +"startTimeOffset": { +"description": "Time-offset, relative to the beginning of the video, corresponding to the start of the segment (inclusive).", +"format": "google-duration", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudVideointelligenceV1_WordInfo": { +"description": "Word-specific information for recognized words. Word information is only included in the response when certain request parameters are set, such as `enable_word_time_offsets`.", +"id": "GoogleCloudVideointelligenceV1_WordInfo", +"properties": { +"confidence": { +"description": "Output only. The confidence estimate between 0.0 and 1.0. A higher number indicates an estimated greater likelihood that the recognized words are correct. This field is set only for the top alternative. This field is not guaranteed to be accurate and users should not rely on it to be always provided. The default of 0.0 is a sentinel value indicating `confidence` was not set.", +"format": "float", +"readOnly": true, +"type": "number" +}, +"endTime": { +"description": "Time offset relative to the beginning of the audio, and corresponding to the end of the spoken word. This field is only set if `enable_word_time_offsets=true` and only in the top hypothesis. This is an experimental feature and the accuracy of the time offset can vary.", +"format": "google-duration", +"type": "string" +}, +"speakerTag": { +"description": "Output only. A distinct integer value is assigned for every speaker within the audio. This field specifies which one of those speakers was detected to have spoken this word. Value ranges from 1 up to diarization_speaker_count, and is only set if speaker diarization is enabled.", +"format": "int32", +"readOnly": true, +"type": "integer" +}, +"startTime": { +"description": "Time offset relative to the beginning of the audio, and corresponding to the start of the spoken word. This field is only set if `enable_word_time_offsets=true` and only in the top hypothesis. This is an experimental feature and the accuracy of the time offset can vary.", +"format": "google-duration", +"type": "string" +}, +"word": { +"description": "The word corresponding to this set of information.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudVideointelligenceV1beta2_AnnotateVideoProgress": { +"description": "Video annotation progress. Included in the `metadata` field of the `Operation` returned by the `GetOperation` call of the `google::longrunning::Operations` service.", +"id": "GoogleCloudVideointelligenceV1beta2_AnnotateVideoProgress", +"properties": { +"annotationProgress": { +"description": "Progress metadata for all videos specified in `AnnotateVideoRequest`.", +"items": { +"$ref": "GoogleCloudVideointelligenceV1beta2_VideoAnnotationProgress" +}, +"type": "array" +} +}, +"type": "object" +}, +"GoogleCloudVideointelligenceV1beta2_AnnotateVideoRequest": { +"description": "Video annotation request.", +"id": "GoogleCloudVideointelligenceV1beta2_AnnotateVideoRequest", +"properties": { +"features": { +"description": "Required. Requested video annotation features.", +"items": { +"enum": [ +"FEATURE_UNSPECIFIED", +"LABEL_DETECTION", +"SHOT_CHANGE_DETECTION", +"EXPLICIT_CONTENT_DETECTION", +"FACE_DETECTION", +"SPEECH_TRANSCRIPTION", +"TEXT_DETECTION", +"OBJECT_TRACKING", +"LOGO_RECOGNITION", +"PERSON_DETECTION" +], +"enumDescriptions": [ +"Unspecified.", +"Label detection. Detect objects, such as dog or flower.", +"Shot change detection.", +"Explicit content detection.", +"Human face detection.", +"Speech transcription.", +"OCR text detection and tracking.", +"Object detection and tracking.", +"Logo detection, tracking, and recognition.", +"Person detection." +], +"type": "string" +}, +"type": "array" +}, +"inputContent": { +"description": "The video data bytes. If unset, the input video(s) should be specified via the `input_uri`. If set, `input_uri` must be unset.", +"format": "byte", +"type": "string" +}, +"inputUri": { +"description": "Input video location. Currently, only [Cloud Storage](https://cloud.google.com/storage/) URIs are supported. URIs must be specified in the following format: `gs://bucket-id/object-id` (other URI formats return google.rpc.Code.INVALID_ARGUMENT). For more information, see [Request URIs](https://cloud.google.com/storage/docs/request-endpoints). To identify multiple videos, a video URI may include wildcards in the `object-id`. Supported wildcards: '*' to match 0 or more characters; '?' to match 1 character. If unset, the input video should be embedded in the request as `input_content`. If set, `input_content` must be unset.", +"type": "string" +}, +"locationId": { +"description": "Optional. Cloud region where annotation should take place. Supported cloud regions are: `us-east1`, `us-west1`, `europe-west1`, `asia-east1`. If no region is specified, the region will be determined based on video file location.", +"type": "string" +}, +"outputUri": { +"description": "Optional. Location where the output (in JSON format) should be stored. Currently, only [Cloud Storage](https://cloud.google.com/storage/) URIs are supported. These must be specified in the following format: `gs://bucket-id/object-id` (other URI formats return google.rpc.Code.INVALID_ARGUMENT). For more information, see [Request URIs](https://cloud.google.com/storage/docs/request-endpoints).", +"type": "string" +}, +"videoContext": { +"$ref": "GoogleCloudVideointelligenceV1beta2_VideoContext", +"description": "Additional video context and/or feature-specific parameters." +} +}, +"type": "object" +}, +"GoogleCloudVideointelligenceV1beta2_AnnotateVideoResponse": { +"description": "Video annotation response. Included in the `response` field of the `Operation` returned by the `GetOperation` call of the `google::longrunning::Operations` service.", +"id": "GoogleCloudVideointelligenceV1beta2_AnnotateVideoResponse", +"properties": { +"annotationResults": { +"description": "Annotation results for all videos specified in `AnnotateVideoRequest`.", +"items": { +"$ref": "GoogleCloudVideointelligenceV1beta2_VideoAnnotationResults" +}, +"type": "array" +} +}, +"type": "object" +}, +"GoogleCloudVideointelligenceV1beta2_DetectedAttribute": { +"description": "A generic detected attribute represented by name in string format.", +"id": "GoogleCloudVideointelligenceV1beta2_DetectedAttribute", +"properties": { +"confidence": { +"description": "Detected attribute confidence. Range [0, 1].", +"format": "float", +"type": "number" +}, +"name": { +"description": "The name of the attribute, for example, glasses, dark_glasses, mouth_open. A full list of supported type names will be provided in the document.", +"type": "string" +}, +"value": { +"description": "Text value of the detection result. For example, the value for \"HairColor\" can be \"black\", \"blonde\", etc.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudVideointelligenceV1beta2_DetectedLandmark": { +"description": "A generic detected landmark represented by name in string format and a 2D location.", +"id": "GoogleCloudVideointelligenceV1beta2_DetectedLandmark", +"properties": { +"confidence": { +"description": "The confidence score of the detected landmark. Range [0, 1].", +"format": "float", +"type": "number" +}, +"name": { +"description": "The name of this landmark, for example, left_hand, right_shoulder.", +"type": "string" +}, +"point": { +"$ref": "GoogleCloudVideointelligenceV1beta2_NormalizedVertex", +"description": "The 2D point of the detected landmark using the normalized image coordindate system. The normalized coordinates have the range from 0 to 1." +} +}, +"type": "object" +}, +"GoogleCloudVideointelligenceV1beta2_Entity": { +"description": "Detected entity from video analysis.", +"id": "GoogleCloudVideointelligenceV1beta2_Entity", +"properties": { +"description": { +"description": "Textual description, e.g., `Fixed-gear bicycle`.", +"type": "string" +}, +"entityId": { +"description": "Opaque entity ID. Some IDs may be available in [Google Knowledge Graph Search API](https://developers.google.com/knowledge-graph/).", +"type": "string" +}, +"languageCode": { +"description": "Language code for `description` in BCP-47 format.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudVideointelligenceV1beta2_ExplicitContentAnnotation": { +"description": "Explicit content annotation (based on per-frame visual signals only). If no explicit content has been detected in a frame, no annotations are present for that frame.", +"id": "GoogleCloudVideointelligenceV1beta2_ExplicitContentAnnotation", +"properties": { +"frames": { +"description": "All video frames where explicit content was detected.", +"items": { +"$ref": "GoogleCloudVideointelligenceV1beta2_ExplicitContentFrame" +}, +"type": "array" +}, +"version": { +"description": "Feature version.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudVideointelligenceV1beta2_ExplicitContentDetectionConfig": { +"description": "Config for EXPLICIT_CONTENT_DETECTION.", +"id": "GoogleCloudVideointelligenceV1beta2_ExplicitContentDetectionConfig", +"properties": { +"model": { +"description": "Model to use for explicit content detection. Supported values: \"builtin/stable\" (the default if unset) and \"builtin/latest\".", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudVideointelligenceV1beta2_ExplicitContentFrame": { +"description": "Video frame level annotation results for explicit content.", +"id": "GoogleCloudVideointelligenceV1beta2_ExplicitContentFrame", +"properties": { +"pornographyLikelihood": { +"description": "Likelihood of the pornography content..", +"enum": [ +"LIKELIHOOD_UNSPECIFIED", +"VERY_UNLIKELY", +"UNLIKELY", +"POSSIBLE", +"LIKELY", +"VERY_LIKELY" +], +"enumDescriptions": [ +"Unspecified likelihood.", +"Very unlikely.", +"Unlikely.", +"Possible.", +"Likely.", +"Very likely." +], +"type": "string" +}, +"timeOffset": { +"description": "Time-offset, relative to the beginning of the video, corresponding to the video frame for this location.", +"format": "google-duration", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudVideointelligenceV1beta2_FaceAnnotation": { +"deprecated": true, +"description": "Deprecated. No effect.", +"id": "GoogleCloudVideointelligenceV1beta2_FaceAnnotation", +"properties": { +"frames": { +"description": "All video frames where a face was detected.", +"items": { +"$ref": "GoogleCloudVideointelligenceV1beta2_FaceFrame" +}, +"type": "array" +}, +"segments": { +"description": "All video segments where a face was detected.", +"items": { +"$ref": "GoogleCloudVideointelligenceV1beta2_FaceSegment" +}, +"type": "array" +}, +"thumbnail": { +"description": "Thumbnail of a representative face view (in JPEG format).", +"format": "byte", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudVideointelligenceV1beta2_FaceDetectionAnnotation": { +"description": "Face detection annotation.", +"id": "GoogleCloudVideointelligenceV1beta2_FaceDetectionAnnotation", +"properties": { +"thumbnail": { +"description": "The thumbnail of a person's face.", +"format": "byte", +"type": "string" +}, +"tracks": { +"description": "The face tracks with attributes.", +"items": { +"$ref": "GoogleCloudVideointelligenceV1beta2_Track" +}, +"type": "array" +}, +"version": { +"description": "Feature version.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudVideointelligenceV1beta2_FaceDetectionConfig": { +"description": "Config for FACE_DETECTION.", +"id": "GoogleCloudVideointelligenceV1beta2_FaceDetectionConfig", +"properties": { +"includeAttributes": { +"description": "Whether to enable face attributes detection, such as glasses, dark_glasses, mouth_open etc. Ignored if 'include_bounding_boxes' is set to false.", +"type": "boolean" +}, +"includeBoundingBoxes": { +"description": "Whether bounding boxes are included in the face annotation output.", +"type": "boolean" +}, +"model": { +"description": "Model to use for face detection. Supported values: \"builtin/stable\" (the default if unset) and \"builtin/latest\".", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudVideointelligenceV1beta2_FaceFrame": { +"deprecated": true, +"description": "Deprecated. No effect.", +"id": "GoogleCloudVideointelligenceV1beta2_FaceFrame", +"properties": { +"normalizedBoundingBoxes": { +"description": "Normalized Bounding boxes in a frame. There can be more than one boxes if the same face is detected in multiple locations within the current frame.", +"items": { +"$ref": "GoogleCloudVideointelligenceV1beta2_NormalizedBoundingBox" +}, +"type": "array" +}, +"timeOffset": { +"description": "Time-offset, relative to the beginning of the video, corresponding to the video frame for this location.", +"format": "google-duration", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudVideointelligenceV1beta2_FaceSegment": { +"description": "Video segment level annotation results for face detection.", +"id": "GoogleCloudVideointelligenceV1beta2_FaceSegment", +"properties": { +"segment": { +"$ref": "GoogleCloudVideointelligenceV1beta2_VideoSegment", +"description": "Video segment where a face was detected." +} +}, +"type": "object" +}, +"GoogleCloudVideointelligenceV1beta2_LabelAnnotation": { +"description": "Label annotation.", +"id": "GoogleCloudVideointelligenceV1beta2_LabelAnnotation", +"properties": { +"categoryEntities": { +"description": "Common categories for the detected entity. For example, when the label is `Terrier`, the category is likely `dog`. And in some cases there might be more than one categories e.g., `Terrier` could also be a `pet`.", +"items": { +"$ref": "GoogleCloudVideointelligenceV1beta2_Entity" +}, +"type": "array" +}, +"entity": { +"$ref": "GoogleCloudVideointelligenceV1beta2_Entity", +"description": "Detected entity." +}, +"frames": { +"description": "All video frames where a label was detected.", +"items": { +"$ref": "GoogleCloudVideointelligenceV1beta2_LabelFrame" +}, +"type": "array" +}, +"segments": { +"description": "All video segments where a label was detected.", +"items": { +"$ref": "GoogleCloudVideointelligenceV1beta2_LabelSegment" +}, +"type": "array" +}, +"version": { +"description": "Feature version.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudVideointelligenceV1beta2_LabelDetectionConfig": { +"description": "Config for LABEL_DETECTION.", +"id": "GoogleCloudVideointelligenceV1beta2_LabelDetectionConfig", +"properties": { +"frameConfidenceThreshold": { +"description": "The confidence threshold we perform filtering on the labels from frame-level detection. If not set, it is set to 0.4 by default. The valid range for this threshold is [0.1, 0.9]. Any value set outside of this range will be clipped. Note: For best results, follow the default threshold. We will update the default threshold everytime when we release a new model.", +"format": "float", +"type": "number" +}, +"labelDetectionMode": { +"description": "What labels should be detected with LABEL_DETECTION, in addition to video-level labels or segment-level labels. If unspecified, defaults to `SHOT_MODE`.", +"enum": [ +"LABEL_DETECTION_MODE_UNSPECIFIED", +"SHOT_MODE", +"FRAME_MODE", +"SHOT_AND_FRAME_MODE" +], +"enumDescriptions": [ +"Unspecified.", +"Detect shot-level labels.", +"Detect frame-level labels.", +"Detect both shot-level and frame-level labels." +], +"type": "string" +}, +"model": { +"description": "Model to use for label detection. Supported values: \"builtin/stable\" (the default if unset) and \"builtin/latest\".", +"type": "string" +}, +"stationaryCamera": { +"description": "Whether the video has been shot from a stationary (i.e., non-moving) camera. When set to true, might improve detection accuracy for moving objects. Should be used with `SHOT_AND_FRAME_MODE` enabled.", +"type": "boolean" +}, +"videoConfidenceThreshold": { +"description": "The confidence threshold we perform filtering on the labels from video-level and shot-level detections. If not set, it's set to 0.3 by default. The valid range for this threshold is [0.1, 0.9]. Any value set outside of this range will be clipped. Note: For best results, follow the default threshold. We will update the default threshold everytime when we release a new model.", +"format": "float", +"type": "number" +} +}, +"type": "object" +}, +"GoogleCloudVideointelligenceV1beta2_LabelFrame": { +"description": "Video frame level annotation results for label detection.", +"id": "GoogleCloudVideointelligenceV1beta2_LabelFrame", +"properties": { +"confidence": { +"description": "Confidence that the label is accurate. Range: [0, 1].", +"format": "float", +"type": "number" +}, +"timeOffset": { +"description": "Time-offset, relative to the beginning of the video, corresponding to the video frame for this location.", +"format": "google-duration", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudVideointelligenceV1beta2_LabelSegment": { +"description": "Video segment level annotation results for label detection.", +"id": "GoogleCloudVideointelligenceV1beta2_LabelSegment", +"properties": { +"confidence": { +"description": "Confidence that the label is accurate. Range: [0, 1].", +"format": "float", +"type": "number" +}, +"segment": { +"$ref": "GoogleCloudVideointelligenceV1beta2_VideoSegment", +"description": "Video segment where a label was detected." +} +}, +"type": "object" +}, +"GoogleCloudVideointelligenceV1beta2_LogoRecognitionAnnotation": { +"description": "Annotation corresponding to one detected, tracked and recognized logo class.", +"id": "GoogleCloudVideointelligenceV1beta2_LogoRecognitionAnnotation", +"properties": { +"entity": { +"$ref": "GoogleCloudVideointelligenceV1beta2_Entity", +"description": "Entity category information to specify the logo class that all the logo tracks within this LogoRecognitionAnnotation are recognized as." +}, +"segments": { +"description": "All video segments where the recognized logo appears. There might be multiple instances of the same logo class appearing in one VideoSegment.", +"items": { +"$ref": "GoogleCloudVideointelligenceV1beta2_VideoSegment" +}, +"type": "array" +}, +"tracks": { +"description": "All logo tracks where the recognized logo appears. Each track corresponds to one logo instance appearing in consecutive frames.", +"items": { +"$ref": "GoogleCloudVideointelligenceV1beta2_Track" +}, +"type": "array" +} +}, +"type": "object" +}, +"GoogleCloudVideointelligenceV1beta2_NormalizedBoundingBox": { +"description": "Normalized bounding box. The normalized vertex coordinates are relative to the original image. Range: [0, 1].", +"id": "GoogleCloudVideointelligenceV1beta2_NormalizedBoundingBox", +"properties": { +"bottom": { +"description": "Bottom Y coordinate.", +"format": "float", +"type": "number" +}, +"left": { +"description": "Left X coordinate.", +"format": "float", +"type": "number" +}, +"right": { +"description": "Right X coordinate.", +"format": "float", +"type": "number" +}, +"top": { +"description": "Top Y coordinate.", +"format": "float", +"type": "number" +} +}, +"type": "object" +}, +"GoogleCloudVideointelligenceV1beta2_NormalizedBoundingPoly": { +"description": "Normalized bounding polygon for text (that might not be aligned with axis). Contains list of the corner points in clockwise order starting from top-left corner. For example, for a rectangular bounding box: When the text is horizontal it might look like: 0----1 | | 3----2 When it's clockwise rotated 180 degrees around the top-left corner it becomes: 2----3 | | 1----0 and the vertex order will still be (0, 1, 2, 3). Note that values can be less than 0, or greater than 1 due to trignometric calculations for location of the box.", +"id": "GoogleCloudVideointelligenceV1beta2_NormalizedBoundingPoly", +"properties": { +"vertices": { +"description": "Normalized vertices of the bounding polygon.", +"items": { +"$ref": "GoogleCloudVideointelligenceV1beta2_NormalizedVertex" +}, +"type": "array" +} +}, +"type": "object" +}, +"GoogleCloudVideointelligenceV1beta2_NormalizedVertex": { +"description": "A vertex represents a 2D point in the image. NOTE: the normalized vertex coordinates are relative to the original image and range from 0 to 1.", +"id": "GoogleCloudVideointelligenceV1beta2_NormalizedVertex", +"properties": { +"x": { +"description": "X coordinate.", +"format": "float", +"type": "number" +}, +"y": { +"description": "Y coordinate.", +"format": "float", +"type": "number" +} +}, +"type": "object" +}, +"GoogleCloudVideointelligenceV1beta2_ObjectTrackingAnnotation": { +"description": "Annotations corresponding to one tracked object.", +"id": "GoogleCloudVideointelligenceV1beta2_ObjectTrackingAnnotation", +"properties": { +"confidence": { +"description": "Object category's labeling confidence of this track.", +"format": "float", +"type": "number" +}, +"entity": { +"$ref": "GoogleCloudVideointelligenceV1beta2_Entity", +"description": "Entity to specify the object category that this track is labeled as." +}, +"frames": { +"description": "Information corresponding to all frames where this object track appears. Non-streaming batch mode: it may be one or multiple ObjectTrackingFrame messages in frames. Streaming mode: it can only be one ObjectTrackingFrame message in frames.", +"items": { +"$ref": "GoogleCloudVideointelligenceV1beta2_ObjectTrackingFrame" +}, +"type": "array" +}, +"segment": { +"$ref": "GoogleCloudVideointelligenceV1beta2_VideoSegment", +"description": "Non-streaming batch mode ONLY. Each object track corresponds to one video segment where it appears." +}, +"trackId": { +"description": "Streaming mode ONLY. In streaming mode, we do not know the end time of a tracked object before it is completed. Hence, there is no VideoSegment info returned. Instead, we provide a unique identifiable integer track_id so that the customers can correlate the results of the ongoing ObjectTrackAnnotation of the same track_id over time.", +"format": "int64", +"type": "string" +}, +"version": { +"description": "Feature version.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudVideointelligenceV1beta2_ObjectTrackingConfig": { +"description": "Config for OBJECT_TRACKING.", +"id": "GoogleCloudVideointelligenceV1beta2_ObjectTrackingConfig", +"properties": { +"model": { +"description": "Model to use for object tracking. Supported values: \"builtin/stable\" (the default if unset) and \"builtin/latest\".", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudVideointelligenceV1beta2_ObjectTrackingFrame": { +"description": "Video frame level annotations for object detection and tracking. This field stores per frame location, time offset, and confidence.", +"id": "GoogleCloudVideointelligenceV1beta2_ObjectTrackingFrame", +"properties": { +"normalizedBoundingBox": { +"$ref": "GoogleCloudVideointelligenceV1beta2_NormalizedBoundingBox", +"description": "The normalized bounding box location of this object track for the frame." +}, +"timeOffset": { +"description": "The timestamp of the frame in microseconds.", +"format": "google-duration", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudVideointelligenceV1beta2_PersonDetectionAnnotation": { +"description": "Person detection annotation per video.", +"id": "GoogleCloudVideointelligenceV1beta2_PersonDetectionAnnotation", +"properties": { +"tracks": { +"description": "The detected tracks of a person.", +"items": { +"$ref": "GoogleCloudVideointelligenceV1beta2_Track" +}, +"type": "array" +}, +"version": { +"description": "Feature version.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudVideointelligenceV1beta2_PersonDetectionConfig": { +"description": "Config for PERSON_DETECTION.", +"id": "GoogleCloudVideointelligenceV1beta2_PersonDetectionConfig", +"properties": { +"includeAttributes": { +"description": "Whether to enable person attributes detection, such as cloth color (black, blue, etc), type (coat, dress, etc), pattern (plain, floral, etc), hair, etc. Ignored if 'include_bounding_boxes' is set to false.", +"type": "boolean" +}, +"includeBoundingBoxes": { +"description": "Whether bounding boxes are included in the person detection annotation output.", +"type": "boolean" +}, +"includePoseLandmarks": { +"description": "Whether to enable pose landmarks detection. Ignored if 'include_bounding_boxes' is set to false.", +"type": "boolean" +} +}, +"type": "object" +}, +"GoogleCloudVideointelligenceV1beta2_ShotChangeDetectionConfig": { +"description": "Config for SHOT_CHANGE_DETECTION.", +"id": "GoogleCloudVideointelligenceV1beta2_ShotChangeDetectionConfig", +"properties": { +"model": { +"description": "Model to use for shot change detection. Supported values: \"builtin/stable\" (the default if unset), \"builtin/latest\", and \"builtin/legacy\".", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudVideointelligenceV1beta2_SpeechContext": { +"description": "Provides \"hints\" to the speech recognizer to favor specific words and phrases in the results.", +"id": "GoogleCloudVideointelligenceV1beta2_SpeechContext", +"properties": { +"phrases": { +"description": "Optional. A list of strings containing words and phrases \"hints\" so that the speech recognition is more likely to recognize them. This can be used to improve the accuracy for specific words and phrases, for example, if specific commands are typically spoken by the user. This can also be used to add additional words to the vocabulary of the recognizer. See [usage limits](https://cloud.google.com/speech/limits#content).", +"items": { +"type": "string" +}, +"type": "array" +} +}, +"type": "object" +}, +"GoogleCloudVideointelligenceV1beta2_SpeechRecognitionAlternative": { +"description": "Alternative hypotheses (a.k.a. n-best list).", +"id": "GoogleCloudVideointelligenceV1beta2_SpeechRecognitionAlternative", +"properties": { +"confidence": { +"description": "Output only. The confidence estimate between 0.0 and 1.0. A higher number indicates an estimated greater likelihood that the recognized words are correct. This field is set only for the top alternative. This field is not guaranteed to be accurate and users should not rely on it to be always provided. The default of 0.0 is a sentinel value indicating `confidence` was not set.", +"format": "float", +"readOnly": true, +"type": "number" +}, +"transcript": { +"description": "Transcript text representing the words that the user spoke.", +"type": "string" +}, +"words": { +"description": "Output only. A list of word-specific information for each recognized word. Note: When `enable_speaker_diarization` is set to true, you will see all the words from the beginning of the audio.", +"items": { +"$ref": "GoogleCloudVideointelligenceV1beta2_WordInfo" +}, +"readOnly": true, +"type": "array" +} +}, +"type": "object" +}, +"GoogleCloudVideointelligenceV1beta2_SpeechTranscription": { +"description": "A speech recognition result corresponding to a portion of the audio.", +"id": "GoogleCloudVideointelligenceV1beta2_SpeechTranscription", +"properties": { +"alternatives": { +"description": "May contain one or more recognition hypotheses (up to the maximum specified in `max_alternatives`). These alternatives are ordered in terms of accuracy, with the top (first) alternative being the most probable, as ranked by the recognizer.", +"items": { +"$ref": "GoogleCloudVideointelligenceV1beta2_SpeechRecognitionAlternative" +}, +"type": "array" +}, +"languageCode": { +"description": "Output only. The [BCP-47](https://www.rfc-editor.org/rfc/bcp/bcp47.txt) language tag of the language in this result. This language code was detected to have the most likelihood of being spoken in the audio.", +"readOnly": true, +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudVideointelligenceV1beta2_SpeechTranscriptionConfig": { +"description": "Config for SPEECH_TRANSCRIPTION.", +"id": "GoogleCloudVideointelligenceV1beta2_SpeechTranscriptionConfig", +"properties": { +"audioTracks": { +"description": "Optional. For file formats, such as MXF or MKV, supporting multiple audio tracks, specify up to two tracks. Default: track 0.", +"items": { +"format": "int32", +"type": "integer" +}, +"type": "array" +}, +"diarizationSpeakerCount": { +"description": "Optional. If set, specifies the estimated number of speakers in the conversation. If not set, defaults to '2'. Ignored unless enable_speaker_diarization is set to true.", +"format": "int32", +"type": "integer" +}, +"enableAutomaticPunctuation": { +"description": "Optional. If 'true', adds punctuation to recognition result hypotheses. This feature is only available in select languages. Setting this for requests in other languages has no effect at all. The default 'false' value does not add punctuation to result hypotheses. NOTE: \"This is currently offered as an experimental service, complimentary to all users. In the future this may be exclusively available as a premium feature.\"", +"type": "boolean" +}, +"enableSpeakerDiarization": { +"description": "Optional. If 'true', enables speaker detection for each recognized word in the top alternative of the recognition result using a speaker_tag provided in the WordInfo. Note: When this is true, we send all the words from the beginning of the audio for the top alternative in every consecutive response. This is done in order to improve our speaker tags as our models learn to identify the speakers in the conversation over time.", +"type": "boolean" +}, +"enableWordConfidence": { +"description": "Optional. If `true`, the top result includes a list of words and the confidence for those words. If `false`, no word-level confidence information is returned. The default is `false`.", +"type": "boolean" +}, +"filterProfanity": { +"description": "Optional. If set to `true`, the server will attempt to filter out profanities, replacing all but the initial character in each filtered word with asterisks, e.g. \"f***\". If set to `false` or omitted, profanities won't be filtered out.", +"type": "boolean" +}, +"languageCode": { +"description": "Required. *Required* The language of the supplied audio as a [BCP-47](https://www.rfc-editor.org/rfc/bcp/bcp47.txt) language tag. Example: \"en-US\". See [Language Support](https://cloud.google.com/speech/docs/languages) for a list of the currently supported language codes.", +"type": "string" +}, +"maxAlternatives": { +"description": "Optional. Maximum number of recognition hypotheses to be returned. Specifically, the maximum number of `SpeechRecognitionAlternative` messages within each `SpeechTranscription`. The server may return fewer than `max_alternatives`. Valid values are `0`-`30`. A value of `0` or `1` will return a maximum of one. If omitted, will return a maximum of one.", +"format": "int32", +"type": "integer" +}, +"speechContexts": { +"description": "Optional. A means to provide context to assist the speech recognition.", +"items": { +"$ref": "GoogleCloudVideointelligenceV1beta2_SpeechContext" +}, +"type": "array" +} +}, +"type": "object" +}, +"GoogleCloudVideointelligenceV1beta2_TextAnnotation": { +"description": "Annotations related to one detected OCR text snippet. This will contain the corresponding text, confidence value, and frame level information for each detection.", +"id": "GoogleCloudVideointelligenceV1beta2_TextAnnotation", +"properties": { +"segments": { +"description": "All video segments where OCR detected text appears.", +"items": { +"$ref": "GoogleCloudVideointelligenceV1beta2_TextSegment" +}, +"type": "array" +}, +"text": { +"description": "The detected text.", +"type": "string" +}, +"version": { +"description": "Feature version.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudVideointelligenceV1beta2_TextDetectionConfig": { +"description": "Config for TEXT_DETECTION.", +"id": "GoogleCloudVideointelligenceV1beta2_TextDetectionConfig", +"properties": { +"languageHints": { +"description": "Language hint can be specified if the language to be detected is known a priori. It can increase the accuracy of the detection. Language hint must be language code in BCP-47 format. Automatic language detection is performed if no hint is provided.", +"items": { +"type": "string" +}, +"type": "array" +}, +"model": { +"description": "Model to use for text detection. Supported values: \"builtin/stable\" (the default if unset) and \"builtin/latest\".", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudVideointelligenceV1beta2_TextFrame": { +"description": "Video frame level annotation results for text annotation (OCR). Contains information regarding timestamp and bounding box locations for the frames containing detected OCR text snippets.", +"id": "GoogleCloudVideointelligenceV1beta2_TextFrame", +"properties": { +"rotatedBoundingBox": { +"$ref": "GoogleCloudVideointelligenceV1beta2_NormalizedBoundingPoly", +"description": "Bounding polygon of the detected text for this frame." +}, +"timeOffset": { +"description": "Timestamp of this frame.", +"format": "google-duration", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudVideointelligenceV1beta2_TextSegment": { +"description": "Video segment level annotation results for text detection.", +"id": "GoogleCloudVideointelligenceV1beta2_TextSegment", +"properties": { +"confidence": { +"description": "Confidence for the track of detected text. It is calculated as the highest over all frames where OCR detected text appears.", +"format": "float", +"type": "number" +}, +"frames": { +"description": "Information related to the frames where OCR detected text appears.", +"items": { +"$ref": "GoogleCloudVideointelligenceV1beta2_TextFrame" +}, +"type": "array" +}, +"segment": { +"$ref": "GoogleCloudVideointelligenceV1beta2_VideoSegment", +"description": "Video segment where a text snippet was detected." +} +}, +"type": "object" +}, +"GoogleCloudVideointelligenceV1beta2_TimestampedObject": { +"description": "For tracking related features. An object at time_offset with attributes, and located with normalized_bounding_box.", +"id": "GoogleCloudVideointelligenceV1beta2_TimestampedObject", +"properties": { +"attributes": { +"description": "Optional. The attributes of the object in the bounding box.", +"items": { +"$ref": "GoogleCloudVideointelligenceV1beta2_DetectedAttribute" +}, +"type": "array" +}, +"landmarks": { +"description": "Optional. The detected landmarks.", +"items": { +"$ref": "GoogleCloudVideointelligenceV1beta2_DetectedLandmark" +}, +"type": "array" +}, +"normalizedBoundingBox": { +"$ref": "GoogleCloudVideointelligenceV1beta2_NormalizedBoundingBox", +"description": "Normalized Bounding box in a frame, where the object is located." +}, +"timeOffset": { +"description": "Time-offset, relative to the beginning of the video, corresponding to the video frame for this object.", +"format": "google-duration", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudVideointelligenceV1beta2_Track": { +"description": "A track of an object instance.", +"id": "GoogleCloudVideointelligenceV1beta2_Track", +"properties": { +"attributes": { +"description": "Optional. Attributes in the track level.", +"items": { +"$ref": "GoogleCloudVideointelligenceV1beta2_DetectedAttribute" +}, +"type": "array" +}, +"confidence": { +"description": "Optional. The confidence score of the tracked object.", +"format": "float", +"type": "number" +}, +"segment": { +"$ref": "GoogleCloudVideointelligenceV1beta2_VideoSegment", +"description": "Video segment of a track." +}, +"timestampedObjects": { +"description": "The object with timestamp and attributes per frame in the track.", +"items": { +"$ref": "GoogleCloudVideointelligenceV1beta2_TimestampedObject" +}, +"type": "array" +} +}, +"type": "object" +}, +"GoogleCloudVideointelligenceV1beta2_VideoAnnotationProgress": { +"description": "Annotation progress for a single video.", +"id": "GoogleCloudVideointelligenceV1beta2_VideoAnnotationProgress", +"properties": { +"feature": { +"description": "Specifies which feature is being tracked if the request contains more than one feature.", +"enum": [ +"FEATURE_UNSPECIFIED", +"LABEL_DETECTION", +"SHOT_CHANGE_DETECTION", +"EXPLICIT_CONTENT_DETECTION", +"FACE_DETECTION", +"SPEECH_TRANSCRIPTION", +"TEXT_DETECTION", +"OBJECT_TRACKING", +"LOGO_RECOGNITION", +"PERSON_DETECTION" +], +"enumDescriptions": [ +"Unspecified.", +"Label detection. Detect objects, such as dog or flower.", +"Shot change detection.", +"Explicit content detection.", +"Human face detection.", +"Speech transcription.", +"OCR text detection and tracking.", +"Object detection and tracking.", +"Logo detection, tracking, and recognition.", +"Person detection." +], +"type": "string" +}, +"inputUri": { +"description": "Video file location in [Cloud Storage](https://cloud.google.com/storage/).", +"type": "string" +}, +"progressPercent": { +"description": "Approximate percentage processed thus far. Guaranteed to be 100 when fully processed.", +"format": "int32", +"type": "integer" +}, +"segment": { +"$ref": "GoogleCloudVideointelligenceV1beta2_VideoSegment", +"description": "Specifies which segment is being tracked if the request contains more than one segment." +}, +"startTime": { +"description": "Time when the request was received.", +"format": "google-datetime", +"type": "string" +}, +"updateTime": { +"description": "Time of the most recent update.", +"format": "google-datetime", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudVideointelligenceV1beta2_VideoAnnotationResults": { +"description": "Annotation results for a single video.", +"id": "GoogleCloudVideointelligenceV1beta2_VideoAnnotationResults", +"properties": { +"error": { +"$ref": "GoogleRpc_Status", +"description": "If set, indicates an error. Note that for a single `AnnotateVideoRequest` some videos may succeed and some may fail." +}, +"explicitAnnotation": { +"$ref": "GoogleCloudVideointelligenceV1beta2_ExplicitContentAnnotation", +"description": "Explicit content annotation." +}, +"faceAnnotations": { +"deprecated": true, +"description": "Deprecated. Please use `face_detection_annotations` instead.", +"items": { +"$ref": "GoogleCloudVideointelligenceV1beta2_FaceAnnotation" +}, +"type": "array" +}, +"faceDetectionAnnotations": { +"description": "Face detection annotations.", +"items": { +"$ref": "GoogleCloudVideointelligenceV1beta2_FaceDetectionAnnotation" +}, +"type": "array" +}, +"frameLabelAnnotations": { +"description": "Label annotations on frame level. There is exactly one element for each unique label.", +"items": { +"$ref": "GoogleCloudVideointelligenceV1beta2_LabelAnnotation" +}, +"type": "array" +}, +"inputUri": { +"description": "Video file location in [Cloud Storage](https://cloud.google.com/storage/).", +"type": "string" +}, +"logoRecognitionAnnotations": { +"description": "Annotations for list of logos detected, tracked and recognized in video.", +"items": { +"$ref": "GoogleCloudVideointelligenceV1beta2_LogoRecognitionAnnotation" +}, +"type": "array" +}, +"objectAnnotations": { +"description": "Annotations for list of objects detected and tracked in video.", +"items": { +"$ref": "GoogleCloudVideointelligenceV1beta2_ObjectTrackingAnnotation" +}, +"type": "array" +}, +"personDetectionAnnotations": { +"description": "Person detection annotations.", +"items": { +"$ref": "GoogleCloudVideointelligenceV1beta2_PersonDetectionAnnotation" +}, +"type": "array" +}, +"segment": { +"$ref": "GoogleCloudVideointelligenceV1beta2_VideoSegment", +"description": "Video segment on which the annotation is run." +}, +"segmentLabelAnnotations": { +"description": "Topical label annotations on video level or user-specified segment level. There is exactly one element for each unique label.", +"items": { +"$ref": "GoogleCloudVideointelligenceV1beta2_LabelAnnotation" +}, +"type": "array" +}, +"segmentPresenceLabelAnnotations": { +"description": "Presence label annotations on video level or user-specified segment level. There is exactly one element for each unique label. Compared to the existing topical `segment_label_annotations`, this field presents more fine-grained, segment-level labels detected in video content and is made available only when the client sets `LabelDetectionConfig.model` to \"builtin/latest\" in the request.", +"items": { +"$ref": "GoogleCloudVideointelligenceV1beta2_LabelAnnotation" +}, +"type": "array" +}, +"shotAnnotations": { +"description": "Shot annotations. Each shot is represented as a video segment.", +"items": { +"$ref": "GoogleCloudVideointelligenceV1beta2_VideoSegment" +}, +"type": "array" +}, +"shotLabelAnnotations": { +"description": "Topical label annotations on shot level. There is exactly one element for each unique label.", +"items": { +"$ref": "GoogleCloudVideointelligenceV1beta2_LabelAnnotation" +}, +"type": "array" +}, +"shotPresenceLabelAnnotations": { +"description": "Presence label annotations on shot level. There is exactly one element for each unique label. Compared to the existing topical `shot_label_annotations`, this field presents more fine-grained, shot-level labels detected in video content and is made available only when the client sets `LabelDetectionConfig.model` to \"builtin/latest\" in the request.", +"items": { +"$ref": "GoogleCloudVideointelligenceV1beta2_LabelAnnotation" +}, +"type": "array" +}, +"speechTranscriptions": { +"description": "Speech transcription.", +"items": { +"$ref": "GoogleCloudVideointelligenceV1beta2_SpeechTranscription" +}, +"type": "array" +}, +"textAnnotations": { +"description": "OCR text detection and tracking. Annotations for list of detected text snippets. Each will have list of frame information associated with it.", +"items": { +"$ref": "GoogleCloudVideointelligenceV1beta2_TextAnnotation" +}, +"type": "array" +} +}, +"type": "object" +}, +"GoogleCloudVideointelligenceV1beta2_VideoContext": { +"description": "Video context and/or feature-specific parameters.", +"id": "GoogleCloudVideointelligenceV1beta2_VideoContext", +"properties": { +"explicitContentDetectionConfig": { +"$ref": "GoogleCloudVideointelligenceV1beta2_ExplicitContentDetectionConfig", +"description": "Config for EXPLICIT_CONTENT_DETECTION." +}, +"faceDetectionConfig": { +"$ref": "GoogleCloudVideointelligenceV1beta2_FaceDetectionConfig", +"description": "Config for FACE_DETECTION." +}, +"labelDetectionConfig": { +"$ref": "GoogleCloudVideointelligenceV1beta2_LabelDetectionConfig", +"description": "Config for LABEL_DETECTION." +}, +"objectTrackingConfig": { +"$ref": "GoogleCloudVideointelligenceV1beta2_ObjectTrackingConfig", +"description": "Config for OBJECT_TRACKING." +}, +"personDetectionConfig": { +"$ref": "GoogleCloudVideointelligenceV1beta2_PersonDetectionConfig", +"description": "Config for PERSON_DETECTION." +}, +"segments": { +"description": "Video segments to annotate. The segments may overlap and are not required to be contiguous or span the whole video. If unspecified, each video is treated as a single segment.", +"items": { +"$ref": "GoogleCloudVideointelligenceV1beta2_VideoSegment" +}, +"type": "array" +}, +"shotChangeDetectionConfig": { +"$ref": "GoogleCloudVideointelligenceV1beta2_ShotChangeDetectionConfig", +"description": "Config for SHOT_CHANGE_DETECTION." +}, +"speechTranscriptionConfig": { +"$ref": "GoogleCloudVideointelligenceV1beta2_SpeechTranscriptionConfig", +"description": "Config for SPEECH_TRANSCRIPTION." +}, +"textDetectionConfig": { +"$ref": "GoogleCloudVideointelligenceV1beta2_TextDetectionConfig", +"description": "Config for TEXT_DETECTION." +} +}, +"type": "object" +}, +"GoogleCloudVideointelligenceV1beta2_VideoSegment": { +"description": "Video segment.", +"id": "GoogleCloudVideointelligenceV1beta2_VideoSegment", +"properties": { +"endTimeOffset": { +"description": "Time-offset, relative to the beginning of the video, corresponding to the end of the segment (inclusive).", +"format": "google-duration", +"type": "string" +}, +"startTimeOffset": { +"description": "Time-offset, relative to the beginning of the video, corresponding to the start of the segment (inclusive).", +"format": "google-duration", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudVideointelligenceV1beta2_WordInfo": { +"description": "Word-specific information for recognized words. Word information is only included in the response when certain request parameters are set, such as `enable_word_time_offsets`.", +"id": "GoogleCloudVideointelligenceV1beta2_WordInfo", +"properties": { +"confidence": { +"description": "Output only. The confidence estimate between 0.0 and 1.0. A higher number indicates an estimated greater likelihood that the recognized words are correct. This field is set only for the top alternative. This field is not guaranteed to be accurate and users should not rely on it to be always provided. The default of 0.0 is a sentinel value indicating `confidence` was not set.", +"format": "float", +"readOnly": true, +"type": "number" +}, +"endTime": { +"description": "Time offset relative to the beginning of the audio, and corresponding to the end of the spoken word. This field is only set if `enable_word_time_offsets=true` and only in the top hypothesis. This is an experimental feature and the accuracy of the time offset can vary.", +"format": "google-duration", +"type": "string" +}, +"speakerTag": { +"description": "Output only. A distinct integer value is assigned for every speaker within the audio. This field specifies which one of those speakers was detected to have spoken this word. Value ranges from 1 up to diarization_speaker_count, and is only set if speaker diarization is enabled.", +"format": "int32", +"readOnly": true, +"type": "integer" +}, +"startTime": { +"description": "Time offset relative to the beginning of the audio, and corresponding to the start of the spoken word. This field is only set if `enable_word_time_offsets=true` and only in the top hypothesis. This is an experimental feature and the accuracy of the time offset can vary.", +"format": "google-duration", +"type": "string" +}, +"word": { +"description": "The word corresponding to this set of information.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudVideointelligenceV1p1beta1_AnnotateVideoProgress": { +"description": "Video annotation progress. Included in the `metadata` field of the `Operation` returned by the `GetOperation` call of the `google::longrunning::Operations` service.", +"id": "GoogleCloudVideointelligenceV1p1beta1_AnnotateVideoProgress", +"properties": { +"annotationProgress": { +"description": "Progress metadata for all videos specified in `AnnotateVideoRequest`.", +"items": { +"$ref": "GoogleCloudVideointelligenceV1p1beta1_VideoAnnotationProgress" +}, +"type": "array" +} +}, +"type": "object" +}, +"GoogleCloudVideointelligenceV1p1beta1_AnnotateVideoResponse": { +"description": "Video annotation response. Included in the `response` field of the `Operation` returned by the `GetOperation` call of the `google::longrunning::Operations` service.", +"id": "GoogleCloudVideointelligenceV1p1beta1_AnnotateVideoResponse", +"properties": { +"annotationResults": { +"description": "Annotation results for all videos specified in `AnnotateVideoRequest`.", +"items": { +"$ref": "GoogleCloudVideointelligenceV1p1beta1_VideoAnnotationResults" +}, +"type": "array" +} +}, +"type": "object" +}, +"GoogleCloudVideointelligenceV1p1beta1_DetectedAttribute": { +"description": "A generic detected attribute represented by name in string format.", +"id": "GoogleCloudVideointelligenceV1p1beta1_DetectedAttribute", +"properties": { +"confidence": { +"description": "Detected attribute confidence. Range [0, 1].", +"format": "float", +"type": "number" +}, +"name": { +"description": "The name of the attribute, for example, glasses, dark_glasses, mouth_open. A full list of supported type names will be provided in the document.", +"type": "string" +}, +"value": { +"description": "Text value of the detection result. For example, the value for \"HairColor\" can be \"black\", \"blonde\", etc.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudVideointelligenceV1p1beta1_DetectedLandmark": { +"description": "A generic detected landmark represented by name in string format and a 2D location.", +"id": "GoogleCloudVideointelligenceV1p1beta1_DetectedLandmark", +"properties": { +"confidence": { +"description": "The confidence score of the detected landmark. Range [0, 1].", +"format": "float", +"type": "number" +}, +"name": { +"description": "The name of this landmark, for example, left_hand, right_shoulder.", +"type": "string" +}, +"point": { +"$ref": "GoogleCloudVideointelligenceV1p1beta1_NormalizedVertex", +"description": "The 2D point of the detected landmark using the normalized image coordindate system. The normalized coordinates have the range from 0 to 1." +} +}, +"type": "object" +}, +"GoogleCloudVideointelligenceV1p1beta1_Entity": { +"description": "Detected entity from video analysis.", +"id": "GoogleCloudVideointelligenceV1p1beta1_Entity", +"properties": { +"description": { +"description": "Textual description, e.g., `Fixed-gear bicycle`.", +"type": "string" +}, +"entityId": { +"description": "Opaque entity ID. Some IDs may be available in [Google Knowledge Graph Search API](https://developers.google.com/knowledge-graph/).", +"type": "string" +}, +"languageCode": { +"description": "Language code for `description` in BCP-47 format.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudVideointelligenceV1p1beta1_ExplicitContentAnnotation": { +"description": "Explicit content annotation (based on per-frame visual signals only). If no explicit content has been detected in a frame, no annotations are present for that frame.", +"id": "GoogleCloudVideointelligenceV1p1beta1_ExplicitContentAnnotation", +"properties": { +"frames": { +"description": "All video frames where explicit content was detected.", +"items": { +"$ref": "GoogleCloudVideointelligenceV1p1beta1_ExplicitContentFrame" +}, +"type": "array" +}, +"version": { +"description": "Feature version.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudVideointelligenceV1p1beta1_ExplicitContentFrame": { +"description": "Video frame level annotation results for explicit content.", +"id": "GoogleCloudVideointelligenceV1p1beta1_ExplicitContentFrame", +"properties": { +"pornographyLikelihood": { +"description": "Likelihood of the pornography content..", +"enum": [ +"LIKELIHOOD_UNSPECIFIED", +"VERY_UNLIKELY", +"UNLIKELY", +"POSSIBLE", +"LIKELY", +"VERY_LIKELY" +], +"enumDescriptions": [ +"Unspecified likelihood.", +"Very unlikely.", +"Unlikely.", +"Possible.", +"Likely.", +"Very likely." +], +"type": "string" +}, +"timeOffset": { +"description": "Time-offset, relative to the beginning of the video, corresponding to the video frame for this location.", +"format": "google-duration", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudVideointelligenceV1p1beta1_FaceAnnotation": { +"deprecated": true, +"description": "Deprecated. No effect.", +"id": "GoogleCloudVideointelligenceV1p1beta1_FaceAnnotation", +"properties": { +"frames": { +"description": "All video frames where a face was detected.", +"items": { +"$ref": "GoogleCloudVideointelligenceV1p1beta1_FaceFrame" +}, +"type": "array" +}, +"segments": { +"description": "All video segments where a face was detected.", +"items": { +"$ref": "GoogleCloudVideointelligenceV1p1beta1_FaceSegment" +}, +"type": "array" +}, +"thumbnail": { +"description": "Thumbnail of a representative face view (in JPEG format).", +"format": "byte", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudVideointelligenceV1p1beta1_FaceDetectionAnnotation": { +"description": "Face detection annotation.", +"id": "GoogleCloudVideointelligenceV1p1beta1_FaceDetectionAnnotation", +"properties": { +"thumbnail": { +"description": "The thumbnail of a person's face.", +"format": "byte", +"type": "string" +}, +"tracks": { +"description": "The face tracks with attributes.", +"items": { +"$ref": "GoogleCloudVideointelligenceV1p1beta1_Track" +}, +"type": "array" +}, +"version": { +"description": "Feature version.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudVideointelligenceV1p1beta1_FaceFrame": { +"deprecated": true, +"description": "Deprecated. No effect.", +"id": "GoogleCloudVideointelligenceV1p1beta1_FaceFrame", +"properties": { +"normalizedBoundingBoxes": { +"description": "Normalized Bounding boxes in a frame. There can be more than one boxes if the same face is detected in multiple locations within the current frame.", +"items": { +"$ref": "GoogleCloudVideointelligenceV1p1beta1_NormalizedBoundingBox" +}, +"type": "array" +}, +"timeOffset": { +"description": "Time-offset, relative to the beginning of the video, corresponding to the video frame for this location.", +"format": "google-duration", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudVideointelligenceV1p1beta1_FaceSegment": { +"description": "Video segment level annotation results for face detection.", +"id": "GoogleCloudVideointelligenceV1p1beta1_FaceSegment", +"properties": { +"segment": { +"$ref": "GoogleCloudVideointelligenceV1p1beta1_VideoSegment", +"description": "Video segment where a face was detected." +} +}, +"type": "object" +}, +"GoogleCloudVideointelligenceV1p1beta1_LabelAnnotation": { +"description": "Label annotation.", +"id": "GoogleCloudVideointelligenceV1p1beta1_LabelAnnotation", +"properties": { +"categoryEntities": { +"description": "Common categories for the detected entity. For example, when the label is `Terrier`, the category is likely `dog`. And in some cases there might be more than one categories e.g., `Terrier` could also be a `pet`.", +"items": { +"$ref": "GoogleCloudVideointelligenceV1p1beta1_Entity" +}, +"type": "array" +}, +"entity": { +"$ref": "GoogleCloudVideointelligenceV1p1beta1_Entity", +"description": "Detected entity." +}, +"frames": { +"description": "All video frames where a label was detected.", +"items": { +"$ref": "GoogleCloudVideointelligenceV1p1beta1_LabelFrame" +}, +"type": "array" +}, +"segments": { +"description": "All video segments where a label was detected.", +"items": { +"$ref": "GoogleCloudVideointelligenceV1p1beta1_LabelSegment" +}, +"type": "array" +}, +"version": { +"description": "Feature version.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudVideointelligenceV1p1beta1_LabelFrame": { +"description": "Video frame level annotation results for label detection.", +"id": "GoogleCloudVideointelligenceV1p1beta1_LabelFrame", +"properties": { +"confidence": { +"description": "Confidence that the label is accurate. Range: [0, 1].", +"format": "float", +"type": "number" +}, +"timeOffset": { +"description": "Time-offset, relative to the beginning of the video, corresponding to the video frame for this location.", +"format": "google-duration", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudVideointelligenceV1p1beta1_LabelSegment": { +"description": "Video segment level annotation results for label detection.", +"id": "GoogleCloudVideointelligenceV1p1beta1_LabelSegment", +"properties": { +"confidence": { +"description": "Confidence that the label is accurate. Range: [0, 1].", +"format": "float", +"type": "number" +}, +"segment": { +"$ref": "GoogleCloudVideointelligenceV1p1beta1_VideoSegment", +"description": "Video segment where a label was detected." +} +}, +"type": "object" +}, +"GoogleCloudVideointelligenceV1p1beta1_LogoRecognitionAnnotation": { +"description": "Annotation corresponding to one detected, tracked and recognized logo class.", +"id": "GoogleCloudVideointelligenceV1p1beta1_LogoRecognitionAnnotation", +"properties": { +"entity": { +"$ref": "GoogleCloudVideointelligenceV1p1beta1_Entity", +"description": "Entity category information to specify the logo class that all the logo tracks within this LogoRecognitionAnnotation are recognized as." +}, +"segments": { +"description": "All video segments where the recognized logo appears. There might be multiple instances of the same logo class appearing in one VideoSegment.", +"items": { +"$ref": "GoogleCloudVideointelligenceV1p1beta1_VideoSegment" +}, +"type": "array" +}, +"tracks": { +"description": "All logo tracks where the recognized logo appears. Each track corresponds to one logo instance appearing in consecutive frames.", +"items": { +"$ref": "GoogleCloudVideointelligenceV1p1beta1_Track" +}, +"type": "array" +} +}, +"type": "object" +}, +"GoogleCloudVideointelligenceV1p1beta1_NormalizedBoundingBox": { +"description": "Normalized bounding box. The normalized vertex coordinates are relative to the original image. Range: [0, 1].", +"id": "GoogleCloudVideointelligenceV1p1beta1_NormalizedBoundingBox", +"properties": { +"bottom": { +"description": "Bottom Y coordinate.", +"format": "float", +"type": "number" +}, +"left": { +"description": "Left X coordinate.", +"format": "float", +"type": "number" +}, +"right": { +"description": "Right X coordinate.", +"format": "float", +"type": "number" +}, +"top": { +"description": "Top Y coordinate.", +"format": "float", +"type": "number" +} +}, +"type": "object" +}, +"GoogleCloudVideointelligenceV1p1beta1_NormalizedBoundingPoly": { +"description": "Normalized bounding polygon for text (that might not be aligned with axis). Contains list of the corner points in clockwise order starting from top-left corner. For example, for a rectangular bounding box: When the text is horizontal it might look like: 0----1 | | 3----2 When it's clockwise rotated 180 degrees around the top-left corner it becomes: 2----3 | | 1----0 and the vertex order will still be (0, 1, 2, 3). Note that values can be less than 0, or greater than 1 due to trignometric calculations for location of the box.", +"id": "GoogleCloudVideointelligenceV1p1beta1_NormalizedBoundingPoly", +"properties": { +"vertices": { +"description": "Normalized vertices of the bounding polygon.", +"items": { +"$ref": "GoogleCloudVideointelligenceV1p1beta1_NormalizedVertex" +}, +"type": "array" +} +}, +"type": "object" +}, +"GoogleCloudVideointelligenceV1p1beta1_NormalizedVertex": { +"description": "A vertex represents a 2D point in the image. NOTE: the normalized vertex coordinates are relative to the original image and range from 0 to 1.", +"id": "GoogleCloudVideointelligenceV1p1beta1_NormalizedVertex", +"properties": { +"x": { +"description": "X coordinate.", +"format": "float", +"type": "number" +}, +"y": { +"description": "Y coordinate.", +"format": "float", +"type": "number" +} +}, +"type": "object" +}, +"GoogleCloudVideointelligenceV1p1beta1_ObjectTrackingAnnotation": { +"description": "Annotations corresponding to one tracked object.", +"id": "GoogleCloudVideointelligenceV1p1beta1_ObjectTrackingAnnotation", +"properties": { +"confidence": { +"description": "Object category's labeling confidence of this track.", +"format": "float", +"type": "number" +}, +"entity": { +"$ref": "GoogleCloudVideointelligenceV1p1beta1_Entity", +"description": "Entity to specify the object category that this track is labeled as." +}, +"frames": { +"description": "Information corresponding to all frames where this object track appears. Non-streaming batch mode: it may be one or multiple ObjectTrackingFrame messages in frames. Streaming mode: it can only be one ObjectTrackingFrame message in frames.", +"items": { +"$ref": "GoogleCloudVideointelligenceV1p1beta1_ObjectTrackingFrame" +}, +"type": "array" +}, +"segment": { +"$ref": "GoogleCloudVideointelligenceV1p1beta1_VideoSegment", +"description": "Non-streaming batch mode ONLY. Each object track corresponds to one video segment where it appears." +}, +"trackId": { +"description": "Streaming mode ONLY. In streaming mode, we do not know the end time of a tracked object before it is completed. Hence, there is no VideoSegment info returned. Instead, we provide a unique identifiable integer track_id so that the customers can correlate the results of the ongoing ObjectTrackAnnotation of the same track_id over time.", +"format": "int64", +"type": "string" +}, +"version": { +"description": "Feature version.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudVideointelligenceV1p1beta1_ObjectTrackingFrame": { +"description": "Video frame level annotations for object detection and tracking. This field stores per frame location, time offset, and confidence.", +"id": "GoogleCloudVideointelligenceV1p1beta1_ObjectTrackingFrame", +"properties": { +"normalizedBoundingBox": { +"$ref": "GoogleCloudVideointelligenceV1p1beta1_NormalizedBoundingBox", +"description": "The normalized bounding box location of this object track for the frame." +}, +"timeOffset": { +"description": "The timestamp of the frame in microseconds.", +"format": "google-duration", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudVideointelligenceV1p1beta1_PersonDetectionAnnotation": { +"description": "Person detection annotation per video.", +"id": "GoogleCloudVideointelligenceV1p1beta1_PersonDetectionAnnotation", +"properties": { +"tracks": { +"description": "The detected tracks of a person.", +"items": { +"$ref": "GoogleCloudVideointelligenceV1p1beta1_Track" +}, +"type": "array" +}, +"version": { +"description": "Feature version.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudVideointelligenceV1p1beta1_SpeechRecognitionAlternative": { +"description": "Alternative hypotheses (a.k.a. n-best list).", +"id": "GoogleCloudVideointelligenceV1p1beta1_SpeechRecognitionAlternative", +"properties": { +"confidence": { +"description": "Output only. The confidence estimate between 0.0 and 1.0. A higher number indicates an estimated greater likelihood that the recognized words are correct. This field is set only for the top alternative. This field is not guaranteed to be accurate and users should not rely on it to be always provided. The default of 0.0 is a sentinel value indicating `confidence` was not set.", +"format": "float", +"readOnly": true, +"type": "number" +}, +"transcript": { +"description": "Transcript text representing the words that the user spoke.", +"type": "string" +}, +"words": { +"description": "Output only. A list of word-specific information for each recognized word. Note: When `enable_speaker_diarization` is set to true, you will see all the words from the beginning of the audio.", +"items": { +"$ref": "GoogleCloudVideointelligenceV1p1beta1_WordInfo" +}, +"readOnly": true, +"type": "array" +} +}, +"type": "object" +}, +"GoogleCloudVideointelligenceV1p1beta1_SpeechTranscription": { +"description": "A speech recognition result corresponding to a portion of the audio.", +"id": "GoogleCloudVideointelligenceV1p1beta1_SpeechTranscription", +"properties": { +"alternatives": { +"description": "May contain one or more recognition hypotheses (up to the maximum specified in `max_alternatives`). These alternatives are ordered in terms of accuracy, with the top (first) alternative being the most probable, as ranked by the recognizer.", +"items": { +"$ref": "GoogleCloudVideointelligenceV1p1beta1_SpeechRecognitionAlternative" +}, +"type": "array" +}, +"languageCode": { +"description": "Output only. The [BCP-47](https://www.rfc-editor.org/rfc/bcp/bcp47.txt) language tag of the language in this result. This language code was detected to have the most likelihood of being spoken in the audio.", +"readOnly": true, +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudVideointelligenceV1p1beta1_TextAnnotation": { +"description": "Annotations related to one detected OCR text snippet. This will contain the corresponding text, confidence value, and frame level information for each detection.", +"id": "GoogleCloudVideointelligenceV1p1beta1_TextAnnotation", +"properties": { +"segments": { +"description": "All video segments where OCR detected text appears.", +"items": { +"$ref": "GoogleCloudVideointelligenceV1p1beta1_TextSegment" +}, +"type": "array" +}, +"text": { +"description": "The detected text.", +"type": "string" +}, +"version": { +"description": "Feature version.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudVideointelligenceV1p1beta1_TextFrame": { +"description": "Video frame level annotation results for text annotation (OCR). Contains information regarding timestamp and bounding box locations for the frames containing detected OCR text snippets.", +"id": "GoogleCloudVideointelligenceV1p1beta1_TextFrame", +"properties": { +"rotatedBoundingBox": { +"$ref": "GoogleCloudVideointelligenceV1p1beta1_NormalizedBoundingPoly", +"description": "Bounding polygon of the detected text for this frame." +}, +"timeOffset": { +"description": "Timestamp of this frame.", +"format": "google-duration", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudVideointelligenceV1p1beta1_TextSegment": { +"description": "Video segment level annotation results for text detection.", +"id": "GoogleCloudVideointelligenceV1p1beta1_TextSegment", +"properties": { +"confidence": { +"description": "Confidence for the track of detected text. It is calculated as the highest over all frames where OCR detected text appears.", +"format": "float", +"type": "number" +}, +"frames": { +"description": "Information related to the frames where OCR detected text appears.", +"items": { +"$ref": "GoogleCloudVideointelligenceV1p1beta1_TextFrame" +}, +"type": "array" +}, +"segment": { +"$ref": "GoogleCloudVideointelligenceV1p1beta1_VideoSegment", +"description": "Video segment where a text snippet was detected." +} +}, +"type": "object" +}, +"GoogleCloudVideointelligenceV1p1beta1_TimestampedObject": { +"description": "For tracking related features. An object at time_offset with attributes, and located with normalized_bounding_box.", +"id": "GoogleCloudVideointelligenceV1p1beta1_TimestampedObject", +"properties": { +"attributes": { +"description": "Optional. The attributes of the object in the bounding box.", +"items": { +"$ref": "GoogleCloudVideointelligenceV1p1beta1_DetectedAttribute" +}, +"type": "array" +}, +"landmarks": { +"description": "Optional. The detected landmarks.", +"items": { +"$ref": "GoogleCloudVideointelligenceV1p1beta1_DetectedLandmark" +}, +"type": "array" +}, +"normalizedBoundingBox": { +"$ref": "GoogleCloudVideointelligenceV1p1beta1_NormalizedBoundingBox", +"description": "Normalized Bounding box in a frame, where the object is located." +}, +"timeOffset": { +"description": "Time-offset, relative to the beginning of the video, corresponding to the video frame for this object.", +"format": "google-duration", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudVideointelligenceV1p1beta1_Track": { +"description": "A track of an object instance.", +"id": "GoogleCloudVideointelligenceV1p1beta1_Track", +"properties": { +"attributes": { +"description": "Optional. Attributes in the track level.", +"items": { +"$ref": "GoogleCloudVideointelligenceV1p1beta1_DetectedAttribute" +}, +"type": "array" +}, +"confidence": { +"description": "Optional. The confidence score of the tracked object.", +"format": "float", +"type": "number" +}, +"segment": { +"$ref": "GoogleCloudVideointelligenceV1p1beta1_VideoSegment", +"description": "Video segment of a track." +}, +"timestampedObjects": { +"description": "The object with timestamp and attributes per frame in the track.", +"items": { +"$ref": "GoogleCloudVideointelligenceV1p1beta1_TimestampedObject" +}, +"type": "array" +} +}, +"type": "object" +}, +"GoogleCloudVideointelligenceV1p1beta1_VideoAnnotationProgress": { +"description": "Annotation progress for a single video.", +"id": "GoogleCloudVideointelligenceV1p1beta1_VideoAnnotationProgress", +"properties": { +"feature": { +"description": "Specifies which feature is being tracked if the request contains more than one feature.", +"enum": [ +"FEATURE_UNSPECIFIED", +"LABEL_DETECTION", +"SHOT_CHANGE_DETECTION", +"EXPLICIT_CONTENT_DETECTION", +"FACE_DETECTION", +"SPEECH_TRANSCRIPTION", +"TEXT_DETECTION", +"OBJECT_TRACKING", +"LOGO_RECOGNITION", +"PERSON_DETECTION" +], +"enumDescriptions": [ +"Unspecified.", +"Label detection. Detect objects, such as dog or flower.", +"Shot change detection.", +"Explicit content detection.", +"Human face detection.", +"Speech transcription.", +"OCR text detection and tracking.", +"Object detection and tracking.", +"Logo detection, tracking, and recognition.", +"Person detection." +], +"type": "string" +}, +"inputUri": { +"description": "Video file location in [Cloud Storage](https://cloud.google.com/storage/).", +"type": "string" +}, +"progressPercent": { +"description": "Approximate percentage processed thus far. Guaranteed to be 100 when fully processed.", +"format": "int32", +"type": "integer" +}, +"segment": { +"$ref": "GoogleCloudVideointelligenceV1p1beta1_VideoSegment", +"description": "Specifies which segment is being tracked if the request contains more than one segment." +}, +"startTime": { +"description": "Time when the request was received.", +"format": "google-datetime", +"type": "string" +}, +"updateTime": { +"description": "Time of the most recent update.", +"format": "google-datetime", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudVideointelligenceV1p1beta1_VideoAnnotationResults": { +"description": "Annotation results for a single video.", +"id": "GoogleCloudVideointelligenceV1p1beta1_VideoAnnotationResults", +"properties": { +"error": { +"$ref": "GoogleRpc_Status", +"description": "If set, indicates an error. Note that for a single `AnnotateVideoRequest` some videos may succeed and some may fail." +}, +"explicitAnnotation": { +"$ref": "GoogleCloudVideointelligenceV1p1beta1_ExplicitContentAnnotation", +"description": "Explicit content annotation." +}, +"faceAnnotations": { +"deprecated": true, +"description": "Deprecated. Please use `face_detection_annotations` instead.", +"items": { +"$ref": "GoogleCloudVideointelligenceV1p1beta1_FaceAnnotation" +}, +"type": "array" +}, +"faceDetectionAnnotations": { +"description": "Face detection annotations.", +"items": { +"$ref": "GoogleCloudVideointelligenceV1p1beta1_FaceDetectionAnnotation" +}, +"type": "array" +}, +"frameLabelAnnotations": { +"description": "Label annotations on frame level. There is exactly one element for each unique label.", +"items": { +"$ref": "GoogleCloudVideointelligenceV1p1beta1_LabelAnnotation" +}, +"type": "array" +}, +"inputUri": { +"description": "Video file location in [Cloud Storage](https://cloud.google.com/storage/).", +"type": "string" +}, +"logoRecognitionAnnotations": { +"description": "Annotations for list of logos detected, tracked and recognized in video.", +"items": { +"$ref": "GoogleCloudVideointelligenceV1p1beta1_LogoRecognitionAnnotation" +}, +"type": "array" +}, +"objectAnnotations": { +"description": "Annotations for list of objects detected and tracked in video.", +"items": { +"$ref": "GoogleCloudVideointelligenceV1p1beta1_ObjectTrackingAnnotation" +}, +"type": "array" +}, +"personDetectionAnnotations": { +"description": "Person detection annotations.", +"items": { +"$ref": "GoogleCloudVideointelligenceV1p1beta1_PersonDetectionAnnotation" +}, +"type": "array" +}, +"segment": { +"$ref": "GoogleCloudVideointelligenceV1p1beta1_VideoSegment", +"description": "Video segment on which the annotation is run." +}, +"segmentLabelAnnotations": { +"description": "Topical label annotations on video level or user-specified segment level. There is exactly one element for each unique label.", +"items": { +"$ref": "GoogleCloudVideointelligenceV1p1beta1_LabelAnnotation" +}, +"type": "array" +}, +"segmentPresenceLabelAnnotations": { +"description": "Presence label annotations on video level or user-specified segment level. There is exactly one element for each unique label. Compared to the existing topical `segment_label_annotations`, this field presents more fine-grained, segment-level labels detected in video content and is made available only when the client sets `LabelDetectionConfig.model` to \"builtin/latest\" in the request.", +"items": { +"$ref": "GoogleCloudVideointelligenceV1p1beta1_LabelAnnotation" +}, +"type": "array" +}, +"shotAnnotations": { +"description": "Shot annotations. Each shot is represented as a video segment.", +"items": { +"$ref": "GoogleCloudVideointelligenceV1p1beta1_VideoSegment" +}, +"type": "array" +}, +"shotLabelAnnotations": { +"description": "Topical label annotations on shot level. There is exactly one element for each unique label.", +"items": { +"$ref": "GoogleCloudVideointelligenceV1p1beta1_LabelAnnotation" +}, +"type": "array" +}, +"shotPresenceLabelAnnotations": { +"description": "Presence label annotations on shot level. There is exactly one element for each unique label. Compared to the existing topical `shot_label_annotations`, this field presents more fine-grained, shot-level labels detected in video content and is made available only when the client sets `LabelDetectionConfig.model` to \"builtin/latest\" in the request.", +"items": { +"$ref": "GoogleCloudVideointelligenceV1p1beta1_LabelAnnotation" +}, +"type": "array" +}, +"speechTranscriptions": { +"description": "Speech transcription.", +"items": { +"$ref": "GoogleCloudVideointelligenceV1p1beta1_SpeechTranscription" +}, +"type": "array" +}, +"textAnnotations": { +"description": "OCR text detection and tracking. Annotations for list of detected text snippets. Each will have list of frame information associated with it.", +"items": { +"$ref": "GoogleCloudVideointelligenceV1p1beta1_TextAnnotation" +}, +"type": "array" +} +}, +"type": "object" +}, +"GoogleCloudVideointelligenceV1p1beta1_VideoSegment": { +"description": "Video segment.", +"id": "GoogleCloudVideointelligenceV1p1beta1_VideoSegment", +"properties": { +"endTimeOffset": { +"description": "Time-offset, relative to the beginning of the video, corresponding to the end of the segment (inclusive).", +"format": "google-duration", +"type": "string" +}, +"startTimeOffset": { +"description": "Time-offset, relative to the beginning of the video, corresponding to the start of the segment (inclusive).", +"format": "google-duration", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudVideointelligenceV1p1beta1_WordInfo": { +"description": "Word-specific information for recognized words. Word information is only included in the response when certain request parameters are set, such as `enable_word_time_offsets`.", +"id": "GoogleCloudVideointelligenceV1p1beta1_WordInfo", +"properties": { +"confidence": { +"description": "Output only. The confidence estimate between 0.0 and 1.0. A higher number indicates an estimated greater likelihood that the recognized words are correct. This field is set only for the top alternative. This field is not guaranteed to be accurate and users should not rely on it to be always provided. The default of 0.0 is a sentinel value indicating `confidence` was not set.", +"format": "float", +"readOnly": true, +"type": "number" +}, +"endTime": { +"description": "Time offset relative to the beginning of the audio, and corresponding to the end of the spoken word. This field is only set if `enable_word_time_offsets=true` and only in the top hypothesis. This is an experimental feature and the accuracy of the time offset can vary.", +"format": "google-duration", +"type": "string" +}, +"speakerTag": { +"description": "Output only. A distinct integer value is assigned for every speaker within the audio. This field specifies which one of those speakers was detected to have spoken this word. Value ranges from 1 up to diarization_speaker_count, and is only set if speaker diarization is enabled.", +"format": "int32", +"readOnly": true, +"type": "integer" +}, +"startTime": { +"description": "Time offset relative to the beginning of the audio, and corresponding to the start of the spoken word. This field is only set if `enable_word_time_offsets=true` and only in the top hypothesis. This is an experimental feature and the accuracy of the time offset can vary.", +"format": "google-duration", +"type": "string" +}, +"word": { +"description": "The word corresponding to this set of information.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudVideointelligenceV1p2beta1_AnnotateVideoProgress": { +"description": "Video annotation progress. Included in the `metadata` field of the `Operation` returned by the `GetOperation` call of the `google::longrunning::Operations` service.", +"id": "GoogleCloudVideointelligenceV1p2beta1_AnnotateVideoProgress", +"properties": { +"annotationProgress": { +"description": "Progress metadata for all videos specified in `AnnotateVideoRequest`.", +"items": { +"$ref": "GoogleCloudVideointelligenceV1p2beta1_VideoAnnotationProgress" +}, +"type": "array" +} +}, +"type": "object" +}, +"GoogleCloudVideointelligenceV1p2beta1_AnnotateVideoResponse": { +"description": "Video annotation response. Included in the `response` field of the `Operation` returned by the `GetOperation` call of the `google::longrunning::Operations` service.", +"id": "GoogleCloudVideointelligenceV1p2beta1_AnnotateVideoResponse", +"properties": { +"annotationResults": { +"description": "Annotation results for all videos specified in `AnnotateVideoRequest`.", +"items": { +"$ref": "GoogleCloudVideointelligenceV1p2beta1_VideoAnnotationResults" +}, +"type": "array" +} +}, +"type": "object" +}, +"GoogleCloudVideointelligenceV1p2beta1_DetectedAttribute": { +"description": "A generic detected attribute represented by name in string format.", +"id": "GoogleCloudVideointelligenceV1p2beta1_DetectedAttribute", +"properties": { +"confidence": { +"description": "Detected attribute confidence. Range [0, 1].", +"format": "float", +"type": "number" +}, +"name": { +"description": "The name of the attribute, for example, glasses, dark_glasses, mouth_open. A full list of supported type names will be provided in the document.", +"type": "string" +}, +"value": { +"description": "Text value of the detection result. For example, the value for \"HairColor\" can be \"black\", \"blonde\", etc.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudVideointelligenceV1p2beta1_DetectedLandmark": { +"description": "A generic detected landmark represented by name in string format and a 2D location.", +"id": "GoogleCloudVideointelligenceV1p2beta1_DetectedLandmark", +"properties": { +"confidence": { +"description": "The confidence score of the detected landmark. Range [0, 1].", +"format": "float", +"type": "number" +}, +"name": { +"description": "The name of this landmark, for example, left_hand, right_shoulder.", +"type": "string" +}, +"point": { +"$ref": "GoogleCloudVideointelligenceV1p2beta1_NormalizedVertex", +"description": "The 2D point of the detected landmark using the normalized image coordindate system. The normalized coordinates have the range from 0 to 1." +} +}, +"type": "object" +}, +"GoogleCloudVideointelligenceV1p2beta1_Entity": { +"description": "Detected entity from video analysis.", +"id": "GoogleCloudVideointelligenceV1p2beta1_Entity", +"properties": { +"description": { +"description": "Textual description, e.g., `Fixed-gear bicycle`.", +"type": "string" +}, +"entityId": { +"description": "Opaque entity ID. Some IDs may be available in [Google Knowledge Graph Search API](https://developers.google.com/knowledge-graph/).", +"type": "string" +}, +"languageCode": { +"description": "Language code for `description` in BCP-47 format.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudVideointelligenceV1p2beta1_ExplicitContentAnnotation": { +"description": "Explicit content annotation (based on per-frame visual signals only). If no explicit content has been detected in a frame, no annotations are present for that frame.", +"id": "GoogleCloudVideointelligenceV1p2beta1_ExplicitContentAnnotation", +"properties": { +"frames": { +"description": "All video frames where explicit content was detected.", +"items": { +"$ref": "GoogleCloudVideointelligenceV1p2beta1_ExplicitContentFrame" +}, +"type": "array" +}, +"version": { +"description": "Feature version.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudVideointelligenceV1p2beta1_ExplicitContentFrame": { +"description": "Video frame level annotation results for explicit content.", +"id": "GoogleCloudVideointelligenceV1p2beta1_ExplicitContentFrame", +"properties": { +"pornographyLikelihood": { +"description": "Likelihood of the pornography content..", +"enum": [ +"LIKELIHOOD_UNSPECIFIED", +"VERY_UNLIKELY", +"UNLIKELY", +"POSSIBLE", +"LIKELY", +"VERY_LIKELY" +], +"enumDescriptions": [ +"Unspecified likelihood.", +"Very unlikely.", +"Unlikely.", +"Possible.", +"Likely.", +"Very likely." +], +"type": "string" +}, +"timeOffset": { +"description": "Time-offset, relative to the beginning of the video, corresponding to the video frame for this location.", +"format": "google-duration", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudVideointelligenceV1p2beta1_FaceAnnotation": { +"deprecated": true, +"description": "Deprecated. No effect.", +"id": "GoogleCloudVideointelligenceV1p2beta1_FaceAnnotation", +"properties": { +"frames": { +"description": "All video frames where a face was detected.", +"items": { +"$ref": "GoogleCloudVideointelligenceV1p2beta1_FaceFrame" +}, +"type": "array" +}, +"segments": { +"description": "All video segments where a face was detected.", +"items": { +"$ref": "GoogleCloudVideointelligenceV1p2beta1_FaceSegment" +}, +"type": "array" +}, +"thumbnail": { +"description": "Thumbnail of a representative face view (in JPEG format).", +"format": "byte", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudVideointelligenceV1p2beta1_FaceDetectionAnnotation": { +"description": "Face detection annotation.", +"id": "GoogleCloudVideointelligenceV1p2beta1_FaceDetectionAnnotation", +"properties": { +"thumbnail": { +"description": "The thumbnail of a person's face.", +"format": "byte", +"type": "string" +}, +"tracks": { +"description": "The face tracks with attributes.", +"items": { +"$ref": "GoogleCloudVideointelligenceV1p2beta1_Track" +}, +"type": "array" +}, +"version": { +"description": "Feature version.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudVideointelligenceV1p2beta1_FaceFrame": { +"deprecated": true, +"description": "Deprecated. No effect.", +"id": "GoogleCloudVideointelligenceV1p2beta1_FaceFrame", +"properties": { +"normalizedBoundingBoxes": { +"description": "Normalized Bounding boxes in a frame. There can be more than one boxes if the same face is detected in multiple locations within the current frame.", +"items": { +"$ref": "GoogleCloudVideointelligenceV1p2beta1_NormalizedBoundingBox" +}, +"type": "array" +}, +"timeOffset": { +"description": "Time-offset, relative to the beginning of the video, corresponding to the video frame for this location.", +"format": "google-duration", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudVideointelligenceV1p2beta1_FaceSegment": { +"description": "Video segment level annotation results for face detection.", +"id": "GoogleCloudVideointelligenceV1p2beta1_FaceSegment", +"properties": { +"segment": { +"$ref": "GoogleCloudVideointelligenceV1p2beta1_VideoSegment", +"description": "Video segment where a face was detected." +} +}, +"type": "object" +}, +"GoogleCloudVideointelligenceV1p2beta1_LabelAnnotation": { +"description": "Label annotation.", +"id": "GoogleCloudVideointelligenceV1p2beta1_LabelAnnotation", +"properties": { +"categoryEntities": { +"description": "Common categories for the detected entity. For example, when the label is `Terrier`, the category is likely `dog`. And in some cases there might be more than one categories e.g., `Terrier` could also be a `pet`.", +"items": { +"$ref": "GoogleCloudVideointelligenceV1p2beta1_Entity" +}, +"type": "array" +}, +"entity": { +"$ref": "GoogleCloudVideointelligenceV1p2beta1_Entity", +"description": "Detected entity." +}, +"frames": { +"description": "All video frames where a label was detected.", +"items": { +"$ref": "GoogleCloudVideointelligenceV1p2beta1_LabelFrame" +}, +"type": "array" +}, +"segments": { +"description": "All video segments where a label was detected.", +"items": { +"$ref": "GoogleCloudVideointelligenceV1p2beta1_LabelSegment" +}, +"type": "array" +}, +"version": { +"description": "Feature version.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudVideointelligenceV1p2beta1_LabelFrame": { +"description": "Video frame level annotation results for label detection.", +"id": "GoogleCloudVideointelligenceV1p2beta1_LabelFrame", +"properties": { +"confidence": { +"description": "Confidence that the label is accurate. Range: [0, 1].", +"format": "float", +"type": "number" +}, +"timeOffset": { +"description": "Time-offset, relative to the beginning of the video, corresponding to the video frame for this location.", +"format": "google-duration", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudVideointelligenceV1p2beta1_LabelSegment": { +"description": "Video segment level annotation results for label detection.", +"id": "GoogleCloudVideointelligenceV1p2beta1_LabelSegment", +"properties": { +"confidence": { +"description": "Confidence that the label is accurate. Range: [0, 1].", +"format": "float", +"type": "number" +}, +"segment": { +"$ref": "GoogleCloudVideointelligenceV1p2beta1_VideoSegment", +"description": "Video segment where a label was detected." +} +}, +"type": "object" +}, +"GoogleCloudVideointelligenceV1p2beta1_LogoRecognitionAnnotation": { +"description": "Annotation corresponding to one detected, tracked and recognized logo class.", +"id": "GoogleCloudVideointelligenceV1p2beta1_LogoRecognitionAnnotation", +"properties": { +"entity": { +"$ref": "GoogleCloudVideointelligenceV1p2beta1_Entity", +"description": "Entity category information to specify the logo class that all the logo tracks within this LogoRecognitionAnnotation are recognized as." +}, +"segments": { +"description": "All video segments where the recognized logo appears. There might be multiple instances of the same logo class appearing in one VideoSegment.", +"items": { +"$ref": "GoogleCloudVideointelligenceV1p2beta1_VideoSegment" +}, +"type": "array" +}, +"tracks": { +"description": "All logo tracks where the recognized logo appears. Each track corresponds to one logo instance appearing in consecutive frames.", +"items": { +"$ref": "GoogleCloudVideointelligenceV1p2beta1_Track" +}, +"type": "array" +} +}, +"type": "object" +}, +"GoogleCloudVideointelligenceV1p2beta1_NormalizedBoundingBox": { +"description": "Normalized bounding box. The normalized vertex coordinates are relative to the original image. Range: [0, 1].", +"id": "GoogleCloudVideointelligenceV1p2beta1_NormalizedBoundingBox", +"properties": { +"bottom": { +"description": "Bottom Y coordinate.", +"format": "float", +"type": "number" +}, +"left": { +"description": "Left X coordinate.", +"format": "float", +"type": "number" +}, +"right": { +"description": "Right X coordinate.", +"format": "float", +"type": "number" +}, +"top": { +"description": "Top Y coordinate.", +"format": "float", +"type": "number" +} +}, +"type": "object" +}, +"GoogleCloudVideointelligenceV1p2beta1_NormalizedBoundingPoly": { +"description": "Normalized bounding polygon for text (that might not be aligned with axis). Contains list of the corner points in clockwise order starting from top-left corner. For example, for a rectangular bounding box: When the text is horizontal it might look like: 0----1 | | 3----2 When it's clockwise rotated 180 degrees around the top-left corner it becomes: 2----3 | | 1----0 and the vertex order will still be (0, 1, 2, 3). Note that values can be less than 0, or greater than 1 due to trignometric calculations for location of the box.", +"id": "GoogleCloudVideointelligenceV1p2beta1_NormalizedBoundingPoly", +"properties": { +"vertices": { +"description": "Normalized vertices of the bounding polygon.", +"items": { +"$ref": "GoogleCloudVideointelligenceV1p2beta1_NormalizedVertex" +}, +"type": "array" +} +}, +"type": "object" +}, +"GoogleCloudVideointelligenceV1p2beta1_NormalizedVertex": { +"description": "A vertex represents a 2D point in the image. NOTE: the normalized vertex coordinates are relative to the original image and range from 0 to 1.", +"id": "GoogleCloudVideointelligenceV1p2beta1_NormalizedVertex", +"properties": { +"x": { +"description": "X coordinate.", +"format": "float", +"type": "number" +}, +"y": { +"description": "Y coordinate.", +"format": "float", +"type": "number" +} +}, +"type": "object" +}, +"GoogleCloudVideointelligenceV1p2beta1_ObjectTrackingAnnotation": { +"description": "Annotations corresponding to one tracked object.", +"id": "GoogleCloudVideointelligenceV1p2beta1_ObjectTrackingAnnotation", +"properties": { +"confidence": { +"description": "Object category's labeling confidence of this track.", +"format": "float", +"type": "number" +}, +"entity": { +"$ref": "GoogleCloudVideointelligenceV1p2beta1_Entity", +"description": "Entity to specify the object category that this track is labeled as." +}, +"frames": { +"description": "Information corresponding to all frames where this object track appears. Non-streaming batch mode: it may be one or multiple ObjectTrackingFrame messages in frames. Streaming mode: it can only be one ObjectTrackingFrame message in frames.", +"items": { +"$ref": "GoogleCloudVideointelligenceV1p2beta1_ObjectTrackingFrame" +}, +"type": "array" +}, +"segment": { +"$ref": "GoogleCloudVideointelligenceV1p2beta1_VideoSegment", +"description": "Non-streaming batch mode ONLY. Each object track corresponds to one video segment where it appears." +}, +"trackId": { +"description": "Streaming mode ONLY. In streaming mode, we do not know the end time of a tracked object before it is completed. Hence, there is no VideoSegment info returned. Instead, we provide a unique identifiable integer track_id so that the customers can correlate the results of the ongoing ObjectTrackAnnotation of the same track_id over time.", +"format": "int64", +"type": "string" +}, +"version": { +"description": "Feature version.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudVideointelligenceV1p2beta1_ObjectTrackingFrame": { +"description": "Video frame level annotations for object detection and tracking. This field stores per frame location, time offset, and confidence.", +"id": "GoogleCloudVideointelligenceV1p2beta1_ObjectTrackingFrame", +"properties": { +"normalizedBoundingBox": { +"$ref": "GoogleCloudVideointelligenceV1p2beta1_NormalizedBoundingBox", +"description": "The normalized bounding box location of this object track for the frame." +}, +"timeOffset": { +"description": "The timestamp of the frame in microseconds.", +"format": "google-duration", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudVideointelligenceV1p2beta1_PersonDetectionAnnotation": { +"description": "Person detection annotation per video.", +"id": "GoogleCloudVideointelligenceV1p2beta1_PersonDetectionAnnotation", +"properties": { +"tracks": { +"description": "The detected tracks of a person.", +"items": { +"$ref": "GoogleCloudVideointelligenceV1p2beta1_Track" +}, +"type": "array" +}, +"version": { +"description": "Feature version.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudVideointelligenceV1p2beta1_SpeechRecognitionAlternative": { +"description": "Alternative hypotheses (a.k.a. n-best list).", +"id": "GoogleCloudVideointelligenceV1p2beta1_SpeechRecognitionAlternative", +"properties": { +"confidence": { +"description": "Output only. The confidence estimate between 0.0 and 1.0. A higher number indicates an estimated greater likelihood that the recognized words are correct. This field is set only for the top alternative. This field is not guaranteed to be accurate and users should not rely on it to be always provided. The default of 0.0 is a sentinel value indicating `confidence` was not set.", +"format": "float", +"readOnly": true, +"type": "number" +}, +"transcript": { +"description": "Transcript text representing the words that the user spoke.", +"type": "string" +}, +"words": { +"description": "Output only. A list of word-specific information for each recognized word. Note: When `enable_speaker_diarization` is set to true, you will see all the words from the beginning of the audio.", +"items": { +"$ref": "GoogleCloudVideointelligenceV1p2beta1_WordInfo" +}, +"readOnly": true, +"type": "array" +} +}, +"type": "object" +}, +"GoogleCloudVideointelligenceV1p2beta1_SpeechTranscription": { +"description": "A speech recognition result corresponding to a portion of the audio.", +"id": "GoogleCloudVideointelligenceV1p2beta1_SpeechTranscription", +"properties": { +"alternatives": { +"description": "May contain one or more recognition hypotheses (up to the maximum specified in `max_alternatives`). These alternatives are ordered in terms of accuracy, with the top (first) alternative being the most probable, as ranked by the recognizer.", +"items": { +"$ref": "GoogleCloudVideointelligenceV1p2beta1_SpeechRecognitionAlternative" +}, +"type": "array" +}, +"languageCode": { +"description": "Output only. The [BCP-47](https://www.rfc-editor.org/rfc/bcp/bcp47.txt) language tag of the language in this result. This language code was detected to have the most likelihood of being spoken in the audio.", +"readOnly": true, +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudVideointelligenceV1p2beta1_TextAnnotation": { +"description": "Annotations related to one detected OCR text snippet. This will contain the corresponding text, confidence value, and frame level information for each detection.", +"id": "GoogleCloudVideointelligenceV1p2beta1_TextAnnotation", +"properties": { +"segments": { +"description": "All video segments where OCR detected text appears.", +"items": { +"$ref": "GoogleCloudVideointelligenceV1p2beta1_TextSegment" +}, +"type": "array" +}, +"text": { +"description": "The detected text.", +"type": "string" +}, +"version": { +"description": "Feature version.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudVideointelligenceV1p2beta1_TextFrame": { +"description": "Video frame level annotation results for text annotation (OCR). Contains information regarding timestamp and bounding box locations for the frames containing detected OCR text snippets.", +"id": "GoogleCloudVideointelligenceV1p2beta1_TextFrame", +"properties": { +"rotatedBoundingBox": { +"$ref": "GoogleCloudVideointelligenceV1p2beta1_NormalizedBoundingPoly", +"description": "Bounding polygon of the detected text for this frame." +}, +"timeOffset": { +"description": "Timestamp of this frame.", +"format": "google-duration", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudVideointelligenceV1p2beta1_TextSegment": { +"description": "Video segment level annotation results for text detection.", +"id": "GoogleCloudVideointelligenceV1p2beta1_TextSegment", +"properties": { +"confidence": { +"description": "Confidence for the track of detected text. It is calculated as the highest over all frames where OCR detected text appears.", +"format": "float", +"type": "number" +}, +"frames": { +"description": "Information related to the frames where OCR detected text appears.", +"items": { +"$ref": "GoogleCloudVideointelligenceV1p2beta1_TextFrame" +}, +"type": "array" +}, +"segment": { +"$ref": "GoogleCloudVideointelligenceV1p2beta1_VideoSegment", +"description": "Video segment where a text snippet was detected." +} +}, +"type": "object" +}, +"GoogleCloudVideointelligenceV1p2beta1_TimestampedObject": { +"description": "For tracking related features. An object at time_offset with attributes, and located with normalized_bounding_box.", +"id": "GoogleCloudVideointelligenceV1p2beta1_TimestampedObject", +"properties": { +"attributes": { +"description": "Optional. The attributes of the object in the bounding box.", +"items": { +"$ref": "GoogleCloudVideointelligenceV1p2beta1_DetectedAttribute" +}, +"type": "array" +}, +"landmarks": { +"description": "Optional. The detected landmarks.", +"items": { +"$ref": "GoogleCloudVideointelligenceV1p2beta1_DetectedLandmark" +}, +"type": "array" +}, +"normalizedBoundingBox": { +"$ref": "GoogleCloudVideointelligenceV1p2beta1_NormalizedBoundingBox", +"description": "Normalized Bounding box in a frame, where the object is located." +}, +"timeOffset": { +"description": "Time-offset, relative to the beginning of the video, corresponding to the video frame for this object.", +"format": "google-duration", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudVideointelligenceV1p2beta1_Track": { +"description": "A track of an object instance.", +"id": "GoogleCloudVideointelligenceV1p2beta1_Track", +"properties": { +"attributes": { +"description": "Optional. Attributes in the track level.", +"items": { +"$ref": "GoogleCloudVideointelligenceV1p2beta1_DetectedAttribute" +}, +"type": "array" +}, +"confidence": { +"description": "Optional. The confidence score of the tracked object.", +"format": "float", +"type": "number" +}, +"segment": { +"$ref": "GoogleCloudVideointelligenceV1p2beta1_VideoSegment", +"description": "Video segment of a track." +}, +"timestampedObjects": { +"description": "The object with timestamp and attributes per frame in the track.", +"items": { +"$ref": "GoogleCloudVideointelligenceV1p2beta1_TimestampedObject" +}, +"type": "array" +} +}, +"type": "object" +}, +"GoogleCloudVideointelligenceV1p2beta1_VideoAnnotationProgress": { +"description": "Annotation progress for a single video.", +"id": "GoogleCloudVideointelligenceV1p2beta1_VideoAnnotationProgress", +"properties": { +"feature": { +"description": "Specifies which feature is being tracked if the request contains more than one feature.", +"enum": [ +"FEATURE_UNSPECIFIED", +"LABEL_DETECTION", +"SHOT_CHANGE_DETECTION", +"EXPLICIT_CONTENT_DETECTION", +"FACE_DETECTION", +"SPEECH_TRANSCRIPTION", +"TEXT_DETECTION", +"OBJECT_TRACKING", +"LOGO_RECOGNITION", +"PERSON_DETECTION" +], +"enumDescriptions": [ +"Unspecified.", +"Label detection. Detect objects, such as dog or flower.", +"Shot change detection.", +"Explicit content detection.", +"Human face detection.", +"Speech transcription.", +"OCR text detection and tracking.", +"Object detection and tracking.", +"Logo detection, tracking, and recognition.", +"Person detection." +], +"type": "string" +}, +"inputUri": { +"description": "Video file location in [Cloud Storage](https://cloud.google.com/storage/).", +"type": "string" +}, +"progressPercent": { +"description": "Approximate percentage processed thus far. Guaranteed to be 100 when fully processed.", +"format": "int32", +"type": "integer" +}, +"segment": { +"$ref": "GoogleCloudVideointelligenceV1p2beta1_VideoSegment", +"description": "Specifies which segment is being tracked if the request contains more than one segment." +}, +"startTime": { +"description": "Time when the request was received.", +"format": "google-datetime", +"type": "string" +}, +"updateTime": { +"description": "Time of the most recent update.", +"format": "google-datetime", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudVideointelligenceV1p2beta1_VideoAnnotationResults": { +"description": "Annotation results for a single video.", +"id": "GoogleCloudVideointelligenceV1p2beta1_VideoAnnotationResults", +"properties": { +"error": { +"$ref": "GoogleRpc_Status", +"description": "If set, indicates an error. Note that for a single `AnnotateVideoRequest` some videos may succeed and some may fail." +}, +"explicitAnnotation": { +"$ref": "GoogleCloudVideointelligenceV1p2beta1_ExplicitContentAnnotation", +"description": "Explicit content annotation." +}, +"faceAnnotations": { +"deprecated": true, +"description": "Deprecated. Please use `face_detection_annotations` instead.", +"items": { +"$ref": "GoogleCloudVideointelligenceV1p2beta1_FaceAnnotation" +}, +"type": "array" +}, +"faceDetectionAnnotations": { +"description": "Face detection annotations.", +"items": { +"$ref": "GoogleCloudVideointelligenceV1p2beta1_FaceDetectionAnnotation" +}, +"type": "array" +}, +"frameLabelAnnotations": { +"description": "Label annotations on frame level. There is exactly one element for each unique label.", +"items": { +"$ref": "GoogleCloudVideointelligenceV1p2beta1_LabelAnnotation" +}, +"type": "array" +}, +"inputUri": { +"description": "Video file location in [Cloud Storage](https://cloud.google.com/storage/).", +"type": "string" +}, +"logoRecognitionAnnotations": { +"description": "Annotations for list of logos detected, tracked and recognized in video.", +"items": { +"$ref": "GoogleCloudVideointelligenceV1p2beta1_LogoRecognitionAnnotation" +}, +"type": "array" +}, +"objectAnnotations": { +"description": "Annotations for list of objects detected and tracked in video.", +"items": { +"$ref": "GoogleCloudVideointelligenceV1p2beta1_ObjectTrackingAnnotation" +}, +"type": "array" +}, +"personDetectionAnnotations": { +"description": "Person detection annotations.", +"items": { +"$ref": "GoogleCloudVideointelligenceV1p2beta1_PersonDetectionAnnotation" +}, +"type": "array" +}, +"segment": { +"$ref": "GoogleCloudVideointelligenceV1p2beta1_VideoSegment", +"description": "Video segment on which the annotation is run." +}, +"segmentLabelAnnotations": { +"description": "Topical label annotations on video level or user-specified segment level. There is exactly one element for each unique label.", +"items": { +"$ref": "GoogleCloudVideointelligenceV1p2beta1_LabelAnnotation" +}, +"type": "array" +}, +"segmentPresenceLabelAnnotations": { +"description": "Presence label annotations on video level or user-specified segment level. There is exactly one element for each unique label. Compared to the existing topical `segment_label_annotations`, this field presents more fine-grained, segment-level labels detected in video content and is made available only when the client sets `LabelDetectionConfig.model` to \"builtin/latest\" in the request.", +"items": { +"$ref": "GoogleCloudVideointelligenceV1p2beta1_LabelAnnotation" +}, +"type": "array" +}, +"shotAnnotations": { +"description": "Shot annotations. Each shot is represented as a video segment.", +"items": { +"$ref": "GoogleCloudVideointelligenceV1p2beta1_VideoSegment" +}, +"type": "array" +}, +"shotLabelAnnotations": { +"description": "Topical label annotations on shot level. There is exactly one element for each unique label.", +"items": { +"$ref": "GoogleCloudVideointelligenceV1p2beta1_LabelAnnotation" +}, +"type": "array" +}, +"shotPresenceLabelAnnotations": { +"description": "Presence label annotations on shot level. There is exactly one element for each unique label. Compared to the existing topical `shot_label_annotations`, this field presents more fine-grained, shot-level labels detected in video content and is made available only when the client sets `LabelDetectionConfig.model` to \"builtin/latest\" in the request.", +"items": { +"$ref": "GoogleCloudVideointelligenceV1p2beta1_LabelAnnotation" +}, +"type": "array" +}, +"speechTranscriptions": { +"description": "Speech transcription.", +"items": { +"$ref": "GoogleCloudVideointelligenceV1p2beta1_SpeechTranscription" +}, +"type": "array" +}, +"textAnnotations": { +"description": "OCR text detection and tracking. Annotations for list of detected text snippets. Each will have list of frame information associated with it.", +"items": { +"$ref": "GoogleCloudVideointelligenceV1p2beta1_TextAnnotation" +}, +"type": "array" +} +}, +"type": "object" +}, +"GoogleCloudVideointelligenceV1p2beta1_VideoSegment": { +"description": "Video segment.", +"id": "GoogleCloudVideointelligenceV1p2beta1_VideoSegment", +"properties": { +"endTimeOffset": { +"description": "Time-offset, relative to the beginning of the video, corresponding to the end of the segment (inclusive).", +"format": "google-duration", +"type": "string" +}, +"startTimeOffset": { +"description": "Time-offset, relative to the beginning of the video, corresponding to the start of the segment (inclusive).", +"format": "google-duration", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudVideointelligenceV1p2beta1_WordInfo": { +"description": "Word-specific information for recognized words. Word information is only included in the response when certain request parameters are set, such as `enable_word_time_offsets`.", +"id": "GoogleCloudVideointelligenceV1p2beta1_WordInfo", +"properties": { +"confidence": { +"description": "Output only. The confidence estimate between 0.0 and 1.0. A higher number indicates an estimated greater likelihood that the recognized words are correct. This field is set only for the top alternative. This field is not guaranteed to be accurate and users should not rely on it to be always provided. The default of 0.0 is a sentinel value indicating `confidence` was not set.", +"format": "float", +"readOnly": true, +"type": "number" +}, +"endTime": { +"description": "Time offset relative to the beginning of the audio, and corresponding to the end of the spoken word. This field is only set if `enable_word_time_offsets=true` and only in the top hypothesis. This is an experimental feature and the accuracy of the time offset can vary.", +"format": "google-duration", +"type": "string" +}, +"speakerTag": { +"description": "Output only. A distinct integer value is assigned for every speaker within the audio. This field specifies which one of those speakers was detected to have spoken this word. Value ranges from 1 up to diarization_speaker_count, and is only set if speaker diarization is enabled.", +"format": "int32", +"readOnly": true, +"type": "integer" +}, +"startTime": { +"description": "Time offset relative to the beginning of the audio, and corresponding to the start of the spoken word. This field is only set if `enable_word_time_offsets=true` and only in the top hypothesis. This is an experimental feature and the accuracy of the time offset can vary.", +"format": "google-duration", +"type": "string" +}, +"word": { +"description": "The word corresponding to this set of information.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudVideointelligenceV1p3beta1_AnnotateVideoProgress": { +"description": "Video annotation progress. Included in the `metadata` field of the `Operation` returned by the `GetOperation` call of the `google::longrunning::Operations` service.", +"id": "GoogleCloudVideointelligenceV1p3beta1_AnnotateVideoProgress", +"properties": { +"annotationProgress": { +"description": "Progress metadata for all videos specified in `AnnotateVideoRequest`.", +"items": { +"$ref": "GoogleCloudVideointelligenceV1p3beta1_VideoAnnotationProgress" +}, +"type": "array" +} +}, +"type": "object" +}, +"GoogleCloudVideointelligenceV1p3beta1_AnnotateVideoResponse": { +"description": "Video annotation response. Included in the `response` field of the `Operation` returned by the `GetOperation` call of the `google::longrunning::Operations` service.", +"id": "GoogleCloudVideointelligenceV1p3beta1_AnnotateVideoResponse", +"properties": { +"annotationResults": { +"description": "Annotation results for all videos specified in `AnnotateVideoRequest`.", +"items": { +"$ref": "GoogleCloudVideointelligenceV1p3beta1_VideoAnnotationResults" +}, +"type": "array" +} +}, +"type": "object" +}, +"GoogleCloudVideointelligenceV1p3beta1_Celebrity": { +"description": "Celebrity definition.", +"id": "GoogleCloudVideointelligenceV1p3beta1_Celebrity", +"properties": { +"description": { +"description": "Textual description of additional information about the celebrity, if applicable.", +"type": "string" +}, +"displayName": { +"description": "The celebrity name.", +"type": "string" +}, +"name": { +"description": "The resource name of the celebrity. Have the format `video-intelligence/kg-mid` indicates a celebrity from preloaded gallery. kg-mid is the id in Google knowledge graph, which is unique for the celebrity.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudVideointelligenceV1p3beta1_CelebrityRecognitionAnnotation": { +"description": "Celebrity recognition annotation per video.", +"id": "GoogleCloudVideointelligenceV1p3beta1_CelebrityRecognitionAnnotation", +"properties": { +"celebrityTracks": { +"description": "The tracks detected from the input video, including recognized celebrities and other detected faces in the video.", +"items": { +"$ref": "GoogleCloudVideointelligenceV1p3beta1_CelebrityTrack" +}, +"type": "array" +}, +"version": { +"description": "Feature version.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudVideointelligenceV1p3beta1_CelebrityTrack": { +"description": "The annotation result of a celebrity face track. RecognizedCelebrity field could be empty if the face track does not have any matched celebrities.", +"id": "GoogleCloudVideointelligenceV1p3beta1_CelebrityTrack", +"properties": { +"celebrities": { +"description": "Top N match of the celebrities for the face in this track.", +"items": { +"$ref": "GoogleCloudVideointelligenceV1p3beta1_RecognizedCelebrity" +}, +"type": "array" +}, +"faceTrack": { +"$ref": "GoogleCloudVideointelligenceV1p3beta1_Track", +"description": "A track of a person's face." +} +}, +"type": "object" +}, +"GoogleCloudVideointelligenceV1p3beta1_DetectedAttribute": { +"description": "A generic detected attribute represented by name in string format.", +"id": "GoogleCloudVideointelligenceV1p3beta1_DetectedAttribute", +"properties": { +"confidence": { +"description": "Detected attribute confidence. Range [0, 1].", +"format": "float", +"type": "number" +}, +"name": { +"description": "The name of the attribute, for example, glasses, dark_glasses, mouth_open. A full list of supported type names will be provided in the document.", +"type": "string" +}, +"value": { +"description": "Text value of the detection result. For example, the value for \"HairColor\" can be \"black\", \"blonde\", etc.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudVideointelligenceV1p3beta1_DetectedLandmark": { +"description": "A generic detected landmark represented by name in string format and a 2D location.", +"id": "GoogleCloudVideointelligenceV1p3beta1_DetectedLandmark", +"properties": { +"confidence": { +"description": "The confidence score of the detected landmark. Range [0, 1].", +"format": "float", +"type": "number" +}, +"name": { +"description": "The name of this landmark, for example, left_hand, right_shoulder.", +"type": "string" +}, +"point": { +"$ref": "GoogleCloudVideointelligenceV1p3beta1_NormalizedVertex", +"description": "The 2D point of the detected landmark using the normalized image coordindate system. The normalized coordinates have the range from 0 to 1." +} +}, +"type": "object" +}, +"GoogleCloudVideointelligenceV1p3beta1_Entity": { +"description": "Detected entity from video analysis.", +"id": "GoogleCloudVideointelligenceV1p3beta1_Entity", +"properties": { +"description": { +"description": "Textual description, e.g., `Fixed-gear bicycle`.", +"type": "string" +}, +"entityId": { +"description": "Opaque entity ID. Some IDs may be available in [Google Knowledge Graph Search API](https://developers.google.com/knowledge-graph/).", +"type": "string" +}, +"languageCode": { +"description": "Language code for `description` in BCP-47 format.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudVideointelligenceV1p3beta1_ExplicitContentAnnotation": { +"description": "Explicit content annotation (based on per-frame visual signals only). If no explicit content has been detected in a frame, no annotations are present for that frame.", +"id": "GoogleCloudVideointelligenceV1p3beta1_ExplicitContentAnnotation", +"properties": { +"frames": { +"description": "All video frames where explicit content was detected.", +"items": { +"$ref": "GoogleCloudVideointelligenceV1p3beta1_ExplicitContentFrame" +}, +"type": "array" +}, +"version": { +"description": "Feature version.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudVideointelligenceV1p3beta1_ExplicitContentFrame": { +"description": "Video frame level annotation results for explicit content.", +"id": "GoogleCloudVideointelligenceV1p3beta1_ExplicitContentFrame", +"properties": { +"pornographyLikelihood": { +"description": "Likelihood of the pornography content..", +"enum": [ +"LIKELIHOOD_UNSPECIFIED", +"VERY_UNLIKELY", +"UNLIKELY", +"POSSIBLE", +"LIKELY", +"VERY_LIKELY" +], +"enumDescriptions": [ +"Unspecified likelihood.", +"Very unlikely.", +"Unlikely.", +"Possible.", +"Likely.", +"Very likely." +], +"type": "string" +}, +"timeOffset": { +"description": "Time-offset, relative to the beginning of the video, corresponding to the video frame for this location.", +"format": "google-duration", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudVideointelligenceV1p3beta1_FaceAnnotation": { +"deprecated": true, +"description": "Deprecated. No effect.", +"id": "GoogleCloudVideointelligenceV1p3beta1_FaceAnnotation", +"properties": { +"frames": { +"description": "All video frames where a face was detected.", +"items": { +"$ref": "GoogleCloudVideointelligenceV1p3beta1_FaceFrame" +}, +"type": "array" +}, +"segments": { +"description": "All video segments where a face was detected.", +"items": { +"$ref": "GoogleCloudVideointelligenceV1p3beta1_FaceSegment" +}, +"type": "array" +}, +"thumbnail": { +"description": "Thumbnail of a representative face view (in JPEG format).", +"format": "byte", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudVideointelligenceV1p3beta1_FaceDetectionAnnotation": { +"description": "Face detection annotation.", +"id": "GoogleCloudVideointelligenceV1p3beta1_FaceDetectionAnnotation", +"properties": { +"thumbnail": { +"description": "The thumbnail of a person's face.", +"format": "byte", +"type": "string" +}, +"tracks": { +"description": "The face tracks with attributes.", +"items": { +"$ref": "GoogleCloudVideointelligenceV1p3beta1_Track" +}, +"type": "array" +}, +"version": { +"description": "Feature version.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudVideointelligenceV1p3beta1_FaceFrame": { +"deprecated": true, +"description": "Deprecated. No effect.", +"id": "GoogleCloudVideointelligenceV1p3beta1_FaceFrame", +"properties": { +"normalizedBoundingBoxes": { +"description": "Normalized Bounding boxes in a frame. There can be more than one boxes if the same face is detected in multiple locations within the current frame.", +"items": { +"$ref": "GoogleCloudVideointelligenceV1p3beta1_NormalizedBoundingBox" +}, +"type": "array" +}, +"timeOffset": { +"description": "Time-offset, relative to the beginning of the video, corresponding to the video frame for this location.", +"format": "google-duration", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudVideointelligenceV1p3beta1_FaceSegment": { +"description": "Video segment level annotation results for face detection.", +"id": "GoogleCloudVideointelligenceV1p3beta1_FaceSegment", +"properties": { +"segment": { +"$ref": "GoogleCloudVideointelligenceV1p3beta1_VideoSegment", +"description": "Video segment where a face was detected." +} +}, +"type": "object" +}, +"GoogleCloudVideointelligenceV1p3beta1_LabelAnnotation": { +"description": "Label annotation.", +"id": "GoogleCloudVideointelligenceV1p3beta1_LabelAnnotation", +"properties": { +"categoryEntities": { +"description": "Common categories for the detected entity. For example, when the label is `Terrier`, the category is likely `dog`. And in some cases there might be more than one categories e.g., `Terrier` could also be a `pet`.", +"items": { +"$ref": "GoogleCloudVideointelligenceV1p3beta1_Entity" +}, +"type": "array" +}, +"entity": { +"$ref": "GoogleCloudVideointelligenceV1p3beta1_Entity", +"description": "Detected entity." +}, +"frames": { +"description": "All video frames where a label was detected.", +"items": { +"$ref": "GoogleCloudVideointelligenceV1p3beta1_LabelFrame" +}, +"type": "array" +}, +"segments": { +"description": "All video segments where a label was detected.", +"items": { +"$ref": "GoogleCloudVideointelligenceV1p3beta1_LabelSegment" +}, +"type": "array" +}, +"version": { +"description": "Feature version.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudVideointelligenceV1p3beta1_LabelFrame": { +"description": "Video frame level annotation results for label detection.", +"id": "GoogleCloudVideointelligenceV1p3beta1_LabelFrame", +"properties": { +"confidence": { +"description": "Confidence that the label is accurate. Range: [0, 1].", +"format": "float", +"type": "number" +}, +"timeOffset": { +"description": "Time-offset, relative to the beginning of the video, corresponding to the video frame for this location.", +"format": "google-duration", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudVideointelligenceV1p3beta1_LabelSegment": { +"description": "Video segment level annotation results for label detection.", +"id": "GoogleCloudVideointelligenceV1p3beta1_LabelSegment", +"properties": { +"confidence": { +"description": "Confidence that the label is accurate. Range: [0, 1].", +"format": "float", +"type": "number" +}, +"segment": { +"$ref": "GoogleCloudVideointelligenceV1p3beta1_VideoSegment", +"description": "Video segment where a label was detected." +} +}, +"type": "object" +}, +"GoogleCloudVideointelligenceV1p3beta1_LogoRecognitionAnnotation": { +"description": "Annotation corresponding to one detected, tracked and recognized logo class.", +"id": "GoogleCloudVideointelligenceV1p3beta1_LogoRecognitionAnnotation", +"properties": { +"entity": { +"$ref": "GoogleCloudVideointelligenceV1p3beta1_Entity", +"description": "Entity category information to specify the logo class that all the logo tracks within this LogoRecognitionAnnotation are recognized as." +}, +"segments": { +"description": "All video segments where the recognized logo appears. There might be multiple instances of the same logo class appearing in one VideoSegment.", +"items": { +"$ref": "GoogleCloudVideointelligenceV1p3beta1_VideoSegment" +}, +"type": "array" +}, +"tracks": { +"description": "All logo tracks where the recognized logo appears. Each track corresponds to one logo instance appearing in consecutive frames.", +"items": { +"$ref": "GoogleCloudVideointelligenceV1p3beta1_Track" +}, +"type": "array" +} +}, +"type": "object" +}, +"GoogleCloudVideointelligenceV1p3beta1_NormalizedBoundingBox": { +"description": "Normalized bounding box. The normalized vertex coordinates are relative to the original image. Range: [0, 1].", +"id": "GoogleCloudVideointelligenceV1p3beta1_NormalizedBoundingBox", +"properties": { +"bottom": { +"description": "Bottom Y coordinate.", +"format": "float", +"type": "number" +}, +"left": { +"description": "Left X coordinate.", +"format": "float", +"type": "number" +}, +"right": { +"description": "Right X coordinate.", +"format": "float", +"type": "number" +}, +"top": { +"description": "Top Y coordinate.", +"format": "float", +"type": "number" +} +}, +"type": "object" +}, +"GoogleCloudVideointelligenceV1p3beta1_NormalizedBoundingPoly": { +"description": "Normalized bounding polygon for text (that might not be aligned with axis). Contains list of the corner points in clockwise order starting from top-left corner. For example, for a rectangular bounding box: When the text is horizontal it might look like: 0----1 | | 3----2 When it's clockwise rotated 180 degrees around the top-left corner it becomes: 2----3 | | 1----0 and the vertex order will still be (0, 1, 2, 3). Note that values can be less than 0, or greater than 1 due to trignometric calculations for location of the box.", +"id": "GoogleCloudVideointelligenceV1p3beta1_NormalizedBoundingPoly", +"properties": { +"vertices": { +"description": "Normalized vertices of the bounding polygon.", +"items": { +"$ref": "GoogleCloudVideointelligenceV1p3beta1_NormalizedVertex" +}, +"type": "array" +} +}, +"type": "object" +}, +"GoogleCloudVideointelligenceV1p3beta1_NormalizedVertex": { +"description": "A vertex represents a 2D point in the image. NOTE: the normalized vertex coordinates are relative to the original image and range from 0 to 1.", +"id": "GoogleCloudVideointelligenceV1p3beta1_NormalizedVertex", +"properties": { +"x": { +"description": "X coordinate.", +"format": "float", +"type": "number" +}, +"y": { +"description": "Y coordinate.", +"format": "float", +"type": "number" +} +}, +"type": "object" +}, +"GoogleCloudVideointelligenceV1p3beta1_ObjectTrackingAnnotation": { +"description": "Annotations corresponding to one tracked object.", +"id": "GoogleCloudVideointelligenceV1p3beta1_ObjectTrackingAnnotation", +"properties": { +"confidence": { +"description": "Object category's labeling confidence of this track.", +"format": "float", +"type": "number" +}, +"entity": { +"$ref": "GoogleCloudVideointelligenceV1p3beta1_Entity", +"description": "Entity to specify the object category that this track is labeled as." +}, +"frames": { +"description": "Information corresponding to all frames where this object track appears. Non-streaming batch mode: it may be one or multiple ObjectTrackingFrame messages in frames. Streaming mode: it can only be one ObjectTrackingFrame message in frames.", +"items": { +"$ref": "GoogleCloudVideointelligenceV1p3beta1_ObjectTrackingFrame" +}, +"type": "array" +}, +"segment": { +"$ref": "GoogleCloudVideointelligenceV1p3beta1_VideoSegment", +"description": "Non-streaming batch mode ONLY. Each object track corresponds to one video segment where it appears." +}, +"trackId": { +"description": "Streaming mode ONLY. In streaming mode, we do not know the end time of a tracked object before it is completed. Hence, there is no VideoSegment info returned. Instead, we provide a unique identifiable integer track_id so that the customers can correlate the results of the ongoing ObjectTrackAnnotation of the same track_id over time.", +"format": "int64", +"type": "string" +}, +"version": { +"description": "Feature version.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudVideointelligenceV1p3beta1_ObjectTrackingFrame": { +"description": "Video frame level annotations for object detection and tracking. This field stores per frame location, time offset, and confidence.", +"id": "GoogleCloudVideointelligenceV1p3beta1_ObjectTrackingFrame", +"properties": { +"normalizedBoundingBox": { +"$ref": "GoogleCloudVideointelligenceV1p3beta1_NormalizedBoundingBox", +"description": "The normalized bounding box location of this object track for the frame." +}, +"timeOffset": { +"description": "The timestamp of the frame in microseconds.", +"format": "google-duration", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudVideointelligenceV1p3beta1_PersonDetectionAnnotation": { +"description": "Person detection annotation per video.", +"id": "GoogleCloudVideointelligenceV1p3beta1_PersonDetectionAnnotation", +"properties": { +"tracks": { +"description": "The detected tracks of a person.", +"items": { +"$ref": "GoogleCloudVideointelligenceV1p3beta1_Track" +}, +"type": "array" +}, +"version": { +"description": "Feature version.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudVideointelligenceV1p3beta1_RecognizedCelebrity": { +"description": "The recognized celebrity with confidence score.", +"id": "GoogleCloudVideointelligenceV1p3beta1_RecognizedCelebrity", +"properties": { +"celebrity": { +"$ref": "GoogleCloudVideointelligenceV1p3beta1_Celebrity", +"description": "The recognized celebrity." +}, +"confidence": { +"description": "Recognition confidence. Range [0, 1].", +"format": "float", +"type": "number" +} +}, +"type": "object" +}, +"GoogleCloudVideointelligenceV1p3beta1_SpeechRecognitionAlternative": { +"description": "Alternative hypotheses (a.k.a. n-best list).", +"id": "GoogleCloudVideointelligenceV1p3beta1_SpeechRecognitionAlternative", +"properties": { +"confidence": { +"description": "Output only. The confidence estimate between 0.0 and 1.0. A higher number indicates an estimated greater likelihood that the recognized words are correct. This field is set only for the top alternative. This field is not guaranteed to be accurate and users should not rely on it to be always provided. The default of 0.0 is a sentinel value indicating `confidence` was not set.", +"format": "float", +"readOnly": true, +"type": "number" +}, +"transcript": { +"description": "Transcript text representing the words that the user spoke.", +"type": "string" +}, +"words": { +"description": "Output only. A list of word-specific information for each recognized word. Note: When `enable_speaker_diarization` is set to true, you will see all the words from the beginning of the audio.", +"items": { +"$ref": "GoogleCloudVideointelligenceV1p3beta1_WordInfo" +}, +"readOnly": true, +"type": "array" +} +}, +"type": "object" +}, +"GoogleCloudVideointelligenceV1p3beta1_SpeechTranscription": { +"description": "A speech recognition result corresponding to a portion of the audio.", +"id": "GoogleCloudVideointelligenceV1p3beta1_SpeechTranscription", +"properties": { +"alternatives": { +"description": "May contain one or more recognition hypotheses (up to the maximum specified in `max_alternatives`). These alternatives are ordered in terms of accuracy, with the top (first) alternative being the most probable, as ranked by the recognizer.", +"items": { +"$ref": "GoogleCloudVideointelligenceV1p3beta1_SpeechRecognitionAlternative" +}, +"type": "array" +}, +"languageCode": { +"description": "Output only. The [BCP-47](https://www.rfc-editor.org/rfc/bcp/bcp47.txt) language tag of the language in this result. This language code was detected to have the most likelihood of being spoken in the audio.", +"readOnly": true, +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudVideointelligenceV1p3beta1_StreamingAnnotateVideoResponse": { +"description": "`StreamingAnnotateVideoResponse` is the only message returned to the client by `StreamingAnnotateVideo`. A series of zero or more `StreamingAnnotateVideoResponse` messages are streamed back to the client.", +"id": "GoogleCloudVideointelligenceV1p3beta1_StreamingAnnotateVideoResponse", +"properties": { +"annotationResults": { +"$ref": "GoogleCloudVideointelligenceV1p3beta1_StreamingVideoAnnotationResults", +"description": "Streaming annotation results." +}, +"annotationResultsUri": { +"description": "Google Cloud Storage URI that stores annotation results of one streaming session in JSON format. It is the annotation_result_storage_directory from the request followed by '/cloud_project_number-session_id'.", +"type": "string" +}, +"error": { +"$ref": "GoogleRpc_Status", +"description": "If set, returns a google.rpc.Status message that specifies the error for the operation." +} +}, +"type": "object" +}, +"GoogleCloudVideointelligenceV1p3beta1_StreamingVideoAnnotationResults": { +"description": "Streaming annotation results corresponding to a portion of the video that is currently being processed. Only ONE type of annotation will be specified in the response.", +"id": "GoogleCloudVideointelligenceV1p3beta1_StreamingVideoAnnotationResults", +"properties": { +"explicitAnnotation": { +"$ref": "GoogleCloudVideointelligenceV1p3beta1_ExplicitContentAnnotation", +"description": "Explicit content annotation results." +}, +"frameTimestamp": { +"description": "Timestamp of the processed frame in microseconds.", +"format": "google-duration", +"type": "string" +}, +"labelAnnotations": { +"description": "Label annotation results.", +"items": { +"$ref": "GoogleCloudVideointelligenceV1p3beta1_LabelAnnotation" +}, +"type": "array" +}, +"objectAnnotations": { +"description": "Object tracking results.", +"items": { +"$ref": "GoogleCloudVideointelligenceV1p3beta1_ObjectTrackingAnnotation" +}, +"type": "array" +}, +"shotAnnotations": { +"description": "Shot annotation results. Each shot is represented as a video segment.", +"items": { +"$ref": "GoogleCloudVideointelligenceV1p3beta1_VideoSegment" +}, +"type": "array" +} +}, +"type": "object" +}, +"GoogleCloudVideointelligenceV1p3beta1_TextAnnotation": { +"description": "Annotations related to one detected OCR text snippet. This will contain the corresponding text, confidence value, and frame level information for each detection.", +"id": "GoogleCloudVideointelligenceV1p3beta1_TextAnnotation", +"properties": { +"segments": { +"description": "All video segments where OCR detected text appears.", +"items": { +"$ref": "GoogleCloudVideointelligenceV1p3beta1_TextSegment" +}, +"type": "array" +}, +"text": { +"description": "The detected text.", +"type": "string" +}, +"version": { +"description": "Feature version.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudVideointelligenceV1p3beta1_TextFrame": { +"description": "Video frame level annotation results for text annotation (OCR). Contains information regarding timestamp and bounding box locations for the frames containing detected OCR text snippets.", +"id": "GoogleCloudVideointelligenceV1p3beta1_TextFrame", +"properties": { +"rotatedBoundingBox": { +"$ref": "GoogleCloudVideointelligenceV1p3beta1_NormalizedBoundingPoly", +"description": "Bounding polygon of the detected text for this frame." +}, +"timeOffset": { +"description": "Timestamp of this frame.", +"format": "google-duration", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudVideointelligenceV1p3beta1_TextSegment": { +"description": "Video segment level annotation results for text detection.", +"id": "GoogleCloudVideointelligenceV1p3beta1_TextSegment", +"properties": { +"confidence": { +"description": "Confidence for the track of detected text. It is calculated as the highest over all frames where OCR detected text appears.", +"format": "float", +"type": "number" +}, +"frames": { +"description": "Information related to the frames where OCR detected text appears.", +"items": { +"$ref": "GoogleCloudVideointelligenceV1p3beta1_TextFrame" +}, +"type": "array" +}, +"segment": { +"$ref": "GoogleCloudVideointelligenceV1p3beta1_VideoSegment", +"description": "Video segment where a text snippet was detected." +} +}, +"type": "object" +}, +"GoogleCloudVideointelligenceV1p3beta1_TimestampedObject": { +"description": "For tracking related features. An object at time_offset with attributes, and located with normalized_bounding_box.", +"id": "GoogleCloudVideointelligenceV1p3beta1_TimestampedObject", +"properties": { +"attributes": { +"description": "Optional. The attributes of the object in the bounding box.", +"items": { +"$ref": "GoogleCloudVideointelligenceV1p3beta1_DetectedAttribute" +}, +"type": "array" +}, +"landmarks": { +"description": "Optional. The detected landmarks.", +"items": { +"$ref": "GoogleCloudVideointelligenceV1p3beta1_DetectedLandmark" +}, +"type": "array" +}, +"normalizedBoundingBox": { +"$ref": "GoogleCloudVideointelligenceV1p3beta1_NormalizedBoundingBox", +"description": "Normalized Bounding box in a frame, where the object is located." +}, +"timeOffset": { +"description": "Time-offset, relative to the beginning of the video, corresponding to the video frame for this object.", +"format": "google-duration", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudVideointelligenceV1p3beta1_Track": { +"description": "A track of an object instance.", +"id": "GoogleCloudVideointelligenceV1p3beta1_Track", +"properties": { +"attributes": { +"description": "Optional. Attributes in the track level.", +"items": { +"$ref": "GoogleCloudVideointelligenceV1p3beta1_DetectedAttribute" +}, +"type": "array" +}, +"confidence": { +"description": "Optional. The confidence score of the tracked object.", +"format": "float", +"type": "number" +}, +"segment": { +"$ref": "GoogleCloudVideointelligenceV1p3beta1_VideoSegment", +"description": "Video segment of a track." +}, +"timestampedObjects": { +"description": "The object with timestamp and attributes per frame in the track.", +"items": { +"$ref": "GoogleCloudVideointelligenceV1p3beta1_TimestampedObject" +}, +"type": "array" +} +}, +"type": "object" +}, +"GoogleCloudVideointelligenceV1p3beta1_VideoAnnotationProgress": { +"description": "Annotation progress for a single video.", +"id": "GoogleCloudVideointelligenceV1p3beta1_VideoAnnotationProgress", +"properties": { +"feature": { +"description": "Specifies which feature is being tracked if the request contains more than one feature.", +"enum": [ +"FEATURE_UNSPECIFIED", +"LABEL_DETECTION", +"SHOT_CHANGE_DETECTION", +"EXPLICIT_CONTENT_DETECTION", +"FACE_DETECTION", +"SPEECH_TRANSCRIPTION", +"TEXT_DETECTION", +"OBJECT_TRACKING", +"LOGO_RECOGNITION", +"CELEBRITY_RECOGNITION", +"PERSON_DETECTION" +], +"enumDescriptions": [ +"Unspecified.", +"Label detection. Detect objects, such as dog or flower.", +"Shot change detection.", +"Explicit content detection.", +"Human face detection.", +"Speech transcription.", +"OCR text detection and tracking.", +"Object detection and tracking.", +"Logo detection, tracking, and recognition.", +"Celebrity recognition.", +"Person detection." +], +"type": "string" +}, +"inputUri": { +"description": "Video file location in [Cloud Storage](https://cloud.google.com/storage/).", +"type": "string" +}, +"progressPercent": { +"description": "Approximate percentage processed thus far. Guaranteed to be 100 when fully processed.", +"format": "int32", +"type": "integer" +}, +"segment": { +"$ref": "GoogleCloudVideointelligenceV1p3beta1_VideoSegment", +"description": "Specifies which segment is being tracked if the request contains more than one segment." +}, +"startTime": { +"description": "Time when the request was received.", +"format": "google-datetime", +"type": "string" +}, +"updateTime": { +"description": "Time of the most recent update.", +"format": "google-datetime", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudVideointelligenceV1p3beta1_VideoAnnotationResults": { +"description": "Annotation results for a single video.", +"id": "GoogleCloudVideointelligenceV1p3beta1_VideoAnnotationResults", +"properties": { +"celebrityRecognitionAnnotations": { +"$ref": "GoogleCloudVideointelligenceV1p3beta1_CelebrityRecognitionAnnotation", +"description": "Celebrity recognition annotations." +}, +"error": { +"$ref": "GoogleRpc_Status", +"description": "If set, indicates an error. Note that for a single `AnnotateVideoRequest` some videos may succeed and some may fail." +}, +"explicitAnnotation": { +"$ref": "GoogleCloudVideointelligenceV1p3beta1_ExplicitContentAnnotation", +"description": "Explicit content annotation." +}, +"faceAnnotations": { +"deprecated": true, +"description": "Deprecated. Please use `face_detection_annotations` instead.", +"items": { +"$ref": "GoogleCloudVideointelligenceV1p3beta1_FaceAnnotation" +}, +"type": "array" +}, +"faceDetectionAnnotations": { +"description": "Face detection annotations.", +"items": { +"$ref": "GoogleCloudVideointelligenceV1p3beta1_FaceDetectionAnnotation" +}, +"type": "array" +}, +"frameLabelAnnotations": { +"description": "Label annotations on frame level. There is exactly one element for each unique label.", +"items": { +"$ref": "GoogleCloudVideointelligenceV1p3beta1_LabelAnnotation" +}, +"type": "array" +}, +"inputUri": { +"description": "Video file location in [Cloud Storage](https://cloud.google.com/storage/).", +"type": "string" +}, +"logoRecognitionAnnotations": { +"description": "Annotations for list of logos detected, tracked and recognized in video.", +"items": { +"$ref": "GoogleCloudVideointelligenceV1p3beta1_LogoRecognitionAnnotation" +}, +"type": "array" +}, +"objectAnnotations": { +"description": "Annotations for list of objects detected and tracked in video.", +"items": { +"$ref": "GoogleCloudVideointelligenceV1p3beta1_ObjectTrackingAnnotation" +}, +"type": "array" +}, +"personDetectionAnnotations": { +"description": "Person detection annotations.", +"items": { +"$ref": "GoogleCloudVideointelligenceV1p3beta1_PersonDetectionAnnotation" +}, +"type": "array" +}, +"segment": { +"$ref": "GoogleCloudVideointelligenceV1p3beta1_VideoSegment", +"description": "Video segment on which the annotation is run." +}, +"segmentLabelAnnotations": { +"description": "Topical label annotations on video level or user-specified segment level. There is exactly one element for each unique label.", +"items": { +"$ref": "GoogleCloudVideointelligenceV1p3beta1_LabelAnnotation" +}, +"type": "array" +}, +"segmentPresenceLabelAnnotations": { +"description": "Presence label annotations on video level or user-specified segment level. There is exactly one element for each unique label. Compared to the existing topical `segment_label_annotations`, this field presents more fine-grained, segment-level labels detected in video content and is made available only when the client sets `LabelDetectionConfig.model` to \"builtin/latest\" in the request.", +"items": { +"$ref": "GoogleCloudVideointelligenceV1p3beta1_LabelAnnotation" +}, +"type": "array" +}, +"shotAnnotations": { +"description": "Shot annotations. Each shot is represented as a video segment.", +"items": { +"$ref": "GoogleCloudVideointelligenceV1p3beta1_VideoSegment" +}, +"type": "array" +}, +"shotLabelAnnotations": { +"description": "Topical label annotations on shot level. There is exactly one element for each unique label.", +"items": { +"$ref": "GoogleCloudVideointelligenceV1p3beta1_LabelAnnotation" +}, +"type": "array" +}, +"shotPresenceLabelAnnotations": { +"description": "Presence label annotations on shot level. There is exactly one element for each unique label. Compared to the existing topical `shot_label_annotations`, this field presents more fine-grained, shot-level labels detected in video content and is made available only when the client sets `LabelDetectionConfig.model` to \"builtin/latest\" in the request.", +"items": { +"$ref": "GoogleCloudVideointelligenceV1p3beta1_LabelAnnotation" +}, +"type": "array" +}, +"speechTranscriptions": { +"description": "Speech transcription.", +"items": { +"$ref": "GoogleCloudVideointelligenceV1p3beta1_SpeechTranscription" +}, +"type": "array" +}, +"textAnnotations": { +"description": "OCR text detection and tracking. Annotations for list of detected text snippets. Each will have list of frame information associated with it.", +"items": { +"$ref": "GoogleCloudVideointelligenceV1p3beta1_TextAnnotation" +}, +"type": "array" +} +}, +"type": "object" +}, +"GoogleCloudVideointelligenceV1p3beta1_VideoSegment": { +"description": "Video segment.", +"id": "GoogleCloudVideointelligenceV1p3beta1_VideoSegment", +"properties": { +"endTimeOffset": { +"description": "Time-offset, relative to the beginning of the video, corresponding to the end of the segment (inclusive).", +"format": "google-duration", +"type": "string" +}, +"startTimeOffset": { +"description": "Time-offset, relative to the beginning of the video, corresponding to the start of the segment (inclusive).", +"format": "google-duration", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudVideointelligenceV1p3beta1_WordInfo": { +"description": "Word-specific information for recognized words. Word information is only included in the response when certain request parameters are set, such as `enable_word_time_offsets`.", +"id": "GoogleCloudVideointelligenceV1p3beta1_WordInfo", +"properties": { +"confidence": { +"description": "Output only. The confidence estimate between 0.0 and 1.0. A higher number indicates an estimated greater likelihood that the recognized words are correct. This field is set only for the top alternative. This field is not guaranteed to be accurate and users should not rely on it to be always provided. The default of 0.0 is a sentinel value indicating `confidence` was not set.", +"format": "float", +"readOnly": true, +"type": "number" +}, +"endTime": { +"description": "Time offset relative to the beginning of the audio, and corresponding to the end of the spoken word. This field is only set if `enable_word_time_offsets=true` and only in the top hypothesis. This is an experimental feature and the accuracy of the time offset can vary.", +"format": "google-duration", +"type": "string" +}, +"speakerTag": { +"description": "Output only. A distinct integer value is assigned for every speaker within the audio. This field specifies which one of those speakers was detected to have spoken this word. Value ranges from 1 up to diarization_speaker_count, and is only set if speaker diarization is enabled.", +"format": "int32", +"readOnly": true, +"type": "integer" +}, +"startTime": { +"description": "Time offset relative to the beginning of the audio, and corresponding to the start of the spoken word. This field is only set if `enable_word_time_offsets=true` and only in the top hypothesis. This is an experimental feature and the accuracy of the time offset can vary.", +"format": "google-duration", +"type": "string" +}, +"word": { +"description": "The word corresponding to this set of information.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleLongrunning_Operation": { +"description": "This resource represents a long-running operation that is the result of a network API call.", +"id": "GoogleLongrunning_Operation", +"properties": { +"done": { +"description": "If the value is `false`, it means the operation is still in progress. If `true`, the operation is completed, and either `error` or `response` is available.", +"type": "boolean" +}, +"error": { +"$ref": "GoogleRpc_Status", +"description": "The error result of the operation in case of failure or cancellation." +}, +"metadata": { +"additionalProperties": { +"description": "Properties of the object. Contains field @type with type URL.", +"type": "any" +}, +"description": "Service-specific metadata associated with the operation. It typically contains progress information and common metadata such as create time. Some services might not provide such metadata. Any method that returns a long-running operation should document the metadata type, if any.", +"type": "object" +}, +"name": { +"description": "The server-assigned name, which is only unique within the same service that originally returns it. If you use the default HTTP mapping, the `name` should be a resource name ending with `operations/{unique_id}`.", +"type": "string" +}, +"response": { +"additionalProperties": { +"description": "Properties of the object. Contains field @type with type URL.", +"type": "any" +}, +"description": "The normal, successful response of the operation. If the original method returns no data on success, such as `Delete`, the response is `google.protobuf.Empty`. If the original method is standard `Get`/`Create`/`Update`, the response should be the resource. For other methods, the response should have the type `XxxResponse`, where `Xxx` is the original method name. For example, if the original method name is `TakeSnapshot()`, the inferred response type is `TakeSnapshotResponse`.", +"type": "object" +} +}, +"type": "object" +}, +"GoogleRpc_Status": { +"description": "The `Status` type defines a logical error model that is suitable for different programming environments, including REST APIs and RPC APIs. It is used by [gRPC](https://github.com/grpc). Each `Status` message contains three pieces of data: error code, error message, and error details. You can find out more about this error model and how to work with it in the [API Design Guide](https://cloud.google.com/apis/design/errors).", +"id": "GoogleRpc_Status", +"properties": { +"code": { +"description": "The status code, which should be an enum value of google.rpc.Code.", +"format": "int32", +"type": "integer" +}, +"details": { +"description": "A list of messages that carry the error details. There is a common set of message types for APIs to use.", +"items": { +"additionalProperties": { +"description": "Properties of the object. Contains field @type with type URL.", +"type": "any" +}, +"type": "object" +}, +"type": "array" +}, +"message": { +"description": "A developer-facing error message, which should be in English. Any user-facing error message should be localized and sent in the google.rpc.Status.details field, or localized by the client.", +"type": "string" +} +}, +"type": "object" +} +}, +"servicePath": "", +"title": "Cloud Video Intelligence API", +"version": "v1beta2", +"version_module": true +} \ No newline at end of file diff --git a/.venv/lib/python3.11/site-packages/googleapiclient/discovery_cache/documents/vpcaccess.v1.json b/.venv/lib/python3.11/site-packages/googleapiclient/discovery_cache/documents/vpcaccess.v1.json new file mode 100644 index 0000000000000000000000000000000000000000..70b0fd6d014c3cb2abbd73a29e8a3ecc5b047564 --- /dev/null +++ b/.venv/lib/python3.11/site-packages/googleapiclient/discovery_cache/documents/vpcaccess.v1.json @@ -0,0 +1,725 @@ +{ +"auth": { +"oauth2": { +"scopes": { +"https://www.googleapis.com/auth/cloud-platform": { +"description": "See, edit, configure, and delete your Google Cloud data and see the email address for your Google Account." +} +} +} +}, +"basePath": "", +"baseUrl": "https://vpcaccess.googleapis.com/", +"batchPath": "batch", +"canonicalName": "Serverless VPC Access", +"description": "API for managing VPC access connectors.", +"discoveryVersion": "v1", +"documentationLink": "https://cloud.google.com/vpc/docs/configure-serverless-vpc-access", +"fullyEncodeReservedExpansion": true, +"icons": { +"x16": "http://www.google.com/images/icons/product/search-16.gif", +"x32": "http://www.google.com/images/icons/product/search-32.gif" +}, +"id": "vpcaccess:v1", +"kind": "discovery#restDescription", +"mtlsRootUrl": "https://vpcaccess.mtls.googleapis.com/", +"name": "vpcaccess", +"ownerDomain": "google.com", +"ownerName": "Google", +"parameters": { +"$.xgafv": { +"description": "V1 error format.", +"enum": [ +"1", +"2" +], +"enumDescriptions": [ +"v1 error format", +"v2 error format" +], +"location": "query", +"type": "string" +}, +"access_token": { +"description": "OAuth access token.", +"location": "query", +"type": "string" +}, +"alt": { +"default": "json", +"description": "Data format for response.", +"enum": [ +"json", +"media", +"proto" +], +"enumDescriptions": [ +"Responses with Content-Type of application/json", +"Media download with context-dependent Content-Type", +"Responses with Content-Type of application/x-protobuf" +], +"location": "query", +"type": "string" +}, +"callback": { +"description": "JSONP", +"location": "query", +"type": "string" +}, +"fields": { +"description": "Selector specifying which fields to include in a partial response.", +"location": "query", +"type": "string" +}, +"key": { +"description": "API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token.", +"location": "query", +"type": "string" +}, +"oauth_token": { +"description": "OAuth 2.0 token for the current user.", +"location": "query", +"type": "string" +}, +"prettyPrint": { +"default": "true", +"description": "Returns response with indentations and line breaks.", +"location": "query", +"type": "boolean" +}, +"quotaUser": { +"description": "Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters.", +"location": "query", +"type": "string" +}, +"uploadType": { +"description": "Legacy upload protocol for media (e.g. \"media\", \"multipart\").", +"location": "query", +"type": "string" +}, +"upload_protocol": { +"description": "Upload protocol for media (e.g. \"raw\", \"multipart\").", +"location": "query", +"type": "string" +} +}, +"protocol": "rest", +"resources": { +"projects": { +"resources": { +"locations": { +"methods": { +"list": { +"description": "Lists information about the supported locations for this service.", +"flatPath": "v1/projects/{projectsId}/locations", +"httpMethod": "GET", +"id": "vpcaccess.projects.locations.list", +"parameterOrder": [ +"name" +], +"parameters": { +"filter": { +"description": "A filter to narrow down results to a preferred subset. The filtering language accepts strings like `\"displayName=tokyo\"`, and is documented in more detail in [AIP-160](https://google.aip.dev/160).", +"location": "query", +"type": "string" +}, +"name": { +"description": "The resource that owns the locations collection, if applicable.", +"location": "path", +"pattern": "^projects/[^/]+$", +"required": true, +"type": "string" +}, +"pageSize": { +"description": "The maximum number of results to return. If not set, the service selects a default.", +"format": "int32", +"location": "query", +"type": "integer" +}, +"pageToken": { +"description": "A page token received from the `next_page_token` field in the response. Send that page token to receive the subsequent page.", +"location": "query", +"type": "string" +} +}, +"path": "v1/{+name}/locations", +"response": { +"$ref": "ListLocationsResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +} +}, +"resources": { +"connectors": { +"methods": { +"create": { +"description": "Creates a Serverless VPC Access connector, returns an operation.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/connectors", +"httpMethod": "POST", +"id": "vpcaccess.projects.locations.connectors.create", +"parameterOrder": [ +"parent" +], +"parameters": { +"connectorId": { +"description": "Required. The ID to use for this connector.", +"location": "query", +"type": "string" +}, +"parent": { +"description": "Required. The project ID and location in which the configuration should be created, specified in the format `projects/*/locations/*`.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+parent}/connectors", +"request": { +"$ref": "Connector" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"delete": { +"description": "Deletes a Serverless VPC Access connector. Returns NOT_FOUND if the resource does not exist.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/connectors/{connectorsId}", +"httpMethod": "DELETE", +"id": "vpcaccess.projects.locations.connectors.delete", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. Name of a Serverless VPC Access connector to delete.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/connectors/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+name}", +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"get": { +"description": "Gets a Serverless VPC Access connector. Returns NOT_FOUND if the resource does not exist.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/connectors/{connectorsId}", +"httpMethod": "GET", +"id": "vpcaccess.projects.locations.connectors.get", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. Name of a Serverless VPC Access connector to get.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/connectors/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+name}", +"response": { +"$ref": "Connector" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"list": { +"description": "Lists Serverless VPC Access connectors.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/connectors", +"httpMethod": "GET", +"id": "vpcaccess.projects.locations.connectors.list", +"parameterOrder": [ +"parent" +], +"parameters": { +"pageSize": { +"description": "Maximum number of functions to return per call.", +"format": "int32", +"location": "query", +"type": "integer" +}, +"pageToken": { +"description": "Continuation token.", +"location": "query", +"type": "string" +}, +"parent": { +"description": "Required. The project and location from which the routes should be listed.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+parent}/connectors", +"response": { +"$ref": "ListConnectorsResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"patch": { +"description": "Updates a Serverless VPC Access connector, returns an operation.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/connectors/{connectorsId}", +"httpMethod": "PATCH", +"id": "vpcaccess.projects.locations.connectors.patch", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "The resource name in the format `projects/*/locations/*/connectors/*`.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/connectors/[^/]+$", +"required": true, +"type": "string" +}, +"updateMask": { +"description": "The fields to update on the entry group. If absent or empty, all modifiable fields are updated.", +"format": "google-fieldmask", +"location": "query", +"type": "string" +} +}, +"path": "v1/{+name}", +"request": { +"$ref": "Connector" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +} +} +}, +"operations": { +"methods": { +"get": { +"description": "Gets the latest state of a long-running operation. Clients can use this method to poll the operation result at intervals as recommended by the API service.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/operations/{operationsId}", +"httpMethod": "GET", +"id": "vpcaccess.projects.locations.operations.get", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "The name of the operation resource.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/operations/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+name}", +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"list": { +"description": "Lists operations that match the specified filter in the request. If the server doesn't support this method, it returns `UNIMPLEMENTED`.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/operations", +"httpMethod": "GET", +"id": "vpcaccess.projects.locations.operations.list", +"parameterOrder": [ +"name" +], +"parameters": { +"filter": { +"description": "The standard list filter.", +"location": "query", +"type": "string" +}, +"name": { +"description": "The name of the operation's parent resource.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+$", +"required": true, +"type": "string" +}, +"pageSize": { +"description": "The standard list page size.", +"format": "int32", +"location": "query", +"type": "integer" +}, +"pageToken": { +"description": "The standard list page token.", +"location": "query", +"type": "string" +} +}, +"path": "v1/{+name}/operations", +"response": { +"$ref": "ListOperationsResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +} +} +} +} +} +} +} +}, +"revision": "20240905", +"rootUrl": "https://vpcaccess.googleapis.com/", +"schemas": { +"Connector": { +"description": "Definition of a Serverless VPC Access connector.", +"id": "Connector", +"properties": { +"connectedProjects": { +"description": "Output only. List of projects using the connector.", +"items": { +"type": "string" +}, +"readOnly": true, +"type": "array" +}, +"ipCidrRange": { +"description": "Optional. The range of internal addresses that follows RFC 4632 notation. Example: `10.132.0.0/28`.", +"type": "string" +}, +"machineType": { +"description": "Machine type of VM Instance underlying connector. Default is e2-micro", +"type": "string" +}, +"maxInstances": { +"description": "Maximum value of instances in autoscaling group underlying the connector.", +"format": "int32", +"type": "integer" +}, +"maxThroughput": { +"deprecated": true, +"description": "Maximum throughput of the connector in Mbps. Refers to the expected throughput when using an `e2-micro` machine type. Value must be a multiple of 100 from 300 through 1000. Must be higher than the value specified by --min-throughput. If both max-throughput and max-instances are provided, max-instances takes precedence over max-throughput. The use of `max-throughput` is discouraged in favor of `max-instances`.", +"format": "int32", +"type": "integer" +}, +"minInstances": { +"description": "Minimum value of instances in autoscaling group underlying the connector.", +"format": "int32", +"type": "integer" +}, +"minThroughput": { +"deprecated": true, +"description": "Minimum throughput of the connector in Mbps. Refers to the expected throughput when using an `e2-micro` machine type. Value must be a multiple of 100 from 200 through 900. Must be lower than the value specified by --max-throughput. If both min-throughput and min-instances are provided, min-instances takes precedence over min-throughput. The use of `min-throughput` is discouraged in favor of `min-instances`.", +"format": "int32", +"type": "integer" +}, +"name": { +"description": "The resource name in the format `projects/*/locations/*/connectors/*`.", +"type": "string" +}, +"network": { +"description": "Optional. Name of a VPC network.", +"type": "string" +}, +"state": { +"description": "Output only. State of the VPC access connector.", +"enum": [ +"STATE_UNSPECIFIED", +"READY", +"CREATING", +"DELETING", +"ERROR", +"UPDATING" +], +"enumDescriptions": [ +"Invalid state.", +"Connector is deployed and ready to receive traffic.", +"An Insert operation is in progress. Transient condition.", +"A Delete operation is in progress. Transient condition.", +"Connector is in a bad state, manual deletion recommended.", +"The connector is being updated." +], +"readOnly": true, +"type": "string" +}, +"subnet": { +"$ref": "Subnet", +"description": "Optional. The subnet in which to house the VPC Access Connector." +} +}, +"type": "object" +}, +"ListConnectorsResponse": { +"description": "Response for listing Serverless VPC Access connectors.", +"id": "ListConnectorsResponse", +"properties": { +"connectors": { +"description": "List of Serverless VPC Access connectors.", +"items": { +"$ref": "Connector" +}, +"type": "array" +}, +"nextPageToken": { +"description": "Continuation token.", +"type": "string" +} +}, +"type": "object" +}, +"ListLocationsResponse": { +"description": "The response message for Locations.ListLocations.", +"id": "ListLocationsResponse", +"properties": { +"locations": { +"description": "A list of locations that matches the specified filter in the request.", +"items": { +"$ref": "Location" +}, +"type": "array" +}, +"nextPageToken": { +"description": "The standard List next-page token.", +"type": "string" +} +}, +"type": "object" +}, +"ListOperationsResponse": { +"description": "The response message for Operations.ListOperations.", +"id": "ListOperationsResponse", +"properties": { +"nextPageToken": { +"description": "The standard List next-page token.", +"type": "string" +}, +"operations": { +"description": "A list of operations that matches the specified filter in the request.", +"items": { +"$ref": "Operation" +}, +"type": "array" +} +}, +"type": "object" +}, +"Location": { +"description": "A resource that represents a Google Cloud location.", +"id": "Location", +"properties": { +"displayName": { +"description": "The friendly name for this location, typically a nearby city name. For example, \"Tokyo\".", +"type": "string" +}, +"labels": { +"additionalProperties": { +"type": "string" +}, +"description": "Cross-service attributes for the location. For example {\"cloud.googleapis.com/region\": \"us-east1\"}", +"type": "object" +}, +"locationId": { +"description": "The canonical id for this location. For example: `\"us-east1\"`.", +"type": "string" +}, +"metadata": { +"additionalProperties": { +"description": "Properties of the object. Contains field @type with type URL.", +"type": "any" +}, +"description": "Service-specific metadata. For example the available capacity at the given location.", +"type": "object" +}, +"name": { +"description": "Resource name for the location, which may vary between implementations. For example: `\"projects/example-project/locations/us-east1\"`", +"type": "string" +} +}, +"type": "object" +}, +"Operation": { +"description": "This resource represents a long-running operation that is the result of a network API call.", +"id": "Operation", +"properties": { +"done": { +"description": "If the value is `false`, it means the operation is still in progress. If `true`, the operation is completed, and either `error` or `response` is available.", +"type": "boolean" +}, +"error": { +"$ref": "Status", +"description": "The error result of the operation in case of failure or cancellation." +}, +"metadata": { +"additionalProperties": { +"description": "Properties of the object. Contains field @type with type URL.", +"type": "any" +}, +"description": "Service-specific metadata associated with the operation. It typically contains progress information and common metadata such as create time. Some services might not provide such metadata. Any method that returns a long-running operation should document the metadata type, if any.", +"type": "object" +}, +"name": { +"description": "The server-assigned name, which is only unique within the same service that originally returns it. If you use the default HTTP mapping, the `name` should be a resource name ending with `operations/{unique_id}`.", +"type": "string" +}, +"response": { +"additionalProperties": { +"description": "Properties of the object. Contains field @type with type URL.", +"type": "any" +}, +"description": "The normal, successful response of the operation. If the original method returns no data on success, such as `Delete`, the response is `google.protobuf.Empty`. If the original method is standard `Get`/`Create`/`Update`, the response should be the resource. For other methods, the response should have the type `XxxResponse`, where `Xxx` is the original method name. For example, if the original method name is `TakeSnapshot()`, the inferred response type is `TakeSnapshotResponse`.", +"type": "object" +} +}, +"type": "object" +}, +"OperationMetadata": { +"description": "Metadata for google.longrunning.Operation.", +"id": "OperationMetadata", +"properties": { +"createTime": { +"description": "Output only. Time when the operation was created.", +"format": "google-datetime", +"readOnly": true, +"type": "string" +}, +"endTime": { +"description": "Output only. Time when the operation completed.", +"format": "google-datetime", +"readOnly": true, +"type": "string" +}, +"method": { +"description": "Output only. Method that initiated the operation e.g. google.cloud.vpcaccess.v1.Connectors.CreateConnector.", +"readOnly": true, +"type": "string" +}, +"target": { +"description": "Output only. Name of the resource that this operation is acting on e.g. projects/my-project/locations/us-central1/connectors/v1.", +"readOnly": true, +"type": "string" +} +}, +"type": "object" +}, +"OperationMetadataV1Alpha1": { +"description": "Metadata for google.longrunning.Operation.", +"id": "OperationMetadataV1Alpha1", +"properties": { +"endTime": { +"description": "Output only. Time when the operation completed.", +"format": "google-datetime", +"readOnly": true, +"type": "string" +}, +"insertTime": { +"description": "Output only. Time when the operation was created.", +"format": "google-datetime", +"readOnly": true, +"type": "string" +}, +"method": { +"description": "Output only. Method that initiated the operation e.g. google.cloud.vpcaccess.v1alpha1.Connectors.CreateConnector.", +"readOnly": true, +"type": "string" +}, +"target": { +"description": "Output only. Name of the resource that this operation is acting on e.g. projects/my-project/locations/us-central1/connectors/v1.", +"readOnly": true, +"type": "string" +} +}, +"type": "object" +}, +"OperationMetadataV1Beta1": { +"description": "Metadata for google.longrunning.Operation.", +"id": "OperationMetadataV1Beta1", +"properties": { +"createTime": { +"description": "Output only. Time when the operation was created.", +"format": "google-datetime", +"readOnly": true, +"type": "string" +}, +"endTime": { +"description": "Output only. Time when the operation completed.", +"format": "google-datetime", +"readOnly": true, +"type": "string" +}, +"method": { +"description": "Output only. Method that initiated the operation e.g. google.cloud.vpcaccess.v1beta1.Connectors.CreateConnector.", +"readOnly": true, +"type": "string" +}, +"target": { +"description": "Output only. Name of the resource that this operation is acting on e.g. projects/my-project/locations/us-central1/connectors/v1.", +"readOnly": true, +"type": "string" +} +}, +"type": "object" +}, +"Status": { +"description": "The `Status` type defines a logical error model that is suitable for different programming environments, including REST APIs and RPC APIs. It is used by [gRPC](https://github.com/grpc). Each `Status` message contains three pieces of data: error code, error message, and error details. You can find out more about this error model and how to work with it in the [API Design Guide](https://cloud.google.com/apis/design/errors).", +"id": "Status", +"properties": { +"code": { +"description": "The status code, which should be an enum value of google.rpc.Code.", +"format": "int32", +"type": "integer" +}, +"details": { +"description": "A list of messages that carry the error details. There is a common set of message types for APIs to use.", +"items": { +"additionalProperties": { +"description": "Properties of the object. Contains field @type with type URL.", +"type": "any" +}, +"type": "object" +}, +"type": "array" +}, +"message": { +"description": "A developer-facing error message, which should be in English. Any user-facing error message should be localized and sent in the google.rpc.Status.details field, or localized by the client.", +"type": "string" +} +}, +"type": "object" +}, +"Subnet": { +"description": "The subnet in which to house the connector", +"id": "Subnet", +"properties": { +"name": { +"description": "Optional. Subnet name (relative, not fully qualified). E.g. if the full subnet selfLink is https://compute.googleapis.com/compute/v1/projects/{project}/regions/{region}/subnetworks/{subnetName} the correct input for this field would be {subnetName}", +"type": "string" +}, +"projectId": { +"description": "Optional. Project in which the subnet exists. If not set, this project is assumed to be the project for which the connector create request was issued.", +"type": "string" +} +}, +"type": "object" +} +}, +"servicePath": "", +"title": "Serverless VPC Access API", +"version": "v1", +"version_module": true +} \ No newline at end of file diff --git a/.venv/lib/python3.11/site-packages/googleapiclient/discovery_cache/documents/workstations.v1.json b/.venv/lib/python3.11/site-packages/googleapiclient/discovery_cache/documents/workstations.v1.json new file mode 100644 index 0000000000000000000000000000000000000000..fe20273900cf5ccb52d34229b1e890e8ccc193a6 --- /dev/null +++ b/.venv/lib/python3.11/site-packages/googleapiclient/discovery_cache/documents/workstations.v1.json @@ -0,0 +1,2552 @@ +{ +"auth": { +"oauth2": { +"scopes": { +"https://www.googleapis.com/auth/cloud-platform": { +"description": "See, edit, configure, and delete your Google Cloud data and see the email address for your Google Account." +} +} +} +}, +"basePath": "", +"baseUrl": "https://workstations.googleapis.com/", +"batchPath": "batch", +"canonicalName": "Cloud Workstations", +"description": "Allows administrators to create managed developer environments in the cloud. ", +"discoveryVersion": "v1", +"documentationLink": "https://cloud.google.com/workstations", +"fullyEncodeReservedExpansion": true, +"icons": { +"x16": "http://www.google.com/images/icons/product/search-16.gif", +"x32": "http://www.google.com/images/icons/product/search-32.gif" +}, +"id": "workstations:v1", +"kind": "discovery#restDescription", +"mtlsRootUrl": "https://workstations.mtls.googleapis.com/", +"name": "workstations", +"ownerDomain": "google.com", +"ownerName": "Google", +"parameters": { +"$.xgafv": { +"description": "V1 error format.", +"enum": [ +"1", +"2" +], +"enumDescriptions": [ +"v1 error format", +"v2 error format" +], +"location": "query", +"type": "string" +}, +"access_token": { +"description": "OAuth access token.", +"location": "query", +"type": "string" +}, +"alt": { +"default": "json", +"description": "Data format for response.", +"enum": [ +"json", +"media", +"proto" +], +"enumDescriptions": [ +"Responses with Content-Type of application/json", +"Media download with context-dependent Content-Type", +"Responses with Content-Type of application/x-protobuf" +], +"location": "query", +"type": "string" +}, +"callback": { +"description": "JSONP", +"location": "query", +"type": "string" +}, +"fields": { +"description": "Selector specifying which fields to include in a partial response.", +"location": "query", +"type": "string" +}, +"key": { +"description": "API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token.", +"location": "query", +"type": "string" +}, +"oauth_token": { +"description": "OAuth 2.0 token for the current user.", +"location": "query", +"type": "string" +}, +"prettyPrint": { +"default": "true", +"description": "Returns response with indentations and line breaks.", +"location": "query", +"type": "boolean" +}, +"quotaUser": { +"description": "Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters.", +"location": "query", +"type": "string" +}, +"uploadType": { +"description": "Legacy upload protocol for media (e.g. \"media\", \"multipart\").", +"location": "query", +"type": "string" +}, +"upload_protocol": { +"description": "Upload protocol for media (e.g. \"raw\", \"multipart\").", +"location": "query", +"type": "string" +} +}, +"protocol": "rest", +"resources": { +"projects": { +"resources": { +"locations": { +"methods": { +"get": { +"description": "Gets information about a location.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}", +"httpMethod": "GET", +"id": "workstations.projects.locations.get", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Resource name for the location.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+name}", +"response": { +"$ref": "Location" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"list": { +"description": "Lists information about the supported locations for this service.", +"flatPath": "v1/projects/{projectsId}/locations", +"httpMethod": "GET", +"id": "workstations.projects.locations.list", +"parameterOrder": [ +"name" +], +"parameters": { +"filter": { +"description": "A filter to narrow down results to a preferred subset. The filtering language accepts strings like `\"displayName=tokyo\"`, and is documented in more detail in [AIP-160](https://google.aip.dev/160).", +"location": "query", +"type": "string" +}, +"name": { +"description": "The resource that owns the locations collection, if applicable.", +"location": "path", +"pattern": "^projects/[^/]+$", +"required": true, +"type": "string" +}, +"pageSize": { +"description": "The maximum number of results to return. If not set, the service selects a default.", +"format": "int32", +"location": "query", +"type": "integer" +}, +"pageToken": { +"description": "A page token received from the `next_page_token` field in the response. Send that page token to receive the subsequent page.", +"location": "query", +"type": "string" +} +}, +"path": "v1/{+name}/locations", +"response": { +"$ref": "ListLocationsResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +} +}, +"resources": { +"operations": { +"methods": { +"cancel": { +"description": "Starts asynchronous cancellation on a long-running operation. The server makes a best effort to cancel the operation, but success is not guaranteed. If the server doesn't support this method, it returns `google.rpc.Code.UNIMPLEMENTED`. Clients can use Operations.GetOperation or other methods to check whether the cancellation succeeded or whether the operation completed despite cancellation. On successful cancellation, the operation is not deleted; instead, it becomes an operation with an Operation.error value with a google.rpc.Status.code of `1`, corresponding to `Code.CANCELLED`.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/operations/{operationsId}:cancel", +"httpMethod": "POST", +"id": "workstations.projects.locations.operations.cancel", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "The name of the operation resource to be cancelled.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/operations/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+name}:cancel", +"request": { +"$ref": "CancelOperationRequest" +}, +"response": { +"$ref": "GoogleProtobufEmpty" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"delete": { +"description": "Deletes a long-running operation. This method indicates that the client is no longer interested in the operation result. It does not cancel the operation. If the server doesn't support this method, it returns `google.rpc.Code.UNIMPLEMENTED`.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/operations/{operationsId}", +"httpMethod": "DELETE", +"id": "workstations.projects.locations.operations.delete", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "The name of the operation resource to be deleted.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/operations/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+name}", +"response": { +"$ref": "GoogleProtobufEmpty" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"get": { +"description": "Gets the latest state of a long-running operation. Clients can use this method to poll the operation result at intervals as recommended by the API service.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/operations/{operationsId}", +"httpMethod": "GET", +"id": "workstations.projects.locations.operations.get", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "The name of the operation resource.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/operations/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+name}", +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"list": { +"description": "Lists operations that match the specified filter in the request. If the server doesn't support this method, it returns `UNIMPLEMENTED`.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/operations", +"httpMethod": "GET", +"id": "workstations.projects.locations.operations.list", +"parameterOrder": [ +"name" +], +"parameters": { +"filter": { +"description": "The standard list filter.", +"location": "query", +"type": "string" +}, +"name": { +"description": "The name of the operation's parent resource.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+$", +"required": true, +"type": "string" +}, +"pageSize": { +"description": "The standard list page size.", +"format": "int32", +"location": "query", +"type": "integer" +}, +"pageToken": { +"description": "The standard list page token.", +"location": "query", +"type": "string" +} +}, +"path": "v1/{+name}/operations", +"response": { +"$ref": "ListOperationsResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +} +} +}, +"workstationClusters": { +"methods": { +"create": { +"description": "Creates a new workstation cluster.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/workstationClusters", +"httpMethod": "POST", +"id": "workstations.projects.locations.workstationClusters.create", +"parameterOrder": [ +"parent" +], +"parameters": { +"parent": { +"description": "Required. Parent resource name.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+$", +"required": true, +"type": "string" +}, +"validateOnly": { +"description": "Optional. If set, validate the request and preview the review, but do not actually apply it.", +"location": "query", +"type": "boolean" +}, +"workstationClusterId": { +"description": "Required. ID to use for the workstation cluster.", +"location": "query", +"type": "string" +} +}, +"path": "v1/{+parent}/workstationClusters", +"request": { +"$ref": "WorkstationCluster" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"delete": { +"description": "Deletes the specified workstation cluster.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/workstationClusters/{workstationClustersId}", +"httpMethod": "DELETE", +"id": "workstations.projects.locations.workstationClusters.delete", +"parameterOrder": [ +"name" +], +"parameters": { +"etag": { +"description": "Optional. If set, the request will be rejected if the latest version of the workstation cluster on the server does not have this ETag.", +"location": "query", +"type": "string" +}, +"force": { +"description": "Optional. If set, any workstation configurations and workstations in the workstation cluster are also deleted. Otherwise, the request only works if the workstation cluster has no configurations or workstations.", +"location": "query", +"type": "boolean" +}, +"name": { +"description": "Required. Name of the workstation cluster to delete.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/workstationClusters/[^/]+$", +"required": true, +"type": "string" +}, +"validateOnly": { +"description": "Optional. If set, validate the request and preview the review, but do not apply it.", +"location": "query", +"type": "boolean" +} +}, +"path": "v1/{+name}", +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"get": { +"description": "Returns the requested workstation cluster.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/workstationClusters/{workstationClustersId}", +"httpMethod": "GET", +"id": "workstations.projects.locations.workstationClusters.get", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. Name of the requested resource.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/workstationClusters/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+name}", +"response": { +"$ref": "WorkstationCluster" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"list": { +"description": "Returns all workstation clusters in the specified location.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/workstationClusters", +"httpMethod": "GET", +"id": "workstations.projects.locations.workstationClusters.list", +"parameterOrder": [ +"parent" +], +"parameters": { +"pageSize": { +"description": "Optional. Maximum number of items to return.", +"format": "int32", +"location": "query", +"type": "integer" +}, +"pageToken": { +"description": "Optional. next_page_token value returned from a previous List request, if any.", +"location": "query", +"type": "string" +}, +"parent": { +"description": "Required. Parent resource name.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+parent}/workstationClusters", +"response": { +"$ref": "ListWorkstationClustersResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"patch": { +"description": "Updates an existing workstation cluster.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/workstationClusters/{workstationClustersId}", +"httpMethod": "PATCH", +"id": "workstations.projects.locations.workstationClusters.patch", +"parameterOrder": [ +"name" +], +"parameters": { +"allowMissing": { +"description": "Optional. If set, and the workstation cluster is not found, a new workstation cluster will be created. In this situation, update_mask is ignored.", +"location": "query", +"type": "boolean" +}, +"name": { +"description": "Identifier. Full name of this workstation cluster.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/workstationClusters/[^/]+$", +"required": true, +"type": "string" +}, +"updateMask": { +"description": "Required. Mask that specifies which fields in the workstation cluster should be updated.", +"format": "google-fieldmask", +"location": "query", +"type": "string" +}, +"validateOnly": { +"description": "Optional. If set, validate the request and preview the review, but do not actually apply it.", +"location": "query", +"type": "boolean" +} +}, +"path": "v1/{+name}", +"request": { +"$ref": "WorkstationCluster" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +} +}, +"resources": { +"workstationConfigs": { +"methods": { +"create": { +"description": "Creates a new workstation configuration.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/workstationClusters/{workstationClustersId}/workstationConfigs", +"httpMethod": "POST", +"id": "workstations.projects.locations.workstationClusters.workstationConfigs.create", +"parameterOrder": [ +"parent" +], +"parameters": { +"parent": { +"description": "Required. Parent resource name.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/workstationClusters/[^/]+$", +"required": true, +"type": "string" +}, +"validateOnly": { +"description": "Optional. If set, validate the request and preview the review, but do not actually apply it.", +"location": "query", +"type": "boolean" +}, +"workstationConfigId": { +"description": "Required. ID to use for the workstation configuration.", +"location": "query", +"type": "string" +} +}, +"path": "v1/{+parent}/workstationConfigs", +"request": { +"$ref": "WorkstationConfig" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"delete": { +"description": "Deletes the specified workstation configuration.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/workstationClusters/{workstationClustersId}/workstationConfigs/{workstationConfigsId}", +"httpMethod": "DELETE", +"id": "workstations.projects.locations.workstationClusters.workstationConfigs.delete", +"parameterOrder": [ +"name" +], +"parameters": { +"etag": { +"description": "Optional. If set, the request is rejected if the latest version of the workstation configuration on the server does not have this ETag.", +"location": "query", +"type": "string" +}, +"force": { +"description": "Optional. If set, any workstations in the workstation configuration are also deleted. Otherwise, the request works only if the workstation configuration has no workstations.", +"location": "query", +"type": "boolean" +}, +"name": { +"description": "Required. Name of the workstation configuration to delete.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/workstationClusters/[^/]+/workstationConfigs/[^/]+$", +"required": true, +"type": "string" +}, +"validateOnly": { +"description": "Optional. If set, validate the request and preview the review, but do not actually apply it.", +"location": "query", +"type": "boolean" +} +}, +"path": "v1/{+name}", +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"get": { +"description": "Returns the requested workstation configuration.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/workstationClusters/{workstationClustersId}/workstationConfigs/{workstationConfigsId}", +"httpMethod": "GET", +"id": "workstations.projects.locations.workstationClusters.workstationConfigs.get", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. Name of the requested resource.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/workstationClusters/[^/]+/workstationConfigs/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+name}", +"response": { +"$ref": "WorkstationConfig" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"getIamPolicy": { +"description": "Gets the access control policy for a resource. Returns an empty policy if the resource exists and does not have a policy set.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/workstationClusters/{workstationClustersId}/workstationConfigs/{workstationConfigsId}:getIamPolicy", +"httpMethod": "GET", +"id": "workstations.projects.locations.workstationClusters.workstationConfigs.getIamPolicy", +"parameterOrder": [ +"resource" +], +"parameters": { +"options.requestedPolicyVersion": { +"description": "Optional. The maximum policy version that will be used to format the policy. Valid values are 0, 1, and 3. Requests specifying an invalid value will be rejected. Requests for policies with any conditional role bindings must specify version 3. Policies with no conditional role bindings may specify any valid value or leave the field unset. The policy in the response might use the policy version that you specified, or it might use a lower policy version. For example, if you specify version 3, but the policy has no conditional role bindings, the response uses version 1. To learn which resources support conditions in their IAM policies, see the [IAM documentation](https://cloud.google.com/iam/help/conditions/resource-policies).", +"format": "int32", +"location": "query", +"type": "integer" +}, +"resource": { +"description": "REQUIRED: The resource for which the policy is being requested. See [Resource names](https://cloud.google.com/apis/design/resource_names) for the appropriate value for this field.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/workstationClusters/[^/]+/workstationConfigs/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+resource}:getIamPolicy", +"response": { +"$ref": "Policy" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"list": { +"description": "Returns all workstation configurations in the specified cluster.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/workstationClusters/{workstationClustersId}/workstationConfigs", +"httpMethod": "GET", +"id": "workstations.projects.locations.workstationClusters.workstationConfigs.list", +"parameterOrder": [ +"parent" +], +"parameters": { +"pageSize": { +"description": "Optional. Maximum number of items to return.", +"format": "int32", +"location": "query", +"type": "integer" +}, +"pageToken": { +"description": "Optional. next_page_token value returned from a previous List request, if any.", +"location": "query", +"type": "string" +}, +"parent": { +"description": "Required. Parent resource name.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/workstationClusters/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+parent}/workstationConfigs", +"response": { +"$ref": "ListWorkstationConfigsResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"listUsable": { +"description": "Returns all workstation configurations in the specified cluster on which the caller has the \"workstations.workstation.create\" permission.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/workstationClusters/{workstationClustersId}/workstationConfigs:listUsable", +"httpMethod": "GET", +"id": "workstations.projects.locations.workstationClusters.workstationConfigs.listUsable", +"parameterOrder": [ +"parent" +], +"parameters": { +"pageSize": { +"description": "Optional. Maximum number of items to return.", +"format": "int32", +"location": "query", +"type": "integer" +}, +"pageToken": { +"description": "Optional. next_page_token value returned from a previous List request, if any.", +"location": "query", +"type": "string" +}, +"parent": { +"description": "Required. Parent resource name.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/workstationClusters/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+parent}/workstationConfigs:listUsable", +"response": { +"$ref": "ListUsableWorkstationConfigsResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"patch": { +"description": "Updates an existing workstation configuration.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/workstationClusters/{workstationClustersId}/workstationConfigs/{workstationConfigsId}", +"httpMethod": "PATCH", +"id": "workstations.projects.locations.workstationClusters.workstationConfigs.patch", +"parameterOrder": [ +"name" +], +"parameters": { +"allowMissing": { +"description": "Optional. If set and the workstation configuration is not found, a new workstation configuration will be created. In this situation, update_mask is ignored.", +"location": "query", +"type": "boolean" +}, +"name": { +"description": "Identifier. Full name of this workstation configuration.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/workstationClusters/[^/]+/workstationConfigs/[^/]+$", +"required": true, +"type": "string" +}, +"updateMask": { +"description": "Required. Mask specifying which fields in the workstation configuration should be updated.", +"format": "google-fieldmask", +"location": "query", +"type": "string" +}, +"validateOnly": { +"description": "Optional. If set, validate the request and preview the review, but do not actually apply it.", +"location": "query", +"type": "boolean" +} +}, +"path": "v1/{+name}", +"request": { +"$ref": "WorkstationConfig" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"setIamPolicy": { +"description": "Sets the access control policy on the specified resource. Replaces any existing policy. Can return `NOT_FOUND`, `INVALID_ARGUMENT`, and `PERMISSION_DENIED` errors.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/workstationClusters/{workstationClustersId}/workstationConfigs/{workstationConfigsId}:setIamPolicy", +"httpMethod": "POST", +"id": "workstations.projects.locations.workstationClusters.workstationConfigs.setIamPolicy", +"parameterOrder": [ +"resource" +], +"parameters": { +"resource": { +"description": "REQUIRED: The resource for which the policy is being specified. See [Resource names](https://cloud.google.com/apis/design/resource_names) for the appropriate value for this field.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/workstationClusters/[^/]+/workstationConfigs/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+resource}:setIamPolicy", +"request": { +"$ref": "SetIamPolicyRequest" +}, +"response": { +"$ref": "Policy" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"testIamPermissions": { +"description": "Returns permissions that a caller has on the specified resource. If the resource does not exist, this will return an empty set of permissions, not a `NOT_FOUND` error. Note: This operation is designed to be used for building permission-aware UIs and command-line tools, not for authorization checking. This operation may \"fail open\" without warning.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/workstationClusters/{workstationClustersId}/workstationConfigs/{workstationConfigsId}:testIamPermissions", +"httpMethod": "POST", +"id": "workstations.projects.locations.workstationClusters.workstationConfigs.testIamPermissions", +"parameterOrder": [ +"resource" +], +"parameters": { +"resource": { +"description": "REQUIRED: The resource for which the policy detail is being requested. See [Resource names](https://cloud.google.com/apis/design/resource_names) for the appropriate value for this field.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/workstationClusters/[^/]+/workstationConfigs/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+resource}:testIamPermissions", +"request": { +"$ref": "TestIamPermissionsRequest" +}, +"response": { +"$ref": "TestIamPermissionsResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +} +}, +"resources": { +"workstations": { +"methods": { +"create": { +"description": "Creates a new workstation.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/workstationClusters/{workstationClustersId}/workstationConfigs/{workstationConfigsId}/workstations", +"httpMethod": "POST", +"id": "workstations.projects.locations.workstationClusters.workstationConfigs.workstations.create", +"parameterOrder": [ +"parent" +], +"parameters": { +"parent": { +"description": "Required. Parent resource name.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/workstationClusters/[^/]+/workstationConfigs/[^/]+$", +"required": true, +"type": "string" +}, +"validateOnly": { +"description": "Optional. If set, validate the request and preview the review, but do not actually apply it.", +"location": "query", +"type": "boolean" +}, +"workstationId": { +"description": "Required. ID to use for the workstation.", +"location": "query", +"type": "string" +} +}, +"path": "v1/{+parent}/workstations", +"request": { +"$ref": "Workstation" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"delete": { +"description": "Deletes the specified workstation.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/workstationClusters/{workstationClustersId}/workstationConfigs/{workstationConfigsId}/workstations/{workstationsId}", +"httpMethod": "DELETE", +"id": "workstations.projects.locations.workstationClusters.workstationConfigs.workstations.delete", +"parameterOrder": [ +"name" +], +"parameters": { +"etag": { +"description": "Optional. If set, the request will be rejected if the latest version of the workstation on the server does not have this ETag.", +"location": "query", +"type": "string" +}, +"name": { +"description": "Required. Name of the workstation to delete.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/workstationClusters/[^/]+/workstationConfigs/[^/]+/workstations/[^/]+$", +"required": true, +"type": "string" +}, +"validateOnly": { +"description": "Optional. If set, validate the request and preview the review, but do not actually apply it.", +"location": "query", +"type": "boolean" +} +}, +"path": "v1/{+name}", +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"generateAccessToken": { +"description": "Returns a short-lived credential that can be used to send authenticated and authorized traffic to a workstation. Once generated this token cannot be revoked and is good for the lifetime of the token.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/workstationClusters/{workstationClustersId}/workstationConfigs/{workstationConfigsId}/workstations/{workstationsId}:generateAccessToken", +"httpMethod": "POST", +"id": "workstations.projects.locations.workstationClusters.workstationConfigs.workstations.generateAccessToken", +"parameterOrder": [ +"workstation" +], +"parameters": { +"workstation": { +"description": "Required. Name of the workstation for which the access token should be generated.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/workstationClusters/[^/]+/workstationConfigs/[^/]+/workstations/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+workstation}:generateAccessToken", +"request": { +"$ref": "GenerateAccessTokenRequest" +}, +"response": { +"$ref": "GenerateAccessTokenResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"get": { +"description": "Returns the requested workstation.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/workstationClusters/{workstationClustersId}/workstationConfigs/{workstationConfigsId}/workstations/{workstationsId}", +"httpMethod": "GET", +"id": "workstations.projects.locations.workstationClusters.workstationConfigs.workstations.get", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. Name of the requested resource.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/workstationClusters/[^/]+/workstationConfigs/[^/]+/workstations/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+name}", +"response": { +"$ref": "Workstation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"getIamPolicy": { +"description": "Gets the access control policy for a resource. Returns an empty policy if the resource exists and does not have a policy set.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/workstationClusters/{workstationClustersId}/workstationConfigs/{workstationConfigsId}/workstations/{workstationsId}:getIamPolicy", +"httpMethod": "GET", +"id": "workstations.projects.locations.workstationClusters.workstationConfigs.workstations.getIamPolicy", +"parameterOrder": [ +"resource" +], +"parameters": { +"options.requestedPolicyVersion": { +"description": "Optional. The maximum policy version that will be used to format the policy. Valid values are 0, 1, and 3. Requests specifying an invalid value will be rejected. Requests for policies with any conditional role bindings must specify version 3. Policies with no conditional role bindings may specify any valid value or leave the field unset. The policy in the response might use the policy version that you specified, or it might use a lower policy version. For example, if you specify version 3, but the policy has no conditional role bindings, the response uses version 1. To learn which resources support conditions in their IAM policies, see the [IAM documentation](https://cloud.google.com/iam/help/conditions/resource-policies).", +"format": "int32", +"location": "query", +"type": "integer" +}, +"resource": { +"description": "REQUIRED: The resource for which the policy is being requested. See [Resource names](https://cloud.google.com/apis/design/resource_names) for the appropriate value for this field.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/workstationClusters/[^/]+/workstationConfigs/[^/]+/workstations/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+resource}:getIamPolicy", +"response": { +"$ref": "Policy" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"list": { +"description": "Returns all Workstations using the specified workstation configuration.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/workstationClusters/{workstationClustersId}/workstationConfigs/{workstationConfigsId}/workstations", +"httpMethod": "GET", +"id": "workstations.projects.locations.workstationClusters.workstationConfigs.workstations.list", +"parameterOrder": [ +"parent" +], +"parameters": { +"pageSize": { +"description": "Optional. Maximum number of items to return.", +"format": "int32", +"location": "query", +"type": "integer" +}, +"pageToken": { +"description": "Optional. next_page_token value returned from a previous List request, if any.", +"location": "query", +"type": "string" +}, +"parent": { +"description": "Required. Parent resource name.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/workstationClusters/[^/]+/workstationConfigs/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+parent}/workstations", +"response": { +"$ref": "ListWorkstationsResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"listUsable": { +"description": "Returns all workstations using the specified workstation configuration on which the caller has the \"workstations.workstations.use\" permission.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/workstationClusters/{workstationClustersId}/workstationConfigs/{workstationConfigsId}/workstations:listUsable", +"httpMethod": "GET", +"id": "workstations.projects.locations.workstationClusters.workstationConfigs.workstations.listUsable", +"parameterOrder": [ +"parent" +], +"parameters": { +"pageSize": { +"description": "Optional. Maximum number of items to return.", +"format": "int32", +"location": "query", +"type": "integer" +}, +"pageToken": { +"description": "Optional. next_page_token value returned from a previous List request, if any.", +"location": "query", +"type": "string" +}, +"parent": { +"description": "Required. Parent resource name.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/workstationClusters/[^/]+/workstationConfigs/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+parent}/workstations:listUsable", +"response": { +"$ref": "ListUsableWorkstationsResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"patch": { +"description": "Updates an existing workstation.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/workstationClusters/{workstationClustersId}/workstationConfigs/{workstationConfigsId}/workstations/{workstationsId}", +"httpMethod": "PATCH", +"id": "workstations.projects.locations.workstationClusters.workstationConfigs.workstations.patch", +"parameterOrder": [ +"name" +], +"parameters": { +"allowMissing": { +"description": "Optional. If set and the workstation configuration is not found, a new workstation configuration is created. In this situation, update_mask is ignored.", +"location": "query", +"type": "boolean" +}, +"name": { +"description": "Identifier. Full name of this workstation.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/workstationClusters/[^/]+/workstationConfigs/[^/]+/workstations/[^/]+$", +"required": true, +"type": "string" +}, +"updateMask": { +"description": "Required. Mask specifying which fields in the workstation configuration should be updated.", +"format": "google-fieldmask", +"location": "query", +"type": "string" +}, +"validateOnly": { +"description": "Optional. If set, validate the request and preview the review, but do not actually apply it.", +"location": "query", +"type": "boolean" +} +}, +"path": "v1/{+name}", +"request": { +"$ref": "Workstation" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"setIamPolicy": { +"description": "Sets the access control policy on the specified resource. Replaces any existing policy. Can return `NOT_FOUND`, `INVALID_ARGUMENT`, and `PERMISSION_DENIED` errors.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/workstationClusters/{workstationClustersId}/workstationConfigs/{workstationConfigsId}/workstations/{workstationsId}:setIamPolicy", +"httpMethod": "POST", +"id": "workstations.projects.locations.workstationClusters.workstationConfigs.workstations.setIamPolicy", +"parameterOrder": [ +"resource" +], +"parameters": { +"resource": { +"description": "REQUIRED: The resource for which the policy is being specified. See [Resource names](https://cloud.google.com/apis/design/resource_names) for the appropriate value for this field.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/workstationClusters/[^/]+/workstationConfigs/[^/]+/workstations/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+resource}:setIamPolicy", +"request": { +"$ref": "SetIamPolicyRequest" +}, +"response": { +"$ref": "Policy" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"start": { +"description": "Starts running a workstation so that users can connect to it.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/workstationClusters/{workstationClustersId}/workstationConfigs/{workstationConfigsId}/workstations/{workstationsId}:start", +"httpMethod": "POST", +"id": "workstations.projects.locations.workstationClusters.workstationConfigs.workstations.start", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. Name of the workstation to start.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/workstationClusters/[^/]+/workstationConfigs/[^/]+/workstations/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+name}:start", +"request": { +"$ref": "StartWorkstationRequest" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"stop": { +"description": "Stops running a workstation, reducing costs.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/workstationClusters/{workstationClustersId}/workstationConfigs/{workstationConfigsId}/workstations/{workstationsId}:stop", +"httpMethod": "POST", +"id": "workstations.projects.locations.workstationClusters.workstationConfigs.workstations.stop", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. Name of the workstation to stop.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/workstationClusters/[^/]+/workstationConfigs/[^/]+/workstations/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+name}:stop", +"request": { +"$ref": "StopWorkstationRequest" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"testIamPermissions": { +"description": "Returns permissions that a caller has on the specified resource. If the resource does not exist, this will return an empty set of permissions, not a `NOT_FOUND` error. Note: This operation is designed to be used for building permission-aware UIs and command-line tools, not for authorization checking. This operation may \"fail open\" without warning.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/workstationClusters/{workstationClustersId}/workstationConfigs/{workstationConfigsId}/workstations/{workstationsId}:testIamPermissions", +"httpMethod": "POST", +"id": "workstations.projects.locations.workstationClusters.workstationConfigs.workstations.testIamPermissions", +"parameterOrder": [ +"resource" +], +"parameters": { +"resource": { +"description": "REQUIRED: The resource for which the policy detail is being requested. See [Resource names](https://cloud.google.com/apis/design/resource_names) for the appropriate value for this field.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/workstationClusters/[^/]+/workstationConfigs/[^/]+/workstations/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+resource}:testIamPermissions", +"request": { +"$ref": "TestIamPermissionsRequest" +}, +"response": { +"$ref": "TestIamPermissionsResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +} +} +} +} +} +} +} +} +} +} +} +}, +"revision": "20250101", +"rootUrl": "https://workstations.googleapis.com/", +"schemas": { +"Accelerator": { +"description": "An accelerator card attached to the instance.", +"id": "Accelerator", +"properties": { +"count": { +"description": "Optional. Number of accelerator cards exposed to the instance.", +"format": "int32", +"type": "integer" +}, +"type": { +"description": "Optional. Type of accelerator resource to attach to the instance, for example, `\"nvidia-tesla-p100\"`.", +"type": "string" +} +}, +"type": "object" +}, +"AuditConfig": { +"description": "Specifies the audit configuration for a service. The configuration determines which permission types are logged, and what identities, if any, are exempted from logging. An AuditConfig must have one or more AuditLogConfigs. If there are AuditConfigs for both `allServices` and a specific service, the union of the two AuditConfigs is used for that service: the log_types specified in each AuditConfig are enabled, and the exempted_members in each AuditLogConfig are exempted. Example Policy with multiple AuditConfigs: { \"audit_configs\": [ { \"service\": \"allServices\", \"audit_log_configs\": [ { \"log_type\": \"DATA_READ\", \"exempted_members\": [ \"user:jose@example.com\" ] }, { \"log_type\": \"DATA_WRITE\" }, { \"log_type\": \"ADMIN_READ\" } ] }, { \"service\": \"sampleservice.googleapis.com\", \"audit_log_configs\": [ { \"log_type\": \"DATA_READ\" }, { \"log_type\": \"DATA_WRITE\", \"exempted_members\": [ \"user:aliya@example.com\" ] } ] } ] } For sampleservice, this policy enables DATA_READ, DATA_WRITE and ADMIN_READ logging. It also exempts `jose@example.com` from DATA_READ logging, and `aliya@example.com` from DATA_WRITE logging.", +"id": "AuditConfig", +"properties": { +"auditLogConfigs": { +"description": "The configuration for logging of each type of permission.", +"items": { +"$ref": "AuditLogConfig" +}, +"type": "array" +}, +"service": { +"description": "Specifies a service that will be enabled for audit logging. For example, `storage.googleapis.com`, `cloudsql.googleapis.com`. `allServices` is a special value that covers all services.", +"type": "string" +} +}, +"type": "object" +}, +"AuditLogConfig": { +"description": "Provides the configuration for logging a type of permissions. Example: { \"audit_log_configs\": [ { \"log_type\": \"DATA_READ\", \"exempted_members\": [ \"user:jose@example.com\" ] }, { \"log_type\": \"DATA_WRITE\" } ] } This enables 'DATA_READ' and 'DATA_WRITE' logging, while exempting jose@example.com from DATA_READ logging.", +"id": "AuditLogConfig", +"properties": { +"exemptedMembers": { +"description": "Specifies the identities that do not cause logging for this type of permission. Follows the same format of Binding.members.", +"items": { +"type": "string" +}, +"type": "array" +}, +"logType": { +"description": "The log type that this config enables.", +"enum": [ +"LOG_TYPE_UNSPECIFIED", +"ADMIN_READ", +"DATA_WRITE", +"DATA_READ" +], +"enumDescriptions": [ +"Default case. Should never be this.", +"Admin reads. Example: CloudIAM getIamPolicy", +"Data writes. Example: CloudSQL Users create", +"Data reads. Example: CloudSQL Users list" +], +"type": "string" +} +}, +"type": "object" +}, +"Binding": { +"description": "Associates `members`, or principals, with a `role`.", +"id": "Binding", +"properties": { +"condition": { +"$ref": "Expr", +"description": "The condition that is associated with this binding. If the condition evaluates to `true`, then this binding applies to the current request. If the condition evaluates to `false`, then this binding does not apply to the current request. However, a different role binding might grant the same role to one or more of the principals in this binding. To learn which resources support conditions in their IAM policies, see the [IAM documentation](https://cloud.google.com/iam/help/conditions/resource-policies)." +}, +"members": { +"description": "Specifies the principals requesting access for a Google Cloud resource. `members` can have the following values: * `allUsers`: A special identifier that represents anyone who is on the internet; with or without a Google account. * `allAuthenticatedUsers`: A special identifier that represents anyone who is authenticated with a Google account or a service account. Does not include identities that come from external identity providers (IdPs) through identity federation. * `user:{emailid}`: An email address that represents a specific Google account. For example, `alice@example.com` . * `serviceAccount:{emailid}`: An email address that represents a Google service account. For example, `my-other-app@appspot.gserviceaccount.com`. * `serviceAccount:{projectid}.svc.id.goog[{namespace}/{kubernetes-sa}]`: An identifier for a [Kubernetes service account](https://cloud.google.com/kubernetes-engine/docs/how-to/kubernetes-service-accounts). For example, `my-project.svc.id.goog[my-namespace/my-kubernetes-sa]`. * `group:{emailid}`: An email address that represents a Google group. For example, `admins@example.com`. * `domain:{domain}`: The G Suite domain (primary) that represents all the users of that domain. For example, `google.com` or `example.com`. * `principal://iam.googleapis.com/locations/global/workforcePools/{pool_id}/subject/{subject_attribute_value}`: A single identity in a workforce identity pool. * `principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/group/{group_id}`: All workforce identities in a group. * `principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/attribute.{attribute_name}/{attribute_value}`: All workforce identities with a specific attribute value. * `principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/*`: All identities in a workforce identity pool. * `principal://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/subject/{subject_attribute_value}`: A single identity in a workload identity pool. * `principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/group/{group_id}`: A workload identity pool group. * `principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/attribute.{attribute_name}/{attribute_value}`: All identities in a workload identity pool with a certain attribute. * `principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/*`: All identities in a workload identity pool. * `deleted:user:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a user that has been recently deleted. For example, `alice@example.com?uid=123456789012345678901`. If the user is recovered, this value reverts to `user:{emailid}` and the recovered user retains the role in the binding. * `deleted:serviceAccount:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a service account that has been recently deleted. For example, `my-other-app@appspot.gserviceaccount.com?uid=123456789012345678901`. If the service account is undeleted, this value reverts to `serviceAccount:{emailid}` and the undeleted service account retains the role in the binding. * `deleted:group:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a Google group that has been recently deleted. For example, `admins@example.com?uid=123456789012345678901`. If the group is recovered, this value reverts to `group:{emailid}` and the recovered group retains the role in the binding. * `deleted:principal://iam.googleapis.com/locations/global/workforcePools/{pool_id}/subject/{subject_attribute_value}`: Deleted single identity in a workforce identity pool. For example, `deleted:principal://iam.googleapis.com/locations/global/workforcePools/my-pool-id/subject/my-subject-attribute-value`.", +"items": { +"type": "string" +}, +"type": "array" +}, +"role": { +"description": "Role that is assigned to the list of `members`, or principals. For example, `roles/viewer`, `roles/editor`, or `roles/owner`. For an overview of the IAM roles and permissions, see the [IAM documentation](https://cloud.google.com/iam/docs/roles-overview). For a list of the available pre-defined roles, see [here](https://cloud.google.com/iam/docs/understanding-roles).", +"type": "string" +} +}, +"type": "object" +}, +"BoostConfig": { +"description": "A boost configuration is a set of resources that a workstation can use to increase its performance. If you specify a boost configuration, upon startup, workstation users can choose to use a VM provisioned under the boost config by passing the boost config ID in the start request. If the workstation user does not provide a boost config ID in the start request, the system will choose a VM from the pool provisioned under the default config.", +"id": "BoostConfig", +"properties": { +"accelerators": { +"description": "Optional. A list of the type and count of accelerator cards attached to the boost instance. Defaults to `none`.", +"items": { +"$ref": "Accelerator" +}, +"type": "array" +}, +"bootDiskSizeGb": { +"description": "Optional. The size of the boot disk for the VM in gigabytes (GB). The minimum boot disk size is `30` GB. Defaults to `50` GB.", +"format": "int32", +"type": "integer" +}, +"enableNestedVirtualization": { +"description": "Optional. Whether to enable nested virtualization on boosted Cloud Workstations VMs running using this boost configuration. Defaults to false. Nested virtualization lets you run virtual machine (VM) instances inside your workstation. Before enabling nested virtualization, consider the following important considerations. Cloud Workstations instances are subject to the [same restrictions as Compute Engine instances](https://cloud.google.com/compute/docs/instances/nested-virtualization/overview#restrictions): * **Organization policy**: projects, folders, or organizations may be restricted from creating nested VMs if the **Disable VM nested virtualization** constraint is enforced in the organization policy. For more information, see the Compute Engine section, [Checking whether nested virtualization is allowed](https://cloud.google.com/compute/docs/instances/nested-virtualization/managing-constraint#checking_whether_nested_virtualization_is_allowed). * **Performance**: nested VMs might experience a 10% or greater decrease in performance for workloads that are CPU-bound and possibly greater than a 10% decrease for workloads that are input/output bound. * **Machine Type**: nested virtualization can only be enabled on boost configurations that specify a machine_type in the N1 or N2 machine series.", +"type": "boolean" +}, +"id": { +"description": "Required. The ID to be used for the boost configuration.", +"type": "string" +}, +"machineType": { +"description": "Optional. The type of machine that boosted VM instances will use\u2014for example, `e2-standard-4`. For more information about machine types that Cloud Workstations supports, see the list of [available machine types](https://cloud.google.com/workstations/docs/available-machine-types). Defaults to `e2-standard-4`.", +"type": "string" +}, +"poolSize": { +"description": "Optional. The number of boost VMs that the system should keep idle so that workstations can be boosted quickly. Defaults to `0`.", +"format": "int32", +"type": "integer" +} +}, +"type": "object" +}, +"CancelOperationRequest": { +"description": "The request message for Operations.CancelOperation.", +"id": "CancelOperationRequest", +"properties": {}, +"type": "object" +}, +"Container": { +"description": "A Docker container.", +"id": "Container", +"properties": { +"args": { +"description": "Optional. Arguments passed to the entrypoint.", +"items": { +"type": "string" +}, +"type": "array" +}, +"command": { +"description": "Optional. If set, overrides the default ENTRYPOINT specified by the image.", +"items": { +"type": "string" +}, +"type": "array" +}, +"env": { +"additionalProperties": { +"type": "string" +}, +"description": "Optional. Environment variables passed to the container's entrypoint.", +"type": "object" +}, +"image": { +"description": "Optional. A Docker container image that defines a custom environment. Cloud Workstations provides a number of [preconfigured images](https://cloud.google.com/workstations/docs/preconfigured-base-images), but you can create your own [custom container images](https://cloud.google.com/workstations/docs/custom-container-images). If using a private image, the `host.gceInstance.serviceAccount` field must be specified in the workstation configuration. If using a custom container image, the service account must have [Artifact Registry Reader](https://cloud.google.com/artifact-registry/docs/access-control#roles) permission to pull the specified image. Otherwise, the image must be publicly accessible.", +"type": "string" +}, +"runAsUser": { +"description": "Optional. If set, overrides the USER specified in the image with the given uid.", +"format": "int32", +"type": "integer" +}, +"workingDir": { +"description": "Optional. If set, overrides the default DIR specified by the image.", +"type": "string" +} +}, +"type": "object" +}, +"CustomerEncryptionKey": { +"description": "A customer-managed encryption key (CMEK) for the Compute Engine resources of the associated workstation configuration. Specify the name of your Cloud KMS encryption key and the default service account. We recommend that you use a separate service account and follow [Cloud KMS best practices](https://cloud.google.com/kms/docs/separation-of-duties).", +"id": "CustomerEncryptionKey", +"properties": { +"kmsKey": { +"description": "Immutable. The name of the Google Cloud KMS encryption key. For example, `\"projects/PROJECT_ID/locations/REGION/keyRings/KEY_RING/cryptoKeys/KEY_NAME\"`. The key must be in the same region as the workstation configuration.", +"type": "string" +}, +"kmsKeyServiceAccount": { +"description": "Immutable. The service account to use with the specified KMS key. We recommend that you use a separate service account and follow KMS best practices. For more information, see [Separation of duties](https://cloud.google.com/kms/docs/separation-of-duties) and `gcloud kms keys add-iam-policy-binding` [`--member`](https://cloud.google.com/sdk/gcloud/reference/kms/keys/add-iam-policy-binding#--member).", +"type": "string" +} +}, +"type": "object" +}, +"DomainConfig": { +"description": "Configuration options for a custom domain.", +"id": "DomainConfig", +"properties": { +"domain": { +"description": "Immutable. Domain used by Workstations for HTTP ingress.", +"type": "string" +} +}, +"type": "object" +}, +"EphemeralDirectory": { +"description": "An ephemeral directory which won't persist across workstation sessions. It is freshly created on every workstation start operation.", +"id": "EphemeralDirectory", +"properties": { +"gcePd": { +"$ref": "GcePersistentDisk", +"description": "An EphemeralDirectory backed by a Compute Engine persistent disk." +}, +"mountPath": { +"description": "Required. Location of this directory in the running workstation.", +"type": "string" +} +}, +"type": "object" +}, +"Expr": { +"description": "Represents a textual expression in the Common Expression Language (CEL) syntax. CEL is a C-like expression language. The syntax and semantics of CEL are documented at https://github.com/google/cel-spec. Example (Comparison): title: \"Summary size limit\" description: \"Determines if a summary is less than 100 chars\" expression: \"document.summary.size() < 100\" Example (Equality): title: \"Requestor is owner\" description: \"Determines if requestor is the document owner\" expression: \"document.owner == request.auth.claims.email\" Example (Logic): title: \"Public documents\" description: \"Determine whether the document should be publicly visible\" expression: \"document.type != 'private' && document.type != 'internal'\" Example (Data Manipulation): title: \"Notification string\" description: \"Create a notification string with a timestamp.\" expression: \"'New message received at ' + string(document.create_time)\" The exact variables and functions that may be referenced within an expression are determined by the service that evaluates it. See the service documentation for additional information.", +"id": "Expr", +"properties": { +"description": { +"description": "Optional. Description of the expression. This is a longer text which describes the expression, e.g. when hovered over it in a UI.", +"type": "string" +}, +"expression": { +"description": "Textual representation of an expression in Common Expression Language syntax.", +"type": "string" +}, +"location": { +"description": "Optional. String indicating the location of the expression for error reporting, e.g. a file name and a position in the file.", +"type": "string" +}, +"title": { +"description": "Optional. Title for the expression, i.e. a short string describing its purpose. This can be used e.g. in UIs which allow to enter the expression.", +"type": "string" +} +}, +"type": "object" +}, +"GceConfidentialInstanceConfig": { +"description": "A set of Compute Engine Confidential VM instance options.", +"id": "GceConfidentialInstanceConfig", +"properties": { +"enableConfidentialCompute": { +"description": "Optional. Whether the instance has confidential compute enabled.", +"type": "boolean" +} +}, +"type": "object" +}, +"GceInstance": { +"description": "A runtime using a Compute Engine instance.", +"id": "GceInstance", +"properties": { +"accelerators": { +"description": "Optional. A list of the type and count of accelerator cards attached to the instance.", +"items": { +"$ref": "Accelerator" +}, +"type": "array" +}, +"boostConfigs": { +"description": "Optional. A list of the boost configurations that workstations created using this workstation configuration are allowed to use. If specified, users will have the option to choose from the list of boost configs when starting a workstation.", +"items": { +"$ref": "BoostConfig" +}, +"type": "array" +}, +"bootDiskSizeGb": { +"description": "Optional. The size of the boot disk for the VM in gigabytes (GB). The minimum boot disk size is `30` GB. Defaults to `50` GB.", +"format": "int32", +"type": "integer" +}, +"confidentialInstanceConfig": { +"$ref": "GceConfidentialInstanceConfig", +"description": "Optional. A set of Compute Engine Confidential VM instance options." +}, +"disablePublicIpAddresses": { +"description": "Optional. When set to true, disables public IP addresses for VMs. If you disable public IP addresses, you must set up Private Google Access or Cloud NAT on your network. If you use Private Google Access and you use `private.googleapis.com` or `restricted.googleapis.com` for Container Registry and Artifact Registry, make sure that you set up DNS records for domains `*.gcr.io` and `*.pkg.dev`. Defaults to false (VMs have public IP addresses).", +"type": "boolean" +}, +"disableSsh": { +"description": "Optional. Whether to disable SSH access to the VM.", +"type": "boolean" +}, +"enableNestedVirtualization": { +"description": "Optional. Whether to enable nested virtualization on Cloud Workstations VMs created using this workstation configuration. Defaults to false. Nested virtualization lets you run virtual machine (VM) instances inside your workstation. Before enabling nested virtualization, consider the following important considerations. Cloud Workstations instances are subject to the [same restrictions as Compute Engine instances](https://cloud.google.com/compute/docs/instances/nested-virtualization/overview#restrictions): * **Organization policy**: projects, folders, or organizations may be restricted from creating nested VMs if the **Disable VM nested virtualization** constraint is enforced in the organization policy. For more information, see the Compute Engine section, [Checking whether nested virtualization is allowed](https://cloud.google.com/compute/docs/instances/nested-virtualization/managing-constraint#checking_whether_nested_virtualization_is_allowed). * **Performance**: nested VMs might experience a 10% or greater decrease in performance for workloads that are CPU-bound and possibly greater than a 10% decrease for workloads that are input/output bound. * **Machine Type**: nested virtualization can only be enabled on workstation configurations that specify a machine_type in the N1 or N2 machine series.", +"type": "boolean" +}, +"machineType": { +"description": "Optional. The type of machine to use for VM instances\u2014for example, `\"e2-standard-4\"`. For more information about machine types that Cloud Workstations supports, see the list of [available machine types](https://cloud.google.com/workstations/docs/available-machine-types).", +"type": "string" +}, +"poolSize": { +"description": "Optional. The number of VMs that the system should keep idle so that new workstations can be started quickly for new users. Defaults to `0` in the API.", +"format": "int32", +"type": "integer" +}, +"pooledInstances": { +"description": "Output only. Number of instances currently available in the pool for faster workstation startup.", +"format": "int32", +"readOnly": true, +"type": "integer" +}, +"serviceAccount": { +"description": "Optional. The email address of the service account for Cloud Workstations VMs created with this configuration. When specified, be sure that the service account has `logging.logEntries.create` and `monitoring.timeSeries.create` permissions on the project so it can write logs out to Cloud Logging. If using a custom container image, the service account must have [Artifact Registry Reader](https://cloud.google.com/artifact-registry/docs/access-control#roles) permission to pull the specified image. If you as the administrator want to be able to `ssh` into the underlying VM, you need to set this value to a service account for which you have the `iam.serviceAccounts.actAs` permission. Conversely, if you don't want anyone to be able to `ssh` into the underlying VM, use a service account where no one has that permission. If not set, VMs run with a service account provided by the Cloud Workstations service, and the image must be publicly accessible.", +"type": "string" +}, +"serviceAccountScopes": { +"description": "Optional. Scopes to grant to the service_account. When specified, users of workstations under this configuration must have `iam.serviceAccounts.actAs` on the service account.", +"items": { +"type": "string" +}, +"type": "array" +}, +"shieldedInstanceConfig": { +"$ref": "GceShieldedInstanceConfig", +"description": "Optional. A set of Compute Engine Shielded instance options." +}, +"tags": { +"description": "Optional. Network tags to add to the Compute Engine VMs backing the workstations. This option applies [network tags](https://cloud.google.com/vpc/docs/add-remove-network-tags) to VMs created with this configuration. These network tags enable the creation of [firewall rules](https://cloud.google.com/workstations/docs/configure-firewall-rules).", +"items": { +"type": "string" +}, +"type": "array" +}, +"vmTags": { +"additionalProperties": { +"type": "string" +}, +"description": "Optional. Resource manager tags to be bound to this instance. Tag keys and values have the same definition as [resource manager tags](https://cloud.google.com/resource-manager/docs/tags/tags-overview). Keys must be in the format `tagKeys/{tag_key_id}`, and values are in the format `tagValues/456`.", +"type": "object" +} +}, +"type": "object" +}, +"GceInstanceHost": { +"description": "The Compute Engine instance host.", +"id": "GceInstanceHost", +"properties": { +"id": { +"description": "Optional. Output only. The ID of the Compute Engine instance.", +"readOnly": true, +"type": "string" +}, +"name": { +"description": "Optional. Output only. The name of the Compute Engine instance.", +"readOnly": true, +"type": "string" +}, +"zone": { +"description": "Optional. Output only. The zone of the Compute Engine instance.", +"readOnly": true, +"type": "string" +} +}, +"type": "object" +}, +"GcePersistentDisk": { +"description": "An EphemeralDirectory is backed by a Compute Engine persistent disk.", +"id": "GcePersistentDisk", +"properties": { +"diskType": { +"description": "Optional. Type of the disk to use. Defaults to `\"pd-standard\"`.", +"type": "string" +}, +"readOnly": { +"description": "Optional. Whether the disk is read only. If true, the disk may be shared by multiple VMs and source_snapshot must be set.", +"type": "boolean" +}, +"sourceImage": { +"description": "Optional. Name of the disk image to use as the source for the disk. Must be empty if source_snapshot is set. Updating source_image will update content in the ephemeral directory after the workstation is restarted. This field is mutable.", +"type": "string" +}, +"sourceSnapshot": { +"description": "Optional. Name of the snapshot to use as the source for the disk. Must be empty if source_image is set. Must be empty if read_only is false. Updating source_snapshot will update content in the ephemeral directory after the workstation is restarted. This field is mutable.", +"type": "string" +} +}, +"type": "object" +}, +"GceRegionalPersistentDisk": { +"description": "A Persistent Directory backed by a Compute Engine regional persistent disk. The persistent_directories field is repeated, but it may contain only one entry. It creates a [persistent disk](https://cloud.google.com/compute/docs/disks/persistent-disks) that mounts to the workstation VM at `/home` when the session starts and detaches when the session ends. If this field is empty, workstations created with this configuration do not have a persistent home directory.", +"id": "GceRegionalPersistentDisk", +"properties": { +"diskType": { +"description": "Optional. The [type of the persistent disk](https://cloud.google.com/compute/docs/disks#disk-types) for the home directory. Defaults to `\"pd-standard\"`.", +"type": "string" +}, +"fsType": { +"description": "Optional. Type of file system that the disk should be formatted with. The workstation image must support this file system type. Must be empty if source_snapshot is set. Defaults to `\"ext4\"`.", +"type": "string" +}, +"reclaimPolicy": { +"description": "Optional. Whether the persistent disk should be deleted when the workstation is deleted. Valid values are `DELETE` and `RETAIN`. Defaults to `DELETE`.", +"enum": [ +"RECLAIM_POLICY_UNSPECIFIED", +"DELETE", +"RETAIN" +], +"enumDescriptions": [ +"Do not use.", +"Delete the persistent disk when deleting the workstation.", +"Keep the persistent disk when deleting the workstation. An administrator must manually delete the disk." +], +"type": "string" +}, +"sizeGb": { +"description": "Optional. The GB capacity of a persistent home directory for each workstation created with this configuration. Must be empty if source_snapshot is set. Valid values are `10`, `50`, `100`, `200`, `500`, or `1000`. Defaults to `200`. If less than `200` GB, the disk_type must be `\"pd-balanced\"` or `\"pd-ssd\"`.", +"format": "int32", +"type": "integer" +}, +"sourceSnapshot": { +"description": "Optional. Name of the snapshot to use as the source for the disk. If set, size_gb and fs_type must be empty.", +"type": "string" +} +}, +"type": "object" +}, +"GceShieldedInstanceConfig": { +"description": "A set of Compute Engine Shielded instance options.", +"id": "GceShieldedInstanceConfig", +"properties": { +"enableIntegrityMonitoring": { +"description": "Optional. Whether the instance has integrity monitoring enabled.", +"type": "boolean" +}, +"enableSecureBoot": { +"description": "Optional. Whether the instance has Secure Boot enabled.", +"type": "boolean" +}, +"enableVtpm": { +"description": "Optional. Whether the instance has the vTPM enabled.", +"type": "boolean" +} +}, +"type": "object" +}, +"GenerateAccessTokenRequest": { +"description": "Request message for GenerateAccessToken.", +"id": "GenerateAccessTokenRequest", +"properties": { +"expireTime": { +"description": "Desired expiration time of the access token. This value must be at most 24 hours in the future. If a value is not specified, the token's expiration time will be set to a default value of 1 hour in the future.", +"format": "google-datetime", +"type": "string" +}, +"port": { +"description": "Optional. Port for which the access token should be generated. If specified, the generated access token grants access only to the specified port of the workstation. If specified, values must be within the range [1 - 65535]. If not specified, the generated access token grants access to all ports of the workstation.", +"format": "int32", +"type": "integer" +}, +"ttl": { +"description": "Desired lifetime duration of the access token. This value must be at most 24 hours. If a value is not specified, the token's lifetime will be set to a default value of 1 hour.", +"format": "google-duration", +"type": "string" +} +}, +"type": "object" +}, +"GenerateAccessTokenResponse": { +"description": "Response message for GenerateAccessToken.", +"id": "GenerateAccessTokenResponse", +"properties": { +"accessToken": { +"description": "The generated bearer access token. To use this token, include it in an Authorization header of an HTTP request sent to the associated workstation's hostname\u2014for example, `Authorization: Bearer `.", +"type": "string" +}, +"expireTime": { +"description": "Time at which the generated token will expire.", +"format": "google-datetime", +"type": "string" +} +}, +"type": "object" +}, +"GoogleProtobufEmpty": { +"description": "A generic empty message that you can re-use to avoid defining duplicated empty messages in your APIs. A typical example is to use it as the request or the response type of an API method. For instance: service Foo { rpc Bar(google.protobuf.Empty) returns (google.protobuf.Empty); }", +"id": "GoogleProtobufEmpty", +"properties": {}, +"type": "object" +}, +"Host": { +"description": "Runtime host for a workstation.", +"id": "Host", +"properties": { +"gceInstance": { +"$ref": "GceInstance", +"description": "Specifies a Compute Engine instance as the host." +} +}, +"type": "object" +}, +"ListLocationsResponse": { +"description": "The response message for Locations.ListLocations.", +"id": "ListLocationsResponse", +"properties": { +"locations": { +"description": "A list of locations that matches the specified filter in the request.", +"items": { +"$ref": "Location" +}, +"type": "array" +}, +"nextPageToken": { +"description": "The standard List next-page token.", +"type": "string" +} +}, +"type": "object" +}, +"ListOperationsResponse": { +"description": "The response message for Operations.ListOperations.", +"id": "ListOperationsResponse", +"properties": { +"nextPageToken": { +"description": "The standard List next-page token.", +"type": "string" +}, +"operations": { +"description": "A list of operations that matches the specified filter in the request.", +"items": { +"$ref": "Operation" +}, +"type": "array" +} +}, +"type": "object" +}, +"ListUsableWorkstationConfigsResponse": { +"description": "Response message for ListUsableWorkstationConfigs.", +"id": "ListUsableWorkstationConfigsResponse", +"properties": { +"nextPageToken": { +"description": "Token to retrieve the next page of results, or empty if there are no more results in the list.", +"type": "string" +}, +"unreachable": { +"description": "Unreachable resources.", +"items": { +"type": "string" +}, +"type": "array" +}, +"workstationConfigs": { +"description": "The requested configs.", +"items": { +"$ref": "WorkstationConfig" +}, +"type": "array" +} +}, +"type": "object" +}, +"ListUsableWorkstationsResponse": { +"description": "Response message for ListUsableWorkstations.", +"id": "ListUsableWorkstationsResponse", +"properties": { +"nextPageToken": { +"description": "Token to retrieve the next page of results, or empty if there are no more results in the list.", +"type": "string" +}, +"unreachable": { +"description": "Unreachable resources.", +"items": { +"type": "string" +}, +"type": "array" +}, +"workstations": { +"description": "The requested workstations.", +"items": { +"$ref": "Workstation" +}, +"type": "array" +} +}, +"type": "object" +}, +"ListWorkstationClustersResponse": { +"description": "Response message for ListWorkstationClusters.", +"id": "ListWorkstationClustersResponse", +"properties": { +"nextPageToken": { +"description": "Token to retrieve the next page of results, or empty if there are no more results in the list.", +"type": "string" +}, +"unreachable": { +"description": "Unreachable resources.", +"items": { +"type": "string" +}, +"type": "array" +}, +"workstationClusters": { +"description": "The requested workstation clusters.", +"items": { +"$ref": "WorkstationCluster" +}, +"type": "array" +} +}, +"type": "object" +}, +"ListWorkstationConfigsResponse": { +"description": "Response message for ListWorkstationConfigs.", +"id": "ListWorkstationConfigsResponse", +"properties": { +"nextPageToken": { +"description": "Token to retrieve the next page of results, or empty if there are no more results in the list.", +"type": "string" +}, +"unreachable": { +"description": "Unreachable resources.", +"items": { +"type": "string" +}, +"type": "array" +}, +"workstationConfigs": { +"description": "The requested configs.", +"items": { +"$ref": "WorkstationConfig" +}, +"type": "array" +} +}, +"type": "object" +}, +"ListWorkstationsResponse": { +"description": "Response message for ListWorkstations.", +"id": "ListWorkstationsResponse", +"properties": { +"nextPageToken": { +"description": "Optional. Token to retrieve the next page of results, or empty if there are no more results in the list.", +"type": "string" +}, +"unreachable": { +"description": "Optional. Unreachable resources.", +"items": { +"type": "string" +}, +"type": "array" +}, +"workstations": { +"description": "The requested workstations.", +"items": { +"$ref": "Workstation" +}, +"type": "array" +} +}, +"type": "object" +}, +"Location": { +"description": "A resource that represents a Google Cloud location.", +"id": "Location", +"properties": { +"displayName": { +"description": "The friendly name for this location, typically a nearby city name. For example, \"Tokyo\".", +"type": "string" +}, +"labels": { +"additionalProperties": { +"type": "string" +}, +"description": "Cross-service attributes for the location. For example {\"cloud.googleapis.com/region\": \"us-east1\"}", +"type": "object" +}, +"locationId": { +"description": "The canonical id for this location. For example: `\"us-east1\"`.", +"type": "string" +}, +"metadata": { +"additionalProperties": { +"description": "Properties of the object. Contains field @type with type URL.", +"type": "any" +}, +"description": "Service-specific metadata. For example the available capacity at the given location.", +"type": "object" +}, +"name": { +"description": "Resource name for the location, which may vary between implementations. For example: `\"projects/example-project/locations/us-east1\"`", +"type": "string" +} +}, +"type": "object" +}, +"Operation": { +"description": "This resource represents a long-running operation that is the result of a network API call.", +"id": "Operation", +"properties": { +"done": { +"description": "If the value is `false`, it means the operation is still in progress. If `true`, the operation is completed, and either `error` or `response` is available.", +"type": "boolean" +}, +"error": { +"$ref": "Status", +"description": "The error result of the operation in case of failure or cancellation." +}, +"metadata": { +"additionalProperties": { +"description": "Properties of the object. Contains field @type with type URL.", +"type": "any" +}, +"description": "Service-specific metadata associated with the operation. It typically contains progress information and common metadata such as create time. Some services might not provide such metadata. Any method that returns a long-running operation should document the metadata type, if any.", +"type": "object" +}, +"name": { +"description": "The server-assigned name, which is only unique within the same service that originally returns it. If you use the default HTTP mapping, the `name` should be a resource name ending with `operations/{unique_id}`.", +"type": "string" +}, +"response": { +"additionalProperties": { +"description": "Properties of the object. Contains field @type with type URL.", +"type": "any" +}, +"description": "The normal, successful response of the operation. If the original method returns no data on success, such as `Delete`, the response is `google.protobuf.Empty`. If the original method is standard `Get`/`Create`/`Update`, the response should be the resource. For other methods, the response should have the type `XxxResponse`, where `Xxx` is the original method name. For example, if the original method name is `TakeSnapshot()`, the inferred response type is `TakeSnapshotResponse`.", +"type": "object" +} +}, +"type": "object" +}, +"OperationMetadata": { +"description": "Metadata for long-running operations.", +"id": "OperationMetadata", +"properties": { +"apiVersion": { +"description": "Output only. API version used to start the operation.", +"readOnly": true, +"type": "string" +}, +"createTime": { +"description": "Output only. Time that the operation was created.", +"format": "google-datetime", +"readOnly": true, +"type": "string" +}, +"endTime": { +"description": "Output only. Time that the operation finished running.", +"format": "google-datetime", +"readOnly": true, +"type": "string" +}, +"requestedCancellation": { +"description": "Output only. Identifies whether the user has requested cancellation of the operation.", +"readOnly": true, +"type": "boolean" +}, +"statusMessage": { +"description": "Output only. Human-readable status of the operation, if any.", +"readOnly": true, +"type": "string" +}, +"target": { +"description": "Output only. Server-defined resource path for the target of the operation.", +"readOnly": true, +"type": "string" +}, +"verb": { +"description": "Output only. Name of the verb executed by the operation.", +"readOnly": true, +"type": "string" +} +}, +"type": "object" +}, +"PersistentDirectory": { +"description": "A directory to persist across workstation sessions. Updates to this field will not update existing workstations and will only take effect on new workstations.", +"id": "PersistentDirectory", +"properties": { +"gcePd": { +"$ref": "GceRegionalPersistentDisk", +"description": "A PersistentDirectory backed by a Compute Engine persistent disk." +}, +"mountPath": { +"description": "Optional. Location of this directory in the running workstation.", +"type": "string" +} +}, +"type": "object" +}, +"Policy": { +"description": "An Identity and Access Management (IAM) policy, which specifies access controls for Google Cloud resources. A `Policy` is a collection of `bindings`. A `binding` binds one or more `members`, or principals, to a single `role`. Principals can be user accounts, service accounts, Google groups, and domains (such as G Suite). A `role` is a named list of permissions; each `role` can be an IAM predefined role or a user-created custom role. For some types of Google Cloud resources, a `binding` can also specify a `condition`, which is a logical expression that allows access to a resource only if the expression evaluates to `true`. A condition can add constraints based on attributes of the request, the resource, or both. To learn which resources support conditions in their IAM policies, see the [IAM documentation](https://cloud.google.com/iam/help/conditions/resource-policies). **JSON example:** ``` { \"bindings\": [ { \"role\": \"roles/resourcemanager.organizationAdmin\", \"members\": [ \"user:mike@example.com\", \"group:admins@example.com\", \"domain:google.com\", \"serviceAccount:my-project-id@appspot.gserviceaccount.com\" ] }, { \"role\": \"roles/resourcemanager.organizationViewer\", \"members\": [ \"user:eve@example.com\" ], \"condition\": { \"title\": \"expirable access\", \"description\": \"Does not grant access after Sep 2020\", \"expression\": \"request.time < timestamp('2020-10-01T00:00:00.000Z')\", } } ], \"etag\": \"BwWWja0YfJA=\", \"version\": 3 } ``` **YAML example:** ``` bindings: - members: - user:mike@example.com - group:admins@example.com - domain:google.com - serviceAccount:my-project-id@appspot.gserviceaccount.com role: roles/resourcemanager.organizationAdmin - members: - user:eve@example.com role: roles/resourcemanager.organizationViewer condition: title: expirable access description: Does not grant access after Sep 2020 expression: request.time < timestamp('2020-10-01T00:00:00.000Z') etag: BwWWja0YfJA= version: 3 ``` For a description of IAM and its features, see the [IAM documentation](https://cloud.google.com/iam/docs/).", +"id": "Policy", +"properties": { +"auditConfigs": { +"description": "Specifies cloud audit logging configuration for this policy.", +"items": { +"$ref": "AuditConfig" +}, +"type": "array" +}, +"bindings": { +"description": "Associates a list of `members`, or principals, with a `role`. Optionally, may specify a `condition` that determines how and when the `bindings` are applied. Each of the `bindings` must contain at least one principal. The `bindings` in a `Policy` can refer to up to 1,500 principals; up to 250 of these principals can be Google groups. Each occurrence of a principal counts towards these limits. For example, if the `bindings` grant 50 different roles to `user:alice@example.com`, and not to any other principal, then you can add another 1,450 principals to the `bindings` in the `Policy`.", +"items": { +"$ref": "Binding" +}, +"type": "array" +}, +"etag": { +"description": "`etag` is used for optimistic concurrency control as a way to help prevent simultaneous updates of a policy from overwriting each other. It is strongly suggested that systems make use of the `etag` in the read-modify-write cycle to perform policy updates in order to avoid race conditions: An `etag` is returned in the response to `getIamPolicy`, and systems are expected to put that etag in the request to `setIamPolicy` to ensure that their change will be applied to the same version of the policy. **Important:** If you use IAM Conditions, you must include the `etag` field whenever you call `setIamPolicy`. If you omit this field, then IAM allows you to overwrite a version `3` policy with a version `1` policy, and all of the conditions in the version `3` policy are lost.", +"format": "byte", +"type": "string" +}, +"version": { +"description": "Specifies the format of the policy. Valid values are `0`, `1`, and `3`. Requests that specify an invalid value are rejected. Any operation that affects conditional role bindings must specify version `3`. This requirement applies to the following operations: * Getting a policy that includes a conditional role binding * Adding a conditional role binding to a policy * Changing a conditional role binding in a policy * Removing any role binding, with or without a condition, from a policy that includes conditions **Important:** If you use IAM Conditions, you must include the `etag` field whenever you call `setIamPolicy`. If you omit this field, then IAM allows you to overwrite a version `3` policy with a version `1` policy, and all of the conditions in the version `3` policy are lost. If a policy does not include any conditions, operations on that policy may specify any valid version or leave the field unset. To learn which resources support conditions in their IAM policies, see the [IAM documentation](https://cloud.google.com/iam/help/conditions/resource-policies).", +"format": "int32", +"type": "integer" +} +}, +"type": "object" +}, +"PortRange": { +"description": "A PortRange defines a range of ports. Both first and last are inclusive. To specify a single port, both first and last should be the same.", +"id": "PortRange", +"properties": { +"first": { +"description": "Required. Starting port number for the current range of ports. Valid ports are 22, 80, and ports within the range 1024-65535.", +"format": "int32", +"type": "integer" +}, +"last": { +"description": "Required. Ending port number for the current range of ports. Valid ports are 22, 80, and ports within the range 1024-65535.", +"format": "int32", +"type": "integer" +} +}, +"type": "object" +}, +"PrivateClusterConfig": { +"description": "Configuration options for private workstation clusters.", +"id": "PrivateClusterConfig", +"properties": { +"allowedProjects": { +"description": "Optional. Additional projects that are allowed to attach to the workstation cluster's service attachment. By default, the workstation cluster's project and the VPC host project (if different) are allowed.", +"items": { +"type": "string" +}, +"type": "array" +}, +"clusterHostname": { +"description": "Output only. Hostname for the workstation cluster. This field will be populated only when private endpoint is enabled. To access workstations in the workstation cluster, create a new DNS zone mapping this domain name to an internal IP address and a forwarding rule mapping that address to the service attachment.", +"readOnly": true, +"type": "string" +}, +"enablePrivateEndpoint": { +"description": "Immutable. Whether Workstations endpoint is private.", +"type": "boolean" +}, +"serviceAttachmentUri": { +"description": "Output only. Service attachment URI for the workstation cluster. The service attachemnt is created when private endpoint is enabled. To access workstations in the workstation cluster, configure access to the managed service using [Private Service Connect](https://cloud.google.com/vpc/docs/configure-private-service-connect-services).", +"readOnly": true, +"type": "string" +} +}, +"type": "object" +}, +"ReadinessCheck": { +"description": "A readiness check to be performed on a workstation.", +"id": "ReadinessCheck", +"properties": { +"path": { +"description": "Optional. Path to which the request should be sent.", +"type": "string" +}, +"port": { +"description": "Optional. Port to which the request should be sent.", +"format": "int32", +"type": "integer" +} +}, +"type": "object" +}, +"RuntimeHost": { +"description": "Runtime host for the workstation.", +"id": "RuntimeHost", +"properties": { +"gceInstanceHost": { +"$ref": "GceInstanceHost", +"description": "Specifies a Compute Engine instance as the host." +} +}, +"type": "object" +}, +"SetIamPolicyRequest": { +"description": "Request message for `SetIamPolicy` method.", +"id": "SetIamPolicyRequest", +"properties": { +"policy": { +"$ref": "Policy", +"description": "REQUIRED: The complete policy to be applied to the `resource`. The size of the policy is limited to a few 10s of KB. An empty policy is a valid policy but certain Google Cloud services (such as Projects) might reject them." +}, +"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" +} +}, +"type": "object" +}, +"StartWorkstationRequest": { +"description": "Request message for StartWorkstation.", +"id": "StartWorkstationRequest", +"properties": { +"boostConfig": { +"description": "Optional. If set, the workstation starts using the boost configuration with the specified ID.", +"type": "string" +}, +"etag": { +"description": "Optional. If set, the request will be rejected if the latest version of the workstation on the server does not have this ETag.", +"type": "string" +}, +"validateOnly": { +"description": "Optional. If set, validate the request and preview the review, but do not actually apply it.", +"type": "boolean" +} +}, +"type": "object" +}, +"Status": { +"description": "The `Status` type defines a logical error model that is suitable for different programming environments, including REST APIs and RPC APIs. It is used by [gRPC](https://github.com/grpc). Each `Status` message contains three pieces of data: error code, error message, and error details. You can find out more about this error model and how to work with it in the [API Design Guide](https://cloud.google.com/apis/design/errors).", +"id": "Status", +"properties": { +"code": { +"description": "The status code, which should be an enum value of google.rpc.Code.", +"format": "int32", +"type": "integer" +}, +"details": { +"description": "A list of messages that carry the error details. There is a common set of message types for APIs to use.", +"items": { +"additionalProperties": { +"description": "Properties of the object. Contains field @type with type URL.", +"type": "any" +}, +"type": "object" +}, +"type": "array" +}, +"message": { +"description": "A developer-facing error message, which should be in English. Any user-facing error message should be localized and sent in the google.rpc.Status.details field, or localized by the client.", +"type": "string" +} +}, +"type": "object" +}, +"StopWorkstationRequest": { +"description": "Request message for StopWorkstation.", +"id": "StopWorkstationRequest", +"properties": { +"etag": { +"description": "Optional. If set, the request will be rejected if the latest version of the workstation on the server does not have this ETag.", +"type": "string" +}, +"validateOnly": { +"description": "Optional. If set, validate the request and preview the review, but do not actually apply it.", +"type": "boolean" +} +}, +"type": "object" +}, +"TestIamPermissionsRequest": { +"description": "Request message for `TestIamPermissions` method.", +"id": "TestIamPermissionsRequest", +"properties": { +"permissions": { +"description": "The set of permissions to check for the `resource`. Permissions with wildcards (such as `*` or `storage.*`) are not allowed. For more information see [IAM Overview](https://cloud.google.com/iam/docs/overview#permissions).", +"items": { +"type": "string" +}, +"type": "array" +} +}, +"type": "object" +}, +"TestIamPermissionsResponse": { +"description": "Response message for `TestIamPermissions` method.", +"id": "TestIamPermissionsResponse", +"properties": { +"permissions": { +"description": "A subset of `TestPermissionsRequest.permissions` that the caller is allowed.", +"items": { +"type": "string" +}, +"type": "array" +} +}, +"type": "object" +}, +"Workstation": { +"description": "A single instance of a developer workstation with its own persistent storage.", +"id": "Workstation", +"properties": { +"annotations": { +"additionalProperties": { +"type": "string" +}, +"description": "Optional. Client-specified annotations.", +"type": "object" +}, +"createTime": { +"description": "Output only. Time when this workstation was created.", +"format": "google-datetime", +"readOnly": true, +"type": "string" +}, +"deleteTime": { +"description": "Output only. Time when this workstation was soft-deleted.", +"format": "google-datetime", +"readOnly": true, +"type": "string" +}, +"displayName": { +"description": "Optional. Human-readable name for this workstation.", +"type": "string" +}, +"env": { +"additionalProperties": { +"type": "string" +}, +"description": "Optional. Environment variables passed to the workstation container's entrypoint.", +"type": "object" +}, +"etag": { +"description": "Optional. Checksum computed by the server. May be sent on update and delete requests to make sure that the client has an up-to-date value before proceeding.", +"type": "string" +}, +"host": { +"description": "Output only. Host to which clients can send HTTPS traffic that will be received by the workstation. Authorized traffic will be received to the workstation as HTTP on port 80. To send traffic to a different port, clients may prefix the host with the destination port in the format `{port}-{host}`.", +"readOnly": true, +"type": "string" +}, +"kmsKey": { +"description": "Output only. The name of the Google Cloud KMS encryption key used to encrypt this workstation. The KMS key can only be configured in the WorkstationConfig. The expected format is `projects/*/locations/*/keyRings/*/cryptoKeys/*`.", +"readOnly": true, +"type": "string" +}, +"labels": { +"additionalProperties": { +"type": "string" +}, +"description": "Optional. [Labels](https://cloud.google.com/workstations/docs/label-resources) that are applied to the workstation and that are also propagated to the underlying Compute Engine resources.", +"type": "object" +}, +"name": { +"description": "Identifier. Full name of this workstation.", +"type": "string" +}, +"reconciling": { +"description": "Output only. Indicates whether this workstation is currently being updated to match its intended state.", +"readOnly": true, +"type": "boolean" +}, +"runtimeHost": { +"$ref": "RuntimeHost", +"description": "Optional. Output only. Runtime host for the workstation when in STATE_RUNNING.", +"readOnly": true +}, +"sourceWorkstation": { +"description": "Optional. The source workstation from which this workstation's persistent directories were cloned on creation.", +"type": "string" +}, +"startTime": { +"description": "Output only. Time when this workstation was most recently successfully started, regardless of the workstation's initial state.", +"format": "google-datetime", +"readOnly": true, +"type": "string" +}, +"state": { +"description": "Output only. Current state of the workstation.", +"enum": [ +"STATE_UNSPECIFIED", +"STATE_STARTING", +"STATE_RUNNING", +"STATE_STOPPING", +"STATE_STOPPED" +], +"enumDescriptions": [ +"Do not use.", +"The workstation is not yet ready to accept requests from users but will be soon.", +"The workstation is ready to accept requests from users.", +"The workstation is being stopped.", +"The workstation is stopped and will not be able to receive requests until it is started." +], +"readOnly": true, +"type": "string" +}, +"uid": { +"description": "Output only. A system-assigned unique identifier for this workstation.", +"readOnly": true, +"type": "string" +}, +"updateTime": { +"description": "Output only. Time when this workstation was most recently updated.", +"format": "google-datetime", +"readOnly": true, +"type": "string" +} +}, +"type": "object" +}, +"WorkstationCluster": { +"description": "A workstation cluster resource in the Cloud Workstations API. Defines a group of workstations in a particular region and the VPC network they're attached to.", +"id": "WorkstationCluster", +"properties": { +"annotations": { +"additionalProperties": { +"type": "string" +}, +"description": "Optional. Client-specified annotations.", +"type": "object" +}, +"conditions": { +"description": "Output only. Status conditions describing the workstation cluster's current state.", +"items": { +"$ref": "Status" +}, +"readOnly": true, +"type": "array" +}, +"controlPlaneIp": { +"description": "Output only. The private IP address of the control plane for this workstation cluster. Workstation VMs need access to this IP address to work with the service, so make sure that your firewall rules allow egress from the workstation VMs to this address.", +"readOnly": true, +"type": "string" +}, +"createTime": { +"description": "Output only. Time when this workstation cluster was created.", +"format": "google-datetime", +"readOnly": true, +"type": "string" +}, +"degraded": { +"description": "Output only. Whether this workstation cluster is in degraded mode, in which case it may require user action to restore full functionality. Details can be found in conditions.", +"readOnly": true, +"type": "boolean" +}, +"deleteTime": { +"description": "Output only. Time when this workstation cluster was soft-deleted.", +"format": "google-datetime", +"readOnly": true, +"type": "string" +}, +"displayName": { +"description": "Optional. Human-readable name for this workstation cluster.", +"type": "string" +}, +"domainConfig": { +"$ref": "DomainConfig", +"description": "Optional. Configuration options for a custom domain." +}, +"etag": { +"description": "Optional. Checksum computed by the server. May be sent on update and delete requests to make sure that the client has an up-to-date value before proceeding.", +"type": "string" +}, +"labels": { +"additionalProperties": { +"type": "string" +}, +"description": "Optional. [Labels](https://cloud.google.com/workstations/docs/label-resources) that are applied to the workstation cluster and that are also propagated to the underlying Compute Engine resources.", +"type": "object" +}, +"name": { +"description": "Identifier. Full name of this workstation cluster.", +"type": "string" +}, +"network": { +"description": "Immutable. Name of the Compute Engine network in which instances associated with this workstation cluster will be created.", +"type": "string" +}, +"privateClusterConfig": { +"$ref": "PrivateClusterConfig", +"description": "Optional. Configuration for private workstation cluster." +}, +"reconciling": { +"description": "Output only. Indicates whether this workstation cluster is currently being updated to match its intended state.", +"readOnly": true, +"type": "boolean" +}, +"subnetwork": { +"description": "Immutable. Name of the Compute Engine subnetwork in which instances associated with this workstation cluster will be created. Must be part of the subnetwork specified for this workstation cluster.", +"type": "string" +}, +"tags": { +"additionalProperties": { +"type": "string" +}, +"description": "Optional. Tag keys/values directly bound to this resource. For example: \"123/environment\": \"production\", \"123/costCenter\": \"marketing\"", +"type": "object" +}, +"uid": { +"description": "Output only. A system-assigned unique identifier for this workstation cluster.", +"readOnly": true, +"type": "string" +}, +"updateTime": { +"description": "Output only. Time when this workstation cluster was most recently updated.", +"format": "google-datetime", +"readOnly": true, +"type": "string" +} +}, +"type": "object" +}, +"WorkstationConfig": { +"description": "A workstation configuration resource in the Cloud Workstations API. Workstation configurations act as templates for workstations. The workstation configuration defines details such as the workstation virtual machine (VM) instance type, persistent storage, container image defining environment, which IDE or Code Editor to use, and more. Administrators and platform teams can also use [Identity and Access Management (IAM)](https://cloud.google.com/iam/docs/overview) rules to grant access to teams or to individual developers.", +"id": "WorkstationConfig", +"properties": { +"allowedPorts": { +"description": "Optional. A list of PortRanges specifying single ports or ranges of ports that are externally accessible in the workstation. Allowed ports must be one of 22, 80, or within range 1024-65535. If not specified defaults to ports 22, 80, and ports 1024-65535.", +"items": { +"$ref": "PortRange" +}, +"type": "array" +}, +"annotations": { +"additionalProperties": { +"type": "string" +}, +"description": "Optional. Client-specified annotations.", +"type": "object" +}, +"conditions": { +"description": "Output only. Status conditions describing the current resource state.", +"items": { +"$ref": "Status" +}, +"readOnly": true, +"type": "array" +}, +"container": { +"$ref": "Container", +"description": "Optional. Container that runs upon startup for each workstation using this workstation configuration." +}, +"createTime": { +"description": "Output only. Time when this workstation configuration was created.", +"format": "google-datetime", +"readOnly": true, +"type": "string" +}, +"degraded": { +"description": "Output only. Whether this resource is degraded, in which case it may require user action to restore full functionality. See also the conditions field.", +"readOnly": true, +"type": "boolean" +}, +"deleteTime": { +"description": "Output only. Time when this workstation configuration was soft-deleted.", +"format": "google-datetime", +"readOnly": true, +"type": "string" +}, +"disableTcpConnections": { +"description": "Optional. Disables support for plain TCP connections in the workstation. By default the service supports TCP connections through a websocket relay. Setting this option to true disables that relay, which prevents the usage of services that require plain TCP connections, such as SSH. When enabled, all communication must occur over HTTPS or WSS.", +"type": "boolean" +}, +"displayName": { +"description": "Optional. Human-readable name for this workstation configuration.", +"type": "string" +}, +"enableAuditAgent": { +"description": "Optional. Whether to enable Linux `auditd` logging on the workstation. When enabled, a service_account must also be specified that has `roles/logging.logWriter` and `roles/monitoring.metricWriter` on the project. Operating system audit logging is distinct from [Cloud Audit Logs](https://cloud.google.com/workstations/docs/audit-logging) and [Container output logging](https://cloud.google.com/workstations/docs/container-output-logging#overview). Operating system audit logs are available in the [Cloud Logging](https://cloud.google.com/logging/docs) console by querying: resource.type=\"gce_instance\" log_name:\"/logs/linux-auditd\"", +"type": "boolean" +}, +"encryptionKey": { +"$ref": "CustomerEncryptionKey", +"description": "Immutable. Encrypts resources of this workstation configuration using a customer-managed encryption key (CMEK). If specified, the boot disk of the Compute Engine instance and the persistent disk are encrypted using this encryption key. If this field is not set, the disks are encrypted using a generated key. Customer-managed encryption keys do not protect disk metadata. If the customer-managed encryption key is rotated, when the workstation instance is stopped, the system attempts to recreate the persistent disk with the new version of the key. Be sure to keep older versions of the key until the persistent disk is recreated. Otherwise, data on the persistent disk might be lost. If the encryption key is revoked, the workstation session automatically stops within 7 hours. Immutable after the workstation configuration is created." +}, +"ephemeralDirectories": { +"description": "Optional. Ephemeral directories which won't persist across workstation sessions.", +"items": { +"$ref": "EphemeralDirectory" +}, +"type": "array" +}, +"etag": { +"description": "Optional. Checksum computed by the server. May be sent on update and delete requests to make sure that the client has an up-to-date value before proceeding.", +"type": "string" +}, +"grantWorkstationAdminRoleOnCreate": { +"description": "Optional. Grant creator of a workstation `roles/workstations.policyAdmin` role along with `roles/workstations.user` role on the workstation created by them. This allows workstation users to share access to either their entire workstation, or individual ports. Defaults to false.", +"type": "boolean" +}, +"host": { +"$ref": "Host", +"description": "Optional. Runtime host for the workstation." +}, +"idleTimeout": { +"description": "Optional. Number of seconds to wait before automatically stopping a workstation after it last received user traffic. A value of `\"0s\"` indicates that Cloud Workstations VMs created with this configuration should never time out due to idleness. Provide [duration](https://developers.google.com/protocol-buffers/docs/reference/google.protobuf#duration) terminated by `s` for seconds\u2014for example, `\"7200s\"` (2 hours). The default is `\"1200s\"` (20 minutes).", +"format": "google-duration", +"type": "string" +}, +"labels": { +"additionalProperties": { +"type": "string" +}, +"description": "Optional. [Labels](https://cloud.google.com/workstations/docs/label-resources) that are applied to the workstation configuration and that are also propagated to the underlying Compute Engine resources.", +"type": "object" +}, +"maxUsableWorkstations": { +"description": "Optional. Maximum number of workstations under this configuration a user can have `workstations.workstation.use` permission on. Only enforced on CreateWorkstation API calls on the user issuing the API request. Can be overridden by: - granting a user workstations.workstationConfigs.exemptMaxUsableWorkstationLimit permission, or - having a user with that permission create a workstation and granting another user `workstations.workstation.use` permission on that workstation. If not specified, defaults to `0`, which indicates unlimited.", +"format": "int32", +"type": "integer" +}, +"name": { +"description": "Identifier. Full name of this workstation configuration.", +"type": "string" +}, +"persistentDirectories": { +"description": "Optional. Directories to persist across workstation sessions.", +"items": { +"$ref": "PersistentDirectory" +}, +"type": "array" +}, +"readinessChecks": { +"description": "Optional. Readiness checks to perform when starting a workstation using this workstation configuration. Mark a workstation as running only after all specified readiness checks return 200 status codes.", +"items": { +"$ref": "ReadinessCheck" +}, +"type": "array" +}, +"reconciling": { +"description": "Output only. Indicates whether this workstation configuration is currently being updated to match its intended state.", +"readOnly": true, +"type": "boolean" +}, +"replicaZones": { +"description": "Optional. Immutable. Specifies the zones used to replicate the VM and disk resources within the region. If set, exactly two zones within the workstation cluster's region must be specified\u2014for example, `['us-central1-a', 'us-central1-f']`. If this field is empty, two default zones within the region are used. Immutable after the workstation configuration is created.", +"items": { +"type": "string" +}, +"type": "array" +}, +"runningTimeout": { +"description": "Optional. Number of seconds that a workstation can run until it is automatically shut down. We recommend that workstations be shut down daily to reduce costs and so that security updates can be applied upon restart. The idle_timeout and running_timeout fields are independent of each other. Note that the running_timeout field shuts down VMs after the specified time, regardless of whether or not the VMs are idle. Provide duration terminated by `s` for seconds\u2014for example, `\"54000s\"` (15 hours). Defaults to `\"43200s\"` (12 hours). A value of `\"0s\"` indicates that workstations using this configuration should never time out. If encryption_key is set, it must be greater than `\"0s\"` and less than `\"86400s\"` (24 hours). Warning: A value of `\"0s\"` indicates that Cloud Workstations VMs created with this configuration have no maximum running time. This is strongly discouraged because you incur costs and will not pick up security updates.", +"format": "google-duration", +"type": "string" +}, +"uid": { +"description": "Output only. A system-assigned unique identifier for this workstation configuration.", +"readOnly": true, +"type": "string" +}, +"updateTime": { +"description": "Output only. Time when this workstation configuration was most recently updated.", +"format": "google-datetime", +"readOnly": true, +"type": "string" +} +}, +"type": "object" +} +}, +"servicePath": "", +"title": "Cloud Workstations API", +"version": "v1", +"version_module": true +} \ No newline at end of file